diff options
Diffstat (limited to 'jni/iconv/tools')
-rw-r--r-- | jni/iconv/tools/8bit_tab_to_h.c | 570 | ||||
-rw-r--r-- | jni/iconv/tools/JISX0213.TXT | 11233 | ||||
-rw-r--r-- | jni/iconv/tools/Makefile | 532 | ||||
-rw-r--r-- | jni/iconv/tools/cjk_tab_to_h.c | 2148 | ||||
-rw-r--r-- | jni/iconv/tools/cjk_variants.c | 126 |
5 files changed, 0 insertions, 14609 deletions
diff --git a/jni/iconv/tools/8bit_tab_to_h.c b/jni/iconv/tools/8bit_tab_to_h.c deleted file mode 100644 index 0380d5f..0000000 --- a/jni/iconv/tools/8bit_tab_to_h.c +++ /dev/null @@ -1,570 +0,0 @@ -/* Copyright (C) 1999-2002 Free Software Foundation, Inc. - This file is part of the GNU LIBICONV Tools. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., along with this program. If not, see <http://www.gnu.org/licenses/>. */ - -/* - * Generates an 8-bit character set table from a .TXT table as found on - * ftp.unicode.org or from a table containing the 256 Unicode values as - * hexadecimal integers. - * Examples: - * - * ./8bit_tab_to_h ISO-8859-1 iso8859_1 < tab8859_1 - * ./8bit_tab_to_h ISO-8859-2 iso8859_2 < tab8859_2 - * ./8bit_tab_to_h ISO-8859-3 iso8859_3 < tab8859_3 - * ./8bit_tab_to_h ISO-8859-4 iso8859_4 < tab8859_4 - * ./8bit_tab_to_h ISO-8859-5 iso8859_5 < tab8859_5 - * ./8bit_tab_to_h ISO-8859-6 iso8859_6 < tab8859_6 - * ./8bit_tab_to_h ISO-8859-7 iso8859_7 < tab8859_7 - * ./8bit_tab_to_h ISO-8859-8 iso8859_8 < tab8859_8 - * ./8bit_tab_to_h ISO-8859-9 iso8859_9 < tab8859_9 - * ./8bit_tab_to_h ISO-8859-10 iso8859_10 < tab8859_10 - * ./8bit_tab_to_h ISO-8859-14 iso8859_14 < tab8859_14 - * ./8bit_tab_to_h ISO-8859-15 iso8859_15 < tab8859_15 - * ./8bit_tab_to_h JISX0201.1976-0 jisx0201 < jis0201 - * ./8bit_tab_to_h TIS620.2533-1 tis620 < tabtis620 - * ./8bit_tab_to_h KOI8-R koi8_r < tabkoi8_r - * ./8bit_tab_to_h KOI8-U koi8_u < tabkoi8_u - * ./8bit_tab_to_h ARMSCII-8 armscii_8 < tabarmscii_8 - * ./8bit_tab_to_h CP1133 cp1133 < tabibm_cp1133 - * ./8bit_tab_to_h MULELAO-1 mulelao < tabmulelao_1 - * ./8bit_tab_to_h VISCII1.1-1 viscii1 < tabviscii - * ./8bit_tab_to_h TCVN-5712 tcvn < tabtcvn - * ./8bit_tab_to_h GEORGIAN-ACADEMY georgian_ac < tabgeorgian_academy - * ./8bit_tab_to_h GEORGIAN-PS georgian_ps < tabgeorgian_ps - * - * ./8bit_tab_to_h ISO-8859-1 iso8859_1 < 8859-1.TXT - * ./8bit_tab_to_h ISO-8859-2 iso8859_2 < 8859-2.TXT - * ./8bit_tab_to_h ISO-8859-3 iso8859_3 < 8859-3.TXT - * ./8bit_tab_to_h ISO-8859-4 iso8859_4 < 8859-4.TXT - * ./8bit_tab_to_h ISO-8859-5 iso8859_5 < 8859-5.TXT - * ./8bit_tab_to_h ISO-8859-6 iso8859_6 < 8859-6.TXT - * ./8bit_tab_to_h ISO-8859-7 iso8859_7 < 8859-7.TXT - * ./8bit_tab_to_h ISO-8859-8 iso8859_8 < 8859-8.TXT - * ./8bit_tab_to_h ISO-8859-9 iso8859_9 < 8859-9.TXT - * ./8bit_tab_to_h ISO-8859-10 iso8859_10 < 8859-10.TXT - * ./8bit_tab_to_h ISO-8859-14 iso8859_14 < 8859-14.TXT - * ./8bit_tab_to_h ISO-8859-15 iso8859_15 < 8859-15.TXT - * ./8bit_tab_to_h JISX0201.1976-0 jisx0201 < JIS0201.TXT - * ./8bit_tab_to_h KOI8-R koi8_r < KOI8-R.TXT - */ - -#include <stdio.h> -#include <stdlib.h> -#include <stdbool.h> -#include <string.h> - -int main (int argc, char *argv[]) -{ - const char* charsetname; - const char* c_charsetname; - const char* filename; - const char* directory; - int charset2uni[0x100]; - - if (argc != 3 && argc != 4 && argc != 5) - exit(1); - charsetname = argv[1]; - c_charsetname = argv[2]; - if (argc > 3) { - filename = argv[3]; - } else { - char* s = (char*) malloc(strlen(c_charsetname)+strlen(".h")+1); - strcpy(s,c_charsetname); strcat(s,".h"); - filename = s; - } - directory = (argc > 4 ? argv[4] : ""); - - fprintf(stderr, "Creating %s%s\n", directory, filename); - - { - int i, c; - c = getc(stdin); - ungetc(c,stdin); - if (c == '#') { - /* Read a unicode.org style .TXT file. */ - for (i = 0; i < 0x100; i++) - charset2uni[i] = 0xfffd; - for (;;) { - c = getc(stdin); - if (c == EOF) - break; - if (c == '\n' || c == ' ' || c == '\t') - continue; - if (c == '#') { - do { c = getc(stdin); } while (!(c == EOF || c == '\n')); - continue; - } - ungetc(c,stdin); - if (scanf("0x%x", &i) != 1 || !(i >= 0 && i < 0x100)) - exit(1); - do { c = getc(stdin); } while (c == ' ' || c == '\t'); - if (c != EOF) - ungetc(c,stdin); - if (c == '\n' || c == '#') - continue; - if (scanf("0x%x", &charset2uni[i]) != 1) - exit(1); - } - } else { - /* Read a table of hexadecimal Unicode values. */ - for (i = 0; i < 0x100; i++) { - if (scanf("%x", &charset2uni[i]) != 1) - exit(1); - if (charset2uni[i] < 0 || charset2uni[i] == 0xffff) - charset2uni[i] = 0xfffd; - } - if (scanf("%x", &i) != EOF) - exit(1); - } - } - - /* Write the output file. */ - { - FILE* f; - - { - char* fname = malloc(strlen(directory)+strlen(filename)+1); - strcpy(fname,directory); strcat(fname,filename); - f = fopen(fname,"w"); - if (f == NULL) - exit(1); - } - - fprintf(f, "/*\n"); - fprintf(f, " * Copyright (C) 1999-2002 Free Software Foundation, Inc.\n"); - fprintf(f, " * This file is part of the GNU LIBICONV Library.\n"); - fprintf(f, " *\n"); - fprintf(f, " * The GNU LIBICONV Library is free software; you can redistribute it\n"); - fprintf(f, " * and/or modify it under the terms of the GNU Library General Public\n"); - fprintf(f, " * License as published by the Free Software Foundation; either version 2\n"); - fprintf(f, " * of the License, or (at your option) any later version.\n"); - fprintf(f, " *\n"); - fprintf(f, " * The GNU LIBICONV Library is distributed in the hope that it will be\n"); - fprintf(f, " * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\n"); - fprintf(f, " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"); - fprintf(f, " * Library General Public License for more details.\n"); - fprintf(f, " *\n"); - fprintf(f, " * You should have received a copy of the GNU Library General Public\n"); - fprintf(f, " * License along with the GNU LIBICONV Library; see the file COPYING.LIB.\n"); - fprintf(f, " * If not, write to the Free Software Foundation, Inc., 51 Franklin Street,\n"); - fprintf(f, " * Fifth Floor, Boston, MA 02110-1301, USA.\n"); - fprintf(f, " */\n"); - fprintf(f, "\n"); - fprintf(f, "/*\n"); - fprintf(f, " * %s\n", charsetname); - fprintf(f, " */\n"); - fprintf(f, "\n"); - - { - int i, i1, i2, i3; - int line[16]; - int tableno; - struct { int minline; int maxline; } tables[16]; - bool some_invalid; - bool final_ret_reached; - - for (i1 = 0; i1 < 16; i1++) { - bool all_invalid = true; - bool all_identity = true; - for (i2 = 0; i2 < 16; i2++) { - i = 16*i1+i2; - if (charset2uni[i] != 0xfffd) - all_invalid = false; - if (charset2uni[i] != i) - all_identity = false; - } - if (all_invalid) - line[i1] = -2; - else if (all_identity) - line[i1] = -1; - else - line[i1] = 0; - } - tableno = 0; - for (i1 = 0; i1 < 16; i1++) { - if (line[i1] >= 0) { - if (i1 > 0 && tableno > 0 && line[i1-1] == tableno-1) { - line[i1] = tableno-1; - tables[tableno-1].maxline = i1; - } else { - tableno++; - line[i1] = tableno-1; - tables[tableno-1].minline = tables[tableno-1].maxline = i1; - } - } - } - some_invalid = false; - for (i = 0; i < 0x100; i++) - if (charset2uni[i] == 0xfffd) - some_invalid = true; - if (tableno > 0) { - int t; - for (t = 0; t < tableno; t++) { - fprintf(f, "static const unsigned short %s_2uni", c_charsetname); - if (tableno > 1) - fprintf(f, "_%d", t+1); - fprintf(f, "[%d] = {\n", 16*(tables[t].maxline-tables[t].minline+1)); - for (i1 = tables[t].minline; i1 <= tables[t].maxline; i1++) { - fprintf(f, " /* 0x%02x */\n", 16*i1); - for (i2 = 0; i2 < 2; i2++) { - fprintf(f, " "); - for (i3 = 0; i3 < 8; i3++) { - i = 16*i1+8*i2+i3; - fprintf(f, " 0x%04x,", charset2uni[i]); - } - fprintf(f, "\n"); - } - } - fprintf(f, "};\n"); - } - fprintf(f, "\n"); - } - final_ret_reached = false; - fprintf(f, "static int\n%s_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)\n", c_charsetname); - fprintf(f, "{\n"); - fprintf(f, " unsigned char c = *s;\n"); - if (some_invalid) { - for (i1 = 0; i1 < 16;) { - int t = line[i1]; - const char* indent; - for (i2 = i1; i2 < 16 && line[i2] == t; i2++); - indent = (i1 == 0 && i2 == 16 ? " " : " "); - if (i1 == 0) { - if (i2 == 16) { - } else { - fprintf(f, " if (c < 0x%02x) {\n", 16*i2); - } - } else { - if (i2 == 16) { - fprintf(f, " else {\n"); - } else { - fprintf(f, " else if (c < 0x%02x) {\n", 16*i2); - } - } - if (t == -2) { - final_ret_reached = true; - } else if (t == -1) { - fprintf(f, "%s*pwc = (ucs4_t) c;\n", indent); - fprintf(f, "%sreturn 1;\n", indent); - } else { - fprintf(f, "%s", indent); - some_invalid = false; - for (i = 16*i1; i < 16*i2; i++) - if (charset2uni[i] == 0xfffd) - some_invalid = true; - if (some_invalid) - fprintf(f, "unsigned short wc = "); - else - fprintf(f, "*pwc = (ucs4_t) "); - fprintf(f, "%s_2uni", c_charsetname); - if (tableno > 1) - fprintf(f, "_%d", t+1); - fprintf(f, "[c"); - if (tables[t].minline > 0) - fprintf(f, "-0x%02x", 16*tables[t].minline); - fprintf(f, "];\n"); - if (some_invalid) { - fprintf(f, "%sif (wc != 0xfffd) {\n", indent); - fprintf(f, "%s *pwc = (ucs4_t) wc;\n", indent); - fprintf(f, "%s return 1;\n", indent); - fprintf(f, "%s}\n", indent); - final_ret_reached = true; - } else { - fprintf(f, "%sreturn 1;\n", indent); - } - } - if (!(i1 == 0 && i2 == 16)) - fprintf(f, " }\n"); - i1 = i2; - } - if (final_ret_reached) - fprintf(f, " return RET_ILSEQ;\n"); - } else { - for (i1 = 0; i1 < 16;) { - int t = line[i1]; - for (i2 = i1; i2 < 16 && line[i2] == t; i2++); - if (i1 == 0) { - if (i2 == 16) { - fprintf(f, " "); - } else { - fprintf(f, " if (c < 0x%02x)\n ", 16*i2); - } - } else { - if (i2 == 16) { - fprintf(f, " else\n "); - } else { - fprintf(f, " else if (c < 0x%02x)\n ", 16*i2); - } - } - if (t == -1) - fprintf(f, "*pwc = (ucs4_t) c;\n"); - else { - fprintf(f, "*pwc = (ucs4_t) %s_2uni", c_charsetname); - if (tableno > 1) - fprintf(f, "_%d", t+1); - fprintf(f, "[c"); - if (tables[t].minline > 0) - fprintf(f, "-0x%02x", 16*tables[t].minline); - fprintf(f, "];\n"); - } - i1 = i2; - } - fprintf(f, " return 1;\n"); - } - fprintf(f, "}\n"); - - } - - fprintf(f, "\n"); - - { - int uni2charset[0x10000]; - bool pages[0x100]; - int line[0x2000]; - int tableno; - struct { int minline; int maxline; int usecount; const char* suffix; } tables[0x2000]; - bool need_c; - bool fix_0000; - int i, j, p, j1, j2, t; - - for (j = 0; j < 0x10000; j++) - uni2charset[j] = 0; - for (p = 0; p < 0x100; p++) - pages[p] = false; - for (i = 0; i < 0x100; i++) { - j = charset2uni[i]; - if (j != 0xfffd) { - uni2charset[j] = i; - pages[j>>8] = true; - } - } - for (j1 = 0; j1 < 0x2000; j1++) { - bool all_invalid = true; - bool all_identity = true; - for (j2 = 0; j2 < 8; j2++) { - j = 8*j1+j2; - if (uni2charset[j] != 0) - all_invalid = false; - if (uni2charset[j] != j) - all_identity = false; - } - if (all_invalid) - line[j1] = -2; - else if (all_identity) - line[j1] = -1; - else - line[j1] = 0; - } - tableno = 0; - for (j1 = 0; j1 < 0x2000; j1++) { - if (line[j1] >= 0) { - if (tableno > 0 - && ((j1 > 0 && line[j1-1] == tableno-1) - || ((tables[tableno-1].maxline >> 5) == (j1 >> 5) - && j1 - tables[tableno-1].maxline <= 8))) { - line[j1] = tableno-1; - tables[tableno-1].maxline = j1; - } else { - tableno++; - line[j1] = tableno-1; - tables[tableno-1].minline = tables[tableno-1].maxline = j1; - } - } - } - for (t = 0; t < tableno; t++) { - tables[t].usecount = 0; - j1 = 8*tables[t].minline; - j2 = 8*(tables[t].maxline+1); - for (j = j1; j < j2; j++) - if (uni2charset[j] != 0) - tables[t].usecount++; - } - for (t = 0, p = -1, i = 0; t < tableno; t++) { - if (tables[t].usecount > 1) { - char* s; - if (p == tables[t].minline >> 5) { - s = (char*) malloc(5+1); - sprintf(s, "%02x_%d", p, ++i); - } else { - p = tables[t].minline >> 5; - s = (char*) malloc(2+1); - sprintf(s, "%02x", p); - } - tables[t].suffix = s; - } else - tables[t].suffix = NULL; - } - { - p = -1; - for (t = 0; t < tableno; t++) - if (tables[t].usecount > 1) { - p = 0; - fprintf(f, "static const unsigned char %s_page%s[%d] = {\n", c_charsetname, tables[t].suffix, 8*(tables[t].maxline-tables[t].minline+1)); - for (j1 = tables[t].minline; j1 <= tables[t].maxline; j1++) { - if ((j1 % 0x20) == 0 && j1 > tables[t].minline) - fprintf(f, " /* 0x%04x */\n", 8*j1); - fprintf(f, " "); - for (j2 = 0; j2 < 8; j2++) { - j = 8*j1+j2; - fprintf(f, " 0x%02x,", uni2charset[j]); - } - fprintf(f, " /* 0x%02x-0x%02x */\n", 8*(j1 % 0x20), 8*(j1 % 0x20)+7); - } - fprintf(f, "};\n"); - } - if (p >= 0) - fprintf(f, "\n"); - } - need_c = false; - for (j1 = 0; j1 < 0x2000;) { - t = line[j1]; - for (j2 = j1; j2 < 0x2000 && line[j2] == t; j2++); - if (t >= 0) - j2 = tables[t].maxline+1; - if (!(t == -2 || (t == -1 && j1 == 0))) - need_c = true; - j1 = j2; - } - fix_0000 = false; - fprintf(f, "static int\n%s_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)\n", c_charsetname); - fprintf(f, "{\n"); - if (need_c) - fprintf(f, " unsigned char c = 0;\n"); - for (j1 = 0; j1 < 0x2000;) { - t = line[j1]; - for (j2 = j1; j2 < 0x2000 && line[j2] == t; j2++); - if (t >= 0) { - if (j1 != tables[t].minline) abort(); - if (j2 > tables[t].maxline+1) abort(); - j2 = tables[t].maxline+1; - } - if (t == -2) { - } else { - if (j1 == 0) - fprintf(f, " "); - else - fprintf(f, " else "); - if (t >= 0 && tables[t].usecount == 0) abort(); - if (t >= 0 && tables[t].usecount == 1) { - if (j2 != j1+1) abort(); - for (j = 8*j1; j < 8*j2; j++) - if (uni2charset[j] != 0) { - fprintf(f, "if (wc == 0x%04x)\n c = 0x%02x;\n", j, uni2charset[j]); - break; - } - } else { - if (j1 == 0) { - fprintf(f, "if (wc < 0x%04x)", 8*j2); - } else { - fprintf(f, "if (wc >= 0x%04x && wc < 0x%04x)", 8*j1, 8*j2); - } - if (t == -1) { - if (j1 == 0) - /* If wc == 0, the function must return 1, not -1. */ - fprintf(f, " {\n *r = wc;\n return 1;\n }\n"); - else - fprintf(f, "\n c = wc;\n"); - } else { - fprintf(f, "\n c = %s_page%s[wc", c_charsetname, tables[t].suffix); - if (tables[t].minline > 0) - fprintf(f, "-0x%04x", 8*j1); - fprintf(f, "];\n"); - if (j1 == 0 && uni2charset[0] == 0) - /* If wc == 0, the function must return 1, not -1. */ - fix_0000 = true; - } - } - } - j1 = j2; - } - if (need_c) { - if (fix_0000) - fprintf(f, " if (c != 0 || wc == 0) {\n"); - else - fprintf(f, " if (c != 0) {\n"); - fprintf(f, " *r = c;\n"); - fprintf(f, " return 1;\n"); - fprintf(f, " }\n"); - } - fprintf(f, " return RET_ILUNI;\n"); - fprintf(f, "}\n"); - - } - - if (ferror(f) || fclose(f)) - exit(1); - } - -#if 0 - - int i1, i2, i3, i1_min, i1_max, j1, j2; - - i1_min = 16; - i1_max = -1; - for (i1 = 0; i1 < 16; i1++) - for (i2 = 0; i2 < 16; i2++) - if (charset2uni[16*i1+i2] != 0xfffd) { - if (i1_min > i1) i1_min = i1; - if (i1_max < i1) i1_max = i1; - } - printf("static const unsigned short %s_2uni[%d] = {\n", - name, 16*(i1_max-i1_min+1)); - for (i1 = i1_min; i1 <= i1_max; i1++) { - printf(" /""* 0x%02x *""/\n", 16*i1); - for (i2 = 0; i2 < 2; i2++) { - printf(" "); - for (i3 = 0; i3 < 8; i3++) { - if (i3 > 0) printf(" "); - printf("0x%04x,", charset2uni[16*i1+8*i2+i3]); - } - printf("\n"); - } - } - printf("};\n"); - printf("\n"); - - for (p = 0; p < 0x100; p++) - pages[p] = 0; - for (i = 0; i < 0x100; i++) - if (charset2uni[i] != 0xfffd) - pages[charset2uni[i]>>8] = 1; - for (p = 0; p < 0x100; p++) - if (pages[p]) { - int j1_min = 32; - int j1_max = -1; - for (j1 = 0; j1 < 32; j1++) - for (j2 = 0; j2 < 8; j2++) - if (uni2charset[256*p+8*j1+j2] != 0) { - if (j1_min > j1) j1_min = j1; - if (j1_max < j1) j1_max = j1; - } - printf("static const unsigned char %s_page%02x[%d] = {\n", - name, p, 8*(j1_max-j1_min+1)); - for (j1 = j1_min; j1 <= j1_max; j1++) { - printf(" "); - for (j2 = 0; j2 < 8; j2++) - printf("0x%02x, ", uni2charset[256*p+8*j1+j2]); - printf("/""* 0x%02x-0x%02x *""/\n", 8*j1, 8*j1+7); - } - printf("};\n"); - } - printf("\n"); - -} -#endif - - exit(0); -} diff --git a/jni/iconv/tools/JISX0213.TXT b/jni/iconv/tools/JISX0213.TXT deleted file mode 100644 index 31a94c6..0000000 --- a/jni/iconv/tools/JISX0213.TXT +++ /dev/null @@ -1,11233 +0,0 @@ -0x12121 0x3000 -0x12122 0x3001 -0x12123 0x3002 -0x12124 0xFF0C -0x12125 0xFF0E -0x12126 0x30FB -0x12127 0xFF1A -0x12128 0xFF1B -0x12129 0xFF1F -0x1212A 0xFF01 -0x1212B 0x309B -0x1212C 0x309C -0x1212D 0x00B4 -0x1212E 0xFF40 -0x1212F 0x00A8 -0x12130 0xFF3E -0x12131 0xFFE3 -0x12132 0xFF3F -0x12133 0x30FD -0x12134 0x30FE -0x12135 0x309D -0x12136 0x309E -0x12137 0x3003 -0x12138 0x4EDD -0x12139 0x3005 -0x1213A 0x3006 -0x1213B 0x3007 -0x1213C 0x30FC -0x1213D 0x2014 -0x1213E 0x2010 -0x1213F 0xFF0F -0x12140 0xFF3C -0x12141 0x301C -0x12142 0x2016 -0x12143 0xFF5C -0x12144 0x2026 -0x12145 0x2025 -0x12146 0x2018 -0x12147 0x2019 -0x12148 0x201C -0x12149 0x201D -0x1214A 0xFF08 -0x1214B 0xFF09 -0x1214C 0x3014 -0x1214D 0x3015 -0x1214E 0xFF3B -0x1214F 0xFF3D -0x12150 0xFF5B -0x12151 0xFF5D -0x12152 0x3008 -0x12153 0x3009 -0x12154 0x300A -0x12155 0x300B -0x12156 0x300C -0x12157 0x300D -0x12158 0x300E -0x12159 0x300F -0x1215A 0x3010 -0x1215B 0x3011 -0x1215C 0xFF0B -0x1215D 0x2212 -0x1215E 0x00B1 -0x1215F 0x00D7 -0x12160 0x00F7 -0x12161 0xFF1D -0x12162 0x2260 -0x12163 0xFF1C -0x12164 0xFF1E -0x12165 0x2266 -0x12166 0x2267 -0x12167 0x221E -0x12168 0x2234 -0x12169 0x2642 -0x1216A 0x2640 -0x1216B 0x00B0 -0x1216C 0x2032 -0x1216D 0x2033 -0x1216E 0x2103 -0x1216F 0xFFE5 -0x12170 0xFF04 -0x12171 0x00A2 -0x12172 0x00A3 -0x12173 0xFF05 -0x12174 0xFF03 -0x12175 0xFF06 -0x12176 0xFF0A -0x12177 0xFF20 -0x12178 0x00A7 -0x12179 0x2606 -0x1217A 0x2605 -0x1217B 0x25CB -0x1217C 0x25CF -0x1217D 0x25CE -0x1217E 0x25C7 -0x12221 0x25C6 -0x12222 0x25A1 -0x12223 0x25A0 -0x12224 0x25B3 -0x12225 0x25B2 -0x12226 0x25BD -0x12227 0x25BC -0x12228 0x203B -0x12229 0x3012 -0x1222A 0x2192 -0x1222B 0x2190 -0x1222C 0x2191 -0x1222D 0x2193 -0x1222E 0x3013 -0x1222F 0xFF07 -0x12230 0xFF02 -0x12231 0xFF0D -0x12232 0xFF5E -0x12233 0x3033 -0x12234 0x3034 -0x12235 0x3035 -0x12236 0x303B -0x12237 0x303C -0x12238 0x30FF -0x12239 0x309F -0x1223A 0x2208 -0x1223B 0x220B -0x1223C 0x2286 -0x1223D 0x2287 -0x1223E 0x2282 -0x1223F 0x2283 -0x12240 0x222A -0x12241 0x2229 -0x12242 0x2284 -0x12243 0x2285 -0x12244 0x228A -0x12245 0x228B -0x12246 0x2209 -0x12247 0x2205 -0x12248 0x2305 -0x12249 0x2306 -0x1224A 0x2227 -0x1224B 0x2228 -0x1224C 0x00AC -0x1224D 0x21D2 -0x1224E 0x21D4 -0x1224F 0x2200 -0x12250 0x2203 -0x12251 0x2295 -0x12252 0x2296 -0x12253 0x2297 -0x12254 0x2225 -0x12255 0x2226 -0x12256 0xFF5F -0x12257 0xFF60 -0x12258 0x3018 -0x12259 0x3019 -0x1225A 0x3016 -0x1225B 0x3017 -0x1225C 0x2220 -0x1225D 0x22A5 -0x1225E 0x2312 -0x1225F 0x2202 -0x12260 0x2207 -0x12261 0x2261 -0x12262 0x2252 -0x12263 0x226A -0x12264 0x226B -0x12265 0x221A -0x12266 0x223D -0x12267 0x221D -0x12268 0x2235 -0x12269 0x222B -0x1226A 0x222C -0x1226B 0x2262 -0x1226C 0x2243 -0x1226D 0x2245 -0x1226E 0x2248 -0x1226F 0x2276 -0x12270 0x2277 -0x12271 0x2194 -0x12272 0x212B -0x12273 0x2030 -0x12274 0x266F -0x12275 0x266D -0x12276 0x266A -0x12277 0x2020 -0x12278 0x2021 -0x12279 0x00B6 -0x1227A 0x266E -0x1227B 0x266B -0x1227C 0x266C -0x1227D 0x2669 -0x1227E 0x25EF -0x12321 0x25B7 -0x12322 0x25B6 -0x12323 0x25C1 -0x12324 0x25C0 -0x12325 0x2197 -0x12326 0x2198 -0x12327 0x2196 -0x12328 0x2199 -0x12329 0x21C4 -0x1232A 0x21E8 -0x1232B 0x21E6 -0x1232C 0x21E7 -0x1232D 0x21E9 -0x1232E 0x2934 -0x1232F 0x2935 -0x12330 0xFF10 -0x12331 0xFF11 -0x12332 0xFF12 -0x12333 0xFF13 -0x12334 0xFF14 -0x12335 0xFF15 -0x12336 0xFF16 -0x12337 0xFF17 -0x12338 0xFF18 -0x12339 0xFF19 -0x1233A 0x29BF -0x1233B 0x25C9 -0x1233C 0x303D -0x1233D 0xFE46 -0x1233E 0xFE45 -0x1233F 0x25E6 -0x12340 0x2022 -0x12341 0xFF21 -0x12342 0xFF22 -0x12343 0xFF23 -0x12344 0xFF24 -0x12345 0xFF25 -0x12346 0xFF26 -0x12347 0xFF27 -0x12348 0xFF28 -0x12349 0xFF29 -0x1234A 0xFF2A -0x1234B 0xFF2B -0x1234C 0xFF2C -0x1234D 0xFF2D -0x1234E 0xFF2E -0x1234F 0xFF2F -0x12350 0xFF30 -0x12351 0xFF31 -0x12352 0xFF32 -0x12353 0xFF33 -0x12354 0xFF34 -0x12355 0xFF35 -0x12356 0xFF36 -0x12357 0xFF37 -0x12358 0xFF38 -0x12359 0xFF39 -0x1235A 0xFF3A -0x1235B 0x2213 -0x1235C 0x2135 -0x1235D 0x210F -0x1235E 0x33CB -0x1235F 0x2113 -0x12360 0x2127 -0x12361 0xFF41 -0x12362 0xFF42 -0x12363 0xFF43 -0x12364 0xFF44 -0x12365 0xFF45 -0x12366 0xFF46 -0x12367 0xFF47 -0x12368 0xFF48 -0x12369 0xFF49 -0x1236A 0xFF4A -0x1236B 0xFF4B -0x1236C 0xFF4C -0x1236D 0xFF4D -0x1236E 0xFF4E -0x1236F 0xFF4F -0x12370 0xFF50 -0x12371 0xFF51 -0x12372 0xFF52 -0x12373 0xFF53 -0x12374 0xFF54 -0x12375 0xFF55 -0x12376 0xFF56 -0x12377 0xFF57 -0x12378 0xFF58 -0x12379 0xFF59 -0x1237A 0xFF5A -0x1237B 0x30A0 -0x1237C 0x2013 -0x1237D 0x29FA -0x1237E 0x29FB -0x12421 0x3041 -0x12422 0x3042 -0x12423 0x3043 -0x12424 0x3044 -0x12425 0x3045 -0x12426 0x3046 -0x12427 0x3047 -0x12428 0x3048 -0x12429 0x3049 -0x1242A 0x304A -0x1242B 0x304B -0x1242C 0x304C -0x1242D 0x304D -0x1242E 0x304E -0x1242F 0x304F -0x12430 0x3050 -0x12431 0x3051 -0x12432 0x3052 -0x12433 0x3053 -0x12434 0x3054 -0x12435 0x3055 -0x12436 0x3056 -0x12437 0x3057 -0x12438 0x3058 -0x12439 0x3059 -0x1243A 0x305A -0x1243B 0x305B -0x1243C 0x305C -0x1243D 0x305D -0x1243E 0x305E -0x1243F 0x305F -0x12440 0x3060 -0x12441 0x3061 -0x12442 0x3062 -0x12443 0x3063 -0x12444 0x3064 -0x12445 0x3065 -0x12446 0x3066 -0x12447 0x3067 -0x12448 0x3068 -0x12449 0x3069 -0x1244A 0x306A -0x1244B 0x306B -0x1244C 0x306C -0x1244D 0x306D -0x1244E 0x306E -0x1244F 0x306F -0x12450 0x3070 -0x12451 0x3071 -0x12452 0x3072 -0x12453 0x3073 -0x12454 0x3074 -0x12455 0x3075 -0x12456 0x3076 -0x12457 0x3077 -0x12458 0x3078 -0x12459 0x3079 -0x1245A 0x307A -0x1245B 0x307B -0x1245C 0x307C -0x1245D 0x307D -0x1245E 0x307E -0x1245F 0x307F -0x12460 0x3080 -0x12461 0x3081 -0x12462 0x3082 -0x12463 0x3083 -0x12464 0x3084 -0x12465 0x3085 -0x12466 0x3086 -0x12467 0x3087 -0x12468 0x3088 -0x12469 0x3089 -0x1246A 0x308A -0x1246B 0x308B -0x1246C 0x308C -0x1246D 0x308D -0x1246E 0x308E -0x1246F 0x308F -0x12470 0x3090 -0x12471 0x3091 -0x12472 0x3092 -0x12473 0x3093 -0x12474 0x3094 -0x12475 0x3095 -0x12476 0x3096 -0x12477 0x304B 0x309A -0x12478 0x304D 0x309A -0x12479 0x304F 0x309A -0x1247A 0x3051 0x309A -0x1247B 0x3053 0x309A -0x12521 0x30A1 -0x12522 0x30A2 -0x12523 0x30A3 -0x12524 0x30A4 -0x12525 0x30A5 -0x12526 0x30A6 -0x12527 0x30A7 -0x12528 0x30A8 -0x12529 0x30A9 -0x1252A 0x30AA -0x1252B 0x30AB -0x1252C 0x30AC -0x1252D 0x30AD -0x1252E 0x30AE -0x1252F 0x30AF -0x12530 0x30B0 -0x12531 0x30B1 -0x12532 0x30B2 -0x12533 0x30B3 -0x12534 0x30B4 -0x12535 0x30B5 -0x12536 0x30B6 -0x12537 0x30B7 -0x12538 0x30B8 -0x12539 0x30B9 -0x1253A 0x30BA -0x1253B 0x30BB -0x1253C 0x30BC -0x1253D 0x30BD -0x1253E 0x30BE -0x1253F 0x30BF -0x12540 0x30C0 -0x12541 0x30C1 -0x12542 0x30C2 -0x12543 0x30C3 -0x12544 0x30C4 -0x12545 0x30C5 -0x12546 0x30C6 -0x12547 0x30C7 -0x12548 0x30C8 -0x12549 0x30C9 -0x1254A 0x30CA -0x1254B 0x30CB -0x1254C 0x30CC -0x1254D 0x30CD -0x1254E 0x30CE -0x1254F 0x30CF -0x12550 0x30D0 -0x12551 0x30D1 -0x12552 0x30D2 -0x12553 0x30D3 -0x12554 0x30D4 -0x12555 0x30D5 -0x12556 0x30D6 -0x12557 0x30D7 -0x12558 0x30D8 -0x12559 0x30D9 -0x1255A 0x30DA -0x1255B 0x30DB -0x1255C 0x30DC -0x1255D 0x30DD -0x1255E 0x30DE -0x1255F 0x30DF -0x12560 0x30E0 -0x12561 0x30E1 -0x12562 0x30E2 -0x12563 0x30E3 -0x12564 0x30E4 -0x12565 0x30E5 -0x12566 0x30E6 -0x12567 0x30E7 -0x12568 0x30E8 -0x12569 0x30E9 -0x1256A 0x30EA -0x1256B 0x30EB -0x1256C 0x30EC -0x1256D 0x30ED -0x1256E 0x30EE -0x1256F 0x30EF -0x12570 0x30F0 -0x12571 0x30F1 -0x12572 0x30F2 -0x12573 0x30F3 -0x12574 0x30F4 -0x12575 0x30F5 -0x12576 0x30F6 -0x12577 0x30AB 0x309A -0x12578 0x30AD 0x309A -0x12579 0x30AF 0x309A -0x1257A 0x30B1 0x309A -0x1257B 0x30B3 0x309A -0x1257C 0x30BB 0x309A -0x1257D 0x30C4 0x309A -0x1257E 0x30C8 0x309A -0x12621 0x0391 -0x12622 0x0392 -0x12623 0x0393 -0x12624 0x0394 -0x12625 0x0395 -0x12626 0x0396 -0x12627 0x0397 -0x12628 0x0398 -0x12629 0x0399 -0x1262A 0x039A -0x1262B 0x039B -0x1262C 0x039C -0x1262D 0x039D -0x1262E 0x039E -0x1262F 0x039F -0x12630 0x03A0 -0x12631 0x03A1 -0x12632 0x03A3 -0x12633 0x03A4 -0x12634 0x03A5 -0x12635 0x03A6 -0x12636 0x03A7 -0x12637 0x03A8 -0x12638 0x03A9 -0x12639 0x2664 -0x1263A 0x2660 -0x1263B 0x2662 -0x1263C 0x2666 -0x1263D 0x2661 -0x1263E 0x2665 -0x1263F 0x2667 -0x12640 0x2663 -0x12641 0x03B1 -0x12642 0x03B2 -0x12643 0x03B3 -0x12644 0x03B4 -0x12645 0x03B5 -0x12646 0x03B6 -0x12647 0x03B7 -0x12648 0x03B8 -0x12649 0x03B9 -0x1264A 0x03BA -0x1264B 0x03BB -0x1264C 0x03BC -0x1264D 0x03BD -0x1264E 0x03BE -0x1264F 0x03BF -0x12650 0x03C0 -0x12651 0x03C1 -0x12652 0x03C3 -0x12653 0x03C4 -0x12654 0x03C5 -0x12655 0x03C6 -0x12656 0x03C7 -0x12657 0x03C8 -0x12658 0x03C9 -0x12659 0x03C2 -0x1265A 0x24F5 -0x1265B 0x24F6 -0x1265C 0x24F7 -0x1265D 0x24F8 -0x1265E 0x24F9 -0x1265F 0x24FA -0x12660 0x24FB -0x12661 0x24FC -0x12662 0x24FD -0x12663 0x24FE -0x12664 0x2616 -0x12665 0x2617 -0x12666 0x3020 -0x12667 0x260E -0x12668 0x2600 -0x12669 0x2601 -0x1266A 0x2602 -0x1266B 0x2603 -0x1266C 0x2668 -0x1266D 0x25B1 -0x1266E 0x31F0 -0x1266F 0x31F1 -0x12670 0x31F2 -0x12671 0x31F3 -0x12672 0x31F4 -0x12673 0x31F5 -0x12674 0x31F6 -0x12675 0x31F7 -0x12676 0x31F8 -0x12677 0x31F9 -0x12678 0x31F7 0x309A -0x12679 0x31FA -0x1267A 0x31FB -0x1267B 0x31FC -0x1267C 0x31FD -0x1267D 0x31FE -0x1267E 0x31FF -0x12721 0x0410 -0x12722 0x0411 -0x12723 0x0412 -0x12724 0x0413 -0x12725 0x0414 -0x12726 0x0415 -0x12727 0x0401 -0x12728 0x0416 -0x12729 0x0417 -0x1272A 0x0418 -0x1272B 0x0419 -0x1272C 0x041A -0x1272D 0x041B -0x1272E 0x041C -0x1272F 0x041D -0x12730 0x041E -0x12731 0x041F -0x12732 0x0420 -0x12733 0x0421 -0x12734 0x0422 -0x12735 0x0423 -0x12736 0x0424 -0x12737 0x0425 -0x12738 0x0426 -0x12739 0x0427 -0x1273A 0x0428 -0x1273B 0x0429 -0x1273C 0x042A -0x1273D 0x042B -0x1273E 0x042C -0x1273F 0x042D -0x12740 0x042E -0x12741 0x042F -0x12742 0x23BE -0x12743 0x23BF -0x12744 0x23C0 -0x12745 0x23C1 -0x12746 0x23C2 -0x12747 0x23C3 -0x12748 0x23C4 -0x12749 0x23C5 -0x1274A 0x23C6 -0x1274B 0x23C7 -0x1274C 0x23C8 -0x1274D 0x23C9 -0x1274E 0x23CA -0x1274F 0x23CB -0x12750 0x23CC -0x12751 0x0430 -0x12752 0x0431 -0x12753 0x0432 -0x12754 0x0433 -0x12755 0x0434 -0x12756 0x0435 -0x12757 0x0451 -0x12758 0x0436 -0x12759 0x0437 -0x1275A 0x0438 -0x1275B 0x0439 -0x1275C 0x043A -0x1275D 0x043B -0x1275E 0x043C -0x1275F 0x043D -0x12760 0x043E -0x12761 0x043F -0x12762 0x0440 -0x12763 0x0441 -0x12764 0x0442 -0x12765 0x0443 -0x12766 0x0444 -0x12767 0x0445 -0x12768 0x0446 -0x12769 0x0447 -0x1276A 0x0448 -0x1276B 0x0449 -0x1276C 0x044A -0x1276D 0x044B -0x1276E 0x044C -0x1276F 0x044D -0x12770 0x044E -0x12771 0x044F -0x12772 0x30F7 -0x12773 0x30F8 -0x12774 0x30F9 -0x12775 0x30FA -0x12776 0x22DA -0x12777 0x22DB -0x12778 0x2153 -0x12779 0x2154 -0x1277A 0x2155 -0x1277B 0x2713 -0x1277C 0x2318 -0x1277D 0x2423 -0x1277E 0x23CE -0x12821 0x2500 -0x12822 0x2502 -0x12823 0x250C -0x12824 0x2510 -0x12825 0x2518 -0x12826 0x2514 -0x12827 0x251C -0x12828 0x252C -0x12829 0x2524 -0x1282A 0x2534 -0x1282B 0x253C -0x1282C 0x2501 -0x1282D 0x2503 -0x1282E 0x250F -0x1282F 0x2513 -0x12830 0x251B -0x12831 0x2517 -0x12832 0x2523 -0x12833 0x2533 -0x12834 0x252B -0x12835 0x253B -0x12836 0x254B -0x12837 0x2520 -0x12838 0x252F -0x12839 0x2528 -0x1283A 0x2537 -0x1283B 0x253F -0x1283C 0x251D -0x1283D 0x2530 -0x1283E 0x2525 -0x1283F 0x2538 -0x12840 0x2542 -0x12841 0x3251 -0x12842 0x3252 -0x12843 0x3253 -0x12844 0x3254 -0x12845 0x3255 -0x12846 0x3256 -0x12847 0x3257 -0x12848 0x3258 -0x12849 0x3259 -0x1284A 0x325A -0x1284B 0x325B -0x1284C 0x325C -0x1284D 0x325D -0x1284E 0x325E -0x1284F 0x325F -0x12850 0x32B1 -0x12851 0x32B2 -0x12852 0x32B3 -0x12853 0x32B4 -0x12854 0x32B5 -0x12855 0x32B6 -0x12856 0x32B7 -0x12857 0x32B8 -0x12858 0x32B9 -0x12859 0x32BA -0x1285A 0x32BB -0x1285B 0x32BC -0x1285C 0x32BD -0x1285D 0x32BE -0x1285E 0x32BF -0x12867 0x25D0 -0x12868 0x25D1 -0x12869 0x25D2 -0x1286A 0x25D3 -0x1286B 0x203C -0x1286C 0x2047 -0x1286D 0x2048 -0x1286E 0x2049 -0x1286F 0x01CD -0x12870 0x01CE -0x12871 0x01D0 -0x12872 0x1E3E -0x12873 0x1E3F -0x12874 0x01F8 -0x12875 0x01F9 -0x12876 0x01D1 -0x12877 0x01D2 -0x12878 0x01D4 -0x12879 0x01D6 -0x1287A 0x01D8 -0x1287B 0x01DA -0x1287C 0x01DC -0x12921 0x20AC -0x12922 0x00A0 -0x12923 0x00A1 -0x12924 0x00A4 -0x12925 0x00A6 -0x12926 0x00A9 -0x12927 0x00AA -0x12928 0x00AB -0x12929 0x00AD -0x1292A 0x00AE -0x1292B 0x00AF -0x1292C 0x00B2 -0x1292D 0x00B3 -0x1292E 0x00B7 -0x1292F 0x00B8 -0x12930 0x00B9 -0x12931 0x00BA -0x12932 0x00BB -0x12933 0x00BC -0x12934 0x00BD -0x12935 0x00BE -0x12936 0x00BF -0x12937 0x00C0 -0x12938 0x00C1 -0x12939 0x00C2 -0x1293A 0x00C3 -0x1293B 0x00C4 -0x1293C 0x00C5 -0x1293D 0x00C6 -0x1293E 0x00C7 -0x1293F 0x00C8 -0x12940 0x00C9 -0x12941 0x00CA -0x12942 0x00CB -0x12943 0x00CC -0x12944 0x00CD -0x12945 0x00CE -0x12946 0x00CF -0x12947 0x00D0 -0x12948 0x00D1 -0x12949 0x00D2 -0x1294A 0x00D3 -0x1294B 0x00D4 -0x1294C 0x00D5 -0x1294D 0x00D6 -0x1294E 0x00D8 -0x1294F 0x00D9 -0x12950 0x00DA -0x12951 0x00DB -0x12952 0x00DC -0x12953 0x00DD -0x12954 0x00DE -0x12955 0x00DF -0x12956 0x00E0 -0x12957 0x00E1 -0x12958 0x00E2 -0x12959 0x00E3 -0x1295A 0x00E4 -0x1295B 0x00E5 -0x1295C 0x00E6 -0x1295D 0x00E7 -0x1295E 0x00E8 -0x1295F 0x00E9 -0x12960 0x00EA -0x12961 0x00EB -0x12962 0x00EC -0x12963 0x00ED -0x12964 0x00EE -0x12965 0x00EF -0x12966 0x00F0 -0x12967 0x00F1 -0x12968 0x00F2 -0x12969 0x00F3 -0x1296A 0x00F4 -0x1296B 0x00F5 -0x1296C 0x00F6 -0x1296D 0x00F8 -0x1296E 0x00F9 -0x1296F 0x00FA -0x12970 0x00FB -0x12971 0x00FC -0x12972 0x00FD -0x12973 0x00FE -0x12974 0x00FF -0x12975 0x0100 -0x12976 0x012A -0x12977 0x016A -0x12978 0x0112 -0x12979 0x014C -0x1297A 0x0101 -0x1297B 0x012B -0x1297C 0x016B -0x1297D 0x0113 -0x1297E 0x014D -0x12A21 0x0104 -0x12A22 0x02D8 -0x12A23 0x0141 -0x12A24 0x013D -0x12A25 0x015A -0x12A26 0x0160 -0x12A27 0x015E -0x12A28 0x0164 -0x12A29 0x0179 -0x12A2A 0x017D -0x12A2B 0x017B -0x12A2C 0x0105 -0x12A2D 0x02DB -0x12A2E 0x0142 -0x12A2F 0x013E -0x12A30 0x015B -0x12A31 0x02C7 -0x12A32 0x0161 -0x12A33 0x015F -0x12A34 0x0165 -0x12A35 0x017A -0x12A36 0x02DD -0x12A37 0x017E -0x12A38 0x017C -0x12A39 0x0154 -0x12A3A 0x0102 -0x12A3B 0x0139 -0x12A3C 0x0106 -0x12A3D 0x010C -0x12A3E 0x0118 -0x12A3F 0x011A -0x12A40 0x010E -0x12A41 0x0143 -0x12A42 0x0147 -0x12A43 0x0150 -0x12A44 0x0158 -0x12A45 0x016E -0x12A46 0x0170 -0x12A47 0x0162 -0x12A48 0x0155 -0x12A49 0x0103 -0x12A4A 0x013A -0x12A4B 0x0107 -0x12A4C 0x010D -0x12A4D 0x0119 -0x12A4E 0x011B -0x12A4F 0x010F -0x12A50 0x0111 -0x12A51 0x0144 -0x12A52 0x0148 -0x12A53 0x0151 -0x12A54 0x0159 -0x12A55 0x016F -0x12A56 0x0171 -0x12A57 0x0163 -0x12A58 0x02D9 -0x12A59 0x0108 -0x12A5A 0x011C -0x12A5B 0x0124 -0x12A5C 0x0134 -0x12A5D 0x015C -0x12A5E 0x016C -0x12A5F 0x0109 -0x12A60 0x011D -0x12A61 0x0125 -0x12A62 0x0135 -0x12A63 0x015D -0x12A64 0x016D -0x12A65 0x0271 -0x12A66 0x028B -0x12A67 0x027E -0x12A68 0x0283 -0x12A69 0x0292 -0x12A6A 0x026C -0x12A6B 0x026E -0x12A6C 0x0279 -0x12A6D 0x0288 -0x12A6E 0x0256 -0x12A6F 0x0273 -0x12A70 0x027D -0x12A71 0x0282 -0x12A72 0x0290 -0x12A73 0x027B -0x12A74 0x026D -0x12A75 0x025F -0x12A76 0x0272 -0x12A77 0x029D -0x12A78 0x028E -0x12A79 0x0261 -0x12A7A 0x014B -0x12A7B 0x0270 -0x12A7C 0x0281 -0x12A7D 0x0127 -0x12A7E 0x0295 -0x12B21 0x0294 -0x12B22 0x0266 -0x12B23 0x0298 -0x12B24 0x01C2 -0x12B25 0x0253 -0x12B26 0x0257 -0x12B27 0x0284 -0x12B28 0x0260 -0x12B29 0x0193 -0x12B2A 0x0153 -0x12B2B 0x0152 -0x12B2C 0x0268 -0x12B2D 0x0289 -0x12B2E 0x0258 -0x12B2F 0x0275 -0x12B30 0x0259 -0x12B31 0x025C -0x12B32 0x025E -0x12B33 0x0250 -0x12B34 0x026F -0x12B35 0x028A -0x12B36 0x0264 -0x12B37 0x028C -0x12B38 0x0254 -0x12B39 0x0251 -0x12B3A 0x0252 -0x12B3B 0x028D -0x12B3C 0x0265 -0x12B3D 0x02A2 -0x12B3E 0x02A1 -0x12B3F 0x0255 -0x12B40 0x0291 -0x12B41 0x027A -0x12B42 0x0267 -0x12B43 0x025A -0x12B44 0x00E6 0x0300 -0x12B45 0x01FD -0x12B46 0x1F70 -0x12B47 0x1F71 -0x12B48 0x0254 0x0300 -0x12B49 0x0254 0x0301 -0x12B4A 0x028C 0x0300 -0x12B4B 0x028C 0x0301 -0x12B4C 0x0259 0x0300 -0x12B4D 0x0259 0x0301 -0x12B4E 0x025A 0x0300 -0x12B4F 0x025A 0x0301 -0x12B50 0x1F72 -0x12B51 0x1F73 -0x12B52 0x0361 -0x12B53 0x02C8 -0x12B54 0x02CC -0x12B55 0x02D0 -0x12B56 0x02D1 -0x12B57 0x0306 -0x12B58 0x203F -0x12B59 0x030B -0x12B5A 0x0301 -0x12B5B 0x0304 -0x12B5C 0x0300 -0x12B5D 0x030F -0x12B5E 0x030C -0x12B5F 0x0302 -0x12B60 0x02E5 -0x12B61 0x02E6 -0x12B62 0x02E7 -0x12B63 0x02E8 -0x12B64 0x02E9 -0x12B65 0x02E9 0x02E5 -0x12B66 0x02E5 0x02E9 -0x12B67 0x0325 -0x12B68 0x032C -0x12B69 0x0339 -0x12B6A 0x031C -0x12B6B 0x031F -0x12B6C 0x0320 -0x12B6D 0x0308 -0x12B6E 0x033D -0x12B6F 0x0329 -0x12B70 0x032F -0x12B71 0x02DE -0x12B72 0x0324 -0x12B73 0x0330 -0x12B74 0x033C -0x12B75 0x0334 -0x12B76 0x031D -0x12B77 0x031E -0x12B78 0x0318 -0x12B79 0x0319 -0x12B7A 0x032A -0x12B7B 0x033A -0x12B7C 0x033B -0x12B7D 0x0303 -0x12B7E 0x031A -0x12C21 0x2776 -0x12C22 0x2777 -0x12C23 0x2778 -0x12C24 0x2779 -0x12C25 0x277A -0x12C26 0x277B -0x12C27 0x277C -0x12C28 0x277D -0x12C29 0x277E -0x12C2A 0x277F -0x12C2B 0x24EB -0x12C2C 0x24EC -0x12C2D 0x24ED -0x12C2E 0x24EE -0x12C2F 0x24EF -0x12C30 0x24F0 -0x12C31 0x24F1 -0x12C32 0x24F2 -0x12C33 0x24F3 -0x12C34 0x24F4 -0x12C35 0x2170 -0x12C36 0x2171 -0x12C37 0x2172 -0x12C38 0x2173 -0x12C39 0x2174 -0x12C3A 0x2175 -0x12C3B 0x2176 -0x12C3C 0x2177 -0x12C3D 0x2178 -0x12C3E 0x2179 -0x12C3F 0x217A -0x12C40 0x217B -0x12C41 0x24D0 -0x12C42 0x24D1 -0x12C43 0x24D2 -0x12C44 0x24D3 -0x12C45 0x24D4 -0x12C46 0x24D5 -0x12C47 0x24D6 -0x12C48 0x24D7 -0x12C49 0x24D8 -0x12C4A 0x24D9 -0x12C4B 0x24DA -0x12C4C 0x24DB -0x12C4D 0x24DC -0x12C4E 0x24DD -0x12C4F 0x24DE -0x12C50 0x24DF -0x12C51 0x24E0 -0x12C52 0x24E1 -0x12C53 0x24E2 -0x12C54 0x24E3 -0x12C55 0x24E4 -0x12C56 0x24E5 -0x12C57 0x24E6 -0x12C58 0x24E7 -0x12C59 0x24E8 -0x12C5A 0x24E9 -0x12C5B 0x32D0 -0x12C5C 0x32D1 -0x12C5D 0x32D2 -0x12C5E 0x32D3 -0x12C5F 0x32D4 -0x12C60 0x32D5 -0x12C61 0x32D6 -0x12C62 0x32D7 -0x12C63 0x32D8 -0x12C64 0x32D9 -0x12C65 0x32DA -0x12C66 0x32DB -0x12C67 0x32DC -0x12C68 0x32DD -0x12C69 0x32DE -0x12C6A 0x32DF -0x12C6B 0x32E0 -0x12C6C 0x32E1 -0x12C6D 0x32E2 -0x12C6E 0x32E3 -0x12C6F 0x32FA -0x12C70 0x32E9 -0x12C71 0x32E5 -0x12C72 0x32ED -0x12C73 0x32EC -0x12C7D 0x2051 -0x12C7E 0x2042 -0x12D21 0x2460 -0x12D22 0x2461 -0x12D23 0x2462 -0x12D24 0x2463 -0x12D25 0x2464 -0x12D26 0x2465 -0x12D27 0x2466 -0x12D28 0x2467 -0x12D29 0x2468 -0x12D2A 0x2469 -0x12D2B 0x246A -0x12D2C 0x246B -0x12D2D 0x246C -0x12D2E 0x246D -0x12D2F 0x246E -0x12D30 0x246F -0x12D31 0x2470 -0x12D32 0x2471 -0x12D33 0x2472 -0x12D34 0x2473 -0x12D35 0x2160 -0x12D36 0x2161 -0x12D37 0x2162 -0x12D38 0x2163 -0x12D39 0x2164 -0x12D3A 0x2165 -0x12D3B 0x2166 -0x12D3C 0x2167 -0x12D3D 0x2168 -0x12D3E 0x2169 -0x12D3F 0x216A -0x12D40 0x3349 -0x12D41 0x3314 -0x12D42 0x3322 -0x12D43 0x334D -0x12D44 0x3318 -0x12D45 0x3327 -0x12D46 0x3303 -0x12D47 0x3336 -0x12D48 0x3351 -0x12D49 0x3357 -0x12D4A 0x330D -0x12D4B 0x3326 -0x12D4C 0x3323 -0x12D4D 0x332B -0x12D4E 0x334A -0x12D4F 0x333B -0x12D50 0x339C -0x12D51 0x339D -0x12D52 0x339E -0x12D53 0x338E -0x12D54 0x338F -0x12D55 0x33C4 -0x12D56 0x33A1 -0x12D57 0x216B -0x12D5F 0x337B -0x12D60 0x301D -0x12D61 0x301F -0x12D62 0x2116 -0x12D63 0x33CD -0x12D64 0x2121 -0x12D65 0x32A4 -0x12D66 0x32A5 -0x12D67 0x32A6 -0x12D68 0x32A7 -0x12D69 0x32A8 -0x12D6A 0x3231 -0x12D6B 0x3232 -0x12D6C 0x3239 -0x12D6D 0x337E -0x12D6E 0x337D -0x12D6F 0x337C -0x12D73 0x222E -0x12D78 0x221F -0x12D79 0x22BF -0x12D7D 0x2756 -0x12D7E 0x261E -0x12E21 0x4FF1 -0x12E22 0x2000B -0x12E23 0x3402 -0x12E24 0x4E28 -0x12E25 0x4E2F -0x12E26 0x4E30 -0x12E27 0x4E8D -0x12E28 0x4EE1 -0x12E29 0x4EFD -0x12E2A 0x4EFF -0x12E2B 0x4F03 -0x12E2C 0x4F0B -0x12E2D 0x4F60 -0x12E2E 0x4F48 -0x12E2F 0x4F49 -0x12E30 0x4F56 -0x12E31 0x4F5F -0x12E32 0x4F6A -0x12E33 0x4F6C -0x12E34 0x4F7E -0x12E35 0x4F8A -0x12E36 0x4F94 -0x12E37 0x4F97 -0x12E38 0xFA30 -0x12E39 0x4FC9 -0x12E3A 0x4FE0 -0x12E3B 0x5001 -0x12E3C 0x5002 -0x12E3D 0x500E -0x12E3E 0x5018 -0x12E3F 0x5027 -0x12E40 0x502E -0x12E41 0x5040 -0x12E42 0x503B -0x12E43 0x5041 -0x12E44 0x5094 -0x12E45 0x50CC -0x12E46 0x50F2 -0x12E47 0x50D0 -0x12E48 0x50E6 -0x12E49 0xFA31 -0x12E4A 0x5106 -0x12E4B 0x5103 -0x12E4C 0x510B -0x12E4D 0x511E -0x12E4E 0x5135 -0x12E4F 0x514A -0x12E50 0xFA32 -0x12E51 0x5155 -0x12E52 0x5157 -0x12E53 0x34B5 -0x12E54 0x519D -0x12E55 0x51C3 -0x12E56 0x51CA -0x12E57 0x51DE -0x12E58 0x51E2 -0x12E59 0x51EE -0x12E5A 0x5201 -0x12E5B 0x34DB -0x12E5C 0x5213 -0x12E5D 0x5215 -0x12E5E 0x5249 -0x12E5F 0x5257 -0x12E60 0x5261 -0x12E61 0x5293 -0x12E62 0x52C8 -0x12E63 0xFA33 -0x12E64 0x52CC -0x12E65 0x52D0 -0x12E66 0x52D6 -0x12E67 0x52DB -0x12E68 0xFA34 -0x12E69 0x52F0 -0x12E6A 0x52FB -0x12E6B 0x5300 -0x12E6C 0x5307 -0x12E6D 0x531C -0x12E6E 0xFA35 -0x12E6F 0x5361 -0x12E70 0x5363 -0x12E71 0x537D -0x12E72 0x5393 -0x12E73 0x539D -0x12E74 0x53B2 -0x12E75 0x5412 -0x12E76 0x5427 -0x12E77 0x544D -0x12E78 0x549C -0x12E79 0x546B -0x12E7A 0x5474 -0x12E7B 0x547F -0x12E7C 0x5488 -0x12E7D 0x5496 -0x12E7E 0x54A1 -0x12F21 0x54A9 -0x12F22 0x54C6 -0x12F23 0x54FF -0x12F24 0x550E -0x12F25 0x552B -0x12F26 0x5535 -0x12F27 0x5550 -0x12F28 0x555E -0x12F29 0x5581 -0x12F2A 0x5586 -0x12F2B 0x558E -0x12F2C 0xFA36 -0x12F2D 0x55AD -0x12F2E 0x55CE -0x12F2F 0xFA37 -0x12F30 0x5608 -0x12F31 0x560E -0x12F32 0x563B -0x12F33 0x5649 -0x12F34 0x5676 -0x12F35 0x5666 -0x12F36 0xFA38 -0x12F37 0x566F -0x12F38 0x5671 -0x12F39 0x5672 -0x12F3A 0x5699 -0x12F3B 0x569E -0x12F3C 0x56A9 -0x12F3D 0x56AC -0x12F3E 0x56B3 -0x12F3F 0x56C9 -0x12F40 0x56CA -0x12F41 0x570A -0x12F42 0x2123D -0x12F43 0x5721 -0x12F44 0x572F -0x12F45 0x5733 -0x12F46 0x5734 -0x12F47 0x5770 -0x12F48 0x5777 -0x12F49 0x577C -0x12F4A 0x579C -0x12F4B 0xFA0F -0x12F4C 0x2131B -0x12F4D 0x57B8 -0x12F4E 0x57C7 -0x12F4F 0x57C8 -0x12F50 0x57CF -0x12F51 0x57E4 -0x12F52 0x57ED -0x12F53 0x57F5 -0x12F54 0x57F6 -0x12F55 0x57FF -0x12F56 0x5809 -0x12F57 0xFA10 -0x12F58 0x5861 -0x12F59 0x5864 -0x12F5A 0xFA39 -0x12F5B 0x587C -0x12F5C 0x5889 -0x12F5D 0x589E -0x12F5E 0xFA3A -0x12F5F 0x58A9 -0x12F60 0x2146E -0x12F61 0x58D2 -0x12F62 0x58CE -0x12F63 0x58D4 -0x12F64 0x58DA -0x12F65 0x58E0 -0x12F66 0x58E9 -0x12F67 0x590C -0x12F68 0x8641 -0x12F69 0x595D -0x12F6A 0x596D -0x12F6B 0x598B -0x12F6C 0x5992 -0x12F6D 0x59A4 -0x12F6E 0x59C3 -0x12F6F 0x59D2 -0x12F70 0x59DD -0x12F71 0x5A13 -0x12F72 0x5A23 -0x12F73 0x5A67 -0x12F74 0x5A6D -0x12F75 0x5A77 -0x12F76 0x5A7E -0x12F77 0x5A84 -0x12F78 0x5A9E -0x12F79 0x5AA7 -0x12F7A 0x5AC4 -0x12F7B 0x218BD -0x12F7C 0x5B19 -0x12F7D 0x5B25 -0x12F7E 0x525D -0x13021 0x4E9C -0x13022 0x5516 -0x13023 0x5A03 -0x13024 0x963F -0x13025 0x54C0 -0x13026 0x611B -0x13027 0x6328 -0x13028 0x59F6 -0x13029 0x9022 -0x1302A 0x8475 -0x1302B 0x831C -0x1302C 0x7A50 -0x1302D 0x60AA -0x1302E 0x63E1 -0x1302F 0x6E25 -0x13030 0x65ED -0x13031 0x8466 -0x13032 0x82A6 -0x13033 0x9BF5 -0x13034 0x6893 -0x13035 0x5727 -0x13036 0x65A1 -0x13037 0x6271 -0x13038 0x5B9B -0x13039 0x59D0 -0x1303A 0x867B -0x1303B 0x98F4 -0x1303C 0x7D62 -0x1303D 0x7DBE -0x1303E 0x9B8E -0x1303F 0x6216 -0x13040 0x7C9F -0x13041 0x88B7 -0x13042 0x5B89 -0x13043 0x5EB5 -0x13044 0x6309 -0x13045 0x6697 -0x13046 0x6848 -0x13047 0x95C7 -0x13048 0x978D -0x13049 0x674F -0x1304A 0x4EE5 -0x1304B 0x4F0A -0x1304C 0x4F4D -0x1304D 0x4F9D -0x1304E 0x5049 -0x1304F 0x56F2 -0x13050 0x5937 -0x13051 0x59D4 -0x13052 0x5A01 -0x13053 0x5C09 -0x13054 0x60DF -0x13055 0x610F -0x13056 0x6170 -0x13057 0x6613 -0x13058 0x6905 -0x13059 0x70BA -0x1305A 0x754F -0x1305B 0x7570 -0x1305C 0x79FB -0x1305D 0x7DAD -0x1305E 0x7DEF -0x1305F 0x80C3 -0x13060 0x840E -0x13061 0x8863 -0x13062 0x8B02 -0x13063 0x9055 -0x13064 0x907A -0x13065 0x533B -0x13066 0x4E95 -0x13067 0x4EA5 -0x13068 0x57DF -0x13069 0x80B2 -0x1306A 0x90C1 -0x1306B 0x78EF -0x1306C 0x4E00 -0x1306D 0x58F1 -0x1306E 0x6EA2 -0x1306F 0x9038 -0x13070 0x7A32 -0x13071 0x8328 -0x13072 0x828B -0x13073 0x9C2F -0x13074 0x5141 -0x13075 0x5370 -0x13076 0x54BD -0x13077 0x54E1 -0x13078 0x56E0 -0x13079 0x59FB -0x1307A 0x5F15 -0x1307B 0x98F2 -0x1307C 0x6DEB -0x1307D 0x80E4 -0x1307E 0x852D -0x13121 0x9662 -0x13122 0x9670 -0x13123 0x96A0 -0x13124 0x97FB -0x13125 0x540B -0x13126 0x53F3 -0x13127 0x5B87 -0x13128 0x70CF -0x13129 0x7FBD -0x1312A 0x8FC2 -0x1312B 0x96E8 -0x1312C 0x536F -0x1312D 0x9D5C -0x1312E 0x7ABA -0x1312F 0x4E11 -0x13130 0x7893 -0x13131 0x81FC -0x13132 0x6E26 -0x13133 0x5618 -0x13134 0x5504 -0x13135 0x6B1D -0x13136 0x851A -0x13137 0x9C3B -0x13138 0x59E5 -0x13139 0x53A9 -0x1313A 0x6D66 -0x1313B 0x74DC -0x1313C 0x958F -0x1313D 0x5642 -0x1313E 0x4E91 -0x1313F 0x904B -0x13140 0x96F2 -0x13141 0x834F -0x13142 0x990C -0x13143 0x53E1 -0x13144 0x55B6 -0x13145 0x5B30 -0x13146 0x5F71 -0x13147 0x6620 -0x13148 0x66F3 -0x13149 0x6804 -0x1314A 0x6C38 -0x1314B 0x6CF3 -0x1314C 0x6D29 -0x1314D 0x745B -0x1314E 0x76C8 -0x1314F 0x7A4E -0x13150 0x9834 -0x13151 0x82F1 -0x13152 0x885B -0x13153 0x8A60 -0x13154 0x92ED -0x13155 0x6DB2 -0x13156 0x75AB -0x13157 0x76CA -0x13158 0x99C5 -0x13159 0x60A6 -0x1315A 0x8B01 -0x1315B 0x8D8A -0x1315C 0x95B2 -0x1315D 0x698E -0x1315E 0x53AD -0x1315F 0x5186 -0x13160 0x5712 -0x13161 0x5830 -0x13162 0x5944 -0x13163 0x5BB4 -0x13164 0x5EF6 -0x13165 0x6028 -0x13166 0x63A9 -0x13167 0x63F4 -0x13168 0x6CBF -0x13169 0x6F14 -0x1316A 0x708E -0x1316B 0x7114 -0x1316C 0x7159 -0x1316D 0x71D5 -0x1316E 0x733F -0x1316F 0x7E01 -0x13170 0x8276 -0x13171 0x82D1 -0x13172 0x8597 -0x13173 0x9060 -0x13174 0x925B -0x13175 0x9D1B -0x13176 0x5869 -0x13177 0x65BC -0x13178 0x6C5A -0x13179 0x7525 -0x1317A 0x51F9 -0x1317B 0x592E -0x1317C 0x5965 -0x1317D 0x5F80 -0x1317E 0x5FDC -0x13221 0x62BC -0x13222 0x65FA -0x13223 0x6A2A -0x13224 0x6B27 -0x13225 0x6BB4 -0x13226 0x738B -0x13227 0x7FC1 -0x13228 0x8956 -0x13229 0x9D2C -0x1322A 0x9D0E -0x1322B 0x9EC4 -0x1322C 0x5CA1 -0x1322D 0x6C96 -0x1322E 0x837B -0x1322F 0x5104 -0x13230 0x5C4B -0x13231 0x61B6 -0x13232 0x81C6 -0x13233 0x6876 -0x13234 0x7261 -0x13235 0x4E59 -0x13236 0x4FFA -0x13237 0x5378 -0x13238 0x6069 -0x13239 0x6E29 -0x1323A 0x7A4F -0x1323B 0x97F3 -0x1323C 0x4E0B -0x1323D 0x5316 -0x1323E 0x4EEE -0x1323F 0x4F55 -0x13240 0x4F3D -0x13241 0x4FA1 -0x13242 0x4F73 -0x13243 0x52A0 -0x13244 0x53EF -0x13245 0x5609 -0x13246 0x590F -0x13247 0x5AC1 -0x13248 0x5BB6 -0x13249 0x5BE1 -0x1324A 0x79D1 -0x1324B 0x6687 -0x1324C 0x679C -0x1324D 0x67B6 -0x1324E 0x6B4C -0x1324F 0x6CB3 -0x13250 0x706B -0x13251 0x73C2 -0x13252 0x798D -0x13253 0x79BE -0x13254 0x7A3C -0x13255 0x7B87 -0x13256 0x82B1 -0x13257 0x82DB -0x13258 0x8304 -0x13259 0x8377 -0x1325A 0x83EF -0x1325B 0x83D3 -0x1325C 0x8766 -0x1325D 0x8AB2 -0x1325E 0x5629 -0x1325F 0x8CA8 -0x13260 0x8FE6 -0x13261 0x904E -0x13262 0x971E -0x13263 0x868A -0x13264 0x4FC4 -0x13265 0x5CE8 -0x13266 0x6211 -0x13267 0x7259 -0x13268 0x753B -0x13269 0x81E5 -0x1326A 0x82BD -0x1326B 0x86FE -0x1326C 0x8CC0 -0x1326D 0x96C5 -0x1326E 0x9913 -0x1326F 0x99D5 -0x13270 0x4ECB -0x13271 0x4F1A -0x13272 0x89E3 -0x13273 0x56DE -0x13274 0x584A -0x13275 0x58CA -0x13276 0x5EFB -0x13277 0x5FEB -0x13278 0x602A -0x13279 0x6094 -0x1327A 0x6062 -0x1327B 0x61D0 -0x1327C 0x6212 -0x1327D 0x62D0 -0x1327E 0x6539 -0x13321 0x9B41 -0x13322 0x6666 -0x13323 0x68B0 -0x13324 0x6D77 -0x13325 0x7070 -0x13326 0x754C -0x13327 0x7686 -0x13328 0x7D75 -0x13329 0x82A5 -0x1332A 0x87F9 -0x1332B 0x958B -0x1332C 0x968E -0x1332D 0x8C9D -0x1332E 0x51F1 -0x1332F 0x52BE -0x13330 0x5916 -0x13331 0x54B3 -0x13332 0x5BB3 -0x13333 0x5D16 -0x13334 0x6168 -0x13335 0x6982 -0x13336 0x6DAF -0x13337 0x788D -0x13338 0x84CB -0x13339 0x8857 -0x1333A 0x8A72 -0x1333B 0x93A7 -0x1333C 0x9AB8 -0x1333D 0x6D6C -0x1333E 0x99A8 -0x1333F 0x86D9 -0x13340 0x57A3 -0x13341 0x67FF -0x13342 0x86CE -0x13343 0x920E -0x13344 0x5283 -0x13345 0x5687 -0x13346 0x5404 -0x13347 0x5ED3 -0x13348 0x62E1 -0x13349 0x64B9 -0x1334A 0x683C -0x1334B 0x6838 -0x1334C 0x6BBB -0x1334D 0x7372 -0x1334E 0x78BA -0x1334F 0x7A6B -0x13350 0x899A -0x13351 0x89D2 -0x13352 0x8D6B -0x13353 0x8F03 -0x13354 0x90ED -0x13355 0x95A3 -0x13356 0x9694 -0x13357 0x9769 -0x13358 0x5B66 -0x13359 0x5CB3 -0x1335A 0x697D -0x1335B 0x984D -0x1335C 0x984E -0x1335D 0x639B -0x1335E 0x7B20 -0x1335F 0x6A2B -0x13360 0x6A7F -0x13361 0x68B6 -0x13362 0x9C0D -0x13363 0x6F5F -0x13364 0x5272 -0x13365 0x559D -0x13366 0x6070 -0x13367 0x62EC -0x13368 0x6D3B -0x13369 0x6E07 -0x1336A 0x6ED1 -0x1336B 0x845B -0x1336C 0x8910 -0x1336D 0x8F44 -0x1336E 0x4E14 -0x1336F 0x9C39 -0x13370 0x53F6 -0x13371 0x691B -0x13372 0x6A3A -0x13373 0x9784 -0x13374 0x682A -0x13375 0x515C -0x13376 0x7AC3 -0x13377 0x84B2 -0x13378 0x91DC -0x13379 0x938C -0x1337A 0x565B -0x1337B 0x9D28 -0x1337C 0x6822 -0x1337D 0x8305 -0x1337E 0x8431 -0x13421 0x7CA5 -0x13422 0x5208 -0x13423 0x82C5 -0x13424 0x74E6 -0x13425 0x4E7E -0x13426 0x4F83 -0x13427 0x51A0 -0x13428 0x5BD2 -0x13429 0x520A -0x1342A 0x52D8 -0x1342B 0x52E7 -0x1342C 0x5DFB -0x1342D 0x559A -0x1342E 0x582A -0x1342F 0x59E6 -0x13430 0x5B8C -0x13431 0x5B98 -0x13432 0x5BDB -0x13433 0x5E72 -0x13434 0x5E79 -0x13435 0x60A3 -0x13436 0x611F -0x13437 0x6163 -0x13438 0x61BE -0x13439 0x63DB -0x1343A 0x6562 -0x1343B 0x67D1 -0x1343C 0x6853 -0x1343D 0x68FA -0x1343E 0x6B3E -0x1343F 0x6B53 -0x13440 0x6C57 -0x13441 0x6F22 -0x13442 0x6F97 -0x13443 0x6F45 -0x13444 0x74B0 -0x13445 0x7518 -0x13446 0x76E3 -0x13447 0x770B -0x13448 0x7AFF -0x13449 0x7BA1 -0x1344A 0x7C21 -0x1344B 0x7DE9 -0x1344C 0x7F36 -0x1344D 0x7FF0 -0x1344E 0x809D -0x1344F 0x8266 -0x13450 0x839E -0x13451 0x89B3 -0x13452 0x8ACC -0x13453 0x8CAB -0x13454 0x9084 -0x13455 0x9451 -0x13456 0x9593 -0x13457 0x9591 -0x13458 0x95A2 -0x13459 0x9665 -0x1345A 0x97D3 -0x1345B 0x9928 -0x1345C 0x8218 -0x1345D 0x4E38 -0x1345E 0x542B -0x1345F 0x5CB8 -0x13460 0x5DCC -0x13461 0x73A9 -0x13462 0x764C -0x13463 0x773C -0x13464 0x5CA9 -0x13465 0x7FEB -0x13466 0x8D0B -0x13467 0x96C1 -0x13468 0x9811 -0x13469 0x9854 -0x1346A 0x9858 -0x1346B 0x4F01 -0x1346C 0x4F0E -0x1346D 0x5371 -0x1346E 0x559C -0x1346F 0x5668 -0x13470 0x57FA -0x13471 0x5947 -0x13472 0x5B09 -0x13473 0x5BC4 -0x13474 0x5C90 -0x13475 0x5E0C -0x13476 0x5E7E -0x13477 0x5FCC -0x13478 0x63EE -0x13479 0x673A -0x1347A 0x65D7 -0x1347B 0x65E2 -0x1347C 0x671F -0x1347D 0x68CB -0x1347E 0x68C4 -0x13521 0x6A5F -0x13522 0x5E30 -0x13523 0x6BC5 -0x13524 0x6C17 -0x13525 0x6C7D -0x13526 0x757F -0x13527 0x7948 -0x13528 0x5B63 -0x13529 0x7A00 -0x1352A 0x7D00 -0x1352B 0x5FBD -0x1352C 0x898F -0x1352D 0x8A18 -0x1352E 0x8CB4 -0x1352F 0x8D77 -0x13530 0x8ECC -0x13531 0x8F1D -0x13532 0x98E2 -0x13533 0x9A0E -0x13534 0x9B3C -0x13535 0x4E80 -0x13536 0x507D -0x13537 0x5100 -0x13538 0x5993 -0x13539 0x5B9C -0x1353A 0x622F -0x1353B 0x6280 -0x1353C 0x64EC -0x1353D 0x6B3A -0x1353E 0x72A0 -0x1353F 0x7591 -0x13540 0x7947 -0x13541 0x7FA9 -0x13542 0x87FB -0x13543 0x8ABC -0x13544 0x8B70 -0x13545 0x63AC -0x13546 0x83CA -0x13547 0x97A0 -0x13548 0x5409 -0x13549 0x5403 -0x1354A 0x55AB -0x1354B 0x6854 -0x1354C 0x6A58 -0x1354D 0x8A70 -0x1354E 0x7827 -0x1354F 0x6775 -0x13550 0x9ECD -0x13551 0x5374 -0x13552 0x5BA2 -0x13553 0x811A -0x13554 0x8650 -0x13555 0x9006 -0x13556 0x4E18 -0x13557 0x4E45 -0x13558 0x4EC7 -0x13559 0x4F11 -0x1355A 0x53CA -0x1355B 0x5438 -0x1355C 0x5BAE -0x1355D 0x5F13 -0x1355E 0x6025 -0x1355F 0x6551 -0x13560 0x673D -0x13561 0x6C42 -0x13562 0x6C72 -0x13563 0x6CE3 -0x13564 0x7078 -0x13565 0x7403 -0x13566 0x7A76 -0x13567 0x7AAE -0x13568 0x7B08 -0x13569 0x7D1A -0x1356A 0x7CFE -0x1356B 0x7D66 -0x1356C 0x65E7 -0x1356D 0x725B -0x1356E 0x53BB -0x1356F 0x5C45 -0x13570 0x5DE8 -0x13571 0x62D2 -0x13572 0x62E0 -0x13573 0x6319 -0x13574 0x6E20 -0x13575 0x865A -0x13576 0x8A31 -0x13577 0x8DDD -0x13578 0x92F8 -0x13579 0x6F01 -0x1357A 0x79A6 -0x1357B 0x9B5A -0x1357C 0x4EA8 -0x1357D 0x4EAB -0x1357E 0x4EAC -0x13621 0x4F9B -0x13622 0x4FA0 -0x13623 0x50D1 -0x13624 0x5147 -0x13625 0x7AF6 -0x13626 0x5171 -0x13627 0x51F6 -0x13628 0x5354 -0x13629 0x5321 -0x1362A 0x537F -0x1362B 0x53EB -0x1362C 0x55AC -0x1362D 0x5883 -0x1362E 0x5CE1 -0x1362F 0x5F37 -0x13630 0x5F4A -0x13631 0x602F -0x13632 0x6050 -0x13633 0x606D -0x13634 0x631F -0x13635 0x6559 -0x13636 0x6A4B -0x13637 0x6CC1 -0x13638 0x72C2 -0x13639 0x72ED -0x1363A 0x77EF -0x1363B 0x80F8 -0x1363C 0x8105 -0x1363D 0x8208 -0x1363E 0x854E -0x1363F 0x90F7 -0x13640 0x93E1 -0x13641 0x97FF -0x13642 0x9957 -0x13643 0x9A5A -0x13644 0x4EF0 -0x13645 0x51DD -0x13646 0x5C2D -0x13647 0x6681 -0x13648 0x696D -0x13649 0x5C40 -0x1364A 0x66F2 -0x1364B 0x6975 -0x1364C 0x7389 -0x1364D 0x6850 -0x1364E 0x7C81 -0x1364F 0x50C5 -0x13650 0x52E4 -0x13651 0x5747 -0x13652 0x5DFE -0x13653 0x9326 -0x13654 0x65A4 -0x13655 0x6B23 -0x13656 0x6B3D -0x13657 0x7434 -0x13658 0x7981 -0x13659 0x79BD -0x1365A 0x7B4B -0x1365B 0x7DCA -0x1365C 0x82B9 -0x1365D 0x83CC -0x1365E 0x887F -0x1365F 0x895F -0x13660 0x8B39 -0x13661 0x8FD1 -0x13662 0x91D1 -0x13663 0x541F -0x13664 0x9280 -0x13665 0x4E5D -0x13666 0x5036 -0x13667 0x53E5 -0x13668 0x533A -0x13669 0x72D7 -0x1366A 0x7396 -0x1366B 0x77E9 -0x1366C 0x82E6 -0x1366D 0x8EAF -0x1366E 0x99C6 -0x1366F 0x99C8 -0x13670 0x99D2 -0x13671 0x5177 -0x13672 0x611A -0x13673 0x865E -0x13674 0x55B0 -0x13675 0x7A7A -0x13676 0x5076 -0x13677 0x5BD3 -0x13678 0x9047 -0x13679 0x9685 -0x1367A 0x4E32 -0x1367B 0x6ADB -0x1367C 0x91E7 -0x1367D 0x5C51 -0x1367E 0x5C48 -0x13721 0x6398 -0x13722 0x7A9F -0x13723 0x6C93 -0x13724 0x9774 -0x13725 0x8F61 -0x13726 0x7AAA -0x13727 0x718A -0x13728 0x9688 -0x13729 0x7C82 -0x1372A 0x6817 -0x1372B 0x7E70 -0x1372C 0x6851 -0x1372D 0x936C -0x1372E 0x52F2 -0x1372F 0x541B -0x13730 0x85AB -0x13731 0x8A13 -0x13732 0x7FA4 -0x13733 0x8ECD -0x13734 0x90E1 -0x13735 0x5366 -0x13736 0x8888 -0x13737 0x7941 -0x13738 0x4FC2 -0x13739 0x50BE -0x1373A 0x5211 -0x1373B 0x5144 -0x1373C 0x5553 -0x1373D 0x572D -0x1373E 0x73EA -0x1373F 0x578B -0x13740 0x5951 -0x13741 0x5F62 -0x13742 0x5F84 -0x13743 0x6075 -0x13744 0x6176 -0x13745 0x6167 -0x13746 0x61A9 -0x13747 0x63B2 -0x13748 0x643A -0x13749 0x656C -0x1374A 0x666F -0x1374B 0x6842 -0x1374C 0x6E13 -0x1374D 0x7566 -0x1374E 0x7A3D -0x1374F 0x7CFB -0x13750 0x7D4C -0x13751 0x7D99 -0x13752 0x7E4B -0x13753 0x7F6B -0x13754 0x830E -0x13755 0x834A -0x13756 0x86CD -0x13757 0x8A08 -0x13758 0x8A63 -0x13759 0x8B66 -0x1375A 0x8EFD -0x1375B 0x981A -0x1375C 0x9D8F -0x1375D 0x82B8 -0x1375E 0x8FCE -0x1375F 0x9BE8 -0x13760 0x5287 -0x13761 0x621F -0x13762 0x6483 -0x13763 0x6FC0 -0x13764 0x9699 -0x13765 0x6841 -0x13766 0x5091 -0x13767 0x6B20 -0x13768 0x6C7A -0x13769 0x6F54 -0x1376A 0x7A74 -0x1376B 0x7D50 -0x1376C 0x8840 -0x1376D 0x8A23 -0x1376E 0x6708 -0x1376F 0x4EF6 -0x13770 0x5039 -0x13771 0x5026 -0x13772 0x5065 -0x13773 0x517C -0x13774 0x5238 -0x13775 0x5263 -0x13776 0x55A7 -0x13777 0x570F -0x13778 0x5805 -0x13779 0x5ACC -0x1377A 0x5EFA -0x1377B 0x61B2 -0x1377C 0x61F8 -0x1377D 0x62F3 -0x1377E 0x6372 -0x13821 0x691C -0x13822 0x6A29 -0x13823 0x727D -0x13824 0x72AC -0x13825 0x732E -0x13826 0x7814 -0x13827 0x786F -0x13828 0x7D79 -0x13829 0x770C -0x1382A 0x80A9 -0x1382B 0x898B -0x1382C 0x8B19 -0x1382D 0x8CE2 -0x1382E 0x8ED2 -0x1382F 0x9063 -0x13830 0x9375 -0x13831 0x967A -0x13832 0x9855 -0x13833 0x9A13 -0x13834 0x9E78 -0x13835 0x5143 -0x13836 0x539F -0x13837 0x53B3 -0x13838 0x5E7B -0x13839 0x5F26 -0x1383A 0x6E1B -0x1383B 0x6E90 -0x1383C 0x7384 -0x1383D 0x73FE -0x1383E 0x7D43 -0x1383F 0x8237 -0x13840 0x8A00 -0x13841 0x8AFA -0x13842 0x9650 -0x13843 0x4E4E -0x13844 0x500B -0x13845 0x53E4 -0x13846 0x547C -0x13847 0x56FA -0x13848 0x59D1 -0x13849 0x5B64 -0x1384A 0x5DF1 -0x1384B 0x5EAB -0x1384C 0x5F27 -0x1384D 0x6238 -0x1384E 0x6545 -0x1384F 0x67AF -0x13850 0x6E56 -0x13851 0x72D0 -0x13852 0x7CCA -0x13853 0x88B4 -0x13854 0x80A1 -0x13855 0x80E1 -0x13856 0x83F0 -0x13857 0x864E -0x13858 0x8A87 -0x13859 0x8DE8 -0x1385A 0x9237 -0x1385B 0x96C7 -0x1385C 0x9867 -0x1385D 0x9F13 -0x1385E 0x4E94 -0x1385F 0x4E92 -0x13860 0x4F0D -0x13861 0x5348 -0x13862 0x5449 -0x13863 0x543E -0x13864 0x5A2F -0x13865 0x5F8C -0x13866 0x5FA1 -0x13867 0x609F -0x13868 0x68A7 -0x13869 0x6A8E -0x1386A 0x745A -0x1386B 0x7881 -0x1386C 0x8A9E -0x1386D 0x8AA4 -0x1386E 0x8B77 -0x1386F 0x9190 -0x13870 0x4E5E -0x13871 0x9BC9 -0x13872 0x4EA4 -0x13873 0x4F7C -0x13874 0x4FAF -0x13875 0x5019 -0x13876 0x5016 -0x13877 0x5149 -0x13878 0x516C -0x13879 0x529F -0x1387A 0x52B9 -0x1387B 0x52FE -0x1387C 0x539A -0x1387D 0x53E3 -0x1387E 0x5411 -0x13921 0x540E -0x13922 0x5589 -0x13923 0x5751 -0x13924 0x57A2 -0x13925 0x597D -0x13926 0x5B54 -0x13927 0x5B5D -0x13928 0x5B8F -0x13929 0x5DE5 -0x1392A 0x5DE7 -0x1392B 0x5DF7 -0x1392C 0x5E78 -0x1392D 0x5E83 -0x1392E 0x5E9A -0x1392F 0x5EB7 -0x13930 0x5F18 -0x13931 0x6052 -0x13932 0x614C -0x13933 0x6297 -0x13934 0x62D8 -0x13935 0x63A7 -0x13936 0x653B -0x13937 0x6602 -0x13938 0x6643 -0x13939 0x66F4 -0x1393A 0x676D -0x1393B 0x6821 -0x1393C 0x6897 -0x1393D 0x69CB -0x1393E 0x6C5F -0x1393F 0x6D2A -0x13940 0x6D69 -0x13941 0x6E2F -0x13942 0x6E9D -0x13943 0x7532 -0x13944 0x7687 -0x13945 0x786C -0x13946 0x7A3F -0x13947 0x7CE0 -0x13948 0x7D05 -0x13949 0x7D18 -0x1394A 0x7D5E -0x1394B 0x7DB1 -0x1394C 0x8015 -0x1394D 0x8003 -0x1394E 0x80AF -0x1394F 0x80B1 -0x13950 0x8154 -0x13951 0x818F -0x13952 0x822A -0x13953 0x8352 -0x13954 0x884C -0x13955 0x8861 -0x13956 0x8B1B -0x13957 0x8CA2 -0x13958 0x8CFC -0x13959 0x90CA -0x1395A 0x9175 -0x1395B 0x9271 -0x1395C 0x783F -0x1395D 0x92FC -0x1395E 0x95A4 -0x1395F 0x964D -0x13960 0x9805 -0x13961 0x9999 -0x13962 0x9AD8 -0x13963 0x9D3B -0x13964 0x525B -0x13965 0x52AB -0x13966 0x53F7 -0x13967 0x5408 -0x13968 0x58D5 -0x13969 0x62F7 -0x1396A 0x6FE0 -0x1396B 0x8C6A -0x1396C 0x8F5F -0x1396D 0x9EB9 -0x1396E 0x514B -0x1396F 0x523B -0x13970 0x544A -0x13971 0x56FD -0x13972 0x7A40 -0x13973 0x9177 -0x13974 0x9D60 -0x13975 0x9ED2 -0x13976 0x7344 -0x13977 0x6F09 -0x13978 0x8170 -0x13979 0x7511 -0x1397A 0x5FFD -0x1397B 0x60DA -0x1397C 0x9AA8 -0x1397D 0x72DB -0x1397E 0x8FBC -0x13A21 0x6B64 -0x13A22 0x9803 -0x13A23 0x4ECA -0x13A24 0x56F0 -0x13A25 0x5764 -0x13A26 0x58BE -0x13A27 0x5A5A -0x13A28 0x6068 -0x13A29 0x61C7 -0x13A2A 0x660F -0x13A2B 0x6606 -0x13A2C 0x6839 -0x13A2D 0x68B1 -0x13A2E 0x6DF7 -0x13A2F 0x75D5 -0x13A30 0x7D3A -0x13A31 0x826E -0x13A32 0x9B42 -0x13A33 0x4E9B -0x13A34 0x4F50 -0x13A35 0x53C9 -0x13A36 0x5506 -0x13A37 0x5D6F -0x13A38 0x5DE6 -0x13A39 0x5DEE -0x13A3A 0x67FB -0x13A3B 0x6C99 -0x13A3C 0x7473 -0x13A3D 0x7802 -0x13A3E 0x8A50 -0x13A3F 0x9396 -0x13A40 0x88DF -0x13A41 0x5750 -0x13A42 0x5EA7 -0x13A43 0x632B -0x13A44 0x50B5 -0x13A45 0x50AC -0x13A46 0x518D -0x13A47 0x6700 -0x13A48 0x54C9 -0x13A49 0x585E -0x13A4A 0x59BB -0x13A4B 0x5BB0 -0x13A4C 0x5F69 -0x13A4D 0x624D -0x13A4E 0x63A1 -0x13A4F 0x683D -0x13A50 0x6B73 -0x13A51 0x6E08 -0x13A52 0x707D -0x13A53 0x91C7 -0x13A54 0x7280 -0x13A55 0x7815 -0x13A56 0x7826 -0x13A57 0x796D -0x13A58 0x658E -0x13A59 0x7D30 -0x13A5A 0x83DC -0x13A5B 0x88C1 -0x13A5C 0x8F09 -0x13A5D 0x969B -0x13A5E 0x5264 -0x13A5F 0x5728 -0x13A60 0x6750 -0x13A61 0x7F6A -0x13A62 0x8CA1 -0x13A63 0x51B4 -0x13A64 0x5742 -0x13A65 0x962A -0x13A66 0x583A -0x13A67 0x698A -0x13A68 0x80B4 -0x13A69 0x54B2 -0x13A6A 0x5D0E -0x13A6B 0x57FC -0x13A6C 0x7895 -0x13A6D 0x9DFA -0x13A6E 0x4F5C -0x13A6F 0x524A -0x13A70 0x548B -0x13A71 0x643E -0x13A72 0x6628 -0x13A73 0x6714 -0x13A74 0x67F5 -0x13A75 0x7A84 -0x13A76 0x7B56 -0x13A77 0x7D22 -0x13A78 0x932F -0x13A79 0x685C -0x13A7A 0x9BAD -0x13A7B 0x7B39 -0x13A7C 0x5319 -0x13A7D 0x518A -0x13A7E 0x5237 -0x13B21 0x5BDF -0x13B22 0x62F6 -0x13B23 0x64AE -0x13B24 0x64E6 -0x13B25 0x672D -0x13B26 0x6BBA -0x13B27 0x85A9 -0x13B28 0x96D1 -0x13B29 0x7690 -0x13B2A 0x9BD6 -0x13B2B 0x634C -0x13B2C 0x9306 -0x13B2D 0x9BAB -0x13B2E 0x76BF -0x13B2F 0x6652 -0x13B30 0x4E09 -0x13B31 0x5098 -0x13B32 0x53C2 -0x13B33 0x5C71 -0x13B34 0x60E8 -0x13B35 0x6492 -0x13B36 0x6563 -0x13B37 0x685F -0x13B38 0x71E6 -0x13B39 0x73CA -0x13B3A 0x7523 -0x13B3B 0x7B97 -0x13B3C 0x7E82 -0x13B3D 0x8695 -0x13B3E 0x8B83 -0x13B3F 0x8CDB -0x13B40 0x9178 -0x13B41 0x9910 -0x13B42 0x65AC -0x13B43 0x66AB -0x13B44 0x6B8B -0x13B45 0x4ED5 -0x13B46 0x4ED4 -0x13B47 0x4F3A -0x13B48 0x4F7F -0x13B49 0x523A -0x13B4A 0x53F8 -0x13B4B 0x53F2 -0x13B4C 0x55E3 -0x13B4D 0x56DB -0x13B4E 0x58EB -0x13B4F 0x59CB -0x13B50 0x59C9 -0x13B51 0x59FF -0x13B52 0x5B50 -0x13B53 0x5C4D -0x13B54 0x5E02 -0x13B55 0x5E2B -0x13B56 0x5FD7 -0x13B57 0x601D -0x13B58 0x6307 -0x13B59 0x652F -0x13B5A 0x5B5C -0x13B5B 0x65AF -0x13B5C 0x65BD -0x13B5D 0x65E8 -0x13B5E 0x679D -0x13B5F 0x6B62 -0x13B60 0x6B7B -0x13B61 0x6C0F -0x13B62 0x7345 -0x13B63 0x7949 -0x13B64 0x79C1 -0x13B65 0x7CF8 -0x13B66 0x7D19 -0x13B67 0x7D2B -0x13B68 0x80A2 -0x13B69 0x8102 -0x13B6A 0x81F3 -0x13B6B 0x8996 -0x13B6C 0x8A5E -0x13B6D 0x8A69 -0x13B6E 0x8A66 -0x13B6F 0x8A8C -0x13B70 0x8AEE -0x13B71 0x8CC7 -0x13B72 0x8CDC -0x13B73 0x96CC -0x13B74 0x98FC -0x13B75 0x6B6F -0x13B76 0x4E8B -0x13B77 0x4F3C -0x13B78 0x4F8D -0x13B79 0x5150 -0x13B7A 0x5B57 -0x13B7B 0x5BFA -0x13B7C 0x6148 -0x13B7D 0x6301 -0x13B7E 0x6642 -0x13C21 0x6B21 -0x13C22 0x6ECB -0x13C23 0x6CBB -0x13C24 0x723E -0x13C25 0x74BD -0x13C26 0x75D4 -0x13C27 0x78C1 -0x13C28 0x793A -0x13C29 0x800C -0x13C2A 0x8033 -0x13C2B 0x81EA -0x13C2C 0x8494 -0x13C2D 0x8F9E -0x13C2E 0x6C50 -0x13C2F 0x9E7F -0x13C30 0x5F0F -0x13C31 0x8B58 -0x13C32 0x9D2B -0x13C33 0x7AFA -0x13C34 0x8EF8 -0x13C35 0x5B8D -0x13C36 0x96EB -0x13C37 0x4E03 -0x13C38 0x53F1 -0x13C39 0x57F7 -0x13C3A 0x5931 -0x13C3B 0x5AC9 -0x13C3C 0x5BA4 -0x13C3D 0x6089 -0x13C3E 0x6E7F -0x13C3F 0x6F06 -0x13C40 0x75BE -0x13C41 0x8CEA -0x13C42 0x5B9F -0x13C43 0x8500 -0x13C44 0x7BE0 -0x13C45 0x5072 -0x13C46 0x67F4 -0x13C47 0x829D -0x13C48 0x5C61 -0x13C49 0x854A -0x13C4A 0x7E1E -0x13C4B 0x820E -0x13C4C 0x5199 -0x13C4D 0x5C04 -0x13C4E 0x6368 -0x13C4F 0x8D66 -0x13C50 0x659C -0x13C51 0x716E -0x13C52 0x793E -0x13C53 0x7D17 -0x13C54 0x8005 -0x13C55 0x8B1D -0x13C56 0x8ECA -0x13C57 0x906E -0x13C58 0x86C7 -0x13C59 0x90AA -0x13C5A 0x501F -0x13C5B 0x52FA -0x13C5C 0x5C3A -0x13C5D 0x6753 -0x13C5E 0x707C -0x13C5F 0x7235 -0x13C60 0x914C -0x13C61 0x91C8 -0x13C62 0x932B -0x13C63 0x82E5 -0x13C64 0x5BC2 -0x13C65 0x5F31 -0x13C66 0x60F9 -0x13C67 0x4E3B -0x13C68 0x53D6 -0x13C69 0x5B88 -0x13C6A 0x624B -0x13C6B 0x6731 -0x13C6C 0x6B8A -0x13C6D 0x72E9 -0x13C6E 0x73E0 -0x13C6F 0x7A2E -0x13C70 0x816B -0x13C71 0x8DA3 -0x13C72 0x9152 -0x13C73 0x9996 -0x13C74 0x5112 -0x13C75 0x53D7 -0x13C76 0x546A -0x13C77 0x5BFF -0x13C78 0x6388 -0x13C79 0x6A39 -0x13C7A 0x7DAC -0x13C7B 0x9700 -0x13C7C 0x56DA -0x13C7D 0x53CE -0x13C7E 0x5468 -0x13D21 0x5B97 -0x13D22 0x5C31 -0x13D23 0x5DDE -0x13D24 0x4FEE -0x13D25 0x6101 -0x13D26 0x62FE -0x13D27 0x6D32 -0x13D28 0x79C0 -0x13D29 0x79CB -0x13D2A 0x7D42 -0x13D2B 0x7E4D -0x13D2C 0x7FD2 -0x13D2D 0x81ED -0x13D2E 0x821F -0x13D2F 0x8490 -0x13D30 0x8846 -0x13D31 0x8972 -0x13D32 0x8B90 -0x13D33 0x8E74 -0x13D34 0x8F2F -0x13D35 0x9031 -0x13D36 0x914B -0x13D37 0x916C -0x13D38 0x96C6 -0x13D39 0x919C -0x13D3A 0x4EC0 -0x13D3B 0x4F4F -0x13D3C 0x5145 -0x13D3D 0x5341 -0x13D3E 0x5F93 -0x13D3F 0x620E -0x13D40 0x67D4 -0x13D41 0x6C41 -0x13D42 0x6E0B -0x13D43 0x7363 -0x13D44 0x7E26 -0x13D45 0x91CD -0x13D46 0x9283 -0x13D47 0x53D4 -0x13D48 0x5919 -0x13D49 0x5BBF -0x13D4A 0x6DD1 -0x13D4B 0x795D -0x13D4C 0x7E2E -0x13D4D 0x7C9B -0x13D4E 0x587E -0x13D4F 0x719F -0x13D50 0x51FA -0x13D51 0x8853 -0x13D52 0x8FF0 -0x13D53 0x4FCA -0x13D54 0x5CFB -0x13D55 0x6625 -0x13D56 0x77AC -0x13D57 0x7AE3 -0x13D58 0x821C -0x13D59 0x99FF -0x13D5A 0x51C6 -0x13D5B 0x5FAA -0x13D5C 0x65EC -0x13D5D 0x696F -0x13D5E 0x6B89 -0x13D5F 0x6DF3 -0x13D60 0x6E96 -0x13D61 0x6F64 -0x13D62 0x76FE -0x13D63 0x7D14 -0x13D64 0x5DE1 -0x13D65 0x9075 -0x13D66 0x9187 -0x13D67 0x9806 -0x13D68 0x51E6 -0x13D69 0x521D -0x13D6A 0x6240 -0x13D6B 0x6691 -0x13D6C 0x66D9 -0x13D6D 0x6E1A -0x13D6E 0x5EB6 -0x13D6F 0x7DD2 -0x13D70 0x7F72 -0x13D71 0x66F8 -0x13D72 0x85AF -0x13D73 0x85F7 -0x13D74 0x8AF8 -0x13D75 0x52A9 -0x13D76 0x53D9 -0x13D77 0x5973 -0x13D78 0x5E8F -0x13D79 0x5F90 -0x13D7A 0x6055 -0x13D7B 0x92E4 -0x13D7C 0x9664 -0x13D7D 0x50B7 -0x13D7E 0x511F -0x13E21 0x52DD -0x13E22 0x5320 -0x13E23 0x5347 -0x13E24 0x53EC -0x13E25 0x54E8 -0x13E26 0x5546 -0x13E27 0x5531 -0x13E28 0x5617 -0x13E29 0x5968 -0x13E2A 0x59BE -0x13E2B 0x5A3C -0x13E2C 0x5BB5 -0x13E2D 0x5C06 -0x13E2E 0x5C0F -0x13E2F 0x5C11 -0x13E30 0x5C1A -0x13E31 0x5E84 -0x13E32 0x5E8A -0x13E33 0x5EE0 -0x13E34 0x5F70 -0x13E35 0x627F -0x13E36 0x6284 -0x13E37 0x62DB -0x13E38 0x638C -0x13E39 0x6377 -0x13E3A 0x6607 -0x13E3B 0x660C -0x13E3C 0x662D -0x13E3D 0x6676 -0x13E3E 0x677E -0x13E3F 0x68A2 -0x13E40 0x6A1F -0x13E41 0x6A35 -0x13E42 0x6CBC -0x13E43 0x6D88 -0x13E44 0x6E09 -0x13E45 0x6E58 -0x13E46 0x713C -0x13E47 0x7126 -0x13E48 0x7167 -0x13E49 0x75C7 -0x13E4A 0x7701 -0x13E4B 0x785D -0x13E4C 0x7901 -0x13E4D 0x7965 -0x13E4E 0x79F0 -0x13E4F 0x7AE0 -0x13E50 0x7B11 -0x13E51 0x7CA7 -0x13E52 0x7D39 -0x13E53 0x8096 -0x13E54 0x83D6 -0x13E55 0x848B -0x13E56 0x8549 -0x13E57 0x885D -0x13E58 0x88F3 -0x13E59 0x8A1F -0x13E5A 0x8A3C -0x13E5B 0x8A54 -0x13E5C 0x8A73 -0x13E5D 0x8C61 -0x13E5E 0x8CDE -0x13E5F 0x91A4 -0x13E60 0x9266 -0x13E61 0x937E -0x13E62 0x9418 -0x13E63 0x969C -0x13E64 0x9798 -0x13E65 0x4E0A -0x13E66 0x4E08 -0x13E67 0x4E1E -0x13E68 0x4E57 -0x13E69 0x5197 -0x13E6A 0x5270 -0x13E6B 0x57CE -0x13E6C 0x5834 -0x13E6D 0x58CC -0x13E6E 0x5B22 -0x13E6F 0x5E38 -0x13E70 0x60C5 -0x13E71 0x64FE -0x13E72 0x6761 -0x13E73 0x6756 -0x13E74 0x6D44 -0x13E75 0x72B6 -0x13E76 0x7573 -0x13E77 0x7A63 -0x13E78 0x84B8 -0x13E79 0x8B72 -0x13E7A 0x91B8 -0x13E7B 0x9320 -0x13E7C 0x5631 -0x13E7D 0x57F4 -0x13E7E 0x98FE -0x13F21 0x62ED -0x13F22 0x690D -0x13F23 0x6B96 -0x13F24 0x71ED -0x13F25 0x7E54 -0x13F26 0x8077 -0x13F27 0x8272 -0x13F28 0x89E6 -0x13F29 0x98DF -0x13F2A 0x8755 -0x13F2B 0x8FB1 -0x13F2C 0x5C3B -0x13F2D 0x4F38 -0x13F2E 0x4FE1 -0x13F2F 0x4FB5 -0x13F30 0x5507 -0x13F31 0x5A20 -0x13F32 0x5BDD -0x13F33 0x5BE9 -0x13F34 0x5FC3 -0x13F35 0x614E -0x13F36 0x632F -0x13F37 0x65B0 -0x13F38 0x664B -0x13F39 0x68EE -0x13F3A 0x699B -0x13F3B 0x6D78 -0x13F3C 0x6DF1 -0x13F3D 0x7533 -0x13F3E 0x75B9 -0x13F3F 0x771F -0x13F40 0x795E -0x13F41 0x79E6 -0x13F42 0x7D33 -0x13F43 0x81E3 -0x13F44 0x82AF -0x13F45 0x85AA -0x13F46 0x89AA -0x13F47 0x8A3A -0x13F48 0x8EAB -0x13F49 0x8F9B -0x13F4A 0x9032 -0x13F4B 0x91DD -0x13F4C 0x9707 -0x13F4D 0x4EBA -0x13F4E 0x4EC1 -0x13F4F 0x5203 -0x13F50 0x5875 -0x13F51 0x58EC -0x13F52 0x5C0B -0x13F53 0x751A -0x13F54 0x5C3D -0x13F55 0x814E -0x13F56 0x8A0A -0x13F57 0x8FC5 -0x13F58 0x9663 -0x13F59 0x976D -0x13F5A 0x7B25 -0x13F5B 0x8ACF -0x13F5C 0x9808 -0x13F5D 0x9162 -0x13F5E 0x56F3 -0x13F5F 0x53A8 -0x13F60 0x9017 -0x13F61 0x5439 -0x13F62 0x5782 -0x13F63 0x5E25 -0x13F64 0x63A8 -0x13F65 0x6C34 -0x13F66 0x708A -0x13F67 0x7761 -0x13F68 0x7C8B -0x13F69 0x7FE0 -0x13F6A 0x8870 -0x13F6B 0x9042 -0x13F6C 0x9154 -0x13F6D 0x9310 -0x13F6E 0x9318 -0x13F6F 0x968F -0x13F70 0x745E -0x13F71 0x9AC4 -0x13F72 0x5D07 -0x13F73 0x5D69 -0x13F74 0x6570 -0x13F75 0x67A2 -0x13F76 0x8DA8 -0x13F77 0x96DB -0x13F78 0x636E -0x13F79 0x6749 -0x13F7A 0x6919 -0x13F7B 0x83C5 -0x13F7C 0x9817 -0x13F7D 0x96C0 -0x13F7E 0x88FE -0x14021 0x6F84 -0x14022 0x647A -0x14023 0x5BF8 -0x14024 0x4E16 -0x14025 0x702C -0x14026 0x755D -0x14027 0x662F -0x14028 0x51C4 -0x14029 0x5236 -0x1402A 0x52E2 -0x1402B 0x59D3 -0x1402C 0x5F81 -0x1402D 0x6027 -0x1402E 0x6210 -0x1402F 0x653F -0x14030 0x6574 -0x14031 0x661F -0x14032 0x6674 -0x14033 0x68F2 -0x14034 0x6816 -0x14035 0x6B63 -0x14036 0x6E05 -0x14037 0x7272 -0x14038 0x751F -0x14039 0x76DB -0x1403A 0x7CBE -0x1403B 0x8056 -0x1403C 0x58F0 -0x1403D 0x88FD -0x1403E 0x897F -0x1403F 0x8AA0 -0x14040 0x8A93 -0x14041 0x8ACB -0x14042 0x901D -0x14043 0x9192 -0x14044 0x9752 -0x14045 0x9759 -0x14046 0x6589 -0x14047 0x7A0E -0x14048 0x8106 -0x14049 0x96BB -0x1404A 0x5E2D -0x1404B 0x60DC -0x1404C 0x621A -0x1404D 0x65A5 -0x1404E 0x6614 -0x1404F 0x6790 -0x14050 0x77F3 -0x14051 0x7A4D -0x14052 0x7C4D -0x14053 0x7E3E -0x14054 0x810A -0x14055 0x8CAC -0x14056 0x8D64 -0x14057 0x8DE1 -0x14058 0x8E5F -0x14059 0x78A9 -0x1405A 0x5207 -0x1405B 0x62D9 -0x1405C 0x63A5 -0x1405D 0x6442 -0x1405E 0x6298 -0x1405F 0x8A2D -0x14060 0x7A83 -0x14061 0x7BC0 -0x14062 0x8AAC -0x14063 0x96EA -0x14064 0x7D76 -0x14065 0x820C -0x14066 0x8749 -0x14067 0x4ED9 -0x14068 0x5148 -0x14069 0x5343 -0x1406A 0x5360 -0x1406B 0x5BA3 -0x1406C 0x5C02 -0x1406D 0x5C16 -0x1406E 0x5DDD -0x1406F 0x6226 -0x14070 0x6247 -0x14071 0x64B0 -0x14072 0x6813 -0x14073 0x6834 -0x14074 0x6CC9 -0x14075 0x6D45 -0x14076 0x6D17 -0x14077 0x67D3 -0x14078 0x6F5C -0x14079 0x714E -0x1407A 0x717D -0x1407B 0x65CB -0x1407C 0x7A7F -0x1407D 0x7BAD -0x1407E 0x7DDA -0x14121 0x7E4A -0x14122 0x7FA8 -0x14123 0x817A -0x14124 0x821B -0x14125 0x8239 -0x14126 0x85A6 -0x14127 0x8A6E -0x14128 0x8CCE -0x14129 0x8DF5 -0x1412A 0x9078 -0x1412B 0x9077 -0x1412C 0x92AD -0x1412D 0x9291 -0x1412E 0x9583 -0x1412F 0x9BAE -0x14130 0x524D -0x14131 0x5584 -0x14132 0x6F38 -0x14133 0x7136 -0x14134 0x5168 -0x14135 0x7985 -0x14136 0x7E55 -0x14137 0x81B3 -0x14138 0x7CCE -0x14139 0x564C -0x1413A 0x5851 -0x1413B 0x5CA8 -0x1413C 0x63AA -0x1413D 0x66FE -0x1413E 0x66FD -0x1413F 0x695A -0x14140 0x72D9 -0x14141 0x758F -0x14142 0x758E -0x14143 0x790E -0x14144 0x7956 -0x14145 0x79DF -0x14146 0x7C97 -0x14147 0x7D20 -0x14148 0x7D44 -0x14149 0x8607 -0x1414A 0x8A34 -0x1414B 0x963B -0x1414C 0x9061 -0x1414D 0x9F20 -0x1414E 0x50E7 -0x1414F 0x5275 -0x14150 0x53CC -0x14151 0x53E2 -0x14152 0x5009 -0x14153 0x55AA -0x14154 0x58EE -0x14155 0x594F -0x14156 0x723D -0x14157 0x5B8B -0x14158 0x5C64 -0x14159 0x531D -0x1415A 0x60E3 -0x1415B 0x60F3 -0x1415C 0x635C -0x1415D 0x6383 -0x1415E 0x633F -0x1415F 0x63BB -0x14160 0x64CD -0x14161 0x65E9 -0x14162 0x66F9 -0x14163 0x5DE3 -0x14164 0x69CD -0x14165 0x69FD -0x14166 0x6F15 -0x14167 0x71E5 -0x14168 0x4E89 -0x14169 0x75E9 -0x1416A 0x76F8 -0x1416B 0x7A93 -0x1416C 0x7CDF -0x1416D 0x7DCF -0x1416E 0x7D9C -0x1416F 0x8061 -0x14170 0x8349 -0x14171 0x8358 -0x14172 0x846C -0x14173 0x84BC -0x14174 0x85FB -0x14175 0x88C5 -0x14176 0x8D70 -0x14177 0x9001 -0x14178 0x906D -0x14179 0x9397 -0x1417A 0x971C -0x1417B 0x9A12 -0x1417C 0x50CF -0x1417D 0x5897 -0x1417E 0x618E -0x14221 0x81D3 -0x14222 0x8535 -0x14223 0x8D08 -0x14224 0x9020 -0x14225 0x4FC3 -0x14226 0x5074 -0x14227 0x5247 -0x14228 0x5373 -0x14229 0x606F -0x1422A 0x6349 -0x1422B 0x675F -0x1422C 0x6E2C -0x1422D 0x8DB3 -0x1422E 0x901F -0x1422F 0x4FD7 -0x14230 0x5C5E -0x14231 0x8CCA -0x14232 0x65CF -0x14233 0x7D9A -0x14234 0x5352 -0x14235 0x8896 -0x14236 0x5176 -0x14237 0x63C3 -0x14238 0x5B58 -0x14239 0x5B6B -0x1423A 0x5C0A -0x1423B 0x640D -0x1423C 0x6751 -0x1423D 0x905C -0x1423E 0x4ED6 -0x1423F 0x591A -0x14240 0x592A -0x14241 0x6C70 -0x14242 0x8A51 -0x14243 0x553E -0x14244 0x5815 -0x14245 0x59A5 -0x14246 0x60F0 -0x14247 0x6253 -0x14248 0x67C1 -0x14249 0x8235 -0x1424A 0x6955 -0x1424B 0x9640 -0x1424C 0x99C4 -0x1424D 0x9A28 -0x1424E 0x4F53 -0x1424F 0x5806 -0x14250 0x5BFE -0x14251 0x8010 -0x14252 0x5CB1 -0x14253 0x5E2F -0x14254 0x5F85 -0x14255 0x6020 -0x14256 0x614B -0x14257 0x6234 -0x14258 0x66FF -0x14259 0x6CF0 -0x1425A 0x6EDE -0x1425B 0x80CE -0x1425C 0x817F -0x1425D 0x82D4 -0x1425E 0x888B -0x1425F 0x8CB8 -0x14260 0x9000 -0x14261 0x902E -0x14262 0x968A -0x14263 0x9EDB -0x14264 0x9BDB -0x14265 0x4EE3 -0x14266 0x53F0 -0x14267 0x5927 -0x14268 0x7B2C -0x14269 0x918D -0x1426A 0x984C -0x1426B 0x9DF9 -0x1426C 0x6EDD -0x1426D 0x7027 -0x1426E 0x5353 -0x1426F 0x5544 -0x14270 0x5B85 -0x14271 0x6258 -0x14272 0x629E -0x14273 0x62D3 -0x14274 0x6CA2 -0x14275 0x6FEF -0x14276 0x7422 -0x14277 0x8A17 -0x14278 0x9438 -0x14279 0x6FC1 -0x1427A 0x8AFE -0x1427B 0x8338 -0x1427C 0x51E7 -0x1427D 0x86F8 -0x1427E 0x53EA -0x14321 0x53E9 -0x14322 0x4F46 -0x14323 0x9054 -0x14324 0x8FB0 -0x14325 0x596A -0x14326 0x8131 -0x14327 0x5DFD -0x14328 0x7AEA -0x14329 0x8FBF -0x1432A 0x68DA -0x1432B 0x8C37 -0x1432C 0x72F8 -0x1432D 0x9C48 -0x1432E 0x6A3D -0x1432F 0x8AB0 -0x14330 0x4E39 -0x14331 0x5358 -0x14332 0x5606 -0x14333 0x5766 -0x14334 0x62C5 -0x14335 0x63A2 -0x14336 0x65E6 -0x14337 0x6B4E -0x14338 0x6DE1 -0x14339 0x6E5B -0x1433A 0x70AD -0x1433B 0x77ED -0x1433C 0x7AEF -0x1433D 0x7BAA -0x1433E 0x7DBB -0x1433F 0x803D -0x14340 0x80C6 -0x14341 0x86CB -0x14342 0x8A95 -0x14343 0x935B -0x14344 0x56E3 -0x14345 0x58C7 -0x14346 0x5F3E -0x14347 0x65AD -0x14348 0x6696 -0x14349 0x6A80 -0x1434A 0x6BB5 -0x1434B 0x7537 -0x1434C 0x8AC7 -0x1434D 0x5024 -0x1434E 0x77E5 -0x1434F 0x5730 -0x14350 0x5F1B -0x14351 0x6065 -0x14352 0x667A -0x14353 0x6C60 -0x14354 0x75F4 -0x14355 0x7A1A -0x14356 0x7F6E -0x14357 0x81F4 -0x14358 0x8718 -0x14359 0x9045 -0x1435A 0x99B3 -0x1435B 0x7BC9 -0x1435C 0x755C -0x1435D 0x7AF9 -0x1435E 0x7B51 -0x1435F 0x84C4 -0x14360 0x9010 -0x14361 0x79E9 -0x14362 0x7A92 -0x14363 0x8336 -0x14364 0x5AE1 -0x14365 0x7740 -0x14366 0x4E2D -0x14367 0x4EF2 -0x14368 0x5B99 -0x14369 0x5FE0 -0x1436A 0x62BD -0x1436B 0x663C -0x1436C 0x67F1 -0x1436D 0x6CE8 -0x1436E 0x866B -0x1436F 0x8877 -0x14370 0x8A3B -0x14371 0x914E -0x14372 0x92F3 -0x14373 0x99D0 -0x14374 0x6A17 -0x14375 0x7026 -0x14376 0x732A -0x14377 0x82E7 -0x14378 0x8457 -0x14379 0x8CAF -0x1437A 0x4E01 -0x1437B 0x5146 -0x1437C 0x51CB -0x1437D 0x558B -0x1437E 0x5BF5 -0x14421 0x5E16 -0x14422 0x5E33 -0x14423 0x5E81 -0x14424 0x5F14 -0x14425 0x5F35 -0x14426 0x5F6B -0x14427 0x5FB4 -0x14428 0x61F2 -0x14429 0x6311 -0x1442A 0x66A2 -0x1442B 0x671D -0x1442C 0x6F6E -0x1442D 0x7252 -0x1442E 0x753A -0x1442F 0x773A -0x14430 0x8074 -0x14431 0x8139 -0x14432 0x8178 -0x14433 0x8776 -0x14434 0x8ABF -0x14435 0x8ADC -0x14436 0x8D85 -0x14437 0x8DF3 -0x14438 0x929A -0x14439 0x9577 -0x1443A 0x9802 -0x1443B 0x9CE5 -0x1443C 0x52C5 -0x1443D 0x6357 -0x1443E 0x76F4 -0x1443F 0x6715 -0x14440 0x6C88 -0x14441 0x73CD -0x14442 0x8CC3 -0x14443 0x93AE -0x14444 0x9673 -0x14445 0x6D25 -0x14446 0x589C -0x14447 0x690E -0x14448 0x69CC -0x14449 0x8FFD -0x1444A 0x939A -0x1444B 0x75DB -0x1444C 0x901A -0x1444D 0x585A -0x1444E 0x6802 -0x1444F 0x63B4 -0x14450 0x69FB -0x14451 0x4F43 -0x14452 0x6F2C -0x14453 0x67D8 -0x14454 0x8FBB -0x14455 0x8526 -0x14456 0x7DB4 -0x14457 0x9354 -0x14458 0x693F -0x14459 0x6F70 -0x1445A 0x576A -0x1445B 0x58F7 -0x1445C 0x5B2C -0x1445D 0x7D2C -0x1445E 0x722A -0x1445F 0x540A -0x14460 0x91E3 -0x14461 0x9DB4 -0x14462 0x4EAD -0x14463 0x4F4E -0x14464 0x505C -0x14465 0x5075 -0x14466 0x5243 -0x14467 0x8C9E -0x14468 0x5448 -0x14469 0x5824 -0x1446A 0x5B9A -0x1446B 0x5E1D -0x1446C 0x5E95 -0x1446D 0x5EAD -0x1446E 0x5EF7 -0x1446F 0x5F1F -0x14470 0x608C -0x14471 0x62B5 -0x14472 0x633A -0x14473 0x63D0 -0x14474 0x68AF -0x14475 0x6C40 -0x14476 0x7887 -0x14477 0x798E -0x14478 0x7A0B -0x14479 0x7DE0 -0x1447A 0x8247 -0x1447B 0x8A02 -0x1447C 0x8AE6 -0x1447D 0x8E44 -0x1447E 0x9013 -0x14521 0x90B8 -0x14522 0x912D -0x14523 0x91D8 -0x14524 0x9F0E -0x14525 0x6CE5 -0x14526 0x6458 -0x14527 0x64E2 -0x14528 0x6575 -0x14529 0x6EF4 -0x1452A 0x7684 -0x1452B 0x7B1B -0x1452C 0x9069 -0x1452D 0x93D1 -0x1452E 0x6EBA -0x1452F 0x54F2 -0x14530 0x5FB9 -0x14531 0x64A4 -0x14532 0x8F4D -0x14533 0x8FED -0x14534 0x9244 -0x14535 0x5178 -0x14536 0x586B -0x14537 0x5929 -0x14538 0x5C55 -0x14539 0x5E97 -0x1453A 0x6DFB -0x1453B 0x7E8F -0x1453C 0x751C -0x1453D 0x8CBC -0x1453E 0x8EE2 -0x1453F 0x985B -0x14540 0x70B9 -0x14541 0x4F1D -0x14542 0x6BBF -0x14543 0x6FB1 -0x14544 0x7530 -0x14545 0x96FB -0x14546 0x514E -0x14547 0x5410 -0x14548 0x5835 -0x14549 0x5857 -0x1454A 0x59AC -0x1454B 0x5C60 -0x1454C 0x5F92 -0x1454D 0x6597 -0x1454E 0x675C -0x1454F 0x6E21 -0x14550 0x767B -0x14551 0x83DF -0x14552 0x8CED -0x14553 0x9014 -0x14554 0x90FD -0x14555 0x934D -0x14556 0x7825 -0x14557 0x783A -0x14558 0x52AA -0x14559 0x5EA6 -0x1455A 0x571F -0x1455B 0x5974 -0x1455C 0x6012 -0x1455D 0x5012 -0x1455E 0x515A -0x1455F 0x51AC -0x14560 0x51CD -0x14561 0x5200 -0x14562 0x5510 -0x14563 0x5854 -0x14564 0x5858 -0x14565 0x5957 -0x14566 0x5B95 -0x14567 0x5CF6 -0x14568 0x5D8B -0x14569 0x60BC -0x1456A 0x6295 -0x1456B 0x642D -0x1456C 0x6771 -0x1456D 0x6843 -0x1456E 0x68BC -0x1456F 0x68DF -0x14570 0x76D7 -0x14571 0x6DD8 -0x14572 0x6E6F -0x14573 0x6D9B -0x14574 0x706F -0x14575 0x71C8 -0x14576 0x5F53 -0x14577 0x75D8 -0x14578 0x7977 -0x14579 0x7B49 -0x1457A 0x7B54 -0x1457B 0x7B52 -0x1457C 0x7CD6 -0x1457D 0x7D71 -0x1457E 0x5230 -0x14621 0x8463 -0x14622 0x8569 -0x14623 0x85E4 -0x14624 0x8A0E -0x14625 0x8B04 -0x14626 0x8C46 -0x14627 0x8E0F -0x14628 0x9003 -0x14629 0x900F -0x1462A 0x9419 -0x1462B 0x9676 -0x1462C 0x982D -0x1462D 0x9A30 -0x1462E 0x95D8 -0x1462F 0x50CD -0x14630 0x52D5 -0x14631 0x540C -0x14632 0x5802 -0x14633 0x5C0E -0x14634 0x61A7 -0x14635 0x649E -0x14636 0x6D1E -0x14637 0x77B3 -0x14638 0x7AE5 -0x14639 0x80F4 -0x1463A 0x8404 -0x1463B 0x9053 -0x1463C 0x9285 -0x1463D 0x5CE0 -0x1463E 0x9D07 -0x1463F 0x533F -0x14640 0x5F97 -0x14641 0x5FB3 -0x14642 0x6D9C -0x14643 0x7279 -0x14644 0x7763 -0x14645 0x79BF -0x14646 0x7BE4 -0x14647 0x6BD2 -0x14648 0x72EC -0x14649 0x8AAD -0x1464A 0x6803 -0x1464B 0x6A61 -0x1464C 0x51F8 -0x1464D 0x7A81 -0x1464E 0x6934 -0x1464F 0x5C4A -0x14650 0x9CF6 -0x14651 0x82EB -0x14652 0x5BC5 -0x14653 0x9149 -0x14654 0x701E -0x14655 0x5678 -0x14656 0x5C6F -0x14657 0x60C7 -0x14658 0x6566 -0x14659 0x6C8C -0x1465A 0x8C5A -0x1465B 0x9041 -0x1465C 0x9813 -0x1465D 0x5451 -0x1465E 0x66C7 -0x1465F 0x920D -0x14660 0x5948 -0x14661 0x90A3 -0x14662 0x5185 -0x14663 0x4E4D -0x14664 0x51EA -0x14665 0x8599 -0x14666 0x8B0E -0x14667 0x7058 -0x14668 0x637A -0x14669 0x934B -0x1466A 0x6962 -0x1466B 0x99B4 -0x1466C 0x7E04 -0x1466D 0x7577 -0x1466E 0x5357 -0x1466F 0x6960 -0x14670 0x8EDF -0x14671 0x96E3 -0x14672 0x6C5D -0x14673 0x4E8C -0x14674 0x5C3C -0x14675 0x5F10 -0x14676 0x8FE9 -0x14677 0x5302 -0x14678 0x8CD1 -0x14679 0x8089 -0x1467A 0x8679 -0x1467B 0x5EFF -0x1467C 0x65E5 -0x1467D 0x4E73 -0x1467E 0x5165 -0x14721 0x5982 -0x14722 0x5C3F -0x14723 0x97EE -0x14724 0x4EFB -0x14725 0x598A -0x14726 0x5FCD -0x14727 0x8A8D -0x14728 0x6FE1 -0x14729 0x79B0 -0x1472A 0x7962 -0x1472B 0x5BE7 -0x1472C 0x8471 -0x1472D 0x732B -0x1472E 0x71B1 -0x1472F 0x5E74 -0x14730 0x5FF5 -0x14731 0x637B -0x14732 0x649A -0x14733 0x71C3 -0x14734 0x7C98 -0x14735 0x4E43 -0x14736 0x5EFC -0x14737 0x4E4B -0x14738 0x57DC -0x14739 0x56A2 -0x1473A 0x60A9 -0x1473B 0x6FC3 -0x1473C 0x7D0D -0x1473D 0x80FD -0x1473E 0x8133 -0x1473F 0x81BF -0x14740 0x8FB2 -0x14741 0x8997 -0x14742 0x86A4 -0x14743 0x5DF4 -0x14744 0x628A -0x14745 0x64AD -0x14746 0x8987 -0x14747 0x6777 -0x14748 0x6CE2 -0x14749 0x6D3E -0x1474A 0x7436 -0x1474B 0x7834 -0x1474C 0x5A46 -0x1474D 0x7F75 -0x1474E 0x82AD -0x1474F 0x99AC -0x14750 0x4FF3 -0x14751 0x5EC3 -0x14752 0x62DD -0x14753 0x6392 -0x14754 0x6557 -0x14755 0x676F -0x14756 0x76C3 -0x14757 0x724C -0x14758 0x80CC -0x14759 0x80BA -0x1475A 0x8F29 -0x1475B 0x914D -0x1475C 0x500D -0x1475D 0x57F9 -0x1475E 0x5A92 -0x1475F 0x6885 -0x14760 0x6973 -0x14761 0x7164 -0x14762 0x72FD -0x14763 0x8CB7 -0x14764 0x58F2 -0x14765 0x8CE0 -0x14766 0x966A -0x14767 0x9019 -0x14768 0x877F -0x14769 0x79E4 -0x1476A 0x77E7 -0x1476B 0x8429 -0x1476C 0x4F2F -0x1476D 0x5265 -0x1476E 0x535A -0x1476F 0x62CD -0x14770 0x67CF -0x14771 0x6CCA -0x14772 0x767D -0x14773 0x7B94 -0x14774 0x7C95 -0x14775 0x8236 -0x14776 0x8584 -0x14777 0x8FEB -0x14778 0x66DD -0x14779 0x6F20 -0x1477A 0x7206 -0x1477B 0x7E1B -0x1477C 0x83AB -0x1477D 0x99C1 -0x1477E 0x9EA6 -0x14821 0x51FD -0x14822 0x7BB1 -0x14823 0x7872 -0x14824 0x7BB8 -0x14825 0x8087 -0x14826 0x7B48 -0x14827 0x6AE8 -0x14828 0x5E61 -0x14829 0x808C -0x1482A 0x7551 -0x1482B 0x7560 -0x1482C 0x516B -0x1482D 0x9262 -0x1482E 0x6E8C -0x1482F 0x767A -0x14830 0x9197 -0x14831 0x9AEA -0x14832 0x4F10 -0x14833 0x7F70 -0x14834 0x629C -0x14835 0x7B4F -0x14836 0x95A5 -0x14837 0x9CE9 -0x14838 0x567A -0x14839 0x5859 -0x1483A 0x86E4 -0x1483B 0x96BC -0x1483C 0x4F34 -0x1483D 0x5224 -0x1483E 0x534A -0x1483F 0x53CD -0x14840 0x53DB -0x14841 0x5E06 -0x14842 0x642C -0x14843 0x6591 -0x14844 0x677F -0x14845 0x6C3E -0x14846 0x6C4E -0x14847 0x7248 -0x14848 0x72AF -0x14849 0x73ED -0x1484A 0x7554 -0x1484B 0x7E41 -0x1484C 0x822C -0x1484D 0x85E9 -0x1484E 0x8CA9 -0x1484F 0x7BC4 -0x14850 0x91C6 -0x14851 0x7169 -0x14852 0x9812 -0x14853 0x98EF -0x14854 0x633D -0x14855 0x6669 -0x14856 0x756A -0x14857 0x76E4 -0x14858 0x78D0 -0x14859 0x8543 -0x1485A 0x86EE -0x1485B 0x532A -0x1485C 0x5351 -0x1485D 0x5426 -0x1485E 0x5983 -0x1485F 0x5E87 -0x14860 0x5F7C -0x14861 0x60B2 -0x14862 0x6249 -0x14863 0x6279 -0x14864 0x62AB -0x14865 0x6590 -0x14866 0x6BD4 -0x14867 0x6CCC -0x14868 0x75B2 -0x14869 0x76AE -0x1486A 0x7891 -0x1486B 0x79D8 -0x1486C 0x7DCB -0x1486D 0x7F77 -0x1486E 0x80A5 -0x1486F 0x88AB -0x14870 0x8AB9 -0x14871 0x8CBB -0x14872 0x907F -0x14873 0x975E -0x14874 0x98DB -0x14875 0x6A0B -0x14876 0x7C38 -0x14877 0x5099 -0x14878 0x5C3E -0x14879 0x5FAE -0x1487A 0x6787 -0x1487B 0x6BD8 -0x1487C 0x7435 -0x1487D 0x7709 -0x1487E 0x7F8E -0x14921 0x9F3B -0x14922 0x67CA -0x14923 0x7A17 -0x14924 0x5339 -0x14925 0x758B -0x14926 0x9AED -0x14927 0x5F66 -0x14928 0x819D -0x14929 0x83F1 -0x1492A 0x8098 -0x1492B 0x5F3C -0x1492C 0x5FC5 -0x1492D 0x7562 -0x1492E 0x7B46 -0x1492F 0x903C -0x14930 0x6867 -0x14931 0x59EB -0x14932 0x5A9B -0x14933 0x7D10 -0x14934 0x767E -0x14935 0x8B2C -0x14936 0x4FF5 -0x14937 0x5F6A -0x14938 0x6A19 -0x14939 0x6C37 -0x1493A 0x6F02 -0x1493B 0x74E2 -0x1493C 0x7968 -0x1493D 0x8868 -0x1493E 0x8A55 -0x1493F 0x8C79 -0x14940 0x5EDF -0x14941 0x63CF -0x14942 0x75C5 -0x14943 0x79D2 -0x14944 0x82D7 -0x14945 0x9328 -0x14946 0x92F2 -0x14947 0x849C -0x14948 0x86ED -0x14949 0x9C2D -0x1494A 0x54C1 -0x1494B 0x5F6C -0x1494C 0x658C -0x1494D 0x6D5C -0x1494E 0x7015 -0x1494F 0x8CA7 -0x14950 0x8CD3 -0x14951 0x983B -0x14952 0x654F -0x14953 0x74F6 -0x14954 0x4E0D -0x14955 0x4ED8 -0x14956 0x57E0 -0x14957 0x592B -0x14958 0x5A66 -0x14959 0x5BCC -0x1495A 0x51A8 -0x1495B 0x5E03 -0x1495C 0x5E9C -0x1495D 0x6016 -0x1495E 0x6276 -0x1495F 0x6577 -0x14960 0x65A7 -0x14961 0x666E -0x14962 0x6D6E -0x14963 0x7236 -0x14964 0x7B26 -0x14965 0x8150 -0x14966 0x819A -0x14967 0x8299 -0x14968 0x8B5C -0x14969 0x8CA0 -0x1496A 0x8CE6 -0x1496B 0x8D74 -0x1496C 0x961C -0x1496D 0x9644 -0x1496E 0x4FAE -0x1496F 0x64AB -0x14970 0x6B66 -0x14971 0x821E -0x14972 0x8461 -0x14973 0x856A -0x14974 0x90E8 -0x14975 0x5C01 -0x14976 0x6953 -0x14977 0x98A8 -0x14978 0x847A -0x14979 0x8557 -0x1497A 0x4F0F -0x1497B 0x526F -0x1497C 0x5FA9 -0x1497D 0x5E45 -0x1497E 0x670D -0x14A21 0x798F -0x14A22 0x8179 -0x14A23 0x8907 -0x14A24 0x8986 -0x14A25 0x6DF5 -0x14A26 0x5F17 -0x14A27 0x6255 -0x14A28 0x6CB8 -0x14A29 0x4ECF -0x14A2A 0x7269 -0x14A2B 0x9B92 -0x14A2C 0x5206 -0x14A2D 0x543B -0x14A2E 0x5674 -0x14A2F 0x58B3 -0x14A30 0x61A4 -0x14A31 0x626E -0x14A32 0x711A -0x14A33 0x596E -0x14A34 0x7C89 -0x14A35 0x7CDE -0x14A36 0x7D1B -0x14A37 0x96F0 -0x14A38 0x6587 -0x14A39 0x805E -0x14A3A 0x4E19 -0x14A3B 0x4F75 -0x14A3C 0x5175 -0x14A3D 0x5840 -0x14A3E 0x5E63 -0x14A3F 0x5E73 -0x14A40 0x5F0A -0x14A41 0x67C4 -0x14A42 0x4E26 -0x14A43 0x853D -0x14A44 0x9589 -0x14A45 0x965B -0x14A46 0x7C73 -0x14A47 0x9801 -0x14A48 0x50FB -0x14A49 0x58C1 -0x14A4A 0x7656 -0x14A4B 0x78A7 -0x14A4C 0x5225 -0x14A4D 0x77A5 -0x14A4E 0x8511 -0x14A4F 0x7B86 -0x14A50 0x504F -0x14A51 0x5909 -0x14A52 0x7247 -0x14A53 0x7BC7 -0x14A54 0x7DE8 -0x14A55 0x8FBA -0x14A56 0x8FD4 -0x14A57 0x904D -0x14A58 0x4FBF -0x14A59 0x52C9 -0x14A5A 0x5A29 -0x14A5B 0x5F01 -0x14A5C 0x97AD -0x14A5D 0x4FDD -0x14A5E 0x8217 -0x14A5F 0x92EA -0x14A60 0x5703 -0x14A61 0x6355 -0x14A62 0x6B69 -0x14A63 0x752B -0x14A64 0x88DC -0x14A65 0x8F14 -0x14A66 0x7A42 -0x14A67 0x52DF -0x14A68 0x5893 -0x14A69 0x6155 -0x14A6A 0x620A -0x14A6B 0x66AE -0x14A6C 0x6BCD -0x14A6D 0x7C3F -0x14A6E 0x83E9 -0x14A6F 0x5023 -0x14A70 0x4FF8 -0x14A71 0x5305 -0x14A72 0x5446 -0x14A73 0x5831 -0x14A74 0x5949 -0x14A75 0x5B9D -0x14A76 0x5CF0 -0x14A77 0x5CEF -0x14A78 0x5D29 -0x14A79 0x5E96 -0x14A7A 0x62B1 -0x14A7B 0x6367 -0x14A7C 0x653E -0x14A7D 0x65B9 -0x14A7E 0x670B -0x14B21 0x6CD5 -0x14B22 0x6CE1 -0x14B23 0x70F9 -0x14B24 0x7832 -0x14B25 0x7E2B -0x14B26 0x80DE -0x14B27 0x82B3 -0x14B28 0x840C -0x14B29 0x84EC -0x14B2A 0x8702 -0x14B2B 0x8912 -0x14B2C 0x8A2A -0x14B2D 0x8C4A -0x14B2E 0x90A6 -0x14B2F 0x92D2 -0x14B30 0x98FD -0x14B31 0x9CF3 -0x14B32 0x9D6C -0x14B33 0x4E4F -0x14B34 0x4EA1 -0x14B35 0x508D -0x14B36 0x5256 -0x14B37 0x574A -0x14B38 0x59A8 -0x14B39 0x5E3D -0x14B3A 0x5FD8 -0x14B3B 0x5FD9 -0x14B3C 0x623F -0x14B3D 0x66B4 -0x14B3E 0x671B -0x14B3F 0x67D0 -0x14B40 0x68D2 -0x14B41 0x5192 -0x14B42 0x7D21 -0x14B43 0x80AA -0x14B44 0x81A8 -0x14B45 0x8B00 -0x14B46 0x8C8C -0x14B47 0x8CBF -0x14B48 0x927E -0x14B49 0x9632 -0x14B4A 0x5420 -0x14B4B 0x982C -0x14B4C 0x5317 -0x14B4D 0x50D5 -0x14B4E 0x535C -0x14B4F 0x58A8 -0x14B50 0x64B2 -0x14B51 0x6734 -0x14B52 0x7267 -0x14B53 0x7766 -0x14B54 0x7A46 -0x14B55 0x91E6 -0x14B56 0x52C3 -0x14B57 0x6CA1 -0x14B58 0x6B86 -0x14B59 0x5800 -0x14B5A 0x5E4C -0x14B5B 0x5954 -0x14B5C 0x672C -0x14B5D 0x7FFB -0x14B5E 0x51E1 -0x14B5F 0x76C6 -0x14B60 0x6469 -0x14B61 0x78E8 -0x14B62 0x9B54 -0x14B63 0x9EBB -0x14B64 0x57CB -0x14B65 0x59B9 -0x14B66 0x6627 -0x14B67 0x679A -0x14B68 0x6BCE -0x14B69 0x54E9 -0x14B6A 0x69D9 -0x14B6B 0x5E55 -0x14B6C 0x819C -0x14B6D 0x6795 -0x14B6E 0x9BAA -0x14B6F 0x67FE -0x14B70 0x9C52 -0x14B71 0x685D -0x14B72 0x4EA6 -0x14B73 0x4FE3 -0x14B74 0x53C8 -0x14B75 0x62B9 -0x14B76 0x672B -0x14B77 0x6CAB -0x14B78 0x8FC4 -0x14B79 0x4FAD -0x14B7A 0x7E6D -0x14B7B 0x9EBF -0x14B7C 0x4E07 -0x14B7D 0x6162 -0x14B7E 0x6E80 -0x14C21 0x6F2B -0x14C22 0x8513 -0x14C23 0x5473 -0x14C24 0x672A -0x14C25 0x9B45 -0x14C26 0x5DF3 -0x14C27 0x7B95 -0x14C28 0x5CAC -0x14C29 0x5BC6 -0x14C2A 0x871C -0x14C2B 0x6E4A -0x14C2C 0x84D1 -0x14C2D 0x7A14 -0x14C2E 0x8108 -0x14C2F 0x5999 -0x14C30 0x7C8D -0x14C31 0x6C11 -0x14C32 0x7720 -0x14C33 0x52D9 -0x14C34 0x5922 -0x14C35 0x7121 -0x14C36 0x725F -0x14C37 0x77DB -0x14C38 0x9727 -0x14C39 0x9D61 -0x14C3A 0x690B -0x14C3B 0x5A7F -0x14C3C 0x5A18 -0x14C3D 0x51A5 -0x14C3E 0x540D -0x14C3F 0x547D -0x14C40 0x660E -0x14C41 0x76DF -0x14C42 0x8FF7 -0x14C43 0x9298 -0x14C44 0x9CF4 -0x14C45 0x59EA -0x14C46 0x725D -0x14C47 0x6EC5 -0x14C48 0x514D -0x14C49 0x68C9 -0x14C4A 0x7DBF -0x14C4B 0x7DEC -0x14C4C 0x9762 -0x14C4D 0x9EBA -0x14C4E 0x6478 -0x14C4F 0x6A21 -0x14C50 0x8302 -0x14C51 0x5984 -0x14C52 0x5B5F -0x14C53 0x6BDB -0x14C54 0x731B -0x14C55 0x76F2 -0x14C56 0x7DB2 -0x14C57 0x8017 -0x14C58 0x8499 -0x14C59 0x5132 -0x14C5A 0x6728 -0x14C5B 0x9ED9 -0x14C5C 0x76EE -0x14C5D 0x6762 -0x14C5E 0x52FF -0x14C5F 0x9905 -0x14C60 0x5C24 -0x14C61 0x623B -0x14C62 0x7C7E -0x14C63 0x8CB0 -0x14C64 0x554F -0x14C65 0x60B6 -0x14C66 0x7D0B -0x14C67 0x9580 -0x14C68 0x5301 -0x14C69 0x4E5F -0x14C6A 0x51B6 -0x14C6B 0x591C -0x14C6C 0x723A -0x14C6D 0x8036 -0x14C6E 0x91CE -0x14C6F 0x5F25 -0x14C70 0x77E2 -0x14C71 0x5384 -0x14C72 0x5F79 -0x14C73 0x7D04 -0x14C74 0x85AC -0x14C75 0x8A33 -0x14C76 0x8E8D -0x14C77 0x9756 -0x14C78 0x67F3 -0x14C79 0x85AE -0x14C7A 0x9453 -0x14C7B 0x6109 -0x14C7C 0x6108 -0x14C7D 0x6CB9 -0x14C7E 0x7652 -0x14D21 0x8AED -0x14D22 0x8F38 -0x14D23 0x552F -0x14D24 0x4F51 -0x14D25 0x512A -0x14D26 0x52C7 -0x14D27 0x53CB -0x14D28 0x5BA5 -0x14D29 0x5E7D -0x14D2A 0x60A0 -0x14D2B 0x6182 -0x14D2C 0x63D6 -0x14D2D 0x6709 -0x14D2E 0x67DA -0x14D2F 0x6E67 -0x14D30 0x6D8C -0x14D31 0x7336 -0x14D32 0x7337 -0x14D33 0x7531 -0x14D34 0x7950 -0x14D35 0x88D5 -0x14D36 0x8A98 -0x14D37 0x904A -0x14D38 0x9091 -0x14D39 0x90F5 -0x14D3A 0x96C4 -0x14D3B 0x878D -0x14D3C 0x5915 -0x14D3D 0x4E88 -0x14D3E 0x4F59 -0x14D3F 0x4E0E -0x14D40 0x8A89 -0x14D41 0x8F3F -0x14D42 0x9810 -0x14D43 0x50AD -0x14D44 0x5E7C -0x14D45 0x5996 -0x14D46 0x5BB9 -0x14D47 0x5EB8 -0x14D48 0x63DA -0x14D49 0x63FA -0x14D4A 0x64C1 -0x14D4B 0x66DC -0x14D4C 0x694A -0x14D4D 0x69D8 -0x14D4E 0x6D0B -0x14D4F 0x6EB6 -0x14D50 0x7194 -0x14D51 0x7528 -0x14D52 0x7AAF -0x14D53 0x7F8A -0x14D54 0x8000 -0x14D55 0x8449 -0x14D56 0x84C9 -0x14D57 0x8981 -0x14D58 0x8B21 -0x14D59 0x8E0A -0x14D5A 0x9065 -0x14D5B 0x967D -0x14D5C 0x990A -0x14D5D 0x617E -0x14D5E 0x6291 -0x14D5F 0x6B32 -0x14D60 0x6C83 -0x14D61 0x6D74 -0x14D62 0x7FCC -0x14D63 0x7FFC -0x14D64 0x6DC0 -0x14D65 0x7F85 -0x14D66 0x87BA -0x14D67 0x88F8 -0x14D68 0x6765 -0x14D69 0x83B1 -0x14D6A 0x983C -0x14D6B 0x96F7 -0x14D6C 0x6D1B -0x14D6D 0x7D61 -0x14D6E 0x843D -0x14D6F 0x916A -0x14D70 0x4E71 -0x14D71 0x5375 -0x14D72 0x5D50 -0x14D73 0x6B04 -0x14D74 0x6FEB -0x14D75 0x85CD -0x14D76 0x862D -0x14D77 0x89A7 -0x14D78 0x5229 -0x14D79 0x540F -0x14D7A 0x5C65 -0x14D7B 0x674E -0x14D7C 0x68A8 -0x14D7D 0x7406 -0x14D7E 0x7483 -0x14E21 0x75E2 -0x14E22 0x88CF -0x14E23 0x88E1 -0x14E24 0x91CC -0x14E25 0x96E2 -0x14E26 0x9678 -0x14E27 0x5F8B -0x14E28 0x7387 -0x14E29 0x7ACB -0x14E2A 0x844E -0x14E2B 0x63A0 -0x14E2C 0x7565 -0x14E2D 0x5289 -0x14E2E 0x6D41 -0x14E2F 0x6E9C -0x14E30 0x7409 -0x14E31 0x7559 -0x14E32 0x786B -0x14E33 0x7C92 -0x14E34 0x9686 -0x14E35 0x7ADC -0x14E36 0x9F8D -0x14E37 0x4FB6 -0x14E38 0x616E -0x14E39 0x65C5 -0x14E3A 0x865C -0x14E3B 0x4E86 -0x14E3C 0x4EAE -0x14E3D 0x50DA -0x14E3E 0x4E21 -0x14E3F 0x51CC -0x14E40 0x5BEE -0x14E41 0x6599 -0x14E42 0x6881 -0x14E43 0x6DBC -0x14E44 0x731F -0x14E45 0x7642 -0x14E46 0x77AD -0x14E47 0x7A1C -0x14E48 0x7CE7 -0x14E49 0x826F -0x14E4A 0x8AD2 -0x14E4B 0x907C -0x14E4C 0x91CF -0x14E4D 0x9675 -0x14E4E 0x9818 -0x14E4F 0x529B -0x14E50 0x7DD1 -0x14E51 0x502B -0x14E52 0x5398 -0x14E53 0x6797 -0x14E54 0x6DCB -0x14E55 0x71D0 -0x14E56 0x7433 -0x14E57 0x81E8 -0x14E58 0x8F2A -0x14E59 0x96A3 -0x14E5A 0x9C57 -0x14E5B 0x9E9F -0x14E5C 0x7460 -0x14E5D 0x5841 -0x14E5E 0x6D99 -0x14E5F 0x7D2F -0x14E60 0x985E -0x14E61 0x4EE4 -0x14E62 0x4F36 -0x14E63 0x4F8B -0x14E64 0x51B7 -0x14E65 0x52B1 -0x14E66 0x5DBA -0x14E67 0x601C -0x14E68 0x73B2 -0x14E69 0x793C -0x14E6A 0x82D3 -0x14E6B 0x9234 -0x14E6C 0x96B7 -0x14E6D 0x96F6 -0x14E6E 0x970A -0x14E6F 0x9E97 -0x14E70 0x9F62 -0x14E71 0x66A6 -0x14E72 0x6B74 -0x14E73 0x5217 -0x14E74 0x52A3 -0x14E75 0x70C8 -0x14E76 0x88C2 -0x14E77 0x5EC9 -0x14E78 0x604B -0x14E79 0x6190 -0x14E7A 0x6F23 -0x14E7B 0x7149 -0x14E7C 0x7C3E -0x14E7D 0x7DF4 -0x14E7E 0x806F -0x14F21 0x84EE -0x14F22 0x9023 -0x14F23 0x932C -0x14F24 0x5442 -0x14F25 0x9B6F -0x14F26 0x6AD3 -0x14F27 0x7089 -0x14F28 0x8CC2 -0x14F29 0x8DEF -0x14F2A 0x9732 -0x14F2B 0x52B4 -0x14F2C 0x5A41 -0x14F2D 0x5ECA -0x14F2E 0x5F04 -0x14F2F 0x6717 -0x14F30 0x697C -0x14F31 0x6994 -0x14F32 0x6D6A -0x14F33 0x6F0F -0x14F34 0x7262 -0x14F35 0x72FC -0x14F36 0x7BED -0x14F37 0x8001 -0x14F38 0x807E -0x14F39 0x874B -0x14F3A 0x90CE -0x14F3B 0x516D -0x14F3C 0x9E93 -0x14F3D 0x7984 -0x14F3E 0x808B -0x14F3F 0x9332 -0x14F40 0x8AD6 -0x14F41 0x502D -0x14F42 0x548C -0x14F43 0x8A71 -0x14F44 0x6B6A -0x14F45 0x8CC4 -0x14F46 0x8107 -0x14F47 0x60D1 -0x14F48 0x67A0 -0x14F49 0x9DF2 -0x14F4A 0x4E99 -0x14F4B 0x4E98 -0x14F4C 0x9C10 -0x14F4D 0x8A6B -0x14F4E 0x85C1 -0x14F4F 0x8568 -0x14F50 0x6900 -0x14F51 0x6E7E -0x14F52 0x7897 -0x14F53 0x8155 -0x14F54 0x20B9F -0x14F55 0x5B41 -0x14F56 0x5B56 -0x14F57 0x5B7D -0x14F58 0x5B93 -0x14F59 0x5BD8 -0x14F5A 0x5BEC -0x14F5B 0x5C12 -0x14F5C 0x5C1E -0x14F5D 0x5C23 -0x14F5E 0x5C2B -0x14F5F 0x378D -0x14F60 0x5C62 -0x14F61 0xFA3B -0x14F62 0xFA3C -0x14F63 0x216B4 -0x14F64 0x5C7A -0x14F65 0x5C8F -0x14F66 0x5C9F -0x14F67 0x5CA3 -0x14F68 0x5CAA -0x14F69 0x5CBA -0x14F6A 0x5CCB -0x14F6B 0x5CD0 -0x14F6C 0x5CD2 -0x14F6D 0x5CF4 -0x14F6E 0x21E34 -0x14F6F 0x37E2 -0x14F70 0x5D0D -0x14F71 0x5D27 -0x14F72 0xFA11 -0x14F73 0x5D46 -0x14F74 0x5D47 -0x14F75 0x5D53 -0x14F76 0x5D4A -0x14F77 0x5D6D -0x14F78 0x5D81 -0x14F79 0x5DA0 -0x14F7A 0x5DA4 -0x14F7B 0x5DA7 -0x14F7C 0x5DB8 -0x14F7D 0x5DCB -0x14F7E 0x541E -0x15021 0x5F0C -0x15022 0x4E10 -0x15023 0x4E15 -0x15024 0x4E2A -0x15025 0x4E31 -0x15026 0x4E36 -0x15027 0x4E3C -0x15028 0x4E3F -0x15029 0x4E42 -0x1502A 0x4E56 -0x1502B 0x4E58 -0x1502C 0x4E82 -0x1502D 0x4E85 -0x1502E 0x8C6B -0x1502F 0x4E8A -0x15030 0x8212 -0x15031 0x5F0D -0x15032 0x4E8E -0x15033 0x4E9E -0x15034 0x4E9F -0x15035 0x4EA0 -0x15036 0x4EA2 -0x15037 0x4EB0 -0x15038 0x4EB3 -0x15039 0x4EB6 -0x1503A 0x4ECE -0x1503B 0x4ECD -0x1503C 0x4EC4 -0x1503D 0x4EC6 -0x1503E 0x4EC2 -0x1503F 0x4ED7 -0x15040 0x4EDE -0x15041 0x4EED -0x15042 0x4EDF -0x15043 0x4EF7 -0x15044 0x4F09 -0x15045 0x4F5A -0x15046 0x4F30 -0x15047 0x4F5B -0x15048 0x4F5D -0x15049 0x4F57 -0x1504A 0x4F47 -0x1504B 0x4F76 -0x1504C 0x4F88 -0x1504D 0x4F8F -0x1504E 0x4F98 -0x1504F 0x4F7B -0x15050 0x4F69 -0x15051 0x4F70 -0x15052 0x4F91 -0x15053 0x4F6F -0x15054 0x4F86 -0x15055 0x4F96 -0x15056 0x5118 -0x15057 0x4FD4 -0x15058 0x4FDF -0x15059 0x4FCE -0x1505A 0x4FD8 -0x1505B 0x4FDB -0x1505C 0x4FD1 -0x1505D 0x4FDA -0x1505E 0x4FD0 -0x1505F 0x4FE4 -0x15060 0x4FE5 -0x15061 0x501A -0x15062 0x5028 -0x15063 0x5014 -0x15064 0x502A -0x15065 0x5025 -0x15066 0x5005 -0x15067 0x4F1C -0x15068 0x4FF6 -0x15069 0x5021 -0x1506A 0x5029 -0x1506B 0x502C -0x1506C 0x4FFE -0x1506D 0x4FEF -0x1506E 0x5011 -0x1506F 0x5006 -0x15070 0x5043 -0x15071 0x5047 -0x15072 0x6703 -0x15073 0x5055 -0x15074 0x5050 -0x15075 0x5048 -0x15076 0x505A -0x15077 0x5056 -0x15078 0x506C -0x15079 0x5078 -0x1507A 0x5080 -0x1507B 0x509A -0x1507C 0x5085 -0x1507D 0x50B4 -0x1507E 0x50B2 -0x15121 0x50C9 -0x15122 0x50CA -0x15123 0x50B3 -0x15124 0x50C2 -0x15125 0x50D6 -0x15126 0x50DE -0x15127 0x50E5 -0x15128 0x50ED -0x15129 0x50E3 -0x1512A 0x50EE -0x1512B 0x50F9 -0x1512C 0x50F5 -0x1512D 0x5109 -0x1512E 0x5101 -0x1512F 0x5102 -0x15130 0x5116 -0x15131 0x5115 -0x15132 0x5114 -0x15133 0x511A -0x15134 0x5121 -0x15135 0x513A -0x15136 0x5137 -0x15137 0x513C -0x15138 0x513B -0x15139 0x513F -0x1513A 0x5140 -0x1513B 0x5152 -0x1513C 0x514C -0x1513D 0x5154 -0x1513E 0x5162 -0x1513F 0x7AF8 -0x15140 0x5169 -0x15141 0x516A -0x15142 0x516E -0x15143 0x5180 -0x15144 0x5182 -0x15145 0x56D8 -0x15146 0x518C -0x15147 0x5189 -0x15148 0x518F -0x15149 0x5191 -0x1514A 0x5193 -0x1514B 0x5195 -0x1514C 0x5196 -0x1514D 0x51A4 -0x1514E 0x51A6 -0x1514F 0x51A2 -0x15150 0x51A9 -0x15151 0x51AA -0x15152 0x51AB -0x15153 0x51B3 -0x15154 0x51B1 -0x15155 0x51B2 -0x15156 0x51B0 -0x15157 0x51B5 -0x15158 0x51BD -0x15159 0x51C5 -0x1515A 0x51C9 -0x1515B 0x51DB -0x1515C 0x51E0 -0x1515D 0x8655 -0x1515E 0x51E9 -0x1515F 0x51ED -0x15160 0x51F0 -0x15161 0x51F5 -0x15162 0x51FE -0x15163 0x5204 -0x15164 0x520B -0x15165 0x5214 -0x15166 0x520E -0x15167 0x5227 -0x15168 0x522A -0x15169 0x522E -0x1516A 0x5233 -0x1516B 0x5239 -0x1516C 0x524F -0x1516D 0x5244 -0x1516E 0x524B -0x1516F 0x524C -0x15170 0x525E -0x15171 0x5254 -0x15172 0x526A -0x15173 0x5274 -0x15174 0x5269 -0x15175 0x5273 -0x15176 0x527F -0x15177 0x527D -0x15178 0x528D -0x15179 0x5294 -0x1517A 0x5292 -0x1517B 0x5271 -0x1517C 0x5288 -0x1517D 0x5291 -0x1517E 0x8FA8 -0x15221 0x8FA7 -0x15222 0x52AC -0x15223 0x52AD -0x15224 0x52BC -0x15225 0x52B5 -0x15226 0x52C1 -0x15227 0x52CD -0x15228 0x52D7 -0x15229 0x52DE -0x1522A 0x52E3 -0x1522B 0x52E6 -0x1522C 0x98ED -0x1522D 0x52E0 -0x1522E 0x52F3 -0x1522F 0x52F5 -0x15230 0x52F8 -0x15231 0x52F9 -0x15232 0x5306 -0x15233 0x5308 -0x15234 0x7538 -0x15235 0x530D -0x15236 0x5310 -0x15237 0x530F -0x15238 0x5315 -0x15239 0x531A -0x1523A 0x5323 -0x1523B 0x532F -0x1523C 0x5331 -0x1523D 0x5333 -0x1523E 0x5338 -0x1523F 0x5340 -0x15240 0x5346 -0x15241 0x5345 -0x15242 0x4E17 -0x15243 0x5349 -0x15244 0x534D -0x15245 0x51D6 -0x15246 0x535E -0x15247 0x5369 -0x15248 0x536E -0x15249 0x5918 -0x1524A 0x537B -0x1524B 0x5377 -0x1524C 0x5382 -0x1524D 0x5396 -0x1524E 0x53A0 -0x1524F 0x53A6 -0x15250 0x53A5 -0x15251 0x53AE -0x15252 0x53B0 -0x15253 0x53B6 -0x15254 0x53C3 -0x15255 0x7C12 -0x15256 0x96D9 -0x15257 0x53DF -0x15258 0x66FC -0x15259 0x71EE -0x1525A 0x53EE -0x1525B 0x53E8 -0x1525C 0x53ED -0x1525D 0x53FA -0x1525E 0x5401 -0x1525F 0x543D -0x15260 0x5440 -0x15261 0x542C -0x15262 0x542D -0x15263 0x543C -0x15264 0x542E -0x15265 0x5436 -0x15266 0x5429 -0x15267 0x541D -0x15268 0x544E -0x15269 0x548F -0x1526A 0x5475 -0x1526B 0x548E -0x1526C 0x545F -0x1526D 0x5471 -0x1526E 0x5477 -0x1526F 0x5470 -0x15270 0x5492 -0x15271 0x547B -0x15272 0x5480 -0x15273 0x5476 -0x15274 0x5484 -0x15275 0x5490 -0x15276 0x5486 -0x15277 0x54C7 -0x15278 0x54A2 -0x15279 0x54B8 -0x1527A 0x54A5 -0x1527B 0x54AC -0x1527C 0x54C4 -0x1527D 0x54C8 -0x1527E 0x54A8 -0x15321 0x54AB -0x15322 0x54C2 -0x15323 0x54A4 -0x15324 0x54BE -0x15325 0x54BC -0x15326 0x54D8 -0x15327 0x54E5 -0x15328 0x54E6 -0x15329 0x550F -0x1532A 0x5514 -0x1532B 0x54FD -0x1532C 0x54EE -0x1532D 0x54ED -0x1532E 0x54FA -0x1532F 0x54E2 -0x15330 0x5539 -0x15331 0x5540 -0x15332 0x5563 -0x15333 0x554C -0x15334 0x552E -0x15335 0x555C -0x15336 0x5545 -0x15337 0x5556 -0x15338 0x5557 -0x15339 0x5538 -0x1533A 0x5533 -0x1533B 0x555D -0x1533C 0x5599 -0x1533D 0x5580 -0x1533E 0x54AF -0x1533F 0x558A -0x15340 0x559F -0x15341 0x557B -0x15342 0x557E -0x15343 0x5598 -0x15344 0x559E -0x15345 0x55AE -0x15346 0x557C -0x15347 0x5583 -0x15348 0x55A9 -0x15349 0x5587 -0x1534A 0x55A8 -0x1534B 0x55DA -0x1534C 0x55C5 -0x1534D 0x55DF -0x1534E 0x55C4 -0x1534F 0x55DC -0x15350 0x55E4 -0x15351 0x55D4 -0x15352 0x5614 -0x15353 0x55F7 -0x15354 0x5616 -0x15355 0x55FE -0x15356 0x55FD -0x15357 0x561B -0x15358 0x55F9 -0x15359 0x564E -0x1535A 0x5650 -0x1535B 0x71DF -0x1535C 0x5634 -0x1535D 0x5636 -0x1535E 0x5632 -0x1535F 0x5638 -0x15360 0x566B -0x15361 0x5664 -0x15362 0x562F -0x15363 0x566C -0x15364 0x566A -0x15365 0x5686 -0x15366 0x5680 -0x15367 0x568A -0x15368 0x56A0 -0x15369 0x5694 -0x1536A 0x568F -0x1536B 0x56A5 -0x1536C 0x56AE -0x1536D 0x56B6 -0x1536E 0x56B4 -0x1536F 0x56C2 -0x15370 0x56BC -0x15371 0x56C1 -0x15372 0x56C3 -0x15373 0x56C0 -0x15374 0x56C8 -0x15375 0x56CE -0x15376 0x56D1 -0x15377 0x56D3 -0x15378 0x56D7 -0x15379 0x56EE -0x1537A 0x56F9 -0x1537B 0x5700 -0x1537C 0x56FF -0x1537D 0x5704 -0x1537E 0x5709 -0x15421 0x5708 -0x15422 0x570B -0x15423 0x570D -0x15424 0x5713 -0x15425 0x5718 -0x15426 0x5716 -0x15427 0x55C7 -0x15428 0x571C -0x15429 0x5726 -0x1542A 0x5737 -0x1542B 0x5738 -0x1542C 0x574E -0x1542D 0x573B -0x1542E 0x5740 -0x1542F 0x574F -0x15430 0x5769 -0x15431 0x57C0 -0x15432 0x5788 -0x15433 0x5761 -0x15434 0x577F -0x15435 0x5789 -0x15436 0x5793 -0x15437 0x57A0 -0x15438 0x57B3 -0x15439 0x57A4 -0x1543A 0x57AA -0x1543B 0x57B0 -0x1543C 0x57C3 -0x1543D 0x57C6 -0x1543E 0x57D4 -0x1543F 0x57D2 -0x15440 0x57D3 -0x15441 0x580A -0x15442 0x57D6 -0x15443 0x57E3 -0x15444 0x580B -0x15445 0x5819 -0x15446 0x581D -0x15447 0x5872 -0x15448 0x5821 -0x15449 0x5862 -0x1544A 0x584B -0x1544B 0x5870 -0x1544C 0x6BC0 -0x1544D 0x5852 -0x1544E 0x583D -0x1544F 0x5879 -0x15450 0x5885 -0x15451 0x58B9 -0x15452 0x589F -0x15453 0x58AB -0x15454 0x58BA -0x15455 0x58DE -0x15456 0x58BB -0x15457 0x58B8 -0x15458 0x58AE -0x15459 0x58C5 -0x1545A 0x58D3 -0x1545B 0x58D1 -0x1545C 0x58D7 -0x1545D 0x58D9 -0x1545E 0x58D8 -0x1545F 0x58E5 -0x15460 0x58DC -0x15461 0x58E4 -0x15462 0x58DF -0x15463 0x58EF -0x15464 0x58FA -0x15465 0x58F9 -0x15466 0x58FB -0x15467 0x58FC -0x15468 0x58FD -0x15469 0x5902 -0x1546A 0x590A -0x1546B 0x5910 -0x1546C 0x591B -0x1546D 0x68A6 -0x1546E 0x5925 -0x1546F 0x592C -0x15470 0x592D -0x15471 0x5932 -0x15472 0x5938 -0x15473 0x593E -0x15474 0x7AD2 -0x15475 0x5955 -0x15476 0x5950 -0x15477 0x594E -0x15478 0x595A -0x15479 0x5958 -0x1547A 0x5962 -0x1547B 0x5960 -0x1547C 0x5967 -0x1547D 0x596C -0x1547E 0x5969 -0x15521 0x5978 -0x15522 0x5981 -0x15523 0x599D -0x15524 0x4F5E -0x15525 0x4FAB -0x15526 0x59A3 -0x15527 0x59B2 -0x15528 0x59C6 -0x15529 0x59E8 -0x1552A 0x59DC -0x1552B 0x598D -0x1552C 0x59D9 -0x1552D 0x59DA -0x1552E 0x5A25 -0x1552F 0x5A1F -0x15530 0x5A11 -0x15531 0x5A1C -0x15532 0x5A09 -0x15533 0x5A1A -0x15534 0x5A40 -0x15535 0x5A6C -0x15536 0x5A49 -0x15537 0x5A35 -0x15538 0x5A36 -0x15539 0x5A62 -0x1553A 0x5A6A -0x1553B 0x5A9A -0x1553C 0x5ABC -0x1553D 0x5ABE -0x1553E 0x5ACB -0x1553F 0x5AC2 -0x15540 0x5ABD -0x15541 0x5AE3 -0x15542 0x5AD7 -0x15543 0x5AE6 -0x15544 0x5AE9 -0x15545 0x5AD6 -0x15546 0x5AFA -0x15547 0x5AFB -0x15548 0x5B0C -0x15549 0x5B0B -0x1554A 0x5B16 -0x1554B 0x5B32 -0x1554C 0x5AD0 -0x1554D 0x5B2A -0x1554E 0x5B36 -0x1554F 0x5B3E -0x15550 0x5B43 -0x15551 0x5B45 -0x15552 0x5B40 -0x15553 0x5B51 -0x15554 0x5B55 -0x15555 0x5B5A -0x15556 0x5B5B -0x15557 0x5B65 -0x15558 0x5B69 -0x15559 0x5B70 -0x1555A 0x5B73 -0x1555B 0x5B75 -0x1555C 0x5B78 -0x1555D 0x6588 -0x1555E 0x5B7A -0x1555F 0x5B80 -0x15560 0x5B83 -0x15561 0x5BA6 -0x15562 0x5BB8 -0x15563 0x5BC3 -0x15564 0x5BC7 -0x15565 0x5BC9 -0x15566 0x5BD4 -0x15567 0x5BD0 -0x15568 0x5BE4 -0x15569 0x5BE6 -0x1556A 0x5BE2 -0x1556B 0x5BDE -0x1556C 0x5BE5 -0x1556D 0x5BEB -0x1556E 0x5BF0 -0x1556F 0x5BF6 -0x15570 0x5BF3 -0x15571 0x5C05 -0x15572 0x5C07 -0x15573 0x5C08 -0x15574 0x5C0D -0x15575 0x5C13 -0x15576 0x5C20 -0x15577 0x5C22 -0x15578 0x5C28 -0x15579 0x5C38 -0x1557A 0x5C39 -0x1557B 0x5C41 -0x1557C 0x5C46 -0x1557D 0x5C4E -0x1557E 0x5C53 -0x15621 0x5C50 -0x15622 0x5C4F -0x15623 0x5B71 -0x15624 0x5C6C -0x15625 0x5C6E -0x15626 0x4E62 -0x15627 0x5C76 -0x15628 0x5C79 -0x15629 0x5C8C -0x1562A 0x5C91 -0x1562B 0x5C94 -0x1562C 0x599B -0x1562D 0x5CAB -0x1562E 0x5CBB -0x1562F 0x5CB6 -0x15630 0x5CBC -0x15631 0x5CB7 -0x15632 0x5CC5 -0x15633 0x5CBE -0x15634 0x5CC7 -0x15635 0x5CD9 -0x15636 0x5CE9 -0x15637 0x5CFD -0x15638 0x5CFA -0x15639 0x5CED -0x1563A 0x5D8C -0x1563B 0x5CEA -0x1563C 0x5D0B -0x1563D 0x5D15 -0x1563E 0x5D17 -0x1563F 0x5D5C -0x15640 0x5D1F -0x15641 0x5D1B -0x15642 0x5D11 -0x15643 0x5D14 -0x15644 0x5D22 -0x15645 0x5D1A -0x15646 0x5D19 -0x15647 0x5D18 -0x15648 0x5D4C -0x15649 0x5D52 -0x1564A 0x5D4E -0x1564B 0x5D4B -0x1564C 0x5D6C -0x1564D 0x5D73 -0x1564E 0x5D76 -0x1564F 0x5D87 -0x15650 0x5D84 -0x15651 0x5D82 -0x15652 0x5DA2 -0x15653 0x5D9D -0x15654 0x5DAC -0x15655 0x5DAE -0x15656 0x5DBD -0x15657 0x5D90 -0x15658 0x5DB7 -0x15659 0x5DBC -0x1565A 0x5DC9 -0x1565B 0x5DCD -0x1565C 0x5DD3 -0x1565D 0x5DD2 -0x1565E 0x5DD6 -0x1565F 0x5DDB -0x15660 0x5DEB -0x15661 0x5DF2 -0x15662 0x5DF5 -0x15663 0x5E0B -0x15664 0x5E1A -0x15665 0x5E19 -0x15666 0x5E11 -0x15667 0x5E1B -0x15668 0x5E36 -0x15669 0x5E37 -0x1566A 0x5E44 -0x1566B 0x5E43 -0x1566C 0x5E40 -0x1566D 0x5E4E -0x1566E 0x5E57 -0x1566F 0x5E54 -0x15670 0x5E5F -0x15671 0x5E62 -0x15672 0x5E64 -0x15673 0x5E47 -0x15674 0x5E75 -0x15675 0x5E76 -0x15676 0x5E7A -0x15677 0x9EBC -0x15678 0x5E7F -0x15679 0x5EA0 -0x1567A 0x5EC1 -0x1567B 0x5EC2 -0x1567C 0x5EC8 -0x1567D 0x5ED0 -0x1567E 0x5ECF -0x15721 0x5ED6 -0x15722 0x5EE3 -0x15723 0x5EDD -0x15724 0x5EDA -0x15725 0x5EDB -0x15726 0x5EE2 -0x15727 0x5EE1 -0x15728 0x5EE8 -0x15729 0x5EE9 -0x1572A 0x5EEC -0x1572B 0x5EF1 -0x1572C 0x5EF3 -0x1572D 0x5EF0 -0x1572E 0x5EF4 -0x1572F 0x5EF8 -0x15730 0x5EFE -0x15731 0x5F03 -0x15732 0x5F09 -0x15733 0x5F5D -0x15734 0x5F5C -0x15735 0x5F0B -0x15736 0x5F11 -0x15737 0x5F16 -0x15738 0x5F29 -0x15739 0x5F2D -0x1573A 0x5F38 -0x1573B 0x5F41 -0x1573C 0x5F48 -0x1573D 0x5F4C -0x1573E 0x5F4E -0x1573F 0x5F2F -0x15740 0x5F51 -0x15741 0x5F56 -0x15742 0x5F57 -0x15743 0x5F59 -0x15744 0x5F61 -0x15745 0x5F6D -0x15746 0x5F73 -0x15747 0x5F77 -0x15748 0x5F83 -0x15749 0x5F82 -0x1574A 0x5F7F -0x1574B 0x5F8A -0x1574C 0x5F88 -0x1574D 0x5F91 -0x1574E 0x5F87 -0x1574F 0x5F9E -0x15750 0x5F99 -0x15751 0x5F98 -0x15752 0x5FA0 -0x15753 0x5FA8 -0x15754 0x5FAD -0x15755 0x5FBC -0x15756 0x5FD6 -0x15757 0x5FFB -0x15758 0x5FE4 -0x15759 0x5FF8 -0x1575A 0x5FF1 -0x1575B 0x5FDD -0x1575C 0x60B3 -0x1575D 0x5FFF -0x1575E 0x6021 -0x1575F 0x6060 -0x15760 0x6019 -0x15761 0x6010 -0x15762 0x6029 -0x15763 0x600E -0x15764 0x6031 -0x15765 0x601B -0x15766 0x6015 -0x15767 0x602B -0x15768 0x6026 -0x15769 0x600F -0x1576A 0x603A -0x1576B 0x605A -0x1576C 0x6041 -0x1576D 0x606A -0x1576E 0x6077 -0x1576F 0x605F -0x15770 0x604A -0x15771 0x6046 -0x15772 0x604D -0x15773 0x6063 -0x15774 0x6043 -0x15775 0x6064 -0x15776 0x6042 -0x15777 0x606C -0x15778 0x606B -0x15779 0x6059 -0x1577A 0x6081 -0x1577B 0x608D -0x1577C 0x60E7 -0x1577D 0x6083 -0x1577E 0x609A -0x15821 0x6084 -0x15822 0x609B -0x15823 0x6096 -0x15824 0x6097 -0x15825 0x6092 -0x15826 0x60A7 -0x15827 0x608B -0x15828 0x60E1 -0x15829 0x60B8 -0x1582A 0x60E0 -0x1582B 0x60D3 -0x1582C 0x60B4 -0x1582D 0x5FF0 -0x1582E 0x60BD -0x1582F 0x60C6 -0x15830 0x60B5 -0x15831 0x60D8 -0x15832 0x614D -0x15833 0x6115 -0x15834 0x6106 -0x15835 0x60F6 -0x15836 0x60F7 -0x15837 0x6100 -0x15838 0x60F4 -0x15839 0x60FA -0x1583A 0x6103 -0x1583B 0x6121 -0x1583C 0x60FB -0x1583D 0x60F1 -0x1583E 0x610D -0x1583F 0x610E -0x15840 0x6147 -0x15841 0x613E -0x15842 0x6128 -0x15843 0x6127 -0x15844 0x614A -0x15845 0x613F -0x15846 0x613C -0x15847 0x612C -0x15848 0x6134 -0x15849 0x613D -0x1584A 0x6142 -0x1584B 0x6144 -0x1584C 0x6173 -0x1584D 0x6177 -0x1584E 0x6158 -0x1584F 0x6159 -0x15850 0x615A -0x15851 0x616B -0x15852 0x6174 -0x15853 0x616F -0x15854 0x6165 -0x15855 0x6171 -0x15856 0x615F -0x15857 0x615D -0x15858 0x6153 -0x15859 0x6175 -0x1585A 0x6199 -0x1585B 0x6196 -0x1585C 0x6187 -0x1585D 0x61AC -0x1585E 0x6194 -0x1585F 0x619A -0x15860 0x618A -0x15861 0x6191 -0x15862 0x61AB -0x15863 0x61AE -0x15864 0x61CC -0x15865 0x61CA -0x15866 0x61C9 -0x15867 0x61F7 -0x15868 0x61C8 -0x15869 0x61C3 -0x1586A 0x61C6 -0x1586B 0x61BA -0x1586C 0x61CB -0x1586D 0x7F79 -0x1586E 0x61CD -0x1586F 0x61E6 -0x15870 0x61E3 -0x15871 0x61F6 -0x15872 0x61FA -0x15873 0x61F4 -0x15874 0x61FF -0x15875 0x61FD -0x15876 0x61FC -0x15877 0x61FE -0x15878 0x6200 -0x15879 0x6208 -0x1587A 0x6209 -0x1587B 0x620D -0x1587C 0x620C -0x1587D 0x6214 -0x1587E 0x621B -0x15921 0x621E -0x15922 0x6221 -0x15923 0x622A -0x15924 0x622E -0x15925 0x6230 -0x15926 0x6232 -0x15927 0x6233 -0x15928 0x6241 -0x15929 0x624E -0x1592A 0x625E -0x1592B 0x6263 -0x1592C 0x625B -0x1592D 0x6260 -0x1592E 0x6268 -0x1592F 0x627C -0x15930 0x6282 -0x15931 0x6289 -0x15932 0x627E -0x15933 0x6292 -0x15934 0x6293 -0x15935 0x6296 -0x15936 0x62D4 -0x15937 0x6283 -0x15938 0x6294 -0x15939 0x62D7 -0x1593A 0x62D1 -0x1593B 0x62BB -0x1593C 0x62CF -0x1593D 0x62FF -0x1593E 0x62C6 -0x1593F 0x64D4 -0x15940 0x62C8 -0x15941 0x62DC -0x15942 0x62CC -0x15943 0x62CA -0x15944 0x62C2 -0x15945 0x62C7 -0x15946 0x629B -0x15947 0x62C9 -0x15948 0x630C -0x15949 0x62EE -0x1594A 0x62F1 -0x1594B 0x6327 -0x1594C 0x6302 -0x1594D 0x6308 -0x1594E 0x62EF -0x1594F 0x62F5 -0x15950 0x6350 -0x15951 0x633E -0x15952 0x634D -0x15953 0x641C -0x15954 0x634F -0x15955 0x6396 -0x15956 0x638E -0x15957 0x6380 -0x15958 0x63AB -0x15959 0x6376 -0x1595A 0x63A3 -0x1595B 0x638F -0x1595C 0x6389 -0x1595D 0x639F -0x1595E 0x63B5 -0x1595F 0x636B -0x15960 0x6369 -0x15961 0x63BE -0x15962 0x63E9 -0x15963 0x63C0 -0x15964 0x63C6 -0x15965 0x63E3 -0x15966 0x63C9 -0x15967 0x63D2 -0x15968 0x63F6 -0x15969 0x63C4 -0x1596A 0x6416 -0x1596B 0x6434 -0x1596C 0x6406 -0x1596D 0x6413 -0x1596E 0x6426 -0x1596F 0x6436 -0x15970 0x651D -0x15971 0x6417 -0x15972 0x6428 -0x15973 0x640F -0x15974 0x6467 -0x15975 0x646F -0x15976 0x6476 -0x15977 0x644E -0x15978 0x652A -0x15979 0x6495 -0x1597A 0x6493 -0x1597B 0x64A5 -0x1597C 0x64A9 -0x1597D 0x6488 -0x1597E 0x64BC -0x15A21 0x64DA -0x15A22 0x64D2 -0x15A23 0x64C5 -0x15A24 0x64C7 -0x15A25 0x64BB -0x15A26 0x64D8 -0x15A27 0x64C2 -0x15A28 0x64F1 -0x15A29 0x64E7 -0x15A2A 0x8209 -0x15A2B 0x64E0 -0x15A2C 0x64E1 -0x15A2D 0x62AC -0x15A2E 0x64E3 -0x15A2F 0x64EF -0x15A30 0x652C -0x15A31 0x64F6 -0x15A32 0x64F4 -0x15A33 0x64F2 -0x15A34 0x64FA -0x15A35 0x6500 -0x15A36 0x64FD -0x15A37 0x6518 -0x15A38 0x651C -0x15A39 0x6505 -0x15A3A 0x6524 -0x15A3B 0x6523 -0x15A3C 0x652B -0x15A3D 0x6534 -0x15A3E 0x6535 -0x15A3F 0x6537 -0x15A40 0x6536 -0x15A41 0x6538 -0x15A42 0x754B -0x15A43 0x6548 -0x15A44 0x6556 -0x15A45 0x6555 -0x15A46 0x654D -0x15A47 0x6558 -0x15A48 0x655E -0x15A49 0x655D -0x15A4A 0x6572 -0x15A4B 0x6578 -0x15A4C 0x6582 -0x15A4D 0x6583 -0x15A4E 0x8B8A -0x15A4F 0x659B -0x15A50 0x659F -0x15A51 0x65AB -0x15A52 0x65B7 -0x15A53 0x65C3 -0x15A54 0x65C6 -0x15A55 0x65C1 -0x15A56 0x65C4 -0x15A57 0x65CC -0x15A58 0x65D2 -0x15A59 0x65DB -0x15A5A 0x65D9 -0x15A5B 0x65E0 -0x15A5C 0x65E1 -0x15A5D 0x65F1 -0x15A5E 0x6772 -0x15A5F 0x660A -0x15A60 0x6603 -0x15A61 0x65FB -0x15A62 0x6773 -0x15A63 0x6635 -0x15A64 0x6636 -0x15A65 0x6634 -0x15A66 0x661C -0x15A67 0x664F -0x15A68 0x6644 -0x15A69 0x6649 -0x15A6A 0x6641 -0x15A6B 0x665E -0x15A6C 0x665D -0x15A6D 0x6664 -0x15A6E 0x6667 -0x15A6F 0x6668 -0x15A70 0x665F -0x15A71 0x6662 -0x15A72 0x6670 -0x15A73 0x6683 -0x15A74 0x6688 -0x15A75 0x668E -0x15A76 0x6689 -0x15A77 0x6684 -0x15A78 0x6698 -0x15A79 0x669D -0x15A7A 0x66C1 -0x15A7B 0x66B9 -0x15A7C 0x66C9 -0x15A7D 0x66BE -0x15A7E 0x66BC -0x15B21 0x66C4 -0x15B22 0x66B8 -0x15B23 0x66D6 -0x15B24 0x66DA -0x15B25 0x66E0 -0x15B26 0x663F -0x15B27 0x66E6 -0x15B28 0x66E9 -0x15B29 0x66F0 -0x15B2A 0x66F5 -0x15B2B 0x66F7 -0x15B2C 0x670F -0x15B2D 0x6716 -0x15B2E 0x671E -0x15B2F 0x6726 -0x15B30 0x6727 -0x15B31 0x9738 -0x15B32 0x672E -0x15B33 0x673F -0x15B34 0x6736 -0x15B35 0x6741 -0x15B36 0x6738 -0x15B37 0x6737 -0x15B38 0x6746 -0x15B39 0x675E -0x15B3A 0x6760 -0x15B3B 0x6759 -0x15B3C 0x6763 -0x15B3D 0x6764 -0x15B3E 0x6789 -0x15B3F 0x6770 -0x15B40 0x67A9 -0x15B41 0x677C -0x15B42 0x676A -0x15B43 0x678C -0x15B44 0x678B -0x15B45 0x67A6 -0x15B46 0x67A1 -0x15B47 0x6785 -0x15B48 0x67B7 -0x15B49 0x67EF -0x15B4A 0x67B4 -0x15B4B 0x67EC -0x15B4C 0x67B3 -0x15B4D 0x67E9 -0x15B4E 0x67B8 -0x15B4F 0x67E4 -0x15B50 0x67DE -0x15B51 0x67DD -0x15B52 0x67E2 -0x15B53 0x67EE -0x15B54 0x67B9 -0x15B55 0x67CE -0x15B56 0x67C6 -0x15B57 0x67E7 -0x15B58 0x6A9C -0x15B59 0x681E -0x15B5A 0x6846 -0x15B5B 0x6829 -0x15B5C 0x6840 -0x15B5D 0x684D -0x15B5E 0x6832 -0x15B5F 0x684E -0x15B60 0x68B3 -0x15B61 0x682B -0x15B62 0x6859 -0x15B63 0x6863 -0x15B64 0x6877 -0x15B65 0x687F -0x15B66 0x689F -0x15B67 0x688F -0x15B68 0x68AD -0x15B69 0x6894 -0x15B6A 0x689D -0x15B6B 0x689B -0x15B6C 0x6883 -0x15B6D 0x6AAE -0x15B6E 0x68B9 -0x15B6F 0x6874 -0x15B70 0x68B5 -0x15B71 0x68A0 -0x15B72 0x68BA -0x15B73 0x690F -0x15B74 0x688D -0x15B75 0x687E -0x15B76 0x6901 -0x15B77 0x68CA -0x15B78 0x6908 -0x15B79 0x68D8 -0x15B7A 0x6922 -0x15B7B 0x6926 -0x15B7C 0x68E1 -0x15B7D 0x690C -0x15B7E 0x68CD -0x15C21 0x68D4 -0x15C22 0x68E7 -0x15C23 0x68D5 -0x15C24 0x6936 -0x15C25 0x6912 -0x15C26 0x6904 -0x15C27 0x68D7 -0x15C28 0x68E3 -0x15C29 0x6925 -0x15C2A 0x68F9 -0x15C2B 0x68E0 -0x15C2C 0x68EF -0x15C2D 0x6928 -0x15C2E 0x692A -0x15C2F 0x691A -0x15C30 0x6923 -0x15C31 0x6921 -0x15C32 0x68C6 -0x15C33 0x6979 -0x15C34 0x6977 -0x15C35 0x695C -0x15C36 0x6978 -0x15C37 0x696B -0x15C38 0x6954 -0x15C39 0x697E -0x15C3A 0x696E -0x15C3B 0x6939 -0x15C3C 0x6974 -0x15C3D 0x693D -0x15C3E 0x6959 -0x15C3F 0x6930 -0x15C40 0x6961 -0x15C41 0x695E -0x15C42 0x695D -0x15C43 0x6981 -0x15C44 0x696A -0x15C45 0x69B2 -0x15C46 0x69AE -0x15C47 0x69D0 -0x15C48 0x69BF -0x15C49 0x69C1 -0x15C4A 0x69D3 -0x15C4B 0x69BE -0x15C4C 0x69CE -0x15C4D 0x5BE8 -0x15C4E 0x69CA -0x15C4F 0x69DD -0x15C50 0x69BB -0x15C51 0x69C3 -0x15C52 0x69A7 -0x15C53 0x6A2E -0x15C54 0x6991 -0x15C55 0x69A0 -0x15C56 0x699C -0x15C57 0x6995 -0x15C58 0x69B4 -0x15C59 0x69DE -0x15C5A 0x69E8 -0x15C5B 0x6A02 -0x15C5C 0x6A1B -0x15C5D 0x69FF -0x15C5E 0x6B0A -0x15C5F 0x69F9 -0x15C60 0x69F2 -0x15C61 0x69E7 -0x15C62 0x6A05 -0x15C63 0x69B1 -0x15C64 0x6A1E -0x15C65 0x69ED -0x15C66 0x6A14 -0x15C67 0x69EB -0x15C68 0x6A0A -0x15C69 0x6A12 -0x15C6A 0x6AC1 -0x15C6B 0x6A23 -0x15C6C 0x6A13 -0x15C6D 0x6A44 -0x15C6E 0x6A0C -0x15C6F 0x6A72 -0x15C70 0x6A36 -0x15C71 0x6A78 -0x15C72 0x6A47 -0x15C73 0x6A62 -0x15C74 0x6A59 -0x15C75 0x6A66 -0x15C76 0x6A48 -0x15C77 0x6A38 -0x15C78 0x6A22 -0x15C79 0x6A90 -0x15C7A 0x6A8D -0x15C7B 0x6AA0 -0x15C7C 0x6A84 -0x15C7D 0x6AA2 -0x15C7E 0x6AA3 -0x15D21 0x6A97 -0x15D22 0x8617 -0x15D23 0x6ABB -0x15D24 0x6AC3 -0x15D25 0x6AC2 -0x15D26 0x6AB8 -0x15D27 0x6AB3 -0x15D28 0x6AAC -0x15D29 0x6ADE -0x15D2A 0x6AD1 -0x15D2B 0x6ADF -0x15D2C 0x6AAA -0x15D2D 0x6ADA -0x15D2E 0x6AEA -0x15D2F 0x6AFB -0x15D30 0x6B05 -0x15D31 0x8616 -0x15D32 0x6AFA -0x15D33 0x6B12 -0x15D34 0x6B16 -0x15D35 0x9B31 -0x15D36 0x6B1F -0x15D37 0x6B38 -0x15D38 0x6B37 -0x15D39 0x76DC -0x15D3A 0x6B39 -0x15D3B 0x98EE -0x15D3C 0x6B47 -0x15D3D 0x6B43 -0x15D3E 0x6B49 -0x15D3F 0x6B50 -0x15D40 0x6B59 -0x15D41 0x6B54 -0x15D42 0x6B5B -0x15D43 0x6B5F -0x15D44 0x6B61 -0x15D45 0x6B78 -0x15D46 0x6B79 -0x15D47 0x6B7F -0x15D48 0x6B80 -0x15D49 0x6B84 -0x15D4A 0x6B83 -0x15D4B 0x6B8D -0x15D4C 0x6B98 -0x15D4D 0x6B95 -0x15D4E 0x6B9E -0x15D4F 0x6BA4 -0x15D50 0x6BAA -0x15D51 0x6BAB -0x15D52 0x6BAF -0x15D53 0x6BB2 -0x15D54 0x6BB1 -0x15D55 0x6BB3 -0x15D56 0x6BB7 -0x15D57 0x6BBC -0x15D58 0x6BC6 -0x15D59 0x6BCB -0x15D5A 0x6BD3 -0x15D5B 0x6BDF -0x15D5C 0x6BEC -0x15D5D 0x6BEB -0x15D5E 0x6BF3 -0x15D5F 0x6BEF -0x15D60 0x9EBE -0x15D61 0x6C08 -0x15D62 0x6C13 -0x15D63 0x6C14 -0x15D64 0x6C1B -0x15D65 0x6C24 -0x15D66 0x6C23 -0x15D67 0x6C5E -0x15D68 0x6C55 -0x15D69 0x6C62 -0x15D6A 0x6C6A -0x15D6B 0x6C82 -0x15D6C 0x6C8D -0x15D6D 0x6C9A -0x15D6E 0x6C81 -0x15D6F 0x6C9B -0x15D70 0x6C7E -0x15D71 0x6C68 -0x15D72 0x6C73 -0x15D73 0x6C92 -0x15D74 0x6C90 -0x15D75 0x6CC4 -0x15D76 0x6CF1 -0x15D77 0x6CD3 -0x15D78 0x6CBD -0x15D79 0x6CD7 -0x15D7A 0x6CC5 -0x15D7B 0x6CDD -0x15D7C 0x6CAE -0x15D7D 0x6CB1 -0x15D7E 0x6CBE -0x15E21 0x6CBA -0x15E22 0x6CDB -0x15E23 0x6CEF -0x15E24 0x6CD9 -0x15E25 0x6CEA -0x15E26 0x6D1F -0x15E27 0x884D -0x15E28 0x6D36 -0x15E29 0x6D2B -0x15E2A 0x6D3D -0x15E2B 0x6D38 -0x15E2C 0x6D19 -0x15E2D 0x6D35 -0x15E2E 0x6D33 -0x15E2F 0x6D12 -0x15E30 0x6D0C -0x15E31 0x6D63 -0x15E32 0x6D93 -0x15E33 0x6D64 -0x15E34 0x6D5A -0x15E35 0x6D79 -0x15E36 0x6D59 -0x15E37 0x6D8E -0x15E38 0x6D95 -0x15E39 0x6FE4 -0x15E3A 0x6D85 -0x15E3B 0x6DF9 -0x15E3C 0x6E15 -0x15E3D 0x6E0A -0x15E3E 0x6DB5 -0x15E3F 0x6DC7 -0x15E40 0x6DE6 -0x15E41 0x6DB8 -0x15E42 0x6DC6 -0x15E43 0x6DEC -0x15E44 0x6DDE -0x15E45 0x6DCC -0x15E46 0x6DE8 -0x15E47 0x6DD2 -0x15E48 0x6DC5 -0x15E49 0x6DFA -0x15E4A 0x6DD9 -0x15E4B 0x6DE4 -0x15E4C 0x6DD5 -0x15E4D 0x6DEA -0x15E4E 0x6DEE -0x15E4F 0x6E2D -0x15E50 0x6E6E -0x15E51 0x6E2E -0x15E52 0x6E19 -0x15E53 0x6E72 -0x15E54 0x6E5F -0x15E55 0x6E3E -0x15E56 0x6E23 -0x15E57 0x6E6B -0x15E58 0x6E2B -0x15E59 0x6E76 -0x15E5A 0x6E4D -0x15E5B 0x6E1F -0x15E5C 0x6E43 -0x15E5D 0x6E3A -0x15E5E 0x6E4E -0x15E5F 0x6E24 -0x15E60 0x6EFF -0x15E61 0x6E1D -0x15E62 0x6E38 -0x15E63 0x6E82 -0x15E64 0x6EAA -0x15E65 0x6E98 -0x15E66 0x6EC9 -0x15E67 0x6EB7 -0x15E68 0x6ED3 -0x15E69 0x6EBD -0x15E6A 0x6EAF -0x15E6B 0x6EC4 -0x15E6C 0x6EB2 -0x15E6D 0x6ED4 -0x15E6E 0x6ED5 -0x15E6F 0x6E8F -0x15E70 0x6EA5 -0x15E71 0x6EC2 -0x15E72 0x6E9F -0x15E73 0x6F41 -0x15E74 0x6F11 -0x15E75 0x704C -0x15E76 0x6EEC -0x15E77 0x6EF8 -0x15E78 0x6EFE -0x15E79 0x6F3F -0x15E7A 0x6EF2 -0x15E7B 0x6F31 -0x15E7C 0x6EEF -0x15E7D 0x6F32 -0x15E7E 0x6ECC -0x15F21 0x6F3E -0x15F22 0x6F13 -0x15F23 0x6EF7 -0x15F24 0x6F86 -0x15F25 0x6F7A -0x15F26 0x6F78 -0x15F27 0x6F81 -0x15F28 0x6F80 -0x15F29 0x6F6F -0x15F2A 0x6F5B -0x15F2B 0x6FF3 -0x15F2C 0x6F6D -0x15F2D 0x6F82 -0x15F2E 0x6F7C -0x15F2F 0x6F58 -0x15F30 0x6F8E -0x15F31 0x6F91 -0x15F32 0x6FC2 -0x15F33 0x6F66 -0x15F34 0x6FB3 -0x15F35 0x6FA3 -0x15F36 0x6FA1 -0x15F37 0x6FA4 -0x15F38 0x6FB9 -0x15F39 0x6FC6 -0x15F3A 0x6FAA -0x15F3B 0x6FDF -0x15F3C 0x6FD5 -0x15F3D 0x6FEC -0x15F3E 0x6FD4 -0x15F3F 0x6FD8 -0x15F40 0x6FF1 -0x15F41 0x6FEE -0x15F42 0x6FDB -0x15F43 0x7009 -0x15F44 0x700B -0x15F45 0x6FFA -0x15F46 0x7011 -0x15F47 0x7001 -0x15F48 0x700F -0x15F49 0x6FFE -0x15F4A 0x701B -0x15F4B 0x701A -0x15F4C 0x6F74 -0x15F4D 0x701D -0x15F4E 0x7018 -0x15F4F 0x701F -0x15F50 0x7030 -0x15F51 0x703E -0x15F52 0x7032 -0x15F53 0x7051 -0x15F54 0x7063 -0x15F55 0x7099 -0x15F56 0x7092 -0x15F57 0x70AF -0x15F58 0x70F1 -0x15F59 0x70AC -0x15F5A 0x70B8 -0x15F5B 0x70B3 -0x15F5C 0x70AE -0x15F5D 0x70DF -0x15F5E 0x70CB -0x15F5F 0x70DD -0x15F60 0x70D9 -0x15F61 0x7109 -0x15F62 0x70FD -0x15F63 0x711C -0x15F64 0x7119 -0x15F65 0x7165 -0x15F66 0x7155 -0x15F67 0x7188 -0x15F68 0x7166 -0x15F69 0x7162 -0x15F6A 0x714C -0x15F6B 0x7156 -0x15F6C 0x716C -0x15F6D 0x718F -0x15F6E 0x71FB -0x15F6F 0x7184 -0x15F70 0x7195 -0x15F71 0x71A8 -0x15F72 0x71AC -0x15F73 0x71D7 -0x15F74 0x71B9 -0x15F75 0x71BE -0x15F76 0x71D2 -0x15F77 0x71C9 -0x15F78 0x71D4 -0x15F79 0x71CE -0x15F7A 0x71E0 -0x15F7B 0x71EC -0x15F7C 0x71E7 -0x15F7D 0x71F5 -0x15F7E 0x71FC -0x16021 0x71F9 -0x16022 0x71FF -0x16023 0x720D -0x16024 0x7210 -0x16025 0x721B -0x16026 0x7228 -0x16027 0x722D -0x16028 0x722C -0x16029 0x7230 -0x1602A 0x7232 -0x1602B 0x723B -0x1602C 0x723C -0x1602D 0x723F -0x1602E 0x7240 -0x1602F 0x7246 -0x16030 0x724B -0x16031 0x7258 -0x16032 0x7274 -0x16033 0x727E -0x16034 0x7282 -0x16035 0x7281 -0x16036 0x7287 -0x16037 0x7292 -0x16038 0x7296 -0x16039 0x72A2 -0x1603A 0x72A7 -0x1603B 0x72B9 -0x1603C 0x72B2 -0x1603D 0x72C3 -0x1603E 0x72C6 -0x1603F 0x72C4 -0x16040 0x72CE -0x16041 0x72D2 -0x16042 0x72E2 -0x16043 0x72E0 -0x16044 0x72E1 -0x16045 0x72F9 -0x16046 0x72F7 -0x16047 0x500F -0x16048 0x7317 -0x16049 0x730A -0x1604A 0x731C -0x1604B 0x7316 -0x1604C 0x731D -0x1604D 0x7334 -0x1604E 0x732F -0x1604F 0x7329 -0x16050 0x7325 -0x16051 0x733E -0x16052 0x734E -0x16053 0x734F -0x16054 0x9ED8 -0x16055 0x7357 -0x16056 0x736A -0x16057 0x7368 -0x16058 0x7370 -0x16059 0x7378 -0x1605A 0x7375 -0x1605B 0x737B -0x1605C 0x737A -0x1605D 0x73C8 -0x1605E 0x73B3 -0x1605F 0x73CE -0x16060 0x73BB -0x16061 0x73C0 -0x16062 0x73E5 -0x16063 0x73EE -0x16064 0x73DE -0x16065 0x74A2 -0x16066 0x7405 -0x16067 0x746F -0x16068 0x7425 -0x16069 0x73F8 -0x1606A 0x7432 -0x1606B 0x743A -0x1606C 0x7455 -0x1606D 0x743F -0x1606E 0x745F -0x1606F 0x7459 -0x16070 0x7441 -0x16071 0x745C -0x16072 0x7469 -0x16073 0x7470 -0x16074 0x7463 -0x16075 0x746A -0x16076 0x7476 -0x16077 0x747E -0x16078 0x748B -0x16079 0x749E -0x1607A 0x74A7 -0x1607B 0x74CA -0x1607C 0x74CF -0x1607D 0x74D4 -0x1607E 0x73F1 -0x16121 0x74E0 -0x16122 0x74E3 -0x16123 0x74E7 -0x16124 0x74E9 -0x16125 0x74EE -0x16126 0x74F2 -0x16127 0x74F0 -0x16128 0x74F1 -0x16129 0x74F8 -0x1612A 0x74F7 -0x1612B 0x7504 -0x1612C 0x7503 -0x1612D 0x7505 -0x1612E 0x750C -0x1612F 0x750E -0x16130 0x750D -0x16131 0x7515 -0x16132 0x7513 -0x16133 0x751E -0x16134 0x7526 -0x16135 0x752C -0x16136 0x753C -0x16137 0x7544 -0x16138 0x754D -0x16139 0x754A -0x1613A 0x7549 -0x1613B 0x755B -0x1613C 0x7546 -0x1613D 0x755A -0x1613E 0x7569 -0x1613F 0x7564 -0x16140 0x7567 -0x16141 0x756B -0x16142 0x756D -0x16143 0x7578 -0x16144 0x7576 -0x16145 0x7586 -0x16146 0x7587 -0x16147 0x7574 -0x16148 0x758A -0x16149 0x7589 -0x1614A 0x7582 -0x1614B 0x7594 -0x1614C 0x759A -0x1614D 0x759D -0x1614E 0x75A5 -0x1614F 0x75A3 -0x16150 0x75C2 -0x16151 0x75B3 -0x16152 0x75C3 -0x16153 0x75B5 -0x16154 0x75BD -0x16155 0x75B8 -0x16156 0x75BC -0x16157 0x75B1 -0x16158 0x75CD -0x16159 0x75CA -0x1615A 0x75D2 -0x1615B 0x75D9 -0x1615C 0x75E3 -0x1615D 0x75DE -0x1615E 0x75FE -0x1615F 0x75FF -0x16160 0x75FC -0x16161 0x7601 -0x16162 0x75F0 -0x16163 0x75FA -0x16164 0x75F2 -0x16165 0x75F3 -0x16166 0x760B -0x16167 0x760D -0x16168 0x7609 -0x16169 0x761F -0x1616A 0x7627 -0x1616B 0x7620 -0x1616C 0x7621 -0x1616D 0x7622 -0x1616E 0x7624 -0x1616F 0x7634 -0x16170 0x7630 -0x16171 0x763B -0x16172 0x7647 -0x16173 0x7648 -0x16174 0x7646 -0x16175 0x765C -0x16176 0x7658 -0x16177 0x7661 -0x16178 0x7662 -0x16179 0x7668 -0x1617A 0x7669 -0x1617B 0x766A -0x1617C 0x7667 -0x1617D 0x766C -0x1617E 0x7670 -0x16221 0x7672 -0x16222 0x7676 -0x16223 0x7678 -0x16224 0x767C -0x16225 0x7680 -0x16226 0x7683 -0x16227 0x7688 -0x16228 0x768B -0x16229 0x768E -0x1622A 0x7696 -0x1622B 0x7693 -0x1622C 0x7699 -0x1622D 0x769A -0x1622E 0x76B0 -0x1622F 0x76B4 -0x16230 0x76B8 -0x16231 0x76B9 -0x16232 0x76BA -0x16233 0x76C2 -0x16234 0x76CD -0x16235 0x76D6 -0x16236 0x76D2 -0x16237 0x76DE -0x16238 0x76E1 -0x16239 0x76E5 -0x1623A 0x76E7 -0x1623B 0x76EA -0x1623C 0x862F -0x1623D 0x76FB -0x1623E 0x7708 -0x1623F 0x7707 -0x16240 0x7704 -0x16241 0x7729 -0x16242 0x7724 -0x16243 0x771E -0x16244 0x7725 -0x16245 0x7726 -0x16246 0x771B -0x16247 0x7737 -0x16248 0x7738 -0x16249 0x7747 -0x1624A 0x775A -0x1624B 0x7768 -0x1624C 0x776B -0x1624D 0x775B -0x1624E 0x7765 -0x1624F 0x777F -0x16250 0x777E -0x16251 0x7779 -0x16252 0x778E -0x16253 0x778B -0x16254 0x7791 -0x16255 0x77A0 -0x16256 0x779E -0x16257 0x77B0 -0x16258 0x77B6 -0x16259 0x77B9 -0x1625A 0x77BF -0x1625B 0x77BC -0x1625C 0x77BD -0x1625D 0x77BB -0x1625E 0x77C7 -0x1625F 0x77CD -0x16260 0x77D7 -0x16261 0x77DA -0x16262 0x77DC -0x16263 0x77E3 -0x16264 0x77EE -0x16265 0x77FC -0x16266 0x780C -0x16267 0x7812 -0x16268 0x7926 -0x16269 0x7820 -0x1626A 0x792A -0x1626B 0x7845 -0x1626C 0x788E -0x1626D 0x7874 -0x1626E 0x7886 -0x1626F 0x787C -0x16270 0x789A -0x16271 0x788C -0x16272 0x78A3 -0x16273 0x78B5 -0x16274 0x78AA -0x16275 0x78AF -0x16276 0x78D1 -0x16277 0x78C6 -0x16278 0x78CB -0x16279 0x78D4 -0x1627A 0x78BE -0x1627B 0x78BC -0x1627C 0x78C5 -0x1627D 0x78CA -0x1627E 0x78EC -0x16321 0x78E7 -0x16322 0x78DA -0x16323 0x78FD -0x16324 0x78F4 -0x16325 0x7907 -0x16326 0x7912 -0x16327 0x7911 -0x16328 0x7919 -0x16329 0x792C -0x1632A 0x792B -0x1632B 0x7940 -0x1632C 0x7960 -0x1632D 0x7957 -0x1632E 0x795F -0x1632F 0x795A -0x16330 0x7955 -0x16331 0x7953 -0x16332 0x797A -0x16333 0x797F -0x16334 0x798A -0x16335 0x799D -0x16336 0x79A7 -0x16337 0x9F4B -0x16338 0x79AA -0x16339 0x79AE -0x1633A 0x79B3 -0x1633B 0x79B9 -0x1633C 0x79BA -0x1633D 0x79C9 -0x1633E 0x79D5 -0x1633F 0x79E7 -0x16340 0x79EC -0x16341 0x79E1 -0x16342 0x79E3 -0x16343 0x7A08 -0x16344 0x7A0D -0x16345 0x7A18 -0x16346 0x7A19 -0x16347 0x7A20 -0x16348 0x7A1F -0x16349 0x7980 -0x1634A 0x7A31 -0x1634B 0x7A3B -0x1634C 0x7A3E -0x1634D 0x7A37 -0x1634E 0x7A43 -0x1634F 0x7A57 -0x16350 0x7A49 -0x16351 0x7A61 -0x16352 0x7A62 -0x16353 0x7A69 -0x16354 0x9F9D -0x16355 0x7A70 -0x16356 0x7A79 -0x16357 0x7A7D -0x16358 0x7A88 -0x16359 0x7A97 -0x1635A 0x7A95 -0x1635B 0x7A98 -0x1635C 0x7A96 -0x1635D 0x7AA9 -0x1635E 0x7AC8 -0x1635F 0x7AB0 -0x16360 0x7AB6 -0x16361 0x7AC5 -0x16362 0x7AC4 -0x16363 0x7ABF -0x16364 0x9083 -0x16365 0x7AC7 -0x16366 0x7ACA -0x16367 0x7ACD -0x16368 0x7ACF -0x16369 0x7AD5 -0x1636A 0x7AD3 -0x1636B 0x7AD9 -0x1636C 0x7ADA -0x1636D 0x7ADD -0x1636E 0x7AE1 -0x1636F 0x7AE2 -0x16370 0x7AE6 -0x16371 0x7AED -0x16372 0x7AF0 -0x16373 0x7B02 -0x16374 0x7B0F -0x16375 0x7B0A -0x16376 0x7B06 -0x16377 0x7B33 -0x16378 0x7B18 -0x16379 0x7B19 -0x1637A 0x7B1E -0x1637B 0x7B35 -0x1637C 0x7B28 -0x1637D 0x7B36 -0x1637E 0x7B50 -0x16421 0x7B7A -0x16422 0x7B04 -0x16423 0x7B4D -0x16424 0x7B0B -0x16425 0x7B4C -0x16426 0x7B45 -0x16427 0x7B75 -0x16428 0x7B65 -0x16429 0x7B74 -0x1642A 0x7B67 -0x1642B 0x7B70 -0x1642C 0x7B71 -0x1642D 0x7B6C -0x1642E 0x7B6E -0x1642F 0x7B9D -0x16430 0x7B98 -0x16431 0x7B9F -0x16432 0x7B8D -0x16433 0x7B9C -0x16434 0x7B9A -0x16435 0x7B8B -0x16436 0x7B92 -0x16437 0x7B8F -0x16438 0x7B5D -0x16439 0x7B99 -0x1643A 0x7BCB -0x1643B 0x7BC1 -0x1643C 0x7BCC -0x1643D 0x7BCF -0x1643E 0x7BB4 -0x1643F 0x7BC6 -0x16440 0x7BDD -0x16441 0x7BE9 -0x16442 0x7C11 -0x16443 0x7C14 -0x16444 0x7BE6 -0x16445 0x7BE5 -0x16446 0x7C60 -0x16447 0x7C00 -0x16448 0x7C07 -0x16449 0x7C13 -0x1644A 0x7BF3 -0x1644B 0x7BF7 -0x1644C 0x7C17 -0x1644D 0x7C0D -0x1644E 0x7BF6 -0x1644F 0x7C23 -0x16450 0x7C27 -0x16451 0x7C2A -0x16452 0x7C1F -0x16453 0x7C37 -0x16454 0x7C2B -0x16455 0x7C3D -0x16456 0x7C4C -0x16457 0x7C43 -0x16458 0x7C54 -0x16459 0x7C4F -0x1645A 0x7C40 -0x1645B 0x7C50 -0x1645C 0x7C58 -0x1645D 0x7C5F -0x1645E 0x7C64 -0x1645F 0x7C56 -0x16460 0x7C65 -0x16461 0x7C6C -0x16462 0x7C75 -0x16463 0x7C83 -0x16464 0x7C90 -0x16465 0x7CA4 -0x16466 0x7CAD -0x16467 0x7CA2 -0x16468 0x7CAB -0x16469 0x7CA1 -0x1646A 0x7CA8 -0x1646B 0x7CB3 -0x1646C 0x7CB2 -0x1646D 0x7CB1 -0x1646E 0x7CAE -0x1646F 0x7CB9 -0x16470 0x7CBD -0x16471 0x7CC0 -0x16472 0x7CC5 -0x16473 0x7CC2 -0x16474 0x7CD8 -0x16475 0x7CD2 -0x16476 0x7CDC -0x16477 0x7CE2 -0x16478 0x9B3B -0x16479 0x7CEF -0x1647A 0x7CF2 -0x1647B 0x7CF4 -0x1647C 0x7CF6 -0x1647D 0x7CFA -0x1647E 0x7D06 -0x16521 0x7D02 -0x16522 0x7D1C -0x16523 0x7D15 -0x16524 0x7D0A -0x16525 0x7D45 -0x16526 0x7D4B -0x16527 0x7D2E -0x16528 0x7D32 -0x16529 0x7D3F -0x1652A 0x7D35 -0x1652B 0x7D46 -0x1652C 0x7D73 -0x1652D 0x7D56 -0x1652E 0x7D4E -0x1652F 0x7D72 -0x16530 0x7D68 -0x16531 0x7D6E -0x16532 0x7D4F -0x16533 0x7D63 -0x16534 0x7D93 -0x16535 0x7D89 -0x16536 0x7D5B -0x16537 0x7D8F -0x16538 0x7D7D -0x16539 0x7D9B -0x1653A 0x7DBA -0x1653B 0x7DAE -0x1653C 0x7DA3 -0x1653D 0x7DB5 -0x1653E 0x7DC7 -0x1653F 0x7DBD -0x16540 0x7DAB -0x16541 0x7E3D -0x16542 0x7DA2 -0x16543 0x7DAF -0x16544 0x7DDC -0x16545 0x7DB8 -0x16546 0x7D9F -0x16547 0x7DB0 -0x16548 0x7DD8 -0x16549 0x7DDD -0x1654A 0x7DE4 -0x1654B 0x7DDE -0x1654C 0x7DFB -0x1654D 0x7DF2 -0x1654E 0x7DE1 -0x1654F 0x7E05 -0x16550 0x7E0A -0x16551 0x7E23 -0x16552 0x7E21 -0x16553 0x7E12 -0x16554 0x7E31 -0x16555 0x7E1F -0x16556 0x7E09 -0x16557 0x7E0B -0x16558 0x7E22 -0x16559 0x7E46 -0x1655A 0x7E66 -0x1655B 0x7E3B -0x1655C 0x7E35 -0x1655D 0x7E39 -0x1655E 0x7E43 -0x1655F 0x7E37 -0x16560 0x7E32 -0x16561 0x7E3A -0x16562 0x7E67 -0x16563 0x7E5D -0x16564 0x7E56 -0x16565 0x7E5E -0x16566 0x7E59 -0x16567 0x7E5A -0x16568 0x7E79 -0x16569 0x7E6A -0x1656A 0x7E69 -0x1656B 0x7E7C -0x1656C 0x7E7B -0x1656D 0x7E83 -0x1656E 0x7DD5 -0x1656F 0x7E7D -0x16570 0x8FAE -0x16571 0x7E7F -0x16572 0x7E88 -0x16573 0x7E89 -0x16574 0x7E8C -0x16575 0x7E92 -0x16576 0x7E90 -0x16577 0x7E93 -0x16578 0x7E94 -0x16579 0x7E96 -0x1657A 0x7E8E -0x1657B 0x7E9B -0x1657C 0x7E9C -0x1657D 0x7F38 -0x1657E 0x7F3A -0x16621 0x7F45 -0x16622 0x7F4C -0x16623 0x7F4D -0x16624 0x7F4E -0x16625 0x7F50 -0x16626 0x7F51 -0x16627 0x7F55 -0x16628 0x7F54 -0x16629 0x7F58 -0x1662A 0x7F5F -0x1662B 0x7F60 -0x1662C 0x7F68 -0x1662D 0x7F69 -0x1662E 0x7F67 -0x1662F 0x7F78 -0x16630 0x7F82 -0x16631 0x7F86 -0x16632 0x7F83 -0x16633 0x7F88 -0x16634 0x7F87 -0x16635 0x7F8C -0x16636 0x7F94 -0x16637 0x7F9E -0x16638 0x7F9D -0x16639 0x7F9A -0x1663A 0x7FA3 -0x1663B 0x7FAF -0x1663C 0x7FB2 -0x1663D 0x7FB9 -0x1663E 0x7FAE -0x1663F 0x7FB6 -0x16640 0x7FB8 -0x16641 0x8B71 -0x16642 0x7FC5 -0x16643 0x7FC6 -0x16644 0x7FCA -0x16645 0x7FD5 -0x16646 0x7FD4 -0x16647 0x7FE1 -0x16648 0x7FE6 -0x16649 0x7FE9 -0x1664A 0x7FF3 -0x1664B 0x7FF9 -0x1664C 0x98DC -0x1664D 0x8006 -0x1664E 0x8004 -0x1664F 0x800B -0x16650 0x8012 -0x16651 0x8018 -0x16652 0x8019 -0x16653 0x801C -0x16654 0x8021 -0x16655 0x8028 -0x16656 0x803F -0x16657 0x803B -0x16658 0x804A -0x16659 0x8046 -0x1665A 0x8052 -0x1665B 0x8058 -0x1665C 0x805A -0x1665D 0x805F -0x1665E 0x8062 -0x1665F 0x8068 -0x16660 0x8073 -0x16661 0x8072 -0x16662 0x8070 -0x16663 0x8076 -0x16664 0x8079 -0x16665 0x807D -0x16666 0x807F -0x16667 0x8084 -0x16668 0x8086 -0x16669 0x8085 -0x1666A 0x809B -0x1666B 0x8093 -0x1666C 0x809A -0x1666D 0x80AD -0x1666E 0x5190 -0x1666F 0x80AC -0x16670 0x80DB -0x16671 0x80E5 -0x16672 0x80D9 -0x16673 0x80DD -0x16674 0x80C4 -0x16675 0x80DA -0x16676 0x80D6 -0x16677 0x8109 -0x16678 0x80EF -0x16679 0x80F1 -0x1667A 0x811B -0x1667B 0x8129 -0x1667C 0x8123 -0x1667D 0x812F -0x1667E 0x814B -0x16721 0x968B -0x16722 0x8146 -0x16723 0x813E -0x16724 0x8153 -0x16725 0x8151 -0x16726 0x80FC -0x16727 0x8171 -0x16728 0x816E -0x16729 0x8165 -0x1672A 0x8166 -0x1672B 0x8174 -0x1672C 0x8183 -0x1672D 0x8188 -0x1672E 0x818A -0x1672F 0x8180 -0x16730 0x8182 -0x16731 0x81A0 -0x16732 0x8195 -0x16733 0x81A4 -0x16734 0x81A3 -0x16735 0x815F -0x16736 0x8193 -0x16737 0x81A9 -0x16738 0x81B0 -0x16739 0x81B5 -0x1673A 0x81BE -0x1673B 0x81B8 -0x1673C 0x81BD -0x1673D 0x81C0 -0x1673E 0x81C2 -0x1673F 0x81BA -0x16740 0x81C9 -0x16741 0x81CD -0x16742 0x81D1 -0x16743 0x81D9 -0x16744 0x81D8 -0x16745 0x81C8 -0x16746 0x81DA -0x16747 0x81DF -0x16748 0x81E0 -0x16749 0x81E7 -0x1674A 0x81FA -0x1674B 0x81FB -0x1674C 0x81FE -0x1674D 0x8201 -0x1674E 0x8202 -0x1674F 0x8205 -0x16750 0x8207 -0x16751 0x820A -0x16752 0x820D -0x16753 0x8210 -0x16754 0x8216 -0x16755 0x8229 -0x16756 0x822B -0x16757 0x8238 -0x16758 0x8233 -0x16759 0x8240 -0x1675A 0x8259 -0x1675B 0x8258 -0x1675C 0x825D -0x1675D 0x825A -0x1675E 0x825F -0x1675F 0x8264 -0x16760 0x8262 -0x16761 0x8268 -0x16762 0x826A -0x16763 0x826B -0x16764 0x822E -0x16765 0x8271 -0x16766 0x8277 -0x16767 0x8278 -0x16768 0x827E -0x16769 0x828D -0x1676A 0x8292 -0x1676B 0x82AB -0x1676C 0x829F -0x1676D 0x82BB -0x1676E 0x82AC -0x1676F 0x82E1 -0x16770 0x82E3 -0x16771 0x82DF -0x16772 0x82D2 -0x16773 0x82F4 -0x16774 0x82F3 -0x16775 0x82FA -0x16776 0x8393 -0x16777 0x8303 -0x16778 0x82FB -0x16779 0x82F9 -0x1677A 0x82DE -0x1677B 0x8306 -0x1677C 0x82DC -0x1677D 0x8309 -0x1677E 0x82D9 -0x16821 0x8335 -0x16822 0x8334 -0x16823 0x8316 -0x16824 0x8332 -0x16825 0x8331 -0x16826 0x8340 -0x16827 0x8339 -0x16828 0x8350 -0x16829 0x8345 -0x1682A 0x832F -0x1682B 0x832B -0x1682C 0x8317 -0x1682D 0x8318 -0x1682E 0x8385 -0x1682F 0x839A -0x16830 0x83AA -0x16831 0x839F -0x16832 0x83A2 -0x16833 0x8396 -0x16834 0x8323 -0x16835 0x838E -0x16836 0x8387 -0x16837 0x838A -0x16838 0x837C -0x16839 0x83B5 -0x1683A 0x8373 -0x1683B 0x8375 -0x1683C 0x83A0 -0x1683D 0x8389 -0x1683E 0x83A8 -0x1683F 0x83F4 -0x16840 0x8413 -0x16841 0x83EB -0x16842 0x83CE -0x16843 0x83FD -0x16844 0x8403 -0x16845 0x83D8 -0x16846 0x840B -0x16847 0x83C1 -0x16848 0x83F7 -0x16849 0x8407 -0x1684A 0x83E0 -0x1684B 0x83F2 -0x1684C 0x840D -0x1684D 0x8422 -0x1684E 0x8420 -0x1684F 0x83BD -0x16850 0x8438 -0x16851 0x8506 -0x16852 0x83FB -0x16853 0x846D -0x16854 0x842A -0x16855 0x843C -0x16856 0x855A -0x16857 0x8484 -0x16858 0x8477 -0x16859 0x846B -0x1685A 0x84AD -0x1685B 0x846E -0x1685C 0x8482 -0x1685D 0x8469 -0x1685E 0x8446 -0x1685F 0x842C -0x16860 0x846F -0x16861 0x8479 -0x16862 0x8435 -0x16863 0x84CA -0x16864 0x8462 -0x16865 0x84B9 -0x16866 0x84BF -0x16867 0x849F -0x16868 0x84D9 -0x16869 0x84CD -0x1686A 0x84BB -0x1686B 0x84DA -0x1686C 0x84D0 -0x1686D 0x84C1 -0x1686E 0x84C6 -0x1686F 0x84D6 -0x16870 0x84A1 -0x16871 0x8521 -0x16872 0x84FF -0x16873 0x84F4 -0x16874 0x8517 -0x16875 0x8518 -0x16876 0x852C -0x16877 0x851F -0x16878 0x8515 -0x16879 0x8514 -0x1687A 0x84FC -0x1687B 0x8540 -0x1687C 0x8563 -0x1687D 0x8558 -0x1687E 0x8548 -0x16921 0x8541 -0x16922 0x8602 -0x16923 0x854B -0x16924 0x8555 -0x16925 0x8580 -0x16926 0x85A4 -0x16927 0x8588 -0x16928 0x8591 -0x16929 0x858A -0x1692A 0x85A8 -0x1692B 0x856D -0x1692C 0x8594 -0x1692D 0x859B -0x1692E 0x85EA -0x1692F 0x8587 -0x16930 0x859C -0x16931 0x8577 -0x16932 0x857E -0x16933 0x8590 -0x16934 0x85C9 -0x16935 0x85BA -0x16936 0x85CF -0x16937 0x85B9 -0x16938 0x85D0 -0x16939 0x85D5 -0x1693A 0x85DD -0x1693B 0x85E5 -0x1693C 0x85DC -0x1693D 0x85F9 -0x1693E 0x860A -0x1693F 0x8613 -0x16940 0x860B -0x16941 0x85FE -0x16942 0x85FA -0x16943 0x8606 -0x16944 0x8622 -0x16945 0x861A -0x16946 0x8630 -0x16947 0x863F -0x16948 0x864D -0x16949 0x4E55 -0x1694A 0x8654 -0x1694B 0x865F -0x1694C 0x8667 -0x1694D 0x8671 -0x1694E 0x8693 -0x1694F 0x86A3 -0x16950 0x86A9 -0x16951 0x86AA -0x16952 0x868B -0x16953 0x868C -0x16954 0x86B6 -0x16955 0x86AF -0x16956 0x86C4 -0x16957 0x86C6 -0x16958 0x86B0 -0x16959 0x86C9 -0x1695A 0x8823 -0x1695B 0x86AB -0x1695C 0x86D4 -0x1695D 0x86DE -0x1695E 0x86E9 -0x1695F 0x86EC -0x16960 0x86DF -0x16961 0x86DB -0x16962 0x86EF -0x16963 0x8712 -0x16964 0x8706 -0x16965 0x8708 -0x16966 0x8700 -0x16967 0x8703 -0x16968 0x86FB -0x16969 0x8711 -0x1696A 0x8709 -0x1696B 0x870D -0x1696C 0x86F9 -0x1696D 0x870A -0x1696E 0x8734 -0x1696F 0x873F -0x16970 0x8737 -0x16971 0x873B -0x16972 0x8725 -0x16973 0x8729 -0x16974 0x871A -0x16975 0x8760 -0x16976 0x875F -0x16977 0x8778 -0x16978 0x874C -0x16979 0x874E -0x1697A 0x8774 -0x1697B 0x8757 -0x1697C 0x8768 -0x1697D 0x876E -0x1697E 0x8759 -0x16A21 0x8753 -0x16A22 0x8763 -0x16A23 0x876A -0x16A24 0x8805 -0x16A25 0x87A2 -0x16A26 0x879F -0x16A27 0x8782 -0x16A28 0x87AF -0x16A29 0x87CB -0x16A2A 0x87BD -0x16A2B 0x87C0 -0x16A2C 0x87D0 -0x16A2D 0x96D6 -0x16A2E 0x87AB -0x16A2F 0x87C4 -0x16A30 0x87B3 -0x16A31 0x87C7 -0x16A32 0x87C6 -0x16A33 0x87BB -0x16A34 0x87EF -0x16A35 0x87F2 -0x16A36 0x87E0 -0x16A37 0x880F -0x16A38 0x880D -0x16A39 0x87FE -0x16A3A 0x87F6 -0x16A3B 0x87F7 -0x16A3C 0x880E -0x16A3D 0x87D2 -0x16A3E 0x8811 -0x16A3F 0x8816 -0x16A40 0x8815 -0x16A41 0x8822 -0x16A42 0x8821 -0x16A43 0x8831 -0x16A44 0x8836 -0x16A45 0x8839 -0x16A46 0x8827 -0x16A47 0x883B -0x16A48 0x8844 -0x16A49 0x8842 -0x16A4A 0x8852 -0x16A4B 0x8859 -0x16A4C 0x885E -0x16A4D 0x8862 -0x16A4E 0x886B -0x16A4F 0x8881 -0x16A50 0x887E -0x16A51 0x889E -0x16A52 0x8875 -0x16A53 0x887D -0x16A54 0x88B5 -0x16A55 0x8872 -0x16A56 0x8882 -0x16A57 0x8897 -0x16A58 0x8892 -0x16A59 0x88AE -0x16A5A 0x8899 -0x16A5B 0x88A2 -0x16A5C 0x888D -0x16A5D 0x88A4 -0x16A5E 0x88B0 -0x16A5F 0x88BF -0x16A60 0x88B1 -0x16A61 0x88C3 -0x16A62 0x88C4 -0x16A63 0x88D4 -0x16A64 0x88D8 -0x16A65 0x88D9 -0x16A66 0x88DD -0x16A67 0x88F9 -0x16A68 0x8902 -0x16A69 0x88FC -0x16A6A 0x88F4 -0x16A6B 0x88E8 -0x16A6C 0x88F2 -0x16A6D 0x8904 -0x16A6E 0x890C -0x16A6F 0x890A -0x16A70 0x8913 -0x16A71 0x8943 -0x16A72 0x891E -0x16A73 0x8925 -0x16A74 0x892A -0x16A75 0x892B -0x16A76 0x8941 -0x16A77 0x8944 -0x16A78 0x893B -0x16A79 0x8936 -0x16A7A 0x8938 -0x16A7B 0x894C -0x16A7C 0x891D -0x16A7D 0x8960 -0x16A7E 0x895E -0x16B21 0x8966 -0x16B22 0x8964 -0x16B23 0x896D -0x16B24 0x896A -0x16B25 0x896F -0x16B26 0x8974 -0x16B27 0x8977 -0x16B28 0x897E -0x16B29 0x8983 -0x16B2A 0x8988 -0x16B2B 0x898A -0x16B2C 0x8993 -0x16B2D 0x8998 -0x16B2E 0x89A1 -0x16B2F 0x89A9 -0x16B30 0x89A6 -0x16B31 0x89AC -0x16B32 0x89AF -0x16B33 0x89B2 -0x16B34 0x89BA -0x16B35 0x89BD -0x16B36 0x89BF -0x16B37 0x89C0 -0x16B38 0x89DA -0x16B39 0x89DC -0x16B3A 0x89DD -0x16B3B 0x89E7 -0x16B3C 0x89F4 -0x16B3D 0x89F8 -0x16B3E 0x8A03 -0x16B3F 0x8A16 -0x16B40 0x8A10 -0x16B41 0x8A0C -0x16B42 0x8A1B -0x16B43 0x8A1D -0x16B44 0x8A25 -0x16B45 0x8A36 -0x16B46 0x8A41 -0x16B47 0x8A5B -0x16B48 0x8A52 -0x16B49 0x8A46 -0x16B4A 0x8A48 -0x16B4B 0x8A7C -0x16B4C 0x8A6D -0x16B4D 0x8A6C -0x16B4E 0x8A62 -0x16B4F 0x8A85 -0x16B50 0x8A82 -0x16B51 0x8A84 -0x16B52 0x8AA8 -0x16B53 0x8AA1 -0x16B54 0x8A91 -0x16B55 0x8AA5 -0x16B56 0x8AA6 -0x16B57 0x8A9A -0x16B58 0x8AA3 -0x16B59 0x8AC4 -0x16B5A 0x8ACD -0x16B5B 0x8AC2 -0x16B5C 0x8ADA -0x16B5D 0x8AEB -0x16B5E 0x8AF3 -0x16B5F 0x8AE7 -0x16B60 0x8AE4 -0x16B61 0x8AF1 -0x16B62 0x8B14 -0x16B63 0x8AE0 -0x16B64 0x8AE2 -0x16B65 0x8AF7 -0x16B66 0x8ADE -0x16B67 0x8ADB -0x16B68 0x8B0C -0x16B69 0x8B07 -0x16B6A 0x8B1A -0x16B6B 0x8AE1 -0x16B6C 0x8B16 -0x16B6D 0x8B10 -0x16B6E 0x8B17 -0x16B6F 0x8B20 -0x16B70 0x8B33 -0x16B71 0x97AB -0x16B72 0x8B26 -0x16B73 0x8B2B -0x16B74 0x8B3E -0x16B75 0x8B28 -0x16B76 0x8B41 -0x16B77 0x8B4C -0x16B78 0x8B4F -0x16B79 0x8B4E -0x16B7A 0x8B49 -0x16B7B 0x8B56 -0x16B7C 0x8B5B -0x16B7D 0x8B5A -0x16B7E 0x8B6B -0x16C21 0x8B5F -0x16C22 0x8B6C -0x16C23 0x8B6F -0x16C24 0x8B74 -0x16C25 0x8B7D -0x16C26 0x8B80 -0x16C27 0x8B8C -0x16C28 0x8B8E -0x16C29 0x8B92 -0x16C2A 0x8B93 -0x16C2B 0x8B96 -0x16C2C 0x8B99 -0x16C2D 0x8B9A -0x16C2E 0x8C3A -0x16C2F 0x8C41 -0x16C30 0x8C3F -0x16C31 0x8C48 -0x16C32 0x8C4C -0x16C33 0x8C4E -0x16C34 0x8C50 -0x16C35 0x8C55 -0x16C36 0x8C62 -0x16C37 0x8C6C -0x16C38 0x8C78 -0x16C39 0x8C7A -0x16C3A 0x8C82 -0x16C3B 0x8C89 -0x16C3C 0x8C85 -0x16C3D 0x8C8A -0x16C3E 0x8C8D -0x16C3F 0x8C8E -0x16C40 0x8C94 -0x16C41 0x8C7C -0x16C42 0x8C98 -0x16C43 0x621D -0x16C44 0x8CAD -0x16C45 0x8CAA -0x16C46 0x8CBD -0x16C47 0x8CB2 -0x16C48 0x8CB3 -0x16C49 0x8CAE -0x16C4A 0x8CB6 -0x16C4B 0x8CC8 -0x16C4C 0x8CC1 -0x16C4D 0x8CE4 -0x16C4E 0x8CE3 -0x16C4F 0x8CDA -0x16C50 0x8CFD -0x16C51 0x8CFA -0x16C52 0x8CFB -0x16C53 0x8D04 -0x16C54 0x8D05 -0x16C55 0x8D0A -0x16C56 0x8D07 -0x16C57 0x8D0F -0x16C58 0x8D0D -0x16C59 0x8D10 -0x16C5A 0x9F4E -0x16C5B 0x8D13 -0x16C5C 0x8CCD -0x16C5D 0x8D14 -0x16C5E 0x8D16 -0x16C5F 0x8D67 -0x16C60 0x8D6D -0x16C61 0x8D71 -0x16C62 0x8D73 -0x16C63 0x8D81 -0x16C64 0x8D99 -0x16C65 0x8DC2 -0x16C66 0x8DBE -0x16C67 0x8DBA -0x16C68 0x8DCF -0x16C69 0x8DDA -0x16C6A 0x8DD6 -0x16C6B 0x8DCC -0x16C6C 0x8DDB -0x16C6D 0x8DCB -0x16C6E 0x8DEA -0x16C6F 0x8DEB -0x16C70 0x8DDF -0x16C71 0x8DE3 -0x16C72 0x8DFC -0x16C73 0x8E08 -0x16C74 0x8E09 -0x16C75 0x8DFF -0x16C76 0x8E1D -0x16C77 0x8E1E -0x16C78 0x8E10 -0x16C79 0x8E1F -0x16C7A 0x8E42 -0x16C7B 0x8E35 -0x16C7C 0x8E30 -0x16C7D 0x8E34 -0x16C7E 0x8E4A -0x16D21 0x8E47 -0x16D22 0x8E49 -0x16D23 0x8E4C -0x16D24 0x8E50 -0x16D25 0x8E48 -0x16D26 0x8E59 -0x16D27 0x8E64 -0x16D28 0x8E60 -0x16D29 0x8E2A -0x16D2A 0x8E63 -0x16D2B 0x8E55 -0x16D2C 0x8E76 -0x16D2D 0x8E72 -0x16D2E 0x8E7C -0x16D2F 0x8E81 -0x16D30 0x8E87 -0x16D31 0x8E85 -0x16D32 0x8E84 -0x16D33 0x8E8B -0x16D34 0x8E8A -0x16D35 0x8E93 -0x16D36 0x8E91 -0x16D37 0x8E94 -0x16D38 0x8E99 -0x16D39 0x8EAA -0x16D3A 0x8EA1 -0x16D3B 0x8EAC -0x16D3C 0x8EB0 -0x16D3D 0x8EC6 -0x16D3E 0x8EB1 -0x16D3F 0x8EBE -0x16D40 0x8EC5 -0x16D41 0x8EC8 -0x16D42 0x8ECB -0x16D43 0x8EDB -0x16D44 0x8EE3 -0x16D45 0x8EFC -0x16D46 0x8EFB -0x16D47 0x8EEB -0x16D48 0x8EFE -0x16D49 0x8F0A -0x16D4A 0x8F05 -0x16D4B 0x8F15 -0x16D4C 0x8F12 -0x16D4D 0x8F19 -0x16D4E 0x8F13 -0x16D4F 0x8F1C -0x16D50 0x8F1F -0x16D51 0x8F1B -0x16D52 0x8F0C -0x16D53 0x8F26 -0x16D54 0x8F33 -0x16D55 0x8F3B -0x16D56 0x8F39 -0x16D57 0x8F45 -0x16D58 0x8F42 -0x16D59 0x8F3E -0x16D5A 0x8F4C -0x16D5B 0x8F49 -0x16D5C 0x8F46 -0x16D5D 0x8F4E -0x16D5E 0x8F57 -0x16D5F 0x8F5C -0x16D60 0x8F62 -0x16D61 0x8F63 -0x16D62 0x8F64 -0x16D63 0x8F9C -0x16D64 0x8F9F -0x16D65 0x8FA3 -0x16D66 0x8FAD -0x16D67 0x8FAF -0x16D68 0x8FB7 -0x16D69 0x8FDA -0x16D6A 0x8FE5 -0x16D6B 0x8FE2 -0x16D6C 0x8FEA -0x16D6D 0x8FEF -0x16D6E 0x9087 -0x16D6F 0x8FF4 -0x16D70 0x9005 -0x16D71 0x8FF9 -0x16D72 0x8FFA -0x16D73 0x9011 -0x16D74 0x9015 -0x16D75 0x9021 -0x16D76 0x900D -0x16D77 0x901E -0x16D78 0x9016 -0x16D79 0x900B -0x16D7A 0x9027 -0x16D7B 0x9036 -0x16D7C 0x9035 -0x16D7D 0x9039 -0x16D7E 0x8FF8 -0x16E21 0x904F -0x16E22 0x9050 -0x16E23 0x9051 -0x16E24 0x9052 -0x16E25 0x900E -0x16E26 0x9049 -0x16E27 0x903E -0x16E28 0x9056 -0x16E29 0x9058 -0x16E2A 0x905E -0x16E2B 0x9068 -0x16E2C 0x906F -0x16E2D 0x9076 -0x16E2E 0x96A8 -0x16E2F 0x9072 -0x16E30 0x9082 -0x16E31 0x907D -0x16E32 0x9081 -0x16E33 0x9080 -0x16E34 0x908A -0x16E35 0x9089 -0x16E36 0x908F -0x16E37 0x90A8 -0x16E38 0x90AF -0x16E39 0x90B1 -0x16E3A 0x90B5 -0x16E3B 0x90E2 -0x16E3C 0x90E4 -0x16E3D 0x6248 -0x16E3E 0x90DB -0x16E3F 0x9102 -0x16E40 0x9112 -0x16E41 0x9119 -0x16E42 0x9132 -0x16E43 0x9130 -0x16E44 0x914A -0x16E45 0x9156 -0x16E46 0x9158 -0x16E47 0x9163 -0x16E48 0x9165 -0x16E49 0x9169 -0x16E4A 0x9173 -0x16E4B 0x9172 -0x16E4C 0x918B -0x16E4D 0x9189 -0x16E4E 0x9182 -0x16E4F 0x91A2 -0x16E50 0x91AB -0x16E51 0x91AF -0x16E52 0x91AA -0x16E53 0x91B5 -0x16E54 0x91B4 -0x16E55 0x91BA -0x16E56 0x91C0 -0x16E57 0x91C1 -0x16E58 0x91C9 -0x16E59 0x91CB -0x16E5A 0x91D0 -0x16E5B 0x91D6 -0x16E5C 0x91DF -0x16E5D 0x91E1 -0x16E5E 0x91DB -0x16E5F 0x91FC -0x16E60 0x91F5 -0x16E61 0x91F6 -0x16E62 0x921E -0x16E63 0x91FF -0x16E64 0x9214 -0x16E65 0x922C -0x16E66 0x9215 -0x16E67 0x9211 -0x16E68 0x925E -0x16E69 0x9257 -0x16E6A 0x9245 -0x16E6B 0x9249 -0x16E6C 0x9264 -0x16E6D 0x9248 -0x16E6E 0x9295 -0x16E6F 0x923F -0x16E70 0x924B -0x16E71 0x9250 -0x16E72 0x929C -0x16E73 0x9296 -0x16E74 0x9293 -0x16E75 0x929B -0x16E76 0x925A -0x16E77 0x92CF -0x16E78 0x92B9 -0x16E79 0x92B7 -0x16E7A 0x92E9 -0x16E7B 0x930F -0x16E7C 0x92FA -0x16E7D 0x9344 -0x16E7E 0x932E -0x16F21 0x9319 -0x16F22 0x9322 -0x16F23 0x931A -0x16F24 0x9323 -0x16F25 0x933A -0x16F26 0x9335 -0x16F27 0x933B -0x16F28 0x935C -0x16F29 0x9360 -0x16F2A 0x937C -0x16F2B 0x936E -0x16F2C 0x9356 -0x16F2D 0x93B0 -0x16F2E 0x93AC -0x16F2F 0x93AD -0x16F30 0x9394 -0x16F31 0x93B9 -0x16F32 0x93D6 -0x16F33 0x93D7 -0x16F34 0x93E8 -0x16F35 0x93E5 -0x16F36 0x93D8 -0x16F37 0x93C3 -0x16F38 0x93DD -0x16F39 0x93D0 -0x16F3A 0x93C8 -0x16F3B 0x93E4 -0x16F3C 0x941A -0x16F3D 0x9414 -0x16F3E 0x9413 -0x16F3F 0x9403 -0x16F40 0x9407 -0x16F41 0x9410 -0x16F42 0x9436 -0x16F43 0x942B -0x16F44 0x9435 -0x16F45 0x9421 -0x16F46 0x943A -0x16F47 0x9441 -0x16F48 0x9452 -0x16F49 0x9444 -0x16F4A 0x945B -0x16F4B 0x9460 -0x16F4C 0x9462 -0x16F4D 0x945E -0x16F4E 0x946A -0x16F4F 0x9229 -0x16F50 0x9470 -0x16F51 0x9475 -0x16F52 0x9477 -0x16F53 0x947D -0x16F54 0x945A -0x16F55 0x947C -0x16F56 0x947E -0x16F57 0x9481 -0x16F58 0x947F -0x16F59 0x9582 -0x16F5A 0x9587 -0x16F5B 0x958A -0x16F5C 0x9594 -0x16F5D 0x9596 -0x16F5E 0x9598 -0x16F5F 0x9599 -0x16F60 0x95A0 -0x16F61 0x95A8 -0x16F62 0x95A7 -0x16F63 0x95AD -0x16F64 0x95BC -0x16F65 0x95BB -0x16F66 0x95B9 -0x16F67 0x95BE -0x16F68 0x95CA -0x16F69 0x6FF6 -0x16F6A 0x95C3 -0x16F6B 0x95CD -0x16F6C 0x95CC -0x16F6D 0x95D5 -0x16F6E 0x95D4 -0x16F6F 0x95D6 -0x16F70 0x95DC -0x16F71 0x95E1 -0x16F72 0x95E5 -0x16F73 0x95E2 -0x16F74 0x9621 -0x16F75 0x9628 -0x16F76 0x962E -0x16F77 0x962F -0x16F78 0x9642 -0x16F79 0x964C -0x16F7A 0x964F -0x16F7B 0x964B -0x16F7C 0x9677 -0x16F7D 0x965C -0x16F7E 0x965E -0x17021 0x965D -0x17022 0x965F -0x17023 0x9666 -0x17024 0x9672 -0x17025 0x966C -0x17026 0x968D -0x17027 0x9698 -0x17028 0x9695 -0x17029 0x9697 -0x1702A 0x96AA -0x1702B 0x96A7 -0x1702C 0x96B1 -0x1702D 0x96B2 -0x1702E 0x96B0 -0x1702F 0x96B4 -0x17030 0x96B6 -0x17031 0x96B8 -0x17032 0x96B9 -0x17033 0x96CE -0x17034 0x96CB -0x17035 0x96C9 -0x17036 0x96CD -0x17037 0x894D -0x17038 0x96DC -0x17039 0x970D -0x1703A 0x96D5 -0x1703B 0x96F9 -0x1703C 0x9704 -0x1703D 0x9706 -0x1703E 0x9708 -0x1703F 0x9713 -0x17040 0x970E -0x17041 0x9711 -0x17042 0x970F -0x17043 0x9716 -0x17044 0x9719 -0x17045 0x9724 -0x17046 0x972A -0x17047 0x9730 -0x17048 0x9739 -0x17049 0x973D -0x1704A 0x973E -0x1704B 0x9744 -0x1704C 0x9746 -0x1704D 0x9748 -0x1704E 0x9742 -0x1704F 0x9749 -0x17050 0x975C -0x17051 0x9760 -0x17052 0x9764 -0x17053 0x9766 -0x17054 0x9768 -0x17055 0x52D2 -0x17056 0x976B -0x17057 0x9771 -0x17058 0x9779 -0x17059 0x9785 -0x1705A 0x977C -0x1705B 0x9781 -0x1705C 0x977A -0x1705D 0x9786 -0x1705E 0x978B -0x1705F 0x978F -0x17060 0x9790 -0x17061 0x979C -0x17062 0x97A8 -0x17063 0x97A6 -0x17064 0x97A3 -0x17065 0x97B3 -0x17066 0x97B4 -0x17067 0x97C3 -0x17068 0x97C6 -0x17069 0x97C8 -0x1706A 0x97CB -0x1706B 0x97DC -0x1706C 0x97ED -0x1706D 0x9F4F -0x1706E 0x97F2 -0x1706F 0x7ADF -0x17070 0x97F6 -0x17071 0x97F5 -0x17072 0x980F -0x17073 0x980C -0x17074 0x9838 -0x17075 0x9824 -0x17076 0x9821 -0x17077 0x9837 -0x17078 0x983D -0x17079 0x9846 -0x1707A 0x984F -0x1707B 0x984B -0x1707C 0x986B -0x1707D 0x986F -0x1707E 0x9870 -0x17121 0x9871 -0x17122 0x9874 -0x17123 0x9873 -0x17124 0x98AA -0x17125 0x98AF -0x17126 0x98B1 -0x17127 0x98B6 -0x17128 0x98C4 -0x17129 0x98C3 -0x1712A 0x98C6 -0x1712B 0x98E9 -0x1712C 0x98EB -0x1712D 0x9903 -0x1712E 0x9909 -0x1712F 0x9912 -0x17130 0x9914 -0x17131 0x9918 -0x17132 0x9921 -0x17133 0x991D -0x17134 0x991E -0x17135 0x9924 -0x17136 0x9920 -0x17137 0x992C -0x17138 0x992E -0x17139 0x993D -0x1713A 0x993E -0x1713B 0x9942 -0x1713C 0x9949 -0x1713D 0x9945 -0x1713E 0x9950 -0x1713F 0x994B -0x17140 0x9951 -0x17141 0x9952 -0x17142 0x994C -0x17143 0x9955 -0x17144 0x9997 -0x17145 0x9998 -0x17146 0x99A5 -0x17147 0x99AD -0x17148 0x99AE -0x17149 0x99BC -0x1714A 0x99DF -0x1714B 0x99DB -0x1714C 0x99DD -0x1714D 0x99D8 -0x1714E 0x99D1 -0x1714F 0x99ED -0x17150 0x99EE -0x17151 0x99F1 -0x17152 0x99F2 -0x17153 0x99FB -0x17154 0x99F8 -0x17155 0x9A01 -0x17156 0x9A0F -0x17157 0x9A05 -0x17158 0x99E2 -0x17159 0x9A19 -0x1715A 0x9A2B -0x1715B 0x9A37 -0x1715C 0x9A45 -0x1715D 0x9A42 -0x1715E 0x9A40 -0x1715F 0x9A43 -0x17160 0x9A3E -0x17161 0x9A55 -0x17162 0x9A4D -0x17163 0x9A5B -0x17164 0x9A57 -0x17165 0x9A5F -0x17166 0x9A62 -0x17167 0x9A65 -0x17168 0x9A64 -0x17169 0x9A69 -0x1716A 0x9A6B -0x1716B 0x9A6A -0x1716C 0x9AAD -0x1716D 0x9AB0 -0x1716E 0x9ABC -0x1716F 0x9AC0 -0x17170 0x9ACF -0x17171 0x9AD1 -0x17172 0x9AD3 -0x17173 0x9AD4 -0x17174 0x9ADE -0x17175 0x9ADF -0x17176 0x9AE2 -0x17177 0x9AE3 -0x17178 0x9AE6 -0x17179 0x9AEF -0x1717A 0x9AEB -0x1717B 0x9AEE -0x1717C 0x9AF4 -0x1717D 0x9AF1 -0x1717E 0x9AF7 -0x17221 0x9AFB -0x17222 0x9B06 -0x17223 0x9B18 -0x17224 0x9B1A -0x17225 0x9B1F -0x17226 0x9B22 -0x17227 0x9B23 -0x17228 0x9B25 -0x17229 0x9B27 -0x1722A 0x9B28 -0x1722B 0x9B29 -0x1722C 0x9B2A -0x1722D 0x9B2E -0x1722E 0x9B2F -0x1722F 0x9B32 -0x17230 0x9B44 -0x17231 0x9B43 -0x17232 0x9B4F -0x17233 0x9B4D -0x17234 0x9B4E -0x17235 0x9B51 -0x17236 0x9B58 -0x17237 0x9B74 -0x17238 0x9B93 -0x17239 0x9B83 -0x1723A 0x9B91 -0x1723B 0x9B96 -0x1723C 0x9B97 -0x1723D 0x9B9F -0x1723E 0x9BA0 -0x1723F 0x9BA8 -0x17240 0x9BB4 -0x17241 0x9BC0 -0x17242 0x9BCA -0x17243 0x9BB9 -0x17244 0x9BC6 -0x17245 0x9BCF -0x17246 0x9BD1 -0x17247 0x9BD2 -0x17248 0x9BE3 -0x17249 0x9BE2 -0x1724A 0x9BE4 -0x1724B 0x9BD4 -0x1724C 0x9BE1 -0x1724D 0x9C3A -0x1724E 0x9BF2 -0x1724F 0x9BF1 -0x17250 0x9BF0 -0x17251 0x9C15 -0x17252 0x9C14 -0x17253 0x9C09 -0x17254 0x9C13 -0x17255 0x9C0C -0x17256 0x9C06 -0x17257 0x9C08 -0x17258 0x9C12 -0x17259 0x9C0A -0x1725A 0x9C04 -0x1725B 0x9C2E -0x1725C 0x9C1B -0x1725D 0x9C25 -0x1725E 0x9C24 -0x1725F 0x9C21 -0x17260 0x9C30 -0x17261 0x9C47 -0x17262 0x9C32 -0x17263 0x9C46 -0x17264 0x9C3E -0x17265 0x9C5A -0x17266 0x9C60 -0x17267 0x9C67 -0x17268 0x9C76 -0x17269 0x9C78 -0x1726A 0x9CE7 -0x1726B 0x9CEC -0x1726C 0x9CF0 -0x1726D 0x9D09 -0x1726E 0x9D08 -0x1726F 0x9CEB -0x17270 0x9D03 -0x17271 0x9D06 -0x17272 0x9D2A -0x17273 0x9D26 -0x17274 0x9DAF -0x17275 0x9D23 -0x17276 0x9D1F -0x17277 0x9D44 -0x17278 0x9D15 -0x17279 0x9D12 -0x1727A 0x9D41 -0x1727B 0x9D3F -0x1727C 0x9D3E -0x1727D 0x9D46 -0x1727E 0x9D48 -0x17321 0x9D5D -0x17322 0x9D5E -0x17323 0x9D64 -0x17324 0x9D51 -0x17325 0x9D50 -0x17326 0x9D59 -0x17327 0x9D72 -0x17328 0x9D89 -0x17329 0x9D87 -0x1732A 0x9DAB -0x1732B 0x9D6F -0x1732C 0x9D7A -0x1732D 0x9D9A -0x1732E 0x9DA4 -0x1732F 0x9DA9 -0x17330 0x9DB2 -0x17331 0x9DC4 -0x17332 0x9DC1 -0x17333 0x9DBB -0x17334 0x9DB8 -0x17335 0x9DBA -0x17336 0x9DC6 -0x17337 0x9DCF -0x17338 0x9DC2 -0x17339 0x9DD9 -0x1733A 0x9DD3 -0x1733B 0x9DF8 -0x1733C 0x9DE6 -0x1733D 0x9DED -0x1733E 0x9DEF -0x1733F 0x9DFD -0x17340 0x9E1A -0x17341 0x9E1B -0x17342 0x9E1E -0x17343 0x9E75 -0x17344 0x9E79 -0x17345 0x9E7D -0x17346 0x9E81 -0x17347 0x9E88 -0x17348 0x9E8B -0x17349 0x9E8C -0x1734A 0x9E92 -0x1734B 0x9E95 -0x1734C 0x9E91 -0x1734D 0x9E9D -0x1734E 0x9EA5 -0x1734F 0x9EA9 -0x17350 0x9EB8 -0x17351 0x9EAA -0x17352 0x9EAD -0x17353 0x9761 -0x17354 0x9ECC -0x17355 0x9ECE -0x17356 0x9ECF -0x17357 0x9ED0 -0x17358 0x9ED4 -0x17359 0x9EDC -0x1735A 0x9EDE -0x1735B 0x9EDD -0x1735C 0x9EE0 -0x1735D 0x9EE5 -0x1735E 0x9EE8 -0x1735F 0x9EEF -0x17360 0x9EF4 -0x17361 0x9EF6 -0x17362 0x9EF7 -0x17363 0x9EF9 -0x17364 0x9EFB -0x17365 0x9EFC -0x17366 0x9EFD -0x17367 0x9F07 -0x17368 0x9F08 -0x17369 0x76B7 -0x1736A 0x9F15 -0x1736B 0x9F21 -0x1736C 0x9F2C -0x1736D 0x9F3E -0x1736E 0x9F4A -0x1736F 0x9F52 -0x17370 0x9F54 -0x17371 0x9F63 -0x17372 0x9F5F -0x17373 0x9F60 -0x17374 0x9F61 -0x17375 0x9F66 -0x17376 0x9F67 -0x17377 0x9F6C -0x17378 0x9F6A -0x17379 0x9F77 -0x1737A 0x9F72 -0x1737B 0x9F76 -0x1737C 0x9F95 -0x1737D 0x9F9C -0x1737E 0x9FA0 -0x17421 0x582F -0x17422 0x69C7 -0x17423 0x9059 -0x17424 0x7464 -0x17425 0x51DC -0x17426 0x7199 -0x17427 0x5653 -0x17428 0x5DE2 -0x17429 0x5E14 -0x1742A 0x5E18 -0x1742B 0x5E58 -0x1742C 0x5E5E -0x1742D 0x5EBE -0x1742E 0xF928 -0x1742F 0x5ECB -0x17430 0x5EF9 -0x17431 0x5F00 -0x17432 0x5F02 -0x17433 0x5F07 -0x17434 0x5F1D -0x17435 0x5F23 -0x17436 0x5F34 -0x17437 0x5F36 -0x17438 0x5F3D -0x17439 0x5F40 -0x1743A 0x5F45 -0x1743B 0x5F54 -0x1743C 0x5F58 -0x1743D 0x5F64 -0x1743E 0x5F67 -0x1743F 0x5F7D -0x17440 0x5F89 -0x17441 0x5F9C -0x17442 0x5FA7 -0x17443 0x5FAF -0x17444 0x5FB5 -0x17445 0x5FB7 -0x17446 0x5FC9 -0x17447 0x5FDE -0x17448 0x5FE1 -0x17449 0x5FE9 -0x1744A 0x600D -0x1744B 0x6014 -0x1744C 0x6018 -0x1744D 0x6033 -0x1744E 0x6035 -0x1744F 0x6047 -0x17450 0xFA3D -0x17451 0x609D -0x17452 0x609E -0x17453 0x60CB -0x17454 0x60D4 -0x17455 0x60D5 -0x17456 0x60DD -0x17457 0x60F8 -0x17458 0x611C -0x17459 0x612B -0x1745A 0x6130 -0x1745B 0x6137 -0x1745C 0xFA3E -0x1745D 0x618D -0x1745E 0xFA3F -0x1745F 0x61BC -0x17460 0x61B9 -0x17461 0xFA40 -0x17462 0x6222 -0x17463 0x623E -0x17464 0x6243 -0x17465 0x6256 -0x17466 0x625A -0x17467 0x626F -0x17468 0x6285 -0x17469 0x62C4 -0x1746A 0x62D6 -0x1746B 0x62FC -0x1746C 0x630A -0x1746D 0x6318 -0x1746E 0x6339 -0x1746F 0x6343 -0x17470 0x6365 -0x17471 0x637C -0x17472 0x63E5 -0x17473 0x63ED -0x17474 0x63F5 -0x17475 0x6410 -0x17476 0x6414 -0x17477 0x6422 -0x17478 0x6479 -0x17479 0x6451 -0x1747A 0x6460 -0x1747B 0x646D -0x1747C 0x64CE -0x1747D 0x64BE -0x1747E 0x64BF -0x17521 0x64C4 -0x17522 0x64CA -0x17523 0x64D0 -0x17524 0x64F7 -0x17525 0x64FB -0x17526 0x6522 -0x17527 0x6529 -0x17528 0xFA41 -0x17529 0x6567 -0x1752A 0x659D -0x1752B 0xFA42 -0x1752C 0x6600 -0x1752D 0x6609 -0x1752E 0x6615 -0x1752F 0x661E -0x17530 0x663A -0x17531 0x6622 -0x17532 0x6624 -0x17533 0x662B -0x17534 0x6630 -0x17535 0x6631 -0x17536 0x6633 -0x17537 0x66FB -0x17538 0x6648 -0x17539 0x664C -0x1753A 0x231C4 -0x1753B 0x6659 -0x1753C 0x665A -0x1753D 0x6661 -0x1753E 0x6665 -0x1753F 0x6673 -0x17540 0x6677 -0x17541 0x6678 -0x17542 0x668D -0x17543 0xFA43 -0x17544 0x66A0 -0x17545 0x66B2 -0x17546 0x66BB -0x17547 0x66C6 -0x17548 0x66C8 -0x17549 0x3B22 -0x1754A 0x66DB -0x1754B 0x66E8 -0x1754C 0x66FA -0x1754D 0x6713 -0x1754E 0xF929 -0x1754F 0x6733 -0x17550 0x6766 -0x17551 0x6747 -0x17552 0x6748 -0x17553 0x677B -0x17554 0x6781 -0x17555 0x6793 -0x17556 0x6798 -0x17557 0x679B -0x17558 0x67BB -0x17559 0x67F9 -0x1755A 0x67C0 -0x1755B 0x67D7 -0x1755C 0x67FC -0x1755D 0x6801 -0x1755E 0x6852 -0x1755F 0x681D -0x17560 0x682C -0x17561 0x6831 -0x17562 0x685B -0x17563 0x6872 -0x17564 0x6875 -0x17565 0xFA44 -0x17566 0x68A3 -0x17567 0x68A5 -0x17568 0x68B2 -0x17569 0x68C8 -0x1756A 0x68D0 -0x1756B 0x68E8 -0x1756C 0x68ED -0x1756D 0x68F0 -0x1756E 0x68F1 -0x1756F 0x68FC -0x17570 0x690A -0x17571 0x6949 -0x17572 0x235C4 -0x17573 0x6935 -0x17574 0x6942 -0x17575 0x6957 -0x17576 0x6963 -0x17577 0x6964 -0x17578 0x6968 -0x17579 0x6980 -0x1757A 0xFA14 -0x1757B 0x69A5 -0x1757C 0x69AD -0x1757D 0x69CF -0x1757E 0x3BB6 -0x17621 0x3BC3 -0x17622 0x69E2 -0x17623 0x69E9 -0x17624 0x69EA -0x17625 0x69F5 -0x17626 0x69F6 -0x17627 0x6A0F -0x17628 0x6A15 -0x17629 0x2373F -0x1762A 0x6A3B -0x1762B 0x6A3E -0x1762C 0x6A45 -0x1762D 0x6A50 -0x1762E 0x6A56 -0x1762F 0x6A5B -0x17630 0x6A6B -0x17631 0x6A73 -0x17632 0x23763 -0x17633 0x6A89 -0x17634 0x6A94 -0x17635 0x6A9D -0x17636 0x6A9E -0x17637 0x6AA5 -0x17638 0x6AE4 -0x17639 0x6AE7 -0x1763A 0x3C0F -0x1763B 0xF91D -0x1763C 0x6B1B -0x1763D 0x6B1E -0x1763E 0x6B2C -0x1763F 0x6B35 -0x17640 0x6B46 -0x17641 0x6B56 -0x17642 0x6B60 -0x17643 0x6B65 -0x17644 0x6B67 -0x17645 0x6B77 -0x17646 0x6B82 -0x17647 0x6BA9 -0x17648 0x6BAD -0x17649 0xF970 -0x1764A 0x6BCF -0x1764B 0x6BD6 -0x1764C 0x6BD7 -0x1764D 0x6BFF -0x1764E 0x6C05 -0x1764F 0x6C10 -0x17650 0x6C33 -0x17651 0x6C59 -0x17652 0x6C5C -0x17653 0x6CAA -0x17654 0x6C74 -0x17655 0x6C76 -0x17656 0x6C85 -0x17657 0x6C86 -0x17658 0x6C98 -0x17659 0x6C9C -0x1765A 0x6CFB -0x1765B 0x6CC6 -0x1765C 0x6CD4 -0x1765D 0x6CE0 -0x1765E 0x6CEB -0x1765F 0x6CEE -0x17660 0x23CFE -0x17661 0x6D04 -0x17662 0x6D0E -0x17663 0x6D2E -0x17664 0x6D31 -0x17665 0x6D39 -0x17666 0x6D3F -0x17667 0x6D58 -0x17668 0x6D65 -0x17669 0xFA45 -0x1766A 0x6D82 -0x1766B 0x6D87 -0x1766C 0x6D89 -0x1766D 0x6D94 -0x1766E 0x6DAA -0x1766F 0x6DAC -0x17670 0x6DBF -0x17671 0x6DC4 -0x17672 0x6DD6 -0x17673 0x6DDA -0x17674 0x6DDB -0x17675 0x6DDD -0x17676 0x6DFC -0x17677 0xFA46 -0x17678 0x6E34 -0x17679 0x6E44 -0x1767A 0x6E5C -0x1767B 0x6E5E -0x1767C 0x6EAB -0x1767D 0x6EB1 -0x1767E 0x6EC1 -0x17721 0x6EC7 -0x17722 0x6ECE -0x17723 0x6F10 -0x17724 0x6F1A -0x17725 0xFA47 -0x17726 0x6F2A -0x17727 0x6F2F -0x17728 0x6F33 -0x17729 0x6F51 -0x1772A 0x6F59 -0x1772B 0x6F5E -0x1772C 0x6F61 -0x1772D 0x6F62 -0x1772E 0x6F7E -0x1772F 0x6F88 -0x17730 0x6F8C -0x17731 0x6F8D -0x17732 0x6F94 -0x17733 0x6FA0 -0x17734 0x6FA7 -0x17735 0x6FB6 -0x17736 0x6FBC -0x17737 0x6FC7 -0x17738 0x6FCA -0x17739 0x6FF9 -0x1773A 0x6FF0 -0x1773B 0x6FF5 -0x1773C 0x7005 -0x1773D 0x7006 -0x1773E 0x7028 -0x1773F 0x704A -0x17740 0x705D -0x17741 0x705E -0x17742 0x704E -0x17743 0x7064 -0x17744 0x7075 -0x17745 0x7085 -0x17746 0x70A4 -0x17747 0x70AB -0x17748 0x70B7 -0x17749 0x70D4 -0x1774A 0x70D8 -0x1774B 0x70E4 -0x1774C 0x710F -0x1774D 0x712B -0x1774E 0x711E -0x1774F 0x7120 -0x17750 0x712E -0x17751 0x7130 -0x17752 0x7146 -0x17753 0x7147 -0x17754 0x7151 -0x17755 0xFA48 -0x17756 0x7152 -0x17757 0x715C -0x17758 0x7160 -0x17759 0x7168 -0x1775A 0xFA15 -0x1775B 0x7185 -0x1775C 0x7187 -0x1775D 0x7192 -0x1775E 0x71C1 -0x1775F 0x71BA -0x17760 0x71C4 -0x17761 0x71FE -0x17762 0x7200 -0x17763 0x7215 -0x17764 0x7255 -0x17765 0x7256 -0x17766 0x3E3F -0x17767 0x728D -0x17768 0x729B -0x17769 0x72BE -0x1776A 0x72C0 -0x1776B 0x72FB -0x1776C 0x247F1 -0x1776D 0x7327 -0x1776E 0x7328 -0x1776F 0xFA16 -0x17770 0x7350 -0x17771 0x7366 -0x17772 0x737C -0x17773 0x7395 -0x17774 0x739F -0x17775 0x73A0 -0x17776 0x73A2 -0x17777 0x73A6 -0x17778 0x73AB -0x17779 0x73C9 -0x1777A 0x73CF -0x1777B 0x73D6 -0x1777C 0x73D9 -0x1777D 0x73E3 -0x1777E 0x73E9 -0x17821 0x7407 -0x17822 0x740A -0x17823 0x741A -0x17824 0x741B -0x17825 0xFA4A -0x17826 0x7426 -0x17827 0x7428 -0x17828 0x742A -0x17829 0x742B -0x1782A 0x742C -0x1782B 0x742E -0x1782C 0x742F -0x1782D 0x7430 -0x1782E 0x7444 -0x1782F 0x7446 -0x17830 0x7447 -0x17831 0x744B -0x17832 0x7457 -0x17833 0x7462 -0x17834 0x746B -0x17835 0x746D -0x17836 0x7486 -0x17837 0x7487 -0x17838 0x7489 -0x17839 0x7498 -0x1783A 0x749C -0x1783B 0x749F -0x1783C 0x74A3 -0x1783D 0x7490 -0x1783E 0x74A6 -0x1783F 0x74A8 -0x17840 0x74A9 -0x17841 0x74B5 -0x17842 0x74BF -0x17843 0x74C8 -0x17844 0x74C9 -0x17845 0x74DA -0x17846 0x74FF -0x17847 0x7501 -0x17848 0x7517 -0x17849 0x752F -0x1784A 0x756F -0x1784B 0x7579 -0x1784C 0x7592 -0x1784D 0x3F72 -0x1784E 0x75CE -0x1784F 0x75E4 -0x17850 0x7600 -0x17851 0x7602 -0x17852 0x7608 -0x17853 0x7615 -0x17854 0x7616 -0x17855 0x7619 -0x17856 0x761E -0x17857 0x762D -0x17858 0x7635 -0x17859 0x7643 -0x1785A 0x764B -0x1785B 0x7664 -0x1785C 0x7665 -0x1785D 0x766D -0x1785E 0x766F -0x1785F 0x7671 -0x17860 0x7681 -0x17861 0x769B -0x17862 0x769D -0x17863 0x769E -0x17864 0x76A6 -0x17865 0x76AA -0x17866 0x76B6 -0x17867 0x76C5 -0x17868 0x76CC -0x17869 0x76CE -0x1786A 0x76D4 -0x1786B 0x76E6 -0x1786C 0x76F1 -0x1786D 0x76FC -0x1786E 0x770A -0x1786F 0x7719 -0x17870 0x7734 -0x17871 0x7736 -0x17872 0x7746 -0x17873 0x774D -0x17874 0x774E -0x17875 0x775C -0x17876 0x775F -0x17877 0x7762 -0x17878 0x777A -0x17879 0x7780 -0x1787A 0x7794 -0x1787B 0x77AA -0x1787C 0x77E0 -0x1787D 0x782D -0x1787E 0x2548E -0x17921 0x7843 -0x17922 0x784E -0x17923 0x784F -0x17924 0x7851 -0x17925 0x7868 -0x17926 0x786E -0x17927 0xFA4B -0x17928 0x78B0 -0x17929 0x2550E -0x1792A 0x78AD -0x1792B 0x78E4 -0x1792C 0x78F2 -0x1792D 0x7900 -0x1792E 0x78F7 -0x1792F 0x791C -0x17930 0x792E -0x17931 0x7931 -0x17932 0x7934 -0x17933 0xFA4C -0x17934 0xFA4D -0x17935 0x7945 -0x17936 0x7946 -0x17937 0xFA4E -0x17938 0xFA4F -0x17939 0xFA50 -0x1793A 0x795C -0x1793B 0xFA51 -0x1793C 0xFA19 -0x1793D 0xFA1A -0x1793E 0x7979 -0x1793F 0xFA52 -0x17940 0xFA53 -0x17941 0xFA1B -0x17942 0x7998 -0x17943 0x79B1 -0x17944 0x79B8 -0x17945 0x79C8 -0x17946 0x79CA -0x17947 0x25771 -0x17948 0x79D4 -0x17949 0x79DE -0x1794A 0x79EB -0x1794B 0x79ED -0x1794C 0x7A03 -0x1794D 0xFA54 -0x1794E 0x7A39 -0x1794F 0x7A5D -0x17950 0x7A6D -0x17951 0xFA55 -0x17952 0x7A85 -0x17953 0x7AA0 -0x17954 0x259C4 -0x17955 0x7AB3 -0x17956 0x7ABB -0x17957 0x7ACE -0x17958 0x7AEB -0x17959 0x7AFD -0x1795A 0x7B12 -0x1795B 0x7B2D -0x1795C 0x7B3B -0x1795D 0x7B47 -0x1795E 0x7B4E -0x1795F 0x7B60 -0x17960 0x7B6D -0x17961 0x7B6F -0x17962 0x7B72 -0x17963 0x7B9E -0x17964 0xFA56 -0x17965 0x7BD7 -0x17966 0x7BD9 -0x17967 0x7C01 -0x17968 0x7C31 -0x17969 0x7C1E -0x1796A 0x7C20 -0x1796B 0x7C33 -0x1796C 0x7C36 -0x1796D 0x4264 -0x1796E 0x25DA1 -0x1796F 0x7C59 -0x17970 0x7C6D -0x17971 0x7C79 -0x17972 0x7C8F -0x17973 0x7C94 -0x17974 0x7CA0 -0x17975 0x7CBC -0x17976 0x7CD5 -0x17977 0x7CD9 -0x17978 0x7CDD -0x17979 0x7D07 -0x1797A 0x7D08 -0x1797B 0x7D13 -0x1797C 0x7D1D -0x1797D 0x7D23 -0x1797E 0x7D31 -0x17A21 0x7D41 -0x17A22 0x7D48 -0x17A23 0x7D53 -0x17A24 0x7D5C -0x17A25 0x7D7A -0x17A26 0x7D83 -0x17A27 0x7D8B -0x17A28 0x7DA0 -0x17A29 0x7DA6 -0x17A2A 0x7DC2 -0x17A2B 0x7DCC -0x17A2C 0x7DD6 -0x17A2D 0x7DE3 -0x17A2E 0xFA57 -0x17A2F 0x7E28 -0x17A30 0x7E08 -0x17A31 0x7E11 -0x17A32 0x7E15 -0x17A33 0xFA59 -0x17A34 0x7E47 -0x17A35 0x7E52 -0x17A36 0x7E61 -0x17A37 0x7E8A -0x17A38 0x7E8D -0x17A39 0x7F47 -0x17A3A 0xFA5A -0x17A3B 0x7F91 -0x17A3C 0x7F97 -0x17A3D 0x7FBF -0x17A3E 0x7FCE -0x17A3F 0x7FDB -0x17A40 0x7FDF -0x17A41 0x7FEC -0x17A42 0x7FEE -0x17A43 0x7FFA -0x17A44 0xFA5B -0x17A45 0x8014 -0x17A46 0x8026 -0x17A47 0x8035 -0x17A48 0x8037 -0x17A49 0x803C -0x17A4A 0x80CA -0x17A4B 0x80D7 -0x17A4C 0x80E0 -0x17A4D 0x80F3 -0x17A4E 0x8118 -0x17A4F 0x814A -0x17A50 0x8160 -0x17A51 0x8167 -0x17A52 0x8168 -0x17A53 0x816D -0x17A54 0x81BB -0x17A55 0x81CA -0x17A56 0x81CF -0x17A57 0x81D7 -0x17A58 0xFA5C -0x17A59 0x4453 -0x17A5A 0x445B -0x17A5B 0x8260 -0x17A5C 0x8274 -0x17A5D 0x26AFF -0x17A5E 0x828E -0x17A5F 0x82A1 -0x17A60 0x82A3 -0x17A61 0x82A4 -0x17A62 0x82A9 -0x17A63 0x82AE -0x17A64 0x82B7 -0x17A65 0x82BE -0x17A66 0x82BF -0x17A67 0x82C6 -0x17A68 0x82D5 -0x17A69 0x82FD -0x17A6A 0x82FE -0x17A6B 0x8300 -0x17A6C 0x8301 -0x17A6D 0x8362 -0x17A6E 0x8322 -0x17A6F 0x832D -0x17A70 0x833A -0x17A71 0x8343 -0x17A72 0x8347 -0x17A73 0x8351 -0x17A74 0x8355 -0x17A75 0x837D -0x17A76 0x8386 -0x17A77 0x8392 -0x17A78 0x8398 -0x17A79 0x83A7 -0x17A7A 0x83A9 -0x17A7B 0x83BF -0x17A7C 0x83C0 -0x17A7D 0x83C7 -0x17A7E 0x83CF -0x17B21 0x83D1 -0x17B22 0x83E1 -0x17B23 0x83EA -0x17B24 0x8401 -0x17B25 0x8406 -0x17B26 0x840A -0x17B27 0xFA5F -0x17B28 0x8448 -0x17B29 0x845F -0x17B2A 0x8470 -0x17B2B 0x8473 -0x17B2C 0x8485 -0x17B2D 0x849E -0x17B2E 0x84AF -0x17B2F 0x84B4 -0x17B30 0x84BA -0x17B31 0x84C0 -0x17B32 0x84C2 -0x17B33 0x26E40 -0x17B34 0x8532 -0x17B35 0x851E -0x17B36 0x8523 -0x17B37 0x852F -0x17B38 0x8559 -0x17B39 0x8564 -0x17B3A 0xFA1F -0x17B3B 0x85AD -0x17B3C 0x857A -0x17B3D 0x858C -0x17B3E 0x858F -0x17B3F 0x85A2 -0x17B40 0x85B0 -0x17B41 0x85CB -0x17B42 0x85CE -0x17B43 0x85ED -0x17B44 0x8612 -0x17B45 0x85FF -0x17B46 0x8604 -0x17B47 0x8605 -0x17B48 0x8610 -0x17B49 0x270F4 -0x17B4A 0x8618 -0x17B4B 0x8629 -0x17B4C 0x8638 -0x17B4D 0x8657 -0x17B4E 0x865B -0x17B4F 0xF936 -0x17B50 0x8662 -0x17B51 0x459D -0x17B52 0x866C -0x17B53 0x8675 -0x17B54 0x8698 -0x17B55 0x86B8 -0x17B56 0x86FA -0x17B57 0x86FC -0x17B58 0x86FD -0x17B59 0x870B -0x17B5A 0x8771 -0x17B5B 0x8787 -0x17B5C 0x8788 -0x17B5D 0x87AC -0x17B5E 0x87AD -0x17B5F 0x87B5 -0x17B60 0x45EA -0x17B61 0x87D6 -0x17B62 0x87EC -0x17B63 0x8806 -0x17B64 0x880A -0x17B65 0x8810 -0x17B66 0x8814 -0x17B67 0x881F -0x17B68 0x8898 -0x17B69 0x88AA -0x17B6A 0x88CA -0x17B6B 0x88CE -0x17B6C 0x27684 -0x17B6D 0x88F5 -0x17B6E 0x891C -0x17B6F 0xFA60 -0x17B70 0x8918 -0x17B71 0x8919 -0x17B72 0x891A -0x17B73 0x8927 -0x17B74 0x8930 -0x17B75 0x8932 -0x17B76 0x8939 -0x17B77 0x8940 -0x17B78 0x8994 -0x17B79 0xFA61 -0x17B7A 0x89D4 -0x17B7B 0x89E5 -0x17B7C 0x89F6 -0x17B7D 0x8A12 -0x17B7E 0x8A15 -0x17C21 0x8A22 -0x17C22 0x8A37 -0x17C23 0x8A47 -0x17C24 0x8A4E -0x17C25 0x8A5D -0x17C26 0x8A61 -0x17C27 0x8A75 -0x17C28 0x8A79 -0x17C29 0x8AA7 -0x17C2A 0x8AD0 -0x17C2B 0x8ADF -0x17C2C 0x8AF4 -0x17C2D 0x8AF6 -0x17C2E 0xFA22 -0x17C2F 0xFA62 -0x17C30 0xFA63 -0x17C31 0x8B46 -0x17C32 0x8B54 -0x17C33 0x8B59 -0x17C34 0x8B69 -0x17C35 0x8B9D -0x17C36 0x8C49 -0x17C37 0x8C68 -0x17C38 0xFA64 -0x17C39 0x8CE1 -0x17C3A 0x8CF4 -0x17C3B 0x8CF8 -0x17C3C 0x8CFE -0x17C3D 0xFA65 -0x17C3E 0x8D12 -0x17C3F 0x8D1B -0x17C40 0x8DAF -0x17C41 0x8DCE -0x17C42 0x8DD1 -0x17C43 0x8DD7 -0x17C44 0x8E20 -0x17C45 0x8E23 -0x17C46 0x8E3D -0x17C47 0x8E70 -0x17C48 0x8E7B -0x17C49 0x28277 -0x17C4A 0x8EC0 -0x17C4B 0x4844 -0x17C4C 0x8EFA -0x17C4D 0x8F1E -0x17C4E 0x8F2D -0x17C4F 0x8F36 -0x17C50 0x8F54 -0x17C51 0x283CD -0x17C52 0x8FA6 -0x17C53 0x8FB5 -0x17C54 0x8FE4 -0x17C55 0x8FE8 -0x17C56 0x8FEE -0x17C57 0x9008 -0x17C58 0x902D -0x17C59 0xFA67 -0x17C5A 0x9088 -0x17C5B 0x9095 -0x17C5C 0x9097 -0x17C5D 0x9099 -0x17C5E 0x909B -0x17C5F 0x90A2 -0x17C60 0x90B3 -0x17C61 0x90BE -0x17C62 0x90C4 -0x17C63 0x90C5 -0x17C64 0x90C7 -0x17C65 0x90D7 -0x17C66 0x90DD -0x17C67 0x90DE -0x17C68 0x90EF -0x17C69 0x90F4 -0x17C6A 0xFA26 -0x17C6B 0x9114 -0x17C6C 0x9115 -0x17C6D 0x9116 -0x17C6E 0x9122 -0x17C6F 0x9123 -0x17C70 0x9127 -0x17C71 0x912F -0x17C72 0x9131 -0x17C73 0x9134 -0x17C74 0x913D -0x17C75 0x9148 -0x17C76 0x915B -0x17C77 0x9183 -0x17C78 0x919E -0x17C79 0x91AC -0x17C7A 0x91B1 -0x17C7B 0x91BC -0x17C7C 0x91D7 -0x17C7D 0x91FB -0x17C7E 0x91E4 -0x17D21 0x91E5 -0x17D22 0x91ED -0x17D23 0x91F1 -0x17D24 0x9207 -0x17D25 0x9210 -0x17D26 0x9238 -0x17D27 0x9239 -0x17D28 0x923A -0x17D29 0x923C -0x17D2A 0x9240 -0x17D2B 0x9243 -0x17D2C 0x924F -0x17D2D 0x9278 -0x17D2E 0x9288 -0x17D2F 0x92C2 -0x17D30 0x92CB -0x17D31 0x92CC -0x17D32 0x92D3 -0x17D33 0x92E0 -0x17D34 0x92FF -0x17D35 0x9304 -0x17D36 0x931F -0x17D37 0x9321 -0x17D38 0x9325 -0x17D39 0x9348 -0x17D3A 0x9349 -0x17D3B 0x934A -0x17D3C 0x9364 -0x17D3D 0x9365 -0x17D3E 0x936A -0x17D3F 0x9370 -0x17D40 0x939B -0x17D41 0x93A3 -0x17D42 0x93BA -0x17D43 0x93C6 -0x17D44 0x93DE -0x17D45 0x93DF -0x17D46 0x9404 -0x17D47 0x93FD -0x17D48 0x9433 -0x17D49 0x944A -0x17D4A 0x9463 -0x17D4B 0x946B -0x17D4C 0x9471 -0x17D4D 0x9472 -0x17D4E 0x958E -0x17D4F 0x959F -0x17D50 0x95A6 -0x17D51 0x95A9 -0x17D52 0x95AC -0x17D53 0x95B6 -0x17D54 0x95BD -0x17D55 0x95CB -0x17D56 0x95D0 -0x17D57 0x95D3 -0x17D58 0x49B0 -0x17D59 0x95DA -0x17D5A 0x95DE -0x17D5B 0x9658 -0x17D5C 0x9684 -0x17D5D 0xF9DC -0x17D5E 0x969D -0x17D5F 0x96A4 -0x17D60 0x96A5 -0x17D61 0x96D2 -0x17D62 0x96DE -0x17D63 0xFA68 -0x17D64 0x96E9 -0x17D65 0x96EF -0x17D66 0x9733 -0x17D67 0x973B -0x17D68 0x974D -0x17D69 0x974E -0x17D6A 0x974F -0x17D6B 0x975A -0x17D6C 0x976E -0x17D6D 0x9773 -0x17D6E 0x9795 -0x17D6F 0x97AE -0x17D70 0x97BA -0x17D71 0x97C1 -0x17D72 0x97C9 -0x17D73 0x97DE -0x17D74 0x97DB -0x17D75 0x97F4 -0x17D76 0xFA69 -0x17D77 0x980A -0x17D78 0x981E -0x17D79 0x982B -0x17D7A 0x9830 -0x17D7B 0xFA6A -0x17D7C 0x9852 -0x17D7D 0x9853 -0x17D7E 0x9856 -0x17E21 0x9857 -0x17E22 0x9859 -0x17E23 0x985A -0x17E24 0xF9D0 -0x17E25 0x9865 -0x17E26 0x986C -0x17E27 0x98BA -0x17E28 0x98C8 -0x17E29 0x98E7 -0x17E2A 0x9958 -0x17E2B 0x999E -0x17E2C 0x9A02 -0x17E2D 0x9A03 -0x17E2E 0x9A24 -0x17E2F 0x9A2D -0x17E30 0x9A2E -0x17E31 0x9A38 -0x17E32 0x9A4A -0x17E33 0x9A4E -0x17E34 0x9A52 -0x17E35 0x9AB6 -0x17E36 0x9AC1 -0x17E37 0x9AC3 -0x17E38 0x9ACE -0x17E39 0x9AD6 -0x17E3A 0x9AF9 -0x17E3B 0x9B02 -0x17E3C 0x9B08 -0x17E3D 0x9B20 -0x17E3E 0x4C17 -0x17E3F 0x9B2D -0x17E40 0x9B5E -0x17E41 0x9B79 -0x17E42 0x9B66 -0x17E43 0x9B72 -0x17E44 0x9B75 -0x17E45 0x9B84 -0x17E46 0x9B8A -0x17E47 0x9B8F -0x17E48 0x9B9E -0x17E49 0x9BA7 -0x17E4A 0x9BC1 -0x17E4B 0x9BCE -0x17E4C 0x9BE5 -0x17E4D 0x9BF8 -0x17E4E 0x9BFD -0x17E4F 0x9C00 -0x17E50 0x9C23 -0x17E51 0x9C41 -0x17E52 0x9C4F -0x17E53 0x9C50 -0x17E54 0x9C53 -0x17E55 0x9C63 -0x17E56 0x9C65 -0x17E57 0x9C77 -0x17E58 0x9D1D -0x17E59 0x9D1E -0x17E5A 0x9D43 -0x17E5B 0x9D47 -0x17E5C 0x9D52 -0x17E5D 0x9D63 -0x17E5E 0x9D70 -0x17E5F 0x9D7C -0x17E60 0x9D8A -0x17E61 0x9D96 -0x17E62 0x9DC0 -0x17E63 0x9DAC -0x17E64 0x9DBC -0x17E65 0x9DD7 -0x17E66 0x2A190 -0x17E67 0x9DE7 -0x17E68 0x9E07 -0x17E69 0x9E15 -0x17E6A 0x9E7C -0x17E6B 0x9E9E -0x17E6C 0x9EA4 -0x17E6D 0x9EAC -0x17E6E 0x9EAF -0x17E6F 0x9EB4 -0x17E70 0x9EB5 -0x17E71 0x9EC3 -0x17E72 0x9ED1 -0x17E73 0x9F10 -0x17E74 0x9F39 -0x17E75 0x9F57 -0x17E76 0x9F90 -0x17E77 0x9F94 -0x17E78 0x9F97 -0x17E79 0x9FA2 -0x17E7A 0x59F8 -0x17E7B 0x5C5B -0x17E7C 0x5E77 -0x17E7D 0x7626 -0x17E7E 0x7E6B -0x22121 0x20089 -0x22122 0x4E02 -0x22123 0x4E0F -0x22124 0x4E12 -0x22125 0x4E29 -0x22126 0x4E2B -0x22127 0x4E2E -0x22128 0x4E40 -0x22129 0x4E47 -0x2212A 0x4E48 -0x2212B 0x200A2 -0x2212C 0x4E51 -0x2212D 0x3406 -0x2212E 0x200A4 -0x2212F 0x4E5A -0x22130 0x4E69 -0x22131 0x4E9D -0x22132 0x342C -0x22133 0x342E -0x22134 0x4EB9 -0x22135 0x4EBB -0x22136 0x201A2 -0x22137 0x4EBC -0x22138 0x4EC3 -0x22139 0x4EC8 -0x2213A 0x4ED0 -0x2213B 0x4EEB -0x2213C 0x4EDA -0x2213D 0x4EF1 -0x2213E 0x4EF5 -0x2213F 0x4F00 -0x22140 0x4F16 -0x22141 0x4F64 -0x22142 0x4F37 -0x22143 0x4F3E -0x22144 0x4F54 -0x22145 0x4F58 -0x22146 0x20213 -0x22147 0x4F77 -0x22148 0x4F78 -0x22149 0x4F7A -0x2214A 0x4F7D -0x2214B 0x4F82 -0x2214C 0x4F85 -0x2214D 0x4F92 -0x2214E 0x4F9A -0x2214F 0x4FE6 -0x22150 0x4FB2 -0x22151 0x4FBE -0x22152 0x4FC5 -0x22153 0x4FCB -0x22154 0x4FCF -0x22155 0x4FD2 -0x22156 0x346A -0x22157 0x4FF2 -0x22158 0x5000 -0x22159 0x5010 -0x2215A 0x5013 -0x2215B 0x501C -0x2215C 0x501E -0x2215D 0x5022 -0x2215E 0x3468 -0x2215F 0x5042 -0x22160 0x5046 -0x22161 0x504E -0x22162 0x5053 -0x22163 0x5057 -0x22164 0x5063 -0x22165 0x5066 -0x22166 0x506A -0x22167 0x5070 -0x22168 0x50A3 -0x22169 0x5088 -0x2216A 0x5092 -0x2216B 0x5093 -0x2216C 0x5095 -0x2216D 0x5096 -0x2216E 0x509C -0x2216F 0x50AA -0x22170 0x2032B -0x22171 0x50B1 -0x22172 0x50BA -0x22173 0x50BB -0x22174 0x50C4 -0x22175 0x50C7 -0x22176 0x50F3 -0x22177 0x20381 -0x22178 0x50CE -0x22179 0x20371 -0x2217A 0x50D4 -0x2217B 0x50D9 -0x2217C 0x50E1 -0x2217D 0x50E9 -0x2217E 0x3492 -0x22321 0x5108 -0x22322 0x203F9 -0x22323 0x5117 -0x22324 0x511B -0x22325 0x2044A -0x22326 0x5160 -0x22327 0x20509 -0x22328 0x5173 -0x22329 0x5183 -0x2232A 0x518B -0x2232B 0x34BC -0x2232C 0x5198 -0x2232D 0x51A3 -0x2232E 0x51AD -0x2232F 0x34C7 -0x22330 0x51BC -0x22331 0x205D6 -0x22332 0x20628 -0x22333 0x51F3 -0x22334 0x51F4 -0x22335 0x5202 -0x22336 0x5212 -0x22337 0x5216 -0x22338 0x2074F -0x22339 0x5255 -0x2233A 0x525C -0x2233B 0x526C -0x2233C 0x5277 -0x2233D 0x5284 -0x2233E 0x5282 -0x2233F 0x20807 -0x22340 0x5298 -0x22341 0x2083A -0x22342 0x52A4 -0x22343 0x52A6 -0x22344 0x52AF -0x22345 0x52BA -0x22346 0x52BB -0x22347 0x52CA -0x22348 0x351F -0x22349 0x52D1 -0x2234A 0x208B9 -0x2234B 0x52F7 -0x2234C 0x530A -0x2234D 0x530B -0x2234E 0x5324 -0x2234F 0x5335 -0x22350 0x533E -0x22351 0x5342 -0x22352 0x2097C -0x22353 0x2099D -0x22354 0x5367 -0x22355 0x536C -0x22356 0x537A -0x22357 0x53A4 -0x22358 0x53B4 -0x22359 0x20AD3 -0x2235A 0x53B7 -0x2235B 0x53C0 -0x2235C 0x20B1D -0x2235D 0x355D -0x2235E 0x355E -0x2235F 0x53D5 -0x22360 0x53DA -0x22361 0x3563 -0x22362 0x53F4 -0x22363 0x53F5 -0x22364 0x5455 -0x22365 0x5424 -0x22366 0x5428 -0x22367 0x356E -0x22368 0x5443 -0x22369 0x5462 -0x2236A 0x5466 -0x2236B 0x546C -0x2236C 0x548A -0x2236D 0x548D -0x2236E 0x5495 -0x2236F 0x54A0 -0x22370 0x54A6 -0x22371 0x54AD -0x22372 0x54AE -0x22373 0x54B7 -0x22374 0x54BA -0x22375 0x54BF -0x22376 0x54C3 -0x22377 0x20D45 -0x22378 0x54EC -0x22379 0x54EF -0x2237A 0x54F1 -0x2237B 0x54F3 -0x2237C 0x5500 -0x2237D 0x5501 -0x2237E 0x5509 -0x22421 0x553C -0x22422 0x5541 -0x22423 0x35A6 -0x22424 0x5547 -0x22425 0x554A -0x22426 0x35A8 -0x22427 0x5560 -0x22428 0x5561 -0x22429 0x5564 -0x2242A 0x20DE1 -0x2242B 0x557D -0x2242C 0x5582 -0x2242D 0x5588 -0x2242E 0x5591 -0x2242F 0x35C5 -0x22430 0x55D2 -0x22431 0x20E95 -0x22432 0x20E6D -0x22433 0x55BF -0x22434 0x55C9 -0x22435 0x55CC -0x22436 0x55D1 -0x22437 0x55DD -0x22438 0x35DA -0x22439 0x55E2 -0x2243A 0x20E64 -0x2243B 0x55E9 -0x2243C 0x5628 -0x2243D 0x20F5F -0x2243E 0x5607 -0x2243F 0x5610 -0x22440 0x5630 -0x22441 0x5637 -0x22442 0x35F4 -0x22443 0x563D -0x22444 0x563F -0x22445 0x5640 -0x22446 0x5647 -0x22447 0x565E -0x22448 0x5660 -0x22449 0x566D -0x2244A 0x3605 -0x2244B 0x5688 -0x2244C 0x568C -0x2244D 0x5695 -0x2244E 0x569A -0x2244F 0x569D -0x22450 0x56A8 -0x22451 0x56AD -0x22452 0x56B2 -0x22453 0x56C5 -0x22454 0x56CD -0x22455 0x56DF -0x22456 0x56E8 -0x22457 0x56F6 -0x22458 0x56F7 -0x22459 0x21201 -0x2245A 0x5715 -0x2245B 0x5723 -0x2245C 0x21255 -0x2245D 0x5729 -0x2245E 0x2127B -0x2245F 0x5745 -0x22460 0x5746 -0x22461 0x574C -0x22462 0x574D -0x22463 0x21274 -0x22464 0x5768 -0x22465 0x576F -0x22466 0x5773 -0x22467 0x5774 -0x22468 0x5775 -0x22469 0x577B -0x2246A 0x212E4 -0x2246B 0x212D7 -0x2246C 0x57AC -0x2246D 0x579A -0x2246E 0x579D -0x2246F 0x579E -0x22470 0x57A8 -0x22471 0x57D7 -0x22472 0x212FD -0x22473 0x57CC -0x22474 0x21336 -0x22475 0x21344 -0x22476 0x57DE -0x22477 0x57E6 -0x22478 0x57F0 -0x22479 0x364A -0x2247A 0x57F8 -0x2247B 0x57FB -0x2247C 0x57FD -0x2247D 0x5804 -0x2247E 0x581E -0x22521 0x5820 -0x22522 0x5827 -0x22523 0x5832 -0x22524 0x5839 -0x22525 0x213C4 -0x22526 0x5849 -0x22527 0x584C -0x22528 0x5867 -0x22529 0x588A -0x2252A 0x588B -0x2252B 0x588D -0x2252C 0x588F -0x2252D 0x5890 -0x2252E 0x5894 -0x2252F 0x589D -0x22530 0x58AA -0x22531 0x58B1 -0x22532 0x2146D -0x22533 0x58C3 -0x22534 0x58CD -0x22535 0x58E2 -0x22536 0x58F3 -0x22537 0x58F4 -0x22538 0x5905 -0x22539 0x5906 -0x2253A 0x590B -0x2253B 0x590D -0x2253C 0x5914 -0x2253D 0x5924 -0x2253E 0x215D7 -0x2253F 0x3691 -0x22540 0x593D -0x22541 0x3699 -0x22542 0x5946 -0x22543 0x3696 -0x22544 0x26C29 -0x22545 0x595B -0x22546 0x595F -0x22547 0x21647 -0x22548 0x5975 -0x22549 0x5976 -0x2254A 0x597C -0x2254B 0x599F -0x2254C 0x59AE -0x2254D 0x59BC -0x2254E 0x59C8 -0x2254F 0x59CD -0x22550 0x59DE -0x22551 0x59E3 -0x22552 0x59E4 -0x22553 0x59E7 -0x22554 0x59EE -0x22555 0x21706 -0x22556 0x21742 -0x22557 0x36CF -0x22558 0x5A0C -0x22559 0x5A0D -0x2255A 0x5A17 -0x2255B 0x5A27 -0x2255C 0x5A2D -0x2255D 0x5A55 -0x2255E 0x5A65 -0x2255F 0x5A7A -0x22560 0x5A8B -0x22561 0x5A9C -0x22562 0x5A9F -0x22563 0x5AA0 -0x22564 0x5AA2 -0x22565 0x5AB1 -0x22566 0x5AB3 -0x22567 0x5AB5 -0x22568 0x5ABA -0x22569 0x5ABF -0x2256A 0x5ADA -0x2256B 0x5ADC -0x2256C 0x5AE0 -0x2256D 0x5AE5 -0x2256E 0x5AF0 -0x2256F 0x5AEE -0x22570 0x5AF5 -0x22571 0x5B00 -0x22572 0x5B08 -0x22573 0x5B17 -0x22574 0x5B34 -0x22575 0x5B2D -0x22576 0x5B4C -0x22577 0x5B52 -0x22578 0x5B68 -0x22579 0x5B6F -0x2257A 0x5B7C -0x2257B 0x5B7F -0x2257C 0x5B81 -0x2257D 0x5B84 -0x2257E 0x219C3 -0x22821 0x5B96 -0x22822 0x5BAC -0x22823 0x3761 -0x22824 0x5BC0 -0x22825 0x3762 -0x22826 0x5BCE -0x22827 0x5BD6 -0x22828 0x376C -0x22829 0x376B -0x2282A 0x5BF1 -0x2282B 0x5BFD -0x2282C 0x3775 -0x2282D 0x5C03 -0x2282E 0x5C29 -0x2282F 0x5C30 -0x22830 0x21C56 -0x22831 0x5C5F -0x22832 0x5C63 -0x22833 0x5C67 -0x22834 0x5C68 -0x22835 0x5C69 -0x22836 0x5C70 -0x22837 0x21D2D -0x22838 0x21D45 -0x22839 0x5C7C -0x2283A 0x21D78 -0x2283B 0x21D62 -0x2283C 0x5C88 -0x2283D 0x5C8A -0x2283E 0x37C1 -0x2283F 0x21DA1 -0x22840 0x21D9C -0x22841 0x5CA0 -0x22842 0x5CA2 -0x22843 0x5CA6 -0x22844 0x5CA7 -0x22845 0x21D92 -0x22846 0x5CAD -0x22847 0x5CB5 -0x22848 0x21DB7 -0x22849 0x5CC9 -0x2284A 0x21DE0 -0x2284B 0x21E33 -0x2284C 0x5D06 -0x2284D 0x5D10 -0x2284E 0x5D2B -0x2284F 0x5D1D -0x22850 0x5D20 -0x22851 0x5D24 -0x22852 0x5D26 -0x22853 0x5D31 -0x22854 0x5D39 -0x22855 0x5D42 -0x22856 0x37E8 -0x22857 0x5D61 -0x22858 0x5D6A -0x22859 0x37F4 -0x2285A 0x5D70 -0x2285B 0x21F1E -0x2285C 0x37FD -0x2285D 0x5D88 -0x2285E 0x3800 -0x2285F 0x5D92 -0x22860 0x5D94 -0x22861 0x5D97 -0x22862 0x5D99 -0x22863 0x5DB0 -0x22864 0x5DB2 -0x22865 0x5DB4 -0x22866 0x21F76 -0x22867 0x5DB9 -0x22868 0x5DD1 -0x22869 0x5DD7 -0x2286A 0x5DD8 -0x2286B 0x5DE0 -0x2286C 0x21FFA -0x2286D 0x5DE4 -0x2286E 0x5DE9 -0x2286F 0x382F -0x22870 0x5E00 -0x22871 0x3836 -0x22872 0x5E12 -0x22873 0x5E15 -0x22874 0x3840 -0x22875 0x5E1F -0x22876 0x5E2E -0x22877 0x5E3E -0x22878 0x5E49 -0x22879 0x385C -0x2287A 0x5E56 -0x2287B 0x3861 -0x2287C 0x5E6B -0x2287D 0x5E6C -0x2287E 0x5E6D -0x22C21 0x5E6E -0x22C22 0x2217B -0x22C23 0x5EA5 -0x22C24 0x5EAA -0x22C25 0x5EAC -0x22C26 0x5EB9 -0x22C27 0x5EBF -0x22C28 0x5EC6 -0x22C29 0x5ED2 -0x22C2A 0x5ED9 -0x22C2B 0x2231E -0x22C2C 0x5EFD -0x22C2D 0x5F08 -0x22C2E 0x5F0E -0x22C2F 0x5F1C -0x22C30 0x223AD -0x22C31 0x5F1E -0x22C32 0x5F47 -0x22C33 0x5F63 -0x22C34 0x5F72 -0x22C35 0x5F7E -0x22C36 0x5F8F -0x22C37 0x5FA2 -0x22C38 0x5FA4 -0x22C39 0x5FB8 -0x22C3A 0x5FC4 -0x22C3B 0x38FA -0x22C3C 0x5FC7 -0x22C3D 0x5FCB -0x22C3E 0x5FD2 -0x22C3F 0x5FD3 -0x22C40 0x5FD4 -0x22C41 0x5FE2 -0x22C42 0x5FEE -0x22C43 0x5FEF -0x22C44 0x5FF3 -0x22C45 0x5FFC -0x22C46 0x3917 -0x22C47 0x6017 -0x22C48 0x6022 -0x22C49 0x6024 -0x22C4A 0x391A -0x22C4B 0x604C -0x22C4C 0x607F -0x22C4D 0x608A -0x22C4E 0x6095 -0x22C4F 0x60A8 -0x22C50 0x226F3 -0x22C51 0x60B0 -0x22C52 0x60B1 -0x22C53 0x60BE -0x22C54 0x60C8 -0x22C55 0x60D9 -0x22C56 0x60DB -0x22C57 0x60EE -0x22C58 0x60F2 -0x22C59 0x60F5 -0x22C5A 0x6110 -0x22C5B 0x6112 -0x22C5C 0x6113 -0x22C5D 0x6119 -0x22C5E 0x611E -0x22C5F 0x613A -0x22C60 0x396F -0x22C61 0x6141 -0x22C62 0x6146 -0x22C63 0x6160 -0x22C64 0x617C -0x22C65 0x2285B -0x22C66 0x6192 -0x22C67 0x6193 -0x22C68 0x6197 -0x22C69 0x6198 -0x22C6A 0x61A5 -0x22C6B 0x61A8 -0x22C6C 0x61AD -0x22C6D 0x228AB -0x22C6E 0x61D5 -0x22C6F 0x61DD -0x22C70 0x61DF -0x22C71 0x61F5 -0x22C72 0x2298F -0x22C73 0x6215 -0x22C74 0x6223 -0x22C75 0x6229 -0x22C76 0x6246 -0x22C77 0x624C -0x22C78 0x6251 -0x22C79 0x6252 -0x22C7A 0x6261 -0x22C7B 0x6264 -0x22C7C 0x627B -0x22C7D 0x626D -0x22C7E 0x6273 -0x22D21 0x6299 -0x22D22 0x62A6 -0x22D23 0x62D5 -0x22D24 0x22AB8 -0x22D25 0x62FD -0x22D26 0x6303 -0x22D27 0x630D -0x22D28 0x6310 -0x22D29 0x22B4F -0x22D2A 0x22B50 -0x22D2B 0x6332 -0x22D2C 0x6335 -0x22D2D 0x633B -0x22D2E 0x633C -0x22D2F 0x6341 -0x22D30 0x6344 -0x22D31 0x634E -0x22D32 0x22B46 -0x22D33 0x6359 -0x22D34 0x22C1D -0x22D35 0x22BA6 -0x22D36 0x636C -0x22D37 0x6384 -0x22D38 0x6399 -0x22D39 0x22C24 -0x22D3A 0x6394 -0x22D3B 0x63BD -0x22D3C 0x63F7 -0x22D3D 0x63D4 -0x22D3E 0x63D5 -0x22D3F 0x63DC -0x22D40 0x63E0 -0x22D41 0x63EB -0x22D42 0x63EC -0x22D43 0x63F2 -0x22D44 0x6409 -0x22D45 0x641E -0x22D46 0x6425 -0x22D47 0x6429 -0x22D48 0x642F -0x22D49 0x645A -0x22D4A 0x645B -0x22D4B 0x645D -0x22D4C 0x6473 -0x22D4D 0x647D -0x22D4E 0x6487 -0x22D4F 0x6491 -0x22D50 0x649D -0x22D51 0x649F -0x22D52 0x64CB -0x22D53 0x64CC -0x22D54 0x64D5 -0x22D55 0x64D7 -0x22D56 0x22DE1 -0x22D57 0x64E4 -0x22D58 0x64E5 -0x22D59 0x64FF -0x22D5A 0x6504 -0x22D5B 0x3A6E -0x22D5C 0x650F -0x22D5D 0x6514 -0x22D5E 0x6516 -0x22D5F 0x3A73 -0x22D60 0x651E -0x22D61 0x6532 -0x22D62 0x6544 -0x22D63 0x6554 -0x22D64 0x656B -0x22D65 0x657A -0x22D66 0x6581 -0x22D67 0x6584 -0x22D68 0x6585 -0x22D69 0x658A -0x22D6A 0x65B2 -0x22D6B 0x65B5 -0x22D6C 0x65B8 -0x22D6D 0x65BF -0x22D6E 0x65C2 -0x22D6F 0x65C9 -0x22D70 0x65D4 -0x22D71 0x3AD6 -0x22D72 0x65F2 -0x22D73 0x65F9 -0x22D74 0x65FC -0x22D75 0x6604 -0x22D76 0x6608 -0x22D77 0x6621 -0x22D78 0x662A -0x22D79 0x6645 -0x22D7A 0x6651 -0x22D7B 0x664E -0x22D7C 0x3AEA -0x22D7D 0x231C3 -0x22D7E 0x6657 -0x22E21 0x665B -0x22E22 0x6663 -0x22E23 0x231F5 -0x22E24 0x231B6 -0x22E25 0x666A -0x22E26 0x666B -0x22E27 0x666C -0x22E28 0x666D -0x22E29 0x667B -0x22E2A 0x6680 -0x22E2B 0x6690 -0x22E2C 0x6692 -0x22E2D 0x6699 -0x22E2E 0x3B0E -0x22E2F 0x66AD -0x22E30 0x66B1 -0x22E31 0x66B5 -0x22E32 0x3B1A -0x22E33 0x66BF -0x22E34 0x3B1C -0x22E35 0x66EC -0x22E36 0x3AD7 -0x22E37 0x6701 -0x22E38 0x6705 -0x22E39 0x6712 -0x22E3A 0x23372 -0x22E3B 0x6719 -0x22E3C 0x233D3 -0x22E3D 0x233D2 -0x22E3E 0x674C -0x22E3F 0x674D -0x22E40 0x6754 -0x22E41 0x675D -0x22E42 0x233D0 -0x22E43 0x233E4 -0x22E44 0x233D5 -0x22E45 0x6774 -0x22E46 0x6776 -0x22E47 0x233DA -0x22E48 0x6792 -0x22E49 0x233DF -0x22E4A 0x8363 -0x22E4B 0x6810 -0x22E4C 0x67B0 -0x22E4D 0x67B2 -0x22E4E 0x67C3 -0x22E4F 0x67C8 -0x22E50 0x67D2 -0x22E51 0x67D9 -0x22E52 0x67DB -0x22E53 0x67F0 -0x22E54 0x67F7 -0x22E55 0x2344A -0x22E56 0x23451 -0x22E57 0x2344B -0x22E58 0x6818 -0x22E59 0x681F -0x22E5A 0x682D -0x22E5B 0x23465 -0x22E5C 0x6833 -0x22E5D 0x683B -0x22E5E 0x683E -0x22E5F 0x6844 -0x22E60 0x6845 -0x22E61 0x6849 -0x22E62 0x684C -0x22E63 0x6855 -0x22E64 0x6857 -0x22E65 0x3B77 -0x22E66 0x686B -0x22E67 0x686E -0x22E68 0x687A -0x22E69 0x687C -0x22E6A 0x6882 -0x22E6B 0x6890 -0x22E6C 0x6896 -0x22E6D 0x3B6D -0x22E6E 0x6898 -0x22E6F 0x6899 -0x22E70 0x689A -0x22E71 0x689C -0x22E72 0x68AA -0x22E73 0x68AB -0x22E74 0x68B4 -0x22E75 0x68BB -0x22E76 0x68FB -0x22E77 0x234E4 -0x22E78 0x2355A -0x22E79 0xFA13 -0x22E7A 0x68C3 -0x22E7B 0x68C5 -0x22E7C 0x68CC -0x22E7D 0x68CF -0x22E7E 0x68D6 -0x22F21 0x68D9 -0x22F22 0x68E4 -0x22F23 0x68E5 -0x22F24 0x68EC -0x22F25 0x68F7 -0x22F26 0x6903 -0x22F27 0x6907 -0x22F28 0x3B87 -0x22F29 0x3B88 -0x22F2A 0x23594 -0x22F2B 0x693B -0x22F2C 0x3B8D -0x22F2D 0x6946 -0x22F2E 0x6969 -0x22F2F 0x696C -0x22F30 0x6972 -0x22F31 0x697A -0x22F32 0x697F -0x22F33 0x6992 -0x22F34 0x3BA4 -0x22F35 0x6996 -0x22F36 0x6998 -0x22F37 0x69A6 -0x22F38 0x69B0 -0x22F39 0x69B7 -0x22F3A 0x69BA -0x22F3B 0x69BC -0x22F3C 0x69C0 -0x22F3D 0x69D1 -0x22F3E 0x69D6 -0x22F3F 0x23639 -0x22F40 0x23647 -0x22F41 0x6A30 -0x22F42 0x23638 -0x22F43 0x2363A -0x22F44 0x69E3 -0x22F45 0x69EE -0x22F46 0x69EF -0x22F47 0x69F3 -0x22F48 0x3BCD -0x22F49 0x69F4 -0x22F4A 0x69FE -0x22F4B 0x6A11 -0x22F4C 0x6A1A -0x22F4D 0x6A1D -0x22F4E 0x2371C -0x22F4F 0x6A32 -0x22F50 0x6A33 -0x22F51 0x6A34 -0x22F52 0x6A3F -0x22F53 0x6A46 -0x22F54 0x6A49 -0x22F55 0x6A7A -0x22F56 0x6A4E -0x22F57 0x6A52 -0x22F58 0x6A64 -0x22F59 0x2370C -0x22F5A 0x6A7E -0x22F5B 0x6A83 -0x22F5C 0x6A8B -0x22F5D 0x3BF0 -0x22F5E 0x6A91 -0x22F5F 0x6A9F -0x22F60 0x6AA1 -0x22F61 0x23764 -0x22F62 0x6AAB -0x22F63 0x6ABD -0x22F64 0x6AC6 -0x22F65 0x6AD4 -0x22F66 0x6AD0 -0x22F67 0x6ADC -0x22F68 0x6ADD -0x22F69 0x237FF -0x22F6A 0x237E7 -0x22F6B 0x6AEC -0x22F6C 0x6AF1 -0x22F6D 0x6AF2 -0x22F6E 0x6AF3 -0x22F6F 0x6AFD -0x22F70 0x23824 -0x22F71 0x6B0B -0x22F72 0x6B0F -0x22F73 0x6B10 -0x22F74 0x6B11 -0x22F75 0x2383D -0x22F76 0x6B17 -0x22F77 0x3C26 -0x22F78 0x6B2F -0x22F79 0x6B4A -0x22F7A 0x6B58 -0x22F7B 0x6B6C -0x22F7C 0x6B75 -0x22F7D 0x6B7A -0x22F7E 0x6B81 -0x26E21 0x6B9B -0x26E22 0x6BAE -0x26E23 0x23A98 -0x26E24 0x6BBD -0x26E25 0x6BBE -0x26E26 0x6BC7 -0x26E27 0x6BC8 -0x26E28 0x6BC9 -0x26E29 0x6BDA -0x26E2A 0x6BE6 -0x26E2B 0x6BE7 -0x26E2C 0x6BEE -0x26E2D 0x6BF1 -0x26E2E 0x6C02 -0x26E2F 0x6C0A -0x26E30 0x6C0E -0x26E31 0x6C35 -0x26E32 0x6C36 -0x26E33 0x6C3A -0x26E34 0x23C7F -0x26E35 0x6C3F -0x26E36 0x6C4D -0x26E37 0x6C5B -0x26E38 0x6C6D -0x26E39 0x6C84 -0x26E3A 0x6C89 -0x26E3B 0x3CC3 -0x26E3C 0x6C94 -0x26E3D 0x6C95 -0x26E3E 0x6C97 -0x26E3F 0x6CAD -0x26E40 0x6CC2 -0x26E41 0x6CD0 -0x26E42 0x3CD2 -0x26E43 0x6CD6 -0x26E44 0x6CDA -0x26E45 0x6CDC -0x26E46 0x6CE9 -0x26E47 0x6CEC -0x26E48 0x6CED -0x26E49 0x23D00 -0x26E4A 0x6D00 -0x26E4B 0x6D0A -0x26E4C 0x6D24 -0x26E4D 0x6D26 -0x26E4E 0x6D27 -0x26E4F 0x6C67 -0x26E50 0x6D2F -0x26E51 0x6D3C -0x26E52 0x6D5B -0x26E53 0x6D5E -0x26E54 0x6D60 -0x26E55 0x6D70 -0x26E56 0x6D80 -0x26E57 0x6D81 -0x26E58 0x6D8A -0x26E59 0x6D8D -0x26E5A 0x6D91 -0x26E5B 0x6D98 -0x26E5C 0x23D40 -0x26E5D 0x6E17 -0x26E5E 0x23DFA -0x26E5F 0x23DF9 -0x26E60 0x23DD3 -0x26E61 0x6DAB -0x26E62 0x6DAE -0x26E63 0x6DB4 -0x26E64 0x6DC2 -0x26E65 0x6D34 -0x26E66 0x6DC8 -0x26E67 0x6DCE -0x26E68 0x6DCF -0x26E69 0x6DD0 -0x26E6A 0x6DDF -0x26E6B 0x6DE9 -0x26E6C 0x6DF6 -0x26E6D 0x6E36 -0x26E6E 0x6E1E -0x26E6F 0x6E22 -0x26E70 0x6E27 -0x26E71 0x3D11 -0x26E72 0x6E32 -0x26E73 0x6E3C -0x26E74 0x6E48 -0x26E75 0x6E49 -0x26E76 0x6E4B -0x26E77 0x6E4C -0x26E78 0x6E4F -0x26E79 0x6E51 -0x26E7A 0x6E53 -0x26E7B 0x6E54 -0x26E7C 0x6E57 -0x26E7D 0x6E63 -0x26E7E 0x3D1E -0x26F21 0x6E93 -0x26F22 0x6EA7 -0x26F23 0x6EB4 -0x26F24 0x6EBF -0x26F25 0x6EC3 -0x26F26 0x6ECA -0x26F27 0x6ED9 -0x26F28 0x6F35 -0x26F29 0x6EEB -0x26F2A 0x6EF9 -0x26F2B 0x6EFB -0x26F2C 0x6F0A -0x26F2D 0x6F0C -0x26F2E 0x6F18 -0x26F2F 0x6F25 -0x26F30 0x6F36 -0x26F31 0x6F3C -0x26F32 0x23F7E -0x26F33 0x6F52 -0x26F34 0x6F57 -0x26F35 0x6F5A -0x26F36 0x6F60 -0x26F37 0x6F68 -0x26F38 0x6F98 -0x26F39 0x6F7D -0x26F3A 0x6F90 -0x26F3B 0x6F96 -0x26F3C 0x6FBE -0x26F3D 0x6F9F -0x26F3E 0x6FA5 -0x26F3F 0x6FAF -0x26F40 0x3D64 -0x26F41 0x6FB5 -0x26F42 0x6FC8 -0x26F43 0x6FC9 -0x26F44 0x6FDA -0x26F45 0x6FDE -0x26F46 0x6FE9 -0x26F47 0x24096 -0x26F48 0x6FFC -0x26F49 0x7000 -0x26F4A 0x7007 -0x26F4B 0x700A -0x26F4C 0x7023 -0x26F4D 0x24103 -0x26F4E 0x7039 -0x26F4F 0x703A -0x26F50 0x703C -0x26F51 0x7043 -0x26F52 0x7047 -0x26F53 0x704B -0x26F54 0x3D9A -0x26F55 0x7054 -0x26F56 0x7065 -0x26F57 0x7069 -0x26F58 0x706C -0x26F59 0x706E -0x26F5A 0x7076 -0x26F5B 0x707E -0x26F5C 0x7081 -0x26F5D 0x7086 -0x26F5E 0x7095 -0x26F5F 0x7097 -0x26F60 0x70BB -0x26F61 0x241C6 -0x26F62 0x709F -0x26F63 0x70B1 -0x26F64 0x241FE -0x26F65 0x70EC -0x26F66 0x70CA -0x26F67 0x70D1 -0x26F68 0x70D3 -0x26F69 0x70DC -0x26F6A 0x7103 -0x26F6B 0x7104 -0x26F6C 0x7106 -0x26F6D 0x7107 -0x26F6E 0x7108 -0x26F6F 0x710C -0x26F70 0x3DC0 -0x26F71 0x712F -0x26F72 0x7131 -0x26F73 0x7150 -0x26F74 0x714A -0x26F75 0x7153 -0x26F76 0x715E -0x26F77 0x3DD4 -0x26F78 0x7196 -0x26F79 0x7180 -0x26F7A 0x719B -0x26F7B 0x71A0 -0x26F7C 0x71A2 -0x26F7D 0x71AE -0x26F7E 0x71AF -0x27021 0x71B3 -0x27022 0x243BC -0x27023 0x71CB -0x27024 0x71D3 -0x27025 0x71D9 -0x27026 0x71DC -0x27027 0x7207 -0x27028 0x3E05 -0x27029 0xFA49 -0x2702A 0x722B -0x2702B 0x7234 -0x2702C 0x7238 -0x2702D 0x7239 -0x2702E 0x4E2C -0x2702F 0x7242 -0x27030 0x7253 -0x27031 0x7257 -0x27032 0x7263 -0x27033 0x24629 -0x27034 0x726E -0x27035 0x726F -0x27036 0x7278 -0x27037 0x727F -0x27038 0x728E -0x27039 0x246A5 -0x2703A 0x72AD -0x2703B 0x72AE -0x2703C 0x72B0 -0x2703D 0x72B1 -0x2703E 0x72C1 -0x2703F 0x3E60 -0x27040 0x72CC -0x27041 0x3E66 -0x27042 0x3E68 -0x27043 0x72F3 -0x27044 0x72FA -0x27045 0x7307 -0x27046 0x7312 -0x27047 0x7318 -0x27048 0x7319 -0x27049 0x3E83 -0x2704A 0x7339 -0x2704B 0x732C -0x2704C 0x7331 -0x2704D 0x7333 -0x2704E 0x733D -0x2704F 0x7352 -0x27050 0x3E94 -0x27051 0x736B -0x27052 0x736C -0x27053 0x24896 -0x27054 0x736E -0x27055 0x736F -0x27056 0x7371 -0x27057 0x7377 -0x27058 0x7381 -0x27059 0x7385 -0x2705A 0x738A -0x2705B 0x7394 -0x2705C 0x7398 -0x2705D 0x739C -0x2705E 0x739E -0x2705F 0x73A5 -0x27060 0x73A8 -0x27061 0x73B5 -0x27062 0x73B7 -0x27063 0x73B9 -0x27064 0x73BC -0x27065 0x73BF -0x27066 0x73C5 -0x27067 0x73CB -0x27068 0x73E1 -0x27069 0x73E7 -0x2706A 0x73F9 -0x2706B 0x7413 -0x2706C 0x73FA -0x2706D 0x7401 -0x2706E 0x7424 -0x2706F 0x7431 -0x27070 0x7439 -0x27071 0x7453 -0x27072 0x7440 -0x27073 0x7443 -0x27074 0x744D -0x27075 0x7452 -0x27076 0x745D -0x27077 0x7471 -0x27078 0x7481 -0x27079 0x7485 -0x2707A 0x7488 -0x2707B 0x24A4D -0x2707C 0x7492 -0x2707D 0x7497 -0x2707E 0x7499 -0x27121 0x74A0 -0x27122 0x74A1 -0x27123 0x74A5 -0x27124 0x74AA -0x27125 0x74AB -0x27126 0x74B9 -0x27127 0x74BB -0x27128 0x74BA -0x27129 0x74D6 -0x2712A 0x74D8 -0x2712B 0x74DE -0x2712C 0x74EF -0x2712D 0x74EB -0x2712E 0x24B56 -0x2712F 0x74FA -0x27130 0x24B6F -0x27131 0x7520 -0x27132 0x7524 -0x27133 0x752A -0x27134 0x3F57 -0x27135 0x24C16 -0x27136 0x753D -0x27137 0x753E -0x27138 0x7540 -0x27139 0x7548 -0x2713A 0x754E -0x2713B 0x7550 -0x2713C 0x7552 -0x2713D 0x756C -0x2713E 0x7572 -0x2713F 0x7571 -0x27140 0x757A -0x27141 0x757D -0x27142 0x757E -0x27143 0x7581 -0x27144 0x24D14 -0x27145 0x758C -0x27146 0x3F75 -0x27147 0x75A2 -0x27148 0x3F77 -0x27149 0x75B0 -0x2714A 0x75B7 -0x2714B 0x75BF -0x2714C 0x75C0 -0x2714D 0x75C6 -0x2714E 0x75CF -0x2714F 0x75D3 -0x27150 0x75DD -0x27151 0x75DF -0x27152 0x75E0 -0x27153 0x75E7 -0x27154 0x75EC -0x27155 0x75EE -0x27156 0x75F1 -0x27157 0x75F9 -0x27158 0x7603 -0x27159 0x7618 -0x2715A 0x7607 -0x2715B 0x760F -0x2715C 0x3FAE -0x2715D 0x24E0E -0x2715E 0x7613 -0x2715F 0x761B -0x27160 0x761C -0x27161 0x24E37 -0x27162 0x7625 -0x27163 0x7628 -0x27164 0x763C -0x27165 0x7633 -0x27166 0x24E6A -0x27167 0x3FC9 -0x27168 0x7641 -0x27169 0x24E8B -0x2716A 0x7649 -0x2716B 0x7655 -0x2716C 0x3FD7 -0x2716D 0x766E -0x2716E 0x7695 -0x2716F 0x769C -0x27170 0x76A1 -0x27171 0x76A0 -0x27172 0x76A7 -0x27173 0x76A8 -0x27174 0x76AF -0x27175 0x2504A -0x27176 0x76C9 -0x27177 0x25055 -0x27178 0x76E8 -0x27179 0x76EC -0x2717A 0x25122 -0x2717B 0x7717 -0x2717C 0x771A -0x2717D 0x772D -0x2717E 0x7735 -0x27221 0x251A9 -0x27222 0x4039 -0x27223 0x251E5 -0x27224 0x251CD -0x27225 0x7758 -0x27226 0x7760 -0x27227 0x776A -0x27228 0x2521E -0x27229 0x7772 -0x2722A 0x777C -0x2722B 0x777D -0x2722C 0x2524C -0x2722D 0x4058 -0x2722E 0x779A -0x2722F 0x779F -0x27230 0x77A2 -0x27231 0x77A4 -0x27232 0x77A9 -0x27233 0x77DE -0x27234 0x77DF -0x27235 0x77E4 -0x27236 0x77E6 -0x27237 0x77EA -0x27238 0x77EC -0x27239 0x4093 -0x2723A 0x77F0 -0x2723B 0x77F4 -0x2723C 0x77FB -0x2723D 0x2542E -0x2723E 0x7805 -0x2723F 0x7806 -0x27240 0x7809 -0x27241 0x780D -0x27242 0x7819 -0x27243 0x7821 -0x27244 0x782C -0x27245 0x7847 -0x27246 0x7864 -0x27247 0x786A -0x27248 0x254D9 -0x27249 0x788A -0x2724A 0x7894 -0x2724B 0x78A4 -0x2724C 0x789D -0x2724D 0x789E -0x2724E 0x789F -0x2724F 0x78BB -0x27250 0x78C8 -0x27251 0x78CC -0x27252 0x78CE -0x27253 0x78D5 -0x27254 0x78E0 -0x27255 0x78E1 -0x27256 0x78E6 -0x27257 0x78F9 -0x27258 0x78FA -0x27259 0x78FB -0x2725A 0x78FE -0x2725B 0x255A7 -0x2725C 0x7910 -0x2725D 0x791B -0x2725E 0x7930 -0x2725F 0x7925 -0x27260 0x793B -0x27261 0x794A -0x27262 0x7958 -0x27263 0x795B -0x27264 0x4105 -0x27265 0x7967 -0x27266 0x7972 -0x27267 0x7994 -0x27268 0x7995 -0x27269 0x7996 -0x2726A 0x799B -0x2726B 0x79A1 -0x2726C 0x79A9 -0x2726D 0x79B4 -0x2726E 0x79BB -0x2726F 0x79C2 -0x27270 0x79C7 -0x27271 0x79CC -0x27272 0x79CD -0x27273 0x79D6 -0x27274 0x4148 -0x27275 0x257A9 -0x27276 0x257B4 -0x27277 0x414F -0x27278 0x7A0A -0x27279 0x7A11 -0x2727A 0x7A15 -0x2727B 0x7A1B -0x2727C 0x7A1E -0x2727D 0x4163 -0x2727E 0x7A2D -0x27321 0x7A38 -0x27322 0x7A47 -0x27323 0x7A4C -0x27324 0x7A56 -0x27325 0x7A59 -0x27326 0x7A5C -0x27327 0x7A5F -0x27328 0x7A60 -0x27329 0x7A67 -0x2732A 0x7A6A -0x2732B 0x7A75 -0x2732C 0x7A78 -0x2732D 0x7A82 -0x2732E 0x7A8A -0x2732F 0x7A90 -0x27330 0x7AA3 -0x27331 0x7AAC -0x27332 0x259D4 -0x27333 0x41B4 -0x27334 0x7AB9 -0x27335 0x7ABC -0x27336 0x7ABE -0x27337 0x41BF -0x27338 0x7ACC -0x27339 0x7AD1 -0x2733A 0x7AE7 -0x2733B 0x7AE8 -0x2733C 0x7AF4 -0x2733D 0x25AE4 -0x2733E 0x25AE3 -0x2733F 0x7B07 -0x27340 0x25AF1 -0x27341 0x7B3D -0x27342 0x7B27 -0x27343 0x7B2A -0x27344 0x7B2E -0x27345 0x7B2F -0x27346 0x7B31 -0x27347 0x41E6 -0x27348 0x41F3 -0x27349 0x7B7F -0x2734A 0x7B41 -0x2734B 0x41EE -0x2734C 0x7B55 -0x2734D 0x7B79 -0x2734E 0x7B64 -0x2734F 0x7B66 -0x27350 0x7B69 -0x27351 0x7B73 -0x27352 0x25BB2 -0x27353 0x4207 -0x27354 0x7B90 -0x27355 0x7B91 -0x27356 0x7B9B -0x27357 0x420E -0x27358 0x7BAF -0x27359 0x7BB5 -0x2735A 0x7BBC -0x2735B 0x7BC5 -0x2735C 0x7BCA -0x2735D 0x25C4B -0x2735E 0x25C64 -0x2735F 0x7BD4 -0x27360 0x7BD6 -0x27361 0x7BDA -0x27362 0x7BEA -0x27363 0x7BF0 -0x27364 0x7C03 -0x27365 0x7C0B -0x27366 0x7C0E -0x27367 0x7C0F -0x27368 0x7C26 -0x27369 0x7C45 -0x2736A 0x7C4A -0x2736B 0x7C51 -0x2736C 0x7C57 -0x2736D 0x7C5E -0x2736E 0x7C61 -0x2736F 0x7C69 -0x27370 0x7C6E -0x27371 0x7C6F -0x27372 0x7C70 -0x27373 0x25E2E -0x27374 0x25E56 -0x27375 0x25E65 -0x27376 0x7CA6 -0x27377 0x25E62 -0x27378 0x7CB6 -0x27379 0x7CB7 -0x2737A 0x7CBF -0x2737B 0x25ED8 -0x2737C 0x7CC4 -0x2737D 0x25EC2 -0x2737E 0x7CC8 -0x27421 0x7CCD -0x27422 0x25EE8 -0x27423 0x7CD7 -0x27424 0x25F23 -0x27425 0x7CE6 -0x27426 0x7CEB -0x27427 0x25F5C -0x27428 0x7CF5 -0x27429 0x7D03 -0x2742A 0x7D09 -0x2742B 0x42C6 -0x2742C 0x7D12 -0x2742D 0x7D1E -0x2742E 0x25FE0 -0x2742F 0x25FD4 -0x27430 0x7D3D -0x27431 0x7D3E -0x27432 0x7D40 -0x27433 0x7D47 -0x27434 0x2600C -0x27435 0x25FFB -0x27436 0x42D6 -0x27437 0x7D59 -0x27438 0x7D5A -0x27439 0x7D6A -0x2743A 0x7D70 -0x2743B 0x42DD -0x2743C 0x7D7F -0x2743D 0x26017 -0x2743E 0x7D86 -0x2743F 0x7D88 -0x27440 0x7D8C -0x27441 0x7D97 -0x27442 0x26060 -0x27443 0x7D9D -0x27444 0x7DA7 -0x27445 0x7DAA -0x27446 0x7DB6 -0x27447 0x7DB7 -0x27448 0x7DC0 -0x27449 0x7DD7 -0x2744A 0x7DD9 -0x2744B 0x7DE6 -0x2744C 0x7DF1 -0x2744D 0x7DF9 -0x2744E 0x4302 -0x2744F 0x260ED -0x27450 0xFA58 -0x27451 0x7E10 -0x27452 0x7E17 -0x27453 0x7E1D -0x27454 0x7E20 -0x27455 0x7E27 -0x27456 0x7E2C -0x27457 0x7E45 -0x27458 0x7E73 -0x27459 0x7E75 -0x2745A 0x7E7E -0x2745B 0x7E86 -0x2745C 0x7E87 -0x2745D 0x432B -0x2745E 0x7E91 -0x2745F 0x7E98 -0x27460 0x7E9A -0x27461 0x4343 -0x27462 0x7F3C -0x27463 0x7F3B -0x27464 0x7F3E -0x27465 0x7F43 -0x27466 0x7F44 -0x27467 0x7F4F -0x27468 0x34C1 -0x27469 0x26270 -0x2746A 0x7F52 -0x2746B 0x26286 -0x2746C 0x7F61 -0x2746D 0x7F63 -0x2746E 0x7F64 -0x2746F 0x7F6D -0x27470 0x7F7D -0x27471 0x7F7E -0x27472 0x2634C -0x27473 0x7F90 -0x27474 0x517B -0x27475 0x23D0E -0x27476 0x7F96 -0x27477 0x7F9C -0x27478 0x7FAD -0x27479 0x26402 -0x2747A 0x7FC3 -0x2747B 0x7FCF -0x2747C 0x7FE3 -0x2747D 0x7FE5 -0x2747E 0x7FEF -0x27521 0x7FF2 -0x27522 0x8002 -0x27523 0x800A -0x27524 0x8008 -0x27525 0x800E -0x27526 0x8011 -0x27527 0x8016 -0x27528 0x8024 -0x27529 0x802C -0x2752A 0x8030 -0x2752B 0x8043 -0x2752C 0x8066 -0x2752D 0x8071 -0x2752E 0x8075 -0x2752F 0x807B -0x27530 0x8099 -0x27531 0x809C -0x27532 0x80A4 -0x27533 0x80A7 -0x27534 0x80B8 -0x27535 0x2667E -0x27536 0x80C5 -0x27537 0x80D5 -0x27538 0x80D8 -0x27539 0x80E6 -0x2753A 0x266B0 -0x2753B 0x810D -0x2753C 0x80F5 -0x2753D 0x80FB -0x2753E 0x43EE -0x2753F 0x8135 -0x27540 0x8116 -0x27541 0x811E -0x27542 0x43F0 -0x27543 0x8124 -0x27544 0x8127 -0x27545 0x812C -0x27546 0x2671D -0x27547 0x813D -0x27548 0x4408 -0x27549 0x8169 -0x2754A 0x4417 -0x2754B 0x8181 -0x2754C 0x441C -0x2754D 0x8184 -0x2754E 0x8185 -0x2754F 0x4422 -0x27550 0x8198 -0x27551 0x81B2 -0x27552 0x81C1 -0x27553 0x81C3 -0x27554 0x81D6 -0x27555 0x81DB -0x27556 0x268DD -0x27557 0x81E4 -0x27558 0x268EA -0x27559 0x81EC -0x2755A 0x26951 -0x2755B 0x81FD -0x2755C 0x81FF -0x2755D 0x2696F -0x2755E 0x8204 -0x2755F 0x269DD -0x27560 0x8219 -0x27561 0x8221 -0x27562 0x8222 -0x27563 0x26A1E -0x27564 0x8232 -0x27565 0x8234 -0x27566 0x823C -0x27567 0x8246 -0x27568 0x8249 -0x27569 0x8245 -0x2756A 0x26A58 -0x2756B 0x824B -0x2756C 0x4476 -0x2756D 0x824F -0x2756E 0x447A -0x2756F 0x8257 -0x27570 0x26A8C -0x27571 0x825C -0x27572 0x8263 -0x27573 0x26AB7 -0x27574 0xFA5D -0x27575 0xFA5E -0x27576 0x8279 -0x27577 0x4491 -0x27578 0x827D -0x27579 0x827F -0x2757A 0x8283 -0x2757B 0x828A -0x2757C 0x8293 -0x2757D 0x82A7 -0x2757E 0x82A8 -0x27621 0x82B2 -0x27622 0x82B4 -0x27623 0x82BA -0x27624 0x82BC -0x27625 0x82E2 -0x27626 0x82E8 -0x27627 0x82F7 -0x27628 0x8307 -0x27629 0x8308 -0x2762A 0x830C -0x2762B 0x8354 -0x2762C 0x831B -0x2762D 0x831D -0x2762E 0x8330 -0x2762F 0x833C -0x27630 0x8344 -0x27631 0x8357 -0x27632 0x44BE -0x27633 0x837F -0x27634 0x44D4 -0x27635 0x44B3 -0x27636 0x838D -0x27637 0x8394 -0x27638 0x8395 -0x27639 0x839B -0x2763A 0x839D -0x2763B 0x83C9 -0x2763C 0x83D0 -0x2763D 0x83D4 -0x2763E 0x83DD -0x2763F 0x83E5 -0x27640 0x83F9 -0x27641 0x840F -0x27642 0x8411 -0x27643 0x8415 -0x27644 0x26C73 -0x27645 0x8417 -0x27646 0x8439 -0x27647 0x844A -0x27648 0x844F -0x27649 0x8451 -0x2764A 0x8452 -0x2764B 0x8459 -0x2764C 0x845A -0x2764D 0x845C -0x2764E 0x26CDD -0x2764F 0x8465 -0x27650 0x8476 -0x27651 0x8478 -0x27652 0x847C -0x27653 0x8481 -0x27654 0x450D -0x27655 0x84DC -0x27656 0x8497 -0x27657 0x84A6 -0x27658 0x84BE -0x27659 0x4508 -0x2765A 0x84CE -0x2765B 0x84CF -0x2765C 0x84D3 -0x2765D 0x26E65 -0x2765E 0x84E7 -0x2765F 0x84EA -0x27660 0x84EF -0x27661 0x84F0 -0x27662 0x84F1 -0x27663 0x84FA -0x27664 0x84FD -0x27665 0x850C -0x27666 0x851B -0x27667 0x8524 -0x27668 0x8525 -0x27669 0x852B -0x2766A 0x8534 -0x2766B 0x854F -0x2766C 0x856F -0x2766D 0x4525 -0x2766E 0x4543 -0x2766F 0x853E -0x27670 0x8551 -0x27671 0x8553 -0x27672 0x855E -0x27673 0x8561 -0x27674 0x8562 -0x27675 0x26F94 -0x27676 0x857B -0x27677 0x857D -0x27678 0x857F -0x27679 0x8581 -0x2767A 0x8586 -0x2767B 0x8593 -0x2767C 0x859D -0x2767D 0x859F -0x2767E 0x26FF8 -0x27721 0x26FF6 -0x27722 0x26FF7 -0x27723 0x85B7 -0x27724 0x85BC -0x27725 0x85C7 -0x27726 0x85CA -0x27727 0x85D8 -0x27728 0x85D9 -0x27729 0x85DF -0x2772A 0x85E1 -0x2772B 0x85E6 -0x2772C 0x85F6 -0x2772D 0x8600 -0x2772E 0x8611 -0x2772F 0x861E -0x27730 0x8621 -0x27731 0x8624 -0x27732 0x8627 -0x27733 0x2710D -0x27734 0x8639 -0x27735 0x863C -0x27736 0x27139 -0x27737 0x8640 -0x27738 0xFA20 -0x27739 0x8653 -0x2773A 0x8656 -0x2773B 0x866F -0x2773C 0x8677 -0x2773D 0x867A -0x2773E 0x8687 -0x2773F 0x8689 -0x27740 0x868D -0x27741 0x8691 -0x27742 0x869C -0x27743 0x869D -0x27744 0x86A8 -0x27745 0xFA21 -0x27746 0x86B1 -0x27747 0x86B3 -0x27748 0x86C1 -0x27749 0x86C3 -0x2774A 0x86D1 -0x2774B 0x86D5 -0x2774C 0x86D7 -0x2774D 0x86E3 -0x2774E 0x86E6 -0x2774F 0x45B8 -0x27750 0x8705 -0x27751 0x8707 -0x27752 0x870E -0x27753 0x8710 -0x27754 0x8713 -0x27755 0x8719 -0x27756 0x871F -0x27757 0x8721 -0x27758 0x8723 -0x27759 0x8731 -0x2775A 0x873A -0x2775B 0x873E -0x2775C 0x8740 -0x2775D 0x8743 -0x2775E 0x8751 -0x2775F 0x8758 -0x27760 0x8764 -0x27761 0x8765 -0x27762 0x8772 -0x27763 0x877C -0x27764 0x273DB -0x27765 0x273DA -0x27766 0x87A7 -0x27767 0x8789 -0x27768 0x878B -0x27769 0x8793 -0x2776A 0x87A0 -0x2776B 0x273FE -0x2776C 0x45E5 -0x2776D 0x87BE -0x2776E 0x27410 -0x2776F 0x87C1 -0x27770 0x87CE -0x27771 0x87F5 -0x27772 0x87DF -0x27773 0x27449 -0x27774 0x87E3 -0x27775 0x87E5 -0x27776 0x87E6 -0x27777 0x87EA -0x27778 0x87EB -0x27779 0x87ED -0x2777A 0x8801 -0x2777B 0x8803 -0x2777C 0x880B -0x2777D 0x8813 -0x2777E 0x8828 -0x27821 0x882E -0x27822 0x8832 -0x27823 0x883C -0x27824 0x460F -0x27825 0x884A -0x27826 0x8858 -0x27827 0x885F -0x27828 0x8864 -0x27829 0x27615 -0x2782A 0x27614 -0x2782B 0x8869 -0x2782C 0x27631 -0x2782D 0x886F -0x2782E 0x88A0 -0x2782F 0x88BC -0x27830 0x88BD -0x27831 0x88BE -0x27832 0x88C0 -0x27833 0x88D2 -0x27834 0x27693 -0x27835 0x88D1 -0x27836 0x88D3 -0x27837 0x88DB -0x27838 0x88F0 -0x27839 0x88F1 -0x2783A 0x4641 -0x2783B 0x8901 -0x2783C 0x2770E -0x2783D 0x8937 -0x2783E 0x27723 -0x2783F 0x8942 -0x27840 0x8945 -0x27841 0x8949 -0x27842 0x27752 -0x27843 0x4665 -0x27844 0x8962 -0x27845 0x8980 -0x27846 0x8989 -0x27847 0x8990 -0x27848 0x899F -0x27849 0x89B0 -0x2784A 0x89B7 -0x2784B 0x89D6 -0x2784C 0x89D8 -0x2784D 0x89EB -0x2784E 0x46A1 -0x2784F 0x89F1 -0x27850 0x89F3 -0x27851 0x89FD -0x27852 0x89FF -0x27853 0x46AF -0x27854 0x8A11 -0x27855 0x8A14 -0x27856 0x27985 -0x27857 0x8A21 -0x27858 0x8A35 -0x27859 0x8A3E -0x2785A 0x8A45 -0x2785B 0x8A4D -0x2785C 0x8A58 -0x2785D 0x8AAE -0x2785E 0x8A90 -0x2785F 0x8AB7 -0x27860 0x8ABE -0x27861 0x8AD7 -0x27862 0x8AFC -0x27863 0x27A84 -0x27864 0x8B0A -0x27865 0x8B05 -0x27866 0x8B0D -0x27867 0x8B1C -0x27868 0x8B1F -0x27869 0x8B2D -0x2786A 0x8B43 -0x2786B 0x470C -0x2786C 0x8B51 -0x2786D 0x8B5E -0x2786E 0x8B76 -0x2786F 0x8B7F -0x27870 0x8B81 -0x27871 0x8B8B -0x27872 0x8B94 -0x27873 0x8B95 -0x27874 0x8B9C -0x27875 0x8B9E -0x27876 0x8C39 -0x27877 0x27BB3 -0x27878 0x8C3D -0x27879 0x27BBE -0x2787A 0x27BC7 -0x2787B 0x8C45 -0x2787C 0x8C47 -0x2787D 0x8C4F -0x2787E 0x8C54 -0x27921 0x8C57 -0x27922 0x8C69 -0x27923 0x8C6D -0x27924 0x8C73 -0x27925 0x27CB8 -0x27926 0x8C93 -0x27927 0x8C92 -0x27928 0x8C99 -0x27929 0x4764 -0x2792A 0x8C9B -0x2792B 0x8CA4 -0x2792C 0x8CD6 -0x2792D 0x8CD5 -0x2792E 0x8CD9 -0x2792F 0x27DA0 -0x27930 0x8CF0 -0x27931 0x8CF1 -0x27932 0x27E10 -0x27933 0x8D09 -0x27934 0x8D0E -0x27935 0x8D6C -0x27936 0x8D84 -0x27937 0x8D95 -0x27938 0x8DA6 -0x27939 0x27FB7 -0x2793A 0x8DC6 -0x2793B 0x8DC8 -0x2793C 0x8DD9 -0x2793D 0x8DEC -0x2793E 0x8E0C -0x2793F 0x47FD -0x27940 0x8DFD -0x27941 0x8E06 -0x27942 0x2808A -0x27943 0x8E14 -0x27944 0x8E16 -0x27945 0x8E21 -0x27946 0x8E22 -0x27947 0x8E27 -0x27948 0x280BB -0x27949 0x4816 -0x2794A 0x8E36 -0x2794B 0x8E39 -0x2794C 0x8E4B -0x2794D 0x8E54 -0x2794E 0x8E62 -0x2794F 0x8E6C -0x27950 0x8E6D -0x27951 0x8E6F -0x27952 0x8E98 -0x27953 0x8E9E -0x27954 0x8EAE -0x27955 0x8EB3 -0x27956 0x8EB5 -0x27957 0x8EB6 -0x27958 0x8EBB -0x27959 0x28282 -0x2795A 0x8ED1 -0x2795B 0x8ED4 -0x2795C 0x484E -0x2795D 0x8EF9 -0x2795E 0x282F3 -0x2795F 0x8F00 -0x27960 0x8F08 -0x27961 0x8F17 -0x27962 0x8F2B -0x27963 0x8F40 -0x27964 0x8F4A -0x27965 0x8F58 -0x27966 0x2840C -0x27967 0x8FA4 -0x27968 0x8FB4 -0x27969 0xFA66 -0x2796A 0x8FB6 -0x2796B 0x28455 -0x2796C 0x8FC1 -0x2796D 0x8FC6 -0x2796E 0xFA24 -0x2796F 0x8FCA -0x27970 0x8FCD -0x27971 0x8FD3 -0x27972 0x8FD5 -0x27973 0x8FE0 -0x27974 0x8FF1 -0x27975 0x8FF5 -0x27976 0x8FFB -0x27977 0x9002 -0x27978 0x900C -0x27979 0x9037 -0x2797A 0x2856B -0x2797B 0x9043 -0x2797C 0x9044 -0x2797D 0x905D -0x2797E 0x285C8 -0x27A21 0x285C9 -0x27A22 0x9085 -0x27A23 0x908C -0x27A24 0x9090 -0x27A25 0x961D -0x27A26 0x90A1 -0x27A27 0x48B5 -0x27A28 0x90B0 -0x27A29 0x90B6 -0x27A2A 0x90C3 -0x27A2B 0x90C8 -0x27A2C 0x286D7 -0x27A2D 0x90DC -0x27A2E 0x90DF -0x27A2F 0x286FA -0x27A30 0x90F6 -0x27A31 0x90F2 -0x27A32 0x9100 -0x27A33 0x90EB -0x27A34 0x90FE -0x27A35 0x90FF -0x27A36 0x9104 -0x27A37 0x9106 -0x27A38 0x9118 -0x27A39 0x911C -0x27A3A 0x911E -0x27A3B 0x9137 -0x27A3C 0x9139 -0x27A3D 0x913A -0x27A3E 0x9146 -0x27A3F 0x9147 -0x27A40 0x9157 -0x27A41 0x9159 -0x27A42 0x9161 -0x27A43 0x9164 -0x27A44 0x9174 -0x27A45 0x9179 -0x27A46 0x9185 -0x27A47 0x918E -0x27A48 0x91A8 -0x27A49 0x91AE -0x27A4A 0x91B3 -0x27A4B 0x91B6 -0x27A4C 0x91C3 -0x27A4D 0x91C4 -0x27A4E 0x91DA -0x27A4F 0x28949 -0x27A50 0x28946 -0x27A51 0x91EC -0x27A52 0x91EE -0x27A53 0x9201 -0x27A54 0x920A -0x27A55 0x9216 -0x27A56 0x9217 -0x27A57 0x2896B -0x27A58 0x9233 -0x27A59 0x9242 -0x27A5A 0x9247 -0x27A5B 0x924A -0x27A5C 0x924E -0x27A5D 0x9251 -0x27A5E 0x9256 -0x27A5F 0x9259 -0x27A60 0x9260 -0x27A61 0x9261 -0x27A62 0x9265 -0x27A63 0x9267 -0x27A64 0x9268 -0x27A65 0x28987 -0x27A66 0x28988 -0x27A67 0x927C -0x27A68 0x927D -0x27A69 0x927F -0x27A6A 0x9289 -0x27A6B 0x928D -0x27A6C 0x9297 -0x27A6D 0x9299 -0x27A6E 0x929F -0x27A6F 0x92A7 -0x27A70 0x92AB -0x27A71 0x289BA -0x27A72 0x289BB -0x27A73 0x92B2 -0x27A74 0x92BF -0x27A75 0x92C0 -0x27A76 0x92C6 -0x27A77 0x92CE -0x27A78 0x92D0 -0x27A79 0x92D7 -0x27A7A 0x92D9 -0x27A7B 0x92E5 -0x27A7C 0x92E7 -0x27A7D 0x9311 -0x27A7E 0x28A1E -0x27B21 0x28A29 -0x27B22 0x92F7 -0x27B23 0x92F9 -0x27B24 0x92FB -0x27B25 0x9302 -0x27B26 0x930D -0x27B27 0x9315 -0x27B28 0x931D -0x27B29 0x931E -0x27B2A 0x9327 -0x27B2B 0x9329 -0x27B2C 0x28A71 -0x27B2D 0x28A43 -0x27B2E 0x9347 -0x27B2F 0x9351 -0x27B30 0x9357 -0x27B31 0x935A -0x27B32 0x936B -0x27B33 0x9371 -0x27B34 0x9373 -0x27B35 0x93A1 -0x27B36 0x28A99 -0x27B37 0x28ACD -0x27B38 0x9388 -0x27B39 0x938B -0x27B3A 0x938F -0x27B3B 0x939E -0x27B3C 0x93F5 -0x27B3D 0x28AE4 -0x27B3E 0x28ADD -0x27B3F 0x93F1 -0x27B40 0x93C1 -0x27B41 0x93C7 -0x27B42 0x93DC -0x27B43 0x93E2 -0x27B44 0x93E7 -0x27B45 0x9409 -0x27B46 0x940F -0x27B47 0x9416 -0x27B48 0x9417 -0x27B49 0x93FB -0x27B4A 0x9432 -0x27B4B 0x9434 -0x27B4C 0x943B -0x27B4D 0x9445 -0x27B4E 0x28BC1 -0x27B4F 0x28BEF -0x27B50 0x946D -0x27B51 0x946F -0x27B52 0x9578 -0x27B53 0x9579 -0x27B54 0x9586 -0x27B55 0x958C -0x27B56 0x958D -0x27B57 0x28D10 -0x27B58 0x95AB -0x27B59 0x95B4 -0x27B5A 0x28D71 -0x27B5B 0x95C8 -0x27B5C 0x28DFB -0x27B5D 0x28E1F -0x27B5E 0x962C -0x27B5F 0x9633 -0x27B60 0x9634 -0x27B61 0x28E36 -0x27B62 0x963C -0x27B63 0x9641 -0x27B64 0x9661 -0x27B65 0x28E89 -0x27B66 0x9682 -0x27B67 0x28EEB -0x27B68 0x969A -0x27B69 0x28F32 -0x27B6A 0x49E7 -0x27B6B 0x96A9 -0x27B6C 0x96AF -0x27B6D 0x96B3 -0x27B6E 0x96BA -0x27B6F 0x96BD -0x27B70 0x49FA -0x27B71 0x28FF8 -0x27B72 0x96D8 -0x27B73 0x96DA -0x27B74 0x96DD -0x27B75 0x4A04 -0x27B76 0x9714 -0x27B77 0x9723 -0x27B78 0x4A29 -0x27B79 0x9736 -0x27B7A 0x9741 -0x27B7B 0x9747 -0x27B7C 0x9755 -0x27B7D 0x9757 -0x27B7E 0x975B -0x27C21 0x976A -0x27C22 0x292A0 -0x27C23 0x292B1 -0x27C24 0x9796 -0x27C25 0x979A -0x27C26 0x979E -0x27C27 0x97A2 -0x27C28 0x97B1 -0x27C29 0x97B2 -0x27C2A 0x97BE -0x27C2B 0x97CC -0x27C2C 0x97D1 -0x27C2D 0x97D4 -0x27C2E 0x97D8 -0x27C2F 0x97D9 -0x27C30 0x97E1 -0x27C31 0x97F1 -0x27C32 0x9804 -0x27C33 0x980D -0x27C34 0x980E -0x27C35 0x9814 -0x27C36 0x9816 -0x27C37 0x4ABC -0x27C38 0x29490 -0x27C39 0x9823 -0x27C3A 0x9832 -0x27C3B 0x9833 -0x27C3C 0x9825 -0x27C3D 0x9847 -0x27C3E 0x9866 -0x27C3F 0x98AB -0x27C40 0x98AD -0x27C41 0x98B0 -0x27C42 0x295CF -0x27C43 0x98B7 -0x27C44 0x98B8 -0x27C45 0x98BB -0x27C46 0x98BC -0x27C47 0x98BF -0x27C48 0x98C2 -0x27C49 0x98C7 -0x27C4A 0x98CB -0x27C4B 0x98E0 -0x27C4C 0x2967F -0x27C4D 0x98E1 -0x27C4E 0x98E3 -0x27C4F 0x98E5 -0x27C50 0x98EA -0x27C51 0x98F0 -0x27C52 0x98F1 -0x27C53 0x98F3 -0x27C54 0x9908 -0x27C55 0x4B3B -0x27C56 0x296F0 -0x27C57 0x9916 -0x27C58 0x9917 -0x27C59 0x29719 -0x27C5A 0x991A -0x27C5B 0x991B -0x27C5C 0x991C -0x27C5D 0x29750 -0x27C5E 0x9931 -0x27C5F 0x9932 -0x27C60 0x9933 -0x27C61 0x993A -0x27C62 0x993B -0x27C63 0x993C -0x27C64 0x9940 -0x27C65 0x9941 -0x27C66 0x9946 -0x27C67 0x994D -0x27C68 0x994E -0x27C69 0x995C -0x27C6A 0x995F -0x27C6B 0x9960 -0x27C6C 0x99A3 -0x27C6D 0x99A6 -0x27C6E 0x99B9 -0x27C6F 0x99BD -0x27C70 0x99BF -0x27C71 0x99C3 -0x27C72 0x99C9 -0x27C73 0x99D4 -0x27C74 0x99D9 -0x27C75 0x99DE -0x27C76 0x298C6 -0x27C77 0x99F0 -0x27C78 0x99F9 -0x27C79 0x99FC -0x27C7A 0x9A0A -0x27C7B 0x9A11 -0x27C7C 0x9A16 -0x27C7D 0x9A1A -0x27C7E 0x9A20 -0x27D21 0x9A31 -0x27D22 0x9A36 -0x27D23 0x9A44 -0x27D24 0x9A4C -0x27D25 0x9A58 -0x27D26 0x4BC2 -0x27D27 0x9AAF -0x27D28 0x4BCA -0x27D29 0x9AB7 -0x27D2A 0x4BD2 -0x27D2B 0x9AB9 -0x27D2C 0x29A72 -0x27D2D 0x9AC6 -0x27D2E 0x9AD0 -0x27D2F 0x9AD2 -0x27D30 0x9AD5 -0x27D31 0x4BE8 -0x27D32 0x9ADC -0x27D33 0x9AE0 -0x27D34 0x9AE5 -0x27D35 0x9AE9 -0x27D36 0x9B03 -0x27D37 0x9B0C -0x27D38 0x9B10 -0x27D39 0x9B12 -0x27D3A 0x9B16 -0x27D3B 0x9B1C -0x27D3C 0x9B2B -0x27D3D 0x9B33 -0x27D3E 0x9B3D -0x27D3F 0x4C20 -0x27D40 0x9B4B -0x27D41 0x9B63 -0x27D42 0x9B65 -0x27D43 0x9B6B -0x27D44 0x9B6C -0x27D45 0x9B73 -0x27D46 0x9B76 -0x27D47 0x9B77 -0x27D48 0x9BA6 -0x27D49 0x9BAC -0x27D4A 0x9BB1 -0x27D4B 0x29DDB -0x27D4C 0x29E3D -0x27D4D 0x9BB2 -0x27D4E 0x9BB8 -0x27D4F 0x9BBE -0x27D50 0x9BC7 -0x27D51 0x9BF3 -0x27D52 0x9BD8 -0x27D53 0x9BDD -0x27D54 0x9BE7 -0x27D55 0x9BEA -0x27D56 0x9BEB -0x27D57 0x9BEF -0x27D58 0x9BEE -0x27D59 0x29E15 -0x27D5A 0x9BFA -0x27D5B 0x29E8A -0x27D5C 0x9BF7 -0x27D5D 0x29E49 -0x27D5E 0x9C16 -0x27D5F 0x9C18 -0x27D60 0x9C19 -0x27D61 0x9C1A -0x27D62 0x9C1D -0x27D63 0x9C22 -0x27D64 0x9C27 -0x27D65 0x9C29 -0x27D66 0x9C2A -0x27D67 0x29EC4 -0x27D68 0x9C31 -0x27D69 0x9C36 -0x27D6A 0x9C37 -0x27D6B 0x9C45 -0x27D6C 0x9C5C -0x27D6D 0x29EE9 -0x27D6E 0x9C49 -0x27D6F 0x9C4A -0x27D70 0x29EDB -0x27D71 0x9C54 -0x27D72 0x9C58 -0x27D73 0x9C5B -0x27D74 0x9C5D -0x27D75 0x9C5F -0x27D76 0x9C69 -0x27D77 0x9C6A -0x27D78 0x9C6B -0x27D79 0x9C6D -0x27D7A 0x9C6E -0x27D7B 0x9C70 -0x27D7C 0x9C72 -0x27D7D 0x9C75 -0x27D7E 0x9C7A -0x27E21 0x9CE6 -0x27E22 0x9CF2 -0x27E23 0x9D0B -0x27E24 0x9D02 -0x27E25 0x29FCE -0x27E26 0x9D11 -0x27E27 0x9D17 -0x27E28 0x9D18 -0x27E29 0x2A02F -0x27E2A 0x4CC4 -0x27E2B 0x2A01A -0x27E2C 0x9D32 -0x27E2D 0x4CD1 -0x27E2E 0x9D42 -0x27E2F 0x9D4A -0x27E30 0x9D5F -0x27E31 0x9D62 -0x27E32 0x2A0F9 -0x27E33 0x9D69 -0x27E34 0x9D6B -0x27E35 0x2A082 -0x27E36 0x9D73 -0x27E37 0x9D76 -0x27E38 0x9D77 -0x27E39 0x9D7E -0x27E3A 0x9D84 -0x27E3B 0x9D8D -0x27E3C 0x9D99 -0x27E3D 0x9DA1 -0x27E3E 0x9DBF -0x27E3F 0x9DB5 -0x27E40 0x9DB9 -0x27E41 0x9DBD -0x27E42 0x9DC3 -0x27E43 0x9DC7 -0x27E44 0x9DC9 -0x27E45 0x9DD6 -0x27E46 0x9DDA -0x27E47 0x9DDF -0x27E48 0x9DE0 -0x27E49 0x9DE3 -0x27E4A 0x9DF4 -0x27E4B 0x4D07 -0x27E4C 0x9E0A -0x27E4D 0x9E02 -0x27E4E 0x9E0D -0x27E4F 0x9E19 -0x27E50 0x9E1C -0x27E51 0x9E1D -0x27E52 0x9E7B -0x27E53 0x22218 -0x27E54 0x9E80 -0x27E55 0x9E85 -0x27E56 0x9E9B -0x27E57 0x9EA8 -0x27E58 0x2A38C -0x27E59 0x9EBD -0x27E5A 0x2A437 -0x27E5B 0x9EDF -0x27E5C 0x9EE7 -0x27E5D 0x9EEE -0x27E5E 0x9EFF -0x27E5F 0x9F02 -0x27E60 0x4D77 -0x27E61 0x9F03 -0x27E62 0x9F17 -0x27E63 0x9F19 -0x27E64 0x9F2F -0x27E65 0x9F37 -0x27E66 0x9F3A -0x27E67 0x9F3D -0x27E68 0x9F41 -0x27E69 0x9F45 -0x27E6A 0x9F46 -0x27E6B 0x9F53 -0x27E6C 0x9F55 -0x27E6D 0x9F58 -0x27E6E 0x2A5F1 -0x27E6F 0x9F5D -0x27E70 0x2A602 -0x27E71 0x9F69 -0x27E72 0x2A61A -0x27E73 0x9F6D -0x27E74 0x9F70 -0x27E75 0x9F75 -0x27E76 0x2A6B2 diff --git a/jni/iconv/tools/Makefile b/jni/iconv/tools/Makefile deleted file mode 100644 index 2bf7d84..0000000 --- a/jni/iconv/tools/Makefile +++ /dev/null @@ -1,532 +0,0 @@ - -# Directory containing conversion tables. -# You have to unpack the conversion-tables.tar.gz package. -TABLESDIR = /home/bruno/chs/conversion-tables - -ALL = \ - ascii.h \ - iso8859_1.h \ - iso8859_2.h \ - iso8859_3.h \ - iso8859_4.h \ - iso8859_5.h \ - iso8859_6.h \ - iso8859_7.h \ - iso8859_8.h \ - iso8859_9.h \ - iso8859_10.h \ - iso8859_11.h \ - iso8859_13.h \ - iso8859_14.h \ - iso8859_15.h \ - iso8859_16.h \ - koi8_r.h \ - koi8_u.h \ - koi8_ru.h \ - cp1250.h \ - cp1251.h \ - cp1252.h \ - cp1253.h \ - cp1254.h \ - cp1255.h \ - cp1256.h \ - cp1257.h \ - cp1258.h \ - cp850.h \ - cp862.h \ - cp866.h \ - cp1131.h \ - mac_roman.h \ - mac_centraleurope.h \ - mac_iceland.h \ - mac_croatian.h \ - mac_romania.h \ - mac_cyrillic.h \ - mac_ukraine.h \ - mac_greek.h \ - mac_turkish.h \ - mac_hebrew.h \ - mac_arabic.h \ - mac_thai.h \ - hp_roman8.h \ - nextstep.h \ - armscii_8.h \ - georgian_academy.h \ - georgian_ps.h \ - koi8_t.h \ - pt154.h \ - rk1048.h \ - mulelao.h \ - cp1133.h \ - tis620.h \ - cp874.h \ - viscii.h \ - tcvn.h \ - jisx0201.h \ - jisx0208.h \ - jisx0212.h \ - cp932ext.h \ - gb2312.h \ - isoir165ext.h \ - gb12345ext.h \ - gbkext1.h \ - gbkext2.h \ - gbkext_inv.h \ - cp936ext.h \ - gb18030ext.h \ - gb18030uni.h \ - cns11643_1.h \ - cns11643_2.h \ - cns11643_3.h \ - cns11643_4a.h \ - cns11643_4b.h \ - cns11643_5.h \ - cns11643_6.h \ - cns11643_7.h \ - cns11643_15.h \ - cns11643_inv.h \ - big5.h \ - cp950ext.h \ - hkscs1999.h \ - hkscs2001.h \ - hkscs2004.h \ - ksc5601.h \ - uhc_1.h \ - uhc_2.h \ - johab_hangul.h \ - cp856.h \ - cp922.h \ - cp1046.h \ - cp1124.h \ - cp1129.h \ - cp1161.h \ - cp1162.h \ - cp1163.h \ - cp437.h \ - cp737.h \ - cp775.h \ - cp852.h \ - cp853.h \ - cp855.h \ - cp857.h \ - cp858.h \ - cp860.h \ - cp861.h \ - cp863.h \ - cp864.h \ - cp865.h \ - cp869.h \ - cp1125.h \ - jisx0213.h \ - tds565.h \ - atarist.h \ - riscos1.h \ - cjk_variants.h - -all : $(ALL) - -ascii.h : $(TABLESDIR)/glibc-2.1-iconv/ASCII.TXT 8bit_tab_to_h - ./8bit_tab_to_h ASCII ascii < $< - -iso8859_1.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-1.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-1 iso8859_1 < $< - -iso8859_2.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-2.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-2 iso8859_2 < $< - -iso8859_3.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-3.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-3 iso8859_3 < $< - -iso8859_4.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-4.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-4 iso8859_4 < $< - -iso8859_5.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-5.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-5 iso8859_5 < $< - -iso8859_6.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-6.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-6 iso8859_6 < $< - -iso8859_7.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-7-2003.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-7 iso8859_7 < $< - -iso8859_8.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-8.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-8 iso8859_8 < $< - -iso8859_9.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-9.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-9 iso8859_9 < $< - -iso8859_10.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-10.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-10 iso8859_10 < $< - -iso8859_11.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-11.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-11 iso8859_11 < $< - -iso8859_13.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-13.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-13 iso8859_13 < $< - -iso8859_14.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-14.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-14 iso8859_14 < $< - -iso8859_15.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-15.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-15 iso8859_15 < $< - -iso8859_16.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-16.TXT 8bit_tab_to_h - ./8bit_tab_to_h ISO-8859-16 iso8859_16 < $< - -koi8_r.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/KOI8-R.TXT 8bit_tab_to_h - ./8bit_tab_to_h KOI8-R koi8_r < $< - -koi8_u.h : $(TABLESDIR)/csets-new/KOI8-U.TXT 8bit_tab_to_h - ./8bit_tab_to_h KOI8-U koi8_u < $< - -koi8_ru.h : $(TABLESDIR)/freebsd-iconv-0.4/KOI8-RU.TXT 8bit_tab_to_h - ./8bit_tab_to_h KOI8-RU koi8_ru < $< - -cp1250.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1250.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1250 cp1250 < $< - -cp1251.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1251.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1251 cp1251 < $< - -cp1252.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1252.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1252 cp1252 < $< - -cp1253.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1253.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1253 cp1253 < $< - -cp1254.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1254.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1254 cp1254 < $< - -cp1255.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1255.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1255 cp1255 < $< - -cp1256.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1256.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1256 cp1256 < $< - -cp1257.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1257.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1257 cp1257 < $< - -cp1258.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1258.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1258 cp1258 < $< - -cp850.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP850.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP850 cp850 < $< - -cp862.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP862.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP862 cp862 < $< - -cp866.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP866.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP866 cp866 < $< - -cp1131.h : $(TABLESDIR)/other/CP1131.TXT 8bit_tab_to_h - (echo '#' ; cat $<) | ./8bit_tab_to_h CP1131 cp1131 - -mac_roman.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ROMAN.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacRoman mac_roman < $< - -mac_centraleurope.h : $(TABLESDIR)/jdk-1.1.7b/MAC-CENTRAL-EUROPE.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacCentralEurope mac_centraleurope < $< - -mac_iceland.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ICELAND.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacIceland mac_iceland < $< - -mac_croatian.h : $(TABLESDIR)/jdk-1.1.7b/MAC-CROATIAN.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacCroatian mac_croatian < $< - -mac_romania.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ROMANIA.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacRomania mac_romania < $< - -mac_cyrillic.h : $(TABLESDIR)/jdk-1.1.7b/MAC-CYRILLIC.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacCyrillic mac_cyrillic < $< - -mac_ukraine.h : $(TABLESDIR)/jdk-1.1.7b/MAC-UKRAINE.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacUkraine mac_ukraine < $< - -mac_greek.h : $(TABLESDIR)/jdk-1.1.7b/MAC-GREEK.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacGreek mac_greek < $< - -mac_turkish.h : $(TABLESDIR)/jdk-1.1.7b/MAC-TURKISH.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacTurkish mac_turkish < $< - -mac_hebrew.h : $(TABLESDIR)/jdk-1.1.7b/MAC-HEBREW.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacHebrew mac_hebrew < $< - -mac_arabic.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ARABIC.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacArabic mac_arabic < $< - -mac_thai.h : $(TABLESDIR)/jdk-1.1.7b/MAC-THAI.TXT 8bit_tab_to_h - ./8bit_tab_to_h MacThai mac_thai < $< - -hp_roman8.h : $(TABLESDIR)/glibc-2.1-iconv/HP-ROMAN8.TXT 8bit_tab_to_h - ./8bit_tab_to_h HP-ROMAN8 hp_roman8 < $< - -nextstep.h : $(TABLESDIR)/clisp/NEXTSTEP.TXT 8bit_tab_to_h - ./8bit_tab_to_h NEXTSTEP nextstep < $< - -armscii_8.h : $(TABLESDIR)/glibc-2.2.90-iconv/ARMSCII-8.TXT 8bit_tab_to_h - (echo '#' ; cat $<) | ./8bit_tab_to_h ARMSCII-8 armscii_8 - -georgian_academy.h : $(TABLESDIR)/csets-1.6/GEO-ITA.TXT 8bit_tab_to_h - ./8bit_tab_to_h GEORGIAN-ACADEMY georgian_academy < $< - -georgian_ps.h : $(TABLESDIR)/csets-1.6/GEO-PS.TXT 8bit_tab_to_h - ./8bit_tab_to_h GEORGIAN-PS georgian_ps < $< - -koi8_t.h : $(TABLESDIR)/glibc-2.2.90-iconv/KOI8-T.TXT - (echo '#' ; cat $<) | ./8bit_tab_to_h KOI8-T koi8_t - -pt154.h : $(TABLESDIR)/IANA/PTCP154.TXT - ./8bit_tab_to_h PT154 pt154 < $< - -rk1048.h : $(TABLESDIR)/IANA/KZ-1048.TXT - (echo '#' ; cat $<) | ./8bit_tab_to_h RK1048 rk1048 - -mulelao.h : $(TABLESDIR)/csets-new/MULELAO1.TXT 8bit_tab_to_h - ./8bit_tab_to_h MULELAO-1 mulelao < $< - -cp1133.h : $(TABLESDIR)/csets-new/CP1133.TXT 8bit_tab_to_h - ./8bit_tab_to_h IBM-CP1133 cp1133 < $< - -tis620.h : $(TABLESDIR)/glibc-2.1-iconv/TIS-620.TXT 8bit_tab_to_h - ./8bit_tab_to_h TIS620.2533-1 tis620 < $< - -cp874.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP874.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP874 cp874 < $< - -viscii.h : $(TABLESDIR)/csets-1.6/VISCII.TXT 8bit_tab_to_h - ./8bit_tab_to_h VISCII1.1-1 viscii < $< - -tcvn.h : $(TABLESDIR)/csets-1.6/VN5712-1.TXT 8bit_tab_to_h - ./8bit_tab_to_h TCVN-5712 tcvn < $< - -jisx0201.h : $(TABLESDIR)/clisp/JIS_X0201.TXT 8bit_tab_to_h - ./8bit_tab_to_h JISX0201.1976-0 jisx0201 < $< - -# We use modified JISX0208 and JISX0212 tables. Why? -# Hironori Sakamoto and Tomohiro Kubota explain that -# - EUC-JP and SHIFT_JIS contain JISX0208 exactly, -# - Their round-trip conversion to Unicode and back must be the identity, -# - Conversions between EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP must behave -# as if no Unicode conversion was involved, -# - When JISX0208 is used as a CES (i.e. combined with ASCII) its mapping of -# REVERSE SOLIDUS becomes a FULLWIDTH REVERSE SOLIDUS, apparently because -# round-trip conversion stability is more important than a particular glyph. -# Only with CCS the character is a REVERSE SOLIDUS. -# As a consequence, we use FULLWIDTH REVERSE SOLIDUS in EUC-JP's JISX0208 part, -# and for consistency also in SHIFT_JIS and ISO-2022-JP, i.e. everywhere. -# JISX0208 never occurs as a CCS in practice. Similarly with JISX0212. - -# Unicode.org maps 0x2140 to U+005C. We map it to U+FF3C. -jisx0208.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/JIS/JIS0208.TXT cjk_tab_to_h - sed -e 's,^0x....[ ]*\(0x....[ ]*0x.....*\)$$,\1,' < $< | sed -e 's,\([ ]\)0x005C,\10xFF3C,' | ./cjk_tab_to_h JISX0208.1990-0 jisx0208 > $@ - -# Unicode.org maps 0x2237 to U+007E. We map it to U+FF5E. -jisx0212.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/JIS/JIS0212.TXT cjk_tab_to_h - sed -e 's,\([ ]\)0x007E,\10xFF5E,' < $< | ./cjk_tab_to_h JISX0212.1990-0 jisx0212 > $@ - -cp932ext.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP932.TXT cjk_tab_to_h - (echo '#' ; grep '^0x\(87\|E[D-F]\|F[0-9A-F]\)[0-9A-F][0-9A-F]' < $< ) | ./cjk_tab_to_h 'CP932 extensions' cp932ext > $@ - -gb2312.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT cjk_tab_to_h - ./cjk_tab_to_h GB2312.1980-0 gb2312 < $< > $@ - -isoir165ext.h : $(TABLESDIR)/csets-new/ISO-IR-165-additions.TXT cjk_tab_to_h - (echo '#' ; grep -v '^0x2[8A]' < $<) | ./cjk_tab_to_h 'ISO-IR-165 extensions' isoir165ext > $@ - -gb12345ext.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB12345-FIXED.TXT $(TABLESDIR)/csets-new/GB12345-more.TXT cjk_tab_to_h - (echo '#' ; sed -e '/^0x..[ ]*#UNDEFINED/d' -e 's/#.*$$//' -e '/^[ ]*$$/d' $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT > tmp1.TXT ; sed -e '/^0x..[ ]*#UNDEFINED/d' -e 's/#.*$$//' -e '/^[ ]*$$/d' $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB12345-FIXED.TXT > tmp2.TXT ; diff tmp1.TXT tmp2.TXT | grep '^> ' | sed -e 's,^> ,,' ; cat $(TABLESDIR)/csets-new/GB12345-more.TXT ) | ./cjk_tab_to_h 'GB/T 12345.1990-0 extensions' gb12345ext > $@ && rm -f tmp1.TXT tmp2.TXT - -gbkext1.h : GBKext.TXT cjk_tab_to_h - (echo '#' ; grep '^0x\([89].\|A0\)' < GBKext.TXT) | ./cjk_tab_to_h 'GBK/3 extensions' gbkext1 > $@ - -gbkext2.h : GBKext.TXT cjk_tab_to_h - (echo '#' ; grep '^0x\(A[1-9A-F]\|[B-F][0-9A-F]\)\([4-9].\|A0\)' < GBKext.TXT) | ./cjk_tab_to_h 'GBK/4 and GBK/5 extensions' gbkext2 > $@ - -gbkext_inv.h : GBKext.TXT cjk_tab_to_h - (echo '#' ; grep '^0x\([89].\|A0\)' < GBKext.TXT ; grep '^0x\(A[1-9A-F]\|[B-F][0-9A-F]\)\([4-9].\|A0\)' < GBKext.TXT) | ./cjk_tab_to_h 'GBK extensions' gbkext_inv > $@ - -cp936ext.h : GBKext.TXT cjk_tab_to_h - (echo '#' ; grep '^0xA[1-9][B-F].' < GBKext.TXT) | ./cjk_tab_to_h 'CP936 extensions' cp936ext > $@ - -GBKext.TXT : $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT - sed -e 's,^0x2,0xA,' -e 's,^0x3,0xB,' -e 's,^0x4,0xC,' -e 's,^0x5,0xD,' -e 's,^0x6,0xE,' -e 's,^0x7,0xF,' -e 's,^0x\(..\)2,0x\1A,' -e 's,^0x\(..\)3,0x\1B,' -e 's,^0x\(..\)4,0x\1C,' -e 's,^0x\(..\)5,0x\1D,' -e 's,^0x\(..\)6,0x\1E,' -e 's,^0x\(..\)7,0x\1F,' $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT > tmpEUCCN.TXT ; sed -e '/^0x..[ ]*#UNDEFINED/d' -e 's/#.*$$//' -e '/^[ ]*$$/d' tmpEUCCN.TXT > tmp1.TXT ; sed -e '/^0x..[ ]/d' -e 's/#.*$$//' -e '/^[ ]*$$/d' $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT > tmp2.TXT ; diff -c1 tmp1.TXT tmp2.TXT | grep '^+ ' | sed -e 's,^+ ,,' > $@ && rm -f tmpEUCCN.TXT tmp1.TXT tmp2.TXT - -gb18030ext.h : GB18030ext.TXT cjk_tab_to_h - (echo '#' ; cat GB18030ext.TXT) | ./cjk_tab_to_h 'GB18030 two-byte extension' gb18030ext > $@ - -GB18030ext.TXT : $(TABLESDIR)/glibc-2.2.2-iconv/GB18030.TXT $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT - cat $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT | sed -e 's/[ ]*#.*$$//' | grep '^0x[0-9A-F]* 0x....$$' > tmpGBK.TXT ; diff tmpGBK.TXT $(TABLESDIR)/glibc-2.2.2-iconv/GB18030.TXT | grep '^> 0x.... 0x....$$' | sed -e 's/^> //' > $@ && rm -f tmpGBK.TXT - -gb18030uni.h : GB18030uni.TXT cjk_tab_to_h - ./cjk_tab_to_h 'GB18030 four-byte extension' gb18030uni < GB18030uni.TXT > $@ - -GB18030uni.TXT : $(TABLESDIR)/gb18030/filled-GB18030.TXT - grep '^0x........ 0x....$$' < $(TABLESDIR)/gb18030/filled-GB18030.TXT > $@ - -cns11643_1.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - grep '^\(#\|0x1\)' < $< | sed -e 's,^0x1,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 1' cns11643_1 > $@ - -cns11643_2.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - grep '^\(#\|0x2\)' < $< | sed -e 's,^0x2,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 2' cns11643_2 > $@ - -cns11643_3.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - grep '^\(#\|0x3\)' < $< | sed -e 's,^0x3,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 3' cns11643_3 > $@ - -cns11643_4a.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - grep '^\(#\|0x4[0-3]\)' < $< | sed -e 's,^0x4,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 4 part a' cns11643_4a > $@ - -cns11643_4b.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - grep '^\(#\|0x4[4-7]\)' < $< | sed -e 's,^0x4,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 4 part b' cns11643_4b > $@ - -cns11643_5.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - grep '^\(#\|0x5\)' < $< | sed -e 's,^0x5,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 5' cns11643_5 > $@ - -cns11643_6.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - grep '^\(#\|0x6\)' < $< | sed -e 's,^0x6,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 6' cns11643_6 > $@ - -cns11643_7.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - grep '^\(#\|0x7\)' < $< | sed -e 's,^0x7,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 7' cns11643_7 > $@ - -cns11643_15.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - grep '^\(#\|0xF\)' < $< | sed -e 's,^0xF,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 15' cns11643_15 > $@ - -cns11643_inv.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h - ./cjk_tab_to_h 'CNS 11643-1992 planes 1-7, CNS 11643-1986 plane 15' cns11643_inv < $< > $@ - -big5.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/OTHER/BIG5.TXT cjk_tab_to_h - ./cjk_tab_to_h BIG5 big5 < $< > $@ - -cp950ext.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP950.TXT cjk_tab_to_h - (echo '#' ; grep '^0xF9\(D[6-9A-F]\|[EF][0-9A-F]\)' < $< ) | ./cjk_tab_to_h 'CP950 extensions' cp950ext > $@ - -hkscs1999.h : $(TABLESDIR)/big5hkscs/HKSCS-1999_2006.TXT cjk_tab_to_h - (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:1999 hkscs1999 > $@ - -hkscs2001.h : $(TABLESDIR)/big5hkscs/HKSCS-2001_2006-DELTA.TXT cjk_tab_to_h - (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:2001 hkscs2001 > $@ - -hkscs2004.h : $(TABLESDIR)/big5hkscs/HKSCS-2004_2006-DELTA.TXT cjk_tab_to_h - (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:2004 hkscs2004 > $@ - -# We use a modified KSC 5601 = KSX 1001 table. Jungshik Shin <jshin@mailaps.org> -# reports that Prof. GIM Geongseog (KIM Keyongseok) <gimgs@asadal.cs.pusan.ac.kr> -# (who represents South Korea in ISO/IEC JTC1 SC2/WG2 and SC22/WG20) says that -# these two characters were added to KSX 1001 in December 1998. According to -# http://std.dkuug.dk/jtc1/sc2/wg2/docs/N2815.doc, one more character -# (Korean postal code sign) was added in 2002. -ksc5601.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/KSC5601.TXT cjk_tab_to_h - (cat $< ; echo '0xA2E6 0x20AC'; echo '0xA2E7 0x00AE'; echo '0xA2E8 0x327E') | ./cjk_tab_to_h 'KSC5601.1987-0, now KS X 1001:2002' ksc5601 > $@ - -uhc_1.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/KSC5601.TXT cjk_tab_to_h - (echo '#' ; grep '^0x\([8-9]\|A0\)' < $< ) | ./cjk_tab_to_h 'Unified Hangul Code part 1' uhc_1 > $@ - -uhc_2.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/KSC5601.TXT cjk_tab_to_h - (echo '#' ; grep '^0x\(A[1-9A-F]\|[B-F][0-9A-F]\)\([0-9]\|A0\)' < $< ) | ./cjk_tab_to_h 'Unified Hangul Code part 2' uhc_2 > $@ - -johab_hangul.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/JOHAB.TXT cjk_tab_to_h - (echo '#' ; grep '^0x\([8-C]...\|D[0-7]..\)' < $< ) | ./cjk_tab_to_h 'JOHAB Hangul' johab_hangul > $@ - - -cp856.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/CP856.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP856 cp856 < $< - -cp922.h : $(TABLESDIR)/aix-4.3.2/IBM-922.TXT 8bit_tab_to_h - (echo '#' ; cat $<) | ./8bit_tab_to_h CP922 cp922 - -cp1046.h : $(TABLESDIR)/aix-4.3.2/IBM-1046.TXT 8bit_tab_to_h - (echo '#' ; cat $<) | ./8bit_tab_to_h CP1046 cp1046 - -cp1124.h : $(TABLESDIR)/aix-4.3.2/IBM-1124.TXT 8bit_tab_to_h - (echo '#' ; cat $<) | ./8bit_tab_to_h CP1124 cp1124 - -cp1129.h : $(TABLESDIR)/aix-4.3.2/IBM-1129.TXT 8bit_tab_to_h - (echo '#' ; cat $<) | ./8bit_tab_to_h CP1129 cp1129 - -cp1161.h : $(TABLESDIR)/glibc-2.2.90-iconv/IBM1161.TXT - (echo '#' ; cat $(TABLESDIR)/glibc-2.2-iconv/ASCII.TXT ; grep -v '^0x[0-7]' $<) | ./8bit_tab_to_h CP1161 cp1161 - -cp1162.h : $(TABLESDIR)/glibc-2.2.90-iconv/IBM1162.TXT - (echo '#' ; cat $<) | ./8bit_tab_to_h CP1162 cp1162 - -cp1163.h : $(TABLESDIR)/glibc-2.2.90-iconv/IBM1163.TXT - (echo '#' ; cat $<) | ./8bit_tab_to_h CP1163 cp1163 - - -cp437.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP437.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP437 cp437 < $< - -cp737.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP737.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP737 cp737 < $< - -cp775.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP775.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP775 cp775 < $< - -cp852.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP852.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP852 cp852 < $< - -cp853.h : $(TABLESDIR)/other/CP853.TXT 8bit_tab_to_h - (echo '#'; cat $<) | ./8bit_tab_to_h CP853 cp853 - -cp855.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP855.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP855 cp855 < $< - -cp857.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP857.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP857 cp857 < $< - -cp858.h : $(TABLESDIR)/windows-2000/CP858.TXT 8bit_tab_to_h - (echo '#' ; cat $<) | ./8bit_tab_to_h CP858 cp858 - -cp860.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP860.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP860 cp860 < $< - -cp861.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP861.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP861 cp861 < $< - -cp863.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP863.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP863 cp863 < $< - -cp864.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP864.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP864 cp864 < $< - -cp865.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP865.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP865 cp865 < $< - -cp869.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP869.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP869 cp869 < $< - -cp1125.h : $(TABLESDIR)/csets-new/CP1125.TXT 8bit_tab_to_h - ./8bit_tab_to_h CP1125 cp1125 < $< - - -jisx0213.h : JISX0213.TXT cjk_tab_to_h - ./cjk_tab_to_h JISX0213:2004 jisx0213 < $< > $@ - -tds565.h : $(TABLESDIR)/recode-cvs/TDS565.TXT 8bit_tab_to_h - (echo '#'; cat $<) | ./8bit_tab_to_h TDS565 tds565 > $@ - -atarist.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARIST.TXT - ./8bit_tab_to_h 'Atari ST' atarist < $< > $@ - -riscos1.h : $(TABLESDIR)/recode-cvs/RISCOS-LATIN1.TXT 8bit_tab_to_h - (echo '#'; cat $<) | ./8bit_tab_to_h RISCOS-LATIN1 riscos1 > $@ - - -cjk_variants.h : $(TABLESDIR)/yasuoka/UniVariants cjk_variants - ./cjk_variants < $< > $@ - - -8bit_tab_to_h : 8bit_tab_to_h.c - gcc -O -Wall -g $< -o $@ - -cjk_tab_to_h : cjk_tab_to_h.c - gcc -O -Wall -g $< -o $@ - -cjk_variants : cjk_variants.c - gcc -O -Wall -g $< -o $@ - - -clean : force - rm -f 8bit_tab_to_h cjk_tab_to_h cjk_variants $(ALL) GBKext.TXT - -force : - diff --git a/jni/iconv/tools/cjk_tab_to_h.c b/jni/iconv/tools/cjk_tab_to_h.c deleted file mode 100644 index a6a3fe4..0000000 --- a/jni/iconv/tools/cjk_tab_to_h.c +++ /dev/null @@ -1,2148 +0,0 @@ -/* Copyright (C) 1999-2004, 2006-2007 Free Software Foundation, Inc. - This file is part of the GNU LIBICONV Tools. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., along with this program. If not, see <http://www.gnu.org/licenses/>. */ - -/* - * Generates a CJK character set table from a .TXT table as found on - * ftp.unicode.org or in the X nls directory. - * Examples: - * - * ./cjk_tab_to_h GB2312.1980-0 gb2312 > gb2312.h < gb2312 - * ./cjk_tab_to_h JISX0208.1983-0 jisx0208 > jisx0208.h < jis0208 - * ./cjk_tab_to_h KSC5601.1987-0 ksc5601 > ksc5601.h < ksc5601 - * - * ./cjk_tab_to_h GB2312.1980-0 gb2312 > gb2312.h < GB2312.TXT - * ./cjk_tab_to_h JISX0208.1983-0 jisx0208 > jisx0208.h < JIS0208.TXT - * ./cjk_tab_to_h JISX0212.1990-0 jisx0212 > jisx0212.h < JIS0212.TXT - * ./cjk_tab_to_h KSC5601.1987-0 ksc5601 > ksc5601.h < KSC5601.TXT - * ./cjk_tab_to_h KSX1001.1992-0 ksc5601 > ksc5601.h < KSX1001.TXT - * - * ./cjk_tab_to_h BIG5 big5 > big5.h < BIG5.TXT - * - * ./cjk_tab_to_h JOHAB johab > johab.h < JOHAB.TXT - * - * ./cjk_tab_to_h JISX0213:2004 jisx0213 > jisx0213.h < JISX0213.TXT - */ - -#include <stdio.h> -#include <stdlib.h> -#include <stdbool.h> -#include <string.h> -#include <ctype.h> -#include <assert.h> - -typedef struct { - int start; - int end; -} Block; - -typedef struct { - int rows; /* number of possible values for the 1st byte */ - int cols; /* number of possible values for the 2nd byte */ - int (*row_byte) (int row); /* returns the 1st byte value for a given row */ - int (*col_byte) (int col); /* returns the 2nd byte value for a given col */ - int (*byte_row) (int byte); /* converts a 1st byte value to a row, else -1 */ - int (*byte_col) (int byte); /* converts a 2nd byte value to a col, else -1 */ - const char* check_row_expr; /* format string for 1st byte value checking */ - const char* check_col_expr; /* format string for 2nd byte value checking */ - const char* byte_row_expr; /* format string for 1st byte value to row */ - const char* byte_col_expr; /* format string for 2nd byte value to col */ - int** charset2uni; /* charset2uni[0..rows-1][0..cols-1] is valid */ - /* You'll understand the terms "row" and "col" when you buy Ken Lunde's book. - Once a row is fixed, choosing a "col" is the same as choosing a "cell". */ - int* charsetpage; /* charsetpage[0..rows]: how large is a page for a row */ - int ncharsetblocks; - Block* charsetblocks; /* blocks[0..nblocks-1] */ - int* uni2charset; /* uni2charset[0x0000..0xffff] */ - int fffd; /* uni representation of the invalid character */ -} Encoding; - -/* - * Outputs the file title. - */ -static void output_title (const char *charsetname) -{ - printf("/*\n"); - printf(" * Copyright (C) 1999-2007 Free Software Foundation, Inc.\n"); - printf(" * This file is part of the GNU LIBICONV Library.\n"); - printf(" *\n"); - printf(" * The GNU LIBICONV Library is free software; you can redistribute it\n"); - printf(" * and/or modify it under the terms of the GNU Library General Public\n"); - printf(" * License as published by the Free Software Foundation; either version 2\n"); - printf(" * of the License, or (at your option) any later version.\n"); - printf(" *\n"); - printf(" * The GNU LIBICONV Library is distributed in the hope that it will be\n"); - printf(" * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\n"); - printf(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"); - printf(" * Library General Public License for more details.\n"); - printf(" *\n"); - printf(" * You should have received a copy of the GNU Library General Public\n"); - printf(" * License along with the GNU LIBICONV Library; see the file COPYING.LIB.\n"); - printf(" * If not, write to the Free Software Foundation, Inc., 51 Franklin Street,\n"); - printf(" * Fifth Floor, Boston, MA 02110-1301, USA.\n"); - printf(" */\n"); - printf("\n"); - printf("/*\n"); - printf(" * %s\n", charsetname); - printf(" */\n"); - printf("\n"); -} - -/* - * Reads the charset2uni table from standard input. - */ -static void read_table (Encoding* enc) -{ - int row, col, i, i1, i2, c, j; - - enc->charset2uni = (int**) malloc(enc->rows*sizeof(int*)); - for (row = 0; row < enc->rows; row++) - enc->charset2uni[row] = (int*) malloc(enc->cols*sizeof(int)); - - for (row = 0; row < enc->rows; row++) - for (col = 0; col < enc->cols; col++) - enc->charset2uni[row][col] = 0xfffd; - - c = getc(stdin); - ungetc(c,stdin); - if (c == '#') { - /* Read a unicode.org style .TXT file. */ - for (;;) { - c = getc(stdin); - if (c == EOF) - break; - if (c == '\n' || c == ' ' || c == '\t') - continue; - if (c == '#') { - do { c = getc(stdin); } while (!(c == EOF || c == '\n')); - continue; - } - ungetc(c,stdin); - if (scanf("0x%x", &j) != 1) - exit(1); - i1 = j >> 8; - i2 = j & 0xff; - row = enc->byte_row(i1); - col = enc->byte_col(i2); - if (row < 0 || col < 0) { - fprintf(stderr, "lost entry for %02x %02x\n", i1, i2); - exit(1); - } - if (scanf(" 0x%x", &enc->charset2uni[row][col]) != 1) - exit(1); - } - } else { - /* Read a table of hexadecimal Unicode values. */ - for (i1 = 32; i1 < 132; i1++) - for (i2 = 32; i2 < 132; i2++) { - i = scanf("%x", &j); - if (i == EOF) - goto read_done; - if (i != 1) - exit(1); - if (j < 0 || j == 0xffff) - j = 0xfffd; - if (j != 0xfffd) { - if (enc->byte_row(i1) < 0 || enc->byte_col(i2) < 0) { - fprintf(stderr, "lost entry at %02x %02x\n", i1, i2); - exit (1); - } - enc->charset2uni[enc->byte_row(i1)][enc->byte_col(i2)] = j; - } - } - read_done: ; - } -} - -/* - * Determine whether the Unicode range goes outside the BMP. - */ -static bool is_charset2uni_large (Encoding* enc) -{ - int row, col; - - for (row = 0; row < enc->rows; row++) - for (col = 0; col < enc->cols; col++) - if (enc->charset2uni[row][col] >= 0x10000) - return true; - return false; -} - -/* - * Compactify the Unicode range by use of an auxiliary table, - * so 16 bits suffice to store each value. - */ -static int compact_large_charset2uni (Encoding* enc, unsigned int **urows, unsigned int *urowshift) -{ - unsigned int shift; - - for (shift = 8; ; shift--) { - int *upages = (int *) malloc((0x110000>>shift) * sizeof(int)); - int i, row, col, nurows; - - for (i = 0; i < 0x110000>>shift; i++) - upages[i] = -1; - - for (row = 0; row < enc->rows; row++) - for (col = 0; col < enc->cols; col++) - upages[enc->charset2uni[row][col] >> shift] = 0; - - nurows = 0; - for (i = 0; i < 0x110000>>shift; i++) - if (upages[i] == 0) - nurows++; - - /* We want all table entries to fit in an 'unsigned short'. */ - if (nurows <= 1<<(16-shift)) { - int** old_charset2uni; - - *urows = (unsigned int *) malloc(nurows * sizeof(unsigned int)); - *urowshift = shift; - - nurows = 0; - for (i = 0; i < 0x110000>>shift; i++) - if (upages[i] == 0) { - upages[i] = nurows; - (*urows)[nurows] = i; - nurows++; - } - - old_charset2uni = enc->charset2uni; - enc->charset2uni = (int**) malloc(enc->rows*sizeof(int*)); - for (row = 0; row < enc->rows; row++) - enc->charset2uni[row] = (int*) malloc(enc->cols*sizeof(int)); - for (row = 0; row < enc->rows; row++) - for (col = 0; col < enc->cols; col++) { - int u = old_charset2uni[row][col]; - enc->charset2uni[row][col] = - (upages[u >> shift] << shift) | (u & ((1 << shift) - 1)); - } - enc->fffd = - (upages[0xfffd >> shift] << shift) | (0xfffd & ((1 << shift) - 1)); - - return nurows; - } - } - abort(); -} - -/* - * Computes the charsetpage[0..rows] array. - */ -static void find_charset2uni_pages (Encoding* enc) -{ - int row, col; - - enc->charsetpage = (int*) malloc((enc->rows+1)*sizeof(int)); - - for (row = 0; row <= enc->rows; row++) - enc->charsetpage[row] = 0; - - for (row = 0; row < enc->rows; row++) { - int used = 0; - for (col = 0; col < enc->cols; col++) - if (enc->charset2uni[row][col] != enc->fffd) - used = col+1; - enc->charsetpage[row] = used; - } -} - -/* - * Fills in nblocks and blocks. - */ -static void find_charset2uni_blocks (Encoding* enc) -{ - int n, row, lastrow; - - enc->charsetblocks = (Block*) malloc(enc->rows*sizeof(Block)); - - n = 0; - for (row = 0; row < enc->rows; row++) - if (enc->charsetpage[row] > 0 && (row == 0 || enc->charsetpage[row-1] == 0)) { - for (lastrow = row; enc->charsetpage[lastrow+1] > 0; lastrow++); - enc->charsetblocks[n].start = row * enc->cols; - enc->charsetblocks[n].end = lastrow * enc->cols + enc->charsetpage[lastrow]; - n++; - } - enc->ncharsetblocks = n; -} - -/* - * Outputs the charset to unicode table and function. - */ -static void output_charset2uni (const char* name, Encoding* enc) -{ - int nurows, row, col, lastrow, col_max, i, i1_min, i1_max; - bool is_large; - unsigned int* urows; - unsigned int urowshift; - Encoding tmpenc; - - is_large = is_charset2uni_large(enc); - if (is_large) { - /* Use a temporary copy of enc. */ - tmpenc = *enc; - enc = &tmpenc; - nurows = compact_large_charset2uni(enc,&urows,&urowshift); - } else { - nurows = 0; urows = NULL; urowshift = 0; enc->fffd = 0xfffd; - } - - find_charset2uni_pages(enc); - - find_charset2uni_blocks(enc); - - for (row = 0; row < enc->rows; row++) - if (enc->charsetpage[row] > 0) { - if (row == 0 || enc->charsetpage[row-1] == 0) { - /* Start a new block. */ - for (lastrow = row; enc->charsetpage[lastrow+1] > 0; lastrow++); - printf("static const unsigned short %s_2uni_page%02x[%d] = {\n", - name, enc->row_byte(row), - (lastrow-row) * enc->cols + enc->charsetpage[lastrow]); - } - printf(" /""* 0x%02x *""/\n ", enc->row_byte(row)); - col_max = (enc->charsetpage[row+1] > 0 ? enc->cols : enc->charsetpage[row]); - for (col = 0; col < col_max; col++) { - printf(" 0x%04x,", enc->charset2uni[row][col]); - if ((col % 8) == 7 && (col+1 < col_max)) printf("\n "); - } - printf("\n"); - if (enc->charsetpage[row+1] == 0) { - /* End a block. */ - printf("};\n"); - } - } - printf("\n"); - - if (is_large) { - printf("static const ucs4_t %s_2uni_upages[%d] = {\n ", name, nurows); - for (i = 0; i < nurows; i++) { - printf(" 0x%05x,", urows[i] << urowshift); - if ((i % 8) == 7 && (i+1 < nurows)) printf("\n "); - } - printf("\n"); - printf("};\n"); - printf("\n"); - } - - printf("static int\n"); - printf("%s_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)\n", name); - printf("{\n"); - printf(" unsigned char c1 = s[0];\n"); - printf(" if ("); - for (i = 0; i < enc->ncharsetblocks; i++) { - i1_min = enc->row_byte(enc->charsetblocks[i].start / enc->cols); - i1_max = enc->row_byte((enc->charsetblocks[i].end-1) / enc->cols); - if (i > 0) - printf(" || "); - if (i1_min == i1_max) - printf("(c1 == 0x%02x)", i1_min); - else - printf("(c1 >= 0x%02x && c1 <= 0x%02x)", i1_min, i1_max); - } - printf(") {\n"); - printf(" if (n >= 2) {\n"); - printf(" unsigned char c2 = s[1];\n"); - printf(" if ("); - printf(enc->check_col_expr, "c2"); - printf(") {\n"); - printf(" unsigned int i = %d * (", enc->cols); - printf(enc->byte_row_expr, "c1"); - printf(") + ("); - printf(enc->byte_col_expr, "c2"); - printf(");\n"); - printf(" %s wc = 0xfffd;\n", is_large ? "ucs4_t" : "unsigned short"); - if (is_large) printf(" unsigned short swc;\n"); - for (i = 0; i < enc->ncharsetblocks; i++) { - printf(" "); - if (i > 0) - printf("} else "); - if (i < enc->ncharsetblocks-1) - printf("if (i < %d) ", enc->charsetblocks[i+1].start); - printf("{\n"); - printf(" if (i < %d)\n", enc->charsetblocks[i].end); - printf(" %s = ", is_large ? "swc" : "wc"); - printf("%s_2uni_page%02x[i", name, enc->row_byte(enc->charsetblocks[i].start / enc->cols)); - if (enc->charsetblocks[i].start > 0) - printf("-%d", enc->charsetblocks[i].start); - printf("]"); - if (is_large) printf(",\n wc = %s_2uni_upages[swc>>%d] | (swc & 0x%x)", name, urowshift, (1 << urowshift) - 1); - printf(";\n"); - } - printf(" }\n"); - printf(" if (wc != 0xfffd) {\n"); - printf(" *pwc = %swc;\n", is_large ? "" : "(ucs4_t) "); - printf(" return 2;\n"); - printf(" }\n"); - printf(" }\n"); - printf(" return RET_ILSEQ;\n"); - printf(" }\n"); - printf(" return RET_TOOFEW(0);\n"); - printf(" }\n"); - printf(" return RET_ILSEQ;\n"); - printf("}\n"); - printf("\n"); -} - -/* - * Outputs the charset to unicode table and function. - * (Suitable if the mapping function is well defined, i.e. has no holes, and - * is monotonically increasing with small gaps only.) - */ -static void output_charset2uni_noholes_monotonic (const char* name, Encoding* enc) -{ - int row, col, lastrow, r, col_max, i, i1_min, i1_max; - - /* Choose stepsize so that stepsize*steps_per_row >= enc->cols, and - enc->charset2uni[row][col] - enc->charset2uni[row][col/stepsize*stepsize] - is always < 0x100. */ - int steps_per_row = 2; - int stepsize = (enc->cols + steps_per_row-1) / steps_per_row; - - find_charset2uni_pages(enc); - - find_charset2uni_blocks(enc); - - for (row = 0; row < enc->rows; row++) - if (enc->charsetpage[row] > 0) { - if (row == 0 || enc->charsetpage[row-1] == 0) { - /* Start a new block. */ - for (lastrow = row; enc->charsetpage[lastrow+1] > 0; lastrow++); - printf("static const unsigned short %s_2uni_main_page%02x[%d] = {\n ", - name, enc->row_byte(row), - steps_per_row*(lastrow-row+1)); - for (r = row; r <= lastrow; r++) { - for (i = 0; i < steps_per_row; i++) - printf(" 0x%04x,", enc->charset2uni[r][i*stepsize]); - if (((r-row) % 4) == 3 && (r < lastrow)) printf("\n "); - } - printf("\n"); - printf("};\n"); - printf("static const unsigned char %s_2uni_page%02x[%d] = {\n", - name, enc->row_byte(row), - (lastrow-row) * enc->cols + enc->charsetpage[lastrow]); - } - printf(" /""* 0x%02x *""/\n ", enc->row_byte(row)); - col_max = (enc->charsetpage[row+1] > 0 ? enc->cols : enc->charsetpage[row]); - for (col = 0; col < col_max; col++) { - printf(" 0x%02x,", enc->charset2uni[row][col] - enc->charset2uni[row][col/stepsize*stepsize]); - if ((col % 8) == 7 && (col+1 < col_max)) printf("\n "); - } - printf("\n"); - if (enc->charsetpage[row+1] == 0) { - /* End a block. */ - printf("};\n"); - } - } - printf("\n"); - - printf("static int\n"); - printf("%s_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)\n", name); - printf("{\n"); - printf(" unsigned char c1 = s[0];\n"); - printf(" if ("); - for (i = 0; i < enc->ncharsetblocks; i++) { - i1_min = enc->row_byte(enc->charsetblocks[i].start / enc->cols); - i1_max = enc->row_byte((enc->charsetblocks[i].end-1) / enc->cols); - if (i > 0) - printf(" || "); - if (i1_min == i1_max) - printf("(c1 == 0x%02x)", i1_min); - else - printf("(c1 >= 0x%02x && c1 <= 0x%02x)", i1_min, i1_max); - } - printf(") {\n"); - printf(" if (n >= 2) {\n"); - printf(" unsigned char c2 = s[1];\n"); - printf(" if ("); - printf(enc->check_col_expr, "c2"); - printf(") {\n"); - printf(" unsigned int row = "); - printf(enc->byte_row_expr, "c1"); - printf(";\n"); - printf(" unsigned int col = "); - printf(enc->byte_col_expr, "c2"); - printf(";\n"); - printf(" unsigned int i = %d * row + col;\n", enc->cols); - printf(" unsigned short wc = 0xfffd;\n"); - for (i = 0; i < enc->ncharsetblocks; i++) { - printf(" "); - if (i > 0) - printf("} else "); - if (i < enc->ncharsetblocks-1) - printf("if (i < %d) ", enc->charsetblocks[i+1].start); - printf("{\n"); - printf(" if (i < %d)\n", enc->charsetblocks[i].end); - printf(" wc = %s_2uni_main_page%02x[%d*", name, enc->row_byte(enc->charsetblocks[i].start / enc->cols), steps_per_row); - if (enc->charsetblocks[i].start > 0) - printf("(row-%d)", enc->charsetblocks[i].start / enc->cols); - else - printf("row"); - printf("+"); - if (steps_per_row == 2) - printf("(col>=%d?1:0)", stepsize); - else - printf("col/%d", stepsize); - printf("] + %s_2uni_page%02x[i", name, enc->row_byte(enc->charsetblocks[i].start / enc->cols)); - if (enc->charsetblocks[i].start > 0) - printf("-%d", enc->charsetblocks[i].start); - printf("];\n"); - } - printf(" }\n"); - printf(" if (wc != 0xfffd) {\n"); - printf(" *pwc = (ucs4_t) wc;\n"); - printf(" return 2;\n"); - printf(" }\n"); - printf(" }\n"); - printf(" return RET_ILSEQ;\n"); - printf(" }\n"); - printf(" return RET_TOOFEW(0);\n"); - printf(" }\n"); - printf(" return RET_ILSEQ;\n"); - printf("}\n"); - printf("\n"); -} - -/* - * Computes the uni2charset[0x0000..0x2ffff] array. - */ -static void invert (Encoding* enc) -{ - int row, col, j; - - enc->uni2charset = (int*) malloc(0x30000*sizeof(int)); - - for (j = 0; j < 0x30000; j++) - enc->uni2charset[j] = 0; - - for (row = 0; row < enc->rows; row++) - for (col = 0; col < enc->cols; col++) { - j = enc->charset2uni[row][col]; - if (j != 0xfffd) - enc->uni2charset[j] = 0x100 * enc->row_byte(row) + enc->col_byte(col); - } -} - -/* - * Outputs the unicode to charset table and function, using a linear array. - * (Suitable if the table is dense.) - */ -static void output_uni2charset_dense (const char* name, Encoding* enc) -{ - /* Like in 8bit_tab_to_h.c */ - bool pages[0x300]; - int line[0x6000]; - int tableno; - struct { int minline; int maxline; int usecount; } tables[0x6000]; - bool first; - int row, col, j, p, j1, j2, t; - - for (p = 0; p < 0x300; p++) - pages[p] = false; - for (row = 0; row < enc->rows; row++) - for (col = 0; col < enc->cols; col++) { - j = enc->charset2uni[row][col]; - if (j != 0xfffd) - pages[j>>8] = true; - } - for (j1 = 0; j1 < 0x6000; j1++) { - bool all_invalid = true; - for (j2 = 0; j2 < 8; j2++) { - j = 8*j1+j2; - if (enc->uni2charset[j] != 0) - all_invalid = false; - } - if (all_invalid) - line[j1] = -1; - else - line[j1] = 0; - } - tableno = 0; - for (j1 = 0; j1 < 0x6000; j1++) { - if (line[j1] >= 0) { - if (tableno > 0 - && ((j1 > 0 && line[j1-1] == tableno-1) - || ((tables[tableno-1].maxline >> 5) == (j1 >> 5) - && j1 - tables[tableno-1].maxline <= 8))) { - line[j1] = tableno-1; - tables[tableno-1].maxline = j1; - } else { - tableno++; - line[j1] = tableno-1; - tables[tableno-1].minline = tables[tableno-1].maxline = j1; - } - } - } - for (t = 0; t < tableno; t++) { - tables[t].usecount = 0; - j1 = 8*tables[t].minline; - j2 = 8*(tables[t].maxline+1); - for (j = j1; j < j2; j++) - if (enc->uni2charset[j] != 0) - tables[t].usecount++; - } - { - p = -1; - for (t = 0; t < tableno; t++) - if (tables[t].usecount > 1) { - p = tables[t].minline >> 5; - printf("static const unsigned short %s_page%02x[%d] = {\n", name, p, 8*(tables[t].maxline-tables[t].minline+1)); - for (j1 = tables[t].minline; j1 <= tables[t].maxline; j1++) { - if ((j1 % 0x20) == 0 && j1 > tables[t].minline) - printf(" /* 0x%04x */\n", 8*j1); - printf(" "); - for (j2 = 0; j2 < 8; j2++) { - j = 8*j1+j2; - printf(" 0x%04x,", enc->uni2charset[j]); - } - printf(" /*0x%02x-0x%02x*/\n", 8*(j1 % 0x20), 8*(j1 % 0x20)+7); - } - printf("};\n"); - } - if (p >= 0) - printf("\n"); - } - printf("static int\n%s_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)\n", name); - printf("{\n"); - printf(" if (n >= 2) {\n"); - printf(" unsigned short c = 0;\n"); - first = true; - for (j1 = 0; j1 < 0x6000;) { - t = line[j1]; - for (j2 = j1; j2 < 0x6000 && line[j2] == t; j2++); - if (t >= 0) { - if (j1 != tables[t].minline) abort(); - if (j2 > tables[t].maxline+1) abort(); - j2 = tables[t].maxline+1; - if (first) - printf(" "); - else - printf(" else "); - first = false; - if (tables[t].usecount == 0) abort(); - if (tables[t].usecount == 1) { - if (j2 != j1+1) abort(); - for (j = 8*j1; j < 8*j2; j++) - if (enc->uni2charset[j] != 0) { - printf("if (wc == 0x%04x)\n c = 0x%02x;\n", j, enc->uni2charset[j]); - break; - } - } else { - if (j1 == 0) { - printf("if (wc < 0x%04x)", 8*j2); - } else { - printf("if (wc >= 0x%04x && wc < 0x%04x)", 8*j1, 8*j2); - } - printf("\n c = %s_page%02x[wc", name, j1 >> 5); - if (tables[t].minline > 0) - printf("-0x%04x", 8*j1); - printf("];\n"); - } - } - j1 = j2; - } - printf(" if (c != 0) {\n"); - printf(" r[0] = (c >> 8); r[1] = (c & 0xff);\n"); - printf(" return 2;\n"); - printf(" }\n"); - printf(" return RET_ILUNI;\n"); - printf(" }\n"); - printf(" return RET_TOOSMALL;\n"); - printf("}\n"); -} - -/* - * Outputs the unicode to charset table and function, using a packed array. - * (Suitable if the table is sparse.) - * The argument 'monotonic' may be set to true if the mapping is monotonically - * increasing with small gaps only. - */ -static void output_uni2charset_sparse (const char* name, Encoding* enc, bool monotonic) -{ - bool pages[0x300]; - Block pageblocks[0x300]; int npageblocks; - int indx2charset[0x30000]; - int summary_indx[0x3000]; - int summary_used[0x3000]; - int i, row, col, j, p, j1, j2, indx; - bool is_large; - /* for monotonic: */ - int log2_stepsize = (!strcmp(name,"uhc_2") ? 6 : 7); - int stepsize = 1 << log2_stepsize; - int indxsteps; - - /* Fill pages[0x300]. */ - for (p = 0; p < 0x300; p++) - pages[p] = false; - for (row = 0; row < enc->rows; row++) - for (col = 0; col < enc->cols; col++) { - j = enc->charset2uni[row][col]; - if (j != 0xfffd) - pages[j>>8] = true; - } - - /* Determine whether two or three bytes are needed for each character. */ - is_large = false; - for (j = 0; j < 0x30000; j++) - if (enc->uni2charset[j] >= 0x10000) - is_large = true; - -#if 0 - for (p = 0; p < 0x300; p++) - if (pages[p]) { - printf("static const unsigned short %s_page%02x[256] = {\n", name, p); - for (j1 = 0; j1 < 32; j1++) { - printf(" "); - for (j2 = 0; j2 < 8; j2++) - printf("0x%04x, ", enc->uni2charset[256*p+8*j1+j2]); - printf("/""*0x%02x-0x%02x*""/\n", 8*j1, 8*j1+7); - } - printf("};\n"); - } - printf("\n"); -#endif - - /* Fill summary_indx[] and summary_used[]. */ - indx = 0; - for (j1 = 0; j1 < 0x3000; j1++) { - summary_indx[j1] = indx; - summary_used[j1] = 0; - for (j2 = 0; j2 < 16; j2++) { - j = 16*j1+j2; - if (enc->uni2charset[j] != 0) { - indx2charset[indx++] = enc->uni2charset[j]; - summary_used[j1] |= (1 << j2); - } - } - } - - /* Fill npageblocks and pageblocks[]. */ - npageblocks = 0; - for (p = 0; p < 0x300; ) { - if (pages[p] && (p == 0 || !pages[p-1])) { - pageblocks[npageblocks].start = 16*p; - do p++; while (p < 0x300 && pages[p]); - j1 = 16*p; - while (summary_used[j1-1] == 0) j1--; - pageblocks[npageblocks].end = j1; - npageblocks++; - } else - p++; - } - - if (monotonic) { - indxsteps = (indx + stepsize-1) / stepsize; - printf("static const unsigned short %s_2charset_main[%d] = {\n", name, indxsteps); - for (i = 0; i < indxsteps; ) { - if ((i % 8) == 0) printf(" "); - printf(" 0x%04x,", indx2charset[i*stepsize]); - i++; - if ((i % 8) == 0 || i == indxsteps) printf("\n"); - } - printf("};\n"); - printf("static const unsigned char %s_2charset[%d] = {\n", name, indx); - for (i = 0; i < indx; ) { - if ((i % 8) == 0) printf(" "); - printf(" 0x%02x,", indx2charset[i] - indx2charset[i/stepsize*stepsize]); - i++; - if ((i % 8) == 0 || i == indx) printf("\n"); - } - printf("};\n"); - } else { - if (is_large) { - printf("static const unsigned char %s_2charset[3*%d] = {\n", name, indx); - for (i = 0; i < indx; ) { - if ((i % 4) == 0) printf(" "); - printf(" 0x%1x,0x%02x,0x%02x,", indx2charset[i] >> 16, - (indx2charset[i] >> 8) & 0xff, indx2charset[i] & 0xff); - i++; - if ((i % 4) == 0 || i == indx) printf("\n"); - } - printf("};\n"); - } else { - printf("static const unsigned short %s_2charset[%d] = {\n", name, indx); - for (i = 0; i < indx; ) { - if ((i % 8) == 0) printf(" "); - printf(" 0x%04x,", indx2charset[i]); - i++; - if ((i % 8) == 0 || i == indx) printf("\n"); - } - printf("};\n"); - } - } - printf("\n"); - for (i = 0; i < npageblocks; i++) { - printf("static const Summary16 %s_uni2indx_page%02x[%d] = {\n", name, - pageblocks[i].start/16, pageblocks[i].end-pageblocks[i].start); - for (j1 = pageblocks[i].start; j1 < pageblocks[i].end; ) { - if (((16*j1) % 0x100) == 0) printf(" /""* 0x%04x *""/\n", 16*j1); - if ((j1 % 4) == 0) printf(" "); - printf(" { %4d, 0x%04x },", summary_indx[j1], summary_used[j1]); - j1++; - if ((j1 % 4) == 0 || j1 == pageblocks[i].end) printf("\n"); - } - printf("};\n"); - } - printf("\n"); - - printf("static int\n"); - printf("%s_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)\n", name); - printf("{\n"); - printf(" if (n >= 2) {\n"); - printf(" const Summary16 *summary = NULL;\n"); - for (i = 0; i < npageblocks; i++) { - printf(" "); - if (i > 0) - printf("else "); - printf("if (wc >= 0x%04x && wc < 0x%04x)\n", - 16*pageblocks[i].start, 16*pageblocks[i].end); - printf(" summary = &%s_uni2indx_page%02x[(wc>>4)", name, - pageblocks[i].start/16); - if (pageblocks[i].start > 0) - printf("-0x%03x", pageblocks[i].start); - printf("];\n"); - } - printf(" if (summary) {\n"); - printf(" unsigned short used = summary->used;\n"); - printf(" unsigned int i = wc & 0x0f;\n"); - printf(" if (used & ((unsigned short) 1 << i)) {\n"); - if (monotonic || !is_large) - printf(" unsigned short c;\n"); - printf(" /* Keep in `used' only the bits 0..i-1. */\n"); - printf(" used &= ((unsigned short) 1 << i) - 1;\n"); - printf(" /* Add `summary->indx' and the number of bits set in `used'. */\n"); - printf(" used = (used & 0x5555) + ((used & 0xaaaa) >> 1);\n"); - printf(" used = (used & 0x3333) + ((used & 0xcccc) >> 2);\n"); - printf(" used = (used & 0x0f0f) + ((used & 0xf0f0) >> 4);\n"); - printf(" used = (used & 0x00ff) + (used >> 8);\n"); - if (monotonic) { - printf(" used += summary->indx;\n"); - printf(" c = %s_2charset_main[used>>%d] + %s_2charset[used];\n", name, log2_stepsize, name); - printf(" r[0] = (c >> 8); r[1] = (c & 0xff);\n"); - printf(" return 2;\n"); - } else { - if (is_large) { - printf(" used += summary->indx;\n"); - printf(" r[0] = %s_2charset[3*used];\n", name); - printf(" r[1] = %s_2charset[3*used+1];\n", name); - printf(" r[2] = %s_2charset[3*used+2];\n", name); - printf(" return 3;\n"); - } else { - printf(" c = %s_2charset[summary->indx + used];\n", name); - printf(" r[0] = (c >> 8); r[1] = (c & 0xff);\n"); - printf(" return 2;\n"); - } - } - printf(" }\n"); - printf(" }\n"); - printf(" return RET_ILUNI;\n"); - printf(" }\n"); - printf(" return RET_TOOSMALL;\n"); - printf("}\n"); -} - -/* ISO-2022/EUC specifics */ - -static int row_byte_normal (int row) { return 0x21+row; } -static int col_byte_normal (int col) { return 0x21+col; } -static int byte_row_normal (int byte) { return byte-0x21; } -static int byte_col_normal (int byte) { return byte-0x21; } - -static void do_normal (const char* name) -{ - Encoding enc; - - enc.rows = 94; - enc.cols = 94; - enc.row_byte = row_byte_normal; - enc.col_byte = col_byte_normal; - enc.byte_row = byte_row_normal; - enc.byte_col = byte_col_normal; - enc.check_row_expr = "%1$s >= 0x21 && %1$s < 0x7f"; - enc.check_col_expr = "%1$s >= 0x21 && %1$s < 0x7f"; - enc.byte_row_expr = "%1$s - 0x21"; - enc.byte_col_expr = "%1$s - 0x21"; - - read_table(&enc); - output_charset2uni(name,&enc); - invert(&enc); output_uni2charset_sparse(name,&enc,false); -} - -/* Note: On first sight, the jisx0212_2charset[] table seems to be in order, - starting from the charset=0x3021/uni=0x4e02 pair. But it's only mostly in - order. There are 75 out-of-order values, scattered all throughout the table. - */ - -static void do_normal_only_charset2uni (const char* name) -{ - Encoding enc; - - enc.rows = 94; - enc.cols = 94; - enc.row_byte = row_byte_normal; - enc.col_byte = col_byte_normal; - enc.byte_row = byte_row_normal; - enc.byte_col = byte_col_normal; - enc.check_row_expr = "%1$s >= 0x21 && %1$s < 0x7f"; - enc.check_col_expr = "%1$s >= 0x21 && %1$s < 0x7f"; - enc.byte_row_expr = "%1$s - 0x21"; - enc.byte_col_expr = "%1$s - 0x21"; - - read_table(&enc); - output_charset2uni(name,&enc); -} - -/* CNS 11643 specifics - trick to put two tables into one */ - -static int row_byte_cns11643 (int row) { - return 0x100 * (row / 94) + (row % 94) + 0x21; -} -static int byte_row_cns11643 (int byte) { - return (byte >> 8) * 94 + (byte & 0xff) - 0x21; -} - -static void do_cns11643_only_uni2charset (const char* name) -{ - Encoding enc; - - enc.rows = 16*94; - enc.cols = 94; - enc.row_byte = row_byte_cns11643; - enc.col_byte = col_byte_normal; - enc.byte_row = byte_row_cns11643; - enc.byte_col = byte_col_normal; - enc.check_row_expr = "%1$s >= 0x21 && %1$s < 0x7f"; - enc.check_col_expr = "%1$s >= 0x21 && %1$s < 0x7f"; - enc.byte_row_expr = "%1$s - 0x21"; - enc.byte_col_expr = "%1$s - 0x21"; - - read_table(&enc); - invert(&enc); - output_uni2charset_sparse(name,&enc,false); -} - -/* GBK specifics */ - -static int row_byte_gbk1 (int row) { - return 0x81+row; -} -static int col_byte_gbk1 (int col) { - return (col >= 0x3f ? 0x41 : 0x40) + col; -} -static int byte_row_gbk1 (int byte) { - if (byte >= 0x81 && byte < 0xff) - return byte-0x81; - else - return -1; -} -static int byte_col_gbk1 (int byte) { - if (byte >= 0x40 && byte < 0x7f) - return byte-0x40; - else if (byte >= 0x80 && byte < 0xff) - return byte-0x41; - else - return -1; -} - -static void do_gbk1 (const char* name) -{ - Encoding enc; - - enc.rows = 126; - enc.cols = 190; - enc.row_byte = row_byte_gbk1; - enc.col_byte = col_byte_gbk1; - enc.byte_row = byte_row_gbk1; - enc.byte_col = byte_col_gbk1; - enc.check_row_expr = "%1$s >= 0x81 && %1$s < 0xff"; - enc.check_col_expr = "(%1$s >= 0x40 && %1$s < 0x7f) || (%1$s >= 0x80 && %1$s < 0xff)"; - enc.byte_row_expr = "%1$s - 0x81"; - enc.byte_col_expr = "%1$s - (%1$s >= 0x80 ? 0x41 : 0x40)"; - - read_table(&enc); - output_charset2uni(name,&enc); - invert(&enc); output_uni2charset_dense(name,&enc); -} - -static void do_gbk1_only_charset2uni (const char* name) -{ - Encoding enc; - - enc.rows = 126; - enc.cols = 190; - enc.row_byte = row_byte_gbk1; - enc.col_byte = col_byte_gbk1; - enc.byte_row = byte_row_gbk1; - enc.byte_col = byte_col_gbk1; - enc.check_row_expr = "%1$s >= 0x81 && %1$s < 0xff"; - enc.check_col_expr = "(%1$s >= 0x40 && %1$s < 0x7f) || (%1$s >= 0x80 && %1$s < 0xff)"; - enc.byte_row_expr = "%1$s - 0x81"; - enc.byte_col_expr = "%1$s - (%1$s >= 0x80 ? 0x41 : 0x40)"; - - read_table(&enc); - output_charset2uni(name,&enc); -} - -static int row_byte_gbk2 (int row) { - return 0x81+row; -} -static int col_byte_gbk2 (int col) { - return (col >= 0x3f ? 0x41 : 0x40) + col; -} -static int byte_row_gbk2 (int byte) { - if (byte >= 0x81 && byte < 0xff) - return byte-0x81; - else - return -1; -} -static int byte_col_gbk2 (int byte) { - if (byte >= 0x40 && byte < 0x7f) - return byte-0x40; - else if (byte >= 0x80 && byte < 0xa1) - return byte-0x41; - else - return -1; -} - -static void do_gbk2_only_charset2uni (const char* name) -{ - Encoding enc; - - enc.rows = 126; - enc.cols = 96; - enc.row_byte = row_byte_gbk2; - enc.col_byte = col_byte_gbk2; - enc.byte_row = byte_row_gbk2; - enc.byte_col = byte_col_gbk2; - enc.check_row_expr = "%1$s >= 0x81 && %1$s < 0xff"; - enc.check_col_expr = "(%1$s >= 0x40 && %1$s < 0x7f) || (%1$s >= 0x80 && %1$s < 0xa1)"; - enc.byte_row_expr = "%1$s - 0x81"; - enc.byte_col_expr = "%1$s - (%1$s >= 0x80 ? 0x41 : 0x40)"; - - read_table(&enc); - output_charset2uni(name,&enc); -} - -static void do_gbk1_only_uni2charset (const char* name) -{ - Encoding enc; - - enc.rows = 126; - enc.cols = 190; - enc.row_byte = row_byte_gbk1; - enc.col_byte = col_byte_gbk1; - enc.byte_row = byte_row_gbk1; - enc.byte_col = byte_col_gbk1; - enc.check_row_expr = "%1$s >= 0x81 && %1$s < 0xff"; - enc.check_col_expr = "(%1$s >= 0x40 && %1$s < 0x7f) || (%1$s >= 0x80 && %1$s < 0xff)"; - enc.byte_row_expr = "%1$s - 0x81"; - enc.byte_col_expr = "%1$s - (%1$s >= 0x80 ? 0x41 : 0x40)"; - - read_table(&enc); - invert(&enc); output_uni2charset_sparse(name,&enc,false); -} - -/* KSC 5601 specifics */ - -/* - * Reads the charset2uni table from standard input. - */ -static void read_table_ksc5601 (Encoding* enc) -{ - int row, col, i, i1, i2, c, j; - - enc->charset2uni = (int**) malloc(enc->rows*sizeof(int*)); - for (row = 0; row < enc->rows; row++) - enc->charset2uni[row] = (int*) malloc(enc->cols*sizeof(int)); - - for (row = 0; row < enc->rows; row++) - for (col = 0; col < enc->cols; col++) - enc->charset2uni[row][col] = 0xfffd; - - c = getc(stdin); - ungetc(c,stdin); - if (c == '#') { - /* Read a unicode.org style .TXT file. */ - for (;;) { - c = getc(stdin); - if (c == EOF) - break; - if (c == '\n' || c == ' ' || c == '\t') - continue; - if (c == '#') { - do { c = getc(stdin); } while (!(c == EOF || c == '\n')); - continue; - } - ungetc(c,stdin); - if (scanf("0x%x", &j) != 1) - exit(1); - i1 = j >> 8; - i2 = j & 0xff; - if (scanf(" 0x%x", &j) != 1) - exit(1); - /* Take only the range covered by KS C 5601.1987-0 = KS C 5601.1989-0 - = KS X 1001.1992, ignore the rest. */ - if (!(i1 >= 128+33 && i1 < 128+127 && i2 >= 128+33 && i2 < 128+127)) - continue; /* KSC5601 specific */ - i1 &= 0x7f; /* KSC5601 specific */ - i2 &= 0x7f; /* KSC5601 specific */ - row = enc->byte_row(i1); - col = enc->byte_col(i2); - if (row < 0 || col < 0) { - fprintf(stderr, "lost entry for %02x %02x\n", i1, i2); - exit(1); - } - enc->charset2uni[row][col] = j; - } - } else { - /* Read a table of hexadecimal Unicode values. */ - for (i1 = 33; i1 < 127; i1++) - for (i2 = 33; i2 < 127; i2++) { - i = scanf("%x", &j); - if (i == EOF) - goto read_done; - if (i != 1) - exit(1); - if (j < 0 || j == 0xffff) - j = 0xfffd; - if (j != 0xfffd) { - if (enc->byte_row(i1) < 0 || enc->byte_col(i2) < 0) { - fprintf(stderr, "lost entry at %02x %02x\n", i1, i2); - exit (1); - } - enc->charset2uni[enc->byte_row(i1)][enc->byte_col(i2)] = j; - } - } - read_done: ; - } -} - -static void do_ksc5601 (const char* name) -{ - Encoding enc; - - enc.rows = 94; - enc.cols = 94; - enc.row_byte = row_byte_normal; - enc.col_byte = col_byte_normal; - enc.byte_row = byte_row_normal; - enc.byte_col = byte_col_normal; - enc.check_row_expr = "%1$s >= 0x21 && %1$s < 0x7f"; - enc.check_col_expr = "%1$s >= 0x21 && %1$s < 0x7f"; - enc.byte_row_expr = "%1$s - 0x21"; - enc.byte_col_expr = "%1$s - 0x21"; - - read_table_ksc5601(&enc); - output_charset2uni(name,&enc); - invert(&enc); output_uni2charset_sparse(name,&enc,false); -} - -/* UHC specifics */ - -/* UHC part 1: 0x{81..A0}{41..5A,61..7A,81..FE} */ - -static int row_byte_uhc_1 (int row) { - return 0x81 + row; -} -static int col_byte_uhc_1 (int col) { - return (col >= 0x34 ? 0x4d : col >= 0x1a ? 0x47 : 0x41) + col; -} -static int byte_row_uhc_1 (int byte) { - if (byte >= 0x81 && byte < 0xa1) - return byte-0x81; - else - return -1; -} -static int byte_col_uhc_1 (int byte) { - if (byte >= 0x41 && byte < 0x5b) - return byte-0x41; - else if (byte >= 0x61 && byte < 0x7b) - return byte-0x47; - else if (byte >= 0x81 && byte < 0xff) - return byte-0x4d; - else - return -1; -} - -static void do_uhc_1 (const char* name) -{ - Encoding enc; - - enc.rows = 32; - enc.cols = 178; - enc.row_byte = row_byte_uhc_1; - enc.col_byte = col_byte_uhc_1; - enc.byte_row = byte_row_uhc_1; - enc.byte_col = byte_col_uhc_1; - enc.check_row_expr = "(%1$s >= 0x81 && %1$s < 0xa1)"; - enc.check_col_expr = "(%1$s >= 0x41 && %1$s < 0x5b) || (%1$s >= 0x61 && %1$s < 0x7b) || (%1$s >= 0x81 && %1$s < 0xff)"; - enc.byte_row_expr = "%1$s - 0x81"; - enc.byte_col_expr = "%1$s - (%1$s >= 0x81 ? 0x4d : %1$s >= 0x61 ? 0x47 : 0x41)"; - - read_table(&enc); - output_charset2uni_noholes_monotonic(name,&enc); - invert(&enc); output_uni2charset_sparse(name,&enc,true); -} - -/* UHC part 2: 0x{A1..C6}{41..5A,61..7A,81..A0} */ - -static int row_byte_uhc_2 (int row) { - return 0xa1 + row; -} -static int col_byte_uhc_2 (int col) { - return (col >= 0x34 ? 0x4d : col >= 0x1a ? 0x47 : 0x41) + col; -} -static int byte_row_uhc_2 (int byte) { - if (byte >= 0xa1 && byte < 0xff) - return byte-0xa1; - else - return -1; -} -static int byte_col_uhc_2 (int byte) { - if (byte >= 0x41 && byte < 0x5b) - return byte-0x41; - else if (byte >= 0x61 && byte < 0x7b) - return byte-0x47; - else if (byte >= 0x81 && byte < 0xa1) - return byte-0x4d; - else - return -1; -} - -static void do_uhc_2 (const char* name) -{ - Encoding enc; - - enc.rows = 94; - enc.cols = 84; - enc.row_byte = row_byte_uhc_2; - enc.col_byte = col_byte_uhc_2; - enc.byte_row = byte_row_uhc_2; - enc.byte_col = byte_col_uhc_2; - enc.check_row_expr = "(%1$s >= 0xa1 && %1$s < 0xff)"; - enc.check_col_expr = "(%1$s >= 0x41 && %1$s < 0x5b) || (%1$s >= 0x61 && %1$s < 0x7b) || (%1$s >= 0x81 && %1$s < 0xa1)"; - enc.byte_row_expr = "%1$s - 0xa1"; - enc.byte_col_expr = "%1$s - (%1$s >= 0x81 ? 0x4d : %1$s >= 0x61 ? 0x47 : 0x41)"; - - read_table(&enc); - output_charset2uni_noholes_monotonic(name,&enc); - invert(&enc); output_uni2charset_sparse(name,&enc,true); -} - -/* Big5 specifics */ - -static int row_byte_big5 (int row) { - return 0xa1+row; -} -static int col_byte_big5 (int col) { - return (col >= 0x3f ? 0x62 : 0x40) + col; -} -static int byte_row_big5 (int byte) { - if (byte >= 0xa1 && byte < 0xff) - return byte-0xa1; - else - return -1; -} -static int byte_col_big5 (int byte) { - if (byte >= 0x40 && byte < 0x7f) - return byte-0x40; - else if (byte >= 0xa1 && byte < 0xff) - return byte-0x62; - else - return -1; -} - -static void do_big5 (const char* name) -{ - Encoding enc; - - enc.rows = 94; - enc.cols = 157; - enc.row_byte = row_byte_big5; - enc.col_byte = col_byte_big5; - enc.byte_row = byte_row_big5; - enc.byte_col = byte_col_big5; - enc.check_row_expr = "%1$s >= 0xa1 && %1$s < 0xff"; - enc.check_col_expr = "(%1$s >= 0x40 && %1$s < 0x7f) || (%1$s >= 0xa1 && %1$s < 0xff)"; - enc.byte_row_expr = "%1$s - 0xa1"; - enc.byte_col_expr = "%1$s - (%1$s >= 0xa1 ? 0x62 : 0x40)"; - - read_table(&enc); - output_charset2uni(name,&enc); - invert(&enc); output_uni2charset_sparse(name,&enc,false); -} - -/* HKSCS specifics */ - -static int row_byte_hkscs (int row) { - return 0x80+row; -} -static int byte_row_hkscs (int byte) { - if (byte >= 0x80 && byte < 0xff) - return byte-0x80; - else - return -1; -} - -static void do_hkscs (const char* name) -{ - Encoding enc; - - enc.rows = 128; - enc.cols = 157; - enc.row_byte = row_byte_hkscs; - enc.col_byte = col_byte_big5; - enc.byte_row = byte_row_hkscs; - enc.byte_col = byte_col_big5; - enc.check_row_expr = "%1$s >= 0x80 && %1$s < 0xff"; - enc.check_col_expr = "(%1$s >= 0x40 && %1$s < 0x7f) || (%1$s >= 0xa1 && %1$s < 0xff)"; - enc.byte_row_expr = "%1$s - 0x80"; - enc.byte_col_expr = "%1$s - (%1$s >= 0xa1 ? 0x62 : 0x40)"; - - read_table(&enc); - output_charset2uni(name,&enc); - invert(&enc); output_uni2charset_sparse(name,&enc,false); -} - -/* Johab Hangul specifics */ - -static int row_byte_johab_hangul (int row) { - return 0x84+row; -} -static int col_byte_johab_hangul (int col) { - return (col >= 0x3e ? 0x43 : 0x41) + col; -} -static int byte_row_johab_hangul (int byte) { - if (byte >= 0x84 && byte < 0xd4) - return byte-0x84; - else - return -1; -} -static int byte_col_johab_hangul (int byte) { - if (byte >= 0x41 && byte < 0x7f) - return byte-0x41; - else if (byte >= 0x81 && byte < 0xff) - return byte-0x43; - else - return -1; -} - -static void do_johab_hangul (const char* name) -{ - Encoding enc; - - enc.rows = 80; - enc.cols = 188; - enc.row_byte = row_byte_johab_hangul; - enc.col_byte = col_byte_johab_hangul; - enc.byte_row = byte_row_johab_hangul; - enc.byte_col = byte_col_johab_hangul; - enc.check_row_expr = "%1$s >= 0x84 && %1$s < 0xd4"; - enc.check_col_expr = "(%1$s >= 0x41 && %1$s < 0x7f) || (%1$s >= 0x81 && %1$s < 0xff)"; - enc.byte_row_expr = "%1$s - 0x84"; - enc.byte_col_expr = "%1$s - (%1$s >= 0x81 ? 0x43 : 0x41)"; - - read_table(&enc); - output_charset2uni(name,&enc); - invert(&enc); output_uni2charset_dense(name,&enc); -} - -/* SJIS specifics */ - -static int row_byte_sjis (int row) { - return (row >= 0x1f ? 0xc1 : 0x81) + row; -} -static int col_byte_sjis (int col) { - return (col >= 0x3f ? 0x41 : 0x40) + col; -} -static int byte_row_sjis (int byte) { - if (byte >= 0x81 && byte < 0xa0) - return byte-0x81; - else if (byte >= 0xe0) - return byte-0xc1; - else - return -1; -} -static int byte_col_sjis (int byte) { - if (byte >= 0x40 && byte < 0x7f) - return byte-0x40; - else if (byte >= 0x80 && byte < 0xfd) - return byte-0x41; - else - return -1; -} - -static void do_sjis (const char* name) -{ - Encoding enc; - - enc.rows = 94; - enc.cols = 188; - enc.row_byte = row_byte_sjis; - enc.col_byte = col_byte_sjis; - enc.byte_row = byte_row_sjis; - enc.byte_col = byte_col_sjis; - enc.check_row_expr = "(%1$s >= 0x81 && %1$s < 0xa0) || (%1$s >= 0xe0)"; - enc.check_col_expr = "(%1$s >= 0x40 && %1$s < 0x7f) || (%1$s >= 0x80 && %1$s < 0xfd)"; - enc.byte_row_expr = "%1$s - (%1$s >= 0xe0 ? 0xc1 : 0x81)"; - enc.byte_col_expr = "%1$s - (%1$s >= 0x80 ? 0x41 : 0x40)"; - - read_table(&enc); - output_charset2uni(name,&enc); - invert(&enc); output_uni2charset_sparse(name,&enc,false); -} - -/* GB18030 Unicode specifics */ - -static void do_gb18030uni (const char* name) -{ - int c; - unsigned int bytes; - int i1, i2, i3, i4, i, j, k; - int charset2uni[4*10*126*10]; - int uni2charset[0x10000]; - struct { int low; int high; int diff; int total; } ranges[256]; - int ranges_count, ranges_total; - - for (i = 0; i < 4*10*126*10; i++) - charset2uni[i] = 0; - for (j = 0; j < 0x10000; j++) - uni2charset[j] = 0; - - /* Read a unicode.org style .TXT file. */ - for (;;) { - c = getc(stdin); - if (c == EOF) - break; - if (c == '\n' || c == ' ' || c == '\t') - continue; - if (c == '#') { - do { c = getc(stdin); } while (!(c == EOF || c == '\n')); - continue; - } - ungetc(c,stdin); - if (scanf("0x%x", &bytes) != 1) - exit(1); - i1 = (bytes >> 24) & 0xff; - i2 = (bytes >> 16) & 0xff; - i3 = (bytes >> 8) & 0xff; - i4 = bytes & 0xff; - if (!(i1 >= 0x81 && i1 <= 0x84 - && i2 >= 0x30 && i2 <= 0x39 - && i3 >= 0x81 && i3 <= 0xfe - && i4 >= 0x30 && i4 <= 0x39)) { - fprintf(stderr, "lost entry for %02x %02x %02x %02x\n", i1, i2, i3, i4); - exit(1); - } - i = (((i1-0x81) * 10 + (i2-0x30)) * 126 + (i3-0x81)) * 10 + (i4-0x30); - if (scanf(" 0x%x", &j) != 1) - exit(1); - if (!(j >= 0 && j < 0x10000)) - exit(1); - charset2uni[i] = j; - uni2charset[j] = i; - } - - /* Verify that the mapping i -> j is monotonically increasing and - of the form - low[k] <= i <= high[k] => j = diff[k] + i - with a set of disjoint intervals (low[k], high[k]). */ - ranges_count = 0; - for (i = 0; i < 4*10*126*10; i++) - if (charset2uni[i] != 0) { - int diff; - j = charset2uni[i]; - diff = j - i; - if (ranges_count > 0) { - if (!(i > ranges[ranges_count-1].high)) - exit(1); - if (!(j > ranges[ranges_count-1].high + ranges[ranges_count-1].diff)) - exit(1); - /* Additional property: The diffs are also increasing. */ - if (!(diff >= ranges[ranges_count-1].diff)) - exit(1); - } - if (ranges_count > 0 && diff == ranges[ranges_count-1].diff) - ranges[ranges_count-1].high = i; - else { - if (ranges_count == 256) - exit(1); - ranges[ranges_count].low = i; - ranges[ranges_count].high = i; - ranges[ranges_count].diff = diff; - ranges_count++; - } - } - - /* Determine size of bitmap. */ - ranges_total = 0; - for (k = 0; k < ranges_count; k++) { - ranges[k].total = ranges_total; - ranges_total += ranges[k].high - ranges[k].low + 1; - } - - printf("static const unsigned short %s_charset2uni_ranges[%d] = {\n", name, 2*ranges_count); - for (k = 0; k < ranges_count; k++) { - printf(" 0x%04x, 0x%04x", ranges[k].low, ranges[k].high); - if (k+1 < ranges_count) printf(","); - if ((k % 4) == 3 && k+1 < ranges_count) printf("\n"); - } - printf("\n"); - printf("};\n"); - - printf("\n"); - - printf("static const unsigned short %s_uni2charset_ranges[%d] = {\n", name, 2*ranges_count); - for (k = 0; k < ranges_count; k++) { - printf(" 0x%04x, 0x%04x", ranges[k].low + ranges[k].diff, ranges[k].high + ranges[k].diff); - if (k+1 < ranges_count) printf(","); - if ((k % 4) == 3 && k+1 < ranges_count) printf("\n"); - } - printf("\n"); - printf("};\n"); - - printf("\n"); - - printf("static const struct { unsigned short diff; unsigned short bitmap_offset; } %s_ranges[%d] = {\n ", name, ranges_count); - for (k = 0; k < ranges_count; k++) { - printf(" { %5d, 0x%04x }", ranges[k].diff, ranges[k].total); - if (k+1 < ranges_count) printf(","); - if ((k % 4) == 3 && k+1 < ranges_count) printf("\n "); - } - printf("\n"); - printf("};\n"); - - printf("\n"); - - printf("static const unsigned char %s_bitmap[%d] = {\n ", name, (ranges_total + 7) / 8); - { - int accu = 0; - for (k = 0; k < ranges_count; k++) { - for (i = ranges[k].total; i <= ranges[k].total + (ranges[k].high - ranges[k].low);) { - if (charset2uni[i - ranges[k].total + ranges[k].low] != 0) - accu |= (1 << (i % 8)); - i++; - if ((i % 8) == 0) { - printf(" 0x%02x", accu); - if ((i / 8) < (ranges_total + 7) / 8) printf(","); - if (((i / 8) % 12) == 0) - printf("\n "); - accu = 0; - } - } - if (i != (k+1 < ranges_count ? ranges[k+1].total : ranges_total)) abort(); - } - if ((ranges_total % 8) != 0) - printf(" 0x%02x", accu); - printf("\n"); - } - printf("};\n"); - - printf("\n"); - - printf("static int\n"); - printf("%s_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)\n", name); - printf("{\n"); - printf(" unsigned char c1 = s[0];\n"); - printf(" if (c1 >= 0x81 && c1 <= 0x84) {\n"); - printf(" if (n >= 2) {\n"); - printf(" unsigned char c2 = s[1];\n"); - printf(" if (c2 >= 0x30 && c2 <= 0x39) {\n"); - printf(" if (n >= 3) {\n"); - printf(" unsigned char c3 = s[2];\n"); - printf(" if (c3 >= 0x81 && c3 <= 0xfe) {\n"); - printf(" if (n >= 4) {\n"); - printf(" unsigned char c4 = s[3];\n"); - printf(" if (c4 >= 0x30 && c4 <= 0x39) {\n"); - printf(" unsigned int i = (((c1 - 0x81) * 10 + (c2 - 0x30)) * 126 + (c3 - 0x81)) * 10 + (c4 - 0x30);\n"); - printf(" if (i >= %d && i <= %d) {\n", ranges[0].low, ranges[ranges_count-1].high); - printf(" unsigned int k1 = 0;\n"); - printf(" unsigned int k2 = %d;\n", ranges_count-1); - printf(" while (k1 < k2) {\n"); - printf(" unsigned int k = (k1 + k2) / 2;\n"); - printf(" if (i <= %s_charset2uni_ranges[2*k+1])\n", name); - printf(" k2 = k;\n"); - printf(" else if (i >= %s_charset2uni_ranges[2*k+2])\n", name); - printf(" k1 = k + 1;\n"); - printf(" else\n"); - printf(" return RET_ILSEQ;\n"); - printf(" }\n"); - printf(" {\n"); - printf(" unsigned int bitmap_index = i - %s_charset2uni_ranges[2*k1] + %s_ranges[k1].bitmap_offset;\n", name, name); - printf(" if ((%s_bitmap[bitmap_index >> 3] >> (bitmap_index & 7)) & 1) {\n", name); - printf(" unsigned int diff = %s_ranges[k1].diff;\n", name); - printf(" *pwc = (ucs4_t) (i + diff);\n"); - printf(" return 4;\n"); - printf(" }\n"); - printf(" }\n"); - printf(" }\n"); - printf(" }\n"); - printf(" return RET_ILSEQ;\n"); - printf(" }\n"); - printf(" return RET_TOOFEW(0);\n"); - printf(" }\n"); - printf(" return RET_ILSEQ;\n"); - printf(" }\n"); - printf(" return RET_TOOFEW(0);\n"); - printf(" }\n"); - printf(" return RET_ILSEQ;\n"); - printf(" }\n"); - printf(" return RET_TOOFEW(0);\n"); - printf(" }\n"); - printf(" return RET_ILSEQ;\n"); - printf("}\n"); - - printf("\n"); - - printf("static int\n"); - printf("%s_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)\n", name); - printf("{\n"); - printf(" if (n >= 4) {\n"); - printf(" unsigned int i = wc;\n"); - printf(" if (i >= 0x%04x && i <= 0x%04x) {\n", ranges[0].low + ranges[0].diff, ranges[ranges_count-1].high + ranges[ranges_count-1].diff); - printf(" unsigned int k1 = 0;\n"); - printf(" unsigned int k2 = %d;\n", ranges_count-1); - printf(" while (k1 < k2) {\n"); - printf(" unsigned int k = (k1 + k2) / 2;\n"); - printf(" if (i <= %s_uni2charset_ranges[2*k+1])\n", name); - printf(" k2 = k;\n"); - printf(" else if (i >= %s_uni2charset_ranges[2*k+2])\n", name); - printf(" k1 = k + 1;\n"); - printf(" else\n"); - printf(" return RET_ILUNI;\n"); - printf(" }\n"); - printf(" {\n"); - printf(" unsigned int bitmap_index = i - %s_uni2charset_ranges[2*k1] + %s_ranges[k1].bitmap_offset;\n", name, name); - printf(" if ((%s_bitmap[bitmap_index >> 3] >> (bitmap_index & 7)) & 1) {\n", name); - printf(" unsigned int diff = %s_ranges[k1].diff;\n", name); - printf(" i -= diff;\n"); - printf(" r[3] = (i %% 10) + 0x30; i = i / 10;\n"); - printf(" r[2] = (i %% 126) + 0x81; i = i / 126;\n"); - printf(" r[1] = (i %% 10) + 0x30; i = i / 10;\n"); - printf(" r[0] = i + 0x81;\n"); - printf(" return 4;\n"); - printf(" }\n"); - printf(" }\n"); - printf(" }\n"); - printf(" return RET_ILUNI;\n"); - printf(" }\n"); - printf(" return RET_TOOSMALL;\n"); - printf("}\n"); -} - -/* JISX0213 specifics */ - -static void do_jisx0213 (const char* name) -{ - printf("#ifndef _JISX0213_H\n"); - printf("#define _JISX0213_H\n"); - printf("\n"); - printf("/* JISX0213 plane 1 (= ISO-IR-233) characters are in the range\n"); - printf(" 0x{21..7E}{21..7E}.\n"); - printf(" JISX0213 plane 2 (= ISO-IR-229) characters are in the range\n"); - printf(" 0x{21,23..25,28,2C..2F,6E..7E}{21..7E}.\n"); - printf(" Together this makes 120 rows of 94 characters.\n"); - printf("*/\n"); - printf("\n"); - { -#define row_convert(row) \ - ((row) >= 0x121 && (row) <= 0x17E ? row-289 : /* 0..93 */ \ - (row) == 0x221 ? row-451 : /* 94 */ \ - (row) >= 0x223 && (row) <= 0x225 ? row-452 : /* 95..97 */ \ - (row) == 0x228 ? row-454 : /* 98 */ \ - (row) >= 0x22C && (row) <= 0x22F ? row-457 : /* 99..102 */ \ - (row) >= 0x26E && (row) <= 0x27E ? row-519 : /* 103..119 */ \ - -1) - unsigned int table[120][94]; - int pagemin[0x1100]; - int pagemax[0x1100]; - int pageidx[0x1100]; - unsigned int pagestart[0x1100]; - unsigned int pagestart_len = 0; - { - unsigned int rowc, colc; - for (rowc = 0; rowc < 120; rowc++) - for (colc = 0; colc < 94; colc++) - table[rowc][colc] = 0; - } - { - unsigned int page; - for (page = 0; page < 0x1100; page++) - pagemin[page] = -1; - for (page = 0; page < 0x1100; page++) - pagemax[page] = -1; - for (page = 0; page < 0x1100; page++) - pageidx[page] = -1; - } - printf("static const unsigned short jisx0213_to_ucs_combining[][2] = {\n"); - { - int private_use = 0x0001; - for (;;) { - char line[30]; - unsigned int row, col; - unsigned int ucs; - memset(line,0,sizeof(line)); - if (scanf("%[^\n]\n",line) < 1) - break; - assert(line[0]=='0'); - assert(line[1]=='x'); - assert(isxdigit(line[2])); - assert(isxdigit(line[3])); - assert(isxdigit(line[4])); - assert(isxdigit(line[5])); - assert(isxdigit(line[6])); - assert(line[7]=='\t'); - line[7] = '\0'; - col = strtoul(&line[5],NULL,16); - line[5] = '\0'; - row = strtoul(&line[2],NULL,16); - if (line[20] != '\0' && line[21] == '\0') { - unsigned int u1, u2; - assert(line[8]=='0'); - assert(line[9]=='x'); - assert(isxdigit(line[10])); - assert(isxdigit(line[11])); - assert(isxdigit(line[12])); - assert(isxdigit(line[13])); - assert(line[14]==' '); - assert(line[15]=='0'); - assert(line[16]=='x'); - assert(isxdigit(line[17])); - assert(isxdigit(line[18])); - assert(isxdigit(line[19])); - assert(isxdigit(line[20])); - u2 = strtoul(&line[17],NULL,16); - line[14] = '\0'; - u1 = strtoul(&line[10],NULL,16); - printf(" { 0x%04x, 0x%04x },\n", u1, u2); - ucs = private_use++; - } else { - assert(line[8]=='0'); - assert(line[9]=='x'); - assert(isxdigit(line[10])); - assert(isxdigit(line[11])); - assert(isxdigit(line[12])); - assert(isxdigit(line[13])); - ucs = strtoul(&line[10],NULL,16); - } - assert((unsigned int) row_convert(row) < 120); - assert((unsigned int) (col-0x21) < 94); - table[row_convert(row)][col-0x21] = ucs; - } - } - printf("};\n"); - printf("\n"); - { - unsigned int rowc, colc; - for (rowc = 0; rowc < 120; rowc++) { - for (colc = 0; colc < 94; colc++) { - unsigned int value = table[rowc][colc]; - unsigned int page = value >> 8; - unsigned int rest = value & 0xff; - if (pagemin[page] < 0 || pagemin[page] > rest) pagemin[page] = rest; - if (pagemax[page] < 0 || pagemax[page] < rest) pagemax[page] = rest; - } - } - } - { - unsigned int index = 0; - unsigned int i; - for (i = 0; i < 0x1100; ) { - if (pagemin[i] >= 0) { - if (pagemin[i+1] >= 0 && pagemin[i] >= 0x80 && pagemax[i+1] < 0x80) { - /* Combine two pages into a single one. */ - assert(pagestart_len < sizeof(pagestart)/sizeof(pagestart[0])); - pagestart[pagestart_len++] = (i<<8)+0x80; - pageidx[i] = index; - pageidx[i+1] = index; - index++; - i += 2; - } else { - /* A single page. */ - assert(pagestart_len < sizeof(pagestart)/sizeof(pagestart[0])); - pagestart[pagestart_len++] = i<<8; - pageidx[i] = index; - index++; - i += 1; - } - } else - i++; - } - } - printf("static const unsigned short jisx0213_to_ucs_main[120 * 94] = {\n"); - { - unsigned int row; - for (row = 0; row < 0x300; row++) { - unsigned int rowc = row_convert(row); - if (rowc != (unsigned int) (-1)) { - printf(" /* 0x%X21..0x%X7E */\n",row,row); - { - unsigned int count = 0; - unsigned int colc; - for (colc = 0; colc < 94; colc++) { - if ((count % 8) == 0) printf(" "); - { - unsigned int value = table[rowc][colc]; - unsigned int page = value >> 8; - unsigned int index = pageidx[page]; - assert(value-pagestart[index] < 0x100); - printf(" 0x%04x,",(index<<8)|(value-pagestart[index])); - } - count++; - if ((count % 8) == 0) printf("\n"); - } - } - printf("\n"); - } - } - } - printf("};\n"); - printf("\n"); - printf("static const ucs4_t jisx0213_to_ucs_pagestart[] = {\n"); - { - unsigned int count = 0; - unsigned int i; - for (i = 0; i < pagestart_len; i++) { - char buf[10]; - if ((count % 8) == 0) printf(" "); - printf(" "); - sprintf(buf,"0x%04x",pagestart[i]); - if (strlen(buf) < 7) printf("%*s",7-strlen(buf),""); - printf("%s,",buf); - count++; - if ((count % 8) == 0) printf("\n"); - } - } - printf("\n"); - printf("};\n"); -#undef row_convert - } - rewind(stdin); - printf("\n"); - { - int table[0x110000]; - bool pages[0x4400]; - int maxpage = -1; - unsigned int combining_prefixes[100]; - unsigned int combining_prefixes_len = 0; - { - unsigned int i; - for (i = 0; i < 0x110000; i++) - table[i] = -1; - for (i = 0; i < 0x4400; i++) - pages[i] = false; - } - for (;;) { - char line[30]; - unsigned int plane, row, col; - memset(line,0,sizeof(line)); - if (scanf("%[^\n]\n",line) < 1) - break; - assert(line[0]=='0'); - assert(line[1]=='x'); - assert(isxdigit(line[2])); - assert(isxdigit(line[3])); - assert(isxdigit(line[4])); - assert(isxdigit(line[5])); - assert(isxdigit(line[6])); - assert(line[7]=='\t'); - line[7] = '\0'; - col = strtoul(&line[5],NULL,16); - line[5] = '\0'; - row = strtoul(&line[3],NULL,16); - line[3] = '\0'; - plane = strtoul(&line[2],NULL,16) - 1; - if (line[20] != '\0' && line[21] == '\0') { - unsigned int u1, u2; - assert(line[8]=='0'); - assert(line[9]=='x'); - assert(isxdigit(line[10])); - assert(isxdigit(line[11])); - assert(isxdigit(line[12])); - assert(isxdigit(line[13])); - assert(line[14]==' '); - assert(line[15]=='0'); - assert(line[16]=='x'); - assert(isxdigit(line[17])); - assert(isxdigit(line[18])); - assert(isxdigit(line[19])); - assert(isxdigit(line[20])); - u2 = strtoul(&line[17],NULL,16); - line[14] = '\0'; - u1 = strtoul(&line[10],NULL,16); - assert(u2 == 0x02E5 || u2 == 0x02E9 || u2 == 0x0300 || u2 == 0x0301 - || u2 == 0x309A); - assert(combining_prefixes_len < sizeof(combining_prefixes)/sizeof(combining_prefixes[0])); - combining_prefixes[combining_prefixes_len++] = u1; - } else { - unsigned int ucs; - assert(line[8]=='0'); - assert(line[9]=='x'); - assert(isxdigit(line[10])); - assert(isxdigit(line[11])); - assert(isxdigit(line[12])); - assert(isxdigit(line[13])); - ucs = strtoul(&line[10],NULL,16); - /* Add an entry. */ - assert(plane <= 1); - assert(row <= 0x7f); - assert(col <= 0x7f); - table[ucs] = (plane << 15) | (row << 8) | col; - pages[ucs>>6] = true; - if (maxpage < 0 || (ucs>>6) > maxpage) maxpage = ucs>>6; - } - } - { - unsigned int i; - for (i = 0; i < combining_prefixes_len; i++) { - unsigned int u1 = combining_prefixes[i]; - assert(table[u1] >= 0); - table[u1] |= 0x0080; - } - } - printf("static const short jisx0213_from_ucs_level1[%d] = {\n",maxpage+1); - { - unsigned int index = 0; - unsigned int i; - for (i = 0; i <= maxpage; i++) { - if ((i % 8) == 0) printf(" "); - if (pages[i]) { - printf(" %3u,",index); - index++; - } else { - printf(" %3d,",-1); - } - if (((i+1) % 8) == 0) printf("\n"); - } - } - printf("\n"); - printf("};\n"); - printf("\n"); - #if 0 /* Dense array */ - printf("static const unsigned short jisx0213_from_ucs_level2[] = {\n"); - { - unsigned int i; - for (i = 0; i <= maxpage; i++) { - if (pages[i]) { - printf(" /* 0x%04X */\n",i<<6); - { - unsigned int j; - for (j = 0; j < 0x40; ) { - unsigned int ucs = (i<<6)+j; - int value = table[ucs]; - if (value < 0) value = 0; - if ((j % 8) == 0) printf(" "); - printf(" 0x%04x,",value); - j++; - if ((j % 8) == 0) printf("\n"); - } - } - } - } - } - printf("};\n"); - #else /* Sparse array */ - { - int summary_indx[0x11000]; - int summary_used[0x11000]; - unsigned int i, k, indx; - printf("static const unsigned short jisx0213_from_ucs_level2_data[] = {\n"); - /* Fill summary_indx[] and summary_used[]. */ - indx = 0; - for (i = 0, k = 0; i <= maxpage; i++) { - if (pages[i]) { - unsigned int j1, j2; - unsigned int count = 0; - printf(" /* 0x%04X */\n",i<<6); - for (j1 = 0; j1 < 4; j1++) { - summary_indx[4*k+j1] = indx; - summary_used[4*k+j1] = 0; - for (j2 = 0; j2 < 16; j2++) { - unsigned int j = 16*j1+j2; - unsigned int ucs = (i<<6)+j; - int value = table[ucs]; - if (value < 0) value = 0; - if (value > 0) { - summary_used[4*k+j1] |= (1 << j2); - if ((count % 8) == 0) printf(" "); - printf(" 0x%04x,",value); - count++; - if ((count % 8) == 0) printf("\n"); - indx++; - } - } - } - if ((count % 8) > 0) - printf("\n"); - k++; - } - } - printf("};\n"); - printf("\n"); - printf("static const Summary16 jisx0213_from_ucs_level2_2indx[] = {\n"); - for (i = 0, k = 0; i <= maxpage; i++) { - if (pages[i]) { - unsigned int j1; - printf(" /* 0x%04X */\n",i<<6); - printf(" "); - for (j1 = 0; j1 < 4; j1++) { - printf(" { %4d, 0x%04x },", summary_indx[4*k+j1], summary_used[4*k+j1]); - } - printf("\n"); - k++; - } - } - printf("};\n"); - } - #endif - printf("\n"); - } - printf("#ifdef __GNUC__\n"); - printf("__inline\n"); - printf("#else\n"); - printf("#ifdef __cplusplus\n"); - printf("inline\n"); - printf("#endif\n"); - printf("#endif\n"); - printf("static ucs4_t jisx0213_to_ucs4 (unsigned int row, unsigned int col)\n"); - printf("{\n"); - printf(" ucs4_t val;\n"); - printf("\n"); - printf(" if (row >= 0x121 && row <= 0x17e)\n"); - printf(" row -= 289;\n"); - printf(" else if (row == 0x221)\n"); - printf(" row -= 451;\n"); - printf(" else if (row >= 0x223 && row <= 0x225)\n"); - printf(" row -= 452;\n"); - printf(" else if (row == 0x228)\n"); - printf(" row -= 454;\n"); - printf(" else if (row >= 0x22c && row <= 0x22f)\n"); - printf(" row -= 457;\n"); - printf(" else if (row >= 0x26e && row <= 0x27e)\n"); - printf(" row -= 519;\n"); - printf(" else\n"); - printf(" return 0x0000;\n"); - printf("\n"); - printf(" if (col >= 0x21 && col <= 0x7e)\n"); - printf(" col -= 0x21;\n"); - printf(" else\n"); - printf(" return 0x0000;\n"); - printf("\n"); - printf(" val = jisx0213_to_ucs_main[row * 94 + col];\n"); - printf(" val = jisx0213_to_ucs_pagestart[val >> 8] + (val & 0xff);\n"); - printf(" if (val == 0xfffd)\n"); - printf(" val = 0x0000;\n"); - printf(" return val;\n"); - printf("}\n"); - printf("\n"); - printf("#ifdef __GNUC__\n"); - printf("__inline\n"); - printf("#else\n"); - printf("#ifdef __cplusplus\n"); - printf("inline\n"); - printf("#endif\n"); - printf("#endif\n"); - printf("static unsigned short ucs4_to_jisx0213 (ucs4_t ucs)\n"); - printf("{\n"); - printf(" if (ucs < (sizeof(jisx0213_from_ucs_level1)/sizeof(jisx0213_from_ucs_level1[0])) << 6) {\n"); - printf(" int index1 = jisx0213_from_ucs_level1[ucs >> 6];\n"); - printf(" if (index1 >= 0)"); - #if 0 /* Dense array */ - printf("\n"); - printf(" return jisx0213_from_ucs_level2[(index1 << 6) + (ucs & 0x3f)];\n"); - #else /* Sparse array */ - printf(" {\n"); - printf(" const Summary16 *summary = &jisx0213_from_ucs_level2_2indx[((index1 << 6) + (ucs & 0x3f)) >> 4];\n"); - printf(" unsigned short used = summary->used;\n"); - printf(" unsigned int i = ucs & 0x0f;\n"); - printf(" if (used & ((unsigned short) 1 << i)) {\n"); - printf(" /* Keep in `used' only the bits 0..i-1. */\n"); - printf(" used &= ((unsigned short) 1 << i) - 1;\n"); - printf(" /* Add `summary->indx' and the number of bits set in `used'. */\n"); - printf(" used = (used & 0x5555) + ((used & 0xaaaa) >> 1);\n"); - printf(" used = (used & 0x3333) + ((used & 0xcccc) >> 2);\n"); - printf(" used = (used & 0x0f0f) + ((used & 0xf0f0) >> 4);\n"); - printf(" used = (used & 0x00ff) + (used >> 8);\n"); - printf(" return jisx0213_from_ucs_level2_data[summary->indx + used];\n"); - printf(" };\n"); - printf(" };\n"); - #endif - printf(" }\n"); - printf(" return 0x0000;\n"); - printf("}\n"); - printf("\n"); - printf("#endif /* _JISX0213_H */\n"); -} - -/* Main program */ - -int main (int argc, char *argv[]) -{ - const char* charsetname; - const char* name; - - if (argc != 3) - exit(1); - charsetname = argv[1]; - name = argv[2]; - - output_title(charsetname); - - if (!strcmp(name,"gb2312") - || !strcmp(name,"isoir165ext") || !strcmp(name,"gb12345ext") - || !strcmp(name,"jisx0208") || !strcmp(name,"jisx0212")) - do_normal(name); - else if (!strcmp(name,"cns11643_1") || !strcmp(name,"cns11643_2") - || !strcmp(name,"cns11643_3") || !strcmp(name,"cns11643_4a") - || !strcmp(name,"cns11643_4b") || !strcmp(name,"cns11643_5") - || !strcmp(name,"cns11643_6") || !strcmp(name,"cns11643_7") - || !strcmp(name,"cns11643_15")) - do_normal_only_charset2uni(name); - else if (!strcmp(name,"cns11643_inv")) - do_cns11643_only_uni2charset(name); - else if (!strcmp(name,"gbkext1")) - do_gbk1_only_charset2uni(name); - else if (!strcmp(name,"gbkext2")) - do_gbk2_only_charset2uni(name); - else if (!strcmp(name,"gbkext_inv")) - do_gbk1_only_uni2charset(name); - else if (!strcmp(name,"cp936ext") || !strcmp(name,"gb18030ext")) - do_gbk1(name); - else if (!strcmp(name,"ksc5601")) - do_ksc5601(name); - else if (!strcmp(name,"uhc_1")) - do_uhc_1(name); - else if (!strcmp(name,"uhc_2")) - do_uhc_2(name); - else if (!strcmp(name,"big5") || !strcmp(name,"cp950ext")) - do_big5(name); - else if (!strcmp(name,"hkscs1999") || !strcmp(name,"hkscs2001") - || !strcmp(name,"hkscs2004")) - do_hkscs(name); - else if (!strcmp(name,"johab_hangul")) - do_johab_hangul(name); - else if (!strcmp(name,"cp932ext")) - do_sjis(name); - else if (!strcmp(name,"gb18030uni")) - do_gb18030uni(name); - else if (!strcmp(name,"jisx0213")) - do_jisx0213(name); - else - exit(1); - - return 0; -} diff --git a/jni/iconv/tools/cjk_variants.c b/jni/iconv/tools/cjk_variants.c deleted file mode 100644 index fa26276..0000000 --- a/jni/iconv/tools/cjk_variants.c +++ /dev/null @@ -1,126 +0,0 @@ -/* Copyright (C) 1999-2002 Free Software Foundation, Inc. - This file is part of the GNU LIBICONV Tools. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., along with this program. If not, see <http://www.gnu.org/licenses/>. */ - -/* - * Generates Unicode variants table from Koichi Yasuoka's UniVariants file. - */ - -#include <stdio.h> -#include <stdlib.h> - -#define ENTRIES 8176 /* number of lines in UniVariants file */ -#define MAX_PER_ENTRY 10 /* max number of entries per line in file */ - -int main (int argc, char *argv[]) -{ - int variants[MAX_PER_ENTRY*ENTRIES]; - int uni2index[0x10000]; - int index; - - if (argc != 1) - exit(1); - - printf("/*\n"); - printf(" * Copyright (C) 1999-2002 Free Software Foundation, Inc.\n"); - printf(" * This file is part of the GNU LIBICONV Library.\n"); - printf(" *\n"); - printf(" * The GNU LIBICONV Library is free software; you can redistribute it\n"); - printf(" * and/or modify it under the terms of the GNU Library General Public\n"); - printf(" * License as published by the Free Software Foundation; either version 2\n"); - printf(" * of the License, or (at your option) any later version.\n"); - printf(" *\n"); - printf(" * The GNU LIBICONV Library is distributed in the hope that it will be\n"); - printf(" * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\n"); - printf(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"); - printf(" * Library General Public License for more details.\n"); - printf(" *\n"); - printf(" * You should have received a copy of the GNU Library General Public\n"); - printf(" * License along with the GNU LIBICONV Library; see the file COPYING.LIB.\n"); - printf(" * If not, write to the Free Software Foundation, Inc., 51 Franklin Street,\n"); - printf(" * Fifth Floor, Boston, MA 02110-1301, USA.\n"); - printf(" */\n"); - printf("\n"); - printf("/*\n"); - printf(" * CJK variants table\n"); - printf(" */\n"); - printf("\n"); - { - int c; - int j; - for (j = 0; j < 0x10000; j++) - uni2index[j] = -1; - index = 0; - for (;;) { - c = getc(stdin); - if (c == EOF) - break; - if (c == '#') { - do { c = getc(stdin); } while (!(c == EOF || c == '\n')); - continue; - } - ungetc(c,stdin); - if (scanf("%x",&j) != 1) - exit(1); - c = getc(stdin); - if (c != '\t') - exit(1); - uni2index[j] = index; - for (;;) { - int i; - if (scanf("%x",&i) != 1) - exit(1); - if (!(i >= 0x3000 && i < 0x3000+0x8000)) - exit(1); - variants[index++] = i-0x3000; - c = getc(stdin); - if (c != ' ') - break; - } - variants[index-1] |= 0x8000; /* end of list marker */ - if (c != '\n') - exit(1); - } - } - printf("static const unsigned short cjk_variants[%d] = {",index); - { - int i; - for (i = 0; i < index; i++) { - if ((i % 8) == 0) - printf("\n "); - printf(" 0x%04x,",variants[i]); - } - printf("\n};\n"); - } - printf("\n"); - printf("static const short cjk_variants_indx[0x5200] = {\n"); - { - int j; - for (j = 0x4e00; j < 0xa000; j++) { - if ((j % 0x100) == 0) - printf(" /* 0x%04x */\n", j); - if ((j % 8) == 0) - printf(" "); - printf(" %5d,",uni2index[j]); - if ((j % 8) == 7) - printf("\n"); - } - printf("};\n"); - } - printf("\n"); - - return 0; -} |