summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bzrignore17
-rwxr-xr-xBUILD/compile-pentium-debug2
-rw-r--r--BitKeeper/etc/logging_ok3
-rwxr-xr-xBitKeeper/triggers/post-commit14
-rw-r--r--Docs/manual.texi3
-rw-r--r--README1
-rw-r--r--acconfig.h38
-rw-r--r--client/mysql.cc53
-rw-r--r--client/mysqldump.c11
-rw-r--r--client/mysqltest.c51
-rw-r--r--client/sql_string.cc206
-rw-r--r--client/sql_string.h94
-rw-r--r--configure.in326
-rw-r--r--extra/mysql_install.c2
-rw-r--r--extra/replace.c2
-rw-r--r--extra/resolve_stack_dump.c10
-rw-r--r--extra/resolveip.c2
-rw-r--r--heap/hp_hash.c13
-rw-r--r--heap/hp_rfirst.c5
-rw-r--r--include/hash.h12
-rw-r--r--include/m_ctype.h312
-rw-r--r--include/my_sys.h16
-rw-r--r--include/myisam.h2
-rw-r--r--isam/_key.c6
-rw-r--r--isam/_search.c16
-rw-r--r--libmysql/Makefile.shared19
-rw-r--r--libmysql/libmysql.c10
-rw-r--r--libmysqld/Makefile.am5
-rw-r--r--myisam/.cvsignore2
-rw-r--r--myisam/Makefile.am11
-rw-r--r--myisam/ft_dump.c2
-rw-r--r--myisam/ft_parser.c16
-rw-r--r--myisam/mi_create.c55
-rw-r--r--myisam/mi_delete.c8
-rw-r--r--myisam/mi_key.c9
-rw-r--r--myisam/mi_open.c35
-rw-r--r--myisam/mi_range.c36
-rw-r--r--myisam/mi_rkey.c36
-rw-r--r--myisam/mi_rnext.c58
-rw-r--r--myisam/mi_rnext_same.c42
-rw-r--r--myisam/mi_static.c3
-rw-r--r--myisam/mi_test1.c7
-rw-r--r--myisam/mi_test2.c6
-rw-r--r--myisam/mi_test3.c2
-rw-r--r--myisam/mi_update.c7
-rw-r--r--myisam/mi_write.c20
-rw-r--r--myisam/myisamdef.h3
-rw-r--r--myisam/rt_index.c914
-rw-r--r--myisam/rt_index.h44
-rw-r--r--myisam/rt_key.c154
-rw-r--r--myisam/rt_key.h31
-rw-r--r--myisam/rt_mbr.c758
-rw-r--r--myisam/rt_mbr.h33
-rw-r--r--myisam/rt_split.c343
-rw-r--r--myisam/rt_test.c417
-rw-r--r--myisam/sp_defs.h45
-rw-r--r--myisam/sp_key.c256
-rw-r--r--myisam/sp_test.c565
-rw-r--r--mysql-test/r/derived.result10
-rw-r--r--mysql-test/r/heap.result2
-rw-r--r--mysql-test/r/myisam.result2
-rw-r--r--mysql-test/t/derived.test7
-rw-r--r--mysql-test/t/heap.test2
-rw-r--r--mysql-test/t/myisam.test2
-rw-r--r--mysys/charset.c18
-rw-r--r--mysys/default.c10
-rw-r--r--mysys/getvar.c9
-rw-r--r--mysys/hash.c33
-rw-r--r--mysys/mf_casecnv.c216
-rw-r--r--mysys/mf_dirname.c6
-rw-r--r--mysys/mf_format.c6
-rw-r--r--mysys/mf_iocache2.c2
-rw-r--r--mysys/mf_soundex.c20
-rw-r--r--mysys/mf_wfile.c7
-rw-r--r--mysys/my_error.c2
-rw-r--r--mysys/my_getwd.c3
-rw-r--r--mysys/my_init.c3
-rw-r--r--mysys/my_vsnprintf.c2
-rw-r--r--mysys/typelib.c4
-rw-r--r--regex/debug.c22
-rw-r--r--regex/debug.ih4
-rw-r--r--regex/engine.c97
-rw-r--r--regex/engine.ih10
-rw-r--r--regex/main.c4
-rw-r--r--regex/regcomp.c42
-rw-r--r--regex/regcomp.ih2
-rw-r--r--regex/regex.h5
-rw-r--r--regex/regex2.h2
-rw-r--r--regex/regexec.c4
-rw-r--r--regex/reginit.c23
-rw-r--r--sql/Makefile.am5
-rw-r--r--sql/convert.cc12
-rw-r--r--sql/des_key_file.cc5
-rw-r--r--sql/field.cc171
-rw-r--r--sql/field.h52
-rw-r--r--sql/field_conv.cc2
-rw-r--r--sql/filesort.cc34
-rw-r--r--sql/gen_lex_hash.cc2
-rw-r--r--sql/gstream.cc137
-rw-r--r--sql/gstream.h61
-rw-r--r--sql/ha_berkeley.cc2
-rw-r--r--sql/ha_innodb.cc10
-rw-r--r--sql/ha_myisam.cc8
-rw-r--r--sql/hash_filo.h4
-rw-r--r--sql/hostname.cc4
-rw-r--r--sql/init.cc17
-rw-r--r--sql/item.cc4
-rw-r--r--sql/item.h1
-rw-r--r--sql/item_cmpfunc.cc90
-rw-r--r--sql/item_cmpfunc.h79
-rw-r--r--sql/item_create.cc155
-rw-r--r--sql/item_create.h38
-rw-r--r--sql/item_func.cc146
-rw-r--r--sql/item_func.h87
-rw-r--r--sql/item_strfunc.cc523
-rw-r--r--sql/item_strfunc.h216
-rw-r--r--sql/item_sum.cc3
-rw-r--r--sql/item_timefunc.cc8
-rw-r--r--sql/key.cc5
-rw-r--r--sql/lex.h50
-rw-r--r--sql/log.cc4
-rw-r--r--sql/mysql_priv.h7
-rw-r--r--sql/mysqld.cc11
-rw-r--r--sql/opt_range.cc128
-rw-r--r--sql/opt_range.h9
-rw-r--r--sql/opt_sum.cc2
-rw-r--r--sql/procedure.cc3
-rw-r--r--sql/repl_failsafe.cc2
-rw-r--r--sql/share/charsets/Index2
-rw-r--r--sql/share/charsets/armscii8.conf74
-rw-r--r--sql/slave.cc11
-rw-r--r--sql/spatial.cc1435
-rw-r--r--sql/spatial.h476
-rw-r--r--sql/sql_acl.cc56
-rw-r--r--sql/sql_analyse.cc10
-rw-r--r--sql/sql_base.cc21
-rw-r--r--sql/sql_cache.cc9
-rw-r--r--sql/sql_class.cc2
-rw-r--r--sql/sql_class.h12
-rw-r--r--sql/sql_db.cc6
-rw-r--r--sql/sql_derived.cc121
-rw-r--r--sql/sql_handler.cc2
-rw-r--r--sql/sql_lex.cc78
-rw-r--r--sql/sql_lex.h8
-rw-r--r--sql/sql_parse.cc40
-rw-r--r--sql/sql_select.cc15
-rw-r--r--sql/sql_show.cc16
-rw-r--r--sql/sql_string.cc116
-rw-r--r--sql/sql_string.h85
-rw-r--r--sql/sql_table.cc90
-rw-r--r--sql/sql_udf.cc3
-rw-r--r--sql/sql_yacc.yy144
-rw-r--r--sql/structs.h1
-rw-r--r--sql/table.cc39
-rw-r--r--sql/table.h1
-rw-r--r--sql/time.cc53
-rw-r--r--strings/Makefile.am22
-rw-r--r--strings/conf_to_src.c2
-rw-r--r--strings/ctype-big5.c5847
-rw-r--r--strings/ctype-czech.c24
-rw-r--r--strings/ctype-euc_kr.c8446
-rw-r--r--strings/ctype-gb2312.c5514
-rw-r--r--strings/ctype-gbk.c7183
-rw-r--r--strings/ctype-latin1_de.c29
-rw-r--r--strings/ctype-mb.c129
-rw-r--r--strings/ctype-simple.c110
-rw-r--r--strings/ctype-sjis.c4195
-rw-r--r--strings/ctype-tis620.c15
-rw-r--r--strings/ctype-ujis.c8237
-rw-r--r--strings/ctype-utf8.c1960
-rw-r--r--strings/ctype.c3805
-rw-r--r--strings/str2int.c2
-rw-r--r--strings/strto.c12
-rw-r--r--tools/mysqlmanager.c24
174 files changed, 54888 insertions, 1441 deletions
diff --git a/.bzrignore b/.bzrignore
index 9ba7f037a1b..1c2cce34c6f 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -41,6 +41,7 @@ Docs/include.texi
Docs/manual.aux
Docs/manual.cp
Docs/manual.cps
+Docs/manual.de.log
Docs/manual.dvi
Docs/manual.fn
Docs/manual.fns
@@ -49,6 +50,8 @@ Docs/manual.ky
Docs/manual.log
Docs/manual.pdf
Docs/manual.pg
+Docs/manual.texi.orig
+Docs/manual.texi.rej
Docs/manual.toc
Docs/manual.tp
Docs/manual.txt
@@ -58,6 +61,8 @@ Docs/manual_letter.ps
Docs/manual_toc.html
Docs/my_sys.doc
Docs/mysql.info
+Docs/mysql.xml
+Docs/safe-mysql.xml
Docs/tex.fmt
Docs/texi2dvi.out
INSTALL-SOURCE
@@ -242,6 +247,7 @@ libmysqld/field.cc
libmysqld/field_conv.cc
libmysqld/filesort.cc
libmysqld/get_password.c
+libmysqld/gstream.cc
libmysqld/ha_berkeley.cc
libmysqld/ha_heap.cc
libmysqld/ha_innobase.cc
@@ -281,6 +287,7 @@ libmysqld/records.cc
libmysqld/repl_failsafe.cc
libmysqld/simple-test
libmysqld/slave.cc
+libmysqld/spatial.cc
libmysqld/sql_acl.cc
libmysqld/sql_analyse.cc
libmysqld/sql_base.cc
@@ -339,12 +346,15 @@ myisam/mi_test_all
myisam/myisamchk
myisam/myisamlog
myisam/myisampack
+myisam/rt_test
+myisam/sp_test
myisam/test1.MYD
myisam/test1.MYI
mysql-test/gmon.out
mysql-test/install_test_db
mysql-test/mysql-test-run
mysql-test/r/*.reject
+mysql-test/r/rpl000001.eval
mysql-test/r/rpl000002.eval
mysql-test/r/rpl000014.eval
mysql-test/r/rpl000015.eval
@@ -364,6 +374,7 @@ mysys/test_dir
mysys/test_io_cache
mysys/test_thr_alarm
mysys/test_thr_lock
+mysys/test_vsnprintf
mysys/testhash
regex/re
repl-tests/test-repl-ts/repl-timestamp.master.reject
@@ -431,6 +442,7 @@ sql/share/norwegian/errmsg.sys
sql/sql_select.cc.orig
sql/sql_yacc.cc
sql/sql_yacc.h
+sql/sql_yacc.yy.orig
stamp-h
strings/conf_to_src
strings/ctype_autoconf.c
@@ -458,8 +470,3 @@ vio/test-ssl
vio/test-sslclient
vio/test-sslserver
vio/viotest-ssl
-Docs/mysql.xml
-mysql-test/r/rpl000001.eval
-Docs/safe-mysql.xml
-mysys/test_vsnprintf
-Docs/manual.de.log
diff --git a/BUILD/compile-pentium-debug b/BUILD/compile-pentium-debug
index d8a6b60809b..27a637d965f 100755
--- a/BUILD/compile-pentium-debug
+++ b/BUILD/compile-pentium-debug
@@ -8,6 +8,6 @@ c_warnings="$c_warnings $debug_extra_warnings"
cxx_warnings="$cxx_warnings $debug_extra_warnings"
extra_configs="$pentium_configs $debug_configs $static_link"
-extra_configs="$extra_configs "
+extra_configs="$extra_configs $static_link"
. "$path/FINISH.sh"
diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok
index efc4599aeef..20daaf3a8d6 100644
--- a/BitKeeper/etc/logging_ok
+++ b/BitKeeper/etc/logging_ok
@@ -6,6 +6,8 @@ Sinisa@sinisa.nasamreza.org
ahlentz@co3064164-a.rochd1.qld.optusnet.com.au
arjen@co3064164-a.bitbike.com
arjen@fred.bitbike.com
+arjen@george.bitbike.com
+bar@gw.udmsearch.izhnet.ru
bell@sanja.is.com.ua
davida@isil.mysql.com
heikki@donna.mysql.fi
@@ -51,4 +53,3 @@ tonu@x3.internalnet
venu@work.mysql.com
zak@balfor.local
zak@linux.local
-arjen@george.bitbike.com
diff --git a/BitKeeper/triggers/post-commit b/BitKeeper/triggers/post-commit
index 275c278f29d..bde60e84b3d 100755
--- a/BitKeeper/triggers/post-commit
+++ b/BitKeeper/triggers/post-commit
@@ -25,10 +25,10 @@ then
echo "Commit successful, notifying developers at $TO"
(
cat <<EOF
-List-ID: <bk.mysql-4.0>
+List-ID: <bk.mysql-4.1>
From: $FROM
To: $TO
-Subject: bk commit - 4.0 tree
+Subject: bk commit - 4.1 tree
EOF
bk changes -v -r+
@@ -41,13 +41,13 @@ EOF
echo "Notifying internals list at $INTERNALS"
(
cat <<EOF
-List-ID: <bk.mysql-4.0>
+List-ID: <bk.mysql-4.1>
From: $FROM
To: $INTERNALS
-Subject: bk commit into 4.0 tree
+Subject: bk commit into 4.1 tree
Below is the list of changes that have just been committed into a
-4.0 repository of $USER. When $USER does a push, they will be propogated to
+4.1 repository of $USER. When $USER does a push, they will be propogated to
the main repository and within 24 hours after the push to the public repository.
For information on how to access the public repository
see http://www.mysql.com/doc/I/n/Installing_source_tree.html
@@ -66,10 +66,10 @@ EOF
echo "Notifying docs list at $DOCS"
(
cat <<EOF
-List-ID: <bk.mysql-4.0>
+List-ID: <bk.mysql-4.1>
From: $FROM
To: $DOCS
-Subject: bk commit - 4.0 tree (Manual)
+Subject: bk commit - 4.1 tree (Manual)
EOF
bk changes -v -r+
diff --git a/Docs/manual.texi b/Docs/manual.texi
index 9be3f851e82..a258582ea3d 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -48984,9 +48984,6 @@ Fixed bug in truncation operator for boolean full-text search.
Allow value of @code{--user=#} option for @code{mysqld} to be specified
as a numeric user ID.
@item
-Fixed a bug where @code{SQL_CALC_ROWS} returned an incorrect value when used
-with one table and @code{ORDER BY} and with @code{InnoDB} tables.
-@item
Fixed that @code{SELECT 0 LIMIT 0} doesn't hang thread.
@item
Fixed some problems with @code{USE/IGNORE INDEX} when using
diff --git a/README b/README
index b1f4ab52369..0c536de2ed5 100644
--- a/README
+++ b/README
@@ -52,3 +52,4 @@ work for me. Why?' is not consider a valid bug report.
The mysqlbug script can be found in the 'scripts' directory in the
distribution, that is 'there-you-installed-mysql/scripts'.
+
diff --git a/acconfig.h b/acconfig.h
index f52c38b2fdc..6ff8958670b 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -18,6 +18,9 @@
#undef CRAY_STACKSEG_END
+/* Define the default charset name */
+#undef DEFAULT_CHARSET_NAME
+
/* Version of .frm files */
#undef DOT_FRM_VERSION
@@ -63,6 +66,41 @@
/* READLINE: */
#undef HAVE_BSD_SIGNALS
+/* Define charsets you want */
+#undef HAVE_CHARSET_armscii8
+#undef HAVE_CHARSET_big5
+#undef HAVE_CHARSET_cp1251
+#undef HAVE_CHARSET_cp1257
+#undef HAVE_CHARSET_croat
+#undef HAVE_CHARSET_czech
+#undef HAVE_CHARSET_danish
+#undef HAVE_CHARSET_dec8
+#undef HAVE_CHARSET_dos
+#undef HAVE_CHARSET_estonia
+#undef HAVE_CHARSET_euc_kr
+#undef HAVE_CHARSET_gb2312
+#undef HAVE_CHARSET_gbk
+#undef HAVE_CHARSET_german1
+#undef HAVE_CHARSET_greek
+#undef HAVE_CHARSET_hebrew
+#undef HAVE_CHARSET_hp8
+#undef HAVE_CHARSET_hungarian
+#undef HAVE_CHARSET_koi8_ru
+#undef HAVE_CHARSET_koi8_ukr
+#undef HAVE_CHARSET_latin1
+#undef HAVE_CHARSET_latin1_de
+#undef HAVE_CHARSET_latin2
+#undef HAVE_CHARSET_latin5
+#undef HAVE_CHARSET_sjis
+#undef HAVE_CHARSET_swe7
+#undef HAVE_CHARSET_tis620
+#undef HAVE_CHARSET_ujis
+#undef HAVE_CHARSET_usa7
+#undef HAVE_CHARSET_utf8
+#undef HAVE_CHARSET_win1250
+#undef HAVE_CHARSET_win1251ukr
+#undef HAVE_CHARSET_win1251
+
/* ZLIB and compress: */
#undef HAVE_COMPRESS
diff --git a/client/mysql.cc b/client/mysql.cc
index c9b80ebb2f8..c4dbf1688ef 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -342,6 +342,7 @@ int main(int argc,char *argv[])
if (!status.batch)
ignore_errors=1; // Don't abort monitor
signal(SIGINT, mysql_end); // Catch SIGINT to clean up
+ signal(SIGQUIT, mysql_end); // Catch SIGQUIT to clean up
/*
** Run in interactive mode like the ingres/postgres monitor
@@ -915,14 +916,14 @@ static COMMANDS *find_command (char *name,char cmd_char)
}
else
{
- while (isspace(*name))
+ while (my_isspace(system_charset_info,*name))
name++;
if (strchr(name,';') || strstr(name,"\\g"))
return ((COMMANDS *) 0);
if ((end=strcont(name," \t")))
{
len=(uint) (end - name);
- while (isspace(*end))
+ while (my_isspace(system_charset_info,*end))
end++;
if (!*end)
end=0; // no arguments to function
@@ -934,7 +935,8 @@ static COMMANDS *find_command (char *name,char cmd_char)
for (uint i= 0; commands[i].name; i++)
{
if (commands[i].func &&
- ((name && !my_casecmp(name,commands[i].name,len) &&
+ ((name &&
+ !my_strncasecmp(system_charset_info,name,commands[i].name,len) &&
!commands[i].name[len] &&
(!end || (end && commands[i].takes_params))) ||
!name && commands[i].cmd_char == cmd_char))
@@ -962,12 +964,13 @@ static bool add_line(String &buffer,char *line,char *in_string)
for (pos=out=line ; (inchar= (uchar) *pos) ; pos++)
{
- if (isspace(inchar) && out == line && buffer.is_empty())
+ if (my_isspace(system_charset_info,inchar) && out == line &&
+ buffer.is_empty())
continue;
#ifdef USE_MB
int l;
- if (use_mb(default_charset_info) &&
- (l = my_ismbchar(default_charset_info, pos, strend))) {
+ if (use_mb(system_charset_info) &&
+ (l = my_ismbchar(system_charset_info, pos, strend))) {
while (l--)
*out++ = *pos++;
pos--;
@@ -1030,7 +1033,7 @@ static bool add_line(String &buffer,char *line,char *in_string)
}
else if (!*in_string && (inchar == '#' ||
inchar == '-' && pos[1] == '-' &&
- isspace(pos[2])))
+ my_isspace(system_charset_info,pos[2])))
break; // comment to end of line
else
{ // Add found char to buffer
@@ -1430,7 +1433,8 @@ com_go(String *buffer,char *line __attribute__((unused)))
(void) com_print(buffer,0);
if (skip_updates &&
- (buffer->length() < 4 || my_sortcmp(buffer->ptr(),"SET ",4)))
+ (buffer->length() < 4 || my_sortcmp(system_charset_info,buffer->ptr(),
+ "SET ",4)))
{
(void) put_info("Ignoring query to other database",INFO_INFO);
return 0;
@@ -1801,8 +1805,8 @@ safe_put_field(const char *pos,ulong length)
{
#ifdef USE_MB
int l;
- if (use_mb(default_charset_info) &&
- (l = my_ismbchar(default_charset_info, pos, end))) {
+ if (use_mb(system_charset_info) &&
+ (l = my_ismbchar(system_charset_info, pos, end))) {
while (l--)
tee_putc(*pos++, PAGER);
pos--;
@@ -1862,7 +1866,7 @@ com_tee(String *buffer, char *line __attribute__((unused)))
if (status.batch)
return 0;
- while (isspace(*line))
+ while (my_isspace(system_charset_info,*line))
line++;
if (!(param = strchr(line, ' '))) // if outfile wasn't given, use the default
{
@@ -1875,10 +1879,11 @@ com_tee(String *buffer, char *line __attribute__((unused)))
}
else
{
- while (isspace(*param))
+ while (my_isspace(system_charset_info,*param))
param++;
end=strmake(file_name, param, sizeof(file_name)-1);
- while (end > file_name && (isspace(end[-1]) || iscntrl(end[-1])))
+ while (end > file_name && (my_isspace(system_charset_info,end[-1]) ||
+ my_iscntrl(system_charset_info,end[-1])))
end--;
end[0]=0;
strmov(outfile, file_name);
@@ -1921,7 +1926,7 @@ com_pager(String *buffer, char *line __attribute__((unused)))
if (status.batch)
return 0;
/* Skip space from file name */
- while (isspace(*line))
+ while (my_isspace(system_charset_info,*line))
line++;
if (!(param = strchr(line, ' '))) // if pager was not given, use the default
{
@@ -1937,10 +1942,11 @@ com_pager(String *buffer, char *line __attribute__((unused)))
}
else
{
- while (isspace(*param))
+ while (my_isspace(system_charset_info,*param))
param++;
end=strmake(pager_name, param, sizeof(pager_name)-1);
- while (end > pager_name && (isspace(end[-1]) || iscntrl(end[-1])))
+ while (end > pager_name && (my_isspace(system_charset_info,end[-1]) ||
+ my_iscntrl(system_charset_info,end[-1])))
end--;
end[0]=0;
strmov(pager, pager_name);
@@ -2074,7 +2080,7 @@ com_connect(String *buffer, char *line)
if (buffer)
{
- while (isspace(*line))
+ while (my_isspace(system_charset_info,*line))
line++;
strnmov(buff,line,sizeof(buff)-1); // Don't destroy history
if (buff[0] == '\\') // Short command
@@ -2120,15 +2126,16 @@ static int com_source(String *buffer, char *line)
FILE *sql_file;
/* Skip space from file name */
- while (isspace(*line))
+ while (my_isspace(system_charset_info,*line))
line++;
if (!(param = strchr(line, ' '))) // Skip command name
return put_info("Usage: \\. <filename> | source <filename>",
INFO_ERROR, 0);
- while (isspace(*param))
+ while (my_isspace(system_charset_info,*param))
param++;
end=strmake(source_name,param,sizeof(source_name)-1);
- while (end > source_name && (isspace(end[-1]) || iscntrl(end[-1])))
+ while (end > source_name && (my_isspace(system_charset_info,end[-1]) ||
+ my_iscntrl(system_charset_info,end[-1])))
end--;
end[0]=0;
unpack_filename(source_name,source_name);
@@ -2169,7 +2176,7 @@ com_use(String *buffer __attribute__((unused)), char *line)
char *tmp;
char buff[256];
- while (isspace(*line))
+ while (my_isspace(system_charset_info,*line))
line++;
strnmov(buff,line,sizeof(buff)-1); // Don't destroy history
if (buff[0] == '\\') // Short command
@@ -2346,7 +2353,7 @@ com_status(String *buffer __attribute__((unused)),
tee_fprintf(stdout, "Protocol version:\t%d\n", mysql_get_proto_info(&mysql));
tee_fprintf(stdout, "Connection:\t\t%s\n", mysql_get_host_info(&mysql));
tee_fprintf(stdout, "Client characterset:\t%s\n",
- default_charset_info->name);
+ system_charset_info->name);
tee_fprintf(stdout, "Server characterset:\t%s\n", mysql.charset->name);
if (strstr(mysql_get_host_info(&mysql),"TCP/IP") || ! mysql.unix_socket)
tee_fprintf(stdout, "TCP port:\t\t%d\n", mysql.port);
@@ -2455,7 +2462,7 @@ static void remove_cntrl(String &buffer)
{
char *start,*end;
end=(start=(char*) buffer.ptr())+buffer.length();
- while (start < end && !isgraph(end[-1]))
+ while (start < end && !my_isgraph(system_charset_info,end[-1]))
end--;
buffer.length((uint) (end-start));
}
diff --git a/client/mysqldump.c b/client/mysqldump.c
index b1c4707e211..833f28bba98 100644
--- a/client/mysqldump.c
+++ b/client/mysqldump.c
@@ -545,7 +545,7 @@ static my_bool test_if_special_chars(const char *str)
{
#if MYSQL_VERSION_ID >= 32300
for ( ; *str ; str++)
- if (!isvar(*str) && *str != '$')
+ if (!my_isvar(system_charset_info,*str) && *str != '$')
return 1;
#endif
return 0;
@@ -1061,7 +1061,8 @@ static void dumpTable(uint numFields, char *table)
/* change any strings ("inf","nan",..) into NULL */
char *ptr = row[i];
dynstr_append(&extended_row,
- (!isalpha(*ptr)) ? ptr : "NULL");
+ (!my_isalpha(system_charset_info,*ptr)) ?
+ ptr : "NULL");
}
}
else
@@ -1093,9 +1094,11 @@ static void dumpTable(uint numFields, char *table)
char *ptr = row[i];
if (opt_xml)
fprintf(md_result_file, "\t\t<%s>%s</%s>\n",
- field->name,!isalpha(*ptr) ?ptr: "NULL",field->name);
+ field->name,
+ !my_isalpha(system_charset_info,*ptr) ?ptr: "NULL",field->name);
else
- fputs((!isalpha(*ptr)) ? ptr : "NULL", md_result_file);
+ fputs((!my_isalpha(system_charset_info,*ptr)) ?
+ ptr : "NULL", md_result_file);
}
}
else
diff --git a/client/mysqltest.c b/client/mysqltest.c
index a007c7778e0..e75cc9190e5 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -456,9 +456,9 @@ void init_parser()
int hex_val(int c)
{
- if (isdigit(c))
+ if (my_isdigit(system_charset_info,c))
return c - '0';
- else if ((c = tolower(c)) >= 'a' && c <= 'f')
+ else if ((c = my_tolower(system_charset_info,c)) >= 'a' && c <= 'f')
return c - 'a' + 10;
else
return -1;
@@ -569,7 +569,7 @@ VAR* var_get(const char* var_name, const char** var_name_end, my_bool raw,
{
const char* save_var_name = var_name, *end;
end = (var_name_end) ? *var_name_end : 0;
- while (isvar(*var_name) && var_name != end)
+ while (my_isvar(system_charset_info,*var_name) && var_name != end)
++var_name;
if (var_name == save_var_name)
{
@@ -729,7 +729,7 @@ int do_server_op(struct st_query* q,const char* op)
com_p=strmov(com_p,"_exec ");
if (!*p)
die("Missing server name in server_%s\n",op);
- while (*p && !isspace(*p))
+ while (*p && !my_isspace(system_charset_info,*p))
{
*com_p++=*p++;
}
@@ -762,7 +762,7 @@ int do_require_version(struct st_query* q)
if (!*p)
die("Missing version argument in require_version\n");
ver_arg = p;
- while (*p && !isspace(*p))
+ while (*p && !my_isspace(system_charset_info,*p))
p++;
*p = 0;
ver_arg_len = p - ver_arg;
@@ -792,7 +792,7 @@ int do_source(struct st_query* q)
if (!*p)
die("Missing file name in source\n");
name = p;
- while (*p && !isspace(*p))
+ while (*p && !my_isspace(system_charset_info,*p))
p++;
*p = 0;
@@ -1012,11 +1012,11 @@ int do_let(struct st_query* q)
if (!*p)
die("Missing variable name in let\n");
var_name = p;
- while(*p && (*p != '=' || isspace(*p)))
+ while(*p && (*p != '=' || my_isspace(system_charset_info,*p)))
p++;
var_name_end = p;
if (*p == '=') p++;
- while(*p && isspace(*p))
+ while(*p && my_isspace(system_charset_info,*p))
p++;
var_val_start = p;
return var_set(var_name, var_name_end, var_val_start, q->end);
@@ -1047,7 +1047,7 @@ int do_sleep(struct st_query* q)
char* p=q->first_argument;
struct timeval t;
int dec_mul = 1000000;
- while(*p && isspace(*p)) p++;
+ while(*p && my_isspace(system_charset_info,*p)) p++;
if (!*p)
die("Missing argument in sleep\n");
t.tv_usec = 0;
@@ -1067,7 +1067,7 @@ int do_sleep(struct st_query* q)
else
{
t.tv_sec = atoi(p);
- while(*p && *p != '.' && !isspace(*p))
+ while(*p && *p != '.' && !my_isspace(system_charset_info,*p))
p++;
if (*p == '.')
{
@@ -1099,7 +1099,7 @@ static void get_file_name(char *filename, struct st_query* q)
char* p=q->first_argument;
strnmov(filename, p, FN_REFLEN);
/* Remove end space */
- while (p > filename && isspace(p[-1]))
+ while (p > filename && my_isspace(system_charset_info,p[-1]))
p--;
p[0]=0;
}
@@ -1185,7 +1185,7 @@ static char *get_string(char **to_ptr, char **from_ptr,
if (*from != ' ' && *from)
die("Wrong string argument in %s\n", q->query);
- while (isspace(*from)) /* Point to next string */
+ while (my_isspace(system_charset_info,*from)) /* Point to next string */
from++;
*to =0; /* End of string marker */
@@ -1243,7 +1243,7 @@ static void get_replace(struct st_query *q)
insert_pointer_name(&to_array,to);
}
for (i=1,pos=word_end_chars ; i < 256 ; i++)
- if (isspace(i))
+ if (my_isspace(system_charset_info,i))
*pos++=i;
*pos=0; /* End pointer */
if (!(glob_replace=init_replace((char**) from_array.typelib.type_names,
@@ -1278,7 +1278,7 @@ int select_connection(struct st_query* q)
if (!*p)
die("Missing connection name in connect\n");
name = p;
- while(*p && !isspace(*p))
+ while(*p && !my_isspace(system_charset_info,*p))
p++;
*p = 0;
@@ -1304,7 +1304,7 @@ int close_connection(struct st_query* q)
if (!*p)
die("Missing connection name in connect\n");
name = p;
- while(*p && !isspace(*p))
+ while(*p && !my_isspace(system_charset_info,*p))
p++;
*p = 0;
@@ -1340,11 +1340,11 @@ int close_connection(struct st_query* q)
char* safe_get_param(char* str, char** arg, const char* msg)
{
DBUG_ENTER("safe_get_param");
- while (*str && isspace(*str)) str++;
+ while (*str && my_isspace(system_charset_info,*str)) str++;
*arg = str;
for (; *str && *str != ',' && *str != ')' ; str++)
{
- if (isspace(*str)) *str = 0;
+ if (my_isspace(system_charset_info,*str)) *str = 0;
}
if (!*str)
die(msg);
@@ -1626,7 +1626,7 @@ int read_line(char* buf, int size)
{
state = R_COMMENT;
}
- else if (isspace(c))
+ else if (my_isspace(system_charset_info,c))
{
if (c == '\n')
start_lineno= ++*lineno; /* Query hasn't started yet */
@@ -1752,7 +1752,7 @@ int read_query(struct st_query** q_ptr)
{
expected_errno = 0;
p++;
- for (;isdigit(*p);p++)
+ for (;my_isdigit(system_charset_info,*p);p++)
expected_errno = expected_errno * 10 + *p - '0';
q->expected_errno[0] = expected_errno;
q->expected_errno[1] = 0;
@@ -1760,25 +1760,25 @@ int read_query(struct st_query** q_ptr)
}
}
- while(*p && isspace(*p)) p++ ;
+ while(*p && my_isspace(system_charset_info,*p)) p++ ;
if (*p == '@')
{
p++;
p1 = q->record_file;
- while (!isspace(*p) &&
+ while (!my_isspace(system_charset_info,*p) &&
p1 < q->record_file + sizeof(q->record_file) - 1)
*p1++ = *p++;
*p1 = 0;
}
}
- while (*p && isspace(*p)) p++;
+ while (*p && my_isspace(system_charset_info,*p)) p++;
if (!(q->query_buf=q->query=my_strdup(p,MYF(MY_WME))))
die(NullS);
/* Calculate first word and first argument */
- for (p=q->query; *p && !isspace(*p) ; p++) ;
+ for (p=q->query; *p && !my_isspace(system_charset_info,*p) ; p++) ;
q->first_word_len = (uint) (p - q->query);
- while (*p && isspace(*p)) p++;
+ while (*p && my_isspace(system_charset_info,*p)) p++;
q->first_argument=p;
q->end = strend(q->query);
parser.read_lines++;
@@ -2326,7 +2326,8 @@ static void var_from_env(const char* name, const char* def_val)
static void init_var_hash()
{
VAR* v;
- if (hash_init(&var_hash, 1024, 0, 0, get_var_key, var_free, MYF(0)))
+ if (hash_init(&var_hash, system_charset_info,
+ 1024, 0, 0, get_var_key, var_free, MYF(0)))
die("Variable hash initialization failed");
var_from_env("MASTER_MYPORT", "9306");
var_from_env("SLAVE_MYPORT", "9307");
diff --git a/client/sql_string.cc b/client/sql_string.cc
index 3c5e481eaad..cf9e9f62507 100644
--- a/client/sql_string.cc
+++ b/client/sql_string.cc
@@ -234,7 +234,7 @@ bool String::fill(uint32 max_length,char fill_char)
void String::strip_sp()
{
- while (str_length && isspace(Ptr[str_length-1]))
+ while (str_length && my_isspace(str_charset,Ptr[str_length-1]))
str_length--;
}
@@ -296,10 +296,10 @@ uint32 String::numchars()
register uint32 n=0,mblen;
register const char *mbstr=Ptr;
register const char *end=mbstr+str_length;
- if (use_mb(default_charset_info))
+ if (use_mb(str_charset))
{
while (mbstr < end) {
- if ((mblen=my_ismbchar(default_charset_info, mbstr,end))) mbstr+=mblen;
+ if ((mblen=my_ismbchar(str_charset, mbstr,end))) mbstr+=mblen;
else ++mbstr;
++n;
}
@@ -316,11 +316,11 @@ int String::charpos(int i,uint32 offset)
register uint32 mblen;
register const char *mbstr=Ptr+offset;
register const char *end=Ptr+str_length;
- if (use_mb(default_charset_info))
+ if (use_mb(str_charset))
{
if (i<=0) return i;
while (i && mbstr < end) {
- if ((mblen=my_ismbchar(default_charset_info, mbstr,end))) mbstr+=mblen;
+ if ((mblen=my_ismbchar(str_charset, mbstr,end))) mbstr+=mblen;
else ++mbstr;
--i;
}
@@ -361,6 +361,39 @@ skipp:
return -1;
}
+/*
+ Search after a string without regarding to case
+ This needs to be replaced when we have character sets per string
+*/
+
+int String::strstr_case(const String &s,uint32 offset)
+{
+ if (s.length()+offset <= str_length)
+ {
+ if (!s.length())
+ return ((int) offset); // Empty string is always found
+
+ register const char *str = Ptr+offset;
+ register const char *search=s.ptr();
+ const char *end=Ptr+str_length-s.length()+1;
+ const char *search_end=s.ptr()+s.length();
+skipp:
+ while (str != end)
+ {
+ if (str_charset->sort_order[*str++] == str_charset->sort_order[*search])
+ {
+ register char *i,*j;
+ i=(char*) str; j=(char*) search+1;
+ while (j != search_end)
+ if (str_charset->sort_order[*i++] !=
+ str_charset->sort_order[*j++])
+ goto skipp;
+ return (int) (str-Ptr) -1;
+ }
+ }
+ }
+ return -1;
+}
/*
** Search string from end. Offset is offset to the end of string
@@ -428,6 +461,44 @@ bool String::replace(uint32 offset,uint32 arg_length,const String &to)
return FALSE;
}
+// added by Holyfoot for "geometry" needs
+int String::reserve(uint32 space_needed, uint32 grow_by)
+{
+ if (Alloced_length < str_length + space_needed)
+ {
+ if (realloc(Alloced_length + max(space_needed, grow_by) - 1))
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void String::qs_append(const char *str)
+{
+ int len = strlen(str);
+ memcpy(Ptr + str_length, str, len + 1);
+ str_length += len;
+}
+
+void String::qs_append(double d)
+{
+ char *buff = Ptr + str_length;
+ sprintf(buff,"%.14g", d);
+ str_length += strlen(buff);
+}
+
+void String::qs_append(double *d)
+{
+ double ld;
+ float8get(ld, d);
+ qs_append(ld);
+}
+
+void String::qs_append(const char &c)
+{
+ Ptr[str_length] = c;
+ str_length += sizeof(c);
+}
+
int sortcmp(const String *x,const String *y)
{
@@ -436,15 +507,15 @@ int sortcmp(const String *x,const String *y)
uint32 x_len=x->length(),y_len=y->length(),len=min(x_len,y_len);
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
+ if (use_strcoll(x->str_charset))
{
#ifndef CMP_ENDSPACE
- while (x_len && isspace(s[x_len-1]))
+ while (x_len && my_isspace(x->str_charset,s[x_len-1]))
x_len--;
- while (y_len && isspace(t[y_len-1]))
+ while (y_len && my_isspace(x->str_charset,t[y_len-1]))
y_len--;
#endif
- return my_strnncoll(default_charset_info,
+ return my_strnncoll(x->str_charset,
(unsigned char *)s,x_len,(unsigned char *)t,y_len);
}
else
@@ -454,9 +525,10 @@ int sortcmp(const String *x,const String *y)
y_len-=len;
while (len--)
{
- if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
- return ((int) my_sort_order[(uchar) s[-1]] -
- (int) my_sort_order[(uchar) t[-1]]);
+ if (x->str_charset->sort_order[(uchar) *s++] !=
+ x->str_charset->sort_order[(uchar) *t++])
+ return ((int) x->str_charset->sort_order[(uchar) s[-1]] -
+ (int) x->str_charset->sort_order[(uchar) t[-1]]);
}
#ifndef CMP_ENDSPACE
/* Don't compare end space in strings */
@@ -465,14 +537,14 @@ int sortcmp(const String *x,const String *y)
{
const char *end=t+y_len;
for (; t != end ; t++)
- if (!isspace(*t))
+ if (!my_isspace(x->str_charset,*t))
return -1;
}
else
{
const char *end=s+x_len;
for (; s != end ; s++)
- if (!isspace(*s))
+ if (!my_isspace(x->str_charset,*s))
return 1;
}
return 0;
@@ -520,11 +592,10 @@ String *copy_if_not_alloced(String *to,String *from,uint32 from_length)
/* Make it easier to handle different charactersets */
#ifdef USE_MB
-#define INC_PTR(A,B) A+=((use_mb_flag && \
- my_ismbchar(default_charset_info,A,B)) ? \
- my_ismbchar(default_charset_info,A,B) : 1)
+#define INC_PTR(cs,A,B) A+=((use_mb_flag && \
+ my_ismbchar(cs,A,B)) ? my_ismbchar(cs,A,B) : 1)
#else
-#define INC_PTR(A,B) A++
+#define INC_PTR(cs,A,B) A++
#endif
/*
@@ -535,18 +606,18 @@ String *copy_if_not_alloced(String *to,String *from,uint32 from_length)
*/
#ifdef LIKE_CMP_TOUPPER
-#define likeconv(A) (uchar) toupper(A)
+#define likeconv(s,A) (uchar) my_toupper(s,A)
#else
-#define likeconv(A) (uchar) my_sort_order[(uchar) (A)]
+#define likeconv(s,A) (uchar) (s)->sort_order[(uchar) (A)]
#endif
-static int wild_case_compare(const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- char escape)
+int wild_case_compare(CHARSET_INFO *cs, const char *str,const char *str_end,
+ const char *wildstr,const char *wildend,
+ char escape)
{
int result= -1; // Not found, using wildcards
#ifdef USE_MB
- bool use_mb_flag=use_mb(default_charset_info);
+ bool use_mb_flag=use_mb(cs);
#endif
while (wildstr != wildend)
{
@@ -557,7 +628,7 @@ static int wild_case_compare(const char *str,const char *str_end,
#ifdef USE_MB
int l;
if (use_mb_flag &&
- (l = my_ismbchar(default_charset_info, wildstr, wildend)))
+ (l = my_ismbchar(cs, wildstr, wildend)))
{
if (str+l > str_end || memcmp(str, wildstr, l) != 0)
return 1;
@@ -566,7 +637,7 @@ static int wild_case_compare(const char *str,const char *str_end,
}
else
#endif
- if (str == str_end || likeconv(*wildstr++) != likeconv(*str++))
+ if (str == str_end || likeconv(cs,*wildstr++) != likeconv(cs,*str++))
return(1); // No match
if (wildstr == wildend)
return (str != str_end); // Match if both are at end
@@ -576,9 +647,9 @@ static int wild_case_compare(const char *str,const char *str_end,
{
do
{
- if (str == str_end) // Skipp one char if possible
+ if (str == str_end) // Skip one char if possible
return (result);
- INC_PTR(str,str_end);
+ INC_PTR(cs,str,str_end);
} while (++wildstr < wildend && *wildstr == wild_one);
if (wildstr == wildend)
break;
@@ -595,7 +666,7 @@ static int wild_case_compare(const char *str,const char *str_end,
{
if (str == str_end)
return (-1);
- INC_PTR(str,str_end);
+ INC_PTR(cs,str,str_end);
continue;
}
break; // Not a wild character
@@ -613,10 +684,10 @@ static int wild_case_compare(const char *str,const char *str_end,
int mblen;
LINT_INIT(mblen);
if (use_mb_flag)
- mblen = my_ismbchar(default_charset_info, wildstr, wildend);
+ mblen = my_ismbchar(cs, wildstr, wildend);
#endif
- INC_PTR(wildstr,wildend); // This is compared trough cmp
- cmp=likeconv(cmp);
+ INC_PTR(cs,wildstr,wildend); // This is compared trough cmp
+ cmp=likeconv(cs,cmp);
do
{
#ifdef USE_MB
@@ -634,26 +705,26 @@ static int wild_case_compare(const char *str,const char *str_end,
break;
}
}
- else if (!my_ismbchar(default_charset_info, str, str_end) &&
- likeconv(*str) == cmp)
+ else if (!my_ismbchar(cs, str, str_end) &&
+ likeconv(cs,*str) == cmp)
{
str++;
break;
}
- INC_PTR(str, str_end);
+ INC_PTR(cs,str, str_end);
}
}
else
{
#endif /* USE_MB */
- while (str != str_end && likeconv(*str) != cmp)
+ while (str != str_end && likeconv(cs,*str) != cmp)
str++;
if (str++ == str_end) return (-1);
#ifdef USE_MB
}
#endif
{
- int tmp=wild_case_compare(str,str_end,wildstr,wildend,escape);
+ int tmp=wild_case_compare(cs,str,str_end,wildstr,wildend,escape);
if (tmp <= 0)
return (tmp);
}
@@ -667,17 +738,23 @@ static int wild_case_compare(const char *str,const char *str_end,
int wild_case_compare(String &match,String &wild, char escape)
{
- return wild_case_compare(match.ptr(),match.ptr()+match.length(),
- wild.ptr(), wild.ptr()+wild.length(),escape);
+ DBUG_ENTER("wild_case_compare");
+ DBUG_PRINT("enter",("match='%s', wild='%s', escape='%c'"
+ ,match.ptr(),wild.ptr(),escape));
+ DBUG_RETURN(wild_case_compare(match.str_charset,match.ptr(),match.ptr()+match.length(),
+ wild.ptr(), wild.ptr()+wild.length(),escape));
}
/*
** The following is used when using LIKE on binary strings
*/
-static int wild_compare(const char *str,const char *str_end,
- const char *wildstr,const char *wildend,char escape)
+int wild_compare(const char *str,const char *str_end,
+ const char *wildstr,const char *wildend,char escape)
{
+ DBUG_ENTER("wild_compare");
+ DBUG_PRINT("enter",("str='%s', str_end='%s', wildstr='%s', wildend='%s', escape='%c'"
+ ,str,str_end,wildstr,wildend,escape));
int result= -1; // Not found, using wildcards
while (wildstr != wildend)
{
@@ -686,17 +763,21 @@ static int wild_compare(const char *str,const char *str_end,
if (*wildstr == escape && wildstr+1 != wildend)
wildstr++;
if (str == str_end || *wildstr++ != *str++)
- return(1);
+ {
+ DBUG_RETURN(1);
+ }
if (wildstr == wildend)
- return (str != str_end); // Match if both are at end
+ {
+ DBUG_RETURN(str != str_end); // Match if both are at end
+ }
result=1; // Found an anchor char
}
if (*wildstr == wild_one)
{
do
{
- if (str == str_end) // Skipp one char if possible
- return (result);
+ if (str == str_end) // Skip one char if possible
+ DBUG_RETURN(result);
str++;
} while (*++wildstr == wild_one && wildstr != wildend);
if (wildstr == wildend)
@@ -713,17 +794,22 @@ static int wild_compare(const char *str,const char *str_end,
if (*wildstr == wild_one)
{
if (str == str_end)
- return (-1);
+ {
+ DBUG_RETURN(-1);
+ }
str++;
continue;
}
break; // Not a wild character
}
if (wildstr == wildend)
- return(0); // Ok if wild_many is last
+ {
+ DBUG_RETURN(0); // Ok if wild_many is last
+ }
if (str == str_end)
- return -1;
-
+ {
+ DBUG_RETURN(-1);
+ }
char cmp;
if ((cmp= *wildstr) == escape && wildstr+1 != wildend)
cmp= *++wildstr;
@@ -732,22 +818,32 @@ static int wild_compare(const char *str,const char *str_end,
{
while (str != str_end && *str != cmp)
str++;
- if (str++ == str_end) return (-1);
+ if (str++ == str_end)
+ {
+ DBUG_RETURN(-1);
+ }
{
int tmp=wild_compare(str,str_end,wildstr,wildend,escape);
if (tmp <= 0)
- return (tmp);
+ {
+ DBUG_RETURN(tmp);
+ }
}
} while (str != str_end && wildstr[0] != wild_many);
- return(-1);
+ DBUG_RETURN(-1);
}
}
- return (str != str_end ? 1 : 0);
+ DBUG_RETURN(str != str_end ? 1 : 0);
}
int wild_compare(String &match,String &wild, char escape)
{
- return wild_compare(match.ptr(),match.ptr()+match.length(),
- wild.ptr(), wild.ptr()+wild.length(),escape);
+ DBUG_ENTER("wild_compare");
+ DBUG_PRINT("enter",("match='%s', wild='%s', escape='%c'"
+ ,match.ptr(),wild.ptr(),escape));
+ DBUG_RETURN(wild_compare(match.ptr(),match.ptr()+match.length(),
+ wild.ptr(), wild.ptr()+wild.length(),escape));
}
+
+
diff --git a/client/sql_string.h b/client/sql_string.h
index cffe78936a0..811e49a0d02 100644
--- a/client/sql_string.h
+++ b/client/sql_string.h
@@ -24,31 +24,57 @@
#define NOT_FIXED_DEC 31
#endif
+class String;
+int sortcmp(const String *a,const String *b);
+int stringcmp(const String *a,const String *b);
+String *copy_if_not_alloced(String *a,String *b,uint32 arg_length);
+int wild_case_compare(String &match,String &wild,char escape);
+int wild_compare(String &match,String &wild,char escape);
+
class String
{
char *Ptr;
uint32 str_length,Alloced_length;
bool alloced;
+ CHARSET_INFO *str_charset;
public:
String()
- { Ptr=0; str_length=Alloced_length=0; alloced=0; }
+ {
+ Ptr=0; str_length=Alloced_length=0; alloced=0;
+ str_charset=default_charset_info;
+ }
String(uint32 length_arg)
- { alloced=0; Alloced_length=0; (void) real_alloc(length_arg); }
+ {
+ alloced=0; Alloced_length=0; (void) real_alloc(length_arg);
+ str_charset=default_charset_info;
+ }
String(const char *str)
- { Ptr=(char*) str; str_length=(uint) strlen(str); Alloced_length=0; alloced=0;}
+ {
+ Ptr=(char*) str; str_length=(uint) strlen(str); Alloced_length=0; alloced=0;
+ str_charset=default_charset_info;
+ }
String(const char *str,uint32 len)
- { Ptr=(char*) str; str_length=len; Alloced_length=0; alloced=0;}
+ {
+ Ptr=(char*) str; str_length=len; Alloced_length=0; alloced=0;
+ str_charset=default_charset_info;
+ }
String(char *str,uint32 len)
- { Ptr=(char*) str; Alloced_length=str_length=len; alloced=0;}
+ {
+ Ptr=(char*) str; Alloced_length=str_length=len; alloced=0;
+ str_charset=default_charset_info;
+ }
String(const String &str)
- { Ptr=str.Ptr ; str_length=str.str_length ;
- Alloced_length=str.Alloced_length; alloced=0; }
-
+ {
+ Ptr=str.Ptr ; str_length=str.str_length ;
+ Alloced_length=str.Alloced_length; alloced=0;
+ str_charset=str.str_charset;
+ }
static void *operator new(size_t size) { return (void*) sql_alloc((uint) size); }
static void operator delete(void *ptr_arg,size_t size) /*lint -e715 */
{ sql_element_free(ptr_arg); }
~String() { free(); }
+ inline CHARSET_INFO *charset() const { return str_charset; }
inline uint32 length() const { return str_length;}
inline uint32 alloced_length() const { return Alloced_length;}
inline char& operator [] (uint32 i) const { return Ptr[i]; }
@@ -124,7 +150,7 @@ public:
char *new_ptr;
if (!(new_ptr=(char*) my_realloc(Ptr,arg_length,MYF(0))))
{
- (void) my_free(Ptr,MYF(0));
+ Alloced_length = 0;
real_alloc(arg_length);
}
else
@@ -153,6 +179,7 @@ public:
bool append(const char *s,uint32 arg_length=0);
bool append(IO_CACHE* file, uint32 arg_length);
int strstr(const String &search,uint32 offset=0); // Returns offset to substring or -1
+ int strstr_case(const String &s,uint32 offset=0);
int strrstr(const String &search,uint32 offset=0); // Returns offset to substring or -1
bool replace(uint32 offset,uint32 arg_length,const String &to);
inline bool append(char chr)
@@ -171,8 +198,8 @@ public:
}
bool fill(uint32 max_length,char fill);
void strip_sp();
- inline void caseup() { ::caseup(Ptr,str_length); }
- inline void casedn() { ::casedn(Ptr,str_length); }
+ inline void caseup() { my_caseup(str_charset,Ptr,str_length); }
+ inline void casedn() { my_casedn(str_charset,Ptr,str_length); }
friend int sortcmp(const String *a,const String *b);
friend int stringcmp(const String *a,const String *b);
friend String *copy_if_not_alloced(String *a,String *b,uint32 arg_length);
@@ -180,4 +207,49 @@ public:
friend int wild_compare(String &match,String &wild,char escape);
uint32 numchars();
int charpos(int i,uint32 offset=0);
+
+// added by Holyfoot for "geometry" needs
+ int reserve(uint32 space_needed)
+ {
+ return realloc(str_length + space_needed);
+ }
+ int reserve(uint32 space_needed, uint32 grow_by);
+
+// these append operations do NOT check alloced memory
+// q_*** methods writes values of parameters itself
+// qs_*** methods writes string representation of value
+ void q_append(const char &c)
+ {
+ Ptr[str_length++] = c;
+ }
+ void q_append(const uint32 &n)
+ {
+ int4store(Ptr + str_length, n);
+ str_length += 4;
+ }
+ void q_append(double d)
+ {
+ float8store(Ptr + str_length, d);
+ str_length += 8;
+ }
+ void q_append(double *d)
+ {
+ float8store(Ptr + str_length, *d);
+ str_length += 8;
+ }
+ void q_append(const char *data, uint32 data_len)
+ {
+ memcpy(Ptr + str_length, data, data_len);
+ str_length += data_len;
+ }
+
+ void WriteAtPosition(int position, uint32 value)
+ {
+ int4store(Ptr + position,value);
+ }
+
+ void qs_append(const char *str);
+ void qs_append(double d);
+ void qs_append(double *d);
+ void qs_append(const char &c);
};
diff --git a/configure.in b/configure.in
index 9649160393a..12d207a799d 100644
--- a/configure.in
+++ b/configure.in
@@ -627,11 +627,13 @@ AC_ARG_WITH(mysqld-user,
AC_SUBST(MYSQLD_USER)
# If we should allove LOAD DATA LOCAL
-AC_MSG_CHECKING(if we should should enable LOAD DATA LOCAL by default)
+AC_MSG_CHECKING(If we should should enable LOAD DATA LOCAL by default)
AC_ARG_ENABLE(local-infile,
[ --enable-local-infile
- Enable LOAD DATA LOCAL INFILE (default: disabled)],
- [ ENABLED_LOCAL_INFILE=$enableval ],
+ [
+ ENABLED_LOCAL_INFILE=$enableval
+ AC_DEFINE(ENABLED_LOCAL_INFILE)
+ ],
[ ENABLED_LOCAL_INFILE=no ]
)
if test "$ENABLED_LOCAL_INFILE" = "yes"
@@ -1919,18 +1921,20 @@ fi
AC_SUBST(readline_dir)
AC_SUBST(readline_link)
+
dnl In order to add new charset, you must add charset name to
dnl this CHARSETS_AVAILABLE list and sql/share/charsets/Index.
dnl If the character set uses strcoll or other special handling,
dnl you must also create strings/ctype-$charset_name.c
AC_DIVERT_PUSH(0)
-CHARSETS_AVAILABLE="big5 cp1251 cp1257
+CHARSETS_AVAILABLE="armscii8 big5 cp1251 cp1257
croat czech danish dec8 dos estonia euc_kr gb2312 gbk
german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr
latin1 latin1_de latin2 latin5 sjis swe7 tis620 ujis
- usa7 win1250 win1251ukr"
+ usa7 utf8 win1250 win1251ukr"
CHARSETS_DEPRECATED="win1251"
+CHARSETS_COMPLEX="big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 ujis utf8"
DEFAULT_CHARSET=latin1
AC_DIVERT_POP
@@ -1951,208 +1955,144 @@ AC_MSG_CHECKING("character sets")
if test "$extra_charsets" = none; then
CHARSETS=""
elif test "$extra_charsets" = complex; then
- CHARSETS=`/bin/ls -1 $srcdir/strings/ctype-*.c | \
- sed -e 's;^.*/ctype-;;' -e 's;.c$;;'`
- CHARSETS=`echo $CHARSETS` # get rid of line breaks
+ CHARSETS="$CHARSETS_COMPLEX"
+elif test "$extra_charsets" = all; then
+ CHARSETS="$CHARSETS_AVAILABLE $CHARSETS_DEPRECATED"
else
- if test "$extra_charsets" = all; then
- CHARSETS="$CHARSETS_AVAILABLE $CHARSETS_DEPRECATED"
- else
- CHARSETS=`echo $extra_charsets | sed -e 's/,/ /g'`
- fi
+ CHARSETS=`echo $extra_charsets | sed -e 's/,/ /g'`
fi
-# Ensure that the default_charset is first in CHARSETS
-TMP_CHARSETS="$default_charset "
-for i in $CHARSETS
-do
- if test $i != $default_charset
- then
- TMP_CHARSETS="$TMP_CHARSETS $i"
- fi
-done
-CHARSETS=$TMP_CHARSETS
-
-# Check if charsets are all good
-for cs in $CHARSETS
-do
- charset_okay=0
- for charset in $CHARSETS_AVAILABLE $CHARSETS_DEPRECATED
- do
- if test $cs = $charset; then charset_okay=1; fi
- done
- if test $charset_okay = 0;
- then
- AC_MSG_ERROR([Charset $cs not available. (Available $CHARSETS_AVAILABLE).
- See the Installation chapter in the Reference Manual.]);
- fi
-done
-
-CHARSET_SRCS=""
-CHARSETS_NEED_SOURCE=""
-CHARSET_DECLARATIONS=""
-CHARSET_COMP_CS_INIT="CHARSET_INFO compiled_charsets[[]] = {"
-
-want_use_strcoll=0
-want_use_mb=0
+CHARSETS="$DEFAULT_CHARSET $CHARSETS"
-index_file="$srcdir/sql/share/charsets/Index"
+use_mb="no"
-for c in $CHARSETS
+for cs in $CHARSETS
do
- # get the charset number from $index_file
-changequote(,)dnl
- subpat='^'"${c}"'[ ][ ]*\([0-9][0-9]*\)[^0-9]*$'
- number=`sed -e "/$subpat/!d" -e 's//\1/' $index_file`
-changequote([,])dnl
- # some sanity checking....
- if test X"$number" = X
- then
- AC_MSG_ERROR([No number was found in $index_file for the $c character set. This is a bug in the MySQL distribution. Please report this message to bugs@lists.mysql.com.])
- fi
-
- cs_file="$srcdir/strings/ctype-$c.c"
- if test -f $cs_file
- then
- CHARSET_SRCS="${CHARSET_SRCS}ctype-$c.c "
- # get the strxfrm multiplier and max mb len from files
- subpat='^.*\\.configure\\. strxfrm_multiply_'"${c}"'='
- strx=`$AWK 'sub("'"$subpat"'", "") { print }' $cs_file`
- subpat='^.*\\.configure\\. mbmaxlen_'"${c}"'='
- maxl=`$AWK 'sub("'"$subpat"'", "") { print }' $cs_file`
-
- CHARSET_DECLARATIONS="$CHARSET_DECLARATIONS
-
-/* declarations for the ${c} character set, filled in by configure */
-extern uchar ctype_${c}[[]], to_lower_${c}[[]], to_upper_${c}[[]], sort_order_${c}[[]];"
- else
- CHARSETS_NEED_SOURCE="$CHARSETS_NEED_SOURCE $c"
- strx=''
- maxl=''
- fi
-
- CHARSET_COMP_CS_INIT="$CHARSET_COMP_CS_INIT
-
- /* this information is filled in by configure */
- {
- $number, /* number */
- \"$c\", /* name */
- ctype_${c},
- to_lower_${c},
- to_upper_${c},
- sort_order_${c},"
-
- if test -n "$strx"
- then
- want_use_strcoll=1
-
- CHARSET_DECLARATIONS="$CHARSET_DECLARATIONS
-extern int my_strcoll_${c}(const uchar *, const uchar *);
-extern int my_strxfrm_${c}(uchar *, const uchar *, int);
-extern int my_strnncoll_${c}(const uchar *, int, const uchar *, int);
-extern int my_strnxfrm_${c}(uchar *, const uchar *, int, int);
-extern my_bool my_like_range_${c}(const char *, uint, pchar, uint,
- char *, char *, uint *, uint *);"
-
- CHARSET_COMP_CS_INIT="$CHARSET_COMP_CS_INIT
- $strx, /* strxfrm_multiply */
- my_strcoll_${c},
- my_strxfrm_${c},
- my_strnncoll_${c},
- my_strnxfrm_${c},
- my_like_range_${c},"
- else
- CHARSET_COMP_CS_INIT="$CHARSET_COMP_CS_INIT
- 0, /* strxfrm_multiply */
- NULL, /* strcoll */
- NULL, /* strxfrm */
- NULL, /* strnncoll */
- NULL, /* strnxfrm */
- NULL, /* like_range */"
- fi
-
- if test -n "$maxl"
- then
- want_use_mb=1
-
- CHARSET_DECLARATIONS="$CHARSET_DECLARATIONS
-extern int ismbchar_${c}(const char *, const char *);
-extern my_bool ismbhead_${c}(uint);
-extern int mbcharlen_${c}(uint);"
-
-
- CHARSET_COMP_CS_INIT="$CHARSET_COMP_CS_INIT
- $maxl, /* mbmaxlen */
- ismbchar_${c},
- ismbhead_${c},
- mbcharlen_${c}"
- else
- CHARSET_COMP_CS_INIT="$CHARSET_COMP_CS_INIT
- 0, /* mbmaxlen */
- NULL, /* ismbchar */
- NULL, /* ismbhead */
- NULL /* mbcharlen */"
- fi
- CHARSET_COMP_CS_INIT="$CHARSET_COMP_CS_INIT
- },"
+ case $cs in
+ armscii8)
+ AC_DEFINE(HAVE_CHARSET_armscii8)
+ use_mb="yes"
+ ;;
+ big5)
+ AC_DEFINE(HAVE_CHARSET_big5)
+ use_mb="yes"
+ ;;
+ cp1251)
+ AC_DEFINE(HAVE_CHARSET_cp1251)
+ ;;
+ cp1257)
+ AC_DEFINE(HAVE_CHARSET_cp1257)
+ ;;
+ croat)
+ AC_DEFINE(HAVE_CHARSET_croat)
+ ;;
+ czech)
+ AC_DEFINE(HAVE_CHARSET_czech)
+ ;;
+ danish)
+ AC_DEFINE(HAVE_CHARSET_danish)
+ ;;
+ dec8)
+ AC_DEFINE(HAVE_CHARSET_dec8)
+ ;;
+ dos)
+ AC_DEFINE(HAVE_CHARSET_dos)
+ ;;
+ estonia)
+ AC_DEFINE(HAVE_CHARSET_estonia)
+ ;;
+ euc_kr)
+ AC_DEFINE(HAVE_CHARSET_euc_kr)
+ use_mb="yes"
+ ;;
+ gb2312)
+ AC_DEFINE(HAVE_CHARSET_gb2312)
+ use_mb="yes"
+ ;;
+ gbk)
+ AC_DEFINE(HAVE_CHARSET_gbk)
+ use_mb="yes"
+ ;;
+ german1)
+ AC_DEFINE(HAVE_CHARSET_german1)
+ ;;
+ greek)
+ AC_DEFINE(HAVE_CHARSET_greek)
+ ;;
+ hebrew)
+ AC_DEFINE(HAVE_CHARSET_hebrew)
+ ;;
+ hp8)
+ AC_DEFINE(HAVE_CHARSET_hp8)
+ ;;
+ hungarian)
+ AC_DEFINE(HAVE_CHARSET_hungarian)
+ ;;
+ koi8_ru)
+ AC_DEFINE(HAVE_CHARSET_koi8_ru)
+ ;;
+ koi8_ukr)
+ AC_DEFINE(HAVE_CHARSET_koi8_ukr)
+ ;;
+ latin1)
+ AC_DEFINE(HAVE_CHARSET_latin1)
+ ;;
+ latin1_de)
+ AC_DEFINE(HAVE_CHARSET_latin1_de)
+ ;;
+ latin2)
+ AC_DEFINE(HAVE_CHARSET_latin2)
+ ;;
+ latin5)
+ AC_DEFINE(HAVE_CHARSET_latin5)
+ ;;
+ sjis)
+ AC_DEFINE(HAVE_CHARSET_sjis)
+ use_mb="yes"
+ ;;
+ swe7)
+ AC_DEFINE(HAVE_CHARSET_swe7)
+ ;;
+ tis620)
+ AC_DEFINE(HAVE_CHARSET_tis620)
+ ;;
+ ujis)
+ AC_DEFINE(HAVE_CHARSET_ujis)
+ use_mb="yes"
+ ;;
+ usa7)
+ AC_DEFINE(HAVE_CHARSET_usa7)
+ ;;
+ utf8)
+ AC_DEFINE(HAVE_CHARSET_utf8)
+ use_mb="yes"
+ ;;
+ win1250)
+ AC_DEFINE(HAVE_CHARSET_win1250)
+ ;;
+ win1251)
+ AC_DEFINE(HAVE_CHARSET_win1251)
+ ;;
+ win1251ukr)
+ AC_DEFINE(HAVE_CHARSET_win1251ukr)
+ ;;
+ *)
+ AC_MSG_ERROR([Charset $cs not available. (Available $CHARSETS_AVAILABLE).
+ See the Installation chapter in the Reference Manual.]);
+ esac
done
-CHARSET_COMP_CS_INIT="$CHARSET_COMP_CS_INIT
-
- /* this information is filled in by configure */
- {
- 0, /* end-of-list marker */
- NullS,
- NULL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL
- }
-};"
-
-
-if test $want_use_strcoll = 1
-then
- AC_DEFINE(USE_STRCOLL)
-fi
-
-if test $want_use_mb = 1
+if test "$use_mb" = "yes"
then
AC_DEFINE(USE_MB)
AC_DEFINE(USE_MB_IDENT)
fi
+# Temporary hack for USE_STRCOLL
+AC_DEFINE(USE_STRCOLL)
+
AC_SUBST(default_charset)
-AC_SUBST(CHARSET_SRCS)
-CHARSET_OBJS="`echo "$CHARSET_SRCS" | sed -e 's/\.c /.o /g'`"
-AC_SUBST(CHARSET_OBJS)
-AC_SUBST(CHARSETS_NEED_SOURCE)
-
-dnl We can't use AC_SUBST because these substitutions are too long.
-dnl I don't want to use sed, either, because there's a reason why
-dnl autoconf breaks up the substitution commands. So we'll just
-dnl write to a file and #include it.
-dnl AC_SUBST(CHARSET_DECLARATIONS)
-dnl AC_SUBST(CHARSET_COMP_CS_INIT)
-dnl sed -e "s%@CHARSET_DECLARATIONS@%$CHARSET_DECLARATIONS%g" \
-dnl -e "s%@CHARSET_COMP_CS_INIT@%$CHARSET_COMP_CS_INIT%g" \
-dnl $srcdir/strings/ctype.c.in > $srcdir/strings/ctype.c
-
-cat <<EOF > $srcdir/strings/ctype_autoconf.c
-/* This file is generated automatically by configure. */$CHARSET_DECLARATIONS
-
-$CHARSET_COMP_CS_INIT
-EOF
+AC_DEFINE_UNQUOTED(DEFAULT_CHARSET_NAME,"$default_charset")
AC_MSG_RESULT([default: $default_charset; compiled in: $CHARSETS])
diff --git a/extra/mysql_install.c b/extra/mysql_install.c
index 1fa62f35b7e..3f716dccef5 100644
--- a/extra/mysql_install.c
+++ b/extra/mysql_install.c
@@ -155,7 +155,7 @@ static int get_answer(QUESTION_WIDGET* w)
char c;
if (!fgets(buf,sizeof(buf),w->in))
die("Failed fgets on input stream");
- switch ((c=tolower(*buf)))
+ switch ((c=my_tolower(system_charset_info,*buf)))
{
case '\n':
return w->default_ind;
diff --git a/extra/replace.c b/extra/replace.c
index 41312f5e3d4..5826586988a 100644
--- a/extra/replace.c
+++ b/extra/replace.c
@@ -113,7 +113,7 @@ char *argv[];
exit(1);
for (i=1,pos=word_end_chars ; i < 256 ; i++)
- if (isspace(i))
+ if (my_isspace(system_charset_info,i))
*pos++=i;
*pos=0;
if (!(replace=init_replace((char**) from.typelib.type_names,
diff --git a/extra/resolve_stack_dump.c b/extra/resolve_stack_dump.c
index 6c2ddf66027..7d1d125ec7e 100644
--- a/extra/resolve_stack_dump.c
+++ b/extra/resolve_stack_dump.c
@@ -178,9 +178,9 @@ trace dump and specify the path to it with -s or --symbols-file");
static uchar hex_val(char c)
{
uchar l;
- if(isdigit(c))
+ if(my_isdigit(system_charset_info,c))
return c - '0';
- l = tolower(c);
+ l = my_tolower(system_charset_info,c);
if(l < 'a' || l > 'f')
return HEX_INVALID;
return (uchar)10 + ((uchar)c - (uchar)'a');
@@ -206,10 +206,10 @@ static int init_sym_entry(SYM_ENTRY* se, char* buf)
if(!se->addr)
return -1;
- while(isspace(*buf++))
+ while ( my_isspace(system_charset_info,*buf++))
/* empty */;
- while(isspace(*buf++))
+ while (my_isspace(system_charset_info,*buf++))
/* empty - skip more space */;
--buf;
/* now we are on the symbol */
@@ -293,7 +293,7 @@ static void do_resolve()
while(fgets(buf, sizeof(buf), fp_dump))
{
p = buf;
- while(isspace(*p))
+ while(my_isspace(system_charset_info,*p))
++p;
/* skip space */;
diff --git a/extra/resolveip.c b/extra/resolveip.c
index 2d21d5c672c..20630d8414d 100644
--- a/extra/resolveip.c
+++ b/extra/resolveip.c
@@ -128,7 +128,7 @@ int main(int argc, char **argv)
{
ip = *argv++;
- if (isdigit(ip[0]))
+ if (my_isdigit(system_charset_info,ip[0]))
{
taddr = inet_addr(ip);
if (taddr == htonl(INADDR_BROADCAST))
diff --git a/heap/hp_hash.c b/heap/hp_hash.c
index e29e51d2b75..519779d330d 100644
--- a/heap/hp_hash.c
+++ b/heap/hp_hash.c
@@ -173,7 +173,7 @@ ulong _hp_hashnr(register HP_KEYDEF *keydef, register const byte *key)
for (; pos < (uchar*) key ; pos++)
{
nr^=(ulong) ((((uint) nr & 63)+nr2) *
- ((uint) my_sort_order[(uint) *pos])) + (nr << 8);
+ ((uint) default_charset_info->sort_order[(uint) *pos])) + (nr << 8);
nr2+=3;
}
}
@@ -212,7 +212,7 @@ ulong _hp_rec_hashnr(register HP_KEYDEF *keydef, register const byte *rec)
for (; pos < end ; pos++)
{
nr^=(ulong) ((((uint) nr & 63)+nr2)*
- ((uint) my_sort_order[(uint) *pos]))+ (nr << 8);
+ ((uint) default_charset_info->sort_order[(uint) *pos]))+ (nr << 8);
nr2+=3;
}
}
@@ -343,7 +343,7 @@ int _hp_rec_key_cmp(HP_KEYDEF *keydef, const byte *rec1, const byte *rec2)
}
if (seg->type == HA_KEYTYPE_TEXT)
{
- if (my_sortcmp(rec1+seg->start,rec2+seg->start,seg->length))
+ if (my_sortcmp(default_charset_info,rec1+seg->start,rec2+seg->start,seg->length))
return 1;
}
else
@@ -375,7 +375,12 @@ int _hp_key_cmp(HP_KEYDEF *keydef, const byte *rec, const byte *key)
}
if (seg->type == HA_KEYTYPE_TEXT)
{
- if (my_sortcmp(rec+seg->start,key,seg->length))
+ /*
+ BAR TODO: this will not use default_charset_info
+ I need Ram to apply his HEAP patches with
+ CHARSET_INFO field in HP segments
+ */
+ if (my_sortcmp(default_charset_info,rec+seg->start,key,seg->length))
return 1;
}
else
diff --git a/heap/hp_rfirst.c b/heap/hp_rfirst.c
index 9a1f09244a0..b20918ff3a7 100644
--- a/heap/hp_rfirst.c
+++ b/heap/hp_rfirst.c
@@ -21,6 +21,11 @@
int heap_rfirst(HP_INFO *info, byte *record)
{
DBUG_ENTER("heap_rfirst");
+ if (!(info->s->records))
+ {
+ my_errno=HA_ERR_END_OF_FILE;
+ DBUG_RETURN(my_errno);
+ }
info->current_record=0;
info->current_hash_ptr=0;
info->update=HA_STATE_PREV_FOUND;
diff --git a/include/hash.h b/include/hash.h
index e9c8c73c05b..a4afe03fb59 100644
--- a/include/hash.h
+++ b/include/hash.h
@@ -40,13 +40,15 @@ typedef struct st_hash {
DYNAMIC_ARRAY array; /* Place for hash_keys */
hash_get_key get_key;
void (*free)(void *);
- uint (*calc_hashnr)(const byte *key,uint length);
+ uint (*calc_hashnr)(CHARSET_INFO *cs, const byte *key,uint length);
+ CHARSET_INFO *charset;
} HASH;
-#define hash_init(A,B,C,D,E,F,G) _hash_init(A,B,C,D,E,F,G CALLER_INFO)
-my_bool _hash_init(HASH *hash,uint default_array_elements, uint key_offset,
- uint key_length, hash_get_key get_key,
- void (*free_element)(void*), uint flags CALLER_INFO_PROTO);
+#define hash_init(A,B,C,D,E,F,G) _hash_init(A,B,C,D,E,F,G, H CALLER_INFO)
+my_bool _hash_init(HASH *hash, CHARSET_INFO *charset,
+ uint default_array_elements, uint key_offset,
+ uint key_length, hash_get_key get_key,
+ void (*free_element)(void*), uint flags CALLER_INFO_PROTO);
void hash_free(HASH *tree);
byte *hash_element(HASH *hash,uint idx);
gptr hash_search(HASH *info,const byte *key,uint length);
diff --git a/include/m_ctype.h b/include/m_ctype.h
index fc983d1d580..3b095b41d4f 100644
--- a/include/m_ctype.h
+++ b/include/m_ctype.h
@@ -26,8 +26,29 @@
extern "C" {
#endif
+
#define CHARSET_DIR "charsets/"
+#define my_wc_t ulong
+
+typedef struct unicase_info_st {
+ uint16 toupper;
+ uint16 tolower;
+ uint16 sort;
+} MY_UNICASE_INFO;
+
+#define MY_CS_ILSEQ 0
+#define MY_CS_ILUNI 0
+#define MY_CS_TOOSMALL -1
+#define MY_CS_TOOFEW(n) (-1-(n))
+
+typedef struct my_uni_idx_st {
+ uint16 from;
+ uint16 to;
+ uchar *tab;
+} MY_UNI_IDX;
+
+
typedef struct charset_info_st
{
uint number;
@@ -36,23 +57,47 @@ typedef struct charset_info_st
uchar *to_lower;
uchar *to_upper;
uchar *sort_order;
-
+ uint16 *tab_to_uni;
+ MY_UNI_IDX *tab_from_uni;
+
+ /* Collation routines */
uint strxfrm_multiply;
- int (*strcoll)(const uchar *, const uchar *);
- int (*strxfrm)(uchar *, const uchar *, int);
- int (*strnncoll)(const uchar *, int, const uchar *, int);
- int (*strnxfrm)(uchar *, const uchar *, int, int);
- my_bool (*like_range)(const char *, uint, pchar, uint,
+ int (*strnncoll)(struct charset_info_st *,
+ const uchar *, uint, const uchar *, uint);
+ int (*strnxfrm)(struct charset_info_st *,
+ uchar *, uint, const uchar *, uint);
+ my_bool (*like_range)(struct charset_info_st *,
+ const char *, uint, pchar, uint,
char *, char *, uint *, uint *);
-
+
+ /* Multibyte routines */
uint mbmaxlen;
- int (*ismbchar)(const char *, const char *);
- my_bool (*ismbhead)(uint);
- int (*mbcharlen)(uint);
+ int (*ismbchar)(struct charset_info_st *, const char *, const char *);
+ my_bool (*ismbhead)(struct charset_info_st *, uint);
+ int (*mbcharlen)(struct charset_info_st *, uint);
+
+ /* Unicode convertion */
+ int (*mb_wc)(struct charset_info_st *cs,my_wc_t *wc,
+ const unsigned char *s,const unsigned char *e);
+ int (*wc_mb)(struct charset_info_st *cs,my_wc_t wc,
+ unsigned char *s,unsigned char *e);
+
+ /* Functions for case convertion */
+ void (*caseup_str)(struct charset_info_st *, char *);
+ void (*casedn_str)(struct charset_info_st *, char *);
+ void (*caseup)(struct charset_info_st *, char *, uint);
+ void (*casedn)(struct charset_info_st *, char *, uint);
+
+ /* Functions for case comparison */
+ int (*strcasecmp)(struct charset_info_st *, const char *, const char *);
+ int (*strncasecmp)(struct charset_info_st *, const char *, const char *, uint);
+
+ char max_sort_char; /* For LIKE otimization */
} CHARSET_INFO;
/* strings/ctype.c */
extern CHARSET_INFO *default_charset_info;
+extern CHARSET_INFO *system_charset_info;
extern CHARSET_INFO *find_compiled_charset(uint cs_number);
extern CHARSET_INFO *find_compiled_charset_by_name(const char *name);
extern CHARSET_INFO compiled_charsets[];
@@ -62,32 +107,160 @@ extern const char *compiled_charset_name(uint charset_number);
#define MY_CHARSET_UNDEFINED 0
#define MY_CHARSET_CURRENT (default_charset_info->number)
-/* Don't include std ctype.h when this is included */
-#define _CTYPE_H
-#define _CTYPE_H_
-#define _CTYPE_INCLUDED
-#define __CTYPE_INCLUDED
-#define _CTYPE_USING /* Don't put names in global namespace. */
-
-/* Fix things, if ctype.h would have been included before */
-#undef toupper
-#undef _toupper
-#undef _tolower
-#undef toupper
-#undef tolower
-#undef isalpha
-#undef isupper
-#undef islower
-#undef isdigit
-#undef isxdigit
-#undef isalnum
-#undef isspace
-#undef ispunct
-#undef isprint
-#undef isgraph
-#undef iscntrl
-#undef isascii
-#undef toascii
+/* declarations for simple charsets */
+extern int my_strnxfrm_simple(CHARSET_INFO *, char *, uint, const char *, uint);
+extern int my_strnncoll_simple(CHARSET_INFO *, const char *, uint, const char *, uint);
+
+/* Functions for 8bit */
+extern void my_caseup_str_8bit(CHARSET_INFO *, char *);
+extern void my_casedn_str_8bit(CHARSET_INFO *, char *);
+extern void my_caseup_8bit(CHARSET_INFO *, char *, uint);
+extern void my_casedn_8bit(CHARSET_INFO *, char *, uint);
+
+extern int my_strcasecmp_8bit(CHARSET_INFO * cs, const char *, const char *);
+extern int my_strncasecmp_8bit(CHARSET_INFO * cs, const char *, const char *, uint);
+
+int my_mb_wc_8bit(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
+int my_wc_mb_8bit(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
+
+
+#ifdef USE_MB
+/* Functions for multibyte charsets */
+extern void my_caseup_str_mb(CHARSET_INFO *, char *);
+extern void my_casedn_str_mb(CHARSET_INFO *, char *);
+extern void my_caseup_mb(CHARSET_INFO *, char *, uint);
+extern void my_casedn_mb(CHARSET_INFO *, char *, uint);
+extern int my_strcasecmp_mb(CHARSET_INFO * cs,const char *, const char *);
+extern int my_strncasecmp_mb(CHARSET_INFO * cs,const char *, const char *t, uint);
+#endif
+
+#ifdef HAVE_CHARSET_big5
+/* declarations for the big5 character set */
+extern uchar ctype_big5[], to_lower_big5[], to_upper_big5[], sort_order_big5[];
+extern int my_strnncoll_big5(CHARSET_INFO *,const uchar *, uint, const uchar *, uint);
+extern int my_strnxfrm_big5(CHARSET_INFO *,uchar *, uint, const uchar *, uint);
+extern my_bool my_like_range_big5(CHARSET_INFO *,const char *, uint, pchar, uint,
+ char *, char *, uint *, uint *);
+extern int ismbchar_big5(CHARSET_INFO *, const char *, const char *);
+extern my_bool ismbhead_big5(CHARSET_INFO *, uint);
+extern int mbcharlen_big5(CHARSET_INFO *, uint);
+int my_mb_wc_big5(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
+int my_wc_mb_big5(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
+#endif
+
+#ifdef HAVE_CHARSET_czech
+/* declarations for the czech character set */
+extern uchar ctype_czech[], to_lower_czech[], to_upper_czech[], sort_order_czech[];
+extern int my_strnncoll_czech(CHARSET_INFO *, const uchar *, uint, const uchar *, uint);
+extern int my_strnxfrm_czech(CHARSET_INFO *, uchar *, uint, const uchar *, uint);
+extern my_bool my_like_range_czech(CHARSET_INFO *,
+ const char *, uint, pchar, uint,
+ char *, char *, uint *, uint *);
+#endif
+
+#ifdef HAVE_CHARSET_euc_kr
+/* declarations for the euc_kr character set */
+extern uchar ctype_euc_kr[], to_lower_euc_kr[], to_upper_euc_kr[], sort_order_euc_kr[];
+extern int ismbchar_euc_kr(CHARSET_INFO *, const char *, const char *);
+extern my_bool ismbhead_euc_kr(CHARSET_INFO *, uint);
+extern int mbcharlen_euc_kr(CHARSET_INFO *, uint);
+int my_mb_wc_euc_kr(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
+int my_wc_mb_euc_kr(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
+#endif
+
+#ifdef HAVE_CHARSET_gb2312
+/* declarations for the gb2312 character set */
+extern uchar ctype_gb2312[], to_lower_gb2312[], to_upper_gb2312[], sort_order_gb2312[];
+extern int ismbchar_gb2312(CHARSET_INFO *, const char *, const char *);
+extern my_bool ismbhead_gb2312(CHARSET_INFO *, uint);
+extern int mbcharlen_gb2312(CHARSET_INFO *, uint);
+int my_mb_wc_gb2312(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
+int my_wc_mb_gb2312(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
+#endif
+
+#ifdef HAVE_CHARSET_gbk
+/* declarations for the gbk character set */
+extern uchar ctype_gbk[], to_lower_gbk[], to_upper_gbk[], sort_order_gbk[];
+extern int my_strnncoll_gbk(CHARSET_INFO *, const uchar *, uint, const uchar *, uint);
+extern int my_strnxfrm_gbk(CHARSET_INFO *, uchar *, uint, const uchar *, uint);
+extern my_bool my_like_range_gbk(CHARSET_INFO *, const char *, uint, pchar, uint,
+ char *, char *, uint *, uint *);
+extern int ismbchar_gbk(CHARSET_INFO *, const char *, const char *);
+extern my_bool ismbhead_gbk(CHARSET_INFO *, uint);
+extern int mbcharlen_gbk(CHARSET_INFO *, uint);
+int my_mb_wc_gbk(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
+int my_wc_mb_gbk(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
+#endif
+
+#ifdef HAVE_CHARSET_latin1_de
+/* declarations for the latin1_de character set */
+extern uchar ctype_latin1_de[], to_lower_latin1_de[], to_upper_latin1_de[], sort_order_latin1_de[];
+extern int my_strnncoll_latin1_de(CHARSET_INFO *, const uchar *, uint, const uchar *, uint);
+extern int my_strnxfrm_latin1_de(CHARSET_INFO *, uchar *, uint, const uchar *, uint);
+extern my_bool my_like_range_latin1_de(CHARSET_INFO *, const char *, uint, pchar, uint,
+ char *, char *, uint *, uint *);
+#endif
+
+#ifdef HAVE_CHARSET_sjis
+/* declarations for the sjis character set */
+extern uchar ctype_sjis[], to_lower_sjis[], to_upper_sjis[], sort_order_sjis[];
+extern int my_strnncoll_sjis(CHARSET_INFO *, const uchar *, uint, const uchar *, uint);
+extern int my_strnxfrm_sjis(CHARSET_INFO *, uchar *, uint, const uchar *, uint);
+extern my_bool my_like_range_sjis(CHARSET_INFO *, const char *, uint, pchar, uint,
+ char *, char *, uint *, uint *);
+extern int ismbchar_sjis(CHARSET_INFO *, const char *, const char *);
+extern my_bool ismbhead_sjis(CHARSET_INFO *, uint);
+extern int mbcharlen_sjis(CHARSET_INFO *, uint);
+int my_mb_wc_sjis(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
+int my_wc_mb_sjis(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
+#endif
+
+#ifdef HAVE_CHARSET_tis620
+/* declarations for the tis620 character set */
+extern uchar ctype_tis620[], to_lower_tis620[], to_upper_tis620[], sort_order_tis620[];
+extern int my_strnncoll_tis620(CHARSET_INFO *, const uchar *, uint, const uchar *, uint);
+extern int my_strnxfrm_tis620(CHARSET_INFO *, uchar *, uint, const uchar *, uint);
+extern my_bool my_like_range_tis620(CHARSET_INFO *, const char *, uint, pchar, uint,
+ char *, char *, uint *, uint *);
+#endif
+
+#ifdef HAVE_CHARSET_ujis
+/* declarations for the ujis character set */
+extern uchar ctype_ujis[], to_lower_ujis[], to_upper_ujis[], sort_order_ujis[];
+extern int ismbchar_ujis(CHARSET_INFO *, const char *, const char *);
+extern my_bool ismbhead_ujis(CHARSET_INFO *, uint);
+extern int mbcharlen_ujis(CHARSET_INFO *, uint);
+int my_mb_wc_euc_jp(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
+int my_wc_mb_euc_jp(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
+#endif
+
+#ifdef HAVE_CHARSET_utf8
+
+extern uchar ctype_utf8[];
+extern uchar to_lower_utf8[];
+extern uchar to_upper_utf8[];
+
+int my_strnncoll_utf8(CHARSET_INFO *cs,
+ const uchar *s, uint s_len, const uchar *t, uint t_len);
+
+int my_strnxfrm_utf8(CHARSET_INFO *cs,
+ uchar *dest, uint destlen, const uchar *src, uint srclen);
+
+int my_ismbchar_utf8(CHARSET_INFO *cs, const char *b, const char *e);
+my_bool my_ismbhead_utf8(CHARSET_INFO * cs, uint ch);
+int my_mbcharlen_utf8(CHARSET_INFO *cs, uint c);
+
+void my_caseup_str_utf8(CHARSET_INFO * cs, char * s);
+void my_casedn_str_utf8(CHARSET_INFO *cs, char * s);
+void my_caseup_utf8(CHARSET_INFO *cs, char *s, uint len);
+void my_casedn_utf8(CHARSET_INFO *cs, char *s, uint len);
+
+int my_strcasecmp_utf8(CHARSET_INFO *cs, const char *s, const char *t);
+int my_strncasecmp_utf8(CHARSET_INFO *cs, const char *s,const char *t,uint l);
+
+int my_utf8_uni (CHARSET_INFO *cs, my_wc_t *p, const uchar *s, const uchar *e);
+int my_uni_utf8 (CHARSET_INFO *cs, my_wc_t wc, uchar *b, uchar *e);
+#endif
#define _U 01 /* Upper case */
#define _L 02 /* Lower case */
@@ -98,34 +271,13 @@ extern const char *compiled_charset_name(uint charset_number);
#define _B 0100 /* Blank */
#define _X 0200 /* heXadecimal digit */
-#define my_ctype (default_charset_info->ctype)
-#define my_to_upper (default_charset_info->to_upper)
-#define my_to_lower (default_charset_info->to_lower)
-#define my_sort_order (default_charset_info->sort_order)
-
-#define _toupper(c) (char) my_to_upper[(uchar) (c)]
-#define _tolower(c) (char) my_to_lower[(uchar) (c)]
-#define toupper(c) (char) my_to_upper[(uchar) (c)]
-#define tolower(c) (char) my_to_lower[(uchar) (c)]
-
-#define isalpha(c) ((my_ctype+1)[(uchar) (c)] & (_U | _L))
-#define isupper(c) ((my_ctype+1)[(uchar) (c)] & _U)
-#define islower(c) ((my_ctype+1)[(uchar) (c)] & _L)
-#define isdigit(c) ((my_ctype+1)[(uchar) (c)] & _NMR)
-#define isxdigit(c) ((my_ctype+1)[(uchar) (c)] & _X)
-#define isalnum(c) ((my_ctype+1)[(uchar) (c)] & (_U | _L | _NMR))
-#define isspace(c) ((my_ctype+1)[(uchar) (c)] & _SPC)
-#define ispunct(c) ((my_ctype+1)[(uchar) (c)] & _PNT)
-#define isprint(c) ((my_ctype+1)[(uchar) (c)] & (_PNT | _U | _L | _NMR | _B))
-#define isgraph(c) ((my_ctype+1)[(uchar) (c)] & (_PNT | _U | _L | _NMR))
-#define iscntrl(c) ((my_ctype+1)[(uchar) (c)] & _CTR)
-#define isascii(c) (!((c) & ~0177))
-#define toascii(c) ((c) & 0177)
-
-#ifdef ctype
-#undef ctype
-#endif /* ctype */
+#define my_isascii(c) (!((c) & ~0177))
+#define my_toascii(c) ((c) & 0177)
+#define my_tocntrl(c) ((c) & 31)
+#define my_toprint(c) ((c) | 64)
+#define my_toupper(s,c) (char) ((s)->to_upper[(uchar) (c)])
+#define my_tolower(s,c) (char) ((s)->to_lower[(uchar) (c)])
#define my_isalpha(s, c) (((s)->ctype+1)[(uchar) (c)] & (_U | _L))
#define my_isupper(s, c) (((s)->ctype+1)[(uchar) (c)] & _U)
#define my_islower(s, c) (((s)->ctype+1)[(uchar) (c)] & _L)
@@ -138,26 +290,28 @@ extern const char *compiled_charset_name(uint charset_number);
#define my_isgraph(s, c) (((s)->ctype+1)[(uchar) (c)] & (_PNT | _U | _L | _NMR))
#define my_iscntrl(s, c) (((s)->ctype+1)[(uchar) (c)] & _CTR)
-#define use_strcoll(s) ((s)->strcoll != NULL)
-#define MY_STRXFRM_MULTIPLY (default_charset_info->strxfrm_multiply)
-#define my_strnxfrm(s, a, b, c, d) ((s)->strnxfrm((a), (b), (c), (d)))
-#define my_strnncoll(s, a, b, c, d) ((s)->strnncoll((a), (b), (c), (d)))
-#define my_strxfrm(s, a, b, c, d) ((s)->strnxfrm((a), (b), (c)))
-#define my_strcoll(s, a, b) ((s)->strcoll((a), (b)))
+/* Some macros that should be cleaned up a little */
+#define my_isvar(s,c) (my_isalnum(s,c) || (c) == '_')
+#define my_isvar_start(s,c) (my_isalpha(s,c) || (c) == '_')
+
+#define use_strcoll(s) ((s)->strnncoll != NULL)
+#define my_strnxfrm(s, a, b, c, d) ((s)->strnxfrm((s), (a), (b), (c), (d)))
+#define my_strnncoll(s, a, b, c, d) ((s)->strnncoll((s), (a), (b), (c), (d)))
#define my_like_range(s, a, b, c, d, e, f, g, h) \
- ((s)->like_range((a), (b), (c), (d), (e), (f), (g), (h)))
+ ((s)->like_range((s), (a), (b), (c), (d), (e), (f), (g), (h)))
#define use_mb(s) ((s)->ismbchar != NULL)
-#define MBMAXLEN (default_charset_info->mbmaxlen)
-#define my_ismbchar(s, a, b) ((s)->ismbchar((a), (b)))
-#define my_ismbhead(s, a) ((s)->ismbhead((a)))
-#define my_mbcharlen(s, a) ((s)->mbcharlen((a)))
+#define my_ismbchar(s, a, b) ((s)->ismbchar((s), (a), (b)))
+#define my_ismbhead(s, a) ((s)->ismbhead((s), (a)))
+#define my_mbcharlen(s, a) ((s)->mbcharlen((s),(a)))
+
+#define my_caseup(s, a, l) ((s)->caseup((s), (a), (l)))
+#define my_casedn(s, a, l) ((s)->casedn((s), (a), (l)))
+#define my_caseup_str(s, a) ((s)->caseup_str((s), (a)))
+#define my_casedn_str(s, a) ((s)->casedn_str((s), (a)))
+#define my_strcasecmp(s, a, b) ((s)->strcasecmp((s), (a), (b)))
+#define my_strncasecmp(s, a, b, l) ((s)->strncasecmp((s), (a), (b), (l)))
-/* Some macros that should be cleaned up a little */
-#define isvar(c) (isalnum(c) || (c) == '_')
-#define isvar_start(c) (isalpha(c) || (c) == '_')
-#define tocntrl(c) ((c) & 31)
-#define toprint(c) ((c) | 64)
/* XXX: still need to take care of this one */
#ifdef MY_CHARSET_TIS620
diff --git a/include/my_sys.h b/include/my_sys.h
index 5867368198f..3b69092d5ae 100644
--- a/include/my_sys.h
+++ b/include/my_sys.h
@@ -572,11 +572,7 @@ extern void allow_break(void);
#endif
extern void my_remember_signal(int signal_number,sig_handler (*func)(int));
-extern void caseup(my_string str,uint length);
-extern void casedn(my_string str,uint length);
-extern void caseup_str(my_string str);
-extern void casedn_str(my_string str);
-extern void case_sort(my_string str,uint length);
+extern void case_sort(CHARSET_INFO *cs, my_string str,uint length);
extern uint dirname_part(my_string to,const char *name);
extern uint dirname_length(const char *name);
#define base_name(A) (A+dirname_length(A))
@@ -601,18 +597,14 @@ extern my_string my_path(my_string to,const char *progname,
extern my_string my_load_path(my_string to, const char *path,
const char *own_path_prefix);
extern int wild_compare(const char *str,const char *wildstr);
-extern my_string my_strcasestr(const char *src,const char *suffix);
-extern int my_strcasecmp(const char *s,const char *t);
-extern int my_strsortcmp(const char *s,const char *t);
-extern int my_casecmp(const char *s,const char *t,uint length);
-extern int my_sortcmp(const char *s,const char *t,uint length);
-extern int my_sortncmp(const char *s,uint s_len, const char *t,uint t_len);
+extern int my_sortcmp(CHARSET_INFO *cs, const char *s,const char *t,uint length);
+extern int my_sortncmp(CHARSET_INFO *cs, const char *s,uint s_len, const char *t,uint t_len);
extern WF_PACK *wf_comp(my_string str);
extern int wf_test(struct wild_file_pack *wf_pack,const char *name);
extern void wf_end(struct wild_file_pack *buffer);
extern size_s stripp_sp(my_string str);
extern void get_date(my_string to,int timeflag,time_t use_time);
-extern void soundex(my_string out_pntr, my_string in_pntr,pbool remove_garbage);
+extern void soundex(CHARSET_INFO *, my_string out_pntr, my_string in_pntr,pbool remove_garbage);
extern int init_record_cache(RECORD_CACHE *info,uint cachesize,File file,
uint reclength,enum cache_type type,
pbool use_async_io);
diff --git a/include/myisam.h b/include/myisam.h
index b7010dab814..ecf34a7e156 100644
--- a/include/myisam.h
+++ b/include/myisam.h
@@ -147,6 +147,8 @@ typedef struct st_mi_keydef /* Key definition with open & info */
struct st_mi_s_param *s_temp);
void (*store_key)(struct st_mi_keydef *keyinfo, uchar *key_pos,
struct st_mi_s_param *s_temp);
+ int (*ck_insert)(struct st_myisam_info *inf, uint k_nr, uchar *k, uint klen);
+ int (*ck_delete)(struct st_myisam_info *inf, uint k_nr, uchar *k, uint klen);
} MI_KEYDEF;
diff --git a/isam/_key.c b/isam/_key.c
index c0d667cb32d..0bedb428808 100644
--- a/isam/_key.c
+++ b/isam/_key.c
@@ -58,7 +58,7 @@ uint _nisam_make_key(register N_INFO *info, uint keynr, uchar *key, const char *
#endif
{
if (type == HA_KEYTYPE_TEXT)
- case_sort((byte*) key,length);
+ case_sort(default_charset_info,(byte*) key,length);
}
key+=length;
}
@@ -71,7 +71,7 @@ uint _nisam_make_key(register N_INFO *info, uint keynr, uchar *key, const char *
#endif
{
if (type == HA_KEYTYPE_TEXT)
- case_sort((byte*) key,(uint) keyseg->base.length);
+ case_sort(default_charset_info,(byte*) key,(uint) keyseg->base.length);
}
#ifdef NAN_TEST
else if (type == HA_KEYTYPE_FLOAT)
@@ -154,7 +154,7 @@ uint _nisam_pack_key(register N_INFO *info, uint keynr, uchar *key, uchar *old,
#endif
{
if (type == HA_KEYTYPE_TEXT)
- case_sort((byte*) key,length);
+ case_sort(default_charset_info,(byte*) key,length);
}
key+= length;
}
diff --git a/isam/_search.c b/isam/_search.c
index 57787d61818..d76a8ce3097 100644
--- a/isam/_search.c
+++ b/isam/_search.c
@@ -515,11 +515,13 @@ int _nisam_key_cmp(register N_KEYSEG *keyseg, register uchar *a, register uchar
if (*a++ != *b++)
{
a--; b--;
- if (isdigit((char) *a) && isdigit((char) *b))
+ if (my_isdigit(default_charset_info, (char) *a) &&
+ my_isdigit(default_charset_info, (char) *b))
return ((int) *a - (int) *b);
- if (*a == '-' || isdigit((char) *b))
+ if (*a == '-' || my_isdigit(default_charset_info,(char) *b))
return (-1);
- if (*b == '-' || *b++ == ' ' || isdigit((char) *a))
+ if (*b == '-' || *b++ == ' ' ||
+ my_isdigit(default_charset_info,(char) *a))
return (1);
if (*a++ == ' ')
return (-1);
@@ -539,11 +541,13 @@ int _nisam_key_cmp(register N_KEYSEG *keyseg, register uchar *a, register uchar
if (*a++ != *b++)
{
a--; b--;
- if (isdigit((char) *a) && isdigit((char) *b))
+ if (my_isdigit(default_charset_info,(char) *a) &&
+ my_isdigit(default_charset_info,(char) *b))
return ((int) *a - (int) *b);
- if (*a == '-' || isdigit((char) *b))
+ if (*a == '-' || my_isdigit(default_charset_info,(char) *b))
return (-1);
- if (*b == '-' || *b++ == ' ' || isdigit((char) *a))
+ if (*b == '-' || *b++ == ' ' ||
+ my_isdigit(default_charset_info,(char) *a))
return (1);
if (*a++ == ' ')
return -1;
diff --git a/libmysql/Makefile.shared b/libmysql/Makefile.shared
index 46be6103795..2ff4a68cb7e 100644
--- a/libmysql/Makefile.shared
+++ b/libmysql/Makefile.shared
@@ -27,9 +27,6 @@ pkglib_LTLIBRARIES = $(target)
noinst_PROGRAMS = conf_to_src
-# We need .lo, not .o files for everything.
-CHARSET_OBJS=@CHARSET_OBJS@
-LTCHARSET_OBJS= ${CHARSET_OBJS:.o=.lo}
target_sources = libmysql.c net.c password.c manager.c \
get_password.c errmsg.c
@@ -41,8 +38,12 @@ mystringsobjects = strmov.lo strxmov.lo strxnmov.lo strnmov.lo \
strcend.lo bcmp.lo \
bchange.lo bmove.lo bmove_upp.lo longlong2str.lo \
strtoull.lo strtoll.lo llstr.lo \
- ctype.lo $(LTCHARSET_OBJS)
-mystringsextra= strto.c ctype_autoconf.c
+ ctype.lo ctype-simple.lo ctype-mb.lo \
+ ctype-big5.lo ctype-czech.lo ctype-euc_kr.lo \
+ ctype-gb2312.lo ctype-gbk.lo ctype-latin1_de.lo \
+ ctype-sjis.lo ctype-tis620.lo ctype-ujis.lo ctype-utf8.lo
+
+mystringsextra= strto.c
dbugobjects = dbug.lo # IT IS IN SAFEMALLOC.C sanity.lo
mysysheaders = mysys_priv.h my_static.h
mysysobjects1 = my_init.lo my_static.lo my_malloc.lo my_realloc.lo \
@@ -75,20 +76,16 @@ DEFS = -DDEFAULT_CHARSET_HOME="\"$(MYSQLBASEdir)\"" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" $(target_defs)
# The automatic dependencies miss this
-bmove_upp.lo: $(LTCHARSET_OBJS)
-ctype.lo: ctype_extra_sources.c
+#bmove_upp.lo: $(LTCHARSET_OBJS)
clean-local:
rm -f `echo $(mystringsobjects) | sed "s;\.lo;.c;g"` \
`echo $(dbugobjects) | sed "s;\.lo;.c;g"` \
`echo $(mysysobjects) | sed "s;\.lo;.c;g"` \
`echo $(vio_objects) | sed "s;\.lo;.c;g"` \
- $(mystringsextra) $(mysysheaders) ctype_extra_sources.c \
+ $(mystringsextra) $(mysysheaders) \
../linked_client_sources
-ctype_extra_sources.c: conf_to_src
- ./conf_to_src $(top_srcdir) @CHARSETS_NEED_SOURCE@ > \
- $(srcdir)/ctype_extra_sources.c
conf_to_src_SOURCES = conf_to_src.c
conf_to_src_LDADD=
#force static linking of conf_to_src - essential when linking against
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index f861f3c96c5..abee9014d53 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -1282,8 +1282,8 @@ STDCALL mysql_rpl_query_type(const char* q, int len)
for(; q < q_end; ++q)
{
char c;
- if (isalpha(c=*q))
- switch(tolower(c))
+ if (my_isalpha(system_charset_info,c=*q))
+ switch(my_tolower(system_charset_info,c))
{
case 'i': /* insert */
case 'u': /* update or unlock tables */
@@ -1292,9 +1292,11 @@ STDCALL mysql_rpl_query_type(const char* q, int len)
case 'a': /* alter */
return MYSQL_RPL_MASTER;
case 'c': /* create or check */
- return tolower(q[1]) == 'h' ? MYSQL_RPL_ADMIN : MYSQL_RPL_MASTER ;
+ return my_tolower(system_charset_info,q[1]) == 'h' ? MYSQL_RPL_ADMIN :
+ MYSQL_RPL_MASTER;
case 's': /* select or show */
- return tolower(q[1]) == 'h' ? MYSQL_RPL_ADMIN : MYSQL_RPL_SLAVE;
+ return my_tolower(system_charset_info,q[1]) == 'h' ? MYSQL_RPL_ADMIN :
+ MYSQL_RPL_SLAVE;
case 'f': /* flush */
case 'r': /* repair */
case 'g': /* grant */
diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am
index edee13c98bb..c98e1c7e973 100644
--- a/libmysqld/Makefile.am
+++ b/libmysqld/Makefile.am
@@ -49,11 +49,12 @@ sqlsources = convert.cc derror.cc field.cc field_conv.cc filesort.cc \
repl_failsafe.cc slave.cc \
sql_analyse.cc sql_base.cc sql_cache.cc sql_class.cc \
sql_crypt.cc sql_db.cc sql_delete.cc sql_insert.cc sql_lex.cc \
- sql_list.cc sql_manager.cc sql_map.cc sql_parse.cc \
+ sql_list.cc sql_manager.cc sql_map.cc sql_parse.cc sql_derived.cc \
sql_rename.cc sql_repl.cc sql_select.cc sql_do.cc sql_show.cc \
sql_string.cc sql_table.cc sql_test.cc sql_udf.cc \
sql_update.cc sql_yacc.cc table.cc thr_malloc.cc time.cc \
- unireg.cc uniques.cc stacktrace.c sql_union.cc hash_filo.cc
+ unireg.cc uniques.cc stacktrace.c sql_union.cc hash_filo.cc \
+ spatial.cc gstream.cc
EXTRA_DIST = lib_vio.c
diff --git a/myisam/.cvsignore b/myisam/.cvsignore
index d9adcedd308..ef6d92c6e18 100644
--- a/myisam/.cvsignore
+++ b/myisam/.cvsignore
@@ -7,6 +7,8 @@ ft_test1
mi_test1
mi_test2
mi_test3
+rt_test
+sp_test
myisamchk
myisamlog
myisampack
diff --git a/myisam/Makefile.am b/myisam/Makefile.am
index 6802bcb115f..ee13d0b1fad 100644
--- a/myisam/Makefile.am
+++ b/myisam/Makefile.am
@@ -25,14 +25,16 @@ bin_PROGRAMS = myisamchk myisamlog myisampack
myisamchk_DEPENDENCIES= $(LIBRARIES)
myisamlog_DEPENDENCIES= $(LIBRARIES)
myisampack_DEPENDENCIES=$(LIBRARIES)
-noinst_PROGRAMS = mi_test1 mi_test2 mi_test3 ft_dump #ft_test1 ft_eval
-noinst_HEADERS = myisamdef.h fulltext.h ftdefs.h ft_test1.h ft_eval.h
+noinst_PROGRAMS = mi_test1 mi_test2 mi_test3 rt_test sp_test ft_dump #ft_test1 ft_eval
+noinst_HEADERS = myisamdef.h rt_index.h rt_key.h rt_mbr.h sp_defs.h fulltext.h ftdefs.h ft_test1.h ft_eval.h
mi_test1_DEPENDENCIES= $(LIBRARIES)
mi_test2_DEPENDENCIES= $(LIBRARIES)
mi_test3_DEPENDENCIES= $(LIBRARIES)
#ft_test1_DEPENDENCIES= $(LIBRARIES)
#ft_eval_DEPENDENCIES= $(LIBRARIES)
ft_dump_DEPENDENCIES= $(LIBRARIES)
+rt_test_DEPENDENCIES= $(LIBRARIES)
+sp_test_DEPENDENCIES= $(LIBRARIES)
libmyisam_a_SOURCES = mi_open.c mi_extra.c mi_info.c mi_rkey.c \
mi_rnext.c mi_rnext_same.c \
mi_search.c mi_page.c mi_key.c mi_locking.c \
@@ -46,8 +48,9 @@ libmyisam_a_SOURCES = mi_open.c mi_extra.c mi_info.c mi_rkey.c \
mi_changed.c mi_static.c mi_delete_all.c \
mi_delete_table.c mi_rename.c mi_check.c \
ft_parser.c ft_stopwords.c ft_static.c \
- ft_update.c ft_boolean_search.c ft_nlq_search.c sort.c
-CLEANFILES = test?.MY? FT?.MY? isam.log mi_test_all
+ ft_update.c ft_boolean_search.c ft_nlq_search.c sort.c \
+ rt_index.c rt_key.c rt_mbr.c rt_split.c sp_key.c
+CLEANFILES = test?.MY? FT?.MY? isam.log mi_test_all rt_test.MY? sp_test.MY?
DEFS = -DMAP_TO_USE_RAID
# Omit dependency for ../mit-pthreads/include/sys that only exits if
# mit-pthreads are used
diff --git a/myisam/ft_dump.c b/myisam/ft_dump.c
index 6308694b58e..c40145b87ed 100644
--- a/myisam/ft_dump.c
+++ b/myisam/ft_dump.c
@@ -106,7 +106,7 @@ int main(int argc,char *argv[])
#endif
snprintf(buf,MAX_LEN,"%.*s",(int) keylen,info->lastkey+1);
- casedn_str(buf);
+ my_casedn_str(default_charset_info,buf);
total++;
lengths[keylen]++;
diff --git a/myisam/ft_parser.c b/myisam/ft_parser.c
index c1b1190bcab..b241ae9be88 100644
--- a/myisam/ft_parser.c
+++ b/myisam/ft_parser.c
@@ -107,13 +107,13 @@ FT_WORD * ft_linearize(TREE *wtree)
DBUG_RETURN(wlist);
}
-#define true_word_char(X) (isalnum(X) || (X)=='_')
+#define true_word_char(s,X) (my_isalnum(s,X) || (X)=='_')
#ifdef HYPHEN_IS_DELIM
#define misc_word_char(X) ((X)=='\'')
#else
#define misc_word_char(X) ((X)=='\'' || (X)=='-')
#endif
-#define word_char(X) (true_word_char(X) || misc_word_char(X))
+#define word_char(s,X) (true_word_char(s,X) || misc_word_char(s,X))
/* returns:
@@ -134,7 +134,11 @@ byte ft_get_word(byte **start, byte *end, FT_WORD *word, FTB_PARAM *param)
{
for (;doc<end;doc++)
{
- if (true_word_char(*doc)) break;
+ /*
+ BAR TODO: discuss with Serge how to remove
+ default_charset_info correctly
+ */
+ if (true_word_char(default_charset_info,*doc)) break;
if (*doc == FTB_LBR || *doc == FTB_RBR)
{
/* param->prev=' '; */
@@ -156,7 +160,7 @@ byte ft_get_word(byte **start, byte *end, FT_WORD *word, FTB_PARAM *param)
mwc=0;
for (word->pos=doc; doc<end; doc++)
- if (true_word_char(*doc))
+ if (true_word_char(default_charset_info,*doc))
mwc=0;
else if (!misc_word_char(*doc) || mwc++)
break;
@@ -185,12 +189,12 @@ byte ft_simple_get_word(byte **start, byte *end, FT_WORD *word)
{
for (;doc<end;doc++)
{
- if (true_word_char(*doc)) break;
+ if (true_word_char(default_charset_info,*doc)) break;
}
mwc=0;
for(word->pos=doc; doc<end; doc++)
- if (true_word_char(*doc))
+ if (true_word_char(default_charset_info,*doc))
mwc=0;
else if (!misc_word_char(*doc) || mwc++)
break;
diff --git a/myisam/mi_create.c b/myisam/mi_create.c
index 91c2c64c3cf..8f4a44a52a4 100644
--- a/myisam/mi_create.c
+++ b/myisam/mi_create.c
@@ -17,6 +17,8 @@
/* Create a MyISAM table */
#include "fulltext.h"
+#include "sp_defs.h"
+
#if defined(MSDOS) || defined(__WIN__)
#ifdef __WIN__
#include <fcntl.h>
@@ -233,11 +235,42 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
for (i=0, keydef=keydefs ; i < keys ; i++ , keydef++)
{
- share.state.key_root[i]= HA_OFFSET_ERROR;
+ share.state.key_root[i]= HA_OFFSET_ERROR;
min_key_length_skipp=length=0;
key_length=pointer;
+ if (keydef->flag & HA_SPATIAL)
+ {
+ /* BAR TODO to support 3D and more dimensions in the future */
+ uint sp_segs=SPDIMS*2;
+ keydef->flag=HA_SPATIAL;
+ if (flags & HA_DONT_TOUCH_DATA)
+ {
+ /*
+ called by myisamchk - i.e. table structure was taken from
+ MYI file and SPATIAL key *do has* additional sp_segs keysegs.
+ We'd better delete them now
+ */
+ keydef->keysegs-=sp_segs;
+ }
+
+ for (j=0, keyseg=keydef->seg ; (int) j < keydef->keysegs ;
+ j++, keyseg++)
+ {
+ if (keyseg->type != HA_KEYTYPE_BINARY &&
+ keyseg->type != HA_KEYTYPE_VARBINARY)
+ {
+ my_errno=HA_WRONG_CREATE_OPTION;
+ goto err;
+ }
+ }
+ keydef->keysegs+=sp_segs;
+ key_length+=SPLEN*sp_segs;
+ length++; /* At least one length byte */
+ min_key_length_skipp+=SPLEN*2*SPDIMS;
+ }
+ else
if (keydef->flag & HA_FULLTEXT) /* SerG */
{
keydef->flag=HA_FULLTEXT | HA_PACK_KEY | HA_VAR_LENGTH_KEY;
@@ -554,12 +587,13 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
for (i=0 ; i < share.base.keys - uniques; i++)
{
uint ft_segs=(keydefs[i].flag & HA_FULLTEXT) ? FT_SEGS : 0;
+ uint sp_segs=(keydefs[i].flag & HA_SPATIAL) ? 2*SPDIMS : 0;
if (mi_keydef_write(file, &keydefs[i]))
goto err;
- for (j=0 ; j < keydefs[i].keysegs-ft_segs ; j++)
+ for (j=0 ; j < keydefs[i].keysegs-ft_segs-sp_segs ; j++)
if (mi_keyseg_write(file, &keydefs[i].seg[j]))
- goto err;
+ goto err;
for (j=0 ; j < ft_segs ; j++)
{
MI_KEYSEG seg=ft_keysegs[j];
@@ -567,6 +601,21 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
if (mi_keyseg_write(file, &seg))
goto err;
}
+ for (j=0 ; j < sp_segs ; j++)
+ {
+ MI_KEYSEG sseg;
+ sseg.type=SPTYPE;
+ sseg.language= 7;
+ sseg.null_bit=0;
+ sseg.bit_start=0;
+ sseg.bit_end=0;
+ sseg.length=SPLEN;
+ sseg.null_pos=0;
+ sseg.start=j*SPLEN;
+ sseg.flag= HA_SWAP_KEY;
+ if (mi_keyseg_write(file, &sseg))
+ goto err;
+ }
}
/* Create extra keys for unique definitions */
offset=reclength-uniques*MI_UNIQUE_HASH_LENGTH;
diff --git a/myisam/mi_delete.c b/myisam/mi_delete.c
index 6f94e3c4256..ff723303228 100644
--- a/myisam/mi_delete.c
+++ b/myisam/mi_delete.c
@@ -17,6 +17,8 @@
/* Remove a row from a MyISAM table */
#include "fulltext.h"
+#include "rt_index.h"
+
#ifdef __WIN__
#include <errno.h>
#endif
@@ -79,9 +81,9 @@ int mi_delete(MI_INFO *info,const byte *record)
}
else
{
- uint key_length=_mi_make_key(info,i,old_key,record,info->lastpos);
- if (_mi_ck_delete(info,i,old_key,key_length))
- goto err;
+ if (info->s->keyinfo[i].ck_delete(info,i,old_key,
+ _mi_make_key(info,i,old_key,record,info->lastpos)))
+ goto err;
}
}
}
diff --git a/myisam/mi_key.c b/myisam/mi_key.c
index 6ec8668ab61..055b18284de 100644
--- a/myisam/mi_key.c
+++ b/myisam/mi_key.c
@@ -18,6 +18,7 @@
#include "myisamdef.h"
#include "m_ctype.h"
+#include "sp_defs.h"
#ifdef HAVE_IEEEFP_H
#include <ieeefp.h>
#endif
@@ -39,6 +40,14 @@ uint _mi_make_key(register MI_INFO *info, uint keynr, uchar *key,
reg1 MI_KEYSEG *keyseg;
DBUG_ENTER("_mi_make_key");
+ if(info->s->keyinfo[keynr].flag & HA_SPATIAL)
+ {
+ /*
+ TODO: nulls processing
+ */
+ return sp_make_key(info,keynr,key,record,filepos);
+ }
+
start=key;
for (keyseg=info->s->keyinfo[keynr].seg ; keyseg->type ;keyseg++)
{
diff --git a/myisam/mi_open.c b/myisam/mi_open.c
index bcf8369b439..3dc6c9bf61f 100644
--- a/myisam/mi_open.c
+++ b/myisam/mi_open.c
@@ -17,6 +17,8 @@
/* open a isam-database */
#include "fulltext.h"
+#include "sp_defs.h"
+#include "rt_index.h"
#include <m_ctype.h>
#if defined(MSDOS) || defined(__WIN__)
@@ -65,7 +67,7 @@ static MI_INFO *test_if_reopen(char *filename)
MI_INFO *mi_open(const char *name, int mode, uint open_flags)
{
- int lock_error,kfile,open_mode,save_errno;
+ int lock_error,kfile,open_mode,save_errno,have_rtree=0;
uint i,j,len,errpos,head_length,base_pos,offset,info_length,extra,keys,
key_parts,unique_key_parts,tmp_length,uniques;
char name_buff[FN_REFLEN], org_name [FN_REFLEN], index_name[FN_REFLEN],
@@ -293,6 +295,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
for (j=0 ; j < share->keyinfo[i].keysegs; j++,pos++)
{
disk_pos=mi_keyseg_read(disk_pos, pos);
+
if (pos->type == HA_KEYTYPE_TEXT || pos->type == HA_KEYTYPE_VARTEXT)
{
if (!pos->language)
@@ -304,7 +307,12 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
}
}
}
- if (share->keyinfo[i].flag & HA_FULLTEXT)
+ if (share->keyinfo[i].flag & HA_SPATIAL)
+ {
+ uint sp_segs=SPDIMS*2;
+ share->keyinfo[i].seg=pos-sp_segs;
+ share->keyinfo[i].keysegs--;
+ } else if (share->keyinfo[i].flag & HA_FULLTEXT)
{
share->keyinfo[i].seg=pos-FT_SEGS;
share->fulltext_index=1;
@@ -342,7 +350,11 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
}
}
for (i=0 ; i < keys ; i++)
+ {
+ if (share->keyinfo[i].key_alg == HA_KEY_ALG_RTREE)
+ have_rtree=1;
setup_key_functions(share->keyinfo+i);
+ }
for (i=j=offset=0 ; i < share->base.fields ; i++)
{
@@ -421,7 +433,8 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
((share->options & (HA_OPTION_READ_ONLY_DATA | HA_OPTION_TMP_TABLE |
HA_OPTION_COMPRESS_RECORD |
HA_OPTION_TEMP_COMPRESS_RECORD)) ||
- (open_flags & HA_OPEN_TMP_TABLE)) ? 0 : 1;
+ (open_flags & HA_OPEN_TMP_TABLE) ||
+ have_rtree) ? 0 : 1;
if (share->concurrent_insert)
{
share->lock.get_status=mi_get_status;
@@ -451,6 +464,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
&info.blobs,sizeof(MI_BLOB)*share->base.blobs,
&info.buff,(share->base.max_key_block_length*2+
share->base.max_key_length),
+ &info.rtree_recursion_state,have_rtree ? 1024 : 0,
&info.lastkey,share->base.max_key_length*3+1,
&info.filename,strlen(org_name)+1,
NullS))
@@ -631,6 +645,16 @@ void mi_setup_functions(register MYISAM_SHARE *share)
static void setup_key_functions(register MI_KEYDEF *keyinfo)
{
+ if (keyinfo->key_alg == HA_KEY_ALG_RTREE)
+ {
+ keyinfo->ck_insert = rtree_insert;
+ keyinfo->ck_delete = rtree_delete;
+ }
+ else
+ {
+ keyinfo->ck_insert = _mi_ck_write;
+ keyinfo->ck_delete = _mi_ck_delete;
+ }
if (keyinfo->flag & HA_BINARY_PACK_KEY)
{ /* Simple prefix compression */
keyinfo->bin_search=_mi_seq_search;
@@ -896,7 +920,7 @@ uint mi_keydef_write(File file, MI_KEYDEF *keydef)
uchar *ptr=buff;
*ptr++ = (uchar) keydef->keysegs;
- *ptr++ = 0; /* not used */
+ *ptr++ = keydef->key_alg; /* +BAR Rtree or Btree */
mi_int2store(ptr,keydef->flag); ptr +=2;
mi_int2store(ptr,keydef->block_length); ptr +=2;
mi_int2store(ptr,keydef->keylength); ptr +=2;
@@ -908,7 +932,8 @@ uint mi_keydef_write(File file, MI_KEYDEF *keydef)
char *mi_keydef_read(char *ptr, MI_KEYDEF *keydef)
{
keydef->keysegs = (uint) *ptr++;
- ptr++;
+ keydef->key_alg = *ptr++; /* +BAR Rtree or Btree */
+
keydef->flag = mi_uint2korr(ptr); ptr +=2;
keydef->block_length = mi_uint2korr(ptr); ptr +=2;
keydef->keylength = mi_uint2korr(ptr); ptr +=2;
diff --git a/myisam/mi_range.c b/myisam/mi_range.c
index 70694bf4620..4b98b48199a 100644
--- a/myisam/mi_range.c
+++ b/myisam/mi_range.c
@@ -20,6 +20,7 @@
*/
#include "myisamdef.h"
+#include "rt_index.h"
static ha_rows _mi_record_pos(MI_INFO *info,const byte *key,uint key_len,
enum ha_rkey_function search_flag);
@@ -39,7 +40,7 @@ ha_rows mi_records_in_range(MI_INFO *info, int inx, const byte *start_key,
const byte *end_key, uint end_key_len,
enum ha_rkey_function end_search_flag)
{
- ha_rows start_pos,end_pos;
+ ha_rows start_pos,end_pos,res;
DBUG_ENTER("mi_records_in_range");
if ((inx = _mi_check_index(info,inx)) < 0)
@@ -50,20 +51,39 @@ ha_rows mi_records_in_range(MI_INFO *info, int inx, const byte *start_key,
info->update&= (HA_STATE_CHANGED+HA_STATE_ROW_CHANGED);
if (info->s->concurrent_insert)
rw_rdlock(&info->s->key_root_lock[inx]);
- start_pos= (start_key ?
+
+ switch(info->s->keyinfo[inx].key_alg){
+ case HA_KEY_ALG_RTREE:
+ {
+ uchar * key_buff;
+ if (start_key_len == 0)
+ start_key_len=USE_WHOLE_KEY;
+ key_buff=info->lastkey+info->s->base.max_key_length;
+ start_key_len=_mi_pack_key(info,inx,key_buff,(uchar*) start_key,start_key_len);
+ res=rtree_estimate(info, inx, key_buff, start_key_len, myisam_read_vec[start_search_flag]);
+ res=res?res:1;
+ break;
+ }
+ case HA_KEY_ALG_BTREE:
+ default:
+ start_pos= (start_key ?
_mi_record_pos(info,start_key,start_key_len,start_search_flag) :
(ha_rows) 0);
- end_pos= (end_key ?
+ end_pos= (end_key ?
_mi_record_pos(info,end_key,end_key_len,end_search_flag) :
info->state->records+ (ha_rows) 1);
+ res=end_pos < start_pos ? (ha_rows) 0 :
+ (end_pos == start_pos ? (ha_rows) 1 : end_pos-start_pos);
+ if (start_pos == HA_POS_ERROR || end_pos == HA_POS_ERROR)
+ res=HA_POS_ERROR;
+ }
+
if (info->s->concurrent_insert)
rw_unlock(&info->s->key_root_lock[inx]);
fast_mi_writeinfo(info);
- if (start_pos == HA_POS_ERROR || end_pos == HA_POS_ERROR)
- DBUG_RETURN(HA_POS_ERROR);
- DBUG_PRINT("info",("records: %ld",(ulong) (end_pos-start_pos)));
- DBUG_RETURN(end_pos < start_pos ? (ha_rows) 0 :
- (end_pos == start_pos ? (ha_rows) 1 : end_pos-start_pos));
+
+ DBUG_PRINT("info",("records: %ld",(ulong) (res)));
+ DBUG_RETURN(res);
}
diff --git a/myisam/mi_rkey.c b/myisam/mi_rkey.c
index 86547d3ef04..cefb7a74dd1 100644
--- a/myisam/mi_rkey.c
+++ b/myisam/mi_rkey.c
@@ -17,7 +17,7 @@
/* Read record based on a key */
#include "myisamdef.h"
-
+#include "rt_index.h"
/* Read a record using key */
/* Ordinary search_flag is 0 ; Give error if no record with key */
@@ -36,6 +36,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
DBUG_RETURN(my_errno);
info->update&= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED);
+ info->last_key_func=search_flag;
if (!info->use_packed_key)
{
@@ -65,22 +66,33 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
if (!(nextflag & (SEARCH_FIND | SEARCH_NO_FIND | SEARCH_LAST)))
use_key_length=USE_WHOLE_KEY;
- if (!_mi_search(info,info->s->keyinfo+inx,key_buff,use_key_length,
+ switch(info->s->keyinfo[inx].key_alg){
+ case HA_KEY_ALG_RTREE:
+ if(rtree_find_first(info,inx,key_buff,use_key_length,nextflag)<0)
+ {
+ my_errno=HA_ERR_CRASHED;
+ goto err;
+ }
+ break;
+ case HA_KEY_ALG_BTREE:
+ default:
+ if (!_mi_search(info,info->s->keyinfo+inx,key_buff,use_key_length,
myisam_read_vec[search_flag],info->s->state.key_root[inx]))
- {
- while (info->lastpos >= info->state->data_file_length)
{
- /*
- Skip rows that are inserted by other threads since we got a lock
- Note that this can only happen if we are not searching after an
- exact key, because the keys are sorted according to position
- */
-
- if (_mi_search_next(info,info->s->keyinfo+inx,info->lastkey,
+ while (info->lastpos >= info->state->data_file_length)
+ {
+ /*
+ Skip rows that are inserted by other threads since we got a lock
+ Note that this can only happen if we are not searching after an
+ exact key, because the keys are sorted according to position
+ */
+
+ if (_mi_search_next(info,info->s->keyinfo+inx,info->lastkey,
info->lastkey_length,
myisam_readnext_vec[search_flag],
info->s->state.key_root[inx]))
- break;
+ break;
+ }
}
}
if (share->concurrent_insert)
diff --git a/myisam/mi_rnext.c b/myisam/mi_rnext.c
index 6d135462f96..daab7c5f085 100644
--- a/myisam/mi_rnext.c
+++ b/myisam/mi_rnext.c
@@ -16,6 +16,8 @@
#include "myisamdef.h"
+#include "rt_index.h"
+
/*
Read next row with the same key as previous read
One may have done a write, update or delete of the previous row.
@@ -42,27 +44,55 @@ int mi_rnext(MI_INFO *info, byte *buf, int inx)
changed=_mi_test_if_changed(info);
if (!flag)
{
- error=_mi_search_first(info,info->s->keyinfo+inx,
- info->s->state.key_root[inx]);
+ switch(info->s->keyinfo[inx].key_alg){
+ case HA_KEY_ALG_RTREE:
+ error=rtree_get_first(info,inx,info->lastkey_length);
+ break;
+ case HA_KEY_ALG_BTREE:
+ default:
+ error=_mi_search_first(info,info->s->keyinfo+inx,
+ info->s->state.key_root[inx]);
+ break;
+ }
}
- else if (!changed)
- error=_mi_search_next(info,info->s->keyinfo+inx,info->lastkey,
- info->lastkey_length,flag,
- info->s->state.key_root[inx]);
else
- error=_mi_search(info,info->s->keyinfo+inx,info->lastkey,
- USE_WHOLE_KEY,flag, info->s->state.key_root[inx]);
-
- if (!error)
{
- while (info->lastpos >= info->state->data_file_length)
+ switch(info->s->keyinfo[inx].key_alg)
{
- /* Skip rows that are inserted by other threads since we got a lock */
- if ((error=_mi_search_next(info,info->s->keyinfo+inx,info->lastkey,
+ case HA_KEY_ALG_RTREE:
+ /*
+ Note that rtree doesn't support that the table
+ may be changed since last call, so we do need
+ to skip rows inserted by other threads like in btree
+ */
+ error=rtree_get_next(info,inx,info->lastkey_length);
+ break;
+
+ case HA_KEY_ALG_BTREE:
+ default:
+ if (!changed)
+ {
+ error=_mi_search_next(info,info->s->keyinfo+inx,info->lastkey,
+ info->lastkey_length,flag,
+ info->s->state.key_root[inx]);
+ }
+ else
+ {
+ error=_mi_search(info,info->s->keyinfo+inx,info->lastkey,
+ USE_WHOLE_KEY,flag, info->s->state.key_root[inx]);
+ }
+ if (!error)
+ {
+ while (info->lastpos >= info->state->data_file_length)
+ {
+ /* Skip rows that are inserted by other threads since we got a lock */
+ if ((error=_mi_search_next(info,info->s->keyinfo+inx,info->lastkey,
info->lastkey_length,
SEARCH_BIGGER,
info->s->state.key_root[inx])))
- break;
+ break;
+ }
+ }
}
}
diff --git a/myisam/mi_rnext_same.c b/myisam/mi_rnext_same.c
index 662bdb154b3..88ff24842d4 100644
--- a/myisam/mi_rnext_same.c
+++ b/myisam/mi_rnext_same.c
@@ -15,6 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "myisamdef.h"
+#include "rt_index.h"
/*
Read next row with the same key as previous read, but abort if
@@ -38,26 +39,39 @@ int mi_rnext_same(MI_INFO *info, byte *buf)
if (fast_mi_readinfo(info))
DBUG_RETURN(my_errno);
- memcpy(info->lastkey2,info->lastkey,info->last_rkey_length);
if (info->s->concurrent_insert)
rw_rdlock(&info->s->key_root_lock[inx]);
- for (;;)
+
+ switch(keyinfo->key_alg)
{
- if ((error=_mi_search_next(info,keyinfo,info->lastkey,
+ case HA_KEY_ALG_RTREE:
+ if((error=rtree_find_next(info,inx,myisam_read_vec[info->last_key_func])))
+ {
+ /* FIXME: What to do?*/
+ }
+ break;
+ case HA_KEY_ALG_BTREE:
+ default:
+
+ memcpy(info->lastkey2,info->lastkey,info->last_rkey_length);
+ for (;;)
+ {
+ if ((error=_mi_search_next(info,keyinfo,info->lastkey,
info->lastkey_length,flag,
info->s->state.key_root[inx])))
- break;
- if (_mi_key_cmp(keyinfo->seg,info->lastkey2,info->lastkey,
+ break;
+ if (_mi_key_cmp(keyinfo->seg,info->lastkey2,info->lastkey,
info->last_rkey_length, SEARCH_FIND, &not_used))
- {
- error=1;
- my_errno=HA_ERR_END_OF_FILE;
- info->lastpos= HA_OFFSET_ERROR;
- break;
- }
- /* Skip rows that are inserted by other threads since we got a lock */
- if (info->lastpos < info->state->data_file_length)
- break;
+ {
+ error=1;
+ my_errno=HA_ERR_END_OF_FILE;
+ info->lastpos= HA_OFFSET_ERROR;
+ break;
+ }
+ /* Skip rows that are inserted by other threads since we got a lock */
+ if (info->lastpos < info->state->data_file_length)
+ break;
+ }
}
if (info->s->concurrent_insert)
rw_unlock(&info->s->key_root_lock[inx]);
diff --git a/myisam/mi_static.c b/myisam/mi_static.c
index 86d7fc38f25..660898f4b91 100644
--- a/myisam/mi_static.c
+++ b/myisam/mi_static.c
@@ -49,7 +49,8 @@ uint NEAR myisam_read_vec[]=
{
SEARCH_FIND, SEARCH_FIND | SEARCH_BIGGER, SEARCH_FIND | SEARCH_SMALLER,
SEARCH_NO_FIND | SEARCH_BIGGER, SEARCH_NO_FIND | SEARCH_SMALLER,
- SEARCH_FIND | SEARCH_PREFIX, SEARCH_LAST
+ SEARCH_FIND | SEARCH_PREFIX, SEARCH_LAST,
+ MBR_CONTAIN, MBR_INTERSECT, MBR_WITHIN, MBR_DISJOINT, MBR_EQUAL
};
uint NEAR myisam_readnext_vec[]=
diff --git a/myisam/mi_test1.c b/myisam/mi_test1.c
index bb32860b575..412c493db9a 100644
--- a/myisam/mi_test1.c
+++ b/myisam/mi_test1.c
@@ -89,6 +89,7 @@ int run_test(const char *filename)
/* Define a key over the first column */
keyinfo[0].seg=keyseg;
keyinfo[0].keysegs=1;
+ keyinfo[0].key_alg=HA_KEY_ALG_BTREE;
keyinfo[0].seg[0].type= key_type;
keyinfo[0].seg[0].flag= pack_seg;
keyinfo[0].seg[0].start=1;
@@ -457,19 +458,19 @@ static void update_record(char *record)
ptr=blob_key;
memcpy_fixed(pos+4,&ptr,sizeof(char*)); /* Store pointer to new key */
if (keyinfo[0].seg[0].type != HA_KEYTYPE_NUM)
- casedn(blob_key,length);
+ my_casedn(default_charset_info,blob_key,length);
pos+=recinfo[1].length;
}
else if (recinfo[1].type == FIELD_VARCHAR)
{
uint length=uint2korr(pos);
- casedn(pos+2,length);
+ my_casedn(default_charset_info,pos+2,length);
pos+=recinfo[1].length;
}
else
{
if (keyinfo[0].seg[0].type != HA_KEYTYPE_NUM)
- casedn(pos,keyinfo[0].seg[0].length);
+ my_casedn(default_charset_info,pos,keyinfo[0].seg[0].length);
pos+=recinfo[1].length;
}
diff --git a/myisam/mi_test2.c b/myisam/mi_test2.c
index 81d00893d27..54752b43fbd 100644
--- a/myisam/mi_test2.c
+++ b/myisam/mi_test2.c
@@ -91,6 +91,7 @@ int main(int argc, char *argv[])
keyinfo[0].seg[0].flag=(uint8) pack_seg;
keyinfo[0].seg[0].null_bit=0;
keyinfo[0].seg[0].null_pos=0;
+ keyinfo[0].key_alg=HA_KEY_ALG_BTREE;
keyinfo[0].keysegs=1;
keyinfo[0].flag = pack_type;
keyinfo[1].seg= &glob_keyseg[1][0];
@@ -106,6 +107,7 @@ int main(int argc, char *argv[])
keyinfo[1].seg[1].flag=HA_REVERSE_SORT;
keyinfo[1].seg[1].null_bit=0;
keyinfo[1].seg[1].null_pos=0;
+ keyinfo[1].key_alg=HA_KEY_ALG_BTREE;
keyinfo[1].keysegs=2;
keyinfo[1].flag =0;
keyinfo[2].seg= &glob_keyseg[2][0];
@@ -115,6 +117,7 @@ int main(int argc, char *argv[])
keyinfo[2].seg[0].flag=HA_REVERSE_SORT;
keyinfo[2].seg[0].null_bit=0;
keyinfo[2].seg[0].null_pos=0;
+ keyinfo[2].key_alg=HA_KEY_ALG_BTREE;
keyinfo[2].keysegs=1;
keyinfo[2].flag =HA_NOSAME;
keyinfo[3].seg= &glob_keyseg[3][0];
@@ -125,6 +128,7 @@ int main(int argc, char *argv[])
keyinfo[3].seg[0].flag=(uint8) pack_seg;
keyinfo[3].seg[0].null_bit=0;
keyinfo[3].seg[0].null_pos=0;
+ keyinfo[3].key_alg=HA_KEY_ALG_BTREE;
keyinfo[3].keysegs=1;
keyinfo[3].flag = pack_type;
keyinfo[4].seg= &glob_keyseg[4][0];
@@ -135,6 +139,7 @@ int main(int argc, char *argv[])
keyinfo[4].seg[0].flag=0;
keyinfo[4].seg[0].null_bit=0;
keyinfo[4].seg[0].null_pos=0;
+ keyinfo[4].key_alg=HA_KEY_ALG_BTREE;
keyinfo[4].keysegs=1;
keyinfo[4].flag = pack_type;
keyinfo[5].seg= &glob_keyseg[5][0];
@@ -145,6 +150,7 @@ int main(int argc, char *argv[])
keyinfo[5].seg[0].flag=pack_seg;
keyinfo[5].seg[0].null_bit=0;
keyinfo[5].seg[0].null_pos=0;
+ keyinfo[5].key_alg=HA_KEY_ALG_BTREE;
keyinfo[5].keysegs=1;
keyinfo[5].flag = pack_type;
diff --git a/myisam/mi_test3.c b/myisam/mi_test3.c
index 36222c3edbc..17c4e92d2ba 100644
--- a/myisam/mi_test3.c
+++ b/myisam/mi_test3.c
@@ -70,6 +70,7 @@ int main(int argc,char **argv)
keyinfo[0].seg[0].length=8;
keyinfo[0].seg[0].type=HA_KEYTYPE_TEXT;
keyinfo[0].seg[0].flag=HA_SPACE_PACK;
+ keyinfo[0].key_alg=HA_KEY_ALG_BTREE;
keyinfo[0].keysegs=1;
keyinfo[0].flag = (uint8) HA_PACK_KEY;
keyinfo[1].seg= &keyseg[1][0];
@@ -77,6 +78,7 @@ int main(int argc,char **argv)
keyinfo[1].seg[0].length=4; /* Long is always 4 in myisam */
keyinfo[1].seg[0].type=HA_KEYTYPE_LONG_INT;
keyinfo[1].seg[0].flag=0;
+ keyinfo[1].key_alg=HA_KEY_ALG_BTREE;
keyinfo[1].keysegs=1;
keyinfo[1].flag =HA_NOSAME;
diff --git a/myisam/mi_update.c b/myisam/mi_update.c
index 2c6bc42bbdb..ebf45316eb6 100644
--- a/myisam/mi_update.c
+++ b/myisam/mi_update.c
@@ -17,6 +17,8 @@
/* Update an old row in a MyISAM table */
#include "fulltext.h"
+#include "rt_index.h"
+
#ifdef __WIN__
#include <errno.h>
#endif
@@ -61,6 +63,7 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
goto err_end; /* Record has changed */
}
+
/* Calculate and check all unique constraints */
key_changed=0;
for (i=0 ; i < share->state.header.uniques ; i++)
@@ -113,8 +116,8 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
key_changed|=HA_STATE_WRITTEN; /* Mark that keyfile changed */
changed|=((ulonglong) 1 << i);
share->keyinfo[i].version++;
- if (_mi_ck_delete(info,i,old_key,old_length)) goto err;
- if (_mi_ck_write(info,i,new_key,new_length)) goto err;
+ if (share->keyinfo[i].ck_delete(info,i,old_key,old_length)) goto err;
+ if (share->keyinfo[i].ck_insert(info,i,new_key,new_length)) goto err;
if (share->base.auto_key == i+1)
auto_key_changed=1;
}
diff --git a/myisam/mi_write.c b/myisam/mi_write.c
index 5a2711aac92..d357ab24d52 100644
--- a/myisam/mi_write.c
+++ b/myisam/mi_write.c
@@ -17,6 +17,8 @@
/* Write a row to a MyISAM table */
#include "fulltext.h"
+#include "rt_index.h"
+
#ifdef __WIN__
#include <errno.h>
#endif
@@ -121,17 +123,17 @@ int mi_write(MI_INFO *info, byte *record)
}
else
{
- uint key_length=_mi_make_key(info,i,buff,record,filepos);
- if (_mi_ck_write(info,i,buff,key_length))
- {
- if (local_lock_tree)
- rw_unlock(&share->key_root_lock[i]);
- DBUG_PRINT("error",("Got error: %d on write",my_errno));
- goto err;
- }
+ if (share->keyinfo[i].ck_insert(info,i,buff,
+ _mi_make_key(info,i,buff,record,filepos)))
+ {
+ if (local_lock_tree)
+ rw_unlock(&share->key_root_lock[i]);
+ DBUG_PRINT("error",("Got error: %d on write",my_errno));
+ goto err;
+ }
}
if (local_lock_tree)
- rw_unlock(&share->key_root_lock[i]);
+ rw_unlock(&share->key_root_lock[i]);
}
}
if (share->calc_checksum)
diff --git a/myisam/myisamdef.h b/myisam/myisamdef.h
index e9d3461fe9a..e5da4752429 100644
--- a/myisam/myisamdef.h
+++ b/myisam/myisamdef.h
@@ -253,6 +253,7 @@ struct st_myisam_info {
int lastinx; /* Last used index */
uint lastkey_length; /* Length of key in lastkey */
uint last_rkey_length; /* Last length in mi_rkey() */
+ enum ha_rkey_function last_key_func; /* CONTAIN, OVERLAP, etc */
uint save_lastkey_length;
int errkey; /* Got last error on this key */
int lock_type; /* How database was locked */
@@ -272,6 +273,8 @@ struct st_myisam_info {
#ifdef THREAD
THR_LOCK_DATA lock;
#endif
+ uchar * rtree_recursion_state; /* For RTREE */
+ int rtree_recursion_depth;
};
diff --git a/myisam/rt_index.c b/myisam/rt_index.c
new file mode 100644
index 00000000000..d55d01fa4a3
--- /dev/null
+++ b/myisam/rt_index.c
@@ -0,0 +1,914 @@
+/* Copyright (C) 2000 MySQL AB & Ramil Kalimullin & MySQL Finland AB
+ & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#include "myisamdef.h"
+
+#include "rt_index.h"
+#include "rt_key.h"
+#include "rt_mbr.h"
+
+#define REINSERT_BUFFER_INC 10
+
+typedef struct st_page_level
+{
+ uint level;
+ my_off_t offs;
+} stPageLevel;
+
+typedef struct st_page_list
+{
+ ulong n_pages;
+ ulong m_pages;
+ stPageLevel *pages;
+} stPageList;
+
+/*
+Find next key in r-tree according to search_flag recursively
+Used in rtree_find_first() and rtree_find_next()
+Result values:
+-1 - error
+ 0 - found
+ 1 - not found
+*/
+static int rtree_find_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint search_flag, uint nod_cmp_flag,
+ my_off_t page, int level)
+{
+ uchar *k;
+ uchar *last;
+ uint nod_flag;
+ int res;
+ uchar *page_buf;
+ int k_len;
+ int *saved_key = (int*)(info->rtree_recursion_state + level * sizeof(int));
+
+ if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length)))
+ {
+ my_errno = HA_ERR_OUT_OF_MEM;
+ return -1;
+ }
+ if (!_mi_fetch_keypage(info, keyinfo, page, page_buf, 0))
+ goto err1;
+ nod_flag = mi_test_if_nod(page_buf);
+
+ k_len = keyinfo->keylength - info->s->base.rec_reflength;
+
+ if(info->rtree_recursion_depth >= level)
+ {
+ k = page_buf + *saved_key;
+ if (!nod_flag)
+ {
+ /* Only leaf pages contain data references. */
+ /* Need to check next key with data reference. */
+ k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag);
+ }
+ }
+ else
+ {
+ k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
+ }
+ last = rt_PAGE_END(page_buf);
+
+ for (; k < last; k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag))
+ {
+ if (nod_flag)
+ {
+ /* this is an internal node in the tree */
+ if (!(res = rtree_key_cmp(keyinfo->seg, info->lastkey2, k,
+ info->last_rkey_length, nod_cmp_flag)))
+ {
+ switch ((res = rtree_find_req(info, keyinfo, search_flag, nod_cmp_flag,
+ _mi_kpos(nod_flag, k), level + 1)))
+ {
+ case 0: /* found - exit from recursion */
+ *saved_key = k - page_buf;
+ goto ok;
+ case 1: /* not found - continue searching */
+ info->rtree_recursion_depth = level;
+ break;
+ default: /* error */
+ case -1:
+ goto err1;
+ }
+ }
+ }
+ else
+ {
+ /* this is a leaf */
+ if (!rtree_key_cmp(keyinfo->seg, info->lastkey2, k,
+ info->last_rkey_length, search_flag))
+ {
+ uchar *after_key = rt_PAGE_NEXT_KEY(k, k_len, nod_flag);
+ info->lastpos = _mi_dpos(info, 0, after_key);
+ info->lastkey_length = k_len + info->s->base.rec_reflength;
+ memcpy(info->lastkey, k, k_len + info->s->base.rec_reflength);
+
+ info->rtree_recursion_depth = level;
+ *saved_key = k - page_buf;
+
+ if (after_key < last)
+ {
+ info->int_keypos = (uchar*)saved_key;
+ memcpy(info->buff, page_buf, keyinfo->block_length);
+ info->int_maxpos = rt_PAGE_END(info->buff);
+ info->buff_used = 0;
+ }
+
+ res = 0;
+ goto ok;
+ }
+ }
+ }
+ info->lastpos = HA_OFFSET_ERROR;
+ my_errno = HA_ERR_KEY_NOT_FOUND;
+ res = 1;
+
+ok:
+ my_afree((byte*)page_buf);
+ return res;
+
+err1:
+ my_afree((byte*)page_buf);
+ info->lastpos = HA_OFFSET_ERROR;
+ return -1;
+}
+
+/*
+Find first key in r-tree according to search_flag condition
+Result values:
+-1 - error
+ 0 - found
+ 1 - not found
+*/
+int rtree_find_first(MI_INFO *info, uint keynr, uchar *key, uint key_length,
+ uint search_flag)
+{
+ my_off_t root;
+ uint nod_cmp_flag;
+ MI_KEYDEF *keyinfo = info->s->keyinfo + keynr;
+
+ if ((root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
+ return -1;
+
+ /* Save searched key */
+ memcpy(info->lastkey2, key, keyinfo->keylength - info->s->base.rec_reflength);
+ info->last_rkey_length = key_length;
+
+ info->rtree_recursion_depth = -1;
+ info->buff_used = 1;
+
+ nod_cmp_flag = ((search_flag & (MBR_EQUAL | MBR_WITHIN)) ?
+ MBR_WITHIN : MBR_INTERSECT);
+ return rtree_find_req(info, keyinfo, search_flag, nod_cmp_flag, root, 0);
+}
+
+/*
+Find next key in r-tree according to search_flag condition
+Result values:
+-1 - error
+ 0 - found
+ 1 - not found
+*/
+int rtree_find_next(MI_INFO *info, uint keynr, uint search_flag)
+{
+ my_off_t root;
+ uint nod_cmp_flag;
+ MI_KEYDEF *keyinfo = info->s->keyinfo + keynr;
+
+ if (!info->buff_used)
+ {
+ uint k_len = keyinfo->keylength - info->s->base.rec_reflength;
+ /* rt_PAGE_NEXT_KEY(info->int_keypos) */
+ uchar *key = info->buff + *(int*)info->int_keypos + k_len +
+ info->s->base.rec_reflength;
+
+ while (key < info->int_maxpos)
+ {
+ if (!rtree_key_cmp(keyinfo->seg, info->lastkey2, key,
+ info->last_rkey_length, search_flag))
+ {
+ /* rt_PAGE_NEXT_KEY(key) */
+ uchar *after_key = key + k_len + info->s->base.rec_reflength;
+
+ info->lastpos = _mi_dpos(info, 0, after_key);
+ info->lastkey_length = k_len + info->s->base.rec_reflength;
+ memcpy(info->lastkey, key, k_len + info->s->base.rec_reflength);
+
+ *(int*)info->int_keypos = key - info->buff;
+ if (after_key >= info->int_maxpos)
+ {
+ info->buff_used = 1;
+ }
+
+ return 0;
+ }
+ else
+ {
+ key += k_len + info->s->base.rec_reflength;
+ }
+ }
+ }
+ if ((root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
+ return -1;
+
+ nod_cmp_flag = ((search_flag & (MBR_EQUAL | MBR_WITHIN)) ?
+ MBR_WITHIN : MBR_INTERSECT);
+ return rtree_find_req(info, keyinfo, search_flag, nod_cmp_flag, root, 0);
+}
+
+/*
+Get next key in r-tree recursively
+Used in rtree_get_first() and rtree_get_next()
+Result values:
+-1 - error
+ 0 - found
+ 1 - not found
+*/
+static int rtree_get_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint key_length,
+ my_off_t page, int level)
+{
+ uchar *k;
+ uchar *last;
+ uint nod_flag;
+ int res;
+ uchar *page_buf;
+ uint k_len;
+ int *saved_key = (int*)(info->rtree_recursion_state + level*sizeof(int));
+
+ if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length)))
+ return -1;
+ if (!_mi_fetch_keypage(info, keyinfo, page, page_buf, 0))
+ goto err1;
+ nod_flag = mi_test_if_nod(page_buf);
+
+ k_len = keyinfo->keylength - info->s->base.rec_reflength;
+
+ if(info->rtree_recursion_depth >= level)
+ {
+ k = page_buf + *saved_key;
+ if (!nod_flag)
+ {
+ /* Only leaf pages contain data references. */
+ /* Need to check next key with data reference. */
+ k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag);
+ }
+ }
+ else
+ {
+ k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
+ }
+ last = rt_PAGE_END(page_buf);
+
+ for (; k < last; k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag))
+ {
+ if (nod_flag)
+ {
+ /* this is an internal node in the tree */
+ switch ((res = rtree_get_req(info, keyinfo, key_length,
+ _mi_kpos(nod_flag, k), level + 1)))
+ {
+ case 0: /* found - exit from recursion */
+ *saved_key = k - page_buf;
+ goto ok;
+ case 1: /* not found - continue searching */
+ info->rtree_recursion_depth = level;
+ break;
+ default:
+ case -1: /* error */
+ goto err1;
+ }
+ }
+ else
+ {
+ /* this is a leaf */
+ uchar *after_key = rt_PAGE_NEXT_KEY(k, k_len, nod_flag);
+ info->lastpos = _mi_dpos(info, 0, after_key);
+ info->lastkey_length = k_len + info->s->base.rec_reflength;
+ memcpy(info->lastkey, k, k_len + info->s->base.rec_reflength);
+
+ info->rtree_recursion_depth = level;
+ *saved_key = k - page_buf;
+
+ if (after_key < last)
+ {
+ info->int_keypos = (uchar*)saved_key;
+ memcpy(info->buff, page_buf, keyinfo->block_length);
+ info->int_maxpos = rt_PAGE_END(info->buff);
+ info->buff_used = 0;
+ }
+
+ res = 0;
+ goto ok;
+ }
+ }
+ info->lastpos = HA_OFFSET_ERROR;
+ my_errno = HA_ERR_KEY_NOT_FOUND;
+ res = 1;
+
+ok:
+ my_afree((byte*)page_buf);
+ return res;
+
+err1:
+ my_afree((byte*)page_buf);
+ info->lastpos = HA_OFFSET_ERROR;
+ return -1;
+}
+
+/*
+Get first key in r-tree
+Result values:
+-1 - error
+ 0 - found
+ 1 - not found
+*/
+int rtree_get_first(MI_INFO *info, uint keynr, uint key_length)
+{
+ my_off_t root;
+ MI_KEYDEF *keyinfo = info->s->keyinfo + keynr;
+
+ if ((root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
+ return -1;
+
+ info->rtree_recursion_depth = -1;
+ info->buff_used = 1;
+
+ return rtree_get_req(info, &keyinfo[keynr], key_length, root, 0);
+}
+
+/* Get next key in r-tree
+Result values:
+-1 - error
+ 0 - found
+ 1 - not found
+*/
+int rtree_get_next(MI_INFO *info, uint keynr, uint key_length)
+{
+ my_off_t root;
+ MI_KEYDEF *keyinfo = info->s->keyinfo + keynr;
+
+ if (!info->buff_used)
+ {
+ uint k_len = keyinfo->keylength - info->s->base.rec_reflength;
+ /* rt_PAGE_NEXT_KEY(info->int_keypos) */
+ uchar *key = info->buff + *(int*)info->int_keypos + k_len +
+ info->s->base.rec_reflength;
+ /* rt_PAGE_NEXT_KEY(key) */
+ uchar *after_key = key + k_len + info->s->base.rec_reflength;
+
+ info->lastpos = _mi_dpos(info, 0, after_key);
+ info->lastkey_length = k_len + info->s->base.rec_reflength;
+ memcpy(info->lastkey, key, k_len + info->s->base.rec_reflength);
+
+ *(int*)info->int_keypos = key - info->buff;
+ if (after_key >= info->int_maxpos)
+ {
+ info->buff_used = 1;
+ }
+
+ return 0;
+ }
+ else
+ {
+ if ((root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
+ return -1;
+
+ return rtree_get_req(info, &keyinfo[keynr], key_length, root, 0);
+ }
+}
+
+/*
+Go down and insert key into tree
+Result values:
+-1 - error
+ 0 - child was not split
+ 1 - child was split
+*/
+static int rtree_insert_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
+ uint key_length, my_off_t page, my_off_t *new_page,
+ int ins_level, int level)
+{
+ uchar *k;
+ uint nod_flag;
+ uchar *page_buf;
+ int res;
+
+ if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length +
+ MI_MAX_KEY_BUFF)))
+ {
+ my_errno = HA_ERR_OUT_OF_MEM;
+ return -1;
+ }
+ if (!_mi_fetch_keypage(info, keyinfo, page, page_buf, 0))
+ goto err1;
+ nod_flag = mi_test_if_nod(page_buf);
+
+ if ((ins_level == -1 && nod_flag) || /* key: go down to leaf */
+ (ins_level > -1 && ins_level > level)) /* branch: go down to ins_level */
+ {
+ if ((k = rtree_choose_key(info, keyinfo, key, key_length, page_buf,
+ nod_flag)) == NULL)
+ goto err1;
+ switch ((res = rtree_insert_req(info, keyinfo, key, key_length,
+ _mi_kpos(nod_flag, k), new_page, ins_level, level + 1)))
+ {
+ case 0: /* child was not split */
+ {
+ rtree_combine_rect(keyinfo->seg, k, key, k, key_length);
+ if (_mi_write_keypage(info, keyinfo, page, page_buf))
+ goto err1;
+ goto ok;
+ }
+ case 1: /* child was split */
+ {
+ uchar *new_key = page_buf + keyinfo->block_length + nod_flag;
+ /* set proper MBR for key */
+ if (rtree_set_key_mbr(info, keyinfo, k, key_length,
+ _mi_kpos(nod_flag, k)))
+ goto err1;
+ /* add new key for new page */
+ _mi_kpointer(info, new_key - nod_flag, *new_page);
+ if (rtree_set_key_mbr(info, keyinfo, new_key, key_length, *new_page))
+ goto err1;
+ res = rtree_add_key(info, keyinfo, new_key, key_length,
+ page_buf, new_page);
+ if (_mi_write_keypage(info, keyinfo, page, page_buf))
+ goto err1;
+ goto ok;
+ }
+ default:
+ case -1: /* error */
+ {
+ goto err1;
+ }
+ }
+ }
+ else
+ {
+ res = rtree_add_key(info, keyinfo, key, key_length, page_buf, new_page);
+ if (_mi_write_keypage(info, keyinfo, page, page_buf))
+ goto err1;
+ goto ok;
+ }
+
+ok:
+ my_afree((byte*)page_buf);
+ return res;
+
+err1:
+ my_afree((byte*)page_buf);
+ return -1;
+}
+
+/*
+Insert key into the tree
+Result values:
+-1 - error
+ 0 - root was not split
+ 1 - root was split
+*/
+static int rtree_insert_level(MI_INFO *info, uint keynr, uchar *key,
+ uint key_length, int ins_level)
+{
+ my_off_t old_root;
+ MI_KEYDEF *keyinfo = info->s->keyinfo + keynr;
+ int res;
+ my_off_t new_page;
+
+ if ((old_root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
+ {
+ int res;
+
+ if ((old_root = _mi_new(info, keyinfo)) == HA_OFFSET_ERROR)
+ return -1;
+ info->buff_used = 1;
+ mi_putint(info->buff, 2, 0);
+ res = rtree_add_key(info, keyinfo, key, key_length, info->buff, NULL);
+ if (_mi_write_keypage(info, keyinfo, old_root, info->buff))
+ return 1;
+ info->s->state.key_root[keynr] = old_root;
+ return res;
+ }
+
+ switch ((res = rtree_insert_req(info, &keyinfo[keynr], key, key_length,
+ old_root, &new_page, ins_level, 0)))
+ {
+ case 0: /* root was not split */
+ {
+ break;
+ }
+ case 1: /* root was split, grow a new root */
+ {
+ uchar *new_root_buf;
+ my_off_t new_root;
+ uchar *new_key;
+ uint nod_flag = info->s->base.key_reflength;
+
+ if (!(new_root_buf = (uchar*)my_alloca((uint)keyinfo->block_length +
+ MI_MAX_KEY_BUFF)))
+ {
+ my_errno = HA_ERR_OUT_OF_MEM;
+ return -1;
+ }
+
+ mi_putint(new_root_buf, 2, nod_flag);
+ if ((new_root = _mi_new(info, keyinfo)) == HA_OFFSET_ERROR)
+ goto err1;
+
+ new_key = new_root_buf + keyinfo->block_length + nod_flag;
+
+ _mi_kpointer(info, new_key - nod_flag, old_root);
+ if (rtree_set_key_mbr(info, keyinfo, new_key, key_length, old_root))
+ goto err1;
+ if (rtree_add_key(info, keyinfo, new_key, key_length, new_root_buf, NULL)
+ == -1)
+ goto err1;
+ _mi_kpointer(info, new_key - nod_flag, new_page);
+ if (rtree_set_key_mbr(info, keyinfo, new_key, key_length, new_page))
+ goto err1;
+ if (rtree_add_key(info, keyinfo, new_key, key_length, new_root_buf, NULL)
+ == -1)
+ goto err1;
+ if (_mi_write_keypage(info, keyinfo, new_root, new_root_buf))
+ goto err1;
+ info->s->state.key_root[keynr] = new_root;
+
+ my_afree((byte*)new_root_buf);
+ break;
+err1:
+ my_afree((byte*)new_root_buf);
+ return -1;
+ }
+ default:
+ case -1: /* error */
+ {
+ break;
+ }
+ }
+ return res;
+}
+
+/*
+Insert key into the tree - interface function
+Result values:
+-1 - error
+ 0 - OK
+*/
+int rtree_insert(MI_INFO *info, uint keynr, uchar *key, uint key_length)
+{
+ return (rtree_insert_level(info, keynr, key, key_length, -1) == -1) ? -1 : 0;
+}
+
+/*
+Fill reinsert page buffer
+*/
+static int rtree_fill_reinsert_list(stPageList *ReinsertList, my_off_t page,
+ int level)
+{
+ if (ReinsertList->n_pages == ReinsertList->m_pages)
+ {
+ ReinsertList->m_pages += REINSERT_BUFFER_INC;
+ if (!(ReinsertList->pages = (stPageLevel*)my_realloc((gptr)ReinsertList->pages,
+ ReinsertList->m_pages * sizeof(stPageLevel), MYF(MY_ALLOW_ZERO_PTR))))
+ goto err1;
+ }
+ /* save page to ReinsertList */
+ ReinsertList->pages[ReinsertList->n_pages].offs = page;
+ ReinsertList->pages[ReinsertList->n_pages].level = level;
+ ReinsertList->n_pages++;
+ return 0;
+
+err1:
+ return -1;
+}
+
+/*
+Go down and delete key from the tree
+Result values:
+-1 - error
+ 0 - deleted
+ 1 - not found
+ 2 - empty leaf
+*/
+static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
+ uint key_length, my_off_t page, uint *page_size,
+ stPageList *ReinsertList, int level)
+{
+ uchar *k;
+ uchar *last;
+ ulong i;
+ uint nod_flag;
+ uchar *page_buf;
+ int res;
+
+ if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length)))
+ {
+ my_errno = HA_ERR_OUT_OF_MEM;
+ return -1;
+ }
+ if (!_mi_fetch_keypage(info, keyinfo, page, page_buf, 0))
+ goto err1;
+ nod_flag = mi_test_if_nod(page_buf);
+
+ k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
+ last = rt_PAGE_END(page_buf);
+
+ for (i = 0; k < last; k = rt_PAGE_NEXT_KEY(k, key_length, nod_flag), ++i)
+ {
+ if (nod_flag)
+ {
+ /* not leaf */
+ if (!rtree_key_cmp(keyinfo->seg, key, k, key_length, MBR_WITHIN))
+ {
+ switch ((res = rtree_delete_req(info, keyinfo, key, key_length,
+ _mi_kpos(nod_flag, k), page_size, ReinsertList, level + 1)))
+ {
+ case 0: /* deleted */
+ {
+ /* test page filling */
+ if (*page_size + key_length >= rt_PAGE_MIN_SIZE(keyinfo->block_length))
+ {
+ /* OK */
+ if (rtree_set_key_mbr(info, keyinfo, k, key_length,
+ _mi_kpos(nod_flag, k)))
+ goto err1;
+ if (_mi_write_keypage(info, keyinfo, page, page_buf))
+ goto err1;
+ }
+ else
+ {
+ /* too small: delete key & add it descendant to reinsert list */
+ if (rtree_fill_reinsert_list(ReinsertList, _mi_kpos(nod_flag, k),
+ level + 1))
+ goto err1;
+ rtree_delete_key(info, page_buf, k, key_length, nod_flag);
+ if (_mi_write_keypage(info, keyinfo, page, page_buf))
+ goto err1;
+ *page_size = mi_getint(page_buf);
+ }
+
+ goto ok;
+ }
+ case 1: /* not found - continue searching */
+ {
+ break;
+ }
+ case 2: /* vacuous case: last key in the leaf */
+ {
+ rtree_delete_key(info, page_buf, k, key_length, nod_flag);
+ if (_mi_write_keypage(info, keyinfo, page, page_buf))
+ goto err1;
+ *page_size = mi_getint(page_buf);
+ res = 0;
+ goto ok;
+ }
+ default: /* error */
+ case -1:
+ {
+ goto err1;
+ }
+ }
+ }
+ }
+ else
+ {
+ /* leaf */
+ if (!rtree_key_cmp(keyinfo->seg, key, k, key_length, MBR_EQUAL | MBR_DATA))
+ {
+ rtree_delete_key(info, page_buf, k, key_length, nod_flag);
+ *page_size = mi_getint(page_buf);
+ if (*page_size == 2)
+ {
+ /* last key in the leaf */
+ res = 2;
+ if (_mi_dispose(info, keyinfo, page))
+ goto err1;
+ }
+ else
+ {
+ res = 0;
+ if (_mi_write_keypage(info, keyinfo, page, page_buf))
+ goto err1;
+ }
+ goto ok;
+ }
+ }
+ }
+ res = 1;
+
+ok:
+ my_afree((byte*)page_buf);
+ return res;
+
+err1:
+ my_afree((byte*)page_buf);
+ return -1;
+}
+
+/*
+Delete key - interface function
+Result values:
+-1 - error
+ 0 - deleted
+*/
+int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length)
+{
+ uint page_size;
+ stPageList ReinsertList;
+ my_off_t old_root;
+ MI_KEYDEF *keyinfo = info->s->keyinfo + keynr;
+
+ if ((old_root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
+ {
+ my_errno = HA_ERR_KEY_NOT_FOUND;
+ return -1;
+ }
+
+ ReinsertList.pages = NULL;
+ ReinsertList.n_pages = 0;
+ ReinsertList.m_pages = 0;
+
+ switch (rtree_delete_req(info, keyinfo, key, key_length, old_root,
+ &page_size, &ReinsertList, 0))
+ {
+ case 2:
+ {
+ info->s->state.key_root[keynr] = HA_OFFSET_ERROR;
+ return 0;
+ }
+ case 0:
+ {
+ uint nod_flag;
+ ulong i;
+ for (i = 0; i < ReinsertList.n_pages; ++i)
+ {
+ uchar *page_buf;
+ uint nod_flag;
+ uchar *k;
+ uchar *last;
+
+ if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length)))
+ {
+ my_errno = HA_ERR_OUT_OF_MEM;
+ goto err1;
+ }
+ if (!_mi_fetch_keypage(info, keyinfo, ReinsertList.pages[i].offs,
+ page_buf, 0))
+ goto err1;
+ nod_flag = mi_test_if_nod(page_buf);
+ k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
+ last = rt_PAGE_END(page_buf);
+ for (; k < last; k = rt_PAGE_NEXT_KEY(k, key_length, nod_flag))
+ {
+ if (rtree_insert_level(info, keynr, k, key_length,
+ ReinsertList.pages[i].level) == -1)
+ {
+ my_afree((byte*)page_buf);
+ goto err1;
+ }
+ }
+ my_afree((byte*)page_buf);
+ if (_mi_dispose(info, keyinfo, ReinsertList.pages[i].offs))
+ goto err1;
+ }
+ if (ReinsertList.pages)
+ free(ReinsertList.pages);
+
+ /* check for redundant root (not leaf, 1 child) and eliminate */
+ if ((old_root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
+ goto err1;
+ if (!_mi_fetch_keypage(info, keyinfo, old_root, info->buff, 0))
+ goto err1;
+ nod_flag = mi_test_if_nod(info->buff);
+ page_size = mi_getint(info->buff);
+ if (nod_flag && (page_size == 2 + key_length +
+ (nod_flag ? nod_flag : info->s->base.rec_reflength)))
+ {
+ my_off_t new_root = _mi_kpos(nod_flag,
+ rt_PAGE_FIRST_KEY(info->buff, nod_flag));
+ if (_mi_dispose(info, keyinfo, old_root))
+ goto err1;
+ info->s->state.key_root[keynr] = new_root;
+ }
+ return 0;
+
+err1:
+ return -1;
+ }
+ case 1: /* not found */
+ {
+ my_errno = HA_ERR_KEY_NOT_FOUND;
+ return -1;
+ }
+ default:
+ case -1: /* error */
+ {
+ return -1;
+ }
+ }
+}
+
+/*
+Estimate number of suitable keys in the tree
+*/
+ha_rows rtree_estimate(MI_INFO *info, uint keynr, uchar *key,
+ uint key_length, uint flag)
+{
+ MI_KEYDEF *keyinfo = info->s->keyinfo + keynr;
+ my_off_t root;
+ uint i = 0;
+ uchar *k;
+ uchar *last;
+ uint nod_flag;
+ uchar *page_buf;
+ uint k_len;
+ double area = 0;
+ ha_rows res = 0;
+
+ if (flag & MBR_DISJOINT)
+ return info->state->records;
+
+ if ((root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
+ return HA_POS_ERROR;
+ if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length)))
+ return HA_POS_ERROR;
+ if (!_mi_fetch_keypage(info, keyinfo, root, page_buf, 0))
+ goto err1;
+ nod_flag = mi_test_if_nod(page_buf);
+
+ k_len = keyinfo->keylength - info->s->base.rec_reflength;
+
+ k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
+ last = rt_PAGE_END(page_buf);
+
+ for (; k < last; k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag), ++i)
+ {
+ if (nod_flag)
+ {
+ double k_area = rtree_rect_volume(keyinfo->seg, k, key_length);
+
+ if (k_area == 0)
+ {
+ if (flag & (MBR_CONTAIN | MBR_INTERSECT))
+ {
+ area += 1;
+ }
+ else if (flag & (MBR_WITHIN | MBR_EQUAL))
+ {
+ if (!rtree_key_cmp(keyinfo->seg, key, k, key_length, MBR_WITHIN))
+ area += 1;
+ }
+ else
+ goto err1;
+ }
+ else
+ {
+ if (flag & (MBR_CONTAIN | MBR_INTERSECT))
+ {
+ area += rtree_overlapping_area(keyinfo->seg, key, k, key_length) /
+ k_area;
+ }
+ else if (flag & (MBR_WITHIN | MBR_EQUAL))
+ {
+ if (!rtree_key_cmp(keyinfo->seg, key, k, key_length, MBR_WITHIN))
+ area += rtree_rect_volume(keyinfo->seg, key, key_length) /
+ k_area;
+ }
+ else
+ goto err1;
+ }
+ }
+ else
+ {
+ if (!rtree_key_cmp(keyinfo->seg, key, k, key_length, flag))
+ ++res;
+ }
+ }
+ if (nod_flag)
+ {
+ if (i)
+ res = (int)(area / i * info->state->records);
+ else
+ res = HA_POS_ERROR;
+ }
+
+ my_afree((byte*)page_buf);
+ return res;
+
+err1:
+ my_afree((byte*)page_buf);
+ return HA_POS_ERROR;
+}
diff --git a/myisam/rt_index.h b/myisam/rt_index.h
new file mode 100644
index 00000000000..1a0fce72a82
--- /dev/null
+++ b/myisam/rt_index.h
@@ -0,0 +1,44 @@
+/* Copyright (C) 2000 MySQL AB & Ramil Kalimullin & MySQL Finland AB
+ & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#ifndef _rt_index_h
+#define _rt_index_h
+
+#define rt_PAGE_FIRST_KEY(page, nod_flag) (page + 2 + nod_flag)
+#define rt_PAGE_NEXT_KEY(key, key_length, nod_flag) (key + key_length + \
+ (nod_flag ? nod_flag : info->s->base.rec_reflength))
+#define rt_PAGE_END(page) (page + mi_getint(page))
+
+#define rt_PAGE_MIN_SIZE(block_length) ((uint)(block_length) / 2)
+
+int rtree_insert(MI_INFO *info, uint keynr, uchar *key, uint key_length);
+int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length);
+
+int rtree_find_first(MI_INFO *info, uint keynr, uchar *key, uint key_length,
+ uint search_flag);
+int rtree_find_next(MI_INFO *info, uint keynr, uint search_flag);
+
+int rtree_get_first(MI_INFO *info, uint keynr, uint key_length);
+int rtree_get_next(MI_INFO *info, uint keynr, uint key_length);
+
+ha_rows rtree_estimate(MI_INFO *info, uint keynr, uchar *key,
+ uint key_length, uint flag);
+
+int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key,
+ uint key_length, my_off_t *new_page_offs);
+
+#endif /* _rt_index_h */
diff --git a/myisam/rt_key.c b/myisam/rt_key.c
new file mode 100644
index 00000000000..c08e918c6db
--- /dev/null
+++ b/myisam/rt_key.c
@@ -0,0 +1,154 @@
+/* Copyright (C) 2000 MySQL AB & Ramil Kalimullin & MySQL Finland AB
+ & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#include "myisamdef.h"
+
+#include "rt_index.h"
+#include "rt_key.h"
+#include "rt_mbr.h"
+
+/*
+Add key to the page
+Result values:
+-1 - error
+ 0 - not split
+ 1 - split
+*/
+int rtree_add_key(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
+ uint key_length, uchar *page_buf, my_off_t *new_page)
+{
+ uint page_size = mi_getint(page_buf);
+ uint nod_flag = mi_test_if_nod(page_buf);
+
+ if (page_size + key_length + nod_flag <= keyinfo->block_length)
+ {
+ /* split won't be necessary */
+ if (nod_flag)
+ {
+ /* save key */
+ memcpy(rt_PAGE_END(page_buf), key - nod_flag, key_length + nod_flag);
+ page_size += key_length + nod_flag;
+ }
+ else
+ {
+ /* save key */
+ memcpy(rt_PAGE_END(page_buf), key, key_length +
+ info->s->base.rec_reflength);
+ page_size += key_length + info->s->base.rec_reflength;
+ }
+ mi_putint(page_buf, page_size, nod_flag);
+ return 0;
+ }
+ else
+ {
+ if (rtree_split_page(info, keyinfo, page_buf, key, key_length, new_page))
+ return -1;
+ else
+ return 1;
+ }
+}
+
+/*
+Delete key from the page
+*/
+int rtree_delete_key(MI_INFO *info, uchar *page_buf, uchar *key,
+ uint key_length, uint nod_flag)
+{
+ uint16 page_size = mi_getint(page_buf);
+ uchar *key_start;
+
+ if (nod_flag)
+ {
+ key_start = key - nod_flag;
+ }
+ else
+ {
+ key_start = key;
+ key_length += info->s->base.rec_reflength;
+ }
+ memmove(key_start, key + key_length, page_size - key_length -
+ (key - page_buf));
+ page_size -= key_length + nod_flag;
+
+ mi_putint(page_buf, page_size, nod_flag);
+
+ return 0;
+}
+
+/*
+Calculate and store key MBR
+*/
+int rtree_set_key_mbr(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
+ uint key_length, my_off_t child_page)
+{
+ uchar *k;
+ uchar *last;
+ uint nod_flag;
+
+ if (!_mi_fetch_keypage(info, keyinfo, child_page, info->buff, 0))
+ goto err1;
+ nod_flag = mi_test_if_nod(info->buff);
+
+ k = rt_PAGE_FIRST_KEY(info->buff, nod_flag);
+ last = rt_PAGE_END(info->buff);
+
+ rtree_page_mbr(info, keyinfo->seg, info->buff, key, key_length);
+
+ return 0;
+
+err1:
+ return -1;
+}
+
+/*
+Choose non-leaf better key for insertion
+*/
+uchar *rtree_choose_key(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
+ uint key_length, uchar *page_buf, uint nod_flag)
+{
+ double increase;
+ double best_incr = DBL_MAX;
+ double area;
+ double best_area;
+ uchar *best_key;
+
+ uchar *k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
+ uchar *last = rt_PAGE_END(page_buf);
+
+ for (; k < last; k = rt_PAGE_NEXT_KEY(k, key_length, nod_flag))
+ {
+ if ((increase = rtree_area_increase(keyinfo->seg, key, k, key_length,
+ &area)) == -1)
+ return NULL;
+ if (increase < best_incr)
+ {
+ best_key = k;
+ best_area = area;
+ best_incr = increase;
+ }
+ else
+ {
+ if ((increase == best_incr) && (area < best_area))
+ {
+ best_key = k;
+ best_area = area;
+ best_incr = increase;
+ }
+ }
+ }
+ return best_key;
+}
diff --git a/myisam/rt_key.h b/myisam/rt_key.h
new file mode 100644
index 00000000000..dfd7b874b54
--- /dev/null
+++ b/myisam/rt_key.h
@@ -0,0 +1,31 @@
+/* Copyright (C) 2000 MySQL AB & Ramil Kalimullin & MySQL Finland AB
+ & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+/* Written by Ramil Kalimullin, who has a shared copyright to this code */
+
+#ifndef _rt_key_h
+#define _rt_key_h
+
+int rtree_add_key(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
+ uint key_length, uchar *page_buf, my_off_t *new_page);
+int rtree_delete_key(MI_INFO *info, uchar *page, uchar *key,
+ uint key_length, uint nod_flag);
+int rtree_set_key_mbr(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
+ uint key_length, my_off_t child_page);
+uchar *rtree_choose_key(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
+ uint key_length, uchar *page_buf, uint nod_flag);
+#endif /* _rt_key_h */
diff --git a/myisam/rt_mbr.c b/myisam/rt_mbr.c
new file mode 100644
index 00000000000..7ffc1cfa267
--- /dev/null
+++ b/myisam/rt_mbr.c
@@ -0,0 +1,758 @@
+/* Copyright (C) 2000 MySQL AB & Ramil Kalimullin & MySQL Finland AB
+ & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#include "myisamdef.h"
+
+#include "rt_index.h"
+#include "rt_mbr.h"
+
+#define INTERSECT_CMP(amin, amax, bmin, bmax) ((amin > bmax) || (bmin > amax))
+#define CONTAIN_CMP(amin, amax, bmin, bmax) ((bmin > amin) || (bmax < amax))
+#define WITHIN_CMP(amin, amax, bmin, bmax) ((amin > bmin) || (amax < bmax))
+#define DISJOINT_CMP(amin, amax, bmin, bmax) ((amin <= bmax) && (bmin <= amax))
+#define EQUAL_CMP(amix, amax, bmin, bmax) ((amix != bmin) || (amax != bmax))
+
+#define FCMP(A, B) ((int)(A) - (int)(B))
+#define p_inc(A, B, X) {A += X; B += X;}
+
+#define RT_CMP(nextflag) \
+ if (nextflag & MBR_INTERSECT) \
+ { \
+ if (INTERSECT_CMP(amin, amax, bmin, bmax)) \
+ return 1; \
+ } \
+ else if (nextflag & MBR_CONTAIN) \
+ { \
+ if (CONTAIN_CMP(amin, amax, bmin, bmax)) \
+ return 1; \
+ } \
+ else if (nextflag & MBR_WITHIN) \
+ { \
+ if (WITHIN_CMP(amin, amax, bmin, bmax)) \
+ return 1; \
+ } \
+ else if (nextflag & MBR_EQUAL) \
+ { \
+ if (EQUAL_CMP(amin, amax, bmin, bmax)) \
+ return 1; \
+ } \
+ else /* if (nextflag & MBR_DISJOINT) */ \
+ { \
+ if (DISJOINT_CMP(amin, amax, bmin, bmax)) \
+ return 1; \
+ }
+
+#define RT_CMP_KORR(type, korr_func, len, nextflag) \
+{ \
+ type amin, amax, bmin, bmax; \
+ amin = korr_func(a); \
+ bmin = korr_func(b); \
+ p_inc(a, b, len); \
+ amax = korr_func(a); \
+ bmax = korr_func(b); \
+ RT_CMP(nextflag); \
+ p_inc(a, b, len); \
+ break; \
+}
+
+#define RT_CMP_GET(type, get_func, len, nextflag) \
+{ \
+ type amin, amax, bmin, bmax; \
+ get_func(amin, a); \
+ get_func(bmin, b); \
+ p_inc(a, b, len); \
+ get_func(amax, a); \
+ get_func(bmax, b); \
+ RT_CMP(nextflag); \
+ p_inc(a, b, len); \
+ break; \
+}
+
+/*
+ Compares two keys a and b depending on nextflag
+ nextflag can contain these flags:
+ MBR_INTERSECT(a,b) a overlaps b
+ MBR_CONTAIN(a,b) a contains b
+ MBR_DISJOINT(a,b) a disjoint b
+ MBR_WITHIN(a,b) a within b
+ MBR_EQUAL(a,b) All coordinates of MBRs are equal
+ MBR_DATA(a,b) Data reference is the same
+ Returns 0 on success.
+*/
+int rtree_key_cmp(MI_KEYSEG *keyseg, uchar *b, uchar *a, uint key_length,
+ uint nextflag)
+{
+ for (; (int) key_length > 0; keyseg += 2 )
+ {
+ key_length -= keyseg->length * 2;
+
+ switch ((enum ha_base_keytype) keyseg->type) {
+ case HA_KEYTYPE_TEXT:
+ case HA_KEYTYPE_BINARY:
+ case HA_KEYTYPE_VARTEXT:
+ case HA_KEYTYPE_VARBINARY:
+ case HA_KEYTYPE_NUM:
+ default:
+ return 1;
+ break;
+ case HA_KEYTYPE_INT8:
+ {
+ int amin,amax,bmin,bmax;
+ amin = (int)*((signed char *)a);
+ bmin = (int)*((signed char *)b);
+ p_inc(a, b, 1);
+ amax = (int)*((signed char *)a);
+ bmax = (int)*((signed char *)b);
+ RT_CMP(nextflag);
+ p_inc(a, b, 1);
+ break;
+ }
+ case HA_KEYTYPE_SHORT_INT:
+ RT_CMP_KORR(int16, mi_sint2korr, 2, nextflag);
+ case HA_KEYTYPE_USHORT_INT:
+ RT_CMP_KORR(uint16, mi_uint2korr, 2, nextflag);
+ case HA_KEYTYPE_INT24:
+ RT_CMP_KORR(int32, mi_sint3korr, 3, nextflag);
+ case HA_KEYTYPE_UINT24:
+ RT_CMP_KORR(uint32, mi_uint3korr, 3, nextflag);
+ case HA_KEYTYPE_LONG_INT:
+ RT_CMP_KORR(int32, mi_sint4korr, 4, nextflag);
+ case HA_KEYTYPE_ULONG_INT:
+ RT_CMP_KORR(uint32, mi_uint4korr, 4, nextflag);
+#ifdef HAVE_LONG_LONG
+ case HA_KEYTYPE_LONGLONG:
+ RT_CMP_KORR(longlong, mi_sint8korr, 8, nextflag)
+ case HA_KEYTYPE_ULONGLONG:
+ RT_CMP_KORR(ulonglong, mi_uint8korr, 8, nextflag)
+#endif
+ case HA_KEYTYPE_FLOAT:
+ RT_CMP_GET(float, mi_float4get, 4, nextflag);
+ case HA_KEYTYPE_DOUBLE:
+ RT_CMP_GET(double, mi_float8get, 8, nextflag);
+ case HA_KEYTYPE_END:
+ goto end;
+ }
+ }
+
+end:
+ if (nextflag & MBR_DATA)
+ {
+ uchar *end = a + keyseg->length;
+ do
+ {
+ if (*a++ != *b++)
+ return FCMP(a[-1], b[-1]);
+ } while (a != end);
+ }
+ return 0;
+}
+
+#define RT_VOL_KORR(type, korr_func, len) \
+{ \
+ type amin, amax; \
+ amin = korr_func(a); \
+ a += len; \
+ amax = korr_func(a); \
+ a += len; \
+ res *= ((double)amax - (double)amin); \
+ break; \
+}
+
+#define RT_VOL_GET(type, get_func, len) \
+{ \
+ type amin, amax; \
+ get_func(amin, a); \
+ a += len; \
+ get_func(amax, a); \
+ a += len; \
+ res *= ((double)amax - (double)amin); \
+ break; \
+}
+
+/*
+ Calculates rectangle volume
+*/
+double rtree_rect_volume(MI_KEYSEG *keyseg, uchar *a, uint key_length)
+{
+ double res = 1;
+ for (; (int)key_length > 0; keyseg += 2)
+ {
+ key_length -= keyseg->length * 2;
+
+ switch ((enum ha_base_keytype) keyseg->type) {
+ case HA_KEYTYPE_TEXT:
+ case HA_KEYTYPE_BINARY:
+ case HA_KEYTYPE_VARTEXT:
+ case HA_KEYTYPE_VARBINARY:
+ case HA_KEYTYPE_NUM:
+ default:
+ return 1;
+ break;
+ case HA_KEYTYPE_INT8:
+ {
+ int amin, amax;
+ amin = (int)*((signed char *)a);
+ a += 1;
+ amax = (int)*((signed char *)a);
+ a += 1;
+ res *= ((double)amax - (double)amin);
+ break;
+ }
+ case HA_KEYTYPE_SHORT_INT:
+ RT_VOL_KORR(int16, mi_sint2korr, 2);
+ case HA_KEYTYPE_USHORT_INT:
+ RT_VOL_KORR(uint16, mi_uint2korr, 2);
+ case HA_KEYTYPE_INT24:
+ RT_VOL_KORR(int32, mi_sint3korr, 3);
+ case HA_KEYTYPE_UINT24:
+ RT_VOL_KORR(uint32, mi_uint3korr, 3);
+ case HA_KEYTYPE_LONG_INT:
+ RT_VOL_KORR(int32, mi_sint4korr, 4);
+ case HA_KEYTYPE_ULONG_INT:
+ RT_VOL_KORR(uint32, mi_uint4korr, 4);
+#ifdef HAVE_LONG_LONG
+ case HA_KEYTYPE_LONGLONG:
+ RT_VOL_KORR(longlong, mi_sint8korr, 8);
+ case HA_KEYTYPE_ULONGLONG:
+ RT_VOL_KORR(ulonglong, mi_uint8korr, 8);
+#endif
+ case HA_KEYTYPE_FLOAT:
+ RT_VOL_GET(float, mi_float4get, 4);
+ case HA_KEYTYPE_DOUBLE:
+ RT_VOL_GET(double, mi_float8get, 8);
+ case HA_KEYTYPE_END:
+ key_length = 0;
+ break;
+ }
+ }
+ return res;
+}
+
+#define RT_D_MBR_KORR(type, korr_func, len) \
+{ \
+ type amin, amax; \
+ amin = korr_func(a); \
+ a += len; \
+ amax = korr_func(a); \
+ a += len; \
+ *res++ = (double)amin; \
+ *res++ = (double)amax; \
+ break; \
+}
+
+#define RT_D_MBR_GET(type, get_func, len) \
+{ \
+ type amin, amax; \
+ get_func(amin, a); \
+ a += len; \
+ get_func(amax, a); \
+ a += len; \
+ *res++ = (double)amin; \
+ *res++ = (double)amax; \
+ break; \
+}
+
+/*
+ Creates an MBR as an array of doubles.
+*/
+int rtree_d_mbr(MI_KEYSEG *keyseg, uchar *a, uint key_length, double *res)
+{
+ for (; (int)key_length > 0; keyseg += 2)
+ {
+ key_length -= keyseg->length * 2;
+
+ switch ((enum ha_base_keytype) keyseg->type) {
+ case HA_KEYTYPE_TEXT:
+ case HA_KEYTYPE_BINARY:
+ case HA_KEYTYPE_VARTEXT:
+ case HA_KEYTYPE_VARBINARY:
+ case HA_KEYTYPE_NUM:
+ default:
+ return 1;
+ break;
+ case HA_KEYTYPE_INT8:
+ {
+ int amin, amax;
+ amin = (int)*((signed char *)a);
+ a += 1;
+ amax = (int)*((signed char *)a);
+ a += 1;
+ *res++ = (double)amin;
+ *res++ = (double)amax;
+ break;
+ }
+ case HA_KEYTYPE_SHORT_INT:
+ RT_D_MBR_KORR(int16, mi_sint2korr, 2);
+ case HA_KEYTYPE_USHORT_INT:
+ RT_D_MBR_KORR(uint16, mi_uint2korr, 2);
+ case HA_KEYTYPE_INT24:
+ RT_D_MBR_KORR(int32, mi_sint3korr, 3);
+ case HA_KEYTYPE_UINT24:
+ RT_D_MBR_KORR(uint32, mi_uint3korr, 3);
+ case HA_KEYTYPE_LONG_INT:
+ RT_D_MBR_KORR(int32, mi_sint4korr, 4);
+ case HA_KEYTYPE_ULONG_INT:
+ RT_D_MBR_KORR(uint32, mi_uint4korr, 4);
+#ifdef HAVE_LONG_LONG
+ case HA_KEYTYPE_LONGLONG:
+ RT_D_MBR_KORR(longlong, mi_sint8korr, 8);
+ case HA_KEYTYPE_ULONGLONG:
+ RT_D_MBR_KORR(ulonglong, mi_uint8korr, 8);
+#endif
+ case HA_KEYTYPE_FLOAT:
+ RT_D_MBR_GET(float, mi_float4get, 4);
+ case HA_KEYTYPE_DOUBLE:
+ RT_D_MBR_GET(double, mi_float8get, 8);
+ case HA_KEYTYPE_END:
+ key_length = 0;
+ break;
+ }
+ }
+ return 0;
+}
+
+#define RT_COMB_KORR(type, korr_func, store_func, len) \
+{ \
+ type amin, amax, bmin, bmax; \
+ amin = korr_func(a); \
+ bmin = korr_func(b); \
+ p_inc(a, b, len); \
+ amax = korr_func(a); \
+ bmax = korr_func(b); \
+ p_inc(a, b, len); \
+ amin = min(amin, bmin); \
+ amax = max(amax, bmax); \
+ store_func(c, amin); \
+ c += len; \
+ store_func(c, amax); \
+ c += len; \
+ break; \
+}
+
+#define RT_COMB_GET(type, get_func, store_func, len) \
+{ \
+ type amin, amax, bmin, bmax; \
+ get_func(amin, a); \
+ get_func(bmin, b); \
+ p_inc(a, b, len); \
+ get_func(amax, a); \
+ get_func(bmax, b); \
+ p_inc(a, b, len); \
+ amin = min(amin, bmin); \
+ amax = max(amax, bmax); \
+ store_func(c, amin); \
+ c += len; \
+ store_func(c, amax); \
+ c += len; \
+ break; \
+}
+
+/*
+Creates common minimal bounding rectungle
+for two input rectagnles a and b
+Result is written to c
+*/
+int rtree_combine_rect(MI_KEYSEG *keyseg, uchar* a, uchar* b, uchar* c,
+ uint key_length)
+{
+
+ for ( ; (int) key_length > 0 ; keyseg += 2)
+ {
+ key_length -= keyseg->length * 2;
+
+ switch ((enum ha_base_keytype) keyseg->type) {
+ case HA_KEYTYPE_TEXT:
+ case HA_KEYTYPE_BINARY:
+ case HA_KEYTYPE_VARTEXT:
+ case HA_KEYTYPE_VARBINARY:
+ case HA_KEYTYPE_NUM:
+ default:
+ return 1;
+ break;
+ case HA_KEYTYPE_INT8:
+ {
+ int amin, amax, bmin, bmax;
+ amin = (int)*((signed char *)a);
+ bmin = (int)*((signed char *)b);
+ p_inc(a, b, 1);
+ amax = (int)*((signed char *)a);
+ bmax = (int)*((signed char *)b);
+ p_inc(a, b, 1);
+ amin = min(amin, bmin);
+ amax = max(amax, bmax);
+ *((signed char*)c) = amin;
+ c += 1;
+ *((signed char*)c) = amax;
+ c += 1;
+ break;
+ }
+ case HA_KEYTYPE_SHORT_INT:
+ RT_COMB_KORR(int16, mi_sint2korr, mi_int2store, 2);
+ case HA_KEYTYPE_USHORT_INT:
+ RT_COMB_KORR(uint16, mi_uint2korr, mi_int2store, 2);
+ case HA_KEYTYPE_INT24:
+ RT_COMB_KORR(int32, mi_sint3korr, mi_int3store, 3);
+ case HA_KEYTYPE_UINT24:
+ RT_COMB_KORR(uint32, mi_uint3korr, mi_int3store, 3);
+ case HA_KEYTYPE_LONG_INT:
+ RT_COMB_KORR(int32, mi_sint4korr, mi_int4store, 4);
+ case HA_KEYTYPE_ULONG_INT:
+ RT_COMB_KORR(uint32, mi_uint4korr, mi_int4store, 4);
+#ifdef HAVE_LONG_LONG
+ case HA_KEYTYPE_LONGLONG:
+ RT_COMB_KORR(longlong, mi_sint8korr, mi_int8store, 8);
+ case HA_KEYTYPE_ULONGLONG:
+ RT_COMB_KORR(ulonglong, mi_uint8korr, mi_int8store, 8);
+#endif
+ case HA_KEYTYPE_FLOAT:
+ RT_COMB_GET(float, mi_float4get, mi_float4store, 4);
+ case HA_KEYTYPE_DOUBLE:
+ RT_COMB_GET(double, mi_float8get, mi_float8store, 8);
+ case HA_KEYTYPE_END:
+ return 0;
+ }
+ }
+ return 0;
+}
+
+#define RT_OVL_AREA_KORR(type, korr_func, len) \
+{ \
+ type amin, amax, bmin, bmax; \
+ amin = korr_func(a); \
+ bmin = korr_func(b); \
+ p_inc(a, b, len); \
+ amax = korr_func(a); \
+ bmax = korr_func(b); \
+ p_inc(a, b, len); \
+ amin = max(amin, bmin); \
+ amax = min(amax, bmax); \
+ if (amin >= amax) \
+ return 0; \
+ res *= amax - amin; \
+ break; \
+}
+
+#define RT_OVL_AREA_GET(type, get_func, len) \
+{ \
+ type amin, amax, bmin, bmax; \
+ get_func(amin, a); \
+ get_func(bmin, b); \
+ p_inc(a, b, len); \
+ get_func(amax, a); \
+ get_func(bmax, b); \
+ p_inc(a, b, len); \
+ amin = max(amin, bmin); \
+ amax = min(amax, bmax); \
+ if (amin >= amax) \
+ return 0; \
+ res *= amax - amin; \
+ break; \
+}
+
+/*
+Calculates overlapping area of two MBRs a & b
+*/
+double rtree_overlapping_area(MI_KEYSEG *keyseg, uchar* a, uchar* b,
+ uint key_length)
+{
+ double res = 1;
+ for (; (int) key_length > 0 ; keyseg += 2)
+ {
+ key_length -= keyseg->length * 2;
+
+ switch ((enum ha_base_keytype) keyseg->type) {
+ case HA_KEYTYPE_TEXT:
+ case HA_KEYTYPE_BINARY:
+ case HA_KEYTYPE_VARTEXT:
+ case HA_KEYTYPE_VARBINARY:
+ case HA_KEYTYPE_NUM:
+ default:
+ return -1;
+ break;
+ case HA_KEYTYPE_INT8:
+ {
+ int amin, amax, bmin, bmax;
+ amin = (int)*((signed char *)a);
+ bmin = (int)*((signed char *)b);
+ p_inc(a, b, 1);
+ amax = (int)*((signed char *)a);
+ bmax = (int)*((signed char *)b);
+ p_inc(a, b, 1);
+ amin = max(amin, bmin);
+ amax = min(amax, bmax);
+ if (amin >= amax)
+ return 0;
+ res *= amax - amin;
+ break;
+ }
+ case HA_KEYTYPE_SHORT_INT:
+ RT_OVL_AREA_KORR(int16, mi_sint2korr, 2);
+ case HA_KEYTYPE_USHORT_INT:
+ RT_OVL_AREA_KORR(uint16, mi_uint2korr, 2);
+ case HA_KEYTYPE_INT24:
+ RT_OVL_AREA_KORR(int32, mi_sint3korr, 3);
+ case HA_KEYTYPE_UINT24:
+ RT_OVL_AREA_KORR(uint32, mi_uint3korr, 3);
+ case HA_KEYTYPE_LONG_INT:
+ RT_OVL_AREA_KORR(int32, mi_sint4korr, 4);
+ case HA_KEYTYPE_ULONG_INT:
+ RT_OVL_AREA_KORR(uint32, mi_uint4korr, 4);
+#ifdef HAVE_LONG_LONG
+ case HA_KEYTYPE_LONGLONG:
+ RT_OVL_AREA_KORR(longlong, mi_sint8korr, 8);
+ case HA_KEYTYPE_ULONGLONG:
+ RT_OVL_AREA_KORR(ulonglong, mi_uint8korr, 8);
+#endif
+ case HA_KEYTYPE_FLOAT:
+ RT_OVL_AREA_GET(float, mi_float4get, 4);
+ case HA_KEYTYPE_DOUBLE:
+ RT_OVL_AREA_GET(double, mi_float8get, 8);
+ case HA_KEYTYPE_END:
+ return res;
+ }
+ }
+ return res;
+}
+
+#define RT_AREA_INC_KORR(type, korr_func, len) \
+{ \
+ type amin, amax, bmin, bmax; \
+ amin = korr_func(a); \
+ bmin = korr_func(b); \
+ p_inc(a, b, len); \
+ amax = korr_func(a); \
+ bmax = korr_func(b); \
+ p_inc(a, b, len); \
+ a_area *= (((double)amax) - ((double)amin)); \
+ *ab_area *= ((double)max(amax, bmax) - (double)min(amin, bmin)); \
+ break; \
+}
+
+#define RT_AREA_INC_GET(type, get_func, len)\
+{\
+ type amin, amax, bmin, bmax; \
+ get_func(amin, a); \
+ get_func(bmin, b); \
+ p_inc(a, b, len); \
+ get_func(amax, a); \
+ get_func(bmax, b); \
+ p_inc(a, b, len); \
+ a_area *= (((double)amax) - ((double)amin)); \
+ *ab_area *= ((double)max(amax, bmax) - (double)min(amin, bmin)); \
+ break; \
+}
+
+/*
+Calculates MBR_AREA(a+b) - MBR_AREA(a)
+*/
+double rtree_area_increase(MI_KEYSEG *keyseg, uchar* a, uchar* b,
+ uint key_length, double *ab_area)
+{
+ double a_area = 1;
+
+ *ab_area = 1;
+ for (; (int)key_length > 0; keyseg += 2)
+ {
+ key_length -= keyseg->length * 2;
+
+ /* Handle NULL part */
+ if (keyseg->null_bit)
+ {
+ return -1;
+ }
+
+ switch ((enum ha_base_keytype) keyseg->type) {
+ case HA_KEYTYPE_TEXT:
+ case HA_KEYTYPE_BINARY:
+ case HA_KEYTYPE_VARTEXT:
+ case HA_KEYTYPE_VARBINARY:
+ case HA_KEYTYPE_NUM:
+ default:
+ return 1;
+ break;
+ case HA_KEYTYPE_INT8:
+ {
+ int amin, amax, bmin, bmax;
+ amin = (int)*((signed char *)a);
+ bmin = (int)*((signed char *)b);
+ p_inc(a, b, 1);
+ amax = (int)*((signed char *)a);
+ bmax = (int)*((signed char *)b);
+ p_inc(a, b, 1);
+ a_area *= (((double)amax) - ((double)amin));
+ *ab_area *= ((double)max(amax, bmax) - (double)min(amin, bmin));
+ break;
+ }
+ case HA_KEYTYPE_SHORT_INT:
+ RT_AREA_INC_KORR(int16, mi_sint2korr, 2);
+ case HA_KEYTYPE_USHORT_INT:
+ RT_AREA_INC_KORR(uint16, mi_uint2korr, 2);
+ case HA_KEYTYPE_INT24:
+ RT_AREA_INC_KORR(int32, mi_sint3korr, 3);
+ case HA_KEYTYPE_UINT24:
+ RT_AREA_INC_KORR(int32, mi_uint3korr, 3);
+ case HA_KEYTYPE_LONG_INT:
+ RT_AREA_INC_KORR(int32, mi_sint4korr, 4);
+ case HA_KEYTYPE_ULONG_INT:
+ RT_AREA_INC_KORR(uint32, mi_uint4korr, 4);
+#ifdef HAVE_LONG_LONG
+ case HA_KEYTYPE_LONGLONG:
+ RT_AREA_INC_KORR(longlong, mi_sint8korr, 8);
+ case HA_KEYTYPE_ULONGLONG:
+ RT_AREA_INC_KORR(ulonglong, mi_uint8korr, 8);
+#endif
+ case HA_KEYTYPE_FLOAT:
+ RT_AREA_INC_GET(float, mi_float4get, 4);
+ case HA_KEYTYPE_DOUBLE:
+ RT_AREA_INC_GET(double, mi_float8get, 8);
+ case HA_KEYTYPE_END:
+ return *ab_area - a_area;
+ }
+ }
+ return *ab_area - a_area;
+}
+
+#define RT_PAGE_MBR_KORR(type, korr_func, store_func, len) \
+{ \
+ type amin, amax, bmin, bmax; \
+ amin = korr_func(k + inc); \
+ amax = korr_func(k + inc + len); \
+ k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag); \
+ for (; k < last; k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag)) \
+{ \
+ bmin = korr_func(k + inc); \
+ bmax = korr_func(k + inc + len); \
+ if (amin > bmin) \
+ amin = bmin; \
+ if (amax < bmax) \
+ amax = bmax; \
+} \
+ store_func(c, amin); \
+ c += len; \
+ store_func(c, amax); \
+ c += len; \
+ inc += 2 * len; \
+ break; \
+}
+
+#define RT_PAGE_MBR_GET(type, get_func, store_func, len) \
+{ \
+ type amin, amax, bmin, bmax; \
+ get_func(amin, k + inc); \
+ get_func(amax, k + inc + len); \
+ k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag); \
+ for (; k < last; k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag)) \
+{ \
+ get_func(bmin, k + inc); \
+ get_func(bmax, k + inc + len); \
+ if (amin > bmin) \
+ amin = bmin; \
+ if (amax < bmax) \
+ amax = bmax; \
+} \
+ store_func(c, amin); \
+ c += len; \
+ store_func(c, amax); \
+ c += len; \
+ inc += 2 * len; \
+ break; \
+}
+
+/*
+Calculates key page total MBR = MBR(key1) + MBR(key2) + ...
+*/
+int rtree_page_mbr(MI_INFO *info, MI_KEYSEG *keyseg, uchar *page_buf,
+ uchar *c, uint key_length)
+{
+ uint inc = 0;
+ uint k_len = key_length;
+ uint nod_flag = mi_test_if_nod(page_buf);
+ uchar *k;
+ uchar *last = rt_PAGE_END(page_buf);
+
+ for (; (int)key_length > 0; keyseg += 2)
+ {
+ key_length -= keyseg->length * 2;
+
+ /* Handle NULL part */
+ if (keyseg->null_bit)
+ {
+ return 1;
+ }
+
+ k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
+
+ switch ((enum ha_base_keytype) keyseg->type) {
+ case HA_KEYTYPE_TEXT:
+ case HA_KEYTYPE_BINARY:
+ case HA_KEYTYPE_VARTEXT:
+ case HA_KEYTYPE_VARBINARY:
+ case HA_KEYTYPE_NUM:
+ default:
+ return 1;
+ break;
+ case HA_KEYTYPE_INT8:
+ {
+ int amin, amax, bmin, bmax;
+ amin = (int)*((signed char *)(k + inc));
+ amax = (int)*((signed char *)(k + inc + 1));
+ k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag);
+ for (; k < last; k = rt_PAGE_NEXT_KEY(k, k_len, nod_flag))
+ {
+ bmin = (int)*((signed char *)(k + inc));
+ bmax = (int)*((signed char *)(k + inc + 1));
+
+ if (amin > bmin)
+ amin = bmin;
+ if (amax < bmax)
+ amax = bmax;
+ }
+ *((signed char*)c) = amin;
+ c += 1;
+ *((signed char*)c) = amax;
+ c += 1;
+ inc += 1 * 2;
+ break;
+ }
+ case HA_KEYTYPE_SHORT_INT:
+ RT_PAGE_MBR_KORR(int16, mi_sint2korr, mi_int2store, 2);
+ case HA_KEYTYPE_USHORT_INT:
+ RT_PAGE_MBR_KORR(uint16, mi_uint2korr, mi_int2store, 2);
+ case HA_KEYTYPE_INT24:
+ RT_PAGE_MBR_KORR(int32, mi_sint3korr, mi_int3store, 3);
+ case HA_KEYTYPE_UINT24:
+ RT_PAGE_MBR_KORR(uint32, mi_uint3korr, mi_int3store, 3);
+ case HA_KEYTYPE_LONG_INT:
+ RT_PAGE_MBR_KORR(int32, mi_sint4korr, mi_int4store, 4);
+ case HA_KEYTYPE_ULONG_INT:
+ RT_PAGE_MBR_KORR(uint32, mi_uint4korr, mi_int4store, 4);
+#ifdef HAVE_LONG_LONG
+ case HA_KEYTYPE_LONGLONG:
+ RT_PAGE_MBR_KORR(longlong, mi_sint8korr, mi_int8store, 8);
+ case HA_KEYTYPE_ULONGLONG:
+ RT_PAGE_MBR_KORR(ulonglong, mi_uint8korr, mi_int8store, 8);
+#endif
+ case HA_KEYTYPE_FLOAT:
+ RT_PAGE_MBR_GET(float, mi_float4get, mi_float4store, 4);
+ case HA_KEYTYPE_DOUBLE:
+ RT_PAGE_MBR_GET(double, mi_float8get, mi_float8store, 8);
+ case HA_KEYTYPE_END:
+ return 0;
+ }
+ }
+ return 0;
+}
diff --git a/myisam/rt_mbr.h b/myisam/rt_mbr.h
new file mode 100644
index 00000000000..87af3b06c2e
--- /dev/null
+++ b/myisam/rt_mbr.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 2000 MySQL AB & Ramil Kalimullin & MySQL Finland AB
+ & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#ifndef _rt_mbr_h
+#define _rt_mbr_h
+
+int rtree_key_cmp(MI_KEYSEG *keyseg, uchar *a, uchar *b, uint key_length,
+ uint nextflag);
+int rtree_combine_rect(MI_KEYSEG *keyseg,uchar *, uchar *, uchar*,
+ uint key_length);
+double rtree_rect_volume(MI_KEYSEG *keyseg, uchar*, uint key_length);
+int rtree_d_mbr(MI_KEYSEG *keyseg, uchar *a, uint key_length, double *res);
+double rtree_overlapping_area(MI_KEYSEG *keyseg, uchar *a, uchar *b,
+ uint key_length);
+double rtree_area_increase(MI_KEYSEG *keyseg, uchar *a, uchar *b,
+ uint key_length, double *ab_area);
+int rtree_page_mbr(MI_INFO *info, MI_KEYSEG *keyseg, uchar *page_buf,
+ uchar* c, uint key_length);
+#endif /* _rt_mbr_h */
diff --git a/myisam/rt_split.c b/myisam/rt_split.c
new file mode 100644
index 00000000000..3363bbe2d9b
--- /dev/null
+++ b/myisam/rt_split.c
@@ -0,0 +1,343 @@
+/* Copyright (C) 2000 MySQL AB & Alexey Botchkov & MySQL Finland AB
+ & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#include "myisamdef.h"
+
+#include "rt_index.h"
+#include "rt_key.h"
+#include "rt_mbr.h"
+
+typedef struct
+{
+ double square;
+ int n_node;
+ uchar *key;
+ double *coords;
+} SplitStruct;
+
+inline static double *reserve_coords(double **d_buffer, int n_dim)
+{
+ double *coords = *d_buffer;
+ (*d_buffer) += n_dim * 2;
+ return coords;
+}
+
+static void mbr_join(double *a, const double *b, int n_dim)
+{
+ double *end = a + n_dim * 2;
+ do
+ {
+ if (a[0] > b[0])
+ a[0] = b[0];
+
+ if (a[1] < b[1])
+ a[1] = b[1];
+
+ a += 2;
+ b += 2;
+ }while (a != end);
+}
+
+/*
+Counts the square of mbr which is a join of a and b
+*/
+static double mbr_join_square(const double *a, const double *b, int n_dim)
+{
+ const double *end = a + n_dim * 2;
+ double square = 1.0;
+ do
+ {
+ square *=
+ ((a[1] < b[1]) ? b[1] : a[1]) - ((a[0] > b[0]) ? b[0] : a[0]);
+
+ a += 2;
+ b += 2;
+ }while (a != end);
+
+ return square;
+}
+
+static double count_square(const double *a, int n_dim)
+{
+ const double *end = a + n_dim * 2;
+ double square = 1.0;
+ do
+ {
+ square *= a[1] - a[0];
+ a += 2;
+ }while (a != end);
+ return square;
+}
+
+inline static void copy_coords(double *dst, const double *src, int n_dim)
+{
+ memcpy(dst, src, sizeof(double) * (n_dim * 2));
+}
+
+/*
+Select two nodes to collect group upon
+*/
+static void pick_seeds(SplitStruct *node, int n_entries,
+ SplitStruct **seed_a, SplitStruct **seed_b, int n_dim)
+{
+ SplitStruct *cur1;
+ SplitStruct *lim1 = node + (n_entries - 1);
+ SplitStruct *cur2;
+ SplitStruct *lim2 = node + n_entries;
+
+ double max_d = -DBL_MAX;
+ double d;
+
+ for (cur1 = node; cur1 < lim1; ++cur1)
+ {
+ for (cur2=cur1 + 1; cur2 < lim2; ++cur2)
+ {
+
+ d = mbr_join_square(cur1->coords, cur2->coords, n_dim) - cur1->square -
+ cur2->square;
+ if (d > max_d)
+ {
+ max_d = d;
+ *seed_a = cur1;
+ *seed_b = cur2;
+ }
+ }
+ }
+}
+
+/*
+Select next node and group where to add
+*/
+static void pick_next(SplitStruct *node, int n_entries, double *g1, double *g2,
+ SplitStruct **choice, int *n_group, int n_dim)
+{
+ SplitStruct *cur = node;
+ SplitStruct *end = node + n_entries;
+
+ double max_diff = -DBL_MAX;
+
+ for (; cur<end; ++cur)
+ {
+ double diff;
+ double abs_diff;
+
+ if (cur->n_node)
+ {
+ continue;
+ }
+
+ diff = mbr_join_square(g1, cur->coords, n_dim) -
+ mbr_join_square(g2, cur->coords, n_dim);
+
+ abs_diff = fabs(diff);
+ if (abs_diff > max_diff)
+ {
+ max_diff = abs_diff;
+ *n_group = 1 + (diff > 0);
+ *choice = cur;
+ }
+ }
+}
+
+/*
+Mark not-in-group entries as n_group
+*/
+static void mark_all_entries(SplitStruct *node, int n_entries, int n_group)
+{
+ SplitStruct *cur = node;
+ SplitStruct *end = node + n_entries;
+ for (; cur<end; ++cur)
+ {
+ if (cur->n_node)
+ {
+ continue;
+ }
+ cur->n_node = n_group;
+ }
+}
+
+static int split_rtree_node(SplitStruct *node, int n_entries,
+ int all_size, /* Total key's size */
+ int key_size,
+ int min_size, /* Minimal group size */
+ int size1, int size2 /* initial group sizes */,
+ double **d_buffer, int n_dim)
+{
+ SplitStruct *cur;
+ SplitStruct *a;
+ SplitStruct *b;
+ double *g1 = reserve_coords(d_buffer, n_dim);
+ double *g2 = reserve_coords(d_buffer, n_dim);
+ SplitStruct *next;
+ int next_node;
+ int i;
+ SplitStruct *end = node + n_entries;
+
+ if (all_size < min_size * 2)
+ {
+ return 1;
+ }
+
+ cur = node;
+ for (; cur<end; ++cur)
+ {
+ cur->square = count_square(cur->coords, n_dim);
+ cur->n_node = 0;
+ }
+
+ pick_seeds(node, n_entries, &a, &b, n_dim);
+ a->n_node = 1;
+ b->n_node = 2;
+
+
+ copy_coords(g1, a->coords, n_dim);
+ size1 += key_size;
+ copy_coords(g2, b->coords, n_dim);
+ size2 += key_size;
+
+
+ for (i=n_entries - 2; i>0; --i)
+ {
+ if (all_size - (size2 + key_size) < min_size) /* Can't write into group 2 */
+ {
+ mark_all_entries(node, n_entries, 1);
+ break;
+ }
+
+ if (all_size - (size1 + key_size) < min_size) /* Can't write into group 1 */
+ {
+ mark_all_entries(node, n_entries, 2);
+ break;
+ }
+
+ pick_next(node, n_entries, g1, g2, &next, &next_node, n_dim);
+ if (next_node == 1)
+ {
+ size1 += key_size;
+ mbr_join(g1, next->coords, n_dim);
+ }
+ else
+ {
+ size2 += key_size;
+ mbr_join(g2, next->coords, n_dim);
+ }
+ next->n_node = next_node;
+ }
+
+ return 0;
+}
+
+int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key,
+ uint key_length, my_off_t *new_page_offs)
+{
+ int n1, n2; /* Number of items in groups */
+
+ SplitStruct *task;
+ SplitStruct *cur;
+ SplitStruct *stop;
+ double *coord_buf;
+ double *next_coord;
+ double *old_coord;
+ int n_dim;
+ uchar *source_cur, *cur1, *cur2;
+ uchar *new_page;
+ int err_code = 0;
+
+ uint nod_flag = mi_test_if_nod(page);
+ uint full_length = key_length + (nod_flag ? nod_flag :
+ info->s->base.rec_reflength);
+
+ int max_keys = (mi_getint(page)-2) / (full_length);
+
+ n_dim = (keyinfo->keysegs-1) / 2;
+
+ {
+ int coord_buf_size = n_dim * 2 * sizeof(double) * (max_keys + 1 + 4);
+ coord_buf =
+ my_alloca(coord_buf_size + sizeof(SplitStruct) * (max_keys + 1));
+
+ task = (SplitStruct *)(((char *)coord_buf) + coord_buf_size);
+ }
+ next_coord = coord_buf;
+
+ stop = task + max_keys;
+ source_cur = rt_PAGE_FIRST_KEY(page, nod_flag);
+
+ for (cur = task; cur < stop; ++cur, source_cur = rt_PAGE_NEXT_KEY(source_cur,
+ key_length, nod_flag))
+ {
+ cur->coords = reserve_coords(&next_coord, n_dim);
+ cur->key = source_cur;
+ rtree_d_mbr(keyinfo->seg, source_cur, key_length, cur->coords);
+ }
+
+ cur->coords = reserve_coords(&next_coord, n_dim);
+ rtree_d_mbr(keyinfo->seg, key, key_length, cur->coords);
+ cur->key = key;
+
+ old_coord = next_coord;
+
+ if (split_rtree_node(task, max_keys + 1,
+ mi_getint(page) + full_length + 2, full_length,
+ rt_PAGE_MIN_SIZE(keyinfo->block_length),
+ 2, 2, &next_coord, n_dim))
+ {
+ err_code = 1;
+ goto split_err;
+ }
+
+ if (!(new_page = (uchar*)my_alloca((uint)keyinfo->block_length)))
+ return -1;
+
+ stop = task + (max_keys + 1);
+ cur1 = rt_PAGE_FIRST_KEY(page, nod_flag);
+ cur2 = rt_PAGE_FIRST_KEY(new_page, nod_flag);
+
+ n1 = 0;
+ n2 = 0;
+ for (cur = task; cur < stop; ++cur)
+ {
+ uchar *to;
+ if (cur->n_node == 1)
+ {
+ to = cur1;
+ cur1 = rt_PAGE_NEXT_KEY(cur1, key_length, nod_flag);
+ ++n1;
+ }
+ else
+ {
+ to = cur2;
+ cur2 = rt_PAGE_NEXT_KEY(cur2, key_length, nod_flag);
+ ++n2;
+ }
+ memcpy(to - nod_flag, cur->key - nod_flag, full_length);
+ }
+
+ mi_putint(page, 2 + n1 * full_length, nod_flag);
+ mi_putint(new_page, 2 + n2 * full_length, nod_flag);
+
+ *new_page_offs=_mi_new(info, keyinfo);
+ _mi_write_keypage(info, keyinfo, *new_page_offs, new_page);
+ my_afree((byte*)new_page);
+
+split_err:
+ my_afree((byte*)coord_buf);
+ return err_code;
+}
+
+
+
diff --git a/myisam/rt_test.c b/myisam/rt_test.c
new file mode 100644
index 00000000000..b18ec1fc857
--- /dev/null
+++ b/myisam/rt_test.c
@@ -0,0 +1,417 @@
+/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+/* Testing of the basic functions of a MyISAM rtree table */
+/* Written by Alex Barkov who has a shared copyright to this code */
+
+
+#include "myisam.h"
+#include "rt_index.h"
+
+#define MAX_REC_LENGTH 1024
+#define ndims 2
+#define KEYALG HA_KEY_ALG_RTREE
+
+static int read_with_pos(MI_INFO * file, int silent);
+static void create_record(char *record,uint rownr);
+static void create_record1(char *record,uint rownr);
+static void print_record(char * record,my_off_t offs,const char * tail);
+static int run_test(const char *filename);
+
+
+int main(int argc,char *argv[])
+{
+ MY_INIT(argv[0]);
+ exit(run_test("rt_test"));
+}
+
+
+
+int run_test(const char *filename)
+{
+ MI_INFO *file;
+ MI_UNIQUEDEF uniquedef;
+ MI_CREATE_INFO create_info;
+ MI_COLUMNDEF recinfo[20];
+ MI_KEYDEF keyinfo[20];
+ MI_KEYSEG keyseg[20];
+
+ int silent=0;
+ int opt_unique=0;
+ int create_flag=0;
+ int key_type=HA_KEYTYPE_DOUBLE;
+ int key_length=8;
+ int null_fields=0;
+ int nrecords=30;
+ int rec_length=0;
+ int uniques=0;
+ int i;
+ int error;
+ int row_count=0;
+ char record[MAX_REC_LENGTH];
+ char read_record[MAX_REC_LENGTH];
+ int upd=10;
+ ha_rows hrows;
+
+
+
+ /* Define a column for NULLs and DEL markers*/
+
+ recinfo[0].type=FIELD_NORMAL;
+ recinfo[0].length=1; /* For NULL bits */
+ rec_length=1;
+
+
+ /* Define 2*ndims columns for coordinates*/
+
+ for (i=1; i<=2*ndims ;i++){
+ recinfo[i].type=FIELD_NORMAL;
+ recinfo[i].length=key_length;
+ rec_length+=key_length;
+ }
+
+
+ /* Define a key with 2*ndims segments */
+
+ keyinfo[0].seg=keyseg;
+ keyinfo[0].keysegs=2*ndims;
+ keyinfo[0].flag=0;
+ keyinfo[0].key_alg=KEYALG;
+
+ for (i=0; i<2*ndims; i++){
+ keyinfo[0].seg[i].type= key_type;
+ keyinfo[0].seg[i].flag=0; /* Things like HA_REVERSE_SORT */
+ keyinfo[0].seg[i].start= (key_length*i)+1;
+ keyinfo[0].seg[i].length=key_length;
+ keyinfo[0].seg[i].null_bit= null_fields ? 2 : 0;
+ keyinfo[0].seg[i].null_pos=0;
+ keyinfo[0].seg[i].language=MY_CHARSET_CURRENT;
+ }
+
+
+ if(!silent)
+ printf("- Creating isam-file\n");
+
+ bzero((char*) &create_info,sizeof(create_info));
+ create_info.max_rows=10000000;
+
+ if (mi_create(filename,
+ 1, /* keys */
+ keyinfo,
+ 1+2*ndims+opt_unique, /* columns */
+ recinfo,uniques,&uniquedef,&create_info,create_flag))
+ goto err;
+
+
+
+
+ if(!silent)
+ printf("- Open isam-file\n");
+
+ if (!(file=mi_open(filename,2,HA_OPEN_ABORT_IF_LOCKED)))
+ goto err;
+
+
+ if (!silent)
+ printf("- Writing key:s\n");
+
+ for (i=0; i<nrecords; i++ )
+ {
+ create_record(record,i);
+ error=mi_write(file,record);
+ print_record(record,mi_position(file),"\n");
+ if (!error)
+ {
+ row_count++;
+ }
+ else
+ {
+ printf("mi_write: %d\n", error);
+ goto err;
+ }
+ }
+
+
+ if((error=read_with_pos(file,silent)))
+ goto err;
+
+
+ if (!silent)
+ printf("- Reading rows with key\n");
+
+ for (i=0 ; i < nrecords ; i++)
+ {
+ my_errno=0;
+ create_record(record,i);
+
+ bzero((char*) read_record,MAX_REC_LENGTH);
+ error=mi_rkey(file,read_record,0,record+1,0,HA_READ_MBR_EQUAL);
+
+ if(error && error!=HA_ERR_KEY_NOT_FOUND)
+ {
+ printf(" mi_rkey: %3d errno: %3d\n",error,my_errno);
+ goto err;
+ }
+ if(error == HA_ERR_KEY_NOT_FOUND)
+ {
+ print_record(record,mi_position(file)," NOT FOUND\n");
+ continue;
+ }
+ print_record(read_record,mi_position(file),"\n");
+ }
+
+
+
+
+
+ if (!silent)
+ printf("- Deleting rows\n");
+ for (i=0; i < nrecords/4; i++)
+ {
+ my_errno=0;
+ bzero((char*) read_record,MAX_REC_LENGTH);
+ error=mi_rrnd(file,read_record,i == 0 ? 0L : HA_OFFSET_ERROR);
+ if(error)
+ {
+ printf("pos: %2d mi_rrnd: %3d errno: %3d\n",i,error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file),"\n");
+
+ error=mi_delete(file,read_record);
+ if(error)
+ {
+ printf("pos: %2d mi_delete: %3d errno: %3d\n",i,error,my_errno);
+ goto err;
+ }
+ }
+
+/*
+
+ if (!silent)
+ printf("- Updating rows with position\n");
+ for (i=0; i < (nrecords - nrecords/4) ; i++)
+ {
+ my_errno=0;
+ bzero((char*) read_record,MAX_REC_LENGTH);
+ error=mi_rrnd(file,read_record,i == 0 ? 0L : HA_OFFSET_ERROR);
+ if(error)
+ {
+ if(error==HA_ERR_RECORD_DELETED)
+ continue;
+ printf("pos: %2d mi_rrnd: %3d errno: %3d\n",i,error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file),"");
+ create_record(record,i+nrecords*upd);
+ printf("\t-> ");
+ print_record(record,mi_position(file),"\n");
+ error=mi_update(file,read_record,record);
+ if(error)
+ {
+ printf("pos: %2d mi_update: %3d errno: %3d\n",i,error,my_errno);
+ goto err;
+ }
+ }
+
+*/
+
+
+ if((error=read_with_pos(file,silent)))
+ goto err;
+
+
+
+ if (!silent)
+ printf("- Test mi_rkey then a sequence of mi_rnext_same\n");
+
+ create_record(record, nrecords*4/5);
+ print_record(record,0," search for\n");
+
+ if ((error=mi_rkey(file,read_record,0,record+1,0,HA_READ_MBR_INTERSECT)))
+ {
+ printf("mi_rkey: %3d errno: %3d\n",error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file)," mi_rkey\n");
+ row_count=1;
+
+
+ do {
+ if((error=mi_rnext_same(file,read_record)))
+ {
+ if(error==HA_ERR_END_OF_FILE)
+ break;
+ printf("mi_next: %3d errno: %3d\n",error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file)," mi_rnext_same\n");
+ row_count++;
+ }while(1);
+ printf(" %d rows\n",row_count);
+
+
+
+
+
+
+ if (!silent)
+ printf("- Test mi_rfirst then a sequence of mi_rnext\n");
+
+ error=mi_rfirst(file,read_record,0);
+ if (error)
+ {
+ printf("mi_rfirst: %3d errno: %3d\n",error,my_errno);
+ goto err;
+ }
+ row_count=1;
+ print_record(read_record,mi_position(file)," mi_frirst\n");
+
+ for(i=0;i<nrecords;i++) {
+ if((error=mi_rnext(file,read_record,0)))
+ {
+ if(error==HA_ERR_END_OF_FILE)
+ break;
+ printf("mi_next: %3d errno: %3d\n",error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file)," mi_rnext\n");
+ row_count++;
+ }
+ printf(" %d rows\n",row_count);
+
+
+ if (!silent)
+ printf("- Test mi_records_in_range()\n");
+
+ create_record1(record, nrecords*4/5);
+ print_record(record,0,"\n");
+ hrows=mi_records_in_range(file,0,record+1,0,HA_READ_MBR_INTERSECT,record+1,0,0);
+ printf(" %ld rows\n",hrows);
+
+
+ if (mi_close(file)) goto err;
+ my_end(MY_CHECK_ERROR);
+
+ return 0;
+
+err:
+ printf("got error: %3d when using myisam-database\n",my_errno);
+ return 1; /* skipp warning */
+}
+
+
+
+static int read_with_pos (MI_INFO * file,int silent)
+{
+ int error;
+ int i;
+ char read_record[MAX_REC_LENGTH];
+
+ if (!silent)
+ printf("- Reading rows with position\n");
+ for (i=0;;i++)
+ {
+ my_errno=0;
+ bzero((char*) read_record,MAX_REC_LENGTH);
+ error=mi_rrnd(file,read_record,i == 0 ? 0L : HA_OFFSET_ERROR);
+ if(error)
+ {
+ if(error==HA_ERR_END_OF_FILE)
+ break;
+ if(error==HA_ERR_RECORD_DELETED)
+ continue;
+ printf("pos: %2d mi_rrnd: %3d errno: %3d\n",i,error,my_errno);
+ return error;
+ }
+ print_record(read_record,mi_position(file),"\n");
+ }
+ return 0;
+}
+
+
+static void bprint_record(char * record, my_off_t offs,const char * tail)
+{
+ int i;
+ char * pos;
+ i=(unsigned char)record[0];
+ printf("%02X ",i);
+
+ for( pos=record+1, i=0; i<32; i++,pos++){
+ int b=(unsigned char)*pos;
+ printf("%02X",b);
+ }
+ printf("%s",tail);
+}
+
+static void print_record(char * record, my_off_t offs,const char * tail)
+{
+ int i;
+ char * pos;
+ double c;
+
+ printf(" rec=(%d)",(unsigned char)record[0]);
+ for ( pos=record+1, i=0; i<2*ndims; i++)
+ {
+ memcpy(&c,pos,sizeof(c));
+ float8get(c,pos);
+ printf(" %.14g ",c);
+ pos+=sizeof(c);
+ }
+ printf("pos=%ld",(long int)offs);
+ printf("%s",tail);
+}
+
+
+
+static void create_record1(char *record,uint rownr)
+{
+ int i;
+ char * pos;
+ double c=rownr+10;
+
+ bzero((char*) record,MAX_REC_LENGTH);
+ record[0]=0x01; /* DEL marker */
+
+ for ( pos=record+1, i=0; i<2*ndims; i++)
+ {
+ memcpy(pos,&c,sizeof(c));
+ float8store(pos,c);
+ pos+=sizeof(c);
+ }
+}
+
+
+static void create_record(char *record,uint rownr)
+{
+ int i;
+ char * pos;
+ double c=rownr+10;
+ double c0=0;
+
+ bzero((char*) record,MAX_REC_LENGTH);
+ record[0]=0x01; /* DEL marker */
+
+ for ( pos=record+1, i=0; i<ndims; i++)
+ {
+ memcpy(pos,&c0,sizeof(c0));
+ float8store(pos,c0);
+ pos+=sizeof(c0);
+ memcpy(pos,&c,sizeof(c));
+ float8store(pos,c);
+ pos+=sizeof(c);
+ }
+}
diff --git a/myisam/sp_defs.h b/myisam/sp_defs.h
new file mode 100644
index 00000000000..0acefe32f80
--- /dev/null
+++ b/myisam/sp_defs.h
@@ -0,0 +1,45 @@
+/* Copyright (C) 2000 MySQL AB & Ramil Kalimullin & MySQL Finland AB
+ & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#ifndef _SP_DEFS_H
+#define _SP_DEFS_H
+
+#define SPDIMS 2
+#define SPTYPE HA_KEYTYPE_DOUBLE
+#define SPLEN 8
+
+enum wkbType
+{
+ wkbPoint = 1,
+ wkbLineString = 2,
+ wkbPolygon = 3,
+ wkbMultiPoint = 4,
+ wkbMultiLineString = 5,
+ wkbMultiPolygon = 6,
+ wkbGeometryCollection = 7
+};
+
+enum wkbByteOrder
+{
+ wkbXDR = 0, /* Big Endian */
+ wkbNDR = 1 /* Little Endian */
+};
+
+uint sp_make_key(register MI_INFO *info, uint keynr, uchar *key,
+ const byte *record, my_off_t filepos);
+
+#endif /* _SP_DEFS_H */
diff --git a/myisam/sp_key.c b/myisam/sp_key.c
new file mode 100644
index 00000000000..0230ce04f76
--- /dev/null
+++ b/myisam/sp_key.c
@@ -0,0 +1,256 @@
+/* Copyright (C) 2000 MySQL AB & Ramil Kalimullin & MySQL Finland AB
+ & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#include "myisamdef.h"
+#include "sp_defs.h"
+
+static int sp_add_point_to_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ uchar byte_order, double *mbr);
+static int sp_get_point_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ uchar byte_order, double *mbr);
+static int sp_get_linestring_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ uchar byte_order, double *mbr);
+static int sp_get_polygon_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ uchar byte_order, double *mbr);
+static int sp_get_geometry_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ double *mbr, int top);
+static int sp_mbr_from_wkb(uchar (*wkb), uint size, uint n_dims, double *mbr);
+
+uint sp_make_key(register MI_INFO *info, uint keynr, uchar *key,
+ const byte *record, my_off_t filepos)
+{
+ MI_KEYSEG *keyseg;
+ MI_KEYDEF *keyinfo = &info->s->keyinfo[keynr];
+ uint len = 0;
+ byte *pos;
+ uint dlen;
+ uchar *dptr;
+ double mbr[SPDIMS * 2];
+ uint i;
+
+ keyseg = &keyinfo->seg[-1];
+ pos = (byte*)record + keyseg->start;
+
+ dlen = _mi_calc_blob_length(keyseg->bit_start, pos);
+ memcpy_fixed(&dptr, pos + keyseg->bit_start, sizeof(char*));
+ sp_mbr_from_wkb(dptr, dlen, SPDIMS, mbr);
+
+ for (i = 0, keyseg = keyinfo->seg; keyseg->type; keyseg++, i++)
+ {
+ uint length = keyseg->length;
+
+ pos = ((byte*)mbr) + keyseg->start;
+ if (keyseg->flag & HA_SWAP_KEY)
+ {
+ pos += length;
+ while (length--)
+ {
+ *key++ = *--pos;
+ }
+ }
+ else
+ {
+ memcpy((byte*)key, pos, length);
+ key += keyseg->length;
+ }
+ len += keyseg->length;
+ }
+ _mi_dpointer(info, key, filepos);
+ return len;
+}
+
+/*
+Calculate minimal bounding rectangle (mbr) of the spatial object
+stored in "well-known binary representation" (wkb) format.
+*/
+static int sp_mbr_from_wkb(uchar *wkb, uint size, uint n_dims, double *mbr)
+{
+ uint i;
+
+ for (i=0; i < n_dims; ++i)
+ {
+ mbr[i * 2] = DBL_MAX;
+ mbr[i * 2 + 1] = -DBL_MAX;
+ }
+
+ return sp_get_geometry_mbr(&wkb, wkb + size, n_dims, mbr, 1);
+}
+
+/*
+Add one point stored in wkb to mbr
+*/
+static int sp_add_point_to_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ uchar byte_order, double *mbr)
+{
+ double ord;
+ double *mbr_end = mbr + n_dims * 2;
+
+ while (mbr < mbr_end)
+ {
+ if ((*wkb) > end - 8)
+ return -1;
+ float8get(ord, (*wkb));
+ (*wkb) += 8;
+ if (ord < *mbr)
+ *mbr = ord;
+ mbr++;
+ if (ord > *mbr)
+ *mbr = ord;
+ mbr++;
+ }
+ return 0;
+}
+
+static int sp_get_point_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ uchar byte_order, double *mbr)
+{
+ return sp_add_point_to_mbr(wkb, end, n_dims, byte_order, mbr);
+}
+
+static int sp_get_linestring_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ uchar byte_order, double *mbr)
+{
+ uint n_points;
+
+ n_points = uint4korr(*wkb);
+ (*wkb) += 4;
+ for (; n_points > 0; --n_points)
+ {
+ /* Add next point to mbr */
+ if (sp_add_point_to_mbr(wkb, end, n_dims, byte_order, mbr))
+ return -1;
+ }
+ return 0;
+}
+
+static int sp_get_polygon_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ uchar byte_order, double *mbr)
+{
+ uint n_linear_rings;
+ uint n_points;
+
+ n_linear_rings = uint4korr((*wkb));
+ (*wkb) += 4;
+
+ for (; n_linear_rings > 0; --n_linear_rings)
+ {
+ n_points = uint4korr((*wkb));
+ (*wkb) += 4;
+ for (; n_points > 0; --n_points)
+ {
+ /* Add next point to mbr */
+ if (sp_add_point_to_mbr(wkb, end, n_dims, byte_order, mbr))
+ return -1;
+ }
+ }
+ return 0;
+}
+
+static int sp_get_geometry_mbr(uchar *(*wkb), uchar *end, uint n_dims,
+ double *mbr, int top)
+{
+ int res;
+ uchar byte_order;
+ uint wkb_type;
+
+ byte_order = *(*wkb);
+ ++(*wkb);
+
+ wkb_type = uint4korr((*wkb));
+ (*wkb) += 4;
+
+ switch ((enum wkbType) wkb_type)
+ {
+ case wkbPoint:
+ res = sp_get_point_mbr(wkb, end, n_dims, byte_order, mbr);
+ break;
+ case wkbLineString:
+ res = sp_get_linestring_mbr(wkb, end, n_dims, byte_order, mbr);
+ break;
+ case wkbPolygon:
+ res = sp_get_polygon_mbr(wkb, end, n_dims, byte_order, mbr);
+ break;
+ case wkbMultiPoint:
+ {
+ uint n_items;
+ n_items = uint4korr((*wkb));
+ (*wkb) += 4;
+ for (; n_items > 0; --n_items)
+ {
+ byte_order = *(*wkb);
+ ++(*wkb);
+ (*wkb) += 4;
+ if (sp_get_point_mbr(wkb, end, n_dims, byte_order, mbr))
+ return -1;
+ }
+ res = 0;
+ break;
+ }
+ case wkbMultiLineString:
+ {
+ uint n_items;
+ n_items = uint4korr((*wkb));
+ (*wkb) += 4;
+ for (; n_items > 0; --n_items)
+ {
+ byte_order = *(*wkb);
+ ++(*wkb);
+ (*wkb) += 4;
+ if (sp_get_linestring_mbr(wkb, end, n_dims, byte_order, mbr))
+ return -1;
+ }
+ res = 0;
+ break;
+ }
+ case wkbMultiPolygon:
+ {
+ uint n_items;
+ n_items = uint4korr((*wkb));
+ (*wkb) += 4;
+ for (; n_items > 0; --n_items)
+ {
+ byte_order = *(*wkb);
+ ++(*wkb);
+ (*wkb) += 4;
+ if (sp_get_polygon_mbr(wkb, end, n_dims, byte_order, mbr))
+ return -1;
+ }
+ res = 0;
+ break;
+ }
+ case wkbGeometryCollection:
+ {
+ uint n_items;
+
+ if (!top)
+ return -1;
+
+ n_items = uint4korr((*wkb));
+ (*wkb) += 4;
+ for (; n_items > 0; --n_items)
+ {
+ if (sp_get_geometry_mbr(wkb, end, n_dims, mbr, 0))
+ return -1;
+ }
+ res = 0;
+ break;
+ }
+ default:
+ res = -1;
+ }
+ return res;
+}
diff --git a/myisam/sp_test.c b/myisam/sp_test.c
new file mode 100644
index 00000000000..9fc130eb6de
--- /dev/null
+++ b/myisam/sp_test.c
@@ -0,0 +1,565 @@
+/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+/* Testing of the basic functions of a MyISAM spatial table */
+/* Written by Alex Barkov, who has a shared copyright to this code */
+
+#include "myisam.h"
+#include "sp_defs.h"
+
+#define MAX_REC_LENGTH 1024
+#define KEYALG HA_KEY_ALG_RTREE
+
+static void create_point(char *record,uint rownr);
+static void create_linestring(char *record,uint rownr);
+static void print_record(char * record,my_off_t offs,const char * tail);
+
+static void create_key(char *key,uint rownr);
+static void print_key(const char *key,const char * tail);
+
+static int run_test(const char *filename);
+static int read_with_pos(MI_INFO * file, int silent);
+
+static int rtree_CreatePointWKB(double *ords, uint n_dims, uchar *wkb);
+static int rtree_CreateLineStringWKB(double *ords, uint n_dims, uint n_points, uchar *wkb);
+static void rtree_PrintWKB(uchar *wkb, uint n_dims);
+
+
+static char blob_key[MAX_REC_LENGTH];
+
+
+int main(int argc,char *argv[])
+{
+ MY_INIT(argv[0]);
+ exit(run_test("sp_test"));
+}
+
+
+
+int run_test(const char *filename)
+{
+ MI_INFO *file;
+ MI_UNIQUEDEF uniquedef;
+ MI_CREATE_INFO create_info;
+ MI_COLUMNDEF recinfo[20];
+ MI_KEYDEF keyinfo[20];
+ MI_KEYSEG keyseg[20];
+
+ int silent=0;
+ int create_flag=0;
+ int null_fields=0;
+ int nrecords=30;
+ int uniques=0;
+ int i;
+ int error;
+ int row_count=0;
+ char record[MAX_REC_LENGTH];
+ char key[MAX_REC_LENGTH];
+ char read_record[MAX_REC_LENGTH];
+ int upd=10;
+ ha_rows hrows;
+
+ /* Define a column for NULLs and DEL markers*/
+
+ recinfo[0].type=FIELD_NORMAL;
+ recinfo[0].length=1; /* For NULL bits */
+
+
+ /* Define spatial column */
+
+ recinfo[1].type=FIELD_BLOB;
+ recinfo[1].length=4 + mi_portable_sizeof_char_ptr;
+
+
+
+ /* Define a key with 1 spatial segment */
+
+ keyinfo[0].seg=keyseg;
+ keyinfo[0].keysegs=1;
+ keyinfo[0].flag=HA_SPATIAL;
+ keyinfo[0].key_alg=KEYALG;
+
+ keyinfo[0].seg[0].type= HA_KEYTYPE_BINARY;
+ keyinfo[0].seg[0].flag=0;
+ keyinfo[0].seg[0].start= 1;
+ keyinfo[0].seg[0].length=1; /* Spatial ignores it anyway */
+ keyinfo[0].seg[0].null_bit= null_fields ? 2 : 0;
+ keyinfo[0].seg[0].null_pos=0;
+ keyinfo[0].seg[0].language=MY_CHARSET_CURRENT;
+ keyinfo[0].seg[0].bit_start=4; /* Long BLOB */
+
+
+ if(!silent)
+ printf("- Creating isam-file\n");
+
+ bzero((char*) &create_info,sizeof(create_info));
+ create_info.max_rows=10000000;
+
+ if (mi_create(filename,
+ 1, /* keys */
+ keyinfo,
+ 2, /* columns */
+ recinfo,uniques,&uniquedef,&create_info,create_flag))
+ goto err;
+
+
+
+
+ if(!silent)
+ printf("- Open isam-file\n");
+
+ if (!(file=mi_open(filename,2,HA_OPEN_ABORT_IF_LOCKED)))
+ goto err;
+
+
+
+ if (!silent)
+ printf("- Writing key:s\n");
+
+ for (i=0; i<nrecords; i++ )
+ {
+ create_linestring(record,i);
+ error=mi_write(file,record);
+ print_record(record,mi_position(file),"\n");
+ if (!error)
+ {
+ row_count++;
+ }
+ else
+ {
+ printf("mi_write: %d\n", error);
+ goto err;
+ }
+ }
+
+
+ if((error=read_with_pos(file,silent)))
+ goto err;
+
+
+ if (!silent)
+ printf("- Deleting rows with position\n");
+ for (i=0; i < nrecords/4; i++)
+ {
+ my_errno=0;
+ bzero((char*) read_record,MAX_REC_LENGTH);
+ error=mi_rrnd(file,read_record,i == 0 ? 0L : HA_OFFSET_ERROR);
+ if(error)
+ {
+ printf("pos: %2d mi_rrnd: %3d errno: %3d\n",i,error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file),"\n");
+ error=mi_delete(file,read_record);
+ if(error)
+ {
+ printf("pos: %2d mi_delete: %3d errno: %3d\n",i,error,my_errno);
+ goto err;
+ }
+ }
+
+
+
+
+ if (!silent)
+ printf("- Updating rows with position\n");
+ for (i=0; i < nrecords/2 ; i++)
+ {
+ my_errno=0;
+ bzero((char*) read_record,MAX_REC_LENGTH);
+ error=mi_rrnd(file,read_record,i == 0 ? 0L : HA_OFFSET_ERROR);
+ if(error)
+ {
+ if(error==HA_ERR_RECORD_DELETED)
+ continue;
+ printf("pos: %2d mi_rrnd: %3d errno: %3d\n",i,error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file),"");
+ create_linestring(record,i+nrecords*upd);
+ printf("\t-> ");
+ print_record(record,mi_position(file),"\n");
+ error=mi_update(file,read_record,record);
+ if(error)
+ {
+ printf("pos: %2d mi_update: %3d errno: %3d\n",i,error,my_errno);
+ goto err;
+ }
+ }
+
+
+
+ if((error=read_with_pos(file,silent)))
+ goto err;
+
+
+
+ if (!silent)
+ printf("- Test mi_rkey then a sequence of mi_rnext_same\n");
+
+ create_key(key, nrecords*4/5);
+ print_key(key," search for INTERSECT\n");
+
+ if ((error=mi_rkey(file,read_record,0,key,0,HA_READ_MBR_INTERSECT)))
+ {
+ printf("mi_rkey: %3d errno: %3d\n",error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file)," mi_rkey\n");
+ row_count=1;
+
+
+ do {
+ if((error=mi_rnext_same(file,read_record)))
+ {
+ if(error==HA_ERR_END_OF_FILE)
+ break;
+ printf("mi_next: %3d errno: %3d\n",error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file)," mi_rnext_same\n");
+ row_count++;
+ }while(1);
+ printf(" %d rows\n",row_count);
+
+
+
+
+
+
+ if (!silent)
+ printf("- Test mi_rfirst then a sequence of mi_rnext\n");
+
+ error=mi_rfirst(file,read_record,0);
+ if (error)
+ {
+ printf("mi_rfirst: %3d errno: %3d\n",error,my_errno);
+ goto err;
+ }
+ row_count=1;
+ print_record(read_record,mi_position(file)," mi_frirst\n");
+
+ for(i=0;i<nrecords;i++) {
+ if((error=mi_rnext(file,read_record,0)))
+ {
+ if(error==HA_ERR_END_OF_FILE)
+ break;
+ printf("mi_next: %3d errno: %3d\n",error,my_errno);
+ goto err;
+ }
+ print_record(read_record,mi_position(file)," mi_rnext\n");
+ row_count++;
+ }
+ printf(" %d rows\n",row_count);
+
+
+
+
+ if (!silent)
+ printf("- Test mi_records_in_range()\n");
+
+ create_key(key, nrecords*upd);
+ print_key(key," INTERSECT\n");
+ hrows=mi_records_in_range(file,0,key,0,HA_READ_MBR_INTERSECT,record+1,0,0);
+ printf(" %ld rows\n",hrows);
+
+
+ if (mi_close(file)) goto err;
+ my_end(MY_CHECK_ERROR);
+
+ return 0;
+
+err:
+ printf("got error: %3d when using myisam-database\n",my_errno);
+ return 1; /* skipp warning */
+}
+
+
+
+static int read_with_pos (MI_INFO * file,int silent)
+{
+ int error;
+ int i;
+ char read_record[MAX_REC_LENGTH];
+ int rows=0;
+
+ if (!silent)
+ printf("- Reading rows with position\n");
+ for (i=0;;i++)
+ {
+ my_errno=0;
+ bzero((char*) read_record,MAX_REC_LENGTH);
+ error=mi_rrnd(file,read_record,i == 0 ? 0L : HA_OFFSET_ERROR);
+ if(error)
+ {
+ if(error==HA_ERR_END_OF_FILE)
+ break;
+ if(error==HA_ERR_RECORD_DELETED)
+ continue;
+ printf("pos: %2d mi_rrnd: %3d errno: %3d\n",i,error,my_errno);
+ return error;
+ }
+ rows++;
+ print_record(read_record,mi_position(file),"\n");
+ }
+ printf(" %d rows\n",rows);
+ return 0;
+}
+
+
+static void bprint_record(char * record, my_off_t offs,const char * tail)
+{
+ int i;
+ char * pos;
+ i=(unsigned char)record[0];
+ printf("%02X ",i);
+
+ for( pos=record+1, i=0; i<32; i++,pos++){
+ int b=(unsigned char)*pos;
+ printf("%02X",b);
+ }
+ printf("%s",tail);
+}
+
+static void print_record(char * record, my_off_t offs,const char * tail)
+{
+ char *pos;
+ char *ptr;
+ uint len;
+
+ printf(" rec=(%d)",(unsigned char)record[0]);
+ pos=record+1;
+ len=sint4korr(pos);
+ pos+=4;
+ printf(" len=%d ",len);
+ memcpy_fixed(&ptr,pos,sizeof(char*));
+ if(ptr)
+ rtree_PrintWKB(ptr,SPDIMS);
+ else
+ printf("<NULL> ");
+ printf(" offs=%ld ",(long int)offs);
+ printf("%s",tail);
+}
+
+
+
+static void create_point(char *record,uint rownr)
+{
+ uint tmp;
+ char *ptr;
+ char *pos=record;
+ double x[200];
+ int i;
+
+ for(i=0;i<SPDIMS;i++)
+ x[i]=rownr;
+
+ bzero((char*) record,MAX_REC_LENGTH);
+ *pos=0x01; /* DEL marker */
+ pos++;
+
+ memset(blob_key,0,sizeof(blob_key));
+ tmp=rtree_CreatePointWKB(x,SPDIMS,blob_key);
+
+ int4store(pos,tmp);
+ pos+=4;
+
+ ptr=blob_key;
+ memcpy_fixed(pos,&ptr,sizeof(char*));
+}
+
+
+static void create_linestring(char *record,uint rownr)
+{
+ uint tmp;
+ char *ptr;
+ char *pos=record;
+ double x[200];
+ int i,j;
+ int npoints=2;
+
+ for(j=0;j<npoints;j++)
+ for(i=0;i<SPDIMS;i++)
+ x[i+j*SPDIMS]=rownr*j;
+
+ bzero((char*) record,MAX_REC_LENGTH);
+ *pos=0x01; /* DEL marker */
+ pos++;
+
+ memset(blob_key,0,sizeof(blob_key));
+ tmp=rtree_CreateLineStringWKB(x,SPDIMS,npoints,blob_key);
+
+ int4store(pos,tmp);
+ pos+=4;
+
+ ptr=blob_key;
+ memcpy_fixed(pos,&ptr,sizeof(char*));
+}
+
+
+static void create_key(char *key,uint rownr)
+{
+ double c=rownr;
+ char *pos;
+ uint i;
+
+ bzero(key,MAX_REC_LENGTH);
+ for ( pos=key, i=0; i<2*SPDIMS; i++)
+ {
+ float8store(pos,c);
+ pos+=sizeof(c);
+ }
+}
+
+static void print_key(const char *key,const char * tail)
+{
+ double c;
+ uint i;
+
+ printf(" key=");
+ for (i=0; i<2*SPDIMS; i++)
+ {
+ float8get(c,key);
+ key+=sizeof(c);
+ printf("%.14g ",c);
+ }
+ printf("%s",tail);
+}
+
+
+
+static int rtree_CreatePointWKB(double *ords, uint n_dims, uchar *wkb)
+{
+ uint i;
+
+ *wkb = wkbXDR;
+ ++wkb;
+ int4store(wkb, wkbPoint);
+ wkb += 4;
+
+ for (i=0; i < n_dims; ++i)
+ {
+ float8store(wkb, ords[i]);
+ wkb += 8;
+ }
+ return 5 + n_dims * 8;
+}
+
+static int rtree_CreateLineStringWKB(double *ords, uint n_dims, uint n_points, uchar *wkb)
+{
+ uint i;
+ uint n_ords = n_dims * n_points;
+
+ *wkb = wkbXDR;
+ ++wkb;
+ int4store(wkb, wkbLineString);
+ wkb += 4;
+ int4store(wkb, n_points);
+ wkb += 4;
+ for (i=0; i < n_ords; ++i)
+ {
+ float8store(wkb, ords[i]);
+ wkb += 8;
+ }
+ return 9 + n_points * n_dims * 8;
+}
+
+static void rtree_PrintWKB(uchar *wkb, uint n_dims)
+{
+ uint wkb_type;
+
+ ++wkb;
+ wkb_type = uint4korr(wkb);
+ wkb += 4;
+
+ switch ((enum wkbType)wkb_type)
+ {
+ case wkbPoint:
+ {
+ uint i;
+ double ord;
+
+ printf("POINT(");
+ for (i=0; i < n_dims; ++i)
+ {
+ float8get(ord, wkb);
+ wkb += 8;
+ printf("%.14g", ord);
+ if (i < n_dims - 1)
+ printf(" ");
+ else
+ printf(")");
+ }
+ break;
+ }
+ case wkbLineString:
+ {
+ uint p, i;
+ uint n_points;
+ double ord;
+
+ printf("LineString(");
+ n_points = uint4korr(wkb);
+ wkb += 4;
+ for (p=0; p < n_points; ++p)
+ {
+ for (i=0; i < n_dims; ++i)
+ {
+ float8get(ord, wkb);
+ wkb += 8;
+ printf("%.14g", ord);
+ if (i < n_dims - 1)
+ printf(" ");
+ }
+ if (p < n_points - 1)
+ printf(", ");
+ else
+ printf(")");
+ }
+ break;
+ }
+ case wkbPolygon:
+ {
+ printf("POLYGON(...)");
+ break;
+ }
+ case wkbMultiPoint:
+ {
+ printf("MULTIPOINT(...)");
+ break;
+ }
+ case wkbMultiLineString:
+ {
+ printf("MULTILINESTRING(...)");
+ break;
+ }
+ case wkbMultiPolygon:
+ {
+ printf("MULTIPOLYGON(...)");
+ break;
+ }
+ case wkbGeometryCollection:
+ {
+ printf("GEOMETRYCOLLECTION(...)");
+ break;
+ }
+ default:
+ {
+ printf("UNKNOWN GEOMETRY TYPE");
+ break;
+ }
+ }
+}
diff --git a/mysql-test/r/derived.result b/mysql-test/r/derived.result
new file mode 100644
index 00000000000..5a41a51463e
--- /dev/null
+++ b/mysql-test/r/derived.result
@@ -0,0 +1,10 @@
+drop table if exists t1,t2;
+CREATE TABLE t1 (a int not null, b char (10) not null);
+insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
+CREATE TABLE t2 (a int not null, b char (10) not null);
+insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
+select t1.a,t3.y from t1,(select a as y from t2 where b='c') as t3 where t1.a = t3.y;
+a y
+3 3
+3 3
+drop table if exists t1.t2;
diff --git a/mysql-test/r/heap.result b/mysql-test/r/heap.result
index 13f452e26d8..eb3bae0fea2 100644
--- a/mysql-test/r/heap.result
+++ b/mysql-test/r/heap.result
@@ -68,7 +68,7 @@ explain select * from t1 where a in (869751,736494,226312,802616);
table type possible_keys key key_len ref rows Extra
t1 range uniq_id uniq_id 4 NULL 4 where used; Using index
drop table t1;
-create table t1 (x int not null, y int not null, key x(x), unique y(y))
+create table t1 (x int not null, y int not null, key x (x), unique y (y))
type=heap;
insert into t1 values (1,1),(2,2),(1,3),(2,4),(2,5),(2,6);
select * from t1 where x=1;
diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result
index c5c69c1ba7b..fb18841ac3f 100644
--- a/mysql-test/r/myisam.result
+++ b/mysql-test/r/myisam.result
@@ -1,7 +1,7 @@
drop table if exists t1;
CREATE TABLE t1 (
STRING_DATA char(255) default NULL,
-KEY STRING_DATA (STRING_DATA)
+KEY string_data (STRING_DATA)
) TYPE=MyISAM;
INSERT INTO t1 VALUES ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
INSERT INTO t1 VALUES ('DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD');
diff --git a/mysql-test/t/derived.test b/mysql-test/t/derived.test
new file mode 100644
index 00000000000..4a3e8e86d4a
--- /dev/null
+++ b/mysql-test/t/derived.test
@@ -0,0 +1,7 @@
+drop table if exists t1,t2;
+CREATE TABLE t1 (a int not null, b char (10) not null);
+insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
+CREATE TABLE t2 (a int not null, b char (10) not null);
+insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
+select t1.a,t3.y from t1,(select a as y from t2 where b='c') as t3 where t1.a = t3.y;
+drop table if exists t1.t2; \ No newline at end of file
diff --git a/mysql-test/t/heap.test b/mysql-test/t/heap.test
index ef7e3239a96..f8b27d09a19 100644
--- a/mysql-test/t/heap.test
+++ b/mysql-test/t/heap.test
@@ -42,7 +42,7 @@ alter table t1 type=myisam;
explain select * from t1 where a in (869751,736494,226312,802616);
drop table t1;
-create table t1 (x int not null, y int not null, key x(x), unique y(y))
+create table t1 (x int not null, y int not null, key x (x), unique y (y))
type=heap;
insert into t1 values (1,1),(2,2),(1,3),(2,4),(2,5),(2,6);
select * from t1 where x=1;
diff --git a/mysql-test/t/myisam.test b/mysql-test/t/myisam.test
index 861bc807323..42d1dd6d553 100644
--- a/mysql-test/t/myisam.test
+++ b/mysql-test/t/myisam.test
@@ -5,7 +5,7 @@
drop table if exists t1;
CREATE TABLE t1 (
STRING_DATA char(255) default NULL,
- KEY STRING_DATA (STRING_DATA)
+ KEY string_data (STRING_DATA)
) TYPE=MyISAM;
INSERT INTO t1 VALUES ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
diff --git a/mysys/charset.c b/mysys/charset.c
index 93e8b697904..de6ccbf7ea9 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -68,7 +68,7 @@ static my_bool get_word(struct simpleconfig_buf_st *fb, char *buf)
for (;;)
{
- while (isspace(*endptr))
+ while (my_isspace(system_charset_info, *endptr))
++endptr;
if (*endptr && *endptr != '#') /* Not comment */
break; /* Found something */
@@ -77,7 +77,7 @@ static my_bool get_word(struct simpleconfig_buf_st *fb, char *buf)
endptr = fb->buf;
}
- while (!isspace(*endptr))
+ while (!my_isspace(system_charset_info, *endptr))
*buf++= *endptr++;
*buf=0;
fb->p = endptr;
@@ -329,6 +329,14 @@ static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name, myf flags)
memcpy((char*) cs->to_upper, (char*) tmp_to_upper, sizeof(tmp_to_upper));
memcpy((char*) cs->sort_order, (char*) tmp_sort_order,
sizeof(tmp_sort_order));
+
+ cs->caseup_str = my_caseup_str_8bit;
+ cs->casedn_str = my_casedn_str_8bit;
+ cs->caseup = my_caseup_8bit;
+ cs->casedn = my_casedn_8bit;
+ cs->strcasecmp = my_strcasecmp_8bit;
+ cs->strncasecmp = my_strncasecmp_8bit;
+
insert_dynamic(&cs_info_table, (gptr) &cs);
return cs;
}
@@ -396,6 +404,7 @@ my_bool set_default_charset(uint cs, myf flags)
DBUG_RETURN(TRUE); /* error */
}
default_charset_info = new_charset;
+ system_charset_info = new_charset;
DBUG_RETURN(FALSE);
}
@@ -428,6 +437,7 @@ my_bool set_default_charset_by_name(const char *cs_name, myf flags)
}
default_charset_info = new_charset;
+ system_charset_info = new_charset;
DBUG_RETURN(FALSE);
}
@@ -540,11 +550,9 @@ void _print_csinfo(CHARSET_INFO *cs)
printf("to_lower:\n"); _print_array(cs->to_lower, 256);
printf("to_upper:\n"); _print_array(cs->to_upper, 256);
printf("sort_order:\n"); _print_array(cs->sort_order, 256);
- printf("collate: %3s (%d, %p, %p, %p, %p, %p)\n",
+ printf("collate: %3s (%d, %p, %p, %p)\n",
cs->strxfrm_multiply ? "yes" : "no",
cs->strxfrm_multiply,
- cs->strcoll,
- cs->strxfrm,
cs->strnncoll,
cs->strnxfrm,
cs->like_range);
diff --git a/mysys/default.c b/mysys/default.c
index d3c1b3815eb..ad34d4b949d 100644
--- a/mysys/default.c
+++ b/mysys/default.c
@@ -247,7 +247,7 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc,
{
line++;
/* Ignore comment and empty lines */
- for (ptr=buff ; isspace(*ptr) ; ptr++ ) ;
+ for (ptr=buff ; my_isspace(system_charset_info,*ptr) ; ptr++ ) ;
if (*ptr == '#' || *ptr == ';' || !*ptr)
continue;
if (*ptr == '[') /* Group name */
@@ -260,7 +260,7 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc,
name,line);
goto err;
}
- for ( ; isspace(end[-1]) ; end--) ; /* Remove end space */
+ for ( ; my_isspace(system_charset_info,end[-1]) ; end--) ;/* Remove end space */
end[0]=0;
read_values=find_type(ptr,group,3) > 0;
continue;
@@ -276,7 +276,7 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc,
continue;
if (!(end=value=strchr(ptr,'=')))
end=strend(ptr); /* Option without argument */
- for ( ; isspace(end[-1]) ; end--) ;
+ for ( ; my_isspace(system_charset_info,end[-1]) ; end--) ;
if (!value)
{
if (!(tmp=alloc_root(alloc,(uint) (end-ptr)+3)))
@@ -289,9 +289,9 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc,
{
/* Remove pre- and end space */
char *value_end;
- for (value++ ; isspace(*value); value++) ;
+ for (value++ ; my_isspace(system_charset_info,*value); value++) ;
value_end=strend(value);
- for ( ; isspace(value_end[-1]) ; value_end--) ;
+ for ( ; my_isspace(system_charset_info,value_end[-1]) ; value_end--) ;
if (value_end < value) /* Empty string */
value_end=value;
if (!(tmp=alloc_root(alloc,(uint) (end-ptr)+3 +
diff --git a/mysys/getvar.c b/mysys/getvar.c
index bb470423c57..b5cc123f4b4 100644
--- a/mysys/getvar.c
+++ b/mysys/getvar.c
@@ -58,14 +58,15 @@ my_bool set_changeable_var(my_string str,CHANGEABLE_VAR *vars)
longlong num;
/* Skip end space from variable */
- for (var_end=end ; end > str && isspace(var_end[-1]) ; var_end--) ;
+ for (var_end=end ; end > str && my_isspace(system_charset_info, var_end[-1]) ; var_end--) ;
length=(uint) (var_end-str);
/* Skip start space from argument */
- for (end++ ; isspace(*end) ; end++) ;
+ for (end++ ; my_isspace(system_charset_info, *end) ; end++) ;
for (var=vars,found=0 ; (name=var->name) ; var++)
{
- if (!my_casecmp(name,str,length))
+ /* BAR TODO: remove system_charset_info */
+ if (!my_strncasecmp(system_charset_info,name,str,length))
{
found=var; found_count++;
if (!name[length])
@@ -93,7 +94,7 @@ my_bool set_changeable_var(my_string str,CHANGEABLE_VAR *vars)
num*=1024L*1024L;
else if (endchar == 'g' || endchar == 'G')
num*=1024L*1024L*1024L;
- else if (!isdigit(endchar))
+ else if (!my_isdigit(system_charset_info, endchar))
{
fprintf(stderr,"Unknown prefix used for variable value '%s'\n",str);
DBUG_RETURN(1);
diff --git a/mysys/hash.c b/mysys/hash.c
index b3769d1dfb2..656732598c1 100644
--- a/mysys/hash.c
+++ b/mysys/hash.c
@@ -31,12 +31,13 @@
static uint hash_mask(uint hashnr,uint buffmax,uint maxlength);
static void movelink(HASH_LINK *array,uint pos,uint next_link,uint newlink);
-static uint calc_hashnr(const byte *key,uint length);
-static uint calc_hashnr_caseup(const byte *key,uint length);
+static uint calc_hashnr(CHARSET_INFO *cs,const byte *key,uint length);
+static uint calc_hashnr_caseup(CHARSET_INFO *cs, const byte *key,uint length);
static int hashcmp(HASH *hash,HASH_LINK *pos,const byte *key,uint length);
-my_bool _hash_init(HASH *hash,uint size,uint key_offset,uint key_length,
+_hash_init(HASH *hash,CHARSET_INFO *charset,
+ uint size,uint key_offset,uint key_length,
hash_get_key get_key,
void (*free_element)(void*),uint flags CALLER_INFO_PROTO)
{
@@ -56,6 +57,7 @@ my_bool _hash_init(HASH *hash,uint size,uint key_offset,uint key_length,
hash->get_key=get_key;
hash->free=free_element;
hash->flags=flags;
+ hash->charset=charset;
if (flags & HASH_CASE_INSENSITIVE)
hash->calc_hashnr=calc_hashnr_caseup;
else
@@ -104,14 +106,16 @@ static uint hash_rec_mask(HASH *hash,HASH_LINK *pos,uint buffmax,
{
uint length;
byte *key=hash_key(hash,pos->data,&length,0);
- return hash_mask((*hash->calc_hashnr)(key,length),buffmax,maxlength);
+ return hash_mask((*hash->calc_hashnr)(hash->charset,key,length),
+ buffmax,maxlength);
}
#ifndef NEW_HASH_FUNCTION
/* Calc hashvalue for a key */
-static uint calc_hashnr(const byte *key,uint length)
+static uint calc_hashnr(CHARSET_INFO *cs __attribute__((unused)),
+ const byte *key,uint length)
{
register uint nr=1, nr2=4;
while (length--)
@@ -124,12 +128,13 @@ static uint calc_hashnr(const byte *key,uint length)
/* Calc hashvalue for a key, case indepenently */
-static uint calc_hashnr_caseup(const byte *key,uint length)
+static uint calc_hashnr_caseup(CHARSET_INFO *cs, const byte *key,uint length)
{
register uint nr=1, nr2=4;
while (length--)
{
- nr^= (((nr & 63)+nr2)*((uint) (uchar) toupper(*key++)))+ (nr << 8);
+ nr^= (((nr & 63)+nr2)*
+ ((uint) (uchar) my_toupper(cs, *key++)))+ (nr << 8);
nr2+=3;
}
return((uint) nr);
@@ -150,7 +155,7 @@ static uint calc_hashnr_caseup(const byte *key,uint length)
* This works well on both numbers and strings.
*/
-uint calc_hashnr(const byte *key, uint len)
+uint calc_hashnr(CHARSET_INFO *cs, const byte *key, uint len)
{
const byte *end=key+len;
uint hash;
@@ -162,14 +167,14 @@ uint calc_hashnr(const byte *key, uint len)
return (hash);
}
-uint calc_hashnr_caseup(const byte *key, uint len)
+uint calc_hashnr_caseup(CHARSET_INFO *cs, const byte *key, uint len)
{
const byte *end=key+len;
uint hash;
for (hash = 0; key < end; key++)
{
hash *= 16777619;
- hash ^= (uint) (uchar) toupper(*key);
+ hash ^= (uint) (uchar) my_toupper(cs,*key);
}
return (hash);
}
@@ -184,7 +189,7 @@ uint rec_hashnr(HASH *hash,const byte *record)
{
uint length;
byte *key=hash_key(hash,record,&length,0);
- return (*hash->calc_hashnr)(key,length);
+ return (*hash->calc_hashnr)(hash->charset,key,length);
}
@@ -200,7 +205,7 @@ gptr hash_search(HASH *hash,const byte *key,uint length)
flag=1;
if (hash->records)
{
- idx=hash_mask((*hash->calc_hashnr)(key,length ? length :
+ idx=hash_mask((*hash->calc_hashnr)(hash->charset,key,length ? length :
hash->key_length),
hash->blength,hash->records);
do
@@ -273,7 +278,7 @@ static int hashcmp(HASH *hash,HASH_LINK *pos,const byte *key,uint length)
byte *rec_key=hash_key(hash,pos->data,&rec_keylength,1);
return (length && length != rec_keylength) ||
(hash->flags & HASH_CASE_INSENSITIVE ?
- my_casecmp(rec_key,key,rec_keylength) :
+ my_strncasecmp(hash->charset, rec_key,key,rec_keylength) :
memcmp(rec_key,key,rec_keylength));
}
@@ -513,7 +518,7 @@ my_bool hash_update(HASH *hash,byte *record,byte *old_key,uint old_key_length)
/* Search after record with key */
- idx=hash_mask((*hash->calc_hashnr)(old_key,(old_key_length ?
+ idx=hash_mask((*hash->calc_hashnr)(hash->charset, old_key,(old_key_length ?
old_key_length :
hash->key_length)),
blength,records);
diff --git a/mysys/mf_casecnv.c b/mysys/mf_casecnv.c
index 0302688ad1f..510a9b08f76 100644
--- a/mysys/mf_casecnv.c
+++ b/mysys/mf_casecnv.c
@@ -28,234 +28,50 @@
#include <m_string.h>
#endif
- /* string to uppercase */
-
-void caseup_str(my_string str)
-{
-#ifdef USE_MB
- if (use_mb(default_charset_info))
- {
- register uint32 l;
- register char *end=str+strlen(str);
- while (*str)
- {
- if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
- else *str=toupper(*str),++str;
- }
- }
- else
-#endif
- while ((*str = toupper(*str)) != 0)
- str++;
-} /* caseup_str */
-
- /* string to lowercase */
-
-void casedn_str(my_string str)
-{
-#ifdef USE_MB
- if (use_mb(default_charset_info))
- {
- register uint32 l;
- register char *end=str+strlen(str);
- while (*str)
- {
- if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
- else *str=tolower(*str),++str;
- }
- }
- else
-#endif
- while ((*str= tolower(*str)) != 0)
- str++;
-} /* casedn_str */
-
-
- /* to uppercase */
-
-void caseup(my_string str, uint length)
-{
-#ifdef USE_MB
- if (use_mb(default_charset_info))
- {
- register uint32 l;
- register char *end=str+length;
- while (str<end)
- {
- if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
- else *str=toupper(*str),++str;
- }
- }
- else
-#endif
- for ( ; length>0 ; length--, str++)
- *str= toupper(*str);
-} /* caseup */
-
- /* to lowercase */
-
-void casedn(my_string str, uint length)
-{
-#ifdef USE_MB
- if (use_mb(default_charset_info))
- {
- register uint32 l;
- register char *end=str+length;
- while (str<end)
- {
- if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
- else *str=tolower(*str),++str;
- }
- }
- else
-#endif
- for ( ; length>0 ; length--, str++)
- *str= tolower(*str);
-} /* casedn */
/* to sort-string that can be compared to get text in order */
-void case_sort(my_string str, uint length)
+void case_sort(CHARSET_INFO *cs, my_string str, uint length)
{
for ( ; length>0 ; length--, str++)
- *str= (char) my_sort_order[(uchar) *str];
+ *str= (char) cs->sort_order[(uchar) *str];
} /* case_sort */
- /* find string in another with no case_sensivity */
-
-/* ToDo: This function should be modified to support multibyte charset.
- However it is not used untill 3.23.5.
- Wei He (hewei@mail.ied.ac.cn)
-*/
-
-my_string my_strcasestr(const char *str, const char *search)
-{
- uchar *i,*j,*pos;
-
- pos=(uchar*) str;
-skipp:
- while (*pos != '\0')
- {
- if (toupper((uchar) *pos++) == toupper((uchar) *search))
- {
- i=(uchar*) pos; j=(uchar*) search+1;
- while (*j)
- if (toupper(*i++) != toupper(*j++)) goto skipp;
- return ((char*) pos-1);
- }
- }
- return ((my_string) 0);
-} /* strcstr */
-
-
- /* compare strings without regarding to case */
-
-int my_strcasecmp(const char *s, const char *t)
-{
-#ifdef USE_MB
- if (use_mb(default_charset_info))
- {
- register uint32 l;
- register const char *end=s+strlen(s);
- while (s<end)
- {
- if ((l=my_ismbchar(default_charset_info, s,end)))
- {
- while (l--)
- if (*s++ != *t++) return 1;
- }
- else if (my_ismbhead(default_charset_info, *t)) return 1;
- else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
- }
- return *t;
- }
- else
-#endif
- {
- while (toupper((uchar) *s) == toupper((uchar) *t++))
- if (!*s++) return 0;
- return ((int) toupper((uchar) s[0]) - (int) toupper((uchar) t[-1]));
- }
-}
-
-
-int my_casecmp(const char *s, const char *t, uint len)
-{
-#ifdef USE_MB
- if (use_mb(default_charset_info))
- {
- register uint32 l;
- register const char *end=s+len;
- while (s<end)
- {
- if ((l=my_ismbchar(default_charset_info, s,end)))
- {
- while (l--)
- if (*s++ != *t++) return 1;
- }
- else if (my_ismbhead(default_charset_info, *t)) return 1;
- else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
- }
- return 0;
- }
- else
-#endif
- {
- while (len-- != 0 && toupper(*s++) == toupper(*t++)) ;
- return (int) len+1;
- }
-}
-
-
-int my_strsortcmp(const char *s, const char *t)
-{
-#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
- return my_strcoll(default_charset_info, (uchar *)s, (uchar *)t);
- else
-#endif
- {
- while (my_sort_order[(uchar) *s] == my_sort_order[(uchar) *t++])
- if (!*s++) return 0;
- return ((int) my_sort_order[(uchar) s[0]] -
- (int) my_sort_order[(uchar) t[-1]]);
- }
-}
-int my_sortcmp(const char *s, const char *t, uint len)
+int my_sortcmp(CHARSET_INFO *cs, const char *s, const char *t, uint len)
{
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
- return my_strnncoll(default_charset_info,
- (uchar *)s, len, (uchar *)t, len);
+ if (use_strcoll(cs))
+ return my_strnncoll(cs,(uchar *)s, len, (uchar *)t, len);
else
#endif
{
while (len--)
{
- if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
- return ((int) my_sort_order[(uchar) s[-1]] -
- (int) my_sort_order[(uchar) t[-1]]);
+ if (cs->sort_order[(uchar) *s++] != cs->sort_order[(uchar) *t++])
+ return ((int) cs->sort_order[(uchar) s[-1]] -
+ (int) cs->sort_order[(uchar) t[-1]]);
}
return 0;
}
}
-int my_sortncmp(const char *s, uint s_len, const char *t, uint t_len)
+int my_sortncmp(CHARSET_INFO *cs,
+ const char *s, uint s_len,
+ const char *t, uint t_len)
{
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
- return my_strnncoll(default_charset_info,
- (uchar *)s, s_len, (uchar *)t, t_len);
+ if (use_strcoll(cs))
+ return my_strnncoll(cs, (uchar *)s, s_len, (uchar *)t, t_len);
else
#endif
{
uint len= min(s_len,t_len);
while (len--)
{
- if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
- return ((int) my_sort_order[(uchar) s[-1]] -
- (int) my_sort_order[(uchar) t[-1]]);
+ if (cs->sort_order[(uchar) *s++] != cs->sort_order[(uchar) *t++])
+ return ((int) cs->sort_order[(uchar) s[-1]] -
+ (int) cs->sort_order[(uchar) t[-1]]);
}
return (int) (s_len - t_len);
}
diff --git a/mysys/mf_dirname.c b/mysys/mf_dirname.c
index 6523abcdb12..320917c8f3e 100644
--- a/mysys/mf_dirname.c
+++ b/mysys/mf_dirname.c
@@ -108,11 +108,5 @@ char *convert_dirname(char *to, const char *from, const char *from_end)
*to++=FN_LIBCHAR;
*to=0;
}
-#ifdef FN_UPPER_CASE
- caseup_str(to_org);
-#endif
-#ifdef FN_LOWER_CASE
- casedn_str(to_org);
-#endif
return to; /* Pointer to end of dir */
} /* convert_dirname */
diff --git a/mysys/mf_format.c b/mysys/mf_format.c
index ab1904da162..e68f7df9d83 100644
--- a/mysys/mf_format.c
+++ b/mysys/mf_format.c
@@ -91,12 +91,6 @@ my_string fn_format(my_string to, const char *name, const char *dir,
name=buff;
}
pos=strmake(strmov(to,dev),name,length);
-#ifdef FN_UPPER_CASE
- caseup_str(to);
-#endif
-#ifdef FN_LOWER_CASE
- casedn_str(to);
-#endif
(void) strmov(pos,ext); /* Don't convert extension */
}
/*
diff --git a/mysys/mf_iocache2.c b/mysys/mf_iocache2.c
index c56022e93e8..8d4bcd15c24 100644
--- a/mysys/mf_iocache2.c
+++ b/mysys/mf_iocache2.c
@@ -250,7 +250,7 @@ uint my_b_vprintf(IO_CACHE *info, const char* fmt, va_list args)
/* Found one '%' */
}
/* Skipp if max size is used (to be compatible with printf) */
- while (isdigit(*fmt) || *fmt == '.' || *fmt == '-')
+ while (my_isdigit(system_charset_info, *fmt) || *fmt == '.' || *fmt == '-')
fmt++;
if (*fmt == 's') /* String parameter */
{
diff --git a/mysys/mf_soundex.c b/mysys/mf_soundex.c
index 4f7aa7da601..8ecd95137b0 100644
--- a/mysys/mf_soundex.c
+++ b/mysys/mf_soundex.c
@@ -34,12 +34,12 @@
#include <m_ctype.h>
#include "my_static.h"
-static char get_scode(char **ptr,pbool remove_garbage);
+static char get_scode(CHARSET_INFO * cs, char **ptr,pbool remove_garbage);
/* outputed string is 4 byte long */
/* out_pntr can be == in_pntr */
-void soundex(register my_string out_pntr, my_string in_pntr,
+void soundex(CHARSET_INFO * cs,register my_string out_pntr, my_string in_pntr,
pbool remove_garbage)
{
char ch,last_ch;
@@ -47,11 +47,11 @@ void soundex(register my_string out_pntr, my_string in_pntr,
if (remove_garbage)
{
- while (*in_pntr && isspace(*in_pntr)) /* Skipp pre-space */
+ while (*in_pntr && my_isspace(cs,*in_pntr)) /* Skipp pre-space */
in_pntr++;
}
- *out_pntr++ = toupper(*in_pntr); /* Copy first letter */
- last_ch = get_scode(&in_pntr,0); /* code of the first letter */
+ *out_pntr++ = my_toupper(cs,*in_pntr);/* Copy first letter */
+ last_ch = get_scode(cs,&in_pntr,0); /* code of the first letter */
/* for the first 'double-letter */
/* check. */
end=out_pntr+3; /* Loop on input letters until */
@@ -59,7 +59,7 @@ void soundex(register my_string out_pntr, my_string in_pntr,
/* letter code count = 3 */
in_pntr++;
- while (out_pntr < end && (ch = get_scode(&in_pntr,remove_garbage)) != 0)
+ while (out_pntr < end && (ch = get_scode(cs,&in_pntr,remove_garbage)) != 0)
{
in_pntr++;
if ((ch != '0') && (ch != last_ch)) /* if not skipped or double */
@@ -81,19 +81,19 @@ void soundex(register my_string out_pntr, my_string in_pntr,
else return 0
*/
-static char get_scode(char **ptr, pbool remove_garbage)
+static char get_scode(CHARSET_INFO * cs,char **ptr, pbool remove_garbage)
{
uchar ch;
if (remove_garbage)
{
- while (**ptr && !isalpha(**ptr))
+ while (**ptr && !my_isalpha(cs,**ptr))
(*ptr)++;
}
- ch=toupper(**ptr);
+ ch=my_toupper(cs,**ptr);
if (ch < 'A' || ch > 'Z')
{
- if (isalpha(ch)) /* If exetended alfa (country spec) */
+ if (my_isalpha(cs,ch)) /* If exetended alfa (country spec) */
return '0'; /* threat as vokal */
return 0; /* Can't map */
}
diff --git a/mysys/mf_wfile.c b/mysys/mf_wfile.c
index e9e12c72755..3c10de1f238 100644
--- a/mysys/mf_wfile.c
+++ b/mysys/mf_wfile.c
@@ -54,13 +54,6 @@ WF_PACK *wf_comp(my_string str)
for (pos=str ; *pos ; pos++)
ant+= test(*pos == ' ' || *pos == ',');
-#ifdef FN_UPPER_CASE
- caseup(str,(int) (pos-str));
-#endif
-#ifdef FN_LOWER_CASE
- casedn(str,(int) (pos-str));
-#endif
-
if ((ret= (WF_PACK*) my_malloc((uint) ant*(sizeof(my_string*)+2)+
sizeof(WF_PACK)+ (uint) strlen(str)+1,
MYF(MY_WME)))
diff --git a/mysys/my_error.c b/mysys/my_error.c
index 61f8c16aba5..fd0cdcc2289 100644
--- a/mysys/my_error.c
+++ b/mysys/my_error.c
@@ -62,7 +62,7 @@ int my_error(int nr,myf MyFlags, ...)
else
{
/* Skipp if max size is used (to be compatible with printf) */
- while (isdigit(*tpos) || *tpos == '.' || *tpos == '-')
+ while (my_isdigit(system_charset_info, *tpos) || *tpos == '.' || *tpos == '-')
tpos++;
if (*tpos == 'l') /* Skipp 'l' argument */
tpos++;
diff --git a/mysys/my_getwd.c b/mysys/my_getwd.c
index 22c6a4dbc2b..240b17ef87f 100644
--- a/mysys/my_getwd.c
+++ b/mysys/my_getwd.c
@@ -109,7 +109,8 @@ int my_setwd(const char *dir, myf MyFlags)
uint drive,drives;
pos++; /* Skipp FN_DEVCHAR */
- drive=(uint) (toupper(dir[0])-'A'+1); drives= (uint) -1;
+ drive=(uint) (my_toupper(system_charset_info,dir[0])-'A'+1);
+ drives= (uint) -1;
if ((pos-(byte*) dir) == 2 && drive > 0 && drive < 32)
{
#ifdef OS2
diff --git a/mysys/my_init.c b/mysys/my_init.c
index c4e6132aa9c..faf4e7f83f0 100644
--- a/mysys/my_init.c
+++ b/mysys/my_init.c
@@ -17,7 +17,6 @@
#include "mysys_priv.h"
#include "my_static.h"
#include "mysys_err.h"
-#include "m_ctype.h"
#include <m_string.h>
#include <m_ctype.h>
#ifdef THREAD
@@ -50,7 +49,7 @@ my_bool my_init_done=0;
static ulong atoi_octal(const char *str)
{
long int tmp;
- while (*str && isspace(*str))
+ while (*str && my_isspace(system_charset_info, *str))
str++;
str2int(str,
(*str == '0' ? 8 : 10), /* Octalt or decimalt */
diff --git a/mysys/my_vsnprintf.c b/mysys/my_vsnprintf.c
index 7490ab4a9f2..2af5bf8903d 100644
--- a/mysys/my_vsnprintf.c
+++ b/mysys/my_vsnprintf.c
@@ -42,7 +42,7 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap)
}
/* Skip if max size is used (to be compatible with printf) */
fmt++;
- while (isdigit(*fmt) || *fmt == '.' || *fmt == '-')
+ while (my_isdigit(system_charset_info,*fmt) || *fmt == '.' || *fmt == '-')
fmt++;
if (*fmt == 'l')
fmt++;
diff --git a/mysys/typelib.c b/mysys/typelib.c
index e2c8eade5c8..e524f903b5d 100644
--- a/mysys/typelib.c
+++ b/mysys/typelib.c
@@ -47,7 +47,9 @@ int find_type(my_string x, TYPELIB *typelib, uint full_name)
find=0;
for (pos=0 ; (j=typelib->type_names[pos]) ; pos++)
{
- for (i=x ; *i && toupper(*i) == toupper(*j) ; i++, j++) ;
+ for (i=x ;
+ *i && my_toupper(system_charset_info,*i) ==
+ my_toupper(system_charset_info,*j) ; i++, j++) ;
if (! *j)
{
while (*i == ' ')
diff --git a/regex/debug.c b/regex/debug.c
index 35279941d48..bdd3e00d5a7 100644
--- a/regex/debug.c
+++ b/regex/debug.c
@@ -45,7 +45,7 @@ FILE *d;
if (g->nplus > 0)
fprintf(d, ", nplus %ld", (long)g->nplus);
fprintf(d, "\n");
- s_print(g, d);
+ s_print(r->charset, g, d);
for (i = 0; i < g->ncategories; i++) {
nincat[i] = 0;
for (c = CHAR_MIN; c <= CHAR_MAX; c++)
@@ -58,7 +58,7 @@ FILE *d;
for (c = CHAR_MIN; c <= CHAR_MAX; c++)
if (g->categories[c] == i)
break;
- fprintf(d, ", %d=%s", i, regchar(c,buf));
+ fprintf(d, ", %d=%s", i, regchar(r->charset,c,buf));
}
fprintf(d, "\n");
for (i = 1; i < g->ncategories; i++)
@@ -68,14 +68,14 @@ FILE *d;
for (c = CHAR_MIN; c <= CHAR_MAX+1; c++) /* +1 does flush */
if (c <= CHAR_MAX && g->categories[c] == i) {
if (last < 0) {
- fprintf(d, "%s", regchar(c,buf));
+ fprintf(d, "%s", regchar(r->charset,c,buf));
last = c;
}
} else {
if (last >= 0) {
if (last != c-1)
fprintf(d, "-%s",
- regchar(c-1,buf));
+ regchar(r->charset,c-1,buf));
last = -1;
}
}
@@ -88,7 +88,8 @@ FILE *d;
== static void s_print(register struct re_guts *g, FILE *d);
*/
static void
-s_print(g, d)
+s_print(charset, g, d)
+CHARSET_INFO *charset;
register struct re_guts *g;
FILE *d;
{
@@ -127,7 +128,7 @@ FILE *d;
if (strchr("\\|()^$.[+*?{}!<> ", (char)opnd) != NULL)
fprintf(d, "\\%c", (char)opnd);
else
- fprintf(d, "%s", regchar((char)opnd,buf));
+ fprintf(d, "%s", regchar(charset,(char)opnd,buf));
break;
case OBOL:
fprintf(d, "^");
@@ -151,14 +152,14 @@ FILE *d;
for (i = 0; i < g->csetsize+1; i++) /* +1 flushes */
if (CHIN(cs, i) && i < g->csetsize) {
if (last < 0) {
- fprintf(d, "%s", regchar(i,buf));
+ fprintf(d, "%s", regchar(charset,i,buf));
last = i;
}
} else {
if (last >= 0) {
if (last != i-1)
fprintf(d, "-%s",
- regchar(i-1,buf));
+ regchar(charset,i-1,buf));
last = -1;
}
}
@@ -230,12 +231,13 @@ FILE *d;
== static char *regchar(int ch);
*/
static char * /* -> representation */
-regchar(ch,buf)
+regchar(charset,ch,buf)
+CHARSET_INFO *charset;
int ch;
char *buf;
{
- if (isprint(ch) || ch == ' ')
+ if (my_isprint(charset,ch) || ch == ' ')
sprintf(buf, "%c", ch);
else
sprintf(buf, "\\%o", ch);
diff --git a/regex/debug.ih b/regex/debug.ih
index 532ec5086e5..0d91e170437 100644
--- a/regex/debug.ih
+++ b/regex/debug.ih
@@ -5,8 +5,8 @@ extern "C" {
/* === debug.c === */
void regprint(regex_t *r, FILE *d);
-static void s_print(register struct re_guts *g, FILE *d);
-static char *regchar(int ch,char *buf);
+static void s_print(CHARSET_INFO *charset, register struct re_guts *g, FILE *d);
+static char *regchar(CHARSET_INFO *charset, int ch,char *buf);
#ifdef __cplusplus
}
diff --git a/regex/engine.c b/regex/engine.c
index e77fbd7cf89..6734560b9bf 100644
--- a/regex/engine.c
+++ b/regex/engine.c
@@ -63,7 +63,8 @@ struct match {
== size_t nmatch, regmatch_t pmatch[], int eflags);
*/
static int /* 0 success, REG_NOMATCH failure */
-matcher(g, str, nmatch, pmatch, eflags)
+matcher(charset,g, str, nmatch, pmatch, eflags)
+CHARSET_INFO *charset;
register struct re_guts *g;
char *str;
size_t nmatch;
@@ -120,7 +121,7 @@ int eflags;
/* this loop does only one repetition except for backrefs */
for (;;) {
- endp = fast(m, start, stop, gf, gl);
+ endp = fast(charset, m, start, stop, gf, gl);
if (endp == NULL) { /* a miss */
if (m->pmatch != NULL)
free((char *)m->pmatch);
@@ -136,7 +137,7 @@ int eflags;
assert(m->coldp != NULL);
for (;;) {
NOTE("finding start");
- endp = slow(m, m->coldp, stop, gf, gl);
+ endp = slow(charset, m, m->coldp, stop, gf, gl);
if (endp != NULL)
break;
assert(m->coldp < m->endp);
@@ -159,7 +160,7 @@ int eflags;
m->pmatch[i].rm_so = m->pmatch[i].rm_eo = -1;
if (!g->backrefs && !(m->eflags&REG_BACKR)) {
NOTE("dissecting");
- dp = dissect(m, m->coldp, endp, gf, gl);
+ dp = dissect(charset, m, m->coldp, endp, gf, gl);
} else {
if (g->nplus > 0 && m->lastpos == NULL)
m->lastpos = (char **)malloc((g->nplus+1) *
@@ -170,7 +171,7 @@ int eflags;
return(REG_ESPACE);
}
NOTE("backref dissect");
- dp = backref(m, m->coldp, endp, gf, gl, (sopno)0);
+ dp = backref(charset, m, m->coldp, endp, gf, gl, (sopno)0);
}
if (dp != NULL)
break;
@@ -182,7 +183,7 @@ int eflags;
if (dp != NULL || endp <= m->coldp)
break; /* defeat */
NOTE("backoff");
- endp = slow(m, m->coldp, endp-1, gf, gl);
+ endp = slow(charset, m, m->coldp, endp-1, gf, gl);
if (endp == NULL)
break; /* defeat */
/* try it on a shorter possibility */
@@ -193,7 +194,7 @@ int eflags;
}
#endif
NOTE("backoff dissect");
- dp = backref(m, m->coldp, endp, gf, gl, (sopno)0);
+ dp = backref(charset, m, m->coldp, endp, gf, gl, (sopno)0);
}
assert(dp == NULL || dp == endp);
if (dp != NULL) /* found a shorter one */
@@ -235,7 +236,8 @@ int eflags;
== char *stop, sopno startst, sopno stopst);
*/
static char * /* == stop (success) always */
-dissect(m, start, stop, startst, stopst)
+dissect(charset, m, start, stop, startst, stopst)
+CHARSET_INFO *charset;
register struct match *m;
char *start;
char *stop;
@@ -299,10 +301,10 @@ sopno stopst;
stp = stop;
for (;;) {
/* how long could this one be? */
- rest = slow(m, sp, stp, ss, es);
+ rest = slow(charset, m, sp, stp, ss, es);
assert(rest != NULL); /* it did match */
/* could the rest match the rest? */
- tail = slow(m, rest, stop, es, stopst);
+ tail = slow(charset, m, rest, stop, es, stopst);
if (tail == stop)
break; /* yes! */
/* no -- try a shorter match for this one */
@@ -312,8 +314,8 @@ sopno stopst;
ssub = ss + 1;
esub = es - 1;
/* did innards match? */
- if (slow(m, sp, rest, ssub, esub) != NULL) {
- dp = dissect(m, sp, rest, ssub, esub);
+ if (slow(charset, m, sp, rest, ssub, esub) != NULL) {
+ dp = dissect(charset, m, sp, rest, ssub, esub);
assert(dp == rest);
} else /* no */
assert(sp == rest);
@@ -323,10 +325,10 @@ sopno stopst;
stp = stop;
for (;;) {
/* how long could this one be? */
- rest = slow(m, sp, stp, ss, es);
+ rest = slow(charset, m, sp, stp, ss, es);
assert(rest != NULL); /* it did match */
/* could the rest match the rest? */
- tail = slow(m, rest, stop, es, stopst);
+ tail = slow(charset, m, rest, stop, es, stopst);
if (tail == stop)
break; /* yes! */
/* no -- try a shorter match for this one */
@@ -338,7 +340,7 @@ sopno stopst;
ssp = sp;
oldssp = ssp;
for (;;) { /* find last match of innards */
- sep = slow(m, ssp, rest, ssub, esub);
+ sep = slow(charset, m, ssp, rest, ssub, esub);
if (sep == NULL || sep == ssp)
break; /* failed or matched null */
oldssp = ssp; /* on to next try */
@@ -350,8 +352,8 @@ sopno stopst;
ssp = oldssp;
}
assert(sep == rest); /* must exhaust substring */
- assert(slow(m, ssp, sep, ssub, esub) == rest);
- dp = dissect(m, ssp, sep, ssub, esub);
+ assert(slow(charset, m, ssp, sep, ssub, esub) == rest);
+ dp = dissect(charset, m, ssp, sep, ssub, esub);
assert(dp == sep);
sp = rest;
break;
@@ -359,10 +361,10 @@ sopno stopst;
stp = stop;
for (;;) {
/* how long could this one be? */
- rest = slow(m, sp, stp, ss, es);
+ rest = slow(charset, m, sp, stp, ss, es);
assert(rest != NULL); /* it did match */
/* could the rest match the rest? */
- tail = slow(m, rest, stop, es, stopst);
+ tail = slow(charset, m, rest, stop, es, stopst);
if (tail == stop)
break; /* yes! */
/* no -- try a shorter match for this one */
@@ -373,7 +375,7 @@ sopno stopst;
esub = ss + OPND(m->g->strip[ss]) - 1;
assert(OP(m->g->strip[esub]) == OOR1);
for (;;) { /* find first matching branch */
- if (slow(m, sp, rest, ssub, esub) == rest)
+ if (slow(charset, m, sp, rest, ssub, esub) == rest)
break; /* it matched all of it */
/* that one missed, try next one */
assert(OP(m->g->strip[esub]) == OOR1);
@@ -386,7 +388,7 @@ sopno stopst;
else
assert(OP(m->g->strip[esub]) == O_CH);
}
- dp = dissect(m, sp, rest, ssub, esub);
+ dp = dissect(charset, m, sp, rest, ssub, esub);
assert(dp == rest);
sp = rest;
break;
@@ -423,7 +425,8 @@ sopno stopst;
== char *stop, sopno startst, sopno stopst, sopno lev);
*/
static char * /* == stop (success) or NULL (failure) */
-backref(m, start, stop, startst, stopst, lev)
+backref(charset,m, start, stop, startst, stopst, lev)
+CHARSET_INFO *charset;
register struct match *m;
char *start;
char *stop;
@@ -486,8 +489,8 @@ sopno lev; /* PLUS nesting level */
(sp < m->endp && *(sp-1) == '\n' &&
(m->g->cflags&REG_NEWLINE)) ||
(sp > m->beginp &&
- !ISWORD(*(sp-1))) ) &&
- (sp < m->endp && ISWORD(*sp)) )
+ !ISWORD(charset,*(sp-1))) ) &&
+ (sp < m->endp && ISWORD(charset,*sp)) )
{ /* yes */ }
else
return(NULL);
@@ -496,8 +499,8 @@ sopno lev; /* PLUS nesting level */
if (( (sp == m->endp && !(m->eflags&REG_NOTEOL)) ||
(sp < m->endp && *sp == '\n' &&
(m->g->cflags&REG_NEWLINE)) ||
- (sp < m->endp && !ISWORD(*sp)) ) &&
- (sp > m->beginp && ISWORD(*(sp-1))) )
+ (sp < m->endp && !ISWORD(charset,*sp)) ) &&
+ (sp > m->beginp && ISWORD(charset,*(sp-1))) )
{ /* yes */ }
else
return(NULL);
@@ -543,28 +546,28 @@ sopno lev; /* PLUS nesting level */
return(NULL);
while (m->g->strip[ss] != SOP(O_BACK, i))
ss++;
- return(backref(m, sp+len, stop, ss+1, stopst, lev));
+ return(backref(charset, m, sp+len, stop, ss+1, stopst, lev));
break;
case OQUEST_: /* to null or not */
- dp = backref(m, sp, stop, ss+1, stopst, lev);
+ dp = backref(charset, m, sp, stop, ss+1, stopst, lev);
if (dp != NULL)
return(dp); /* not */
- return(backref(m, sp, stop, ss+OPND(s)+1, stopst, lev));
+ return(backref(charset, m, sp, stop, ss+OPND(s)+1, stopst, lev));
break;
case OPLUS_:
assert(m->lastpos != NULL);
assert(lev+1 <= m->g->nplus);
m->lastpos[lev+1] = sp;
- return(backref(m, sp, stop, ss+1, stopst, lev+1));
+ return(backref(charset, m, sp, stop, ss+1, stopst, lev+1));
break;
case O_PLUS:
if (sp == m->lastpos[lev]) /* last pass matched null */
- return(backref(m, sp, stop, ss+1, stopst, lev-1));
+ return(backref(charset, m, sp, stop, ss+1, stopst, lev-1));
/* try another pass */
m->lastpos[lev] = sp;
- dp = backref(m, sp, stop, ss-OPND(s)+1, stopst, lev);
+ dp = backref(charset, m, sp, stop, ss-OPND(s)+1, stopst, lev);
if (dp == NULL)
- return(backref(m, sp, stop, ss+1, stopst, lev-1));
+ return(backref(charset, m, sp, stop, ss+1, stopst, lev-1));
else
return(dp);
break;
@@ -573,7 +576,7 @@ sopno lev; /* PLUS nesting level */
esub = ss + OPND(s) - 1;
assert(OP(m->g->strip[esub]) == OOR1);
for (;;) { /* find first matching branch */
- dp = backref(m, sp, stop, ssub, esub, lev);
+ dp = backref(charset, m, sp, stop, ssub, esub, lev);
if (dp != NULL)
return(dp);
/* that one missed, try next one */
@@ -594,7 +597,7 @@ sopno lev; /* PLUS nesting level */
assert(0 < i && i <= m->g->nsub);
offsave = m->pmatch[i].rm_so;
m->pmatch[i].rm_so = sp - m->offp;
- dp = backref(m, sp, stop, ss+1, stopst, lev);
+ dp = backref(charset, m, sp, stop, ss+1, stopst, lev);
if (dp != NULL)
return(dp);
m->pmatch[i].rm_so = offsave;
@@ -605,7 +608,7 @@ sopno lev; /* PLUS nesting level */
assert(0 < i && i <= m->g->nsub);
offsave = m->pmatch[i].rm_eo;
m->pmatch[i].rm_eo = sp - m->offp;
- dp = backref(m, sp, stop, ss+1, stopst, lev);
+ dp = backref(charset, m, sp, stop, ss+1, stopst, lev);
if (dp != NULL)
return(dp);
m->pmatch[i].rm_eo = offsave;
@@ -628,7 +631,8 @@ sopno lev; /* PLUS nesting level */
== char *stop, sopno startst, sopno stopst);
*/
static char * /* where tentative match ended, or NULL */
-fast(m, start, stop, startst, stopst)
+fast(charset, m, start, stop, startst, stopst)
+CHARSET_INFO *charset;
register struct match *m;
char *start;
char *stop;
@@ -678,12 +682,12 @@ sopno stopst;
}
/* how about a word boundary? */
- if ( (flagch == BOL || (lastc != OUT && !ISWORD(lastc))) &&
- (c != OUT && ISWORD(c)) ) {
+ if ( (flagch == BOL || (lastc != OUT && !ISWORD(charset,lastc))) &&
+ (c != OUT && ISWORD(charset,c)) ) {
flagch = BOW;
}
- if ( (lastc != OUT && ISWORD(lastc)) &&
- (flagch == EOL || (c != OUT && !ISWORD(c))) ) {
+ if ( (lastc != OUT && ISWORD(charset,lastc)) &&
+ (flagch == EOL || (c != OUT && !ISWORD(charset,c))) ) {
flagch = EOW;
}
if (flagch == BOW || flagch == EOW) {
@@ -719,7 +723,8 @@ sopno stopst;
== char *stop, sopno startst, sopno stopst);
*/
static char * /* where it ended */
-slow(m, start, stop, startst, stopst)
+slow(charset, m, start, stop, startst, stopst)
+CHARSET_INFO *charset;
register struct match *m;
char *start;
char *stop;
@@ -767,12 +772,12 @@ sopno stopst;
}
/* how about a word boundary? */
- if ( (flagch == BOL || (lastc != OUT && !ISWORD(lastc))) &&
- (c != OUT && ISWORD(c)) ) {
+ if ( (flagch == BOL || (lastc != OUT && !ISWORD(charset,lastc))) &&
+ (c != OUT && ISWORD(charset,c)) ) {
flagch = BOW;
}
- if ( (lastc != OUT && ISWORD(lastc)) &&
- (flagch == EOL || (c != OUT && !ISWORD(c))) ) {
+ if ( (lastc != OUT && ISWORD(charset,lastc)) &&
+ (flagch == EOL || (c != OUT && !ISWORD(charset,c))) ) {
flagch = EOW;
}
if (flagch == BOW || flagch == EOW) {
diff --git a/regex/engine.ih b/regex/engine.ih
index c65733b5756..7cfcb39fb2d 100644
--- a/regex/engine.ih
+++ b/regex/engine.ih
@@ -4,11 +4,11 @@ extern "C" {
#endif
/* === engine.c === */
-static int matcher(register struct re_guts *g, char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
-static char *dissect(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
-static char *backref(register struct match *m, char *start, char *stop, sopno startst, sopno stopst, sopno lev);
-static char *fast(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
-static char *slow(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
+static int matcher(CHARSET_INFO *charset,register struct re_guts *g, char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
+static char *dissect(CHARSET_INFO *charset,register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
+static char *backref(CHARSET_INFO *charset, register struct match *m, char *start, char *stop, sopno startst, sopno stopst, sopno lev);
+static char *fast(CHARSET_INFO *charset, register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
+static char *slow(CHARSET_INFO *charset, register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
static states step(register struct re_guts *g, sopno start, sopno stop, register states bef, int ch, register states aft);
#define BOL (OUT+1)
#define EOL (BOL+1)
diff --git a/regex/main.c b/regex/main.c
index 7844a4d8384..70d75e6ec50 100644
--- a/regex/main.c
+++ b/regex/main.c
@@ -74,7 +74,7 @@ char *argv[];
exit(status);
}
- err = regcomp(&re, argv[optind++], copts);
+ err = regcomp(&re, argv[optind++], copts, default_charset_info);
if (err) {
len = regerror(err, &re, erbuf, sizeof(erbuf));
fprintf(stderr, "error %s, %d/%d `%s'\n",
@@ -226,7 +226,7 @@ int opts; /* may not match f1 */
strcpy(f0copy, f0);
re.re_endp = (opts&REG_PEND) ? f0copy + strlen(f0copy) : NULL;
fixstr(f0copy);
- err = regcomp(&re, f0copy, opts);
+ err = regcomp(&re, f0copy, opts, default_charset_info);
if (err != 0 && (!opt('C', f1) || err != efind(f2))) {
/* unexpected error or wrong error */
len = regerror(err, &re, erbuf, sizeof(erbuf));
diff --git a/regex/regcomp.c b/regex/regcomp.c
index 6f8221a706d..8a4ebbdfe17 100644
--- a/regex/regcomp.c
+++ b/regex/regcomp.c
@@ -28,6 +28,7 @@ struct parse {
# define NPAREN 10 /* we need to remember () 1-9 for back refs */
sopno pbegin[NPAREN]; /* -> ( ([0] unused) */
sopno pend[NPAREN]; /* -> ) ([0] unused) */
+ CHARSET_INFO *charset; /* for ctype things */
};
#include "regcomp.ih"
@@ -99,10 +100,11 @@ static int never = 0; /* for use in asserts; shuts lint up */
= #define REG_DUMP 0200
*/
int /* 0 success, otherwise REG_something */
-regcomp(preg, pattern, cflags)
+regcomp(preg, pattern, cflags, charset)
regex_t *preg;
const char *pattern;
int cflags;
+CHARSET_INFO *charset;
{
struct parse pa;
register struct re_guts *g;
@@ -116,6 +118,7 @@ int cflags;
#endif
regex_init(); /* Init cclass if neaded */
+ preg->charset=charset;
cflags = GOODFLAGS(cflags);
if ((cflags&REG_EXTENDED) && (cflags&REG_NOSPEC))
return(REG_INVARG);
@@ -146,6 +149,7 @@ int cflags;
p->end = p->next + len;
p->error = 0;
p->ncsalloc = 0;
+ p->charset = preg->charset;
for (i = 0; i < NPAREN; i++) {
p->pbegin[i] = 0;
p->pend[i] = 0;
@@ -327,7 +331,7 @@ register struct parse *p;
ordinary(p, c);
break;
case '{': /* okay as ordinary except if digit follows */
- if(REQUIRE(!MORE() || !isdigit(PEEK()), REG_BADRPT)) {}
+ if(REQUIRE(!MORE() || !my_isdigit(p->charset,PEEK()), REG_BADRPT)) {}
/* FALLTHROUGH */
default:
ordinary(p, c);
@@ -339,7 +343,8 @@ register struct parse *p;
c = PEEK();
/* we call { a repetition if followed by a digit */
if (!( c == '*' || c == '+' || c == '?' ||
- (c == '{' && MORE2() && isdigit(PEEK2())) ))
+ (c == '{' && MORE2() &&
+ my_isdigit(p->charset,PEEK2())) ))
return; /* no repetition, we're done */
NEXT();
@@ -368,7 +373,7 @@ register struct parse *p;
case '{':
count = p_count(p);
if (EAT(',')) {
- if (isdigit(PEEK())) {
+ if (my_isdigit(p->charset,PEEK())) {
count2 = p_count(p);
if(REQUIRE(count <= count2, REG_BADBR)) {}
} else /* single number with comma */
@@ -389,7 +394,8 @@ register struct parse *p;
return;
c = PEEK();
if (!( c == '*' || c == '+' || c == '?' ||
- (c == '{' && MORE2() && isdigit(PEEK2())) ) )
+ (c == '{' && MORE2() &&
+ my_isdigit(p->charset,PEEK2())) ) )
return;
SETERROR(REG_BADRPT);
}
@@ -546,7 +552,7 @@ int starordinary; /* is a leading * an ordinary character? */
} else if (EATTWO('\\', '{')) {
count = p_count(p);
if (EAT(',')) {
- if (MORE() && isdigit(PEEK())) {
+ if (MORE() && my_isdigit(p->charset,PEEK())) {
count2 = p_count(p);
if(REQUIRE(count <= count2, REG_BADBR)) {}
} else /* single number with comma */
@@ -577,7 +583,7 @@ register struct parse *p;
register int count = 0;
register int ndigits = 0;
- while (MORE() && isdigit(PEEK()) && count <= DUPMAX) {
+ while (MORE() && my_isdigit(p->charset,PEEK()) && count <= DUPMAX) {
count = count*10 + (GETNEXT() - '0');
ndigits++;
}
@@ -632,8 +638,8 @@ register struct parse *p;
register int ci;
for (i = p->g->csetsize - 1; i >= 0; i--)
- if (CHIN(cs, i) && isalpha(i)) {
- ci = othercase(i);
+ if (CHIN(cs, i) && my_isalpha(p->charset,i)) {
+ ci = othercase(p->charset,i);
if (ci != i)
CHadd(cs, ci);
}
@@ -744,7 +750,7 @@ register cset *cs;
register char *u;
register char c;
- while (MORE() && isalpha(PEEK()))
+ while (MORE() && my_isalpha(p->charset,PEEK()))
NEXT();
len = p->next - sp;
for (cp = cclasses; cp->name != NULL; cp++)
@@ -837,14 +843,15 @@ int endc; /* name ended by endc,']' */
== static char othercase(int ch);
*/
static char /* if no counterpart, return ch */
-othercase(ch)
+othercase(charset,ch)
+CHARSET_INFO *charset;
int ch;
{
- assert(isalpha(ch));
- if (isupper(ch))
- return(tolower(ch));
- else if (islower(ch))
- return(toupper(ch));
+ assert(my_isalpha(charset,ch));
+ if (my_isupper(charset,ch))
+ return(my_tolower(charset,ch));
+ else if (my_islower(charset,ch))
+ return(my_toupper(charset,ch));
else /* peculiar, but could happen */
return(ch);
}
@@ -887,7 +894,8 @@ register int ch;
{
register cat_t *cap = p->g->categories;
- if ((p->g->cflags&REG_ICASE) && isalpha(ch) && othercase(ch) != ch)
+ if ((p->g->cflags&REG_ICASE) && my_isalpha(p->charset,ch) &&
+ othercase(p->charset,ch) != ch)
bothcases(p, ch);
else {
EMIT(OCHAR, (unsigned char)ch);
diff --git a/regex/regcomp.ih b/regex/regcomp.ih
index 4ae45bbf4a9..32f1f6e89eb 100644
--- a/regex/regcomp.ih
+++ b/regex/regcomp.ih
@@ -16,7 +16,7 @@ static void p_b_cclass(register struct parse *p, register cset *cs);
static void p_b_eclass(register struct parse *p, register cset *cs);
static char p_b_symbol(register struct parse *p);
static char p_b_coll_elem(register struct parse *p, int endc);
-static char othercase(int ch);
+static char othercase(CHARSET_INFO *charset,int ch);
static void bothcases(register struct parse *p, int ch);
static void ordinary(register struct parse *p, register int ch);
static void nonnewline(register struct parse *p);
diff --git a/regex/regex.h b/regex/regex.h
index 99a0077251e..1602f66d190 100644
--- a/regex/regex.h
+++ b/regex/regex.h
@@ -5,6 +5,8 @@
extern "C" {
#endif
+#include "m_ctype.h"
+
/* === regex2.h === */
#ifdef _WIN64
typedef __int64 regoff_t;
@@ -17,6 +19,7 @@ typedef struct {
size_t re_nsub; /* number of parenthesized subexpressions */
const char *re_endp; /* end pointer for REG_PEND */
struct re_guts *re_g; /* none of your business :-) */
+ CHARSET_INFO *charset; /* For ctype things */
} regex_t;
typedef struct {
regoff_t rm_so; /* start of match */
@@ -25,7 +28,7 @@ typedef struct {
/* === regcomp.c === */
-extern int regcomp(regex_t *, const char *, int);
+extern int regcomp(regex_t *, const char *, int, CHARSET_INFO *charset);
#define REG_BASIC 0000
#define REG_EXTENDED 0001
#define REG_ICASE 0002
diff --git a/regex/regex2.h b/regex/regex2.h
index 0d94baa310f..bba54ea2054 100644
--- a/regex/regex2.h
+++ b/regex/regex2.h
@@ -140,6 +140,6 @@ struct re_guts {
/* misc utilities */
#undef OUT /* May be defined in windows */
#define OUT (CHAR_MAX+1) /* a non-character value */
-#define ISWORD(c) (isalnum(c) || (c) == '_')
+#define ISWORD(s,c) (my_isalnum(s,c) || (c) == '_')
#endif /* __regex2_h__ */
diff --git a/regex/regexec.c b/regex/regexec.c
index 7f2704f8214..723289bd0ad 100644
--- a/regex/regexec.c
+++ b/regex/regexec.c
@@ -133,7 +133,7 @@ int eflags;
if ((size_t) g->nstates <= CHAR_BIT*sizeof(states1) &&
!(eflags&REG_LARGE))
- return(smatcher(g, (char *)str, nmatch, pmatch, eflags));
+ return(smatcher(preg->charset, g, (char *)str, nmatch, pmatch, eflags));
else
- return(lmatcher(g, (char *)str, nmatch, pmatch, eflags));
+ return(lmatcher(preg->charset, g, (char *)str, nmatch, pmatch, eflags));
}
diff --git a/regex/reginit.c b/regex/reginit.c
index 18647c386fc..fe81f88a342 100644
--- a/regex/reginit.c
+++ b/regex/reginit.c
@@ -12,6 +12,7 @@ void regex_init()
char buff[CCLASS_LAST][256];
int count[CCLASS_LAST];
uint i;
+ CHARSET_INFO *cs=default_charset_info;
if (!regex_inited)
{
@@ -20,27 +21,27 @@ void regex_init()
for (i=1 ; i<= 255; i++)
{
- if (isalnum(i))
+ if (my_isalnum(cs,i))
buff[CCLASS_ALNUM][count[CCLASS_ALNUM]++]=(char) i;
- if (isalpha(i))
+ if (my_isalpha(cs,i))
buff[CCLASS_ALPHA][count[CCLASS_ALPHA]++]=(char) i;
- if (iscntrl(i))
+ if (my_iscntrl(cs,i))
buff[CCLASS_CNTRL][count[CCLASS_CNTRL]++]=(char) i;
- if (isdigit(i))
+ if (my_isdigit(cs,i))
buff[CCLASS_DIGIT][count[CCLASS_DIGIT]++]=(char) i;
- if (isgraph(i))
+ if (my_isgraph(cs,i))
buff[CCLASS_GRAPH][count[CCLASS_GRAPH]++]=(char) i;
- if (islower(i))
+ if (my_islower(cs,i))
buff[CCLASS_LOWER][count[CCLASS_LOWER]++]=(char) i;
- if (isprint(i))
+ if (my_isprint(cs,i))
buff[CCLASS_PRINT][count[CCLASS_PRINT]++]=(char) i;
- if (ispunct(i))
+ if (my_ispunct(cs,i))
buff[CCLASS_PUNCT][count[CCLASS_PUNCT]++]=(char) i;
- if (isspace(i))
+ if (my_isspace(cs,i))
buff[CCLASS_SPACE][count[CCLASS_SPACE]++]=(char) i;
- if (isupper(i))
+ if (my_isupper(cs,i))
buff[CCLASS_UPPER][count[CCLASS_UPPER]++]=(char) i;
- if (isxdigit(i))
+ if (my_isxdigit(cs,i))
buff[CCLASS_XDIGIT][count[CCLASS_XDIGIT]++]=(char) i;
}
buff[CCLASS_BLANK][0]=' ';
diff --git a/sql/Makefile.am b/sql/Makefile.am
index e1ed9ad8915..f58075358b6 100644
--- a/sql/Makefile.am
+++ b/sql/Makefile.am
@@ -79,9 +79,10 @@ mysqld_SOURCES = sql_lex.cc sql_handler.cc \
sql_db.cc sql_table.cc sql_rename.cc sql_crypt.cc \
sql_load.cc mf_iocache.cc field_conv.cc sql_show.cc \
sql_udf.cc sql_analyse.cc sql_analyse.h sql_cache.cc \
- slave.cc sql_repl.cc sql_union.cc \
+ slave.cc sql_repl.cc sql_union.cc sql_derived.cc \
mini_client.cc mini_client_errors.c \
- stacktrace.c repl_failsafe.h repl_failsafe.cc
+ stacktrace.c repl_failsafe.h repl_failsafe.cc \
+ gstream.cc spatial.cc
gen_lex_hash_SOURCES = gen_lex_hash.cc
gen_lex_hash_LDADD = $(LDADD) $(CXXLDFLAGS)
diff --git a/sql/convert.cc b/sql/convert.cc
index 75af13e0939..c2868cac848 100644
--- a/sql/convert.cc
+++ b/sql/convert.cc
@@ -433,7 +433,17 @@ CONVERT *get_convert_set(const char *name)
{
for (CONVERT **ptr=convert_tables ; *ptr ; ptr++)
{
- if (!my_strcasecmp((*ptr)->name,name))
+ /*
+ BAR TODO: Monty's comments:
+ Why is this using system_charset_info ?
+ Isn't the character-set string given in the users default charset?
+ Please add a TODO note to the code that this has to be fixed when the user
+ will be able to cast strings to different character sets...
+ The current code will also not work if/when we introduce support for
+ 16 bit characters...
+ (I know that there is a LOT of changes to do if we ever want do this...)
+ */
+ if (!my_strcasecmp(system_charset_info,(*ptr)->name,name))
return (*ptr);
}
return 0;
diff --git a/sql/des_key_file.cc b/sql/des_key_file.cc
index d9c924b5a3c..ca92e38279b 100644
--- a/sql/des_key_file.cc
+++ b/sql/des_key_file.cc
@@ -70,9 +70,10 @@ load_des_key_file(const char *file_name)
{
offset=(char) (offset - '0');
// Remove newline and possible other control characters
- for (start=buf+1 ; isspace(*start) ; start++) ;
+ for (start=buf+1 ; my_isspace(system_charset_info, *start) ; start++) ;
end=buf+length;
- for (end=strend(buf) ; end > start && !isgraph(end[-1]) ; end--) ;
+ for (end=strend(buf) ;
+ end > start && !my_isgraph(system_charset_info, end[-1]) ; end--) ;
if (start != end)
{
diff --git a/sql/field.cc b/sql/field.cc
index 23419a53d3d..bd4b8e9f29d 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -68,7 +68,8 @@ const char field_separator=',';
*/
static bool
-number_dec(struct st_decstr *sdec, const char *str, const char *end)
+number_dec(CHARSET_INFO *cs, struct st_decstr *sdec,
+ const char *str, const char *end)
{
sdec->sign=sdec->extra=0;
if (str == end)
@@ -86,7 +87,7 @@ number_dec(struct st_decstr *sdec, const char *str, const char *end)
str++;
}
const char *start=str;
- while (str != end && isdigit(*str))
+ while (str != end && my_isdigit(cs,*str))
str++;
if (!(sdec->nr_length=(uint) (str-start)))
sdec->extra=1; // We must put one 0 before .
@@ -95,13 +96,13 @@ number_dec(struct st_decstr *sdec, const char *str, const char *end)
{
str++;
start=str;
- while (str != end && isdigit(*str))
+ while (str != end && my_isdigit(cs,*str))
str++;
}
sdec->nr_dec=(uint) (str-start);
if (current_thd->count_cuted_fields)
{
- while (str != end && isspace(*str))
+ while (str != end && my_isspace(cs,*str))
str++; /* purecov: inspected */
if (str != end)
{
@@ -135,7 +136,8 @@ bool test_if_int(const char *str,int length)
{
const char *end=str+length;
- while (str != end && isspace(*str)) // Allow start space
+ // Allow start space
+ while (str != end && my_isspace(system_charset_info,*str))
str++; /* purecov: inspected */
if (str != end && (*str == '-' || *str == '+'))
str++;
@@ -143,7 +145,7 @@ bool test_if_int(const char *str,int length)
return 0; // Error: Empty string
for ( ; str != end ; str++)
{
- if (!isdigit(*str))
+ if (!my_isdigit(system_charset_info,*str))
{
if (*str == '.')
{ // Allow '.0000'
@@ -151,10 +153,10 @@ bool test_if_int(const char *str,int length)
if (str == end)
return 1;
}
- if (!isspace(*str))
+ if (!my_isspace(system_charset_info,*str))
return 0;
for (str++ ; str != end ; str++)
- if (!isspace(*str))
+ if (!my_isspace(system_charset_info,*str))
return 0;
return 1;
}
@@ -165,7 +167,7 @@ bool test_if_int(const char *str,int length)
static bool test_if_real(const char *str,int length)
{
- while (length && isspace(*str))
+ while (length && my_isspace(system_charset_info,*str))
{ // Allow start space
length--; str++;
}
@@ -174,10 +176,10 @@ static bool test_if_real(const char *str,int length)
if (*str == '+' || *str == '-')
{
length--; str++;
- if (!length || !(isdigit(*str) || *str == '.'))
+ if (!length || !(my_isdigit(system_charset_info,*str) || *str == '.'))
return 0;
}
- while (length && isdigit(*str))
+ while (length && my_isdigit(system_charset_info,*str))
{
length--; str++;
}
@@ -186,7 +188,7 @@ static bool test_if_real(const char *str,int length)
if (*str == '.')
{
length--; str++;
- while (length && isdigit(*str))
+ while (length && my_isdigit(system_charset_info,*str))
{
length--; str++;
}
@@ -195,18 +197,19 @@ static bool test_if_real(const char *str,int length)
return 1;
if (*str == 'E' || *str == 'e')
{
- if (length < 3 || (str[1] != '+' && str[1] != '-') || !isdigit(str[2]))
+ if (length < 3 || (str[1] != '+' && str[1] != '-') ||
+ !my_isdigit(system_charset_info,str[2]))
return 0;
length-=3;
str+=3;
- while (length && isdigit(*str))
+ while (length && my_isdigit(system_charset_info,*str))
{
length--; str++;
}
}
for ( ; length ; length--, str++)
{ // Allow end space
- if (!isspace(*str))
+ if (!my_isspace(system_charset_info,*str))
return 0;
}
return 1;
@@ -405,7 +408,7 @@ void Field_decimal::store(const char *from,uint len)
if ((tmp_dec= dec))
tmp_dec++; // Calculate pos of '.'
- while (from != end && isspace(*from))
+ while (from != end && my_isspace(system_charset_info,*from))
from++;
if (zerofill)
{
@@ -416,7 +419,7 @@ void Field_decimal::store(const char *from,uint len)
}
else
fyllchar=' ';
- error=number_dec(&decstr,from,end);
+ error=number_dec(system_charset_info,&decstr,from,end);
if (decstr.sign)
{
from++;
@@ -479,7 +482,7 @@ void Field_decimal::store(const char *from,uint len)
{
if (*from != '0')
{
- if (!isspace(*from)) // Space is ok
+ if (!my_isspace(system_charset_info,*from)) // Space is ok
current_thd->cuted_fields++;
break;
}
@@ -603,8 +606,10 @@ int Field_decimal::cmp(const char *a_ptr,const char *b_ptr)
for (end=a_ptr+field_length;
a_ptr != end &&
(*a_ptr == *b_ptr ||
- ((isspace(*a_ptr) || *a_ptr == '+' || *a_ptr == '0') &&
- (isspace(*b_ptr) || *b_ptr == '+' || *b_ptr == '0')));
+ ((my_isspace(system_charset_info,*a_ptr) || *a_ptr == '+' ||
+ *a_ptr == '0') &&
+ (my_isspace(system_charset_info,*b_ptr) || *b_ptr == '+' ||
+ *b_ptr == '0')));
a_ptr++,b_ptr++)
{
if (*a_ptr == '-') // If both numbers are negative
@@ -631,7 +636,7 @@ void Field_decimal::sort_string(char *to,uint length)
char *str,*end;
for (str=ptr,end=ptr+length;
str != end &&
- ((isspace(*str) || *str == '+' || *str == '0')) ;
+ ((my_isspace(system_charset_info,*str) || *str == '+' || *str == '0')) ;
str++)
*to++=' ';
@@ -643,7 +648,7 @@ void Field_decimal::sort_string(char *to,uint length)
*to++=1; // Smaller than any number
str++;
while (str != end)
- if (isdigit(*str))
+ if (my_isdigit(system_charset_info,*str))
*to++= (char) ('9' - *str++);
else
*to++= *str++;
@@ -1265,7 +1270,7 @@ void Field_medium::sql_type(String &res) const
void Field_long::store(const char *from,uint len)
{
- while (len && isspace(*from))
+ while (len && my_isspace(system_charset_info,*from))
{
len--; from++;
}
@@ -1493,7 +1498,7 @@ void Field_long::sql_type(String &res) const
void Field_longlong::store(const char *from,uint len)
{
- while (len && isspace(*from))
+ while (len && my_isspace(system_charset_info,*from))
{ // For easy error check
len--; from++;
}
@@ -3331,7 +3336,7 @@ void Field_string::store(const char *from,uint length)
const char *end=from+length;
for (from+=field_length ; from != end ; from++)
{
- if (!isspace(*from))
+ if (!my_isspace(field_charset,*from))
{
current_thd->cuted_fields++;
break;
@@ -3402,7 +3407,7 @@ int Field_string::cmp(const char *a_ptr, const char *b_ptr)
if (binary_flag)
return memcmp(a_ptr,b_ptr,field_length);
else
- return my_sortcmp(a_ptr,b_ptr,field_length);
+ return my_sortcmp(field_charset,a_ptr,b_ptr,field_length);
}
void Field_string::sort_string(char *to,uint length)
@@ -3412,17 +3417,17 @@ void Field_string::sort_string(char *to,uint length)
else
{
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info)) {
- uint tmp=my_strnxfrm(default_charset_info,
- (unsigned char *)to, (unsigned char *) ptr,
- length, field_length);
+ if (use_strcoll(field_charset)) {
+ uint tmp=my_strnxfrm(field_charset,
+ (unsigned char *)to, length,
+ (unsigned char *) ptr, field_length);
if (tmp < length)
bzero(to + tmp, length - tmp);
}
else
#endif
for (char *from=ptr,*end=ptr+length ; from != end ;)
- *to++=(char) my_sort_order[(uint) (uchar) *from++];
+ *to++=(char) field_charset->sort_order[(uint) (uchar) *from++];
}
}
@@ -3471,7 +3476,7 @@ int Field_string::pack_cmp(const char *a, const char *b, uint length)
int cmp= memcmp(a,b,min(a_length,b_length));
return cmp ? cmp : (int) (a_length - b_length);
}
- return my_sortncmp(a,a_length, b,b_length);
+ return my_sortncmp(field_charset, a,a_length, b,b_length);
}
@@ -3488,7 +3493,7 @@ int Field_string::pack_cmp(const char *b, uint length)
int cmp= memcmp(ptr,b,min(a_length,b_length));
return cmp ? cmp : (int) (a_length - b_length);
}
- return my_sortncmp(ptr,a_length, b, b_length);
+ return my_sortncmp(field_charset, ptr,a_length, b, b_length);
}
@@ -3593,7 +3598,7 @@ int Field_varstring::cmp(const char *a_ptr, const char *b_ptr)
if (binary_flag)
diff=memcmp(a_ptr+2,b_ptr+2,min(a_length,b_length));
else
- diff=my_sortcmp(a_ptr+2,b_ptr+2,min(a_length,b_length));
+ diff=my_sortcmp(field_charset, a_ptr+2,b_ptr+2,min(a_length,b_length));
return diff ? diff : (int) (a_length - b_length);
}
@@ -3605,10 +3610,10 @@ void Field_varstring::sort_string(char *to,uint length)
else
{
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
- tot_length=my_strnxfrm(default_charset_info,
- (unsigned char *) to, (unsigned char *)ptr+2,
- length, tot_length);
+ if (use_strcoll(field_charset))
+ tot_length=my_strnxfrm(field_charset,
+ (unsigned char *) to, length,
+ (unsigned char *)ptr+2, tot_length);
else
{
#endif
@@ -3616,7 +3621,7 @@ void Field_varstring::sort_string(char *to,uint length)
if (tot_length > length)
tot_length=length;
for (char *from=ptr+2,*end=from+tot_length ; from != end ;)
- *tmp++=(char) my_sort_order[(uint) (uchar) *from++];
+ *tmp++=(char) field_charset->sort_order[(uint) (uchar) *from++];
#ifdef USE_STRCOLL
}
#endif
@@ -3687,7 +3692,7 @@ int Field_varstring::pack_cmp(const char *a, const char *b, uint key_length)
int cmp= memcmp(a,b,min(a_length,b_length));
return cmp ? cmp : (int) (a_length - b_length);
}
- return my_sortncmp(a,a_length, b,b_length);
+ return my_sortncmp(field_charset, a,a_length, b,b_length);
}
int Field_varstring::pack_cmp(const char *b, uint key_length)
@@ -3708,7 +3713,7 @@ int Field_varstring::pack_cmp(const char *b, uint key_length)
int cmp= memcmp(a,b,min(a_length,b_length));
return cmp ? cmp : (int) (a_length - b_length);
}
- return my_sortncmp(a,a_length, b,b_length);
+ return my_sortncmp(field_charset, a,a_length, b,b_length);
}
uint Field_varstring::packed_col_length(const char *ptr, uint length)
@@ -3737,7 +3742,7 @@ Field_blob::Field_blob(char *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg,
:Field_str(ptr_arg, (1L << min(blob_pack_length,3)*8)-1L,
null_ptr_arg, null_bit_arg, unireg_check_arg, field_name_arg,
table_arg),
- packlength(blob_pack_length),binary_flag(binary_arg)
+ packlength(blob_pack_length),binary_flag(binary_arg), geom_flag(true)
{
flags|= BLOB_FLAG;
if (binary_arg)
@@ -3931,7 +3936,7 @@ int Field_blob::cmp(const char *a,uint32 a_length, const char *b,
if (binary_flag)
diff=memcmp(a,b,min(a_length,b_length));
else
- diff=my_sortcmp(a,b,min(a_length,b_length));
+ diff=my_sortcmp(field_charset, a,b,min(a_length,b_length));
return diff ? diff : (int) (a_length - b_length);
}
@@ -3979,8 +3984,30 @@ int Field_blob::cmp_binary(const char *a_ptr, const char *b_ptr,
/* The following is used only when comparing a key */
-void Field_blob::get_key_image(char *buff,uint length)
+void Field_blob::get_key_image(char *buff,uint length, imagetype type)
{
+ if(type == itMBR)
+ {
+ length-=HA_KEY_BLOB_LENGTH;
+ ulong blob_length=get_length(ptr);
+ char *blob;
+ get_ptr(&blob);
+ if(!blob_length)
+ {
+ return;
+ }
+
+ MBR mbr;
+ Geometry gobj;
+ gobj.create_from_wkb(blob,blob_length);
+ gobj.get_mbr(&mbr);
+ float8store(buff, mbr.xmin);
+ float8store(buff+8, mbr.xmax);
+ float8store(buff+16, mbr.ymin);
+ float8store(buff+24, mbr.ymax);
+ return;
+ }
+
length-=HA_KEY_BLOB_LENGTH;
uint32 blob_length=get_length(ptr);
char *blob;
@@ -4002,6 +4029,31 @@ void Field_blob::set_key_image(char *buff,uint length)
Field_blob::store(buff+2,length);
}
+void Field_geom::get_key_image(char *buff,uint length, imagetype type)
+{
+ length-=HA_KEY_BLOB_LENGTH;
+ ulong blob_length=get_length(ptr);
+ char *blob;
+ get_ptr(&blob);
+ memcpy(buff+2,blob,length);
+
+ MBR mbr;
+ Geometry gobj;
+ gobj.create_from_wkb(blob,blob_length);
+ gobj.get_mbr(&mbr);
+ float8store(buff, mbr.xmin);
+ float8store(buff+8, mbr.xmax);
+ float8store(buff+16, mbr.ymin);
+ float8store(buff+24, mbr.ymax);
+ return;
+}
+
+void Field_geom::set_key_image(char *buff,uint length)
+{
+}
+
+
+
int Field_blob::key_cmp(const byte *key_ptr, uint max_key_length)
{
char *blob1;
@@ -4041,11 +4093,11 @@ void Field_blob::sort_string(char *to,uint length)
else
{
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
+ if (use_strcoll(field_charset))
{
- blob_length=my_strnxfrm(default_charset_info,
- (unsigned char *)to,(unsigned char *)blob,
- length,blob_org_length);
+ blob_length=my_strnxfrm(field_charset,
+ (unsigned char *)to, length,
+ (unsigned char *)blob, blob_org_length);
if (blob_length >= length)
return;
to+=blob_length;
@@ -4053,7 +4105,7 @@ void Field_blob::sort_string(char *to,uint length)
else
#endif
for (char *end=blob+blob_length ; blob != end ;)
- *to++=(char) my_sort_order[(uint) (uchar) *blob++];
+ *to++=(char) field_charset->sort_order[(uint) (uchar) *blob++];
}
bzero(to,length-blob_length);
}
@@ -4131,7 +4183,7 @@ int Field_blob::pack_cmp(const char *a, const char *b, uint key_length)
int cmp= memcmp(a,b,min(a_length,b_length));
return cmp ? cmp : (int) (a_length - b_length);
}
- return my_sortncmp(a,a_length, b,b_length);
+ return my_sortncmp(field_charset, a,a_length, b,b_length);
}
@@ -4157,7 +4209,7 @@ int Field_blob::pack_cmp(const char *b, uint key_length)
int cmp= memcmp(a,b,min(a_length,b_length));
return cmp ? cmp : (int) (a_length - b_length);
}
- return my_sortncmp(a,a_length, b,b_length);
+ return my_sortncmp(field_charset, a,a_length, b,b_length);
}
/* Create a packed key that will be used for storage from a MySQL row */
@@ -4268,14 +4320,16 @@ void Field_enum::store_type(ulonglong value)
uint find_enum(TYPELIB *lib,const char *x, uint length)
{
const char *end=x+length;
- while (end > x && isspace(end[-1]))
+ while (end > x && my_isspace(system_charset_info,end[-1]))
end--;
const char *i;
const char *j;
for (uint pos=0 ; (j=lib->type_names[pos]) ; pos++)
{
- for (i=x ; i != end && toupper(*i) == toupper(*j) ; i++, j++) ;
+ for (i=x ; i != end &&
+ my_toupper(system_charset_info,*i) ==
+ my_toupper(system_charset_info,*j) ; i++, j++) ;
if (i == end && ! *j)
return(pos+1);
}
@@ -4452,7 +4506,7 @@ void Field_enum::sql_type(String &res) const
ulonglong find_set(TYPELIB *lib,const char *x,uint length)
{
const char *end=x+length;
- while (end > x && isspace(end[-1]))
+ while (end > x && my_isspace(system_charset_info, end[-1]))
end--;
ulonglong found=0;
@@ -4578,7 +4632,8 @@ bool Field_enum::eq_def(Field *field)
if (typelib->count < from_lib->count)
return 0;
for (uint i=0 ; i < from_lib->count ; i++)
- if (my_strcasecmp(typelib->type_names[i],from_lib->type_names[i]))
+ if (my_strcasecmp(field_charset,
+ typelib->type_names[i],from_lib->type_names[i]))
return 0;
return 1;
}
@@ -4631,6 +4686,7 @@ uint32 calc_pack_length(enum_field_types type,uint32 length)
case FIELD_TYPE_LONG_BLOB: return 4+portable_sizeof_char_ptr;
case FIELD_TYPE_SET:
case FIELD_TYPE_ENUM: abort(); return 0; // This shouldn't happen
+ default: return 0;
}
return 0; // This shouldn't happen
}
@@ -4677,6 +4733,11 @@ Field *make_field(char *ptr, uint32 field_length,
return new Field_blob(ptr,null_pos,null_bit,
unireg_check, field_name, table,
pack_length,f_is_binary(pack_flag) != 0);
+ if (f_is_geom(pack_flag))
+ return new Field_geom(ptr,null_pos,null_bit,
+ unireg_check, field_name, table,
+ pack_length,f_is_binary(pack_flag) != 0);
+
if (interval)
{
if (f_is_enum(pack_flag))
diff --git a/sql/field.h b/sql/field.h
index df31721186e..baedf9e78e7 100644
--- a/sql/field.h
+++ b/sql/field.h
@@ -47,6 +47,9 @@ public:
enum utype { NONE,DATE,SHIELD,NOEMPTY,CASEUP,PNR,BGNR,PGNR,YES,NO,REL,
CHECK,EMPTY,UNKNOWN_FIELD,CASEDN,NEXT_NUMBER,INTERVAL_FIELD,
BIT_FIELD, TIMESTAMP_FIELD,CAPITALIZE,BLOB_FIELD};
+
+ enum imagetype { itRAW, itMBR};
+
utype unireg_check;
uint32 field_length; // Length of field
uint16 flags;
@@ -137,17 +140,12 @@ public:
{ memcpy(buff,ptr,length); }
inline void set_image(char *buff,uint length)
{ memcpy(ptr,buff,length); }
- virtual void get_key_image(char *buff,uint length)
+ virtual void get_key_image(char *buff,uint length, imagetype type)
{ get_image(buff,length); }
virtual void set_key_image(char *buff,uint length)
{ set_image(buff,length); }
inline int cmp_image(char *buff,uint length)
- {
- if (binary())
- return memcmp(ptr,buff,length);
- else
- return my_casecmp(ptr,buff,length);
- }
+ { return memcmp(ptr,buff,length); }
inline longlong val_int_offset(uint row_offset)
{
ptr+=row_offset;
@@ -238,6 +236,8 @@ public:
class Field_str :public Field {
+protected:
+ CHARSET_INFO *field_charset;
public:
Field_str(char *ptr_arg,uint32 len_arg, uchar *null_ptr_arg,
uchar null_bit_arg, utype unireg_check_arg,
@@ -245,12 +245,21 @@ public:
struct st_table *table_arg)
:Field(ptr_arg, len_arg, null_ptr_arg, null_bit_arg,
unireg_check_arg, field_name_arg, table_arg)
- {}
+ { field_charset=default_charset_info; }
Item_result result_type () const { return STRING_RESULT; }
uint decimals() const { return NOT_FIXED_DEC; }
friend class create_field;
void make_field(Send_field *);
uint size_of() const { return sizeof(*this); }
+ inline CHARSET_INFO *charset() const { return field_charset; }
+ inline int cmp_image(char *buff,uint length)
+ {
+ if (binary())
+ return memcmp(ptr,buff,length);
+ else
+ return my_strncasecmp(field_charset,ptr,buff,length);
+ }
+
};
@@ -825,6 +834,7 @@ class Field_blob :public Field_str {
uint packlength;
String value; // For temporaries
bool binary_flag;
+ bool geom_flag;
public:
Field_blob(char *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg,
enum utype unireg_check_arg, const char *field_name_arg,
@@ -834,7 +844,7 @@ public:
struct st_table *table_arg, bool binary_arg)
:Field_str((char*) 0,len_arg, maybe_null_arg ? (uchar*) "": 0,0,
NONE, field_name_arg, table_arg),
- packlength(3),binary_flag(binary_arg)
+ packlength(3),binary_flag(binary_arg), geom_flag(true)
{
flags|= BLOB_FLAG;
if (binary_arg)
@@ -881,7 +891,7 @@ public:
store_length(length);
memcpy_fixed(ptr+packlength,&data,sizeof(char*));
}
- void get_key_image(char *buff,uint length);
+ void get_key_image(char *buff,uint length, imagetype type);
void set_key_image(char *buff,uint length);
void sql_type(String &str) const;
inline bool copy()
@@ -910,6 +920,25 @@ public:
};
+class Field_geom :public Field_blob {
+public:
+ Field_geom(char *ptr_arg, uchar *null_ptr_arg, uint null_bit_arg,
+ enum utype unireg_check_arg, const char *field_name_arg,
+ struct st_table *table_arg,uint blob_pack_length,
+ bool binary_arg)
+ :Field_blob(ptr_arg, null_ptr_arg, null_bit_arg, unireg_check_arg,
+ field_name_arg, table_arg, blob_pack_length,binary_arg) {}
+ Field_geom(uint32 len_arg,bool maybe_null_arg, const char *field_name_arg,
+ struct st_table *table_arg, bool binary_arg)
+ :Field_blob(len_arg, maybe_null_arg, field_name_arg,
+ table_arg, binary_arg) {}
+ enum ha_base_keytype key_type() const { return HA_KEYTYPE_VARBINARY; }
+
+ void get_key_image(char *buff,uint length, imagetype type);
+ void set_key_image(char *buff,uint length);
+};
+
+
class Field_enum :public Field_str {
protected:
uint packlength;
@@ -1059,6 +1088,8 @@ bool test_if_int(const char *str,int length);
#define FIELDFLAG_INTERVAL 256
#define FIELDFLAG_BITFIELD 512 // mangled with dec!
#define FIELDFLAG_BLOB 1024 // mangled with dec!
+#define FIELDFLAG_GEOM 2048
+
#define FIELDFLAG_LEFT_FULLSCREEN 8192
#define FIELDFLAG_RIGHT_FULLSCREEN 16384
#define FIELDFLAG_FORMAT_NUMBER 16384 // predit: ###,,## in output
@@ -1085,6 +1116,7 @@ bool test_if_int(const char *str,int length);
#define f_is_enum(x) ((x) & FIELDFLAG_INTERVAL)
#define f_is_bitfield(x) ((x) & FIELDFLAG_BITFIELD)
#define f_is_blob(x) (((x) & (FIELDFLAG_BLOB | FIELDFLAG_NUMBER)) == FIELDFLAG_BLOB)
+#define f_is_geom(x) ((x) & FIELDFLAG_GEOM)
#define f_is_equ(x) ((x) & (1+2+FIELDFLAG_PACK+31*256))
#define f_settype(x) (((int) x) << FIELDFLAG_PACK_SHIFT)
#define f_maybe_null(x) (x & FIELDFLAG_MAYBE_NULL)
diff --git a/sql/field_conv.cc b/sql/field_conv.cc
index c7a6d778953..02be0365002 100644
--- a/sql/field_conv.cc
+++ b/sql/field_conv.cc
@@ -276,7 +276,7 @@ static void do_cut_string(Copy_field *copy)
ptr != end ;
ptr++)
{
- if (!isspace(*ptr))
+ if (!my_isspace(system_charset_info, *ptr))
{
current_thd->cuted_fields++; // Give a warning
break;
diff --git a/sql/filesort.cc b/sql/filesort.cc
index 8f3e8b10629..3bde4eeae14 100644
--- a/sql/filesort.cc
+++ b/sql/filesort.cc
@@ -205,7 +205,7 @@ ha_rows filesort(TABLE *table, SORT_FIELD *sortorder, uint s_length,
err:
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
+ if (param.tmp_buffer)
x_free(param.tmp_buffer);
#endif
x_free((gptr) sort_keys);
@@ -467,6 +467,8 @@ static void make_sortkey(register SORTPARAM *param,
switch (sort_field->result_type) {
case STRING_RESULT:
{
+ CHARSET_INFO *cs=item->str_value.charset();
+
if (item->maybe_null)
*to++=1;
/* All item->str() to use some extra byte for end null.. */
@@ -492,7 +494,7 @@ static void make_sortkey(register SORTPARAM *param,
length=sort_field->length;
}
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
+ if(use_strcoll(cs))
{
if (item->binary)
{
@@ -509,10 +511,8 @@ static void make_sortkey(register SORTPARAM *param,
memcpy(param->tmp_buffer,from,length);
from=param->tmp_buffer;
}
- uint tmp_length=my_strnxfrm(default_charset_info,
- to,(unsigned char *) from,
- sort_field->length,
- length);
+ uint tmp_length=my_strnxfrm(cs,to,sort_field->length,
+ (unsigned char *) from, length);
if (tmp_length < sort_field->length)
bzero((char*) to+tmp_length,sort_field->length-tmp_length);
}
@@ -524,7 +524,7 @@ static void make_sortkey(register SORTPARAM *param,
memcpy(to,res->ptr(),length);
bzero((char *)to+length,diff);
if (!item->binary)
- case_sort((char*) to,length);
+ case_sort(cs, (char*) to,length);
#ifdef USE_STRCOLL
}
#endif
@@ -921,8 +921,13 @@ sortlength(SORT_FIELD *sortorder, uint s_length)
{
sortorder->length=sortorder->field->pack_length();
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info) && !sortorder->field->binary())
- sortorder->length= sortorder->length*MY_STRXFRM_MULTIPLY;
+ if (!sortorder->field->binary())
+ {
+ // BAR TODO: need checking that it is really Field_str based class
+ CHARSET_INFO *cs=((Field_str*)(sortorder->field))->charset();
+ if (use_strcoll(cs))
+ sortorder->length= sortorder->length*cs->strxfrm_multiply;
+ }
#endif
}
if (sortorder->field->maybe_null())
@@ -930,12 +935,19 @@ sortlength(SORT_FIELD *sortorder, uint s_length)
}
else
{
+#ifdef USE_STRCOLL
+
+#endif
switch ((sortorder->result_type=sortorder->item->result_type())) {
case STRING_RESULT:
sortorder->length=sortorder->item->max_length;
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info) && !sortorder->item->binary)
- sortorder->length= sortorder->length*MY_STRXFRM_MULTIPLY;
+ if (!sortorder->item->binary)
+ {
+ CHARSET_INFO *cs=sortorder->item->str_value.charset();
+ if (use_strcoll(cs))
+ sortorder->length= sortorder->length*cs->strxfrm_multiply;
+ }
#endif
break;
case INT_RESULT:
diff --git a/sql/gen_lex_hash.cc b/sql/gen_lex_hash.cc
index 7ebdbcd8ba8..918ec753f68 100644
--- a/sql/gen_lex_hash.cc
+++ b/sql/gen_lex_hash.cc
@@ -30,7 +30,7 @@ bool opt_search=0;
int opt_verbose=0;
ulong opt_count=100000;
-#define max_allowed_array 8000 // Don't generate bigger arrays than this
+#define max_allowed_array 16000 // Don't generate bigger arrays than this
#define max_symbol 32767 // Use this for 'not found'
#define how_much_for_plus 8 // 2-8
#define type_count 1 // 1-5
diff --git a/sql/gstream.cc b/sql/gstream.cc
new file mode 100644
index 00000000000..5a58fef6744
--- /dev/null
+++ b/sql/gstream.cc
@@ -0,0 +1,137 @@
+#include "mysql_priv.h"
+
+int GTextReadStream::get_next_toc_type() const
+{
+ const char *cur = m_cur;
+ while((*cur)&&(strchr(" \t\r\n",*cur)))
+ {
+ cur++;
+ }
+ if(!(*cur))
+ {
+ return eostream;
+ }
+
+ if(((*cur>='a') && (*cur<='z')) || ((*cur>='A') && (*cur<='Z')) || (*cur=='_'))
+ {
+ return word;
+ }
+
+ if(((*cur>='0') && (*cur<='9')) || (*cur=='-') || (*cur=='+') || (*cur=='.'))
+ {
+ return numeric;
+ }
+
+ if(*cur == '(')
+ {
+ return l_bra;
+ }
+
+ if(*cur == ')')
+ {
+ return r_bra;
+ }
+
+ if(*cur == ',')
+ {
+ return comma;
+ }
+
+ return unknown;
+}
+
+const char *GTextReadStream::get_next_word(int *word_len)
+{
+ const char *cur = m_cur;
+ while((*cur)&&(strchr(" \t\r\n",*cur)))
+ {
+ cur++;
+ }
+ m_last_text_position = cur;
+
+ if(!(*cur))
+ {
+ return 0;
+ }
+
+ const char *wd_start = cur;
+
+ if(((*cur<'a') || (*cur>'z')) && ((*cur<'A') || (*cur>'Z')) && (*cur!='_'))
+ {
+ return NULL;
+ }
+
+ ++cur;
+
+ while(((*cur>='a') && (*cur<='z')) || ((*cur>='A') && (*cur<='Z')) || (*cur=='_') ||
+ ((*cur>='0') && (*cur<='9')))
+ {
+ ++cur;
+ }
+
+ *word_len = cur - wd_start;
+
+ m_cur = cur;
+
+ return wd_start;
+}
+
+int GTextReadStream::get_next_number(double *d)
+{
+ const char *cur = m_cur;
+ while((*cur)&&(strchr(" \t\r\n",*cur)))
+ {
+ cur++;
+ }
+
+ m_last_text_position = cur;
+ if(!(*cur))
+ {
+ set_error_msg("Numeric constant expected");
+ return 1;
+ }
+
+ if(((*cur<'0') || (*cur>'9')) && (*cur!='-') && (*cur!='+') && (*cur!='.'))
+ {
+ set_error_msg("Numeric constant expected");
+ return 1;
+ }
+
+ char *endptr;
+
+ *d = strtod(cur, &endptr);
+
+ if(endptr)
+ {
+ m_cur = endptr;
+ }
+
+ return 0;
+}
+
+char GTextReadStream::get_next_symbol()
+{
+ const char *cur = m_cur;
+ while((*cur)&&(strchr(" \t\r\n",*cur)))
+ {
+ cur++;
+ }
+ if(!(*cur))
+ {
+ return 0;
+ }
+
+ m_cur = cur + 1;
+ m_last_text_position = cur;
+
+ return *cur;
+}
+
+void GTextReadStream::set_error_msg(const char *msg)
+{
+ size_t len = strlen(msg);
+ m_err_msg = (char *)my_realloc(m_err_msg, len + 1, MYF(MY_ALLOW_ZERO_PTR));
+ memcpy(m_err_msg, msg, len + 1);
+}
+
+
diff --git a/sql/gstream.h b/sql/gstream.h
new file mode 100644
index 00000000000..f8df6e337b0
--- /dev/null
+++ b/sql/gstream.h
@@ -0,0 +1,61 @@
+#ifndef GSTREAM_H
+#define GSTREAM_H
+
+#ifdef WITHOUT_MYSQL
+ #include ".\rtree\myisamdef.h"
+#else
+ #include "mysql_priv.h"
+#endif
+
+class GTextReadStream
+{
+public:
+ enum TokTypes
+ {
+ unknown,
+ eostream,
+ word,
+ numeric,
+ l_bra,
+ r_bra,
+ comma,
+ };
+ GTextReadStream(const char *buffer, int size) :
+ m_cur(buffer), m_limit(buffer + size), m_last_text_position(buffer), m_err_msg(NULL) {}
+ GTextReadStream() : m_cur(NULL), m_limit(NULL), m_err_msg(NULL) {}
+
+ ~GTextReadStream()
+ {
+ my_free(m_err_msg, MYF(MY_ALLOW_ZERO_PTR));
+ }
+
+ int get_next_toc_type() const;
+ const char *get_next_word(int *word_len);
+ int get_next_number(double *d);
+ char get_next_symbol();
+
+ const char *get_last_text_position() const
+ {
+ return m_last_text_position;
+ }
+
+ void set_error_msg(const char *msg);
+
+// caller should free this pointer
+ char *get_error_msg()
+ {
+ char *err_msg = m_err_msg;
+ m_err_msg = NULL;
+ return err_msg;
+ }
+protected:
+ const char *m_cur;
+ const char *m_limit;
+ const char *m_last_text_position;
+ char *m_err_msg;
+};
+
+#endif
+
+
+
diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc
index 614d1b5abf5..58a090a8aed 100644
--- a/sql/ha_berkeley.cc
+++ b/sql/ha_berkeley.cc
@@ -168,7 +168,7 @@ bool berkeley_init(void)
db_env=0; /* purecov: inspected */
}
- (void) hash_init(&bdb_open_tables,32,0,0,
+ (void) hash_init(&bdb_open_tables,system_charset_info,32,0,0,
(hash_get_key) bdb_get_key,0,0);
pthread_mutex_init(&bdb_mutex,MY_MUTEX_INIT_FAST);
DBUG_RETURN(db_env == 0);
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc
index aa8ce0f3c18..b93d9fa0108 100644
--- a/sql/ha_innodb.cc
+++ b/sql/ha_innodb.cc
@@ -471,9 +471,8 @@ innobase_init(void)
DBUG_RETURN(1);
}
-
- (void) hash_init(&innobase_open_tables,32,0,0,
- (hash_get_key) innobase_get_key,0,0);
+ (void) hash_init(&innobase_open_tables,system_charset_info,32,0,0,
+ (hash_get_key) innobase_get_key,0,0);
pthread_mutex_init(&innobase_mutex,MY_MUTEX_INIT_FAST);
DBUG_RETURN(0);
}
@@ -1000,7 +999,10 @@ innobase_mysql_cmp(
case FIELD_TYPE_STRING:
case FIELD_TYPE_VAR_STRING:
- ret = my_sortncmp((const char*) a, a_length,
+ // BAR TODO: Discuss with heikki.tuuri@innodb.com
+ // so that he sends CHARSET_INFO for the field to this function.
+ ret = my_sortncmp(default_charset_info,
+ (const char*) a, a_length,
(const char*) b, b_length);
if (ret < 0) {
return(-1);
diff --git a/sql/ha_myisam.cc b/sql/ha_myisam.cc
index 50088c238e0..df4de96b6c5 100644
--- a/sql/ha_myisam.cc
+++ b/sql/ha_myisam.cc
@@ -28,6 +28,7 @@
#include "../srclib/myisam/myisamdef.h"
#else
#include "../myisam/myisamdef.h"
+#include "../myisam/rt_index.h"
#endif
ulong myisam_sort_buffer_size;
@@ -759,7 +760,7 @@ int ha_myisam::index_read(byte * buf, const byte * key,
uint key_len, enum ha_rkey_function find_flag)
{
statistic_increment(ha_read_key_count,&LOCK_status);
- int error=mi_rkey(file,buf,active_index, key, key_len, find_flag);
+ int error=mi_rkey(file,buf,active_index, key, key_len, (enum ha_rkey_function)find_flag);
table->status=error ? STATUS_NOT_FOUND: 0;
return error;
}
@@ -768,7 +769,7 @@ int ha_myisam::index_read_idx(byte * buf, uint index, const byte * key,
uint key_len, enum ha_rkey_function find_flag)
{
statistic_increment(ha_read_key_count,&LOCK_status);
- int error=mi_rkey(file,buf,index, key, key_len, find_flag);
+ int error=mi_rkey(file,buf,index, key, key_len, (enum ha_rkey_function)find_flag);
table->status=error ? STATUS_NOT_FOUND: 0;
return error;
}
@@ -1004,7 +1005,8 @@ int ha_myisam::create(const char *name, register TABLE *table,
pos=table->key_info;
for (i=0; i < table->keys ; i++, pos++)
{
- keydef[i].flag= (pos->flags & (HA_NOSAME | HA_FULLTEXT));
+ keydef[i].flag= (pos->flags & (HA_NOSAME | HA_FULLTEXT | HA_SPATIAL));
+ keydef[i].key_alg=pos->key_alg; // +BAR
keydef[i].seg=keyseg;
keydef[i].keysegs=pos->key_parts;
for (j=0 ; j < pos->key_parts ; j++)
diff --git a/sql/hash_filo.h b/sql/hash_filo.h
index b8d45f0d3be..4d746d9b9bd 100644
--- a/sql/hash_filo.h
+++ b/sql/hash_filo.h
@@ -75,8 +75,8 @@ public:
if (!locked)
(void) pthread_mutex_lock(&lock);
(void) hash_free(&cache);
- (void) hash_init(&cache,size,key_offset, key_length, get_key, free_element,
- 0);
+ (void) hash_init(&cache,system_charset_info,size,key_offset,
+ key_length, get_key, free_element,0);
if (!locked)
(void) pthread_mutex_unlock(&lock);
first_link=last_link=0;
diff --git a/sql/hostname.cc b/sql/hostname.cc
index 7d4e4a8ca75..0b35f970c42 100644
--- a/sql/hostname.cc
+++ b/sql/hostname.cc
@@ -213,10 +213,10 @@ my_string ip_to_hostname(struct in_addr *in, uint *errors)
/* Don't accept hostnames that starts with digits because they may be
false ip:s */
- if (isdigit(name[0]))
+ if (my_isdigit(system_charset_info,name[0]))
{
char *pos;
- for (pos= name+1 ; isdigit(*pos); pos++) ;
+ for (pos= name+1 ; my_isdigit(system_charset_info,*pos); pos++) ;
if (*pos == '.')
{
DBUG_PRINT("error",("mysqld doesn't accept hostnames that starts with a number followed by a '.'"));
diff --git a/sql/init.cc b/sql/init.cc
index df06ddd41ef..ac0ff701649 100644
--- a/sql/init.cc
+++ b/sql/init.cc
@@ -24,6 +24,7 @@ void unireg_init(ulong options)
{
uint i;
double nr;
+ CHARSET_INFO *cs;
DBUG_ENTER("unireg_init");
MYSYS_PROGRAM_DONT_USE_CURSES();
@@ -54,13 +55,19 @@ void unireg_init(ulong options)
// The following is needed because of like optimization in select.cc
- uchar max_char=my_sort_order[(uchar) max_sort_char];
- for (i = 0; i < 256; i++)
+ for (cs=compiled_charsets; cs->number; cs++)
{
- if ((uchar) my_sort_order[i] > max_char)
+ uchar max_char;
+ if (!cs->sort_order)
+ continue;
+ max_char=cs->sort_order[(uchar) cs->max_sort_char];
+ for (i = 0; i < 256; i++)
{
- max_char=(uchar) my_sort_order[i];
- max_sort_char= (char) i;
+ if ((uchar) cs->sort_order[i] > max_char)
+ {
+ max_char=(uchar) cs->sort_order[i];
+ cs->max_sort_char= (char) i;
+ }
}
}
thread_stack_min=thread_stack - STACK_MIN_SIZE;
diff --git a/sql/item.cc b/sql/item.cc
index dac10eafafb..84f4624a248 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -50,7 +50,7 @@ void Item::set_name(char *str,uint length)
name=str; // Used by AS
else
{
- while (length && !isgraph(*str))
+ while (length && !my_isgraph(system_charset_info,*str))
{ // Fix problem with yacc
length--;
str++;
@@ -66,7 +66,7 @@ void Item::set_name(char *str,uint length)
bool Item::eq(const Item *item, bool binary_cmp) const
{
return type() == item->type() && name && item->name &&
- !my_strcasecmp(name,item->name);
+ !my_strcasecmp(system_charset_info,name,item->name);
}
bool Item_string::eq(const Item *item, bool binary_cmp) const
diff --git a/sql/item.h b/sql/item.h
index 575af197e7d..97f2862bb8b 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -364,6 +364,7 @@ public:
};
+#include "spatial.h"
#include "item_sum.h"
#include "item_func.h"
#include "item_cmpfunc.h"
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index bb773af1ddf..c34440d92d4 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -24,6 +24,7 @@
#include "mysql_priv.h"
#include <m_ctype.h>
+
/*
** Test functions
** These returns 0LL if false and 1LL if true and null if some arg is null
@@ -890,6 +891,9 @@ void in_string::set(uint pos,Item *item)
String *res=item->val_str(str);
if (res && res != str)
*str= *res;
+ // BAR TODO: I'm not sure this is absolutely correct
+ if (!str->charset())
+ str->set_charset(default_charset_info);
}
byte *in_string::get_value(Item *item)
@@ -1278,7 +1282,8 @@ Item_func_regex::fix_fields(THD *thd,TABLE_LIST *tables)
int error;
if ((error=regcomp(&preg,res->c_ptr(),
binary ? REG_EXTENDED | REG_NOSUB :
- REG_EXTENDED | REG_NOSUB | REG_ICASE)))
+ REG_EXTENDED | REG_NOSUB | REG_ICASE,
+ res->charset())))
{
(void) regerror(error,&preg,buff,sizeof(buff));
my_printf_error(ER_REGEXP_ERROR,ER(ER_REGEXP_ERROR),MYF(0),buff);
@@ -1325,7 +1330,8 @@ longlong Item_func_regex::val_int()
}
if (regcomp(&preg,res2->c_ptr(),
binary ? REG_EXTENDED | REG_NOSUB :
- REG_EXTENDED | REG_NOSUB | REG_ICASE))
+ REG_EXTENDED | REG_NOSUB | REG_ICASE,
+ res->charset()))
{
null_value=1;
@@ -1349,3 +1355,83 @@ Item_func_regex::~Item_func_regex()
}
#endif /* USE_REGEX */
+
+
+/****************************************************************
+ Classes and functions for spatial relations
+*****************************************************************/
+
+longlong Item_func_spatial_rel::val_int()
+{
+ String *res1=args[0]->val_str(&tmp_value1);
+ String *res2=args[1]->val_str(&tmp_value2);
+ Geometry g1, g2;
+ MBR mbr1,mbr2;
+
+ if ((null_value=(args[0]->null_value ||
+ args[1]->null_value ||
+ g1.create_from_wkb(res1->ptr(),res1->length()) ||
+ g2.create_from_wkb(res2->ptr(),res2->length()) ||
+ g1.get_mbr(&mbr1) ||
+ g2.get_mbr(&mbr2))))
+ return 0;
+
+ switch (spatial_rel)
+ {
+ case SP_CONTAINS_FUNC:
+ return mbr1.contains(&mbr2);
+ case SP_WITHIN_FUNC:
+ return mbr1.within(&mbr2);
+ case SP_EQUALS_FUNC:
+ return mbr1.equals(&mbr2);
+ case SP_DISJOINT_FUNC:
+ return mbr1.disjoint(&mbr2);
+ case SP_INTERSECTS_FUNC:
+ return mbr1.intersects(&mbr2);
+ case SP_TOUCHES_FUNC:
+ return mbr1.touches(&mbr2);
+ case SP_OVERLAPS_FUNC:
+ return mbr1.overlaps(&mbr2);
+ case SP_CROSSES_FUNC:
+ return 0;
+ default:
+ break;
+ }
+
+ null_value=1;
+ return 0;
+}
+
+longlong Item_func_isempty::val_int()
+{
+ String tmp;
+ null_value=0;
+ return args[0]->null_value ? 1 : 0;
+}
+
+longlong Item_func_issimple::val_int()
+{
+ String tmp;
+ String *wkb=args[0]->val_str(&tmp);
+
+ if ((null_value= (!wkb || args[0]->null_value )))
+ return 0;
+ /* TODO: Ramil or Holyfoot, add real IsSimple calculation */
+ return 0;
+}
+
+longlong Item_func_isclosed::val_int()
+{
+ String tmp;
+ String *wkb=args[0]->val_str(&tmp);
+ Geometry geom;
+ int isclosed;
+
+ null_value= (!wkb ||
+ args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ !GEOM_METHOD_PRESENT(geom,is_closed) ||
+ geom.is_closed(&isclosed));
+
+ return (longlong) isclosed;
+}
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index c9c7d5654d6..b8f21f21008 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -570,3 +570,82 @@ inline Item *and_conds(Item *a,Item *b)
cond->update_used_tables();
return cond;
}
+
+
+/**************************************************************
+Spatial relations
+***************************************************************/
+
+class Item_func_spatial_rel :public Item_bool_func2
+{
+ enum Functype spatial_rel;
+public:
+ Item_func_spatial_rel(Item *a,Item *b, enum Functype sp_rel) :
+ Item_bool_func2(a,b) { spatial_rel = sp_rel; }
+ longlong val_int();
+ enum Functype functype() const
+ {
+ switch (spatial_rel)
+ {
+ case SP_CONTAINS_FUNC:
+ return SP_WITHIN_FUNC;
+ case SP_WITHIN_FUNC:
+ return SP_CONTAINS_FUNC;
+ default:
+ return spatial_rel;
+ }
+ }
+ enum Functype rev_functype() const { return spatial_rel; }
+ const char *func_name() const
+ {
+ switch (spatial_rel)
+ {
+ case SP_CONTAINS_FUNC:
+ return "contains";
+ case SP_WITHIN_FUNC:
+ return "within";
+ case SP_EQUALS_FUNC:
+ return "equals";
+ case SP_DISJOINT_FUNC:
+ return "disjoint";
+ case SP_INTERSECTS_FUNC:
+ return "intersects";
+ case SP_TOUCHES_FUNC:
+ return "touches";
+ case SP_CROSSES_FUNC:
+ return "crosses";
+ case SP_OVERLAPS_FUNC:
+ return "overlaps";
+ default:
+ return "sp_unknown";
+ }
+ }
+};
+
+
+class Item_func_isempty :public Item_bool_func
+{
+public:
+ Item_func_isempty(Item *a) :Item_bool_func(a) {}
+ longlong val_int();
+ optimize_type select_optimize() const { return OPTIMIZE_NONE; }
+ const char *func_name() const { return "isempty"; }
+};
+
+class Item_func_issimple :public Item_bool_func
+{
+public:
+ Item_func_issimple(Item *a) :Item_bool_func(a) {}
+ longlong val_int();
+ optimize_type select_optimize() const { return OPTIMIZE_NONE; }
+ const char *func_name() const { return "issimple"; }
+};
+
+class Item_func_isclosed :public Item_bool_func
+{
+public:
+ Item_func_isclosed(Item *a) :Item_bool_func(a) {}
+ longlong val_int();
+ optimize_type select_optimize() const { return OPTIMIZE_NONE; }
+ const char *func_name() const { return "isclosed"; }
+};
diff --git a/sql/item_create.cc b/sql/item_create.cc
index 6f64e9517ba..79d7fcfe230 100644
--- a/sql/item_create.cc
+++ b/sql/item_create.cc
@@ -413,3 +413,158 @@ Item *create_func_cast(Item *a, Item_cast cast_type)
}
return res;
}
+
+Item *create_func_geometry_from_text(Item* a)
+{
+ return new Item_func_geometry_from_text(a);
+}
+
+Item *create_func_as_text(Item* a)
+{
+ return new Item_func_as_text(a);
+}
+
+Item *create_func_startpoint(Item* a)
+{
+ return new Item_func_spatial_decomp(a, Item_func::SP_STARTPOINT);
+}
+
+Item *create_func_endpoint(Item* a)
+{
+ return new Item_func_spatial_decomp(a, Item_func::SP_ENDPOINT);
+}
+
+Item *create_func_exteriorring(Item* a)
+{
+ return new Item_func_spatial_decomp(a, Item_func::SP_EXTERIORRING);
+}
+
+Item *create_func_pointn(Item* a, Item* b)
+{
+ return new Item_func_spatial_decomp_n(a,b,Item_func::SP_POINTN);
+}
+
+Item *create_func_interiorringn(Item* a, Item* b)
+{
+ return new Item_func_spatial_decomp_n(a,b,Item_func::SP_INTERIORRINGN);
+}
+
+Item *create_func_geometryn(Item* a, Item* b)
+{
+ return new Item_func_spatial_decomp_n(a,b,Item_func::SP_GEOMETRYN);
+}
+
+Item *create_func_centroid(Item* a)
+{
+ return new Item_func_centroid(a);
+}
+
+Item *create_func_envelope(Item* a)
+{
+ return new Item_func_envelope(a);
+}
+
+Item *create_func_equals(Item* a, Item* b)
+{
+ return new Item_func_spatial_rel(a, b, Item_func::SP_EQUALS_FUNC);
+}
+
+Item *create_func_disjoint(Item* a, Item* b)
+{
+ return new Item_func_spatial_rel(a, b, Item_func::SP_DISJOINT_FUNC);
+}
+
+Item *create_func_intersects(Item* a, Item* b)
+{
+ return new Item_func_spatial_rel(a, b, Item_func::SP_INTERSECTS_FUNC);
+}
+
+Item *create_func_touches(Item* a, Item* b)
+{
+ return new Item_func_spatial_rel(a, b, Item_func::SP_TOUCHES_FUNC);
+}
+
+Item *create_func_crosses(Item* a, Item* b)
+{
+ return new Item_func_spatial_rel(a, b, Item_func::SP_CROSSES_FUNC);
+}
+
+Item *create_func_within(Item* a, Item* b)
+{
+ return new Item_func_spatial_rel(a, b, Item_func::SP_WITHIN_FUNC);
+}
+
+Item *create_func_contains(Item* a, Item* b)
+{
+ return new Item_func_spatial_rel(a, b, Item_func::SP_CONTAINS_FUNC);
+}
+
+Item *create_func_overlaps(Item* a, Item* b)
+{
+ return new Item_func_spatial_rel(a, b, Item_func::SP_OVERLAPS_FUNC);
+}
+
+Item *create_func_isempty(Item* a)
+{
+ return new Item_func_isempty(a);
+}
+
+Item *create_func_issimple(Item* a)
+{
+ return new Item_func_issimple(a);
+}
+
+Item *create_func_isclosed(Item* a)
+{
+ return new Item_func_isclosed(a);
+}
+
+Item *create_func_geometry_type(Item* a)
+{
+ return new Item_func_geometry_type(a);
+}
+
+Item *create_func_dimension(Item* a)
+{
+ return new Item_func_dimension(a);
+}
+
+Item *create_func_x(Item* a)
+{
+ return new Item_func_x(a);
+}
+
+Item *create_func_y(Item* a)
+{
+ return new Item_func_y(a);
+}
+
+Item *create_func_numpoints(Item* a)
+{
+ return new Item_func_numpoints(a);
+}
+
+Item *create_func_numinteriorring(Item* a)
+{
+ return new Item_func_numinteriorring(a);
+}
+
+Item *create_func_numgeometries(Item* a)
+{
+ return new Item_func_numgeometries(a);
+}
+
+Item *create_func_area(Item* a)
+{
+ return new Item_func_area(a);
+}
+
+Item *create_func_glength(Item* a)
+{
+ return new Item_func_glength(a);
+}
+
+Item *create_func_point(Item* a, Item* b)
+{
+ return new Item_func_point(a,b);
+}
diff --git a/sql/item_create.h b/sql/item_create.h
index 580596505da..6f7e8ebf89a 100644
--- a/sql/item_create.h
+++ b/sql/item_create.h
@@ -88,3 +88,41 @@ Item *create_func_version(void);
Item *create_func_weekday(Item* a);
Item *create_load_file(Item* a);
Item *create_wait_for_master_pos(Item* a, Item* b);
+
+Item *create_func_geometry_from_text(Item* a);
+Item *create_func_as_text(Item* a);
+Item *create_func_startpoint(Item* a);
+Item *create_func_endpoint(Item* a);
+Item *create_func_exteriorring(Item* a);
+Item *create_func_centroid(Item* a);
+Item *create_func_envelope(Item* a);
+Item *create_func_pointn(Item* a, Item* b);
+Item *create_func_interiorringn(Item* a, Item* b);
+Item *create_func_geometryn(Item* a, Item* b);
+
+Item *create_func_equals(Item* a, Item* b);
+Item *create_func_disjoint(Item* a, Item* b);
+Item *create_func_intersects(Item* a, Item* b);
+Item *create_func_touches(Item* a, Item* b);
+Item *create_func_crosses(Item* a, Item* b);
+Item *create_func_within(Item* a, Item* b);
+Item *create_func_contains(Item* a, Item* b);
+Item *create_func_overlaps(Item* a, Item* b);
+
+Item *create_func_isempty(Item* a);
+Item *create_func_issimple(Item* a);
+Item *create_func_isclosed(Item* a);
+
+Item *create_func_geometry_type(Item* a);
+Item *create_func_dimension(Item* a);
+Item *create_func_x(Item* a);
+Item *create_func_y(Item* a);
+Item *create_func_area(Item* a);
+Item *create_func_glength(Item* a);
+
+Item *create_func_numpoints(Item* a);
+Item *create_func_numinteriorring(Item* a);
+Item *create_func_numgeometries(Item* a);
+
+Item *create_func_point(Item* a,Item* b);
+
diff --git a/sql/item_func.cc b/sql/item_func.cc
index 90e7a5a6477..9d4895788fc 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -27,6 +27,8 @@
#include <time.h>
#include <ft_global.h>
#include "slave.h" // for wait_for_master_pos
+#include "gstream.h"
+
/* return TRUE if item is a constant */
@@ -828,7 +830,7 @@ longlong Item_func_locate::val_int()
{
start=(uint) args[2]->val_int()-1;
#ifdef USE_MB
- if (use_mb(default_charset_info))
+ if (use_mb(a->charset()))
{
start0=start;
if (!binary_str)
@@ -841,7 +843,7 @@ longlong Item_func_locate::val_int()
if (!b->length()) // Found empty string at start
return (longlong) (start+1);
#ifdef USE_MB
- if (use_mb(default_charset_info) && !binary_str)
+ if (use_mb(a->charset()) && !binary_str)
{
const char *ptr=a->ptr()+start;
const char *search=b->ptr();
@@ -860,7 +862,7 @@ longlong Item_func_locate::val_int()
return (longlong) start0+1;
}
skipp:
- if ((l=my_ismbchar(default_charset_info,ptr,strend))) ptr+=l;
+ if ((l=my_ismbchar(a->charset(),ptr,strend))) ptr+=l;
else ++ptr;
++start0;
}
@@ -911,11 +913,10 @@ longlong Item_func_ord::val_int()
null_value=0;
if (!res->length()) return 0;
#ifdef USE_MB
- if (use_mb(default_charset_info) && !args[0]->binary)
+ if (use_mb(res->charset()) && !args[0]->binary)
{
register const char *str=res->ptr();
- register uint32 n=0, l=my_ismbchar(default_charset_info,
- str,str+res->length());
+ register uint32 n=0, l=my_ismbchar(res->charset(),str,str+res->length());
if (!l) return (longlong)((uchar) *str);
while (l--)
n=(n<<8)|(uint32)((uchar) *str++);
@@ -989,7 +990,8 @@ longlong Item_func_find_in_set::val_int()
const char *pos= f_pos;
while (pos != f_end)
{
- if (toupper(*str) != toupper(*pos))
+ if (my_toupper(find->charset(),*str) !=
+ my_toupper(find->charset(),*pos))
goto not_found;
str++;
pos++;
@@ -1419,7 +1421,8 @@ char *ull_get_key(const ULL *ull,uint *length,
void item_user_lock_init(void)
{
pthread_mutex_init(&LOCK_user_locks,MY_MUTEX_INIT_SLOW);
- hash_init(&hash_user_locks,16,0,0,(hash_get_key) ull_get_key,NULL,0);
+ hash_init(&hash_user_locks,system_charset_info,
+ 16,0,0,(hash_get_key) ull_get_key,NULL,0);
}
void item_user_lock_free(void)
@@ -2254,3 +2257,130 @@ Item *get_system_var(LEX_STRING name)
my_error(ER_UNKNOWN_SYSTEM_VARIABLE,MYF(0),name);
return 0;
}
+
+
+/**************************************************************************
+Spatial functions
+***************************************************************************/
+
+longlong Item_func_dimension::val_int()
+{
+ uint32 dim;
+ String *wkb=args[0]->val_str(&value);
+ Geometry geom;
+
+ null_value= (!wkb ||
+ args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ geom.dimension(&dim));
+
+ return (longlong) dim;
+}
+
+longlong Item_func_numinteriorring::val_int()
+{
+ uint32 num;
+ String *wkb=args[0]->val_str(&value);
+ Geometry geom;
+
+ null_value= (!wkb ||
+ args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ !GEOM_METHOD_PRESENT(geom,num_interior_ring) ||
+ geom.num_interior_ring(&num));
+
+ return (longlong) num;
+}
+
+longlong Item_func_numgeometries::val_int()
+{
+ uint32 num;
+ String *wkb=args[0]->val_str(&value);
+ Geometry geom;
+
+ null_value= (!wkb ||
+ args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ !GEOM_METHOD_PRESENT(geom,num_geometries) ||
+ geom.num_geometries(&num));
+
+ return (longlong) num;
+}
+
+longlong Item_func_numpoints::val_int()
+{
+ uint32 num;
+ String *wkb=args[0]->val_str(&value);
+ Geometry geom;
+
+ null_value= (!wkb ||
+ args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ !GEOM_METHOD_PRESENT(geom,num_points) ||
+ geom.num_points(&num));
+
+ return (longlong) num;
+}
+
+
+double Item_func_x::val()
+{
+ double res;
+ String *wkb=args[0]->val_str(&value);
+ Geometry geom;
+
+ null_value= (!wkb ||
+ args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ !GEOM_METHOD_PRESENT(geom,get_x) ||
+ geom.get_x(&res));
+
+ return res;
+}
+
+
+double Item_func_y::val()
+{
+ double res;
+ String *wkb=args[0]->val_str(&value);
+ Geometry geom;
+
+ null_value= (!wkb ||
+ args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ !GEOM_METHOD_PRESENT(geom,get_y) ||
+ geom.get_y(&res));
+
+ return res;
+}
+
+
+double Item_func_area::val()
+{
+ double res;
+ String *wkb=args[0]->val_str(&value);
+ Geometry geom;
+
+ null_value= (!wkb ||
+ args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ !GEOM_METHOD_PRESENT(geom,area) ||
+ geom.area(&res));
+
+ return res;
+}
+
+
+double Item_func_glength::val()
+{
+ double res;
+ String *wkb=args[0]->val_str(&value);
+ Geometry geom;
+
+ null_value= (!wkb ||
+ args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ !GEOM_METHOD_PRESENT(geom,length) ||
+ geom.length(&res));
+ return res;
+}
diff --git a/sql/item_func.h b/sql/item_func.h
index c3e437712ee..0056126d50e 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -39,7 +39,12 @@ public:
enum Functype { UNKNOWN_FUNC,EQ_FUNC,EQUAL_FUNC,NE_FUNC,LT_FUNC,LE_FUNC,
GE_FUNC,GT_FUNC,FT_FUNC,
LIKE_FUNC,NOTLIKE_FUNC,ISNULL_FUNC,ISNOTNULL_FUNC,
- COND_AND_FUNC,COND_OR_FUNC,BETWEEN,IN_FUNC,INTERVAL_FUNC};
+ COND_AND_FUNC,COND_OR_FUNC,BETWEEN,IN_FUNC,INTERVAL_FUNC,
+ SP_EQUALS_FUNC, SP_DISJOINT_FUNC,SP_INTERSECTS_FUNC,
+ SP_TOUCHES_FUNC,SP_CROSSES_FUNC,SP_WITHIN_FUNC,
+ SP_CONTAINS_FUNC,SP_OVERLAPS_FUNC,
+ SP_STARTPOINT,SP_ENDPOINT,SP_EXTERIORRING,
+ SP_POINTN,SP_GEOMETRYN,SP_INTERIORRINGN};
enum optimize_type { OPTIMIZE_NONE,OPTIMIZE_KEY,OPTIMIZE_OP, OPTIMIZE_NULL };
enum Type type() const { return FUNC_ITEM; }
virtual enum Functype functype() const { return UNKNOWN_FUNC; }
@@ -945,6 +950,86 @@ public:
void init_search(bool no_order);
};
+
+class Item_func_dimension :public Item_int_func
+{
+ String value;
+public:
+ Item_func_dimension(Item *a) :Item_int_func(a) {}
+ longlong val_int();
+ const char *func_name() const { return "dimension"; }
+ void fix_length_and_dec() { max_length=10; }
+};
+
+
+class Item_func_x :public Item_real_func
+{
+ String value;
+public:
+ Item_func_x(Item *a) :Item_real_func(a) {}
+ double val();
+ const char *func_name() const { return "x"; }
+};
+
+
+class Item_func_y :public Item_real_func
+{
+ String value;
+public:
+ Item_func_y(Item *a) :Item_real_func(a) {}
+ double val();
+ const char *func_name() const { return "y"; }
+};
+
+
+class Item_func_numgeometries :public Item_int_func
+{
+ String value;
+public:
+ Item_func_numgeometries(Item *a) :Item_int_func(a) {}
+ longlong val_int();
+ const char *func_name() const { return "numgeometries"; }
+ void fix_length_and_dec() { max_length=10; }
+};
+
+class Item_func_numinteriorring :public Item_int_func
+{
+ String value;
+public:
+ Item_func_numinteriorring(Item *a) :Item_int_func(a) {}
+ longlong val_int();
+ const char *func_name() const { return "numinteriorring"; }
+ void fix_length_and_dec() { max_length=10; }
+};
+
+class Item_func_numpoints :public Item_int_func
+{
+ String value;
+public:
+ Item_func_numpoints(Item *a) :Item_int_func(a) {}
+ longlong val_int();
+ const char *func_name() const { return "numpoints"; }
+ void fix_length_and_dec() { max_length=10; }
+};
+
+class Item_func_area :public Item_real_func
+{
+ String value;
+public:
+ Item_func_area(Item *a) :Item_real_func(a) {}
+ double val();
+ const char *func_name() const { return "area"; }
+};
+
+class Item_func_glength :public Item_real_func
+{
+ String value;
+public:
+ Item_func_glength(Item *a) :Item_real_func(a) {}
+ double val();
+ const char *func_name() const { return "glength"; }
+};
+
class Item_func_match_nl :public Item_func_match
{
public:
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc
index 9d24ca19b4c..4a7e5dfe33f 100644
--- a/sql/item_strfunc.cc
+++ b/sql/item_strfunc.cc
@@ -42,7 +42,7 @@ uint nr_of_decimals(const char *str)
if ((str=strchr(str,'.')))
{
const char *start= ++str;
- for ( ; isdigit(*str) ; str++) ;
+ for ( ; my_isdigit(system_charset_info,*str) ; str++) ;
return (uint) (str-start);
}
return 0;
@@ -510,7 +510,7 @@ String *Item_func_reverse::val_str(String *str)
ptr = (char *) res->ptr();
end=ptr+res->length();
#ifdef USE_MB
- if (use_mb(default_charset_info) && !binary)
+ if (use_mb(res->charset()) && !binary)
{
String tmpstr;
tmpstr.copy(*res);
@@ -518,7 +518,7 @@ String *Item_func_reverse::val_str(String *str)
register uint32 l;
while (ptr < end)
{
- if ((l=my_ismbchar(default_charset_info, ptr,end)))
+ if ((l=my_ismbchar(res->charset(), ptr,end)))
tmp-=l, memcpy(tmp,ptr,l), ptr+=l;
else
*--tmp=*ptr++;
@@ -561,8 +561,7 @@ String *Item_func_replace::val_str(String *str)
#ifdef USE_MB
const char *ptr,*end,*strend,*search,*search_end;
register uint32 l;
- bool binary_str = (args[0]->binary || args[1]->binary ||
- !use_mb(default_charset_info));
+ bool binary_str;
#endif
null_value=0;
@@ -573,6 +572,10 @@ String *Item_func_replace::val_str(String *str)
if (args[1]->null_value)
goto null;
+#ifdef USE_MB
+ binary_str = (args[0]->binary || args[1]->binary || !use_mb(res->charset()));
+#endif
+
if (res2->length() == 0)
return res;
#ifndef USE_MB
@@ -618,7 +621,7 @@ redo:
goto redo;
}
skipp:
- if ((l=my_ismbchar(default_charset_info, ptr,strend))) ptr+=l;
+ if ((l=my_ismbchar(res->charset(), ptr,strend))) ptr+=l;
else ++ptr;
}
}
@@ -676,7 +679,7 @@ String *Item_func_insert::val_str(String *str)
args[3]->null_value)
goto null; /* purecov: inspected */
#ifdef USE_MB
- if (use_mb(default_charset_info) && !args[0]->binary)
+ if (use_mb(res->charset()) && !args[0]->binary)
{
start=res->charpos(start);
length=res->charpos(length,start);
@@ -748,7 +751,7 @@ String *Item_func_left::val_str(String *str)
if (length <= 0)
return &empty_string;
#ifdef USE_MB
- if (use_mb(default_charset_info) && !binary)
+ if (use_mb(res->charset()) && !binary)
length = res->charpos(length);
#endif
if (res->length() > (ulong) length)
@@ -796,7 +799,7 @@ String *Item_func_right::val_str(String *str)
if (res->length() <= (uint) length)
return res; /* purecov: inspected */
#ifdef USE_MB
- if (use_mb(default_charset_info) && !binary)
+ if (use_mb(res->charset()) && !binary)
{
uint start=res->numchars()-(uint) length;
if (start<=0) return res;
@@ -829,7 +832,7 @@ String *Item_func_substr::val_str(String *str)
(arg_count == 3 && args[2]->null_value))))
return 0; /* purecov: inspected */
#ifdef USE_MB
- if (use_mb(default_charset_info) && !binary)
+ if (use_mb(res->charset()) && !binary)
{
start=res->charpos(start);
length=res->charpos(length,start);
@@ -889,7 +892,7 @@ String *Item_func_substr_index::val_str(String *str)
return &empty_string; // Wrong parameters
#ifdef USE_MB
- if (use_mb(default_charset_info) && !binary)
+ if (use_mb(res->charset()) && !binary)
{
const char *ptr=res->ptr();
const char *strend = ptr+res->length();
@@ -914,7 +917,7 @@ String *Item_func_substr_index::val_str(String *str)
continue;
}
skipp:
- if ((l=my_ismbchar(default_charset_info, ptr,strend))) ptr+=l;
+ if ((l=my_ismbchar(res->charset(), ptr,strend))) ptr+=l;
else ++ptr;
} /* either not found or got total number when count<0 */
if (pass == 0) /* count<0 */
@@ -1043,11 +1046,11 @@ String *Item_func_rtrim::val_str(String *str)
{
char chr=(*remove_str)[0];
#ifdef USE_MB
- if (use_mb(default_charset_info) && !binary)
+ if (use_mb(res->charset()) && !binary)
{
while (ptr < end)
{
- if ((l=my_ismbchar(default_charset_info, ptr,end))) ptr+=l,p=ptr;
+ if ((l=my_ismbchar(res->charset(), ptr,end))) ptr+=l,p=ptr;
else ++ptr;
}
ptr=p;
@@ -1060,12 +1063,12 @@ String *Item_func_rtrim::val_str(String *str)
{
const char *r_ptr=remove_str->ptr();
#ifdef USE_MB
- if (use_mb(default_charset_info) && !binary)
+ if (use_mb(res->charset()) && !binary)
{
loop:
while (ptr + remove_length < end)
{
- if ((l=my_ismbchar(default_charset_info, ptr,end))) ptr+=l;
+ if ((l=my_ismbchar(res->charset(), ptr,end))) ptr+=l;
else ++ptr;
}
if (ptr + remove_length == end && !memcmp(ptr,r_ptr,remove_length))
@@ -1111,14 +1114,14 @@ String *Item_func_trim::val_str(String *str)
while (ptr+remove_length <= end && !memcmp(ptr,r_ptr,remove_length))
ptr+=remove_length;
#ifdef USE_MB
- if (use_mb(default_charset_info) && !binary)
+ if (use_mb(res->charset()) && !binary)
{
char *p=ptr;
register uint32 l;
loop:
while (ptr + remove_length < end)
{
- if ((l=my_ismbchar(default_charset_info, ptr,end))) ptr+=l;
+ if ((l=my_ismbchar(res->charset(), ptr,end))) ptr+=l;
else ++ptr;
}
if (ptr + remove_length == end && !memcmp(ptr,r_ptr,remove_length))
@@ -1268,9 +1271,9 @@ extern "C" {
extern const char *soundex_map; // In mysys/static.c
}
-static char get_scode(char *ptr)
+static char get_scode(CHARSET_INFO *cs,char *ptr)
{
- uchar ch=toupper(*ptr);
+ uchar ch=my_toupper(cs,*ptr);
if (ch < 'A' || ch > 'Z')
{
// Thread extended alfa (country spec)
@@ -1292,21 +1295,21 @@ String *Item_func_soundex::val_str(String *str)
char *to= (char *) tmp_value.ptr();
char *from= (char *) res->ptr(), *end=from+res->length();
- while (from != end && isspace(*from)) // Skip pre-space
+ while (from != end && my_isspace(str->charset(),*from)) // Skip pre-space
from++; /* purecov: inspected */
if (from == end)
return &empty_string; // No alpha characters.
- *to++ = toupper(*from); // Copy first letter
- last_ch = get_scode(from); // code of the first letter
+ *to++ = my_toupper(str->charset(),*from);// Copy first letter
+ last_ch = get_scode(str->charset(),from);// code of the first letter
// for the first 'double-letter check.
// Loop on input letters until
// end of input (null) or output
// letter code count = 3
for (from++ ; from < end ; from++)
{
- if (!isalpha(*from))
+ if (!my_isalpha(str->charset(),*from))
continue;
- ch=get_scode(from);
+ ch=get_scode(str->charset(),from);
if ((ch != '0') && (ch != last_ch)) // if not skipped or double
{
*to++ = ch; // letter, copy to output
@@ -1773,6 +1776,146 @@ String *Item_func_conv::val_str(String *str)
}
+String *Item_func_conv_charset::val_str(String *str)
+{
+ my_wc_t wc;
+ int cnvres;
+ const uchar *s, *se;
+ uchar *d, *d0, *de;
+ uint32 dmaxlen;
+ String *arg= args[0]->val_str(str);
+ CHARSET_INFO *from,*to;
+
+ if (!arg)
+ {
+ null_value=1;
+ return 0;
+ }
+
+ from=arg->charset();
+ to=conv_charset;
+
+ s=(const uchar*)arg->ptr();
+ se=s+arg->length();
+
+ dmaxlen=arg->length()*(conv_charset->mbmaxlen?conv_charset->mbmaxlen:1)+1;
+ str->alloc(dmaxlen);
+ d0=d=(unsigned char*)str->ptr();
+ de=d+dmaxlen;
+
+ while( s < se && d < de){
+
+ cnvres=from->mb_wc(from,&wc,s,se);
+ if (cnvres>0)
+ {
+ s+=cnvres;
+ }
+ else if (cnvres==MY_CS_ILSEQ)
+ {
+ s++;
+ wc='?';
+ }
+ else
+ break;
+
+outp:
+ cnvres=to->wc_mb(to,wc,d,de);
+ if (cnvres>0)
+ {
+ d+=cnvres;
+ }
+ else if (cnvres==MY_CS_ILUNI && wc!='?')
+ {
+ wc='?';
+ goto outp;
+ }
+ else
+ break;
+ };
+
+ str->length((uint32) (d-d0));
+ str->set_charset(to);
+ return str;
+}
+
+void Item_func_conv_charset::fix_length_and_dec()
+{
+ /* BAR TODO: What to do here??? */
+}
+
+
+String *Item_func_conv_charset3::val_str(String *str)
+{
+ my_wc_t wc;
+ int cnvres;
+ const uchar *s, *se;
+ uchar *d, *d0, *de;
+ uint32 dmaxlen;
+ String *arg= args[0]->val_str(str);
+ String *to_cs= args[1]->val_str(str);
+ String *from_cs= args[2]->val_str(str);
+ CHARSET_INFO *from_charset;
+ CHARSET_INFO *to_charset;
+
+ if (!arg || args[0]->null_value ||
+ !to_cs || args[1]->null_value ||
+ !from_cs || args[2]->null_value ||
+ !(from_charset=find_compiled_charset_by_name(from_cs->ptr())) ||
+ !(to_charset=find_compiled_charset_by_name(to_cs->ptr())))
+ {
+ null_value=1;
+ return 0;
+ }
+
+ s=(const uchar*)arg->ptr();
+ se=s+arg->length();
+
+ dmaxlen=arg->length()*(to_charset->mbmaxlen?to_charset->mbmaxlen:1)+1;
+ str->alloc(dmaxlen);
+ d0=d=(unsigned char*)str->ptr();
+ de=d+dmaxlen;
+
+ while( s < se && d < de){
+
+ cnvres=from_charset->mb_wc(from_charset,&wc,s,se);
+ if (cnvres>0)
+ {
+ s+=cnvres;
+ }
+ else if (cnvres==MY_CS_ILSEQ)
+ {
+ s++;
+ wc='?';
+ }
+ else
+ break;
+
+outp:
+ cnvres=to_charset->wc_mb(to_charset,wc,d,de);
+ if (cnvres>0)
+ {
+ d+=cnvres;
+ }
+ else if (cnvres==MY_CS_ILUNI && wc!='?')
+ {
+ wc='?';
+ goto outp;
+ }
+ else
+ break;
+ };
+
+ str->length((uint32) (d-d0));
+ str->set_charset(to_charset);
+ return str;
+}
+
+void Item_func_conv_charset3::fix_length_and_dec()
+{
+ /* BAR TODO: What to do here??? */
+}
+
+
String *Item_func_hex::val_str(String *str)
{
if (args[0]->result_type() != STRING_RESULT)
@@ -1955,3 +2098,333 @@ String* Item_func_inet_ntoa::val_str(String* str)
str->length(str->length()-1); // Remove last '.';
return str;
}
+
+/*******************************************************
+General functions for spatial objects
+********************************************************/
+
+#include "gstream.h"
+
+String *Item_func_geometry_from_text::val_str(String *str)
+{
+ Geometry geom;
+ String *wkt = args[0]->val_str(str);
+ GTextReadStream trs(wkt->ptr(), wkt->length());
+
+ str->length(0);
+ if ((null_value=(args[0]->null_value || geom.create_from_wkt(&trs, str, 0))))
+ return 0;
+ return str;
+}
+
+
+void Item_func_geometry_from_text::fix_length_and_dec()
+{
+ max_length=MAX_BLOB_WIDTH;
+}
+
+
+String *Item_func_as_text::val_str(String *str)
+{
+ String *wkt = args[0]->val_str(str);
+ Geometry geom;
+
+ str->length(0);
+ if ((null_value=(args[0]->null_value ||
+ geom.create_from_wkb(wkt->ptr(),wkt->length()) ||
+ geom.as_wkt(str))))
+ return 0;
+ return str;
+}
+
+void Item_func_as_text::fix_length_and_dec()
+{
+ max_length=MAX_BLOB_WIDTH;
+}
+
+String *Item_func_geometry_type::val_str(String *str)
+{
+ String *wkt = args[0]->val_str(str);
+ Geometry geom;
+
+ if ((null_value=(args[0]->null_value ||
+ geom.create_from_wkb(wkt->ptr(),wkt->length()))))
+ return 0;
+ str->copy(geom.get_class_info()->m_name);
+ return str;
+}
+
+
+String *Item_func_envelope::val_str(String *str)
+{
+ String *wkb = args[0]->val_str(str);
+ Geometry geom;
+
+ null_value = args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ geom.envelope(str);
+
+ return null_value ? 0 : str;
+}
+
+
+String *Item_func_centroid::val_str(String *str)
+{
+ String *wkb = args[0]->val_str(str);
+ Geometry geom;
+
+ null_value = args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) ||
+ !GEOM_METHOD_PRESENT(geom,centroid) ||
+ geom.centroid(str);
+
+ return null_value ? 0: str;
+}
+
+
+/***********************************************
+ Spatial decomposition functions
+***********************************************/
+
+String *Item_func_spatial_decomp::val_str(String *str)
+{
+ String *wkb = args[0]->val_str(str);
+ Geometry geom;
+
+ if ((null_value = (args[0]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()))))
+ return 0;
+
+ null_value=1;
+ switch(decomp_func)
+ {
+ case SP_STARTPOINT:
+ if (!GEOM_METHOD_PRESENT(geom,start_point) || geom.start_point(str))
+ goto ret;
+ break;
+
+ case SP_ENDPOINT:
+ if (!GEOM_METHOD_PRESENT(geom,end_point) || geom.end_point(str))
+ goto ret;
+ break;
+
+ case SP_EXTERIORRING:
+ if (!GEOM_METHOD_PRESENT(geom,exterior_ring) || geom.exterior_ring(str))
+ goto ret;
+ break;
+
+ default:
+ goto ret;
+ }
+ null_value=0;
+
+ret:
+ return null_value ? 0 : str;
+}
+
+
+String *Item_func_spatial_decomp_n::val_str(String *str)
+{
+ String *wkb = args[0]->val_str(str);
+ long n = (long) args[1]->val_int();
+ Geometry geom;
+
+ if ((null_value = (args[0]->null_value ||
+ args[1]->null_value ||
+ geom.create_from_wkb(wkb->ptr(),wkb->length()) )))
+ return 0;
+
+ null_value=1;
+
+ switch(decomp_func_n)
+ {
+ case SP_POINTN:
+ if (!GEOM_METHOD_PRESENT(geom,point_n) ||
+ geom.point_n(n,str))
+ goto ret;
+ break;
+
+ case SP_GEOMETRYN:
+ if (!GEOM_METHOD_PRESENT(geom,geometry_n) ||
+ geom.geometry_n(n,str))
+ goto ret;
+ break;
+
+ case SP_INTERIORRINGN:
+ if (!GEOM_METHOD_PRESENT(geom,interior_ring_n) ||
+ geom.interior_ring_n(n,str))
+ goto ret;
+ break;
+
+ default:
+ goto ret;
+ }
+ null_value=0;
+
+ret:
+ return null_value ? 0 : str;
+}
+
+
+
+/***********************************************
+Functions to concatinate various spatial objects
+************************************************/
+
+
+/*
+* Concatinate doubles into Point
+*/
+
+
+String *Item_func_point::val_str(String *str)
+{
+ if ( (null_value = (args[0]->null_value ||
+ args[1]->null_value ||
+ str->realloc(1+4+8+8))))
+ return 0;
+
+ str->length(0);
+ str->q_append((char)Geometry::wkbNDR);
+ str->q_append((uint32)Geometry::wkbPoint);
+ str->q_append((double)args[0]->val());
+ str->q_append((double)args[1]->val());
+ return str;
+}
+
+
+/*
+ Concatinates various items into various collections
+ with checkings for valid wkb type of items.
+ For example, MultiPoint can be a collection of Points only.
+ coll_type contains wkb type of target collection.
+ item_type contains a valid wkb type of items.
+ In the case when coll_type is wkbGeometryCollection,
+ we do not check wkb type of items, any is valid.
+*/
+
+String *Item_func_spatial_collection::val_str(String *str)
+{
+ uint i;
+
+ null_value=1;
+
+ str->length(0);
+ if(str->reserve(9,512))
+ return 0;
+
+ str->q_append((char)Geometry::wkbNDR);
+ str->q_append((uint32)coll_type);
+ str->q_append((uint32)arg_count);
+
+ for (i = 0; i < arg_count; ++i)
+ {
+ if (args[i]->null_value)
+ goto ret;
+
+ String *res = args[i]->val_str(str);
+
+ if ( coll_type == Geometry::wkbGeometryCollection )
+ {
+ /*
+ In the case of GeometryCollection we don't need
+ any checkings for item types, so just copy them
+ into target collection
+ */
+ if ((null_value=(str->reserve(res->length(),512))))
+ goto ret;
+
+ str->q_append(res->ptr(),res->length());
+ }
+ else
+ {
+ uint32 wkb_type, len=res->length();
+ const char *data=res->ptr()+1;
+
+ /*
+ In the case of named collection we must to
+ check that items are of specific type, let's
+ do this checking now
+ */
+
+ if (len<5)
+ goto ret;
+ wkb_type=uint4korr(data);
+ data+=4;
+ len-=5;
+ if ( wkb_type != item_type )
+ goto ret;
+
+ switch(coll_type)
+ {
+ case Geometry::wkbMultiPoint:
+ case Geometry::wkbMultiLineString:
+ case Geometry::wkbMultiPolygon:
+ if (len<WKB_HEADER_SIZE)
+ goto ret;
+
+ data+=WKB_HEADER_SIZE;
+ len-=WKB_HEADER_SIZE;
+ if (str->reserve(len,512))
+ goto ret;
+ str->q_append(data,len);
+ break;
+
+ case Geometry::wkbLineString:
+ if (str->reserve(POINT_DATA_SIZE,512))
+ goto ret;
+ str->q_append(data,POINT_DATA_SIZE);
+ break;
+
+ case Geometry::wkbPolygon:
+ {
+ uint32 n_points;
+ double x1, y1, x2, y2;
+
+ if (len < WKB_HEADER_SIZE + 4 + 8 + 8)
+ goto ret;
+ data+=WKB_HEADER_SIZE;
+ len-=WKB_HEADER_SIZE;
+
+ uint32 llen=len;
+ const char *ldata=data;
+
+ n_points=uint4korr(data);
+ data+=4;
+ float8get(x1,data);
+ data+=8;
+ float8get(y1,data);
+ data+=8;
+
+ len-= 4 + 8 + 8;
+
+ if (len < n_points * POINT_DATA_SIZE)
+ goto ret;
+ data+=(n_points-2) * POINT_DATA_SIZE;
+
+ float8get(x2,data);
+ float8get(y2,data+8);
+
+ if ((x1 != x2) || (y1 != y2))
+ goto ret;
+
+ if (str->reserve(llen,512))
+ goto ret;
+ str->q_append(ldata, llen);
+ }
+ break;
+
+ default:
+ goto ret;
+ }
+ }
+ }
+
+ if (str->length() > max_allowed_packet)
+ goto ret;
+
+ null_value = 0;
+
+ret:
+ return null_value ? 0 : str;
+}
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index 1279a5099d5..091289fd040 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -475,3 +475,219 @@ public:
const char *func_name() const { return "inet_ntoa"; }
void fix_length_and_dec() { decimals = 0; max_length=3*8+7; }
};
+
+class Item_func_conv_charset :public Item_str_func
+{
+ CHARSET_INFO *conv_charset;
+public:
+ Item_func_conv_charset(Item *a, CHARSET_INFO *cs) :Item_str_func(a)
+ {
+ conv_charset=cs;
+ }
+ String *val_str(String *);
+ void fix_length_and_dec();
+ const char *func_name() const { return "conv_charset"; }
+};
+
+class Item_func_conv_charset3 :public Item_str_func
+{
+public:
+ Item_func_conv_charset3(Item *arg1,Item *arg2,Item *arg3)
+ :Item_str_func(arg1,arg2,arg3) {}
+ String *val_str(String *);
+ void fix_length_and_dec();
+ const char *func_name() const { return "conv_charset3"; }
+};
+
+
+/*******************************************************
+Spatial functions
+********************************************************/
+
+class Item_func_geometry_from_text :public Item_str_func
+{
+public:
+ Item_func_geometry_from_text(Item *a) :Item_str_func(a) {}
+ const char *func_name() const { return "geometryfromtext"; }
+ String *val_str(String *);
+ void fix_length_and_dec();
+};
+
+class Item_func_as_text :public Item_str_func
+{
+public:
+ Item_func_as_text(Item *a) :Item_str_func(a) {}
+ const char *func_name() const { return "astext"; }
+ String *val_str(String *);
+ void fix_length_and_dec();
+};
+
+class Item_func_geometry_type :public Item_str_func
+{
+public:
+ Item_func_geometry_type(Item *a) :Item_str_func(a) {}
+ String *val_str(String *);
+ const char *func_name() const { return "geometrytype"; }
+ void fix_length_and_dec()
+ {
+ max_length=20; // "GeometryCollection" is the most long
+ };
+};
+
+class Item_func_centroid :public Item_str_func
+{
+public:
+ Item_func_centroid(Item *a) :Item_str_func(a) {}
+ const char *func_name() const { return "centroid"; }
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+};
+
+class Item_func_envelope :public Item_str_func
+{
+public:
+ Item_func_envelope(Item *a) :Item_str_func(a) {}
+ const char *func_name() const { return "envelope"; }
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+};
+
+class Item_func_point :public Item_str_func
+{
+public:
+ Item_func_point(Item *a,Item *b) :Item_str_func(a,b) {}
+ const char *func_name() const { return "point"; }
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+};
+
+class Item_func_spatial_decomp :public Item_str_func
+{
+ enum Functype decomp_func;
+public:
+ Item_func_spatial_decomp(Item *a, Item_func::Functype ft) :
+ Item_str_func(a) { decomp_func = ft; }
+ const char *func_name() const
+ {
+ switch (decomp_func)
+ {
+ case SP_STARTPOINT:
+ return "startpoint";
+ case SP_ENDPOINT:
+ return "endpoint";
+ case SP_EXTERIORRING:
+ return "exteriorring";
+ default:
+ return "spatial_decomp_unknown";
+ }
+ }
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+};
+
+class Item_func_spatial_decomp_n :public Item_str_func
+{
+ enum Functype decomp_func_n;
+public:
+ Item_func_spatial_decomp_n(Item *a, Item *b, Item_func::Functype ft) :
+ Item_str_func(a, b) { decomp_func_n = ft; }
+ const char *func_name() const
+ {
+ switch (decomp_func_n)
+ {
+ case SP_POINTN:
+ return "pointn";
+ case SP_GEOMETRYN:
+ return "geometryn";
+ case SP_INTERIORRINGN:
+ return "interiorringn";
+ default:
+ return "spatial_decomp_n_unknown";
+ }
+ }
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+};
+
+
+class Item_func_spatial_collection :public Item_str_func
+{
+ String tmp_value;
+ enum Geometry::wkbType coll_type;
+ enum Geometry::wkbType item_type;
+public:
+ Item_func_spatial_collection(
+ List<Item> &list, enum Geometry::wkbType ct, enum Geometry::wkbType it) :
+ Item_str_func(list)
+ {
+ coll_type=ct;
+ item_type=it;
+ }
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+ const char *func_name() const { return "multipoint"; }
+};
+
+
+/*
+class Item_func_multipoint :public Item_str_func
+{
+ String tmp_value;
+public:
+ Item_func_multipoint(List<Item> &list) :Item_str_func(list) {}
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+ const char *func_name() const { return "multipoint"; }
+};
+
+class Item_func_linestring :public Item_str_func
+{
+ String tmp_value;
+public:
+ Item_func_linestring(List<Item> &list) :Item_str_func(list) {}
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+ const char *func_name() const { return "linestring"; }
+};
+
+class Item_func_multilinestring :public Item_str_func
+{
+ String tmp_value;
+public:
+ Item_func_multilinestring(List<Item> &list) :Item_str_func(list) {}
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+ const char *func_name() const { return "multilinestring"; }
+};
+
+class Item_func_polygon :public Item_str_func
+{
+ String tmp_value;
+public:
+ Item_func_polygon(List<Item> &list) :Item_str_func(list) {}
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+ const char *func_name() const { return "polygon"; }
+};
+
+class Item_func_multipolygon :public Item_str_func
+{
+ String tmp_value;
+public:
+ Item_func_multipolygon(List<Item> &list) :Item_str_func(list) {}
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+ const char *func_name() const { return "multipolygon"; }
+};
+
+class Item_func_geometrycollection :public Item_str_func
+{
+ String tmp_value;
+public:
+ Item_func_geometrycollection(List<Item> &list) :Item_str_func(list) {}
+ String *val_str(String *);
+ void fix_length_and_dec(){max_length=MAX_BLOB_WIDTH;}
+ const char *func_name() const { return "geometrycollection"; }
+};
+
+*/
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index e8f16e3ed56..7ebeda19993 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -864,7 +864,8 @@ static int simple_raw_key_cmp(void* arg, byte* key1, byte* key2)
static int simple_str_key_cmp(void* arg, byte* key1, byte* key2)
{
- return my_sortcmp((char*) key1, (char*) key2, *(uint*) arg);
+ /* BAR TODO: remove default_charset_info */
+ return my_sortcmp(default_charset_info,(char*) key1, (char*) key2, *(uint*) arg);
}
/*
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc
index 9a003b79609..404d44d7122 100644
--- a/sql/item_timefunc.cc
+++ b/sql/item_timefunc.cc
@@ -49,16 +49,16 @@ bool get_interval_info(const char *str,uint length,uint count,
{
const char *end=str+length;
uint i;
- while (str != end && !isdigit(*str))
+ while (str != end && !my_isdigit(system_charset_info,*str))
str++;
for (i=0 ; i < count ; i++)
{
long value;
- for (value=0; str != end && isdigit(*str) ; str++)
+ for (value=0; str != end && my_isdigit(system_charset_info,*str) ; str++)
value=value*10L + (long) (*str - '0');
values[i]= value;
- while (str != end && !isdigit(*str))
+ while (str != end && !my_isdigit(system_charset_info,*str))
str++;
if (str == end && i != count-1)
{
@@ -289,7 +289,7 @@ static bool get_interval_value(Item *args,interval_type int_type,
/* record negative intervalls in t->neg */
str=res->ptr();
const char *end=str+res->length();
- while (str != end && isspace(*str))
+ while (str != end && my_isspace(system_charset_info,*str))
str++;
if (str != end && *str == '-')
{
diff --git a/sql/key.cc b/sql/key.cc
index d2f483e3d73..a5d3d0a65b9 100644
--- a/sql/key.cc
+++ b/sql/key.cc
@@ -192,8 +192,9 @@ int key_cmp(TABLE *table,const byte *key,uint idx,uint key_length)
if (!(key_part->key_type & (FIELDFLAG_NUMBER+FIELDFLAG_BINARY+
FIELDFLAG_PACK)))
{
- if (my_sortcmp((char*) key,(char*) table->record[0]+key_part->offset,
- length))
+ /* BAR TODO: I'm not sure this should be system_charset_info */
+ if (my_sortcmp(system_charset_info,(char*) key,
+ (char*) table->record[0]+key_part->offset,length))
return 1;
}
else if (memcmp(key,table->record[0]+key_part->offset,length))
diff --git a/sql/lex.h b/sql/lex.h
index 8c7beb64b9b..ea712523993 100644
--- a/sql/lex.h
+++ b/sql/lex.h
@@ -75,6 +75,7 @@ static SYMBOL symbols[] = {
{ "BOOL", SYM(BOOL_SYM),0,0},
{ "BOOLEAN", SYM(BOOLEAN_SYM),0,0},
{ "BOTH", SYM(BOTH),0,0},
+ { "BTREE", SYM(BTREE_SYM),0,0},
{ "BY", SYM(BY),0,0},
{ "CACHE", SYM(CACHE_SYM),0,0},
{ "CASCADE", SYM(CASCADE),0,0},
@@ -158,12 +159,14 @@ static SYMBOL symbols[] = {
{ "FULL", SYM(FULL),0,0},
{ "FULLTEXT", SYM(FULLTEXT_SYM),0,0},
{ "FUNCTION", SYM(UDF_SYM),0,0},
+ { "GEOMETRY", SYM(GEOMETRY_SYM),0,0},
{ "GLOBAL", SYM(GLOBAL_SYM),0,0},
{ "GRANT", SYM(GRANT),0,0},
{ "GRANTS", SYM(GRANTS),0,0},
{ "GROUP", SYM(GROUP),0,0},
{ "HAVING", SYM(HAVING),0,0},
{ "HANDLER", SYM(HANDLER_SYM),0,0},
+ { "HASH", SYM(HASH_SYM),0,0},
{ "HEAP", SYM(HEAP_SYM),0,0},
{ "HIGH_PRIORITY", SYM(HIGH_PRIORITY),0,0},
{ "HOUR", SYM(HOUR_SYM),0,0},
@@ -299,6 +302,7 @@ static SYMBOL symbols[] = {
{ "ROLLBACK", SYM(ROLLBACK_SYM),0,0},
{ "ROW", SYM(ROW_SYM),0,0},
{ "ROWS", SYM(ROWS_SYM),0,0},
+ { "RTREE", SYM(RTREE_SYM),0,0},
{ "SECOND", SYM(SECOND_SYM),0,0},
{ "SELECT", SYM(SELECT_SYM),0,0},
{ "SERIALIZABLE", SYM(SERIALIZABLE_SYM),0,0},
@@ -311,6 +315,7 @@ static SYMBOL symbols[] = {
{ "SLAVE", SYM(SLAVE),0,0},
{ "SMALLINT", SYM(SMALLINT),0,0},
{ "SONAME", SYM(UDF_SONAME_SYM),0,0},
+ { "SPATIAL", SYM(SPATIAL_SYM),0,0},
{ "SQL_AUTO_IS_NULL", SYM(SQL_AUTO_IS_NULL),0,0},
{ "SQL_BIG_RESULT", SYM(SQL_BIG_RESULT),0,0},
{ "SQL_BIG_SELECTS", SYM(SQL_BIG_SELECTS),0,0},
@@ -389,8 +394,10 @@ static SYMBOL sql_functions[] = {
{ "ABS", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_abs)},
{ "ACOS", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_acos)},
{ "ADDDATE", SYM(DATE_ADD_INTERVAL),0,0},
+ { "AREA", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_area)},
{ "ASCII", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ascii)},
{ "ASIN", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_asin)},
+ { "ASTEXT", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_as_text)},
{ "ATAN", SYM(ATAN),0,0},
{ "ATAN2", SYM(ATAN),0,0},
{ "BENCHMARK", SYM(BENCHMARK_SYM),0,0},
@@ -401,17 +408,20 @@ static SYMBOL sql_functions[] = {
{ "CAST", SYM(CAST_SYM),0,0},
{ "CEILING", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ceiling)},
{ "BIT_LENGTH", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_bit_length)},
+ { "CENTROID", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_centroid)},
{ "CHAR_LENGTH", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_char_length)},
{ "CHARACTER_LENGTH", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_char_length)},
{ "COALESCE", SYM(COALESCE),0,0},
{ "CONCAT", SYM(CONCAT),0,0},
{ "CONCAT_WS", SYM(CONCAT_WS),0,0},
{ "CONNECTION_ID", SYM(FUNC_ARG0),0,CREATE_FUNC(create_func_connection_id)},
+ { "CONTAINS", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_contains)},
{ "CONV", SYM(FUNC_ARG3),0,CREATE_FUNC(create_func_conv)},
{ "CONVERT", SYM(CONVERT_SYM),0,0},
{ "COUNT", SYM(COUNT_SYM),0,0},
{ "COS", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_cos)},
{ "COT", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_cot)},
+ { "CROSSES", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_crosses)},
{ "CURDATE", SYM(CURDATE),0,0},
{ "CURTIME", SYM(CURTIME),0,0},
{ "DATE_ADD", SYM(DATE_ADD_INTERVAL),0,0},
@@ -425,9 +435,15 @@ static SYMBOL sql_functions[] = {
{ "DEGREES", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_degrees)},
{ "DES_ENCRYPT", SYM(DES_ENCRYPT_SYM),0,0},
{ "DES_DECRYPT", SYM(DES_DECRYPT_SYM),0,0},
+ { "DIMENSION", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_dimension)},
+ { "DISJOINT", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_disjoint)},
{ "ELT", SYM(ELT_FUNC),0,0},
{ "ENCODE", SYM(ENCODE_SYM),0,0},
{ "ENCRYPT", SYM(ENCRYPT),0,0},
+ { "ENDPOINT", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_endpoint)},
+ { "ENVELOPE", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_envelope)},
+ { "EQUALS", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_equals)},
+ { "EXTERIORRING", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_exteriorring)},
{ "EXTRACT", SYM(EXTRACT_SYM),0,0},
{ "EXP", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_exp)},
{ "EXPORT_SET", SYM(EXPORT_SET),0,0},
@@ -439,6 +455,12 @@ static SYMBOL sql_functions[] = {
{ "FROM_DAYS", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_from_days)},
{ "FROM_UNIXTIME", SYM(FROM_UNIXTIME),0,0},
{ "GET_LOCK", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_get_lock)},
+ { "GEOMETRYCOLLECTION",SYM(GEOMETRYCOLLECTION),0,0},
+ { "GEOMETRYN", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_geometryn)},
+ { "GEOMETRYTYPE", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_geometry_type)},
+ { "GEOMCOLLFROMTEXT", SYM(GEOMCOLLFROMTEXT),0,0},
+ { "GEOMFROMTEXT", SYM(GEOMFROMTEXT),0,0},
+ { "GLENGTH", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_glength)},
{ "GREATEST", SYM(GREATEST_SYM),0,0},
{ "GROUP_UNIQUE_USERS", SYM(GROUP_UNIQUE_USERS),0,0},
{ "HEX", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_hex)},
@@ -446,10 +468,17 @@ static SYMBOL sql_functions[] = {
{ "INET_ATON", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_inet_aton)},
{ "INET_NTOA", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_inet_ntoa)},
{ "INSTR", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_instr)},
+ { "INTERIORRINGN", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_interiorringn)},
+ { "INTERSECTS", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_intersects)},
+ { "ISCLOSED", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_isclosed)},
+ { "ISEMPTY", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_isempty)},
{ "ISNULL", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_isnull)},
+ { "ISSIMPLE", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_issimple)},
{ "LCASE", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_lcase)},
{ "LEAST", SYM(LEAST_SYM),0,0},
{ "LENGTH", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_length)},
+ { "LINEFROMTEXT", SYM(LINEFROMTEXT),0,0},
+ { "LINESTRING", SYM(LINESTRING),0,0},
{ "LOAD_FILE", SYM(FUNC_ARG1),0,CREATE_FUNC(create_load_file)},
{ "LOCATE", SYM(LOCATE),0,0},
{ "LOG", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_log)},
@@ -465,15 +494,30 @@ static SYMBOL sql_functions[] = {
{ "MID", SYM(SUBSTRING),0,0}, /* unireg function */
{ "MIN", SYM(MIN_SYM),0,0},
{ "MOD", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_mod)},
+ { "MLINEFROMTEXT", SYM(MLINEFROMTEXT),0,0},
+ { "MPOINTFROMTEXT", SYM(MPOINTFROMTEXT),0,0},
+ { "MPOLYFROMTEXT", SYM(MPOLYFROMTEXT),0,0},
+ { "MULTILINESTRING", SYM(MULTILINESTRING),0,0},
+ { "MULTIPOINT", SYM(MULTIPOINT),0,0},
+ { "MULTIPOLYGON", SYM(MULTIPOLYGON),0,0},
{ "MONTHNAME", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_monthname)},
{ "NOW", SYM(NOW_SYM),0,0},
{ "NULLIF", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_nullif)},
+ { "NUMGEOMETRIES", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_numgeometries)},
+ { "NUMINTERIORRING", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_numinteriorring)},
+ { "NUMPOINTS", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_numpoints)},
{ "OCTET_LENGTH", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_length)},
{ "OCT", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_oct)},
{ "ORD", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ord)},
+ { "OVERLAPS", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_overlaps)},
{ "PERIOD_ADD", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_period_add)},
{ "PERIOD_DIFF", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_period_diff)},
{ "PI", SYM(FUNC_ARG0),0,CREATE_FUNC(create_func_pi)},
+ { "POINT", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_point)},
+ { "POINTFROMTEXT", SYM(POINTFROMTEXT),0,0},
+ { "POINTN", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_pointn)},
+ { "POLYFROMTEXT", SYM(POLYFROMTEXT),0,0},
+ { "POLYGON", SYM(POLYGON),0,0},
{ "POSITION", SYM(POSITION_SYM),0,0},
{ "POW", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_pow)},
{ "POWER", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_pow)},
@@ -494,6 +538,7 @@ static SYMBOL sql_functions[] = {
{ "SOUNDEX", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_soundex)},
{ "SPACE", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_space)},
{ "SQRT", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_sqrt)},
+ { "STARTPOINT", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_startpoint)},
{ "STD", SYM(STD_SYM),0,0},
{ "STDDEV", SYM(STD_SYM),0,0},
{ "STRCMP", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_strcmp)},
@@ -506,6 +551,7 @@ static SYMBOL sql_functions[] = {
{ "TIME_FORMAT", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_time_format)},
{ "TIME_TO_SEC", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_time_to_sec)},
{ "TO_DAYS", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_to_days)},
+ { "TOUCHES", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_touches)},
{ "TRIM", SYM(TRIM),0,0},
{ "UCASE", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ucase)},
{ "UNIQUE_USERS", SYM(UNIQUE_USERS),0,0},
@@ -515,5 +561,9 @@ static SYMBOL sql_functions[] = {
{ "VERSION", SYM(FUNC_ARG0),0,CREATE_FUNC(create_func_version)},
{ "WEEK", SYM(WEEK_SYM),0,0},
{ "WEEKDAY", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_weekday)},
+ { "WITHIN", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_within)},
+ { "X", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_x)},
+ { "Y", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_y)},
{ "YEARWEEK", SYM(YEARWEEK),0,0}
+
};
diff --git a/sql/log.cc b/sql/log.cc
index 40cafeeaad1..39a8ff3f81f 100644
--- a/sql/log.cc
+++ b/sql/log.cc
@@ -1227,7 +1227,7 @@ static bool test_if_number(register const char *str,
while (*str++ == ' ') ;
if (*--str == '-' || *str == '+')
str++;
- while (isdigit(*str) || (allow_wildcards &&
+ while (my_isdigit(system_charset_info,*str) || (allow_wildcards &&
(*str == wild_many || *str == wild_one)))
{
flag=1;
@@ -1236,7 +1236,7 @@ static bool test_if_number(register const char *str,
if (*str == '.')
{
for (str++ ;
- isdigit(*str) ||
+ my_isdigit(system_charset_info,*str) ||
(allow_wildcards && (*str == wild_many || *str == wild_one)) ;
str++, flag=1) ;
}
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h
index 12249d2292c..4c71e845207 100644
--- a/sql/mysql_priv.h
+++ b/sql/mysql_priv.h
@@ -361,6 +361,7 @@ int mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &list,COND *conds,
ORDER *order, ORDER *group,Item *having,ORDER *proc_param,
ulong select_type,select_result *result);
int mysql_union(THD *thd,LEX *lex,select_result *result);
+int mysql_derived(THD *thd,LEX *lex,SELECT_LEX *s, TABLE_LIST *t);
Field *create_tmp_field(THD *thd, TABLE *table,Item *item, Item::Type type,
Item_result_field ***copy_func, Field **from_field,
bool group,bool modify_item);
@@ -575,7 +576,7 @@ void open_log(MYSQL_LOG *log, const char *hostname,
extern uint32 server_id;
extern char *mysql_data_home,server_version[SERVER_VERSION_LENGTH],
- max_sort_char, mysql_real_data_home[];
+ mysql_real_data_home[];
extern my_string mysql_tmpdir;
extern const char *first_keyword, *localhost, *delayed_user;
extern ulong refresh_version,flush_version, thread_id,query_id,opened_tables,
@@ -734,10 +735,10 @@ bool check_db_name(const char *db);
bool check_column_name(const char *name);
bool check_table_name(const char *name, uint length);
char *get_field(MEM_ROOT *mem,TABLE *table,uint fieldnr);
-int wild_case_compare(const char *str,const char *wildstr);
+int wild_case_compare(CHARSET_INFO *cs, const char *str,const char *wildstr);
int wild_compare(const char *str,const char *str_end,
const char *wildstr,const char *wildend,char escape);
-int wild_case_compare(const char *str,const char *str_end,
+int wild_case_compare(CHARSET_INFO *cs, const char *str,const char *str_end,
const char *wildstr,const char *wildend,char escape);
/* from hostname.cc */
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 99f0a463a42..19ff66b24fc 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -898,7 +898,7 @@ static void set_user(const char *user)
{
// allow a numeric uid to be used
const char *pos;
- for (pos=user; isdigit(*pos); pos++) ;
+ for (pos=user; my_isdigit(system_charset_info,*pos); pos++) ;
if (*pos) // Not numeric id
{
fprintf(stderr,"Fatal error: Can't change to run as user '%s' ; Please check that the user exists!\n",user);
@@ -3847,7 +3847,7 @@ static void get_options(int argc,char **argv)
exit(1);
}
val = p--;
- while(isspace(*p) && p > optarg) *p-- = 0;
+ while(my_isspace(system_charset_info,*p) && p > optarg) *p-- = 0;
if(p == optarg)
{
fprintf(stderr,
@@ -3856,7 +3856,7 @@ static void get_options(int argc,char **argv)
}
*val = 0;
val += 2;
- while(*val && isspace(*val)) *val++;
+ while(*val && my_isspace(system_charset_info,*val)) *val++;
if (!*val)
{
fprintf(stderr,
@@ -4017,7 +4017,7 @@ static void get_options(int argc,char **argv)
have_symlink=SHOW_OPTION_DISABLED;
break;
case (int) OPT_BIND_ADDRESS:
- if (optarg && isdigit(optarg[0]))
+ if (optarg && my_isdigit(system_charset_info,optarg[0]))
{
my_bind_addr = (ulong) inet_addr(optarg);
}
@@ -4524,7 +4524,8 @@ static ulong find_bit_type(const char *x, TYPELIB *bit_lib)
j=pos;
while (j != end)
{
- if (toupper(*i++) != toupper(*j++))
+ if (my_toupper(system_charset_info,*i++) !=
+ my_toupper(system_charset_info,*j++))
goto skipp;
}
found_int=bit;
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index 7d2d04dbdf1..9f547c6e0ca 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -172,8 +172,9 @@ public:
void store(uint length,char **min_key,uint min_key_flag,
char **max_key, uint max_key_flag)
{
- if (!(min_flag & NO_MIN_RANGE) &&
- !(min_key_flag & (NO_MIN_RANGE | NEAR_MIN)))
+ if ((min_flag & GEOM_FLAG) ||
+ (!(min_flag & NO_MIN_RANGE) &&
+ !(min_key_flag & (NO_MIN_RANGE | NEAR_MIN))))
{
if (maybe_null && *min_value)
{
@@ -659,6 +660,8 @@ int SQL_SELECT::test_quick_select(key_map keys_to_use, table_map prev_tables,
key_parts->null_bit= key_info->key_part[part].null_bit;
if (key_parts->field->type() == FIELD_TYPE_BLOB)
key_parts->part_length+=HA_KEY_BLOB_LENGTH;
+ key_parts->image_type =
+ (key_info->flags & HA_SPATIAL) ? Field::itMBR : Field::itRAW;
}
param.real_keynr[param.keys++]=idx;
}
@@ -676,6 +679,7 @@ int SQL_SELECT::test_quick_select(key_map keys_to_use, table_map prev_tables,
{
SEL_ARG **key,**end,**best_key=0;
+
for (idx=0,key=tree->keys, end=key+param.keys ;
key != end ;
key++,idx++)
@@ -970,9 +974,10 @@ get_mm_leaf(PARAM *param, Field *field, KEY_PART *key_part,
&min_length,&max_length);
else
{
+ CHARSET_INFO *charset=((Field_str*)(field))->charset();
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
- like_error= my_like_range(default_charset_info,
+ if (use_strcoll(charset))
+ like_error= my_like_range(charset,
res->ptr(),res->length(),wild_prefix,
field_length, min_str+maybe_null,
max_str+maybe_null,&min_length,&max_length);
@@ -981,7 +986,8 @@ get_mm_leaf(PARAM *param, Field *field, KEY_PART *key_part,
like_error=like_range(res->ptr(),res->length(),wild_prefix,
field_length,
min_str+offset,max_str+offset,
- max_sort_char,&min_length,&max_length);
+ charset->max_sort_char,
+ &min_length,&max_length);
}
if (like_error) // Can't optimize with LIKE
DBUG_RETURN(0);
@@ -1043,7 +1049,7 @@ get_mm_leaf(PARAM *param, Field *field, KEY_PART *key_part,
DBUG_RETURN(0);
if (maybe_null)
*str=0; // Not NULL
- field->get_key_image(str+maybe_null,key_part->part_length);
+ field->get_key_image(str+maybe_null,key_part->part_length, key_part->image_type);
if (!(tree=new SEL_ARG(field,str,str)))
DBUG_RETURN(0);
@@ -1068,6 +1074,41 @@ get_mm_leaf(PARAM *param, Field *field, KEY_PART *key_part,
case Item_func::GE_FUNC:
tree->max_flag=NO_MAX_RANGE;
break;
+ case Item_func::SP_EQUALS_FUNC:
+ tree->min_flag=GEOM_FLAG | HA_READ_MBR_EQUAL;// NEAR_MIN;//512;
+ tree->max_flag=NO_MAX_RANGE;
+ break;
+ case Item_func::SP_DISJOINT_FUNC:
+ tree->min_flag=GEOM_FLAG | HA_READ_MBR_DISJOINT;// NEAR_MIN;//512;
+ tree->max_flag=NO_MAX_RANGE;
+ break;
+ case Item_func::SP_INTERSECTS_FUNC:
+ tree->min_flag=GEOM_FLAG | HA_READ_MBR_INTERSECT;// NEAR_MIN;//512;
+ tree->max_flag=NO_MAX_RANGE;
+ break;
+ case Item_func::SP_TOUCHES_FUNC:
+ tree->min_flag=GEOM_FLAG | HA_READ_MBR_INTERSECT;// NEAR_MIN;//512;
+ tree->max_flag=NO_MAX_RANGE;
+ break;
+
+ case Item_func::SP_CROSSES_FUNC:
+ tree->min_flag=GEOM_FLAG | HA_READ_MBR_INTERSECT;// NEAR_MIN;//512;
+ tree->max_flag=NO_MAX_RANGE;
+ break;
+ case Item_func::SP_WITHIN_FUNC:
+ tree->min_flag=GEOM_FLAG | HA_READ_MBR_WITHIN;// NEAR_MIN;//512;
+ tree->max_flag=NO_MAX_RANGE;
+ break;
+
+ case Item_func::SP_CONTAINS_FUNC:
+ tree->min_flag=GEOM_FLAG | HA_READ_MBR_CONTAIN;// NEAR_MIN;//512;
+ tree->max_flag=NO_MAX_RANGE;
+ break;
+ case Item_func::SP_OVERLAPS_FUNC:
+ tree->min_flag=GEOM_FLAG | HA_READ_MBR_INTERSECT;// NEAR_MIN;//512;
+ tree->max_flag=NO_MAX_RANGE;
+ break;
+
default:
break;
}
@@ -2188,18 +2229,30 @@ check_quick_keys(PARAM *param,uint idx,SEL_ARG *key_tree,
!memcmp(param->min_key,param->max_key,min_key_length))
tmp=1; // Max one record
else
+ {
+ if(tmp_min_flag & GEOM_FLAG)
+ {
+ tmp=param->table->file->
+ records_in_range((int) keynr,(byte*)(param->min_key + 1),
+ min_key_length, (ha_rkey_function)(tmp_min_flag ^ GEOM_FLAG),
+ (byte *)NullS,0,HA_READ_KEY_EXACT);
+ }
+ else
+ {
tmp=param->table->file->
records_in_range((int) keynr,
(byte*) (!min_key_length ? NullS :
param->min_key),
min_key_length,
- (tmp_min_flag & NEAR_MIN ?
- HA_READ_AFTER_KEY : HA_READ_KEY_EXACT),
+ tmp_min_flag & NEAR_MIN ?
+ HA_READ_AFTER_KEY : HA_READ_KEY_EXACT,
(byte*) (!max_key_length ? NullS :
param->max_key),
max_key_length,
(tmp_max_flag & NEAR_MAX ?
HA_READ_BEFORE_KEY : HA_READ_AFTER_KEY));
+ }
+ }
end:
if (tmp == HA_POS_ERROR) // Impossible range
return tmp;
@@ -2295,19 +2348,24 @@ get_quick_keys(PARAM *param,QUICK_SELECT *quick,KEY_PART *key,
}
}
else
- flag=key_tree->min_flag | key_tree->max_flag;
+ {
+ flag = (key_tree->min_flag & GEOM_FLAG) ?
+ key_tree->min_flag : key_tree->min_flag | key_tree->max_flag;
+ }
/* Ensure that some part of min_key and max_key are used. If not,
regard this as no lower/upper range */
- if (tmp_min_key != param->min_key)
- flag&= ~NO_MIN_RANGE;
- else
- flag|= NO_MIN_RANGE;
- if (tmp_max_key != param->max_key)
- flag&= ~NO_MAX_RANGE;
- else
- flag|= NO_MAX_RANGE;
-
+ if((flag & GEOM_FLAG) == 0)
+ {
+ if (tmp_min_key != param->min_key)
+ flag&= ~NO_MIN_RANGE;
+ else
+ flag|= NO_MIN_RANGE;
+ if (tmp_max_key != param->max_key)
+ flag&= ~NO_MAX_RANGE;
+ else
+ flag|= NO_MAX_RANGE;
+ }
if (flag == 0)
{
uint length= (uint) (tmp_min_key - param->min_key);
@@ -2440,13 +2498,19 @@ int QUICK_SELECT::get_next()
int result;
if (range)
{ // Already read through key
- result=((range->flag & EQ_RANGE) ?
+/* result=((range->flag & EQ_RANGE) ?
file->index_next_same(record, (byte*) range->min_key,
range->min_length) :
file->index_next(record));
+*/
+ result=((range->flag & (EQ_RANGE | GEOM_FLAG) ) ?
+ file->index_next_same(record, (byte*) range->min_key,
+ range->min_length) :
+ file->index_next(record));
+
if (!result)
{
- if (!cmp_next(*it.ref()))
+ if ((range->flag & GEOM_FLAG) || !cmp_next(*it.ref()))
DBUG_RETURN(0);
}
else if (result != HA_ERR_END_OF_FILE)
@@ -2455,6 +2519,23 @@ int QUICK_SELECT::get_next()
if (!(range=it++))
DBUG_RETURN(HA_ERR_END_OF_FILE); // All ranges used
+
+ if(range->flag & GEOM_FLAG)
+ {
+ if ((result = file->index_read(record,
+ (byte*) (range->min_key + ((range->flag & GEOM_FLAG) > 0)),
+ range->min_length,
+ (ha_rkey_function)(range->flag ^ GEOM_FLAG))))
+
+ {
+ if (result != HA_ERR_KEY_NOT_FOUND)
+ DBUG_RETURN(result);
+ range=0; // Not found, to next range
+ continue;
+ }
+ DBUG_RETURN(0);
+ }
+
if (range->flag & NO_MIN_RANGE) // Read first record
{
int error;
@@ -2465,13 +2546,14 @@ int QUICK_SELECT::get_next()
range=0; // No matching records; go to next range
continue;
}
- if ((result = file->index_read(record,(byte*) range->min_key,
+ if ((result = file->index_read(record,
+ (byte*) (range->min_key + ((range->flag & GEOM_FLAG) > 0)),
range->min_length,
- ((range->flag & NEAR_MIN) ?
+ (range->flag & NEAR_MIN) ?
HA_READ_AFTER_KEY:
(range->flag & EQ_RANGE) ?
HA_READ_KEY_EXACT :
- HA_READ_KEY_OR_NEXT))))
+ HA_READ_KEY_OR_NEXT)))
{
if (result != HA_ERR_KEY_NOT_FOUND)
diff --git a/sql/opt_range.h b/sql/opt_range.h
index f48a3936a17..e9694b4820f 100644
--- a/sql/opt_range.h
+++ b/sql/opt_range.h
@@ -31,11 +31,14 @@
#define UNIQUE_RANGE 16
#define EQ_RANGE 32
#define NULL_RANGE 64
+#define GEOM_FLAG 128
+
typedef struct st_key_part {
- uint16 key,part,part_length;
- uint8 null_bit;
- Field *field;
+ uint16 key,part,part_length;
+ uint8 null_bit;
+ Field *field;
+ Field::imagetype image_type;
} KEY_PART;
class QUICK_RANGE :public Sql_alloc {
diff --git a/sql/opt_sum.cc b/sql/opt_sum.cc
index efb4c4916a5..f399390da4b 100644
--- a/sql/opt_sum.cc
+++ b/sql/opt_sum.cc
@@ -351,7 +351,7 @@ static bool find_range_key(TABLE_REF *ref, Field* field, COND *cond)
// Save found constant
if (part->null_bit)
*key_ptr++= (byte) test(part->field->is_null());
- part->field->get_key_image((char*) key_ptr,part->length);
+ part->field->get_key_image((char*) key_ptr,part->length, Field::itRAW);
key_ptr+=part->store_length - test(part->null_bit);
left_length-=part->store_length;
}
diff --git a/sql/procedure.cc b/sql/procedure.cc
index 437bd82d6e5..7779f5ce085 100644
--- a/sql/procedure.cc
+++ b/sql/procedure.cc
@@ -57,7 +57,8 @@ setup_procedure(THD *thd,ORDER *param,select_result *result,
DBUG_RETURN(0);
for (i=0 ; i < array_elements(sql_procs) ; i++)
{
- if (!my_strcasecmp((*param->item)->name,sql_procs[i].name))
+ if (!my_strcasecmp(system_charset_info,
+ (*param->item)->name,sql_procs[i].name))
{
Procedure *proc=(*sql_procs[i].init)(thd,param,result,field_list);
*error= !proc;
diff --git a/sql/repl_failsafe.cc b/sql/repl_failsafe.cc
index 257418d1682..3f16880c18e 100644
--- a/sql/repl_failsafe.cc
+++ b/sql/repl_failsafe.cc
@@ -184,7 +184,7 @@ static void slave_info_free(void *s)
void init_slave_list()
{
- hash_init(&slave_list, SLAVE_LIST_CHUNK, 0, 0,
+ hash_init(&slave_list, system_charset_info, SLAVE_LIST_CHUNK, 0, 0,
(hash_get_key) slave_list_key, slave_info_free, 0);
pthread_mutex_init(&LOCK_slave_list, MY_MUTEX_INIT_FAST);
}
diff --git a/sql/share/charsets/Index b/sql/share/charsets/Index
index 5cf30682cc0..565b98a1c60 100644
--- a/sql/share/charsets/Index
+++ b/sql/share/charsets/Index
@@ -36,3 +36,5 @@ gbk 28
cp1257 29
latin5 30
latin1_de 31
+armscii8 32
+utf8 33
diff --git a/sql/share/charsets/armscii8.conf b/sql/share/charsets/armscii8.conf
new file mode 100644
index 00000000000..15c232c7e94
--- /dev/null
+++ b/sql/share/charsets/armscii8.conf
@@ -0,0 +1,74 @@
+# Configuration file for the armscii8 (armenian) character set
+
+# ctype array (must have 257 elements)
+ 00
+ 20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
+ 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+ 48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
+ 10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
+ 01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
+ 10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
+ 02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 20
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 01 02 01 02 01 02 01 02 01 02 01 02 01 02
+ 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02
+ 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02
+ 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02
+ 01 02 01 02 01 02 01 02 01 02 01 02 01 02 10 10
+
+# to_lower array (must have 256 elements)
+ 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
+ 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
+ 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
+ 40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
+ 70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
+ 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
+ 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
+ 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
+ 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 B8 A9 AA AB AC AD AE AF
+ B0 B1 B3 B3 B5 B5 B7 B7 B9 B9 BB BB BD BD BF BF
+ C1 C1 C3 C3 C5 C5 C7 C7 C9 C9 CB CB CD CD CF CF
+ D1 D1 D3 D3 D5 D5 D7 D7 D9 D9 DB DB DD DD DF DF
+ E1 E1 E3 E3 E5 E5 E7 E7 E9 E9 EB EB ED ED EF EF
+ F1 F1 F3 F3 F5 F5 F7 F7 F9 F9 FB FB FD FD FE FF
+
+# to_upper array (must have 256 elements)
+ 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
+ 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
+ 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
+ 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
+ 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
+ 60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
+ 50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
+ 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
+ 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
+ B0 B1 B2 B2 B4 B4 B6 B6 B8 B8 BA BA BC BC BE BE
+ C0 C0 C2 C2 C4 C4 C6 C6 C8 C8 CA CA CC CC CE CE
+ D0 D0 D2 D2 D4 D4 D6 D6 D8 D8 DA DA DC DC DE DE
+ E0 E0 E2 E2 E4 E4 E6 E6 E8 E8 EA EA EC EC EE EE
+ F0 F0 F2 F2 F4 F4 F6 F6 F8 F8 FA FA FC FC FE FF
+
+# sort_order array (must have 256 elements)
+ 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
+ 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
+ 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
+ 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
+ 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
+ 60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
+ 50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
+ 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
+ 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
+ B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
+ C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
+ D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
+ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
+ F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
diff --git a/sql/slave.cc b/sql/slave.cc
index 25b29732000..8461b72f4c6 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -245,9 +245,9 @@ void init_slave_skip_errors(char* arg)
exit(1);
}
use_slave_mask = 1;
- for (;isspace(*arg);++arg)
+ for (;my_isspace(system_charset_info,*arg);++arg)
/* empty */;
- if (!my_casecmp(arg,"all",3))
+ if (!my_strncasecmp(system_charset_info,arg,"all",3))
{
bitmap_set_all(&slave_error_mask);
return;
@@ -259,7 +259,7 @@ void init_slave_skip_errors(char* arg)
break;
if (err_code < MAX_SLAVE_ERROR)
bitmap_set_bit(&slave_error_mask,(uint)err_code);
- while (!isdigit(*p) && *p)
+ while (!my_isdigit(system_charset_info,*p) && *p)
p++;
}
}
@@ -495,7 +495,7 @@ int start_slave_threads(bool need_slave_mutex, bool wait_for_start,
void init_table_rule_hash(HASH* h, bool* h_inited)
{
- hash_init(h, TABLE_RULE_HASH_SIZE,0,0,
+ hash_init(h, system_charset_info,TABLE_RULE_HASH_SIZE,0,0,
(hash_get_key) get_table_key,
(void (*)(void*)) free_table_ent, 0);
*h_inited = 1;
@@ -517,7 +517,8 @@ static TABLE_RULE_ENT* find_wild(DYNAMIC_ARRAY *a, const char* key, int len)
{
TABLE_RULE_ENT* e ;
get_dynamic(a, (gptr)&e, i);
- if (!wild_case_compare(key, key_end, (const char*)e->db,
+ if (!wild_case_compare(system_charset_info, key, key_end,
+ (const char*)e->db,
(const char*)(e->db + e->key_len),'\\'))
return e;
}
diff --git a/sql/spatial.cc b/sql/spatial.cc
new file mode 100644
index 00000000000..32942a70dc2
--- /dev/null
+++ b/sql/spatial.cc
@@ -0,0 +1,1435 @@
+#include "mysql_priv.h"
+
+
+#define MAX_DIGITS_IN_DOUBLE 16
+
+/***************************** GClassInfo *******************************/
+
+#define IMPLEMENT_GEOM(class_name, type_id, name) \
+{ \
+ (GF_InitFromText) &class_name::init_from_text, \
+ (GF_GetDataAsText) &class_name::get_data_as_text, \
+ (GF_GetDataSize) &class_name::get_data_size, \
+ (GF_GetMBR) &class_name::get_mbr, \
+ (GF_GetD) &class_name::get_x, \
+ (GF_GetD) &class_name::get_y, \
+ (GF_GetD) &class_name::length, \
+ (GF_GetD) &class_name::area, \
+ (GF_GetI) &class_name::is_closed, \
+ (GF_GetUI) &class_name::num_interior_ring, \
+ (GF_GetUI) &class_name::num_points, \
+ (GF_GetUI) &class_name::num_geometries, \
+ (GF_GetUI) &class_name::dimension, \
+ (GF_GetWS) &class_name::start_point, \
+ (GF_GetWS) &class_name::end_point, \
+ (GF_GetWS) &class_name::exterior_ring, \
+ (GF_GetWS) &class_name::centroid, \
+ (GF_GetUIWS) &class_name::point_n, \
+ (GF_GetUIWS) &class_name::interior_ring_n, \
+ (GF_GetUIWS) &class_name::geometry_n, \
+ class_name::type_id, \
+ name, \
+ NULL \
+},
+
+
+static Geometry::GClassInfo ci_collection[] =
+{
+ IMPLEMENT_GEOM(GPoint, wkbPoint, "POINT")
+ IMPLEMENT_GEOM(GLineString, wkbLineString, "LINESTRING")
+ IMPLEMENT_GEOM(GPolygon, wkbPolygon, "POLYGON")
+ IMPLEMENT_GEOM(GMultiPoint, wkbMultiPoint, "MULTIPOINT")
+ IMPLEMENT_GEOM(GMultiLineString, wkbMultiLineString, "MULTILINESTRING")
+ IMPLEMENT_GEOM(GMultiPolygon, wkbMultiPolygon, "MULTIPOLYGON")
+ IMPLEMENT_GEOM(GGeometryCollection, wkbGeometryCollection, "GEOMETRYCOLLECTION")
+};
+
+static Geometry::GClassInfo *ci_collection_end = ci_collection + sizeof(ci_collection);
+
+/***************************** Geometry *******************************/
+
+Geometry::GClassInfo *Geometry::find_class(int type_id)
+{
+ for (GClassInfo *cur_rt = ci_collection; cur_rt < ci_collection_end; ++cur_rt)
+ {
+ if (cur_rt->m_type_id == type_id)
+ {
+ return cur_rt;
+ }
+ }
+ return NULL;
+}
+
+Geometry::GClassInfo *Geometry::find_class(const char *name, size_t len)
+{
+ for (GClassInfo *cur_rt = ci_collection;
+ cur_rt < ci_collection_end; ++cur_rt)
+ {
+ if ((cur_rt->m_name[len] == 0) &&
+ (strncmp(cur_rt->m_name, name, len) == 0))
+ {
+ return cur_rt;
+ }
+ }
+ return NULL;
+}
+
+int Geometry::create_from_wkb(const char *data, uint32 data_len)
+{
+ uint32 geom_type;
+
+ if (data_len < 1+4)
+ return 1;
+ data += sizeof(char);
+
+//FIXME: check byte ordering
+ geom_type = uint4korr(data);
+ data += 4;
+ m_vmt = find_class(geom_type);
+ if (!m_vmt) return -1;
+ m_data = data;
+ m_data_end = data + data_len;
+ return 0;
+}
+
+int Geometry::create_from_wkt(GTextReadStream *trs, String *wkt, int init_stream)
+{
+ int name_len;
+ const char *name = trs->get_next_word(&name_len);
+ if (!name)
+ {
+ trs->set_error_msg("Geometry name expected");
+ return -1;
+ }
+ if (!(m_vmt = find_class(name, name_len)))
+ return -1;
+ if (wkt->reserve(1 + 4, 512))
+ return 1;
+ wkt->q_append((char)wkbNDR);
+ wkt->q_append((uint32)get_class_info()->m_type_id);
+ if (trs->get_next_symbol() != '(')
+ {
+ trs->set_error_msg("'(' expected");
+ return -1;
+ }
+ if (init_from_text(trs, wkt)) return 1;
+ if (trs->get_next_symbol() != ')')
+ {
+ trs->set_error_msg("')' expected");
+ return -1;
+ }
+ if (init_stream)
+ {
+ init_from_wkb(wkt->ptr(), wkt->length());
+ shift_wkb_header();
+ }
+ return 0;
+}
+
+int Geometry::envelope(String *result) const
+{
+ MBR mbr;
+
+ get_mbr(&mbr);
+
+ if (result->reserve(1+4*3+sizeof(double)*10))
+ return 1;
+
+ result->q_append((char)wkbNDR);
+ result->q_append((uint32)wkbPolygon);
+ result->q_append((uint32)1);
+ result->q_append((uint32)5);
+ result->q_append(mbr.xmin);
+ result->q_append(mbr.ymin);
+ result->q_append(mbr.xmax);
+ result->q_append(mbr.ymin);
+ result->q_append(mbr.xmax);
+ result->q_append(mbr.ymax);
+ result->q_append(mbr.xmin);
+ result->q_append(mbr.ymax);
+ result->q_append(mbr.xmin);
+ result->q_append(mbr.ymin);
+
+ return 0;
+}
+
+/***************************** Point *******************************/
+
+size_t GPoint::get_data_size() const
+{
+ return POINT_DATA_SIZE;
+}
+
+int GPoint::init_from_text(GTextReadStream *trs, String *wkb)
+{
+ double x, y;
+ if (wkb->reserve(sizeof(double)*2))
+ return 1;
+ if (trs->get_next_number(&x))
+ return 1;
+ if (trs->get_next_number(&y))
+ return 1;
+ wkb->q_append(x);
+ wkb->q_append(y);
+
+ return 0;
+}
+
+int GPoint::get_data_as_text(String *txt) const
+{
+ double x, y;
+ if (get_xy(&x, &y))
+ return 1;
+ if (txt->reserve(MAX_DIGITS_IN_DOUBLE * 2 + 1))
+ return 1;
+ txt->qs_append(x);
+ txt->qs_append(' ');
+ txt->qs_append(y);
+ return 0;
+}
+
+int GPoint::get_mbr(MBR *mbr) const
+{
+ double x, y;
+ if (get_xy(&x, &y))
+ return 1;
+ mbr->add_xy(x, y);
+ return 0;
+}
+
+/***************************** LineString *******************************/
+
+size_t GLineString::get_data_size() const
+{
+ uint32 n_points = uint4korr(m_data);
+
+ return 4 + n_points*POINT_DATA_SIZE;
+}
+
+int GLineString::init_from_text(GTextReadStream *trs, String *wkb)
+{
+ uint32 n_points = 0;
+ int np_pos = wkb->length();
+ GPoint p;
+
+ if (wkb->reserve(4, 512))
+ return 1;
+
+ wkb->q_append((uint32)n_points);
+
+ for (;;)
+ {
+ if (p.init_from_text(trs, wkb))
+ return 1;
+ ++n_points;
+ if (trs->get_next_toc_type() == GTextReadStream::comma)
+ trs->get_next_symbol();
+ else break;
+ }
+
+ if (n_points<2)
+ {
+ trs->set_error_msg("Too few points in LINESTRING");
+ return 1;
+ }
+
+ wkb->WriteAtPosition(np_pos, n_points);
+
+ return 0;
+}
+
+int GLineString::get_data_as_text(String *txt) const
+{
+ uint32 n_points;
+ const char *data = m_data;
+
+ if (no_data(data, 4))
+ return 1;
+
+ n_points = uint4korr(data);
+ data += 4;
+
+ if (no_data(data, sizeof(double) * 2 * n_points))
+ return 1;
+
+ if (txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points))
+ return 1;
+ for (; n_points>0; --n_points)
+ {
+ double x, y;
+ float8get(x, data);
+ data += sizeof(double);
+ float8get(y, data);
+ data += sizeof(double);
+ txt->qs_append(x);
+ txt->qs_append(' ');
+ txt->qs_append(y);
+ txt->qs_append(',');
+ }
+ txt->length(txt->length() - 1);
+ return 0;
+}
+
+int GLineString::get_mbr(MBR *mbr) const
+{
+ uint32 n_points;
+ const char *data = m_data;
+
+ if (no_data(data, 4))
+ return 1;
+
+ n_points = uint4korr(data);
+ data += 4;
+
+ if (no_data(data, sizeof(double) * 2 * n_points))
+ return 1;
+ for (; n_points>0; --n_points)
+ {
+ mbr->add_xy((double *)data, (double *)(data + 8));
+ data += 8+8;
+ }
+
+ return 0;
+}
+
+int GLineString::length(double *len) const
+{
+ uint32 n_points;
+ double prev_x, prev_y;
+ const char *data = m_data;
+
+ *len=0;
+ if (no_data(data, 4))
+ return 1;
+ n_points = uint4korr(data);
+ data += 4;
+
+ if (no_data(data, sizeof(double) * 2 * n_points))
+ return 1;
+
+ --n_points;
+ float8get(prev_x, data);
+ data += 8;
+ float8get(prev_y, data);
+ data += 8;
+
+ for (; n_points>0; --n_points)
+ {
+ double x, y;
+ float8get(x, data);
+ data += 8;
+ float8get(y, data);
+ data += 8;
+ *len+=sqrt(pow(prev_x-x,2)+pow(prev_y-y,2));
+ prev_x=x;
+ prev_y=y;
+ }
+ return 0;
+}
+
+int GLineString::is_closed(int *closed) const
+
+{
+ uint32 n_points;
+ double x1, y1, x2, y2;
+
+ const char *data = m_data;
+
+ if (no_data(data, 4))
+ return 1;
+ n_points = uint4korr(data);
+ data += 4;
+ if (no_data(data, (8+8) * n_points))
+ return 1;
+ float8get(x1, data);
+ data += 8;
+ float8get(y1, data);
+ data += 8 + (n_points-2)*POINT_DATA_SIZE;
+ float8get(x2, data);
+ data += 8;
+ float8get(y2, data);
+
+ *closed=(x1==x2)&&(y1==y2);
+
+ return 0;
+}
+
+int GLineString::num_points(uint32 *n_points) const
+{
+ *n_points = uint4korr(m_data);
+ return 0;
+}
+
+int GLineString::start_point(String *result) const
+{
+ const char *data = m_data + 4;
+ if (no_data(data, 8+8))
+ return 1;
+
+ if (result->reserve(1 + 4 + sizeof(double) * 2))
+ return 1;
+
+ result->q_append((char)wkbNDR);
+ result->q_append((uint32)wkbPoint);
+ result->q_append((double *)data);
+ result->q_append((double *)(data + 8));
+
+ return 0;
+}
+
+int GLineString::end_point(String *result) const
+{
+ const char *data = m_data;
+ uint32 n_points;
+
+ if (no_data(data, 4))
+ return 1;
+ n_points = uint4korr(data);
+
+ data += 4 + (n_points-1)*POINT_DATA_SIZE;
+
+ if (no_data(data, 8+8))
+ return 1;
+
+ if (result->reserve(1 + 4 + sizeof(double) * 2))
+ return 1;
+ result->q_append((char)wkbNDR);
+ result->q_append((uint32)wkbPoint);
+ result->q_append((double *)data);
+ result->q_append((double *)(data + 8));
+
+ return 0;
+}
+
+
+int GLineString::point_n(uint32 num, String *result) const
+{
+ const char *data = m_data;
+ uint32 n_points;
+
+ if (no_data(data, 4))
+ return 1;
+ n_points = uint4korr(data);
+
+ if ((uint32)(num-1) >= n_points) // really means (num > n_points || num < 1)
+ return 1;
+
+ data += 4 + (num - 1)*POINT_DATA_SIZE;
+
+ if (no_data(data, 8+8))
+ return 1;
+ if (result->reserve(1 + 4 + sizeof(double) * 2))
+ return 1;
+
+ result->q_append((char)wkbNDR);
+ result->q_append((uint32)wkbPoint);
+ result->q_append((double *)data);
+ result->q_append((double *)(data + 8));
+
+ return 0;
+}
+
+/***************************** Polygon *******************************/
+
+size_t GPolygon::get_data_size() const
+{
+ uint32 n_linear_rings = 0;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+
+ n_linear_rings = uint4korr(data);
+ data += 4;
+ for (; n_linear_rings>0; --n_linear_rings)
+ {
+ if (no_data(data, 4))
+ return 1;
+ data += 4 + uint4korr(data)*POINT_DATA_SIZE;
+ }
+ return data - m_data;
+}
+
+int GPolygon::init_from_text(GTextReadStream *trs, String *wkb)
+{
+ uint32 n_linear_rings = 0;
+ int lr_pos = wkb->length();
+
+ if (wkb->reserve(4, 512))
+ return 1;
+
+ wkb->q_append((uint32)n_linear_rings);
+
+ for (;;)
+ {
+ GLineString ls;
+ size_t ls_pos=wkb->length();
+ if (trs->get_next_symbol() != '(')
+ {
+ trs->set_error_msg("'(' expected");
+ return 1;
+ }
+ if (ls.init_from_text(trs, wkb))
+ return 1;
+ if (trs->get_next_symbol() != ')')
+ {
+ trs->set_error_msg("')' expected");
+ return 1;
+ }
+ ls.init_from_wkb(wkb->ptr()+ls_pos, wkb->length()-ls_pos);
+ int closed;
+ ls.is_closed(&closed);
+ if (!closed)
+ {
+ trs->set_error_msg("POLYGON's linear ring isn't closed");
+ return 1;
+ }
+ ++n_linear_rings;
+ if (trs->get_next_toc_type() == GTextReadStream::comma)
+ trs->get_next_symbol();
+ else
+ break;
+ }
+ wkb->WriteAtPosition(lr_pos, n_linear_rings);
+ return 0;
+}
+
+int GPolygon::get_data_as_text(String *txt) const
+{
+ uint32 n_linear_rings;
+ const char *data = m_data;
+
+ if (no_data(data, 4))
+ return 1;
+
+ n_linear_rings = uint4korr(data);
+ data += 4;
+
+ for (; n_linear_rings>0; --n_linear_rings)
+ {
+ if(no_data(data, 4))
+ return 1;
+ uint32 n_points = uint4korr(data);
+ data += 4;
+ if (no_data(data, (8+8) * n_points))
+ return 1;
+
+ if (txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points))
+ return 1;
+ txt->qs_append('(');
+ for (; n_points>0; --n_points)
+ {
+ txt->qs_append((double *)data);
+ txt->qs_append(' ');
+ txt->qs_append((double *)(data + 8));
+ txt->qs_append(',');
+
+ data += 8+8;
+ }
+ (*txt)[txt->length()-1] = ')';
+ txt->qs_append(',');
+ }
+ txt->length(txt->length() - 1);
+ return 0;
+}
+
+int GPolygon::get_mbr(MBR *mbr) const
+{
+ uint32 n_linear_rings;
+
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_linear_rings = uint4korr(data);
+ data += 4;
+ for (; n_linear_rings>0; --n_linear_rings)
+ {
+ if (no_data(data, 4))
+ return 1;
+ uint32 n_points = uint4korr(data);
+ data += 4;
+ if (no_data(data, (8+8) * n_points))
+ return 1;
+ for (; n_points>0; --n_points)
+ {
+ mbr->add_xy((double *)data, (double *)(data + 8));
+ data += 8+8;
+ }
+ }
+ return 0;
+}
+
+int GPolygon::area(double *ar) const
+{
+ uint32 n_linear_rings;
+ double result = -1.0;
+
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_linear_rings = uint4korr(data);
+ data += 4;
+ for (; n_linear_rings>0; --n_linear_rings)
+ {
+ double prev_x, prev_y;
+ double lr_area=0;
+ if (no_data(data, 4))
+ return 1;
+ uint32 n_points = uint4korr(data);
+ if (no_data(data, (8+8) * n_points))
+ return 1;
+ float8get(prev_x, data+4);
+ float8get(prev_y, data+(4+8));
+ data += (4+8+8);
+
+ --n_points;
+ for (; n_points>0; --n_points)
+ {
+ double x, y;
+ float8get(x, data);
+ float8get(y, data + 8);
+ lr_area+=(prev_x+x)*(prev_y-y);
+ prev_x=x;
+ prev_y=y;
+ data += (8+8);
+ }
+ lr_area=fabs(lr_area)/2;
+ if(result==-1) result=lr_area;
+ else result-=lr_area;
+ }
+ *ar=fabs(result);
+ return 0;
+}
+
+
+int GPolygon::exterior_ring(String *result) const
+{
+ uint32 n_points;
+ const char *data = m_data + 4; // skip n_linerings
+
+ if (no_data(data, 4))
+ return 1;
+ n_points = uint4korr(data);
+ data += 4;
+ if (no_data(data, n_points * POINT_DATA_SIZE))
+ return 1;
+
+ if (result->reserve(1+4+4+ n_points * POINT_DATA_SIZE))
+ return 1;
+
+ result->q_append((char)wkbNDR);
+ result->q_append((uint32)wkbLineString);
+ result->q_append(n_points);
+ result->q_append(data, n_points * POINT_DATA_SIZE);
+
+ return 0;
+}
+
+int GPolygon::num_interior_ring(uint32 *n_int_rings) const
+{
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ *n_int_rings = uint4korr(data);
+ --(*n_int_rings);
+
+ return 0;
+}
+
+int GPolygon::interior_ring_n(uint32 num, String *result) const
+{
+ const char *data = m_data;
+ uint32 n_linear_rings;
+ uint32 n_points;
+
+ if (no_data(data, 4))
+ return 1;
+
+ n_linear_rings = uint4korr(data);
+ data += 4;
+ if ((num >= n_linear_rings) || (num < 1))
+ return -1;
+
+ for (; num > 0; --num)
+ {
+ if (no_data(data, 4))
+ return 1;
+ data += 4 + uint4korr(data) * POINT_DATA_SIZE;
+ }
+ if (no_data(data, 4))
+ return 1;
+ n_points = uint4korr(data);
+ int points_size = n_points * POINT_DATA_SIZE;
+ data += 4;
+ if (no_data(data, points_size))
+ return 1;
+
+ if (result->reserve(1+4+4+ points_size))
+ return 1;
+
+ result->q_append((char)wkbNDR);
+ result->q_append((uint32)wkbLineString);
+ result->q_append(n_points);
+ result->q_append(data, points_size);
+
+ return 0;
+}
+
+int GPolygon::centroid_xy(double *x, double *y) const
+{
+ uint32 n_linear_rings;
+ uint32 i;
+ double res_area, res_cx, res_cy;
+ const char *data = m_data;
+
+ if (no_data(data, 4))
+ return 1;
+ n_linear_rings = uint4korr(data);
+ data += 4;
+
+ for(i = 0; i < n_linear_rings; ++i)
+ {
+ if (no_data(data, 4))
+ return 1;
+ uint32 n_points = uint4korr(data);
+ double prev_x, prev_y;
+ double cur_area = 0;
+ double cur_cx = 0;
+ double cur_cy = 0;
+
+ data += 4;
+ if (no_data(data, (8+8) * n_points))
+ return 1;
+ float8get(prev_x, data);
+ float8get(prev_y, data+8);
+ data += (8+8);
+
+ uint32 n = n_points - 1;
+ for (; n > 0; --n)
+ {
+ double x, y;
+ float8get(x, data);
+ float8get(y, data + 8);
+
+ cur_area += (prev_x + x) * (prev_y - y);
+ cur_cx += x;
+ cur_cy += y;
+ prev_x = x;
+ prev_y = y;
+ data += (8+8);
+ }
+ cur_area = fabs(cur_area) / 2;
+ cur_cx = cur_cx / (n_points - 1);
+ cur_cy = cur_cy / (n_points - 1);
+ if(i)
+ {
+ double d_area = res_area - cur_area;
+ if (d_area <= 0)
+ return 1;
+ res_cx = (res_area * res_cx - cur_area * cur_cx) / d_area;
+ res_cy = (res_area * res_cy - cur_area * cur_cy) / d_area;
+ }
+ else
+ {
+ res_area = cur_area;
+ res_cx = cur_cx;
+ res_cy = cur_cy;
+ }
+ }
+
+ *x = res_cx;
+ *y = res_cy;
+
+ return 0;
+}
+
+int GPolygon::centroid(String *result) const
+{
+ double x, y;
+
+ this->centroid_xy(&x, &y);
+ if (result->reserve(1 + 4 + sizeof(double) * 2))
+ return 1;
+
+ result->q_append((char)wkbNDR);
+ result->q_append((uint32)wkbPoint);
+ result->q_append(x);
+ result->q_append(y);
+
+ return 0;
+}
+
+
+/***************************** MultiPoint *******************************/
+
+size_t GMultiPoint::get_data_size() const
+{
+ return 4 + uint4korr(m_data)*(POINT_DATA_SIZE + WKB_HEADER_SIZE);
+}
+
+int GMultiPoint::init_from_text(GTextReadStream *trs, String *wkb)
+{
+ uint32 n_points = 0;
+ int np_pos = wkb->length();
+ GPoint p;
+
+ if (wkb->reserve(4, 512))
+ return 1;
+ wkb->q_append((uint32)n_points);
+
+ for (;;)
+ {
+ if (wkb->reserve(1+4, 512))
+ return 1;
+ wkb->q_append((char)wkbNDR);
+ wkb->q_append((uint32)wkbPoint);
+ if (p.init_from_text(trs, wkb))
+ return 1;
+ ++n_points;
+ if (trs->get_next_toc_type() == GTextReadStream::comma)
+ trs->get_next_symbol();
+ else
+ break;
+ }
+ wkb->WriteAtPosition(np_pos, n_points);
+
+ return 0;
+}
+
+int GMultiPoint::get_data_as_text(String *txt) const
+{
+ uint32 n_points;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+
+ n_points = uint4korr(data);
+ data += 4;
+ if (no_data(data, n_points * (8+8+WKB_HEADER_SIZE)))
+ return 1;
+
+ if (txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points))
+ return 1;
+
+ for (; n_points>0; --n_points)
+ {
+ txt->qs_append((double *)(data + WKB_HEADER_SIZE));
+ txt->qs_append(' ');
+ txt->qs_append((double *)(data + (8 + WKB_HEADER_SIZE)));
+ txt->qs_append(',');
+ data += 8+8+WKB_HEADER_SIZE;
+ }
+ txt->length(txt->length()-1);
+ return 0;
+}
+
+int GMultiPoint::get_mbr(MBR *mbr) const
+{
+ uint32 n_points;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_points = uint4korr(data);
+ data += 4;
+ if (no_data(data, n_points * (8+8+WKB_HEADER_SIZE)))
+ return 1;
+ for (; n_points>0; --n_points)
+ {
+ mbr->add_xy((double *)(data + WKB_HEADER_SIZE),
+ (double *)(data + 8 + WKB_HEADER_SIZE));
+ data += (8+8+WKB_HEADER_SIZE);
+ }
+ return 0;
+}
+
+/***************************** MultiLineString *******************************/
+
+size_t GMultiLineString::get_data_size() const
+{
+ uint32 n_line_strings = 0;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_line_strings = uint4korr(data);
+ data += 4;
+
+ for (; n_line_strings>0; --n_line_strings)
+ {
+ if (no_data(data, WKB_HEADER_SIZE + 4))
+ return 1;
+ data += WKB_HEADER_SIZE + 4 + uint4korr(data + WKB_HEADER_SIZE) * POINT_DATA_SIZE;
+ }
+ return data - m_data;
+}
+
+int GMultiLineString::init_from_text(GTextReadStream *trs, String *wkb)
+{
+ uint32 n_line_strings = 0;
+ int ls_pos = wkb->length();
+
+ if (wkb->reserve(4, 512))
+ return 1;
+
+ wkb->q_append((uint32)n_line_strings);
+
+ for (;;)
+ {
+ GLineString ls;
+
+ if (wkb->reserve(1+4, 512))
+ return 1;
+ wkb->q_append((char)wkbNDR);
+ wkb->q_append((uint32)wkbLineString);
+
+ if (trs->get_next_symbol() != '(')
+ {
+ trs->set_error_msg("'(' expected");
+ return 1;
+ }
+ if (ls.init_from_text(trs, wkb))
+ return 1;
+
+ if (trs->get_next_symbol() != ')')
+ {
+ trs->set_error_msg("')' expected");
+ return 1;
+ }
+ ++n_line_strings;
+ if (trs->get_next_toc_type() == GTextReadStream::comma)
+ trs->get_next_symbol();
+ else
+ break;
+ }
+ wkb->WriteAtPosition(ls_pos, n_line_strings);
+
+ return 0;
+}
+
+int GMultiLineString::get_data_as_text(String *txt) const
+{
+ uint32 n_line_strings;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_line_strings = uint4korr(data);
+ data += 4;
+ for (; n_line_strings>0; --n_line_strings)
+ {
+ if (no_data(data, (WKB_HEADER_SIZE + 4)))
+ return 1;
+ uint32 n_points = uint4korr(data + WKB_HEADER_SIZE);
+ data += WKB_HEADER_SIZE + 4;
+ if (no_data(data, n_points * (8+8)))
+ return 1;
+
+ if (txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points))
+ return 1;
+ txt->qs_append('(');
+ for (; n_points>0; --n_points)
+ {
+ txt->qs_append((double *)data);
+ txt->qs_append(' ');
+ txt->qs_append((double *)(data + 8));
+ txt->qs_append(',');
+ data += 8+8;
+ }
+ (*txt)[txt->length()-1] = ')';
+ txt->qs_append(',');
+ }
+ txt->length(txt->length() - 1);
+ return 0;
+}
+
+int GMultiLineString::get_mbr(MBR *mbr) const
+{
+ uint32 n_line_strings;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_line_strings = uint4korr(data);
+ data += 4;
+
+ for (; n_line_strings>0; --n_line_strings)
+ {
+ if (no_data(data, WKB_HEADER_SIZE + 4))
+ return 1;
+ uint32 n_points = uint4korr(data + WKB_HEADER_SIZE);
+ data += 4+WKB_HEADER_SIZE;
+ if (no_data(data, (8+8)*n_points))
+ return 1;
+
+ for (; n_points>0; --n_points)
+ {
+ mbr->add_xy((double *)data, (double *)(data + 8));
+ data += 8+8;
+ }
+ }
+ return 0;
+}
+
+int GMultiLineString::length(double *len) const
+{
+ uint32 n_line_strings;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_line_strings = uint4korr(data);
+ data += 4;
+ *len=0;
+ for (; n_line_strings>0; --n_line_strings)
+ {
+ double ls_len;
+ GLineString ls;
+ data += WKB_HEADER_SIZE;
+ ls.init_from_wkb(data, m_data_end - data);
+ if (ls.length(&ls_len))
+ return 1;
+ *len+=ls_len;
+ data += ls.get_data_size();
+ }
+ return 0;
+}
+
+int GMultiLineString::is_closed(int *closed) const
+{
+ uint32 n_line_strings;
+ const char *data = m_data;
+ if (no_data(data, 1))
+ return 1;
+ n_line_strings = uint4korr(data);
+ data += 4 + WKB_HEADER_SIZE;
+ for (; n_line_strings>0; --n_line_strings)
+ {
+ GLineString ls;
+ ls.init_from_wkb(data, m_data_end - data);
+ if (ls.is_closed(closed))
+ return 1;
+ if (!*closed)
+ return 0;
+ data += ls.get_data_size() + WKB_HEADER_SIZE;
+ }
+ return 0;
+}
+
+/***************************** MultiPolygon *******************************/
+
+size_t GMultiPolygon::get_data_size() const
+{
+ uint32 n_polygons;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_polygons = uint4korr(data);
+ data += 4;
+
+ for (; n_polygons>0; --n_polygons)
+ {
+ if (no_data(data, 4 + WKB_HEADER_SIZE))
+ return 1;
+ uint32 n_linear_rings = uint4korr(data + WKB_HEADER_SIZE);
+ data += 4 + WKB_HEADER_SIZE;
+
+ for (; n_linear_rings > 0; --n_linear_rings)
+ {
+ data += 4 + uint4korr(data) * POINT_DATA_SIZE;
+ }
+ }
+ return data - m_data;
+}
+
+int GMultiPolygon::init_from_text(GTextReadStream *trs, String *wkb)
+{
+ uint32 n_polygons = 0;
+ int np_pos = wkb->length();
+ GPolygon p;
+
+ if (wkb->reserve(4, 512))
+ return 1;
+
+ wkb->q_append((uint32)n_polygons);
+
+ for (;;)
+ {
+ if (wkb->reserve(1+4, 512))
+ return 1;
+ wkb->q_append((char)wkbNDR);
+ wkb->q_append((uint32)wkbPolygon);
+
+ if (trs->get_next_symbol() != '(')
+ {
+ trs->set_error_msg("'(' expected");
+ return 1;
+ }
+ if (p.init_from_text(trs, wkb))
+ return 1;
+ if (trs->get_next_symbol() != ')')
+ {
+ trs->set_error_msg("')' expected");
+ return 1;
+ }
+ ++n_polygons;
+ if (trs->get_next_toc_type() == GTextReadStream::comma)
+ trs->get_next_symbol();
+ else
+ break;
+ }
+ wkb->WriteAtPosition(np_pos, n_polygons);
+ return 0;
+}
+
+int GMultiPolygon::get_data_as_text(String *txt) const
+{
+ uint32 n_polygons;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_polygons = uint4korr(data);
+ data += 4;
+
+ for (; n_polygons>0; --n_polygons)
+ {
+ if (no_data(data, 4 + WKB_HEADER_SIZE))
+ return 1;
+ data += WKB_HEADER_SIZE;
+ uint32 n_linear_rings = uint4korr(data);
+ data += 4;
+
+ if (txt->reserve(1, 512))
+ return 1;
+ txt->q_append('(');
+ for (; n_linear_rings>0; --n_linear_rings)
+ {
+ if (no_data(data, 4))
+ return 1;
+ uint32 n_points = uint4korr(data);
+ data += 4;
+ if (no_data(data, (8+8)*n_points)) return 1;
+
+ if (txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points,
+ 512)) return 1;
+ txt->qs_append('(');
+ for (; n_points>0; --n_points)
+ {
+ txt->qs_append((double *)data);
+ txt->qs_append(' ');
+ txt->qs_append((double *)(data + 8));
+ txt->qs_append(',');
+ data += 8+8;
+ }
+ (*txt)[txt->length()-1] = ')';
+ txt->qs_append(',');
+ }
+ (*txt)[txt->length()-1] = ')';
+ txt->qs_append(',');
+ }
+ txt->length(txt->length() - 1);
+ return 0;
+}
+
+int GMultiPolygon::get_mbr(MBR *mbr) const
+{
+ uint32 n_polygons;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_polygons = uint4korr(data);
+ data += 4;
+
+ for (; n_polygons>0; --n_polygons)
+ {
+ if (no_data(data, 4+WKB_HEADER_SIZE))
+ return 1;
+ uint32 n_linear_rings = uint4korr(data + WKB_HEADER_SIZE);
+ data += WKB_HEADER_SIZE + 4;
+
+ for (; n_linear_rings>0; --n_linear_rings)
+ {
+ if (no_data(data, 4))
+ return 1;
+ uint32 n_points = uint4korr(data);
+ data += 4;
+ if (no_data(data, (8+8)*n_points))
+ return 1;
+
+ for (; n_points>0; --n_points)
+ {
+ mbr->add_xy((double *)data, (double *)(data + 8));
+ data += 8+8;
+ }
+ }
+ }
+ return 0;
+}
+
+
+int GMultiPolygon::area(double *ar) const
+{
+ uint32 n_polygons;
+ const char *data = m_data;
+ double result = 0;
+ if (no_data(data, 4))
+ return 1;
+ n_polygons = uint4korr(data);
+ data += 4;
+
+ for (; n_polygons>0; --n_polygons)
+ {
+ double p_area;
+
+ GPolygon p;
+ data += WKB_HEADER_SIZE;
+ p.init_from_wkb(data, m_data_end - data);
+ if (p.area(&p_area))
+ return 1;
+ result += p_area;
+ data += p.get_data_size();
+ }
+ *ar = result;
+ return 0;
+}
+
+int GMultiPolygon::centroid(String *result) const
+{
+ uint32 n_polygons;
+ uint i;
+ GPolygon p;
+ double res_area, res_cx, res_cy;
+ double cur_area, cur_cx, cur_cy;
+
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_polygons = uint4korr(data);
+ data += 4;
+
+ for (i = 0; i < n_polygons; ++i)
+ {
+ data += WKB_HEADER_SIZE;
+ p.init_from_wkb(data, m_data_end - data);
+ if (p.area(&cur_area))
+ return 1;
+
+ if (p.centroid_xy(&cur_cx, &cur_cy))
+ return 1;
+
+ if(i)
+ {
+ double sum_area = res_area + cur_area;
+ res_cx = (res_area * res_cx + cur_area * cur_cx) / sum_area;
+ res_cy = (res_area * res_cy + cur_area * cur_cy) / sum_area;
+ }
+ else
+ {
+ res_area = cur_area;
+ res_cx = cur_cx;
+ res_cy = cur_cy;
+ }
+
+ data += p.get_data_size();
+ }
+
+ if (result->reserve(1 + 4 + sizeof(double) * 2))
+ return 1;
+ result->q_append((char)wkbNDR);
+ result->q_append((uint32)wkbPoint);
+ result->q_append(res_cx);
+ result->q_append(res_cy);
+
+ return 0;
+}
+
+/***************************** GeometryCollection *******************************/
+
+size_t GGeometryCollection::get_data_size() const
+{
+ uint32 n_objects;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_objects = uint4korr(data);
+ data += 4;
+
+ for (; n_objects>0; --n_objects)
+ {
+ if (no_data(data, WKB_HEADER_SIZE))
+ return 1;
+ uint32 wkb_type = uint4korr(data + sizeof(char));
+ data += WKB_HEADER_SIZE;
+
+ Geometry geom;
+
+ if (geom.init(wkb_type))
+ return 0;
+
+ geom.init_from_wkb(data, m_data_end - data);
+ size_t object_size=geom.get_data_size();
+ data += object_size;
+ }
+ return data - m_data;
+}
+
+int GGeometryCollection::init_from_text(GTextReadStream *trs, String *wkb)
+{
+ uint32 n_objects = 0;
+ int no_pos = wkb->length();
+ Geometry g;
+
+ if (wkb->reserve(4, 512))
+ return 1;
+ wkb->q_append((uint32)n_objects);
+
+ for (;;)
+ {
+ if (g.create_from_wkt(trs, wkb))
+ return 1;
+
+ if (g.get_class_info()->m_type_id==wkbGeometryCollection)
+ {
+ trs->set_error_msg("Unexpected GEOMETRYCOLLECTION");
+ return 1;
+ }
+ ++n_objects;
+ if (trs->get_next_toc_type() == GTextReadStream::comma)
+ trs->get_next_symbol();
+ else break;
+ }
+ wkb->WriteAtPosition(no_pos, n_objects);
+
+ return 0;
+}
+
+int GGeometryCollection::get_data_as_text(String *txt) const
+{
+ uint32 n_objects;
+ const char *data = m_data;
+ Geometry geom;
+ if (no_data(data, 4))
+ return 1;
+ n_objects = uint4korr(data);
+ data += 4;
+
+ for (; n_objects>0; --n_objects)
+ {
+ if (no_data(data, WKB_HEADER_SIZE))
+ return 1;
+ uint32 wkb_type = uint4korr(data + sizeof(char));
+ data += WKB_HEADER_SIZE;
+
+ if (geom.init(wkb_type))
+ return 1;
+ geom.init_from_wkb(data, m_data_end - data);
+ if (geom.as_wkt(txt))
+ return 1;
+ data += geom.get_data_size();
+ txt->reserve(1, 512);
+ txt->q_append(',');
+ }
+ txt->length(txt->length() - 1);
+ return 0;
+}
+
+int GGeometryCollection::get_mbr(MBR *mbr) const
+{
+ uint32 n_objects;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_objects = uint4korr(data);
+ data += 4;
+ for (; n_objects>0; --n_objects)
+ {
+ if(no_data(data, WKB_HEADER_SIZE))
+ return 1;
+ uint32 wkb_type = uint4korr(data + sizeof(char));
+ data += WKB_HEADER_SIZE;
+ Geometry geom;
+
+ if (geom.init(wkb_type))
+ return 1;
+ geom.init_from_wkb(data, m_data_end - data);
+ geom.get_mbr(mbr);
+ data += geom.get_data_size();
+ }
+ return 0;
+}
+
+int GGeometryCollection::num_geometries(uint32 *num) const
+{
+ *num = uint4korr(m_data);
+ return 0;
+}
+
+int GGeometryCollection::geometry_n(uint32 num, String *result) const
+{
+ const char *data = m_data;
+ uint32 n_objects;
+ if (no_data(data, 4))
+ return 1;
+ n_objects = uint4korr(data);
+ data += 4;
+
+ if ((num > n_objects) || (num < 1))
+ {
+ return -1;
+ }
+ for (; num > 0; --num)
+ {
+ if (no_data(data, WKB_HEADER_SIZE))
+ return 1;
+ uint32 wkb_type = uint4korr(data + sizeof(char));
+ data += WKB_HEADER_SIZE;
+
+ Geometry geom;
+ if (geom.init(wkb_type))
+ return 1;
+ geom.init_from_wkb(data, m_data_end - data);
+ if (num == 1)
+ {
+ if (result->reserve(1+4+geom.get_data_size()))
+ return 1;
+ result->q_append((char)wkbNDR);
+ result->q_append((uint32)wkb_type);
+ result->q_append(data, geom.get_data_size());
+ break;
+ }
+ else
+ {
+ data += geom.get_data_size();
+ }
+ }
+ return 0;
+}
+
+int GGeometryCollection::dimension(uint32 *dim) const
+{
+ uint32 n_objects;
+ *dim = 0;
+ const char *data = m_data;
+ if (no_data(data, 4))
+ return 1;
+ n_objects = uint4korr(data);
+ data += 4;
+
+ for (; n_objects > 0; --n_objects)
+ {
+ if (no_data(data, WKB_HEADER_SIZE))
+ return 1;
+ uint32 wkb_type = uint4korr(data + sizeof(char));
+ data += WKB_HEADER_SIZE;
+
+ uint32 d;
+
+ Geometry geom;
+ if (geom.init(wkb_type))
+ return 1;
+ geom.init_from_wkb(data, m_data_end - data);
+ if (geom.dimension(&d))
+ return 1;
+
+ if (d > *dim)
+ *dim = d;
+ data += geom.get_data_size();
+ }
+ return 0;
+}
+
+/***************************** /objects *******************************/
diff --git a/sql/spatial.h b/sql/spatial.h
new file mode 100644
index 00000000000..09e8722a85e
--- /dev/null
+++ b/sql/spatial.h
@@ -0,0 +1,476 @@
+#ifndef _spatial_h
+#define _spatial_h
+
+#include "gstream.h"
+
+const int POINT_DATA_SIZE = 8+8;
+const int WKB_HEADER_SIZE = 1+4;
+
+struct stPoint2D
+{
+ double x;
+ double y;
+};
+
+struct stLinearRing
+{
+ size_t n_points;
+ stPoint2D points;
+};
+
+/***************************** MBR *******************************/
+
+struct MBR
+{
+ MBR()
+ {
+ xmin=DBL_MAX;
+ ymin=DBL_MAX;
+ xmax=-DBL_MAX;
+ ymax=-DBL_MAX;
+ }
+
+ MBR(const double &_xmin, const double &_ymin, const double &_xmax, const double &_ymax)
+ {
+ xmin=_xmin;
+ ymin=_ymin;
+ xmax=_xmax;
+ ymax=_ymax;
+ }
+
+ MBR(const stPoint2D &min, const stPoint2D &max)
+ {
+ xmin=min.x;
+ ymin=min.y;
+ xmax=max.x;
+ ymax=max.y;
+ }
+
+ double xmin;
+ double ymin;
+ double xmax;
+ double ymax;
+
+ void add_xy(double x, double y)
+ { /* Not using "else" for proper one point MBR calculation */
+ if (x<xmin)
+ {
+ xmin=x;
+ }
+ if (x>xmax)
+ {
+ xmax=x;
+ }
+ if (y<ymin)
+ {
+ ymin=y;
+ }
+ if (y>ymax)
+ {
+ ymax=y;
+ }
+ }
+
+ void add_xy(double *px, double *py)
+ { /* Not using "else" for proper one point MBR calculation */
+ double x, y;
+ float8get(x, px);
+ float8get(y, py);
+ if (x<xmin)
+ {
+ xmin=x;
+ }
+ if (x>xmax)
+ {
+ xmax=x;
+ }
+ if (y<ymin)
+ {
+ ymin=y;
+ }
+ if (y>ymax)
+ {
+ ymax=y;
+ }
+ }
+
+ void add_mbr(const MBR *mbr)
+ {
+ if (mbr->xmin<xmin)
+ {
+ xmin=mbr->xmin;
+ }
+ if (mbr->xmax>xmax)
+ {
+ xmax=mbr->xmax;
+ }
+ if (mbr->ymin<ymin)
+ {
+ ymin=mbr->ymin;
+ }
+ if (mbr->ymax>ymax)
+ {
+ ymax=mbr->ymax;
+ }
+ }
+
+ int equals(const MBR *mbr)
+ {
+ return (mbr->xmin==xmin)&&(mbr->ymin==ymin)&&(mbr->xmax==xmax)&&(mbr->ymax==ymax);
+ }
+
+ int disjoint(const MBR *mbr)
+ {
+ return (mbr->xmin>xmax)||(mbr->ymin>ymax)||(mbr->xmax<xmin)||(mbr->ymax<ymin);
+ }
+
+ int intersects(const MBR *mbr)
+ {
+ return !disjoint(mbr);
+ }
+
+ int touches(const MBR *mbr)
+ {
+ return (((mbr->xmin==xmax) || (mbr->xmax==xmin)) &&
+ ((mbr->ymin>=ymin) && (mbr->ymin<=ymax) ||
+ (mbr->ymax>=ymin) && (mbr->ymax<=ymax))) ||
+ (((mbr->ymin==ymax) || (mbr->ymax==ymin)) &&
+ ((mbr->xmin>=xmin) && (mbr->xmin<=xmax) ||
+ (mbr->xmax>=xmin)&&(mbr->xmax<=xmax)));
+ }
+
+ int within(const MBR *mbr)
+ {
+ return (mbr->xmin<=xmin) && (mbr->ymin<=ymin) &&
+ (mbr->xmax>=xmax) && (mbr->ymax>=ymax);
+ }
+
+ int contains(const MBR *mbr)
+ {
+ return (mbr->xmin>=xmin) && (mbr->ymin>=ymin) &&
+ (mbr->xmax<=xmax) && (mbr->ymax<=ymax);
+ }
+
+ bool inner_point(double x, double y) const
+ {
+ return (xmin<x) && (xmax>x) && (ymin<y) && (ymax>x);
+ }
+
+ int overlaps(const MBR *mbr)
+ {
+ int lb = mbr->inner_point(xmin, ymin);
+ int rb = mbr->inner_point(xmax, ymin);
+ int rt = mbr->inner_point(xmax, ymax);
+ int lt = mbr->inner_point(xmin, ymax);
+
+ int a = lb+rb+rt+lt;
+ return (a>0) && (a<4) && (!within(mbr));
+ }
+};
+
+
+/***************************** Geometry *******************************/
+
+class Geometry;
+
+typedef int (Geometry::*GF_InitFromText)(GTextReadStream *, String *);
+typedef int (Geometry::*GF_GetDataAsText)(String *) const;
+typedef size_t (Geometry::*GF_GetDataSize)() const;
+typedef int (Geometry::*GF_GetMBR)(MBR *) const;
+
+typedef int (Geometry::*GF_GetD)(double *) const;
+typedef int (Geometry::*GF_GetI)(int *) const;
+typedef int (Geometry::*GF_GetUI)(uint32 *) const;
+typedef int (Geometry::*GF_GetWS)(String *) const;
+typedef int (Geometry::*GF_GetUIWS)(uint32, String *) const;
+
+#define GEOM_METHOD_PRESENT(geom_obj, method)\
+ (geom_obj.m_vmt->method != &Geometry::method)
+
+class Geometry
+{
+public:
+ enum wkbType
+ {
+ wkbPoint = 1,
+ wkbLineString = 2,
+ wkbPolygon = 3,
+ wkbMultiPoint = 4,
+ wkbMultiLineString = 5,
+ wkbMultiPolygon = 6,
+ wkbGeometryCollection = 7
+ };
+ enum wkbByteOrder
+ {
+ wkbXDR = 0, /* Big Endian */
+ wkbNDR = 1 /* Little Endian */
+ };
+
+
+ class GClassInfo
+ {
+ public:
+ GF_InitFromText init_from_text;
+ GF_GetDataAsText get_data_as_text;
+ GF_GetDataSize get_data_size;
+ GF_GetMBR get_mbr;
+ GF_GetD get_x;
+ GF_GetD get_y;
+ GF_GetD length;
+ GF_GetD area;
+
+ GF_GetI is_closed;
+
+ GF_GetUI num_interior_ring;
+ GF_GetUI num_points;
+ GF_GetUI num_geometries;
+ GF_GetUI dimension;
+
+ GF_GetWS start_point;
+ GF_GetWS end_point;
+ GF_GetWS exterior_ring;
+ GF_GetWS centroid;
+
+ GF_GetUIWS point_n;
+ GF_GetUIWS interior_ring_n;
+ GF_GetUIWS geometry_n;
+
+ int m_type_id;
+ const char *m_name;
+ GClassInfo *m_next_rt;
+ };
+ GClassInfo *m_vmt;
+
+ const GClassInfo *get_class_info() const { return m_vmt; }
+ size_t get_data_size() const { return (this->*m_vmt->get_data_size)(); }
+
+ int init_from_text(GTextReadStream *trs, String *wkb)
+ { return (this->*m_vmt->init_from_text)(trs, wkb); }
+
+ int get_data_as_text(String *txt) const
+ { return (this->*m_vmt->get_data_as_text)(txt); }
+
+ int get_mbr(MBR *mbr) const { return (this->*m_vmt->get_mbr)(mbr); }
+ int dimension(uint32 *dim) const
+ { return (this->*m_vmt->dimension)(dim); }
+
+ int get_x(double *x) const { return (this->*m_vmt->get_x)(x); }
+ int get_y(double *y) const { return (this->*m_vmt->get_y)(y); }
+ int length(double *len) const { return (this->*m_vmt->length)(len); }
+ int area(double *ar) const { return (this->*m_vmt->area)(ar); }
+
+ int is_closed(int *closed) const { return (this->*m_vmt->is_closed)(closed); }
+
+ int num_interior_ring(uint32 *n_int_rings) const
+ { return (this->*m_vmt->num_interior_ring)(n_int_rings); }
+ int num_points(uint32 *n_points) const
+ { return (this->*m_vmt->num_points)(n_points); }
+
+ int num_geometries(uint32 *num) const
+ { return (this->*m_vmt->num_geometries)(num); }
+
+ int start_point(String *point) const
+ { return (this->*m_vmt->start_point)(point); }
+ int end_point(String *point) const
+ { return (this->*m_vmt->end_point)(point); }
+ int exterior_ring(String *ring) const
+ { return (this->*m_vmt->exterior_ring)(ring); }
+ int centroid(String *point) const
+ { return (this->*m_vmt->centroid)(point); }
+
+ int point_n(uint32 num, String *result) const
+ { return (this->*m_vmt->point_n)(num, result); }
+ int interior_ring_n(uint32 num, String *result) const
+ { return (this->*m_vmt->interior_ring_n)(num, result); }
+ int geometry_n(uint32 num, String *result) const
+ { return (this->*m_vmt->geometry_n)(num, result); }
+
+public:
+ int create_from_wkb(const char *data, uint32 data_len);
+ int create_from_wkt(GTextReadStream *trs, String *wkt, int init_stream=1);
+ int init(int type_id)
+ {
+ m_vmt = find_class(type_id);
+ return !m_vmt;
+ }
+ int new_geometry(const char *name, size_t len)
+ {
+ m_vmt = find_class(name, len);
+ return !m_vmt;
+ }
+
+ int as_wkt(String *wkt) const
+ {
+ if(wkt->reserve(strlen(get_class_info()->m_name) + 2, 512))
+ return 1;
+ wkt->qs_append(get_class_info()->m_name);
+ wkt->qs_append('(');
+ if(get_data_as_text(wkt))
+ return 1;
+ wkt->qs_append(')');
+ return 0;
+ }
+
+ void init_from_wkb(const char *data, uint32 data_len)
+ {
+ m_data = data;
+ m_data_end = data + data_len;
+ }
+
+ void shift_wkb_header()
+ {
+ m_data += WKB_HEADER_SIZE;
+ }
+
+ int envelope(String *result) const;
+
+protected:
+ static GClassInfo *find_class(int type_id);
+ static GClassInfo *find_class(const char *name, size_t len);
+
+ bool no_data(const char *cur_data, uint32 data_amount) const
+ {
+ return cur_data + data_amount > m_data_end;
+ }
+
+ const char *m_data;
+ const char *m_data_end;
+};
+
+/***************************** Point *******************************/
+
+class GPoint: public Geometry
+{
+public:
+ size_t get_data_size() const;
+ int init_from_text(GTextReadStream *trs, String *wkb);
+ int get_data_as_text(String *txt) const;
+ int get_mbr(MBR *mbr) const;
+
+ int get_xy(double *x, double *y) const
+ {
+ const char *data = m_data;
+ if(no_data(data, sizeof(double)) * 2) return 1;
+ float8get(*x, data);
+ float8get(*y, data + sizeof(double));
+ return 0;
+ }
+
+ int get_x(double *x) const
+ {
+ if(no_data(m_data, sizeof(double))) return 1;
+ float8get(*x, m_data);
+ return 0;
+ }
+
+ int get_y(double *y) const
+ {
+ const char *data = m_data;
+ if(no_data(data, sizeof(double)) * 2) return 1;
+ float8get(*y, data + sizeof(double));
+ return 0;
+ }
+
+ int dimension(uint32 *dim) const { *dim = 0; return 0; }
+};
+
+/***************************** LineString *******************************/
+
+class GLineString: public Geometry
+{
+public:
+ size_t get_data_size() const;
+ int init_from_text(GTextReadStream *trs, String *wkb);
+ int get_data_as_text(String *txt) const;
+ int get_mbr(MBR *mbr) const;
+
+ int length(double *len) const;
+ int is_closed(int *closed) const;
+ int num_points(uint32 *n_points) const;
+ int start_point(String *point) const;
+ int end_point(String *point) const;
+ int point_n(uint32 n, String *result) const;
+ int dimension(uint32 *dim) const { *dim = 1; return 0; }
+// IsRing
+};
+
+/***************************** Polygon *******************************/
+
+class GPolygon: public Geometry
+{
+public:
+ size_t get_data_size() const;
+ int init_from_text(GTextReadStream *trs, String *wkb);
+ int get_data_as_text(String *txt) const;
+ int get_mbr(MBR *mbr) const;
+
+ int area(double *ar) const;
+ int exterior_ring(String *result) const;
+ int num_interior_ring(uint32 *n_int_rings) const;
+ int interior_ring_n(uint32 num, String *result) const;
+ int centroid_xy(double *x, double *y) const;
+ int centroid(String *result) const;
+ int dimension(uint32 *dim) const { *dim = 2; return 0; }
+// PointOnSurface
+};
+
+/***************************** MultiPoint *******************************/
+
+class GMultiPoint: public Geometry
+{
+public:
+ size_t get_data_size() const;
+ int init_from_text(GTextReadStream *trs, String *wkb);
+ int get_data_as_text(String *txt) const;
+ int get_mbr(MBR *mbr) const;
+ int dimension(uint32 *dim) const { *dim = 0; return 0; }
+};
+
+/***************************** MultiLineString *******************************/
+
+class GMultiLineString: public Geometry
+{
+public:
+ size_t get_data_size() const;
+ int init_from_text(GTextReadStream *trs, String *wkb);
+ int get_data_as_text(String *txt) const;
+ int get_mbr(MBR *mbr) const;
+
+ int length(double *len) const;
+ int is_closed(int *closed) const;
+ int dimension(uint32 *dim) const { *dim = 1; return 0; }
+};
+
+/***************************** MultiPolygon *******************************/
+
+class GMultiPolygon: public Geometry
+{
+public:
+ size_t get_data_size() const;
+ int init_from_text(GTextReadStream *trs, String *wkb);
+ int get_data_as_text(String *txt) const;
+ int get_mbr(MBR *mbr) const;
+
+ int area(double *ar) const;
+ int centroid(String *result) const;
+ int dimension(uint32 *dim) const { *dim = 2; return 0; }
+// PointOnSurface
+};
+
+/***************************** GeometryCollection *******************************/
+
+class GGeometryCollection: public Geometry
+{
+public:
+ size_t get_data_size() const;
+ int init_from_text(GTextReadStream *trs, String *wkb);
+ int get_data_as_text(String *txt) const;
+ int get_mbr(MBR *mbr) const;
+
+ int num_geometries(uint32 *num) const;
+ int geometry_n(uint32 num, String *result) const;
+
+ int dimension(uint32 *dim) const;
+};
+
+#endif
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index 104b431bdbb..403d08ad0ab 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -383,7 +383,7 @@ static uint get_access(TABLE *form,uint fieldnr)
for (pos=form->field+fieldnr,bit=1 ; *pos ; pos++ , bit<<=1)
{
(*pos)->val_str(&res,&res);
- if (toupper(res[0]) == 'Y')
+ if (my_toupper(system_charset_info, res[0]) == 'Y')
access_bits|=bit;
}
return access_bits;
@@ -731,7 +731,7 @@ uint acl_get(const char *host, const char *ip, const char *bin_ip,
end=strmov((tmp_db=strmov(key+sizeof(struct in_addr),user)+1),db);
if (lower_case_table_names)
{
- casedn_str(tmp_db);
+ my_casedn_str(system_charset_info, tmp_db);
db=tmp_db;
}
key_length=(uint) (end-key);
@@ -795,7 +795,7 @@ exit:
}
-int wild_case_compare(const char *str,const char *wildstr)
+int wild_case_compare(CHARSET_INFO *cs, const char *str,const char *wildstr)
{
reg3 int flag;
DBUG_ENTER("wild_case_compare");
@@ -806,7 +806,8 @@ int wild_case_compare(const char *str,const char *wildstr)
{
if (*wildstr == wild_prefix && wildstr[1])
wildstr++;
- if (toupper(*wildstr++) != toupper(*str++)) DBUG_RETURN(1);
+ if (my_toupper(cs, *wildstr++) !=
+ my_toupper(cs, *str++)) DBUG_RETURN(1);
}
if (! *wildstr ) DBUG_RETURN (*str != 0);
if (*wildstr++ == wild_one)
@@ -824,12 +825,12 @@ int wild_case_compare(const char *str,const char *wildstr)
char cmp;
if ((cmp= *wildstr) == wild_prefix && wildstr[1])
cmp=wildstr[1];
- cmp=toupper(cmp);
- while (*str && toupper(*str) != cmp)
+ cmp=my_toupper(cs, cmp);
+ while (*str && my_toupper(cs, *str) != cmp)
str++;
if (!*str) DBUG_RETURN (1);
}
- if (wild_case_compare(str,wildstr) == 0) DBUG_RETURN (0);
+ if (wild_case_compare(cs, str,wildstr) == 0) DBUG_RETURN (0);
} while (*str++);
DBUG_RETURN(1);
}
@@ -848,7 +849,7 @@ static void init_check_host(void)
DBUG_ENTER("init_check_host");
VOID(init_dynamic_array(&acl_wild_hosts,sizeof(struct acl_host_and_ip),
acl_users.elements,1));
- VOID(hash_init(&acl_check_hosts,acl_users.elements,0,0,
+ VOID(hash_init(&acl_check_hosts,system_charset_info,acl_users.elements,0,0,
(hash_get_key) check_get_key,0,HASH_CASE_INSENSITIVE));
if (!allow_all_hosts)
{
@@ -864,7 +865,8 @@ static void init_check_host(void)
{ // Check if host already exists
acl_host_and_ip *acl=dynamic_element(&acl_wild_hosts,j,
acl_host_and_ip *);
- if (!my_strcasecmp(acl_user->host.hostname,acl->hostname))
+ if (!my_strcasecmp(system_charset_info,
+ acl_user->host.hostname, acl->hostname))
break; // already stored
}
if (j == acl_wild_hosts.elements) // If new
@@ -939,7 +941,7 @@ bool change_password(THD *thd, const char *host, const char *user,
if (!thd->slave_thread &&
(strcmp(thd->user,user) ||
- my_strcasecmp(host,thd->host ? thd->host : thd->ip)))
+ my_strcasecmp(system_charset_info, host,thd->host_or_ip))
{
if (check_access(thd, UPDATE_ACL, "mysql",0,1))
DBUG_RETURN(1);
@@ -1065,7 +1067,8 @@ static bool compare_hostname(const acl_host_and_ip *host, const char *hostname,
return (tmp & host->ip_mask) == host->ip;
}
return (!host->hostname ||
- (hostname && !wild_case_compare(hostname,host->hostname)) ||
+ (hostname && !wild_case_compare(system_charset_info,
+ hostname,host->hostname)) ||
(ip && !wild_compare(ip,host->hostname)));
}
@@ -1418,13 +1421,14 @@ public:
tname= strdup_root(&memex,t);
if (lower_case_table_names)
{
- casedn_str(db);
- casedn_str(tname);
+ my_casedn_str(system_charset_info, db);
+ my_casedn_str(system_charset_info, tname);
}
key_length =(uint) strlen(d)+(uint) strlen(u)+(uint) strlen(t)+3;
hash_key = (char*) alloc_root(&memex,key_length);
strmov(strmov(strmov(hash_key,user)+1,db)+1,tname);
- (void) hash_init(&hash_columns,0,0,0, (hash_get_key) get_key_column,0,
+ (void) hash_init(&hash_columns,system_charset_info,
+ 0,0,0, (hash_get_key) get_key_column,0,
HASH_CASE_INSENSITIVE);
}
@@ -1444,8 +1448,8 @@ public:
}
if (lower_case_table_names)
{
- casedn_str(db);
- casedn_str(tname);
+ my_casedn_str(system_charset_info, db);
+ my_casedn_str(system_charset_info, tname);
}
key_length = ((uint) strlen(db) + (uint) strlen(user) +
(uint) strlen(tname) + 3);
@@ -1456,7 +1460,8 @@ public:
privs = fix_rights_for_table(privs);
cols = fix_rights_for_column(cols);
- (void) hash_init(&hash_columns,0,0,0, (hash_get_key) get_key_column,0,
+ (void) hash_init(&hash_columns,system_charset_info,
+ 0,0,0, (hash_get_key) get_key_column,0,
HASH_CASE_INSENSITIVE);
if (cols)
{
@@ -1538,8 +1543,10 @@ static GRANT_TABLE *table_hash_search(const char *host,const char* ip,
}
else
{
- if ((host && !wild_case_compare(host,grant_table->host)) ||
- (ip && !wild_case_compare(ip,grant_table->host)))
+ if ((host && !wild_case_compare(system_charset_info,
+ host,grant_table->host)) ||
+ (ip && !wild_case_compare(system_charset_info,
+ ip,grant_table->host)))
found=grant_table; // Host ok
}
}
@@ -2055,7 +2062,7 @@ int mysql_grant (THD *thd, const char *db, List <LEX_USER> &list, uint rights,
if (lower_case_table_names && db)
{
strmov(tmp_db,db);
- casedn_str(tmp_db);
+ my_casedn_str(system_charset_info, tmp_db);
db=tmp_db;
}
@@ -2141,7 +2148,8 @@ int grant_init (void)
DBUG_ENTER("grant_init");
grant_option = FALSE;
- (void) hash_init(&hash_tables,0,0,0, (hash_get_key) get_grant_table,
+ (void) hash_init(&hash_tables,system_charset_info,
+ 0,0,0, (hash_get_key) get_grant_table,
(hash_free_key) free_grant_table,0);
init_sql_alloc(&memex,1024,0);
@@ -2480,8 +2488,10 @@ bool check_grant_db(THD *thd,const char *db)
GRANT_TABLE *grant_table = (GRANT_TABLE*) hash_element(&hash_tables,idx);
if (len < grant_table->key_length &&
!memcmp(grant_table->hash_key,helping,len) &&
- (thd->host && !wild_case_compare(thd->host,grant_table->host) ||
- (thd->ip && !wild_case_compare(thd->ip,grant_table->host))))
+ (thd->host && !wild_case_compare(system_charset_info,
+ thd->host,grant_table->host) ||
+ (thd->ip && !wild_case_compare(system_charset_info,
+ thd->ip,grant_table->host))))
{
error=0; // Found match
break;
diff --git a/sql/sql_analyse.cc b/sql/sql_analyse.cc
index df8a8f1fdde..fc764333916 100644
--- a/sql/sql_analyse.cc
+++ b/sql/sql_analyse.cc
@@ -163,7 +163,7 @@ bool test_if_number(NUM_INFO *info, const char *str, uint str_len)
// MySQL removes any endspaces of a string, so we must take care only of
// spaces in front of a string
- for (; str != end && isspace(*str); str++) ;
+ for (; str != end && my_isspace(system_charset_info, *str); str++) ;
if (str == end)
return 0;
@@ -176,10 +176,10 @@ bool test_if_number(NUM_INFO *info, const char *str, uint str_len)
else
info->negative = 0;
begin = str;
- for (; str != end && isdigit(*str); str++)
+ for (; str != end && my_isdigit(system_charset_info,*str); str++)
{
if (!info->integers && *str == '0' && (str + 1) != end &&
- isdigit(*(str + 1)))
+ my_isdigit(system_charset_info,*(str + 1)))
info->zerofill = 1; // could be a postnumber for example
info->integers++;
}
@@ -205,7 +205,7 @@ bool test_if_number(NUM_INFO *info, const char *str, uint str_len)
str++;
if (*str != '-' && *str != '+')
return 0;
- for (str++; str != end && isdigit(*str); str++) ;
+ for (str++; str != end && my_isdigit(system_charset_info,*str); str++) ;
if (str == end)
{
info->is_float = 1; // we can't use variable decimals here
@@ -220,7 +220,7 @@ bool test_if_number(NUM_INFO *info, const char *str, uint str_len)
info->ullval = (ulonglong) strtoull(begin, NULL, 10);
return 1;
}
- for (; str != end && isdigit(*str); str++)
+ for (; str != end && my_isdigit(system_charset_info,*str); str++)
info->decimals++;
if (str == end)
{
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index 88854396ae3..031c83a2aeb 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -50,7 +50,8 @@ static byte *cache_key(const byte *record,uint *length,
void table_cache_init(void)
{
- VOID(hash_init(&open_cache,table_cache_size+16,0,0,cache_key,
+ VOID(hash_init(&open_cache,system_charset_info,
+ table_cache_size+16,0,0,cache_key,
(void (*)(void*)) free_cache_entry,0));
mysql_rm_tmp_tables();
}
@@ -781,7 +782,7 @@ TABLE *open_table(THD *thd,const char *db,const char *table_name,
{
if (table->key_length == key_length &&
!memcmp(table->table_cache_key,key,key_length) &&
- !my_strcasecmp(table->table_name,alias))
+ !my_strcasecmp(system_charset_info,table->table_name,alias))
goto reset;
}
my_printf_error(ER_TABLE_NOT_LOCKED,ER(ER_TABLE_NOT_LOCKED),MYF(0),alias);
@@ -1560,11 +1561,12 @@ Field *find_field_in_table(THD *thd,TABLE *table,const char *name,uint length,
Field **ptr=table->field;
while ((field = *ptr++))
{
- if (!my_strcasecmp(field->field_name, name))
+ if (!my_strcasecmp(system_charset_info, field->field_name, name))
goto found;
}
}
- if (allow_rowid && !my_strcasecmp(name,"_rowid") &&
+ if (allow_rowid &&
+ !my_strcasecmp(system_charset_info, name, "_rowid") &&
(field=table->rowid_field))
goto found;
return (Field*) 0;
@@ -1687,7 +1689,8 @@ find_item_in_list(Item *find,List<Item> &items)
{
if (field_name && item->type() == Item::FIELD_ITEM)
{
- if (!my_strcasecmp(((Item_field*) item)->name,field_name))
+ if (!my_strcasecmp(system_charset_info,
+ ((Item_field*) item)->name,field_name))
{
if (!table_name)
{
@@ -1710,8 +1713,9 @@ find_item_in_list(Item *find,List<Item> &items)
}
}
else if (!table_name && (item->eq(find,0) ||
- find->name &&
- !my_strcasecmp(item->name,find->name)))
+ find->name &&
+ !my_strcasecmp(system_charset_info,
+ item->name,find->name)))
{
found=li.ref();
break;
@@ -1939,7 +1943,8 @@ int setup_conds(THD *thd,TABLE_LIST *tables,COND **conds)
// TODO: This could be optimized to use hashed names if t2 had a hash
for (j=0 ; j < t2->fields ; j++)
{
- if (!my_strcasecmp(t1->field[i]->field_name,
+ if (!my_strcasecmp(system_charset_info,
+ t1->field[i]->field_name,
t2->field[j]->field_name))
{
Item_func_eq *tmp=new Item_func_eq(new Item_field(t1->field[i]),
diff --git a/sql/sql_cache.cc b/sql/sql_cache.cc
index 588d60462b0..d7549732798 100644
--- a/sql/sql_cache.cc
+++ b/sql/sql_cache.cc
@@ -893,8 +893,9 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length)
Test if the query is a SELECT
(pre-space is removed in dispatch_command)
*/
- if (toupper(sql[0]) != 'S' || toupper(sql[1]) != 'E' ||
- toupper(sql[2]) !='L')
+ if (my_toupper(system_charset_info, sql[0]) != 'S' ||
+ my_toupper(system_charset_info, sql[1]) != 'E' ||
+ my_toupper(system_charset_info,sql[2]) !='L')
{
DBUG_PRINT("qcache", ("The statement is not a SELECT; Not cached"));
goto err;
@@ -1347,9 +1348,9 @@ ulong Query_cache::init_cache()
DUMP(this);
- VOID(hash_init(&queries,def_query_hash_size, 0, 0,
+ VOID(hash_init(&queries,system_charset_info,def_query_hash_size, 0, 0,
query_cache_query_get_key, 0, 0));
- VOID(hash_init(&tables,def_table_hash_size, 0, 0,
+ VOID(hash_init(&tables,system_charset_info,def_table_hash_size, 0, 0,
query_cache_table_get_key, 0, 0));
queries_in_cache = 0;
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 03bb8ae2c97..29cdaa676d6 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -148,7 +148,7 @@ THD::THD():user_time(0),fatal_error(0),last_insert_id_used(0),
bzero((char*) &mem_root,sizeof(mem_root));
bzero((char*) &transaction.mem_root,sizeof(transaction.mem_root));
user_connect=(UC *)0;
- hash_init(&user_vars, USER_VARS_HASH_SIZE, 0, 0,
+ hash_init(&user_vars, system_charset_info, USER_VARS_HASH_SIZE, 0, 0,
(hash_get_key) get_var_key,
(void (*)(void*)) free_var,0);
#ifdef USING_TRANSACTIONS
diff --git a/sql/sql_class.h b/sql/sql_class.h
index e755deeea61..d111ff3df8e 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -215,14 +215,16 @@ public:
class Key :public Sql_alloc {
public:
- enum Keytype { PRIMARY, UNIQUE, MULTIPLE, FULLTEXT };
+ enum Keytype { PRIMARY, UNIQUE, MULTIPLE, FULLTEXT, SPATIAL };
enum Keytype type;
enum ha_key_alg algorithm;
List<key_part_spec> columns;
const char *Name;
Key(enum Keytype type_par,const char *name_arg,List<key_part_spec> &cols)
- :type(type_par), algorithm(HA_KEY_ALG_UNDEF), columns(cols), Name(name_arg)
+
+ Key(enum Keytype type_par, enum ha_key_alg alg_par, const char *name_arg, List<key_part_spec> &cols)
+ :type(type_par), algorithm(alg_par), columns(cols), Name(name_arg)
{}
~Key() {}
const char *name() { return Name; }
@@ -703,15 +705,17 @@ class Table_ident :public Sql_alloc {
public:
LEX_STRING db;
LEX_STRING table;
+ SELECT_LEX *sel;
inline Table_ident(LEX_STRING db_arg,LEX_STRING table_arg,bool force)
- :table(table_arg)
+ :table(table_arg), sel((SELECT_LEX *)0)
{
if (!force && (current_thd->client_capabilities & CLIENT_NO_SCHEMA))
db.str=0;
else
db= db_arg;
}
- inline Table_ident(LEX_STRING table_arg) :table(table_arg) {db.str=0;}
+ inline Table_ident(LEX_STRING table_arg) :table(table_arg), sel((SELECT_LEX *)0) {db.str=0;}
+ inline Table_ident(SELECT_LEX *s) : sel(s) {db.str=0; table.str=(char *)""; table.length=0;}
inline void change_db(char *db_name)
{ db.str= db_name; db.length=(uint) strlen(db_name); }
};
diff --git a/sql/sql_db.cc b/sql/sql_db.cc
index 9f521ac5ffd..032cbf3d6a3 100644
--- a/sql/sql_db.cc
+++ b/sql/sql_db.cc
@@ -218,7 +218,8 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *db,
DBUG_PRINT("info",("Examining: %s", file->name));
/* Check if file is a raid directory */
- if (isdigit(file->name[0]) && isdigit(file->name[1]) &&
+ if (my_isdigit(system_charset_info,file->name[0]) &&
+ my_isdigit(system_charset_info,file->name[1]) &&
!file->name[2] && !level)
{
char newpath[FN_REFLEN];
@@ -243,7 +244,8 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *db,
continue;
}
strxmov(filePath,org_path,"/",file->name,NullS);
- if (db && !my_strcasecmp(fn_ext(file->name), reg_ext))
+ if (db && !my_strcasecmp(system_charset_info,
+ fn_ext(file->name), reg_ext))
{
/* Drop the table nicely */
*fn_ext(file->name)=0; // Remove extension
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
new file mode 100644
index 00000000000..f1b60dd9b84
--- /dev/null
+++ b/sql/sql_derived.cc
@@ -0,0 +1,121 @@
+/* Copyright (C) 2000 MySQL AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+
+/*
+ Derived tables
+ These were introduced by Monty and Sinisa <sinisa@mysql.com>
+*/
+
+
+#include "mysql_priv.h"
+#include "sql_select.h"
+#include "sql_acl.h"
+
+static const char *any_db="*any*"; // Special symbol for check_access
+
+
+int mysql_derived(THD *thd, LEX *lex,SELECT_LEX *s, TABLE_LIST *t)
+{
+ SELECT_LEX *sl=s;
+ List<Item> item_list;
+ TABLE *table;
+ int res;
+ select_union *derived_result;
+ TABLE_LIST *tables=(TABLE_LIST *)sl->table_list.first;
+ TMP_TABLE_PARAM tmp_table_param;
+ DBUG_ENTER("mysql_derived");
+
+ if (tables)
+ res=check_table_access(thd,SELECT_ACL, tables);
+ else
+ res=check_access(thd, SELECT_ACL, any_db);
+ if (res)
+ DBUG_RETURN(-1);
+
+ for (TABLE_LIST *cursor= (TABLE_LIST *)tables;
+ cursor;
+ cursor=cursor->next)
+ {
+ if (cursor->derived)
+ {
+ res=mysql_derived(thd,lex,(SELECT_LEX *)cursor->derived,cursor);
+ if (res) DBUG_RETURN(res);
+ }
+ }
+ Item *item;
+ List_iterator<Item> it(sl->item_list);
+
+ while ((item= it++))
+ item_list.push_back(item);
+
+ if (!(res=open_and_lock_tables(thd,tables)))
+ {
+ if (tables && setup_fields(thd,tables,item_list,0,0,1))
+ {
+ res=-1;
+ goto exit;
+ }
+ bzero((char*) &tmp_table_param,sizeof(tmp_table_param));
+ tmp_table_param.field_count=item_list.elements;
+ if (!(table=create_tmp_table(thd, &tmp_table_param, sl->item_list,
+ (ORDER*) 0, 0, 1, 0,
+ (sl->options | thd->options | TMP_TABLE_ALL_COLUMNS))))
+ {
+ res=-1;
+ goto exit;
+ }
+
+ if ((derived_result=new select_union(table)))
+ {
+ thd->offset_limit=sl->offset_limit;
+ thd->select_limit=sl->select_limit+sl->offset_limit;
+ if (thd->select_limit < sl->select_limit)
+ thd->select_limit= HA_POS_ERROR;
+ if (thd->select_limit == HA_POS_ERROR)
+ sl->options&= ~OPTION_FOUND_ROWS;
+
+ res=mysql_select(thd, tables, sl->item_list,
+ sl->where, (ORDER *) sl->order_list.first,
+ (ORDER*) sl->group_list.first,
+ sl->having, (ORDER*) NULL,
+ sl->options | thd->options | SELECT_NO_UNLOCK,
+ derived_result);
+ if (!res)
+ {
+// Here we entirely fix both TABLE_LIST and list of SELECT's as there were no derived tables
+ if (derived_result->flush())
+ res=1;
+ else
+ {
+ t->real_name=table->real_name;
+ t->table=table;
+ sl->prev->next=sl->next;
+ t->derived=(SELECT_LEX *)0; // just in case ...
+ if (!sl->next) lex->last_select = sl;
+ }
+ }
+ delete derived_result;
+ }
+ if (res)
+ free_tmp_table(thd,table);
+exit:
+ close_thread_tables(thd);
+ if (res > 0)
+ send_error(&thd->net, ER_UNKNOWN_COM_ERROR); // temporary only ...
+ }
+ DBUG_RETURN(res);
+}
diff --git a/sql/sql_handler.cc b/sql/sql_handler.cc
index f1dc5599f46..4ecd5dbca36 100644
--- a/sql/sql_handler.cc
+++ b/sql/sql_handler.cc
@@ -270,7 +270,7 @@ static TABLE **find_table_ptr_by_name(THD *thd, const char *db,
for (TABLE *table=*ptr; table ; table=*ptr)
{
if (!memcmp(table->table_cache_key, db, dblen) &&
- !my_strcasecmp(table->table_name,table_name))
+ !my_strcasecmp(system_charset_info,table->table_name,table_name))
break;
ptr=&(table->next);
}
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
index 42a8a700da3..31ec6d1cecc 100644
--- a/sql/sql_lex.cc
+++ b/sql/sql_lex.cc
@@ -92,15 +92,15 @@ void lex_init(void)
/* Fill state_map with states to get a faster parser */
for (i=0; i < 256 ; i++)
{
- if (isalpha(i))
+ if (my_isalpha(system_charset_info,i))
state_map[i]=(uchar) STATE_IDENT;
- else if (isdigit(i))
+ else if (my_isdigit(system_charset_info,i))
state_map[i]=(uchar) STATE_NUMBER_IDENT;
#if defined(USE_MB) && defined(USE_MB_IDENT)
- else if (use_mb(default_charset_info) && my_ismbhead(default_charset_info, i))
+ else if (use_mb(system_charset_info) && my_ismbhead(system_charset_info, i))
state_map[i]=(uchar) STATE_IDENT;
#endif
- else if (!isgraph(i))
+ else if (!my_isgraph(system_charset_info,i))
state_map[i]=(uchar) STATE_SKIP;
else
state_map[i]=(uchar) STATE_CHAR;
@@ -222,8 +222,8 @@ static char *get_text(LEX *lex)
c = yyGet();
#ifdef USE_MB
int l;
- if (use_mb(default_charset_info) &&
- (l = my_ismbchar(default_charset_info,
+ if (use_mb(system_charset_info) &&
+ (l = my_ismbchar(system_charset_info,
(const char *)lex->ptr-1,
(const char *)lex->end_of_query))) {
lex->ptr += l-1;
@@ -267,8 +267,8 @@ static char *get_text(LEX *lex)
{
#ifdef USE_MB
int l;
- if (use_mb(default_charset_info) &&
- (l = my_ismbchar(default_charset_info,
+ if (use_mb(system_charset_info) &&
+ (l = my_ismbchar(system_charset_info,
(const char *)str, (const char *)end))) {
while (l--)
*to++ = *str++;
@@ -473,11 +473,11 @@ int yylex(void *arg)
break;
}
#if defined(USE_MB) && defined(USE_MB_IDENT)
- if (use_mb(default_charset_info))
+ if (use_mb(system_charset_info))
{
- if (my_ismbhead(default_charset_info, yyGetLast()))
+ if (my_ismbhead(system_charset_info, yyGetLast()))
{
- int l = my_ismbchar(default_charset_info,
+ int l = my_ismbchar(system_charset_info,
(const char *)lex->ptr-1,
(const char *)lex->end_of_query);
if (l == 0) {
@@ -489,10 +489,10 @@ int yylex(void *arg)
while (state_map[c=yyGet()] == STATE_IDENT ||
state_map[c] == STATE_NUMBER_IDENT)
{
- if (my_ismbhead(default_charset_info, c))
+ if (my_ismbhead(system_charset_info, c))
{
int l;
- if ((l = my_ismbchar(default_charset_info,
+ if ((l = my_ismbchar(system_charset_info,
(const char *)lex->ptr-1,
(const char *)lex->end_of_query)) == 0)
break;
@@ -535,7 +535,7 @@ int yylex(void *arg)
return((int) c);
case STATE_NUMBER_IDENT: // number or ident which num-start
- while (isdigit((c = yyGet()))) ;
+ while (my_isdigit(system_charset_info,(c = yyGet()))) ;
if (state_map[c] != STATE_IDENT)
{ // Can't be identifier
state=STATE_INT_OR_REAL;
@@ -544,12 +544,13 @@ int yylex(void *arg)
if (c == 'e' || c == 'E')
{
// The following test is written this way to allow numbers of type 1e1
- if (isdigit(yyPeek()) || (c=(yyGet())) == '+' || c == '-')
+ if (my_isdigit(system_charset_info,yyPeek()) ||
+ (c=(yyGet())) == '+' || c == '-')
{ // Allow 1E+10
- if (isdigit(yyPeek())) // Number must have digit after sign
+ if (my_isdigit(system_charset_info,yyPeek())) // Number must have digit after sign
{
yySkip();
- while (isdigit(yyGet())) ;
+ while (my_isdigit(system_charset_info,yyGet())) ;
yylval->lex_str=get_token(lex,yyLength());
return(FLOAT_NUM);
}
@@ -559,7 +560,7 @@ int yylex(void *arg)
else if (c == 'x' && (lex->ptr - lex->tok_start) == 2 &&
lex->tok_start[0] == '0' )
{ // Varbinary
- while (isxdigit((c = yyGet()))) ;
+ while (my_isxdigit(system_charset_info,(c = yyGet()))) ;
if ((lex->ptr - lex->tok_start) >= 4 && state_map[c] != STATE_IDENT)
{
yylval->lex_str=get_token(lex,yyLength());
@@ -573,11 +574,11 @@ int yylex(void *arg)
// fall through
case STATE_IDENT_START: // Incomplete ident
#if defined(USE_MB) && defined(USE_MB_IDENT)
- if (use_mb(default_charset_info))
+ if (use_mb(system_charset_info))
{
- if (my_ismbhead(default_charset_info, yyGetLast()))
+ if (my_ismbhead(system_charset_info, yyGetLast()))
{
- int l = my_ismbchar(default_charset_info,
+ int l = my_ismbchar(system_charset_info,
(const char *)lex->ptr-1,
(const char *)lex->end_of_query);
if (l == 0)
@@ -590,10 +591,10 @@ int yylex(void *arg)
while (state_map[c=yyGet()] == STATE_IDENT ||
state_map[c] == STATE_NUMBER_IDENT)
{
- if (my_ismbhead(default_charset_info, c))
+ if (my_ismbhead(system_charset_info, c))
{
int l;
- if ((l = my_ismbchar(default_charset_info,
+ if ((l = my_ismbchar(system_charset_info,
(const char *)lex->ptr-1,
(const char *)lex->end_of_query)) == 0)
break;
@@ -620,15 +621,15 @@ int yylex(void *arg)
case STATE_USER_VARIABLE_DELIMITER:
lex->tok_start=lex->ptr; // Skip first `
#ifdef USE_MB
- if (use_mb(default_charset_info))
+ if (use_mb(system_charset_info))
{
while ((c=yyGet()) && state_map[c] != STATE_USER_VARIABLE_DELIMITER &&
c != (uchar) NAMES_SEP_CHAR)
{
- if (my_ismbhead(default_charset_info, c))
+ if (my_ismbhead(system_charset_info, c))
{
int l;
- if ((l = my_ismbchar(default_charset_info,
+ if ((l = my_ismbchar(system_charset_info,
(const char *)lex->ptr-1,
(const char *)lex->end_of_query)) == 0)
break;
@@ -653,17 +654,18 @@ int yylex(void *arg)
if (prev_state == STATE_OPERATOR_OR_IDENT)
{
if (c == '-' && yyPeek() == '-' &&
- (isspace(yyPeek2()) || iscntrl(yyPeek2())))
+ (my_isspace(system_charset_info,yyPeek2()) ||
+ my_iscntrl(system_charset_info,yyPeek2())))
state=STATE_COMMENT;
else
state= STATE_CHAR; // Must be operator
break;
}
- if (!isdigit(c=yyGet()) || yyPeek() == 'x')
+ if (!my_isdigit(system_charset_info,c=yyGet()) || yyPeek() == 'x')
{
if (c != '.')
{
- if (c == '-' && isspace(yyPeek()))
+ if (c == '-' && my_isspace(system_charset_info,yyPeek()))
state=STATE_COMMENT;
else
state = STATE_CHAR; // Return sign as single char
@@ -671,9 +673,9 @@ int yylex(void *arg)
}
yyUnget(); // Fix for next loop
}
- while (isdigit(c=yyGet())) ; // Incomplete real or int number
+ while (my_isdigit(system_charset_info,c=yyGet())) ; // Incomplete real or int number
if ((c == 'e' || c == 'E') &&
- (yyPeek() == '+' || yyPeek() == '-' || isdigit(yyPeek())))
+ (yyPeek() == '+' || yyPeek() == '-' || my_isdigit(system_charset_info,yyPeek())))
{ // Real number
yyUnget();
c= '.'; // Fool next test
@@ -687,19 +689,19 @@ int yylex(void *arg)
}
// fall through
case STATE_REAL: // Incomplete real number
- while (isdigit(c = yyGet())) ;
+ while (my_isdigit(system_charset_info,c = yyGet())) ;
if (c == 'e' || c == 'E')
{
c = yyGet();
if (c == '-' || c == '+')
c = yyGet(); // Skip sign
- if (!isdigit(c))
+ if (!my_isdigit(system_charset_info,c))
{ // No digit after sign
state= STATE_CHAR;
break;
}
- while (isdigit(yyGet())) ;
+ while (my_isdigit(system_charset_info,yyGet())) ;
yylval->lex_str=get_token(lex,yyLength());
return(FLOAT_NUM);
}
@@ -708,7 +710,7 @@ int yylex(void *arg)
case STATE_HEX_NUMBER: // Found x'hexstring'
yyGet(); // Skip '
- while (isxdigit((c = yyGet()))) ;
+ while (my_isxdigit(system_charset_info,(c = yyGet()))) ;
length=(lex->ptr - lex->tok_start); // Length of hexnum+3
if (!(length & 1) || c != '\'')
{
@@ -788,7 +790,7 @@ int yylex(void *arg)
ulong version=MYSQL_VERSION_ID;
yySkip();
state=STATE_START;
- if (isdigit(yyPeek()))
+ if (my_isdigit(system_charset_info,yyPeek()))
{ // Version number
version=strtol((char*) lex->ptr,(char**) &lex->ptr,10);
}
@@ -843,7 +845,7 @@ int yylex(void *arg)
// Actually real shouldn't start
// with . but allow them anyhow
case STATE_REAL_OR_POINT:
- if (isdigit(yyPeek()))
+ if (my_isdigit(system_charset_info,yyPeek()))
state = STATE_REAL; // Real
else
{
@@ -870,7 +872,7 @@ int yylex(void *arg)
return((int) '@');
case STATE_HOSTNAME: // end '@' of user@hostname
for (c=yyGet() ;
- isalnum(c) || c == '.' || c == '_' || c == '$';
+ my_isalnum(system_charset_info,c) || c == '.' || c == '_' || c == '$';
c= yyGet()) ;
yylval->lex_str=get_token(lex,yyLength());
return(LEX_HOSTNAME);
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index 6961ab8c712..53422b050a3 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -103,7 +103,7 @@ typedef struct st_lex_master_info
} LEX_MASTER_INFO;
-enum sub_select_type {UNSPECIFIED_TYPE,UNION_TYPE, INTERSECT_TYPE, EXCEPT_TYPE, NOT_A_SELECT};
+enum sub_select_type {UNSPECIFIED_TYPE,UNION_TYPE, INTERSECT_TYPE, EXCEPT_TYPE, NOT_A_SELECT, DERIVED_TABLE_TYPE};
/* The state of the lex parsing for selects */
@@ -122,7 +122,7 @@ typedef struct st_select_lex {
List<Item_func_match> ftfunc_list;
uint in_sum_expr, sort_default;
bool create_refs, braces;
- st_select_lex *next;
+ st_select_lex *next, *prev;
} SELECT_LEX;
@@ -143,7 +143,7 @@ public:
typedef struct st_lex {
uint yylineno,yytoklen; /* Simulate lex */
LEX_YYSTYPE yylval;
- SELECT_LEX select_lex, *select;
+ SELECT_LEX select_lex, *select, *last_select;
uchar *ptr,*tok_start,*tok_end,*end_of_query;
char *length,*dec,*change,*name;
char *backup_dir; /* For RESTORE/BACKUP */
@@ -187,7 +187,7 @@ typedef struct st_lex {
uint grant,grant_tot_col,which_columns, union_option, mqh;
thr_lock_type lock_option;
bool drop_primary,drop_if_exists,local_file;
- bool in_comment,ignore_space,verbose,simple_alter, option_type;
+ bool in_comment,ignore_space,verbose,simple_alter, option_type, derived_tables;
uint slave_thd_opt;
} LEX;
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index dc89888a1a5..06431124356 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -273,7 +273,8 @@ static void free_user(struct user_conn *uc)
void init_max_user_conn(void)
{
- (void) hash_init(&hash_user_connections,max_connections,0,0,
+ (void) hash_init(&hash_user_connections,system_charset_info,max_connections,
+ 0,0,
(hash_get_key) get_key_conn, (void (*)(void*)) free_user,
0);
}
@@ -700,7 +701,8 @@ pthread_handler_decl(handle_bootstrap,arg)
while (fgets(buff, thd->net.max_packet, file))
{
uint length=(uint) strlen(buff);
- while (length && (isspace(buff[length-1]) || buff[length-1] == ';'))
+ while (length && (my_isspace(system_charset_info, buff[length-1]) ||
+ buff[length-1] == ';'))
length--;
buff[length]=0;
thd->current_tablenr=0;
@@ -926,13 +928,14 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
{
packet_length--; // Remove end null
/* Remove garage at start and end of query */
- while (isspace(packet[0]) && packet_length > 0)
+ while (my_isspace(system_charset_info,packet[0]) && packet_length > 0)
{
packet++;
packet_length--;
}
char *pos=packet+packet_length; // Point at end null
- while (packet_length > 0 && (pos[-1] == ';' || isspace(pos[-1])))
+ while (packet_length > 0 &&
+ (pos[-1] == ';' || my_isspace(system_charset_info,pos[-1])))
{
pos--;
packet_length--;
@@ -1233,6 +1236,14 @@ mysql_execute_command(void)
Skip if we are in the slave thread, some table rules have been given
and the table list says the query should not be replicated
*/
+ if (lex->derived_tables)
+ {
+ for (TABLE_LIST *cursor= tables;
+ cursor;
+ cursor=cursor->next)
+ if (cursor->derived && mysql_derived(thd,lex,(SELECT_LEX *)cursor->derived,cursor))
+ DBUG_VOID_RETURN;
+ }
if ((lex->select_lex.next && create_total_list(thd,lex,&tables)) ||
(table_rules_on && tables && thd->slave_thread &&
!tables_ok(thd,tables)))
@@ -2271,7 +2282,8 @@ mysql_execute_command(void)
if (user->password.str &&
(strcmp(thd->user,user->user.str) ||
user->host.str &&
- my_strcasecmp(user->host.str, thd->host_or_ip)))
+ my_strcasecmp(system_charset_info,
+ user->host.str, thd->host_or_ip)))
{
if (check_access(thd, UPDATE_ACL, "mysql",0,1))
goto error;
@@ -2656,7 +2668,7 @@ mysql_init_query(THD *thd)
thd->lex.value_list.empty();
thd->lex.select_lex.table_list.elements=0;
thd->free_list=0; thd->lex.union_option=0;
- thd->lex.select = &thd->lex.select_lex;
+ thd->lex.select = thd->lex.last_select = &thd->lex.select_lex;
thd->lex.select_lex.table_list.first=0;
thd->lex.select_lex.table_list.next= (byte**) &thd->lex.select_lex.table_list.first;
thd->lex.select_lex.next=0;
@@ -2683,7 +2695,7 @@ mysql_init_select(LEX *lex)
select_lex->order_list.next= (byte**) &select_lex->order_list.first;
select_lex->group_list.first=0;
select_lex->group_list.next= (byte**) &select_lex->group_list.first;
- select_lex->next = (SELECT_LEX *)NULL;
+ select_lex->next = select_lex->prev = (SELECT_LEX *)NULL;
}
bool
@@ -2692,8 +2704,9 @@ mysql_new_select(LEX *lex)
SELECT_LEX *select_lex = (SELECT_LEX *) lex->thd->calloc(sizeof(SELECT_LEX));
if (!select_lex)
return 1;
+ lex->select=lex->last_select;
lex->select->next=select_lex;
- lex->select=select_lex;
+ lex->select=lex->last_select=select_lex;
select_lex->table_list.next= (byte**) &select_lex->table_list.first;
select_lex->item_list.empty();
select_lex->when_list.empty();
@@ -3052,8 +3065,8 @@ static void remove_escape(char *name)
#ifdef USE_MB
int l;
/* if ((l = ismbchar(name, name+MBMAXLEN))) { Wei He: I think it's wrong */
- if (use_mb(default_charset_info) &&
- (l = my_ismbchar(default_charset_info, name, strend)))
+ if (use_mb(system_charset_info) &&
+ (l = my_ismbchar(system_charset_info, name, strend)))
{
while (l--)
*to++ = *name++;
@@ -3107,7 +3120,7 @@ TABLE_LIST *add_table_to_list(Table_ident *table, LEX_STRING *alias,
DBUG_RETURN(0); // End of memory
alias_str= alias ? alias->str : table->table.str;
if (table->table.length > NAME_LEN ||
- check_table_name(table->table.str,table->table.length) ||
+ (table->table.length && check_table_name(table->table.str,table->table.length)) ||
table->db.str && check_db_name(table->db.str))
{
net_printf(&thd->net,ER_WRONG_TABLE_NAME,table->table.str);
@@ -3139,13 +3152,14 @@ TABLE_LIST *add_table_to_list(Table_ident *table, LEX_STRING *alias,
ptr->name=alias_str;
if (lower_case_table_names)
{
- casedn_str(ptr->db);
- casedn_str(table->table.str);
+ my_casedn_str(system_charset_info,ptr->db);
+ my_casedn_str(system_charset_info,table->table.str);
}
ptr->real_name=table->table.str;
ptr->real_name_length=table->table.length;
ptr->lock_type=flags;
ptr->updating=updating;
+ ptr->derived=(SELECT_LEX *)table->sel;
if (use_index)
ptr->use_index=(List<String> *) thd->memdup((gptr) use_index,
sizeof(*use_index));
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 18f256d9edb..2abefe0aac5 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -5892,8 +5892,10 @@ static int remove_dup_with_hash_index(THD *thd, TABLE *table,
(uint) (field_count*sizeof(*field_lengths)),
NullS))
DBUG_RETURN(1);
- if (hash_init(&hash, (uint) file->records, 0, key_length,
- (hash_get_key) 0, 0, 0))
+
+ // BAR TODO: this must be fixed to use charset from "table" argument
+ if (hash_init(&hash, default_charset_info, (uint) file->records, 0,
+ key_length,(hash_get_key) 0, 0, 0))
{
my_free((char*) key_buffer,MYF(0));
DBUG_RETURN(1);
@@ -7057,9 +7059,8 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
item_list.push_back(new Item_null());
if (tab->ref.key_parts)
{
- item_list.push_back(new Item_string(table->key_info[tab->ref.key].name,
- strlen(table->key_info[tab->ref.key].name)));
- item_list.push_back(new Item_int((int32) tab->ref.key_length));
+ item_list.push_back(new Item_string(table->key_info[tab->ref.key].name,strlen(table->key_info[tab->ref.key].name)));
+ item_list.push_back(new Item_int((int) tab->ref.key_length));
for (store_key **ref=tab->ref.key_copy ; *ref ; ref++)
{
if (tmp2.length())
@@ -7071,13 +7072,13 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
else if (tab->type == JT_NEXT)
{
item_list.push_back(new Item_string(table->key_info[tab->index].name,strlen(table->key_info[tab->index].name)));
- item_list.push_back(new Item_int((int32) table->key_info[tab->index].key_length));
+ item_list.push_back(new Item_int((int) table->key_info[tab->index].key_length));
item_list.push_back(new Item_null());
}
else if (tab->select && tab->select->quick)
{
item_list.push_back(new Item_string(table->key_info[tab->select->quick->index].name,strlen(table->key_info[tab->select->quick->index].name)));
- item_list.push_back(new Item_int((int32) tab->select->quick->max_used_key_length));
+ item_list.push_back(new Item_int((int) tab->select->quick->max_used_key_length));
item_list.push_back(new Item_null());
}
else
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 8d7df7eb8e9..0aa0c643ba9 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -209,7 +209,7 @@ mysql_find_files(THD *thd,List<char> *files, const char *db,const char *path,
else
{
// Return only .frm files which aren't temp files.
- if (my_strcasecmp(ext=fn_ext(file->name),reg_ext) ||
+ if (my_strcasecmp(system_charset_info, ext=fn_ext(file->name),reg_ext) ||
is_prefix(file->name,tmp_file_prefix))
continue;
*ext=0;
@@ -217,7 +217,7 @@ mysql_find_files(THD *thd,List<char> *files, const char *db,const char *path,
{
if (lower_case_table_names)
{
- if (wild_case_compare(file->name,wild))
+ if (wild_case_compare(system_charset_info,file->name,wild))
continue;
}
else if (wild_compare(file->name,wild))
@@ -472,7 +472,8 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild,
String *packet= &thd->packet;
for (ptr=table->field; (field= *ptr) ; ptr++)
{
- if (!wild || !wild[0] || !wild_case_compare(field->field_name,wild))
+ if (!wild || !wild[0] ||
+ !wild_case_compare(system_charset_info, field->field_name,wild))
{
#ifdef NOT_USED
if (thd->col_access & TABLE_ACLS ||
@@ -744,7 +745,8 @@ mysqld_list_fields(THD *thd, TABLE_LIST *table_list, const char *wild)
Field **ptr,*field;
for (ptr=table->field ; (field= *ptr); ptr++)
{
- if (!wild || !wild[0] || !wild_case_compare(field->field_name,wild))
+ if (!wild || !wild[0] ||
+ !wild_case_compare(system_charset_info, field->field_name,wild))
field_list.push_back(new Item_field(field));
}
restore_record(table,2); // Get empty record
@@ -880,11 +882,17 @@ store_create_info(THD *thd, TABLE *table, String *packet)
packet->append("UNIQUE ", 7);
else if (key_info->flags & HA_FULLTEXT)
packet->append("FULLTEXT ", 9);
+ else if (key_info->flags & HA_SPATIAL)
+ packet->append("SPATIAL ", 8);
packet->append("KEY ", 4);
if (!found_primary)
append_identifier(thd,packet,key_info->name);
+ // +BAR: send USING only in non-default case: non-spatial rtree
+ if((key_info->key_alg == HA_KEY_ALG_RTREE) && !(key_info->flags & HA_SPATIAL))
+ packet->append(" USING RTREE",12);
+
packet->append(" (", 2);
for (uint j=0 ; j < key_info->key_parts ; j++,key_part++)
diff --git a/sql/sql_string.cc b/sql/sql_string.cc
index 8fe84947ac2..cf9e9f62507 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -234,7 +234,7 @@ bool String::fill(uint32 max_length,char fill_char)
void String::strip_sp()
{
- while (str_length && isspace(Ptr[str_length-1]))
+ while (str_length && my_isspace(str_charset,Ptr[str_length-1]))
str_length--;
}
@@ -296,10 +296,10 @@ uint32 String::numchars()
register uint32 n=0,mblen;
register const char *mbstr=Ptr;
register const char *end=mbstr+str_length;
- if (use_mb(default_charset_info))
+ if (use_mb(str_charset))
{
while (mbstr < end) {
- if ((mblen=my_ismbchar(default_charset_info, mbstr,end))) mbstr+=mblen;
+ if ((mblen=my_ismbchar(str_charset, mbstr,end))) mbstr+=mblen;
else ++mbstr;
++n;
}
@@ -316,11 +316,11 @@ int String::charpos(int i,uint32 offset)
register uint32 mblen;
register const char *mbstr=Ptr+offset;
register const char *end=Ptr+str_length;
- if (use_mb(default_charset_info))
+ if (use_mb(str_charset))
{
if (i<=0) return i;
while (i && mbstr < end) {
- if ((mblen=my_ismbchar(default_charset_info, mbstr,end))) mbstr+=mblen;
+ if ((mblen=my_ismbchar(str_charset, mbstr,end))) mbstr+=mblen;
else ++mbstr;
--i;
}
@@ -380,12 +380,14 @@ int String::strstr_case(const String &s,uint32 offset)
skipp:
while (str != end)
{
- if (my_sort_order[*str++] == my_sort_order[*search])
+ if (str_charset->sort_order[*str++] == str_charset->sort_order[*search])
{
register char *i,*j;
i=(char*) str; j=(char*) search+1;
while (j != search_end)
- if (my_sort_order[*i++] != my_sort_order[*j++]) goto skipp;
+ if (str_charset->sort_order[*i++] !=
+ str_charset->sort_order[*j++])
+ goto skipp;
return (int) (str-Ptr) -1;
}
}
@@ -459,6 +461,44 @@ bool String::replace(uint32 offset,uint32 arg_length,const String &to)
return FALSE;
}
+// added by Holyfoot for "geometry" needs
+int String::reserve(uint32 space_needed, uint32 grow_by)
+{
+ if (Alloced_length < str_length + space_needed)
+ {
+ if (realloc(Alloced_length + max(space_needed, grow_by) - 1))
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void String::qs_append(const char *str)
+{
+ int len = strlen(str);
+ memcpy(Ptr + str_length, str, len + 1);
+ str_length += len;
+}
+
+void String::qs_append(double d)
+{
+ char *buff = Ptr + str_length;
+ sprintf(buff,"%.14g", d);
+ str_length += strlen(buff);
+}
+
+void String::qs_append(double *d)
+{
+ double ld;
+ float8get(ld, d);
+ qs_append(ld);
+}
+
+void String::qs_append(const char &c)
+{
+ Ptr[str_length] = c;
+ str_length += sizeof(c);
+}
+
int sortcmp(const String *x,const String *y)
{
@@ -467,15 +507,15 @@ int sortcmp(const String *x,const String *y)
uint32 x_len=x->length(),y_len=y->length(),len=min(x_len,y_len);
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
+ if (use_strcoll(x->str_charset))
{
#ifndef CMP_ENDSPACE
- while (x_len && isspace(s[x_len-1]))
+ while (x_len && my_isspace(x->str_charset,s[x_len-1]))
x_len--;
- while (y_len && isspace(t[y_len-1]))
+ while (y_len && my_isspace(x->str_charset,t[y_len-1]))
y_len--;
#endif
- return my_strnncoll(default_charset_info,
+ return my_strnncoll(x->str_charset,
(unsigned char *)s,x_len,(unsigned char *)t,y_len);
}
else
@@ -485,9 +525,10 @@ int sortcmp(const String *x,const String *y)
y_len-=len;
while (len--)
{
- if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
- return ((int) my_sort_order[(uchar) s[-1]] -
- (int) my_sort_order[(uchar) t[-1]]);
+ if (x->str_charset->sort_order[(uchar) *s++] !=
+ x->str_charset->sort_order[(uchar) *t++])
+ return ((int) x->str_charset->sort_order[(uchar) s[-1]] -
+ (int) x->str_charset->sort_order[(uchar) t[-1]]);
}
#ifndef CMP_ENDSPACE
/* Don't compare end space in strings */
@@ -496,14 +537,14 @@ int sortcmp(const String *x,const String *y)
{
const char *end=t+y_len;
for (; t != end ; t++)
- if (!isspace(*t))
+ if (!my_isspace(x->str_charset,*t))
return -1;
}
else
{
const char *end=s+x_len;
for (; s != end ; s++)
- if (!isspace(*s))
+ if (!my_isspace(x->str_charset,*s))
return 1;
}
return 0;
@@ -551,11 +592,10 @@ String *copy_if_not_alloced(String *to,String *from,uint32 from_length)
/* Make it easier to handle different charactersets */
#ifdef USE_MB
-#define INC_PTR(A,B) A+=((use_mb_flag && \
- my_ismbchar(default_charset_info,A,B)) ? \
- my_ismbchar(default_charset_info,A,B) : 1)
+#define INC_PTR(cs,A,B) A+=((use_mb_flag && \
+ my_ismbchar(cs,A,B)) ? my_ismbchar(cs,A,B) : 1)
#else
-#define INC_PTR(A,B) A++
+#define INC_PTR(cs,A,B) A++
#endif
/*
@@ -566,18 +606,18 @@ String *copy_if_not_alloced(String *to,String *from,uint32 from_length)
*/
#ifdef LIKE_CMP_TOUPPER
-#define likeconv(A) (uchar) toupper(A)
+#define likeconv(s,A) (uchar) my_toupper(s,A)
#else
-#define likeconv(A) (uchar) my_sort_order[(uchar) (A)]
+#define likeconv(s,A) (uchar) (s)->sort_order[(uchar) (A)]
#endif
-int wild_case_compare(const char *str,const char *str_end,
+int wild_case_compare(CHARSET_INFO *cs, const char *str,const char *str_end,
const char *wildstr,const char *wildend,
char escape)
{
int result= -1; // Not found, using wildcards
#ifdef USE_MB
- bool use_mb_flag=use_mb(default_charset_info);
+ bool use_mb_flag=use_mb(cs);
#endif
while (wildstr != wildend)
{
@@ -588,7 +628,7 @@ int wild_case_compare(const char *str,const char *str_end,
#ifdef USE_MB
int l;
if (use_mb_flag &&
- (l = my_ismbchar(default_charset_info, wildstr, wildend)))
+ (l = my_ismbchar(cs, wildstr, wildend)))
{
if (str+l > str_end || memcmp(str, wildstr, l) != 0)
return 1;
@@ -597,7 +637,7 @@ int wild_case_compare(const char *str,const char *str_end,
}
else
#endif
- if (str == str_end || likeconv(*wildstr++) != likeconv(*str++))
+ if (str == str_end || likeconv(cs,*wildstr++) != likeconv(cs,*str++))
return(1); // No match
if (wildstr == wildend)
return (str != str_end); // Match if both are at end
@@ -609,7 +649,7 @@ int wild_case_compare(const char *str,const char *str_end,
{
if (str == str_end) // Skip one char if possible
return (result);
- INC_PTR(str,str_end);
+ INC_PTR(cs,str,str_end);
} while (++wildstr < wildend && *wildstr == wild_one);
if (wildstr == wildend)
break;
@@ -626,7 +666,7 @@ int wild_case_compare(const char *str,const char *str_end,
{
if (str == str_end)
return (-1);
- INC_PTR(str,str_end);
+ INC_PTR(cs,str,str_end);
continue;
}
break; // Not a wild character
@@ -644,10 +684,10 @@ int wild_case_compare(const char *str,const char *str_end,
int mblen;
LINT_INIT(mblen);
if (use_mb_flag)
- mblen = my_ismbchar(default_charset_info, wildstr, wildend);
+ mblen = my_ismbchar(cs, wildstr, wildend);
#endif
- INC_PTR(wildstr,wildend); // This is compared trough cmp
- cmp=likeconv(cmp);
+ INC_PTR(cs,wildstr,wildend); // This is compared trough cmp
+ cmp=likeconv(cs,cmp);
do
{
#ifdef USE_MB
@@ -665,26 +705,26 @@ int wild_case_compare(const char *str,const char *str_end,
break;
}
}
- else if (!my_ismbchar(default_charset_info, str, str_end) &&
- likeconv(*str) == cmp)
+ else if (!my_ismbchar(cs, str, str_end) &&
+ likeconv(cs,*str) == cmp)
{
str++;
break;
}
- INC_PTR(str, str_end);
+ INC_PTR(cs,str, str_end);
}
}
else
{
#endif /* USE_MB */
- while (str != str_end && likeconv(*str) != cmp)
+ while (str != str_end && likeconv(cs,*str) != cmp)
str++;
if (str++ == str_end) return (-1);
#ifdef USE_MB
}
#endif
{
- int tmp=wild_case_compare(str,str_end,wildstr,wildend,escape);
+ int tmp=wild_case_compare(cs,str,str_end,wildstr,wildend,escape);
if (tmp <= 0)
return (tmp);
}
@@ -701,7 +741,7 @@ int wild_case_compare(String &match,String &wild, char escape)
DBUG_ENTER("wild_case_compare");
DBUG_PRINT("enter",("match='%s', wild='%s', escape='%c'"
,match.ptr(),wild.ptr(),escape));
- DBUG_RETURN(wild_case_compare(match.ptr(),match.ptr()+match.length(),
+ DBUG_RETURN(wild_case_compare(match.str_charset,match.ptr(),match.ptr()+match.length(),
wild.ptr(), wild.ptr()+wild.length(),escape));
}
@@ -805,3 +845,5 @@ int wild_compare(String &match,String &wild, char escape)
DBUG_RETURN(wild_compare(match.ptr(),match.ptr()+match.length(),
wild.ptr(), wild.ptr()+wild.length(),escape));
}
+
+
diff --git a/sql/sql_string.h b/sql/sql_string.h
index ad7455ecbf1..9bf13b93628 100644
--- a/sql/sql_string.h
+++ b/sql/sql_string.h
@@ -36,26 +36,46 @@ class String
char *Ptr;
uint32 str_length,Alloced_length;
bool alloced;
+ CHARSET_INFO *str_charset;
public:
String()
- { Ptr=0; str_length=Alloced_length=0; alloced=0; }
+ {
+ Ptr=0; str_length=Alloced_length=0; alloced=0;
+ str_charset=default_charset_info;
+ }
String(uint32 length_arg)
- { alloced=0; Alloced_length=0; (void) real_alloc(length_arg); }
+ {
+ alloced=0; Alloced_length=0; (void) real_alloc(length_arg);
+ str_charset=default_charset_info;
+ }
String(const char *str)
- { Ptr=(char*) str; str_length=(uint) strlen(str); Alloced_length=0; alloced=0;}
+ {
+ Ptr=(char*) str; str_length=(uint) strlen(str); Alloced_length=0; alloced=0;
+ str_charset=default_charset_info;
+ }
String(const char *str,uint32 len)
- { Ptr=(char*) str; str_length=len; Alloced_length=0; alloced=0;}
+ {
+ Ptr=(char*) str; str_length=len; Alloced_length=0; alloced=0;
+ str_charset=default_charset_info;
+ }
String(char *str,uint32 len)
- { Ptr=(char*) str; Alloced_length=str_length=len; alloced=0;}
+ {
+ Ptr=(char*) str; Alloced_length=str_length=len; alloced=0;
+ str_charset=default_charset_info;
+ }
String(const String &str)
- { Ptr=str.Ptr ; str_length=str.str_length ;
- Alloced_length=str.Alloced_length; alloced=0; }
-
+ {
+ Ptr=str.Ptr ; str_length=str.str_length ;
+ Alloced_length=str.Alloced_length; alloced=0;
+ str_charset=str.str_charset;
+ }
static void *operator new(size_t size) { return (void*) sql_alloc((uint) size); }
static void operator delete(void *ptr_arg,size_t size) /*lint -e715 */
{ sql_element_free(ptr_arg); }
~String() { free(); }
+ inline void set_charset(CHARSET_INFO *charset) { str_charset=charset; }
+ inline CHARSET_INFO *charset() const { return str_charset; }
inline uint32 length() const { return str_length;}
inline uint32 alloced_length() const { return Alloced_length;}
inline char& operator [] (uint32 i) const { return Ptr[i]; }
@@ -179,8 +199,8 @@ public:
}
bool fill(uint32 max_length,char fill);
void strip_sp();
- inline void caseup() { ::caseup(Ptr,str_length); }
- inline void casedn() { ::casedn(Ptr,str_length); }
+ inline void caseup() { my_caseup(str_charset,Ptr,str_length); }
+ inline void casedn() { my_casedn(str_charset,Ptr,str_length); }
friend int sortcmp(const String *a,const String *b);
friend int stringcmp(const String *a,const String *b);
friend String *copy_if_not_alloced(String *a,String *b,uint32 arg_length);
@@ -188,4 +208,49 @@ public:
friend int wild_compare(String &match,String &wild,char escape);
uint32 numchars();
int charpos(int i,uint32 offset=0);
+
+// added by Holyfoot for "geometry" needs
+ int reserve(uint32 space_needed)
+ {
+ return realloc(str_length + space_needed);
+ }
+ int reserve(uint32 space_needed, uint32 grow_by);
+
+// these append operations do NOT check alloced memory
+// q_*** methods writes values of parameters itself
+// qs_*** methods writes string representation of value
+ void q_append(const char &c)
+ {
+ Ptr[str_length++] = c;
+ }
+ void q_append(const uint32 &n)
+ {
+ int4store(Ptr + str_length, n);
+ str_length += 4;
+ }
+ void q_append(double d)
+ {
+ float8store(Ptr + str_length, d);
+ str_length += 8;
+ }
+ void q_append(double *d)
+ {
+ float8store(Ptr + str_length, *d);
+ str_length += 8;
+ }
+ void q_append(const char *data, uint32 data_len)
+ {
+ memcpy(Ptr + str_length, data, data_len);
+ str_length += data_len;
+ }
+
+ void WriteAtPosition(int position, uint32 value)
+ {
+ int4store(Ptr + position,value);
+ }
+
+ void qs_append(const char *str);
+ void qs_append(double d);
+ void qs_append(double *d);
+ void qs_append(const char &c);
};
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index dcbfd709f97..b88db94c767 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -302,7 +302,9 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
null_fields++;
while ((dup_field=it2++) != sql_field)
{
- if (my_strcasecmp(sql_field->field_name, dup_field->field_name) == 0)
+ if (my_strcasecmp(system_charset_info,
+ sql_field->field_name,
+ dup_field->field_name) == 0)
{
my_error(ER_DUP_FIELDNAME,MYF(0),sql_field->field_name);
DBUG_RETURN(-1);
@@ -438,8 +440,21 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
uint key_length=0;
key_part_spec *column;
- key_info->flags= (key->type == Key::MULTIPLE) ? 0 :
- (key->type == Key::FULLTEXT) ? HA_FULLTEXT : HA_NOSAME;
+ switch(key->type){
+ case Key::MULTIPLE:
+ key_info->flags = 0;
+ break;
+ case Key::FULLTEXT:
+ key_info->flags = HA_FULLTEXT;
+ break;
+ case Key::SPATIAL:
+ key_info->flags = HA_SPATIAL;
+ break;
+ default:
+ key_info->flags = HA_NOSAME;
+ }
+
+ key_info->key_alg = key->alg;
key_info->key_parts=(uint8) key->columns.elements;
key_info->key_part=key_part_info;
key_info->usable_key_parts= key_number;
@@ -454,14 +469,40 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
DBUG_RETURN(-1);
}
}
-
+ /*
+ Make SPATIAL to be RTREE by default
+ SPATIAL only on BLOB or at least BINARY, this
+ actually should be replaced by special GEOM type
+ in near future when new frm file is ready
+ checking for proper key parts number:
+ */
+
+ if(key_info->flags == HA_SPATIAL){
+ if(key_info->key_parts!=1){
+ my_printf_error(ER_WRONG_ARGUMENTS,
+ ER(ER_WRONG_ARGUMENTS),MYF(0),"SPATIAL INDEX");
+ DBUG_RETURN(-1);
+ }
+ }else
+ {
+ if(key_info->key_alg == HA_KEY_ALG_RTREE){
+ if((key_info->key_parts&1)==1){
+ my_printf_error(ER_WRONG_ARGUMENTS,
+ ER(ER_WRONG_ARGUMENTS),MYF(0),"RTREE INDEX");
+ DBUG_RETURN(-1);
+ }
+ }
+ }
+
List_iterator<key_part_spec> cols(key->columns);
for (uint column_nr=0 ; (column=cols++) ; column_nr++)
{
it.rewind();
field=0;
while ((sql_field=it++) &&
- my_strcasecmp(column->field_name,sql_field->field_name))
+ my_strcasecmp(system_charset_info,
+ column->field_name,
+ sql_field->field_name))
field++;
if (!sql_field)
{
@@ -482,6 +523,14 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
{
if (key->type == Key::FULLTEXT)
column->length=1; /* ft-code ignores it anyway :-) */
+ else if (key->type == Key::SPATIAL)
+ {
+ /*
+ BAR: 4 is: (Xmin,Xmax,Ymin,Ymax), this is for 2D case
+ Lately we'll extend this code to support more dimensions
+ */
+ column->length=4*sizeof(double);
+ }
else
{
my_printf_error(ER_BLOB_KEY_WITHOUT_LENGTH,
@@ -684,7 +733,7 @@ static bool
check_if_keyname_exists(const char *name, KEY *start, KEY *end)
{
for (KEY *key=start ; key != end ; key++)
- if (!my_strcasecmp(name,key->name))
+ if (!my_strcasecmp(system_charset_info,name,key->name))
return 1;
return 0;
}
@@ -1245,9 +1294,9 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
strmov(new_name_buff,new_name);
fn_same(new_name_buff,table_name,3);
if (lower_case_table_names)
- casedn_str(new_name);
+ my_casedn_str(system_charset_info,new_name);
if ((lower_case_table_names &&
- !my_strcasecmp(new_name_buff,table_name)) ||
+ !my_strcasecmp(system_charset_info, new_name_buff,table_name)) ||
(!lower_case_table_names &&
!strcmp(new_name_buff,table_name)))
new_name=table_name; // No. Make later check easier
@@ -1358,7 +1407,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
while ((drop=drop_it++))
{
if (drop->type == Alter_drop::COLUMN &&
- !my_strcasecmp(field->field_name, drop->name))
+ !my_strcasecmp(system_charset_info,field->field_name, drop->name))
{
/* Reset auto_increment value if it was dropped */
if (MTYP_TYPENR(field->unireg_check) == Field::NEXT_NUMBER &&
@@ -1379,7 +1428,8 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
def_it.rewind();
while ((def=def_it++))
{
- if (def->change && !my_strcasecmp(field->field_name, def->change))
+ if (def->change &&
+ !my_strcasecmp(system_charset_info,field->field_name, def->change))
break;
}
if (def)
@@ -1403,7 +1453,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
Alter_column *alter;
while ((alter=alter_it++))
{
- if (!my_strcasecmp(field->field_name, alter->name))
+ if (!my_strcasecmp(system_charset_info,field->field_name, alter->name))
break;
}
if (alter)
@@ -1437,7 +1487,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
find_it.rewind();
while ((find=find_it++)) // Add new columns
{
- if (!my_strcasecmp(def->after, find->field_name))
+ if (!my_strcasecmp(system_charset_info,def->after, find->field_name))
break;
}
if (!find)
@@ -1483,7 +1533,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
while ((drop=drop_it++))
{
if (drop->type == Alter_drop::KEY &&
- !my_strcasecmp(key_name, drop->name))
+ !my_strcasecmp(system_charset_info,key_name, drop->name))
break;
}
if (drop)
@@ -1505,10 +1555,11 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
{
if (cfield->change)
{
- if (!my_strcasecmp(key_part_name, cfield->change))
+ if (!my_strcasecmp(system_charset_info,key_part_name, cfield->change))
break;
}
- else if (!my_strcasecmp(key_part_name, cfield->field_name))
+ else if (!my_strcasecmp(system_charset_info,
+ key_part_name, cfield->field_name))
break;
}
if (!cfield)
@@ -1526,11 +1577,14 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
key_part_length));
}
if (key_parts.elements)
- key_list.push_back(new Key(key_info->flags & HA_NOSAME ?
- (!my_strcasecmp(key_name, "PRIMARY") ?
+ key_list.push_back(new Key(key_info->flags & HA_SPATIAL ? Key::SPATIAL :
+ (key_info->flags & HA_NOSAME ?
+ (!my_strcasecmp(system_charset_info,
+ key_name, "PRIMARY") ?
Key::PRIMARY : Key::UNIQUE) :
(key_info->flags & HA_FULLTEXT ?
- Key::FULLTEXT : Key::MULTIPLE),
+ Key::FULLTEXT : Key::MULTIPLE)),
+ key_info->key_alg,
key_name,key_parts));
}
key_it.rewind();
diff --git a/sql/sql_udf.cc b/sql/sql_udf.cc
index 9493f969802..f44fa3b7321 100644
--- a/sql/sql_udf.cc
+++ b/sql/sql_udf.cc
@@ -127,7 +127,8 @@ void udf_init()
init_sql_alloc(&mem, 1024,0);
THD *new_thd = new THD;
if (!new_thd ||
- hash_init(&udf_hash,32,0,0,get_hash_key, NULL, HASH_CASE_INSENSITIVE))
+ hash_init(&udf_hash,system_charset_info,
+ 32,0,0,get_hash_key, NULL, HASH_CASE_INSENSITIVE))
{
sql_print_error("Can't allocate memory for udf structures");
hash_free(&udf_hash);
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 8012768e508..18b8e5bb824 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -54,6 +54,7 @@ inline Item *or_or_concat(Item* A, Item* B)
List<Item> *item_list;
List<String> *string_list;
Key::Keytype key_type;
+ enum ha_key_alg key_alg;
enum db_type db_type;
enum row_type row_type;
enum ha_rkey_function ha_rkey_mode;
@@ -156,6 +157,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token BOOL_SYM
%token BOOLEAN_SYM
%token BOTH
+%token BTREE_SYM
%token BY
%token CACHE_SYM
%token CASCADE
@@ -202,6 +204,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token GREATEST_SYM
%token GROUP
%token HAVING
+%token HASH_SYM
%token HEAP_SYM
%token HEX_NUM
%token HIGH_PRIORITY
@@ -295,10 +298,12 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token ROWS_SYM
%token ROW_FORMAT_SYM
%token ROW_SYM
+%token RTREE_SYM
%token SET
%token SERIALIZABLE_SYM
%token SESSION_SYM
%token SHUTDOWN
+%token SPATIAL_SYM
%token SQL_CACHE_SYM
%token SQL_NO_CACHE_SYM
%token SSL_SYM
@@ -349,6 +354,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token ENUM
%token FAST_SYM
%token FLOAT_SYM
+%token GEOMETRY_SYM
%token INT_SYM
%token LIMIT
%token LONGBLOB
@@ -406,6 +412,9 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token FORMAT_SYM
%token FOR_SYM
%token FROM_UNIXTIME
+%token GEOMCOLLFROMTEXT
+%token GEOMFROMTEXT
+%token GEOMETRYCOLLECTION
%token GROUP_UNIQUE_USERS
%token HOUR_MINUTE_SYM
%token HOUR_SECOND_SYM
@@ -417,6 +426,8 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token INTERVAL_SYM
%token LAST_INSERT_ID
%token LEFT
+%token LINEFROMTEXT
+%token LINESTRING
%token LOCATE
%token MAKE_SET_SYM
%token MINUTE_SECOND_SYM
@@ -424,8 +435,17 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token MODE_SYM
%token MODIFY_SYM
%token MONTH_SYM
+%token MLINEFROMTEXT
+%token MPOINTFROMTEXT
+%token MPOLYFROMTEXT
+%token MULTILINESTRING
+%token MULTIPOINT
+%token MULTIPOLYGON
%token NOW_SYM
%token PASSWORD
+%token POINTFROMTEXT
+%token POLYFROMTEXT
+%token POLYGON
%token POSITION_SYM
%token PROCEDURE
%token RAND
@@ -532,6 +552,9 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%type <key_type>
key_type opt_unique_or_fulltext
+%type <key_alg>
+ key_alg opt_btree_or_rtree
+
%type <string_list>
key_usage_list
@@ -736,21 +759,22 @@ create:
}
create2
- | CREATE opt_unique_or_fulltext INDEX ident ON table_ident
+ | CREATE opt_unique_or_fulltext INDEX ident key_alg ON table_ident
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_CREATE_INDEX;
- if (!add_table_to_list($6,NULL,1))
+ if (!add_table_to_list($7,NULL,1))
YYABORT;
lex->create_list.empty();
lex->key_list.empty();
lex->col_list.empty();
lex->change=NullS;
}
- '(' key_list ')'
+ '(' key_list ')'
{
LEX *lex=Lex;
- lex->key_list.push_back(new Key($2,$4.str,lex->col_list));
+
+ lex->key_list.push_back(new Key($2,$5,$4.str,lex->col_list));
lex->col_list.empty();
}
| CREATE DATABASE opt_if_not_exists ident
@@ -897,10 +921,10 @@ field_list_item:
{
Lex->col_list.empty(); /* Alloced by sql_alloc */
}
- | key_type opt_ident '(' key_list ')'
+ | key_type opt_ident key_alg '(' key_list ')'
{
LEX *lex=Lex;
- lex->key_list.push_back(new Key($1,$2,lex->col_list));
+ lex->key_list.push_back(new Key($1,$3,$2,lex->col_list));
lex->col_list.empty(); /* Alloced by sql_alloc */
}
| opt_constraint FOREIGN KEY_SYM opt_ident '(' key_list ')' references
@@ -965,6 +989,8 @@ type:
$$=FIELD_TYPE_TINY_BLOB; }
| BLOB_SYM { Lex->type|=BINARY_FLAG;
$$=FIELD_TYPE_BLOB; }
+ | GEOMETRY_SYM { Lex->type|=BINARY_FLAG;
+ $$=FIELD_TYPE_GEOMETRY; }
| MEDIUMBLOB { Lex->type|=BINARY_FLAG;
$$=FIELD_TYPE_MEDIUM_BLOB; }
| LONGBLOB { Lex->type|=BINARY_FLAG;
@@ -1106,6 +1132,8 @@ key_type:
| key_or_index { $$= Key::MULTIPLE; }
| FULLTEXT_SYM { $$= Key::FULLTEXT; }
| FULLTEXT_SYM key_or_index { $$= Key::FULLTEXT; }
+ | SPATIAL_SYM { $$= Key::SPATIAL; }
+ | SPATIAL_SYM key_or_index { $$= Key::SPATIAL; }
| opt_constraint UNIQUE_SYM { $$= Key::UNIQUE; }
| opt_constraint UNIQUE_SYM key_or_index { $$= Key::UNIQUE; }
@@ -1122,6 +1150,16 @@ opt_unique_or_fulltext:
/* empty */ { $$= Key::MULTIPLE; }
| UNIQUE_SYM { $$= Key::UNIQUE; }
| FULLTEXT_SYM { $$= Key::FULLTEXT; }
+ | SPATIAL_SYM { $$= Key::SPATIAL; }
+
+key_alg:
+ /* empty */ { $$= HA_KEY_ALG_BTREE; }
+ | USING opt_btree_or_rtree { $$= $2 }
+
+opt_btree_or_rtree:
+ BTREE_SYM { $$= HA_KEY_ALG_BTREE; }
+ | RTREE_SYM { $$= HA_KEY_ALG_RTREE; }
+ | HASH_SYM { $$= HA_KEY_ALG_HASH; }
key_list:
key_list ',' key_part order_dir { Lex->col_list.push_back($3); }
@@ -1655,6 +1693,20 @@ simple_expr:
| CASE_SYM opt_expr WHEN_SYM when_list opt_else END
{ $$= new Item_func_case(* $4, $2, $5 ); }
| CONVERT_SYM '(' expr ',' cast_type ')' { $$= create_func_cast($3, $5); }
+ | CONVERT_SYM '(' expr USING IDENT ')'
+ {
+ CHARSET_INFO *cs=find_compiled_charset_by_name($5.str);
+ if (!cs)
+ {
+ net_printf(&current_thd->net,ER_UNKNOWN_CHARACTER_SET,$5);
+ YYABORT;
+ }
+ $$= new Item_func_conv_charset($3,cs);
+ }
+ | CONVERT_SYM '(' expr ',' expr ',' expr ')'
+ {
+ $$= new Item_func_conv_charset3($3,$5,$7);
+ }
| FUNC_ARG0 '(' ')'
{ $$= ((Item*(*)(void))($1.symbol->create_func))();}
| FUNC_ARG1 '(' expr ')'
@@ -1731,6 +1783,14 @@ simple_expr:
}
| FIELD_FUNC '(' expr ',' expr_list ')'
{ $$= new Item_func_field($3, *$5); }
+ | GEOMFROMTEXT '(' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | GEOMFROMTEXT '(' expr ',' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | GEOMETRYCOLLECTION '(' expr_list ')'
+ { $$= new Item_func_spatial_collection(* $3,
+ Geometry::wkbGeometryCollection,
+ Geometry::wkbPoint); }
| HOUR_SYM '(' expr ')'
{ $$= new Item_func_hour($3); }
| IF '(' expr ',' expr ',' expr ')'
@@ -1755,18 +1815,50 @@ simple_expr:
}
| LEFT '(' expr ',' expr ')'
{ $$= new Item_func_left($3,$5); }
+ | LINESTRING '(' expr_list ')'
+ { $$= new Item_func_spatial_collection(* $3,
+ Geometry::wkbLineString, Geometry::wkbPoint); }
| LOCATE '(' expr ',' expr ')'
{ $$= new Item_func_locate($5,$3); }
| LOCATE '(' expr ',' expr ',' expr ')'
{ $$= new Item_func_locate($5,$3,$7); }
- | GREATEST_SYM '(' expr ',' expr_list ')'
+ | GEOMCOLLFROMTEXT '(' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | GEOMCOLLFROMTEXT '(' expr ',' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | GREATEST_SYM '(' expr ',' expr_list ')'
{ $5->push_front($3); $$= new Item_func_max(*$5); }
| LEAST_SYM '(' expr ',' expr_list ')'
{ $5->push_front($3); $$= new Item_func_min(*$5); }
+ | LINEFROMTEXT '(' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | LINEFROMTEXT '(' expr ',' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
| MINUTE_SYM '(' expr ')'
{ $$= new Item_func_minute($3); }
| MONTH_SYM '(' expr ')'
{ $$= new Item_func_month($3); }
+ | MULTILINESTRING '(' expr_list ')'
+ { $$= new Item_func_spatial_collection(* $3,
+ Geometry::wkbMultiLineString, Geometry::wkbLineString); }
+ | MLINEFROMTEXT '(' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | MLINEFROMTEXT '(' expr ',' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | MPOINTFROMTEXT '(' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | MPOINTFROMTEXT '(' expr ',' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | MPOLYFROMTEXT '(' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | MPOLYFROMTEXT '(' expr ',' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | MULTIPOINT '(' expr_list ')'
+ { $$= new Item_func_spatial_collection(* $3,
+ Geometry::wkbMultiPoint, Geometry::wkbPoint); }
+ | MULTIPOLYGON '(' expr_list ')'
+ { $$= new Item_func_spatial_collection(* $3,
+ Geometry::wkbMultiPolygon, Geometry::wkbPolygon ); }
| NOW_SYM optional_braces
{ $$= new Item_func_now(); current_thd->safe_to_cache_query=0;}
| NOW_SYM '(' expr ')'
@@ -1775,6 +1867,17 @@ simple_expr:
{
$$= new Item_func_password($3);
}
+ | POINTFROMTEXT '(' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | POINTFROMTEXT '(' expr ',' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | POLYFROMTEXT '(' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | POLYFROMTEXT '(' expr ',' expr ')'
+ { $$= new Item_func_geometry_from_text($3) }
+ | POLYGON '(' expr_list ')'
+ { $$= new Item_func_spatial_collection(* $3,
+ Geometry::wkbPolygon, Geometry::wkbLineString); }
| POSITION_SYM '(' no_in_expr IN_SYM expr ')'
{ $$ = new Item_func_locate($5,$3); }
| RAND '(' expr ')'
@@ -2049,6 +2152,30 @@ join_table:
}
| '{' ident join_table LEFT OUTER JOIN_SYM join_table ON expr '}'
{ add_join_on($7,$9); $7->outer_join|=JOIN_TYPE_LEFT; $$=$7; }
+ | '(' SELECT_SYM select_part3 ')' opt_table_alias
+ {
+ LEX *lex=Lex;
+ lex->select=lex->select->prev;
+ if (!($$=add_table_to_list(new Table_ident(Lex->last_select),$5,0,TL_UNLOCK)))
+ YYABORT;
+ }
+
+select_part3:
+ {
+ LEX *lex=Lex;
+ lex->derived_tables=true;
+ SELECT_LEX *tmp=lex->select;
+ if (lex->select->linkage == NOT_A_SELECT || mysql_new_select(lex))
+ YYABORT;
+ mysql_init_select(lex);
+ lex->select->linkage=DERIVED_TABLE_TYPE;
+ lex->select->prev=tmp;
+ }
+ select_options select_item_list select_intoto
+
+select_intoto:
+ limit_clause {}
+ | select_from
opt_outer:
/* empty */ {}
@@ -3608,7 +3735,8 @@ column_list_id:
LEX *lex=Lex;
while ((point=iter++))
{
- if (!my_strcasecmp(point->column.ptr(),new_str->ptr()))
+ if (!my_strcasecmp(system_charset_info,
+ point->column.ptr(), new_str->ptr()))
break;
}
lex->grant_tot_col|= lex->which_columns;
diff --git a/sql/structs.h b/sql/structs.h
index 2250ea784f2..978a523df7f 100644
--- a/sql/structs.h
+++ b/sql/structs.h
@@ -64,6 +64,7 @@ typedef struct st_key_part_info { /* Info about a key part */
typedef struct st_key {
uint key_length; /* Tot length of key */
uint flags; /* dupp key and pack flags */
+ enum ha_key_alg key_alg; /* +BAR Algorithm BTREE or RTREE */
uint key_parts; /* How many key_parts */
uint extra_length;
uint usable_key_parts; /* Should normally be = key_parts */
diff --git a/sql/table.cc b/sql/table.cc
index 315f8bacf34..122357a1fb1 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -155,7 +155,9 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
{
keyinfo->flags= ((uint) strpos[0]) ^ HA_NOSAME;
keyinfo->key_length= (uint) uint2korr(strpos+1);
- keyinfo->key_parts= (uint) strpos[3]; strpos+=4;
+ keyinfo->key_parts= (uint) strpos[3];
+ strpos+=4;
+
keyinfo->key_part= key_part;
keyinfo->rec_per_key= rec_per_key;
for (j=keyinfo->key_parts ; j-- ; key_part++)
@@ -327,6 +329,7 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
use_hash= outparam->fields >= MAX_FIELDS_BEFORE_HASH;
if (use_hash)
use_hash= !hash_init(&outparam->name_hash,
+ system_charset_info,
outparam->fields,0,0,
(hash_get_key) get_field_name,0,
HASH_CASE_INSENSITIVE);
@@ -405,6 +408,26 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
}
}
+ keyinfo->key_alg=HA_KEY_ALG_BTREE; // BAR : btree by default
+
+#define BAR_DIRTY_HACK
+#ifdef BAR_DIRTY_HACK
+ // BAR FIXME: Dirty hack while waiting for new .frm format
+ switch(keyinfo->name[0]){
+ case 'R':
+ keyinfo->key_alg=HA_KEY_ALG_RTREE;
+ break;
+ case 'S':
+ keyinfo->key_alg = HA_KEY_ALG_RTREE;
+ keyinfo->flags |= HA_SPATIAL;
+ break;
+ case 'B':
+ default:
+ keyinfo->key_alg=HA_KEY_ALG_BTREE;
+ break;
+ }
+#endif
+
for (i=0 ; i < keyinfo->key_parts ; key_part++,i++)
{
if (new_field_pack_flag <= 1)
@@ -1058,9 +1081,10 @@ bool check_db_name(const char *name)
while (*name)
{
#if defined(USE_MB) && defined(USE_MB_IDENT)
- if (use_mb(default_charset_info))
+ if (use_mb(system_charset_info))
{
- int len=my_ismbchar(default_charset_info, name, name+MBMAXLEN);
+ int len=my_ismbchar(system_charset_info, name,
+ name+system_charset_info->mbmaxlen);
if (len)
{
name += len;
@@ -1090,9 +1114,9 @@ bool check_table_name(const char *name, uint length)
while (name != end)
{
#if defined(USE_MB) && defined(USE_MB_IDENT)
- if (use_mb(default_charset_info))
+ if (use_mb(system_charset_info))
{
- int len=my_ismbchar(default_charset_info, name, end);
+ int len=my_ismbchar(system_charset_info, name, end);
if (len)
{
name += len;
@@ -1112,9 +1136,10 @@ bool check_column_name(const char *name)
while (*name)
{
#if defined(USE_MB) && defined(USE_MB_IDENT)
- if (use_mb(default_charset_info))
+ if (use_mb(system_charset_info))
{
- int len=my_ismbchar(default_charset_info, name, name+MBMAXLEN);
+ int len=my_ismbchar(system_charset_info, name,
+ name+system_charset_info->mbmaxlen);
if (len)
{
name += len;
diff --git a/sql/table.h b/sql/table.h
index 209333c24b7..59cb28038bf 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -150,6 +150,7 @@ typedef struct st_table_list {
bool straight; /* optimize with prev table */
bool updating; /* for replicate-do/ignore table */
bool shared; /* Used twice in union */
+ void *derived;
} TABLE_LIST;
typedef struct st_changed_table_list {
diff --git a/sql/time.cc b/sql/time.cc
index aab886648e3..2a791ccc30e 100644
--- a/sql/time.cc
+++ b/sql/time.cc
@@ -268,13 +268,13 @@ void find_date(string pos,uint *vek,uint flag)
DBUG_PRINT("enter",("pos: '%s' flag: %d",pos,flag));
bzero((char*) vek,sizeof(int)*4);
- while (*pos && !isdigit(*pos))
+ while (*pos && !my_isdigit(system_charset_info,*pos))
pos++;
length=(uint) strlen(pos);
for (uint i=0 ; i< 3; i++)
{
start=pos; value=0;
- while (isdigit(pos[0]) &&
+ while (my_isdigit(system_charset_info,pos[0]) &&
((pos-start) < 2 || ((pos-start) < 4 && length >= 8 &&
!(flag & 3))))
{
@@ -282,7 +282,8 @@ void find_date(string pos,uint *vek,uint flag)
pos++;
}
vek[flag & 3]=value; flag>>=2;
- while (*pos && (ispunct(*pos) || isspace(*pos)))
+ while (*pos && (my_ispunct(system_charset_info,*pos) ||
+ my_isspace(system_charset_info,*pos)))
pos++;
}
DBUG_PRINT("exit",("year: %d month: %d day: %d",vek[0],vek[1],vek[2]));
@@ -434,7 +435,8 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date)
DBUG_ENTER("str_to_TIME");
DBUG_PRINT("enter",("str: %.*s",length,str));
- for (; str != end && !isdigit(*str) ; str++) ; // Skip garbage
+ // Skip garbage
+ for (; str != end && !my_isdigit(system_charset_info, *str) ; str++) ;
if (str == end)
DBUG_RETURN(TIMESTAMP_NONE);
/*
@@ -442,14 +444,14 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date)
** If length= 8 or >= 14 then year is of format YYYY.
(YYYY-MM-DD, YYYYMMDD, YYYYYMMDDHHMMSS)
*/
- for (pos=str; pos != end && isdigit(*pos) ; pos++) ;
+ for (pos=str; pos != end && my_isdigit(system_charset_info,*pos) ; pos++) ;
digits= (uint) (pos-str);
year_length= (digits == 4 || digits == 8 || digits >= 14) ? 4 : 2;
field_length=year_length-1;
- for (i=0 ; i < 6 && str != end && isdigit(*str) ; i++)
+ for (i=0 ; i < 6 && str != end && my_isdigit(system_charset_info,*str) ; i++)
{
uint tmp_value=(uint) (uchar) (*str++ - '0');
- while (str != end && isdigit(str[0]) && field_length--)
+ while (str != end && my_isdigit(system_charset_info,str[0]) && field_length--)
{
tmp_value=tmp_value*10 + (uint) (uchar) (*str - '0');
str++;
@@ -459,10 +461,12 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date)
str++; // ISO8601: CCYYMMDDThhmmss
else if ( i != 5 ) // Skip inter-field delimiters
{
- while (str != end && (ispunct(*str) || isspace(*str)))
+ while (str != end &&
+ (my_ispunct(system_charset_info,*str) ||
+ my_isspace(system_charset_info,*str)))
{
// Only allow space between days and hours
- if (isspace(*str) && i != 2)
+ if (my_isspace(system_charset_info,*str) && i != 2)
DBUG_RETURN(TIMESTAMP_NONE);
str++;
}
@@ -470,12 +474,13 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date)
field_length=1; // Rest fields can only be 2
}
/* Handle second fractions */
- if (i == 6 && (uint) (end-str) >= 2 && *str == '.' && isdigit(str[1]))
+ if (i == 6 && (uint) (end-str) >= 2 && *str == '.' &&
+ my_isdigit(system_charset_info,str[1]))
{
str++;
uint tmp_value=(uint) (uchar) (*str - '0');
field_length=3;
- while (str++ != end && isdigit(str[0]) && field_length--)
+ while (str++ != end && my_isdigit(system_charset_info,str[0]) && field_length--)
tmp_value=tmp_value*10 + (uint) (uchar) (*str - '0');
date[6]=tmp_value;
}
@@ -498,7 +503,7 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date)
{
for ( ; str != end ; str++)
{
- if (!isspace(*str))
+ if (!my_isspace(system_charset_info,*str))
{
current_thd->cuted_fields++;
break;
@@ -559,7 +564,8 @@ bool str_to_time(const char *str,uint length,TIME *l_time)
uint state;
l_time->neg=0;
- for (; str != end && !isdigit(*str) && *str != '-' ; str++)
+ for (; str != end &&
+ !my_isdigit(system_charset_info,*str) && *str != '-' ; str++)
length--;
if (str != end && *str == '-')
{
@@ -578,7 +584,7 @@ bool str_to_time(const char *str,uint length,TIME *l_time)
}
/* Not a timestamp. Try to get this as a DAYS_TO_SECOND string */
- for (value=0; str != end && isdigit(*str) ; str++)
+ for (value=0; str != end && my_isdigit(system_charset_info,*str) ; str++)
value=value*10L + (long) (*str - '0');
if (*str == ' ')
@@ -589,14 +595,16 @@ bool str_to_time(const char *str,uint length,TIME *l_time)
LINT_INIT(state);
found_days=found_hours=0;
- if ((uint) (end-str) > 1 && (*str == ' ' && isdigit(str[1])))
+ if ((uint) (end-str) > 1 && (*str == ' ' &&
+ my_isdigit(system_charset_info,str[1])))
{ // days !
date[0]=value;
state=1; // Assume next is hours
found_days=1;
str++; // Skip space;
}
- else if ((end-str) > 1 && *str == ':' && isdigit(str[1]))
+ else if ((end-str) > 1 && *str == ':' &&
+ my_isdigit(system_charset_info,str[1]))
{
date[0]=0; // Assume we found hours
date[1]=value;
@@ -618,10 +626,11 @@ bool str_to_time(const char *str,uint length,TIME *l_time)
/* Read hours, minutes and seconds */
for (;;)
{
- for (value=0; str != end && isdigit(*str) ; str++)
+ for (value=0; str != end && my_isdigit(system_charset_info,*str) ; str++)
value=value*10L + (long) (*str - '0');
date[state++]=value;
- if (state == 4 || (end-str) < 2 || *str != ':' || !isdigit(str[1]))
+ if (state == 4 || (end-str) < 2 || *str != ':' ||
+ !my_isdigit(system_charset_info,str[1]))
break;
str++; // Skip ':'
}
@@ -641,11 +650,13 @@ bool str_to_time(const char *str,uint length,TIME *l_time)
fractional:
/* Get fractional second part */
- if ((end-str) >= 2 && *str == '.' && isdigit(str[1]))
+ if ((end-str) >= 2 && *str == '.' && my_isdigit(system_charset_info,str[1]))
{
uint field_length=3;
str++; value=(uint) (uchar) (*str - '0');
- while (++str != end && isdigit(str[0]) && field_length--)
+ while (++str != end &&
+ my_isdigit(system_charset_info,str[0]) &&
+ field_length--)
value=value*10 + (uint) (uchar) (*str - '0');
date[4]=value;
}
@@ -670,7 +681,7 @@ bool str_to_time(const char *str,uint length,TIME *l_time)
{
do
{
- if (!isspace(*str))
+ if (!my_isspace(system_charset_info,*str))
{
current_thd->cuted_fields++;
break;
diff --git a/strings/Makefile.am b/strings/Makefile.am
index a29c5a3365d..1b925036670 100644
--- a/strings/Makefile.am
+++ b/strings/Makefile.am
@@ -22,29 +22,28 @@ pkglib_LIBRARIES = libmystrings.a
# Exact one of ASSEMBLER_X
if ASSEMBLER_x86
ASRCS = strings-x86.s longlong2str-x86.s
-CSRCS = bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c atof.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c ctype.c strnlen.c
+CSRCS = bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c atof.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-czech.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-latin1_de.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c
else
if ASSEMBLER_sparc
# These file MUST all be on the same line!! Otherwise automake
# generats a very broken makefile
ASRCS = bmove_upp-sparc.s strappend-sparc.s strend-sparc.s strinstr-sparc.s strmake-sparc.s strmov-sparc.s strnmov-sparc.s strstr-sparc.s strxmov-sparc.s
-CSRCS = strcont.c strfill.c strcend.c is_prefix.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c atof.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c ctype.c strnlen.c
+CSRCS = strcont.c strfill.c strcend.c is_prefix.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c atof.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-czech.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-latin1_de.c ctype-sjis.c ctype-tis620.c ctype-ujis.cctype-utf8.c
else
#no assembler
ASRCS =
# These file MUST all be on the same line!! Otherwise automake
# generats a very broken makefile
-CSRCS = strxmov.c bmove_upp.c strappend.c strcont.c strend.c strfill.c strcend.c is_prefix.c strstr.c strinstr.c strmake.c strnmov.c strmov.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c atof.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c ctype.c strnlen.c
+CSRCS = strxmov.c bmove_upp.c strappend.c strcont.c strend.c strfill.c strcend.c is_prefix.c strstr.c strinstr.c strmake.c strnmov.c strmov.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c atof.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-czech.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-latin1_de.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c
endif
endif
-libmystrings_a_SOURCES = @CHARSET_SRCS@ $(ASRCS) $(CSRCS)
+libmystrings_a_SOURCES = $(ASRCS) $(CSRCS)
noinst_PROGRAMS = conf_to_src
# Default charset definitions
EXTRA_DIST = ctype-big5.c ctype-czech.c ctype-euc_kr.c \
- ctype-gb2312.c ctype-gbk.c ctype-sjis.c \
+ ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-utf8.c \
ctype-tis620.c ctype-ujis.c ctype-latin1_de.c \
- ctype_autoconf.c \
strto.c strings-x86.s longlong2str-x86.s \
strxmov.c bmove_upp.c strappend.c strcont.c strend.c \
strfill.c strcend.c is_prefix.c strstr.c strinstr.c \
@@ -63,12 +62,7 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\
sleep.h specific.h version.h pwd.h timers.h uio.h \
cdefs.h machdep.h signal.h __signal.h util.h
-libmystrings_a_LIBADD= @CHARSET_OBJS@
-ctype.o: ctype_extra_sources.c
-
-ctype_extra_sources.c: conf_to_src
- ./conf_to_src $(top_srcdir) @CHARSETS_NEED_SOURCE@ > \
- $(srcdir)/ctype_extra_sources.c
+libmystrings_a_LIBADD=
conf_to_src_SOURCES = conf_to_src.c
conf_to_src_LDADD=
#force static linking of conf_to_src - essential when linking against
@@ -76,10 +70,8 @@ conf_to_src_LDADD=
conf_to_src_LDFLAGS= @NOINST_LDFLAGS@
# This is because the dependency tracking misses @FOO@ vars in sources.
-strtoull.o: @CHARSET_OBJS@
+#strtoull.o: @CHARSET_OBJS@
-clean-local:
- rm -f ctype_extra_sources.c
if ASSEMBLER
# On Linux gcc can compile the assembly files
diff --git a/strings/conf_to_src.c b/strings/conf_to_src.c
index 22e04337b14..2f88c9ad22e 100644
--- a/strings/conf_to_src.c
+++ b/strings/conf_to_src.c
@@ -124,7 +124,7 @@ print_arrays_for(char *set)
}
printf("\
-/* The %s character set. Generated automatically by configure and\n\
+/* The %s character set. Generated automatically by\n\
* the %s program\n\
*/\n\n",
set, prog);
diff --git a/strings/ctype-big5.c b/strings/ctype-big5.c
index 44f8a100897..36a2641d2ab 100644
--- a/strings/ctype-big5.c
+++ b/strings/ctype-big5.c
@@ -31,8 +31,13 @@
#include "m_string.h"
#include "m_ctype.h"
-/* Support for Chinese(BIG5) characters, by jou@nematic.ieo.nctu.edu.tw
- modified by Wei He (hewei@mail.ied.ac.cn) */
+#ifdef HAVE_CHARSET_big5
+
+/*
+ Support for Chinese(BIG5) characters, by jou@nematic.ieo.nctu.edu.tw
+ modified by Wei He (hewei@mail.ied.ac.cn)
+ modified by Alex Barkov <bar@udm.net>
+*/
#define isbig5head(c) (0xa1<=(uchar)(c) && (uchar)(c)<=0xf9)
#define isbig5tail(c) ((0x40<=(uchar)(c) && (uchar)(c)<=0x7e) || \
@@ -213,7 +218,9 @@ static uint16 big5strokexfrm(uint16 i)
return 0xA140;
}
-int my_strnncoll_big5(const uchar * s1, int len1, const uchar * s2, int len2)
+int my_strnncoll_big5(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar * s1, uint len1,
+ const uchar * s2, uint len2)
{
uint len;
@@ -235,10 +242,11 @@ int my_strnncoll_big5(const uchar * s1, int len1, const uchar * s2, int len2)
return (int) (len1-len2);
}
-int my_strnxfrm_big5(uchar * dest, const uchar * src, int len, int srclen)
+int my_strnxfrm_big5(CHARSET_INFO *cs __attribute__((unused)),
+ uchar * dest, uint len,
+ const uchar * src, uint srclen)
{
uint16 e;
- /*uchar *d = dest; XXX: unused*/
len = srclen;
while (len--)
@@ -323,7 +331,8 @@ int my_strxfrm_big5(uchar * dest, const uchar * src, int len)
#define wild_one '_'
#define wild_many '%'
-my_bool my_like_range_big5(const char *ptr,uint ptr_length,pchar escape,
+my_bool my_like_range_big5(CHARSET_INFO *cs __attribute__((unused)),
+ const char *ptr,uint ptr_length,pchar escape,
uint res_length, char *min_str,char *max_str,
uint *min_length,uint *max_length)
{
@@ -372,17 +381,5837 @@ my_bool my_like_range_big5(const char *ptr,uint ptr_length,pchar escape,
return 0;
}
-int ismbchar_big5(const char* p, const char *e)
+int ismbchar_big5(CHARSET_INFO *cs __attribute__((unused)),
+ const char* p, const char *e)
{
return (isbig5head(*(p)) && (e)-(p)>1 && isbig5tail(*((p)+1))? 2: 0);
}
-my_bool ismbhead_big5(uint c)
+my_bool ismbhead_big5(CHARSET_INFO *cs __attribute__((unused)), uint c)
{
return isbig5head(c);
}
-int mbcharlen_big5(uint c)
+int mbcharlen_big5(CHARSET_INFO *cs __attribute__((unused)), uint c)
{
return (isbig5head(c)? 2: 0);
}
+
+/* page 0 0xA140-0xC7FC */
+static uint16 tab_big5_uni0[]={
+0x3000,0xFF0C,0x3001,0x3002,0xFF0E,0x2022,0xFF1B,0xFF1A,
+0xFF1F,0xFF01,0xFE30,0x2026,0x2025,0xFE50,0xFF64,0xFE52,
+0x00B7,0xFE54,0xFE55,0xFE56,0xFE57,0xFF5C,0x2013,0xFE31,
+0x2014,0xFE33,0xFFFD,0xFE34,0xFE4F,0xFF08,0xFF09,0xFE35,
+0xFE36,0xFF5B,0xFF5D,0xFE37,0xFE38,0x3014,0x3015,0xFE39,
+0xFE3A,0x3010,0x3011,0xFE3B,0xFE3C,0x300A,0x300B,0xFE3D,
+0xFE3E,0x3008,0x3009,0xFE3F,0xFE40,0x300C,0x300D,0xFE41,
+0xFE42,0x300E,0x300F,0xFE43,0xFE44,0xFE59,0xFE5A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xFE5B,0xFE5C,0xFE5D,0xFE5E,0x2018,0x2019,0x201C,
+0x201D,0x301D,0x301E,0x2035,0x2032,0xFF03,0xFF06,0xFF0A,
+0x203B,0x00A7,0x3003,0x25CB,0x25CF,0x25B3,0x25B2,0x25CE,
+0x2606,0x2605,0x25C7,0x25C6,0x25A1,0x25A0,0x25BD,0x25BC,
+0x32A3,0x2105,0x203E,0xFFFD,0xFF3F,0xFFFD,0xFE49,0xFE4A,
+0xFE4D,0xFE4E,0xFE4B,0xFE4C,0xFE5F,0xFE60,0xFE61,0xFF0B,
+0xFF0D,0x00D7,0x00F7,0x00B1,0x221A,0xFF1C,0xFF1E,0xFF1D,
+0x2266,0x2267,0x2260,0x221E,0x2252,0x2261,0xFE62,0xFE63,
+0xFE64,0xFE65,0xFE66,0x223C,0x2229,0x222A,0x22A5,0x2220,
+0x221F,0x22BF,0x33D2,0x33D1,0x222B,0x222E,0x2235,0x2234,
+0x2640,0x2642,0x2641,0x2609,0x2191,0x2193,0x2190,0x2192,
+0x2196,0x2197,0x2199,0x2198,0x2225,0x2223,0xFFFD, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFFFD,0xFF0F,0xFF3C,0xFF04,0x00A5,0x3012,0x00A2,0x00A3,
+0xFF05,0xFF20,0x2103,0x2109,0xFE69,0xFE6A,0xFE6B,0x33D5,
+0x339C,0x339D,0x339E,0x33CE,0x33A1,0x338E,0x338F,0x33C4,
+0x00B0,0x5159,0x515B,0x515E,0x515D,0x5161,0x5163,0x55E7,
+0x74E9,0x7CCE,0x2581,0x2582,0x2583,0x2584,0x2585,0x2586,
+0x2587,0x2588,0x258F,0x258E,0x258D,0x258C,0x258B,0x258A,
+0x2589,0x253C,0x2534,0x252C,0x2524,0x251C,0x2594,0x2500,
+0x2502,0x2595,0x250C,0x2510,0x2514,0x2518,0x256D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x256E,0x2570,0x256F,0x2550,0x255E,0x256A,0x2561,
+0x25E2,0x25E3,0x25E5,0x25E4,0x2571,0x2572,0x2573,0xFF10,
+0xFF11,0xFF12,0xFF13,0xFF14,0xFF15,0xFF16,0xFF17,0xFF18,
+0xFF19,0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,
+0x2167,0x2168,0x2169,0x3021,0x3022,0x3023,0x3024,0x3025,
+0x3026,0x3027,0x3028,0x3029,0xFFFD,0x5344,0xFFFD,0xFF21,
+0xFF22,0xFF23,0xFF24,0xFF25,0xFF26,0xFF27,0xFF28,0xFF29,
+0xFF2A,0xFF2B,0xFF2C,0xFF2D,0xFF2E,0xFF2F,0xFF30,0xFF31,
+0xFF32,0xFF33,0xFF34,0xFF35,0xFF36,0xFF37,0xFF38,0xFF39,
+0xFF3A,0xFF41,0xFF42,0xFF43,0xFF44,0xFF45,0xFF46,0xFF47,
+0xFF48,0xFF49,0xFF4A,0xFF4B,0xFF4C,0xFF4D,0xFF4E,0xFF4F,
+0xFF50,0xFF51,0xFF52,0xFF53,0xFF54,0xFF55,0xFF56, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFF57,0xFF58,0xFF59,0xFF5A,0x0391,0x0392,0x0393,0x0394,
+0x0395,0x0396,0x0397,0x0398,0x0399,0x039A,0x039B,0x039C,
+0x039D,0x039E,0x039F,0x03A0,0x03A1,0x03A3,0x03A4,0x03A5,
+0x03A6,0x03A7,0x03A8,0x03A9,0x03B1,0x03B2,0x03B3,0x03B4,
+0x03B5,0x03B6,0x03B7,0x03B8,0x03B9,0x03BA,0x03BB,0x03BC,
+0x03BD,0x03BE,0x03BF,0x03C0,0x03C1,0x03C3,0x03C4,0x03C5,
+0x03C6,0x03C7,0x03C8,0x03C9,0x3105,0x3106,0x3107,0x3108,
+0x3109,0x310A,0x310B,0x310C,0x310D,0x310E,0x310F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3110,0x3111,0x3112,0x3113,0x3114,0x3115,0x3116,
+0x3117,0x3118,0x3119,0x311A,0x311B,0x311C,0x311D,0x311E,
+0x311F,0x3120,0x3121,0x3122,0x3123,0x3124,0x3125,0x3126,
+0x3127,0x3128,0x3129,0x02D9,0x02C9,0x02CA,0x02C7,0x02CB,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4E00,0x4E59,0x4E01,0x4E03,0x4E43,0x4E5D,0x4E86,0x4E8C,
+0x4EBA,0x513F,0x5165,0x516B,0x51E0,0x5200,0x5201,0x529B,
+0x5315,0x5341,0x535C,0x53C8,0x4E09,0x4E0B,0x4E08,0x4E0A,
+0x4E2B,0x4E38,0x51E1,0x4E45,0x4E48,0x4E5F,0x4E5E,0x4E8E,
+0x4EA1,0x5140,0x5203,0x52FA,0x5343,0x53C9,0x53E3,0x571F,
+0x58EB,0x5915,0x5927,0x5973,0x5B50,0x5B51,0x5B53,0x5BF8,
+0x5C0F,0x5C22,0x5C38,0x5C71,0x5DDD,0x5DE5,0x5DF1,0x5DF2,
+0x5DF3,0x5DFE,0x5E72,0x5EFE,0x5F0B,0x5F13,0x624D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4E11,0x4E10,0x4E0D,0x4E2D,0x4E30,0x4E39,0x4E4B,
+0x5C39,0x4E88,0x4E91,0x4E95,0x4E92,0x4E94,0x4EA2,0x4EC1,
+0x4EC0,0x4EC3,0x4EC6,0x4EC7,0x4ECD,0x4ECA,0x4ECB,0x4EC4,
+0x5143,0x5141,0x5167,0x516D,0x516E,0x516C,0x5197,0x51F6,
+0x5206,0x5207,0x5208,0x52FB,0x52FE,0x52FF,0x5316,0x5339,
+0x5348,0x5347,0x5345,0x535E,0x5384,0x53CB,0x53CA,0x53CD,
+0x58EC,0x5929,0x592B,0x592A,0x592D,0x5B54,0x5C11,0x5C24,
+0x5C3A,0x5C6F,0x5DF4,0x5E7B,0x5EFF,0x5F14,0x5F15,0x5FC3,
+0x6208,0x6236,0x624B,0x624E,0x652F,0x6587,0x6597,0x65A4,
+0x65B9,0x65E5,0x66F0,0x6708,0x6728,0x6B20,0x6B62,0x6B79,
+0x6BCB,0x6BD4,0x6BDB,0x6C0F,0x6C34,0x706B,0x722A,0x7236,
+0x723B,0x7247,0x7259,0x725B,0x72AC,0x738B,0x4E19, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4E16,0x4E15,0x4E14,0x4E18,0x4E3B,0x4E4D,0x4E4F,0x4E4E,
+0x4EE5,0x4ED8,0x4ED4,0x4ED5,0x4ED6,0x4ED7,0x4EE3,0x4EE4,
+0x4ED9,0x4EDE,0x5145,0x5144,0x5189,0x518A,0x51AC,0x51F9,
+0x51FA,0x51F8,0x520A,0x52A0,0x529F,0x5305,0x5306,0x5317,
+0x531D,0x4EDF,0x534A,0x5349,0x5361,0x5360,0x536F,0x536E,
+0x53BB,0x53EF,0x53E4,0x53F3,0x53EC,0x53EE,0x53E9,0x53E8,
+0x53FC,0x53F8,0x53F5,0x53EB,0x53E6,0x53EA,0x53F2,0x53F1,
+0x53F0,0x53E5,0x53ED,0x53FB,0x56DB,0x56DA,0x5916, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x592E,0x5931,0x5974,0x5976,0x5B55,0x5B83,0x5C3C,
+0x5DE8,0x5DE7,0x5DE6,0x5E02,0x5E03,0x5E73,0x5E7C,0x5F01,
+0x5F18,0x5F17,0x5FC5,0x620A,0x6253,0x6254,0x6252,0x6251,
+0x65A5,0x65E6,0x672E,0x672C,0x672A,0x672B,0x672D,0x6B63,
+0x6BCD,0x6C11,0x6C10,0x6C38,0x6C41,0x6C40,0x6C3E,0x72AF,
+0x7384,0x7389,0x74DC,0x74E6,0x7518,0x751F,0x7528,0x7529,
+0x7530,0x7531,0x7532,0x7533,0x758B,0x767D,0x76AE,0x76BF,
+0x76EE,0x77DB,0x77E2,0x77F3,0x793A,0x79BE,0x7A74,0x7ACB,
+0x4E1E,0x4E1F,0x4E52,0x4E53,0x4E69,0x4E99,0x4EA4,0x4EA6,
+0x4EA5,0x4EFF,0x4F09,0x4F19,0x4F0A,0x4F15,0x4F0D,0x4F10,
+0x4F11,0x4F0F,0x4EF2,0x4EF6,0x4EFB,0x4EF0,0x4EF3,0x4EFD,
+0x4F01,0x4F0B,0x5149,0x5147,0x5146,0x5148,0x5168, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5171,0x518D,0x51B0,0x5217,0x5211,0x5212,0x520E,0x5216,
+0x52A3,0x5308,0x5321,0x5320,0x5370,0x5371,0x5409,0x540F,
+0x540C,0x540A,0x5410,0x5401,0x540B,0x5404,0x5411,0x540D,
+0x5408,0x5403,0x540E,0x5406,0x5412,0x56E0,0x56DE,0x56DD,
+0x5733,0x5730,0x5728,0x572D,0x572C,0x572F,0x5729,0x5919,
+0x591A,0x5937,0x5938,0x5984,0x5978,0x5983,0x597D,0x5979,
+0x5982,0x5981,0x5B57,0x5B58,0x5B87,0x5B88,0x5B85,0x5B89,
+0x5BFA,0x5C16,0x5C79,0x5DDE,0x5E06,0x5E76,0x5E74, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5F0F,0x5F1B,0x5FD9,0x5FD6,0x620E,0x620C,0x620D,
+0x6210,0x6263,0x625B,0x6258,0x6536,0x65E9,0x65E8,0x65EC,
+0x65ED,0x66F2,0x66F3,0x6709,0x673D,0x6734,0x6731,0x6735,
+0x6B21,0x6B64,0x6B7B,0x6C16,0x6C5D,0x6C57,0x6C59,0x6C5F,
+0x6C60,0x6C50,0x6C55,0x6C61,0x6C5B,0x6C4D,0x6C4E,0x7070,
+0x725F,0x725D,0x767E,0x7AF9,0x7C73,0x7CF8,0x7F36,0x7F8A,
+0x7FBD,0x8001,0x8003,0x800C,0x8012,0x8033,0x807F,0x8089,
+0x808B,0x808C,0x81E3,0x81EA,0x81F3,0x81FC,0x820C,0x821B,
+0x821F,0x826E,0x8272,0x827E,0x866B,0x8840,0x884C,0x8863,
+0x897F,0x9621,0x4E32,0x4EA8,0x4F4D,0x4F4F,0x4F47,0x4F57,
+0x4F5E,0x4F34,0x4F5B,0x4F55,0x4F30,0x4F50,0x4F51,0x4F3D,
+0x4F3A,0x4F38,0x4F43,0x4F54,0x4F3C,0x4F46,0x4F63, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4F5C,0x4F60,0x4F2F,0x4F4E,0x4F36,0x4F59,0x4F5D,0x4F48,
+0x4F5A,0x514C,0x514B,0x514D,0x5175,0x51B6,0x51B7,0x5225,
+0x5224,0x5229,0x522A,0x5228,0x52AB,0x52A9,0x52AA,0x52AC,
+0x5323,0x5373,0x5375,0x541D,0x542D,0x541E,0x543E,0x5426,
+0x544E,0x5427,0x5446,0x5443,0x5433,0x5448,0x5442,0x541B,
+0x5429,0x544A,0x5439,0x543B,0x5438,0x542E,0x5435,0x5436,
+0x5420,0x543C,0x5440,0x5431,0x542B,0x541F,0x542C,0x56EA,
+0x56F0,0x56E4,0x56EB,0x574A,0x5751,0x5740,0x574D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5747,0x574E,0x573E,0x5750,0x574F,0x573B,0x58EF,
+0x593E,0x599D,0x5992,0x59A8,0x599E,0x59A3,0x5999,0x5996,
+0x598D,0x59A4,0x5993,0x598A,0x59A5,0x5B5D,0x5B5C,0x5B5A,
+0x5B5B,0x5B8C,0x5B8B,0x5B8F,0x5C2C,0x5C40,0x5C41,0x5C3F,
+0x5C3E,0x5C90,0x5C91,0x5C94,0x5C8C,0x5DEB,0x5E0C,0x5E8F,
+0x5E87,0x5E8A,0x5EF7,0x5F04,0x5F1F,0x5F64,0x5F62,0x5F77,
+0x5F79,0x5FD8,0x5FCC,0x5FD7,0x5FCD,0x5FF1,0x5FEB,0x5FF8,
+0x5FEA,0x6212,0x6211,0x6284,0x6297,0x6296,0x6280,0x6276,
+0x6289,0x626D,0x628A,0x627C,0x627E,0x6279,0x6273,0x6292,
+0x626F,0x6298,0x626E,0x6295,0x6293,0x6291,0x6286,0x6539,
+0x653B,0x6538,0x65F1,0x66F4,0x675F,0x674E,0x674F,0x6750,
+0x6751,0x675C,0x6756,0x675E,0x6749,0x6746,0x6760, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6753,0x6757,0x6B65,0x6BCF,0x6C42,0x6C5E,0x6C99,0x6C81,
+0x6C88,0x6C89,0x6C85,0x6C9B,0x6C6A,0x6C7A,0x6C90,0x6C70,
+0x6C8C,0x6C68,0x6C96,0x6C92,0x6C7D,0x6C83,0x6C72,0x6C7E,
+0x6C74,0x6C86,0x6C76,0x6C8D,0x6C94,0x6C98,0x6C82,0x7076,
+0x707C,0x707D,0x7078,0x7262,0x7261,0x7260,0x72C4,0x72C2,
+0x7396,0x752C,0x752B,0x7537,0x7538,0x7682,0x76EF,0x77E3,
+0x79C1,0x79C0,0x79BF,0x7A76,0x7CFB,0x7F55,0x8096,0x8093,
+0x809D,0x8098,0x809B,0x809A,0x80B2,0x826F,0x8292, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x828B,0x828D,0x898B,0x89D2,0x8A00,0x8C37,0x8C46,
+0x8C55,0x8C9D,0x8D64,0x8D70,0x8DB3,0x8EAB,0x8ECA,0x8F9B,
+0x8FB0,0x8FC2,0x8FC6,0x8FC5,0x8FC4,0x5DE1,0x9091,0x90A2,
+0x90AA,0x90A6,0x90A3,0x9149,0x91C6,0x91CC,0x9632,0x962E,
+0x9631,0x962A,0x962C,0x4E26,0x4E56,0x4E73,0x4E8B,0x4E9B,
+0x4E9E,0x4EAB,0x4EAC,0x4F6F,0x4F9D,0x4F8D,0x4F73,0x4F7F,
+0x4F6C,0x4F9B,0x4F8B,0x4F86,0x4F83,0x4F70,0x4F75,0x4F88,
+0x4F69,0x4F7B,0x4F96,0x4F7E,0x4F8F,0x4F91,0x4F7A,0x5154,
+0x5152,0x5155,0x5169,0x5177,0x5176,0x5178,0x51BD,0x51FD,
+0x523B,0x5238,0x5237,0x523A,0x5230,0x522E,0x5236,0x5241,
+0x52BE,0x52BB,0x5352,0x5354,0x5353,0x5351,0x5366,0x5377,
+0x5378,0x5379,0x53D6,0x53D4,0x53D7,0x5473,0x5475, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5496,0x5478,0x5495,0x5480,0x547B,0x5477,0x5484,0x5492,
+0x5486,0x547C,0x5490,0x5471,0x5476,0x548C,0x549A,0x5462,
+0x5468,0x548B,0x547D,0x548E,0x56FA,0x5783,0x5777,0x576A,
+0x5769,0x5761,0x5766,0x5764,0x577C,0x591C,0x5949,0x5947,
+0x5948,0x5944,0x5954,0x59BE,0x59BB,0x59D4,0x59B9,0x59AE,
+0x59D1,0x59C6,0x59D0,0x59CD,0x59CB,0x59D3,0x59CA,0x59AF,
+0x59B3,0x59D2,0x59C5,0x5B5F,0x5B64,0x5B63,0x5B97,0x5B9A,
+0x5B98,0x5B9C,0x5B99,0x5B9B,0x5C1A,0x5C48,0x5C45, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5C46,0x5CB7,0x5CA1,0x5CB8,0x5CA9,0x5CAB,0x5CB1,
+0x5CB3,0x5E18,0x5E1A,0x5E16,0x5E15,0x5E1B,0x5E11,0x5E78,
+0x5E9A,0x5E97,0x5E9C,0x5E95,0x5E96,0x5EF6,0x5F26,0x5F27,
+0x5F29,0x5F80,0x5F81,0x5F7F,0x5F7C,0x5FDD,0x5FE0,0x5FFD,
+0x5FF5,0x5FFF,0x600F,0x6014,0x602F,0x6035,0x6016,0x602A,
+0x6015,0x6021,0x6027,0x6029,0x602B,0x601B,0x6216,0x6215,
+0x623F,0x623E,0x6240,0x627F,0x62C9,0x62CC,0x62C4,0x62BF,
+0x62C2,0x62B9,0x62D2,0x62DB,0x62AB,0x62D3,0x62D4,0x62CB,
+0x62C8,0x62A8,0x62BD,0x62BC,0x62D0,0x62D9,0x62C7,0x62CD,
+0x62B5,0x62DA,0x62B1,0x62D8,0x62D6,0x62D7,0x62C6,0x62AC,
+0x62CE,0x653E,0x65A7,0x65BC,0x65FA,0x6614,0x6613,0x660C,
+0x6606,0x6602,0x660E,0x6600,0x660F,0x6615,0x660A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6607,0x670D,0x670B,0x676D,0x678B,0x6795,0x6771,0x679C,
+0x6773,0x6777,0x6787,0x679D,0x6797,0x676F,0x6770,0x677F,
+0x6789,0x677E,0x6790,0x6775,0x679A,0x6793,0x677C,0x676A,
+0x6772,0x6B23,0x6B66,0x6B67,0x6B7F,0x6C13,0x6C1B,0x6CE3,
+0x6CE8,0x6CF3,0x6CB1,0x6CCC,0x6CE5,0x6CB3,0x6CBD,0x6CBE,
+0x6CBC,0x6CE2,0x6CAB,0x6CD5,0x6CD3,0x6CB8,0x6CC4,0x6CB9,
+0x6CC1,0x6CAE,0x6CD7,0x6CC5,0x6CF1,0x6CBF,0x6CBB,0x6CE1,
+0x6CDB,0x6CCA,0x6CAC,0x6CEF,0x6CDC,0x6CD6,0x6CE0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7095,0x708E,0x7092,0x708A,0x7099,0x722C,0x722D,
+0x7238,0x7248,0x7267,0x7269,0x72C0,0x72CE,0x72D9,0x72D7,
+0x72D0,0x73A9,0x73A8,0x739F,0x73AB,0x73A5,0x753D,0x759D,
+0x7599,0x759A,0x7684,0x76C2,0x76F2,0x76F4,0x77E5,0x77FD,
+0x793E,0x7940,0x7941,0x79C9,0x79C8,0x7A7A,0x7A79,0x7AFA,
+0x7CFE,0x7F54,0x7F8C,0x7F8B,0x8005,0x80BA,0x80A5,0x80A2,
+0x80B1,0x80A1,0x80AB,0x80A9,0x80B4,0x80AA,0x80AF,0x81E5,
+0x81FE,0x820D,0x82B3,0x829D,0x8299,0x82AD,0x82BD,0x829F,
+0x82B9,0x82B1,0x82AC,0x82A5,0x82AF,0x82B8,0x82A3,0x82B0,
+0x82BE,0x82B7,0x864E,0x8671,0x521D,0x8868,0x8ECB,0x8FCE,
+0x8FD4,0x8FD1,0x90B5,0x90B8,0x90B1,0x90B6,0x91C7,0x91D1,
+0x9577,0x9580,0x961C,0x9640,0x963F,0x963B,0x9644, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9642,0x96B9,0x96E8,0x9752,0x975E,0x4E9F,0x4EAD,0x4EAE,
+0x4FE1,0x4FB5,0x4FAF,0x4FBF,0x4FE0,0x4FD1,0x4FCF,0x4FDD,
+0x4FC3,0x4FB6,0x4FD8,0x4FDF,0x4FCA,0x4FD7,0x4FAE,0x4FD0,
+0x4FC4,0x4FC2,0x4FDA,0x4FCE,0x4FDE,0x4FB7,0x5157,0x5192,
+0x5191,0x51A0,0x524E,0x5243,0x524A,0x524D,0x524C,0x524B,
+0x5247,0x52C7,0x52C9,0x52C3,0x52C1,0x530D,0x5357,0x537B,
+0x539A,0x53DB,0x54AC,0x54C0,0x54A8,0x54CE,0x54C9,0x54B8,
+0x54A6,0x54B3,0x54C7,0x54C2,0x54BD,0x54AA,0x54C1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x54C4,0x54C8,0x54AF,0x54AB,0x54B1,0x54BB,0x54A9,
+0x54A7,0x54BF,0x56FF,0x5782,0x578B,0x57A0,0x57A3,0x57A2,
+0x57CE,0x57AE,0x5793,0x5955,0x5951,0x594F,0x594E,0x5950,
+0x59DC,0x59D8,0x59FF,0x59E3,0x59E8,0x5A03,0x59E5,0x59EA,
+0x59DA,0x59E6,0x5A01,0x59FB,0x5B69,0x5BA3,0x5BA6,0x5BA4,
+0x5BA2,0x5BA5,0x5C01,0x5C4E,0x5C4F,0x5C4D,0x5C4B,0x5CD9,
+0x5CD2,0x5DF7,0x5E1D,0x5E25,0x5E1F,0x5E7D,0x5EA0,0x5EA6,
+0x5EFA,0x5F08,0x5F2D,0x5F65,0x5F88,0x5F85,0x5F8A,0x5F8B,
+0x5F87,0x5F8C,0x5F89,0x6012,0x601D,0x6020,0x6025,0x600E,
+0x6028,0x604D,0x6070,0x6068,0x6062,0x6046,0x6043,0x606C,
+0x606B,0x606A,0x6064,0x6241,0x62DC,0x6316,0x6309,0x62FC,
+0x62ED,0x6301,0x62EE,0x62FD,0x6307,0x62F1,0x62F7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x62EF,0x62EC,0x62FE,0x62F4,0x6311,0x6302,0x653F,0x6545,
+0x65AB,0x65BD,0x65E2,0x6625,0x662D,0x6620,0x6627,0x662F,
+0x661F,0x6628,0x6631,0x6624,0x66F7,0x67FF,0x67D3,0x67F1,
+0x67D4,0x67D0,0x67EC,0x67B6,0x67AF,0x67F5,0x67E9,0x67EF,
+0x67C4,0x67D1,0x67B4,0x67DA,0x67E5,0x67B8,0x67CF,0x67DE,
+0x67F3,0x67B0,0x67D9,0x67E2,0x67DD,0x67D2,0x6B6A,0x6B83,
+0x6B86,0x6BB5,0x6BD2,0x6BD7,0x6C1F,0x6CC9,0x6D0B,0x6D32,
+0x6D2A,0x6D41,0x6D25,0x6D0C,0x6D31,0x6D1E,0x6D17, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6D3B,0x6D3D,0x6D3E,0x6D36,0x6D1B,0x6CF5,0x6D39,
+0x6D27,0x6D38,0x6D29,0x6D2E,0x6D35,0x6D0E,0x6D2B,0x70AB,
+0x70BA,0x70B3,0x70AC,0x70AF,0x70AD,0x70B8,0x70AE,0x70A4,
+0x7230,0x7272,0x726F,0x7274,0x72E9,0x72E0,0x72E1,0x73B7,
+0x73CA,0x73BB,0x73B2,0x73CD,0x73C0,0x73B3,0x751A,0x752D,
+0x754F,0x754C,0x754E,0x754B,0x75AB,0x75A4,0x75A5,0x75A2,
+0x75A3,0x7678,0x7686,0x7687,0x7688,0x76C8,0x76C6,0x76C3,
+0x76C5,0x7701,0x76F9,0x76F8,0x7709,0x770B,0x76FE,0x76FC,
+0x7707,0x77DC,0x7802,0x7814,0x780C,0x780D,0x7946,0x7949,
+0x7948,0x7947,0x79B9,0x79BA,0x79D1,0x79D2,0x79CB,0x7A7F,
+0x7A81,0x7AFF,0x7AFD,0x7C7D,0x7D02,0x7D05,0x7D00,0x7D09,
+0x7D07,0x7D04,0x7D06,0x7F38,0x7F8E,0x7FBF,0x8004, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8010,0x800D,0x8011,0x8036,0x80D6,0x80E5,0x80DA,0x80C3,
+0x80C4,0x80CC,0x80E1,0x80DB,0x80CE,0x80DE,0x80E4,0x80DD,
+0x81F4,0x8222,0x82E7,0x8303,0x8305,0x82E3,0x82DB,0x82E6,
+0x8304,0x82E5,0x8302,0x8309,0x82D2,0x82D7,0x82F1,0x8301,
+0x82DC,0x82D4,0x82D1,0x82DE,0x82D3,0x82DF,0x82EF,0x8306,
+0x8650,0x8679,0x867B,0x867A,0x884D,0x886B,0x8981,0x89D4,
+0x8A08,0x8A02,0x8A03,0x8C9E,0x8CA0,0x8D74,0x8D73,0x8DB4,
+0x8ECD,0x8ECC,0x8FF0,0x8FE6,0x8FE2,0x8FEA,0x8FE5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8FED,0x8FEB,0x8FE4,0x8FE8,0x90CA,0x90CE,0x90C1,
+0x90C3,0x914B,0x914A,0x91CD,0x9582,0x9650,0x964B,0x964C,
+0x964D,0x9762,0x9769,0x97CB,0x97ED,0x97F3,0x9801,0x98A8,
+0x98DB,0x98DF,0x9996,0x9999,0x4E58,0x4EB3,0x500C,0x500D,
+0x5023,0x4FEF,0x5026,0x5025,0x4FF8,0x5029,0x5016,0x5006,
+0x503C,0x501F,0x501A,0x5012,0x5011,0x4FFA,0x5000,0x5014,
+0x5028,0x4FF1,0x5021,0x500B,0x5019,0x5018,0x4FF3,0x4FEE,
+0x502D,0x502A,0x4FFE,0x502B,0x5009,0x517C,0x51A4,0x51A5,
+0x51A2,0x51CD,0x51CC,0x51C6,0x51CB,0x5256,0x525C,0x5254,
+0x525B,0x525D,0x532A,0x537F,0x539F,0x539D,0x53DF,0x54E8,
+0x5510,0x5501,0x5537,0x54FC,0x54E5,0x54F2,0x5506,0x54FA,
+0x5514,0x54E9,0x54ED,0x54E1,0x5509,0x54EE,0x54EA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x54E6,0x5527,0x5507,0x54FD,0x550F,0x5703,0x5704,0x57C2,
+0x57D4,0x57CB,0x57C3,0x5809,0x590F,0x5957,0x5958,0x595A,
+0x5A11,0x5A18,0x5A1C,0x5A1F,0x5A1B,0x5A13,0x59EC,0x5A20,
+0x5A23,0x5A29,0x5A25,0x5A0C,0x5A09,0x5B6B,0x5C58,0x5BB0,
+0x5BB3,0x5BB6,0x5BB4,0x5BAE,0x5BB5,0x5BB9,0x5BB8,0x5C04,
+0x5C51,0x5C55,0x5C50,0x5CED,0x5CFD,0x5CFB,0x5CEA,0x5CE8,
+0x5CF0,0x5CF6,0x5D01,0x5CF4,0x5DEE,0x5E2D,0x5E2B,0x5EAB,
+0x5EAD,0x5EA7,0x5F31,0x5F92,0x5F91,0x5F90,0x6059, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6063,0x6065,0x6050,0x6055,0x606D,0x6069,0x606F,
+0x6084,0x609F,0x609A,0x608D,0x6094,0x608C,0x6085,0x6096,
+0x6247,0x62F3,0x6308,0x62FF,0x634E,0x633E,0x632F,0x6355,
+0x6342,0x6346,0x634F,0x6349,0x633A,0x6350,0x633D,0x632A,
+0x632B,0x6328,0x634D,0x634C,0x6548,0x6549,0x6599,0x65C1,
+0x65C5,0x6642,0x6649,0x664F,0x6643,0x6652,0x664C,0x6645,
+0x6641,0x66F8,0x6714,0x6715,0x6717,0x6821,0x6838,0x6848,
+0x6846,0x6853,0x6839,0x6842,0x6854,0x6829,0x68B3,0x6817,
+0x684C,0x6851,0x683D,0x67F4,0x6850,0x6840,0x683C,0x6843,
+0x682A,0x6845,0x6813,0x6818,0x6841,0x6B8A,0x6B89,0x6BB7,
+0x6C23,0x6C27,0x6C28,0x6C26,0x6C24,0x6CF0,0x6D6A,0x6D95,
+0x6D88,0x6D87,0x6D66,0x6D78,0x6D77,0x6D59,0x6D93, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6D6C,0x6D89,0x6D6E,0x6D5A,0x6D74,0x6D69,0x6D8C,0x6D8A,
+0x6D79,0x6D85,0x6D65,0x6D94,0x70CA,0x70D8,0x70E4,0x70D9,
+0x70C8,0x70CF,0x7239,0x7279,0x72FC,0x72F9,0x72FD,0x72F8,
+0x72F7,0x7386,0x73ED,0x7409,0x73EE,0x73E0,0x73EA,0x73DE,
+0x7554,0x755D,0x755C,0x755A,0x7559,0x75BE,0x75C5,0x75C7,
+0x75B2,0x75B3,0x75BD,0x75BC,0x75B9,0x75C2,0x75B8,0x768B,
+0x76B0,0x76CA,0x76CD,0x76CE,0x7729,0x771F,0x7720,0x7728,
+0x77E9,0x7830,0x7827,0x7838,0x781D,0x7834,0x7837, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7825,0x782D,0x7820,0x781F,0x7832,0x7955,0x7950,
+0x7960,0x795F,0x7956,0x795E,0x795D,0x7957,0x795A,0x79E4,
+0x79E3,0x79E7,0x79DF,0x79E6,0x79E9,0x79D8,0x7A84,0x7A88,
+0x7AD9,0x7B06,0x7B11,0x7C89,0x7D21,0x7D17,0x7D0B,0x7D0A,
+0x7D20,0x7D22,0x7D14,0x7D10,0x7D15,0x7D1A,0x7D1C,0x7D0D,
+0x7D19,0x7D1B,0x7F3A,0x7F5F,0x7F94,0x7FC5,0x7FC1,0x8006,
+0x8018,0x8015,0x8019,0x8017,0x803D,0x803F,0x80F1,0x8102,
+0x80F0,0x8105,0x80ED,0x80F4,0x8106,0x80F8,0x80F3,0x8108,
+0x80FD,0x810A,0x80FC,0x80EF,0x81ED,0x81EC,0x8200,0x8210,
+0x822A,0x822B,0x8228,0x822C,0x82BB,0x832B,0x8352,0x8354,
+0x834A,0x8338,0x8350,0x8349,0x8335,0x8334,0x834F,0x8332,
+0x8339,0x8336,0x8317,0x8340,0x8331,0x8328,0x8343, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8654,0x868A,0x86AA,0x8693,0x86A4,0x86A9,0x868C,0x86A3,
+0x869C,0x8870,0x8877,0x8881,0x8882,0x887D,0x8879,0x8A18,
+0x8A10,0x8A0E,0x8A0C,0x8A15,0x8A0A,0x8A17,0x8A13,0x8A16,
+0x8A0F,0x8A11,0x8C48,0x8C7A,0x8C79,0x8CA1,0x8CA2,0x8D77,
+0x8EAC,0x8ED2,0x8ED4,0x8ECF,0x8FB1,0x9001,0x9006,0x8FF7,
+0x9000,0x8FFA,0x8FF4,0x9003,0x8FFD,0x9005,0x8FF8,0x9095,
+0x90E1,0x90DD,0x90E2,0x9152,0x914D,0x914C,0x91D8,0x91DD,
+0x91D7,0x91DC,0x91D9,0x9583,0x9662,0x9663,0x9661, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x965B,0x965D,0x9664,0x9658,0x965E,0x96BB,0x98E2,
+0x99AC,0x9AA8,0x9AD8,0x9B25,0x9B32,0x9B3C,0x4E7E,0x507A,
+0x507D,0x505C,0x5047,0x5043,0x504C,0x505A,0x5049,0x5065,
+0x5076,0x504E,0x5055,0x5075,0x5074,0x5077,0x504F,0x500F,
+0x506F,0x506D,0x515C,0x5195,0x51F0,0x526A,0x526F,0x52D2,
+0x52D9,0x52D8,0x52D5,0x5310,0x530F,0x5319,0x533F,0x5340,
+0x533E,0x53C3,0x66FC,0x5546,0x556A,0x5566,0x5544,0x555E,
+0x5561,0x5543,0x554A,0x5531,0x5556,0x554F,0x5555,0x552F,
+0x5564,0x5538,0x552E,0x555C,0x552C,0x5563,0x5533,0x5541,
+0x5557,0x5708,0x570B,0x5709,0x57DF,0x5805,0x580A,0x5806,
+0x57E0,0x57E4,0x57FA,0x5802,0x5835,0x57F7,0x57F9,0x5920,
+0x5962,0x5A36,0x5A41,0x5A49,0x5A66,0x5A6A,0x5A40, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5A3C,0x5A62,0x5A5A,0x5A46,0x5A4A,0x5B70,0x5BC7,0x5BC5,
+0x5BC4,0x5BC2,0x5BBF,0x5BC6,0x5C09,0x5C08,0x5C07,0x5C60,
+0x5C5C,0x5C5D,0x5D07,0x5D06,0x5D0E,0x5D1B,0x5D16,0x5D22,
+0x5D11,0x5D29,0x5D14,0x5D19,0x5D24,0x5D27,0x5D17,0x5DE2,
+0x5E38,0x5E36,0x5E33,0x5E37,0x5EB7,0x5EB8,0x5EB6,0x5EB5,
+0x5EBE,0x5F35,0x5F37,0x5F57,0x5F6C,0x5F69,0x5F6B,0x5F97,
+0x5F99,0x5F9E,0x5F98,0x5FA1,0x5FA0,0x5F9C,0x607F,0x60A3,
+0x6089,0x60A0,0x60A8,0x60CB,0x60B4,0x60E6,0x60BD, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x60C5,0x60BB,0x60B5,0x60DC,0x60BC,0x60D8,0x60D5,
+0x60C6,0x60DF,0x60B8,0x60DA,0x60C7,0x621A,0x621B,0x6248,
+0x63A0,0x63A7,0x6372,0x6396,0x63A2,0x63A5,0x6377,0x6367,
+0x6398,0x63AA,0x6371,0x63A9,0x6389,0x6383,0x639B,0x636B,
+0x63A8,0x6384,0x6388,0x6399,0x63A1,0x63AC,0x6392,0x638F,
+0x6380,0x637B,0x6369,0x6368,0x637A,0x655D,0x6556,0x6551,
+0x6559,0x6557,0x555F,0x654F,0x6558,0x6555,0x6554,0x659C,
+0x659B,0x65AC,0x65CF,0x65CB,0x65CC,0x65CE,0x665D,0x665A,
+0x6664,0x6668,0x6666,0x665E,0x66F9,0x52D7,0x671B,0x6881,
+0x68AF,0x68A2,0x6893,0x68B5,0x687F,0x6876,0x68B1,0x68A7,
+0x6897,0x68B0,0x6883,0x68C4,0x68AD,0x6886,0x6885,0x6894,
+0x689D,0x68A8,0x689F,0x68A1,0x6882,0x6B32,0x6BBA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6BEB,0x6BEC,0x6C2B,0x6D8E,0x6DBC,0x6DF3,0x6DD9,0x6DB2,
+0x6DE1,0x6DCC,0x6DE4,0x6DFB,0x6DFA,0x6E05,0x6DC7,0x6DCB,
+0x6DAF,0x6DD1,0x6DAE,0x6DDE,0x6DF9,0x6DB8,0x6DF7,0x6DF5,
+0x6DC5,0x6DD2,0x6E1A,0x6DB5,0x6DDA,0x6DEB,0x6DD8,0x6DEA,
+0x6DF1,0x6DEE,0x6DE8,0x6DC6,0x6DC4,0x6DAA,0x6DEC,0x6DBF,
+0x6DE6,0x70F9,0x7109,0x710A,0x70FD,0x70EF,0x723D,0x727D,
+0x7281,0x731C,0x731B,0x7316,0x7313,0x7319,0x7387,0x7405,
+0x740A,0x7403,0x7406,0x73FE,0x740D,0x74E0,0x74F6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x74F7,0x751C,0x7522,0x7565,0x7566,0x7562,0x7570,
+0x758F,0x75D4,0x75D5,0x75B5,0x75CA,0x75CD,0x768E,0x76D4,
+0x76D2,0x76DB,0x7737,0x773E,0x773C,0x7736,0x7738,0x773A,
+0x786B,0x7843,0x784E,0x7965,0x7968,0x796D,0x79FB,0x7A92,
+0x7A95,0x7B20,0x7B28,0x7B1B,0x7B2C,0x7B26,0x7B19,0x7B1E,
+0x7B2E,0x7C92,0x7C97,0x7C95,0x7D46,0x7D43,0x7D71,0x7D2E,
+0x7D39,0x7D3C,0x7D40,0x7D30,0x7D33,0x7D44,0x7D2F,0x7D42,
+0x7D32,0x7D31,0x7F3D,0x7F9E,0x7F9A,0x7FCC,0x7FCE,0x7FD2,
+0x801C,0x804A,0x8046,0x812F,0x8116,0x8123,0x812B,0x8129,
+0x8130,0x8124,0x8202,0x8235,0x8237,0x8236,0x8239,0x838E,
+0x839E,0x8398,0x8378,0x83A2,0x8396,0x83BD,0x83AB,0x8392,
+0x838A,0x8393,0x8389,0x83A0,0x8377,0x837B,0x837C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8386,0x83A7,0x8655,0x5F6A,0x86C7,0x86C0,0x86B6,0x86C4,
+0x86B5,0x86C6,0x86CB,0x86B1,0x86AF,0x86C9,0x8853,0x889E,
+0x8888,0x88AB,0x8892,0x8896,0x888D,0x888B,0x8993,0x898F,
+0x8A2A,0x8A1D,0x8A23,0x8A25,0x8A31,0x8A2D,0x8A1F,0x8A1B,
+0x8A22,0x8C49,0x8C5A,0x8CA9,0x8CAC,0x8CAB,0x8CA8,0x8CAA,
+0x8CA7,0x8D67,0x8D66,0x8DBE,0x8DBA,0x8EDB,0x8EDF,0x9019,
+0x900D,0x901A,0x9017,0x9023,0x901F,0x901D,0x9010,0x9015,
+0x901E,0x9020,0x900F,0x9022,0x9016,0x901B,0x9014, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x90E8,0x90ED,0x90FD,0x9157,0x91CE,0x91F5,0x91E6,
+0x91E3,0x91E7,0x91ED,0x91E9,0x9589,0x966A,0x9675,0x9673,
+0x9678,0x9670,0x9674,0x9676,0x9677,0x966C,0x96C0,0x96EA,
+0x96E9,0x7AE0,0x7ADF,0x9802,0x9803,0x9B5A,0x9CE5,0x9E75,
+0x9E7F,0x9EA5,0x9EBB,0x50A2,0x508D,0x5085,0x5099,0x5091,
+0x5080,0x5096,0x5098,0x509A,0x6700,0x51F1,0x5272,0x5274,
+0x5275,0x5269,0x52DE,0x52DD,0x52DB,0x535A,0x53A5,0x557B,
+0x5580,0x55A7,0x557C,0x558A,0x559D,0x5598,0x5582,0x559C,
+0x55AA,0x5594,0x5587,0x558B,0x5583,0x55B3,0x55AE,0x559F,
+0x553E,0x55B2,0x559A,0x55BB,0x55AC,0x55B1,0x557E,0x5589,
+0x55AB,0x5599,0x570D,0x582F,0x582A,0x5834,0x5824,0x5830,
+0x5831,0x5821,0x581D,0x5820,0x58F9,0x58FA,0x5960, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5A77,0x5A9A,0x5A7F,0x5A92,0x5A9B,0x5AA7,0x5B73,0x5B71,
+0x5BD2,0x5BCC,0x5BD3,0x5BD0,0x5C0A,0x5C0B,0x5C31,0x5D4C,
+0x5D50,0x5D34,0x5D47,0x5DFD,0x5E45,0x5E3D,0x5E40,0x5E43,
+0x5E7E,0x5ECA,0x5EC1,0x5EC2,0x5EC4,0x5F3C,0x5F6D,0x5FA9,
+0x5FAA,0x5FA8,0x60D1,0x60E1,0x60B2,0x60B6,0x60E0,0x611C,
+0x6123,0x60FA,0x6115,0x60F0,0x60FB,0x60F4,0x6168,0x60F1,
+0x610E,0x60F6,0x6109,0x6100,0x6112,0x621F,0x6249,0x63A3,
+0x638C,0x63CF,0x63C0,0x63E9,0x63C9,0x63C6,0x63CD, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x63D2,0x63E3,0x63D0,0x63E1,0x63D6,0x63ED,0x63EE,
+0x6376,0x63F4,0x63EA,0x63DB,0x6452,0x63DA,0x63F9,0x655E,
+0x6566,0x6562,0x6563,0x6591,0x6590,0x65AF,0x666E,0x6670,
+0x6674,0x6676,0x666F,0x6691,0x667A,0x667E,0x6677,0x66FE,
+0x66FF,0x671F,0x671D,0x68FA,0x68D5,0x68E0,0x68D8,0x68D7,
+0x6905,0x68DF,0x68F5,0x68EE,0x68E7,0x68F9,0x68D2,0x68F2,
+0x68E3,0x68CB,0x68CD,0x690D,0x6912,0x690E,0x68C9,0x68DA,
+0x696E,0x68FB,0x6B3E,0x6B3A,0x6B3D,0x6B98,0x6B96,0x6BBC,
+0x6BEF,0x6C2E,0x6C2F,0x6C2C,0x6E2F,0x6E38,0x6E54,0x6E21,
+0x6E32,0x6E67,0x6E4A,0x6E20,0x6E25,0x6E23,0x6E1B,0x6E5B,
+0x6E58,0x6E24,0x6E56,0x6E6E,0x6E2D,0x6E26,0x6E6F,0x6E34,
+0x6E4D,0x6E3A,0x6E2C,0x6E43,0x6E1D,0x6E3E,0x6ECB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6E89,0x6E19,0x6E4E,0x6E63,0x6E44,0x6E72,0x6E69,0x6E5F,
+0x7119,0x711A,0x7126,0x7130,0x7121,0x7136,0x716E,0x711C,
+0x724C,0x7284,0x7280,0x7336,0x7325,0x7334,0x7329,0x743A,
+0x742A,0x7433,0x7422,0x7425,0x7435,0x7436,0x7434,0x742F,
+0x741B,0x7426,0x7428,0x7525,0x7526,0x756B,0x756A,0x75E2,
+0x75DB,0x75E3,0x75D9,0x75D8,0x75DE,0x75E0,0x767B,0x767C,
+0x7696,0x7693,0x76B4,0x76DC,0x774F,0x77ED,0x785D,0x786C,
+0x786F,0x7A0D,0x7A08,0x7A0B,0x7A05,0x7A00,0x7A98, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7A97,0x7A96,0x7AE5,0x7AE3,0x7B49,0x7B56,0x7B46,
+0x7B50,0x7B52,0x7B54,0x7B4D,0x7B4B,0x7B4F,0x7B51,0x7C9F,
+0x7CA5,0x7D5E,0x7D50,0x7D68,0x7D55,0x7D2B,0x7D6E,0x7D72,
+0x7D61,0x7D66,0x7D62,0x7D70,0x7D73,0x5584,0x7FD4,0x7FD5,
+0x800B,0x8052,0x8085,0x8155,0x8154,0x814B,0x8151,0x814E,
+0x8139,0x8146,0x813E,0x814C,0x8153,0x8174,0x8212,0x821C,
+0x83E9,0x8403,0x83F8,0x840D,0x83E0,0x83C5,0x840B,0x83C1,
+0x83EF,0x83F1,0x83F4,0x8457,0x840A,0x83F0,0x840C,0x83CC,
+0x83FD,0x83F2,0x83CA,0x8438,0x840E,0x8404,0x83DC,0x8407,
+0x83D4,0x83DF,0x865B,0x86DF,0x86D9,0x86ED,0x86D4,0x86DB,
+0x86E4,0x86D0,0x86DE,0x8857,0x88C1,0x88C2,0x88B1,0x8983,
+0x8996,0x8A3B,0x8A60,0x8A55,0x8A5E,0x8A3C,0x8A41, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8A54,0x8A5B,0x8A50,0x8A46,0x8A34,0x8A3A,0x8A36,0x8A56,
+0x8C61,0x8C82,0x8CAF,0x8CBC,0x8CB3,0x8CBD,0x8CC1,0x8CBB,
+0x8CC0,0x8CB4,0x8CB7,0x8CB6,0x8CBF,0x8CB8,0x8D8A,0x8D85,
+0x8D81,0x8DCE,0x8DDD,0x8DCB,0x8DDA,0x8DD1,0x8DCC,0x8DDB,
+0x8DC6,0x8EFB,0x8EF8,0x8EFC,0x8F9C,0x902E,0x9035,0x9031,
+0x9038,0x9032,0x9036,0x9102,0x90F5,0x9109,0x90FE,0x9163,
+0x9165,0x91CF,0x9214,0x9215,0x9223,0x9209,0x921E,0x920D,
+0x9210,0x9207,0x9211,0x9594,0x958F,0x958B,0x9591, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9593,0x9592,0x958E,0x968A,0x968E,0x968B,0x967D,
+0x9685,0x9686,0x968D,0x9672,0x9684,0x96C1,0x96C5,0x96C4,
+0x96C6,0x96C7,0x96EF,0x96F2,0x97CC,0x9805,0x9806,0x9808,
+0x98E7,0x98EA,0x98EF,0x98E9,0x98F2,0x98ED,0x99AE,0x99AD,
+0x9EC3,0x9ECD,0x9ED1,0x4E82,0x50AD,0x50B5,0x50B2,0x50B3,
+0x50C5,0x50BE,0x50AC,0x50B7,0x50BB,0x50AF,0x50C7,0x527F,
+0x5277,0x527D,0x52DF,0x52E6,0x52E4,0x52E2,0x52E3,0x532F,
+0x55DF,0x55E8,0x55D3,0x55E6,0x55CE,0x55DC,0x55C7,0x55D1,
+0x55E3,0x55E4,0x55EF,0x55DA,0x55E1,0x55C5,0x55C6,0x55E5,
+0x55C9,0x5712,0x5713,0x585E,0x5851,0x5858,0x5857,0x585A,
+0x5854,0x586B,0x584C,0x586D,0x584A,0x5862,0x5852,0x584B,
+0x5967,0x5AC1,0x5AC9,0x5ACC,0x5ABE,0x5ABD,0x5ABC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5AB3,0x5AC2,0x5AB2,0x5D69,0x5D6F,0x5E4C,0x5E79,0x5EC9,
+0x5EC8,0x5F12,0x5F59,0x5FAC,0x5FAE,0x611A,0x610F,0x6148,
+0x611F,0x60F3,0x611B,0x60F9,0x6101,0x6108,0x614E,0x614C,
+0x6144,0x614D,0x613E,0x6134,0x6127,0x610D,0x6106,0x6137,
+0x6221,0x6222,0x6413,0x643E,0x641E,0x642A,0x642D,0x643D,
+0x642C,0x640F,0x641C,0x6414,0x640D,0x6436,0x6416,0x6417,
+0x6406,0x656C,0x659F,0x65B0,0x6697,0x6689,0x6687,0x6688,
+0x6696,0x6684,0x6698,0x668D,0x6703,0x6994,0x696D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x695A,0x6977,0x6960,0x6954,0x6975,0x6930,0x6982,
+0x694A,0x6968,0x696B,0x695E,0x6953,0x6979,0x6986,0x695D,
+0x6963,0x695B,0x6B47,0x6B72,0x6BC0,0x6BBF,0x6BD3,0x6BFD,
+0x6EA2,0x6EAF,0x6ED3,0x6EB6,0x6EC2,0x6E90,0x6E9D,0x6EC7,
+0x6EC5,0x6EA5,0x6E98,0x6EBC,0x6EBA,0x6EAB,0x6ED1,0x6E96,
+0x6E9C,0x6EC4,0x6ED4,0x6EAA,0x6EA7,0x6EB4,0x714E,0x7159,
+0x7169,0x7164,0x7149,0x7167,0x715C,0x716C,0x7166,0x714C,
+0x7165,0x715E,0x7146,0x7168,0x7156,0x723A,0x7252,0x7337,
+0x7345,0x733F,0x733E,0x746F,0x745A,0x7455,0x745F,0x745E,
+0x7441,0x743F,0x7459,0x745B,0x745C,0x7576,0x7578,0x7600,
+0x75F0,0x7601,0x75F2,0x75F1,0x75FA,0x75FF,0x75F4,0x75F3,
+0x76DE,0x76DF,0x775B,0x776B,0x7766,0x775E,0x7763, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7779,0x776A,0x776C,0x775C,0x7765,0x7768,0x7762,0x77EE,
+0x788E,0x78B0,0x7897,0x7898,0x788C,0x7889,0x787C,0x7891,
+0x7893,0x787F,0x797A,0x797F,0x7981,0x842C,0x79BD,0x7A1C,
+0x7A1A,0x7A20,0x7A14,0x7A1F,0x7A1E,0x7A9F,0x7AA0,0x7B77,
+0x7BC0,0x7B60,0x7B6E,0x7B67,0x7CB1,0x7CB3,0x7CB5,0x7D93,
+0x7D79,0x7D91,0x7D81,0x7D8F,0x7D5B,0x7F6E,0x7F69,0x7F6A,
+0x7F72,0x7FA9,0x7FA8,0x7FA4,0x8056,0x8058,0x8086,0x8084,
+0x8171,0x8170,0x8178,0x8165,0x816E,0x8173,0x816B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8179,0x817A,0x8166,0x8205,0x8247,0x8482,0x8477,
+0x843D,0x8431,0x8475,0x8466,0x846B,0x8449,0x846C,0x845B,
+0x843C,0x8435,0x8461,0x8463,0x8469,0x846D,0x8446,0x865E,
+0x865C,0x865F,0x86F9,0x8713,0x8708,0x8707,0x8700,0x86FE,
+0x86FB,0x8702,0x8703,0x8706,0x870A,0x8859,0x88DF,0x88D4,
+0x88D9,0x88DC,0x88D8,0x88DD,0x88E1,0x88CA,0x88D5,0x88D2,
+0x899C,0x89E3,0x8A6B,0x8A72,0x8A73,0x8A66,0x8A69,0x8A70,
+0x8A87,0x8A7C,0x8A63,0x8AA0,0x8A71,0x8A85,0x8A6D,0x8A62,
+0x8A6E,0x8A6C,0x8A79,0x8A7B,0x8A3E,0x8A68,0x8C62,0x8C8A,
+0x8C89,0x8CCA,0x8CC7,0x8CC8,0x8CC4,0x8CB2,0x8CC3,0x8CC2,
+0x8CC5,0x8DE1,0x8DDF,0x8DE8,0x8DEF,0x8DF3,0x8DFA,0x8DEA,
+0x8DE4,0x8DE6,0x8EB2,0x8F03,0x8F09,0x8EFE,0x8F0A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8F9F,0x8FB2,0x904B,0x904A,0x9053,0x9042,0x9054,0x903C,
+0x9055,0x9050,0x9047,0x904F,0x904E,0x904D,0x9051,0x903E,
+0x9041,0x9112,0x9117,0x916C,0x916A,0x9169,0x91C9,0x9237,
+0x9257,0x9238,0x923D,0x9240,0x923E,0x925B,0x924B,0x9264,
+0x9251,0x9234,0x9249,0x924D,0x9245,0x9239,0x923F,0x925A,
+0x9598,0x9698,0x9694,0x9695,0x96CD,0x96CB,0x96C9,0x96CA,
+0x96F7,0x96FB,0x96F9,0x96F6,0x9756,0x9774,0x9776,0x9810,
+0x9811,0x9813,0x980A,0x9812,0x980C,0x98FC,0x98F4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x98FD,0x98FE,0x99B3,0x99B1,0x99B4,0x9AE1,0x9CE9,
+0x9E82,0x9F0E,0x9F13,0x9F20,0x50E7,0x50EE,0x50E5,0x50D6,
+0x50ED,0x50DA,0x50D5,0x50CF,0x50D1,0x50F1,0x50CE,0x50E9,
+0x5162,0x51F3,0x5283,0x5282,0x5331,0x53AD,0x55FE,0x5600,
+0x561B,0x5617,0x55FD,0x5614,0x5606,0x5609,0x560D,0x560E,
+0x55F7,0x5616,0x561F,0x5608,0x5610,0x55F6,0x5718,0x5716,
+0x5875,0x587E,0x5883,0x5893,0x588A,0x5879,0x5885,0x587D,
+0x58FD,0x5925,0x5922,0x5924,0x596A,0x5969,0x5AE1,0x5AE6,
+0x5AE9,0x5AD7,0x5AD6,0x5AD8,0x5AE3,0x5B75,0x5BDE,0x5BE7,
+0x5BE1,0x5BE5,0x5BE6,0x5BE8,0x5BE2,0x5BE4,0x5BDF,0x5C0D,
+0x5C62,0x5D84,0x5D87,0x5E5B,0x5E63,0x5E55,0x5E57,0x5E54,
+0x5ED3,0x5ED6,0x5F0A,0x5F46,0x5F70,0x5FB9,0x6147, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x613F,0x614B,0x6177,0x6162,0x6163,0x615F,0x615A,0x6158,
+0x6175,0x622A,0x6487,0x6458,0x6454,0x64A4,0x6478,0x645F,
+0x647A,0x6451,0x6467,0x6434,0x646D,0x647B,0x6572,0x65A1,
+0x65D7,0x65D6,0x66A2,0x66A8,0x669D,0x699C,0x69A8,0x6995,
+0x69C1,0x69AE,0x69D3,0x69CB,0x699B,0x69B7,0x69BB,0x69AB,
+0x69B4,0x69D0,0x69CD,0x69AD,0x69CC,0x69A6,0x69C3,0x69A3,
+0x6B49,0x6B4C,0x6C33,0x6F33,0x6F14,0x6EFE,0x6F13,0x6EF4,
+0x6F29,0x6F3E,0x6F20,0x6F2C,0x6F0F,0x6F02,0x6F22, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6EFF,0x6EEF,0x6F06,0x6F31,0x6F38,0x6F32,0x6F23,
+0x6F15,0x6F2B,0x6F2F,0x6F88,0x6F2A,0x6EEC,0x6F01,0x6EF2,
+0x6ECC,0x6EF7,0x7194,0x7199,0x717D,0x718A,0x7184,0x7192,
+0x723E,0x7292,0x7296,0x7344,0x7350,0x7464,0x7463,0x746A,
+0x7470,0x746D,0x7504,0x7591,0x7627,0x760D,0x760B,0x7609,
+0x7613,0x76E1,0x76E3,0x7784,0x777D,0x777F,0x7761,0x78C1,
+0x789F,0x78A7,0x78B3,0x78A9,0x78A3,0x798E,0x798F,0x798D,
+0x7A2E,0x7A31,0x7AAA,0x7AA9,0x7AED,0x7AEF,0x7BA1,0x7B95,
+0x7B8B,0x7B75,0x7B97,0x7B9D,0x7B94,0x7B8F,0x7BB8,0x7B87,
+0x7B84,0x7CB9,0x7CBD,0x7CBE,0x7DBB,0x7DB0,0x7D9C,0x7DBD,
+0x7DBE,0x7DA0,0x7DCA,0x7DB4,0x7DB2,0x7DB1,0x7DBA,0x7DA2,
+0x7DBF,0x7DB5,0x7DB8,0x7DAD,0x7DD2,0x7DC7,0x7DAC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7F70,0x7FE0,0x7FE1,0x7FDF,0x805E,0x805A,0x8087,0x8150,
+0x8180,0x818F,0x8188,0x818A,0x817F,0x8182,0x81E7,0x81FA,
+0x8207,0x8214,0x821E,0x824B,0x84C9,0x84BF,0x84C6,0x84C4,
+0x8499,0x849E,0x84B2,0x849C,0x84CB,0x84B8,0x84C0,0x84D3,
+0x8490,0x84BC,0x84D1,0x84CA,0x873F,0x871C,0x873B,0x8722,
+0x8725,0x8734,0x8718,0x8755,0x8737,0x8729,0x88F3,0x8902,
+0x88F4,0x88F9,0x88F8,0x88FD,0x88E8,0x891A,0x88EF,0x8AA6,
+0x8A8C,0x8A9E,0x8AA3,0x8A8D,0x8AA1,0x8A93,0x8AA4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8AAA,0x8AA5,0x8AA8,0x8A98,0x8A91,0x8A9A,0x8AA7,
+0x8C6A,0x8C8D,0x8C8C,0x8CD3,0x8CD1,0x8CD2,0x8D6B,0x8D99,
+0x8D95,0x8DFC,0x8F14,0x8F12,0x8F15,0x8F13,0x8FA3,0x9060,
+0x9058,0x905C,0x9063,0x9059,0x905E,0x9062,0x905D,0x905B,
+0x9119,0x9118,0x911E,0x9175,0x9178,0x9177,0x9174,0x9278,
+0x9280,0x9285,0x9298,0x9296,0x927B,0x9293,0x929C,0x92A8,
+0x927C,0x9291,0x95A1,0x95A8,0x95A9,0x95A3,0x95A5,0x95A4,
+0x9699,0x969C,0x969B,0x96CC,0x96D2,0x9700,0x977C,0x9785,
+0x97F6,0x9817,0x9818,0x98AF,0x98B1,0x9903,0x9905,0x990C,
+0x9909,0x99C1,0x9AAF,0x9AB0,0x9AE6,0x9B41,0x9B42,0x9CF4,
+0x9CF6,0x9CF3,0x9EBC,0x9F3B,0x9F4A,0x5104,0x5100,0x50FB,
+0x50F5,0x50F9,0x5102,0x5108,0x5109,0x5105,0x51DC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5287,0x5288,0x5289,0x528D,0x528A,0x52F0,0x53B2,0x562E,
+0x563B,0x5639,0x5632,0x563F,0x5634,0x5629,0x5653,0x564E,
+0x5657,0x5674,0x5636,0x562F,0x5630,0x5880,0x589F,0x589E,
+0x58B3,0x589C,0x58AE,0x58A9,0x58A6,0x596D,0x5B09,0x5AFB,
+0x5B0B,0x5AF5,0x5B0C,0x5B08,0x5BEE,0x5BEC,0x5BE9,0x5BEB,
+0x5C64,0x5C65,0x5D9D,0x5D94,0x5E62,0x5E5F,0x5E61,0x5EE2,
+0x5EDA,0x5EDF,0x5EDD,0x5EE3,0x5EE0,0x5F48,0x5F71,0x5FB7,
+0x5FB5,0x6176,0x6167,0x616E,0x615D,0x6155,0x6182, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x617C,0x6170,0x616B,0x617E,0x61A7,0x6190,0x61AB,
+0x618E,0x61AC,0x619A,0x61A4,0x6194,0x61AE,0x622E,0x6469,
+0x646F,0x6479,0x649E,0x64B2,0x6488,0x6490,0x64B0,0x64A5,
+0x6493,0x6495,0x64A9,0x6492,0x64AE,0x64AD,0x64AB,0x649A,
+0x64AC,0x6499,0x64A2,0x64B3,0x6575,0x6577,0x6578,0x66AE,
+0x66AB,0x66B4,0x66B1,0x6A23,0x6A1F,0x69E8,0x6A01,0x6A1E,
+0x6A19,0x69FD,0x6A21,0x6A13,0x6A0A,0x69F3,0x6A02,0x6A05,
+0x69ED,0x6A11,0x6B50,0x6B4E,0x6BA4,0x6BC5,0x6BC6,0x6F3F,
+0x6F7C,0x6F84,0x6F51,0x6F66,0x6F54,0x6F86,0x6F6D,0x6F5B,
+0x6F78,0x6F6E,0x6F8E,0x6F7A,0x6F70,0x6F64,0x6F97,0x6F58,
+0x6ED5,0x6F6F,0x6F60,0x6F5F,0x719F,0x71AC,0x71B1,0x71A8,
+0x7256,0x729B,0x734E,0x7357,0x7469,0x748B,0x7483, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x747E,0x7480,0x757F,0x7620,0x7629,0x761F,0x7624,0x7626,
+0x7621,0x7622,0x769A,0x76BA,0x76E4,0x778E,0x7787,0x778C,
+0x7791,0x778B,0x78CB,0x78C5,0x78BA,0x78CA,0x78BE,0x78D5,
+0x78BC,0x78D0,0x7A3F,0x7A3C,0x7A40,0x7A3D,0x7A37,0x7A3B,
+0x7AAF,0x7AAE,0x7BAD,0x7BB1,0x7BC4,0x7BB4,0x7BC6,0x7BC7,
+0x7BC1,0x7BA0,0x7BCC,0x7CCA,0x7DE0,0x7DF4,0x7DEF,0x7DFB,
+0x7DD8,0x7DEC,0x7DDD,0x7DE8,0x7DE3,0x7DDA,0x7DDE,0x7DE9,
+0x7D9E,0x7DD9,0x7DF2,0x7DF9,0x7F75,0x7F77,0x7FAF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7FE9,0x8026,0x819B,0x819C,0x819D,0x81A0,0x819A,
+0x8198,0x8517,0x853D,0x851A,0x84EE,0x852C,0x852D,0x8513,
+0x8511,0x8523,0x8521,0x8514,0x84EC,0x8525,0x84FF,0x8506,
+0x8782,0x8774,0x8776,0x8760,0x8766,0x8778,0x8768,0x8759,
+0x8757,0x874C,0x8753,0x885B,0x885D,0x8910,0x8907,0x8912,
+0x8913,0x8915,0x890A,0x8ABC,0x8AD2,0x8AC7,0x8AC4,0x8A95,
+0x8ACB,0x8AF8,0x8AB2,0x8AC9,0x8AC2,0x8ABF,0x8AB0,0x8AD6,
+0x8ACD,0x8AB6,0x8AB9,0x8ADB,0x8C4C,0x8C4E,0x8C6C,0x8CE0,
+0x8CDE,0x8CE6,0x8CE4,0x8CEC,0x8CED,0x8CE2,0x8CE3,0x8CDC,
+0x8CEA,0x8CE1,0x8D6D,0x8D9F,0x8DA3,0x8E2B,0x8E10,0x8E1D,
+0x8E22,0x8E0F,0x8E29,0x8E1F,0x8E21,0x8E1E,0x8EBA,0x8F1D,
+0x8F1B,0x8F1F,0x8F29,0x8F26,0x8F2A,0x8F1C,0x8F1E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8F25,0x9069,0x906E,0x9068,0x906D,0x9077,0x9130,0x912D,
+0x9127,0x9131,0x9187,0x9189,0x918B,0x9183,0x92C5,0x92BB,
+0x92B7,0x92EA,0x92AC,0x92E4,0x92C1,0x92B3,0x92BC,0x92D2,
+0x92C7,0x92F0,0x92B2,0x95AD,0x95B1,0x9704,0x9706,0x9707,
+0x9709,0x9760,0x978D,0x978B,0x978F,0x9821,0x982B,0x981C,
+0x98B3,0x990A,0x9913,0x9912,0x9918,0x99DD,0x99D0,0x99DF,
+0x99DB,0x99D1,0x99D5,0x99D2,0x99D9,0x9AB7,0x9AEE,0x9AEF,
+0x9B27,0x9B45,0x9B44,0x9B77,0x9B6F,0x9D06,0x9D09, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9D03,0x9EA9,0x9EBE,0x9ECE,0x58A8,0x9F52,0x5112,
+0x5118,0x5114,0x5110,0x5115,0x5180,0x51AA,0x51DD,0x5291,
+0x5293,0x52F3,0x5659,0x566B,0x5679,0x5669,0x5664,0x5678,
+0x566A,0x5668,0x5665,0x5671,0x566F,0x566C,0x5662,0x5676,
+0x58C1,0x58BE,0x58C7,0x58C5,0x596E,0x5B1D,0x5B34,0x5B78,
+0x5BF0,0x5C0E,0x5F4A,0x61B2,0x6191,0x61A9,0x618A,0x61CD,
+0x61B6,0x61BE,0x61CA,0x61C8,0x6230,0x64C5,0x64C1,0x64CB,
+0x64BB,0x64BC,0x64DA,0x64C4,0x64C7,0x64C2,0x64CD,0x64BF,
+0x64D2,0x64D4,0x64BE,0x6574,0x66C6,0x66C9,0x66B9,0x66C4,
+0x66C7,0x66B8,0x6A3D,0x6A38,0x6A3A,0x6A59,0x6A6B,0x6A58,
+0x6A39,0x6A44,0x6A62,0x6A61,0x6A4B,0x6A47,0x6A35,0x6A5F,
+0x6A48,0x6B59,0x6B77,0x6C05,0x6FC2,0x6FB1,0x6FA1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6FC3,0x6FA4,0x6FC1,0x6FA7,0x6FB3,0x6FC0,0x6FB9,0x6FB6,
+0x6FA6,0x6FA0,0x6FB4,0x71BE,0x71C9,0x71D0,0x71D2,0x71C8,
+0x71D5,0x71B9,0x71CE,0x71D9,0x71DC,0x71C3,0x71C4,0x7368,
+0x749C,0x74A3,0x7498,0x749F,0x749E,0x74E2,0x750C,0x750D,
+0x7634,0x7638,0x763A,0x76E7,0x76E5,0x77A0,0x779E,0x779F,
+0x77A5,0x78E8,0x78DA,0x78EC,0x78E7,0x79A6,0x7A4D,0x7A4E,
+0x7A46,0x7A4C,0x7A4B,0x7ABA,0x7BD9,0x7C11,0x7BC9,0x7BE4,
+0x7BDB,0x7BE1,0x7BE9,0x7BE6,0x7CD5,0x7CD6,0x7E0A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7E11,0x7E08,0x7E1B,0x7E23,0x7E1E,0x7E1D,0x7E09,
+0x7E10,0x7F79,0x7FB2,0x7FF0,0x7FF1,0x7FEE,0x8028,0x81B3,
+0x81A9,0x81A8,0x81FB,0x8208,0x8258,0x8259,0x854A,0x8559,
+0x8548,0x8568,0x8569,0x8543,0x8549,0x856D,0x856A,0x855E,
+0x8783,0x879F,0x879E,0x87A2,0x878D,0x8861,0x892A,0x8932,
+0x8925,0x892B,0x8921,0x89AA,0x89A6,0x8AE6,0x8AFA,0x8AEB,
+0x8AF1,0x8B00,0x8ADC,0x8AE7,0x8AEE,0x8AFE,0x8B01,0x8B02,
+0x8AF7,0x8AED,0x8AF3,0x8AF6,0x8AFC,0x8C6B,0x8C6D,0x8C93,
+0x8CF4,0x8E44,0x8E31,0x8E34,0x8E42,0x8E39,0x8E35,0x8F3B,
+0x8F2F,0x8F38,0x8F33,0x8FA8,0x8FA6,0x9075,0x9074,0x9078,
+0x9072,0x907C,0x907A,0x9134,0x9192,0x9320,0x9336,0x92F8,
+0x9333,0x932F,0x9322,0x92FC,0x932B,0x9304,0x931A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9310,0x9326,0x9321,0x9315,0x932E,0x9319,0x95BB,0x96A7,
+0x96A8,0x96AA,0x96D5,0x970E,0x9711,0x9716,0x970D,0x9713,
+0x970F,0x975B,0x975C,0x9766,0x9798,0x9830,0x9838,0x983B,
+0x9837,0x982D,0x9839,0x9824,0x9910,0x9928,0x991E,0x991B,
+0x9921,0x991A,0x99ED,0x99E2,0x99F1,0x9AB8,0x9ABC,0x9AFB,
+0x9AED,0x9B28,0x9B91,0x9D15,0x9D23,0x9D26,0x9D28,0x9D12,
+0x9D1B,0x9ED8,0x9ED4,0x9F8D,0x9F9C,0x512A,0x511F,0x5121,
+0x5132,0x52F5,0x568E,0x5680,0x5690,0x5685,0x5687, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x568F,0x58D5,0x58D3,0x58D1,0x58CE,0x5B30,0x5B2A,
+0x5B24,0x5B7A,0x5C37,0x5C68,0x5DBC,0x5DBA,0x5DBD,0x5DB8,
+0x5E6B,0x5F4C,0x5FBD,0x61C9,0x61C2,0x61C7,0x61E6,0x61CB,
+0x6232,0x6234,0x64CE,0x64CA,0x64D8,0x64E0,0x64F0,0x64E6,
+0x64EC,0x64F1,0x64E2,0x64ED,0x6582,0x6583,0x66D9,0x66D6,
+0x6A80,0x6A94,0x6A84,0x6AA2,0x6A9C,0x6ADB,0x6AA3,0x6A7E,
+0x6A97,0x6A90,0x6AA0,0x6B5C,0x6BAE,0x6BDA,0x6C08,0x6FD8,
+0x6FF1,0x6FDF,0x6FE0,0x6FDB,0x6FE4,0x6FEB,0x6FEF,0x6F80,
+0x6FEC,0x6FE1,0x6FE9,0x6FD5,0x6FEE,0x6FF0,0x71E7,0x71DF,
+0x71EE,0x71E6,0x71E5,0x71ED,0x71EC,0x71F4,0x71E0,0x7235,
+0x7246,0x7370,0x7372,0x74A9,0x74B0,0x74A6,0x74A8,0x7646,
+0x7642,0x764C,0x76EA,0x77B3,0x77AA,0x77B0,0x77AC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x77A7,0x77AD,0x77EF,0x78F7,0x78FA,0x78F4,0x78EF,0x7901,
+0x79A7,0x79AA,0x7A57,0x7ABF,0x7C07,0x7C0D,0x7BFE,0x7BF7,
+0x7C0C,0x7BE0,0x7CE0,0x7CDC,0x7CDE,0x7CE2,0x7CDF,0x7CD9,
+0x7CDD,0x7E2E,0x7E3E,0x7E46,0x7E37,0x7E32,0x7E43,0x7E2B,
+0x7E3D,0x7E31,0x7E45,0x7E41,0x7E34,0x7E39,0x7E48,0x7E35,
+0x7E3F,0x7E2F,0x7F44,0x7FF3,0x7FFC,0x8071,0x8072,0x8070,
+0x806F,0x8073,0x81C6,0x81C3,0x81BA,0x81C2,0x81C0,0x81BF,
+0x81BD,0x81C9,0x81BE,0x81E8,0x8209,0x8271,0x85AA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8584,0x857E,0x859C,0x8591,0x8594,0x85AF,0x859B,
+0x8587,0x85A8,0x858A,0x8667,0x87C0,0x87D1,0x87B3,0x87D2,
+0x87C6,0x87AB,0x87BB,0x87BA,0x87C8,0x87CB,0x893B,0x8936,
+0x8944,0x8938,0x893D,0x89AC,0x8B0E,0x8B17,0x8B19,0x8B1B,
+0x8B0A,0x8B20,0x8B1D,0x8B04,0x8B10,0x8C41,0x8C3F,0x8C73,
+0x8CFA,0x8CFD,0x8CFC,0x8CF8,0x8CFB,0x8DA8,0x8E49,0x8E4B,
+0x8E48,0x8E4A,0x8F44,0x8F3E,0x8F42,0x8F45,0x8F3F,0x907F,
+0x907D,0x9084,0x9081,0x9082,0x9080,0x9139,0x91A3,0x919E,
+0x919C,0x934D,0x9382,0x9328,0x9375,0x934A,0x9365,0x934B,
+0x9318,0x937E,0x936C,0x935B,0x9370,0x935A,0x9354,0x95CA,
+0x95CB,0x95CC,0x95C8,0x95C6,0x96B1,0x96B8,0x96D6,0x971C,
+0x971E,0x97A0,0x97D3,0x9846,0x98B6,0x9935,0x9A01, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x99FF,0x9BAE,0x9BAB,0x9BAA,0x9BAD,0x9D3B,0x9D3F,0x9E8B,
+0x9ECF,0x9EDE,0x9EDC,0x9EDD,0x9EDB,0x9F3E,0x9F4B,0x53E2,
+0x5695,0x56AE,0x58D9,0x58D8,0x5B38,0x5F5D,0x61E3,0x6233,
+0x64F4,0x64F2,0x64FE,0x6506,0x64FA,0x64FB,0x64F7,0x65B7,
+0x66DC,0x6726,0x6AB3,0x6AAC,0x6AC3,0x6ABB,0x6AB8,0x6AC2,
+0x6AAE,0x6AAF,0x6B5F,0x6B78,0x6BAF,0x7009,0x700B,0x6FFE,
+0x7006,0x6FFA,0x7011,0x700F,0x71FB,0x71FC,0x71FE,0x71F8,
+0x7377,0x7375,0x74A7,0x74BF,0x7515,0x7656,0x7658, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7652,0x77BD,0x77BF,0x77BB,0x77BC,0x790E,0x79AE,
+0x7A61,0x7A62,0x7A60,0x7AC4,0x7AC5,0x7C2B,0x7C27,0x7C2A,
+0x7C1E,0x7C23,0x7C21,0x7CE7,0x7E54,0x7E55,0x7E5E,0x7E5A,
+0x7E61,0x7E52,0x7E59,0x7F48,0x7FF9,0x7FFB,0x8077,0x8076,
+0x81CD,0x81CF,0x820A,0x85CF,0x85A9,0x85CD,0x85D0,0x85C9,
+0x85B0,0x85BA,0x85B9,0x85A6,0x87EF,0x87EC,0x87F2,0x87E0,
+0x8986,0x89B2,0x89F4,0x8B28,0x8B39,0x8B2C,0x8B2B,0x8C50,
+0x8D05,0x8E59,0x8E63,0x8E66,0x8E64,0x8E5F,0x8E55,0x8EC0,
+0x8F49,0x8F4D,0x9087,0x9083,0x9088,0x91AB,0x91AC,0x91D0,
+0x9394,0x938A,0x9396,0x93A2,0x93B3,0x93AE,0x93AC,0x93B0,
+0x9398,0x939A,0x9397,0x95D4,0x95D6,0x95D0,0x95D5,0x96E2,
+0x96DC,0x96D9,0x96DB,0x96DE,0x9724,0x97A3,0x97A6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x97AD,0x97F9,0x984D,0x984F,0x984C,0x984E,0x9853,0x98BA,
+0x993E,0x993F,0x993D,0x992E,0x99A5,0x9A0E,0x9AC1,0x9B03,
+0x9B06,0x9B4F,0x9B4E,0x9B4D,0x9BCA,0x9BC9,0x9BFD,0x9BC8,
+0x9BC0,0x9D51,0x9D5D,0x9D60,0x9EE0,0x9F15,0x9F2C,0x5133,
+0x56A5,0x58DE,0x58DF,0x58E2,0x5BF5,0x9F90,0x5EEC,0x61F2,
+0x61F7,0x61F6,0x61F5,0x6500,0x650F,0x66E0,0x66DD,0x6AE5,
+0x6ADD,0x6ADA,0x6AD3,0x701B,0x701F,0x7028,0x701A,0x701D,
+0x7015,0x7018,0x7206,0x720D,0x7258,0x72A2,0x7378, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x737A,0x74BD,0x74CA,0x74E3,0x7587,0x7586,0x765F,
+0x7661,0x77C7,0x7919,0x79B1,0x7A6B,0x7A69,0x7C3E,0x7C3F,
+0x7C38,0x7C3D,0x7C37,0x7C40,0x7E6B,0x7E6D,0x7E79,0x7E69,
+0x7E6A,0x7F85,0x7E73,0x7FB6,0x7FB9,0x7FB8,0x81D8,0x85E9,
+0x85DD,0x85EA,0x85D5,0x85E4,0x85E5,0x85F7,0x87FB,0x8805,
+0x880D,0x87F9,0x87FE,0x8960,0x895F,0x8956,0x895E,0x8B41,
+0x8B5C,0x8B58,0x8B49,0x8B5A,0x8B4E,0x8B4F,0x8B46,0x8B59,
+0x8D08,0x8D0A,0x8E7C,0x8E72,0x8E87,0x8E76,0x8E6C,0x8E7A,
+0x8E74,0x8F54,0x8F4E,0x8FAD,0x908A,0x908B,0x91B1,0x91AE,
+0x93E1,0x93D1,0x93DF,0x93C3,0x93C8,0x93DC,0x93DD,0x93D6,
+0x93E2,0x93CD,0x93D8,0x93E4,0x93D7,0x93E8,0x95DC,0x96B4,
+0x96E3,0x972A,0x9727,0x9761,0x97DC,0x97FB,0x985E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9858,0x985B,0x98BC,0x9945,0x9949,0x9A16,0x9A19,0x9B0D,
+0x9BE8,0x9BE7,0x9BD6,0x9BDB,0x9D89,0x9D61,0x9D72,0x9D6A,
+0x9D6C,0x9E92,0x9E97,0x9E93,0x9EB4,0x52F8,0x56A8,0x56B7,
+0x56B6,0x56B4,0x56BC,0x58E4,0x5B40,0x5B43,0x5B7D,0x5BF6,
+0x5DC9,0x61F8,0x61FA,0x6518,0x6514,0x6519,0x66E6,0x6727,
+0x6AEC,0x703E,0x7030,0x7032,0x7210,0x737B,0x74CF,0x7662,
+0x7665,0x7926,0x792A,0x792C,0x792B,0x7AC7,0x7AF6,0x7C4C,
+0x7C43,0x7C4D,0x7CEF,0x7CF0,0x8FAE,0x7E7D,0x7E7C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7E82,0x7F4C,0x8000,0x81DA,0x8266,0x85FB,0x85F9,
+0x8611,0x85FA,0x8606,0x860B,0x8607,0x860A,0x8814,0x8815,
+0x8964,0x89BA,0x89F8,0x8B70,0x8B6C,0x8B66,0x8B6F,0x8B5F,
+0x8B6B,0x8D0F,0x8D0D,0x8E89,0x8E81,0x8E85,0x8E82,0x91B4,
+0x91CB,0x9418,0x9403,0x93FD,0x95E1,0x9730,0x98C4,0x9952,
+0x9951,0x99A8,0x9A2B,0x9A30,0x9A37,0x9A35,0x9C13,0x9C0D,
+0x9E79,0x9EB5,0x9EE8,0x9F2F,0x9F5F,0x9F63,0x9F61,0x5137,
+0x5138,0x56C1,0x56C0,0x56C2,0x5914,0x5C6C,0x5DCD,0x61FC,
+0x61FE,0x651D,0x651C,0x6595,0x66E9,0x6AFB,0x6B04,0x6AFA,
+0x6BB2,0x704C,0x721B,0x72A7,0x74D6,0x74D4,0x7669,0x77D3,
+0x7C50,0x7E8F,0x7E8C,0x7FBC,0x8617,0x862D,0x861A,0x8823,
+0x8822,0x8821,0x881F,0x896A,0x896C,0x89BD,0x8B74, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8B77,0x8B7D,0x8D13,0x8E8A,0x8E8D,0x8E8B,0x8F5F,0x8FAF,
+0x91BA,0x942E,0x9433,0x9435,0x943A,0x9438,0x9432,0x942B,
+0x95E2,0x9738,0x9739,0x9732,0x97FF,0x9867,0x9865,0x9957,
+0x9A45,0x9A43,0x9A40,0x9A3E,0x9ACF,0x9B54,0x9B51,0x9C2D,
+0x9C25,0x9DAF,0x9DB4,0x9DC2,0x9DB8,0x9E9D,0x9EEF,0x9F19,
+0x9F5C,0x9F66,0x9F67,0x513C,0x513B,0x56C8,0x56CA,0x56C9,
+0x5B7F,0x5DD4,0x5DD2,0x5F4E,0x61FF,0x6524,0x6B0A,0x6B61,
+0x7051,0x7058,0x7380,0x74E4,0x758A,0x766E,0x766C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x79B3,0x7C60,0x7C5F,0x807E,0x807D,0x81DF,0x8972,
+0x896F,0x89FC,0x8B80,0x8D16,0x8D17,0x8E91,0x8E93,0x8F61,
+0x9148,0x9444,0x9451,0x9452,0x973D,0x973E,0x97C3,0x97C1,
+0x986B,0x9955,0x9A55,0x9A4D,0x9AD2,0x9B1A,0x9C49,0x9C31,
+0x9C3E,0x9C3B,0x9DD3,0x9DD7,0x9F34,0x9F6C,0x9F6A,0x9F94,
+0x56CC,0x5DD6,0x6200,0x6523,0x652B,0x652A,0x66EC,0x6B10,
+0x74DA,0x7ACA,0x7C64,0x7C63,0x7C65,0x7E93,0x7E96,0x7E94,
+0x81E2,0x8638,0x863F,0x8831,0x8B8A,0x9090,0x908F,0x9463,
+0x9460,0x9464,0x9768,0x986F,0x995C,0x9A5A,0x9A5B,0x9A57,
+0x9AD3,0x9AD4,0x9AD1,0x9C54,0x9C57,0x9C56,0x9DE5,0x9E9F,
+0x9EF4,0x56D1,0x58E9,0x652C,0x705E,0x7671,0x7672,0x77D7,
+0x7F50,0x7F88,0x8836,0x8839,0x8862,0x8B93,0x8B92, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8B96,0x8277,0x8D1B,0x91C0,0x946A,0x9742,0x9748,0x9744,
+0x97C6,0x9870,0x9A5F,0x9B22,0x9B58,0x9C5F,0x9DF9,0x9DFA,
+0x9E7C,0x9E7D,0x9F07,0x9F77,0x9F72,0x5EF3,0x6B16,0x7063,
+0x7C6C,0x7C6E,0x883B,0x89C0,0x8EA1,0x91C1,0x9472,0x9470,
+0x9871,0x995E,0x9AD6,0x9B23,0x9ECC,0x7064,0x77DA,0x8B9A,
+0x9477,0x97C9,0x9A62,0x9A65,0x7E9C,0x8B9C,0x8EAA,0x91C5,
+0x947D,0x947E,0x947C,0x9C77,0x9C78,0x9EF7,0x8C54,0x947F,
+0x9E1A,0x7228,0x9A6A,0x9B31,0x9E1B,0x9E1E,0x7C72, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x30FE,0x309D,0x309E,0x3005,0x3041,0x3042,0x3043,
+0x3044,0x3045,0x3046,0x3047,0x3048,0x3049,0x304A,0x304B,
+0x304C,0x304D,0x304E,0x304F,0x3050,0x3051,0x3052,0x3053,
+0x3054,0x3055,0x3056,0x3057,0x3058,0x3059,0x305A,0x305B,
+0x305C,0x305D,0x305E,0x305F,0x3060,0x3061,0x3062,0x3063,
+0x3064,0x3065,0x3066,0x3067,0x3068,0x3069,0x306A,0x306B,
+0x306C,0x306D,0x306E,0x306F,0x3070,0x3071,0x3072,0x3073,
+0x3074,0x3075,0x3076,0x3077,0x3078,0x3079,0x307A,0x307B,
+0x307C,0x307D,0x307E,0x307F,0x3080,0x3081,0x3082,0x3083,
+0x3084,0x3085,0x3086,0x3087,0x3088,0x3089,0x308A,0x308B,
+0x308C,0x308D,0x308E,0x308F,0x3090,0x3091,0x3092,0x3093,
+0x30A1,0x30A2,0x30A3,0x30A4,0x30A5,0x30A6,0x30A7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x30A8,0x30A9,0x30AA,0x30AB,0x30AC,0x30AD,0x30AE,0x30AF,
+0x30B0,0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,
+0x30B8,0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,
+0x30C0,0x30C1,0x30C2,0x30C3,0x30C4,0x30C5,0x30C6,0x30C7,
+0x30C8,0x30C9,0x30CA,0x30CB,0x30CC,0x30CD,0x30CE,0x30CF,
+0x30D0,0x30D1,0x30D2,0x30D3,0x30D4,0x30D5,0x30D6,0x30D7,
+0x30D8,0x30D9,0x30DA,0x30DB,0x30DC,0x30DD,0x30DE,0x30DF,
+0x30E0,0x30E1,0x30E2,0x30E3,0x30E4,0x30E5,0x30E6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x30E7,0x30E8,0x30E9,0x30EA,0x30EB,0x30EC,0x30ED,
+0x30EE,0x30EF,0x30F0,0x30F1,0x30F2,0x30F3,0x30F4,0x30F5,
+0x30F6,0x0414,0x0415,0x0401,0x0416,0x0417,0x0418,0x0419,
+0x041A,0x041B,0x041C,0x0423,0x0424,0x0425,0x0426,0x0427,
+0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,0x042F,
+0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0451,0x0436,
+0x0437,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
+0x043F,0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,
+0x0447,0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,
+0x044F,0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,
+0x2467,0x2468,0x2469,0x2474,0x2475,0x2476,0x2477,0x2478,
+0x2479,0x247A,0x247B,0x247C,0x247D};
+
+/* page 1 0xC940-0xF9D5 */
+static uint16 tab_big5_uni1[]={
+0x4E42,0x4E5C,0x51F5,0x531A,0x5382,0x4E07,0x4E0C,0x4E47,
+0x4E8D,0x56D7,0xFA0C,0x5C6E,0x5F73,0x4E0F,0x5187,0x4E0E,
+0x4E2E,0x4E93,0x4EC2,0x4EC9,0x4EC8,0x5198,0x52FC,0x536C,
+0x53B9,0x5720,0x5903,0x592C,0x5C10,0x5DFF,0x65E1,0x6BB3,
+0x6BCC,0x6C14,0x723F,0x4E31,0x4E3C,0x4EE8,0x4EDC,0x4EE9,
+0x4EE1,0x4EDD,0x4EDA,0x520C,0x531C,0x534C,0x5722,0x5723,
+0x5917,0x592F,0x5B81,0x5B84,0x5C12,0x5C3B,0x5C74,0x5C73,
+0x5E04,0x5E80,0x5E82,0x5FC9,0x6209,0x6250,0x6C15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6C36,0x6C43,0x6C3F,0x6C3B,0x72AE,0x72B0,0x738A,
+0x79B8,0x808A,0x961E,0x4F0E,0x4F18,0x4F2C,0x4EF5,0x4F14,
+0x4EF1,0x4F00,0x4EF7,0x4F08,0x4F1D,0x4F02,0x4F05,0x4F22,
+0x4F13,0x4F04,0x4EF4,0x4F12,0x51B1,0x5213,0x5209,0x5210,
+0x52A6,0x5322,0x531F,0x534D,0x538A,0x5407,0x56E1,0x56DF,
+0x572E,0x572A,0x5734,0x593C,0x5980,0x597C,0x5985,0x597B,
+0x597E,0x5977,0x597F,0x5B56,0x5C15,0x5C25,0x5C7C,0x5C7A,
+0x5C7B,0x5C7E,0x5DDF,0x5E75,0x5E84,0x5F02,0x5F1A,0x5F74,
+0x5FD5,0x5FD4,0x5FCF,0x625C,0x625E,0x6264,0x6261,0x6266,
+0x6262,0x6259,0x6260,0x625A,0x6265,0x65EF,0x65EE,0x673E,
+0x6739,0x6738,0x673B,0x673A,0x673F,0x673C,0x6733,0x6C18,
+0x6C46,0x6C52,0x6C5C,0x6C4F,0x6C4A,0x6C54,0x6C4B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6C4C,0x7071,0x725E,0x72B4,0x72B5,0x738E,0x752A,0x767F,
+0x7A75,0x7F51,0x8278,0x827C,0x8280,0x827D,0x827F,0x864D,
+0x897E,0x9099,0x9097,0x9098,0x909B,0x9094,0x9622,0x9624,
+0x9620,0x9623,0x4F56,0x4F3B,0x4F62,0x4F49,0x4F53,0x4F64,
+0x4F3E,0x4F67,0x4F52,0x4F5F,0x4F41,0x4F58,0x4F2D,0x4F33,
+0x4F3F,0x4F61,0x518F,0x51B9,0x521C,0x521E,0x5221,0x52AD,
+0x52AE,0x5309,0x5363,0x5372,0x538E,0x538F,0x5430,0x5437,
+0x542A,0x5454,0x5445,0x5419,0x541C,0x5425,0x5418, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x543D,0x544F,0x5441,0x5428,0x5424,0x5447,0x56EE,
+0x56E7,0x56E5,0x5741,0x5745,0x574C,0x5749,0x574B,0x5752,
+0x5906,0x5940,0x59A6,0x5998,0x59A0,0x5997,0x598E,0x59A2,
+0x5990,0x598F,0x59A7,0x59A1,0x5B8E,0x5B92,0x5C28,0x5C2A,
+0x5C8D,0x5C8F,0x5C88,0x5C8B,0x5C89,0x5C92,0x5C8A,0x5C86,
+0x5C93,0x5C95,0x5DE0,0x5E0A,0x5E0E,0x5E8B,0x5E89,0x5E8C,
+0x5E88,0x5E8D,0x5F05,0x5F1D,0x5F78,0x5F76,0x5FD2,0x5FD1,
+0x5FD0,0x5FED,0x5FE8,0x5FEE,0x5FF3,0x5FE1,0x5FE4,0x5FE3,
+0x5FFA,0x5FEF,0x5FF7,0x5FFB,0x6000,0x5FF4,0x623A,0x6283,
+0x628C,0x628E,0x628F,0x6294,0x6287,0x6271,0x627B,0x627A,
+0x6270,0x6281,0x6288,0x6277,0x627D,0x6272,0x6274,0x6537,
+0x65F0,0x65F4,0x65F3,0x65F2,0x65F5,0x6745,0x6747, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6759,0x6755,0x674C,0x6748,0x675D,0x674D,0x675A,0x674B,
+0x6BD0,0x6C19,0x6C1A,0x6C78,0x6C67,0x6C6B,0x6C84,0x6C8B,
+0x6C8F,0x6C71,0x6C6F,0x6C69,0x6C9A,0x6C6D,0x6C87,0x6C95,
+0x6C9C,0x6C66,0x6C73,0x6C65,0x6C7B,0x6C8E,0x7074,0x707A,
+0x7263,0x72BF,0x72BD,0x72C3,0x72C6,0x72C1,0x72BA,0x72C5,
+0x7395,0x7397,0x7393,0x7394,0x7392,0x753A,0x7539,0x7594,
+0x7595,0x7681,0x793D,0x8034,0x8095,0x8099,0x8090,0x8092,
+0x809C,0x8290,0x828F,0x8285,0x828E,0x8291,0x8293, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x828A,0x8283,0x8284,0x8C78,0x8FC9,0x8FBF,0x909F,
+0x90A1,0x90A5,0x909E,0x90A7,0x90A0,0x9630,0x9628,0x962F,
+0x962D,0x4E33,0x4F98,0x4F7C,0x4F85,0x4F7D,0x4F80,0x4F87,
+0x4F76,0x4F74,0x4F89,0x4F84,0x4F77,0x4F4C,0x4F97,0x4F6A,
+0x4F9A,0x4F79,0x4F81,0x4F78,0x4F90,0x4F9C,0x4F94,0x4F9E,
+0x4F92,0x4F82,0x4F95,0x4F6B,0x4F6E,0x519E,0x51BC,0x51BE,
+0x5235,0x5232,0x5233,0x5246,0x5231,0x52BC,0x530A,0x530B,
+0x533C,0x5392,0x5394,0x5487,0x547F,0x5481,0x5491,0x5482,
+0x5488,0x546B,0x547A,0x547E,0x5465,0x546C,0x5474,0x5466,
+0x548D,0x546F,0x5461,0x5460,0x5498,0x5463,0x5467,0x5464,
+0x56F7,0x56F9,0x576F,0x5772,0x576D,0x576B,0x5771,0x5770,
+0x5776,0x5780,0x5775,0x577B,0x5773,0x5774,0x5762, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5768,0x577D,0x590C,0x5945,0x59B5,0x59BA,0x59CF,0x59CE,
+0x59B2,0x59CC,0x59C1,0x59B6,0x59BC,0x59C3,0x59D6,0x59B1,
+0x59BD,0x59C0,0x59C8,0x59B4,0x59C7,0x5B62,0x5B65,0x5B93,
+0x5B95,0x5C44,0x5C47,0x5CAE,0x5CA4,0x5CA0,0x5CB5,0x5CAF,
+0x5CA8,0x5CAC,0x5C9F,0x5CA3,0x5CAD,0x5CA2,0x5CAA,0x5CA7,
+0x5C9D,0x5CA5,0x5CB6,0x5CB0,0x5CA6,0x5E17,0x5E14,0x5E19,
+0x5F28,0x5F22,0x5F23,0x5F24,0x5F54,0x5F82,0x5F7E,0x5F7D,
+0x5FDE,0x5FE5,0x602D,0x6026,0x6019,0x6032,0x600B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6034,0x600A,0x6017,0x6033,0x601A,0x601E,0x602C,
+0x6022,0x600D,0x6010,0x602E,0x6013,0x6011,0x600C,0x6009,
+0x601C,0x6214,0x623D,0x62AD,0x62B4,0x62D1,0x62BE,0x62AA,
+0x62B6,0x62CA,0x62AE,0x62B3,0x62AF,0x62BB,0x62A9,0x62B0,
+0x62B8,0x653D,0x65A8,0x65BB,0x6609,0x65FC,0x6604,0x6612,
+0x6608,0x65FB,0x6603,0x660B,0x660D,0x6605,0x65FD,0x6611,
+0x6610,0x66F6,0x670A,0x6785,0x676C,0x678E,0x6792,0x6776,
+0x677B,0x6798,0x6786,0x6784,0x6774,0x678D,0x678C,0x677A,
+0x679F,0x6791,0x6799,0x6783,0x677D,0x6781,0x6778,0x6779,
+0x6794,0x6B25,0x6B80,0x6B7E,0x6BDE,0x6C1D,0x6C93,0x6CEC,
+0x6CEB,0x6CEE,0x6CD9,0x6CB6,0x6CD4,0x6CAD,0x6CE7,0x6CB7,
+0x6CD0,0x6CC2,0x6CBA,0x6CC3,0x6CC6,0x6CED,0x6CF2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6CD2,0x6CDD,0x6CB4,0x6C8A,0x6C9D,0x6C80,0x6CDE,0x6CC0,
+0x6D30,0x6CCD,0x6CC7,0x6CB0,0x6CF9,0x6CCF,0x6CE9,0x6CD1,
+0x7094,0x7098,0x7085,0x7093,0x7086,0x7084,0x7091,0x7096,
+0x7082,0x709A,0x7083,0x726A,0x72D6,0x72CB,0x72D8,0x72C9,
+0x72DC,0x72D2,0x72D4,0x72DA,0x72CC,0x72D1,0x73A4,0x73A1,
+0x73AD,0x73A6,0x73A2,0x73A0,0x73AC,0x739D,0x74DD,0x74E8,
+0x753F,0x7540,0x753E,0x758C,0x7598,0x76AF,0x76F3,0x76F1,
+0x76F0,0x76F5,0x77F8,0x77FC,0x77F9,0x77FB,0x77FA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x77F7,0x7942,0x793F,0x79C5,0x7A78,0x7A7B,0x7AFB,
+0x7C75,0x7CFD,0x8035,0x808F,0x80AE,0x80A3,0x80B8,0x80B5,
+0x80AD,0x8220,0x82A0,0x82C0,0x82AB,0x829A,0x8298,0x829B,
+0x82B5,0x82A7,0x82AE,0x82BC,0x829E,0x82BA,0x82B4,0x82A8,
+0x82A1,0x82A9,0x82C2,0x82A4,0x82C3,0x82B6,0x82A2,0x8670,
+0x866F,0x866D,0x866E,0x8C56,0x8FD2,0x8FCB,0x8FD3,0x8FCD,
+0x8FD6,0x8FD5,0x8FD7,0x90B2,0x90B4,0x90AF,0x90B3,0x90B0,
+0x9639,0x963D,0x963C,0x963A,0x9643,0x4FCD,0x4FC5,0x4FD3,
+0x4FB2,0x4FC9,0x4FCB,0x4FC1,0x4FD4,0x4FDC,0x4FD9,0x4FBB,
+0x4FB3,0x4FDB,0x4FC7,0x4FD6,0x4FBA,0x4FC0,0x4FB9,0x4FEC,
+0x5244,0x5249,0x52C0,0x52C2,0x533D,0x537C,0x5397,0x5396,
+0x5399,0x5398,0x54BA,0x54A1,0x54AD,0x54A5,0x54CF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x54C3,0x830D,0x54B7,0x54AE,0x54D6,0x54B6,0x54C5,0x54C6,
+0x54A0,0x5470,0x54BC,0x54A2,0x54BE,0x5472,0x54DE,0x54B0,
+0x57B5,0x579E,0x579F,0x57A4,0x578C,0x5797,0x579D,0x579B,
+0x5794,0x5798,0x578F,0x5799,0x57A5,0x579A,0x5795,0x58F4,
+0x590D,0x5953,0x59E1,0x59DE,0x59EE,0x5A00,0x59F1,0x59DD,
+0x59FA,0x59FD,0x59FC,0x59F6,0x59E4,0x59F2,0x59F7,0x59DB,
+0x59E9,0x59F3,0x59F5,0x59E0,0x59FE,0x59F4,0x59ED,0x5BA8,
+0x5C4C,0x5CD0,0x5CD8,0x5CCC,0x5CD7,0x5CCB,0x5CDB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5CDE,0x5CDA,0x5CC9,0x5CC7,0x5CCA,0x5CD6,0x5CD3,
+0x5CD4,0x5CCF,0x5CC8,0x5CC6,0x5CCE,0x5CDF,0x5CF8,0x5DF9,
+0x5E21,0x5E22,0x5E23,0x5E20,0x5E24,0x5EB0,0x5EA4,0x5EA2,
+0x5E9B,0x5EA3,0x5EA5,0x5F07,0x5F2E,0x5F56,0x5F86,0x6037,
+0x6039,0x6054,0x6072,0x605E,0x6045,0x6053,0x6047,0x6049,
+0x605B,0x604C,0x6040,0x6042,0x605F,0x6024,0x6044,0x6058,
+0x6066,0x606E,0x6242,0x6243,0x62CF,0x630D,0x630B,0x62F5,
+0x630E,0x6303,0x62EB,0x62F9,0x630F,0x630C,0x62F8,0x62F6,
+0x6300,0x6313,0x6314,0x62FA,0x6315,0x62FB,0x62F0,0x6541,
+0x6543,0x65AA,0x65BF,0x6636,0x6621,0x6632,0x6635,0x661C,
+0x6626,0x6622,0x6633,0x662B,0x663A,0x661D,0x6634,0x6639,
+0x662E,0x670F,0x6710,0x67C1,0x67F2,0x67C8,0x67BA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x67DC,0x67BB,0x67F8,0x67D8,0x67C0,0x67B7,0x67C5,0x67EB,
+0x67E4,0x67DF,0x67B5,0x67CD,0x67B3,0x67F7,0x67F6,0x67EE,
+0x67E3,0x67C2,0x67B9,0x67CE,0x67E7,0x67F0,0x67B2,0x67FC,
+0x67C6,0x67ED,0x67CC,0x67AE,0x67E6,0x67DB,0x67FA,0x67C9,
+0x67CA,0x67C3,0x67EA,0x67CB,0x6B28,0x6B82,0x6B84,0x6BB6,
+0x6BD6,0x6BD8,0x6BE0,0x6C20,0x6C21,0x6D28,0x6D34,0x6D2D,
+0x6D1F,0x6D3C,0x6D3F,0x6D12,0x6D0A,0x6CDA,0x6D33,0x6D04,
+0x6D19,0x6D3A,0x6D1A,0x6D11,0x6D00,0x6D1D,0x6D42, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6D01,0x6D18,0x6D37,0x6D03,0x6D0F,0x6D40,0x6D07,
+0x6D20,0x6D2C,0x6D08,0x6D22,0x6D09,0x6D10,0x70B7,0x709F,
+0x70BE,0x70B1,0x70B0,0x70A1,0x70B4,0x70B5,0x70A9,0x7241,
+0x7249,0x724A,0x726C,0x7270,0x7273,0x726E,0x72CA,0x72E4,
+0x72E8,0x72EB,0x72DF,0x72EA,0x72E6,0x72E3,0x7385,0x73CC,
+0x73C2,0x73C8,0x73C5,0x73B9,0x73B6,0x73B5,0x73B4,0x73EB,
+0x73BF,0x73C7,0x73BE,0x73C3,0x73C6,0x73B8,0x73CB,0x74EC,
+0x74EE,0x752E,0x7547,0x7548,0x75A7,0x75AA,0x7679,0x76C4,
+0x7708,0x7703,0x7704,0x7705,0x770A,0x76F7,0x76FB,0x76FA,
+0x77E7,0x77E8,0x7806,0x7811,0x7812,0x7805,0x7810,0x780F,
+0x780E,0x7809,0x7803,0x7813,0x794A,0x794C,0x794B,0x7945,
+0x7944,0x79D5,0x79CD,0x79CF,0x79D6,0x79CE,0x7A80, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7A7E,0x7AD1,0x7B00,0x7B01,0x7C7A,0x7C78,0x7C79,0x7C7F,
+0x7C80,0x7C81,0x7D03,0x7D08,0x7D01,0x7F58,0x7F91,0x7F8D,
+0x7FBE,0x8007,0x800E,0x800F,0x8014,0x8037,0x80D8,0x80C7,
+0x80E0,0x80D1,0x80C8,0x80C2,0x80D0,0x80C5,0x80E3,0x80D9,
+0x80DC,0x80CA,0x80D5,0x80C9,0x80CF,0x80D7,0x80E6,0x80CD,
+0x81FF,0x8221,0x8294,0x82D9,0x82FE,0x82F9,0x8307,0x82E8,
+0x8300,0x82D5,0x833A,0x82EB,0x82D6,0x82F4,0x82EC,0x82E1,
+0x82F2,0x82F5,0x830C,0x82FB,0x82F6,0x82F0,0x82EA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x82E4,0x82E0,0x82FA,0x82F3,0x82ED,0x8677,0x8674,
+0x867C,0x8673,0x8841,0x884E,0x8867,0x886A,0x8869,0x89D3,
+0x8A04,0x8A07,0x8D72,0x8FE3,0x8FE1,0x8FEE,0x8FE0,0x90F1,
+0x90BD,0x90BF,0x90D5,0x90C5,0x90BE,0x90C7,0x90CB,0x90C8,
+0x91D4,0x91D3,0x9654,0x964F,0x9651,0x9653,0x964A,0x964E,
+0x501E,0x5005,0x5007,0x5013,0x5022,0x5030,0x501B,0x4FF5,
+0x4FF4,0x5033,0x5037,0x502C,0x4FF6,0x4FF7,0x5017,0x501C,
+0x5020,0x5027,0x5035,0x502F,0x5031,0x500E,0x515A,0x5194,
+0x5193,0x51CA,0x51C4,0x51C5,0x51C8,0x51CE,0x5261,0x525A,
+0x5252,0x525E,0x525F,0x5255,0x5262,0x52CD,0x530E,0x539E,
+0x5526,0x54E2,0x5517,0x5512,0x54E7,0x54F3,0x54E4,0x551A,
+0x54FF,0x5504,0x5508,0x54EB,0x5511,0x5505,0x54F1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x550A,0x54FB,0x54F7,0x54F8,0x54E0,0x550E,0x5503,0x550B,
+0x5701,0x5702,0x57CC,0x5832,0x57D5,0x57D2,0x57BA,0x57C6,
+0x57BD,0x57BC,0x57B8,0x57B6,0x57BF,0x57C7,0x57D0,0x57B9,
+0x57C1,0x590E,0x594A,0x5A19,0x5A16,0x5A2D,0x5A2E,0x5A15,
+0x5A0F,0x5A17,0x5A0A,0x5A1E,0x5A33,0x5B6C,0x5BA7,0x5BAD,
+0x5BAC,0x5C03,0x5C56,0x5C54,0x5CEC,0x5CFF,0x5CEE,0x5CF1,
+0x5CF7,0x5D00,0x5CF9,0x5E29,0x5E28,0x5EA8,0x5EAE,0x5EAA,
+0x5EAC,0x5F33,0x5F30,0x5F67,0x605D,0x605A,0x6067, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6041,0x60A2,0x6088,0x6080,0x6092,0x6081,0x609D,
+0x6083,0x6095,0x609B,0x6097,0x6087,0x609C,0x608E,0x6219,
+0x6246,0x62F2,0x6310,0x6356,0x632C,0x6344,0x6345,0x6336,
+0x6343,0x63E4,0x6339,0x634B,0x634A,0x633C,0x6329,0x6341,
+0x6334,0x6358,0x6354,0x6359,0x632D,0x6347,0x6333,0x635A,
+0x6351,0x6338,0x6357,0x6340,0x6348,0x654A,0x6546,0x65C6,
+0x65C3,0x65C4,0x65C2,0x664A,0x665F,0x6647,0x6651,0x6712,
+0x6713,0x681F,0x681A,0x6849,0x6832,0x6833,0x683B,0x684B,
+0x684F,0x6816,0x6831,0x681C,0x6835,0x682B,0x682D,0x682F,
+0x684E,0x6844,0x6834,0x681D,0x6812,0x6814,0x6826,0x6828,
+0x682E,0x684D,0x683A,0x6825,0x6820,0x6B2C,0x6B2F,0x6B2D,
+0x6B31,0x6B34,0x6B6D,0x8082,0x6B88,0x6BE6,0x6BE4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6BE8,0x6BE3,0x6BE2,0x6BE7,0x6C25,0x6D7A,0x6D63,0x6D64,
+0x6D76,0x6D0D,0x6D61,0x6D92,0x6D58,0x6D62,0x6D6D,0x6D6F,
+0x6D91,0x6D8D,0x6DEF,0x6D7F,0x6D86,0x6D5E,0x6D67,0x6D60,
+0x6D97,0x6D70,0x6D7C,0x6D5F,0x6D82,0x6D98,0x6D2F,0x6D68,
+0x6D8B,0x6D7E,0x6D80,0x6D84,0x6D16,0x6D83,0x6D7B,0x6D7D,
+0x6D75,0x6D90,0x70DC,0x70D3,0x70D1,0x70DD,0x70CB,0x7F39,
+0x70E2,0x70D7,0x70D2,0x70DE,0x70E0,0x70D4,0x70CD,0x70C5,
+0x70C6,0x70C7,0x70DA,0x70CE,0x70E1,0x7242,0x7278, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7277,0x7276,0x7300,0x72FA,0x72F4,0x72FE,0x72F6,
+0x72F3,0x72FB,0x7301,0x73D3,0x73D9,0x73E5,0x73D6,0x73BC,
+0x73E7,0x73E3,0x73E9,0x73DC,0x73D2,0x73DB,0x73D4,0x73DD,
+0x73DA,0x73D7,0x73D8,0x73E8,0x74DE,0x74DF,0x74F4,0x74F5,
+0x7521,0x755B,0x755F,0x75B0,0x75C1,0x75BB,0x75C4,0x75C0,
+0x75BF,0x75B6,0x75BA,0x768A,0x76C9,0x771D,0x771B,0x7710,
+0x7713,0x7712,0x7723,0x7711,0x7715,0x7719,0x771A,0x7722,
+0x7727,0x7823,0x782C,0x7822,0x7835,0x782F,0x7828,0x782E,
+0x782B,0x7821,0x7829,0x7833,0x782A,0x7831,0x7954,0x795B,
+0x794F,0x795C,0x7953,0x7952,0x7951,0x79EB,0x79EC,0x79E0,
+0x79EE,0x79ED,0x79EA,0x79DC,0x79DE,0x79DD,0x7A86,0x7A89,
+0x7A85,0x7A8B,0x7A8C,0x7A8A,0x7A87,0x7AD8,0x7B10, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7B04,0x7B13,0x7B05,0x7B0F,0x7B08,0x7B0A,0x7B0E,0x7B09,
+0x7B12,0x7C84,0x7C91,0x7C8A,0x7C8C,0x7C88,0x7C8D,0x7C85,
+0x7D1E,0x7D1D,0x7D11,0x7D0E,0x7D18,0x7D16,0x7D13,0x7D1F,
+0x7D12,0x7D0F,0x7D0C,0x7F5C,0x7F61,0x7F5E,0x7F60,0x7F5D,
+0x7F5B,0x7F96,0x7F92,0x7FC3,0x7FC2,0x7FC0,0x8016,0x803E,
+0x8039,0x80FA,0x80F2,0x80F9,0x80F5,0x8101,0x80FB,0x8100,
+0x8201,0x822F,0x8225,0x8333,0x832D,0x8344,0x8319,0x8351,
+0x8325,0x8356,0x833F,0x8341,0x8326,0x831C,0x8322, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8342,0x834E,0x831B,0x832A,0x8308,0x833C,0x834D,
+0x8316,0x8324,0x8320,0x8337,0x832F,0x8329,0x8347,0x8345,
+0x834C,0x8353,0x831E,0x832C,0x834B,0x8327,0x8348,0x8653,
+0x8652,0x86A2,0x86A8,0x8696,0x868D,0x8691,0x869E,0x8687,
+0x8697,0x8686,0x868B,0x869A,0x8685,0x86A5,0x8699,0x86A1,
+0x86A7,0x8695,0x8698,0x868E,0x869D,0x8690,0x8694,0x8843,
+0x8844,0x886D,0x8875,0x8876,0x8872,0x8880,0x8871,0x887F,
+0x886F,0x8883,0x887E,0x8874,0x887C,0x8A12,0x8C47,0x8C57,
+0x8C7B,0x8CA4,0x8CA3,0x8D76,0x8D78,0x8DB5,0x8DB7,0x8DB6,
+0x8ED1,0x8ED3,0x8FFE,0x8FF5,0x9002,0x8FFF,0x8FFB,0x9004,
+0x8FFC,0x8FF6,0x90D6,0x90E0,0x90D9,0x90DA,0x90E3,0x90DF,
+0x90E5,0x90D8,0x90DB,0x90D7,0x90DC,0x90E4,0x9150, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x914E,0x914F,0x91D5,0x91E2,0x91DA,0x965C,0x965F,0x96BC,
+0x98E3,0x9ADF,0x9B2F,0x4E7F,0x5070,0x506A,0x5061,0x505E,
+0x5060,0x5053,0x504B,0x505D,0x5072,0x5048,0x504D,0x5041,
+0x505B,0x504A,0x5062,0x5015,0x5045,0x505F,0x5069,0x506B,
+0x5063,0x5064,0x5046,0x5040,0x506E,0x5073,0x5057,0x5051,
+0x51D0,0x526B,0x526D,0x526C,0x526E,0x52D6,0x52D3,0x532D,
+0x539C,0x5575,0x5576,0x553C,0x554D,0x5550,0x5534,0x552A,
+0x5551,0x5562,0x5536,0x5535,0x5530,0x5552,0x5545, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x550C,0x5532,0x5565,0x554E,0x5539,0x5548,0x552D,
+0x553B,0x5540,0x554B,0x570A,0x5707,0x57FB,0x5814,0x57E2,
+0x57F6,0x57DC,0x57F4,0x5800,0x57ED,0x57FD,0x5808,0x57F8,
+0x580B,0x57F3,0x57CF,0x5807,0x57EE,0x57E3,0x57F2,0x57E5,
+0x57EC,0x57E1,0x580E,0x57FC,0x5810,0x57E7,0x5801,0x580C,
+0x57F1,0x57E9,0x57F0,0x580D,0x5804,0x595C,0x5A60,0x5A58,
+0x5A55,0x5A67,0x5A5E,0x5A38,0x5A35,0x5A6D,0x5A50,0x5A5F,
+0x5A65,0x5A6C,0x5A53,0x5A64,0x5A57,0x5A43,0x5A5D,0x5A52,
+0x5A44,0x5A5B,0x5A48,0x5A8E,0x5A3E,0x5A4D,0x5A39,0x5A4C,
+0x5A70,0x5A69,0x5A47,0x5A51,0x5A56,0x5A42,0x5A5C,0x5B72,
+0x5B6E,0x5BC1,0x5BC0,0x5C59,0x5D1E,0x5D0B,0x5D1D,0x5D1A,
+0x5D20,0x5D0C,0x5D28,0x5D0D,0x5D26,0x5D25,0x5D0F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5D30,0x5D12,0x5D23,0x5D1F,0x5D2E,0x5E3E,0x5E34,0x5EB1,
+0x5EB4,0x5EB9,0x5EB2,0x5EB3,0x5F36,0x5F38,0x5F9B,0x5F96,
+0x5F9F,0x608A,0x6090,0x6086,0x60BE,0x60B0,0x60BA,0x60D3,
+0x60D4,0x60CF,0x60E4,0x60D9,0x60DD,0x60C8,0x60B1,0x60DB,
+0x60B7,0x60CA,0x60BF,0x60C3,0x60CD,0x60C0,0x6332,0x6365,
+0x638A,0x6382,0x637D,0x63BD,0x639E,0x63AD,0x639D,0x6397,
+0x63AB,0x638E,0x636F,0x6387,0x6390,0x636E,0x63AF,0x6375,
+0x639C,0x636D,0x63AE,0x637C,0x63A4,0x633B,0x639F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6378,0x6385,0x6381,0x6391,0x638D,0x6370,0x6553,
+0x65CD,0x6665,0x6661,0x665B,0x6659,0x665C,0x6662,0x6718,
+0x6879,0x6887,0x6890,0x689C,0x686D,0x686E,0x68AE,0x68AB,
+0x6956,0x686F,0x68A3,0x68AC,0x68A9,0x6875,0x6874,0x68B2,
+0x688F,0x6877,0x6892,0x687C,0x686B,0x6872,0x68AA,0x6880,
+0x6871,0x687E,0x689B,0x6896,0x688B,0x68A0,0x6889,0x68A4,
+0x6878,0x687B,0x6891,0x688C,0x688A,0x687D,0x6B36,0x6B33,
+0x6B37,0x6B38,0x6B91,0x6B8F,0x6B8D,0x6B8E,0x6B8C,0x6C2A,
+0x6DC0,0x6DAB,0x6DB4,0x6DB3,0x6E74,0x6DAC,0x6DE9,0x6DE2,
+0x6DB7,0x6DF6,0x6DD4,0x6E00,0x6DC8,0x6DE0,0x6DDF,0x6DD6,
+0x6DBE,0x6DE5,0x6DDC,0x6DDD,0x6DDB,0x6DF4,0x6DCA,0x6DBD,
+0x6DED,0x6DF0,0x6DBA,0x6DD5,0x6DC2,0x6DCF,0x6DC9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6DD0,0x6DF2,0x6DD3,0x6DFD,0x6DD7,0x6DCD,0x6DE3,0x6DBB,
+0x70FA,0x710D,0x70F7,0x7117,0x70F4,0x710C,0x70F0,0x7104,
+0x70F3,0x7110,0x70FC,0x70FF,0x7106,0x7113,0x7100,0x70F8,
+0x70F6,0x710B,0x7102,0x710E,0x727E,0x727B,0x727C,0x727F,
+0x731D,0x7317,0x7307,0x7311,0x7318,0x730A,0x7308,0x72FF,
+0x730F,0x731E,0x7388,0x73F6,0x73F8,0x73F5,0x7404,0x7401,
+0x73FD,0x7407,0x7400,0x73FA,0x73FC,0x73FF,0x740C,0x740B,
+0x73F4,0x7408,0x7564,0x7563,0x75CE,0x75D2,0x75CF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x75CB,0x75CC,0x75D1,0x75D0,0x768F,0x7689,0x76D3,
+0x7739,0x772F,0x772D,0x7731,0x7732,0x7734,0x7733,0x773D,
+0x7725,0x773B,0x7735,0x7848,0x7852,0x7849,0x784D,0x784A,
+0x784C,0x7826,0x7845,0x7850,0x7964,0x7967,0x7969,0x796A,
+0x7963,0x796B,0x7961,0x79BB,0x79FA,0x79F8,0x79F6,0x79F7,
+0x7A8F,0x7A94,0x7A90,0x7B35,0x7B47,0x7B34,0x7B25,0x7B30,
+0x7B22,0x7B24,0x7B33,0x7B18,0x7B2A,0x7B1D,0x7B31,0x7B2B,
+0x7B2D,0x7B2F,0x7B32,0x7B38,0x7B1A,0x7B23,0x7C94,0x7C98,
+0x7C96,0x7CA3,0x7D35,0x7D3D,0x7D38,0x7D36,0x7D3A,0x7D45,
+0x7D2C,0x7D29,0x7D41,0x7D47,0x7D3E,0x7D3F,0x7D4A,0x7D3B,
+0x7D28,0x7F63,0x7F95,0x7F9C,0x7F9D,0x7F9B,0x7FCA,0x7FCB,
+0x7FCD,0x7FD0,0x7FD1,0x7FC7,0x7FCF,0x7FC9,0x801F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x801E,0x801B,0x8047,0x8043,0x8048,0x8118,0x8125,0x8119,
+0x811B,0x812D,0x811F,0x812C,0x811E,0x8121,0x8115,0x8127,
+0x811D,0x8122,0x8211,0x8238,0x8233,0x823A,0x8234,0x8232,
+0x8274,0x8390,0x83A3,0x83A8,0x838D,0x837A,0x8373,0x83A4,
+0x8374,0x838F,0x8381,0x8395,0x8399,0x8375,0x8394,0x83A9,
+0x837D,0x8383,0x838C,0x839D,0x839B,0x83AA,0x838B,0x837E,
+0x83A5,0x83AF,0x8388,0x8397,0x83B0,0x837F,0x83A6,0x8387,
+0x83AE,0x8376,0x839A,0x8659,0x8656,0x86BF,0x86B7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x86C2,0x86C1,0x86C5,0x86BA,0x86B0,0x86C8,0x86B9,
+0x86B3,0x86B8,0x86CC,0x86B4,0x86BB,0x86BC,0x86C3,0x86BD,
+0x86BE,0x8852,0x8889,0x8895,0x88A8,0x88A2,0x88AA,0x889A,
+0x8891,0x88A1,0x889F,0x8898,0x88A7,0x8899,0x889B,0x8897,
+0x88A4,0x88AC,0x888C,0x8893,0x888E,0x8982,0x89D6,0x89D9,
+0x89D5,0x8A30,0x8A27,0x8A2C,0x8A1E,0x8C39,0x8C3B,0x8C5C,
+0x8C5D,0x8C7D,0x8CA5,0x8D7D,0x8D7B,0x8D79,0x8DBC,0x8DC2,
+0x8DB9,0x8DBF,0x8DC1,0x8ED8,0x8EDE,0x8EDD,0x8EDC,0x8ED7,
+0x8EE0,0x8EE1,0x9024,0x900B,0x9011,0x901C,0x900C,0x9021,
+0x90EF,0x90EA,0x90F0,0x90F4,0x90F2,0x90F3,0x90D4,0x90EB,
+0x90EC,0x90E9,0x9156,0x9158,0x915A,0x9153,0x9155,0x91EC,
+0x91F4,0x91F1,0x91F3,0x91F8,0x91E4,0x91F9,0x91EA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x91EB,0x91F7,0x91E8,0x91EE,0x957A,0x9586,0x9588,0x967C,
+0x966D,0x966B,0x9671,0x966F,0x96BF,0x976A,0x9804,0x98E5,
+0x9997,0x509B,0x5095,0x5094,0x509E,0x508B,0x50A3,0x5083,
+0x508C,0x508E,0x509D,0x5068,0x509C,0x5092,0x5082,0x5087,
+0x515F,0x51D4,0x5312,0x5311,0x53A4,0x53A7,0x5591,0x55A8,
+0x55A5,0x55AD,0x5577,0x5645,0x55A2,0x5593,0x5588,0x558F,
+0x55B5,0x5581,0x55A3,0x5592,0x55A4,0x557D,0x558C,0x55A6,
+0x557F,0x5595,0x55A1,0x558E,0x570C,0x5829,0x5837, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5819,0x581E,0x5827,0x5823,0x5828,0x57F5,0x5848,
+0x5825,0x581C,0x581B,0x5833,0x583F,0x5836,0x582E,0x5839,
+0x5838,0x582D,0x582C,0x583B,0x5961,0x5AAF,0x5A94,0x5A9F,
+0x5A7A,0x5AA2,0x5A9E,0x5A78,0x5AA6,0x5A7C,0x5AA5,0x5AAC,
+0x5A95,0x5AAE,0x5A37,0x5A84,0x5A8A,0x5A97,0x5A83,0x5A8B,
+0x5AA9,0x5A7B,0x5A7D,0x5A8C,0x5A9C,0x5A8F,0x5A93,0x5A9D,
+0x5BEA,0x5BCD,0x5BCB,0x5BD4,0x5BD1,0x5BCA,0x5BCE,0x5C0C,
+0x5C30,0x5D37,0x5D43,0x5D6B,0x5D41,0x5D4B,0x5D3F,0x5D35,
+0x5D51,0x5D4E,0x5D55,0x5D33,0x5D3A,0x5D52,0x5D3D,0x5D31,
+0x5D59,0x5D42,0x5D39,0x5D49,0x5D38,0x5D3C,0x5D32,0x5D36,
+0x5D40,0x5D45,0x5E44,0x5E41,0x5F58,0x5FA6,0x5FA5,0x5FAB,
+0x60C9,0x60B9,0x60CC,0x60E2,0x60CE,0x60C4,0x6114, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x60F2,0x610A,0x6116,0x6105,0x60F5,0x6113,0x60F8,0x60FC,
+0x60FE,0x60C1,0x6103,0x6118,0x611D,0x6110,0x60FF,0x6104,
+0x610B,0x624A,0x6394,0x63B1,0x63B0,0x63CE,0x63E5,0x63E8,
+0x63EF,0x63C3,0x649D,0x63F3,0x63CA,0x63E0,0x63F6,0x63D5,
+0x63F2,0x63F5,0x6461,0x63DF,0x63BE,0x63DD,0x63DC,0x63C4,
+0x63D8,0x63D3,0x63C2,0x63C7,0x63CC,0x63CB,0x63C8,0x63F0,
+0x63D7,0x63D9,0x6532,0x6567,0x656A,0x6564,0x655C,0x6568,
+0x6565,0x658C,0x659D,0x659E,0x65AE,0x65D0,0x65D2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x667C,0x666C,0x667B,0x6680,0x6671,0x6679,0x666A,
+0x6672,0x6701,0x690C,0x68D3,0x6904,0x68DC,0x692A,0x68EC,
+0x68EA,0x68F1,0x690F,0x68D6,0x68F7,0x68EB,0x68E4,0x68F6,
+0x6913,0x6910,0x68F3,0x68E1,0x6907,0x68CC,0x6908,0x6970,
+0x68B4,0x6911,0x68EF,0x68C6,0x6914,0x68F8,0x68D0,0x68FD,
+0x68FC,0x68E8,0x690B,0x690A,0x6917,0x68CE,0x68C8,0x68DD,
+0x68DE,0x68E6,0x68F4,0x68D1,0x6906,0x68D4,0x68E9,0x6915,
+0x6925,0x68C7,0x6B39,0x6B3B,0x6B3F,0x6B3C,0x6B94,0x6B97,
+0x6B99,0x6B95,0x6BBD,0x6BF0,0x6BF2,0x6BF3,0x6C30,0x6DFC,
+0x6E46,0x6E47,0x6E1F,0x6E49,0x6E88,0x6E3C,0x6E3D,0x6E45,
+0x6E62,0x6E2B,0x6E3F,0x6E41,0x6E5D,0x6E73,0x6E1C,0x6E33,
+0x6E4B,0x6E40,0x6E51,0x6E3B,0x6E03,0x6E2E,0x6E5E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6E68,0x6E5C,0x6E61,0x6E31,0x6E28,0x6E60,0x6E71,0x6E6B,
+0x6E39,0x6E22,0x6E30,0x6E53,0x6E65,0x6E27,0x6E78,0x6E64,
+0x6E77,0x6E55,0x6E79,0x6E52,0x6E66,0x6E35,0x6E36,0x6E5A,
+0x7120,0x711E,0x712F,0x70FB,0x712E,0x7131,0x7123,0x7125,
+0x7122,0x7132,0x711F,0x7128,0x713A,0x711B,0x724B,0x725A,
+0x7288,0x7289,0x7286,0x7285,0x728B,0x7312,0x730B,0x7330,
+0x7322,0x7331,0x7333,0x7327,0x7332,0x732D,0x7326,0x7323,
+0x7335,0x730C,0x742E,0x742C,0x7430,0x742B,0x7416, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x741A,0x7421,0x742D,0x7431,0x7424,0x7423,0x741D,
+0x7429,0x7420,0x7432,0x74FB,0x752F,0x756F,0x756C,0x75E7,
+0x75DA,0x75E1,0x75E6,0x75DD,0x75DF,0x75E4,0x75D7,0x7695,
+0x7692,0x76DA,0x7746,0x7747,0x7744,0x774D,0x7745,0x774A,
+0x774E,0x774B,0x774C,0x77DE,0x77EC,0x7860,0x7864,0x7865,
+0x785C,0x786D,0x7871,0x786A,0x786E,0x7870,0x7869,0x7868,
+0x785E,0x7862,0x7974,0x7973,0x7972,0x7970,0x7A02,0x7A0A,
+0x7A03,0x7A0C,0x7A04,0x7A99,0x7AE6,0x7AE4,0x7B4A,0x7B3B,
+0x7B44,0x7B48,0x7B4C,0x7B4E,0x7B40,0x7B58,0x7B45,0x7CA2,
+0x7C9E,0x7CA8,0x7CA1,0x7D58,0x7D6F,0x7D63,0x7D53,0x7D56,
+0x7D67,0x7D6A,0x7D4F,0x7D6D,0x7D5C,0x7D6B,0x7D52,0x7D54,
+0x7D69,0x7D51,0x7D5F,0x7D4E,0x7F3E,0x7F3F,0x7F65, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7F66,0x7FA2,0x7FA0,0x7FA1,0x7FD7,0x8051,0x804F,0x8050,
+0x80FE,0x80D4,0x8143,0x814A,0x8152,0x814F,0x8147,0x813D,
+0x814D,0x813A,0x81E6,0x81EE,0x81F7,0x81F8,0x81F9,0x8204,
+0x823C,0x823D,0x823F,0x8275,0x833B,0x83CF,0x83F9,0x8423,
+0x83C0,0x83E8,0x8412,0x83E7,0x83E4,0x83FC,0x83F6,0x8410,
+0x83C6,0x83C8,0x83EB,0x83E3,0x83BF,0x8401,0x83DD,0x83E5,
+0x83D8,0x83FF,0x83E1,0x83CB,0x83CE,0x83D6,0x83F5,0x83C9,
+0x8409,0x840F,0x83DE,0x8411,0x8406,0x83C2,0x83F3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x83D5,0x83FA,0x83C7,0x83D1,0x83EA,0x8413,0x83C3,
+0x83EC,0x83EE,0x83C4,0x83FB,0x83D7,0x83E2,0x841B,0x83DB,
+0x83FE,0x86D8,0x86E2,0x86E6,0x86D3,0x86E3,0x86DA,0x86EA,
+0x86DD,0x86EB,0x86DC,0x86EC,0x86E9,0x86D7,0x86E8,0x86D1,
+0x8848,0x8856,0x8855,0x88BA,0x88D7,0x88B9,0x88B8,0x88C0,
+0x88BE,0x88B6,0x88BC,0x88B7,0x88BD,0x88B2,0x8901,0x88C9,
+0x8995,0x8998,0x8997,0x89DD,0x89DA,0x89DB,0x8A4E,0x8A4D,
+0x8A39,0x8A59,0x8A40,0x8A57,0x8A58,0x8A44,0x8A45,0x8A52,
+0x8A48,0x8A51,0x8A4A,0x8A4C,0x8A4F,0x8C5F,0x8C81,0x8C80,
+0x8CBA,0x8CBE,0x8CB0,0x8CB9,0x8CB5,0x8D84,0x8D80,0x8D89,
+0x8DD8,0x8DD3,0x8DCD,0x8DC7,0x8DD6,0x8DDC,0x8DCF,0x8DD5,
+0x8DD9,0x8DC8,0x8DD7,0x8DC5,0x8EEF,0x8EF7,0x8EFA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8EF9,0x8EE6,0x8EEE,0x8EE5,0x8EF5,0x8EE7,0x8EE8,0x8EF6,
+0x8EEB,0x8EF1,0x8EEC,0x8EF4,0x8EE9,0x902D,0x9034,0x902F,
+0x9106,0x912C,0x9104,0x90FF,0x90FC,0x9108,0x90F9,0x90FB,
+0x9101,0x9100,0x9107,0x9105,0x9103,0x9161,0x9164,0x915F,
+0x9162,0x9160,0x9201,0x920A,0x9225,0x9203,0x921A,0x9226,
+0x920F,0x920C,0x9200,0x9212,0x91FF,0x91FD,0x9206,0x9204,
+0x9227,0x9202,0x921C,0x9224,0x9219,0x9217,0x9205,0x9216,
+0x957B,0x958D,0x958C,0x9590,0x9687,0x967E,0x9688, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9689,0x9683,0x9680,0x96C2,0x96C8,0x96C3,0x96F1,
+0x96F0,0x976C,0x9770,0x976E,0x9807,0x98A9,0x98EB,0x9CE6,
+0x9EF9,0x4E83,0x4E84,0x4EB6,0x50BD,0x50BF,0x50C6,0x50AE,
+0x50C4,0x50CA,0x50B4,0x50C8,0x50C2,0x50B0,0x50C1,0x50BA,
+0x50B1,0x50CB,0x50C9,0x50B6,0x50B8,0x51D7,0x527A,0x5278,
+0x527B,0x527C,0x55C3,0x55DB,0x55CC,0x55D0,0x55CB,0x55CA,
+0x55DD,0x55C0,0x55D4,0x55C4,0x55E9,0x55BF,0x55D2,0x558D,
+0x55CF,0x55D5,0x55E2,0x55D6,0x55C8,0x55F2,0x55CD,0x55D9,
+0x55C2,0x5714,0x5853,0x5868,0x5864,0x584F,0x584D,0x5849,
+0x586F,0x5855,0x584E,0x585D,0x5859,0x5865,0x585B,0x583D,
+0x5863,0x5871,0x58FC,0x5AC7,0x5AC4,0x5ACB,0x5ABA,0x5AB8,
+0x5AB1,0x5AB5,0x5AB0,0x5ABF,0x5AC8,0x5ABB,0x5AC6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5AB7,0x5AC0,0x5ACA,0x5AB4,0x5AB6,0x5ACD,0x5AB9,0x5A90,
+0x5BD6,0x5BD8,0x5BD9,0x5C1F,0x5C33,0x5D71,0x5D63,0x5D4A,
+0x5D65,0x5D72,0x5D6C,0x5D5E,0x5D68,0x5D67,0x5D62,0x5DF0,
+0x5E4F,0x5E4E,0x5E4A,0x5E4D,0x5E4B,0x5EC5,0x5ECC,0x5EC6,
+0x5ECB,0x5EC7,0x5F40,0x5FAF,0x5FAD,0x60F7,0x6149,0x614A,
+0x612B,0x6145,0x6136,0x6132,0x612E,0x6146,0x612F,0x614F,
+0x6129,0x6140,0x6220,0x9168,0x6223,0x6225,0x6224,0x63C5,
+0x63F1,0x63EB,0x6410,0x6412,0x6409,0x6420,0x6424, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6433,0x6443,0x641F,0x6415,0x6418,0x6439,0x6437,
+0x6422,0x6423,0x640C,0x6426,0x6430,0x6428,0x6441,0x6435,
+0x642F,0x640A,0x641A,0x6440,0x6425,0x6427,0x640B,0x63E7,
+0x641B,0x642E,0x6421,0x640E,0x656F,0x6592,0x65D3,0x6686,
+0x668C,0x6695,0x6690,0x668B,0x668A,0x6699,0x6694,0x6678,
+0x6720,0x6966,0x695F,0x6938,0x694E,0x6962,0x6971,0x693F,
+0x6945,0x696A,0x6939,0x6942,0x6957,0x6959,0x697A,0x6948,
+0x6949,0x6935,0x696C,0x6933,0x693D,0x6965,0x68F0,0x6978,
+0x6934,0x6969,0x6940,0x696F,0x6944,0x6976,0x6958,0x6941,
+0x6974,0x694C,0x693B,0x694B,0x6937,0x695C,0x694F,0x6951,
+0x6932,0x6952,0x692F,0x697B,0x693C,0x6B46,0x6B45,0x6B43,
+0x6B42,0x6B48,0x6B41,0x6B9B,0xFA0D,0x6BFB,0x6BFC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6BF9,0x6BF7,0x6BF8,0x6E9B,0x6ED6,0x6EC8,0x6E8F,0x6EC0,
+0x6E9F,0x6E93,0x6E94,0x6EA0,0x6EB1,0x6EB9,0x6EC6,0x6ED2,
+0x6EBD,0x6EC1,0x6E9E,0x6EC9,0x6EB7,0x6EB0,0x6ECD,0x6EA6,
+0x6ECF,0x6EB2,0x6EBE,0x6EC3,0x6EDC,0x6ED8,0x6E99,0x6E92,
+0x6E8E,0x6E8D,0x6EA4,0x6EA1,0x6EBF,0x6EB3,0x6ED0,0x6ECA,
+0x6E97,0x6EAE,0x6EA3,0x7147,0x7154,0x7152,0x7163,0x7160,
+0x7141,0x715D,0x7162,0x7172,0x7178,0x716A,0x7161,0x7142,
+0x7158,0x7143,0x714B,0x7170,0x715F,0x7150,0x7153, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7144,0x714D,0x715A,0x724F,0x728D,0x728C,0x7291,
+0x7290,0x728E,0x733C,0x7342,0x733B,0x733A,0x7340,0x734A,
+0x7349,0x7444,0x744A,0x744B,0x7452,0x7451,0x7457,0x7440,
+0x744F,0x7450,0x744E,0x7442,0x7446,0x744D,0x7454,0x74E1,
+0x74FF,0x74FE,0x74FD,0x751D,0x7579,0x7577,0x6983,0x75EF,
+0x760F,0x7603,0x75F7,0x75FE,0x75FC,0x75F9,0x75F8,0x7610,
+0x75FB,0x75F6,0x75ED,0x75F5,0x75FD,0x7699,0x76B5,0x76DD,
+0x7755,0x775F,0x7760,0x7752,0x7756,0x775A,0x7769,0x7767,
+0x7754,0x7759,0x776D,0x77E0,0x7887,0x789A,0x7894,0x788F,
+0x7884,0x7895,0x7885,0x7886,0x78A1,0x7883,0x7879,0x7899,
+0x7880,0x7896,0x787B,0x797C,0x7982,0x797D,0x7979,0x7A11,
+0x7A18,0x7A19,0x7A12,0x7A17,0x7A15,0x7A22,0x7A13, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7A1B,0x7A10,0x7AA3,0x7AA2,0x7A9E,0x7AEB,0x7B66,0x7B64,
+0x7B6D,0x7B74,0x7B69,0x7B72,0x7B65,0x7B73,0x7B71,0x7B70,
+0x7B61,0x7B78,0x7B76,0x7B63,0x7CB2,0x7CB4,0x7CAF,0x7D88,
+0x7D86,0x7D80,0x7D8D,0x7D7F,0x7D85,0x7D7A,0x7D8E,0x7D7B,
+0x7D83,0x7D7C,0x7D8C,0x7D94,0x7D84,0x7D7D,0x7D92,0x7F6D,
+0x7F6B,0x7F67,0x7F68,0x7F6C,0x7FA6,0x7FA5,0x7FA7,0x7FDB,
+0x7FDC,0x8021,0x8164,0x8160,0x8177,0x815C,0x8169,0x815B,
+0x8162,0x8172,0x6721,0x815E,0x8176,0x8167,0x816F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8144,0x8161,0x821D,0x8249,0x8244,0x8240,0x8242,
+0x8245,0x84F1,0x843F,0x8456,0x8476,0x8479,0x848F,0x848D,
+0x8465,0x8451,0x8440,0x8486,0x8467,0x8430,0x844D,0x847D,
+0x845A,0x8459,0x8474,0x8473,0x845D,0x8507,0x845E,0x8437,
+0x843A,0x8434,0x847A,0x8443,0x8478,0x8432,0x8445,0x8429,
+0x83D9,0x844B,0x842F,0x8442,0x842D,0x845F,0x8470,0x8439,
+0x844E,0x844C,0x8452,0x846F,0x84C5,0x848E,0x843B,0x8447,
+0x8436,0x8433,0x8468,0x847E,0x8444,0x842B,0x8460,0x8454,
+0x846E,0x8450,0x870B,0x8704,0x86F7,0x870C,0x86FA,0x86D6,
+0x86F5,0x874D,0x86F8,0x870E,0x8709,0x8701,0x86F6,0x870D,
+0x8705,0x88D6,0x88CB,0x88CD,0x88CE,0x88DE,0x88DB,0x88DA,
+0x88CC,0x88D0,0x8985,0x899B,0x89DF,0x89E5,0x89E4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x89E1,0x89E0,0x89E2,0x89DC,0x89E6,0x8A76,0x8A86,0x8A7F,
+0x8A61,0x8A3F,0x8A77,0x8A82,0x8A84,0x8A75,0x8A83,0x8A81,
+0x8A74,0x8A7A,0x8C3C,0x8C4B,0x8C4A,0x8C65,0x8C64,0x8C66,
+0x8C86,0x8C84,0x8C85,0x8CCC,0x8D68,0x8D69,0x8D91,0x8D8C,
+0x8D8E,0x8D8F,0x8D8D,0x8D93,0x8D94,0x8D90,0x8D92,0x8DF0,
+0x8DE0,0x8DEC,0x8DF1,0x8DEE,0x8DD0,0x8DE9,0x8DE3,0x8DE2,
+0x8DE7,0x8DF2,0x8DEB,0x8DF4,0x8F06,0x8EFF,0x8F01,0x8F00,
+0x8F05,0x8F07,0x8F08,0x8F02,0x8F0B,0x9052,0x903F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9044,0x9049,0x903D,0x9110,0x910D,0x910F,0x9111,
+0x9116,0x9114,0x910B,0x910E,0x916E,0x916F,0x9248,0x9252,
+0x9230,0x923A,0x9266,0x9233,0x9265,0x925E,0x9283,0x922E,
+0x924A,0x9246,0x926D,0x926C,0x924F,0x9260,0x9267,0x926F,
+0x9236,0x9261,0x9270,0x9231,0x9254,0x9263,0x9250,0x9272,
+0x924E,0x9253,0x924C,0x9256,0x9232,0x959F,0x959C,0x959E,
+0x959B,0x9692,0x9693,0x9691,0x9697,0x96CE,0x96FA,0x96FD,
+0x96F8,0x96F5,0x9773,0x9777,0x9778,0x9772,0x980F,0x980D,
+0x980E,0x98AC,0x98F6,0x98F9,0x99AF,0x99B2,0x99B0,0x99B5,
+0x9AAD,0x9AAB,0x9B5B,0x9CEA,0x9CED,0x9CE7,0x9E80,0x9EFD,
+0x50E6,0x50D4,0x50D7,0x50E8,0x50F3,0x50DB,0x50EA,0x50DD,
+0x50E4,0x50D3,0x50EC,0x50F0,0x50EF,0x50E3,0x50E0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x51D8,0x5280,0x5281,0x52E9,0x52EB,0x5330,0x53AC,0x5627,
+0x5615,0x560C,0x5612,0x55FC,0x560F,0x561C,0x5601,0x5613,
+0x5602,0x55FA,0x561D,0x5604,0x55FF,0x55F9,0x5889,0x587C,
+0x5890,0x5898,0x5886,0x5881,0x587F,0x5874,0x588B,0x587A,
+0x5887,0x5891,0x588E,0x5876,0x5882,0x5888,0x587B,0x5894,
+0x588F,0x58FE,0x596B,0x5ADC,0x5AEE,0x5AE5,0x5AD5,0x5AEA,
+0x5ADA,0x5AED,0x5AEB,0x5AF3,0x5AE2,0x5AE0,0x5ADB,0x5AEC,
+0x5ADE,0x5ADD,0x5AD9,0x5AE8,0x5ADF,0x5B77,0x5BE0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5BE3,0x5C63,0x5D82,0x5D80,0x5D7D,0x5D86,0x5D7A,
+0x5D81,0x5D77,0x5D8A,0x5D89,0x5D88,0x5D7E,0x5D7C,0x5D8D,
+0x5D79,0x5D7F,0x5E58,0x5E59,0x5E53,0x5ED8,0x5ED1,0x5ED7,
+0x5ECE,0x5EDC,0x5ED5,0x5ED9,0x5ED2,0x5ED4,0x5F44,0x5F43,
+0x5F6F,0x5FB6,0x612C,0x6128,0x6141,0x615E,0x6171,0x6173,
+0x6152,0x6153,0x6172,0x616C,0x6180,0x6174,0x6154,0x617A,
+0x615B,0x6165,0x613B,0x616A,0x6161,0x6156,0x6229,0x6227,
+0x622B,0x642B,0x644D,0x645B,0x645D,0x6474,0x6476,0x6472,
+0x6473,0x647D,0x6475,0x6466,0x64A6,0x644E,0x6482,0x645E,
+0x645C,0x644B,0x6453,0x6460,0x6450,0x647F,0x643F,0x646C,
+0x646B,0x6459,0x6465,0x6477,0x6573,0x65A0,0x66A1,0x66A0,
+0x669F,0x6705,0x6704,0x6722,0x69B1,0x69B6,0x69C9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x69A0,0x69CE,0x6996,0x69B0,0x69AC,0x69BC,0x6991,0x6999,
+0x698E,0x69A7,0x698D,0x69A9,0x69BE,0x69AF,0x69BF,0x69C4,
+0x69BD,0x69A4,0x69D4,0x69B9,0x69CA,0x699A,0x69CF,0x69B3,
+0x6993,0x69AA,0x69A1,0x699E,0x69D9,0x6997,0x6990,0x69C2,
+0x69B5,0x69A5,0x69C6,0x6B4A,0x6B4D,0x6B4B,0x6B9E,0x6B9F,
+0x6BA0,0x6BC3,0x6BC4,0x6BFE,0x6ECE,0x6EF5,0x6EF1,0x6F03,
+0x6F25,0x6EF8,0x6F37,0x6EFB,0x6F2E,0x6F09,0x6F4E,0x6F19,
+0x6F1A,0x6F27,0x6F18,0x6F3B,0x6F12,0x6EED,0x6F0A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6F36,0x6F73,0x6EF9,0x6EEE,0x6F2D,0x6F40,0x6F30,
+0x6F3C,0x6F35,0x6EEB,0x6F07,0x6F0E,0x6F43,0x6F05,0x6EFD,
+0x6EF6,0x6F39,0x6F1C,0x6EFC,0x6F3A,0x6F1F,0x6F0D,0x6F1E,
+0x6F08,0x6F21,0x7187,0x7190,0x7189,0x7180,0x7185,0x7182,
+0x718F,0x717B,0x7186,0x7181,0x7197,0x7244,0x7253,0x7297,
+0x7295,0x7293,0x7343,0x734D,0x7351,0x734C,0x7462,0x7473,
+0x7471,0x7475,0x7472,0x7467,0x746E,0x7500,0x7502,0x7503,
+0x757D,0x7590,0x7616,0x7608,0x760C,0x7615,0x7611,0x760A,
+0x7614,0x76B8,0x7781,0x777C,0x7785,0x7782,0x776E,0x7780,
+0x776F,0x777E,0x7783,0x78B2,0x78AA,0x78B4,0x78AD,0x78A8,
+0x787E,0x78AB,0x789E,0x78A5,0x78A0,0x78AC,0x78A2,0x78A4,
+0x7998,0x798A,0x798B,0x7996,0x7995,0x7994,0x7993, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7997,0x7988,0x7992,0x7990,0x7A2B,0x7A4A,0x7A30,0x7A2F,
+0x7A28,0x7A26,0x7AA8,0x7AAB,0x7AAC,0x7AEE,0x7B88,0x7B9C,
+0x7B8A,0x7B91,0x7B90,0x7B96,0x7B8D,0x7B8C,0x7B9B,0x7B8E,
+0x7B85,0x7B98,0x5284,0x7B99,0x7BA4,0x7B82,0x7CBB,0x7CBF,
+0x7CBC,0x7CBA,0x7DA7,0x7DB7,0x7DC2,0x7DA3,0x7DAA,0x7DC1,
+0x7DC0,0x7DC5,0x7D9D,0x7DCE,0x7DC4,0x7DC6,0x7DCB,0x7DCC,
+0x7DAF,0x7DB9,0x7D96,0x7DBC,0x7D9F,0x7DA6,0x7DAE,0x7DA9,
+0x7DA1,0x7DC9,0x7F73,0x7FE2,0x7FE3,0x7FE5,0x7FDE, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8024,0x805D,0x805C,0x8189,0x8186,0x8183,0x8187,
+0x818D,0x818C,0x818B,0x8215,0x8497,0x84A4,0x84A1,0x849F,
+0x84BA,0x84CE,0x84C2,0x84AC,0x84AE,0x84AB,0x84B9,0x84B4,
+0x84C1,0x84CD,0x84AA,0x849A,0x84B1,0x84D0,0x849D,0x84A7,
+0x84BB,0x84A2,0x8494,0x84C7,0x84CC,0x849B,0x84A9,0x84AF,
+0x84A8,0x84D6,0x8498,0x84B6,0x84CF,0x84A0,0x84D7,0x84D4,
+0x84D2,0x84DB,0x84B0,0x8491,0x8661,0x8733,0x8723,0x8728,
+0x876B,0x8740,0x872E,0x871E,0x8721,0x8719,0x871B,0x8743,
+0x872C,0x8741,0x873E,0x8746,0x8720,0x8732,0x872A,0x872D,
+0x873C,0x8712,0x873A,0x8731,0x8735,0x8742,0x8726,0x8727,
+0x8738,0x8724,0x871A,0x8730,0x8711,0x88F7,0x88E7,0x88F1,
+0x88F2,0x88FA,0x88FE,0x88EE,0x88FC,0x88F6,0x88FB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x88F0,0x88EC,0x88EB,0x899D,0x89A1,0x899F,0x899E,0x89E9,
+0x89EB,0x89E8,0x8AAB,0x8A99,0x8A8B,0x8A92,0x8A8F,0x8A96,
+0x8C3D,0x8C68,0x8C69,0x8CD5,0x8CCF,0x8CD7,0x8D96,0x8E09,
+0x8E02,0x8DFF,0x8E0D,0x8DFD,0x8E0A,0x8E03,0x8E07,0x8E06,
+0x8E05,0x8DFE,0x8E00,0x8E04,0x8F10,0x8F11,0x8F0E,0x8F0D,
+0x9123,0x911C,0x9120,0x9122,0x911F,0x911D,0x911A,0x9124,
+0x9121,0x911B,0x917A,0x9172,0x9179,0x9173,0x92A5,0x92A4,
+0x9276,0x929B,0x927A,0x92A0,0x9294,0x92AA,0x928D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x92A6,0x929A,0x92AB,0x9279,0x9297,0x927F,0x92A3,
+0x92EE,0x928E,0x9282,0x9295,0x92A2,0x927D,0x9288,0x92A1,
+0x928A,0x9286,0x928C,0x9299,0x92A7,0x927E,0x9287,0x92A9,
+0x929D,0x928B,0x922D,0x969E,0x96A1,0x96FF,0x9758,0x977D,
+0x977A,0x977E,0x9783,0x9780,0x9782,0x977B,0x9784,0x9781,
+0x977F,0x97CE,0x97CD,0x9816,0x98AD,0x98AE,0x9902,0x9900,
+0x9907,0x999D,0x999C,0x99C3,0x99B9,0x99BB,0x99BA,0x99C2,
+0x99BD,0x99C7,0x9AB1,0x9AE3,0x9AE7,0x9B3E,0x9B3F,0x9B60,
+0x9B61,0x9B5F,0x9CF1,0x9CF2,0x9CF5,0x9EA7,0x50FF,0x5103,
+0x5130,0x50F8,0x5106,0x5107,0x50F6,0x50FE,0x510B,0x510C,
+0x50FD,0x510A,0x528B,0x528C,0x52F1,0x52EF,0x5648,0x5642,
+0x564C,0x5635,0x5641,0x564A,0x5649,0x5646,0x5658, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x565A,0x5640,0x5633,0x563D,0x562C,0x563E,0x5638,0x562A,
+0x563A,0x571A,0x58AB,0x589D,0x58B1,0x58A0,0x58A3,0x58AF,
+0x58AC,0x58A5,0x58A1,0x58FF,0x5AFF,0x5AF4,0x5AFD,0x5AF7,
+0x5AF6,0x5B03,0x5AF8,0x5B02,0x5AF9,0x5B01,0x5B07,0x5B05,
+0x5B0F,0x5C67,0x5D99,0x5D97,0x5D9F,0x5D92,0x5DA2,0x5D93,
+0x5D95,0x5DA0,0x5D9C,0x5DA1,0x5D9A,0x5D9E,0x5E69,0x5E5D,
+0x5E60,0x5E5C,0x7DF3,0x5EDB,0x5EDE,0x5EE1,0x5F49,0x5FB2,
+0x618B,0x6183,0x6179,0x61B1,0x61B0,0x61A2,0x6189, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x619B,0x6193,0x61AF,0x61AD,0x619F,0x6192,0x61AA,
+0x61A1,0x618D,0x6166,0x61B3,0x622D,0x646E,0x6470,0x6496,
+0x64A0,0x6485,0x6497,0x649C,0x648F,0x648B,0x648A,0x648C,
+0x64A3,0x649F,0x6468,0x64B1,0x6498,0x6576,0x657A,0x6579,
+0x657B,0x65B2,0x65B3,0x66B5,0x66B0,0x66A9,0x66B2,0x66B7,
+0x66AA,0x66AF,0x6A00,0x6A06,0x6A17,0x69E5,0x69F8,0x6A15,
+0x69F1,0x69E4,0x6A20,0x69FF,0x69EC,0x69E2,0x6A1B,0x6A1D,
+0x69FE,0x6A27,0x69F2,0x69EE,0x6A14,0x69F7,0x69E7,0x6A40,
+0x6A08,0x69E6,0x69FB,0x6A0D,0x69FC,0x69EB,0x6A09,0x6A04,
+0x6A18,0x6A25,0x6A0F,0x69F6,0x6A26,0x6A07,0x69F4,0x6A16,
+0x6B51,0x6BA5,0x6BA3,0x6BA2,0x6BA6,0x6C01,0x6C00,0x6BFF,
+0x6C02,0x6F41,0x6F26,0x6F7E,0x6F87,0x6FC6,0x6F92, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6F8D,0x6F89,0x6F8C,0x6F62,0x6F4F,0x6F85,0x6F5A,0x6F96,
+0x6F76,0x6F6C,0x6F82,0x6F55,0x6F72,0x6F52,0x6F50,0x6F57,
+0x6F94,0x6F93,0x6F5D,0x6F00,0x6F61,0x6F6B,0x6F7D,0x6F67,
+0x6F90,0x6F53,0x6F8B,0x6F69,0x6F7F,0x6F95,0x6F63,0x6F77,
+0x6F6A,0x6F7B,0x71B2,0x71AF,0x719B,0x71B0,0x71A0,0x719A,
+0x71A9,0x71B5,0x719D,0x71A5,0x719E,0x71A4,0x71A1,0x71AA,
+0x719C,0x71A7,0x71B3,0x7298,0x729A,0x7358,0x7352,0x735E,
+0x735F,0x7360,0x735D,0x735B,0x7361,0x735A,0x7359, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7362,0x7487,0x7489,0x748A,0x7486,0x7481,0x747D,
+0x7485,0x7488,0x747C,0x7479,0x7508,0x7507,0x757E,0x7625,
+0x761E,0x7619,0x761D,0x761C,0x7623,0x761A,0x7628,0x761B,
+0x769C,0x769D,0x769E,0x769B,0x778D,0x778F,0x7789,0x7788,
+0x78CD,0x78BB,0x78CF,0x78CC,0x78D1,0x78CE,0x78D4,0x78C8,
+0x78C3,0x78C4,0x78C9,0x799A,0x79A1,0x79A0,0x799C,0x79A2,
+0x799B,0x6B76,0x7A39,0x7AB2,0x7AB4,0x7AB3,0x7BB7,0x7BCB,
+0x7BBE,0x7BAC,0x7BCE,0x7BAF,0x7BB9,0x7BCA,0x7BB5,0x7CC5,
+0x7CC8,0x7CCC,0x7CCB,0x7DF7,0x7DDB,0x7DEA,0x7DE7,0x7DD7,
+0x7DE1,0x7E03,0x7DFA,0x7DE6,0x7DF6,0x7DF1,0x7DF0,0x7DEE,
+0x7DDF,0x7F76,0x7FAC,0x7FB0,0x7FAD,0x7FED,0x7FEB,0x7FEA,
+0x7FEC,0x7FE6,0x7FE8,0x8064,0x8067,0x81A3,0x819F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x819E,0x8195,0x81A2,0x8199,0x8197,0x8216,0x824F,0x8253,
+0x8252,0x8250,0x824E,0x8251,0x8524,0x853B,0x850F,0x8500,
+0x8529,0x850E,0x8509,0x850D,0x851F,0x850A,0x8527,0x851C,
+0x84FB,0x852B,0x84FA,0x8508,0x850C,0x84F4,0x852A,0x84F2,
+0x8515,0x84F7,0x84EB,0x84F3,0x84FC,0x8512,0x84EA,0x84E9,
+0x8516,0x84FE,0x8528,0x851D,0x852E,0x8502,0x84FD,0x851E,
+0x84F6,0x8531,0x8526,0x84E7,0x84E8,0x84F0,0x84EF,0x84F9,
+0x8518,0x8520,0x8530,0x850B,0x8519,0x852F,0x8662, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8756,0x8763,0x8764,0x8777,0x87E1,0x8773,0x8758,
+0x8754,0x875B,0x8752,0x8761,0x875A,0x8751,0x875E,0x876D,
+0x876A,0x8750,0x874E,0x875F,0x875D,0x876F,0x876C,0x877A,
+0x876E,0x875C,0x8765,0x874F,0x877B,0x8775,0x8762,0x8767,
+0x8769,0x885A,0x8905,0x890C,0x8914,0x890B,0x8917,0x8918,
+0x8919,0x8906,0x8916,0x8911,0x890E,0x8909,0x89A2,0x89A4,
+0x89A3,0x89ED,0x89F0,0x89EC,0x8ACF,0x8AC6,0x8AB8,0x8AD3,
+0x8AD1,0x8AD4,0x8AD5,0x8ABB,0x8AD7,0x8ABE,0x8AC0,0x8AC5,
+0x8AD8,0x8AC3,0x8ABA,0x8ABD,0x8AD9,0x8C3E,0x8C4D,0x8C8F,
+0x8CE5,0x8CDF,0x8CD9,0x8CE8,0x8CDA,0x8CDD,0x8CE7,0x8DA0,
+0x8D9C,0x8DA1,0x8D9B,0x8E20,0x8E23,0x8E25,0x8E24,0x8E2E,
+0x8E15,0x8E1B,0x8E16,0x8E11,0x8E19,0x8E26,0x8E27, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8E14,0x8E12,0x8E18,0x8E13,0x8E1C,0x8E17,0x8E1A,0x8F2C,
+0x8F24,0x8F18,0x8F1A,0x8F20,0x8F23,0x8F16,0x8F17,0x9073,
+0x9070,0x906F,0x9067,0x906B,0x912F,0x912B,0x9129,0x912A,
+0x9132,0x9126,0x912E,0x9185,0x9186,0x918A,0x9181,0x9182,
+0x9184,0x9180,0x92D0,0x92C3,0x92C4,0x92C0,0x92D9,0x92B6,
+0x92CF,0x92F1,0x92DF,0x92D8,0x92E9,0x92D7,0x92DD,0x92CC,
+0x92EF,0x92C2,0x92E8,0x92CA,0x92C8,0x92CE,0x92E6,0x92CD,
+0x92D5,0x92C9,0x92E0,0x92DE,0x92E7,0x92D1,0x92D3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x92B5,0x92E1,0x92C6,0x92B4,0x957C,0x95AC,0x95AB,
+0x95AE,0x95B0,0x96A4,0x96A2,0x96D3,0x9705,0x9708,0x9702,
+0x975A,0x978A,0x978E,0x9788,0x97D0,0x97CF,0x981E,0x981D,
+0x9826,0x9829,0x9828,0x9820,0x981B,0x9827,0x98B2,0x9908,
+0x98FA,0x9911,0x9914,0x9916,0x9917,0x9915,0x99DC,0x99CD,
+0x99CF,0x99D3,0x99D4,0x99CE,0x99C9,0x99D6,0x99D8,0x99CB,
+0x99D7,0x99CC,0x9AB3,0x9AEC,0x9AEB,0x9AF3,0x9AF2,0x9AF1,
+0x9B46,0x9B43,0x9B67,0x9B74,0x9B71,0x9B66,0x9B76,0x9B75,
+0x9B70,0x9B68,0x9B64,0x9B6C,0x9CFC,0x9CFA,0x9CFD,0x9CFF,
+0x9CF7,0x9D07,0x9D00,0x9CF9,0x9CFB,0x9D08,0x9D05,0x9D04,
+0x9E83,0x9ED3,0x9F0F,0x9F10,0x511C,0x5113,0x5117,0x511A,
+0x5111,0x51DE,0x5334,0x53E1,0x5670,0x5660,0x566E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5673,0x5666,0x5663,0x566D,0x5672,0x565E,0x5677,0x571C,
+0x571B,0x58C8,0x58BD,0x58C9,0x58BF,0x58BA,0x58C2,0x58BC,
+0x58C6,0x5B17,0x5B19,0x5B1B,0x5B21,0x5B14,0x5B13,0x5B10,
+0x5B16,0x5B28,0x5B1A,0x5B20,0x5B1E,0x5BEF,0x5DAC,0x5DB1,
+0x5DA9,0x5DA7,0x5DB5,0x5DB0,0x5DAE,0x5DAA,0x5DA8,0x5DB2,
+0x5DAD,0x5DAF,0x5DB4,0x5E67,0x5E68,0x5E66,0x5E6F,0x5EE9,
+0x5EE7,0x5EE6,0x5EE8,0x5EE5,0x5F4B,0x5FBC,0x619D,0x61A8,
+0x6196,0x61C5,0x61B4,0x61C6,0x61C1,0x61CC,0x61BA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x61BF,0x61B8,0x618C,0x64D7,0x64D6,0x64D0,0x64CF,
+0x64C9,0x64BD,0x6489,0x64C3,0x64DB,0x64F3,0x64D9,0x6533,
+0x657F,0x657C,0x65A2,0x66C8,0x66BE,0x66C0,0x66CA,0x66CB,
+0x66CF,0x66BD,0x66BB,0x66BA,0x66CC,0x6723,0x6A34,0x6A66,
+0x6A49,0x6A67,0x6A32,0x6A68,0x6A3E,0x6A5D,0x6A6D,0x6A76,
+0x6A5B,0x6A51,0x6A28,0x6A5A,0x6A3B,0x6A3F,0x6A41,0x6A6A,
+0x6A64,0x6A50,0x6A4F,0x6A54,0x6A6F,0x6A69,0x6A60,0x6A3C,
+0x6A5E,0x6A56,0x6A55,0x6A4D,0x6A4E,0x6A46,0x6B55,0x6B54,
+0x6B56,0x6BA7,0x6BAA,0x6BAB,0x6BC8,0x6BC7,0x6C04,0x6C03,
+0x6C06,0x6FAD,0x6FCB,0x6FA3,0x6FC7,0x6FBC,0x6FCE,0x6FC8,
+0x6F5E,0x6FC4,0x6FBD,0x6F9E,0x6FCA,0x6FA8,0x7004,0x6FA5,
+0x6FAE,0x6FBA,0x6FAC,0x6FAA,0x6FCF,0x6FBF,0x6FB8, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6FA2,0x6FC9,0x6FAB,0x6FCD,0x6FAF,0x6FB2,0x6FB0,0x71C5,
+0x71C2,0x71BF,0x71B8,0x71D6,0x71C0,0x71C1,0x71CB,0x71D4,
+0x71CA,0x71C7,0x71CF,0x71BD,0x71D8,0x71BC,0x71C6,0x71DA,
+0x71DB,0x729D,0x729E,0x7369,0x7366,0x7367,0x736C,0x7365,
+0x736B,0x736A,0x747F,0x749A,0x74A0,0x7494,0x7492,0x7495,
+0x74A1,0x750B,0x7580,0x762F,0x762D,0x7631,0x763D,0x7633,
+0x763C,0x7635,0x7632,0x7630,0x76BB,0x76E6,0x779A,0x779D,
+0x77A1,0x779C,0x779B,0x77A2,0x77A3,0x7795,0x7799, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7797,0x78DD,0x78E9,0x78E5,0x78EA,0x78DE,0x78E3,
+0x78DB,0x78E1,0x78E2,0x78ED,0x78DF,0x78E0,0x79A4,0x7A44,
+0x7A48,0x7A47,0x7AB6,0x7AB8,0x7AB5,0x7AB1,0x7AB7,0x7BDE,
+0x7BE3,0x7BE7,0x7BDD,0x7BD5,0x7BE5,0x7BDA,0x7BE8,0x7BF9,
+0x7BD4,0x7BEA,0x7BE2,0x7BDC,0x7BEB,0x7BD8,0x7BDF,0x7CD2,
+0x7CD4,0x7CD7,0x7CD0,0x7CD1,0x7E12,0x7E21,0x7E17,0x7E0C,
+0x7E1F,0x7E20,0x7E13,0x7E0E,0x7E1C,0x7E15,0x7E1A,0x7E22,
+0x7E0B,0x7E0F,0x7E16,0x7E0D,0x7E14,0x7E25,0x7E24,0x7F43,
+0x7F7B,0x7F7C,0x7F7A,0x7FB1,0x7FEF,0x802A,0x8029,0x806C,
+0x81B1,0x81A6,0x81AE,0x81B9,0x81B5,0x81AB,0x81B0,0x81AC,
+0x81B4,0x81B2,0x81B7,0x81A7,0x81F2,0x8255,0x8256,0x8257,
+0x8556,0x8545,0x856B,0x854D,0x8553,0x8561,0x8558, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8540,0x8546,0x8564,0x8541,0x8562,0x8544,0x8551,0x8547,
+0x8563,0x853E,0x855B,0x8571,0x854E,0x856E,0x8575,0x8555,
+0x8567,0x8560,0x858C,0x8566,0x855D,0x8554,0x8565,0x856C,
+0x8663,0x8665,0x8664,0x879B,0x878F,0x8797,0x8793,0x8792,
+0x8788,0x8781,0x8796,0x8798,0x8779,0x8787,0x87A3,0x8785,
+0x8790,0x8791,0x879D,0x8784,0x8794,0x879C,0x879A,0x8789,
+0x891E,0x8926,0x8930,0x892D,0x892E,0x8927,0x8931,0x8922,
+0x8929,0x8923,0x892F,0x892C,0x891F,0x89F1,0x8AE0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8AE2,0x8AF2,0x8AF4,0x8AF5,0x8ADD,0x8B14,0x8AE4,
+0x8ADF,0x8AF0,0x8AC8,0x8ADE,0x8AE1,0x8AE8,0x8AFF,0x8AEF,
+0x8AFB,0x8C91,0x8C92,0x8C90,0x8CF5,0x8CEE,0x8CF1,0x8CF0,
+0x8CF3,0x8D6C,0x8D6E,0x8DA5,0x8DA7,0x8E33,0x8E3E,0x8E38,
+0x8E40,0x8E45,0x8E36,0x8E3C,0x8E3D,0x8E41,0x8E30,0x8E3F,
+0x8EBD,0x8F36,0x8F2E,0x8F35,0x8F32,0x8F39,0x8F37,0x8F34,
+0x9076,0x9079,0x907B,0x9086,0x90FA,0x9133,0x9135,0x9136,
+0x9193,0x9190,0x9191,0x918D,0x918F,0x9327,0x931E,0x9308,
+0x931F,0x9306,0x930F,0x937A,0x9338,0x933C,0x931B,0x9323,
+0x9312,0x9301,0x9346,0x932D,0x930E,0x930D,0x92CB,0x931D,
+0x92FA,0x9325,0x9313,0x92F9,0x92F7,0x9334,0x9302,0x9324,
+0x92FF,0x9329,0x9339,0x9335,0x932A,0x9314,0x930C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x930B,0x92FE,0x9309,0x9300,0x92FB,0x9316,0x95BC,0x95CD,
+0x95BE,0x95B9,0x95BA,0x95B6,0x95BF,0x95B5,0x95BD,0x96A9,
+0x96D4,0x970B,0x9712,0x9710,0x9799,0x9797,0x9794,0x97F0,
+0x97F8,0x9835,0x982F,0x9832,0x9924,0x991F,0x9927,0x9929,
+0x999E,0x99EE,0x99EC,0x99E5,0x99E4,0x99F0,0x99E3,0x99EA,
+0x99E9,0x99E7,0x9AB9,0x9ABF,0x9AB4,0x9ABB,0x9AF6,0x9AFA,
+0x9AF9,0x9AF7,0x9B33,0x9B80,0x9B85,0x9B87,0x9B7C,0x9B7E,
+0x9B7B,0x9B82,0x9B93,0x9B92,0x9B90,0x9B7A,0x9B95, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9B7D,0x9B88,0x9D25,0x9D17,0x9D20,0x9D1E,0x9D14,
+0x9D29,0x9D1D,0x9D18,0x9D22,0x9D10,0x9D19,0x9D1F,0x9E88,
+0x9E86,0x9E87,0x9EAE,0x9EAD,0x9ED5,0x9ED6,0x9EFA,0x9F12,
+0x9F3D,0x5126,0x5125,0x5122,0x5124,0x5120,0x5129,0x52F4,
+0x5693,0x568C,0x568D,0x5686,0x5684,0x5683,0x567E,0x5682,
+0x567F,0x5681,0x58D6,0x58D4,0x58CF,0x58D2,0x5B2D,0x5B25,
+0x5B32,0x5B23,0x5B2C,0x5B27,0x5B26,0x5B2F,0x5B2E,0x5B7B,
+0x5BF1,0x5BF2,0x5DB7,0x5E6C,0x5E6A,0x5FBE,0x5FBB,0x61C3,
+0x61B5,0x61BC,0x61E7,0x61E0,0x61E5,0x61E4,0x61E8,0x61DE,
+0x64EF,0x64E9,0x64E3,0x64EB,0x64E4,0x64E8,0x6581,0x6580,
+0x65B6,0x65DA,0x66D2,0x6A8D,0x6A96,0x6A81,0x6AA5,0x6A89,
+0x6A9F,0x6A9B,0x6AA1,0x6A9E,0x6A87,0x6A93,0x6A8E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6A95,0x6A83,0x6AA8,0x6AA4,0x6A91,0x6A7F,0x6AA6,0x6A9A,
+0x6A85,0x6A8C,0x6A92,0x6B5B,0x6BAD,0x6C09,0x6FCC,0x6FA9,
+0x6FF4,0x6FD4,0x6FE3,0x6FDC,0x6FED,0x6FE7,0x6FE6,0x6FDE,
+0x6FF2,0x6FDD,0x6FE2,0x6FE8,0x71E1,0x71F1,0x71E8,0x71F2,
+0x71E4,0x71F0,0x71E2,0x7373,0x736E,0x736F,0x7497,0x74B2,
+0x74AB,0x7490,0x74AA,0x74AD,0x74B1,0x74A5,0x74AF,0x7510,
+0x7511,0x7512,0x750F,0x7584,0x7643,0x7648,0x7649,0x7647,
+0x76A4,0x76E9,0x77B5,0x77AB,0x77B2,0x77B7,0x77B6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x77B4,0x77B1,0x77A8,0x77F0,0x78F3,0x78FD,0x7902,
+0x78FB,0x78FC,0x78F2,0x7905,0x78F9,0x78FE,0x7904,0x79AB,
+0x79A8,0x7A5C,0x7A5B,0x7A56,0x7A58,0x7A54,0x7A5A,0x7ABE,
+0x7AC0,0x7AC1,0x7C05,0x7C0F,0x7BF2,0x7C00,0x7BFF,0x7BFB,
+0x7C0E,0x7BF4,0x7C0B,0x7BF3,0x7C02,0x7C09,0x7C03,0x7C01,
+0x7BF8,0x7BFD,0x7C06,0x7BF0,0x7BF1,0x7C10,0x7C0A,0x7CE8,
+0x7E2D,0x7E3C,0x7E42,0x7E33,0x9848,0x7E38,0x7E2A,0x7E49,
+0x7E40,0x7E47,0x7E29,0x7E4C,0x7E30,0x7E3B,0x7E36,0x7E44,
+0x7E3A,0x7F45,0x7F7F,0x7F7E,0x7F7D,0x7FF4,0x7FF2,0x802C,
+0x81BB,0x81C4,0x81CC,0x81CA,0x81C5,0x81C7,0x81BC,0x81E9,
+0x825B,0x825A,0x825C,0x8583,0x8580,0x858F,0x85A7,0x8595,
+0x85A0,0x858B,0x85A3,0x857B,0x85A4,0x859A,0x859E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8577,0x857C,0x8589,0x85A1,0x857A,0x8578,0x8557,0x858E,
+0x8596,0x8586,0x858D,0x8599,0x859D,0x8581,0x85A2,0x8582,
+0x8588,0x8585,0x8579,0x8576,0x8598,0x8590,0x859F,0x8668,
+0x87BE,0x87AA,0x87AD,0x87C5,0x87B0,0x87AC,0x87B9,0x87B5,
+0x87BC,0x87AE,0x87C9,0x87C3,0x87C2,0x87CC,0x87B7,0x87AF,
+0x87C4,0x87CA,0x87B4,0x87B6,0x87BF,0x87B8,0x87BD,0x87DE,
+0x87B2,0x8935,0x8933,0x893C,0x893E,0x8941,0x8952,0x8937,
+0x8942,0x89AD,0x89AF,0x89AE,0x89F2,0x89F3,0x8B1E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8B18,0x8B16,0x8B11,0x8B05,0x8B0B,0x8B22,0x8B0F,
+0x8B12,0x8B15,0x8B07,0x8B0D,0x8B08,0x8B06,0x8B1C,0x8B13,
+0x8B1A,0x8C4F,0x8C70,0x8C72,0x8C71,0x8C6F,0x8C95,0x8C94,
+0x8CF9,0x8D6F,0x8E4E,0x8E4D,0x8E53,0x8E50,0x8E4C,0x8E47,
+0x8F43,0x8F40,0x9085,0x907E,0x9138,0x919A,0x91A2,0x919B,
+0x9199,0x919F,0x91A1,0x919D,0x91A0,0x93A1,0x9383,0x93AF,
+0x9364,0x9356,0x9347,0x937C,0x9358,0x935C,0x9376,0x9349,
+0x9350,0x9351,0x9360,0x936D,0x938F,0x934C,0x936A,0x9379,
+0x9357,0x9355,0x9352,0x934F,0x9371,0x9377,0x937B,0x9361,
+0x935E,0x9363,0x9367,0x9380,0x934E,0x9359,0x95C7,0x95C0,
+0x95C9,0x95C3,0x95C5,0x95B7,0x96AE,0x96B0,0x96AC,0x9720,
+0x971F,0x9718,0x971D,0x9719,0x979A,0x97A1,0x979C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x979E,0x979D,0x97D5,0x97D4,0x97F1,0x9841,0x9844,0x984A,
+0x9849,0x9845,0x9843,0x9925,0x992B,0x992C,0x992A,0x9933,
+0x9932,0x992F,0x992D,0x9931,0x9930,0x9998,0x99A3,0x99A1,
+0x9A02,0x99FA,0x99F4,0x99F7,0x99F9,0x99F8,0x99F6,0x99FB,
+0x99FD,0x99FE,0x99FC,0x9A03,0x9ABE,0x9AFE,0x9AFD,0x9B01,
+0x9AFC,0x9B48,0x9B9A,0x9BA8,0x9B9E,0x9B9B,0x9BA6,0x9BA1,
+0x9BA5,0x9BA4,0x9B86,0x9BA2,0x9BA0,0x9BAF,0x9D33,0x9D41,
+0x9D67,0x9D36,0x9D2E,0x9D2F,0x9D31,0x9D38,0x9D30, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9D45,0x9D42,0x9D43,0x9D3E,0x9D37,0x9D40,0x9D3D,
+0x7FF5,0x9D2D,0x9E8A,0x9E89,0x9E8D,0x9EB0,0x9EC8,0x9EDA,
+0x9EFB,0x9EFF,0x9F24,0x9F23,0x9F22,0x9F54,0x9FA0,0x5131,
+0x512D,0x512E,0x5698,0x569C,0x5697,0x569A,0x569D,0x5699,
+0x5970,0x5B3C,0x5C69,0x5C6A,0x5DC0,0x5E6D,0x5E6E,0x61D8,
+0x61DF,0x61ED,0x61EE,0x61F1,0x61EA,0x61F0,0x61EB,0x61D6,
+0x61E9,0x64FF,0x6504,0x64FD,0x64F8,0x6501,0x6503,0x64FC,
+0x6594,0x65DB,0x66DA,0x66DB,0x66D8,0x6AC5,0x6AB9,0x6ABD,
+0x6AE1,0x6AC6,0x6ABA,0x6AB6,0x6AB7,0x6AC7,0x6AB4,0x6AAD,
+0x6B5E,0x6BC9,0x6C0B,0x7007,0x700C,0x700D,0x7001,0x7005,
+0x7014,0x700E,0x6FFF,0x7000,0x6FFB,0x7026,0x6FFC,0x6FF7,
+0x700A,0x7201,0x71FF,0x71F9,0x7203,0x71FD,0x7376, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x74B8,0x74C0,0x74B5,0x74C1,0x74BE,0x74B6,0x74BB,0x74C2,
+0x7514,0x7513,0x765C,0x7664,0x7659,0x7650,0x7653,0x7657,
+0x765A,0x76A6,0x76BD,0x76EC,0x77C2,0x77BA,0x78FF,0x790C,
+0x7913,0x7914,0x7909,0x7910,0x7912,0x7911,0x79AD,0x79AC,
+0x7A5F,0x7C1C,0x7C29,0x7C19,0x7C20,0x7C1F,0x7C2D,0x7C1D,
+0x7C26,0x7C28,0x7C22,0x7C25,0x7C30,0x7E5C,0x7E50,0x7E56,
+0x7E63,0x7E58,0x7E62,0x7E5F,0x7E51,0x7E60,0x7E57,0x7E53,
+0x7FB5,0x7FB3,0x7FF7,0x7FF8,0x8075,0x81D1,0x81D2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x81D0,0x825F,0x825E,0x85B4,0x85C6,0x85C0,0x85C3,
+0x85C2,0x85B3,0x85B5,0x85BD,0x85C7,0x85C4,0x85BF,0x85CB,
+0x85CE,0x85C8,0x85C5,0x85B1,0x85B6,0x85D2,0x8624,0x85B8,
+0x85B7,0x85BE,0x8669,0x87E7,0x87E6,0x87E2,0x87DB,0x87EB,
+0x87EA,0x87E5,0x87DF,0x87F3,0x87E4,0x87D4,0x87DC,0x87D3,
+0x87ED,0x87D8,0x87E3,0x87A4,0x87D7,0x87D9,0x8801,0x87F4,
+0x87E8,0x87DD,0x8953,0x894B,0x894F,0x894C,0x8946,0x8950,
+0x8951,0x8949,0x8B2A,0x8B27,0x8B23,0x8B33,0x8B30,0x8B35,
+0x8B47,0x8B2F,0x8B3C,0x8B3E,0x8B31,0x8B25,0x8B37,0x8B26,
+0x8B36,0x8B2E,0x8B24,0x8B3B,0x8B3D,0x8B3A,0x8C42,0x8C75,
+0x8C99,0x8C98,0x8C97,0x8CFE,0x8D04,0x8D02,0x8D00,0x8E5C,
+0x8E62,0x8E60,0x8E57,0x8E56,0x8E5E,0x8E65,0x8E67, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8E5B,0x8E5A,0x8E61,0x8E5D,0x8E69,0x8E54,0x8F46,0x8F47,
+0x8F48,0x8F4B,0x9128,0x913A,0x913B,0x913E,0x91A8,0x91A5,
+0x91A7,0x91AF,0x91AA,0x93B5,0x938C,0x9392,0x93B7,0x939B,
+0x939D,0x9389,0x93A7,0x938E,0x93AA,0x939E,0x93A6,0x9395,
+0x9388,0x9399,0x939F,0x938D,0x93B1,0x9391,0x93B2,0x93A4,
+0x93A8,0x93B4,0x93A3,0x93A5,0x95D2,0x95D3,0x95D1,0x96B3,
+0x96D7,0x96DA,0x5DC2,0x96DF,0x96D8,0x96DD,0x9723,0x9722,
+0x9725,0x97AC,0x97AE,0x97A8,0x97AB,0x97A4,0x97AA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x97A2,0x97A5,0x97D7,0x97D9,0x97D6,0x97D8,0x97FA,
+0x9850,0x9851,0x9852,0x98B8,0x9941,0x993C,0x993A,0x9A0F,
+0x9A0B,0x9A09,0x9A0D,0x9A04,0x9A11,0x9A0A,0x9A05,0x9A07,
+0x9A06,0x9AC0,0x9ADC,0x9B08,0x9B04,0x9B05,0x9B29,0x9B35,
+0x9B4A,0x9B4C,0x9B4B,0x9BC7,0x9BC6,0x9BC3,0x9BBF,0x9BC1,
+0x9BB5,0x9BB8,0x9BD3,0x9BB6,0x9BC4,0x9BB9,0x9BBD,0x9D5C,
+0x9D53,0x9D4F,0x9D4A,0x9D5B,0x9D4B,0x9D59,0x9D56,0x9D4C,
+0x9D57,0x9D52,0x9D54,0x9D5F,0x9D58,0x9D5A,0x9E8E,0x9E8C,
+0x9EDF,0x9F01,0x9F00,0x9F16,0x9F25,0x9F2B,0x9F2A,0x9F29,
+0x9F28,0x9F4C,0x9F55,0x5134,0x5135,0x5296,0x52F7,0x53B4,
+0x56AB,0x56AD,0x56A6,0x56A7,0x56AA,0x56AC,0x58DA,0x58DD,
+0x58DB,0x5912,0x5B3D,0x5B3E,0x5B3F,0x5DC3,0x5E70, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5FBF,0x61FB,0x6507,0x6510,0x650D,0x6509,0x650C,0x650E,
+0x6584,0x65DE,0x65DD,0x66DE,0x6AE7,0x6AE0,0x6ACC,0x6AD1,
+0x6AD9,0x6ACB,0x6ADF,0x6ADC,0x6AD0,0x6AEB,0x6ACF,0x6ACD,
+0x6ADE,0x6B60,0x6BB0,0x6C0C,0x7019,0x7027,0x7020,0x7016,
+0x702B,0x7021,0x7022,0x7023,0x7029,0x7017,0x7024,0x701C,
+0x702A,0x720C,0x720A,0x7207,0x7202,0x7205,0x72A5,0x72A6,
+0x72A4,0x72A3,0x72A1,0x74CB,0x74C5,0x74B7,0x74C3,0x7516,
+0x7660,0x77C9,0x77CA,0x77C4,0x77F1,0x791D,0x791B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7921,0x791C,0x7917,0x791E,0x79B0,0x7A67,0x7A68,
+0x7C33,0x7C3C,0x7C39,0x7C2C,0x7C3B,0x7CEC,0x7CEA,0x7E76,
+0x7E75,0x7E78,0x7E70,0x7E77,0x7E6F,0x7E7A,0x7E72,0x7E74,
+0x7E68,0x7F4B,0x7F4A,0x7F83,0x7F86,0x7FB7,0x7FFD,0x7FFE,
+0x8078,0x81D7,0x81D5,0x8264,0x8261,0x8263,0x85EB,0x85F1,
+0x85ED,0x85D9,0x85E1,0x85E8,0x85DA,0x85D7,0x85EC,0x85F2,
+0x85F8,0x85D8,0x85DF,0x85E3,0x85DC,0x85D1,0x85F0,0x85E6,
+0x85EF,0x85DE,0x85E2,0x8800,0x87FA,0x8803,0x87F6,0x87F7,
+0x8809,0x880C,0x880B,0x8806,0x87FC,0x8808,0x87FF,0x880A,
+0x8802,0x8962,0x895A,0x895B,0x8957,0x8961,0x895C,0x8958,
+0x895D,0x8959,0x8988,0x89B7,0x89B6,0x89F6,0x8B50,0x8B48,
+0x8B4A,0x8B40,0x8B53,0x8B56,0x8B54,0x8B4B,0x8B55, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8B51,0x8B42,0x8B52,0x8B57,0x8C43,0x8C77,0x8C76,0x8C9A,
+0x8D06,0x8D07,0x8D09,0x8DAC,0x8DAA,0x8DAD,0x8DAB,0x8E6D,
+0x8E78,0x8E73,0x8E6A,0x8E6F,0x8E7B,0x8EC2,0x8F52,0x8F51,
+0x8F4F,0x8F50,0x8F53,0x8FB4,0x9140,0x913F,0x91B0,0x91AD,
+0x93DE,0x93C7,0x93CF,0x93C2,0x93DA,0x93D0,0x93F9,0x93EC,
+0x93CC,0x93D9,0x93A9,0x93E6,0x93CA,0x93D4,0x93EE,0x93E3,
+0x93D5,0x93C4,0x93CE,0x93C0,0x93D2,0x93E7,0x957D,0x95DA,
+0x95DB,0x96E1,0x9729,0x972B,0x972C,0x9728,0x9726, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x97B3,0x97B7,0x97B6,0x97DD,0x97DE,0x97DF,0x985C,
+0x9859,0x985D,0x9857,0x98BF,0x98BD,0x98BB,0x98BE,0x9948,
+0x9947,0x9943,0x99A6,0x99A7,0x9A1A,0x9A15,0x9A25,0x9A1D,
+0x9A24,0x9A1B,0x9A22,0x9A20,0x9A27,0x9A23,0x9A1E,0x9A1C,
+0x9A14,0x9AC2,0x9B0B,0x9B0A,0x9B0E,0x9B0C,0x9B37,0x9BEA,
+0x9BEB,0x9BE0,0x9BDE,0x9BE4,0x9BE6,0x9BE2,0x9BF0,0x9BD4,
+0x9BD7,0x9BEC,0x9BDC,0x9BD9,0x9BE5,0x9BD5,0x9BE1,0x9BDA,
+0x9D77,0x9D81,0x9D8A,0x9D84,0x9D88,0x9D71,0x9D80,0x9D78,
+0x9D86,0x9D8B,0x9D8C,0x9D7D,0x9D6B,0x9D74,0x9D75,0x9D70,
+0x9D69,0x9D85,0x9D73,0x9D7B,0x9D82,0x9D6F,0x9D79,0x9D7F,
+0x9D87,0x9D68,0x9E94,0x9E91,0x9EC0,0x9EFC,0x9F2D,0x9F40,
+0x9F41,0x9F4D,0x9F56,0x9F57,0x9F58,0x5337,0x56B2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x56B5,0x56B3,0x58E3,0x5B45,0x5DC6,0x5DC7,0x5EEE,0x5EEF,
+0x5FC0,0x5FC1,0x61F9,0x6517,0x6516,0x6515,0x6513,0x65DF,
+0x66E8,0x66E3,0x66E4,0x6AF3,0x6AF0,0x6AEA,0x6AE8,0x6AF9,
+0x6AF1,0x6AEE,0x6AEF,0x703C,0x7035,0x702F,0x7037,0x7034,
+0x7031,0x7042,0x7038,0x703F,0x703A,0x7039,0x7040,0x703B,
+0x7033,0x7041,0x7213,0x7214,0x72A8,0x737D,0x737C,0x74BA,
+0x76AB,0x76AA,0x76BE,0x76ED,0x77CC,0x77CE,0x77CF,0x77CD,
+0x77F2,0x7925,0x7923,0x7927,0x7928,0x7924,0x7929, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x79B2,0x7A6E,0x7A6C,0x7A6D,0x7AF7,0x7C49,0x7C48,
+0x7C4A,0x7C47,0x7C45,0x7CEE,0x7E7B,0x7E7E,0x7E81,0x7E80,
+0x7FBA,0x7FFF,0x8079,0x81DB,0x81D9,0x820B,0x8268,0x8269,
+0x8622,0x85FF,0x8601,0x85FE,0x861B,0x8600,0x85F6,0x8604,
+0x8609,0x8605,0x860C,0x85FD,0x8819,0x8810,0x8811,0x8817,
+0x8813,0x8816,0x8963,0x8966,0x89B9,0x89F7,0x8B60,0x8B6A,
+0x8B5D,0x8B68,0x8B63,0x8B65,0x8B67,0x8B6D,0x8DAE,0x8E86,
+0x8E88,0x8E84,0x8F59,0x8F56,0x8F57,0x8F55,0x8F58,0x8F5A,
+0x908D,0x9143,0x9141,0x91B7,0x91B5,0x91B2,0x91B3,0x940B,
+0x9413,0x93FB,0x9420,0x940F,0x9414,0x93FE,0x9415,0x9410,
+0x9428,0x9419,0x940D,0x93F5,0x9400,0x93F7,0x9407,0x940E,
+0x9416,0x9412,0x93FA,0x9409,0x93F8,0x940A,0x93FF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x93FC,0x940C,0x93F6,0x9411,0x9406,0x95DE,0x95E0,0x95DF,
+0x972E,0x972F,0x97B9,0x97BB,0x97FD,0x97FE,0x9860,0x9862,
+0x9863,0x985F,0x98C1,0x98C2,0x9950,0x994E,0x9959,0x994C,
+0x994B,0x9953,0x9A32,0x9A34,0x9A31,0x9A2C,0x9A2A,0x9A36,
+0x9A29,0x9A2E,0x9A38,0x9A2D,0x9AC7,0x9ACA,0x9AC6,0x9B10,
+0x9B12,0x9B11,0x9C0B,0x9C08,0x9BF7,0x9C05,0x9C12,0x9BF8,
+0x9C40,0x9C07,0x9C0E,0x9C06,0x9C17,0x9C14,0x9C09,0x9D9F,
+0x9D99,0x9DA4,0x9D9D,0x9D92,0x9D98,0x9D90,0x9D9B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9DA0,0x9D94,0x9D9C,0x9DAA,0x9D97,0x9DA1,0x9D9A,
+0x9DA2,0x9DA8,0x9D9E,0x9DA3,0x9DBF,0x9DA9,0x9D96,0x9DA6,
+0x9DA7,0x9E99,0x9E9B,0x9E9A,0x9EE5,0x9EE4,0x9EE7,0x9EE6,
+0x9F30,0x9F2E,0x9F5B,0x9F60,0x9F5E,0x9F5D,0x9F59,0x9F91,
+0x513A,0x5139,0x5298,0x5297,0x56C3,0x56BD,0x56BE,0x5B48,
+0x5B47,0x5DCB,0x5DCF,0x5EF1,0x61FD,0x651B,0x6B02,0x6AFC,
+0x6B03,0x6AF8,0x6B00,0x7043,0x7044,0x704A,0x7048,0x7049,
+0x7045,0x7046,0x721D,0x721A,0x7219,0x737E,0x7517,0x766A,
+0x77D0,0x792D,0x7931,0x792F,0x7C54,0x7C53,0x7CF2,0x7E8A,
+0x7E87,0x7E88,0x7E8B,0x7E86,0x7E8D,0x7F4D,0x7FBB,0x8030,
+0x81DD,0x8618,0x862A,0x8626,0x861F,0x8623,0x861C,0x8619,
+0x8627,0x862E,0x8621,0x8620,0x8629,0x861E,0x8625, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8829,0x881D,0x881B,0x8820,0x8824,0x881C,0x882B,0x884A,
+0x896D,0x8969,0x896E,0x896B,0x89FA,0x8B79,0x8B78,0x8B45,
+0x8B7A,0x8B7B,0x8D10,0x8D14,0x8DAF,0x8E8E,0x8E8C,0x8F5E,
+0x8F5B,0x8F5D,0x9146,0x9144,0x9145,0x91B9,0x943F,0x943B,
+0x9436,0x9429,0x943D,0x943C,0x9430,0x9439,0x942A,0x9437,
+0x942C,0x9440,0x9431,0x95E5,0x95E4,0x95E3,0x9735,0x973A,
+0x97BF,0x97E1,0x9864,0x98C9,0x98C6,0x98C0,0x9958,0x9956,
+0x9A39,0x9A3D,0x9A46,0x9A44,0x9A42,0x9A41,0x9A3A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9A3F,0x9ACD,0x9B15,0x9B17,0x9B18,0x9B16,0x9B3A,
+0x9B52,0x9C2B,0x9C1D,0x9C1C,0x9C2C,0x9C23,0x9C28,0x9C29,
+0x9C24,0x9C21,0x9DB7,0x9DB6,0x9DBC,0x9DC1,0x9DC7,0x9DCA,
+0x9DCF,0x9DBE,0x9DC5,0x9DC3,0x9DBB,0x9DB5,0x9DCE,0x9DB9,
+0x9DBA,0x9DAC,0x9DC8,0x9DB1,0x9DAD,0x9DCC,0x9DB3,0x9DCD,
+0x9DB2,0x9E7A,0x9E9C,0x9EEB,0x9EEE,0x9EED,0x9F1B,0x9F18,
+0x9F1A,0x9F31,0x9F4E,0x9F65,0x9F64,0x9F92,0x4EB9,0x56C6,
+0x56C5,0x56CB,0x5971,0x5B4B,0x5B4C,0x5DD5,0x5DD1,0x5EF2,
+0x6521,0x6520,0x6526,0x6522,0x6B0B,0x6B08,0x6B09,0x6C0D,
+0x7055,0x7056,0x7057,0x7052,0x721E,0x721F,0x72A9,0x737F,
+0x74D8,0x74D5,0x74D9,0x74D7,0x766D,0x76AD,0x7935,0x79B4,
+0x7A70,0x7A71,0x7C57,0x7C5C,0x7C59,0x7C5B,0x7C5A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7CF4,0x7CF1,0x7E91,0x7F4F,0x7F87,0x81DE,0x826B,0x8634,
+0x8635,0x8633,0x862C,0x8632,0x8636,0x882C,0x8828,0x8826,
+0x882A,0x8825,0x8971,0x89BF,0x89BE,0x89FB,0x8B7E,0x8B84,
+0x8B82,0x8B86,0x8B85,0x8B7F,0x8D15,0x8E95,0x8E94,0x8E9A,
+0x8E92,0x8E90,0x8E96,0x8E97,0x8F60,0x8F62,0x9147,0x944C,
+0x9450,0x944A,0x944B,0x944F,0x9447,0x9445,0x9448,0x9449,
+0x9446,0x973F,0x97E3,0x986A,0x9869,0x98CB,0x9954,0x995B,
+0x9A4E,0x9A53,0x9A54,0x9A4C,0x9A4F,0x9A48,0x9A4A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9A49,0x9A52,0x9A50,0x9AD0,0x9B19,0x9B2B,0x9B3B,
+0x9B56,0x9B55,0x9C46,0x9C48,0x9C3F,0x9C44,0x9C39,0x9C33,
+0x9C41,0x9C3C,0x9C37,0x9C34,0x9C32,0x9C3D,0x9C36,0x9DDB,
+0x9DD2,0x9DDE,0x9DDA,0x9DCB,0x9DD0,0x9DDC,0x9DD1,0x9DDF,
+0x9DE9,0x9DD9,0x9DD8,0x9DD6,0x9DF5,0x9DD5,0x9DDD,0x9EB6,
+0x9EF0,0x9F35,0x9F33,0x9F32,0x9F42,0x9F6B,0x9F95,0x9FA2,
+0x513D,0x5299,0x58E8,0x58E7,0x5972,0x5B4D,0x5DD8,0x882F,
+0x5F4F,0x6201,0x6203,0x6204,0x6529,0x6525,0x6596,0x66EB,
+0x6B11,0x6B12,0x6B0F,0x6BCA,0x705B,0x705A,0x7222,0x7382,
+0x7381,0x7383,0x7670,0x77D4,0x7C67,0x7C66,0x7E95,0x826C,
+0x863A,0x8640,0x8639,0x863C,0x8631,0x863B,0x863E,0x8830,
+0x8832,0x882E,0x8833,0x8976,0x8974,0x8973,0x89FE, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8B8C,0x8B8E,0x8B8B,0x8B88,0x8C45,0x8D19,0x8E98,0x8F64,
+0x8F63,0x91BC,0x9462,0x9455,0x945D,0x9457,0x945E,0x97C4,
+0x97C5,0x9800,0x9A56,0x9A59,0x9B1E,0x9B1F,0x9B20,0x9C52,
+0x9C58,0x9C50,0x9C4A,0x9C4D,0x9C4B,0x9C55,0x9C59,0x9C4C,
+0x9C4E,0x9DFB,0x9DF7,0x9DEF,0x9DE3,0x9DEB,0x9DF8,0x9DE4,
+0x9DF6,0x9DE1,0x9DEE,0x9DE6,0x9DF2,0x9DF0,0x9DE2,0x9DEC,
+0x9DF4,0x9DF3,0x9DE8,0x9DED,0x9EC2,0x9ED0,0x9EF2,0x9EF3,
+0x9F06,0x9F1C,0x9F38,0x9F37,0x9F36,0x9F43,0x9F4F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9F71,0x9F70,0x9F6E,0x9F6F,0x56D3,0x56CD,0x5B4E,
+0x5C6D,0x652D,0x66ED,0x66EE,0x6B13,0x705F,0x7061,0x705D,
+0x7060,0x7223,0x74DB,0x74E5,0x77D5,0x7938,0x79B7,0x79B6,
+0x7C6A,0x7E97,0x7F89,0x826D,0x8643,0x8838,0x8837,0x8835,
+0x884B,0x8B94,0x8B95,0x8E9E,0x8E9F,0x8EA0,0x8E9D,0x91BE,
+0x91BD,0x91C2,0x946B,0x9468,0x9469,0x96E5,0x9746,0x9743,
+0x9747,0x97C7,0x97E5,0x9A5E,0x9AD5,0x9B59,0x9C63,0x9C67,
+0x9C66,0x9C62,0x9C5E,0x9C60,0x9E02,0x9DFE,0x9E07,0x9E03,
+0x9E06,0x9E05,0x9E00,0x9E01,0x9E09,0x9DFF,0x9DFD,0x9E04,
+0x9EA0,0x9F1E,0x9F46,0x9F74,0x9F75,0x9F76,0x56D4,0x652E,
+0x65B8,0x6B18,0x6B19,0x6B17,0x6B1A,0x7062,0x7226,0x72AA,
+0x77D8,0x77D9,0x7939,0x7C69,0x7C6B,0x7CF6,0x7E9A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7E98,0x7E9B,0x7E99,0x81E0,0x81E1,0x8646,0x8647,0x8648,
+0x8979,0x897A,0x897C,0x897B,0x89FF,0x8B98,0x8B99,0x8EA5,
+0x8EA4,0x8EA3,0x946E,0x946D,0x946F,0x9471,0x9473,0x9749,
+0x9872,0x995F,0x9C68,0x9C6E,0x9C6D,0x9E0B,0x9E0D,0x9E10,
+0x9E0F,0x9E12,0x9E11,0x9EA1,0x9EF5,0x9F09,0x9F47,0x9F78,
+0x9F7B,0x9F7A,0x9F79,0x571E,0x7066,0x7C6F,0x883C,0x8DB2,
+0x8EA6,0x91C3,0x9474,0x9478,0x9476,0x9475,0x9A60,0x9C74,
+0x9C73,0x9C71,0x9C75,0x9E14,0x9E13,0x9EF6,0x9F0A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9FA4,0x7068,0x7065,0x7CF7,0x866A,0x883E,0x883D,
+0x883F,0x8B9E,0x8C9C,0x8EA9,0x8EC9,0x974B,0x9873,0x9874,
+0x98CC,0x9961,0x99AB,0x9A64,0x9A66,0x9A67,0x9B24,0x9E15,
+0x9E17,0x9F48,0x6207,0x6B1E,0x7227,0x864C,0x8EA8,0x9482,
+0x9480,0x9481,0x9A69,0x9A68,0x9B2E,0x9E19,0x7229,0x864B,
+0x8B9F,0x9483,0x9C79,0x9EB7,0x7675,0x9A6B,0x9C7A,0x9E1D,
+0x7069,0x706A,0x9EA4,0x9F7E,0x9F49,0x9F98};
+
+static int func_big5_uni_onechar(int code){
+ if ((code>=0xA140)&&(code<=0xC7FC))
+ return(tab_big5_uni0[code-0xA140]);
+ if ((code>=0xC940)&&(code<=0xF9D5))
+ return(tab_big5_uni1[code-0xC940]);
+ return(0);
+}
+
+
+/* page 0 0x00A2-0x00F7 */
+static uint16 tab_uni_big50[]={
+0xA246,0xA247, 0,0xA244, 0,0xA1B1, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA258,0xA1D3,
+ 0, 0, 0, 0, 0,0xA150, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1D1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1D2};
+
+/* page 1 0x02C7-0x0451 */
+static uint16 tab_uni_big51[]={
+0xA3BE, 0,0xA3BC,0xA3BD,0xA3BF, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA3BB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA344,0xA345,0xA346,0xA347,0xA348,0xA349,
+0xA34A,0xA34B,0xA34C,0xA34D,0xA34E,0xA34F,0xA350,0xA351,
+0xA352,0xA353,0xA354, 0,0xA355,0xA356,0xA357,0xA358,
+0xA359,0xA35A,0xA35B, 0, 0, 0, 0, 0,
+ 0, 0,0xA35C,0xA35D,0xA35E,0xA35F,0xA360,0xA361,
+0xA362,0xA363,0xA364,0xA365,0xA366,0xA367,0xA368,0xA369,
+0xA36A,0xA36B,0xA36C, 0,0xA36D,0xA36E,0xA36F,0xA370,
+0xA371,0xA372,0xA373, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xC7B3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xC7B1,0xC7B2,0xC7B4,
+0xC7B5,0xC7B6,0xC7B7,0xC7B8,0xC7B9,0xC7BA, 0, 0,
+ 0, 0, 0, 0,0xC7BB,0xC7BC,0xC7BD,0xC7BE,
+0xC7BF,0xC7C0,0xC7C1,0xC7C2,0xC7C3,0xC7C4,0xC7C5,0xC7C6,
+0xC7C7,0xC7C8,0xC7C9,0xC7CA,0xC7CB,0xC7CC,0xC7CD,0xC7CF,
+0xC7D0,0xC7D1,0xC7D2,0xC7D3,0xC7D4,0xC7D5,0xC7D6,0xC7D7,
+0xC7D8,0xC7D9,0xC7DA,0xC7DB,0xC7DC,0xC7DD,0xC7DE,0xC7DF,
+0xC7E0,0xC7E1,0xC7E2,0xC7E3,0xC7E4,0xC7E5,0xC7E6,0xC7E7,
+0xC7E8, 0,0xC7CE};
+
+/* page 2 0x2013-0x22BF */
+static uint16 tab_uni_big52[]={
+0xA156,0xA158, 0, 0, 0,0xA1A5,0xA1A6, 0,
+ 0,0xA1A7,0xA1A8, 0, 0, 0, 0,0xA145,
+ 0, 0,0xA14C,0xA14B, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA1AC,
+ 0, 0,0xA1AB, 0, 0, 0, 0, 0,
+0xA1B0, 0, 0,0xA1C2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA24A, 0,0xA1C1, 0, 0, 0,0xA24B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA2B9,0xA2BA,0xA2BB,
+0xA2BC,0xA2BD,0xA2BE,0xA2BF,0xA2C0,0xA2C1,0xA2C2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1F6,0xA1F4,0xA1F7,
+0xA1F5, 0, 0,0xA1F8,0xA1F9,0xA1FB,0xA1FA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA1D4,
+ 0, 0, 0,0xA1DB,0xA1E8,0xA1E7, 0, 0,
+0xA1FD, 0,0xA1FC, 0, 0, 0,0xA1E4,0xA1E5,
+0xA1EC, 0, 0,0xA1ED, 0, 0, 0, 0,
+ 0,0xA1EF,0xA1EE, 0, 0, 0, 0, 0,
+ 0,0xA1E3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA1DC,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1DA,0xA1DD, 0,
+ 0, 0, 0,0xA1D8,0xA1D9, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA1E6, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA1E9};
+
+/* page 3 0x2460-0x2642 */
+static uint16 tab_uni_big53[]={
+0xC7E9,0xC7EA,0xC7EB,0xC7EC,0xC7ED,0xC7EE,0xC7EF,0xC7F0,
+0xC7F1,0xC7F2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xC7F3,0xC7F4,0xC7F5,0xC7F6,
+0xC7F7,0xC7F8,0xC7F9,0xC7FA,0xC7FB,0xC7FC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA277, 0,0xA278, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA27A, 0, 0, 0,
+0xA27B, 0, 0, 0,0xA27C, 0, 0, 0,
+0xA27D, 0, 0, 0,0xA275, 0, 0, 0,
+ 0, 0, 0, 0,0xA274, 0, 0, 0,
+ 0, 0, 0, 0,0xA273, 0, 0, 0,
+ 0, 0, 0, 0,0xA272, 0, 0, 0,
+ 0, 0, 0, 0,0xA271, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA2A4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA2A5, 0,
+ 0,0xA2A7, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA2A6, 0, 0,0xA27E,0xA2A1,0xA2A3,
+0xA2A2,0xA2AC,0xA2AD,0xA2AE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA262,0xA263,0xA264,0xA265,0xA266,0xA267,0xA268,
+0xA269,0xA270,0xA26F,0xA26E,0xA26D,0xA26C,0xA26B,0xA26A,
+ 0, 0, 0, 0,0xA276,0xA279, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1BD,0xA1BC, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA1B6,0xA1B5, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA1BF,0xA1BE, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA1BB,0xA1BA,
+ 0, 0, 0,0xA1B3, 0, 0,0xA1B7,0xA1B4,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA2A8,0xA2A9,0xA2AB,0xA2AA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1B9,0xA1B8, 0,
+ 0,0xA1F3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1F0,0xA1F2,0xA1F1};
+
+/* page 4 0x3000-0x3129 */
+static uint16 tab_uni_big54[]={
+0xA140,0xA142,0xA143,0xA1B2, 0,0xC6A4, 0, 0,
+0xA171,0xA172,0xA16D,0xA16E,0xA175,0xA176,0xA179,0xA17A,
+0xA169,0xA16A,0xA245, 0,0xA165,0xA166, 0, 0,
+ 0, 0, 0, 0, 0,0xA1A9,0xA1AA, 0,
+ 0,0xA2C3,0xA2C4,0xA2C5,0xA2C6,0xA2C7,0xA2C8,0xA2C9,
+0xA2CA,0xA2CB, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xC6A5,0xC6A6,0xC6A7,0xC6A8,0xC6A9,0xC6AA,0xC6AB,
+0xC6AC,0xC6AD,0xC6AE,0xC6AF,0xC6B0,0xC6B1,0xC6B2,0xC6B3,
+0xC6B4,0xC6B5,0xC6B6,0xC6B7,0xC6B8,0xC6B9,0xC6BA,0xC6BB,
+0xC6BC,0xC6BD,0xC6BE,0xC6BF,0xC6C0,0xC6C1,0xC6C2,0xC6C3,
+0xC6C4,0xC6C5,0xC6C6,0xC6C7,0xC6C8,0xC6C9,0xC6CA,0xC6CB,
+0xC6CC,0xC6CD,0xC6CE,0xC6CF,0xC6D0,0xC6D1,0xC6D2,0xC6D3,
+0xC6D4,0xC6D5,0xC6D6,0xC6D7,0xC6D8,0xC6D9,0xC6DA,0xC6DB,
+0xC6DC,0xC6DD,0xC6DE,0xC6DF,0xC6E0,0xC6E1,0xC6E2,0xC6E3,
+0xC6E4,0xC6E5,0xC6E6,0xC6E7,0xC6E8,0xC6E9,0xC6EA,0xC6EB,
+0xC6EC,0xC6ED,0xC6EE,0xC6EF,0xC6F0,0xC6F1,0xC6F2,0xC6F3,
+0xC6F4,0xC6F5,0xC6F6,0xC6F7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xC6A2,0xC6A3, 0,
+ 0,0xC6F8,0xC6F9,0xC6FA,0xC6FB,0xC6FC,0xC6FD,0xC6FE,
+0xC740,0xC741,0xC742,0xC743,0xC744,0xC745,0xC746,0xC747,
+0xC748,0xC749,0xC74A,0xC74B,0xC74C,0xC74D,0xC74E,0xC74F,
+0xC750,0xC751,0xC752,0xC753,0xC754,0xC755,0xC756,0xC757,
+0xC758,0xC759,0xC75A,0xC75B,0xC75C,0xC75D,0xC75E,0xC75F,
+0xC760,0xC761,0xC762,0xC763,0xC764,0xC765,0xC766,0xC767,
+0xC768,0xC769,0xC76A,0xC76B,0xC76C,0xC76D,0xC76E,0xC76F,
+0xC770,0xC771,0xC772,0xC773,0xC774,0xC775,0xC776,0xC777,
+0xC778,0xC779,0xC77A,0xC77B,0xC77C,0xC77D,0xC77E,0xC7A1,
+0xC7A2,0xC7A3,0xC7A4,0xC7A5,0xC7A6,0xC7A7,0xC7A8,0xC7A9,
+0xC7AA,0xC7AB,0xC7AC,0xC7AD,0xC7AE,0xC7AF,0xC7B0, 0,
+ 0, 0, 0, 0, 0, 0,0xC6A1, 0,
+ 0, 0, 0, 0, 0,0xA374,0xA375,0xA376,
+0xA377,0xA378,0xA379,0xA37A,0xA37B,0xA37C,0xA37D,0xA37E,
+0xA3A1,0xA3A2,0xA3A3,0xA3A4,0xA3A5,0xA3A6,0xA3A7,0xA3A8,
+0xA3A9,0xA3AA,0xA3AB,0xA3AC,0xA3AD,0xA3AE,0xA3AF,0xA3B0,
+0xA3B1,0xA3B2,0xA3B3,0xA3B4,0xA3B5,0xA3B6,0xA3B7,0xA3B8,
+0xA3B9,0xA3BA};
+
+/* page 5 0x32A3-0x32A3 */
+static uint16 tab_uni_big55[]={
+0xA1C0};
+
+/* page 6 0x338E-0x33D5 */
+static uint16 tab_uni_big56[]={
+0xA255,0xA256, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA250,0xA251,
+0xA252, 0, 0,0xA254, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA257, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA253, 0, 0,0xA1EB,0xA1EA, 0, 0,0xA24F
+};
+
+/* page 7 0x4E00-0x9483 */
+static uint16 tab_uni_big57[]={
+0xA440,0xA442, 0,0xA443, 0, 0, 0,0xC945,
+0xA456,0xA454,0xA457,0xA455,0xC946,0xA4A3,0xC94F,0xC94D,
+0xA4A2,0xA4A1, 0, 0,0xA542,0xA541,0xA540, 0,
+0xA543,0xA4FE, 0, 0, 0, 0,0xA5E0,0xA5E1,
+ 0, 0, 0, 0, 0, 0,0xA8C3, 0,
+ 0, 0, 0,0xA458, 0,0xA4A4,0xC950, 0,
+0xA4A5,0xC963,0xA6EA,0xCBB1, 0, 0, 0, 0,
+0xA459,0xA4A6, 0,0xA544,0xC964, 0, 0, 0,
+ 0, 0,0xC940,0xA444, 0,0xA45B, 0,0xC947,
+0xA45C, 0, 0,0xA4A7, 0,0xA545,0xA547,0xA546,
+ 0, 0,0xA5E2,0xA5E3, 0, 0,0xA8C4, 0,
+0xADBC,0xA441, 0, 0,0xC941,0xA445,0xA45E,0xA45D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA5E4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA8C5, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xB0AE,0xD44B,
+ 0, 0,0xB6C3,0xDCB1,0xDCB2, 0,0xA446, 0,
+0xA4A9, 0, 0,0xA8C6,0xA447,0xC948,0xA45F, 0,
+ 0,0xA4AA,0xA4AC,0xC951,0xA4AD,0xA4AB, 0, 0,
+ 0,0xA5E5, 0,0xA8C7, 0, 0,0xA8C8,0xAB45,
+ 0,0xA460,0xA4AE, 0,0xA5E6,0xA5E8,0xA5E7, 0,
+0xA6EB, 0, 0,0xA8C9,0xA8CA,0xAB46,0xAB47, 0,
+ 0, 0, 0,0xADBD, 0, 0,0xDCB3, 0,
+ 0,0xF6D6,0xA448, 0, 0, 0, 0, 0,
+0xA4B0,0xA4AF,0xC952,0xA4B1,0xA4B7, 0,0xA4B2,0xA4B3,
+0xC954,0xC953,0xA4B5,0xA4B6, 0,0xA4B4, 0, 0,
+ 0, 0, 0, 0,0xA54A,0xA54B,0xA54C,0xA54D,
+0xA549,0xA550,0xC96A, 0,0xC966,0xC969,0xA551,0xA561,
+ 0,0xC968, 0,0xA54E,0xA54F,0xA548, 0, 0,
+0xC965,0xC967, 0, 0, 0, 0, 0, 0,
+0xA5F5,0xC9B0,0xA5F2,0xA5F6,0xC9BA,0xC9AE,0xA5F3,0xC9B2,
+ 0, 0, 0,0xA5F4, 0,0xA5F7, 0,0xA5E9,
+0xC9B1,0xA5F8,0xC9B5, 0,0xC9B9,0xC9B6, 0, 0,
+0xC9B3,0xA5EA,0xA5EC,0xA5F9, 0,0xA5EE,0xC9AB,0xA5F1,
+0xA5EF,0xA5F0,0xC9BB,0xC9B8,0xC9AF,0xA5ED, 0, 0,
+0xC9AC,0xA5EB, 0, 0, 0,0xC9B4, 0, 0,
+ 0, 0,0xC9B7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xC9AD,0xCA66, 0,0xA742,
+0xA6F4, 0, 0,0xCA67,0xA6F1, 0,0xA744, 0,
+0xA6F9, 0,0xA6F8,0xCA5B,0xA6FC,0xA6F7,0xCA60,0xCA68,
+ 0,0xCA64, 0,0xA6FA, 0, 0,0xA6FD,0xA6EE,
+0xA747,0xCA5D, 0, 0,0xCBBD,0xA6EC,0xA743,0xA6ED,
+0xA6F5,0xA6F6,0xCA62,0xCA5E,0xA6FB,0xA6F3,0xCA5A,0xA6EF,
+0xCA65,0xA745,0xA748,0xA6F2,0xA740,0xA746,0xA6F0,0xCA63,
+0xA741,0xCA69,0xCA5C,0xA6FE,0xCA5F, 0, 0,0xCA61,
+ 0,0xA8D8,0xCBBF,0xCBCB,0xA8D0, 0,0xCBCC,0xA8CB,
+0xA8D5, 0, 0,0xA8CE,0xCBB9,0xA8D6,0xCBB8,0xCBBC,
+0xCBC3,0xCBC1,0xA8DE,0xA8D9,0xCBB3,0xCBB5,0xA8DB,0xA8CF,
+0xCBB6,0xCBC2,0xCBC9,0xA8D4,0xCBBB,0xCBB4,0xA8D3,0xCBB7,
+0xA8D7,0xCBBA, 0,0xA8D2, 0,0xA8CD, 0,0xA8DC,
+0xCBC4,0xA8DD,0xCBC8, 0,0xCBC6,0xCBCA,0xA8DA,0xCBBE,
+0xCBB2, 0,0xCBC0,0xA8D1,0xCBC5,0xA8CC,0xCBC7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xAB56,0xAB4A,
+ 0, 0,0xCDE0,0xCDE8, 0,0xAB49,0xAB51,0xAB5D,
+ 0,0xCDEE,0xCDEC,0xCDE7, 0, 0, 0,0xAB4B,
+0xCDED,0xCDE3,0xAB59,0xAB50,0xAB58,0xCDDE, 0,0xCDEA,
+ 0,0xCDE1,0xAB54,0xCDE2, 0,0xCDDD,0xAB5B,0xAB4E,
+0xAB57,0xAB4D, 0,0xCDDF,0xCDE4, 0,0xCDEB,0xAB55,
+0xAB52,0xCDE6,0xAB5A,0xCDE9,0xCDE5,0xAB4F,0xAB5C,0xAB53,
+0xAB4C,0xAB48, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xCDEF, 0,0xADD7,0xADC1,
+ 0,0xADD1, 0,0xADD6,0xD0D0,0xD0CF,0xD0D4,0xD0D5,
+0xADC4, 0,0xADCD, 0, 0, 0,0xADDA, 0,
+0xADCE, 0, 0, 0, 0,0xD0C9,0xADC7,0xD0CA,
+ 0,0xADDC, 0,0xADD3,0xADBE,0xADBF,0xD0DD,0xB0BF,
+ 0,0xADCC,0xADCB,0xD0CB,0xADCF,0xD45B,0xADC6,0xD0D6,
+0xADD5,0xADD4,0xADCA,0xD0CE,0xD0D7, 0,0xD0C8,0xADC9,
+0xD0D8,0xADD2,0xD0CC,0xADC0, 0,0xADC3,0xADC2,0xD0D9,
+0xADD0,0xADC5,0xADD9,0xADDB,0xD0D3,0xADD8, 0,0xD0DB,
+0xD0CD,0xD0DC, 0,0xD0D1, 0,0xD0DA, 0,0xD0D2,
+ 0, 0, 0, 0,0xADC8, 0, 0, 0,
+0xD463,0xD457, 0,0xB0B3, 0,0xD45C,0xD462,0xB0B2,
+0xD455,0xB0B6,0xD459,0xD452,0xB0B4,0xD456,0xB0B9,0xB0BE,
+ 0,0xD467, 0,0xD451, 0,0xB0BA, 0,0xD466,
+ 0, 0,0xB0B5,0xD458,0xB0B1,0xD453,0xD44F,0xD45D,
+0xD450,0xD44E,0xD45A,0xD460,0xD461,0xB0B7, 0, 0,
+0xD85B,0xD45E,0xD44D,0xD45F, 0,0xB0C1,0xD464,0xB0C0,
+0xD44C, 0,0xD454,0xD465,0xB0BC,0xB0BB,0xB0B8,0xB0BD,
+ 0, 0,0xB0AF, 0, 0,0xB0B0, 0, 0,
+0xB3C8, 0,0xD85E,0xD857, 0,0xB3C5, 0,0xD85F,
+ 0, 0, 0,0xD855,0xD858,0xB3C4,0xD859, 0,
+ 0,0xB3C7,0xD85D, 0,0xD853,0xD852,0xB3C9, 0,
+0xB3CA,0xB3C6,0xB3CB,0xD851,0xD85C,0xD85A,0xD854, 0,
+ 0, 0,0xB3C3,0xD856, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xB6CA,0xB6C4,0xDCB7,0xB6CD,
+0xDCBD,0xDCC0,0xB6C6,0xB6C7,0xDCBA,0xB6C5,0xDCC3,0xB6CB,
+0xDCC4, 0,0xDCBF,0xB6CC, 0,0xDCB4,0xB6C9,0xDCB5,
+ 0,0xDCBE,0xDCBC, 0,0xDCB8,0xB6C8,0xDCB6,0xB6CE,
+0xDCBB,0xDCC2,0xDCB9,0xDCC1, 0, 0,0xB9B6,0xB9B3,
+ 0,0xB9B4, 0,0xE0F9,0xE0F1,0xB9B2,0xB9AF,0xE0F2,
+ 0, 0,0xB9B1,0xE0F5, 0,0xE0F7, 0, 0,
+0xE0FE, 0, 0,0xE0FD,0xE0F8,0xB9AE,0xE0F0,0xB9AC,
+0xE0F3,0xB9B7,0xE0F6, 0,0xE0FA,0xB9B0,0xB9AD,0xE0FC,
+0xE0FB,0xB9B5, 0,0xE0F4, 0,0xBBF8,0xE4EC, 0,
+0xE4E9,0xBBF9, 0,0xBBF7, 0,0xE4F0,0xE4ED,0xE4E6,
+0xBBF6, 0,0xBBFA,0xE4E7,0xBBF5,0xBBFD,0xE4EA,0xE4EB,
+0xBBFB,0xBBFC,0xE4F1,0xE4EE,0xE4EF, 0, 0, 0,
+0xBEAA,0xE8F8,0xBEA7,0xE8F5,0xBEA9,0xBEAB, 0,0xE8F6,
+0xBEA8, 0,0xE8F7, 0,0xE8F4, 0, 0,0xC076,
+0xECBD,0xC077,0xECBB, 0,0xECBC,0xECBA,0xECB9, 0,
+ 0,0xECBE,0xC075, 0, 0,0xEFB8,0xEFB9, 0,
+0xE4E8,0xEFB7,0xC078,0xC35F,0xF1EB,0xF1EC, 0,0xC4D7,
+0xC4D8,0xF5C1,0xF5C0,0xC56C,0xC56B,0xF7D0, 0,0xA449,
+0xA461,0xA4B9, 0,0xA4B8,0xA553,0xA552,0xA5FC,0xA5FB,
+0xA5FD,0xA5FA, 0,0xA74A,0xA749,0xA74B, 0, 0,
+ 0, 0,0xA8E0, 0,0xA8DF,0xA8E1, 0,0xAB5E,
+ 0,0xA259,0xD0DE,0xA25A,0xB0C2,0xA25C,0xA25B,0xD860,
+ 0,0xA25D,0xB9B8,0xA25E, 0,0xA44A, 0,0xA4BA,
+0xA5FE,0xA8E2, 0,0xA44B,0xA4BD,0xA4BB,0xA4BC, 0,
+ 0,0xA640, 0, 0, 0,0xA74C,0xA8E4,0xA8E3,
+0xA8E5, 0, 0, 0,0xADDD, 0, 0, 0,
+0xBEAC, 0, 0, 0, 0, 0, 0,0xC94E,
+ 0,0xA554,0xA555, 0, 0,0xA641, 0,0xCA6A,
+ 0,0xAB60,0xAB5F,0xD0E0,0xD0DF,0xB0C3, 0,0xA4BE,
+0xC955, 0, 0, 0, 0, 0,0xCBCD, 0,
+0xAB61, 0,0xADE0, 0,0xADDE,0xADDF, 0, 0,
+ 0, 0,0xBEAD, 0,0xA556, 0, 0, 0,
+0xA642,0xC9BC, 0, 0, 0, 0,0xA74D,0xA74E,
+ 0,0xCA6B, 0, 0,0xCBCE,0xA8E6,0xCBCF, 0,
+ 0, 0, 0, 0,0xD0E2,0xD0E3,0xADE3, 0,
+0xD0E4, 0,0xD0E1,0xADE4,0xADE2,0xADE1,0xD0E5, 0,
+0xD468, 0, 0, 0,0xD861, 0, 0,0xDCC5,
+0xE140, 0, 0, 0,0xBBFE,0xBEAE,0xE8F9, 0,
+0xA44C,0xA45A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB0C4,0xB3CD, 0,0xB9B9, 0,0xC942,0xA4BF, 0,
+0xA559,0xA557,0xA558, 0, 0,0xA8E7, 0, 0,
+0xA44D,0xA44E, 0,0xA462, 0, 0,0xA4C0,0xA4C1,
+0xA4C2,0xC9BE,0xA55A, 0,0xC96B, 0,0xA646, 0,
+0xC9BF,0xA644,0xA645,0xC9BD, 0, 0,0xA647,0xA643,
+ 0, 0, 0, 0,0xCA6C,0xAAEC,0xCA6D, 0,
+ 0,0xCA6E, 0, 0,0xA750,0xA74F, 0, 0,
+0xA753,0xA751,0xA752, 0, 0, 0,0xA8ED, 0,
+0xA8EC,0xCBD4,0xCBD1,0xCBD2, 0,0xCBD0,0xA8EE,0xA8EA,
+0xA8E9, 0,0xA8EB,0xA8E8, 0, 0, 0, 0,
+ 0,0xA8EF, 0,0xAB63,0xCDF0, 0,0xCBD3,0xAB68,
+ 0,0xCDF1,0xAB64,0xAB67,0xAB66,0xAB65,0xAB62, 0,
+ 0, 0,0xD0E8, 0,0xADE7,0xD0EB,0xADE5, 0,
+ 0, 0,0xD0E7,0xADE8,0xADE6,0xADE9,0xD0E9,0xD0EA,
+ 0,0xD0E6,0xD0EC, 0, 0, 0, 0, 0,
+ 0,0xB3D1,0xB0C5,0xD469,0xD46B,0xD46A,0xD46C,0xB0C6,
+ 0, 0,0xB3CE, 0,0xB3CF,0xB3D0, 0,0xB6D0,
+0xDCC7, 0,0xDCC6,0xDCC8,0xDCC9,0xB6D1, 0,0xB6CF,
+0xE141,0xE142,0xB9BB,0xB9BA,0xE35A, 0, 0,0xBC40,
+0xBC41,0xBC42,0xBC44,0xE4F2,0xE4F3,0xBC43, 0, 0,
+ 0,0xBEAF, 0,0xBEB0, 0, 0,0xF1ED,0xF5C3,
+0xF5C2,0xF7D1, 0,0xA44F, 0, 0, 0,0xA55C,
+0xA55B, 0, 0,0xA648, 0, 0,0xC9C0, 0,
+ 0,0xA755,0xA756,0xA754,0xA757,0xCA6F,0xCA70, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA8F1,0xCBD5, 0,0xA8F0, 0,
+0xCDF2,0xAB6C,0xCDF3,0xAB6B, 0, 0, 0,0xAB69,
+ 0,0xAB6A, 0, 0, 0,0xD0ED, 0, 0,
+ 0, 0,0xB0C7,0xD46E, 0,0xB0CA,0xD46D,0xB1E5,
+0xB0C9,0xB0C8, 0,0xB3D4, 0,0xB3D3,0xB3D2,0xB6D2,
+ 0, 0,0xB6D5,0xB6D6,0xB6D4, 0,0xB6D3, 0,
+ 0,0xE143, 0,0xE144, 0, 0, 0,0xE4F5,
+0xBC45,0xE4F4, 0,0xBEB1,0xECBF,0xC079, 0,0xF1EE,
+0xC455, 0,0xA463,0xA4C3,0xC956, 0,0xA4C4,0xA4C5,
+ 0, 0, 0, 0, 0,0xA55D,0xA55E, 0,
+0xA649,0xCA71,0xCBD6,0xCBD7, 0,0xAB6D,0xD0EE,0xB0CC,
+0xB0CB,0xD863,0xD862, 0, 0,0xA450,0xA4C6,0xA55F,
+ 0,0xB0CD,0xC943, 0,0xC96C,0xA560, 0,0xC9C2,
+0xA64B,0xA64A,0xC9C1,0xA758, 0, 0, 0, 0,
+ 0, 0,0xADEA, 0, 0,0xD46F, 0,0xB6D7,
+0xE145,0xB9BC, 0, 0,0xE8FA, 0, 0,0xF3FD,
+ 0,0xA4C7, 0, 0,0xCBD8,0xCDF4,0xB0D0,0xB0CE,
+0xB0CF,0xA451, 0,0xA464,0xA2CD,0xA4CA, 0,0xA4C9,
+0xA4C8,0xA563,0xA562, 0,0xC96D,0xC9C3, 0, 0,
+ 0,0xA8F5,0xA8F2,0xA8F4,0xA8F3, 0, 0,0xAB6E,
+ 0, 0,0xB3D5, 0,0xA452, 0,0xA4CB, 0,
+0xA565,0xA564, 0,0xCA72, 0, 0,0xA8F6, 0,
+ 0, 0, 0, 0,0xC957, 0,0xA567,0xA566,
+0xA64C,0xA64D,0xCA73,0xA759, 0,0xA75A, 0,0xA8F7,
+0xA8F8,0xA8F9, 0,0xAB6F,0xCDF5, 0, 0,0xADEB,
+ 0, 0,0xC944, 0,0xA4CC, 0, 0, 0,
+ 0, 0,0xC9C4, 0, 0, 0,0xCA74,0xCA75,
+ 0, 0,0xCBD9, 0,0xCBDA, 0,0xCDF7,0xCDF6,
+0xCDF9,0xCDF8,0xAB70, 0,0xD470,0xADED,0xD0EF,0xADEC,
+ 0, 0, 0, 0,0xD864,0xB3D6, 0,0xD865,
+ 0, 0, 0, 0,0xE146,0xB9BD, 0, 0,
+ 0, 0,0xBC46, 0,0xF1EF, 0, 0, 0,
+ 0,0xC958, 0,0xA568, 0, 0, 0, 0,
+ 0, 0, 0,0xB0D1, 0, 0, 0, 0,
+0xA453,0xA465,0xA4CE,0xA4CD, 0,0xA4CF, 0, 0,
+ 0, 0, 0, 0,0xA8FB, 0,0xA8FA,0xA8FC,
+ 0, 0, 0,0xAB71, 0, 0, 0,0xADEE,
+ 0,0xE8FB,0xC24F,0xA466,0xA56A,0xA579,0xA574, 0,
+0xA56F,0xA56E,0xA575,0xA573,0xA56C,0xA57A,0xA56D,0xA569,
+0xA578,0xA577,0xA576,0xA56B, 0,0xA572, 0, 0,
+0xA571, 0, 0,0xA57B,0xA570, 0, 0, 0,
+ 0,0xA653, 0,0xA659,0xA655, 0,0xA65B,0xC9C5,
+0xA658,0xA64E,0xA651,0xA654,0xA650,0xA657,0xA65A,0xA64F,
+0xA652,0xA656,0xA65C, 0, 0, 0, 0, 0,
+0xCA7E,0xCA7B, 0,0xA767,0xCA7C,0xA75B,0xA75D,0xA775,
+0xA770, 0, 0, 0,0xCAA5,0xCA7D,0xA75F,0xA761,
+0xCAA4,0xA768,0xCA78,0xA774,0xA776,0xA75C,0xA76D, 0,
+0xCA76,0xA773, 0,0xA764, 0,0xA76E,0xA76F,0xCA77,
+0xA76C,0xA76A, 0,0xA76B,0xA771,0xCAA1,0xA75E, 0,
+0xA772,0xCAA3,0xA766,0xA763, 0,0xCA7A,0xA762,0xCAA6,
+0xA765, 0,0xA769, 0, 0, 0,0xA760,0xCAA2,
+ 0, 0, 0, 0,0xCA79, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCBEB,0xCBEA,0xA94F,0xCBED,0xCBEF,0xCBE4,0xCBE7,0xCBEE,
+0xA950, 0, 0,0xCBE1,0xCBE5, 0, 0,0xCBE9,
+0xCE49,0xA94B,0xCE4D,0xA8FD,0xCBE6,0xA8FE,0xA94C,0xA945,
+0xA941, 0,0xCBE2,0xA944,0xA949,0xA952,0xCBE3,0xCBDC,
+0xA943,0xCBDD,0xCBDF, 0,0xA946, 0,0xA948,0xCBDB,
+0xCBE0, 0, 0,0xA951,0xA94D,0xCBE8,0xA953, 0,
+0xA94A,0xCBDE,0xA947, 0, 0,0xA942,0xA940, 0,
+0xCBEC, 0,0xA94E, 0, 0, 0, 0, 0,
+0xCE48,0xCDFB,0xCE4B, 0, 0,0xCDFD,0xAB78,0xABA8,
+0xAB74,0xABA7,0xAB7D,0xABA4,0xAB72,0xCDFC,0xCE43,0xABA3,
+0xCE4F,0xABA5, 0,0xAB79, 0, 0,0xCE45,0xCE42,
+0xAB77, 0,0xCDFA,0xABA6,0xCE4A,0xAB7C,0xCE4C,0xABA9,
+0xAB73,0xAB7E,0xAB7B,0xCE40,0xABA1,0xCE46,0xCE47,0xAB7A,
+0xABA2,0xAB76, 0, 0, 0, 0,0xAB75,0xCDFE,
+ 0, 0, 0, 0, 0, 0,0xCE44, 0,
+ 0, 0, 0, 0, 0, 0,0xCE4E, 0,
+0xD144,0xADFB,0xD0F1, 0,0xD0F6,0xADF4,0xAE40,0xD0F4,
+0xADEF,0xADF9,0xADFE,0xD0FB, 0,0xADFA,0xADFD, 0,
+ 0,0xD0FE,0xADF5,0xD0F5, 0, 0, 0,0xD142,
+0xD143, 0,0xADF7,0xD141,0xADF3,0xAE43, 0,0xD0F8,
+ 0,0xADF1, 0,0xD146,0xD0F9,0xD0FD,0xADF6,0xAE42,
+0xD0FA,0xADFC,0xD140,0xD147,0xD4A1, 0,0xD145,0xAE44,
+0xADF0,0xD0FC,0xD0F3, 0,0xADF8, 0, 0,0xD0F2,
+ 0, 0,0xD0F7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD0F0,0xAE41,
+ 0, 0,0xD477, 0,0xB0E4,0xD4A7,0xB0E2,0xB0DF,
+0xD47C,0xB0DB,0xD4A2,0xB0E6,0xD476,0xD47B,0xD47A,0xADF2,
+0xB0E1,0xD4A5, 0,0xD4A8,0xD473, 0,0xB3E8, 0,
+0xD4A9,0xB0E7, 0,0xB0D9,0xB0D6,0xD47E,0xB0D3, 0,
+0xD4A6, 0,0xB0DA,0xD4AA, 0,0xD474,0xD4A4,0xB0DD,
+0xD475,0xD478,0xD47D, 0, 0,0xB0DE,0xB0DC,0xB0E8,
+ 0, 0, 0, 0,0xB0E3, 0,0xB0D7,0xB1D2,
+ 0,0xB0D8,0xD479,0xB0E5,0xB0E0,0xD4A3,0xB0D5, 0,
+ 0, 0,0xB0D4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD471,0xD472,0xD86A,
+ 0, 0, 0,0xB3D7,0xB3DA,0xD875,0xB3EE,0xD878,
+0xB3D8,0xD871,0xB3DE,0xB3E4,0xB5BD, 0, 0,0xB3E2,
+0xD86E,0xB3EF,0xB3DB,0xB3E3,0xD876,0xDCD7,0xD87B,0xD86F,
+ 0,0xD866,0xD873,0xD86D,0xB3E1,0xD879, 0, 0,
+0xB3DD,0xB3F1,0xB3EA, 0,0xB3DF,0xB3DC, 0,0xB3E7,
+ 0,0xD87A,0xD86C,0xD872,0xD874,0xD868,0xD877,0xB3D9,
+0xD867, 0,0xB3E0,0xB3F0,0xB3EC,0xD869,0xB3E6, 0,
+ 0,0xB3ED,0xB3E9,0xB3E5, 0,0xD870, 0, 0,
+ 0, 0, 0,0xB3EB, 0, 0, 0,0xDCD5,
+0xDCD1, 0,0xDCE0,0xDCCA,0xDCD3,0xB6E5,0xB6E6,0xB6DE,
+0xDCDC,0xB6E8,0xDCCF,0xDCCE,0xDCCC,0xDCDE,0xB6DC,0xDCD8,
+0xDCCD,0xB6DF,0xDCD6,0xB6DA,0xDCD2,0xDCD9,0xDCDB, 0,
+ 0,0xDCDF,0xB6E3,0xDCCB,0xB6DD,0xDCD0, 0,0xB6D8,
+ 0,0xB6E4,0xDCDA,0xB6E0,0xB6E1,0xB6E7,0xB6DB,0xA25F,
+0xB6D9,0xDCD4, 0, 0, 0, 0, 0,0xB6E2,
+ 0, 0,0xDCDD, 0, 0, 0,0xB9CD,0xB9C8,
+ 0,0xE155,0xE151, 0,0xE14B,0xB9C2,0xB9BE,0xE154,
+0xB9BF,0xE14E,0xE150, 0,0xE153, 0,0xB9C4, 0,
+0xB9CB,0xB9C5, 0, 0,0xE149,0xB9C6,0xB9C7,0xE14C,
+0xB9CC, 0,0xE14A,0xE14F,0xB9C3,0xE148,0xB9C9,0xB9C1,
+ 0, 0, 0,0xB9C0,0xE14D,0xE152, 0,0xB9CA,
+ 0, 0, 0, 0, 0, 0, 0,0xE147,
+ 0,0xBC4D,0xE547, 0,0xE544, 0,0xBC47,0xBC53,
+0xBC54, 0,0xBC4A,0xE542,0xBC4C,0xE4F9,0xBC52, 0,
+0xE546,0xBC49,0xE548,0xBC48, 0,0xE543,0xE545,0xBC4B,
+0xE541,0xE4FA,0xE4F7, 0, 0,0xD86B,0xE4FD, 0,
+0xE4F6,0xE4FC,0xE4FB, 0,0xE4F8, 0,0xBC4F, 0,
+ 0, 0, 0,0xBC4E, 0, 0, 0,0xBC50,
+0xE4FE,0xBEB2,0xE540, 0, 0, 0,0xE945, 0,
+0xE8FD, 0,0xBEBE,0xE942,0xBEB6,0xBEBA,0xE941, 0,
+0xBEB9,0xBEB5,0xBEB8,0xBEB3,0xBEBD,0xE943,0xE8FE,0xBEBC,
+0xE8FC,0xBEBB,0xE944,0xE940,0xBC51, 0,0xBEBF,0xE946,
+0xBEB7,0xBEB4, 0, 0, 0, 0,0xECC6,0xECC8,
+0xC07B,0xECC9,0xECC7,0xECC5,0xECC4,0xC07D,0xECC3,0xC07E,
+ 0, 0, 0, 0,0xECC1,0xECC2,0xC07A,0xC0A1,
+0xC07C, 0, 0,0xECC0, 0,0xC250, 0,0xEFBC,
+0xEFBA,0xEFBF,0xEFBD, 0,0xEFBB,0xEFBE, 0, 0,
+ 0, 0, 0, 0, 0,0xC360,0xF1F2,0xF1F3,
+0xC456, 0,0xF1F4,0xF1F0,0xF1F5,0xF1F1,0xC251, 0,
+ 0, 0,0xF3FE,0xF441,0xC459,0xF440,0xC458,0xC457,
+ 0, 0, 0, 0,0xC45A,0xF5C5,0xF5C6, 0,
+0xC4DA,0xC4D9,0xC4DB,0xF5C4, 0,0xF6D8,0xF6D7, 0,
+0xC56D,0xC56F,0xC56E,0xF6D9,0xC5C8,0xF8A6, 0, 0,
+ 0,0xC5F1, 0,0xF8A5,0xF8EE, 0, 0,0xC949,
+ 0, 0,0xA57D,0xA57C, 0,0xA65F,0xA65E,0xC9C7,
+0xA65D,0xC9C6, 0, 0,0xA779,0xCAA9, 0,0xCAA8,
+ 0, 0,0xA777,0xA77A, 0, 0,0xCAA7, 0,
+0xA778, 0, 0, 0, 0, 0, 0,0xCBF0,
+ 0,0xCBF1,0xA954, 0, 0, 0, 0,0xABAA,
+ 0,0xD148,0xD149,0xAE45,0xAE46, 0, 0,0xD4AC,
+0xB0E9,0xB0EB,0xD4AB,0xB0EA,0xD87C,0xB3F2, 0, 0,
+ 0, 0,0xB6E9,0xB6EA,0xDCE1, 0,0xB9CF, 0,
+0xB9CE, 0,0xE549,0xE948,0xE947, 0,0xF96B,0xA467,
+0xC959, 0,0xC96E,0xC96F, 0, 0, 0, 0,
+0xA662,0xA666,0xC9C9, 0,0xA664,0xA663,0xC9C8,0xA665,
+0xA661, 0, 0,0xA660,0xC9CA, 0, 0, 0,
+ 0, 0, 0,0xA7A6, 0, 0,0xA7A3, 0,
+0xA77D,0xCAAA, 0, 0, 0,0xCAAB, 0,0xA7A1,
+ 0,0xCAAD,0xA77B,0xCAAE,0xCAAC,0xA77E,0xA7A2,0xA7A5,
+0xA7A4,0xA77C,0xCAAF, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA959,0xCBFE, 0,0xA95B, 0,0xA95A, 0,
+0xCC40,0xA958,0xA957,0xCBF5, 0,0xCBF4, 0,0xCBF2,
+0xCBF7,0xCBF6,0xCBF3,0xCBFC,0xCBFD,0xCBFA,0xCBF8,0xA956,
+ 0, 0, 0,0xCBFB,0xA95C,0xCC41, 0, 0,
+0xCBF9, 0,0xABAB,0xA955, 0, 0, 0, 0,
+ 0, 0, 0,0xABAC,0xCE54, 0, 0,0xCE5A,
+ 0, 0, 0,0xABB2,0xCE58,0xCE5E, 0,0xCE55,
+0xCE59,0xCE5B,0xCE5D,0xCE57, 0,0xCE56,0xCE51,0xCE52,
+0xABAD, 0,0xABAF,0xABAE,0xCE53,0xCE5C, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xABB1, 0,
+ 0, 0, 0, 0, 0,0xCE50,0xD153, 0,
+0xD152,0xD157,0xD14E, 0,0xD151,0xD150, 0,0xD154,
+ 0,0xD158,0xAE47,0xAE4A, 0, 0,0xD14F,0xD155,
+ 0, 0, 0,0xAE49,0xD14A, 0,0xABB0,0xD4BA,
+0xD156, 0,0xD14D, 0,0xAE48,0xD14C, 0, 0,
+ 0, 0, 0, 0,0xD4B1, 0, 0,0xB0EC,
+0xB0F0,0xD4C1,0xD4AF,0xD4BD,0xB0F1,0xD4BF, 0,0xD4C5,
+ 0,0xD4C9, 0, 0,0xD4C0,0xD4B4,0xD4BC, 0,
+0xD4CA,0xD4C8,0xD4BE,0xD4B9,0xD4B2,0xD8A6,0xD4B0,0xB0F5,
+0xD4B7,0xB0F6,0xB0F2,0xD4AD,0xD4C3,0xD4B5, 0, 0,
+0xD4B3,0xD4C6,0xB0F3, 0,0xD4CC,0xB0ED,0xB0EF,0xD4BB,
+0xD4B6,0xAE4B,0xB0EE,0xD4B8,0xD4C7,0xD4CB,0xD4C2, 0,
+0xD4C4, 0, 0, 0,0xD4AE, 0, 0, 0,
+ 0,0xD8A1, 0,0xD8AA,0xD8A9,0xB3FA,0xD8A2, 0,
+0xB3FB,0xB3F9, 0,0xD8A4,0xB3F6,0xD8A8, 0,0xD8A3,
+0xD8A5,0xD87D,0xB3F4, 0,0xD8B2,0xD8B1,0xD8AE,0xB3F3,
+0xB3F7,0xB3F8,0xD14B,0xD8AB,0xB3F5,0xB0F4,0xD8AD,0xD87E,
+0xD8B0,0xD8AF, 0,0xD8B3, 0,0xDCEF, 0,0xD8AC,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD8A7,0xDCE7,0xB6F4,0xB6F7,0xB6F2,0xDCE6,0xDCEA,0xDCE5,
+ 0,0xB6EC,0xB6F6,0xDCE2,0xB6F0,0xDCE9, 0,0xB6EE,
+0xB6ED,0xDCEC,0xB6EF,0xDCEE, 0,0xDCEB,0xB6EB, 0,
+ 0, 0,0xB6F5,0xDCF0,0xDCE4,0xDCED, 0, 0,
+0xDCE3, 0, 0,0xB6F1, 0,0xB6F3, 0,0xDCE8,
+ 0,0xDCF1, 0, 0,0xE15D,0xB9D0,0xE163, 0,
+ 0,0xB9D5,0xE15F,0xE166,0xE157,0xB9D7,0xB9D1,0xE15C,
+0xBC55,0xE15B,0xE164,0xB9D2, 0,0xB9D6,0xE15A,0xE160,
+0xE165,0xE156,0xB9D4,0xE15E, 0, 0,0xE162,0xE168,
+0xE158,0xE161, 0,0xB9D3,0xE167, 0, 0, 0,
+0xE159, 0, 0, 0,0xBC59,0xE54B,0xBC57,0xBC56,
+0xE54D,0xE552, 0,0xE54E, 0,0xE551,0xBC5C, 0,
+0xBEA5,0xBC5B, 0,0xE54A,0xE550, 0,0xBC5A,0xE54F,
+ 0,0xE54C, 0,0xBC58, 0, 0, 0, 0,
+ 0, 0,0xE94D, 0,0xE94F,0xE94A,0xBEC1,0xE94C,
+ 0,0xBEC0,0xE94E, 0, 0,0xBEC3,0xE950,0xBEC2,
+0xE949,0xE94B, 0, 0, 0, 0,0xC0A5,0xECCC,
+ 0,0xC0A4,0xECCD,0xC0A3,0xECCB,0xC0A2,0xECCA, 0,
+0xC253,0xC252,0xF1F6,0xF1F8, 0,0xF1F7,0xC361,0xC362,
+ 0, 0,0xC363,0xF442,0xC45B, 0, 0,0xF7D3,
+0xF7D2,0xC5F2, 0,0xA468,0xA4D0, 0, 0,0xA7A7,
+ 0, 0, 0, 0,0xCE5F, 0, 0, 0,
+ 0,0xB3FC,0xB3FD, 0,0xDCF2,0xB9D8,0xE169,0xE553,
+ 0, 0, 0,0xC95A, 0, 0,0xCAB0, 0,
+ 0, 0, 0, 0,0xCC42,0xCE60,0xD159,0xAE4C,
+ 0, 0,0xF1F9, 0,0xC4DC,0xA469,0xA57E,0xC970,
+ 0,0xA667,0xA668, 0,0xA95D, 0, 0, 0,
+0xB0F7, 0,0xB9DA, 0,0xB9DB,0xB9D9, 0,0xA46A,
+ 0,0xA4D1,0xA4D3,0xA4D2,0xC95B,0xA4D4,0xA5A1,0xC971,
+ 0,0xA5A2, 0, 0, 0, 0, 0,0xA669,
+0xA66A, 0, 0, 0,0xC9CB, 0,0xA7A8, 0,
+0xCAB1, 0, 0, 0,0xA961,0xCC43, 0,0xA95F,
+0xA960,0xA95E,0xD15A, 0, 0, 0,0xABB6,0xABB5,
+0xABB7,0xABB4, 0,0xCE61,0xA962,0xABB3, 0,0xAE4D,
+0xAE4E, 0,0xAE4F, 0,0xD4CD, 0, 0, 0,
+0xB3FE,0xD8B4,0xB0F8, 0, 0, 0, 0,0xB6F8,
+ 0,0xB9DD,0xB9DC,0xE16A, 0,0xBC5D,0xBEC4, 0,
+0xEFC0,0xF6DA,0xF7D4,0xA46B,0xA5A3, 0,0xA5A4,0xC9D1,
+0xA66C,0xA66F, 0,0xC9CF,0xC9CD,0xA66E,0xC9D0,0xC9D2,
+0xC9CC,0xA671,0xA670,0xA66D,0xA66B,0xC9CE, 0, 0,
+ 0, 0,0xA7B3, 0, 0,0xA7B0,0xCAB6,0xCAB9,
+0xCAB8, 0,0xA7AA,0xA7B2, 0, 0,0xA7AF,0xCAB5,
+0xCAB3,0xA7AE, 0, 0, 0,0xA7A9,0xA7AC, 0,
+0xCAB4,0xCABB,0xCAB7,0xA7AD,0xA7B1,0xA7B4,0xCAB2,0xCABA,
+0xA7AB, 0, 0, 0, 0, 0,0xA967,0xA96F,
+ 0,0xCC4F,0xCC48,0xA970,0xCC53,0xCC44,0xCC4B, 0,
+ 0,0xA966,0xCC45,0xA964,0xCC4C,0xCC50,0xA963, 0,
+0xCC51,0xCC4A, 0,0xCC4D, 0,0xA972,0xA969,0xCC54,
+0xCC52, 0,0xA96E,0xA96C,0xCC49,0xA96B,0xCC47,0xCC46,
+0xA96A,0xA968,0xA971,0xA96D,0xA965, 0,0xCC4E, 0,
+0xABB9, 0,0xABC0,0xCE6F,0xABB8,0xCE67,0xCE63, 0,
+0xCE73,0xCE62, 0,0xABBB,0xCE6C,0xABBE,0xABC1, 0,
+0xABBC,0xCE70,0xABBF, 0,0xAE56,0xCE76,0xCE64, 0,
+ 0,0xCE66,0xCE6D,0xCE71,0xCE75,0xCE72,0xCE6B,0xCE6E,
+ 0, 0,0xCE68,0xABC3,0xCE6A,0xCE69,0xCE74,0xABBA,
+0xCE65,0xABC2, 0,0xABBD, 0, 0, 0, 0,
+ 0,0xAE5C,0xD162, 0,0xAE5B, 0, 0,0xD160,
+ 0,0xAE50, 0,0xAE55, 0,0xD15F,0xD15C,0xD161,
+0xAE51,0xD15B, 0,0xAE54,0xAE52, 0,0xD163,0xAE53,
+0xAE57, 0, 0,0xAE58, 0,0xAE5A, 0, 0,
+ 0,0xAE59, 0, 0, 0,0xD15D,0xD15E, 0,
+ 0, 0, 0,0xD164, 0,0xD4D4,0xB0F9,0xD8C2,
+0xD4D3,0xD4E6, 0, 0,0xB140, 0,0xD4E4, 0,
+0xB0FE,0xB0FA,0xD4ED,0xD4DD,0xD4E0, 0,0xB143,0xD4EA,
+0xD4E2,0xB0FB,0xB144, 0,0xD4E7,0xD4E5, 0, 0,
+0xD4D6,0xD4EB,0xD4DF,0xD4DA, 0,0xD4D0,0xD4EC,0xD4DC,
+0xD4CF, 0,0xB142,0xD4E1,0xD4EE,0xD4DE,0xD4D2,0xD4D7,
+0xD4CE, 0,0xB141, 0,0xD4DB,0xD4D8,0xB0FC,0xD4D1,
+ 0,0xD4E9,0xB0FD, 0,0xD4D9,0xD4D5, 0, 0,
+0xD4E8, 0, 0, 0, 0, 0, 0,0xB440,
+0xD8BB, 0,0xD8B8,0xD8C9,0xD8BD,0xD8CA, 0,0xB442,
+ 0, 0, 0,0xD8C6,0xD8C3, 0, 0, 0,
+ 0, 0,0xD8C4,0xD8C7,0xD8CB, 0,0xD4E3,0xD8CD,
+0xDD47, 0,0xB443,0xD8CE,0xD8B6,0xD8C0, 0,0xD8C5,
+ 0, 0,0xB441,0xB444,0xD8CC,0xD8CF,0xD8BA,0xD8B7,
+ 0, 0,0xD8B9, 0, 0,0xD8BE,0xD8BC,0xB445,
+ 0,0xD8C8, 0, 0,0xD8BF, 0,0xD8C1,0xD8B5,
+0xDCFA,0xDCF8,0xB742,0xB740,0xDD43,0xDCF9,0xDD44,0xDD40,
+0xDCF7,0xDD46,0xDCF6,0xDCFD,0xB6FE,0xB6FD,0xB6FC,0xDCFB,
+0xDD41,0xB6F9,0xB741, 0,0xDCF4, 0,0xDCFE,0xDCF3,
+0xDCFC,0xB6FA,0xDD42,0xDCF5,0xB6FB,0xDD45, 0, 0,
+ 0, 0, 0, 0, 0,0xE16E,0xB9E2,0xB9E1,
+0xB9E3,0xE17A,0xE170,0xE176,0xE16B,0xE179,0xE178,0xE17C,
+0xE175,0xB9DE,0xE174,0xB9E4, 0,0xE16D,0xB9DF, 0,
+0xE17B,0xB9E0,0xE16F,0xE172,0xE177,0xE171,0xE16C, 0,
+ 0, 0, 0,0xE173,0xE555,0xBC61,0xE558,0xE557,
+0xE55A,0xE55C, 0,0xBC5F, 0,0xE556, 0,0xE554,
+ 0,0xE55D,0xE55B,0xE559, 0,0xE55F, 0,0xE55E,
+0xBC63,0xBC5E, 0,0xBC60,0xBC62, 0, 0,0xE560,
+0xE957, 0, 0,0xE956,0xE955, 0,0xE958,0xE951,
+ 0,0xE952,0xE95A,0xE953, 0,0xBEC5,0xE95C, 0,
+0xE95B,0xE954, 0,0xECD1,0xC0A8,0xECCF,0xECD4,0xECD3,
+0xE959, 0,0xC0A7, 0,0xECD2,0xECCE,0xECD6,0xECD5,
+0xC0A6, 0,0xECD0, 0,0xBEC6, 0, 0, 0,
+0xC254, 0, 0, 0,0xEFC1,0xF1FA,0xF1FB,0xF1FC,
+0xC45C, 0, 0,0xC45D, 0,0xF443, 0,0xF5C8,
+0xF5C7, 0, 0,0xF6DB,0xF6DC,0xF7D5,0xF8A7, 0,
+0xA46C,0xA46D, 0,0xA46E,0xA4D5,0xA5A5,0xC9D3,0xA672,
+0xA673, 0,0xA7B7,0xA7B8,0xA7B6,0xA7B5, 0,0xA973,
+ 0, 0,0xCC55,0xA975,0xA974,0xCC56, 0, 0,
+ 0,0xABC4, 0,0xAE5D,0xD165, 0,0xD4F0, 0,
+0xB145,0xB447,0xD4EF,0xB446, 0,0xB9E5, 0,0xE17D,
+0xBEC7, 0,0xC0A9,0xECD7, 0,0xC45E, 0,0xC570,
+ 0,0xC972, 0,0xA5A6,0xC973,0xA676, 0,0xA674,
+0xA675,0xA677, 0,0xA7BA,0xA7B9, 0,0xCABC,0xA7BB,
+ 0, 0,0xCABD,0xCC57, 0,0xCC58, 0,0xA976,
+0xA978,0xA97A,0xA977,0xA97B,0xA979, 0, 0, 0,
+ 0, 0,0xABC8,0xABC5,0xABC7,0xABC9,0xABC6,0xD166,
+0xCE77, 0, 0, 0,0xD168,0xD167,0xAE63, 0,
+0xAE5F, 0, 0,0xAE60,0xAE62,0xAE64,0xAE61, 0,
+0xAE66,0xAE65, 0, 0, 0, 0, 0,0xB14A,
+0xD4F2,0xD4F1,0xB149, 0,0xB148,0xB147,0xB14B,0xB146,
+ 0, 0,0xD8D5,0xD8D2,0xB449,0xD8D1,0xD8D6, 0,
+0xB44B,0xD8D4,0xB448,0xB44A,0xD8D3, 0,0xDD48, 0,
+0xDD49,0xDD4A, 0, 0, 0, 0,0xB9E6,0xB9EE,
+0xE17E,0xB9E8,0xB9EC,0xE1A1,0xB9ED,0xB9E9,0xB9EA,0xB9E7,
+0xB9EB,0xBC66,0xD8D0,0xBC67,0xBC65, 0,0xBC64,0xE95D,
+0xBEC8,0xECD8,0xECD9, 0, 0,0xC364,0xC45F, 0,
+0xA46F, 0,0xA678, 0, 0, 0, 0, 0,
+ 0,0xABCA, 0,0xD169,0xAE67, 0, 0,0xB14E,
+0xB14D,0xB14C,0xB44C,0xB44D,0xD8D7,0xB9EF,0xBEC9,0xA470,
+0xC95C,0xA4D6,0xC974, 0, 0,0xC9D4,0xA679, 0,
+ 0, 0,0xA97C, 0, 0, 0, 0,0xDD4B,
+ 0, 0,0xA471, 0,0xA4D7,0xC9D5, 0, 0,
+0xCABE, 0,0xCABF, 0,0xA7BC, 0, 0, 0,
+0xD8D8,0xB44E, 0,0xDD4C, 0, 0, 0,0xC0AA,
+0xA472,0xA4A8,0xA4D8,0xC975,0xA5A7, 0,0xA7C0,0xA7BF,
+0xA7BD,0xA7BE, 0, 0,0xCC59,0xA97E,0xA9A1,0xCC5A,
+0xA97D, 0, 0,0xABCE,0xCE78,0xABCD,0xABCB,0xABCC,
+0xAE6A,0xAE68, 0, 0,0xD16B,0xAE69,0xD16A, 0,
+0xAE5E,0xD4F3, 0, 0,0xB150,0xB151, 0, 0,
+0xB14F, 0,0xB9F0,0xE1A2,0xBC68,0xBC69, 0,0xE561,
+0xC0AB,0xEFC2,0xEFC3, 0,0xC4DD,0xF8A8,0xC94B,0xA4D9,
+ 0,0xA473, 0,0xC977,0xC976, 0, 0, 0,
+ 0,0xA67A,0xC9D7,0xC9D8,0xC9D6, 0,0xC9D9, 0,
+ 0, 0, 0, 0, 0, 0,0xCAC7, 0,
+0xCAC2,0xCAC4,0xCAC6,0xCAC3,0xA7C4,0xCAC0, 0,0xCAC1,
+0xA7C1,0xA7C2,0xCAC5,0xCAC8,0xA7C3,0xCAC9, 0, 0,
+ 0, 0, 0, 0, 0,0xCC68, 0,0xCC62,
+0xCC5D,0xA9A3,0xCC65,0xCC63,0xCC5C,0xCC69,0xCC6C,0xCC67,
+0xCC60,0xA9A5,0xCC66,0xA9A6,0xCC61,0xCC64,0xCC5B,0xCC5F,
+0xCC6B,0xA9A7, 0,0xA9A8, 0,0xCC5E,0xCC6A,0xA9A2,
+0xA9A4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xCEAB,0xCEA4,
+0xCEAA,0xCEA3,0xCEA5,0xCE7D,0xCE7B, 0,0xCEAC,0xCEA9,
+0xCE79, 0,0xABD0,0xCEA7,0xCEA8, 0,0xCEA6,0xCE7C,
+0xCE7A,0xABCF,0xCEA2,0xCE7E, 0, 0,0xCEA1,0xCEAD,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xAE6F, 0,0xAE6E, 0,0xD16C,0xAE6B,0xD16E, 0,
+0xAE70,0xD16F, 0, 0,0xAE73, 0,0xAE71,0xD170,
+0xCEAE,0xD172, 0,0xAE6D, 0,0xAE6C, 0,0xD16D,
+0xD171,0xAE72, 0, 0, 0, 0,0xB153,0xB152,
+ 0, 0, 0,0xD4F5,0xD4F9,0xD4FB,0xB154,0xD4FE,
+ 0,0xB158,0xD541, 0,0xB15A, 0,0xB156,0xB15E,
+ 0,0xB15B,0xD4F7,0xB155, 0,0xD4F6,0xD4F4,0xD543,
+0xD4F8, 0,0xB157,0xD542,0xB15C,0xD4FD,0xD4FC,0xB15D,
+0xD4FA,0xB159, 0, 0, 0, 0,0xD544, 0,
+0xD540,0xD8E7,0xD8EE,0xD8E3,0xB451,0xD8DF,0xD8EF,0xD8D9,
+0xD8EC,0xD8EA,0xD8E4, 0,0xD8ED,0xD8E6, 0,0xD8DE,
+0xD8F0,0xD8DC,0xD8E9,0xD8DA, 0,0xD8F1, 0,0xB452,
+ 0,0xD8EB,0xDD4F,0xD8DD,0xB44F, 0,0xD8E1, 0,
+0xB450,0xD8E0,0xD8E5, 0, 0,0xD8E2, 0, 0,
+ 0,0xD8E8, 0, 0, 0, 0,0xDD53, 0,
+ 0, 0,0xDD56,0xDD4E, 0,0xDD50, 0,0xDD55,
+0xDD54,0xB743, 0,0xD8DB,0xDD52, 0, 0,0xB744,
+ 0,0xDD4D,0xDD51, 0, 0, 0, 0,0xE1A9,
+ 0,0xE1B0,0xE1A7, 0,0xE1AE,0xE1A5,0xE1AD,0xE1B1,
+0xE1A4,0xE1A8,0xE1A3, 0,0xB9F1, 0,0xE1A6,0xB9F2,
+0xE1AC,0xE1AB,0xE1AA, 0, 0,0xE1AF, 0, 0,
+ 0, 0,0xE565,0xE567,0xBC6B,0xE568, 0,0xE563,
+ 0,0xE562,0xE56C, 0,0xE56A,0xBC6A,0xE56D,0xE564,
+0xE569,0xE56B,0xE566, 0, 0, 0, 0,0xE961,
+0xE966,0xE960,0xE965, 0,0xE95E,0xE968,0xE964,0xE969,
+0xE963,0xE95F,0xE967, 0,0xE96A,0xE962, 0,0xECDA,
+0xC0AF, 0,0xC0AD, 0,0xC0AC,0xC0AE, 0, 0,
+0xEFC4, 0,0xF172,0xF1FD, 0, 0,0xF444,0xF445,
+ 0,0xC460, 0,0xF5C9, 0,0xC4DE, 0,0xF5CA,
+ 0,0xF6DE,0xC572, 0,0xC571,0xF6DD,0xC5C9, 0,
+0xF7D6, 0, 0, 0, 0,0xA474,0xA67B,0xC9DA,
+0xCACA,0xA8B5,0xB15F, 0, 0,0xA475,0xA5AA,0xA5A9,
+0xA5A8, 0, 0,0xA7C5, 0, 0,0xAE74, 0,
+0xDD57,0xA476,0xA477,0xA478,0xA4DA, 0, 0,0xABD1,
+ 0,0xCEAF, 0, 0, 0,0xB453,0xA479,0xC95D,
+ 0, 0,0xA5AB,0xA5AC,0xC978, 0,0xA67C, 0,
+ 0, 0,0xCACB, 0,0xA7C6, 0,0xCACC, 0,
+ 0,0xA9AE, 0, 0,0xCC6E,0xA9AC,0xA9AB,0xCC6D,
+0xA9A9,0xCC6F,0xA9AA,0xA9AD, 0,0xABD2, 0,0xABD4,
+0xCEB3,0xCEB0,0xCEB1,0xCEB2,0xCEB4,0xABD3, 0, 0,
+0xD174,0xD173, 0,0xAE76, 0,0xAE75, 0, 0,
+ 0, 0, 0,0xB162,0xD546, 0,0xB161,0xB163,
+0xB160, 0, 0, 0, 0,0xB455,0xD545, 0,
+0xB456,0xD8F3, 0,0xB457,0xD8F2,0xB454, 0, 0,
+ 0, 0,0xDD5A,0xDD5C,0xB745,0xDD5B,0xDD59,0xDD58,
+ 0, 0, 0,0xE1B4,0xB9F7,0xB9F5, 0,0xB9F6,
+0xE1B2,0xE1B3, 0,0xB9F3,0xE571,0xE56F, 0,0xBC6D,
+0xE570,0xBC6E,0xBC6C,0xB9F4, 0, 0,0xE96D,0xE96B,
+0xE96C,0xE56E,0xECDC,0xC0B0,0xECDB,0xEFC5,0xEFC6,0xE96E,
+0xF1FE, 0,0xA47A,0xA5AD,0xA67E,0xC9DB,0xA67D, 0,
+0xA9AF,0xB746, 0,0xA4DB,0xA5AE,0xABD5,0xB458, 0,
+0xC979, 0,0xC97A, 0,0xC9DC, 0, 0,0xA7C8,
+0xCAD0,0xCACE,0xA7C9,0xCACD,0xCACF,0xCAD1, 0,0xA7C7,
+ 0, 0, 0, 0, 0,0xA9B3,0xA9B4,0xA9B1,
+ 0, 0,0xA9B0,0xCEB8,0xA9B2, 0, 0, 0,
+0xABD6, 0,0xCEB7,0xCEB9,0xCEB6,0xCEBA,0xABD7,0xAE79,
+0xD175, 0,0xD177,0xAE77,0xD178,0xAE78,0xD176, 0,
+0xCEB5,0xD547,0xD54A,0xD54B,0xD548,0xB167,0xB166,0xB164,
+0xB165,0xD549, 0, 0, 0, 0,0xB168, 0,
+ 0,0xB45A,0xB45B, 0,0xB45C,0xDD5D,0xDD5F,0xDD61,
+0xB748,0xB747,0xB459,0xDD60,0xDD5E, 0,0xE1B8, 0,
+ 0,0xE1B6,0xE1BC,0xB9F8,0xE1BD,0xE1BA,0xB9F9,0xE1B7,
+0xE1B5,0xE1BB,0xBC70,0xE573,0xE1B9,0xBC72,0xE574,0xBC71,
+0xBC74,0xE575,0xBC6F,0xBC73, 0,0xE973,0xE971,0xE970,
+0xE972,0xE96F, 0, 0,0xC366, 0,0xF446,0xF447,
+ 0,0xF5CB,0xF6DF,0xC655, 0, 0,0xA9B5,0xA7CA,
+ 0, 0,0xABD8, 0, 0, 0,0xA47B,0xA4DC,
+ 0,0xA5AF,0xC9DD, 0,0xA7CB,0xCAD2, 0,0xCEBB,
+0xABD9, 0,0xB9FA,0xA47C, 0, 0, 0,0xA6A1,
+ 0, 0,0xB749,0xA47D,0xA4DD,0xA4DE, 0,0xA5B1,
+0xA5B0, 0,0xC9DE,0xA6A2, 0,0xCAD3, 0,0xA7CC,
+ 0, 0,0xCC71,0xCC72,0xCC73, 0,0xA9B6,0xA9B7,
+0xCC70,0xA9B8, 0, 0, 0,0xABDA,0xCEBC, 0,
+0xD17A,0xAE7A, 0,0xD179, 0,0xB169,0xD54C,0xB16A,
+0xD54D, 0, 0, 0,0xB45D, 0, 0, 0,
+0xDD62, 0, 0,0xE1BF,0xE1BE, 0,0xB9FB, 0,
+0xBC75,0xE576,0xBECA,0xE974,0xC0B1, 0,0xC573,0xF7D8,
+ 0, 0, 0, 0,0xCC74, 0,0xCEBD,0xB16B,
+0xD8F4,0xB74A, 0, 0, 0,0xC255, 0, 0,
+ 0, 0,0xA7CE, 0,0xA7CD,0xABDB, 0,0xD17B,
+ 0,0xB16D,0xB343,0xB16E,0xB16C,0xB45E, 0,0xE1C0,
+0xB9FC,0xBC76, 0,0xC94C,0xC9DF, 0,0xCAD5,0xA7CF,
+0xCAD4,0xA7D0, 0, 0,0xA9BC,0xCC77,0xCC76,0xA9BB,
+0xA9B9,0xA9BA,0xCC75, 0, 0,0xABDD,0xCEBE,0xABE0,
+0xABDC,0xABE2,0xABDE,0xABDF,0xABE1, 0, 0, 0,
+0xAE7D,0xAE7C,0xAE7B, 0, 0, 0,0xD54F,0xB16F,
+0xB172,0xB170, 0,0xD54E,0xB175, 0,0xB171,0xD550,
+0xB174,0xB173, 0, 0, 0,0xD8F6,0xD8F5, 0,
+0xB461,0xB45F,0xB460,0xD8F7,0xB74B,0xDD64,0xB74C,0xDD63,
+ 0, 0,0xE577, 0, 0,0xBC78,0xE1C1,0xBC77,
+ 0,0xB9FD, 0,0xECDE,0xE975,0xC0B2,0xECDD,0xF240,
+0xF448,0xF449, 0,0xA4DF, 0,0xA5B2, 0, 0,
+ 0,0xC97B, 0, 0,0xA7D2,0xA7D4, 0,0xC9E2,
+0xCAD8,0xCAD7,0xCAD6, 0,0xC9E1,0xC9E0,0xA6A4,0xA7D3,
+0xA7D1,0xA6A3, 0, 0, 0,0xA9BD,0xCC78, 0,
+0xA9BE,0xCADD, 0,0xCADF,0xCADE,0xCC79, 0, 0,
+0xCADA, 0,0xA7D8,0xA7D6, 0,0xCAD9,0xCADB,0xCAE1,
+ 0,0xA7D5, 0,0xCADC,0xCAE5,0xA9C0, 0,0xCAE2,
+0xA7D7, 0,0xCAE0,0xCAE3, 0,0xA9BF, 0,0xA9C1,
+0xCAE4, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCCAF,0xCCA2,0xCC7E,0xCCAE,0xCCA9,0xABE7,0xA9C2,
+0xCCAA,0xCCAD,0xABE3,0xCCAC,0xA9C3,0xA9C8,0xA9C6,0xCCA3,
+ 0,0xCC7C,0xCCA5,0xA9CD,0xCCB0,0xABE4,0xCCA6, 0,
+0xABE5,0xA9C9,0xCCA8, 0,0xCECD,0xABE6,0xCC7B,0xA9CA,
+0xABE8,0xA9CB,0xA9C7,0xA9CC,0xCCA7,0xCC7A,0xCCAB,0xA9C4,
+ 0, 0,0xCC7D,0xCCA4,0xCCA1,0xA9C5, 0,0xCEBF,
+ 0,0xCEC0, 0, 0, 0, 0, 0, 0,
+0xCECA,0xD1A1,0xCECB,0xABEE,0xCECE,0xCEC4,0xABED,0xCEC6,
+ 0,0xCEC7, 0, 0,0xCEC9,0xABE9, 0, 0,
+0xAEA3, 0, 0,0xCEC5,0xCEC1,0xAEA4, 0, 0,
+0xCECF,0xAE7E,0xD17D,0xCEC8, 0,0xD17C,0xCEC3,0xCECC,
+ 0, 0,0xABEC,0xAEA1,0xABF2,0xAEA2,0xCED0,0xD17E,
+0xABEB,0xAEA6,0xABF1,0xABF0,0xABEF,0xAEA5,0xCED1,0xAEA7,
+0xABEA, 0,0xCEC2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xB176,
+0xD1A4,0xD1A6, 0,0xD1A8,0xAEA8,0xAEAE,0xD553,0xD1AC,
+0xD1A3,0xB178,0xD551, 0,0xAEAD,0xAEAB,0xD1AE, 0,
+0xD552, 0,0xD1A5, 0,0xAEAC,0xD1A9,0xAEAF,0xD1AB,
+ 0, 0,0xAEAA,0xD1AA,0xD1AD,0xD1A7, 0,0xAEA9,
+0xB179, 0,0xD1A2,0xB177, 0, 0, 0, 0,
+0xB17A, 0, 0, 0, 0, 0, 0, 0,
+0xD555,0xD55E,0xB464, 0,0xB17C,0xB1A3,0xB465,0xD560,
+0xB1AA,0xD8F9,0xD556,0xB1A2,0xB1A5,0xB17E,0xD554,0xD562,
+0xD565,0xD949, 0,0xD563,0xD8FD,0xB1A1,0xB1A8,0xB1AC,
+0xD55D,0xD8F8,0xD561,0xB17B,0xD8FA,0xD564,0xD8FC,0xD559,
+ 0,0xB462, 0,0xD557,0xD558,0xB1A7, 0, 0,
+0xB1A6,0xD55B,0xB1AB,0xD55F,0xB1A4,0xD55C, 0,0xB1A9,
+0xB466,0xB463,0xD8FB, 0,0xD55A, 0,0xB17D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB46B,0xB46F,0xD940,0xB751,0xB46D,0xD944,0xB471,0xDD65,
+0xD946,0xB753,0xB469,0xB46C,0xD947, 0,0xD948,0xD94E,
+0xB473,0xB754, 0,0xD94A,0xD94F,0xD943,0xB75E, 0,
+0xB755,0xB472,0xD941,0xD950, 0,0xB75D,0xB470,0xB74E,
+0xD94D, 0,0xB474,0xD945,0xD8FE,0xB46A,0xD942, 0,
+0xD94B, 0,0xB74D,0xB752,0xB467,0xD94C, 0,0xB750,
+ 0, 0, 0,0xB468, 0, 0, 0,0xB75C,
+0xE1C3,0xDD70, 0,0xDD68,0xE1C2, 0,0xDD6C,0xDD6E,
+ 0, 0,0xDD6B, 0,0xB75B, 0,0xDD6A,0xB75F,
+ 0, 0, 0,0xE1D2, 0, 0,0xB75A,0xBA40,
+0xDD71,0xE1C4, 0, 0,0xB758,0xDD69,0xDD6D,0xB9FE,
+0xB74F,0xDD66,0xDD67,0xBA41,0xB757,0xB759,0xB756,0xDD6F,
+ 0, 0,0xE1C8,0xE1C9,0xE1CE,0xBC7D,0xE1D5, 0,
+0xBA47, 0,0xBA46,0xE1D0, 0,0xBC7C,0xE1C5,0xBA45,
+ 0,0xE1D4,0xBA43,0xBA44, 0,0xE1D1,0xE5AA,0xBC7A,
+0xB46E, 0,0xE1D3,0xBCA3,0xE1CB, 0,0xBC7B, 0,
+0xBCA2,0xE1C6,0xE1CA,0xE1C7,0xE1CD,0xBA48,0xBC79,0xBA42,
+ 0,0xE57A,0xE1CF, 0,0xBCA1, 0,0xBCA4, 0,
+0xE1CC, 0,0xBC7E,0xE579, 0, 0, 0, 0,
+ 0,0xE57E,0xBECE,0xE578,0xE9A3,0xE5A9,0xBCA8, 0,
+0xBCA6,0xBECC,0xE5A6,0xE5A2,0xBCAC, 0,0xE978, 0,
+ 0, 0,0xBCAA,0xE5A1, 0,0xE976, 0,0xE5A5,
+ 0,0xE5A8,0xE57D, 0,0xBCAB, 0, 0,0xBCA5,
+0xE977,0xBECD,0xE5A7,0xBCA7,0xBCA9,0xE5A4,0xBCAD,0xE5A3,
+0xE57C,0xE57B,0xBECB,0xE5AB,0xE97A,0xECE0,0xBED0, 0,
+0xE9A2, 0,0xE97E, 0,0xECE1, 0,0xBED1,0xE9A1,
+ 0,0xE97C,0xC0B4,0xECDF, 0,0xE979,0xE97B,0xC0B5,
+0xBED3,0xC0B3,0xBED2,0xC0B7,0xE97D,0xBECF, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xEFCF, 0,
+0xEFC7, 0, 0, 0, 0, 0,0xECE7,0xEFC8,
+0xECE3, 0, 0,0xC256,0xECE5,0xECE4,0xC0B6,0xECE2,
+0xECE6,0xEFD0,0xEFCC,0xEFCE, 0,0xEFC9,0xEFCA, 0,
+0xEFCD,0xEFCB,0xC367, 0, 0,0xC36A,0xC369,0xC368,
+0xC461,0xF44A,0xC462,0xF241,0xC4DF,0xF5CC,0xC4E0,0xC574,
+0xC5CA,0xF7D9, 0,0xF7DA,0xF7DB, 0, 0,0xF9BA,
+0xA4E0,0xC97C,0xA5B3, 0,0xA6A6,0xA6A7,0xA6A5, 0,
+0xA6A8,0xA7DA,0xA7D9, 0,0xCCB1,0xA9CF,0xA9CE, 0,
+ 0,0xD1AF,0xB1AD,0xB1AE, 0, 0, 0,0xB475,
+0xDD72,0xB760,0xB761,0xDD74,0xDD76,0xDD75, 0,0xE1D7,
+ 0,0xE1D6,0xBA49,0xE1D8, 0,0xE5AC,0xBCAE, 0,
+0xBED4, 0,0xC0B8,0xC257,0xC0B9, 0,0xA4E1, 0,
+ 0, 0,0xCAE6, 0, 0,0xCCB2,0xA9D1,0xA9D0,
+0xA9D2,0xABF3,0xCED2,0xCED3, 0, 0,0xD1B0,0xAEB0,
+0xB1AF,0xB476,0xD951,0xA4E2, 0,0xA47E,0xA4E3, 0,
+0xC97D,0xA5B7,0xA5B6,0xA5B4,0xA5B5, 0, 0, 0,
+0xA6AB,0xC9E9,0xC9EB,0xA6AA,0xC9E3, 0,0xC9E4, 0,
+0xC9EA,0xC9E6,0xC9E8,0xA6A9,0xC9E5,0xC9EC,0xC9E7, 0,
+ 0, 0, 0, 0, 0,0xA7E1,0xA7EA,0xA7E8,
+0xCAF0,0xCAED,0xCAF5,0xA7E6,0xCAF6, 0,0xA7DF,0xCAF3,
+ 0,0xA7E5,0xCAEF,0xCAEE,0xA7E3,0xCAF4,0xA7E4,0xA9D3,
+0xA7DE,0xCAF1, 0,0xCAE7,0xA7DB, 0,0xA7EE,0xCAEC,
+0xCAF2,0xA7E0,0xA7E2, 0,0xCAE8, 0,0xCAE9,0xCAEA,
+ 0,0xA7ED,0xA7E7,0xA7EC,0xCAEB,0xA7EB,0xA7DD,0xA7DC,
+0xA7E9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA9E1,0xCCBE,0xCCB7,0xA9DC,0xA9EF,0xCCB3,0xCCBA,0xCCBC,
+0xCCBF,0xA9EA, 0,0xCCBB,0xCCB4,0xA9E8,0xCCB8, 0,
+0xCCC0,0xA9D9, 0,0xCCBD,0xA9E3,0xA9E2,0xCCB6,0xA9D7,
+ 0, 0,0xA9D8, 0,0xA9D6, 0,0xA9EE,0xA9E6,
+0xA9E0,0xA9D4,0xCCB9,0xA9DF,0xA9D5,0xA9E7,0xA9F0,0xCED4,
+0xA9E4,0xCCB5,0xA9DA,0xA9DD,0xA9DE, 0,0xA9EC,0xA9ED,
+0xA9EB,0xA9E5,0xA9E9,0xA9DB,0xABF4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xCEDA,0xAC41,0xABF8,0xABFA,0xAC40,
+0xCEE6,0xABFD,0xD1B1,0xAEB1,0xAC43,0xCED7,0xCEDF,0xABFE,
+0xCEDE,0xCEDB,0xCEE3,0xCEE5,0xABF7,0xABFB,0xAC42,0xAEB3,
+0xCEE0,0xABF9,0xAC45,0xCED9, 0, 0, 0,0xABFC,
+0xAEB2,0xABF6, 0,0xCED6,0xCEDD,0xCED5,0xCED8,0xCEDC,
+0xD1B2,0xAC44, 0,0xCEE1,0xCEE2,0xCEE4,0xABF5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xAEC1,0xD1BE,0xAEBF,0xAEC0,0xD1B4,0xD1C4, 0,0xAEB6,
+ 0, 0,0xD566,0xD1C6,0xD1C0, 0,0xD1B7, 0,
+0xD1C9,0xD1BA,0xAEBC,0xD57D,0xD1BD,0xAEBE,0xAEB5, 0,
+0xD1CB,0xD1BF,0xAEB8,0xD1B8,0xD1B5,0xD1B6,0xAEB9,0xD1C5,
+0xD1CC,0xAEBB,0xD1BC,0xD1BB,0xAEC3,0xAEC2,0xAEB4,0xAEBA,
+0xAEBD,0xD1C8, 0, 0,0xD1C2,0xAEB7,0xD1B3,0xD1CA,
+0xD1C1,0xD1C3,0xD1C7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD567, 0,0xB1B7,
+0xB1CB,0xB1CA, 0,0xB1BF, 0,0xD579,0xD575,0xD572,
+0xD5A6,0xB1BA,0xB1B2, 0, 0,0xD577,0xB4A8,0xB1B6,
+0xD5A1, 0,0xB1CC,0xB1C9,0xD57B,0xD56A, 0, 0,
+0xB1C8,0xD5A3,0xD569,0xB1BD,0xB1C1,0xD5A2, 0,0xD573,
+0xB1C2,0xB1BC,0xD568, 0,0xB478,0xD5A5,0xD571,0xB1C7,
+0xD574,0xD5A4,0xB1C6, 0,0xD952, 0,0xB1B3,0xD56F,
+0xB1B8,0xB1C3, 0,0xB1BE,0xD578,0xD56E,0xD56C,0xD57E,
+0xB1B0,0xB1C4,0xB1B4,0xB477,0xD57C,0xB1B5, 0,0xB1B1,
+0xB1C0,0xB1BB,0xB1B9,0xD570,0xB1C5,0xD56D,0xD57A,0xD576,
+0xD954,0xD953, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD56B,0xD964, 0,
+0xB47A, 0,0xD96A,0xD959,0xD967,0xDD77,0xB47D,0xD96B,
+0xD96E,0xB47C,0xD95C,0xD96D,0xD96C,0xB47E,0xD955,0xB479,
+0xB4A3, 0,0xB4A1,0xD969, 0,0xD95F,0xB4A5,0xD970,
+0xD968,0xD971,0xB4AD,0xB4AB,0xD966,0xD965, 0,0xD963,
+0xD95D,0xB4A4, 0,0xB4A2,0xD1B9,0xD956, 0,0xDDB7,
+0xD957,0xB47B,0xB4AA,0xDD79, 0,0xB4A6,0xB4A7,0xD958,
+0xD96F,0xDD78,0xD960,0xD95B,0xB4A9,0xD961,0xD95E, 0,
+ 0,0xB4AE, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xB770, 0,
+ 0,0xDD7C,0xDDB1,0xDDB6,0xDDAA,0xB76C,0xDDBB,0xB769,
+0xDD7A, 0,0xDD7B,0xB762,0xB76B,0xDDA4,0xB76E,0xB76F,
+0xDDA5, 0,0xDDB2,0xDDB8,0xB76A, 0,0xB764,0xDDA3,
+0xDD7D,0xDDBA,0xDDA8,0xDDA9,0xDD7E,0xDDB4,0xDDAB,0xDDB5,
+0xDDAD, 0,0xB765,0xE1D9,0xB768,0xB766,0xDDB9,0xDDB0,
+0xDDAC, 0, 0,0xDDA1,0xBA53,0xDDAF,0xB76D,0xDDA7,
+ 0,0xDDA6, 0, 0, 0,0xB767,0xB763,0xE1EE,
+0xDDB3,0xDDAE, 0,0xDDA2, 0, 0, 0, 0,
+ 0, 0, 0,0xE1E9, 0,0xE1DA,0xE1E5, 0,
+0xE1EC,0xBA51,0xB4AC,0xE1EA,0xBA4C, 0, 0, 0,
+0xBA4B,0xE1F1, 0,0xE1DB,0xE1E8,0xE1DC,0xE1E7,0xBA4F,
+0xE1EB,0xD962, 0, 0, 0,0xE1F2,0xE1E3,0xBA52,
+0xE5BA,0xBCAF, 0,0xE1F0,0xE1EF,0xBA54,0xE5AD,0xBCB0,
+0xE5AE, 0,0xE1DF,0xE1E0,0xE1DD,0xE1E2,0xE1DE,0xE1F3,
+0xBA4E,0xBCB1,0xBA50,0xBA55, 0,0xE1E1, 0,0xE1ED,
+ 0, 0,0xE1E6, 0, 0,0xE5B1, 0,0xBA4A,
+0xBCB4,0xE9AA,0xE5B6,0xE5B5,0xE5B7, 0, 0,0xE5B4,
+0xBCB5, 0,0xBCBB,0xBCB8, 0,0xBCB9,0xE5AF,0xE5B2,
+0xE5BC,0xBCC1,0xBCBF, 0,0xE5B3,0xD95A,0xBCB2,0xE5B9,
+0xE5B0, 0,0xBCC2,0xE5B8,0xBA4D,0xBCB7,0xE1E4, 0,
+ 0,0xBCBA, 0,0xBCBE,0xBCC0,0xBCBD,0xBCBC, 0,
+0xBCB6,0xE5BB,0xBCB3,0xBCC3, 0, 0, 0, 0,
+ 0, 0, 0,0xBED8,0xBED9,0xE9A9,0xBEE2,0xBEDF,
+ 0,0xBED6,0xBEDD,0xE9AB,0xBEDB,0xBED5, 0,0xBEDC,
+ 0,0xE9A8,0xC0BB,0xBED7, 0,0xBEDE,0xC0BA,0xE9A7,
+0xE9A6, 0,0xBEE0, 0,0xBEE1, 0,0xE9A5,0xE9A4,
+0xC0BC,0xE9AE,0xBEDA,0xE9AC, 0, 0, 0, 0,
+0xC0BD, 0,0xC0C2,0xECEA,0xECEC, 0,0xC0BF, 0,
+0xECED,0xECE9, 0,0xECEB,0xC0C0,0xC0C3, 0,0xECE8,
+0xC0BE,0xC0C1,0xC259,0xE9AD,0xC258, 0, 0,0xC25E,
+0xEFD4, 0,0xC25C,0xC25D,0xEFD7,0xEFD3,0xC25A,0xEFD1,
+0xC36B,0xEFD5, 0,0xEFD6,0xEFD2, 0,0xC25B,0xF242,
+ 0,0xF245, 0, 0,0xF246,0xF244,0xF247,0xC36C,
+0xF243, 0, 0,0xF44E,0xC464,0xF44D,0xF44C,0xF44B,
+0xC463,0xC465, 0,0xF5CD,0xC4E2,0xC4E1, 0, 0,
+0xF6E1,0xF6E0,0xF6E3,0xC5CB,0xC575,0xF7DD,0xF6E2, 0,
+ 0,0xF7DC,0xC5CD,0xC5CC,0xC5F3,0xF8A9,0xF8EF,0xA4E4,
+ 0, 0,0xD972,0xE9AF, 0, 0,0xA6AC,0xCAF7,
+0xA7F1,0xA7EF, 0,0xA7F0, 0,0xCCC1,0xA9F1,0xAC46,
+ 0,0xCEE7, 0,0xCEE8, 0,0xAC47,0xD1CE, 0,
+0xAEC4,0xAEC5,0xD1CD, 0, 0, 0, 0,0xB1D3,
+ 0,0xB1CF, 0,0xD5A7,0xB1D6,0xB1D5,0xB1CE,0xB1D1,
+0xB1D4,0xB1D0, 0, 0,0xD976,0xB1CD,0xB4AF, 0,
+ 0, 0,0xB4B1,0xB4B2,0xD975,0xD978,0xB4B0,0xD973,
+0xD977, 0,0xD974, 0,0xB771, 0, 0,0xDDBC,
+ 0, 0,0xBA56,0xE1F4,0xBEE3,0xBCC4,0xE5BD,0xBCC5,
+0xBCC6,0xE5BF,0xE5BE,0xE5C0,0xE9B1, 0, 0,0xE9B0,
+0xECEF,0xECEE,0xC0C4,0xC0C5,0xF248, 0, 0,0xA4E5,
+ 0, 0, 0, 0,0xD979, 0, 0, 0,
+0xB4B4,0xB4B3,0xDDBD, 0,0xEFD8,0xC4E3,0xF7DE,0xA4E6,
+ 0,0xAEC6, 0,0xB1D8,0xB1D7,0xD97A,0xD97B,0xB772,
+0xE1F5,0xBA57,0xE9B2, 0,0xA4E7,0xA5B8, 0,0xA9F2,
+0xCCC2, 0,0xCEE9,0xAC48,0xB1D9, 0,0xD97C,0xB4B5,
+0xB773, 0,0xE5C1,0xE5C2, 0, 0,0xECF0,0xC25F,
+0xF8F0,0xA4E8, 0,0xCCC3,0xA9F3,0xAC49, 0,0xCEEA,
+ 0,0xAEC7,0xD1D2,0xD1D0,0xD1D1,0xAEC8,0xD1CF, 0,
+ 0, 0, 0,0xB1DB,0xB1DC,0xD5A8,0xB1DD,0xB1DA,
+0xD97D, 0,0xD97E,0xDDBE, 0, 0,0xBA59,0xBA58,
+ 0, 0,0xECF1,0xEFD9, 0,0xF24A,0xF249,0xF44F,
+ 0,0xC95E,0xAC4A, 0, 0,0xA4E9,0xA5B9, 0,
+0xA6AE,0xA6AD, 0, 0,0xA6AF,0xA6B0,0xC9EE,0xC9ED,
+0xCAF8,0xA7F2,0xCAFB,0xCAFA,0xCAF9,0xCAFC, 0, 0,
+ 0, 0,0xA9F4,0xCCC9,0xCCC5,0xCCCE, 0, 0,
+0xA9FB, 0,0xA9F9,0xCCCA,0xCCC6,0xCCCD,0xA9F8,0xAA40,
+0xCCC8,0xCCC4,0xA9FE,0xCCCB,0xA9F7,0xCCCC,0xA9FA,0xA9FC,
+0xCCD0,0xCCCF,0xCCC7,0xA9F6,0xA9F5,0xA9FD, 0, 0,
+ 0, 0, 0, 0,0xCEEF,0xCEF5, 0,0xAC50,
+0xAC4D,0xCEEC,0xCEF1, 0,0xAC53,0xAC4B,0xCEF0,0xAC4E,
+0xAC51, 0, 0,0xCEF3, 0,0xAC4C,0xCEF8,0xAC4F,
+ 0,0xAC52,0xCEED,0xCEF2,0xCEF6,0xCEEE,0xCEEB, 0,
+ 0,0xCEF7,0xCEF4, 0, 0, 0, 0, 0,
+ 0,0xAED0,0xAEC9,0xAECC, 0,0xAECF, 0,0xD1D5,
+ 0,0xAECA,0xD1D3, 0,0xAECE, 0, 0,0xAECB,
+ 0,0xD1D6,0xAECD, 0, 0, 0, 0, 0,
+ 0,0xD5AC,0xB1DF,0xD5AB,0xD5AD,0xB1DE,0xB1E3,0xD1D4,
+ 0,0xD5AA,0xD5AE, 0,0xB1E0,0xD5A9,0xB1E2, 0,
+0xB1E1, 0,0xD9A7, 0,0xD9A2, 0,0xB4B6,0xB4BA,
+0xB4B7,0xD9A5,0xD9A8, 0,0xB4B8, 0,0xB4B9,0xB4BE,
+0xDDC7,0xD9A6,0xB4BC,0xD9A3,0xD9A1, 0,0xB4BD, 0,
+0xD9A4, 0, 0, 0,0xB779, 0,0xDDBF,0xB776,
+0xB777,0xB775,0xDDC4,0xDDC3,0xDDC0,0xB77B, 0, 0,
+0xDDC2,0xB4BB, 0, 0,0xDDC6,0xDDC1,0xB778,0xB774,
+0xB77A,0xDDC5, 0, 0, 0,0xBA5C, 0,0xE1F8,
+0xE1F7,0xE1F6,0xBA5A, 0, 0, 0, 0, 0,
+0xBA5B,0xE5C5,0xE5C8,0xBCC8, 0, 0,0xBCC7,0xE5C9,
+0xE5C4,0xBCCA,0xE5C6, 0,0xBCC9,0xE5C3, 0,0xE5C7,
+0xBEE9,0xBEE6,0xE9BB,0xE9BA, 0,0xE9B9,0xE9B4, 0,
+0xE9B5, 0, 0, 0,0xBEE7, 0,0xBEE4,0xBEE8,
+0xE9B3,0xBEE5,0xE9B6,0xE9B7,0xE9BC, 0, 0,0xE9B8,
+ 0, 0,0xECF2, 0, 0, 0,0xC0C7, 0,
+0xEFDC,0xC0C6,0xEFDA,0xEFDB,0xC260,0xC36E,0xF24B, 0,
+0xC36D, 0, 0,0xF451,0xF452, 0,0xC466, 0,
+0xF450,0xC4E4, 0,0xF7DF,0xC5CE,0xF8AA,0xF8AB, 0,
+0xA4EA, 0,0xA6B1,0xA6B2,0xA7F3, 0,0xCCD1,0xAC54,
+0xAED1,0xB1E4, 0, 0,0xB0D2, 0,0xB4BF,0xB4C0,
+0xB3CC,0xD9A9, 0,0xB77C,0xE1FA,0xE1F9, 0, 0,
+0xA4EB,0xA6B3,0xCCD2,0xAA42, 0,0xAA41, 0,0xCEF9,
+0xCEFA, 0,0xD1D7,0xD1D8,0xAED2,0xAED3, 0,0xAED4,
+0xD5AF, 0, 0,0xB1E6, 0,0xB4C2, 0,0xB4C1,
+0xDDC8,0xDF7A,0xE1FB,0xE9BD, 0, 0,0xC261,0xC467,
+0xA4EC, 0,0xA5BC,0xA5BD,0xA5BB,0xA5BE,0xA5BA, 0,
+ 0,0xA6B6, 0,0xC9F6,0xA6B5,0xA6B7, 0, 0,
+0xC9F1,0xC9F0,0xC9F3,0xC9F2,0xC9F5,0xA6B4,0xC9EF,0xC9F4,
+ 0, 0, 0, 0, 0,0xCAFD,0xA7FD,0xCAFE,
+0xCB43,0xA7FC, 0,0xCB47,0xCB42,0xCB45,0xA7F5,0xA7F6,
+0xA7F7,0xA7F8, 0,0xA840, 0,0xCB41,0xA7FA,0xA841,
+ 0,0xCB40,0xCB46, 0,0xA7F9,0xCB44,0xA7FB,0xA7F4,
+0xA7FE, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xAA57, 0,0xCCD4,0xAA43, 0,0xAA4D,
+0xAA4E,0xAA46,0xAA58,0xAA48,0xCCDC,0xAA53,0xCCD7,0xAA49,
+0xCCE6,0xCCE7,0xCCDF,0xCCD8,0xAA56,0xCCE4,0xAA51,0xAA4F,
+ 0,0xCCE5, 0,0xCCE3,0xCCDB,0xCCD3,0xCCDA,0xAA4A,
+ 0,0xAA50, 0,0xAA44,0xCCDE,0xCCDD,0xCCD5, 0,
+0xAA52,0xCCE1,0xCCD6,0xAA55,0xCCE8,0xAA45, 0,0xAA4C,
+0xCCD9,0xCCE2,0xAA54, 0,0xAA47,0xAA4B, 0,0xCCE0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xCF5B,0xAC5C,
+0xAC69, 0,0xCF56,0xCF4C,0xAC62,0xCF4A,0xAC5B,0xCF45,
+0xAC65,0xCF52,0xCEFE,0xCF41, 0, 0, 0, 0,
+0xCF44,0xCEFB,0xCF51,0xCF61,0xAC60,0xCF46,0xCF58, 0,
+0xCEFD,0xCF5F,0xCF60,0xCF63,0xCF5A,0xCF4B,0xCF53,0xAC66,
+0xAC59,0xAC61,0xAC6D,0xAC56,0xAC58, 0, 0, 0,
+0xCF43,0xAC6A,0xAC63,0xCF5D,0xCF40,0xAC6C,0xAC67,0xCF49,
+ 0, 0,0xAC6B,0xCF50,0xCF48,0xAC64,0xCF5C,0xCF54,
+ 0,0xAC5E,0xCF62,0xCF47,0xAC5A,0xCF59,0xCF4F,0xAC5F,
+0xCF55,0xAC57,0xCEFC,0xAC68,0xAEE3,0xAC5D,0xCF4E,0xCF4D,
+0xCF42, 0,0xCF5E, 0,0xCF57, 0, 0,0xAC55,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD1EC,0xAEEA,0xD1ED, 0,0xD1E1,0xAEDF,
+0xAEEB, 0,0xD1DA, 0,0xD1E3,0xD1EB, 0,0xD1D9,
+0xD1F4,0xAED5, 0, 0, 0,0xD1F3,0xD1EE, 0,
+0xD1EF,0xAEDD,0xAEE8,0xD1E5, 0,0xD1E6,0xD1F0,0xD1E7,
+ 0,0xD1E2,0xD1DC,0xD1DD,0xD1EA,0xD1E4, 0, 0,
+0xAED6,0xAEDA,0xD1F2,0xD1DE,0xAEE6,0xAEE2, 0, 0,
+0xAEE5,0xAEEC,0xAEDB,0xAEE7,0xD1E9,0xAEE9,0xAED8, 0,
+0xAED7,0xD1DB, 0,0xD1DF,0xAEE0,0xD1F1,0xD1E8,0xD1E0,
+0xAEE4,0xAEE1, 0,0xAED9,0xAEDC, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD5C4, 0,0xD5B4,0xD5B5,0xD5B9,
+ 0,0xD5C8,0xD5C5, 0,0xD5BE,0xD5BD,0xB1ED,0xD5C1,
+0xD5D0,0xD5B0, 0,0xD5D1,0xD5C3,0xD5D5,0xD5C9,0xB1EC,
+0xD5C7,0xB1E7,0xB1FC,0xB1F2, 0,0xB1F6,0xB1F5,0xD5B1,
+ 0,0xD5CE,0xD5D4,0xD5CC,0xD5D3, 0, 0,0xD5C0,
+0xD5B2,0xD5D2,0xD5C2,0xB1EA,0xB1F7, 0,0xD5CB,0xB1F0,
+ 0, 0, 0,0xD5CA,0xD5B3,0xB1F8, 0,0xB1FA,
+0xD5CD,0xB1FB,0xB1E9,0xD5BA,0xD5CF, 0, 0,0xB1EF,
+0xB1F9,0xD5BC,0xD5C6,0xD5B7,0xD5BB,0xB1F4,0xD5B6,0xB1E8,
+0xB1F1,0xB1EE,0xD5BF,0xAEDE,0xD9C0,0xB1EB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xB1F3, 0,0xD9C3,0xD9D9,
+0xD9CE,0xB4D6, 0,0xB4D1,0xD9BD,0xB4D2,0xD9CD, 0,
+0xD9C6,0xD9D3,0xB4CE,0xD9AB,0xD9D5,0xB4C4,0xD9B3,0xB4C7,
+0xB4C6, 0,0xB4D7, 0,0xD9AD,0xD9CF,0xD9D0,0xB4C9,
+0xB4C5,0xD9BB, 0,0xB4D0,0xD9B6, 0,0xD9D1,0xB4CC,
+0xD9C9,0xD9D6,0xD9B0,0xD9B5,0xD9AF, 0,0xB4CB,0xD9C2,
+0xDDDE,0xD9B1,0xB4CF,0xD9BA,0xD9D2,0xB4CA,0xD9B7,0xD9B4,
+0xD9C5,0xB4CD,0xB4C3,0xB4D9,0xD9C8,0xD9C7, 0, 0,
+ 0, 0, 0, 0,0xD9AC,0xB4C8,0xD9D4,0xD9BC,
+0xD9BE, 0,0xD9CB,0xD9CA,0xD9AA,0xB4D3,0xB4D5,0xD9B2,
+0xD9B9,0xD9C1,0xB4D4,0xD9B8,0xD9C4,0xD9D7, 0,0xD9CC,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD9D8, 0, 0,
+ 0, 0,0xD9AE, 0, 0, 0, 0,0xDDF2,
+0xB7A6, 0,0xDDF0,0xDDDB,0xDDE0,0xDDD9, 0,0xDDEC,
+0xDDCB,0xDDD2, 0,0xDDEA,0xDDF4,0xDDDC, 0,0xDDCF,
+0xDDE2,0xDDE7,0xDDD3, 0,0xDDE4,0xDDD0, 0, 0,
+0xDDD7,0xDDD8,0xB7A8,0xDDEB,0xDDE9, 0,0xDDCC,0xDDEE,
+ 0,0xDDEF,0xDDF1,0xB7AC,0xB7A4, 0,0xD5B8,0xDDD4,
+0xDDE6,0xDDD5,0xB7A1,0xB7B1,0xDDED,0xB7AF,0xB7AB,0xDDCA,
+0xB7A3, 0,0xDDCD,0xB7B0, 0,0xDDDD,0xDDC9, 0,
+0xB7A9,0xDDE1,0xDDD1,0xB7AA,0xDDDA,0xB77E,0xB4D8,0xDDE3,
+0xD9BF,0xDDCE, 0, 0,0xDDE8,0xB7A5,0xDDE5,0xB7A2,
+0xDDDF,0xB7AD,0xDDD6,0xDDF3, 0, 0, 0, 0,
+ 0, 0,0xB7A7,0xDEC6, 0, 0,0xB7AE, 0,
+ 0, 0, 0, 0, 0,0xE24A,0xE248, 0,
+0xE25E,0xE246, 0,0xE258,0xB77D,0xBA5F,0xE242,0xE25D,
+ 0,0xE247,0xE255,0xBA64,0xBA5D, 0,0xE25B, 0,
+0xE240,0xE25A, 0,0xBA6F,0xE251,0xE261,0xBA6D,0xE249,
+0xBA5E,0xE24B,0xE259,0xBA67,0xE244,0xBA6B,0xBA61,0xE24D,
+0xE243,0xE1FC, 0,0xE257,0xBA68,0xE260,0xE1FD,0xBA65,
+ 0,0xE253, 0,0xBA66,0xE245,0xE250,0xE24C,0xE24E,
+ 0,0xBA60,0xE25F,0xBA6E,0xE24F, 0,0xE262, 0,
+ 0,0xE1FE,0xE254,0xBA63,0xBA6C,0xBA6A,0xE241,0xE256,
+0xBA69, 0, 0,0xBA62,0xE252, 0, 0, 0,
+ 0,0xE25C, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE5D5, 0,0xE5D1,0xE5CD,0xE5E1,0xE5DE,
+0xBCCD, 0, 0,0xE5E5,0xE5D4,0xBCD8,0xE5DB, 0,
+ 0,0xE5D0,0xE5DA,0xBCD5,0xE5EE, 0,0xE5EB,0xE5DD,
+0xE5CE, 0, 0,0xE5E2,0xE5E4,0xBCD1,0xE5D8,0xE5D3,
+0xE5CA,0xBCCE,0xBCD6, 0,0xE5E7,0xBCD7,0xE5CB,0xE5ED,
+0xE5E0,0xE5E6,0xBCD4, 0, 0,0xE5E3, 0,0xE5EA,
+ 0,0xBCD9, 0,0xBCD3,0xE5DC,0xE5CF,0xE5EF,0xE5CC,
+0xE5E8,0xBCD0, 0,0xE5D6, 0,0xE5D7,0xBCCF,0xBCCC,
+0xE5D2,0xBCD2, 0,0xBCCB, 0,0xE5E9,0xE5EC,0xE5D9,
+0xE9CA, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE9C2, 0,0xE9BE,0xBEF6, 0, 0,
+0xBEEB,0xBEF0,0xBEEC,0xE9CC,0xE9D7,0xBEEA,0xE9C4,0xE9CD,
+0xE5DF,0xE9CE, 0, 0,0xBEF1, 0,0xE9DD,0xBEF5,
+0xBEF8,0xE9C0, 0,0xBEF4, 0,0xE9DB,0xE9DC,0xE9D2,
+0xE9D1,0xE9C9, 0, 0,0xE9D3,0xE9DA,0xE9D9, 0,
+0xBEEF,0xBEED,0xE9CB,0xE9C8, 0,0xE9C5,0xE9D8,0xBEF7,
+0xE9D6,0xBEF3,0xBEF2, 0,0xE9D0, 0,0xE9BF,0xE9C1,
+0xE9C3,0xE9D5,0xE9CF,0xBEEE, 0,0xE9C6, 0,0xE9D4,
+ 0, 0, 0, 0, 0, 0,0xE9C7, 0,
+ 0, 0, 0, 0, 0, 0,0xC0CF,0xED45,
+0xC0C8,0xECF5, 0,0xED41,0xC0CA,0xED48, 0,0xECFC,
+ 0,0xECF7, 0, 0,0xED49,0xECF3,0xECFE, 0,
+0xC0D1,0xED44,0xED4A,0xECFD,0xC0C9,0xED40,0xECF4,0xC0D0,
+ 0, 0,0xED47,0xECF9,0xC0CC, 0,0xECFB,0xECF8,
+0xC0D2,0xECFA,0xC0CB,0xC0CE,0xED43,0xECF6,0xED46, 0,
+0xED42, 0, 0, 0,0xC263,0xEFE7,0xC268,0xC269,
+ 0, 0, 0,0xC262,0xEFE6, 0,0xEFE3,0xEFE4,
+0xC266,0xEFDE,0xEFE2,0xC265, 0,0xEFDF, 0, 0,
+ 0, 0,0xC267,0xC264, 0,0xEFDD,0xEFE1,0xEFE5,
+ 0, 0, 0,0xF251,0xF24E,0xF257, 0,0xF256,
+0xF254,0xF24F, 0,0xC372, 0, 0, 0, 0,
+ 0,0xF250,0xC371,0xC0CD,0xF253,0xC370,0xF258,0xF252,
+0xF24D,0xEFE0, 0, 0, 0,0xC36F, 0,0xF24C,
+0xF456, 0,0xF455,0xF255,0xC468, 0,0xF459,0xF45A,
+0xF454,0xF458, 0,0xF453, 0, 0, 0, 0,
+0xF5D1,0xF457,0xC4E7,0xC4E5,0xF5CF, 0, 0, 0,
+0xF5D2, 0,0xF5CE,0xF5D0,0xC4E6, 0, 0, 0,
+0xF6E5,0xF6E6,0xC576,0xF6E4, 0, 0, 0,0xF7E2,
+0xC5CF,0xF7E0,0xF7E1,0xF8AC, 0, 0,0xC656,0xF8F3,
+0xF8F1,0xF8F2,0xF8F4, 0, 0, 0,0xF9BB, 0,
+0xA4ED,0xA6B8, 0,0xAA59, 0,0xCCE9, 0, 0,
+0xCF64, 0, 0, 0,0xD1F5,0xD1F7, 0,0xD1F6,
+ 0,0xD1F8,0xB1FD,0xD5D7,0xD1F9, 0,0xD5D6,0xD5D8,
+0xD5D9,0xD9DA,0xB4DB,0xD9DB,0xD9DD,0xB4DC,0xB4DA,0xD9DC,
+ 0,0xDDFA,0xDDF8,0xDDF7, 0,0xDDF6,0xDDF5,0xB7B2,
+0xDDF9,0xBA70,0xE263,0xE265,0xBA71,0xE264,0xBCDB, 0,
+0xBCDA,0xE5F0, 0, 0,0xE9DF,0xE9DE,0xE9E0, 0,
+ 0,0xBEF9, 0,0xED4B,0xC0D3, 0,0xEFE8,0xC26A,
+0xF259,0xC577,0xA4EE,0xA5BF,0xA6B9,0xA842,0xAA5A,0xAA5B,
+ 0, 0,0xAC6E, 0, 0,0xD1FA, 0, 0,
+ 0, 0,0xB7B3, 0, 0, 0,0xE6D1,0xBEFA,
+0xC26B,0xA4EF, 0,0xA6BA, 0, 0,0xCCEB,0xAA5C,
+0xCCEA, 0,0xCF65,0xAC6F,0xCF66, 0,0xAC70, 0,
+0xD1FC,0xAEEE,0xAEED, 0,0xD5DE,0xD5DC,0xD5DD,0xD5DB,
+ 0,0xD5DA, 0, 0,0xD9DE,0xD9E1,0xB4DE,0xD9DF,
+0xB4DD,0xD9E0, 0,0xDDFB, 0, 0,0xE266,0xE267,
+0xE268, 0,0xE5F3,0xE5F2,0xBCDC,0xE5F1,0xE5F4,0xE9E1,
+ 0, 0,0xE9E2,0xE9E3, 0,0xED4C,0xC0D4,0xC26C,
+0xF25A, 0,0xC4E8,0xC95F, 0,0xAC71,0xCF67,0xAEEF,
+ 0, 0,0xB1FE, 0,0xB4DF,0xD9E2, 0,0xB7B5,
+0xB7B4, 0, 0,0xE269,0xE26A,0xBCDD,0xBCDE,0xE9E5,
+0xE9E4,0xEFE9,0xF7E3,0xA4F0,0xC960,0xA5C0, 0,0xA843,
+0xCB48, 0,0xAC72,0xB7B6,0xA4F1, 0,0xCF68,0xAC73,
+0xCF69, 0,0xC0D5,0xA4F2, 0, 0,0xCCEC, 0,
+0xCF6A, 0,0xD242,0xD241,0xD1FE, 0,0xD1FD,0xD243,
+0xD240, 0, 0,0xB240,0xB241, 0, 0,0xB4E0,
+0xD9E3, 0,0xD9E4,0xD9E5, 0, 0, 0,0xDE41,
+0xDE42,0xDE40, 0,0xDDFD,0xDDFE,0xB7B7,0xE26B,0xE5F7,
+0xE5F6,0xE5F5,0xE5F8,0xE9E7,0xE9E6,0xBEFB,0xE9E8, 0,
+0xC0D6,0xED4D, 0,0xEFEA,0xF25B,0xF6E7, 0,0xA4F3,
+0xA5C2,0xA5C1, 0,0xAA5D,0xC961,0xC97E,0xA6BB, 0,
+0xC9F7,0xCB49,0xCB4A,0xAA5E, 0,0xCCED, 0,0xAC74,
+0xCF6B,0xCF6C, 0,0xAEF0,0xAEF4,0xD244,0xAEF3,0xAEF1,
+0xAEF2, 0,0xD5DF,0xB242,0xB4E3, 0,0xB4E1,0xB4E2,
+0xD9E6, 0, 0,0xBA72,0xA4F4, 0,0xC9A1, 0,
+0xA5C3, 0, 0,0xC9A4, 0, 0,0xA5C6,0xC9A3,
+0xA5C5,0xA5C4,0xA844,0xC9A2, 0, 0,0xC9F8, 0,
+ 0, 0,0xC9FC,0xC9FE,0xCA40,0xA6C5,0xA6C6,0xC9FB,
+0xA6C1, 0,0xC9F9, 0,0xC9FD,0xA6C2, 0,0xA6BD,
+ 0,0xA6BE, 0,0xA6C4,0xC9FA,0xA6BC,0xA845,0xA6BF,
+0xA6C0,0xA6C3, 0, 0, 0,0xCB5B,0xCB59,0xCB4C,
+0xA851,0xCB53,0xA84C,0xCB4D, 0,0xCB55, 0,0xCB52,
+0xA84F,0xCB51,0xA856,0xCB5A,0xA858, 0,0xA85A, 0,
+0xCB4B, 0,0xA84D,0xCB5C, 0,0xA854,0xA857, 0,
+0xCD45,0xA847,0xA85E,0xA855,0xCB4E,0xA84A,0xA859,0xCB56,
+0xA848,0xA849,0xCD43,0xCB4F,0xA850,0xA85B,0xCB5D,0xCB50,
+0xA84E, 0,0xA853,0xCCEE,0xA85C,0xCB57,0xA852, 0,
+0xA85D,0xA846,0xCB54,0xA84B,0xCB58,0xCD44, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xAA6A,0xAA7A,0xCCF5,0xAA71, 0,
+0xCD4B,0xAA62, 0,0xAA65,0xCD42, 0,0xCCF3,0xCCF7,
+0xAA6D,0xAA6F,0xCCFA,0xAA76,0xAA68,0xAA66,0xAA67,0xAA75,
+0xCD47,0xAA70,0xCCF9,0xCCFB,0xAA6E,0xAA73,0xCCFC,0xCD4A,
+ 0,0xAC75,0xAA79, 0,0xAA63,0xCD49, 0,0xCD4D,
+0xCCF8,0xCD4F,0xCD40,0xAA6C,0xCCF4,0xAA6B,0xAA7D,0xAA72,
+ 0,0xCCF2,0xCF75,0xAA78,0xAA7C,0xCD41,0xCD46, 0,
+0xAA7E,0xAA77,0xAA69,0xAA5F, 0,0xAA64, 0,0xCCF6,
+0xAA60,0xCD4E, 0,0xCCF0,0xCCEF,0xCCFD,0xCCF1,0xAA7B,
+0xAEF5,0xAA74,0xCCFE,0xAA61, 0,0xACA6, 0, 0,
+ 0,0xCD4C, 0, 0, 0, 0, 0, 0,
+0xCF7C,0xCFA1, 0,0xCFA4,0xCF77, 0, 0,0xCFA7,
+0xCFAA,0xCFAC,0xCF74,0xAC76,0xAC7B,0xD249,0xACAD,0xCFA5,
+0xCFAD,0xCF7B,0xCF73, 0, 0, 0,0xD264,0xAC7E,
+0xCFA2,0xCF78,0xCF7A,0xACA5, 0,0xCF7D,0xAC7D,0xCF70,
+0xCFA8, 0,0xCFAB, 0, 0,0xAC7A, 0,0xACA8,
+0xCF6D,0xACAA,0xAC78,0xACAE,0xCFA9,0xCF6F,0xACAB,0xD25E,
+0xCD48,0xAC7C,0xAC77,0xCF76,0xCF6E,0xACAC,0xACA4,0xCFA3,
+0xACA9,0xACA7,0xCF79,0xACA1,0xCF71,0xACA2,0xACA3,0xCF72,
+0xCFA6,0xAC79,0xCF7E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD24C,0xAEFD,0xAF43, 0, 0, 0,0xD255,0xD25B,
+0xD257,0xD24A,0xD24D,0xD246,0xD247,0xAF4A,0xAEFA,0xD256,
+0xD25F,0xAF45,0xAEF6, 0,0xAF40,0xD24E,0xAF42,0xD24F,
+0xD259, 0, 0, 0,0xAF44,0xD268,0xD248,0xAEFC,
+0xAEFB,0xAF48,0xD245,0xD266,0xD25A,0xD267,0xD261,0xD253,
+0xD262, 0,0xD25C,0xD265,0xD263,0xAF49,0xD254,0xAEF9,
+0xAEF8,0xAF41,0xAF47,0xD260,0xAF46,0xD251,0xB243, 0,
+0xD269,0xD250,0xD24B,0xAEFE,0xAF4B,0xAEF7, 0,0xD258,
+0xD25D, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xB265,0xD5E1,0xD5E5, 0,0xB252,0xB250,
+ 0, 0,0xB247,0xD5E3,0xD5E2,0xB25B, 0,0xD5E8,
+0xB255, 0,0xD5FA,0xD647,0xB244,0xD5F7,0xD5F0,0xB267,
+0xD5E0, 0,0xD5FC, 0,0xB264,0xB258,0xB263,0xB24E,
+0xD5EC,0xD5FE,0xD5F6,0xB24F,0xB249,0xD645, 0,0xD5FD,
+0xD640,0xB251,0xB259,0xD642,0xD5EA,0xD5FB,0xD5EF,0xD644,
+0xB25E,0xB246,0xB25C,0xD5F4,0xD5F2,0xD5F3,0xB253,0xD5EE,
+0xD5ED,0xB248,0xD5E7,0xD646,0xB24A,0xD5F1,0xB268, 0,
+0xB262,0xD5E6,0xB25F,0xB25D,0xB266,0xD5F8,0xB261,0xD252,
+0xD5F9,0xB260,0xD641,0xB245,0xD5F5,0xB257,0xD5E9,0xB256,
+ 0,0xB254,0xB24C,0xB24B,0xD9E7,0xD643, 0, 0,
+0xD5EB, 0, 0,0xD9FC, 0,0xB24D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xB541,0xB25A,0xB4EE,0xD9F6,0xB4FC, 0,0xD9EA,
+0xB4EB,0xB4E7,0xDA49,0xB4ED,0xB4F1,0xB4EC,0xB4F5,0xDA4D,
+0xDA44, 0, 0,0xD9F1,0xB4FA,0xB4F4,0xD9FD,0xB4E4,
+0xDA4A,0xDA43,0xB4E8,0xD9F7,0xB4F7,0xDA55,0xDA56, 0,
+0xB4E5,0xDA48,0xB4F9,0xD9FB,0xD9ED,0xD9EE,0xB4FD,0xD9F2,
+0xD9F9,0xD9F3, 0,0xB4FB,0xB544,0xD9EF,0xD9E8,0xD9E9,
+ 0,0xD9EB,0xB4EA,0xD9F8, 0,0xB4F8,0xB542, 0,
+ 0,0xD9FA,0xDA53,0xDA4B,0xB4E6,0xDA51,0xB4F2, 0,
+0xB4F0, 0,0xDA57,0xB4EF,0xDA41,0xD9F4,0xD9FE,0xB547,
+0xDA45,0xDA42,0xD9F0,0xB543,0xDA4F,0xDA4C,0xDA54,0xB4E9,
+0xDA40,0xB546, 0,0xDA47, 0, 0,0xB4F3,0xB4F6,
+ 0,0xDA46,0xB545,0xD9F5,0xD5E4, 0, 0,0xDA50,
+0xDA4E,0xDA52, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD9EC,0xB540, 0, 0, 0,0xDE61,0xDE60,0xDE46,
+0xB7BD, 0,0xDE5F,0xDE49,0xDE4A, 0,0xB7C7,0xDE68,
+0xB7C2,0xDE5E, 0,0xDE43,0xB7C8,0xB7BE,0xDE52,0xDE48,
+0xDE4B,0xDE63,0xB7B8,0xDE6A,0xDE62,0xB7C1,0xDE57,0xB7CC,
+ 0, 0,0xB7CB,0xB7C5, 0, 0,0xDE69,0xB7B9,
+0xDE55,0xDE4C,0xDE59,0xDE65,0xB7CD, 0,0xB7BB,0xDE54,
+ 0,0xDE4D,0xB7C4, 0,0xB7C3,0xDE50,0xDE5A,0xDE64,
+0xDE47,0xDE51,0xB7BC,0xDE5B,0xB7C9,0xB7C0,0xDE4E,0xB7BF,
+0xDE45,0xDE53,0xDE67,0xB4FE,0xBAB0,0xDE56,0xE26C,0xDE58,
+0xDE66,0xB7C6,0xDE4F,0xB7BA,0xB7CA,0xBCF0,0xDE44, 0,
+0xDE5D, 0, 0, 0,0xDE5C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE2AA,0xBAAD,0xE27D,0xE2A4,0xBAA2,
+ 0,0xE26E,0xBAAF, 0,0xBA77,0xE26D,0xE2B0,0xBAB1,
+0xE271,0xE2A3, 0,0xE273,0xE2B3,0xE2AF,0xBA75,0xBAA1,
+0xE653,0xBAAE,0xBA7D,0xE26F, 0,0xE2AE,0xBAA3,0xE2AB,
+0xE2B8,0xE275,0xE27E, 0, 0,0xE2B6,0xE2AC,0xBA7C,
+ 0, 0,0xE27C,0xBA76,0xBA74,0xBAA8, 0, 0,
+0xE27A,0xE277,0xE278, 0,0xE2B2, 0,0xE2B7,0xE2B5,
+0xBA7A,0xE2B9,0xBA7E,0xBAA7, 0,0xE270,0xE5FA,0xE279,
+ 0,0xBA78,0xBAAC,0xBAA9,0xBA7B,0xE2A5,0xE274,0xBAAA,
+0xE2A7,0xBAA4,0xBAA6,0xBA73, 0,0xE2A9,0xE2A1,0xE272,
+0xBAA5,0xE2B1,0xE2B4,0xE27B,0xE2A8, 0,0xBA79,0xBCDF,
+0xE2A6,0xE5F9, 0,0xE2AD, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE276,0xE644,
+0xE64E,0xBCE2,0xE64D,0xE659,0xBCE4,0xE64B, 0,0xE64F,
+0xBCEF, 0,0xE646,0xBCE7, 0,0xE652,0xE9F0,0xBCF3,
+0xBCF2,0xE654,0xE643,0xE65E,0xBCED, 0,0xBCE3,0xE657,
+ 0,0xE65B,0xE660,0xE655,0xE649,0xBCE6,0xBCE9,0xBCF1,
+0xBCEC, 0,0xE64C,0xE2A2, 0, 0,0xE648,0xE65F,
+0xBCE8, 0,0xBCEB,0xE661,0xBCE0,0xE656,0xE5FB,0xE65C,
+0xC0DF, 0,0xE64A, 0,0xBCE1,0xE645,0xBCE5,0xE5FC,
+0xBAAB,0xE641, 0,0xE65A,0xE642,0xE640,0xBCEA, 0,
+0xE658, 0,0xE5FE,0xE651,0xE650,0xE65D,0xE647,0xBCEE,
+ 0, 0, 0, 0, 0, 0,0xE9F3, 0,
+0xBF49,0xBEFE,0xEA40,0xE9EB,0xBF41,0xE9F7,0xBF48,0xBF43,
+0xE9F5,0xED4F,0xE9FB,0xEA42,0xE9FA,0xE9E9,0xE9F8,0xEA44,
+0xEA46,0xBEFD,0xEA45,0xBF44,0xBF4A, 0,0xBF47, 0,
+0xE9FE,0xBF46,0xE9F9, 0,0xE9ED,0xE9F2, 0,0xE9FD,
+0xBF45,0xBF42,0xBEFC,0xBF40,0xE9F1, 0,0xE5FD,0xE9EC,
+0xE9EF,0xEA41,0xE9F4,0xE9EA,0xED4E,0xEA43,0xE9EE,0xE9FC,
+ 0, 0, 0, 0,0xED51,0xC0E3, 0, 0,
+0xC0D7, 0, 0,0xC0DB,0xED53,0xED59,0xED57,0xC0D9,
+0xC0DA,0xC0E1,0xED5A,0xED52,0xC0DC, 0,0xED56,0xED55,
+0xED5B,0xC0E2, 0,0xC0DD,0xC0E0,0xED54,0xC0E4,0xC0DE,
+0xC0E5,0xC0D8,0xED58, 0,0xED50, 0, 0,0xEFF7,
+ 0, 0,0xC271,0xEFF4,0xEFF6, 0,0xC26F,0xEFF2,
+0xEFF3,0xEFEE, 0, 0,0xE9F6,0xEFEF,0xC270,0xEFEB,
+ 0,0xC26D,0xEFF8,0xC26E,0xEFEC,0xEFED,0xEFF1,0xC273,
+ 0,0xC272, 0, 0,0xEFF0,0xC378,0xF25F,0xF265,
+0xC379,0xF25C,0xC376,0xC373,0xF267,0xC377, 0,0xC374,
+0xF25E,0xF261,0xF262,0xF263,0xF266, 0,0xEFF5,0xF25D,
+0xC375,0xF264,0xF268,0xF260, 0, 0, 0,0xF45D,
+0xC46A,0xF460,0xC46B,0xF468,0xF45F,0xF45C, 0,0xF45E,
+0xF462,0xF465,0xF464,0xF467,0xF45B, 0,0xC469,0xF463,
+0xF466,0xF469,0xF461,0xF5D3,0xF5D4,0xF5D8,0xF5D9, 0,
+0xF5D6,0xF5D7,0xF5D5, 0,0xC4E9, 0, 0, 0,
+ 0,0xC578,0xF6EB, 0, 0,0xF6E8,0xF6E9,0xF6EA,
+0xC579, 0,0xF7E5,0xF7E4, 0,0xF8AF,0xC5F4,0xF8AD,
+0xF8B0,0xF8AE,0xF8F5,0xC657,0xC665,0xF9A3,0xF96C, 0,
+0xF9A2,0xF9D0,0xF9D1,0xA4F5, 0, 0, 0, 0,
+0xA6C7,0xCA41, 0, 0,0xCB5E, 0,0xA85F, 0,
+0xA862, 0,0xCB5F, 0,0xA860,0xA861, 0, 0,
+ 0, 0,0xCD58,0xCD5A,0xCD55,0xCD52,0xCD54, 0,
+ 0, 0,0xAAA4, 0, 0, 0,0xAAA2, 0,
+ 0,0xCD56,0xAAA3,0xCD53,0xCD50,0xAAA1,0xCD57, 0,
+0xCD51,0xAAA5,0xCD59, 0, 0, 0, 0,0xCFAF,
+ 0,0xCFB3, 0, 0,0xACB7, 0, 0, 0,
+ 0,0xCFB6, 0,0xACAF,0xACB2,0xACB4,0xACB6,0xACB3,
+0xCFB2,0xCFB1, 0,0xACB1,0xCFB4,0xCFB5, 0,0xCFAE,
+0xACB5, 0,0xACB0, 0, 0, 0,0xCFB0, 0,
+ 0, 0, 0, 0, 0,0xD277,0xD278,0xD279,
+0xAF50, 0,0xAF4C,0xD26E, 0,0xD276,0xD27B,0xAF51,
+ 0,0xD26C,0xD272,0xD26B,0xD275, 0, 0,0xD271,
+0xAF4D,0xAF4F,0xD27A, 0,0xD26A,0xD26D,0xD273, 0,
+0xD274,0xD27C,0xD270, 0,0xAF4E, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xB26D,
+0xD64E, 0, 0,0xD650,0xD64C, 0,0xD658,0xD64A,
+0xD657,0xB269,0xD648,0xDA5B,0xD652,0xB26C, 0,0xD653,
+0xD656, 0,0xD65A, 0,0xD64F, 0,0xD654, 0,
+ 0,0xB26A,0xB26B,0xD659,0xD64D,0xD649,0xD65B, 0,
+0xD651, 0, 0,0xD655, 0, 0, 0,0xD64B,
+ 0,0xB548,0xB549,0xDA65,0xB54F, 0,0xDA59,0xDA62,
+0xDA58,0xB54C,0xDA60,0xDA5E, 0,0xDA5F,0xB54A, 0,
+0xDA63, 0, 0, 0, 0, 0,0xDA5C,0xDA5A,
+0xB54B,0xDA5D,0xDA61, 0, 0, 0,0xB54D, 0,
+ 0, 0,0xDA64, 0, 0, 0, 0, 0,
+ 0,0xDE70,0xDE77,0xDE79,0xDEA1, 0,0xB7DA,0xDE6B,
+ 0,0xB7D2, 0,0xDE7A,0xB7D7,0xDEA2,0xB7CE, 0,
+0xDE7D, 0,0xDE6D,0xDE7E,0xDE6C, 0,0xB7DC, 0,
+0xDE78,0xB7CF,0xDEA3, 0,0xB7D4,0xDE71,0xB7D9,0xDE7C,
+0xDE6F,0xDE76,0xDE72,0xDE6E,0xB7D1,0xB7D8,0xB7D6,0xB7D3,
+0xB7DB,0xB7D0,0xDE75, 0,0xB7D5, 0,0xB54E, 0,
+0xDE7B, 0,0xDE73, 0, 0, 0, 0, 0,
+0xDE74, 0, 0,0xE2C1, 0,0xBAB4, 0, 0,
+0xE2BD,0xE2C3,0xE2BF, 0,0xBAB6,0xE2BE,0xE2C2,0xE2BA,
+ 0,0xE2BC,0xBAB5, 0, 0, 0, 0,0xE2C0,
+0xE2BB, 0,0xBAB7, 0,0xBAB2, 0, 0,0xE2C4,
+ 0,0xBAB3,0xE667,0xE664,0xE670,0xE66A,0xE66C,0xBCF4,
+0xE666,0xE66E, 0, 0,0xE66D,0xE66B, 0,0xE671,
+0xBCF7,0xE668,0xE66F, 0,0xBCF5, 0, 0,0xE663,
+0xE665,0xBCF6,0xE662,0xE672, 0,0xE669, 0, 0,
+0xEA4A,0xBF51, 0, 0,0xEA55,0xEA53,0xBF4B,0xEA49,
+0xEA4C,0xEA4D,0xEA48,0xBF55,0xBF56,0xEA47,0xEA56,0xEA51,
+0xBF4F,0xBF4C,0xEA50,0xEA4E, 0, 0,0xBF52,0xEA52,
+0xBF4D, 0,0xBF4E, 0,0xEA4F,0xBF50,0xEA4B, 0,
+0xEA54,0xBF53,0xEA57,0xEA58,0xBF54, 0, 0,0xC0E7,
+0xC0EE,0xED5C,0xED62, 0,0xED60,0xC0EA,0xC0E9,0xC0E6,
+0xED5E, 0, 0, 0,0xC0EC,0xC0EB,0xC0E8, 0,
+0xED61,0xED5D,0xED5F, 0,0xC0ED, 0, 0, 0,
+0xC277,0xEFFB, 0,0xC274,0xC275,0xEFFD,0xC276,0xEFFA,
+ 0,0xEFF9,0xF26C,0xEFFC, 0,0xF26D,0xC37A,0xF26B,
+ 0, 0,0xF26A, 0,0xF269,0xC37B, 0, 0,
+0xC46C, 0, 0,0xF46A,0xF46B, 0, 0, 0,
+ 0,0xF5DC,0xF5DB,0xC4EA, 0,0xF5DA,0xF6EC,0xF6ED,
+ 0, 0,0xF7E6,0xF8B1, 0, 0,0xF8F6,0xF9BC,
+0xC679,0xF9C6,0xA4F6, 0,0xAAA6,0xAAA7, 0, 0,
+0xACB8, 0, 0, 0, 0,0xC0EF,0xA4F7, 0,
+0xAAA8,0xAF52,0xB7DD,0xA4F8, 0,0xB26E,0xBAB8,0xC962,
+ 0,0xCFB7,0xD27D, 0,0xE2C5, 0,0xC0F0,0xA4F9,
+0xAAA9,0xCFB8,0xCFB9,0xDA66,0xB550, 0, 0,0xDEA4,
+ 0, 0,0xB7DE,0xE2C6, 0, 0,0xBCF8, 0,
+0xC37C,0xA4FA,0xDA67,0xA4FB, 0,0xA6C9,0xCA42,0xA6C8,
+0xA865,0xA864,0xA863,0xCB60, 0, 0, 0,0xAAAA,
+ 0,0xAAAB,0xCD5B, 0,0xCFBA, 0,0xCFBD,0xACBA,
+0xCFBB, 0,0xACB9,0xCFBC,0xACBB, 0,0xD2A2,0xD2A1,
+0xD27E,0xAF53, 0,0xD65D,0xD65E,0xB26F,0xD65C,0xD65F,
+0xB552,0xB270, 0, 0,0xB551,0xDA6B,0xDA6A, 0,
+0xDA68,0xDA69, 0,0xDA6C,0xDEA6,0xDEA5,0xDEA9, 0,
+0xDEA8,0xDEA7,0xBAB9,0xE2C9, 0,0xE2C8,0xBABA,0xE2C7,
+0xE673, 0,0xE674,0xBCF9, 0,0xEA59,0xEA5A, 0,
+ 0,0xF272,0xC37D,0xF271,0xF270,0xF26E,0xF26F,0xC4EB,
+0xF46C,0xF6EE,0xF8F7, 0,0xA4FC, 0,0xC9A5,0xA5C7,
+0xC9A6, 0, 0, 0,0xCA43,0xCA44, 0, 0,
+ 0, 0,0xCB66, 0, 0,0xCB62, 0,0xCB61,
+0xAAAC,0xCB65,0xA867,0xCB63,0xA866,0xCB67,0xCB64, 0,
+ 0,0xCD5F,0xCFBE,0xCD5D,0xCD64, 0,0xAAAD, 0,
+0xAAB0,0xCD65,0xCD61, 0,0xCD62, 0,0xCD5C,0xAAAF,
+0xCD5E,0xAAAE,0xCD63, 0,0xCD60, 0, 0,0xCFC2,
+0xACBD,0xACBE, 0,0xCFC5,0xCFBF, 0,0xCFC4, 0,
+0xCFC0,0xACBC,0xCFC3,0xCFC1, 0, 0, 0, 0,
+ 0, 0, 0,0xD2A8,0xD2A5, 0,0xD2A7,0xAF58,
+0xAF57,0xAF55,0xD2A4,0xD2A9,0xAF54,0xAF56,0xD2A6,0xD667,
+0xD2A3,0xD2AA, 0, 0, 0, 0, 0,0xD662,
+0xD666, 0,0xD665,0xDA6E,0xDA79, 0, 0,0xD668,
+ 0,0xD663,0xDA6D,0xB274, 0, 0,0xB273,0xD661,
+0xD664,0xB275, 0,0xB272,0xB271,0xD660,0xD669, 0,
+ 0, 0,0xDA70,0xDA77, 0,0xB554,0xDA76,0xDA73,
+ 0,0xB556, 0, 0, 0,0xDA75, 0, 0,
+0xDA6F,0xDA71,0xDA74,0xDA72,0xB555,0xDA78,0xB553,0xB7DF,
+ 0, 0,0xDEAD,0xDEAC,0xDEAA, 0,0xB7E2,0xB7E1,
+0xDEAE, 0,0xDEAB,0xE2CA,0xBABB,0xB7E0, 0, 0,
+ 0,0xDEB0,0xDEAF, 0,0xE2CD,0xE2CB,0xBCFA, 0,
+0xBABC,0xE2CC,0xE676, 0, 0, 0, 0,0xBCFB,
+0xE675,0xE67E,0xE67D,0xE67B, 0,0xE67A,0xE677,0xE678,
+0xE679,0xE67C,0xE6A1, 0, 0,0xEA5F,0xEA5C,0xEA5D,
+0xBF57,0xEA5B,0xEA61,0xEA60,0xEA5E, 0,0xED64,0xED65,
+0xC0F1, 0,0xC0F2,0xED63, 0,0xC279,0xEFFE,0xC278,
+0xC37E, 0,0xC3A1,0xC46D,0xF46E,0xF46D,0xF5DD,0xF6EF,
+0xC57A,0xF7E8,0xF7E7,0xF7E9,0xA5C8,0xCFC6,0xAF59,0xB276,
+0xD66A,0xA5C9,0xC9A7,0xA4FD, 0, 0,0xCA45, 0,
+ 0, 0,0xCB6C,0xCB6A,0xCB6B,0xCB68,0xA868,0xCB69,
+ 0, 0, 0, 0, 0,0xCD6D, 0,0xAAB3,
+0xCD6B,0xCD67,0xCD6A, 0,0xCD66,0xAAB5,0xCD69, 0,
+0xAAB2,0xAAB1, 0,0xAAB4,0xCD6C,0xCD68, 0, 0,
+ 0, 0,0xACC2,0xACC5,0xCFCE,0xCFCD,0xCFCC,0xACBF,
+0xCFD5,0xCFCB, 0,0xACC1,0xD2AF, 0,0xCFD2,0xCFD0,
+0xACC4, 0,0xCFC8,0xCFD3, 0,0xCFCA,0xCFD4,0xCFD1,
+0xCFC9, 0,0xACC0,0xCFD6,0xCFC7,0xACC3, 0, 0,
+ 0, 0,0xD2B4,0xD2AB,0xD2B6, 0,0xD2AE,0xD2B9,
+0xD2BA,0xD2AC,0xD2B8,0xD2B5,0xD2B3,0xD2B7,0xAF5F, 0,
+0xAF5D, 0, 0,0xD2B1, 0,0xD2AD, 0,0xD2B0,
+0xD2BB,0xD2B2,0xAF5E,0xCFCF, 0,0xAF5A,0xAF5C, 0,
+ 0, 0, 0, 0,0xD678,0xD66D,0xD66B, 0,
+0xD66C, 0,0xD673, 0,0xD674,0xD670,0xB27B,0xD675,
+0xD672,0xD66F, 0,0xB279,0xD66E,0xB277,0xB27A,0xD671,
+0xD679,0xAF5B,0xB278,0xD677,0xD676,0xB27C, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xDA7E, 0,
+ 0, 0,0xDAA1,0xB560, 0,0xDAA7, 0, 0,
+0xDAA9,0xDAA2,0xB55A,0xDAA6,0xDAA5,0xB55B,0xB561, 0,
+0xB562,0xDAA8,0xB558,0xDA7D,0xDA7B,0xDAA3,0xDA7A,0xB55F,
+0xDA7C,0xDAA4,0xDAAA,0xB559,0xB55E,0xB55C,0xB55D, 0,
+ 0, 0,0xB557, 0, 0, 0, 0,0xB7E9,
+0xDEB7,0xB7E8,0xDEBB, 0,0xDEB1, 0,0xDEBC, 0,
+ 0, 0,0xDEB2,0xDEB3, 0,0xDEBD,0xDEBA,0xDEB8,
+0xDEB9,0xDEB5,0xDEB4, 0,0xDEBE,0xB7E5, 0,0xDEB6,
+ 0,0xB7EA,0xB7E4,0xB7EB,0xB7EC, 0,0xB7E7,0xB7E6,
+ 0, 0,0xE2CE,0xBABE,0xBABD, 0, 0,0xE2D3,
+ 0,0xBCFC,0xBABF, 0, 0,0xBAC1,0xE2D4,0xB7E3,
+0xBAC0,0xE2D0,0xE2D2,0xE2CF, 0,0xE2D1, 0, 0,
+ 0,0xE6AB, 0, 0,0xE6AA,0xE6A7,0xBD40,0xEA62,
+0xBD41,0xE6A6, 0,0xBCFE, 0,0xE6A8,0xE6A5,0xE6A2,
+0xE6A9,0xE6A3,0xE6A4,0xBCFD, 0, 0, 0, 0,
+0xED69, 0,0xEA66, 0,0xEA65,0xEA67, 0,0xED66,
+0xBF5A, 0,0xEA63, 0,0xBF58, 0,0xBF5C,0xBF5B,
+0xEA64,0xEA68, 0,0xBF59, 0,0xED6D,0xC0F5,0xC27A,
+0xC0F6,0xC0F3,0xED6A,0xED68, 0,0xED6B, 0,0xED6E,
+0xC0F4,0xED6C,0xED67, 0, 0,0xF042,0xF045,0xF275,
+0xF040, 0,0xF46F,0xF046, 0,0xC3A2,0xF044,0xC27B,
+0xF041,0xF043,0xF047,0xF276, 0,0xF274, 0, 0,
+ 0, 0,0xC3A3,0xF273, 0, 0, 0,0xC46E,
+ 0, 0, 0, 0,0xC4ED,0xF6F1,0xC4EC,0xF6F3,
+0xF6F0,0xF6F2,0xC5D0,0xF8B2,0xA5CA,0xCD6E,0xD2BC,0xD2BD,
+0xB27D,0xDEBF,0xBF5D,0xC3A4,0xC57B,0xF8B3,0xA5CB, 0,
+0xCD6F,0xA260, 0, 0,0xCFD7, 0,0xCFD8, 0,
+ 0, 0, 0, 0,0xD2BE,0xD2BF,0xB27E,0xB2A1,
+ 0, 0, 0,0xDAAB, 0,0xDEC2,0xDEC1,0xDEC0,
+0xE2D5, 0,0xE2D6,0xE2D7,0xBAC2, 0, 0,0xE6AD,
+0xE6AC, 0, 0,0xEA69,0xBF5E,0xBF5F, 0,0xED72,
+0xED6F,0xED70,0xED71,0xF049,0xF048,0xC27C,0xF277,0xF5DE,
+0xA5CC, 0,0xACC6, 0,0xB2A2,0xDEC3, 0,0xA5CD,
+ 0,0xD2C0,0xB2A3, 0, 0,0xB563,0xB564, 0,
+0xA5CE,0xA5CF,0xCA46,0xA86A,0xA869,0xACC7,0xCFD9,0xDAAC,
+0xA5D0,0xA5D1,0xA5D2,0xA5D3, 0, 0, 0,0xA86B,
+0xA86C,0xCB6E,0xCB6D, 0, 0,0xAAB6,0xCD72,0xCD70,
+0xCD71, 0, 0, 0, 0, 0, 0,0xCFDA,
+0xCFDB, 0, 0,0xACCB,0xACC9, 0,0xACCA,0xACC8,
+ 0, 0, 0, 0,0xAF60, 0, 0, 0,
+ 0,0xAF64,0xAF63,0xD2C1,0xAF62,0xAF61, 0,0xD2C2,
+ 0, 0,0xB2A6,0xD67B,0xD67A,0xB2A4,0xB2A5, 0,
+ 0, 0,0xB566,0xB565,0xDAAE, 0, 0,0xDAAD,
+0xB2A7, 0, 0, 0, 0, 0,0xB7ED,0xDEC5,
+0xB7EE,0xDEC4, 0, 0, 0,0xE2D8,0xE6AE,0xBD42,
+0xEA6A, 0, 0, 0,0xED73, 0,0xC3A6,0xC3A5,
+ 0, 0,0xC57C,0xA5D4,0xCD73, 0, 0,0xB2A8,
+0xE2D9,0xBAC3, 0, 0,0xCB6F,0xCB70, 0, 0,
+0xCD74,0xAAB8,0xAAB9, 0, 0,0xAAB7, 0, 0,
+ 0, 0,0xACCF,0xACD0,0xACCD,0xACCE, 0,0xCFDC,
+ 0, 0,0xCFDD,0xACCC, 0, 0, 0, 0,
+0xD2C3, 0,0xAF68,0xAF69, 0,0xB2AB,0xD2C9, 0,
+0xAF6E,0xAF6C,0xD2CA,0xD2C5,0xAF6B,0xAF6A,0xAF65,0xD2C8,
+0xD2C7,0xD2C4,0xAF6D, 0,0xD2C6,0xAF66, 0,0xAF67,
+ 0, 0,0xB2AC,0xD6A1,0xD6A2,0xB2AD,0xD67C,0xD67E,
+0xD6A4,0xD6A3,0xD67D, 0,0xB2A9,0xB2AA, 0,0xDAB6,
+0xB56B,0xB56A,0xDAB0,0xB568, 0,0xDAB3,0xB56C,0xDAB4,
+0xB56D,0xDAB1,0xB567,0xB569,0xDAB5, 0,0xDAB2,0xDAAF,
+ 0, 0, 0, 0, 0,0xDED2, 0,0xDEC7,
+0xB7F0,0xB7F3,0xB7F2,0xB7F7,0xB7F6,0xDED3,0xDED1,0xDECA,
+0xDECE,0xDECD,0xB7F4,0xDED0,0xDECC,0xDED4,0xDECB,0xB7F5,
+0xB7EF,0xB7F1, 0,0xDEC9, 0, 0, 0, 0,
+0xE2DB,0xBAC7,0xE2DF,0xBAC6,0xE2DC,0xBAC5, 0,0xDEC8,
+0xDECF,0xE2DE, 0,0xBAC8,0xE2E0,0xE2DD,0xE2DA, 0,
+ 0,0xE6B1,0xE6B5,0xE6B7,0xE6B3,0xE6B2,0xE6B0,0xBD45,
+0xBD43,0xBD48,0xBD49,0xE6B4,0xBD46,0xE6AF,0xBD47,0xBAC4,
+0xE6B6,0xBD44, 0, 0, 0,0xEA6C, 0,0xEA6B,
+0xEA73,0xEA6D,0xEA72,0xEA6F,0xBF60,0xEA71, 0, 0,
+0xBF61, 0,0xBF62, 0,0xEA70,0xEA6E, 0, 0,
+ 0, 0,0xC0F8,0xED74, 0, 0,0xC0F7,0xED77,
+0xED75,0xED76, 0, 0,0xC0F9, 0, 0, 0,
+0xF04D, 0,0xC2A1,0xF04E, 0, 0,0xC27D,0xF04F,
+0xC27E,0xF04C,0xF050, 0,0xF04A, 0, 0,0xC3A7,
+0xF278,0xC3A8,0xC46F, 0,0xF04B,0xC470, 0, 0,
+ 0,0xC4EE,0xF5DF, 0,0xC57E,0xF6F4,0xC57D, 0,
+0xF7EA,0xC5F5,0xC5F6, 0, 0,0xF9CC, 0, 0,
+0xACD1,0xCFDE, 0,0xB56E,0xB56F,0xA5D5,0xA6CA,0xCA47,
+ 0,0xCB71,0xA86D, 0,0xAABA, 0,0xACD2,0xACD3,
+0xACD4,0xD6A6,0xD2CB,0xAF6F, 0, 0,0xB2AE,0xD6A5,
+ 0, 0,0xDAB8,0xB571, 0,0xDAB7,0xB570, 0,
+ 0,0xDED5,0xBD4A,0xE6BB,0xE6B8,0xE6B9,0xE6BA, 0,
+ 0, 0, 0, 0,0xED78, 0,0xF051, 0,
+ 0, 0,0xF471,0xF470, 0,0xF6F5,0xA5D6,0xCD75,
+0xAF70, 0, 0, 0,0xB572,0xDED6, 0, 0,
+0xE2E1, 0,0xBD4B,0xEA74, 0,0xF052,0xF472,0xA5D7,
+ 0, 0,0xAABB,0xACD7,0xCFDF,0xACD8,0xACD6, 0,
+0xACD5,0xD2CC,0xAF71, 0, 0,0xAF72,0xAF73, 0,
+ 0, 0,0xB2B0,0xD6A7,0xB2AF, 0, 0, 0,
+ 0, 0,0xDAB9,0xB2B1,0xB573,0xDED7,0xB7F8,0xB7F9,
+ 0,0xBAC9, 0,0xBACA,0xBD4C,0xBF64,0xEA75,0xBF63,
+ 0,0xED79,0xC0FA, 0,0xF053,0xF473,0xA5D8,0xA86E,
+0xCD78,0xCD77,0xAABC,0xCD76,0xAABD,0xCD79, 0,0xCFE5,
+0xACDB,0xACDA,0xCFE7,0xCFE6,0xACDF, 0,0xACDE, 0,
+ 0,0xACD9, 0,0xCFE1,0xCFE2,0xCFE3, 0,0xACE0,
+0xCFE0,0xACDC,0xCFE4,0xACDD, 0, 0, 0, 0,
+0xD2CF,0xD2D3,0xD2D1,0xD2D0, 0,0xD2D4, 0, 0,
+ 0,0xD2D5,0xD2D6,0xD2CE, 0,0xD2CD, 0,0xAF75,
+0xAF76, 0,0xD2D7,0xD2D2, 0,0xD6B0, 0,0xD2D8,
+0xAF77,0xAF74, 0, 0, 0,0xD6AA, 0,0xD6A9,
+ 0,0xD6AB,0xD6AC,0xD6AE,0xD6AD,0xD6B2,0xB2B5,0xB2B2,
+0xB2B6,0xD6A8,0xB2B7,0xD6B1,0xB2B4,0xD6AF,0xB2B3, 0,
+ 0, 0, 0, 0,0xDABC,0xDABE,0xDABA,0xDABB,
+ 0, 0,0xDABF,0xDAC1,0xDAC2,0xDABD,0xDAC0,0xB574,
+ 0, 0,0xDEDB, 0,0xDEE0,0xDED8,0xDEDC, 0,
+ 0,0xDEE1,0xDEDD,0xB7FA,0xB843, 0,0xB7FD,0xDED9,
+0xDEDA,0xBACE,0xB846,0xB7FE, 0,0xB844,0xB7FC,0xDEDF,
+0xB845,0xDEDE,0xB841,0xB7FB,0xB842,0xDEE2,0xE2E6,0xE2E8,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xB840, 0, 0,0xE2E3,0xBACC,0xE2E9,0xBACD,
+0xE2E7,0xE2E2,0xE2E5,0xE2EA,0xBACB,0xE2E4, 0,0xBD4E,
+0xE6BF,0xE6BE, 0,0xBD51,0xBD4F,0xE6BC,0xBD4D,0xE6BD,
+ 0,0xBD50, 0, 0, 0,0xEA7D, 0,0xEAA1,
+ 0,0xEA7E,0xEA76,0xEA7A,0xEA79,0xEA77,0xBF66,0xBF67,
+0xBF65,0xEA78,0xEA7B,0xEA7C, 0,0xBF68, 0,0xC140,
+0xEDA3, 0,0xC0FC,0xED7B,0xC0FE,0xC141, 0, 0,
+0xC0FD,0xEDA2,0xED7C,0xC0FB,0xEDA1,0xED7A,0xED7E,0xED7D,
+ 0, 0,0xF055,0xC2A4,0xC2A5,0xC2A2, 0,0xC2A3,
+ 0, 0,0xF054, 0,0xF27B, 0, 0,0xC3A9,
+ 0,0xF279,0xF27A, 0,0xF474,0xF477,0xF475,0xF476,
+0xF5E0, 0, 0,0xC4EF,0xF7EB,0xF8B4, 0,0xC5F7,
+0xF8F8,0xF8F9,0xC666,0xA5D9,0xACE1, 0,0xDAC3, 0,
+0xDEE3, 0,0xA5DA,0xA86F, 0,0xAABE, 0,0xCFE8,
+0xCFE9,0xAF78, 0, 0,0xDAC4,0xB575,0xB847,0xC142,
+0xEDA4,0xF27C,0xF478,0xA5DB, 0, 0, 0,0xCDA1,
+0xCD7A,0xCD7C,0xCD7E,0xCD7D,0xCD7B,0xAABF, 0, 0,
+ 0, 0,0xACE2,0xCFF2, 0,0xCFED,0xCFEA, 0,
+ 0,0xCFF1, 0, 0,0xACE4,0xACE5,0xCFF0,0xCFEF,
+0xCFEE,0xCFEB,0xCFEC,0xCFF3,0xACE3, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xAF7C, 0,0xAFA4,
+0xAFA3,0xD2E1,0xD2DB,0xD2D9, 0,0xAFA1,0xD6B9,0xAF7A,
+0xD2DE,0xD2E2,0xD2E4,0xD2E0,0xD2DA,0xAFA2,0xD2DF,0xD2DD,
+0xAF79,0xD2E5,0xAFA5,0xD2E3,0xAF7D,0xD2DC, 0,0xAF7E,
+0xAF7B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xB2B9, 0,0xD6BA, 0, 0,
+0xD6B3,0xD6B5,0xD6B7, 0,0xD6B8,0xD6B6,0xB2BA, 0,
+0xD6BB, 0,0xD6B4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDAC8,0xB576,0xDAD0, 0,
+0xDAC5, 0,0xDAD1, 0,0xDAC6,0xDAC7, 0, 0,
+0xDACF,0xDACE,0xDACB,0xB2B8,0xB577,0xDAC9,0xDACC,0xB578,
+0xDACD,0xDACA, 0, 0, 0, 0, 0, 0,
+ 0,0xDEEE, 0,0xDEF2,0xB84E, 0,0xE2F0,0xB851,
+0xDEF0, 0, 0,0xDEED,0xDEE8,0xDEEA,0xDEEB,0xDEE4,
+ 0,0xB84D, 0, 0,0xB84C, 0,0xB848,0xDEE7,
+ 0,0xB84F, 0,0xB850,0xDEE6,0xDEE9,0xDEF1,0xB84A,
+0xB84B,0xDEEF,0xDEE5, 0, 0, 0,0xE2F2,0xBAD0,
+0xE2F4,0xDEEC,0xE2F6,0xBAD4,0xE2F7,0xE2F3, 0,0xBAD1,
+0xE2EF,0xBAD3,0xE2EC,0xE2F1,0xE2F5,0xE2EE, 0, 0,
+0xB849, 0,0xE2EB,0xBAD2,0xE2ED, 0, 0, 0,
+ 0, 0,0xBD54,0xE6C1,0xBD58, 0,0xBD56, 0,
+ 0,0xBACF, 0,0xE6C8,0xE6C9,0xBD53, 0, 0,
+0xE6C7,0xE6CA,0xBD55,0xBD52,0xE6C3,0xE6C0,0xE6C5,0xE6C2,
+0xBD59,0xE6C4, 0, 0,0xE6C6,0xBD57, 0, 0,
+ 0, 0,0xBF6A,0xEAA8, 0,0xEAA2,0xEAA6,0xEAAC,
+0xEAAD,0xEAA9,0xEAAA,0xEAA7, 0,0xEAA4, 0,0xBF6C,
+0xBF69,0xEAA3,0xEAA5, 0,0xBF6B,0xEAAB, 0,0xC146,
+ 0, 0,0xEDAA,0xEDA5,0xC145, 0, 0,0xC143,
+ 0,0xEDAC,0xC144,0xEDA8,0xEDA9,0xEDA6,0xEDAD,0xF056,
+ 0,0xC147,0xEDA7, 0,0xEDAE,0xEDAB, 0, 0,
+ 0,0xF05A, 0, 0,0xF057, 0,0xC2A6, 0,
+0xF05B,0xF05D,0xF05C,0xF058,0xF059, 0, 0,0xF2A3,
+ 0,0xC3AA, 0,0xF27E,0xF2A2,0xF27D,0xF2A4, 0,
+ 0,0xF2A1, 0,0xF47A,0xF47D,0xF479,0xC471,0xF47B,
+0xF47C,0xF47E,0xC472,0xC474,0xC473,0xF5E1, 0,0xF5E3,
+ 0,0xF5E2, 0, 0, 0,0xF6F6, 0, 0,
+0xF8B5,0xF8FA,0xA5DC, 0, 0,0xCB72,0xAAC0,0xCDA3,
+0xAAC1,0xAAC2,0xCDA2, 0,0xCFF8,0xCFF7,0xACE6,0xACE9,
+0xACE8,0xACE7,0xCFF4,0xCFF6,0xCFF5, 0, 0,0xD2E8,
+0xAFA7,0xD2EC,0xD2EB,0xD2EA,0xD2E6,0xAFA6,0xAFAA,0xAFAD,
+ 0, 0,0xAFAE,0xD2E7,0xD2E9,0xAFAC,0xAFAB,0xAFA9,
+0xAFA8,0xD6C2, 0,0xD6C0,0xD6BC,0xB2BB, 0,0xD6BD,
+0xB2BC,0xD6BE,0xD6BF,0xD6C1, 0,0xB2BD, 0, 0,
+0xDAD5, 0,0xDAD4,0xDAD3,0xDAD2, 0, 0, 0,
+ 0,0xDEF6,0xB852, 0,0xDEF3,0xDEF5, 0,0xB853,
+ 0,0xB854,0xDEF4, 0, 0, 0, 0, 0,
+0xE341, 0,0xE2F9,0xE2FA, 0,0xBAD7,0xBAD5,0xBAD6,
+0xE343, 0,0xE342,0xE2FE,0xE2FD,0xE2FC,0xE2FB,0xE340,
+0xE2F8, 0,0xE6CB,0xE6D0,0xE6CE, 0, 0, 0,
+0xE6CD,0xE6CC,0xE6CF, 0,0xEAAE, 0,0xBF6D,0xC148,
+0xEDB0, 0,0xC149,0xEDAF,0xF05F,0xF05E,0xC2A7, 0,
+0xF2A5,0xC3AB,0xF4A1,0xC5A1,0xF6F7, 0,0xF8B7,0xF8B6,
+0xC9A8,0xACEA,0xACEB,0xD6C3, 0,0xB856,0xA5DD,0xA872,
+0xA871,0xA870, 0, 0, 0,0xCDA4, 0, 0,
+0xAAC4,0xAAC3, 0,0xACEE, 0,0xCFFA,0xCFFD,0xCFFB,
+ 0,0xACEC,0xACED, 0, 0,0xCFF9,0xCFFC, 0,
+0xAFB5, 0, 0, 0,0xD2F3,0xD2F5,0xD2F4,0xAFB2,
+0xD2EF, 0, 0,0xAFB0,0xAFAF, 0,0xAFB3,0xAFB1,
+ 0,0xAFB4,0xD2F2,0xD2ED,0xD2EE,0xD2F1,0xD2F0, 0,
+ 0, 0, 0, 0, 0, 0,0xD6C6,0xD6C7,
+0xD6C5, 0,0xD6C4,0xB2BE, 0, 0, 0, 0,
+0xB57D, 0,0xDAD6,0xDAD8,0xDADA,0xB57C, 0, 0,
+0xB57A, 0,0xDAD7,0xB57B,0xDAD9,0xB579, 0, 0,
+0xDF41,0xDEF7,0xDEFA,0xDEFE,0xB85A,0xDEFC, 0,0xDEFB,
+0xDEF8,0xDEF9,0xB858,0xDF40,0xB857, 0,0xB85C,0xB85B,
+0xB859, 0,0xDEFD, 0, 0, 0,0xE349, 0,
+0xE348, 0, 0,0xE344, 0, 0,0xBAD8,0xE347,
+0xE346,0xBAD9, 0, 0, 0, 0, 0,0xBD5E,
+ 0,0xE6D2, 0,0xBD5F,0xBD5B,0xBD5D, 0,0xBD5A,
+0xBD5C, 0, 0, 0,0xEAAF, 0,0xBF70,0xEAB1,
+0xEAB0, 0,0xE345,0xBF72,0xBF71,0xBF6E,0xBF6F, 0,
+ 0, 0, 0, 0,0xEDB5, 0,0xEDB3,0xC14A,
+0xEDB4, 0,0xEDB6,0xEDB2,0xEDB1, 0, 0,0xF060,
+0xC2AA,0xC2A8,0xC2A9, 0, 0, 0, 0,0xF2A6,
+0xF2A7,0xC3AD, 0,0xC3AC,0xF4A3,0xF4A4,0xF4A2, 0,
+0xF6F8,0xF6F9, 0, 0,0xA5DE,0xCA48,0xA873, 0,
+0xCDA5,0xAAC6,0xAAC5,0xCDA6, 0, 0,0xD040,0xACEF,
+0xCFFE,0xACF0, 0, 0,0xAFB6,0xD2F8,0xD2F6,0xD2FC,
+0xAFB7,0xD2F7,0xD2FB,0xD2F9,0xD2FA, 0, 0,0xD6C8,
+0xD6CA, 0,0xB2BF, 0,0xD6C9,0xB2C0,0xB5A2,0xB5A1,
+0xB57E,0xDADB, 0, 0, 0, 0,0xDF44,0xB85D,
+0xB85E, 0,0xDF43,0xDF42, 0, 0, 0, 0,
+0xE34A,0xBADB,0xBADA,0xE34B,0xE34C, 0,0xBD61,0xBD60,
+ 0,0xEAB5,0xE6D3,0xE6D5,0xE6D4,0xEAB4,0xEAB2,0xEAB6,
+0xEAB3, 0,0xBF73, 0, 0, 0,0xEDB7,0xC14B,
+0xEDB8,0xEDB9, 0, 0,0xC2AB,0xC2AC, 0,0xC475,
+ 0, 0,0xC5D1,0xA5DF, 0, 0, 0, 0,
+ 0,0xD041, 0, 0, 0, 0, 0, 0,
+0xD2FD,0xAFB8, 0, 0, 0, 0, 0,0xB3BA,
+0xB3B9, 0, 0,0xB5A4,0xDADD,0xB5A3,0xDADC, 0,
+ 0, 0, 0,0xDF45, 0,0xBADC,0xE34D,0xBADD,
+ 0, 0, 0, 0, 0, 0,0xC476,0xF4A5,
+ 0,0xA6CB,0xAAC7,0xCDA7, 0,0xACF2, 0,0xACF1,
+0xD042,0xD043, 0, 0,0xD340,0xD342,0xAFB9, 0,
+0xD344,0xD347,0xD345, 0, 0, 0,0xD346,0xD343,
+0xD2FE,0xAFBA,0xD348,0xD341, 0, 0, 0, 0,
+0xD6D3,0xB2C6,0xD6DC,0xB2C3, 0,0xD6D5,0xB2C7, 0,
+0xB2C1, 0,0xD6D0,0xD6DD,0xD6D1,0xD6CE,0xB2C5, 0,
+0xB2C2, 0,0xD6D4,0xD6D7,0xB2C4,0xD6D8,0xB2C8,0xD6D9,
+0xD6CF,0xD6D6,0xD6DA,0xD6D2,0xD6CD,0xD6CB, 0, 0,
+0xD6DB, 0, 0,0xDADF, 0, 0, 0, 0,
+0xDAE4, 0, 0, 0,0xDAE0,0xDAE6,0xB5A7,0xD6CC,
+0xDAE1,0xB5A5,0xDADE,0xB5AC,0xDAE2,0xB5AB,0xDAE3,0xB5AD,
+0xB5A8,0xB5AE,0xB5A9, 0,0xB5AA, 0,0xB5A6, 0,
+0xDAE5, 0, 0, 0, 0, 0, 0, 0,
+0xB861,0xDF50, 0,0xDF53,0xDF47,0xDF4C,0xDF46,0xB863,
+ 0,0xDF4A, 0, 0, 0,0xDF48,0xB862, 0,
+0xDF4F,0xDF4E,0xDF4B,0xDF4D,0xDF49,0xBAE1,0xDF52,0xB85F,
+0xDF51, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE35D, 0,0xBAE8,0xE358, 0,0xBAE7,
+0xE34E, 0,0xE350,0xBAE0,0xE355,0xE354,0xE357,0xBAE5,
+0xE352,0xE351, 0, 0,0xBAE4,0xBADF,0xE353,0xBAE2,
+0xE359,0xE35B, 0,0xE356,0xE34F,0xBAE3, 0, 0,
+0xBD69,0xBADE, 0, 0,0xE35C, 0, 0, 0,
+ 0, 0, 0, 0,0xE6D9,0xBD62, 0,0xE6DB,
+ 0,0xBD63, 0, 0,0xBD65,0xE6DE, 0,0xE6D6,
+0xBAE6,0xE6DC, 0, 0, 0, 0,0xE6D8, 0,
+0xB860,0xBD68, 0, 0,0xBD64, 0,0xBD66,0xBD67,
+ 0,0xBF76,0xE6DD,0xE6D7,0xBD6A, 0,0xE6DA, 0,
+ 0, 0, 0, 0,0xEAC0,0xEABB, 0, 0,
+0xEAC5,0xBF74,0xEABD,0xBF78,0xEAC3,0xEABA,0xEAB7,0xEAC6,
+0xC151,0xBF79,0xEAC2,0xEAB8,0xBF77,0xEABC,0xBF7B,0xEAB9,
+0xEABE,0xBF7A,0xEAC1,0xEAC4, 0, 0, 0, 0,
+0xEDCB,0xEDCC,0xEDBC,0xEDC3,0xEDC1, 0, 0,0xC14F,
+0xEDC8,0xEABF, 0,0xEDBF, 0,0xEDC9,0xC14E,0xEDBE,
+0xEDBD,0xEDC7,0xEDC4,0xEDC6, 0,0xEDBA,0xEDCA,0xC14C,
+ 0,0xEDC5,0xEDCE,0xEDC2,0xC150,0xC14D,0xEDC0,0xEDBB,
+0xEDCD,0xBF75, 0, 0, 0, 0, 0, 0,
+ 0,0xF063, 0, 0,0xF061,0xF067,0xC2B0,0xF065,
+0xF064,0xC2B2,0xF06A,0xC2B1, 0,0xF06B,0xF068,0xC2AE,
+0xF069,0xF062,0xC2AF,0xC2AD,0xF2AB,0xF066, 0, 0,
+0xF06C, 0, 0,0xF2A8, 0, 0, 0,0xC3B2,
+0xC3B0,0xF2AA, 0,0xF2AC,0xF2A9,0xC3B1,0xC3AE,0xC3AF,
+0xC3B3, 0, 0,0xC478, 0,0xF4AA, 0,0xF4A9,
+0xF4A7,0xF4A6,0xF4A8, 0,0xC477,0xC479, 0, 0,
+0xC4F0, 0, 0,0xF5E5,0xF5E4, 0, 0,0xF6FA,
+ 0,0xF6FC,0xF6FE,0xF6FD,0xF6FB, 0, 0,0xC5A3,
+0xC5A2, 0, 0,0xC5D3,0xC5D2,0xC5D4,0xF7ED,0xF7EC,
+ 0,0xF8FB,0xF8B8,0xF8FC,0xC658, 0,0xC659,0xF96D,
+ 0, 0,0xC67E,0xA6CC, 0,0xCDA8, 0, 0,
+0xD045,0xD046,0xD044, 0, 0,0xACF3, 0,0xD047,
+0xD048,0xD049, 0, 0,0xD349,0xD34F, 0, 0,
+0xD34D,0xAFBB,0xD34B, 0,0xD34C,0xD34E, 0, 0,
+ 0,0xD34A,0xB2C9, 0,0xD6DE,0xB2CB,0xD6E0,0xB2CA,
+0xD6DF, 0, 0, 0, 0, 0,0xDAE8,0xB5AF,
+ 0,0xDAEA,0xDAE7,0xD6E1, 0,0xB5B0, 0, 0,
+0xDAE9, 0, 0, 0, 0, 0, 0,0xDF56,
+ 0,0xB864,0xDF54,0xB865,0xDF55,0xB866, 0, 0,
+ 0,0xBAE9,0xE361,0xE35E,0xE360,0xBAEA,0xBAEB,0xE35F,
+ 0, 0, 0, 0, 0,0xE6DF, 0, 0,
+0xE6E0, 0,0xBD6B,0xE6E2,0xE6E1, 0,0xA261, 0,
+0xEACA,0xEACB,0xEAC7, 0,0xEAC8,0xBF7C,0xBF7D,0xEAC9,
+ 0,0xC157, 0, 0,0xC153,0xC158,0xC154,0xC156,
+0xC152, 0,0xC155, 0, 0, 0, 0,0xC2B3,
+0xEDCF, 0,0xF2AE, 0,0xF2AD, 0,0xF4AB,0xC47A,
+0xC47B,0xF741,0xF5E6, 0,0xF740, 0,0xF8FD,0xF9A4,
+0xA6CD, 0, 0,0xA874, 0,0xCDA9,0xAAC8, 0,
+0xACF6,0xD04C,0xACF4,0xD04A,0xACF9,0xACF5,0xACFA,0xACF8,
+0xD04B,0xACF7,0xAFBF,0xAFBE,0xD35A,0xAFC7,0xD353,0xD359,
+0xAFC3,0xD352,0xD358,0xD356,0xAFC2,0xAFC4,0xD355,0xAFBD,
+0xD354,0xAFC8,0xAFC5,0xAFC9,0xAFC6,0xD351,0xD350,0xD357,
+0xAFC0,0xAFBC,0xAFC1, 0, 0, 0, 0, 0,
+0xD6F0,0xD6E9, 0,0xB5B5,0xD6E8, 0,0xB2CF,0xB2D6,
+0xB2D3,0xB2D9,0xB2D8,0xB2D4, 0,0xD6E2,0xD6E5, 0,
+0xD6E4,0xB2D0,0xD6E6,0xD6EF,0xB2D1,0xD6E3,0xD6EC,0xD6ED,
+0xB2D2,0xD6EA,0xB2D7,0xB2CD,0xB2D5,0xD6E7,0xB2CC,0xD6EB,
+ 0, 0,0xD6EE, 0, 0, 0,0xDAFB,0xDAF2,
+0xB5B2,0xDAF9,0xDAF6,0xDAEE,0xDAF7,0xB5B4,0xDAEF, 0,
+0xDAEB, 0, 0,0xB86C,0xDAF4, 0,0xB5B1,0xDAFA,
+ 0,0xB5B8,0xB5BA,0xDAED, 0, 0,0xB5B9,0xDAF0,
+0xB5B3,0xDAF8,0xDAF1,0xDAF5, 0,0xDAF3,0xB5B6,0xDAEC,
+0xB5BB,0xB2CE,0xB5B7,0xB5BC, 0, 0, 0, 0,
+ 0,0xB868,0xDF5D,0xDF5F,0xDF61,0xDF65, 0,0xDF5B,
+0xDF59,0xB86A, 0,0xDF60,0xDF64,0xDF5C,0xDF58, 0,
+0xDF57, 0, 0, 0,0xDF62,0xDF5A,0xDF5E,0xB86B,
+ 0,0xB869,0xDF66,0xB867,0xDF63, 0,0xE372, 0,
+ 0, 0, 0, 0,0xBAEE,0xE36A,0xBD78,0xE374,
+0xBAF1,0xE378,0xBAF7,0xE365, 0, 0,0xE375,0xE362,
+ 0,0xE377,0xE366, 0,0xBAFE,0xBAFB,0xE376,0xE370,
+0xBAED,0xBAF5,0xBAF4, 0,0xBAF3,0xBAF9, 0,0xE363,
+0xBAFA,0xE371,0xBAF6,0xBAEC,0xE373,0xBAEF,0xBAF0,0xBAF8,
+0xE368,0xE367,0xE364, 0,0xE36C,0xE369,0xE36D,0xBAFD,
+ 0,0xE379,0xBAF2,0xE36E,0xE36F, 0,0xE36B, 0,
+ 0, 0,0xBAFC, 0, 0, 0, 0,0xE6E7,
+0xBD70,0xBD79,0xBD75,0xE6E4, 0,0xBD72,0xBD76,0xE6F0,
+0xBD6C,0xE6E8, 0,0xBD74, 0, 0,0xE6EB,0xE6E6,
+0xBD73,0xBD77,0xE6E5, 0,0xBD71, 0,0xE6EF,0xBD6E,
+0xE6EE,0xE6ED,0xBD7A,0xE572,0xBD6D, 0,0xE6EC,0xE6E3,
+ 0,0xBD7B,0xE6EA,0xBD6F, 0, 0, 0, 0,
+ 0, 0, 0,0xE6E9, 0, 0, 0, 0,
+0xBFA2,0xBFA7,0xBF7E,0xEAD8,0xEACF,0xEADB,0xEAD3,0xEAD9,
+0xBFA8,0xBFA1,0xEACC,0xEAD2,0xEADC,0xEAD5,0xEADA,0xEACE,
+ 0, 0,0xEAD6,0xBFA3,0xEAD4,0xBFA6,0xBFA5,0xEAD0,
+0xEAD1,0xEACD,0xEAD7,0xBFA4,0xEADE,0xEADD, 0, 0,
+ 0,0xEDDA,0xEDD6,0xC15F, 0,0xEDD0,0xC159,0xC169,
+0xEDDC,0xC161,0xC15D,0xEDD3,0xC164,0xC167,0xEDDE,0xC15C,
+0xEDD5,0xC165,0xEDE0,0xEDDD,0xEDD1,0xC160,0xC15A,0xC168,
+0xEDD8,0xC163,0xEDD2,0xC15E,0xEDDF,0xC162,0xC15B,0xEDD9,
+0xC166,0xEDD7, 0, 0,0xEDDB, 0, 0, 0,
+0xF06E,0xF074,0xC2B9,0xF077,0xC2B4,0xC2B5,0xF06F,0xF076,
+0xF071,0xC2BA,0xC2B7, 0,0xF06D, 0,0xC2B6,0xF073,
+0xF075,0xC2B8,0xF072,0xF070, 0, 0, 0, 0,
+0xF2B8,0xC3B7,0xC3B8,0xC3B4, 0,0xC3B5, 0,0xF2B4,
+0xF2B2, 0,0xF2B6,0xC3BA,0xF2B7,0xF2B0,0xF2AF,0xF2B3,
+0xF2B1,0xC3B6,0xF2B5,0xF4AC,0xC47E,0xC47D,0xF4AD, 0,
+0xF4AF,0xF4AE,0xC4A1, 0, 0, 0,0xF5EB,0xF5E8,
+0xF5E9, 0,0xF5E7,0xF5EA,0xC4F2,0xF5EC, 0,0xC4F1,
+ 0,0xF742, 0,0xC5D5,0xC5D7,0xF7EE,0xC5D6,0xF8B9,
+0xF940,0xF942,0xF8FE,0xF941,0xC66C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA6CE, 0,
+0xACFB,0xD26F,0xAFCA, 0, 0,0xB2DA,0xDAFC,0xDAFD,
+ 0, 0, 0,0xEADF,0xC16A,0xEDE1, 0, 0,
+0xC2BB, 0,0xF2BA,0xF2B9,0xC4A2,0xF5ED, 0,0xF743,
+0xC5F8,0xCA49, 0, 0,0xAAC9,0xA875, 0, 0,
+0xD04D, 0, 0,0xD360,0xD35B,0xD35F,0xD35D,0xAFCB,
+0xD35E,0xD35C, 0,0xD6F1, 0,0xDAFE,0xDB40,0xDF69,
+0xDF6A,0xB86E,0xB86F,0xDF68,0xDF6B,0xDF67,0xB86D, 0,
+0xBB40, 0,0xB870,0xE37A, 0,0xBD7C,0xE6F1,0xBD7D,
+ 0,0xBFA9,0xEAE2,0xEAE0,0xEAE1,0xEDE4,0xEDE3,0xEDE2,
+ 0, 0, 0,0xF2BB, 0,0xC3B9,0xF2BC,0xF744,
+0xC5F9,0xF8BA,0xA6CF,0xAACB,0xAACA,0xD04F,0xACFC, 0,
+ 0,0xD04E,0xD362, 0,0xAFCC,0xD6F2,0xD361, 0,
+ 0, 0,0xB2DC,0xD6F5,0xD6F3,0xD6F4,0xB2DB, 0,
+0xDB42,0xDB43,0xDB41, 0,0xB873,0xDF6D,0xDF6C,0xDF6E,
+0xB872,0xB871, 0, 0,0xE6F2,0xE6F4, 0,0xBD7E,
+0xE6F3,0xEAE3,0xBFAA,0xF079, 0,0xF078,0xC3BB,0xF2BD,
+0xC3BD,0xC3BC,0xF4B0,0xF5EE,0xC4F3,0xA6D0,0xD050,0xACFD,
+0xD365,0xAFCE,0xD364,0xD363, 0,0xAFCD, 0,0xD6FB,
+ 0,0xD6FD,0xD6F6,0xD6F7,0xB2DD,0xD6F8,0xB2DE,0xD6FC,
+0xD6F9,0xD6FA,0xB2DF, 0,0xB5BE,0xB5BF, 0,0xDB44,
+ 0, 0, 0,0xDF6F,0xDF70, 0,0xE37E,0xBB43,
+0xBB41,0xBB42,0xE37B,0xE37C, 0,0xE37D,0xE6F9, 0,
+0xE6FA,0xBDA1,0xE6F7,0xE6F6,0xE6F8,0xE6F5,0xBFAD,0xEAE4,
+0xBFAB,0xBFAC,0xEDE6,0xC16B,0xEDE5,0xEFA8, 0,0xF07A,
+0xF07B,0xC2BC, 0,0xC2BD,0xC16C,0xF2BE,0xF2BF,0xF4B1,
+0xC4A3,0xA6D1, 0,0xA6D2,0xACFE,0xAACC,0xAFCF,0xD051,
+ 0, 0, 0,0xB5C0,0xA6D3,0xAD41,0xD052,0xD053,
+0xAD40,0xAD42,0xA6D4, 0,0xD054,0xAFD1,0xD366,0xAFD3,
+0xAFD0,0xAFD2, 0,0xD741,0xB2E0, 0,0xD740,0xD6FE,
+ 0,0xDF71, 0, 0,0xE3A1, 0,0xBDA2, 0,
+0xBFAE,0xEAE6,0xEAE5, 0,0xEDE7, 0, 0, 0,
+0xF5EF, 0, 0,0xA6D5,0xCB73,0xCDAA,0xAD43,0xD055,
+ 0,0xD368, 0, 0, 0,0xAFD4,0xD367,0xAFD5,
+ 0, 0, 0,0xD743, 0, 0,0xB2E2,0xD742,
+0xD744, 0,0xB2E1, 0, 0, 0, 0,0xDB46,
+0xDB47,0xDB45,0xB5C1, 0, 0, 0,0xB874, 0,
+0xB875, 0,0xBB45, 0,0xE3A3,0xE3A2,0xBB44, 0,
+ 0, 0, 0, 0,0xE6FB, 0, 0,0xE6FC,
+ 0, 0, 0, 0,0xEAE7, 0, 0,0xC170,
+0xC16F,0xC16D,0xC16E,0xC171, 0,0xF07C,0xC2BF,0xC2BE,
+0xF2C0,0xF4B2, 0, 0, 0,0xC5A5,0xC5A4,0xA6D6,
+ 0, 0,0xD1FB, 0,0xB877,0xB5C2,0xB876,0xBB46,
+ 0,0xA6D7,0xC9A9,0xA6D8,0xA6D9, 0, 0,0xCDAB,
+0xCB76, 0,0xCB77,0xA877, 0,0xCB74,0xA876, 0,
+0xA879,0xCB75,0xA87B,0xA87A,0xCB78,0xA878, 0, 0,
+ 0,0xAAD1,0xAACF,0xCDAD, 0,0xAACE, 0, 0,
+ 0,0xAAD3,0xAAD5,0xAAD2, 0,0xCDB0,0xCDAC,0xAAD6,
+ 0,0xAAD0,0xA87C, 0,0xAAD4,0xCDAF, 0, 0,
+0xCDAE, 0,0xAACD, 0, 0, 0, 0, 0,
+ 0, 0,0xD05B,0xAD47,0xAD48,0xD05D, 0,0xD057,
+0xD05A,0xD063,0xD061, 0,0xAD49,0xD067,0xAD4C,0xD064,
+0xD05C,0xD059, 0, 0,0xDB49,0xD062,0xAD44,0xD065,
+0xD056,0xD05F,0xAD46,0xAD4B,0xD060,0xAD4F,0xAD4D, 0,
+0xD058,0xAD4A, 0,0xD05E,0xAD4E,0xAD45,0xD066, 0,
+ 0, 0, 0, 0, 0,0xAFDA, 0,0xAFE3,
+0xAFD8,0xAFD6,0xD36A,0xAFDE,0xAFDB,0xD36C, 0, 0,
+0xAFDD,0xD36B,0xD369,0xD36E,0xAFE2,0xAFE0,0xDB48, 0,
+0xD36F,0xD36D,0xAFD7, 0, 0,0xAFD9,0xAFDC, 0,
+0xAFDF, 0,0xAFE1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD74E,0xB2E4, 0,
+0xD745,0xD747, 0,0xD748, 0,0xD750,0xD74C,0xD74A,
+ 0,0xD74D,0xD751,0xB2E5,0xB2E9,0xD746, 0,0xD74F,
+ 0,0xB2E7, 0,0xB2E6,0xD74B,0xD749, 0,0xB2E3,
+0xB2E8, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xB5C8,0xDB51, 0, 0,0xDB4F,0xB5CA, 0,
+ 0, 0, 0,0xDB4A,0xDFA1, 0,0xB5C9,0xDB4E,
+ 0, 0,0xDB4B,0xB5C5,0xB5CB,0xDB50,0xB5C7,0xDB4D,
+0xBB47,0xB5C6,0xDB4C,0xB5CC,0xB5C4,0xB5C3, 0, 0,
+ 0, 0, 0,0xDF77,0xDF75, 0,0xDF7B, 0,
+0xDF73,0xDFA2,0xDF78, 0,0xDF72,0xB87B,0xB8A3,0xDF7D,
+ 0,0xDF76, 0,0xB87E, 0, 0,0xB87C,0xDF7E,
+0xB879,0xB878,0xDF79,0xB87D,0xB5CD, 0,0xDF7C,0xDF74,
+0xB87A,0xB8A1,0xB8A2, 0, 0, 0, 0,0xBB4C,
+0xBB48, 0,0xBB4D,0xE3A6, 0, 0,0xE3A5,0xE3A7,
+0xBB4A,0xE3A4,0xBB4B,0xE3AA,0xE3A9,0xE3A8, 0,0xBB49,
+ 0, 0, 0, 0, 0,0xE741, 0,0xE744,
+0xBDA8,0xE743,0xBDA7,0xBDA3,0xBDA4,0xBDA5,0xE740,0xE6FE,
+0xBDA6, 0,0xE742,0xE6FD, 0, 0,0xEAE9,0xEAF3,
+0xBFB1,0xBFB0, 0,0xEAED,0xEAEF, 0,0xEAEA, 0,
+0xEAEE,0xEAE8,0xEAF1,0xBFAF,0xEAF0,0xEAEC, 0,0xEAF2,
+ 0,0xEAEB,0xC174,0xEDE8,0xEDEE,0xC178,0xC17A,0xC177,
+0xC176, 0,0xC175,0xC173,0xEDE9,0xEDEC,0xC172,0xEDED,
+ 0,0xC179,0xEDEB, 0,0xEDEA,0xC2C0, 0,0xC2C1,
+0xF0A1,0xF07D,0xF07E, 0, 0,0xF2C2, 0,0xF2C1,
+0xC3BE,0xF4B4,0xC4A4,0xF4B3, 0,0xF5F0,0xF745,0xC5A6,
+0xF943,0xF944,0xC5D8,0xA6DA, 0,0xAAD7,0xDB52,0xBB4E,
+0xC17B,0xEDEF,0xA6DB, 0,0xAFE5,0xAFE4,0xDB53, 0,
+ 0, 0,0xEAF4,0xA6DC,0xAD50, 0, 0,0xDB54,
+0xDB55,0xDB56,0xBB4F,0xBFB2,0xA6DD, 0,0xAAD8,0xD068,
+0xAFE6,0xD370,0xB2EA, 0,0xDB57,0xB8A4, 0,0xBB50,
+0xBFB3,0xC17C,0xC2C2,0xF4B5,0xA6DE,0xAAD9, 0, 0,
+0xAFE7,0xD752,0xB5CE, 0,0xBB51,0xE3AB,0xE745, 0,
+ 0, 0, 0,0xA6DF,0xB5CF,0xDFA3,0xBB52,0xA6E0,
+0xCDB1,0xD069,0xAD51, 0, 0,0xD372, 0, 0,
+0xAFEA, 0,0xAFE8,0xAFE9,0xAFEB, 0, 0,0xD371,
+ 0, 0,0xD757,0xD754,0xD756,0xB2EB,0xB2ED,0xB2EC,
+0xD753,0xB2EE,0xD755, 0,0xDB58,0xDB59, 0,0xDB5A,
+0xDFA6, 0,0xDFA7, 0,0xDFA5,0xDFA8, 0,0xB8A5,
+ 0,0xDFA4, 0,0xBB53, 0, 0,0xE74A,0xE746,
+0xE749,0xE74B,0xE748,0xE747, 0,0xEAF5,0xEAF6,0xEAF7,
+0xBFB4,0xBFB5,0xEDF1,0xEDF0,0xEDF2, 0,0xF0A3,0xF0A2,
+ 0,0xF2C4, 0,0xF2C5,0xF2C3, 0,0xC4A5, 0,
+0xF4B6,0xF4B7, 0,0xF746,0xF7EF,0xF8BB,0xA6E1,0xA87D,
+ 0,0xC17D,0xA6E2, 0,0xD758,0xDB5B, 0,0xC641,
+0xCA4A, 0, 0, 0,0xCA4B,0xCA4D,0xA6E3,0xCA4E,
+0xCA4C, 0, 0,0xCBA2,0xCBA3,0xCB7B, 0, 0,
+ 0, 0,0xCBA1,0xA8A1, 0,0xA8A2,0xCB7C,0xCB7A,
+0xCB79,0xCB7D,0xA87E,0xCB7E,0xD06A, 0, 0, 0,
+0xCDB6,0xAADC,0xCDB5,0xCDB7, 0,0xAADB,0xCDBC,0xAADF,
+0xCDB2,0xCDC0,0xCDC6,0xAAE6,0xCDC3,0xAAE3, 0,0xCDB9,
+0xCDBF,0xCDC1, 0,0xCDB4,0xAAE2,0xAADD,0xCDBA,0xAAE4,
+0xAAE7,0xAAE1, 0,0xAADA,0xCDBE,0xCDB8,0xCDC5,0xAAE9,
+0xAAE5,0xAAE0,0xCDBD,0xAFEC,0xCDBB,0xAADE,0xAAE8, 0,
+0xCDB3, 0,0xCDC2,0xCDC4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xAD62,0xAD5C,0xAD64,0xAD61,0xD071,0xD074,0xAD5D,
+ 0,0xD06B, 0,0xAD56,0xAD60, 0,0xAD63,0xAD65,
+0xD0A2,0xD077, 0,0xAD55,0xD0A1,0xAD59,0xAD57,0xAD52,
+0xD06F, 0,0xD07E,0xD073,0xD076,0xD0A5, 0,0xAD66,
+0xD07D,0xAD5E,0xD078,0xD0A4,0xD075,0xD079,0xD07C, 0,
+ 0,0xD06D,0xD0A3,0xD07B, 0, 0,0xD06C, 0,
+0xD070,0xAD5F,0xAD5A,0xAD53,0xAD58,0xAD54,0xAD67,0xD06E,
+0xD3A5,0xAD5B, 0, 0,0xD07A,0xCE41, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD3A8,0xAFFA,
+ 0,0xD376, 0,0xD3A3,0xD37D, 0,0xD3B2, 0,
+0xD3AA, 0,0xD37E, 0,0xD3A9,0xD378,0xD37C,0xD3B5,
+0xAFFD,0xD3AD,0xD3A4,0xAFED,0xD3B3,0xD374, 0,0xD3AC,
+ 0,0xAFFC,0xAFF7,0xD373,0xAFF5,0xAFF4,0xAFF9,0xD3AB,
+0xAFF1,0xAFF8,0xD072,0xDB5C,0xD3A6, 0, 0,0xD37A,
+0xAFFB,0xD37B,0xD3A1,0xAFFE,0xD375,0xD3AF, 0,0xD3AE,
+0xD3B6,0xAFF3,0xAFF0,0xD3B4,0xD3B0,0xD3A7,0xD3A2,0xAFF6,
+0xAFF2,0xD377,0xAFEE,0xD3B1,0xAFEF, 0,0xD379, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD75E,0xD760,0xD765,0xD779,0xB2FC,
+0xB2F2, 0,0xD75D,0xB2FD,0xB2FE,0xD768,0xD76F,0xD775,
+ 0,0xD762, 0,0xD769, 0, 0,0xB340,0xD777,
+0xD772,0xB2FA,0xB2F8,0xD76E,0xD76A,0xD75C,0xB2EF,0xD761,
+0xD759, 0,0xB2F7,0xB2F9,0xD766,0xD763,0xB2F4,0xD773,
+0xB2F1,0xD764,0xD77A,0xD76C, 0,0xD76B,0xB2F0, 0,
+0xB2FB, 0,0xB2F3,0xD75A,0xD75F,0xD770,0xD776,0xB341,
+0xD75B,0xD767,0xD76D,0xB2F6, 0, 0,0xD778,0xD771,
+0xD774, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xB2F5, 0,0xDB6C,
+0xDB60,0xB5D7,0xDB7D,0xDBA7,0xDBAA,0xB5D5,0xDB68,0xDBA3,
+0xDB69,0xDB77,0xB5E2,0xDB73,0xB5DF, 0,0xDB74,0xDB5D,
+ 0,0xDBA4, 0, 0,0xB5E8,0xDBA1,0xDB75,0xDBAC,
+0xDB70,0xDFC8, 0,0xDBAF,0xB5E6,0xDB6E,0xDB7A,0xB5E9,
+0xB5D4,0xDB72,0xDBAD,0xDB6B,0xDB64,0xDB6F, 0,0xDB63,
+0xDB61,0xB5D0,0xDBA5,0xDB6A,0xDBA8, 0,0xDBA9,0xB5D8,
+0xB5DD,0xB5D9,0xB5E1,0xDB7E,0xB5DA,0xDB76,0xDB66, 0,
+0xB5D2,0xDB5E,0xDBA2,0xDBAB,0xDB65,0xB5E0,0xDBB0,0xDB71,
+ 0,0xDB6D, 0,0xB5D1,0xB5E5, 0,0xDB7C,0xB5E7,
+ 0,0xDB78,0xB5DC,0xB5D6,0xB5DE,0xB5D3,0xB5E4,0xDB79,
+0xDB67,0xDB7B,0xDB62,0xDBA6, 0, 0, 0, 0,
+ 0, 0, 0,0xDBAE, 0, 0, 0, 0,
+ 0, 0, 0,0xDB5F, 0, 0, 0, 0,
+ 0,0xDFC7, 0,0xDFDD,0xB855,0xDFCC, 0,0xDFCA,
+0xDFB5,0xB8A9,0xDFC5,0xDFD9,0xDFC1,0xB8B1,0xDFD8,0xDFBF,
+0xB5E3,0xDFCF,0xDFC0,0xDFD6,0xB8B0,0xB8A8, 0,0xDFAA,
+0xDFB2, 0,0xDFCB,0xDFC3,0xDFDC,0xDFC6,0xB8B6,0xDFD7,
+ 0,0xB8AD, 0,0xDFC9,0xDFD1,0xDFB6,0xDFD0, 0,
+0xDFE1,0xDFB1,0xDFD2, 0,0xDFDF, 0,0xDFAB,0xB5DB,
+ 0,0xDFB9,0xDFB8,0xB8AF, 0,0xDFBC,0xDFBE,0xDFCD,
+0xDFDE,0xB8B2, 0,0xB8B3, 0,0xDFB0,0xB8AB,0xDFB4,
+0xDFDA,0xB8B4, 0,0xB8AC,0xB8AE,0xB8B5,0xDFE0,0xDFD3,
+0xDFCE, 0, 0,0xDFBB,0xDFBA,0xB8AA,0xDFAC,0xB8A7,
+0xDFC4,0xDFAD,0xDFC2, 0, 0,0xDFB7,0xDFDB, 0,
+ 0, 0,0xB8A6, 0, 0, 0,0xDFB3, 0,
+ 0, 0, 0, 0, 0,0xDFAF,0xDFD5,0xDFAE,
+0xBB60,0xE3D3, 0, 0,0xE3C2, 0, 0,0xE3AC,
+0xE3CA,0xBB58,0xE3BB,0xE3C5,0xBB5B,0xE3BE,0xBB59,0xE3AF,
+0xE3CD,0xE3AE,0xE3C1, 0,0xE3AD, 0, 0,0xE3BF,
+0xE3C8,0xE3C6,0xE3BA,0xE3B5,0xE3B3, 0,0xE3B4,0xE3C7,
+0xE3D2,0xE3BC,0xBB5A, 0,0xE3B7, 0,0xE3CB, 0,
+0xBB5D,0xE3B6,0xE3B0,0xE3C0,0xBB61, 0, 0,0xBB55,
+0xBB5E,0xE3B8,0xE3B2, 0,0xBB57,0xDFD4,0xBB56,0xE3C3,
+ 0,0xBB54,0xBB63,0xBB5C,0xE3C4,0xE3B9,0xE3B1,0xE3CC,
+0xE3BD,0xBB62,0xE3D0,0xBB5F,0xE3CF, 0,0xE3C9,0xE3CE,
+ 0, 0, 0,0xE3D1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE773,
+0xE774,0xE767,0xE766,0xE762,0xBDB4, 0,0xBDAC,0xE776,
+0xE775,0xDFA9,0xE75F,0xE763,0xE75D, 0,0xE770,0xE761,
+ 0,0xE777,0xE75A,0xE758,0xE764,0xE76E,0xE769,0xBDB6,
+0xE74F, 0,0xE76D, 0, 0, 0,0xBDB7,0xDFBD,
+0xE75B,0xE752,0xE755,0xE77B,0xE75C,0xE753,0xE751,0xE74E,
+ 0,0xBDB0,0xE765,0xBDAF,0xBDB3,0xE760,0xE768,0xBDA9,
+0xE778,0xE77C,0xBDAB, 0,0xE757,0xE76B,0xE76F,0xE754,
+0xE779,0xBDB2, 0,0xBDB1,0xE74C,0xBDB5,0xE772,0xE756,
+0xE76A,0xE750,0xE75E,0xE759,0xBDAD,0xBDAE,0xE76C,0xE77D,
+0xE77A,0xE771, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE74D, 0,0xBDAA,0xEB49, 0,
+0xEB40,0xEB43, 0,0xBFBB,0xEB45,0xEAF9,0xEB41,0xEB47,
+0xBFB8,0xBFBC,0xBFB6, 0, 0,0xEAFB,0xEB4C, 0,
+ 0,0xEB46, 0,0xEAFC,0xEB55,0xEB4F,0xEAF8,0xEE46,
+0xEAFE,0xBFB7, 0,0xEB4A, 0,0xEB54,0xBFBF, 0,
+0xEB51,0xEAFD,0xEB44,0xEB48,0xEB42,0xEB56,0xEB53,0xEB50,
+0xBFB9,0xBFBA,0xBFBE,0xEAFA,0xEB57,0xBFBD,0xEB4D, 0,
+ 0,0xEB4B, 0, 0, 0,0xEB4E,0xEE53,0xEE40,
+0xEE45,0xEE52,0xEE44,0xEDFB,0xEE41, 0,0xC1A2, 0,
+0xEDF4,0xEE4D,0xEE4F,0xEDF3,0xC1A1,0xEE51,0xEE49,0xC1A8,
+0xEE50,0xEE42,0xC1AA,0xEDF9,0xEB52,0xEE4A,0xEE47,0xEDF5,
+0xEE55,0xC1A4, 0, 0,0xC1A5,0xEDF7,0xEE48, 0,
+0xEE54,0xEE4B,0xEDFD,0xC1A7,0xC1A3,0xEE4C,0xEDFE,0xEE56,
+0xEDF8,0xEE43,0xEE4E,0xEDFA,0xEDFC, 0,0xC2CB,0xEDF6,
+0xC1A9,0xC2C4,0xC17E, 0, 0, 0, 0,0xC1A6,
+0xC2C8,0xF0B3, 0,0xF0A9,0xF0A4,0xF0AA,0xF0B4,0xF0B8,
+0xF0B7,0xC2CA,0xC2C9, 0, 0,0xF0AB,0xF0B9,0xF0AE,
+0xF0A6, 0,0xF0A8,0xF0A7,0xF0AD,0xF0B2,0xF0A5,0xF0AC,
+0xF0B1,0xC2C7, 0,0xF0AF, 0,0xC2C5,0xF0B0,0xC2C3,
+0xC2C6,0xF2D5,0xF0B5, 0, 0,0xC3C2, 0,0xF2CD,
+0xF2D1,0xF2C9,0xF2CC, 0,0xF2D4,0xC3C0,0xF2D9,0xF2D2,
+ 0,0xF2CA,0xF2DA,0xF2D3,0xC3C3,0xC3C4,0xF2D7, 0,
+0xF2CB,0xC3BF,0xC3C1,0xF2C6,0xF2CE,0xF2C8, 0,0xF2D8,
+0xF2D6,0xF2C7,0xF2CF, 0, 0, 0,0xF4BE,0xC3C5,
+0xF2D0,0xC4A7,0xC4A9,0xC4A6, 0,0xF4C3,0xF4BB,0xF4B9,
+0xF4BD,0xF4BA, 0, 0,0xF4BF,0xF4C1,0xC4AA,0xC4AC,
+ 0,0xF4C0,0xC4AD,0xC4AB,0xF4C2, 0, 0, 0,
+ 0,0xC4A8, 0, 0, 0, 0, 0,0xC4F4,
+0xF5F1,0xF5F7,0xC4F6,0xF4BC,0xF5F6, 0,0xF5FD,0xF5F4,
+0xF5FB,0xF5FA,0xF4B8,0xF5F5,0xF0B6,0xF5FE,0xF5F3,0xF5F8,
+ 0,0xF5FC,0xF5F2, 0,0xF74A,0xC4F5,0xF5F9, 0,
+ 0,0xF7F4,0xF74B,0xF749,0xF747,0xF748,0xF74C, 0,
+0xC5D9,0xF7F2,0xF7F0,0xF7F5,0xF7F3, 0,0xF7F6,0xC5DA,
+0xF7F1, 0, 0,0xF8BC, 0, 0,0xF945,0xF946,
+0xF947, 0, 0,0xF9C7,0xF9BD,0xCA4F,0xAAEA, 0,
+0xAD68, 0,0xD3B8,0xD3B7,0xB040,0xB342,0xD77C, 0,
+ 0,0xD77B, 0,0xB5EA,0xB8B8, 0,0xB8B7,0xB8B9,
+ 0,0xE3D4,0xE77E,0xEB58,0xEB5A,0xEB59, 0,0xC1AB,
+0xEE57,0xF0BA,0xF9A5,0xA6E4, 0,0xCDC9,0xCDCA,0xCDC8,
+0xCDC7,0xAAEB, 0,0xD0A9,0xD0A7, 0, 0,0xD0A6,
+ 0,0xAD69,0xAD6B,0xAD6A,0xD0A8, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD3C4,0xD3C1,0xD3BF,
+ 0, 0,0xB041,0xD3C2,0xB046,0xD3BC,0xD3CB, 0,
+0xD3CD,0xD3BD, 0,0xB043,0xD3CE,0xD3C9,0xD3BB,0xD3C0,
+0xD3CA,0xD3C6,0xD3C3, 0,0xB048,0xD3CC,0xD3BE, 0,
+ 0,0xD3C7,0xD3B9,0xB047,0xB044,0xD3C5, 0,0xD3C8,
+0xD3BA,0xB045,0xB042, 0, 0, 0, 0,0xB34C,
+0xD7A5,0xB34B, 0,0xD7A8,0xD7AB,0xB348,0xB346,0xD77E,
+0xD7A9,0xD7A7,0xD7A4,0xD7AC,0xD7AD,0xD7AF,0xD7B0,0xD77D,
+0xB345,0xD7A2,0xD7A1,0xD7AE,0xB347,0xD7A3,0xB349,0xB344,
+0xD7A6,0xB34D, 0,0xB34A,0xD7AA, 0, 0, 0,
+0xB5F1,0xDBBF, 0,0xDBB4,0xB5EE, 0,0xDFE7,0xDBBD,
+0xDBB1,0xB5EC,0xDBB6,0xB5EF,0xDBBA,0xDBB8,0xB5F2,0xB5EB,
+ 0, 0,0xDBB2,0xDBB5,0xB5F0, 0,0xDBB3, 0,
+0xDBBE,0xDBBC,0xDBB7,0xDBB9,0xDBBB,0xB5ED, 0, 0,
+ 0, 0, 0, 0, 0,0xDFE8,0xDFEE,0xDFE4,
+0xDFEA,0xB8BA,0xDFE6,0xB8C0, 0, 0,0xB8BF, 0,
+0xB8BE,0xDFED,0xB8C1,0xB8C2,0xDFE3,0xDFF0,0xB8C3,0xB8BD,
+0xB8BC,0xDFEC,0xB8C4,0xDFE2,0xDFE5,0xDFEF,0xDFEB, 0,
+ 0,0xE3F4,0xE3E9,0xB8BB, 0, 0, 0, 0,
+0xBB6A,0xE3DD,0xE3F2,0xE3DE,0xBB65, 0,0xE3DB, 0,
+0xE3E4,0xE3DC,0xBB67,0xE3D6,0xE3F1,0xBB68,0xE3EE,0xE3EF,
+0xE3D7,0xBB6D,0xE3E6, 0,0xE3E0,0xE3E7,0xE3DA, 0,
+0xE3F3,0xE3EB,0xE3E5,0xE3D5,0xBB69,0xE3EC, 0,0xBB6C,
+0xE3F0, 0,0xE3EA,0xBB66,0xE3E8, 0,0xE3E2,0xBB64,
+0xE3D9,0xE3E1,0xE3ED,0xE3DF, 0, 0,0xE3E3, 0,
+ 0, 0, 0, 0,0xBDC1,0xDFE9,0xE7B2,0xE7BB,
+0xE7B1,0xE7AD,0xE7AA,0xBDC2,0xE7A8,0xBB6B,0xE7A1,0xBDC0,
+0xE7A7,0xBDBF,0xE7AC,0xE7A9,0xE7B9,0xE7B4,0xE7AE,0xE7B3,
+0xBDBB,0xE7AB,0xE7BE,0xE7A2,0xE7A3,0xE7BA,0xBDBC,0xE7BF,
+0xBDBE,0xE7C0,0xE7B0,0xE3D8,0xE7B6,0xE7AF,0xE7B8,0xE7B5,
+ 0, 0, 0,0xE7A6,0xBDB9,0xE7BD,0xBDBA,0xE7A4,
+0xBDBD,0xEB64,0xE7B7,0xE7BC, 0, 0, 0, 0,
+ 0,0xEB61,0xBDB8,0xBFC0,0xEB6B,0xEB67, 0,0xEB65,
+0xEB60,0xEB6F, 0, 0, 0,0xBFC4, 0,0xEB5C,
+0xEB68,0xEB69,0xEB5F,0xEB5E,0xEB6C, 0,0xEB62,0xEB5D,
+0xEB63, 0,0xEB6E,0xEB5B,0xEB6D,0xEB6A,0xBFC2,0xBFC1,
+ 0, 0,0xBFC3,0xEB66,0xF0CB, 0, 0, 0,
+ 0, 0,0xEE59,0xC1B1,0xEE5D,0xEE5A,0xEE61,0xEE67,
+0xEE5C, 0,0xEE70,0xC1AE,0xEE6A,0xEE5F,0xEE6B,0xEE66,
+0xEE6D,0xEE5E,0xC1B3,0xC1B2,0xEE60,0xEE6E,0xEE58,0xEE6C,
+0xC1AC, 0,0xEE64,0xEE63,0xEE68,0xEE5B,0xC1B0, 0,
+0xC1B4,0xEE62,0xEE69,0xC1B5,0xEE65, 0, 0, 0,
+ 0,0xC1AD,0xC1AF,0xF0C7,0xF0C5, 0, 0,0xF0CC,
+0xF0C9,0xF0CD, 0,0xF0BE,0xF0C6,0xF0D1,0xEE6F,0xF0C2,
+0xC2CF,0xE7A5,0xF0BD,0xF0CA,0xF0C4,0xF0C1,0xF0BC,0xF0BB,
+0xF0D0, 0,0xF0C0,0xF0BF,0xC2CD,0xF0C8, 0,0xC2CC,
+ 0, 0,0xC2CE,0xF0C3,0xF0CF, 0,0xF2DE,0xF2DF,
+ 0,0xC3C9,0xF2DC,0xC3C6,0xF2E4, 0,0xC3CA,0xF2E6,
+0xF2DB,0xF0CE,0xF2E8,0xF2DD, 0,0xC3C7,0xF2E3, 0,
+0xF2E5,0xF2E0,0xF2E7,0xF2E2,0xF2E1,0xC3C8, 0, 0,
+0xF4C5,0xF4C6, 0,0xF4C8,0xC4AE,0xC4AF,0xF4C9,0xF4C7,
+ 0,0xF4C4, 0,0xF642,0xF645,0xF641, 0,0xC4FA,
+0xF643,0xC4F9,0xC4F8,0xC4F7,0xF644,0xF751,0xF74F, 0,
+0xF74E,0xF640,0xF750,0xF646,0xF74D, 0,0xF7F9,0xF7D7,
+0xF7F7,0xC5DB,0xF7F8,0xF7FA, 0,0xF8BF,0xC5FA,0xF8BE,
+0xF8BD,0xC5FB, 0,0xC65A,0xF96E,0xF9A7,0xF9A6,0xF9A8,
+0xA6E5,0xD0AA, 0,0xD3CF,0xD3D0, 0, 0, 0,
+0xDBC0, 0,0xF647,0xF8C0,0xA6E6,0xAD6C,0xD0AB, 0,
+ 0, 0,0xD7B1,0xB34E, 0,0xDBC2,0xDBC1,0xB5F3,
+ 0,0xB8C5,0xE7C1,0xBDC3, 0,0xBDC4, 0, 0,
+ 0,0xBFC5,0xC5FC,0xA6E7, 0, 0, 0,0xD0AC,
+0xAAED,0xD0AE,0xD0AD,0xAD6D, 0,0xD3D1, 0,0xD3D8,
+0xB049,0xD3D6,0xD3D4, 0,0xD3DB,0xD3D2,0xD3D3,0xB04A,
+ 0,0xB04E, 0, 0,0xD3DC,0xB04D,0xD3DA,0xD3D7,
+0xD3D5,0xB04B,0xB04C,0xD3D9, 0, 0, 0, 0,
+0xB350,0xD7B2, 0,0xB355,0xD7C2,0xB354,0xD7C4, 0,
+ 0,0xD7B8,0xB352,0xD7C3, 0,0xD7B3,0xB353,0xD7BF,
+0xD7BB,0xD7BD,0xD7B7,0xD7BE, 0, 0,0xB34F,0xD7BA,
+ 0,0xD7B9,0xD7B5, 0,0xD7C0, 0, 0,0xD7BC,
+0xD7B4, 0,0xD7B6,0xB351,0xD7C1, 0, 0, 0,
+ 0,0xB5F6,0xDBCD, 0, 0, 0,0xDBC9,0xDBCB,
+0xDBC6,0xDBC5,0xDBC3, 0,0xDBCA,0xDBCC,0xDBC8, 0,
+0xDBC7,0xB5F4,0xB5F5, 0, 0, 0, 0, 0,
+ 0,0xDBCF,0xB8CD,0xDFF2,0xDFF8,0xDFF3,0xDFF4, 0,
+0xDFF9, 0,0xB8CF, 0,0xB8C7,0xB8CE,0xDFF1,0xDBC4,
+0xB8CA,0xB8C8,0xDFF7,0xDFF6,0xB8C9,0xB8CB,0xDFF5,0xB8C6,
+ 0,0xB8CC, 0, 0, 0, 0, 0,0xE3F6,
+0xBB74, 0, 0,0xE442,0xE441, 0,0xE3FB,0xBB76,
+0xE440,0xE3F7,0xE3F8,0xBB6E,0xBB70, 0,0xE3FD,0xE3F5,
+0xBB72,0xBB71,0xE3F9,0xE3FE,0xE3FC,0xBB73,0xE3FA, 0,
+ 0,0xDBCE,0xBB6F, 0, 0,0xE7C2,0xE7C9,0xBDC6,
+ 0,0xE7CD,0xBDCA,0xE7C5,0xE7C3, 0,0xE7CC, 0,
+0xBDC5,0xE7CB,0xBDC7,0xBDC8,0xE7C4,0xBDC9,0xE7CA,0xE7C6,
+0xE7C7,0xE7C8,0xBB75, 0, 0, 0,0xEB70,0xEB7C,
+ 0,0xBFCA,0xEB77,0xEB79, 0,0xBFC8,0xEB71,0xEB75,
+ 0,0xEB78,0xBFC6,0xBFC9,0xEB7B,0xEB73,0xEB74,0xEB7A,
+0xEB72,0xEB76,0xBFC7,0xEE72, 0,0xEE71,0xC1B7,0xEE77,
+0xC1B9, 0, 0,0xC1B6,0xEE73,0xC1BA,0xEE74, 0,
+ 0,0xEE75,0xEE78, 0,0xC1B8, 0,0xF0D6, 0,
+ 0,0xF0D9, 0,0xF0D3,0xF0D5, 0, 0,0xF0D4,
+0xF0D7,0xF0D8,0xEE76,0xF0D2, 0, 0,0xC3CD,0xF2EC,
+0xF2EF,0xF2F1,0xF2EA,0xF2EB,0xF2EE,0xF2F0,0xC3CE,0xC3CC,
+0xC3CB,0xF2ED,0xF2E9,0xF4CA,0xC4B0, 0,0xF4CB, 0,
+ 0,0xF649,0xC4FB,0xF64B,0xC4FC,0xF648,0xF64A,0xC5A8,
+ 0,0xF752,0xC5A7,0xF7FD,0xF7FC, 0,0xF7FB, 0,
+ 0,0xF948,0xF949,0xF94B,0xF94A, 0,0xCA50,0xA6E8,
+ 0,0xAD6E,0xD7C5,0xB5F7, 0,0xDFFA,0xC2D0, 0,
+0xF2F2, 0, 0,0xA8A3, 0, 0, 0,0xB357,
+ 0, 0, 0,0xB356, 0,0xDBD0,0xB5F8,0xDBD2,
+0xDBD1, 0, 0,0xDFFB,0xB8D0,0xE443,0xE446,0xE445,
+ 0,0xE444,0xE7CE,0xE7D0,0xE7CF, 0,0xBFCC, 0,
+ 0, 0,0xBFCB, 0,0xC1BB,0xEE79,0xEE7B,0xEE7A,
+ 0, 0,0xC2D1, 0, 0, 0,0xF2F4,0xF2F3,
+ 0,0xF4CC,0xC4B1, 0, 0,0xC4FD,0xF754,0xF753,
+0xC65B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA8A4,0xD0AF,0xAD6F,0xD7C8,0xD7C6, 0,
+ 0,0xD7C7,0xDBD4,0xDBD5,0xE043,0xDBD3, 0,0xDFFC,
+0xE041,0xE040,0xE042,0xB8D1,0xDFFE,0xDFFD,0xE044, 0,
+0xE449,0xE447, 0,0xE448,0xE7D3,0xE7D1, 0, 0,
+0xE7D2,0xEB7D,0xEE7C,0xEE7D,0xC2D2, 0,0xF2F5,0xF4CD,
+0xC4B2, 0,0xF64C,0xF755,0xC5A9, 0,0xF7FE,0xF94C,
+0xA8A5, 0,0xAD71,0xAD72,0xD0B0, 0, 0,0xD0B1,
+0xAD70, 0,0xB054, 0,0xB052, 0,0xB051,0xB058,
+0xB050,0xB059,0xD3DD,0xB056, 0,0xB053,0xB057,0xB055,
+0xB04F, 0, 0,0xB35F, 0,0xB359,0xD7CC,0xB35E,
+ 0, 0,0xB360,0xB35A, 0,0xB35B, 0,0xD7CA,
+ 0, 0,0xB358, 0,0xD7CB,0xB35D, 0, 0,
+0xD7C9,0xB35C, 0, 0,0xB644, 0,0xB646, 0,
+ 0,0xDBD8,0xB645,0xB5F9,0xB5FD, 0,0xB8E4,0xE049,
+0xDBDA,0xB5FE, 0, 0,0xDBDD,0xDBDE,0xB643, 0,
+0xDBE0, 0,0xDBE2, 0,0xDBE3,0xDBD7,0xDBD6,0xDBE4,
+0xB642,0xDBE1,0xDBDF, 0,0xB640,0xB5FB,0xB647,0xDBDB,
+0xDBDC,0xDBD9, 0,0xB641, 0, 0,0xB5FC, 0,
+0xB5FA,0xE048,0xB8DF,0xB8DA, 0, 0,0xB8D5, 0,
+0xB8E5,0xB8D6, 0,0xB8D2,0xB8E1,0xB8DE,0xB8E0, 0,
+0xB8D7,0xB8DC,0xB8D3,0xB8D4,0xE050,0xE04D,0xE045,0xE04A,
+ 0,0xB8E2,0xE051,0xB8E3,0xB8D9, 0, 0,0xE047,
+ 0,0xE04F,0xE04B,0xE04E,0xE04C,0xB8DD,0xE046,0xB8D8,
+ 0, 0, 0,0xE44C,0xBB78,0xBB7B, 0,0xE44E,
+ 0,0xBBA5,0xE44D,0xBB7D, 0,0xBDCF,0xE44F, 0,
+0xBBA4,0xE44B,0xBBA6, 0, 0, 0,0xBB79, 0,
+0xB8DB,0xBB7C, 0,0xBB7A,0xBB7E,0xBBA2,0xBB77,0xBBA7,
+0xBBA3, 0,0xBBA1,0xE44A, 0, 0, 0, 0,
+0xBDD6, 0,0xBDD2, 0, 0, 0,0xBDD9, 0,
+0xE7D6,0xBDDA,0xE7E2,0xE7DB,0xBDCB,0xE7E3,0xE7DD,0xBDD5,
+0xE7DE, 0,0xBDD4,0xE7E1,0xBDCE,0xE7DF,0xE7D5,0xBDCD,
+0xEBAA,0xBDD3, 0,0xBDD0, 0,0xBDD8, 0,0xE7D4,
+ 0,0xE7D8,0xBDCC,0xE7D7,0xE7D9,0xE7DA,0xBDD7,0xE7DC,
+0xE7E0,0xE7E4, 0,0xBDDB,0xBFD2,0xEBA5,0xEBAB,0xEBA8,
+0xEB7E,0xEBAC,0xEBA1, 0,0xEBA7, 0,0xBFCD,0xBFD3,
+0xEBAD, 0, 0,0xBFCF, 0,0xBFD9,0xBFD4,0xEBAF,
+0xEBA9,0xBFD0,0xEBA2,0xBFDA,0xEBA3,0xEBA4,0xBFDB,0xBFD8,
+0xBDD1, 0,0xBFCE,0xEBB0,0xBFDC, 0,0xBFD5,0xEBAE,
+0xBFD1,0xBFD6,0xBFD7, 0,0xC1C3,0xEEA4,0xEEAD,0xEEAA,
+0xEEAC, 0,0xC1C0,0xEEA5, 0,0xEEAB,0xC1BC,0xEEA7,
+0xC1C4,0xEEA3,0xEEA8,0xEEAF,0xEBA6,0xEEA9,0xEEA2,0xC1BD,
+0xEEA1,0xC1BE,0xEEB0,0xC1BF,0xEEAE,0xC1C2,0xEE7E, 0,
+0xC1C1, 0,0xEEA6,0xF0DC,0xF0EA,0xF0E5,0xF0E7,0xF0DB,
+0xC2D3, 0,0xF0DA,0xC2D6,0xC2D5, 0,0xF0E9,0xF0E1,
+0xF0DE,0xF0E4, 0,0xF0DD, 0,0xF0DF,0xF0E8,0xF0E6,
+ 0,0xC2D4,0xF0ED,0xF0EB,0xF0E2,0xF0EC,0xF0E3, 0,
+0xF2F9,0xC3CF,0xF341, 0, 0,0xF64F,0xC3D6,0xF0E0,
+0xF2F7,0xC3D2,0xF2F8,0xF2FD, 0, 0,0xC3D4,0xC3D5,
+0xF2F6,0xF340,0xF342,0xF2FA,0xF2FC,0xF2FE,0xF2FB,0xF343,
+0xC3D1,0xC3D7,0xC3D3, 0,0xC3D0,0xF4D0, 0,0xC4B7,
+0xF4CE, 0, 0,0xF4D2, 0,0xF4D3,0xC4B5,0xF4D4,
+0xF4D1, 0,0xF4CF,0xC4B8,0xC4B4,0xF4D5, 0,0xC4B6,
+0xC4B3, 0, 0, 0,0xC4FE, 0, 0,0xC540,
+0xF64E,0xF64D,0xF650,0xF651, 0,0xC541,0xF756,0xF75B,
+0xC5AA, 0,0xF758, 0,0xF757,0xF75A,0xF759, 0,
+0xF843, 0,0xC5DC,0xF842,0xF840, 0,0xF841, 0,
+ 0, 0,0xC5FE,0xC5FD,0xF8C1,0xF8C2,0xC640, 0,
+0xF94D,0xF94E,0xC667, 0,0xC66D, 0,0xF9A9,0xF9C8,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA8A6,
+ 0,0xD7CD, 0,0xD7CE,0xE052,0xE450,0xE7E5,0xC1C6,
+ 0,0xC1C5,0xF0EE,0xF344, 0,0xF844,0xA8A7,0xD3DE,
+0xB05A,0xB361,0xE054,0xE053,0xBDDC,0xE7E6,0xBDDD,0xEEB1,
+0xC2D7, 0, 0, 0,0xC676,0xA8A8,0xCDCB,0xD3DF,
+ 0, 0,0xB362, 0,0xD7CF,0xD7D0, 0,0xDBE5,
+ 0,0xB648,0xB8E6, 0,0xE056,0xE055,0xE057, 0,
+0xE451,0xE452,0xBBA8,0xBFDD,0xBDDE,0xBFDE, 0,0xEEB5,
+0xEEB2,0xEEB4,0xEEB3,0xC1C7, 0,0xF0EF,0xF346,0xF345,
+0xCBA4,0xB05C,0xB05B,0xD3E0, 0,0xD7D1, 0, 0,
+0xDBE7,0xDBE6,0xB649, 0,0xE059,0xE05A,0xE058, 0,
+ 0,0xB8E8,0xB8E7, 0,0xBBAA,0xBBA9, 0,0xE7E7,
+0xEBB3,0xEBB1,0xEBB2,0xBFDF,0xEEB7,0xEEB6, 0,0xF0F2,
+0xF0F1,0xF0F0,0xF347, 0,0xF9AA,0xA8A9,0xAD73, 0,
+0xAD74,0xB05D,0xB05E,0xD3E2,0xD3E1,0xD7D2, 0,0xB368,
+0xB366,0xB363,0xB367,0xB365,0xB364, 0, 0,0xB64A,
+0xDBEA, 0,0xB8ED,0xB64C,0xB651,0xDBEC,0xB653,0xB652,
+0xB655,0xDBEB,0xDBE8,0xB64F,0xB64B,0xB64D,0xDBE9,0xB654,
+0xB650,0xB64E,0xB8EF,0xB8EE,0xB8EC,0xB8F0, 0,0xB8EA,
+0xB8EB, 0,0xB8E9, 0,0xE05B, 0, 0,0xE454,
+ 0,0xBBAC,0xBBAD,0xBBAB, 0,0xE453, 0,0xE455,
+ 0,0xE7EA,0xE7EC, 0,0xBDE7,0xE7ED,0xBDE0,0xE7E9,
+0xBDDF,0xBDE9,0xBDE5,0xBDE6,0xBDE2,0xE7E8,0xBDE1,0xE7EE,
+0xE7EB, 0,0xBDE8, 0,0xBDE3,0xBDE4,0xEBB5, 0,
+0xEBB7,0xEBB6, 0,0xEBB8,0xBFE0,0xEBB4, 0, 0,
+0xC1CB,0xEEB8,0xC1C8,0xC1CC,0xC1CA,0xC1C9,0xF0F3, 0,
+0xF0F6, 0,0xF0F5, 0,0xF0F4,0xC2D8,0xF348,0xF349,
+0xC3D8,0xF34A,0xC3D9, 0, 0,0xC4BA, 0,0xC4B9,
+0xF652, 0, 0,0xC542,0xF653,0xF75C,0xC5AB,0xC5AC,
+ 0,0xF845, 0,0xC642, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA8AA, 0,0xB36A,0xB369,
+0xE05C,0xE05D, 0,0xBBAE,0xEBB9,0xBDEA,0xEBBA,0xEEB9,
+0xA8AB, 0,0xD0B2,0xAD76,0xAD75, 0,0xD3E3,0xB05F,
+0xD3E4,0xD7D5, 0,0xD7D4, 0,0xD7D3, 0, 0,
+0xDBEE,0xB658, 0, 0,0xDBED,0xB657, 0, 0,
+ 0,0xDBEF,0xB656, 0,0xE05F,0xE062,0xE060,0xE061,
+0xE065,0xE05E,0xE066,0xE063,0xE064,0xBBB0,0xE456, 0,
+ 0,0xBBAF, 0,0xE7F2,0xE7F0, 0, 0,0xBDEB,
+0xE7EF,0xE7F1, 0,0xBDEC, 0,0xEBBB, 0,0xEBBC,
+0xC1CD, 0,0xF34C,0xF34E,0xF34B,0xF34D,0xF4D6,0xF654,
+ 0, 0,0xF96F,0xA8AC,0xAD77,0xD3E5,0xD3E7,0xD3E6,
+ 0,0xD7D8,0xB36C, 0,0xD7D6, 0,0xB36B,0xD7D9,
+ 0,0xD7DA,0xD7D7, 0, 0,0xDBFB,0xB660,0xDBF3,
+0xDBF9, 0, 0,0xB65B,0xB65E,0xDBF2,0xB659,0xDBF6,
+0xE06C,0xB65D, 0,0xDBF1, 0,0xDBF7,0xDBF4,0xDBFA,
+0xDBF0,0xDBF8,0xB65C,0xB65F,0xDBF5,0xB65A, 0,0xB8F2,
+0xE068,0xB8F1,0xE06F,0xE06E,0xB8F8, 0,0xB8F9,0xE070,
+0xB8F3,0xE06D,0xB8F7,0xE072,0xE069, 0,0xE06B,0xB8F4,
+0xE067,0xE06A,0xE071,0xB8F5,0xE073, 0, 0, 0,
+ 0, 0,0xB8F6, 0,0xBBB1,0xE45B,0xE461,0xE459,
+0xE462, 0,0xE458,0xE45D,0xE463,0xE460,0xE45F,0xE45E,
+ 0,0xE457,0xE45C, 0, 0,0xE45A, 0,0xBDF1,
+0xBDEE,0xE7FB,0xE841,0xE843,0xE840,0xE7F8,0xE7FA,0xE845,
+0xE842,0xE7FC,0xE846,0xE7F9,0xE844,0xBDEF,0xBDF5,0xBDF3,
+0xE7F3,0xBDF4,0xBDF0,0xE7F4,0xE7F6,0xE7F5,0xE7FD,0xE7FE,
+ 0,0xBDF2, 0,0xBDED, 0, 0,0xE7F7, 0,
+0xEBC6,0xBFE2, 0,0xEBBD,0xBFE3,0xBFE6,0xEBC2, 0,
+0xEBBF,0xBFE5, 0, 0,0xEBC3,0xEBC4,0xEBBE,0xEBC7,
+0xEBC0,0xEBC5,0xBFE4, 0,0xBFE1,0xEBC1, 0,0xEEBF,
+0xC1D0,0xC1CE,0xC1D1,0xC1CF,0xEEBE,0xEEBB,0xEEBA, 0,
+0xEEBD, 0, 0,0xEEBC,0xF145,0xC2DE,0xF0FB,0xF0FA,
+ 0,0xC2D9,0xF141,0xF140,0xF0F7,0xF143,0xF0FC,0xC2DD,
+0xF0F9,0xF142,0xF0F8,0xC2DA,0xC2DC,0xF0FD,0xC2DB,0xF0FE,
+ 0,0xF144,0xF352, 0,0xC3DE,0xF34F, 0,0xF353,
+ 0, 0,0xC3DB,0xF351,0xC3E0, 0,0xC3DD, 0,
+0xF350, 0,0xC3DF,0xF354,0xC3DA, 0, 0, 0,
+ 0,0xC4BC,0xC4BE, 0,0xF4D9,0xC4BD,0xF4D7,0xC3DC,
+0xF4D8,0xC4BB,0xC543,0xC545,0xF656,0xC544,0xF655, 0,
+0xF761,0xC5AD,0xF760,0xC5AE,0xF75E,0xF75D,0xF762,0xF763,
+0xF846, 0,0xF75F, 0, 0,0xF8C6,0xF8C3,0xF8C4,
+0xF8C5,0xC65C, 0,0xF951,0xF950,0xF94F,0xF970, 0,
+0xF9BE,0xF9AB,0xC66E,0xA8AD,0xB060, 0, 0, 0,
+ 0, 0,0xB8FA, 0, 0, 0, 0, 0,
+ 0, 0,0xBDF6, 0, 0,0xEBC8, 0, 0,
+0xC2DF, 0,0xF355, 0, 0, 0, 0, 0,
+ 0,0xF9AC,0xA8AE,0xAAEE,0xAD79,0xAD78, 0,0xB063,
+ 0,0xD3E8,0xB061,0xD3E9,0xB062, 0, 0,0xD7DF,
+0xD7DB, 0, 0,0xB36D,0xD7DE,0xD7DD,0xD7DC,0xB36E,
+0xD7E0,0xD7E1, 0, 0, 0,0xDC43,0xDC41,0xDC45,
+0xDC46,0xDC4C, 0,0xDC48,0xDC4A, 0,0xDC42,0xDBFC,
+ 0,0xDC49, 0, 0,0xDC4B,0xDC44,0xDC47,0xDBFD,
+0xB662,0xDC40,0xDBFE,0xB661,0xB663, 0,0xB8FD,0xE075,
+0xE077,0xE076,0xE07B,0xB8FB, 0,0xE078,0xE074,0xE079,
+0xE07A,0xB8FC,0xB8FE,0xE07C, 0,0xE467,0xE466, 0,
+0xE464,0xE465,0xBBB3,0xBBB5,0xBBB2,0xBBB4,0xE84D,0xE84E,
+0xE849, 0,0xE84A,0xBDF8,0xBDFD,0xBDF7,0xBDFE,0xBDF9,
+0xE84B, 0, 0,0xE84C,0xE848,0xBE40,0xBDFB, 0,
+ 0,0xBDFA,0xBDFC, 0,0xE847, 0,0xEBCA,0xBFE8,
+ 0, 0,0xEBCC,0xBFEA,0xEBCF,0xEBCB,0xEBC9,0xEBCE,
+0xBFE9,0xEBCD, 0,0xBFE7, 0, 0,0xC1D3,0xC1D6,
+0xEEC1, 0,0xC1D4,0xEEC0,0xC1D2,0xC1D5,0xF146,0xF147,
+0xF148,0xC2E0, 0,0xF149, 0,0xC2E1,0xC3E2,0xF358,
+0xF359,0xF357,0xF356,0xF35A,0xC3E1,0xF4DD,0xF4DB,0xF4DC,
+0xF4DE,0xF4DA,0xF4DF,0xF658, 0,0xF659,0xF657,0xC546,
+0xF764,0xC5AF,0xF765,0xF848,0xF847, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA8AF,0xB664, 0, 0,0xB940,
+ 0, 0, 0,0xBBB6, 0, 0,0xBFEC, 0,
+0xBFEB, 0, 0, 0, 0,0xC3E3,0xC47C,0xC547,
+0xA8B0,0xB064,0xB941, 0,0xF35B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCBA6,
+ 0, 0,0xA8B1, 0,0xA8B4,0xA8B3,0xA8B2, 0,
+ 0,0xCBA5, 0,0xCDCD, 0,0xCDCF,0xAAEF, 0,
+ 0,0xAAF1,0xCDCC,0xCDCE,0xAAF0,0xCDD1,0xCDD0,0xCDD2,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD0B6,0xD0B4,0xAD7C,0xD0B3,0xADA3,0xAD7E,0xAD7B, 0,
+0xADA4, 0,0xAD7D,0xADA2, 0,0xADA1,0xD0B5, 0,
+0xAD7A, 0, 0, 0,0xB06A,0xD3EB,0xD3F1,0xB067,
+0xB06E, 0,0xB069,0xD3EE,0xD3F0,0xB06C,0xD3EA,0xD3ED,
+0xB068,0xB065,0xD3EC,0xB06B,0xD3EF,0xB06D,0xB066, 0,
+ 0, 0, 0,0xD7E3,0xD7E6,0xB370, 0,0xB37A,
+0xB376,0xD7E4, 0, 0,0xB37E,0xB377,0xB37C,0xB372,
+ 0,0xB36F,0xB371,0xB37D,0xD7E5,0xB375,0xB378,0xB374,
+0xB379,0xD7E7,0xB37B,0xB373,0xD7E2, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xDC4D,0xB665,0xDC4F,
+ 0,0xB667,0xB669, 0,0xDC4E,0xB666,0xB66A, 0,
+0xB668, 0, 0, 0,0xB947,0xE0A3,0xB94F,0xE07E,
+ 0,0xB950,0xB945, 0,0xE0A1, 0, 0,0xB94A,
+ 0,0xE0A2,0xB943,0xB942, 0,0xB94D,0xB94C,0xB94B,
+0xB949,0xB94E,0xE07D,0xB944,0xB946,0xB948, 0, 0,
+0xBBB8,0xBBBB, 0,0xBBBF,0xBBB9,0xBBBE,0xBBBC, 0,
+0xBBB7, 0,0xBBBD,0xBBBA, 0, 0, 0,0xE852,
+0xBE43,0xBE41, 0,0xE853, 0,0xBE44,0xBE42,0xE851,
+0xE850, 0,0xBFF0,0xE84F,0xBFEE,0xBFED,0xEBD0,0xBE45,
+0xBFEF,0xEBD1,0xBFF2,0xEBD2,0xBFF1,0xC1D8,0xEEC3,0xC1D7,
+0xC1DC,0xC1DA,0xC1DB,0xC2E3,0xC1D9,0xEEC2,0xEBD3,0xC2E2,
+0xC2E4, 0,0xC3E4,0xC3E5, 0,0xF4E0, 0,0xC5DE,
+0xC5DD,0xA8B6, 0, 0,0xCA55,0xB06F, 0,0xCA52,
+0xCA53,0xCA51, 0,0xCA54, 0, 0,0xCBAA,0xCBA7,
+0xCBAC,0xCBA8,0xA8B7,0xA8BA, 0,0xCBA9,0xA8B9,0xCBAB,
+ 0, 0,0xA8B8, 0, 0, 0, 0,0xCDD5,
+0xCDD7,0xAAF4,0xCDD3,0xCDD6,0xCDD4,0xAAF2,0xAAF5, 0,
+0xAAF3, 0, 0, 0, 0,0xD0B8,0xD0BC,0xD0B9,
+ 0,0xADA7, 0,0xADA8, 0,0xD0BB, 0,0xD0BD,
+0xD0BF, 0,0xADA5,0xD0BE, 0, 0,0xADA6, 0,
+ 0, 0, 0, 0,0xD7EE,0xD0BA,0xD3F2,0xD3FB,
+0xD3F9,0xD3F4,0xD3F5,0xD3FA,0xD3FC,0xB071, 0,0xD3F7,
+0xD3F3,0xB070,0xB072,0xD3F6,0xD3FD,0xD3F8, 0, 0,
+0xB3A1,0xD7F1,0xD7E9,0xD7EF,0xD7F0,0xB3A2, 0,0xD7E8,
+0xD7EA,0xD0B7,0xD7EC,0xD7ED,0xD7EB,0xB66C, 0, 0,
+ 0,0xDC56,0xEBD4,0xDC57,0xDC54,0xB3A3,0xB66E,0xDC53,
+0xDC59,0xDC58,0xB66B,0xDC5C,0xDC52,0xDC5B,0xDC50,0xDC5A,
+0xDC55,0xB66D, 0,0xE0AA, 0,0xE0A5,0xE0AB,0xE0A6,
+0xE0A4,0xE0A7,0xB951, 0,0xE0A9, 0,0xE0A8,0xB952,
+0xBBC1,0xBBC0,0xE46E,0xE471,0xE469,0xE46D,0xBBC2,0xE46C,
+0xE46A,0xE470,0xE46B,0xE468,0xE46F, 0,0xE859,0xBE48,
+0xF14A,0xE856,0xE857,0xE855,0xDC51,0xBE47,0xE85A,0xE854,
+0xBE46,0xBE49,0xE858,0xEBD5,0xBFF3,0xEBD6,0xEBD7, 0,
+0xEEC4,0xC1DD,0xF14B,0xF14C, 0, 0,0xF14D,0xF35D,
+0xF35C,0xF4E2, 0,0xF4E1,0xF65B,0xF65C,0xF65A,0xF766,
+0xC5B0,0xA8BB,0xADAA,0xADA9,0xB075,0xB074,0xD440,0xD441,
+0xD3FE, 0,0xB073,0xD7F5, 0,0xD7F6,0xD7F2,0xB3A4,
+0xD7F3, 0,0xD7F4, 0, 0, 0, 0,0xDC5F,
+0xDC61,0xDC5D,0xDC60,0xB66F,0xDC5E,0xB670, 0, 0,
+0xDD73,0xB955,0xB954, 0,0xB953, 0,0xE0AC,0xE0AD,
+ 0, 0,0xE473,0xE475,0xBBC6,0xBBC3, 0,0xBBC5,
+0xBBC4,0xE474,0xE472, 0, 0, 0, 0, 0,
+0xE861,0xE85E,0xE85F,0xBE4D,0xE860,0xE85B,0xE85C,0xBE4A,
+ 0,0xBE4B,0xE85D,0xBE4C, 0,0xEBDB, 0,0xEBDC,
+0xEBD9,0xEBDA,0xBFF4,0xEBD8, 0, 0, 0, 0,
+ 0,0xEEC8,0xEEC5,0xEEC7,0xC1E0,0xEECB,0xC1DF,0xEEC9,
+0xEECC,0xEECA,0xEEC6,0xC1DE, 0,0xF14F, 0,0xF150,
+0xF14E, 0,0xF152,0xC2E5,0xC2E6,0xF35F,0xC3E7,0xF151,
+0xF35E,0xC3E6,0xF4E5,0xF4E6,0xC4BF,0xF4E4, 0,0xF4E3,
+ 0,0xF65D,0xC548, 0,0xF849,0xF8C8,0xF8C7, 0,
+0xC643,0xC65D,0xF8C9,0xF971, 0,0xC66F,0xA8BC,0xAAF6,
+ 0,0xB956, 0,0xC4C0,0xA8BD,0xADAB,0xB3A5,0xB671,
+0xC2E7,0xAAF7, 0,0xD0C1,0xD0C0,0xD442, 0,0xB078,
+0xB076,0xB07A,0xD444, 0,0xB079,0xB077, 0, 0,
+ 0, 0,0xD443,0xB3A8,0xD7FC, 0,0xB3A7,0xB3A9,
+0xD842,0xB3AB,0xD7FE,0xD840,0xD7F7,0xB3AA,0xD843, 0,
+ 0,0xD7F9, 0,0xD7FA,0xD7F8,0xB3A6, 0,0xD841,
+0xD7FB,0xD7FD, 0, 0, 0,0xDC6D, 0,0xDC6C,
+0xDC6A,0xDC62,0xDC71,0xDC65,0xDC6F,0xDC76,0xDC6E,0xB679,
+ 0,0xB675,0xDC63, 0,0xDC69,0xB677, 0,0xDC68,
+0xB678,0xB67A,0xDC6B, 0,0xB672,0xB673,0xDC77,0xDC75,
+ 0,0xDC74,0xDC66, 0,0xDC72, 0,0xB676, 0,
+ 0, 0, 0,0xB674,0xDC73,0xDC64,0xDC67,0xDC70,
+ 0, 0, 0, 0, 0,0xE4BA,0xE0B7, 0,
+0xE0B0,0xE0C3,0xE0CC,0xE0B3,0xB961, 0,0xE0C0,0xB957,
+0xB959,0xB965,0xE0B1, 0, 0,0xB95A,0xB95C,0xB966,
+0xB95B, 0, 0, 0, 0,0xB964,0xE0B9, 0,
+0xE0AE,0xB962,0xE0B8,0xB95E,0xE0CA,0xB963,0xE0C8,0xE0BC,
+0xE0C6,0xB960,0xE0AF,0xE0C9,0xE0C4, 0,0xE0CB,0xB958,
+ 0, 0,0xB967,0xB95D, 0, 0,0xE0B5, 0,
+0xE0BD,0xE0C1, 0,0xE0C5,0xB95F,0xE0B4,0xE0B2,0xE0BE,
+ 0, 0, 0, 0,0xE0BB,0xE0BA, 0,0xE0BF,
+0xE0C2, 0,0xE0C7, 0, 0, 0,0xE478, 0,
+0xBBC7,0xE4A4,0xE47A,0xBBCC,0xBBD0,0xE4AD,0xE4B5,0xE4A6,
+0xBBC8, 0,0xE4AA,0xE0B6, 0,0xBBC9,0xE4B1,0xE4B6,
+0xE4AE, 0,0xE4B0,0xE4B9,0xE4B2,0xE47E,0xE4A9, 0,
+ 0,0xBBD1, 0,0xBBCD,0xE47C,0xE4AB,0xBBCB,0xE4A5,
+0xBBCA,0xE4B3,0xE4A2,0xE479,0xBBCE,0xE4B8, 0, 0,
+0xE47B,0xE4AF,0xE4AC,0xE4A7,0xE477,0xE476,0xE4A1,0xE4B4,
+0xBBCF,0xE4B7,0xE47D,0xE4A3,0xBE52, 0, 0, 0,
+ 0, 0,0xBE5A,0xBE55,0xE8A4,0xE8A1,0xE867,0xBE50,
+ 0, 0, 0,0xBE4F,0xBE56, 0, 0, 0,
+0xE865,0xBE54,0xE871,0xE863,0xE864,0xBE4E,0xE8A3,0xBE58,
+0xE874,0xE879,0xE873,0xEBEE,0xE86F,0xE877,0xE875,0xE868,
+0xE862,0xE87D,0xBE57,0xE87E, 0,0xE878, 0,0xE86D,
+0xE86B,0xE866, 0, 0, 0,0xE86E,0xE87B,0xE86A,
+0xE87A,0xE8A2, 0, 0,0xBE53, 0,0xE876,0xE87C,
+0xE872,0xE86C,0xBE51, 0, 0, 0,0xE4A8,0xE870,
+0xBE59,0xE869, 0, 0, 0, 0, 0,0xEBF4,
+0xBFF7,0xEBF3,0xEBF0,0xEC44,0xBFFB, 0,0xEC41,0xEBF8,
+0xEC43,0xEBE9,0xEBF6, 0,0xBFFD, 0,0xEBE1, 0,
+0xEBDF,0xEC42, 0,0xEC40,0xEBFE,0xEBED,0xEBEC,0xEBE2,
+0xC040, 0,0xEBE8,0xEBF2,0xEBFD,0xC043,0xEC45, 0,
+0xC1E8,0xC045,0xBFFE,0xEBE6, 0,0xEBEF,0xEBDE,0xEBE0,
+0xBFF5,0xC042,0xBFFA,0xEBE7,0xEBF7,0xEBF1,0xC041,0xEBDD,
+0xC1E3,0xEBF9,0xEBFC,0xBFFC, 0,0xEBEB,0xC044,0xBFF9,
+ 0, 0, 0,0xBFF8,0xEBF5,0xEBFB,0xBFF6, 0,
+0xEBE4,0xEBFA, 0, 0,0xEBE5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xEBEA,0xEED2,
+ 0,0xEED7,0xC1E5,0xC1E7,0xEEDD,0xC1E1,0xEEEC,0xEEE3,
+0xEED8,0xEED9,0xEEE2, 0,0xC1EE,0xEEE1,0xEED1,0xEEE0,
+0xEED4,0xEEED,0xC1ED,0xC1EB,0xEED5, 0,0xEEE8, 0,
+0xEEDA,0xEEE7, 0,0xEEE9,0xEED0,0xC1E6, 0,0xEEEA,
+ 0, 0,0xEEDE, 0,0xC1EA,0xEEDB, 0, 0,
+0xC1EC,0xEEE4, 0, 0, 0,0xC1E4,0xEED6,0xEEE5,
+ 0,0xEEDF,0xEBE3,0xEEE6,0xEED3, 0,0xC1E9, 0,
+0xEEEB, 0,0xC1E2,0xEECE, 0, 0, 0, 0,
+0xF160,0xF159,0xC2E9, 0,0xF154,0xF163,0xF15B,0xEEDC,
+ 0,0xF165,0xF155, 0,0xC2E8,0xF15F,0xC2EA,0xC2F2,
+0xC2F0,0xF161,0xC2F1,0xF157, 0,0xF158,0xF15D,0xF162,
+ 0,0xEECD,0xC2EB,0xF16A,0xF167,0xF16B,0xF15E,0xF15A,
+0xF168,0xF36A,0xF15C, 0,0xC2EE, 0,0xC2ED,0xEECF,
+0xC2EF,0xF164,0xF166,0xC2EC,0xF169,0xF153, 0,0xF156,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF373, 0,0xF363,0xC3EB,0xF371, 0, 0,0xF361,
+0xC3EC, 0,0xF36C, 0,0xF368,0xC3F1,0xF372,0xF362,
+0xF365,0xC3E9,0xF374, 0,0xF36D,0xF370,0xC3EF,0xC3F4,
+0xC3F2,0xF369,0xF364, 0,0xC3ED,0xC3EE,0xF360,0xC3EA,
+ 0,0xC3E8,0xC3F0,0xF36F,0xC3F3, 0,0xF36B,0xF375,
+0xC3F5, 0, 0, 0,0xF367, 0,0xF36E, 0,
+ 0, 0, 0, 0, 0,0xF4F3,0xF542,0xF4F5,
+0xF4FC,0xF366,0xF4FA,0xF4E9,0xF540,0xC4C3,0xF4ED,0xF4FE,
+0xF4F4, 0, 0,0xC4C2, 0, 0,0xF544,0xF4F6,
+ 0,0xF4FB,0xF4FD,0xF4E7,0xF541,0xF4F2,0xF4F7,0xF4EB,
+0xF4EF,0xF543,0xF4F9,0xF4E8,0xF4EC,0xF4EE,0xF4F8, 0,
+0xC4C1,0xF4F1, 0, 0, 0, 0, 0, 0,
+0xF4EA, 0, 0, 0, 0, 0, 0, 0,
+0xF4F0,0xF661,0xF666,0xC54F,0xF668, 0,0xC549, 0,
+0xF664,0xF66A,0xC54E,0xC54A, 0,0xC54B,0xF660,0xF667,
+0xC54D,0xF665,0xC54C,0xF65F,0xF663,0xF662, 0,0xF65E,
+0xF669, 0, 0, 0,0xC5B1,0xF76D,0xF770,0xF76C,
+0xF76E,0xF76F,0xF769,0xF76A,0xF767, 0, 0,0xF76B,
+0xF768,0xC5B2,0xC5B3, 0, 0,0xF84B, 0,0xF84D,
+ 0, 0, 0, 0, 0,0xF84C,0xF84E, 0,
+0xC5E0, 0,0xF84A,0xC5DF,0xC5E1, 0, 0, 0,
+0xF8CB,0xF8CC,0xC644,0xF8CA, 0,0xF953,0xF952,0xF954,
+0xC65F,0xF955,0xC65E,0xF956,0xF972,0xF975,0xF974,0xC668,
+0xF973, 0, 0, 0,0xC672,0xC670,0xC671,0xC677,
+0xF9C0,0xF9C1,0xF9BF,0xF9C9};
+
+/* page 8 0x9577-0x9FA4 */
+static uint16 tab_uni_big58[]={
+0xAAF8, 0, 0,0xD844,0xDC78,0xE8A5,0xF376, 0,
+ 0,0xAAF9, 0,0xADAC,0xB07B, 0, 0,0xD845,
+ 0,0xD846,0xB3AC, 0,0xB67D,0xDC7A,0xDC79,0xB6A3,
+0xB67C,0xDC7B,0xB67E,0xB6A2,0xB6A1,0xB67B, 0, 0,
+ 0,0xB968, 0, 0,0xE0D0,0xE0CE, 0,0xE0CF,
+0xE0CD, 0,0xBBD2, 0,0xBBD5,0xBBD7,0xBBD6, 0,
+ 0,0xBBD3,0xBBD4, 0,0xE8A7,0xE8A6,0xBE5B,0xE8A8,
+ 0,0xE8A9,0xBE5C, 0, 0, 0,0xEC4D,0xEC4B,
+0xEEF3, 0,0xEC49,0xEC4A,0xC046,0xEC46,0xEC4E,0xEC48,
+0xEC4C,0xEEEF, 0, 0,0xEEF1, 0,0xEEF2,0xC1F3,
+0xEEEE,0xC1F2,0xEEF0,0xC1EF,0xC1F0,0xC1F1,0xEC47, 0,
+ 0,0xC2F5,0xF16E,0xF16C,0xF16D,0xC2F3,0xC2F6,0xC2F4,
+ 0, 0, 0,0xF377,0xF378,0xC3F6, 0,0xF545,
+0xF547,0xF546,0xC4C4,0xC550,0xF66D,0xF66C,0xF66B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xAAFA, 0,0xC9AA,
+ 0,0xCA58,0xA6E9,0xCA56,0xCA59,0xCA57, 0, 0,
+ 0,0xCBAE, 0,0xA8C1, 0,0xA8C2,0xCBB0,0xA8BF,
+0xCBAF,0xCBAD,0xA8C0,0xA8BE, 0, 0, 0, 0,
+ 0, 0,0xCDD8,0xCDDB,0xAAFD,0xCDDA,0xCDD9, 0,
+0xAAFC,0xAAFB, 0,0xAB40,0xCDDC,0xAAFE, 0, 0,
+ 0, 0, 0,0xD0C6,0xADAE,0xADAF,0xADB0,0xD0C7,
+0xD0C3,0xADAD,0xD0C4, 0,0xD0C5,0xD0C2, 0, 0,
+ 0,0xB0A4, 0, 0,0xB0A1,0xD445,0xB0A2,0xB0A5,
+0xD446, 0,0xB07E,0xB07C,0xB07D,0xB0A3, 0, 0,
+ 0, 0, 0,0xB3AD,0xD849,0xB3B5,0xD848, 0,
+0xD84B,0xB3B1,0xD84A,0xB6AB,0xB3AF,0xB3B2,0xB3AE,0xB3B3,
+0xB3B4,0xB3B0, 0, 0, 0,0xD847,0xB6A7,0xDC7D,
+ 0,0xDCA3, 0, 0,0xDCA2,0xB6AC,0xB6A8,0xB6A9,
+0xDC7C,0xDC7E,0xDCA1,0xB6A4,0xB6A6, 0,0xB6AA,0xB6A5,
+ 0, 0,0xE0D3,0xE0D1,0xE0D2,0xB96A,0xB96B, 0,
+0xE0D4,0xB969,0xBBD8, 0,0xBBDA,0xBBD9, 0,0xE4BB,
+ 0, 0,0xE4BC,0xE8AB, 0,0xE8AA, 0, 0,
+0xC047,0xC048,0xEC4F,0xC049, 0,0xEEF6, 0,0xEEF4,
+ 0,0xEEF5,0xC1F4, 0,0xF16F,0xC3F7, 0, 0,
+ 0,0xC1F5,0xAB41, 0,0xB0A6,0xD447, 0, 0,
+0xD84C,0xB3B6,0xB6AD,0xDCA4,0xDCA6,0xB6AF,0xB6AE,0xB6B0,
+0xB6B1,0xDCA5,0xB96E,0xB96F,0xB96D,0xBBDB,0xB96C,0xE0D5,
+ 0, 0, 0,0xBBDC,0xE8AC,0xEC50,0xC04A,0xC1F6,
+0xF170,0xF174,0xC2F9,0xF171,0xC2FA,0xC2F8,0xF175,0xC2FB,
+0xF173, 0,0xF379,0xC2F7,0xC3F8, 0,0xF8CD, 0,
+ 0,0xAB42,0xB3B8,0xB3B7, 0, 0, 0, 0,
+0xB6B2,0xDCA8,0xDCA7,0xB6B3, 0, 0,0xE0D9,0xB973,
+0xB970,0xE0D8,0xB972,0xE0D6,0xB971, 0,0xE0D7, 0,
+0xE4BD,0xBBDD, 0,0xE8AF, 0,0xBE5D,0xE8AD,0xBE5E,
+0xBE5F,0xE8AE,0xBE60, 0,0xEC51, 0,0xC04E,0xC04B,
+0xC050,0xEC53,0xC04C,0xEC52,0xC04F, 0, 0,0xC04D,
+ 0,0xEEF9,0xEEFB, 0, 0,0xC1F7,0xEEFA,0xC1F8,
+0xEEF8,0xEEF7, 0,0xF177,0xF176,0xC2FC,0xF178,0xF37E,
+0xC3FA,0xF37D,0xF37A,0xC3F9,0xF37B,0xF37C, 0,0xF548,
+0xF549,0xC4C5, 0,0xC553, 0, 0,0xF66E, 0,
+ 0,0xC551,0xC552,0xF66F, 0, 0,0xC5B4,0xC5B5,
+0xF771, 0, 0,0xC645,0xF8CF,0xC647, 0,0xF8CE,
+0xF8D0,0xC646,0xF957, 0,0xF9AD, 0, 0, 0,
+ 0, 0, 0,0xAB43, 0, 0, 0,0xB974,
+ 0,0xE4BE, 0,0xE8B0,0xC051,0xC052, 0,0xAB44,
+ 0,0xBE61,0xC3FB,0xADB1, 0, 0, 0,0xC053,
+ 0,0xC5E2,0xADB2,0xD84D, 0,0xDCA9, 0,0xDCAB,
+ 0,0xDCAA, 0,0xE0DD,0xE0DA,0xB975, 0,0xB976,
+0xE0DB,0xE0DC, 0,0xE4C0,0xE4C5,0xBBDE,0xE4BF,0xE4C1,
+0xE4C8,0xE4C3,0xE4C7,0xE4C4,0xE4C2,0xE4C6,0xBBDF, 0,
+ 0,0xE8B3, 0,0xE8B1,0xBE63, 0,0xBE62,0xE8B2,
+0xBE64, 0, 0, 0, 0,0xEC56, 0, 0,
+0xEC55,0xC054,0xEC54,0xEEFC, 0,0xEEFE,0xEF41,0xEF40,
+ 0,0xC1F9,0xEEFD,0xF1A1,0xC2FD,0xF17D,0xF1A2,0xC2FE,
+ 0,0xF17B, 0,0xF17E,0xF17C,0xF179,0xC340,0xF17A,
+ 0, 0, 0, 0,0xF3A1, 0, 0,0xF3A3,
+0xF3A2, 0,0xF54A, 0,0xF54B, 0, 0, 0,
+0xF670, 0,0xC5B7, 0,0xC5B6,0xF84F,0xF850,0xC648,
+0xF8D1, 0,0xC669, 0,0xADB3,0xB6B4,0xE4CA,0xE4C9,
+0xE8B5,0xE8B4, 0, 0,0xC1FA,0xEF43,0xEF42,0xF1A5,
+0xF1A3,0xF1A6,0xF1A4, 0, 0,0xC3FC,0xF3A4,0xF3A5,
+0xF3A6, 0,0xF671, 0,0xF772, 0,0xF8D2, 0,
+ 0, 0, 0, 0, 0, 0,0xADB4, 0,
+ 0,0xEC57,0xEF44, 0,0xADB5, 0, 0,0xBBE0,
+ 0,0xEC58,0xC341,0xF1A7,0xC3FD, 0,0xF54C,0xF54D,
+0xC554,0xF851,0xADB6,0xB3BB,0xB3BC,0xD84E,0xB6B5,0xB6B6,
+0xDCAC,0xB6B7, 0,0xB97A, 0,0xB97C,0xE0DF,0xE0E0,
+0xE0DE,0xB977,0xB978,0xB97B,0xB979, 0, 0,0xE4CB,
+0xBBE1,0xBBE2, 0, 0,0xE8BC,0xBE67,0xE8B7,0xE8B6,
+ 0,0xE8BB,0xBE65, 0, 0,0xC05B, 0,0xE8B8,
+0xE8BD,0xE8BA,0xE8B9, 0,0xBE66, 0,0xC059, 0,
+0xEC5A,0xC055, 0,0xEC5B, 0, 0,0xEC59, 0,
+0xC058,0xC056,0xC05A, 0,0xC057, 0, 0, 0,
+ 0, 0,0xEF45, 0,0xEF4A,0xEF46,0xEF49,0xC1FB,
+ 0,0xEDD4,0xEF48,0xEF47, 0,0xC344,0xC342,0xC345,
+0xC343,0xF1A8,0xF1A9,0xF1AA,0xC346, 0, 0, 0,
+0xF3AA,0xC440,0xF3A8, 0,0xC441,0xF3A7,0xF3A9,0xC3FE,
+0xF551,0xF54E, 0,0xF54F,0xF550,0xF672,0xC556, 0,
+0xC555, 0,0xF774,0xF773,0xC5B8, 0, 0, 0,
+0xC5E3,0xC649,0xC660,0xF958,0xF9AE,0xF9AF, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xADB7,0xDCAD, 0, 0,0xE0E1,0xE4CC,0xE4CD,
+0xBBE3, 0,0xBBE4,0xE8BE,0xBE68, 0, 0,0xC1FC,
+ 0,0xF1AB, 0,0xC347,0xF3AD,0xC442,0xF3AC,0xF3AE,
+0xF3AB,0xF675,0xF552,0xF553, 0,0xC4C6, 0,0xF674,
+ 0, 0,0xF673, 0,0xF775,0xF9B0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xADB8, 0, 0, 0,
+0xADB9, 0, 0,0xB0A7,0xD448, 0,0xD84F, 0,
+0xB6B8, 0,0xB6BB,0xB6B9,0xDCAE, 0,0xB6BD, 0,
+0xB6BA, 0, 0,0xB6BC, 0,0xB97E, 0,0xE0E2,
+ 0, 0,0xE0E3,0xE8C0, 0,0xB97D,0xB9A1,0xB9A2,
+ 0,0xE4CF, 0,0xE4CE,0xBBE5, 0,0xBBE6, 0,
+0xE4D0,0xE8BF,0xBBE8,0xBE69, 0,0xBBE7, 0, 0,
+ 0,0xC05C,0xE8C1,0xBE6B,0xBE6A,0xE8C2,0xE8C5,0xE8C3,
+0xE8C4,0xBE6C, 0,0xC061,0xC05F, 0, 0,0xC05E,
+0xEC5D, 0,0xC060, 0, 0,0xEC5C,0xEF4B, 0,
+0xEC5E,0xC05D,0xEC5F,0xEF4E,0xEF4C,0xEF4D,0xEF52,0xC34B,
+0xEF51,0xEF54,0xEF53,0xEF50,0xEF4F, 0,0xC1FD, 0,
+ 0, 0, 0,0xF1AE, 0,0xF1AD,0xC34A,0xC348,
+0xC349, 0,0xF1AC, 0,0xF3B1, 0,0xC443, 0,
+0xF3B0,0xF3AF,0xC444, 0,0xF558,0xF557, 0,0xF555,
+ 0,0xF554,0xC4C8,0xC4C7,0xF559,0xF776,0xC5B9,0xF677,
+0xC557,0xF676,0xF556, 0,0xF777,0xC5E4, 0,0xC661,
+0xF959, 0,0xF9B1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xADBA,
+0xD850,0xEF55,0xADBB, 0, 0,0xE4D2,0xE4D1,0xEC60,
+ 0, 0,0xEF57, 0,0xEF56, 0,0xC34C,0xF3B2,
+0xF3B3,0xC4C9, 0, 0,0xF9B2,0xB0A8,0xB6BF,0xB6BE,
+0xE0E4,0xE0E6,0xB9A4,0xE0E5,0xB9A3,0xB9A5,0xE0E7, 0,
+ 0, 0,0xE4D4,0xE4D6,0xE4D5, 0,0xE4D8, 0,
+ 0, 0,0xBBE9,0xE4D7,0xE4D3, 0, 0, 0,
+0xE4D9, 0,0xE8CC, 0,0xE8CF,0xE8D1,0xE8C7,0xE8CB,
+0xE8C8,0xBE6E,0xBE71,0xBE73,0xE8C9,0xE8CA,0xBE72,0xE8CD,
+0xE8D0,0xE8CE,0xBE74, 0,0xBE70,0xE8C6,0xBE6D, 0,
+0xBE6F, 0, 0,0xC063,0xEC66,0xEC64,0xEC63, 0,
+0xEC69, 0,0xEC68,0xEC67, 0,0xEC62,0xC062,0xEC61,
+ 0,0xEC65,0xC064, 0, 0,0xEF5A, 0,0xEF5E,
+0xEF5B,0xEF5D,0xEF5C,0xEF59,0xEF5F,0xEF62,0xEF60,0xEF61,
+0xC240, 0,0xC1FE,0xEF58,0xEF63,0xF1B3,0xF1B6,0xF1B8,
+0xF1B7, 0,0xF1B1,0xF1B5,0xF1B0, 0,0xF1B2,0xC34D,
+0xF1AF, 0,0xF1B4, 0, 0,0xF3C0,0xF3B5,0xC445,
+ 0, 0,0xC446,0xF3B4,0xF3B9,0xF3BF,0xF3B7,0xF3BE,
+ 0,0xF3BB, 0,0xF3BA,0xF3BD,0xF3B8,0xF3B6, 0,
+0xF3BC, 0,0xF560,0xF55E,0xC4CA,0xF55D,0xF563,0xF561,
+ 0,0xC4CB,0xF55C,0xF55A, 0,0xF55B,0xC4CD,0xF55F,
+0xC4CC,0xF562,0xF678,0xF67E, 0, 0,0xF679,0xC55B,
+0xF6A1,0xC55A,0xF67D,0xF67C,0xC559,0xF67B,0xC558,0xF67A,
+ 0,0xF77D,0xF7A1,0xF77E, 0,0xF77B,0xC5BB,0xF778,
+0xF77C,0xF7A3, 0,0xF7A2,0xF779,0xF77A,0xC5BA,0xF852,
+0xC5E7, 0,0xF853,0xC5E5,0xC5E6, 0, 0,0xF8D3,
+0xC64A,0xF976, 0,0xC66A, 0,0xF9B3,0xC66B,0xF9B4,
+0xF9B5,0xF9C3,0xF9C2,0xC67A,0xF9CD, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xB0A9, 0, 0,0xE0E9, 0,0xE0E8, 0,
+0xBBEA,0xBBEB,0xE4DA, 0,0xE8D2,0xEC6C, 0, 0,
+0xBE75,0xC065,0xEC6A, 0,0xEC6D,0xC066, 0,0xEF64,
+0xEC6B,0xF1B9,0xC34E,0xF3C1, 0, 0, 0,0xF566,
+0xF564, 0, 0,0xF565, 0, 0,0xF6A2, 0,
+0xC55C,0xF7A4,0xC5EA,0xC5BC,0xC5E8,0xC5E9,0xF8D4,0xC662,
+ 0,0xB0AA, 0, 0, 0,0xF1BA, 0, 0,
+0xD449, 0,0xB9A6, 0,0xE4DB, 0, 0,0xBBEC,
+0xE4DC, 0, 0, 0,0xE8D4,0xE8D3,0xC068,0xBE76,
+0xBE77, 0,0xE8D7,0xE8D6,0xE8D5, 0, 0,0xEC6E,
+0xEC71, 0,0xEC70,0xEC6F,0xC067,0xEF68,0xEF66,0xEF65,
+ 0, 0,0xEF67, 0,0xC34F,0xF1BC,0xF1BD,0xC350,
+ 0,0xF1BB, 0,0xF3C3,0xF3C2,0xF3C5,0xC447,0xF3C4,
+ 0,0xF567,0xF569,0xF568, 0, 0,0xF6A3,0xF6A6,
+0xF6A4,0xF6A5,0xF7A5,0xC5BD, 0, 0, 0,0xF854,
+0xF855,0xF856, 0,0xC64B,0xC663,0xF9B6,0xB0AB, 0,
+0xBE78,0xC069,0xF1BE, 0,0xF7A6, 0, 0,0xF9C4,
+0xD44A, 0,0xC67B,0xB0AC,0xEC72, 0,0xF1BF, 0,
+0xF3C6, 0, 0,0xF6A7,0xF7A7,0xB0AD, 0,0xE4DD,
+0xE4DE, 0,0xBBED,0xBBEE,0xE8D9,0xBE7A,0xBE79,0xE8D8,
+ 0,0xEF69, 0,0xF1C0,0xF1C2,0xF1C1,0xC353,0xC352,
+0xC351, 0,0xC55E,0xF6A8, 0,0xC55D,0xF7A9,0xF7A8,
+ 0,0xC64C,0xF8D5,0xB3BD,0xE0EA, 0, 0, 0,
+0xE4E1,0xE4DF,0xE4E0, 0, 0,0xE8E2, 0,0xE8DD,
+0xE8DA,0xE8E1, 0, 0, 0,0xE8E3, 0, 0,
+0xBE7C,0xE8E0,0xE8DC, 0, 0,0xE8DB,0xE8DF,0xE8DE,
+0xBE7B, 0, 0,0xEC7D,0xEC78,0xEC76,0xECA1,0xEC77,
+ 0,0xEC73, 0,0xEC79, 0, 0,0xEC74,0xEF72,
+0xEC75,0xECA2, 0, 0, 0, 0, 0, 0,
+ 0,0xEC7C,0xC06A,0xEC7B,0xEC7A, 0,0xEC7E, 0,
+ 0, 0, 0,0xEF6A,0xEF6D, 0, 0,0xEF6C,
+ 0,0xEF74,0xEF6F,0xEF73, 0,0xEF71,0xEF70,0xEF6E,
+ 0,0xEF6B, 0,0xC243,0xC242, 0,0xC244,0xC241,
+0xEF75, 0, 0, 0, 0, 0,0xF1C8,0xF1CB,
+ 0,0xF1C9,0xF1CD, 0, 0, 0,0xF1CE, 0,
+0xF1C6,0xC358,0xF1C7, 0,0xF1C5,0xF1CC, 0,0xF1C4,
+0xF1C3,0xC357,0xC355,0xC354, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF1CA,0xF3CF,0xF3D5,0xC44A,
+0xF3D0, 0,0xF3D3,0xF3D7,0xC44B,0xF3D2, 0,0xF3CA,
+ 0,0xF3C9,0xF3D6,0xF3CD, 0,0xF3CB,0xF3D4,0xF3CC,
+0xC449,0xC448, 0,0xF3C7,0xF3C8,0xF3D1, 0, 0,
+ 0,0xF3CE, 0, 0, 0, 0, 0, 0,
+0xF56C,0xF56F, 0, 0, 0, 0,0xC356, 0,
+ 0, 0, 0, 0, 0, 0,0xF56D,0xF573,
+0xF571,0xF56B,0xF576, 0,0xF56A, 0,0xC4CF,0xF572,
+ 0, 0, 0,0xF56E,0xC4CE,0xF575, 0, 0,
+0xF574, 0, 0, 0, 0,0xF6AB,0xF6AA, 0,
+ 0, 0,0xF6B1, 0,0xF6AD,0xF6B0,0xC560, 0,
+ 0,0xF6AE,0xF6AF, 0,0xF6A9,0xF6AC,0xC55F, 0,
+ 0, 0,0xC5BF,0xF7B4,0xF7AF,0xF7B3, 0,0xF7B6,
+0xF7B2, 0,0xF7AE, 0,0xC5C1,0xF7B1,0xF7B5,0xC5C0,
+0xF7AC,0xF570,0xF7B0, 0, 0,0xF7AD, 0,0xF7AA,
+ 0,0xF7AB,0xC5BE,0xF85A,0xF85C,0xF85F,0xF85B,0xF860,
+ 0,0xF859, 0,0xF857, 0,0xC5EB,0xF85D,0xC5ED,
+0xC5EC,0xF858,0xF85E, 0, 0, 0, 0,0xF8DA,
+0xC64D,0xF8DB, 0,0xF8D9,0xF8D6, 0, 0,0xF8D8,
+0xF8D7,0xF95A, 0, 0, 0, 0,0xF95C,0xF95B,
+ 0, 0,0xF979, 0,0xF978,0xF977,0xF97A, 0,
+0xC673,0xC674,0xF9CA,0xF9CE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xB3BE,0xDCAF,
+0xE0ED, 0,0xB9A7,0xE0EB, 0, 0,0xE0EC, 0,
+ 0, 0,0xE4E2,0xE4E3,0xBBF1,0xBBEF,0xE4E4,0xBBF0,
+0xE8E8, 0,0xE8EB,0xE8E5,0xE8EC,0xE8E4,0xE8E6, 0,
+0xE8E7,0xE8EA, 0, 0,0xBEA1,0xE8EF,0xE8EE,0xBE7D,
+0xE8E9,0xE8ED,0xBE7E, 0, 0, 0, 0, 0,
+ 0,0xECAC, 0,0xC06F, 0,0xECA7,0xC06B, 0,
+0xECA4,0xECAA,0xECAD, 0,0xC070, 0,0xECA9,0xECA6,
+0xECAE,0xECA5, 0,0xECAB,0xC06C, 0,0xECA3,0xC06D,
+ 0,0xC06E,0xECA8, 0, 0, 0,0xEFA9,0xEF7A,
+0xEF7B,0xEF7E,0xEF7C, 0,0xEF76, 0, 0,0xEF79,
+0xEFA5,0xEF7D, 0, 0,0xC245, 0,0xEFA7,0xEFA4,
+0xC246,0xEFA6,0xEF77,0xEFA2,0xEFA3, 0,0xEFA1, 0,
+ 0, 0, 0,0xF1D2,0xF1D4,0xF1D7, 0, 0,
+0xF1D1, 0,0xC359,0xF1D9,0xF1D0,0xF1DA, 0,0xF1D6,
+0xF1D8,0xF1DC,0xF1D5,0xF1DD,0xF1D3,0xF1CF,0xC35A, 0,
+0xF1DB,0xC35B,0xC44D, 0, 0, 0, 0, 0,
+0xEF78,0xF3F1,0xF3E8,0xC44F,0xF3E4,0xC450, 0, 0,
+0xF3ED,0xF3E7,0xF3DD,0xC44E,0xF3EA,0xF3E5,0xF3E6, 0,
+0xF3D8,0xF3DF,0xF3EE, 0,0xF3EB, 0,0xF3E3, 0,
+0xF3EF,0xF3DE,0xF3D9,0xF3EC, 0,0xF3DB,0xF3E9,0xF3E0,
+0xF3F0,0xF3DC,0xC44C,0xF3DA,0xF3E1,0xF3E2, 0, 0,
+ 0,0xF57D, 0,0xF57B, 0,0xF5A2, 0,0xF5AE,
+0xF5A5,0xF57C,0xF578,0xF5A7,0xF57E,0xF5A3,0xF57A,0xF5AA,
+0xF577,0xF5A1,0xF5A6,0xF5A8,0xF5AB,0xF579, 0,0xF5AF,
+0xF5B0,0xF5A9,0xF5AD,0xF5A4, 0,0xF6C1,0xF6C4, 0,
+0xC561, 0,0xF6C3,0xF6C8,0xF6C6,0xC562,0xF6BD,0xF6B3,
+0xF6B2,0xC564,0xF6BF,0xF6C0,0xF6BC,0xF6B4, 0,0xF6B9,
+0xF5AC, 0,0xF6B5,0xC563,0xF6BB, 0,0xF6BA, 0,
+0xF6B6,0xF6C2, 0,0xF6B7,0xF7BB,0xF6C5,0xF6C7,0xF6BE,
+0xF6B8,0xF7BC,0xF7BE,0xF7B8,0xC5C2, 0,0xF7C5,0xF7C3,
+0xC5C3,0xF7C2,0xF7C1,0xF7BA,0xF7B7,0xF7BD,0xF7C6,0xF7B9,
+0xF7BF, 0,0xF869,0xF86E,0xF864,0xF867,0xC5EE,0xF86B,
+ 0,0xF872,0xF7C0, 0,0xF865,0xF86F,0xF873,0xF86A,
+0xF863,0xF86D, 0,0xF86C,0xF871,0xF870,0xF7C4,0xF868,
+0xF862,0xF866,0xC64E,0xC64F,0xF861, 0,0xF8E6,0xF8DD,
+0xF8E5,0xF8E2,0xF8E3,0xF8DC,0xF8DF,0xF8E7,0xF8E1,0xF8E0,
+0xF8DE, 0,0xF8E4, 0,0xF95D, 0,0xF95E, 0,
+0xF960,0xF95F,0xF962,0xF961,0xF97C,0xF97B,0xF9B7, 0,
+0xF9B8, 0,0xF9C5,0xC678,0xC67C, 0,0xF9CF,0xC67D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xB3BF, 0,
+ 0, 0,0xC4D0,0xF6C9, 0,0xC650,0xC651, 0,
+0xB3C0,0xE0EE, 0,0xB9A8,0xE8F0, 0, 0,0xECB0,
+0xECB1,0xECAF,0xEFAB,0xEFAA,0xC247,0xF1DF,0xEFAC,0xF1DE,
+ 0, 0,0xF3F3,0xC451,0xC453,0xF3F2, 0, 0,
+0xC452, 0,0xF5B1,0xF5B3,0xF5B2,0xF6CA,0xC565, 0,
+0xC5EF,0xF8E8,0xF963, 0, 0,0xF9D2,0xB3C1, 0,
+0xE4E5, 0,0xBEA2, 0, 0, 0,0xECB3,0xECB2,
+ 0,0xEFAD, 0, 0, 0,0xC454,0xC4D1,0xF7C7,
+0xF9CB, 0, 0, 0,0xB3C2,0xBBF2, 0,0xBEA3,
+ 0,0xF3F4, 0,0xF874,0xB6C0, 0, 0, 0,
+ 0,0xEFAE, 0, 0, 0,0xC664,0xB6C1,0xBEA4,
+0xC248,0xF875,0xB6C2, 0,0xE8F1,0xC072,0xECB4,0xECB5,
+ 0,0xC071, 0,0xEFAF,0xC24C,0xC24A,0xC24B,0xC249,
+0xF1E0,0xC35C, 0, 0, 0,0xF5B5,0xF5B4,0xF5B7,
+0xF5B6,0xC4D2, 0, 0,0xF6CB, 0,0xF6CD,0xF6CC,
+0xC566,0xF7C8, 0,0xF876,0xF877,0xC5F0,0xF964,0xF97D,
+0xC675, 0,0xDCB0,0xECB6,0xEFB0,0xF3F5,0xE0EF, 0,
+0xEFB1,0xF1E2,0xF1E1, 0, 0, 0, 0,0xF878,
+0xC652, 0,0xF965,0xF97E, 0, 0, 0,0xB9A9,
+0xE8F2,0xE8F3, 0,0xECB7,0xB9AA, 0,0xC35D,0xF1E3,
+ 0,0xF6CF,0xC567,0xF6D0,0xF6CE,0xF879, 0,0xF8E9,
+ 0,0xB9AB, 0,0xEFB4,0xEFB3,0xEFB2,0xF1E4, 0,
+ 0,0xF1E8,0xF1E7,0xF1E6,0xF1E5,0xC35E,0xF3F6,0xF5B9,
+0xC4D3,0xF5B8,0xF6D1,0xF7CB,0xF7CA,0xC5C4,0xF7C9,0xF87C,
+0xF87B,0xF87A, 0, 0,0xBBF3, 0,0xECB8,0xC24D,
+ 0,0xF3F7,0xF3F8,0xF7CC,0xF87D, 0, 0,0xF8EA,
+0xF966,0xF9B9,0xF9D4,0xBBF4,0xC24E,0xF1E9,0xF3F9,0xF6D2,
+0xF87E, 0, 0,0xBEA6, 0,0xEFB5,0xF1EA,0xF3FA,
+0xF3FB,0xF3FC,0xF5BE, 0,0xF5BA,0xC568,0xF5BD,0xF5BC,
+0xC4D4,0xF5BB,0xC4D6, 0,0xC4D5,0xF6D4,0xF6D3,0xC569,
+0xC56A, 0, 0,0xC5C6,0xF7CD,0xC5C5, 0,0xF8A3,
+0xF8A4,0xF8A2,0xF8A1,0xC654, 0,0xF8EB,0xF8EC,0xF8ED,
+0xC653,0xF967,0xF96A,0xF969,0xF968, 0, 0,0xF9D3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xC073, 0,
+ 0,0xC365,0xF5BF,0xF6D5, 0,0xC5C7,0xF7CE, 0,
+ 0,0xF9D5, 0, 0, 0,0xC074, 0, 0,
+ 0,0xEFB6, 0,0xF7CF, 0,0xF9A1};
+
+/* page 9 0xFA0C-0xFA0D */
+static uint16 tab_uni_big59[]={
+0xC94A,0xDDFC};
+
+/* page 10 0xFE30-0xFFFD */
+static uint16 tab_uni_big510[]={
+0xA14A,0xA157, 0,0xA159,0xA15B,0xA15F,0xA160,0xA163,
+0xA164,0xA167,0xA168,0xA16B,0xA16C,0xA16F,0xA170,0xA173,
+0xA174,0xA177,0xA178,0xA17B,0xA17C, 0, 0, 0,
+ 0,0xA1C6,0xA1C7,0xA1CA,0xA1CB,0xA1C8,0xA1C9,0xA15C,
+0xA14D, 0,0xA14F, 0,0xA151,0xA152,0xA153,0xA154,
+ 0,0xA17D,0xA17E,0xA1A1,0xA1A2,0xA1A3,0xA1A4,0xA1CC,
+0xA1CD,0xA1CE,0xA1DE,0xA1DF,0xA1E0,0xA1E1,0xA1E2, 0,
+ 0,0xA24C,0xA24D,0xA24E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA149, 0,0xA1AD,0xA243,0xA248,0xA1AE, 0,
+0xA15D,0xA15E,0xA1AF,0xA1CF,0xA141,0xA1D0,0xA144,0xA241,
+0xA2AF,0xA2B0,0xA2B1,0xA2B2,0xA2B3,0xA2B4,0xA2B5,0xA2B6,
+0xA2B7,0xA2B8,0xA147,0xA146,0xA1D5,0xA1D7,0xA1D6,0xA148,
+0xA249,0xA2CF,0xA2D0,0xA2D1,0xA2D2,0xA2D3,0xA2D4,0xA2D5,
+0xA2D6,0xA2D7,0xA2D8,0xA2D9,0xA2DA,0xA2DB,0xA2DC,0xA2DD,
+0xA2DE,0xA2DF,0xA2E0,0xA2E1,0xA2E2,0xA2E3,0xA2E4,0xA2E5,
+0xA2E6,0xA2E7,0xA2E8, 0,0xA242, 0, 0,0xA1C4,
+ 0,0xA2E9,0xA2EA,0xA2EB,0xA2EC,0xA2ED,0xA2EE,0xA2EF,
+0xA2F0,0xA2F1,0xA2F2,0xA2F3,0xA2F4,0xA2F5,0xA2F6,0xA2F7,
+0xA2F8,0xA2F9,0xA2FA,0xA2FB,0xA2FC,0xA2FD,0xA2FE,0xA340,
+0xA341,0xA342,0xA343,0xA161,0xA155,0xA162, 0, 0,
+ 0, 0, 0, 0,0xA14E, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA2CE};
+
+static int func_uni_big5_onechar(int code){
+ if ((code>=0x00A2)&&(code<=0x00F7))
+ return(tab_uni_big50[code-0x00A2]);
+ if ((code>=0x02C7)&&(code<=0x0451))
+ return(tab_uni_big51[code-0x02C7]);
+ if ((code>=0x2013)&&(code<=0x22BF))
+ return(tab_uni_big52[code-0x2013]);
+ if ((code>=0x2460)&&(code<=0x2642))
+ return(tab_uni_big53[code-0x2460]);
+ if ((code>=0x3000)&&(code<=0x3129))
+ return(tab_uni_big54[code-0x3000]);
+ if ((code>=0x32A3)&&(code<=0x32A3))
+ return(tab_uni_big55[code-0x32A3]);
+ if ((code>=0x338E)&&(code<=0x33D5))
+ return(tab_uni_big56[code-0x338E]);
+ if ((code>=0x4E00)&&(code<=0x9483))
+ return(tab_uni_big57[code-0x4E00]);
+ if ((code>=0x9577)&&(code<=0x9FA4))
+ return(tab_uni_big58[code-0x9577]);
+ if ((code>=0xFA0C)&&(code<=0xFA0D))
+ return(tab_uni_big59[code-0xFA0C]);
+ if ((code>=0xFE30)&&(code<=0xFFFD))
+ return(tab_uni_big510[code-0xFE30]);
+ return(0);
+}
+
+
+int
+my_wc_mb_big5(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t wc, unsigned char *s, unsigned char *e)
+{
+
+ int code;
+
+ if(wc<0x80)
+ {
+ s[0]=wc;
+ return 1;
+ }
+
+ if(!(code=func_uni_big5_onechar(wc)))
+ return MY_CS_ILUNI;
+
+ if(s+2>e)
+ return MY_CS_TOOSMALL;
+
+ s[0]=code>>8;
+ s[1]=code&0xFF;
+
+ return 2;
+}
+
+int
+my_mb_wc_big5(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t *pwc,const uchar *s,const uchar *e)
+{
+
+ int hi=s[0];
+
+ if(hi<0x80)
+ {
+ pwc[0]=hi;
+ return 1;
+ }
+
+ if(s+2>e)
+ return MY_CS_TOOFEW(0);
+
+ if(!(pwc[0]=func_big5_uni_onechar((hi<<8)+s[1])))
+ return MY_CS_ILSEQ;
+
+ return 2;
+}
+
+
+#endif
diff --git a/strings/ctype-czech.c b/strings/ctype-czech.c
index 70f95e0d5d6..f3b7777a6d4 100644
--- a/strings/ctype-czech.c
+++ b/strings/ctype-czech.c
@@ -68,6 +68,7 @@
#include <my_global.h>
#include "m_string.h"
+#include "m_ctype.h"
#else
@@ -76,6 +77,8 @@
#endif
+#ifdef HAVE_CHARSET_czech
+
/*
These are four tables for four passes of the algorithm. Please see
below for what are the "special values"
@@ -279,7 +282,9 @@ int my_strxfrm_czech(uchar * dest, const uchar * src, int len)
/* Function strnncoll, actually strcoll, with Czech sorting, which expect
the length of the strings being specified */
-int my_strnncoll_czech(const uchar * s1, int len1, const uchar * s2, int len2)
+int my_strnncoll_czech(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar * s1, uint len1,
+ const uchar * s2, uint len2)
{
int v1, v2;
const uchar * p1, * p2, * store1, * store2;
@@ -291,8 +296,8 @@ int my_strnncoll_czech(const uchar * s1, int len1, const uchar * s2, int len2)
do
{
- NEXT_CMP_VALUE(s1, p1, store1, pass1, v1, len1);
- NEXT_CMP_VALUE(s2, p2, store2, pass2, v2, len2);
+ NEXT_CMP_VALUE(s1, p1, store1, pass1, v1, (int)len1);
+ NEXT_CMP_VALUE(s2, p2, store2, pass2, v2, (int)len2);
diff = v1 - v2;
if (diff != 0) return diff;
@@ -303,7 +308,9 @@ int my_strnncoll_czech(const uchar * s1, int len1, const uchar * s2, int len2)
/* Function strnxfrm, actually strxfrm, with Czech sorting, which expect
the length of the strings being specified */
-int my_strnxfrm_czech(uchar * dest, const uchar * src, int len, int srclen)
+int my_strnxfrm_czech(CHARSET_INFO *cs __attribute__((unused)),
+ uchar * dest, uint len,
+ const uchar * src, uint srclen)
{
int value;
const uchar * p, * store;
@@ -313,8 +320,8 @@ int my_strnxfrm_czech(uchar * dest, const uchar * src, int len, int srclen)
do
{
- NEXT_CMP_VALUE(src, p, store, pass, value, srclen);
- ADD_TO_RESULT(dest, len, totlen, value);
+ NEXT_CMP_VALUE(src, p, store, pass, value, (int)srclen);
+ ADD_TO_RESULT(dest, (int)len, totlen, value);
}
while (value);
return totlen;
@@ -371,7 +378,8 @@ int my_strnxfrm_czech(uchar * dest, const uchar * src, int len, int srclen)
#define EXAMPLE
-my_bool my_like_range_czech(const char *ptr,uint ptr_length,pchar escape,
+my_bool my_like_range_czech(CHARSET_INFO *cs __attribute__((unused)),
+ const char *ptr,uint ptr_length,pchar escape,
uint res_length, char *min_str,char *max_str,
uint *min_length,uint *max_length)
{
@@ -507,3 +515,5 @@ uchar NEAR sort_order_czech[] = {
};
#endif
+
+#endif
diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c
index d05ca518283..736a06f8139 100644
--- a/strings/ctype-euc_kr.c
+++ b/strings/ctype-euc_kr.c
@@ -28,6 +28,10 @@
#include <my_global.h>
#include "m_string.h"
+#include "m_ctype.h"
+
+#ifdef HAVE_CHARSET_euc_kr
+
uchar NEAR ctype_euc_kr[257] =
{
@@ -179,19 +183,8455 @@ uchar NEAR sort_order_euc_kr[]=
#define iseuc_kr(c) ((0xa1<=(uchar)(c) && (uchar)(c)<=0xfe))
-int ismbchar_euc_kr(const char* p, const char *e)
+int ismbchar_euc_kr(CHARSET_INFO *cs __attribute__((unused)),
+ const char* p, const char *e)
{
return ((*(uchar*)(p)<0x80)? 0:\
iseuc_kr(*(p)) && (e)-(p)>1 && iseuc_kr(*((p)+1))? 2:\
0);
}
-my_bool ismbhead_euc_kr(uint c)
+my_bool ismbhead_euc_kr(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (iseuc_kr(c));
}
-int mbcharlen_euc_kr(uint c)
+int mbcharlen_euc_kr(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (iseuc_kr(c) ? 2 : 0);
}
+
+
+/* page 0 0x8141-0xC8FE */
+static uint16 tab_ksc5601_uni0[]={
+0xAC02,0xAC03,0xAC05,0xAC06,0xAC0B,0xAC0C,0xAC0D,0xAC0E,
+0xAC0F,0xAC18,0xAC1E,0xAC1F,0xAC21,0xAC22,0xAC23,0xAC25,
+0xAC26,0xAC27,0xAC28,0xAC29,0xAC2A,0xAC2B,0xAC2E,0xAC32,
+0xAC33,0xAC34, 0, 0, 0, 0, 0, 0,
+0xAC35,0xAC36,0xAC37,0xAC3A,0xAC3B,0xAC3D,0xAC3E,0xAC3F,
+0xAC41,0xAC42,0xAC43,0xAC44,0xAC45,0xAC46,0xAC47,0xAC48,
+0xAC49,0xAC4A,0xAC4C,0xAC4E,0xAC4F,0xAC50,0xAC51,0xAC52,
+0xAC53,0xAC55, 0, 0, 0, 0, 0, 0,
+0xAC56,0xAC57,0xAC59,0xAC5A,0xAC5B,0xAC5D,0xAC5E,0xAC5F,
+0xAC60,0xAC61,0xAC62,0xAC63,0xAC64,0xAC65,0xAC66,0xAC67,
+0xAC68,0xAC69,0xAC6A,0xAC6B,0xAC6C,0xAC6D,0xAC6E,0xAC6F,
+0xAC72,0xAC73,0xAC75,0xAC76,0xAC79,0xAC7B,0xAC7C,0xAC7D,
+0xAC7E,0xAC7F,0xAC82,0xAC87,0xAC88,0xAC8D,0xAC8E,0xAC8F,
+0xAC91,0xAC92,0xAC93,0xAC95,0xAC96,0xAC97,0xAC98,0xAC99,
+0xAC9A,0xAC9B,0xAC9E,0xACA2,0xACA3,0xACA4,0xACA5,0xACA6,
+0xACA7,0xACAB,0xACAD,0xACAE,0xACB1,0xACB2,0xACB3,0xACB4,
+0xACB5,0xACB6,0xACB7,0xACBA,0xACBE,0xACBF,0xACC0,0xACC2,
+0xACC3,0xACC5,0xACC6,0xACC7,0xACC9,0xACCA,0xACCB,0xACCD,
+0xACCE,0xACCF,0xACD0,0xACD1,0xACD2,0xACD3,0xACD4,0xACD6,
+0xACD8,0xACD9,0xACDA,0xACDB,0xACDC,0xACDD,0xACDE,0xACDF,
+0xACE2,0xACE3,0xACE5,0xACE6,0xACE9,0xACEB,0xACED,0xACEE,
+0xACF2,0xACF4,0xACF7,0xACF8,0xACF9,0xACFA,0xACFB,0xACFE,
+0xACFF,0xAD01,0xAD02,0xAD03,0xAD05,0xAD07,0xAD08,0xAD09,
+0xAD0A,0xAD0B,0xAD0E,0xAD10,0xAD12,0xAD13, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xAD14,0xAD15,0xAD16,0xAD17,0xAD19,0xAD1A,0xAD1B,0xAD1D,
+0xAD1E,0xAD1F,0xAD21,0xAD22,0xAD23,0xAD24,0xAD25,0xAD26,
+0xAD27,0xAD28,0xAD2A,0xAD2B,0xAD2E,0xAD2F,0xAD30,0xAD31,
+0xAD32,0xAD33, 0, 0, 0, 0, 0, 0,
+0xAD36,0xAD37,0xAD39,0xAD3A,0xAD3B,0xAD3D,0xAD3E,0xAD3F,
+0xAD40,0xAD41,0xAD42,0xAD43,0xAD46,0xAD48,0xAD4A,0xAD4B,
+0xAD4C,0xAD4D,0xAD4E,0xAD4F,0xAD51,0xAD52,0xAD53,0xAD55,
+0xAD56,0xAD57, 0, 0, 0, 0, 0, 0,
+0xAD59,0xAD5A,0xAD5B,0xAD5C,0xAD5D,0xAD5E,0xAD5F,0xAD60,
+0xAD62,0xAD64,0xAD65,0xAD66,0xAD67,0xAD68,0xAD69,0xAD6A,
+0xAD6B,0xAD6E,0xAD6F,0xAD71,0xAD72,0xAD77,0xAD78,0xAD79,
+0xAD7A,0xAD7E,0xAD80,0xAD83,0xAD84,0xAD85,0xAD86,0xAD87,
+0xAD8A,0xAD8B,0xAD8D,0xAD8E,0xAD8F,0xAD91,0xAD92,0xAD93,
+0xAD94,0xAD95,0xAD96,0xAD97,0xAD98,0xAD99,0xAD9A,0xAD9B,
+0xAD9E,0xAD9F,0xADA0,0xADA1,0xADA2,0xADA3,0xADA5,0xADA6,
+0xADA7,0xADA8,0xADA9,0xADAA,0xADAB,0xADAC,0xADAD,0xADAE,
+0xADAF,0xADB0,0xADB1,0xADB2,0xADB3,0xADB4,0xADB5,0xADB6,
+0xADB8,0xADB9,0xADBA,0xADBB,0xADBC,0xADBD,0xADBE,0xADBF,
+0xADC2,0xADC3,0xADC5,0xADC6,0xADC7,0xADC9,0xADCA,0xADCB,
+0xADCC,0xADCD,0xADCE,0xADCF,0xADD2,0xADD4,0xADD5,0xADD6,
+0xADD7,0xADD8,0xADD9,0xADDA,0xADDB,0xADDD,0xADDE,0xADDF,
+0xADE1,0xADE2,0xADE3,0xADE5,0xADE6,0xADE7,0xADE8,0xADE9,
+0xADEA,0xADEB,0xADEC,0xADED,0xADEE,0xADEF,0xADF0,0xADF1,
+0xADF2,0xADF3,0xADF4,0xADF5,0xADF6,0xADF7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xADFA,0xADFB,0xADFD,0xADFE,0xAE02,0xAE03,0xAE04,0xAE05,
+0xAE06,0xAE07,0xAE0A,0xAE0C,0xAE0E,0xAE0F,0xAE10,0xAE11,
+0xAE12,0xAE13,0xAE15,0xAE16,0xAE17,0xAE18,0xAE19,0xAE1A,
+0xAE1B,0xAE1C, 0, 0, 0, 0, 0, 0,
+0xAE1D,0xAE1E,0xAE1F,0xAE20,0xAE21,0xAE22,0xAE23,0xAE24,
+0xAE25,0xAE26,0xAE27,0xAE28,0xAE29,0xAE2A,0xAE2B,0xAE2C,
+0xAE2D,0xAE2E,0xAE2F,0xAE32,0xAE33,0xAE35,0xAE36,0xAE39,
+0xAE3B,0xAE3C, 0, 0, 0, 0, 0, 0,
+0xAE3D,0xAE3E,0xAE3F,0xAE42,0xAE44,0xAE47,0xAE48,0xAE49,
+0xAE4B,0xAE4F,0xAE51,0xAE52,0xAE53,0xAE55,0xAE57,0xAE58,
+0xAE59,0xAE5A,0xAE5B,0xAE5E,0xAE62,0xAE63,0xAE64,0xAE66,
+0xAE67,0xAE6A,0xAE6B,0xAE6D,0xAE6E,0xAE6F,0xAE71,0xAE72,
+0xAE73,0xAE74,0xAE75,0xAE76,0xAE77,0xAE7A,0xAE7E,0xAE7F,
+0xAE80,0xAE81,0xAE82,0xAE83,0xAE86,0xAE87,0xAE88,0xAE89,
+0xAE8A,0xAE8B,0xAE8D,0xAE8E,0xAE8F,0xAE90,0xAE91,0xAE92,
+0xAE93,0xAE94,0xAE95,0xAE96,0xAE97,0xAE98,0xAE99,0xAE9A,
+0xAE9B,0xAE9C,0xAE9D,0xAE9E,0xAE9F,0xAEA0,0xAEA1,0xAEA2,
+0xAEA3,0xAEA4,0xAEA5,0xAEA6,0xAEA7,0xAEA8,0xAEA9,0xAEAA,
+0xAEAB,0xAEAC,0xAEAD,0xAEAE,0xAEAF,0xAEB0,0xAEB1,0xAEB2,
+0xAEB3,0xAEB4,0xAEB5,0xAEB6,0xAEB7,0xAEB8,0xAEB9,0xAEBA,
+0xAEBB,0xAEBF,0xAEC1,0xAEC2,0xAEC3,0xAEC5,0xAEC6,0xAEC7,
+0xAEC8,0xAEC9,0xAECA,0xAECB,0xAECE,0xAED2,0xAED3,0xAED4,
+0xAED5,0xAED6,0xAED7,0xAEDA,0xAEDB,0xAEDD,0xAEDE,0xAEDF,
+0xAEE0,0xAEE1,0xAEE2,0xAEE3,0xAEE4,0xAEE5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xAEE6,0xAEE7,0xAEE9,0xAEEA,0xAEEC,0xAEEE,0xAEEF,0xAEF0,
+0xAEF1,0xAEF2,0xAEF3,0xAEF5,0xAEF6,0xAEF7,0xAEF9,0xAEFA,
+0xAEFB,0xAEFD,0xAEFE,0xAEFF,0xAF00,0xAF01,0xAF02,0xAF03,
+0xAF04,0xAF05, 0, 0, 0, 0, 0, 0,
+0xAF06,0xAF09,0xAF0A,0xAF0B,0xAF0C,0xAF0E,0xAF0F,0xAF11,
+0xAF12,0xAF13,0xAF14,0xAF15,0xAF16,0xAF17,0xAF18,0xAF19,
+0xAF1A,0xAF1B,0xAF1C,0xAF1D,0xAF1E,0xAF1F,0xAF20,0xAF21,
+0xAF22,0xAF23, 0, 0, 0, 0, 0, 0,
+0xAF24,0xAF25,0xAF26,0xAF27,0xAF28,0xAF29,0xAF2A,0xAF2B,
+0xAF2E,0xAF2F,0xAF31,0xAF33,0xAF35,0xAF36,0xAF37,0xAF38,
+0xAF39,0xAF3A,0xAF3B,0xAF3E,0xAF40,0xAF44,0xAF45,0xAF46,
+0xAF47,0xAF4A,0xAF4B,0xAF4C,0xAF4D,0xAF4E,0xAF4F,0xAF51,
+0xAF52,0xAF53,0xAF54,0xAF55,0xAF56,0xAF57,0xAF58,0xAF59,
+0xAF5A,0xAF5B,0xAF5E,0xAF5F,0xAF60,0xAF61,0xAF62,0xAF63,
+0xAF66,0xAF67,0xAF68,0xAF69,0xAF6A,0xAF6B,0xAF6C,0xAF6D,
+0xAF6E,0xAF6F,0xAF70,0xAF71,0xAF72,0xAF73,0xAF74,0xAF75,
+0xAF76,0xAF77,0xAF78,0xAF7A,0xAF7B,0xAF7C,0xAF7D,0xAF7E,
+0xAF7F,0xAF81,0xAF82,0xAF83,0xAF85,0xAF86,0xAF87,0xAF89,
+0xAF8A,0xAF8B,0xAF8C,0xAF8D,0xAF8E,0xAF8F,0xAF92,0xAF93,
+0xAF94,0xAF96,0xAF97,0xAF98,0xAF99,0xAF9A,0xAF9B,0xAF9D,
+0xAF9E,0xAF9F,0xAFA0,0xAFA1,0xAFA2,0xAFA3,0xAFA4,0xAFA5,
+0xAFA6,0xAFA7,0xAFA8,0xAFA9,0xAFAA,0xAFAB,0xAFAC,0xAFAD,
+0xAFAE,0xAFAF,0xAFB0,0xAFB1,0xAFB2,0xAFB3,0xAFB4,0xAFB5,
+0xAFB6,0xAFB7,0xAFBA,0xAFBB,0xAFBD,0xAFBE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xAFBF,0xAFC1,0xAFC2,0xAFC3,0xAFC4,0xAFC5,0xAFC6,0xAFCA,
+0xAFCC,0xAFCF,0xAFD0,0xAFD1,0xAFD2,0xAFD3,0xAFD5,0xAFD6,
+0xAFD7,0xAFD8,0xAFD9,0xAFDA,0xAFDB,0xAFDD,0xAFDE,0xAFDF,
+0xAFE0,0xAFE1, 0, 0, 0, 0, 0, 0,
+0xAFE2,0xAFE3,0xAFE4,0xAFE5,0xAFE6,0xAFE7,0xAFEA,0xAFEB,
+0xAFEC,0xAFED,0xAFEE,0xAFEF,0xAFF2,0xAFF3,0xAFF5,0xAFF6,
+0xAFF7,0xAFF9,0xAFFA,0xAFFB,0xAFFC,0xAFFD,0xAFFE,0xAFFF,
+0xB002,0xB003, 0, 0, 0, 0, 0, 0,
+0xB005,0xB006,0xB007,0xB008,0xB009,0xB00A,0xB00B,0xB00D,
+0xB00E,0xB00F,0xB011,0xB012,0xB013,0xB015,0xB016,0xB017,
+0xB018,0xB019,0xB01A,0xB01B,0xB01E,0xB01F,0xB020,0xB021,
+0xB022,0xB023,0xB024,0xB025,0xB026,0xB027,0xB029,0xB02A,
+0xB02B,0xB02C,0xB02D,0xB02E,0xB02F,0xB030,0xB031,0xB032,
+0xB033,0xB034,0xB035,0xB036,0xB037,0xB038,0xB039,0xB03A,
+0xB03B,0xB03C,0xB03D,0xB03E,0xB03F,0xB040,0xB041,0xB042,
+0xB043,0xB046,0xB047,0xB049,0xB04B,0xB04D,0xB04F,0xB050,
+0xB051,0xB052,0xB056,0xB058,0xB05A,0xB05B,0xB05C,0xB05E,
+0xB05F,0xB060,0xB061,0xB062,0xB063,0xB064,0xB065,0xB066,
+0xB067,0xB068,0xB069,0xB06A,0xB06B,0xB06C,0xB06D,0xB06E,
+0xB06F,0xB070,0xB071,0xB072,0xB073,0xB074,0xB075,0xB076,
+0xB077,0xB078,0xB079,0xB07A,0xB07B,0xB07E,0xB07F,0xB081,
+0xB082,0xB083,0xB085,0xB086,0xB087,0xB088,0xB089,0xB08A,
+0xB08B,0xB08E,0xB090,0xB092,0xB093,0xB094,0xB095,0xB096,
+0xB097,0xB09B,0xB09D,0xB09E,0xB0A3,0xB0A4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB0A5,0xB0A6,0xB0A7,0xB0AA,0xB0B0,0xB0B2,0xB0B6,0xB0B7,
+0xB0B9,0xB0BA,0xB0BB,0xB0BD,0xB0BE,0xB0BF,0xB0C0,0xB0C1,
+0xB0C2,0xB0C3,0xB0C6,0xB0CA,0xB0CB,0xB0CC,0xB0CD,0xB0CE,
+0xB0CF,0xB0D2, 0, 0, 0, 0, 0, 0,
+0xB0D3,0xB0D5,0xB0D6,0xB0D7,0xB0D9,0xB0DA,0xB0DB,0xB0DC,
+0xB0DD,0xB0DE,0xB0DF,0xB0E1,0xB0E2,0xB0E3,0xB0E4,0xB0E6,
+0xB0E7,0xB0E8,0xB0E9,0xB0EA,0xB0EB,0xB0EC,0xB0ED,0xB0EE,
+0xB0EF,0xB0F0, 0, 0, 0, 0, 0, 0,
+0xB0F1,0xB0F2,0xB0F3,0xB0F4,0xB0F5,0xB0F6,0xB0F7,0xB0F8,
+0xB0F9,0xB0FA,0xB0FB,0xB0FC,0xB0FD,0xB0FE,0xB0FF,0xB100,
+0xB101,0xB102,0xB103,0xB104,0xB105,0xB106,0xB107,0xB10A,
+0xB10D,0xB10E,0xB10F,0xB111,0xB114,0xB115,0xB116,0xB117,
+0xB11A,0xB11E,0xB11F,0xB120,0xB121,0xB122,0xB126,0xB127,
+0xB129,0xB12A,0xB12B,0xB12D,0xB12E,0xB12F,0xB130,0xB131,
+0xB132,0xB133,0xB136,0xB13A,0xB13B,0xB13C,0xB13D,0xB13E,
+0xB13F,0xB142,0xB143,0xB145,0xB146,0xB147,0xB149,0xB14A,
+0xB14B,0xB14C,0xB14D,0xB14E,0xB14F,0xB152,0xB153,0xB156,
+0xB157,0xB159,0xB15A,0xB15B,0xB15D,0xB15E,0xB15F,0xB161,
+0xB162,0xB163,0xB164,0xB165,0xB166,0xB167,0xB168,0xB169,
+0xB16A,0xB16B,0xB16C,0xB16D,0xB16E,0xB16F,0xB170,0xB171,
+0xB172,0xB173,0xB174,0xB175,0xB176,0xB177,0xB17A,0xB17B,
+0xB17D,0xB17E,0xB17F,0xB181,0xB183,0xB184,0xB185,0xB186,
+0xB187,0xB18A,0xB18C,0xB18E,0xB18F,0xB190,0xB191,0xB195,
+0xB196,0xB197,0xB199,0xB19A,0xB19B,0xB19D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB19E,0xB19F,0xB1A0,0xB1A1,0xB1A2,0xB1A3,0xB1A4,0xB1A5,
+0xB1A6,0xB1A7,0xB1A9,0xB1AA,0xB1AB,0xB1AC,0xB1AD,0xB1AE,
+0xB1AF,0xB1B0,0xB1B1,0xB1B2,0xB1B3,0xB1B4,0xB1B5,0xB1B6,
+0xB1B7,0xB1B8, 0, 0, 0, 0, 0, 0,
+0xB1B9,0xB1BA,0xB1BB,0xB1BC,0xB1BD,0xB1BE,0xB1BF,0xB1C0,
+0xB1C1,0xB1C2,0xB1C3,0xB1C4,0xB1C5,0xB1C6,0xB1C7,0xB1C8,
+0xB1C9,0xB1CA,0xB1CB,0xB1CD,0xB1CE,0xB1CF,0xB1D1,0xB1D2,
+0xB1D3,0xB1D5, 0, 0, 0, 0, 0, 0,
+0xB1D6,0xB1D7,0xB1D8,0xB1D9,0xB1DA,0xB1DB,0xB1DE,0xB1E0,
+0xB1E1,0xB1E2,0xB1E3,0xB1E4,0xB1E5,0xB1E6,0xB1E7,0xB1EA,
+0xB1EB,0xB1ED,0xB1EE,0xB1EF,0xB1F1,0xB1F2,0xB1F3,0xB1F4,
+0xB1F5,0xB1F6,0xB1F7,0xB1F8,0xB1FA,0xB1FC,0xB1FE,0xB1FF,
+0xB200,0xB201,0xB202,0xB203,0xB206,0xB207,0xB209,0xB20A,
+0xB20D,0xB20E,0xB20F,0xB210,0xB211,0xB212,0xB213,0xB216,
+0xB218,0xB21A,0xB21B,0xB21C,0xB21D,0xB21E,0xB21F,0xB221,
+0xB222,0xB223,0xB224,0xB225,0xB226,0xB227,0xB228,0xB229,
+0xB22A,0xB22B,0xB22C,0xB22D,0xB22E,0xB22F,0xB230,0xB231,
+0xB232,0xB233,0xB235,0xB236,0xB237,0xB238,0xB239,0xB23A,
+0xB23B,0xB23D,0xB23E,0xB23F,0xB240,0xB241,0xB242,0xB243,
+0xB244,0xB245,0xB246,0xB247,0xB248,0xB249,0xB24A,0xB24B,
+0xB24C,0xB24D,0xB24E,0xB24F,0xB250,0xB251,0xB252,0xB253,
+0xB254,0xB255,0xB256,0xB257,0xB259,0xB25A,0xB25B,0xB25D,
+0xB25E,0xB25F,0xB261,0xB262,0xB263,0xB264,0xB265,0xB266,
+0xB267,0xB26A,0xB26B,0xB26C,0xB26D,0xB26E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB26F,0xB270,0xB271,0xB272,0xB273,0xB276,0xB277,0xB278,
+0xB279,0xB27A,0xB27B,0xB27D,0xB27E,0xB27F,0xB280,0xB281,
+0xB282,0xB283,0xB286,0xB287,0xB288,0xB28A,0xB28B,0xB28C,
+0xB28D,0xB28E, 0, 0, 0, 0, 0, 0,
+0xB28F,0xB292,0xB293,0xB295,0xB296,0xB297,0xB29B,0xB29C,
+0xB29D,0xB29E,0xB29F,0xB2A2,0xB2A4,0xB2A7,0xB2A8,0xB2A9,
+0xB2AB,0xB2AD,0xB2AE,0xB2AF,0xB2B1,0xB2B2,0xB2B3,0xB2B5,
+0xB2B6,0xB2B7, 0, 0, 0, 0, 0, 0,
+0xB2B8,0xB2B9,0xB2BA,0xB2BB,0xB2BC,0xB2BD,0xB2BE,0xB2BF,
+0xB2C0,0xB2C1,0xB2C2,0xB2C3,0xB2C4,0xB2C5,0xB2C6,0xB2C7,
+0xB2CA,0xB2CB,0xB2CD,0xB2CE,0xB2CF,0xB2D1,0xB2D3,0xB2D4,
+0xB2D5,0xB2D6,0xB2D7,0xB2DA,0xB2DC,0xB2DE,0xB2DF,0xB2E0,
+0xB2E1,0xB2E3,0xB2E7,0xB2E9,0xB2EA,0xB2F0,0xB2F1,0xB2F2,
+0xB2F6,0xB2FC,0xB2FD,0xB2FE,0xB302,0xB303,0xB305,0xB306,
+0xB307,0xB309,0xB30A,0xB30B,0xB30C,0xB30D,0xB30E,0xB30F,
+0xB312,0xB316,0xB317,0xB318,0xB319,0xB31A,0xB31B,0xB31D,
+0xB31E,0xB31F,0xB320,0xB321,0xB322,0xB323,0xB324,0xB325,
+0xB326,0xB327,0xB328,0xB329,0xB32A,0xB32B,0xB32C,0xB32D,
+0xB32E,0xB32F,0xB330,0xB331,0xB332,0xB333,0xB334,0xB335,
+0xB336,0xB337,0xB338,0xB339,0xB33A,0xB33B,0xB33C,0xB33D,
+0xB33E,0xB33F,0xB340,0xB341,0xB342,0xB343,0xB344,0xB345,
+0xB346,0xB347,0xB348,0xB349,0xB34A,0xB34B,0xB34C,0xB34D,
+0xB34E,0xB34F,0xB350,0xB351,0xB352,0xB353,0xB357,0xB359,
+0xB35A,0xB35D,0xB360,0xB361,0xB362,0xB363, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB366,0xB368,0xB36A,0xB36C,0xB36D,0xB36F,0xB372,0xB373,
+0xB375,0xB376,0xB377,0xB379,0xB37A,0xB37B,0xB37C,0xB37D,
+0xB37E,0xB37F,0xB382,0xB386,0xB387,0xB388,0xB389,0xB38A,
+0xB38B,0xB38D, 0, 0, 0, 0, 0, 0,
+0xB38E,0xB38F,0xB391,0xB392,0xB393,0xB395,0xB396,0xB397,
+0xB398,0xB399,0xB39A,0xB39B,0xB39C,0xB39D,0xB39E,0xB39F,
+0xB3A2,0xB3A3,0xB3A4,0xB3A5,0xB3A6,0xB3A7,0xB3A9,0xB3AA,
+0xB3AB,0xB3AD, 0, 0, 0, 0, 0, 0,
+0xB3AE,0xB3AF,0xB3B0,0xB3B1,0xB3B2,0xB3B3,0xB3B4,0xB3B5,
+0xB3B6,0xB3B7,0xB3B8,0xB3B9,0xB3BA,0xB3BB,0xB3BC,0xB3BD,
+0xB3BE,0xB3BF,0xB3C0,0xB3C1,0xB3C2,0xB3C3,0xB3C6,0xB3C7,
+0xB3C9,0xB3CA,0xB3CD,0xB3CF,0xB3D1,0xB3D2,0xB3D3,0xB3D6,
+0xB3D8,0xB3DA,0xB3DC,0xB3DE,0xB3DF,0xB3E1,0xB3E2,0xB3E3,
+0xB3E5,0xB3E6,0xB3E7,0xB3E9,0xB3EA,0xB3EB,0xB3EC,0xB3ED,
+0xB3EE,0xB3EF,0xB3F0,0xB3F1,0xB3F2,0xB3F3,0xB3F4,0xB3F5,
+0xB3F6,0xB3F7,0xB3F8,0xB3F9,0xB3FA,0xB3FB,0xB3FD,0xB3FE,
+0xB3FF,0xB400,0xB401,0xB402,0xB403,0xB404,0xB405,0xB406,
+0xB407,0xB408,0xB409,0xB40A,0xB40B,0xB40C,0xB40D,0xB40E,
+0xB40F,0xB411,0xB412,0xB413,0xB414,0xB415,0xB416,0xB417,
+0xB419,0xB41A,0xB41B,0xB41D,0xB41E,0xB41F,0xB421,0xB422,
+0xB423,0xB424,0xB425,0xB426,0xB427,0xB42A,0xB42C,0xB42D,
+0xB42E,0xB42F,0xB430,0xB431,0xB432,0xB433,0xB435,0xB436,
+0xB437,0xB438,0xB439,0xB43A,0xB43B,0xB43C,0xB43D,0xB43E,
+0xB43F,0xB440,0xB441,0xB442,0xB443,0xB444, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB445,0xB446,0xB447,0xB448,0xB449,0xB44A,0xB44B,0xB44C,
+0xB44D,0xB44E,0xB44F,0xB452,0xB453,0xB455,0xB456,0xB457,
+0xB459,0xB45A,0xB45B,0xB45C,0xB45D,0xB45E,0xB45F,0xB462,
+0xB464,0xB466, 0, 0, 0, 0, 0, 0,
+0xB467,0xB468,0xB469,0xB46A,0xB46B,0xB46D,0xB46E,0xB46F,
+0xB470,0xB471,0xB472,0xB473,0xB474,0xB475,0xB476,0xB477,
+0xB478,0xB479,0xB47A,0xB47B,0xB47C,0xB47D,0xB47E,0xB47F,
+0xB481,0xB482, 0, 0, 0, 0, 0, 0,
+0xB483,0xB484,0xB485,0xB486,0xB487,0xB489,0xB48A,0xB48B,
+0xB48C,0xB48D,0xB48E,0xB48F,0xB490,0xB491,0xB492,0xB493,
+0xB494,0xB495,0xB496,0xB497,0xB498,0xB499,0xB49A,0xB49B,
+0xB49C,0xB49E,0xB49F,0xB4A0,0xB4A1,0xB4A2,0xB4A3,0xB4A5,
+0xB4A6,0xB4A7,0xB4A9,0xB4AA,0xB4AB,0xB4AD,0xB4AE,0xB4AF,
+0xB4B0,0xB4B1,0xB4B2,0xB4B3,0xB4B4,0xB4B6,0xB4B8,0xB4BA,
+0xB4BB,0xB4BC,0xB4BD,0xB4BE,0xB4BF,0xB4C1,0xB4C2,0xB4C3,
+0xB4C5,0xB4C6,0xB4C7,0xB4C9,0xB4CA,0xB4CB,0xB4CC,0xB4CD,
+0xB4CE,0xB4CF,0xB4D1,0xB4D2,0xB4D3,0xB4D4,0xB4D6,0xB4D7,
+0xB4D8,0xB4D9,0xB4DA,0xB4DB,0xB4DE,0xB4DF,0xB4E1,0xB4E2,
+0xB4E5,0xB4E7,0xB4E8,0xB4E9,0xB4EA,0xB4EB,0xB4EE,0xB4F0,
+0xB4F2,0xB4F3,0xB4F4,0xB4F5,0xB4F6,0xB4F7,0xB4F9,0xB4FA,
+0xB4FB,0xB4FC,0xB4FD,0xB4FE,0xB4FF,0xB500,0xB501,0xB502,
+0xB503,0xB504,0xB505,0xB506,0xB507,0xB508,0xB509,0xB50A,
+0xB50B,0xB50C,0xB50D,0xB50E,0xB50F,0xB510,0xB511,0xB512,
+0xB513,0xB516,0xB517,0xB519,0xB51A,0xB51D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB51E,0xB51F,0xB520,0xB521,0xB522,0xB523,0xB526,0xB52B,
+0xB52C,0xB52D,0xB52E,0xB52F,0xB532,0xB533,0xB535,0xB536,
+0xB537,0xB539,0xB53A,0xB53B,0xB53C,0xB53D,0xB53E,0xB53F,
+0xB542,0xB546, 0, 0, 0, 0, 0, 0,
+0xB547,0xB548,0xB549,0xB54A,0xB54E,0xB54F,0xB551,0xB552,
+0xB553,0xB555,0xB556,0xB557,0xB558,0xB559,0xB55A,0xB55B,
+0xB55E,0xB562,0xB563,0xB564,0xB565,0xB566,0xB567,0xB568,
+0xB569,0xB56A, 0, 0, 0, 0, 0, 0,
+0xB56B,0xB56C,0xB56D,0xB56E,0xB56F,0xB570,0xB571,0xB572,
+0xB573,0xB574,0xB575,0xB576,0xB577,0xB578,0xB579,0xB57A,
+0xB57B,0xB57C,0xB57D,0xB57E,0xB57F,0xB580,0xB581,0xB582,
+0xB583,0xB584,0xB585,0xB586,0xB587,0xB588,0xB589,0xB58A,
+0xB58B,0xB58C,0xB58D,0xB58E,0xB58F,0xB590,0xB591,0xB592,
+0xB593,0xB594,0xB595,0xB596,0xB597,0xB598,0xB599,0xB59A,
+0xB59B,0xB59C,0xB59D,0xB59E,0xB59F,0xB5A2,0xB5A3,0xB5A5,
+0xB5A6,0xB5A7,0xB5A9,0xB5AC,0xB5AD,0xB5AE,0xB5AF,0xB5B2,
+0xB5B6,0xB5B7,0xB5B8,0xB5B9,0xB5BA,0xB5BE,0xB5BF,0xB5C1,
+0xB5C2,0xB5C3,0xB5C5,0xB5C6,0xB5C7,0xB5C8,0xB5C9,0xB5CA,
+0xB5CB,0xB5CE,0xB5D2,0xB5D3,0xB5D4,0xB5D5,0xB5D6,0xB5D7,
+0xB5D9,0xB5DA,0xB5DB,0xB5DC,0xB5DD,0xB5DE,0xB5DF,0xB5E0,
+0xB5E1,0xB5E2,0xB5E3,0xB5E4,0xB5E5,0xB5E6,0xB5E7,0xB5E8,
+0xB5E9,0xB5EA,0xB5EB,0xB5ED,0xB5EE,0xB5EF,0xB5F0,0xB5F1,
+0xB5F2,0xB5F3,0xB5F4,0xB5F5,0xB5F6,0xB5F7,0xB5F8,0xB5F9,
+0xB5FA,0xB5FB,0xB5FC,0xB5FD,0xB5FE,0xB5FF, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB600,0xB601,0xB602,0xB603,0xB604,0xB605,0xB606,0xB607,
+0xB608,0xB609,0xB60A,0xB60B,0xB60C,0xB60D,0xB60E,0xB60F,
+0xB612,0xB613,0xB615,0xB616,0xB617,0xB619,0xB61A,0xB61B,
+0xB61C,0xB61D, 0, 0, 0, 0, 0, 0,
+0xB61E,0xB61F,0xB620,0xB621,0xB622,0xB623,0xB624,0xB626,
+0xB627,0xB628,0xB629,0xB62A,0xB62B,0xB62D,0xB62E,0xB62F,
+0xB630,0xB631,0xB632,0xB633,0xB635,0xB636,0xB637,0xB638,
+0xB639,0xB63A, 0, 0, 0, 0, 0, 0,
+0xB63B,0xB63C,0xB63D,0xB63E,0xB63F,0xB640,0xB641,0xB642,
+0xB643,0xB644,0xB645,0xB646,0xB647,0xB649,0xB64A,0xB64B,
+0xB64C,0xB64D,0xB64E,0xB64F,0xB650,0xB651,0xB652,0xB653,
+0xB654,0xB655,0xB656,0xB657,0xB658,0xB659,0xB65A,0xB65B,
+0xB65C,0xB65D,0xB65E,0xB65F,0xB660,0xB661,0xB662,0xB663,
+0xB665,0xB666,0xB667,0xB669,0xB66A,0xB66B,0xB66C,0xB66D,
+0xB66E,0xB66F,0xB670,0xB671,0xB672,0xB673,0xB674,0xB675,
+0xB676,0xB677,0xB678,0xB679,0xB67A,0xB67B,0xB67C,0xB67D,
+0xB67E,0xB67F,0xB680,0xB681,0xB682,0xB683,0xB684,0xB685,
+0xB686,0xB687,0xB688,0xB689,0xB68A,0xB68B,0xB68C,0xB68D,
+0xB68E,0xB68F,0xB690,0xB691,0xB692,0xB693,0xB694,0xB695,
+0xB696,0xB697,0xB698,0xB699,0xB69A,0xB69B,0xB69E,0xB69F,
+0xB6A1,0xB6A2,0xB6A3,0xB6A5,0xB6A6,0xB6A7,0xB6A8,0xB6A9,
+0xB6AA,0xB6AD,0xB6AE,0xB6AF,0xB6B0,0xB6B2,0xB6B3,0xB6B4,
+0xB6B5,0xB6B6,0xB6B7,0xB6B8,0xB6B9,0xB6BA,0xB6BB,0xB6BC,
+0xB6BD,0xB6BE,0xB6BF,0xB6C0,0xB6C1,0xB6C2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB6C3,0xB6C4,0xB6C5,0xB6C6,0xB6C7,0xB6C8,0xB6C9,0xB6CA,
+0xB6CB,0xB6CC,0xB6CD,0xB6CE,0xB6CF,0xB6D0,0xB6D1,0xB6D2,
+0xB6D3,0xB6D5,0xB6D6,0xB6D7,0xB6D8,0xB6D9,0xB6DA,0xB6DB,
+0xB6DC,0xB6DD, 0, 0, 0, 0, 0, 0,
+0xB6DE,0xB6DF,0xB6E0,0xB6E1,0xB6E2,0xB6E3,0xB6E4,0xB6E5,
+0xB6E6,0xB6E7,0xB6E8,0xB6E9,0xB6EA,0xB6EB,0xB6EC,0xB6ED,
+0xB6EE,0xB6EF,0xB6F1,0xB6F2,0xB6F3,0xB6F5,0xB6F6,0xB6F7,
+0xB6F9,0xB6FA, 0, 0, 0, 0, 0, 0,
+0xB6FB,0xB6FC,0xB6FD,0xB6FE,0xB6FF,0xB702,0xB703,0xB704,
+0xB706,0xB707,0xB708,0xB709,0xB70A,0xB70B,0xB70C,0xB70D,
+0xB70E,0xB70F,0xB710,0xB711,0xB712,0xB713,0xB714,0xB715,
+0xB716,0xB717,0xB718,0xB719,0xB71A,0xB71B,0xB71C,0xB71D,
+0xB71E,0xB71F,0xB720,0xB721,0xB722,0xB723,0xB724,0xB725,
+0xB726,0xB727,0xB72A,0xB72B,0xB72D,0xB72E,0xB731,0xB732,
+0xB733,0xB734,0xB735,0xB736,0xB737,0xB73A,0xB73C,0xB73D,
+0xB73E,0xB73F,0xB740,0xB741,0xB742,0xB743,0xB745,0xB746,
+0xB747,0xB749,0xB74A,0xB74B,0xB74D,0xB74E,0xB74F,0xB750,
+0xB751,0xB752,0xB753,0xB756,0xB757,0xB758,0xB759,0xB75A,
+0xB75B,0xB75C,0xB75D,0xB75E,0xB75F,0xB761,0xB762,0xB763,
+0xB765,0xB766,0xB767,0xB769,0xB76A,0xB76B,0xB76C,0xB76D,
+0xB76E,0xB76F,0xB772,0xB774,0xB776,0xB777,0xB778,0xB779,
+0xB77A,0xB77B,0xB77E,0xB77F,0xB781,0xB782,0xB783,0xB785,
+0xB786,0xB787,0xB788,0xB789,0xB78A,0xB78B,0xB78E,0xB793,
+0xB794,0xB795,0xB79A,0xB79B,0xB79D,0xB79E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB79F,0xB7A1,0xB7A2,0xB7A3,0xB7A4,0xB7A5,0xB7A6,0xB7A7,
+0xB7AA,0xB7AE,0xB7AF,0xB7B0,0xB7B1,0xB7B2,0xB7B3,0xB7B6,
+0xB7B7,0xB7B9,0xB7BA,0xB7BB,0xB7BC,0xB7BD,0xB7BE,0xB7BF,
+0xB7C0,0xB7C1, 0, 0, 0, 0, 0, 0,
+0xB7C2,0xB7C3,0xB7C4,0xB7C5,0xB7C6,0xB7C8,0xB7CA,0xB7CB,
+0xB7CC,0xB7CD,0xB7CE,0xB7CF,0xB7D0,0xB7D1,0xB7D2,0xB7D3,
+0xB7D4,0xB7D5,0xB7D6,0xB7D7,0xB7D8,0xB7D9,0xB7DA,0xB7DB,
+0xB7DC,0xB7DD, 0, 0, 0, 0, 0, 0,
+0xB7DE,0xB7DF,0xB7E0,0xB7E1,0xB7E2,0xB7E3,0xB7E4,0xB7E5,
+0xB7E6,0xB7E7,0xB7E8,0xB7E9,0xB7EA,0xB7EB,0xB7EE,0xB7EF,
+0xB7F1,0xB7F2,0xB7F3,0xB7F5,0xB7F6,0xB7F7,0xB7F8,0xB7F9,
+0xB7FA,0xB7FB,0xB7FE,0xB802,0xB803,0xB804,0xB805,0xB806,
+0xB80A,0xB80B,0xB80D,0xB80E,0xB80F,0xB811,0xB812,0xB813,
+0xB814,0xB815,0xB816,0xB817,0xB81A,0xB81C,0xB81E,0xB81F,
+0xB820,0xB821,0xB822,0xB823,0xB826,0xB827,0xB829,0xB82A,
+0xB82B,0xB82D,0xB82E,0xB82F,0xB830,0xB831,0xB832,0xB833,
+0xB836,0xB83A,0xB83B,0xB83C,0xB83D,0xB83E,0xB83F,0xB841,
+0xB842,0xB843,0xB845,0xB846,0xB847,0xB848,0xB849,0xB84A,
+0xB84B,0xB84C,0xB84D,0xB84E,0xB84F,0xB850,0xB852,0xB854,
+0xB855,0xB856,0xB857,0xB858,0xB859,0xB85A,0xB85B,0xB85E,
+0xB85F,0xB861,0xB862,0xB863,0xB865,0xB866,0xB867,0xB868,
+0xB869,0xB86A,0xB86B,0xB86E,0xB870,0xB872,0xB873,0xB874,
+0xB875,0xB876,0xB877,0xB879,0xB87A,0xB87B,0xB87D,0xB87E,
+0xB87F,0xB880,0xB881,0xB882,0xB883,0xB884, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB885,0xB886,0xB887,0xB888,0xB889,0xB88A,0xB88B,0xB88C,
+0xB88E,0xB88F,0xB890,0xB891,0xB892,0xB893,0xB894,0xB895,
+0xB896,0xB897,0xB898,0xB899,0xB89A,0xB89B,0xB89C,0xB89D,
+0xB89E,0xB89F, 0, 0, 0, 0, 0, 0,
+0xB8A0,0xB8A1,0xB8A2,0xB8A3,0xB8A4,0xB8A5,0xB8A6,0xB8A7,
+0xB8A9,0xB8AA,0xB8AB,0xB8AC,0xB8AD,0xB8AE,0xB8AF,0xB8B1,
+0xB8B2,0xB8B3,0xB8B5,0xB8B6,0xB8B7,0xB8B9,0xB8BA,0xB8BB,
+0xB8BC,0xB8BD, 0, 0, 0, 0, 0, 0,
+0xB8BE,0xB8BF,0xB8C2,0xB8C4,0xB8C6,0xB8C7,0xB8C8,0xB8C9,
+0xB8CA,0xB8CB,0xB8CD,0xB8CE,0xB8CF,0xB8D1,0xB8D2,0xB8D3,
+0xB8D5,0xB8D6,0xB8D7,0xB8D8,0xB8D9,0xB8DA,0xB8DB,0xB8DC,
+0xB8DE,0xB8E0,0xB8E2,0xB8E3,0xB8E4,0xB8E5,0xB8E6,0xB8E7,
+0xB8EA,0xB8EB,0xB8ED,0xB8EE,0xB8EF,0xB8F1,0xB8F2,0xB8F3,
+0xB8F4,0xB8F5,0xB8F6,0xB8F7,0xB8FA,0xB8FC,0xB8FE,0xB8FF,
+0xB900,0xB901,0xB902,0xB903,0xB905,0xB906,0xB907,0xB908,
+0xB909,0xB90A,0xB90B,0xB90C,0xB90D,0xB90E,0xB90F,0xB910,
+0xB911,0xB912,0xB913,0xB914,0xB915,0xB916,0xB917,0xB919,
+0xB91A,0xB91B,0xB91C,0xB91D,0xB91E,0xB91F,0xB921,0xB922,
+0xB923,0xB924,0xB925,0xB926,0xB927,0xB928,0xB929,0xB92A,
+0xB92B,0xB92C,0xB92D,0xB92E,0xB92F,0xB930,0xB931,0xB932,
+0xB933,0xB934,0xB935,0xB936,0xB937,0xB938,0xB939,0xB93A,
+0xB93B,0xB93E,0xB93F,0xB941,0xB942,0xB943,0xB945,0xB946,
+0xB947,0xB948,0xB949,0xB94A,0xB94B,0xB94D,0xB94E,0xB950,
+0xB952,0xB953,0xB954,0xB955,0xB956,0xB957, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xB95A,0xB95B,0xB95D,0xB95E,0xB95F,0xB961,0xB962,0xB963,
+0xB964,0xB965,0xB966,0xB967,0xB96A,0xB96C,0xB96E,0xB96F,
+0xB970,0xB971,0xB972,0xB973,0xB976,0xB977,0xB979,0xB97A,
+0xB97B,0xB97D, 0, 0, 0, 0, 0, 0,
+0xB97E,0xB97F,0xB980,0xB981,0xB982,0xB983,0xB986,0xB988,
+0xB98B,0xB98C,0xB98F,0xB990,0xB991,0xB992,0xB993,0xB994,
+0xB995,0xB996,0xB997,0xB998,0xB999,0xB99A,0xB99B,0xB99C,
+0xB99D,0xB99E, 0, 0, 0, 0, 0, 0,
+0xB99F,0xB9A0,0xB9A1,0xB9A2,0xB9A3,0xB9A4,0xB9A5,0xB9A6,
+0xB9A7,0xB9A8,0xB9A9,0xB9AA,0xB9AB,0xB9AE,0xB9AF,0xB9B1,
+0xB9B2,0xB9B3,0xB9B5,0xB9B6,0xB9B7,0xB9B8,0xB9B9,0xB9BA,
+0xB9BB,0xB9BE,0xB9C0,0xB9C2,0xB9C3,0xB9C4,0xB9C5,0xB9C6,
+0xB9C7,0xB9CA,0xB9CB,0xB9CD,0xB9D3,0xB9D4,0xB9D5,0xB9D6,
+0xB9D7,0xB9DA,0xB9DC,0xB9DF,0xB9E0,0xB9E2,0xB9E6,0xB9E7,
+0xB9E9,0xB9EA,0xB9EB,0xB9ED,0xB9EE,0xB9EF,0xB9F0,0xB9F1,
+0xB9F2,0xB9F3,0xB9F6,0xB9FB,0xB9FC,0xB9FD,0xB9FE,0xB9FF,
+0xBA02,0xBA03,0xBA04,0xBA05,0xBA06,0xBA07,0xBA09,0xBA0A,
+0xBA0B,0xBA0C,0xBA0D,0xBA0E,0xBA0F,0xBA10,0xBA11,0xBA12,
+0xBA13,0xBA14,0xBA16,0xBA17,0xBA18,0xBA19,0xBA1A,0xBA1B,
+0xBA1C,0xBA1D,0xBA1E,0xBA1F,0xBA20,0xBA21,0xBA22,0xBA23,
+0xBA24,0xBA25,0xBA26,0xBA27,0xBA28,0xBA29,0xBA2A,0xBA2B,
+0xBA2C,0xBA2D,0xBA2E,0xBA2F,0xBA30,0xBA31,0xBA32,0xBA33,
+0xBA34,0xBA35,0xBA36,0xBA37,0xBA3A,0xBA3B,0xBA3D,0xBA3E,
+0xBA3F,0xBA41,0xBA43,0xBA44,0xBA45,0xBA46, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xBA47,0xBA4A,0xBA4C,0xBA4F,0xBA50,0xBA51,0xBA52,0xBA56,
+0xBA57,0xBA59,0xBA5A,0xBA5B,0xBA5D,0xBA5E,0xBA5F,0xBA60,
+0xBA61,0xBA62,0xBA63,0xBA66,0xBA6A,0xBA6B,0xBA6C,0xBA6D,
+0xBA6E,0xBA6F, 0, 0, 0, 0, 0, 0,
+0xBA72,0xBA73,0xBA75,0xBA76,0xBA77,0xBA79,0xBA7A,0xBA7B,
+0xBA7C,0xBA7D,0xBA7E,0xBA7F,0xBA80,0xBA81,0xBA82,0xBA86,
+0xBA88,0xBA89,0xBA8A,0xBA8B,0xBA8D,0xBA8E,0xBA8F,0xBA90,
+0xBA91,0xBA92, 0, 0, 0, 0, 0, 0,
+0xBA93,0xBA94,0xBA95,0xBA96,0xBA97,0xBA98,0xBA99,0xBA9A,
+0xBA9B,0xBA9C,0xBA9D,0xBA9E,0xBA9F,0xBAA0,0xBAA1,0xBAA2,
+0xBAA3,0xBAA4,0xBAA5,0xBAA6,0xBAA7,0xBAAA,0xBAAD,0xBAAE,
+0xBAAF,0xBAB1,0xBAB3,0xBAB4,0xBAB5,0xBAB6,0xBAB7,0xBABA,
+0xBABC,0xBABE,0xBABF,0xBAC0,0xBAC1,0xBAC2,0xBAC3,0xBAC5,
+0xBAC6,0xBAC7,0xBAC9,0xBACA,0xBACB,0xBACC,0xBACD,0xBACE,
+0xBACF,0xBAD0,0xBAD1,0xBAD2,0xBAD3,0xBAD4,0xBAD5,0xBAD6,
+0xBAD7,0xBADA,0xBADB,0xBADC,0xBADD,0xBADE,0xBADF,0xBAE0,
+0xBAE1,0xBAE2,0xBAE3,0xBAE4,0xBAE5,0xBAE6,0xBAE7,0xBAE8,
+0xBAE9,0xBAEA,0xBAEB,0xBAEC,0xBAED,0xBAEE,0xBAEF,0xBAF0,
+0xBAF1,0xBAF2,0xBAF3,0xBAF4,0xBAF5,0xBAF6,0xBAF7,0xBAF8,
+0xBAF9,0xBAFA,0xBAFB,0xBAFD,0xBAFE,0xBAFF,0xBB01,0xBB02,
+0xBB03,0xBB05,0xBB06,0xBB07,0xBB08,0xBB09,0xBB0A,0xBB0B,
+0xBB0C,0xBB0E,0xBB10,0xBB12,0xBB13,0xBB14,0xBB15,0xBB16,
+0xBB17,0xBB19,0xBB1A,0xBB1B,0xBB1D,0xBB1E,0xBB1F,0xBB21,
+0xBB22,0xBB23,0xBB24,0xBB25,0xBB26,0xBB27, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xBB28,0xBB2A,0xBB2C,0xBB2D,0xBB2E,0xBB2F,0xBB30,0xBB31,
+0xBB32,0xBB33,0xBB37,0xBB39,0xBB3A,0xBB3F,0xBB40,0xBB41,
+0xBB42,0xBB43,0xBB46,0xBB48,0xBB4A,0xBB4B,0xBB4C,0xBB4E,
+0xBB51,0xBB52, 0, 0, 0, 0, 0, 0,
+0xBB53,0xBB55,0xBB56,0xBB57,0xBB59,0xBB5A,0xBB5B,0xBB5C,
+0xBB5D,0xBB5E,0xBB5F,0xBB60,0xBB62,0xBB64,0xBB65,0xBB66,
+0xBB67,0xBB68,0xBB69,0xBB6A,0xBB6B,0xBB6D,0xBB6E,0xBB6F,
+0xBB70,0xBB71, 0, 0, 0, 0, 0, 0,
+0xBB72,0xBB73,0xBB74,0xBB75,0xBB76,0xBB77,0xBB78,0xBB79,
+0xBB7A,0xBB7B,0xBB7C,0xBB7D,0xBB7E,0xBB7F,0xBB80,0xBB81,
+0xBB82,0xBB83,0xBB84,0xBB85,0xBB86,0xBB87,0xBB89,0xBB8A,
+0xBB8B,0xBB8D,0xBB8E,0xBB8F,0xBB91,0xBB92,0xBB93,0xBB94,
+0xBB95,0xBB96,0xBB97,0xBB98,0xBB99,0xBB9A,0xBB9B,0xBB9C,
+0xBB9D,0xBB9E,0xBB9F,0xBBA0,0xBBA1,0xBBA2,0xBBA3,0xBBA5,
+0xBBA6,0xBBA7,0xBBA9,0xBBAA,0xBBAB,0xBBAD,0xBBAE,0xBBAF,
+0xBBB0,0xBBB1,0xBBB2,0xBBB3,0xBBB5,0xBBB6,0xBBB8,0xBBB9,
+0xBBBA,0xBBBB,0xBBBC,0xBBBD,0xBBBE,0xBBBF,0xBBC1,0xBBC2,
+0xBBC3,0xBBC5,0xBBC6,0xBBC7,0xBBC9,0xBBCA,0xBBCB,0xBBCC,
+0xBBCD,0xBBCE,0xBBCF,0xBBD1,0xBBD2,0xBBD4,0xBBD5,0xBBD6,
+0xBBD7,0xBBD8,0xBBD9,0xBBDA,0xBBDB,0xBBDC,0xBBDD,0xBBDE,
+0xBBDF,0xBBE0,0xBBE1,0xBBE2,0xBBE3,0xBBE4,0xBBE5,0xBBE6,
+0xBBE7,0xBBE8,0xBBE9,0xBBEA,0xBBEB,0xBBEC,0xBBED,0xBBEE,
+0xBBEF,0xBBF0,0xBBF1,0xBBF2,0xBBF3,0xBBF4,0xBBF5,0xBBF6,
+0xBBF7,0xBBFA,0xBBFB,0xBBFD,0xBBFE,0xBC01, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xBC03,0xBC04,0xBC05,0xBC06,0xBC07,0xBC0A,0xBC0E,0xBC10,
+0xBC12,0xBC13,0xBC19,0xBC1A,0xBC20,0xBC21,0xBC22,0xBC23,
+0xBC26,0xBC28,0xBC2A,0xBC2B,0xBC2C,0xBC2E,0xBC2F,0xBC32,
+0xBC33,0xBC35, 0, 0, 0, 0, 0, 0,
+0xBC36,0xBC37,0xBC39,0xBC3A,0xBC3B,0xBC3C,0xBC3D,0xBC3E,
+0xBC3F,0xBC42,0xBC46,0xBC47,0xBC48,0xBC4A,0xBC4B,0xBC4E,
+0xBC4F,0xBC51,0xBC52,0xBC53,0xBC54,0xBC55,0xBC56,0xBC57,
+0xBC58,0xBC59, 0, 0, 0, 0, 0, 0,
+0xBC5A,0xBC5B,0xBC5C,0xBC5E,0xBC5F,0xBC60,0xBC61,0xBC62,
+0xBC63,0xBC64,0xBC65,0xBC66,0xBC67,0xBC68,0xBC69,0xBC6A,
+0xBC6B,0xBC6C,0xBC6D,0xBC6E,0xBC6F,0xBC70,0xBC71,0xBC72,
+0xBC73,0xBC74,0xBC75,0xBC76,0xBC77,0xBC78,0xBC79,0xBC7A,
+0xBC7B,0xBC7C,0xBC7D,0xBC7E,0xBC7F,0xBC80,0xBC81,0xBC82,
+0xBC83,0xBC86,0xBC87,0xBC89,0xBC8A,0xBC8D,0xBC8F,0xBC90,
+0xBC91,0xBC92,0xBC93,0xBC96,0xBC98,0xBC9B,0xBC9C,0xBC9D,
+0xBC9E,0xBC9F,0xBCA2,0xBCA3,0xBCA5,0xBCA6,0xBCA9,0xBCAA,
+0xBCAB,0xBCAC,0xBCAD,0xBCAE,0xBCAF,0xBCB2,0xBCB6,0xBCB7,
+0xBCB8,0xBCB9,0xBCBA,0xBCBB,0xBCBE,0xBCBF,0xBCC1,0xBCC2,
+0xBCC3,0xBCC5,0xBCC6,0xBCC7,0xBCC8,0xBCC9,0xBCCA,0xBCCB,
+0xBCCC,0xBCCE,0xBCD2,0xBCD3,0xBCD4,0xBCD6,0xBCD7,0xBCD9,
+0xBCDA,0xBCDB,0xBCDD,0xBCDE,0xBCDF,0xBCE0,0xBCE1,0xBCE2,
+0xBCE3,0xBCE4,0xBCE5,0xBCE6,0xBCE7,0xBCE8,0xBCE9,0xBCEA,
+0xBCEB,0xBCEC,0xBCED,0xBCEE,0xBCEF,0xBCF0,0xBCF1,0xBCF2,
+0xBCF3,0xBCF7,0xBCF9,0xBCFA,0xBCFB,0xBCFD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xBCFE,0xBCFF,0xBD00,0xBD01,0xBD02,0xBD03,0xBD06,0xBD08,
+0xBD0A,0xBD0B,0xBD0C,0xBD0D,0xBD0E,0xBD0F,0xBD11,0xBD12,
+0xBD13,0xBD15,0xBD16,0xBD17,0xBD18,0xBD19,0xBD1A,0xBD1B,
+0xBD1C,0xBD1D, 0, 0, 0, 0, 0, 0,
+0xBD1E,0xBD1F,0xBD20,0xBD21,0xBD22,0xBD23,0xBD25,0xBD26,
+0xBD27,0xBD28,0xBD29,0xBD2A,0xBD2B,0xBD2D,0xBD2E,0xBD2F,
+0xBD30,0xBD31,0xBD32,0xBD33,0xBD34,0xBD35,0xBD36,0xBD37,
+0xBD38,0xBD39, 0, 0, 0, 0, 0, 0,
+0xBD3A,0xBD3B,0xBD3C,0xBD3D,0xBD3E,0xBD3F,0xBD41,0xBD42,
+0xBD43,0xBD44,0xBD45,0xBD46,0xBD47,0xBD4A,0xBD4B,0xBD4D,
+0xBD4E,0xBD4F,0xBD51,0xBD52,0xBD53,0xBD54,0xBD55,0xBD56,
+0xBD57,0xBD5A,0xBD5B,0xBD5C,0xBD5D,0xBD5E,0xBD5F,0xBD60,
+0xBD61,0xBD62,0xBD63,0xBD65,0xBD66,0xBD67,0xBD69,0xBD6A,
+0xBD6B,0xBD6C,0xBD6D,0xBD6E,0xBD6F,0xBD70,0xBD71,0xBD72,
+0xBD73,0xBD74,0xBD75,0xBD76,0xBD77,0xBD78,0xBD79,0xBD7A,
+0xBD7B,0xBD7C,0xBD7D,0xBD7E,0xBD7F,0xBD82,0xBD83,0xBD85,
+0xBD86,0xBD8B,0xBD8C,0xBD8D,0xBD8E,0xBD8F,0xBD92,0xBD94,
+0xBD96,0xBD97,0xBD98,0xBD9B,0xBD9D,0xBD9E,0xBD9F,0xBDA0,
+0xBDA1,0xBDA2,0xBDA3,0xBDA5,0xBDA6,0xBDA7,0xBDA8,0xBDA9,
+0xBDAA,0xBDAB,0xBDAC,0xBDAD,0xBDAE,0xBDAF,0xBDB1,0xBDB2,
+0xBDB3,0xBDB4,0xBDB5,0xBDB6,0xBDB7,0xBDB9,0xBDBA,0xBDBB,
+0xBDBC,0xBDBD,0xBDBE,0xBDBF,0xBDC0,0xBDC1,0xBDC2,0xBDC3,
+0xBDC4,0xBDC5,0xBDC6,0xBDC7,0xBDC8,0xBDC9,0xBDCA,0xBDCB,
+0xBDCC,0xBDCD,0xBDCE,0xBDCF,0xBDD0,0xBDD1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xBDD2,0xBDD3,0xBDD6,0xBDD7,0xBDD9,0xBDDA,0xBDDB,0xBDDD,
+0xBDDE,0xBDDF,0xBDE0,0xBDE1,0xBDE2,0xBDE3,0xBDE4,0xBDE5,
+0xBDE6,0xBDE7,0xBDE8,0xBDEA,0xBDEB,0xBDEC,0xBDED,0xBDEE,
+0xBDEF,0xBDF1, 0, 0, 0, 0, 0, 0,
+0xBDF2,0xBDF3,0xBDF5,0xBDF6,0xBDF7,0xBDF9,0xBDFA,0xBDFB,
+0xBDFC,0xBDFD,0xBDFE,0xBDFF,0xBE01,0xBE02,0xBE04,0xBE06,
+0xBE07,0xBE08,0xBE09,0xBE0A,0xBE0B,0xBE0E,0xBE0F,0xBE11,
+0xBE12,0xBE13, 0, 0, 0, 0, 0, 0,
+0xBE15,0xBE16,0xBE17,0xBE18,0xBE19,0xBE1A,0xBE1B,0xBE1E,
+0xBE20,0xBE21,0xBE22,0xBE23,0xBE24,0xBE25,0xBE26,0xBE27,
+0xBE28,0xBE29,0xBE2A,0xBE2B,0xBE2C,0xBE2D,0xBE2E,0xBE2F,
+0xBE30,0xBE31,0xBE32,0xBE33,0xBE34,0xBE35,0xBE36,0xBE37,
+0xBE38,0xBE39,0xBE3A,0xBE3B,0xBE3C,0xBE3D,0xBE3E,0xBE3F,
+0xBE40,0xBE41,0xBE42,0xBE43,0xBE46,0xBE47,0xBE49,0xBE4A,
+0xBE4B,0xBE4D,0xBE4F,0xBE50,0xBE51,0xBE52,0xBE53,0xBE56,
+0xBE58,0xBE5C,0xBE5D,0xBE5E,0xBE5F,0xBE62,0xBE63,0xBE65,
+0xBE66,0xBE67,0xBE69,0xBE6B,0xBE6C,0xBE6D,0xBE6E,0xBE6F,
+0xBE72,0xBE76,0xBE77,0xBE78,0xBE79,0xBE7A,0xBE7E,0xBE7F,
+0xBE81,0xBE82,0xBE83,0xBE85,0xBE86,0xBE87,0xBE88,0xBE89,
+0xBE8A,0xBE8B,0xBE8E,0xBE92,0xBE93,0xBE94,0xBE95,0xBE96,
+0xBE97,0xBE9A,0xBE9B,0xBE9C,0xBE9D,0xBE9E,0xBE9F,0xBEA0,
+0xBEA1,0xBEA2,0xBEA3,0xBEA4,0xBEA5,0xBEA6,0xBEA7,0xBEA9,
+0xBEAA,0xBEAB,0xBEAC,0xBEAD,0xBEAE,0xBEAF,0xBEB0,0xBEB1,
+0xBEB2,0xBEB3,0xBEB4,0xBEB5,0xBEB6,0xBEB7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xBEB8,0xBEB9,0xBEBA,0xBEBB,0xBEBC,0xBEBD,0xBEBE,0xBEBF,
+0xBEC0,0xBEC1,0xBEC2,0xBEC3,0xBEC4,0xBEC5,0xBEC6,0xBEC7,
+0xBEC8,0xBEC9,0xBECA,0xBECB,0xBECC,0xBECD,0xBECE,0xBECF,
+0xBED2,0xBED3, 0, 0, 0, 0, 0, 0,
+0xBED5,0xBED6,0xBED9,0xBEDA,0xBEDB,0xBEDC,0xBEDD,0xBEDE,
+0xBEDF,0xBEE1,0xBEE2,0xBEE6,0xBEE7,0xBEE8,0xBEE9,0xBEEA,
+0xBEEB,0xBEED,0xBEEE,0xBEEF,0xBEF0,0xBEF1,0xBEF2,0xBEF3,
+0xBEF4,0xBEF5, 0, 0, 0, 0, 0, 0,
+0xBEF6,0xBEF7,0xBEF8,0xBEF9,0xBEFA,0xBEFB,0xBEFC,0xBEFD,
+0xBEFE,0xBEFF,0xBF00,0xBF02,0xBF03,0xBF04,0xBF05,0xBF06,
+0xBF07,0xBF0A,0xBF0B,0xBF0C,0xBF0D,0xBF0E,0xBF0F,0xBF10,
+0xBF11,0xBF12,0xBF13,0xBF14,0xBF15,0xBF16,0xBF17,0xBF1A,
+0xBF1E,0xBF1F,0xBF20,0xBF21,0xBF22,0xBF23,0xBF24,0xBF25,
+0xBF26,0xBF27,0xBF28,0xBF29,0xBF2A,0xBF2B,0xBF2C,0xBF2D,
+0xBF2E,0xBF2F,0xBF30,0xBF31,0xBF32,0xBF33,0xBF34,0xBF35,
+0xBF36,0xBF37,0xBF38,0xBF39,0xBF3A,0xBF3B,0xBF3C,0xBF3D,
+0xBF3E,0xBF3F,0xBF42,0xBF43,0xBF45,0xBF46,0xBF47,0xBF49,
+0xBF4A,0xBF4B,0xBF4C,0xBF4D,0xBF4E,0xBF4F,0xBF52,0xBF53,
+0xBF54,0xBF56,0xBF57,0xBF58,0xBF59,0xBF5A,0xBF5B,0xBF5C,
+0xBF5D,0xBF5E,0xBF5F,0xBF60,0xBF61,0xBF62,0xBF63,0xBF64,
+0xBF65,0xBF66,0xBF67,0xBF68,0xBF69,0xBF6A,0xBF6B,0xBF6C,
+0xBF6D,0xBF6E,0xBF6F,0xBF70,0xBF71,0xBF72,0xBF73,0xBF74,
+0xBF75,0xBF76,0xBF77,0xBF78,0xBF79,0xBF7A,0xBF7B,0xBF7C,
+0xBF7D,0xBF7E,0xBF7F,0xBF80,0xBF81,0xBF82, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xBF83,0xBF84,0xBF85,0xBF86,0xBF87,0xBF88,0xBF89,0xBF8A,
+0xBF8B,0xBF8C,0xBF8D,0xBF8E,0xBF8F,0xBF90,0xBF91,0xBF92,
+0xBF93,0xBF95,0xBF96,0xBF97,0xBF98,0xBF99,0xBF9A,0xBF9B,
+0xBF9C,0xBF9D, 0, 0, 0, 0, 0, 0,
+0xBF9E,0xBF9F,0xBFA0,0xBFA1,0xBFA2,0xBFA3,0xBFA4,0xBFA5,
+0xBFA6,0xBFA7,0xBFA8,0xBFA9,0xBFAA,0xBFAB,0xBFAC,0xBFAD,
+0xBFAE,0xBFAF,0xBFB1,0xBFB2,0xBFB3,0xBFB4,0xBFB5,0xBFB6,
+0xBFB7,0xBFB8, 0, 0, 0, 0, 0, 0,
+0xBFB9,0xBFBA,0xBFBB,0xBFBC,0xBFBD,0xBFBE,0xBFBF,0xBFC0,
+0xBFC1,0xBFC2,0xBFC3,0xBFC4,0xBFC6,0xBFC7,0xBFC8,0xBFC9,
+0xBFCA,0xBFCB,0xBFCE,0xBFCF,0xBFD1,0xBFD2,0xBFD3,0xBFD5,
+0xBFD6,0xBFD7,0xBFD8,0xBFD9,0xBFDA,0xBFDB,0xBFDD,0xBFDE,
+0xBFE0,0xBFE2,0xBFE3,0xBFE4,0xBFE5,0xBFE6,0xBFE7,0xBFE8,
+0xBFE9,0xBFEA,0xBFEB,0xBFEC,0xBFED,0xBFEE,0xBFEF,0xBFF0,
+0xBFF1,0xBFF2,0xBFF3,0xBFF4,0xBFF5,0xBFF6,0xBFF7,0xBFF8,
+0xBFF9,0xBFFA,0xBFFB,0xBFFC,0xBFFD,0xBFFE,0xBFFF,0xC000,
+0xC001,0xC002,0xC003,0xC004,0xC005,0xC006,0xC007,0xC008,
+0xC009,0xC00A,0xC00B,0xC00C,0xC00D,0xC00E,0xC00F,0xC010,
+0xC011,0xC012,0xC013,0xC014,0xC015,0xC016,0xC017,0xC018,
+0xC019,0xC01A,0xC01B,0xC01C,0xC01D,0xC01E,0xC01F,0xC020,
+0xC021,0xC022,0xC023,0xC024,0xC025,0xC026,0xC027,0xC028,
+0xC029,0xC02A,0xC02B,0xC02C,0xC02D,0xC02E,0xC02F,0xC030,
+0xC031,0xC032,0xC033,0xC034,0xC035,0xC036,0xC037,0xC038,
+0xC039,0xC03A,0xC03B,0xC03D,0xC03E,0xC03F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC040,0xC041,0xC042,0xC043,0xC044,0xC045,0xC046,0xC047,
+0xC048,0xC049,0xC04A,0xC04B,0xC04C,0xC04D,0xC04E,0xC04F,
+0xC050,0xC052,0xC053,0xC054,0xC055,0xC056,0xC057,0xC059,
+0xC05A,0xC05B, 0, 0, 0, 0, 0, 0,
+0xC05D,0xC05E,0xC05F,0xC061,0xC062,0xC063,0xC064,0xC065,
+0xC066,0xC067,0xC06A,0xC06B,0xC06C,0xC06D,0xC06E,0xC06F,
+0xC070,0xC071,0xC072,0xC073,0xC074,0xC075,0xC076,0xC077,
+0xC078,0xC079, 0, 0, 0, 0, 0, 0,
+0xC07A,0xC07B,0xC07C,0xC07D,0xC07E,0xC07F,0xC080,0xC081,
+0xC082,0xC083,0xC084,0xC085,0xC086,0xC087,0xC088,0xC089,
+0xC08A,0xC08B,0xC08C,0xC08D,0xC08E,0xC08F,0xC092,0xC093,
+0xC095,0xC096,0xC097,0xC099,0xC09A,0xC09B,0xC09C,0xC09D,
+0xC09E,0xC09F,0xC0A2,0xC0A4,0xC0A6,0xC0A7,0xC0A8,0xC0A9,
+0xC0AA,0xC0AB,0xC0AE,0xC0B1,0xC0B2,0xC0B7,0xC0B8,0xC0B9,
+0xC0BA,0xC0BB,0xC0BE,0xC0C2,0xC0C3,0xC0C4,0xC0C6,0xC0C7,
+0xC0CA,0xC0CB,0xC0CD,0xC0CE,0xC0CF,0xC0D1,0xC0D2,0xC0D3,
+0xC0D4,0xC0D5,0xC0D6,0xC0D7,0xC0DA,0xC0DE,0xC0DF,0xC0E0,
+0xC0E1,0xC0E2,0xC0E3,0xC0E6,0xC0E7,0xC0E9,0xC0EA,0xC0EB,
+0xC0ED,0xC0EE,0xC0EF,0xC0F0,0xC0F1,0xC0F2,0xC0F3,0xC0F6,
+0xC0F8,0xC0FA,0xC0FB,0xC0FC,0xC0FD,0xC0FE,0xC0FF,0xC101,
+0xC102,0xC103,0xC105,0xC106,0xC107,0xC109,0xC10A,0xC10B,
+0xC10C,0xC10D,0xC10E,0xC10F,0xC111,0xC112,0xC113,0xC114,
+0xC116,0xC117,0xC118,0xC119,0xC11A,0xC11B,0xC121,0xC122,
+0xC125,0xC128,0xC129,0xC12A,0xC12B,0xC12E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC132,0xC133,0xC134,0xC135,0xC137,0xC13A,0xC13B,0xC13D,
+0xC13E,0xC13F,0xC141,0xC142,0xC143,0xC144,0xC145,0xC146,
+0xC147,0xC14A,0xC14E,0xC14F,0xC150,0xC151,0xC152,0xC153,
+0xC156,0xC157, 0, 0, 0, 0, 0, 0,
+0xC159,0xC15A,0xC15B,0xC15D,0xC15E,0xC15F,0xC160,0xC161,
+0xC162,0xC163,0xC166,0xC16A,0xC16B,0xC16C,0xC16D,0xC16E,
+0xC16F,0xC171,0xC172,0xC173,0xC175,0xC176,0xC177,0xC179,
+0xC17A,0xC17B, 0, 0, 0, 0, 0, 0,
+0xC17C,0xC17D,0xC17E,0xC17F,0xC180,0xC181,0xC182,0xC183,
+0xC184,0xC186,0xC187,0xC188,0xC189,0xC18A,0xC18B,0xC18F,
+0xC191,0xC192,0xC193,0xC195,0xC197,0xC198,0xC199,0xC19A,
+0xC19B,0xC19E,0xC1A0,0xC1A2,0xC1A3,0xC1A4,0xC1A6,0xC1A7,
+0xC1AA,0xC1AB,0xC1AD,0xC1AE,0xC1AF,0xC1B1,0xC1B2,0xC1B3,
+0xC1B4,0xC1B5,0xC1B6,0xC1B7,0xC1B8,0xC1B9,0xC1BA,0xC1BB,
+0xC1BC,0xC1BE,0xC1BF,0xC1C0,0xC1C1,0xC1C2,0xC1C3,0xC1C5,
+0xC1C6,0xC1C7,0xC1C9,0xC1CA,0xC1CB,0xC1CD,0xC1CE,0xC1CF,
+0xC1D0,0xC1D1,0xC1D2,0xC1D3,0xC1D5,0xC1D6,0xC1D9,0xC1DA,
+0xC1DB,0xC1DC,0xC1DD,0xC1DE,0xC1DF,0xC1E1,0xC1E2,0xC1E3,
+0xC1E5,0xC1E6,0xC1E7,0xC1E9,0xC1EA,0xC1EB,0xC1EC,0xC1ED,
+0xC1EE,0xC1EF,0xC1F2,0xC1F4,0xC1F5,0xC1F6,0xC1F7,0xC1F8,
+0xC1F9,0xC1FA,0xC1FB,0xC1FE,0xC1FF,0xC201,0xC202,0xC203,
+0xC205,0xC206,0xC207,0xC208,0xC209,0xC20A,0xC20B,0xC20E,
+0xC210,0xC212,0xC213,0xC214,0xC215,0xC216,0xC217,0xC21A,
+0xC21B,0xC21D,0xC21E,0xC221,0xC222,0xC223, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC224,0xC225,0xC226,0xC227,0xC22A,0xC22C,0xC22E,0xC230,
+0xC233,0xC235,0xC236,0xC237,0xC238,0xC239,0xC23A,0xC23B,
+0xC23C,0xC23D,0xC23E,0xC23F,0xC240,0xC241,0xC242,0xC243,
+0xC244,0xC245, 0, 0, 0, 0, 0, 0,
+0xC246,0xC247,0xC249,0xC24A,0xC24B,0xC24C,0xC24D,0xC24E,
+0xC24F,0xC252,0xC253,0xC255,0xC256,0xC257,0xC259,0xC25A,
+0xC25B,0xC25C,0xC25D,0xC25E,0xC25F,0xC261,0xC262,0xC263,
+0xC264,0xC266, 0, 0, 0, 0, 0, 0,
+0xC267,0xC268,0xC269,0xC26A,0xC26B,0xC26E,0xC26F,0xC271,
+0xC272,0xC273,0xC275,0xC276,0xC277,0xC278,0xC279,0xC27A,
+0xC27B,0xC27E,0xC280,0xC282,0xC283,0xC284,0xC285,0xC286,
+0xC287,0xC28A,0xC28B,0xC28C,0xC28D,0xC28E,0xC28F,0xC291,
+0xC292,0xC293,0xC294,0xC295,0xC296,0xC297,0xC299,0xC29A,
+0xC29C,0xC29E,0xC29F,0xC2A0,0xC2A1,0xC2A2,0xC2A3,0xC2A6,
+0xC2A7,0xC2A9,0xC2AA,0xC2AB,0xC2AE,0xC2AF,0xC2B0,0xC2B1,
+0xC2B2,0xC2B3,0xC2B6,0xC2B8,0xC2BA,0xC2BB,0xC2BC,0xC2BD,
+0xC2BE,0xC2BF,0xC2C0,0xC2C1,0xC2C2,0xC2C3,0xC2C4,0xC2C5,
+0xC2C6,0xC2C7,0xC2C8,0xC2C9,0xC2CA,0xC2CB,0xC2CC,0xC2CD,
+0xC2CE,0xC2CF,0xC2D0,0xC2D1,0xC2D2,0xC2D3,0xC2D4,0xC2D5,
+0xC2D6,0xC2D7,0xC2D8,0xC2D9,0xC2DA,0xC2DB,0xC2DE,0xC2DF,
+0xC2E1,0xC2E2,0xC2E5,0xC2E6,0xC2E7,0xC2E8,0xC2E9,0xC2EA,
+0xC2EE,0xC2F0,0xC2F2,0xC2F3,0xC2F4,0xC2F5,0xC2F7,0xC2FA,
+0xC2FD,0xC2FE,0xC2FF,0xC301,0xC302,0xC303,0xC304,0xC305,
+0xC306,0xC307,0xC30A,0xC30B,0xC30E,0xC30F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC310,0xC311,0xC312,0xC316,0xC317,0xC319,0xC31A,0xC31B,
+0xC31D,0xC31E,0xC31F,0xC320,0xC321,0xC322,0xC323,0xC326,
+0xC327,0xC32A,0xC32B,0xC32C,0xC32D,0xC32E,0xC32F,0xC330,
+0xC331,0xC332, 0, 0, 0, 0, 0, 0,
+0xC333,0xC334,0xC335,0xC336,0xC337,0xC338,0xC339,0xC33A,
+0xC33B,0xC33C,0xC33D,0xC33E,0xC33F,0xC340,0xC341,0xC342,
+0xC343,0xC344,0xC346,0xC347,0xC348,0xC349,0xC34A,0xC34B,
+0xC34C,0xC34D, 0, 0, 0, 0, 0, 0,
+0xC34E,0xC34F,0xC350,0xC351,0xC352,0xC353,0xC354,0xC355,
+0xC356,0xC357,0xC358,0xC359,0xC35A,0xC35B,0xC35C,0xC35D,
+0xC35E,0xC35F,0xC360,0xC361,0xC362,0xC363,0xC364,0xC365,
+0xC366,0xC367,0xC36A,0xC36B,0xC36D,0xC36E,0xC36F,0xC371,
+0xC373,0xC374,0xC375,0xC376,0xC377,0xC37A,0xC37B,0xC37E,
+0xC37F,0xC380,0xC381,0xC382,0xC383,0xC385,0xC386,0xC387,
+0xC389,0xC38A,0xC38B,0xC38D,0xC38E,0xC38F,0xC390,0xC391,
+0xC392,0xC393,0xC394,0xC395,0xC396,0xC397,0xC398,0xC399,
+0xC39A,0xC39B,0xC39C,0xC39D,0xC39E,0xC39F,0xC3A0,0xC3A1,
+0xC3A2,0xC3A3,0xC3A4,0xC3A5,0xC3A6,0xC3A7,0xC3A8,0xC3A9,
+0xC3AA,0xC3AB,0xC3AC,0xC3AD,0xC3AE,0xC3AF,0xC3B0,0xC3B1,
+0xC3B2,0xC3B3,0xC3B4,0xC3B5,0xC3B6,0xC3B7,0xC3B8,0xC3B9,
+0xC3BA,0xC3BB,0xC3BC,0xC3BD,0xC3BE,0xC3BF,0xC3C1,0xC3C2,
+0xC3C3,0xC3C4,0xC3C5,0xC3C6,0xC3C7,0xC3C8,0xC3C9,0xC3CA,
+0xC3CB,0xC3CC,0xC3CD,0xC3CE,0xC3CF,0xC3D0,0xC3D1,0xC3D2,
+0xC3D3,0xC3D4,0xC3D5,0xC3D6,0xC3D7,0xC3DA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC3DB,0xC3DD,0xC3DE,0xC3E1,0xC3E3,0xC3E4,0xC3E5,0xC3E6,
+0xC3E7,0xC3EA,0xC3EB,0xC3EC,0xC3EE,0xC3EF,0xC3F0,0xC3F1,
+0xC3F2,0xC3F3,0xC3F6,0xC3F7,0xC3F9,0xC3FA,0xC3FB,0xC3FC,
+0xC3FD,0xC3FE, 0, 0, 0, 0, 0, 0,
+0xC3FF,0xC400,0xC401,0xC402,0xC403,0xC404,0xC405,0xC406,
+0xC407,0xC409,0xC40A,0xC40B,0xC40C,0xC40D,0xC40E,0xC40F,
+0xC411,0xC412,0xC413,0xC414,0xC415,0xC416,0xC417,0xC418,
+0xC419,0xC41A, 0, 0, 0, 0, 0, 0,
+0xC41B,0xC41C,0xC41D,0xC41E,0xC41F,0xC420,0xC421,0xC422,
+0xC423,0xC425,0xC426,0xC427,0xC428,0xC429,0xC42A,0xC42B,
+0xC42D,0xC42E,0xC42F,0xC431,0xC432,0xC433,0xC435,0xC436,
+0xC437,0xC438,0xC439,0xC43A,0xC43B,0xC43E,0xC43F,0xC440,
+0xC441,0xC442,0xC443,0xC444,0xC445,0xC446,0xC447,0xC449,
+0xC44A,0xC44B,0xC44C,0xC44D,0xC44E,0xC44F,0xC450,0xC451,
+0xC452,0xC453,0xC454,0xC455,0xC456,0xC457,0xC458,0xC459,
+0xC45A,0xC45B,0xC45C,0xC45D,0xC45E,0xC45F,0xC460,0xC461,
+0xC462,0xC463,0xC466,0xC467,0xC469,0xC46A,0xC46B,0xC46D,
+0xC46E,0xC46F,0xC470,0xC471,0xC472,0xC473,0xC476,0xC477,
+0xC478,0xC47A,0xC47B,0xC47C,0xC47D,0xC47E,0xC47F,0xC481,
+0xC482,0xC483,0xC484,0xC485,0xC486,0xC487,0xC488,0xC489,
+0xC48A,0xC48B,0xC48C,0xC48D,0xC48E,0xC48F,0xC490,0xC491,
+0xC492,0xC493,0xC495,0xC496,0xC497,0xC498,0xC499,0xC49A,
+0xC49B,0xC49D,0xC49E,0xC49F,0xC4A0,0xC4A1,0xC4A2,0xC4A3,
+0xC4A4,0xC4A5,0xC4A6,0xC4A7,0xC4A8,0xC4A9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC4AA,0xC4AB,0xC4AC,0xC4AD,0xC4AE,0xC4AF,0xC4B0,0xC4B1,
+0xC4B2,0xC4B3,0xC4B4,0xC4B5,0xC4B6,0xC4B7,0xC4B9,0xC4BA,
+0xC4BB,0xC4BD,0xC4BE,0xC4BF,0xC4C0,0xC4C1,0xC4C2,0xC4C3,
+0xC4C4,0xC4C5, 0, 0, 0, 0, 0, 0,
+0xC4C6,0xC4C7,0xC4C8,0xC4C9,0xC4CA,0xC4CB,0xC4CC,0xC4CD,
+0xC4CE,0xC4CF,0xC4D0,0xC4D1,0xC4D2,0xC4D3,0xC4D4,0xC4D5,
+0xC4D6,0xC4D7,0xC4D8,0xC4D9,0xC4DA,0xC4DB,0xC4DC,0xC4DD,
+0xC4DE,0xC4DF, 0, 0, 0, 0, 0, 0,
+0xC4E0,0xC4E1,0xC4E2,0xC4E3,0xC4E4,0xC4E5,0xC4E6,0xC4E7,
+0xC4E8,0xC4EA,0xC4EB,0xC4EC,0xC4ED,0xC4EE,0xC4EF,0xC4F2,
+0xC4F3,0xC4F5,0xC4F6,0xC4F7,0xC4F9,0xC4FB,0xC4FC,0xC4FD,
+0xC4FE,0xC502,0xC503,0xC504,0xC505,0xC506,0xC507,0xC508,
+0xC509,0xC50A,0xC50B,0xC50D,0xC50E,0xC50F,0xC511,0xC512,
+0xC513,0xC515,0xC516,0xC517,0xC518,0xC519,0xC51A,0xC51B,
+0xC51D,0xC51E,0xC51F,0xC520,0xC521,0xC522,0xC523,0xC524,
+0xC525,0xC526,0xC527,0xC52A,0xC52B,0xC52D,0xC52E,0xC52F,
+0xC531,0xC532,0xC533,0xC534,0xC535,0xC536,0xC537,0xC53A,
+0xC53C,0xC53E,0xC53F,0xC540,0xC541,0xC542,0xC543,0xC546,
+0xC547,0xC54B,0xC54F,0xC550,0xC551,0xC552,0xC556,0xC55A,
+0xC55B,0xC55C,0xC55F,0xC562,0xC563,0xC565,0xC566,0xC567,
+0xC569,0xC56A,0xC56B,0xC56C,0xC56D,0xC56E,0xC56F,0xC572,
+0xC576,0xC577,0xC578,0xC579,0xC57A,0xC57B,0xC57E,0xC57F,
+0xC581,0xC582,0xC583,0xC585,0xC586,0xC588,0xC589,0xC58A,
+0xC58B,0xC58E,0xC590,0xC592,0xC593,0xC594, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC596,0xC599,0xC59A,0xC59B,0xC59D,0xC59E,0xC59F,0xC5A1,
+0xC5A2,0xC5A3,0xC5A4,0xC5A5,0xC5A6,0xC5A7,0xC5A8,0xC5AA,
+0xC5AB,0xC5AC,0xC5AD,0xC5AE,0xC5AF,0xC5B0,0xC5B1,0xC5B2,
+0xC5B3,0xC5B6, 0, 0, 0, 0, 0, 0,
+0xC5B7,0xC5BA,0xC5BF,0xC5C0,0xC5C1,0xC5C2,0xC5C3,0xC5CB,
+0xC5CD,0xC5CF,0xC5D2,0xC5D3,0xC5D5,0xC5D6,0xC5D7,0xC5D9,
+0xC5DA,0xC5DB,0xC5DC,0xC5DD,0xC5DE,0xC5DF,0xC5E2,0xC5E4,
+0xC5E6,0xC5E7, 0, 0, 0, 0, 0, 0,
+0xC5E8,0xC5E9,0xC5EA,0xC5EB,0xC5EF,0xC5F1,0xC5F2,0xC5F3,
+0xC5F5,0xC5F8,0xC5F9,0xC5FA,0xC5FB,0xC602,0xC603,0xC604,
+0xC609,0xC60A,0xC60B,0xC60D,0xC60E,0xC60F,0xC611,0xC612,
+0xC613,0xC614,0xC615,0xC616,0xC617,0xC61A,0xC61D,0xC61E,
+0xC61F,0xC620,0xC621,0xC622,0xC623,0xC626,0xC627,0xC629,
+0xC62A,0xC62B,0xC62F,0xC631,0xC632,0xC636,0xC638,0xC63A,
+0xC63C,0xC63D,0xC63E,0xC63F,0xC642,0xC643,0xC645,0xC646,
+0xC647,0xC649,0xC64A,0xC64B,0xC64C,0xC64D,0xC64E,0xC64F,
+0xC652,0xC656,0xC657,0xC658,0xC659,0xC65A,0xC65B,0xC65E,
+0xC65F,0xC661,0xC662,0xC663,0xC664,0xC665,0xC666,0xC667,
+0xC668,0xC669,0xC66A,0xC66B,0xC66D,0xC66E,0xC670,0xC672,
+0xC673,0xC674,0xC675,0xC676,0xC677,0xC67A,0xC67B,0xC67D,
+0xC67E,0xC67F,0xC681,0xC682,0xC683,0xC684,0xC685,0xC686,
+0xC687,0xC68A,0xC68C,0xC68E,0xC68F,0xC690,0xC691,0xC692,
+0xC693,0xC696,0xC697,0xC699,0xC69A,0xC69B,0xC69D,0xC69E,
+0xC69F,0xC6A0,0xC6A1,0xC6A2,0xC6A3,0xC6A6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC6A8,0xC6AA,0xC6AB,0xC6AC,0xC6AD,0xC6AE,0xC6AF,0xC6B2,
+0xC6B3,0xC6B5,0xC6B6,0xC6B7,0xC6BB,0xC6BC,0xC6BD,0xC6BE,
+0xC6BF,0xC6C2,0xC6C4,0xC6C6,0xC6C7,0xC6C8,0xC6C9,0xC6CA,
+0xC6CB,0xC6CE, 0, 0, 0, 0, 0, 0,
+0xC6CF,0xC6D1,0xC6D2,0xC6D3,0xC6D5,0xC6D6,0xC6D7,0xC6D8,
+0xC6D9,0xC6DA,0xC6DB,0xC6DE,0xC6DF,0xC6E2,0xC6E3,0xC6E4,
+0xC6E5,0xC6E6,0xC6E7,0xC6EA,0xC6EB,0xC6ED,0xC6EE,0xC6EF,
+0xC6F1,0xC6F2, 0, 0, 0, 0, 0, 0,
+0xC6F3,0xC6F4,0xC6F5,0xC6F6,0xC6F7,0xC6FA,0xC6FB,0xC6FC,
+0xC6FE,0xC6FF,0xC700,0xC701,0xC702,0xC703,0xC706,0xC707,
+0xC709,0xC70A,0xC70B,0xC70D,0xC70E,0xC70F,0xC710,0xC711,
+0xC712,0xC713,0xC716,0xC718,0xC71A,0xC71B,0xC71C,0xC71D,
+0xC71E,0xC71F,0xC722,0xC723,0xC725,0xC726,0xC727,0xC729,
+0xC72A,0xC72B,0xC72C,0xC72D,0xC72E,0xC72F,0xC732,0xC734,
+0xC736,0xC738,0xC739,0xC73A,0xC73B,0xC73E,0xC73F,0xC741,
+0xC742,0xC743,0xC745,0xC746,0xC747,0xC748,0xC749,0xC74B,
+0xC74E,0xC750,0xC759,0xC75A,0xC75B,0xC75D,0xC75E,0xC75F,
+0xC761,0xC762,0xC763,0xC764,0xC765,0xC766,0xC767,0xC769,
+0xC76A,0xC76C,0xC76D,0xC76E,0xC76F,0xC770,0xC771,0xC772,
+0xC773,0xC776,0xC777,0xC779,0xC77A,0xC77B,0xC77F,0xC780,
+0xC781,0xC782,0xC786,0xC78B,0xC78C,0xC78D,0xC78F,0xC792,
+0xC793,0xC795,0xC799,0xC79B,0xC79C,0xC79D,0xC79E,0xC79F,
+0xC7A2,0xC7A7,0xC7A8,0xC7A9,0xC7AA,0xC7AB,0xC7AE,0xC7AF,
+0xC7B1,0xC7B2,0xC7B3,0xC7B5,0xC7B6,0xC7B7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC7B8,0xC7B9,0xC7BA,0xC7BB,0xC7BE,0xC7C2,0xC7C3,0xC7C4,
+0xC7C5,0xC7C6,0xC7C7,0xC7CA,0xC7CB,0xC7CD,0xC7CF,0xC7D1,
+0xC7D2,0xC7D3,0xC7D4,0xC7D5,0xC7D6,0xC7D7,0xC7D9,0xC7DA,
+0xC7DB,0xC7DC, 0, 0, 0, 0, 0, 0,
+0xC7DE,0xC7DF,0xC7E0,0xC7E1,0xC7E2,0xC7E3,0xC7E5,0xC7E6,
+0xC7E7,0xC7E9,0xC7EA,0xC7EB,0xC7ED,0xC7EE,0xC7EF,0xC7F0,
+0xC7F1,0xC7F2,0xC7F3,0xC7F4,0xC7F5,0xC7F6,0xC7F7,0xC7F8,
+0xC7F9,0xC7FA, 0, 0, 0, 0, 0, 0,
+0xC7FB,0xC7FC,0xC7FD,0xC7FE,0xC7FF,0xC802,0xC803,0xC805,
+0xC806,0xC807,0xC809,0xC80B,0xC80C,0xC80D,0xC80E,0xC80F,
+0xC812,0xC814,0xC817,0xC818,0xC819,0xC81A,0xC81B,0xC81E,
+0xC81F,0xC821,0xC822,0xC823,0xC825,0xC826,0xC827,0xC828,
+0xC829,0xC82A,0xC82B,0xC82E,0xC830,0xC832,0xC833,0xC834,
+0xC835,0xC836,0xC837,0xC839,0xC83A,0xC83B,0xC83D,0xC83E,
+0xC83F,0xC841,0xC842,0xC843,0xC844,0xC845,0xC846,0xC847,
+0xC84A,0xC84B,0xC84E,0xC84F,0xC850,0xC851,0xC852,0xC853,
+0xC855,0xC856,0xC857,0xC858,0xC859,0xC85A,0xC85B,0xC85C,
+0xC85D,0xC85E,0xC85F,0xC860,0xC861,0xC862,0xC863,0xC864,
+0xC865,0xC866,0xC867,0xC868,0xC869,0xC86A,0xC86B,0xC86C,
+0xC86D,0xC86E,0xC86F,0xC872,0xC873,0xC875,0xC876,0xC877,
+0xC879,0xC87B,0xC87C,0xC87D,0xC87E,0xC87F,0xC882,0xC884,
+0xC888,0xC889,0xC88A,0xC88E,0xC88F,0xC890,0xC891,0xC892,
+0xC893,0xC895,0xC896,0xC897,0xC898,0xC899,0xC89A,0xC89B,
+0xC89C,0xC89E,0xC8A0,0xC8A2,0xC8A3,0xC8A4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC8A5,0xC8A6,0xC8A7,0xC8A9,0xC8AA,0xC8AB,0xC8AC,0xC8AD,
+0xC8AE,0xC8AF,0xC8B0,0xC8B1,0xC8B2,0xC8B3,0xC8B4,0xC8B5,
+0xC8B6,0xC8B7,0xC8B8,0xC8B9,0xC8BA,0xC8BB,0xC8BE,0xC8BF,
+0xC8C0,0xC8C1, 0, 0, 0, 0, 0, 0,
+0xC8C2,0xC8C3,0xC8C5,0xC8C6,0xC8C7,0xC8C9,0xC8CA,0xC8CB,
+0xC8CD,0xC8CE,0xC8CF,0xC8D0,0xC8D1,0xC8D2,0xC8D3,0xC8D6,
+0xC8D8,0xC8DA,0xC8DB,0xC8DC,0xC8DD,0xC8DE,0xC8DF,0xC8E2,
+0xC8E3,0xC8E5, 0, 0, 0, 0, 0, 0,
+0xC8E6,0xC8E7,0xC8E8,0xC8E9,0xC8EA,0xC8EB,0xC8EC,0xC8ED,
+0xC8EE,0xC8EF,0xC8F0,0xC8F1,0xC8F2,0xC8F3,0xC8F4,0xC8F6,
+0xC8F7,0xC8F8,0xC8F9,0xC8FA,0xC8FB,0xC8FE,0xC8FF,0xC901,
+0xC902,0xC903,0xC907,0xC908,0xC909,0xC90A,0xC90B,0xC90E,
+0x3000,0x3001,0x3002,0x00B7,0x2025,0x2026,0x00A8,0x3003,
+0x00AD,0x2015,0x2225,0xFF3C,0x223C,0x2018,0x2019,0x201C,
+0x201D,0x3014,0x3015,0x3008,0x3009,0x300A,0x300B,0x300C,
+0x300D,0x300E,0x300F,0x3010,0x3011,0x00B1,0x00D7,0x00F7,
+0x2260,0x2264,0x2265,0x221E,0x2234,0x00B0,0x2032,0x2033,
+0x2103,0x212B,0xFFE0,0xFFE1,0xFFE5,0x2642,0x2640,0x2220,
+0x22A5,0x2312,0x2202,0x2207,0x2261,0x2252,0x00A7,0x203B,
+0x2606,0x2605,0x25CB,0x25CF,0x25CE,0x25C7,0x25C6,0x25A1,
+0x25A0,0x25B3,0x25B2,0x25BD,0x25BC,0x2192,0x2190,0x2191,
+0x2193,0x2194,0x3013,0x226A,0x226B,0x221A,0x223D,0x221D,
+0x2235,0x222B,0x222C,0x2208,0x220B,0x2286,0x2287,0x2282,
+0x2283,0x222A,0x2229,0x2227,0x2228,0xFFE2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC910,0xC912,0xC913,0xC914,0xC915,0xC916,0xC917,0xC919,
+0xC91A,0xC91B,0xC91C,0xC91D,0xC91E,0xC91F,0xC920,0xC921,
+0xC922,0xC923,0xC924,0xC925,0xC926,0xC927,0xC928,0xC929,
+0xC92A,0xC92B, 0, 0, 0, 0, 0, 0,
+0xC92D,0xC92E,0xC92F,0xC930,0xC931,0xC932,0xC933,0xC935,
+0xC936,0xC937,0xC938,0xC939,0xC93A,0xC93B,0xC93C,0xC93D,
+0xC93E,0xC93F,0xC940,0xC941,0xC942,0xC943,0xC944,0xC945,
+0xC946,0xC947, 0, 0, 0, 0, 0, 0,
+0xC948,0xC949,0xC94A,0xC94B,0xC94C,0xC94D,0xC94E,0xC94F,
+0xC952,0xC953,0xC955,0xC956,0xC957,0xC959,0xC95A,0xC95B,
+0xC95C,0xC95D,0xC95E,0xC95F,0xC962,0xC964,0xC965,0xC966,
+0xC967,0xC968,0xC969,0xC96A,0xC96B,0xC96D,0xC96E,0xC96F,
+0x21D2,0x21D4,0x2200,0x2203,0x00B4,0xFF5E,0x02C7,0x02D8,
+0x02DD,0x02DA,0x02D9,0x00B8,0x02DB,0x00A1,0x00BF,0x02D0,
+0x222E,0x2211,0x220F,0x00A4,0x2109,0x2030,0x25C1,0x25C0,
+0x25B7,0x25B6,0x2664,0x2660,0x2661,0x2665,0x2667,0x2663,
+0x2299,0x25C8,0x25A3,0x25D0,0x25D1,0x2592,0x25A4,0x25A5,
+0x25A8,0x25A7,0x25A6,0x25A9,0x2668,0x260F,0x260E,0x261C,
+0x261E,0x00B6,0x2020,0x2021,0x2195,0x2197,0x2199,0x2196,
+0x2198,0x266D,0x2669,0x266A,0x266C,0x327F,0x321C,0x2116,
+0x33C7,0x2122,0x33C2,0x33D8,0x2121, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC971,0xC972,0xC973,0xC975,0xC976,0xC977,0xC978,0xC979,
+0xC97A,0xC97B,0xC97D,0xC97E,0xC97F,0xC980,0xC981,0xC982,
+0xC983,0xC984,0xC985,0xC986,0xC987,0xC98A,0xC98B,0xC98D,
+0xC98E,0xC98F, 0, 0, 0, 0, 0, 0,
+0xC991,0xC992,0xC993,0xC994,0xC995,0xC996,0xC997,0xC99A,
+0xC99C,0xC99E,0xC99F,0xC9A0,0xC9A1,0xC9A2,0xC9A3,0xC9A4,
+0xC9A5,0xC9A6,0xC9A7,0xC9A8,0xC9A9,0xC9AA,0xC9AB,0xC9AC,
+0xC9AD,0xC9AE, 0, 0, 0, 0, 0, 0,
+0xC9AF,0xC9B0,0xC9B1,0xC9B2,0xC9B3,0xC9B4,0xC9B5,0xC9B6,
+0xC9B7,0xC9B8,0xC9B9,0xC9BA,0xC9BB,0xC9BC,0xC9BD,0xC9BE,
+0xC9BF,0xC9C2,0xC9C3,0xC9C5,0xC9C6,0xC9C9,0xC9CB,0xC9CC,
+0xC9CD,0xC9CE,0xC9CF,0xC9D2,0xC9D4,0xC9D7,0xC9D8,0xC9DB,
+0xFF01,0xFF02,0xFF03,0xFF04,0xFF05,0xFF06,0xFF07,0xFF08,
+0xFF09,0xFF0A,0xFF0B,0xFF0C,0xFF0D,0xFF0E,0xFF0F,0xFF10,
+0xFF11,0xFF12,0xFF13,0xFF14,0xFF15,0xFF16,0xFF17,0xFF18,
+0xFF19,0xFF1A,0xFF1B,0xFF1C,0xFF1D,0xFF1E,0xFF1F,0xFF20,
+0xFF21,0xFF22,0xFF23,0xFF24,0xFF25,0xFF26,0xFF27,0xFF28,
+0xFF29,0xFF2A,0xFF2B,0xFF2C,0xFF2D,0xFF2E,0xFF2F,0xFF30,
+0xFF31,0xFF32,0xFF33,0xFF34,0xFF35,0xFF36,0xFF37,0xFF38,
+0xFF39,0xFF3A,0xFF3B,0xFFE6,0xFF3D,0xFF3E,0xFF3F,0xFF40,
+0xFF41,0xFF42,0xFF43,0xFF44,0xFF45,0xFF46,0xFF47,0xFF48,
+0xFF49,0xFF4A,0xFF4B,0xFF4C,0xFF4D,0xFF4E,0xFF4F,0xFF50,
+0xFF51,0xFF52,0xFF53,0xFF54,0xFF55,0xFF56,0xFF57,0xFF58,
+0xFF59,0xFF5A,0xFF5B,0xFF5C,0xFF5D,0xFFE3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xC9DE,0xC9DF,0xC9E1,0xC9E3,0xC9E5,0xC9E6,0xC9E8,0xC9E9,
+0xC9EA,0xC9EB,0xC9EE,0xC9F2,0xC9F3,0xC9F4,0xC9F5,0xC9F6,
+0xC9F7,0xC9FA,0xC9FB,0xC9FD,0xC9FE,0xC9FF,0xCA01,0xCA02,
+0xCA03,0xCA04, 0, 0, 0, 0, 0, 0,
+0xCA05,0xCA06,0xCA07,0xCA0A,0xCA0E,0xCA0F,0xCA10,0xCA11,
+0xCA12,0xCA13,0xCA15,0xCA16,0xCA17,0xCA19,0xCA1A,0xCA1B,
+0xCA1C,0xCA1D,0xCA1E,0xCA1F,0xCA20,0xCA21,0xCA22,0xCA23,
+0xCA24,0xCA25, 0, 0, 0, 0, 0, 0,
+0xCA26,0xCA27,0xCA28,0xCA2A,0xCA2B,0xCA2C,0xCA2D,0xCA2E,
+0xCA2F,0xCA30,0xCA31,0xCA32,0xCA33,0xCA34,0xCA35,0xCA36,
+0xCA37,0xCA38,0xCA39,0xCA3A,0xCA3B,0xCA3C,0xCA3D,0xCA3E,
+0xCA3F,0xCA40,0xCA41,0xCA42,0xCA43,0xCA44,0xCA45,0xCA46,
+0x3131,0x3132,0x3133,0x3134,0x3135,0x3136,0x3137,0x3138,
+0x3139,0x313A,0x313B,0x313C,0x313D,0x313E,0x313F,0x3140,
+0x3141,0x3142,0x3143,0x3144,0x3145,0x3146,0x3147,0x3148,
+0x3149,0x314A,0x314B,0x314C,0x314D,0x314E,0x314F,0x3150,
+0x3151,0x3152,0x3153,0x3154,0x3155,0x3156,0x3157,0x3158,
+0x3159,0x315A,0x315B,0x315C,0x315D,0x315E,0x315F,0x3160,
+0x3161,0x3162,0x3163,0x3164,0x3165,0x3166,0x3167,0x3168,
+0x3169,0x316A,0x316B,0x316C,0x316D,0x316E,0x316F,0x3170,
+0x3171,0x3172,0x3173,0x3174,0x3175,0x3176,0x3177,0x3178,
+0x3179,0x317A,0x317B,0x317C,0x317D,0x317E,0x317F,0x3180,
+0x3181,0x3182,0x3183,0x3184,0x3185,0x3186,0x3187,0x3188,
+0x3189,0x318A,0x318B,0x318C,0x318D,0x318E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCA47,0xCA48,0xCA49,0xCA4A,0xCA4B,0xCA4E,0xCA4F,0xCA51,
+0xCA52,0xCA53,0xCA55,0xCA56,0xCA57,0xCA58,0xCA59,0xCA5A,
+0xCA5B,0xCA5E,0xCA62,0xCA63,0xCA64,0xCA65,0xCA66,0xCA67,
+0xCA69,0xCA6A, 0, 0, 0, 0, 0, 0,
+0xCA6B,0xCA6C,0xCA6D,0xCA6E,0xCA6F,0xCA70,0xCA71,0xCA72,
+0xCA73,0xCA74,0xCA75,0xCA76,0xCA77,0xCA78,0xCA79,0xCA7A,
+0xCA7B,0xCA7C,0xCA7E,0xCA7F,0xCA80,0xCA81,0xCA82,0xCA83,
+0xCA85,0xCA86, 0, 0, 0, 0, 0, 0,
+0xCA87,0xCA88,0xCA89,0xCA8A,0xCA8B,0xCA8C,0xCA8D,0xCA8E,
+0xCA8F,0xCA90,0xCA91,0xCA92,0xCA93,0xCA94,0xCA95,0xCA96,
+0xCA97,0xCA99,0xCA9A,0xCA9B,0xCA9C,0xCA9D,0xCA9E,0xCA9F,
+0xCAA0,0xCAA1,0xCAA2,0xCAA3,0xCAA4,0xCAA5,0xCAA6,0xCAA7,
+0x2170,0x2171,0x2172,0x2173,0x2174,0x2175,0x2176,0x2177,
+0x2178,0x2179, 0, 0, 0, 0, 0,0x2160,
+0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,0x2167,0x2168,
+0x2169, 0, 0, 0, 0, 0, 0, 0,
+0x0391,0x0392,0x0393,0x0394,0x0395,0x0396,0x0397,0x0398,
+0x0399,0x039A,0x039B,0x039C,0x039D,0x039E,0x039F,0x03A0,
+0x03A1,0x03A3,0x03A4,0x03A5,0x03A6,0x03A7,0x03A8,0x03A9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x03B1,0x03B2,0x03B3,0x03B4,0x03B5,0x03B6,0x03B7,0x03B8,
+0x03B9,0x03BA,0x03BB,0x03BC,0x03BD,0x03BE,0x03BF,0x03C0,
+0x03C1,0x03C3,0x03C4,0x03C5,0x03C6,0x03C7,0x03C8,0x03C9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCAA8,0xCAA9,0xCAAA,0xCAAB,0xCAAC,0xCAAD,0xCAAE,0xCAAF,
+0xCAB0,0xCAB1,0xCAB2,0xCAB3,0xCAB4,0xCAB5,0xCAB6,0xCAB7,
+0xCAB8,0xCAB9,0xCABA,0xCABB,0xCABE,0xCABF,0xCAC1,0xCAC2,
+0xCAC3,0xCAC5, 0, 0, 0, 0, 0, 0,
+0xCAC6,0xCAC7,0xCAC8,0xCAC9,0xCACA,0xCACB,0xCACE,0xCAD0,
+0xCAD2,0xCAD4,0xCAD5,0xCAD6,0xCAD7,0xCADA,0xCADB,0xCADC,
+0xCADD,0xCADE,0xCADF,0xCAE1,0xCAE2,0xCAE3,0xCAE4,0xCAE5,
+0xCAE6,0xCAE7, 0, 0, 0, 0, 0, 0,
+0xCAE8,0xCAE9,0xCAEA,0xCAEB,0xCAED,0xCAEE,0xCAEF,0xCAF0,
+0xCAF1,0xCAF2,0xCAF3,0xCAF5,0xCAF6,0xCAF7,0xCAF8,0xCAF9,
+0xCAFA,0xCAFB,0xCAFC,0xCAFD,0xCAFE,0xCAFF,0xCB00,0xCB01,
+0xCB02,0xCB03,0xCB04,0xCB05,0xCB06,0xCB07,0xCB09,0xCB0A,
+0x2500,0x2502,0x250C,0x2510,0x2518,0x2514,0x251C,0x252C,
+0x2524,0x2534,0x253C,0x2501,0x2503,0x250F,0x2513,0x251B,
+0x2517,0x2523,0x2533,0x252B,0x253B,0x254B,0x2520,0x252F,
+0x2528,0x2537,0x253F,0x251D,0x2530,0x2525,0x2538,0x2542,
+0x2512,0x2511,0x251A,0x2519,0x2516,0x2515,0x250E,0x250D,
+0x251E,0x251F,0x2521,0x2522,0x2526,0x2527,0x2529,0x252A,
+0x252D,0x252E,0x2531,0x2532,0x2535,0x2536,0x2539,0x253A,
+0x253D,0x253E,0x2540,0x2541,0x2543,0x2544,0x2545,0x2546,
+0x2547,0x2548,0x2549,0x254A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCB0B,0xCB0C,0xCB0D,0xCB0E,0xCB0F,0xCB11,0xCB12,0xCB13,
+0xCB15,0xCB16,0xCB17,0xCB19,0xCB1A,0xCB1B,0xCB1C,0xCB1D,
+0xCB1E,0xCB1F,0xCB22,0xCB23,0xCB24,0xCB25,0xCB26,0xCB27,
+0xCB28,0xCB29, 0, 0, 0, 0, 0, 0,
+0xCB2A,0xCB2B,0xCB2C,0xCB2D,0xCB2E,0xCB2F,0xCB30,0xCB31,
+0xCB32,0xCB33,0xCB34,0xCB35,0xCB36,0xCB37,0xCB38,0xCB39,
+0xCB3A,0xCB3B,0xCB3C,0xCB3D,0xCB3E,0xCB3F,0xCB40,0xCB42,
+0xCB43,0xCB44, 0, 0, 0, 0, 0, 0,
+0xCB45,0xCB46,0xCB47,0xCB4A,0xCB4B,0xCB4D,0xCB4E,0xCB4F,
+0xCB51,0xCB52,0xCB53,0xCB54,0xCB55,0xCB56,0xCB57,0xCB5A,
+0xCB5B,0xCB5C,0xCB5E,0xCB5F,0xCB60,0xCB61,0xCB62,0xCB63,
+0xCB65,0xCB66,0xCB67,0xCB68,0xCB69,0xCB6A,0xCB6B,0xCB6C,
+0x3395,0x3396,0x3397,0x2113,0x3398,0x33C4,0x33A3,0x33A4,
+0x33A5,0x33A6,0x3399,0x339A,0x339B,0x339C,0x339D,0x339E,
+0x339F,0x33A0,0x33A1,0x33A2,0x33CA,0x338D,0x338E,0x338F,
+0x33CF,0x3388,0x3389,0x33C8,0x33A7,0x33A8,0x33B0,0x33B1,
+0x33B2,0x33B3,0x33B4,0x33B5,0x33B6,0x33B7,0x33B8,0x33B9,
+0x3380,0x3381,0x3382,0x3383,0x3384,0x33BA,0x33BB,0x33BC,
+0x33BD,0x33BE,0x33BF,0x3390,0x3391,0x3392,0x3393,0x3394,
+0x2126,0x33C0,0x33C1,0x338A,0x338B,0x338C,0x33D6,0x33C5,
+0x33AD,0x33AE,0x33AF,0x33DB,0x33A9,0x33AA,0x33AB,0x33AC,
+0x33DD,0x33D0,0x33D3,0x33C3,0x33C9,0x33DC,0x33C6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCB6D,0xCB6E,0xCB6F,0xCB70,0xCB71,0xCB72,0xCB73,0xCB74,
+0xCB75,0xCB76,0xCB77,0xCB7A,0xCB7B,0xCB7C,0xCB7D,0xCB7E,
+0xCB7F,0xCB80,0xCB81,0xCB82,0xCB83,0xCB84,0xCB85,0xCB86,
+0xCB87,0xCB88, 0, 0, 0, 0, 0, 0,
+0xCB89,0xCB8A,0xCB8B,0xCB8C,0xCB8D,0xCB8E,0xCB8F,0xCB90,
+0xCB91,0xCB92,0xCB93,0xCB94,0xCB95,0xCB96,0xCB97,0xCB98,
+0xCB99,0xCB9A,0xCB9B,0xCB9D,0xCB9E,0xCB9F,0xCBA0,0xCBA1,
+0xCBA2,0xCBA3, 0, 0, 0, 0, 0, 0,
+0xCBA4,0xCBA5,0xCBA6,0xCBA7,0xCBA8,0xCBA9,0xCBAA,0xCBAB,
+0xCBAC,0xCBAD,0xCBAE,0xCBAF,0xCBB0,0xCBB1,0xCBB2,0xCBB3,
+0xCBB4,0xCBB5,0xCBB6,0xCBB7,0xCBB9,0xCBBA,0xCBBB,0xCBBC,
+0xCBBD,0xCBBE,0xCBBF,0xCBC0,0xCBC1,0xCBC2,0xCBC3,0xCBC4,
+0x00C6,0x00D0,0x00AA,0x0126, 0,0x0132, 0,0x013F,
+0x0141,0x00D8,0x0152,0x00BA,0x00DE,0x0166,0x014A, 0,
+0x3260,0x3261,0x3262,0x3263,0x3264,0x3265,0x3266,0x3267,
+0x3268,0x3269,0x326A,0x326B,0x326C,0x326D,0x326E,0x326F,
+0x3270,0x3271,0x3272,0x3273,0x3274,0x3275,0x3276,0x3277,
+0x3278,0x3279,0x327A,0x327B,0x24D0,0x24D1,0x24D2,0x24D3,
+0x24D4,0x24D5,0x24D6,0x24D7,0x24D8,0x24D9,0x24DA,0x24DB,
+0x24DC,0x24DD,0x24DE,0x24DF,0x24E0,0x24E1,0x24E2,0x24E3,
+0x24E4,0x24E5,0x24E6,0x24E7,0x24E8,0x24E9,0x2460,0x2461,
+0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,0x2469,
+0x246A,0x246B,0x246C,0x246D,0x246E,0x00BD,0x2153,0x2154,
+0x00BC,0x00BE,0x215B,0x215C,0x215D,0x215E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCBC5,0xCBC6,0xCBC7,0xCBC8,0xCBC9,0xCBCA,0xCBCB,0xCBCC,
+0xCBCD,0xCBCE,0xCBCF,0xCBD0,0xCBD1,0xCBD2,0xCBD3,0xCBD5,
+0xCBD6,0xCBD7,0xCBD8,0xCBD9,0xCBDA,0xCBDB,0xCBDC,0xCBDD,
+0xCBDE,0xCBDF, 0, 0, 0, 0, 0, 0,
+0xCBE0,0xCBE1,0xCBE2,0xCBE3,0xCBE5,0xCBE6,0xCBE8,0xCBEA,
+0xCBEB,0xCBEC,0xCBED,0xCBEE,0xCBEF,0xCBF0,0xCBF1,0xCBF2,
+0xCBF3,0xCBF4,0xCBF5,0xCBF6,0xCBF7,0xCBF8,0xCBF9,0xCBFA,
+0xCBFB,0xCBFC, 0, 0, 0, 0, 0, 0,
+0xCBFD,0xCBFE,0xCBFF,0xCC00,0xCC01,0xCC02,0xCC03,0xCC04,
+0xCC05,0xCC06,0xCC07,0xCC08,0xCC09,0xCC0A,0xCC0B,0xCC0E,
+0xCC0F,0xCC11,0xCC12,0xCC13,0xCC15,0xCC16,0xCC17,0xCC18,
+0xCC19,0xCC1A,0xCC1B,0xCC1E,0xCC1F,0xCC20,0xCC23,0xCC24,
+0x00E6,0x0111,0x00F0,0x0127,0x0131,0x0133,0x0138,0x0140,
+0x0142,0x00F8,0x0153,0x00DF,0x00FE,0x0167,0x014B,0x0149,
+0x3200,0x3201,0x3202,0x3203,0x3204,0x3205,0x3206,0x3207,
+0x3208,0x3209,0x320A,0x320B,0x320C,0x320D,0x320E,0x320F,
+0x3210,0x3211,0x3212,0x3213,0x3214,0x3215,0x3216,0x3217,
+0x3218,0x3219,0x321A,0x321B,0x249C,0x249D,0x249E,0x249F,
+0x24A0,0x24A1,0x24A2,0x24A3,0x24A4,0x24A5,0x24A6,0x24A7,
+0x24A8,0x24A9,0x24AA,0x24AB,0x24AC,0x24AD,0x24AE,0x24AF,
+0x24B0,0x24B1,0x24B2,0x24B3,0x24B4,0x24B5,0x2474,0x2475,
+0x2476,0x2477,0x2478,0x2479,0x247A,0x247B,0x247C,0x247D,
+0x247E,0x247F,0x2480,0x2481,0x2482,0x00B9,0x00B2,0x00B3,
+0x2074,0x207F,0x2081,0x2082,0x2083,0x2084, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCC25,0xCC26,0xCC2A,0xCC2B,0xCC2D,0xCC2F,0xCC31,0xCC32,
+0xCC33,0xCC34,0xCC35,0xCC36,0xCC37,0xCC3A,0xCC3F,0xCC40,
+0xCC41,0xCC42,0xCC43,0xCC46,0xCC47,0xCC49,0xCC4A,0xCC4B,
+0xCC4D,0xCC4E, 0, 0, 0, 0, 0, 0,
+0xCC4F,0xCC50,0xCC51,0xCC52,0xCC53,0xCC56,0xCC5A,0xCC5B,
+0xCC5C,0xCC5D,0xCC5E,0xCC5F,0xCC61,0xCC62,0xCC63,0xCC65,
+0xCC67,0xCC69,0xCC6A,0xCC6B,0xCC6C,0xCC6D,0xCC6E,0xCC6F,
+0xCC71,0xCC72, 0, 0, 0, 0, 0, 0,
+0xCC73,0xCC74,0xCC76,0xCC77,0xCC78,0xCC79,0xCC7A,0xCC7B,
+0xCC7C,0xCC7D,0xCC7E,0xCC7F,0xCC80,0xCC81,0xCC82,0xCC83,
+0xCC84,0xCC85,0xCC86,0xCC87,0xCC88,0xCC89,0xCC8A,0xCC8B,
+0xCC8C,0xCC8D,0xCC8E,0xCC8F,0xCC90,0xCC91,0xCC92,0xCC93,
+0x3041,0x3042,0x3043,0x3044,0x3045,0x3046,0x3047,0x3048,
+0x3049,0x304A,0x304B,0x304C,0x304D,0x304E,0x304F,0x3050,
+0x3051,0x3052,0x3053,0x3054,0x3055,0x3056,0x3057,0x3058,
+0x3059,0x305A,0x305B,0x305C,0x305D,0x305E,0x305F,0x3060,
+0x3061,0x3062,0x3063,0x3064,0x3065,0x3066,0x3067,0x3068,
+0x3069,0x306A,0x306B,0x306C,0x306D,0x306E,0x306F,0x3070,
+0x3071,0x3072,0x3073,0x3074,0x3075,0x3076,0x3077,0x3078,
+0x3079,0x307A,0x307B,0x307C,0x307D,0x307E,0x307F,0x3080,
+0x3081,0x3082,0x3083,0x3084,0x3085,0x3086,0x3087,0x3088,
+0x3089,0x308A,0x308B,0x308C,0x308D,0x308E,0x308F,0x3090,
+0x3091,0x3092,0x3093, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCC94,0xCC95,0xCC96,0xCC97,0xCC9A,0xCC9B,0xCC9D,0xCC9E,
+0xCC9F,0xCCA1,0xCCA2,0xCCA3,0xCCA4,0xCCA5,0xCCA6,0xCCA7,
+0xCCAA,0xCCAE,0xCCAF,0xCCB0,0xCCB1,0xCCB2,0xCCB3,0xCCB6,
+0xCCB7,0xCCB9, 0, 0, 0, 0, 0, 0,
+0xCCBA,0xCCBB,0xCCBD,0xCCBE,0xCCBF,0xCCC0,0xCCC1,0xCCC2,
+0xCCC3,0xCCC6,0xCCC8,0xCCCA,0xCCCB,0xCCCC,0xCCCD,0xCCCE,
+0xCCCF,0xCCD1,0xCCD2,0xCCD3,0xCCD5,0xCCD6,0xCCD7,0xCCD8,
+0xCCD9,0xCCDA, 0, 0, 0, 0, 0, 0,
+0xCCDB,0xCCDC,0xCCDD,0xCCDE,0xCCDF,0xCCE0,0xCCE1,0xCCE2,
+0xCCE3,0xCCE5,0xCCE6,0xCCE7,0xCCE8,0xCCE9,0xCCEA,0xCCEB,
+0xCCED,0xCCEE,0xCCEF,0xCCF1,0xCCF2,0xCCF3,0xCCF4,0xCCF5,
+0xCCF6,0xCCF7,0xCCF8,0xCCF9,0xCCFA,0xCCFB,0xCCFC,0xCCFD,
+0x30A1,0x30A2,0x30A3,0x30A4,0x30A5,0x30A6,0x30A7,0x30A8,
+0x30A9,0x30AA,0x30AB,0x30AC,0x30AD,0x30AE,0x30AF,0x30B0,
+0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,0x30B8,
+0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,0x30C0,
+0x30C1,0x30C2,0x30C3,0x30C4,0x30C5,0x30C6,0x30C7,0x30C8,
+0x30C9,0x30CA,0x30CB,0x30CC,0x30CD,0x30CE,0x30CF,0x30D0,
+0x30D1,0x30D2,0x30D3,0x30D4,0x30D5,0x30D6,0x30D7,0x30D8,
+0x30D9,0x30DA,0x30DB,0x30DC,0x30DD,0x30DE,0x30DF,0x30E0,
+0x30E1,0x30E2,0x30E3,0x30E4,0x30E5,0x30E6,0x30E7,0x30E8,
+0x30E9,0x30EA,0x30EB,0x30EC,0x30ED,0x30EE,0x30EF,0x30F0,
+0x30F1,0x30F2,0x30F3,0x30F4,0x30F5,0x30F6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCCFE,0xCCFF,0xCD00,0xCD02,0xCD03,0xCD04,0xCD05,0xCD06,
+0xCD07,0xCD0A,0xCD0B,0xCD0D,0xCD0E,0xCD0F,0xCD11,0xCD12,
+0xCD13,0xCD14,0xCD15,0xCD16,0xCD17,0xCD1A,0xCD1C,0xCD1E,
+0xCD1F,0xCD20, 0, 0, 0, 0, 0, 0,
+0xCD21,0xCD22,0xCD23,0xCD25,0xCD26,0xCD27,0xCD29,0xCD2A,
+0xCD2B,0xCD2D,0xCD2E,0xCD2F,0xCD30,0xCD31,0xCD32,0xCD33,
+0xCD34,0xCD35,0xCD36,0xCD37,0xCD38,0xCD3A,0xCD3B,0xCD3C,
+0xCD3D,0xCD3E, 0, 0, 0, 0, 0, 0,
+0xCD3F,0xCD40,0xCD41,0xCD42,0xCD43,0xCD44,0xCD45,0xCD46,
+0xCD47,0xCD48,0xCD49,0xCD4A,0xCD4B,0xCD4C,0xCD4D,0xCD4E,
+0xCD4F,0xCD50,0xCD51,0xCD52,0xCD53,0xCD54,0xCD55,0xCD56,
+0xCD57,0xCD58,0xCD59,0xCD5A,0xCD5B,0xCD5D,0xCD5E,0xCD5F,
+0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0401,0x0416,
+0x0417,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
+0x041F,0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,
+0x0427,0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,
+0x042F, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0451,0x0436,
+0x0437,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
+0x043F,0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,
+0x0447,0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,
+0x044F, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCD61,0xCD62,0xCD63,0xCD65,0xCD66,0xCD67,0xCD68,0xCD69,
+0xCD6A,0xCD6B,0xCD6E,0xCD70,0xCD72,0xCD73,0xCD74,0xCD75,
+0xCD76,0xCD77,0xCD79,0xCD7A,0xCD7B,0xCD7C,0xCD7D,0xCD7E,
+0xCD7F,0xCD80, 0, 0, 0, 0, 0, 0,
+0xCD81,0xCD82,0xCD83,0xCD84,0xCD85,0xCD86,0xCD87,0xCD89,
+0xCD8A,0xCD8B,0xCD8C,0xCD8D,0xCD8E,0xCD8F,0xCD90,0xCD91,
+0xCD92,0xCD93,0xCD96,0xCD97,0xCD99,0xCD9A,0xCD9B,0xCD9D,
+0xCD9E,0xCD9F, 0, 0, 0, 0, 0, 0,
+0xCDA0,0xCDA1,0xCDA2,0xCDA3,0xCDA6,0xCDA8,0xCDAA,0xCDAB,
+0xCDAC,0xCDAD,0xCDAE,0xCDAF,0xCDB1,0xCDB2,0xCDB3,0xCDB4,
+0xCDB5,0xCDB6,0xCDB7,0xCDB8,0xCDB9,0xCDBA,0xCDBB,0xCDBC,
+0xCDBD,0xCDBE,0xCDBF,0xCDC0,0xCDC1,0xCDC2,0xCDC3,0xCDC5,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCDC6,0xCDC7,0xCDC8,0xCDC9,0xCDCA,0xCDCB,0xCDCD,0xCDCE,
+0xCDCF,0xCDD1,0xCDD2,0xCDD3,0xCDD4,0xCDD5,0xCDD6,0xCDD7,
+0xCDD8,0xCDD9,0xCDDA,0xCDDB,0xCDDC,0xCDDD,0xCDDE,0xCDDF,
+0xCDE0,0xCDE1, 0, 0, 0, 0, 0, 0,
+0xCDE2,0xCDE3,0xCDE4,0xCDE5,0xCDE6,0xCDE7,0xCDE9,0xCDEA,
+0xCDEB,0xCDED,0xCDEE,0xCDEF,0xCDF1,0xCDF2,0xCDF3,0xCDF4,
+0xCDF5,0xCDF6,0xCDF7,0xCDFA,0xCDFC,0xCDFE,0xCDFF,0xCE00,
+0xCE01,0xCE02, 0, 0, 0, 0, 0, 0,
+0xCE03,0xCE05,0xCE06,0xCE07,0xCE09,0xCE0A,0xCE0B,0xCE0D,
+0xCE0E,0xCE0F,0xCE10,0xCE11,0xCE12,0xCE13,0xCE15,0xCE16,
+0xCE17,0xCE18,0xCE1A,0xCE1B,0xCE1C,0xCE1D,0xCE1E,0xCE1F,
+0xCE22,0xCE23,0xCE25,0xCE26,0xCE27,0xCE29,0xCE2A,0xCE2B,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCE2C,0xCE2D,0xCE2E,0xCE2F,0xCE32,0xCE34,0xCE36,0xCE37,
+0xCE38,0xCE39,0xCE3A,0xCE3B,0xCE3C,0xCE3D,0xCE3E,0xCE3F,
+0xCE40,0xCE41,0xCE42,0xCE43,0xCE44,0xCE45,0xCE46,0xCE47,
+0xCE48,0xCE49, 0, 0, 0, 0, 0, 0,
+0xCE4A,0xCE4B,0xCE4C,0xCE4D,0xCE4E,0xCE4F,0xCE50,0xCE51,
+0xCE52,0xCE53,0xCE54,0xCE55,0xCE56,0xCE57,0xCE5A,0xCE5B,
+0xCE5D,0xCE5E,0xCE62,0xCE63,0xCE64,0xCE65,0xCE66,0xCE67,
+0xCE6A,0xCE6C, 0, 0, 0, 0, 0, 0,
+0xCE6E,0xCE6F,0xCE70,0xCE71,0xCE72,0xCE73,0xCE76,0xCE77,
+0xCE79,0xCE7A,0xCE7B,0xCE7D,0xCE7E,0xCE7F,0xCE80,0xCE81,
+0xCE82,0xCE83,0xCE86,0xCE88,0xCE8A,0xCE8B,0xCE8C,0xCE8D,
+0xCE8E,0xCE8F,0xCE92,0xCE93,0xCE95,0xCE96,0xCE97,0xCE99,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCE9A,0xCE9B,0xCE9C,0xCE9D,0xCE9E,0xCE9F,0xCEA2,0xCEA6,
+0xCEA7,0xCEA8,0xCEA9,0xCEAA,0xCEAB,0xCEAE,0xCEAF,0xCEB0,
+0xCEB1,0xCEB2,0xCEB3,0xCEB4,0xCEB5,0xCEB6,0xCEB7,0xCEB8,
+0xCEB9,0xCEBA, 0, 0, 0, 0, 0, 0,
+0xCEBB,0xCEBC,0xCEBD,0xCEBE,0xCEBF,0xCEC0,0xCEC2,0xCEC3,
+0xCEC4,0xCEC5,0xCEC6,0xCEC7,0xCEC8,0xCEC9,0xCECA,0xCECB,
+0xCECC,0xCECD,0xCECE,0xCECF,0xCED0,0xCED1,0xCED2,0xCED3,
+0xCED4,0xCED5, 0, 0, 0, 0, 0, 0,
+0xCED6,0xCED7,0xCED8,0xCED9,0xCEDA,0xCEDB,0xCEDC,0xCEDD,
+0xCEDE,0xCEDF,0xCEE0,0xCEE1,0xCEE2,0xCEE3,0xCEE6,0xCEE7,
+0xCEE9,0xCEEA,0xCEED,0xCEEE,0xCEEF,0xCEF0,0xCEF1,0xCEF2,
+0xCEF3,0xCEF6,0xCEFA,0xCEFB,0xCEFC,0xCEFD,0xCEFE,0xCEFF,
+0xAC00,0xAC01,0xAC04,0xAC07,0xAC08,0xAC09,0xAC0A,0xAC10,
+0xAC11,0xAC12,0xAC13,0xAC14,0xAC15,0xAC16,0xAC17,0xAC19,
+0xAC1A,0xAC1B,0xAC1C,0xAC1D,0xAC20,0xAC24,0xAC2C,0xAC2D,
+0xAC2F,0xAC30,0xAC31,0xAC38,0xAC39,0xAC3C,0xAC40,0xAC4B,
+0xAC4D,0xAC54,0xAC58,0xAC5C,0xAC70,0xAC71,0xAC74,0xAC77,
+0xAC78,0xAC7A,0xAC80,0xAC81,0xAC83,0xAC84,0xAC85,0xAC86,
+0xAC89,0xAC8A,0xAC8B,0xAC8C,0xAC90,0xAC94,0xAC9C,0xAC9D,
+0xAC9F,0xACA0,0xACA1,0xACA8,0xACA9,0xACAA,0xACAC,0xACAF,
+0xACB0,0xACB8,0xACB9,0xACBB,0xACBC,0xACBD,0xACC1,0xACC4,
+0xACC8,0xACCC,0xACD5,0xACD7,0xACE0,0xACE1,0xACE4,0xACE7,
+0xACE8,0xACEA,0xACEC,0xACEF,0xACF0,0xACF1,0xACF3,0xACF5,
+0xACF6,0xACFC,0xACFD,0xAD00,0xAD04,0xAD06, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCF02,0xCF03,0xCF05,0xCF06,0xCF07,0xCF09,0xCF0A,0xCF0B,
+0xCF0C,0xCF0D,0xCF0E,0xCF0F,0xCF12,0xCF14,0xCF16,0xCF17,
+0xCF18,0xCF19,0xCF1A,0xCF1B,0xCF1D,0xCF1E,0xCF1F,0xCF21,
+0xCF22,0xCF23, 0, 0, 0, 0, 0, 0,
+0xCF25,0xCF26,0xCF27,0xCF28,0xCF29,0xCF2A,0xCF2B,0xCF2E,
+0xCF32,0xCF33,0xCF34,0xCF35,0xCF36,0xCF37,0xCF39,0xCF3A,
+0xCF3B,0xCF3C,0xCF3D,0xCF3E,0xCF3F,0xCF40,0xCF41,0xCF42,
+0xCF43,0xCF44, 0, 0, 0, 0, 0, 0,
+0xCF45,0xCF46,0xCF47,0xCF48,0xCF49,0xCF4A,0xCF4B,0xCF4C,
+0xCF4D,0xCF4E,0xCF4F,0xCF50,0xCF51,0xCF52,0xCF53,0xCF56,
+0xCF57,0xCF59,0xCF5A,0xCF5B,0xCF5D,0xCF5E,0xCF5F,0xCF60,
+0xCF61,0xCF62,0xCF63,0xCF66,0xCF68,0xCF6A,0xCF6B,0xCF6C,
+0xAD0C,0xAD0D,0xAD0F,0xAD11,0xAD18,0xAD1C,0xAD20,0xAD29,
+0xAD2C,0xAD2D,0xAD34,0xAD35,0xAD38,0xAD3C,0xAD44,0xAD45,
+0xAD47,0xAD49,0xAD50,0xAD54,0xAD58,0xAD61,0xAD63,0xAD6C,
+0xAD6D,0xAD70,0xAD73,0xAD74,0xAD75,0xAD76,0xAD7B,0xAD7C,
+0xAD7D,0xAD7F,0xAD81,0xAD82,0xAD88,0xAD89,0xAD8C,0xAD90,
+0xAD9C,0xAD9D,0xADA4,0xADB7,0xADC0,0xADC1,0xADC4,0xADC8,
+0xADD0,0xADD1,0xADD3,0xADDC,0xADE0,0xADE4,0xADF8,0xADF9,
+0xADFC,0xADFF,0xAE00,0xAE01,0xAE08,0xAE09,0xAE0B,0xAE0D,
+0xAE14,0xAE30,0xAE31,0xAE34,0xAE37,0xAE38,0xAE3A,0xAE40,
+0xAE41,0xAE43,0xAE45,0xAE46,0xAE4A,0xAE4C,0xAE4D,0xAE4E,
+0xAE50,0xAE54,0xAE56,0xAE5C,0xAE5D,0xAE5F,0xAE60,0xAE61,
+0xAE65,0xAE68,0xAE69,0xAE6C,0xAE70,0xAE78, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCF6D,0xCF6E,0xCF6F,0xCF72,0xCF73,0xCF75,0xCF76,0xCF77,
+0xCF79,0xCF7A,0xCF7B,0xCF7C,0xCF7D,0xCF7E,0xCF7F,0xCF81,
+0xCF82,0xCF83,0xCF84,0xCF86,0xCF87,0xCF88,0xCF89,0xCF8A,
+0xCF8B,0xCF8D, 0, 0, 0, 0, 0, 0,
+0xCF8E,0xCF8F,0xCF90,0xCF91,0xCF92,0xCF93,0xCF94,0xCF95,
+0xCF96,0xCF97,0xCF98,0xCF99,0xCF9A,0xCF9B,0xCF9C,0xCF9D,
+0xCF9E,0xCF9F,0xCFA0,0xCFA2,0xCFA3,0xCFA4,0xCFA5,0xCFA6,
+0xCFA7,0xCFA9, 0, 0, 0, 0, 0, 0,
+0xCFAA,0xCFAB,0xCFAC,0xCFAD,0xCFAE,0xCFAF,0xCFB1,0xCFB2,
+0xCFB3,0xCFB4,0xCFB5,0xCFB6,0xCFB7,0xCFB8,0xCFB9,0xCFBA,
+0xCFBB,0xCFBC,0xCFBD,0xCFBE,0xCFBF,0xCFC0,0xCFC1,0xCFC2,
+0xCFC3,0xCFC5,0xCFC6,0xCFC7,0xCFC8,0xCFC9,0xCFCA,0xCFCB,
+0xAE79,0xAE7B,0xAE7C,0xAE7D,0xAE84,0xAE85,0xAE8C,0xAEBC,
+0xAEBD,0xAEBE,0xAEC0,0xAEC4,0xAECC,0xAECD,0xAECF,0xAED0,
+0xAED1,0xAED8,0xAED9,0xAEDC,0xAEE8,0xAEEB,0xAEED,0xAEF4,
+0xAEF8,0xAEFC,0xAF07,0xAF08,0xAF0D,0xAF10,0xAF2C,0xAF2D,
+0xAF30,0xAF32,0xAF34,0xAF3C,0xAF3D,0xAF3F,0xAF41,0xAF42,
+0xAF43,0xAF48,0xAF49,0xAF50,0xAF5C,0xAF5D,0xAF64,0xAF65,
+0xAF79,0xAF80,0xAF84,0xAF88,0xAF90,0xAF91,0xAF95,0xAF9C,
+0xAFB8,0xAFB9,0xAFBC,0xAFC0,0xAFC7,0xAFC8,0xAFC9,0xAFCB,
+0xAFCD,0xAFCE,0xAFD4,0xAFDC,0xAFE8,0xAFE9,0xAFF0,0xAFF1,
+0xAFF4,0xAFF8,0xB000,0xB001,0xB004,0xB00C,0xB010,0xB014,
+0xB01C,0xB01D,0xB028,0xB044,0xB045,0xB048,0xB04A,0xB04C,
+0xB04E,0xB053,0xB054,0xB055,0xB057,0xB059, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCFCC,0xCFCD,0xCFCE,0xCFCF,0xCFD0,0xCFD1,0xCFD2,0xCFD3,
+0xCFD4,0xCFD5,0xCFD6,0xCFD7,0xCFD8,0xCFD9,0xCFDA,0xCFDB,
+0xCFDC,0xCFDD,0xCFDE,0xCFDF,0xCFE2,0xCFE3,0xCFE5,0xCFE6,
+0xCFE7,0xCFE9, 0, 0, 0, 0, 0, 0,
+0xCFEA,0xCFEB,0xCFEC,0xCFED,0xCFEE,0xCFEF,0xCFF2,0xCFF4,
+0xCFF6,0xCFF7,0xCFF8,0xCFF9,0xCFFA,0xCFFB,0xCFFD,0xCFFE,
+0xCFFF,0xD001,0xD002,0xD003,0xD005,0xD006,0xD007,0xD008,
+0xD009,0xD00A, 0, 0, 0, 0, 0, 0,
+0xD00B,0xD00C,0xD00D,0xD00E,0xD00F,0xD010,0xD012,0xD013,
+0xD014,0xD015,0xD016,0xD017,0xD019,0xD01A,0xD01B,0xD01C,
+0xD01D,0xD01E,0xD01F,0xD020,0xD021,0xD022,0xD023,0xD024,
+0xD025,0xD026,0xD027,0xD028,0xD029,0xD02A,0xD02B,0xD02C,
+0xB05D,0xB07C,0xB07D,0xB080,0xB084,0xB08C,0xB08D,0xB08F,
+0xB091,0xB098,0xB099,0xB09A,0xB09C,0xB09F,0xB0A0,0xB0A1,
+0xB0A2,0xB0A8,0xB0A9,0xB0AB,0xB0AC,0xB0AD,0xB0AE,0xB0AF,
+0xB0B1,0xB0B3,0xB0B4,0xB0B5,0xB0B8,0xB0BC,0xB0C4,0xB0C5,
+0xB0C7,0xB0C8,0xB0C9,0xB0D0,0xB0D1,0xB0D4,0xB0D8,0xB0E0,
+0xB0E5,0xB108,0xB109,0xB10B,0xB10C,0xB110,0xB112,0xB113,
+0xB118,0xB119,0xB11B,0xB11C,0xB11D,0xB123,0xB124,0xB125,
+0xB128,0xB12C,0xB134,0xB135,0xB137,0xB138,0xB139,0xB140,
+0xB141,0xB144,0xB148,0xB150,0xB151,0xB154,0xB155,0xB158,
+0xB15C,0xB160,0xB178,0xB179,0xB17C,0xB180,0xB182,0xB188,
+0xB189,0xB18B,0xB18D,0xB192,0xB193,0xB194,0xB198,0xB19C,
+0xB1A8,0xB1CC,0xB1D0,0xB1D4,0xB1DC,0xB1DD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD02E,0xD02F,0xD030,0xD031,0xD032,0xD033,0xD036,0xD037,
+0xD039,0xD03A,0xD03B,0xD03D,0xD03E,0xD03F,0xD040,0xD041,
+0xD042,0xD043,0xD046,0xD048,0xD04A,0xD04B,0xD04C,0xD04D,
+0xD04E,0xD04F, 0, 0, 0, 0, 0, 0,
+0xD051,0xD052,0xD053,0xD055,0xD056,0xD057,0xD059,0xD05A,
+0xD05B,0xD05C,0xD05D,0xD05E,0xD05F,0xD061,0xD062,0xD063,
+0xD064,0xD065,0xD066,0xD067,0xD068,0xD069,0xD06A,0xD06B,
+0xD06E,0xD06F, 0, 0, 0, 0, 0, 0,
+0xD071,0xD072,0xD073,0xD075,0xD076,0xD077,0xD078,0xD079,
+0xD07A,0xD07B,0xD07E,0xD07F,0xD080,0xD082,0xD083,0xD084,
+0xD085,0xD086,0xD087,0xD088,0xD089,0xD08A,0xD08B,0xD08C,
+0xD08D,0xD08E,0xD08F,0xD090,0xD091,0xD092,0xD093,0xD094,
+0xB1DF,0xB1E8,0xB1E9,0xB1EC,0xB1F0,0xB1F9,0xB1FB,0xB1FD,
+0xB204,0xB205,0xB208,0xB20B,0xB20C,0xB214,0xB215,0xB217,
+0xB219,0xB220,0xB234,0xB23C,0xB258,0xB25C,0xB260,0xB268,
+0xB269,0xB274,0xB275,0xB27C,0xB284,0xB285,0xB289,0xB290,
+0xB291,0xB294,0xB298,0xB299,0xB29A,0xB2A0,0xB2A1,0xB2A3,
+0xB2A5,0xB2A6,0xB2AA,0xB2AC,0xB2B0,0xB2B4,0xB2C8,0xB2C9,
+0xB2CC,0xB2D0,0xB2D2,0xB2D8,0xB2D9,0xB2DB,0xB2DD,0xB2E2,
+0xB2E4,0xB2E5,0xB2E6,0xB2E8,0xB2EB,0xB2EC,0xB2ED,0xB2EE,
+0xB2EF,0xB2F3,0xB2F4,0xB2F5,0xB2F7,0xB2F8,0xB2F9,0xB2FA,
+0xB2FB,0xB2FF,0xB300,0xB301,0xB304,0xB308,0xB310,0xB311,
+0xB313,0xB314,0xB315,0xB31C,0xB354,0xB355,0xB356,0xB358,
+0xB35B,0xB35C,0xB35E,0xB35F,0xB364,0xB365, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD095,0xD096,0xD097,0xD098,0xD099,0xD09A,0xD09B,0xD09C,
+0xD09D,0xD09E,0xD09F,0xD0A0,0xD0A1,0xD0A2,0xD0A3,0xD0A6,
+0xD0A7,0xD0A9,0xD0AA,0xD0AB,0xD0AD,0xD0AE,0xD0AF,0xD0B0,
+0xD0B1,0xD0B2, 0, 0, 0, 0, 0, 0,
+0xD0B3,0xD0B6,0xD0B8,0xD0BA,0xD0BB,0xD0BC,0xD0BD,0xD0BE,
+0xD0BF,0xD0C2,0xD0C3,0xD0C5,0xD0C6,0xD0C7,0xD0CA,0xD0CB,
+0xD0CC,0xD0CD,0xD0CE,0xD0CF,0xD0D2,0xD0D6,0xD0D7,0xD0D8,
+0xD0D9,0xD0DA, 0, 0, 0, 0, 0, 0,
+0xD0DB,0xD0DE,0xD0DF,0xD0E1,0xD0E2,0xD0E3,0xD0E5,0xD0E6,
+0xD0E7,0xD0E8,0xD0E9,0xD0EA,0xD0EB,0xD0EE,0xD0F2,0xD0F3,
+0xD0F4,0xD0F5,0xD0F6,0xD0F7,0xD0F9,0xD0FA,0xD0FB,0xD0FC,
+0xD0FD,0xD0FE,0xD0FF,0xD100,0xD101,0xD102,0xD103,0xD104,
+0xB367,0xB369,0xB36B,0xB36E,0xB370,0xB371,0xB374,0xB378,
+0xB380,0xB381,0xB383,0xB384,0xB385,0xB38C,0xB390,0xB394,
+0xB3A0,0xB3A1,0xB3A8,0xB3AC,0xB3C4,0xB3C5,0xB3C8,0xB3CB,
+0xB3CC,0xB3CE,0xB3D0,0xB3D4,0xB3D5,0xB3D7,0xB3D9,0xB3DB,
+0xB3DD,0xB3E0,0xB3E4,0xB3E8,0xB3FC,0xB410,0xB418,0xB41C,
+0xB420,0xB428,0xB429,0xB42B,0xB434,0xB450,0xB451,0xB454,
+0xB458,0xB460,0xB461,0xB463,0xB465,0xB46C,0xB480,0xB488,
+0xB49D,0xB4A4,0xB4A8,0xB4AC,0xB4B5,0xB4B7,0xB4B9,0xB4C0,
+0xB4C4,0xB4C8,0xB4D0,0xB4D5,0xB4DC,0xB4DD,0xB4E0,0xB4E3,
+0xB4E4,0xB4E6,0xB4EC,0xB4ED,0xB4EF,0xB4F1,0xB4F8,0xB514,
+0xB515,0xB518,0xB51B,0xB51C,0xB524,0xB525,0xB527,0xB528,
+0xB529,0xB52A,0xB530,0xB531,0xB534,0xB538, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD105,0xD106,0xD107,0xD108,0xD109,0xD10A,0xD10B,0xD10C,
+0xD10E,0xD10F,0xD110,0xD111,0xD112,0xD113,0xD114,0xD115,
+0xD116,0xD117,0xD118,0xD119,0xD11A,0xD11B,0xD11C,0xD11D,
+0xD11E,0xD11F, 0, 0, 0, 0, 0, 0,
+0xD120,0xD121,0xD122,0xD123,0xD124,0xD125,0xD126,0xD127,
+0xD128,0xD129,0xD12A,0xD12B,0xD12C,0xD12D,0xD12E,0xD12F,
+0xD132,0xD133,0xD135,0xD136,0xD137,0xD139,0xD13B,0xD13C,
+0xD13D,0xD13E, 0, 0, 0, 0, 0, 0,
+0xD13F,0xD142,0xD146,0xD147,0xD148,0xD149,0xD14A,0xD14B,
+0xD14E,0xD14F,0xD151,0xD152,0xD153,0xD155,0xD156,0xD157,
+0xD158,0xD159,0xD15A,0xD15B,0xD15E,0xD160,0xD162,0xD163,
+0xD164,0xD165,0xD166,0xD167,0xD169,0xD16A,0xD16B,0xD16D,
+0xB540,0xB541,0xB543,0xB544,0xB545,0xB54B,0xB54C,0xB54D,
+0xB550,0xB554,0xB55C,0xB55D,0xB55F,0xB560,0xB561,0xB5A0,
+0xB5A1,0xB5A4,0xB5A8,0xB5AA,0xB5AB,0xB5B0,0xB5B1,0xB5B3,
+0xB5B4,0xB5B5,0xB5BB,0xB5BC,0xB5BD,0xB5C0,0xB5C4,0xB5CC,
+0xB5CD,0xB5CF,0xB5D0,0xB5D1,0xB5D8,0xB5EC,0xB610,0xB611,
+0xB614,0xB618,0xB625,0xB62C,0xB634,0xB648,0xB664,0xB668,
+0xB69C,0xB69D,0xB6A0,0xB6A4,0xB6AB,0xB6AC,0xB6B1,0xB6D4,
+0xB6F0,0xB6F4,0xB6F8,0xB700,0xB701,0xB705,0xB728,0xB729,
+0xB72C,0xB72F,0xB730,0xB738,0xB739,0xB73B,0xB744,0xB748,
+0xB74C,0xB754,0xB755,0xB760,0xB764,0xB768,0xB770,0xB771,
+0xB773,0xB775,0xB77C,0xB77D,0xB780,0xB784,0xB78C,0xB78D,
+0xB78F,0xB790,0xB791,0xB792,0xB796,0xB797, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD16E,0xD16F,0xD170,0xD171,0xD172,0xD173,0xD174,0xD175,
+0xD176,0xD177,0xD178,0xD179,0xD17A,0xD17B,0xD17D,0xD17E,
+0xD17F,0xD180,0xD181,0xD182,0xD183,0xD185,0xD186,0xD187,
+0xD189,0xD18A, 0, 0, 0, 0, 0, 0,
+0xD18B,0xD18C,0xD18D,0xD18E,0xD18F,0xD190,0xD191,0xD192,
+0xD193,0xD194,0xD195,0xD196,0xD197,0xD198,0xD199,0xD19A,
+0xD19B,0xD19C,0xD19D,0xD19E,0xD19F,0xD1A2,0xD1A3,0xD1A5,
+0xD1A6,0xD1A7, 0, 0, 0, 0, 0, 0,
+0xD1A9,0xD1AA,0xD1AB,0xD1AC,0xD1AD,0xD1AE,0xD1AF,0xD1B2,
+0xD1B4,0xD1B6,0xD1B7,0xD1B8,0xD1B9,0xD1BB,0xD1BD,0xD1BE,
+0xD1BF,0xD1C1,0xD1C2,0xD1C3,0xD1C4,0xD1C5,0xD1C6,0xD1C7,
+0xD1C8,0xD1C9,0xD1CA,0xD1CB,0xD1CC,0xD1CD,0xD1CE,0xD1CF,
+0xB798,0xB799,0xB79C,0xB7A0,0xB7A8,0xB7A9,0xB7AB,0xB7AC,
+0xB7AD,0xB7B4,0xB7B5,0xB7B8,0xB7C7,0xB7C9,0xB7EC,0xB7ED,
+0xB7F0,0xB7F4,0xB7FC,0xB7FD,0xB7FF,0xB800,0xB801,0xB807,
+0xB808,0xB809,0xB80C,0xB810,0xB818,0xB819,0xB81B,0xB81D,
+0xB824,0xB825,0xB828,0xB82C,0xB834,0xB835,0xB837,0xB838,
+0xB839,0xB840,0xB844,0xB851,0xB853,0xB85C,0xB85D,0xB860,
+0xB864,0xB86C,0xB86D,0xB86F,0xB871,0xB878,0xB87C,0xB88D,
+0xB8A8,0xB8B0,0xB8B4,0xB8B8,0xB8C0,0xB8C1,0xB8C3,0xB8C5,
+0xB8CC,0xB8D0,0xB8D4,0xB8DD,0xB8DF,0xB8E1,0xB8E8,0xB8E9,
+0xB8EC,0xB8F0,0xB8F8,0xB8F9,0xB8FB,0xB8FD,0xB904,0xB918,
+0xB920,0xB93C,0xB93D,0xB940,0xB944,0xB94C,0xB94F,0xB951,
+0xB958,0xB959,0xB95C,0xB960,0xB968,0xB969, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD1D0,0xD1D1,0xD1D2,0xD1D3,0xD1D4,0xD1D5,0xD1D6,0xD1D7,
+0xD1D9,0xD1DA,0xD1DB,0xD1DC,0xD1DD,0xD1DE,0xD1DF,0xD1E0,
+0xD1E1,0xD1E2,0xD1E3,0xD1E4,0xD1E5,0xD1E6,0xD1E7,0xD1E8,
+0xD1E9,0xD1EA, 0, 0, 0, 0, 0, 0,
+0xD1EB,0xD1EC,0xD1ED,0xD1EE,0xD1EF,0xD1F0,0xD1F1,0xD1F2,
+0xD1F3,0xD1F5,0xD1F6,0xD1F7,0xD1F9,0xD1FA,0xD1FB,0xD1FC,
+0xD1FD,0xD1FE,0xD1FF,0xD200,0xD201,0xD202,0xD203,0xD204,
+0xD205,0xD206, 0, 0, 0, 0, 0, 0,
+0xD208,0xD20A,0xD20B,0xD20C,0xD20D,0xD20E,0xD20F,0xD211,
+0xD212,0xD213,0xD214,0xD215,0xD216,0xD217,0xD218,0xD219,
+0xD21A,0xD21B,0xD21C,0xD21D,0xD21E,0xD21F,0xD220,0xD221,
+0xD222,0xD223,0xD224,0xD225,0xD226,0xD227,0xD228,0xD229,
+0xB96B,0xB96D,0xB974,0xB975,0xB978,0xB97C,0xB984,0xB985,
+0xB987,0xB989,0xB98A,0xB98D,0xB98E,0xB9AC,0xB9AD,0xB9B0,
+0xB9B4,0xB9BC,0xB9BD,0xB9BF,0xB9C1,0xB9C8,0xB9C9,0xB9CC,
+0xB9CE,0xB9CF,0xB9D0,0xB9D1,0xB9D2,0xB9D8,0xB9D9,0xB9DB,
+0xB9DD,0xB9DE,0xB9E1,0xB9E3,0xB9E4,0xB9E5,0xB9E8,0xB9EC,
+0xB9F4,0xB9F5,0xB9F7,0xB9F8,0xB9F9,0xB9FA,0xBA00,0xBA01,
+0xBA08,0xBA15,0xBA38,0xBA39,0xBA3C,0xBA40,0xBA42,0xBA48,
+0xBA49,0xBA4B,0xBA4D,0xBA4E,0xBA53,0xBA54,0xBA55,0xBA58,
+0xBA5C,0xBA64,0xBA65,0xBA67,0xBA68,0xBA69,0xBA70,0xBA71,
+0xBA74,0xBA78,0xBA83,0xBA84,0xBA85,0xBA87,0xBA8C,0xBAA8,
+0xBAA9,0xBAAB,0xBAAC,0xBAB0,0xBAB2,0xBAB8,0xBAB9,0xBABB,
+0xBABD,0xBAC4,0xBAC8,0xBAD8,0xBAD9,0xBAFC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD22A,0xD22B,0xD22E,0xD22F,0xD231,0xD232,0xD233,0xD235,
+0xD236,0xD237,0xD238,0xD239,0xD23A,0xD23B,0xD23E,0xD240,
+0xD242,0xD243,0xD244,0xD245,0xD246,0xD247,0xD249,0xD24A,
+0xD24B,0xD24C, 0, 0, 0, 0, 0, 0,
+0xD24D,0xD24E,0xD24F,0xD250,0xD251,0xD252,0xD253,0xD254,
+0xD255,0xD256,0xD257,0xD258,0xD259,0xD25A,0xD25B,0xD25D,
+0xD25E,0xD25F,0xD260,0xD261,0xD262,0xD263,0xD265,0xD266,
+0xD267,0xD268, 0, 0, 0, 0, 0, 0,
+0xD269,0xD26A,0xD26B,0xD26C,0xD26D,0xD26E,0xD26F,0xD270,
+0xD271,0xD272,0xD273,0xD274,0xD275,0xD276,0xD277,0xD278,
+0xD279,0xD27A,0xD27B,0xD27C,0xD27D,0xD27E,0xD27F,0xD282,
+0xD283,0xD285,0xD286,0xD287,0xD289,0xD28A,0xD28B,0xD28C,
+0xBB00,0xBB04,0xBB0D,0xBB0F,0xBB11,0xBB18,0xBB1C,0xBB20,
+0xBB29,0xBB2B,0xBB34,0xBB35,0xBB36,0xBB38,0xBB3B,0xBB3C,
+0xBB3D,0xBB3E,0xBB44,0xBB45,0xBB47,0xBB49,0xBB4D,0xBB4F,
+0xBB50,0xBB54,0xBB58,0xBB61,0xBB63,0xBB6C,0xBB88,0xBB8C,
+0xBB90,0xBBA4,0xBBA8,0xBBAC,0xBBB4,0xBBB7,0xBBC0,0xBBC4,
+0xBBC8,0xBBD0,0xBBD3,0xBBF8,0xBBF9,0xBBFC,0xBBFF,0xBC00,
+0xBC02,0xBC08,0xBC09,0xBC0B,0xBC0C,0xBC0D,0xBC0F,0xBC11,
+0xBC14,0xBC15,0xBC16,0xBC17,0xBC18,0xBC1B,0xBC1C,0xBC1D,
+0xBC1E,0xBC1F,0xBC24,0xBC25,0xBC27,0xBC29,0xBC2D,0xBC30,
+0xBC31,0xBC34,0xBC38,0xBC40,0xBC41,0xBC43,0xBC44,0xBC45,
+0xBC49,0xBC4C,0xBC4D,0xBC50,0xBC5D,0xBC84,0xBC85,0xBC88,
+0xBC8B,0xBC8C,0xBC8E,0xBC94,0xBC95,0xBC97, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD28D,0xD28E,0xD28F,0xD292,0xD293,0xD294,0xD296,0xD297,
+0xD298,0xD299,0xD29A,0xD29B,0xD29D,0xD29E,0xD29F,0xD2A1,
+0xD2A2,0xD2A3,0xD2A5,0xD2A6,0xD2A7,0xD2A8,0xD2A9,0xD2AA,
+0xD2AB,0xD2AD, 0, 0, 0, 0, 0, 0,
+0xD2AE,0xD2AF,0xD2B0,0xD2B2,0xD2B3,0xD2B4,0xD2B5,0xD2B6,
+0xD2B7,0xD2BA,0xD2BB,0xD2BD,0xD2BE,0xD2C1,0xD2C3,0xD2C4,
+0xD2C5,0xD2C6,0xD2C7,0xD2CA,0xD2CC,0xD2CD,0xD2CE,0xD2CF,
+0xD2D0,0xD2D1, 0, 0, 0, 0, 0, 0,
+0xD2D2,0xD2D3,0xD2D5,0xD2D6,0xD2D7,0xD2D9,0xD2DA,0xD2DB,
+0xD2DD,0xD2DE,0xD2DF,0xD2E0,0xD2E1,0xD2E2,0xD2E3,0xD2E6,
+0xD2E7,0xD2E8,0xD2E9,0xD2EA,0xD2EB,0xD2EC,0xD2ED,0xD2EE,
+0xD2EF,0xD2F2,0xD2F3,0xD2F5,0xD2F6,0xD2F7,0xD2F9,0xD2FA,
+0xBC99,0xBC9A,0xBCA0,0xBCA1,0xBCA4,0xBCA7,0xBCA8,0xBCB0,
+0xBCB1,0xBCB3,0xBCB4,0xBCB5,0xBCBC,0xBCBD,0xBCC0,0xBCC4,
+0xBCCD,0xBCCF,0xBCD0,0xBCD1,0xBCD5,0xBCD8,0xBCDC,0xBCF4,
+0xBCF5,0xBCF6,0xBCF8,0xBCFC,0xBD04,0xBD05,0xBD07,0xBD09,
+0xBD10,0xBD14,0xBD24,0xBD2C,0xBD40,0xBD48,0xBD49,0xBD4C,
+0xBD50,0xBD58,0xBD59,0xBD64,0xBD68,0xBD80,0xBD81,0xBD84,
+0xBD87,0xBD88,0xBD89,0xBD8A,0xBD90,0xBD91,0xBD93,0xBD95,
+0xBD99,0xBD9A,0xBD9C,0xBDA4,0xBDB0,0xBDB8,0xBDD4,0xBDD5,
+0xBDD8,0xBDDC,0xBDE9,0xBDF0,0xBDF4,0xBDF8,0xBE00,0xBE03,
+0xBE05,0xBE0C,0xBE0D,0xBE10,0xBE14,0xBE1C,0xBE1D,0xBE1F,
+0xBE44,0xBE45,0xBE48,0xBE4C,0xBE4E,0xBE54,0xBE55,0xBE57,
+0xBE59,0xBE5A,0xBE5B,0xBE60,0xBE61,0xBE64, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD2FB,0xD2FC,0xD2FD,0xD2FE,0xD2FF,0xD302,0xD304,0xD306,
+0xD307,0xD308,0xD309,0xD30A,0xD30B,0xD30F,0xD311,0xD312,
+0xD313,0xD315,0xD317,0xD318,0xD319,0xD31A,0xD31B,0xD31E,
+0xD322,0xD323, 0, 0, 0, 0, 0, 0,
+0xD324,0xD326,0xD327,0xD32A,0xD32B,0xD32D,0xD32E,0xD32F,
+0xD331,0xD332,0xD333,0xD334,0xD335,0xD336,0xD337,0xD33A,
+0xD33E,0xD33F,0xD340,0xD341,0xD342,0xD343,0xD346,0xD347,
+0xD348,0xD349, 0, 0, 0, 0, 0, 0,
+0xD34A,0xD34B,0xD34C,0xD34D,0xD34E,0xD34F,0xD350,0xD351,
+0xD352,0xD353,0xD354,0xD355,0xD356,0xD357,0xD358,0xD359,
+0xD35A,0xD35B,0xD35C,0xD35D,0xD35E,0xD35F,0xD360,0xD361,
+0xD362,0xD363,0xD364,0xD365,0xD366,0xD367,0xD368,0xD369,
+0xBE68,0xBE6A,0xBE70,0xBE71,0xBE73,0xBE74,0xBE75,0xBE7B,
+0xBE7C,0xBE7D,0xBE80,0xBE84,0xBE8C,0xBE8D,0xBE8F,0xBE90,
+0xBE91,0xBE98,0xBE99,0xBEA8,0xBED0,0xBED1,0xBED4,0xBED7,
+0xBED8,0xBEE0,0xBEE3,0xBEE4,0xBEE5,0xBEEC,0xBF01,0xBF08,
+0xBF09,0xBF18,0xBF19,0xBF1B,0xBF1C,0xBF1D,0xBF40,0xBF41,
+0xBF44,0xBF48,0xBF50,0xBF51,0xBF55,0xBF94,0xBFB0,0xBFC5,
+0xBFCC,0xBFCD,0xBFD0,0xBFD4,0xBFDC,0xBFDF,0xBFE1,0xC03C,
+0xC051,0xC058,0xC05C,0xC060,0xC068,0xC069,0xC090,0xC091,
+0xC094,0xC098,0xC0A0,0xC0A1,0xC0A3,0xC0A5,0xC0AC,0xC0AD,
+0xC0AF,0xC0B0,0xC0B3,0xC0B4,0xC0B5,0xC0B6,0xC0BC,0xC0BD,
+0xC0BF,0xC0C0,0xC0C1,0xC0C5,0xC0C8,0xC0C9,0xC0CC,0xC0D0,
+0xC0D8,0xC0D9,0xC0DB,0xC0DC,0xC0DD,0xC0E4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD36A,0xD36B,0xD36C,0xD36D,0xD36E,0xD36F,0xD370,0xD371,
+0xD372,0xD373,0xD374,0xD375,0xD376,0xD377,0xD378,0xD379,
+0xD37A,0xD37B,0xD37E,0xD37F,0xD381,0xD382,0xD383,0xD385,
+0xD386,0xD387, 0, 0, 0, 0, 0, 0,
+0xD388,0xD389,0xD38A,0xD38B,0xD38E,0xD392,0xD393,0xD394,
+0xD395,0xD396,0xD397,0xD39A,0xD39B,0xD39D,0xD39E,0xD39F,
+0xD3A1,0xD3A2,0xD3A3,0xD3A4,0xD3A5,0xD3A6,0xD3A7,0xD3AA,
+0xD3AC,0xD3AE, 0, 0, 0, 0, 0, 0,
+0xD3AF,0xD3B0,0xD3B1,0xD3B2,0xD3B3,0xD3B5,0xD3B6,0xD3B7,
+0xD3B9,0xD3BA,0xD3BB,0xD3BD,0xD3BE,0xD3BF,0xD3C0,0xD3C1,
+0xD3C2,0xD3C3,0xD3C6,0xD3C7,0xD3CA,0xD3CB,0xD3CC,0xD3CD,
+0xD3CE,0xD3CF,0xD3D1,0xD3D2,0xD3D3,0xD3D4,0xD3D5,0xD3D6,
+0xC0E5,0xC0E8,0xC0EC,0xC0F4,0xC0F5,0xC0F7,0xC0F9,0xC100,
+0xC104,0xC108,0xC110,0xC115,0xC11C,0xC11D,0xC11E,0xC11F,
+0xC120,0xC123,0xC124,0xC126,0xC127,0xC12C,0xC12D,0xC12F,
+0xC130,0xC131,0xC136,0xC138,0xC139,0xC13C,0xC140,0xC148,
+0xC149,0xC14B,0xC14C,0xC14D,0xC154,0xC155,0xC158,0xC15C,
+0xC164,0xC165,0xC167,0xC168,0xC169,0xC170,0xC174,0xC178,
+0xC185,0xC18C,0xC18D,0xC18E,0xC190,0xC194,0xC196,0xC19C,
+0xC19D,0xC19F,0xC1A1,0xC1A5,0xC1A8,0xC1A9,0xC1AC,0xC1B0,
+0xC1BD,0xC1C4,0xC1C8,0xC1CC,0xC1D4,0xC1D7,0xC1D8,0xC1E0,
+0xC1E4,0xC1E8,0xC1F0,0xC1F1,0xC1F3,0xC1FC,0xC1FD,0xC200,
+0xC204,0xC20C,0xC20D,0xC20F,0xC211,0xC218,0xC219,0xC21C,
+0xC21F,0xC220,0xC228,0xC229,0xC22B,0xC22D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD3D7,0xD3D9,0xD3DA,0xD3DB,0xD3DC,0xD3DD,0xD3DE,0xD3DF,
+0xD3E0,0xD3E2,0xD3E4,0xD3E5,0xD3E6,0xD3E7,0xD3E8,0xD3E9,
+0xD3EA,0xD3EB,0xD3EE,0xD3EF,0xD3F1,0xD3F2,0xD3F3,0xD3F5,
+0xD3F6,0xD3F7, 0, 0, 0, 0, 0, 0,
+0xD3F8,0xD3F9,0xD3FA,0xD3FB,0xD3FE,0xD400,0xD402,0xD403,
+0xD404,0xD405,0xD406,0xD407,0xD409,0xD40A,0xD40B,0xD40C,
+0xD40D,0xD40E,0xD40F,0xD410,0xD411,0xD412,0xD413,0xD414,
+0xD415,0xD416, 0, 0, 0, 0, 0, 0,
+0xD417,0xD418,0xD419,0xD41A,0xD41B,0xD41C,0xD41E,0xD41F,
+0xD420,0xD421,0xD422,0xD423,0xD424,0xD425,0xD426,0xD427,
+0xD428,0xD429,0xD42A,0xD42B,0xD42C,0xD42D,0xD42E,0xD42F,
+0xD430,0xD431,0xD432,0xD433,0xD434,0xD435,0xD436,0xD437,
+0xC22F,0xC231,0xC232,0xC234,0xC248,0xC250,0xC251,0xC254,
+0xC258,0xC260,0xC265,0xC26C,0xC26D,0xC270,0xC274,0xC27C,
+0xC27D,0xC27F,0xC281,0xC288,0xC289,0xC290,0xC298,0xC29B,
+0xC29D,0xC2A4,0xC2A5,0xC2A8,0xC2AC,0xC2AD,0xC2B4,0xC2B5,
+0xC2B7,0xC2B9,0xC2DC,0xC2DD,0xC2E0,0xC2E3,0xC2E4,0xC2EB,
+0xC2EC,0xC2ED,0xC2EF,0xC2F1,0xC2F6,0xC2F8,0xC2F9,0xC2FB,
+0xC2FC,0xC300,0xC308,0xC309,0xC30C,0xC30D,0xC313,0xC314,
+0xC315,0xC318,0xC31C,0xC324,0xC325,0xC328,0xC329,0xC345,
+0xC368,0xC369,0xC36C,0xC370,0xC372,0xC378,0xC379,0xC37C,
+0xC37D,0xC384,0xC388,0xC38C,0xC3C0,0xC3D8,0xC3D9,0xC3DC,
+0xC3DF,0xC3E0,0xC3E2,0xC3E8,0xC3E9,0xC3ED,0xC3F4,0xC3F5,
+0xC3F8,0xC408,0xC410,0xC424,0xC42C,0xC430, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD438,0xD439,0xD43A,0xD43B,0xD43C,0xD43D,0xD43E,0xD43F,
+0xD441,0xD442,0xD443,0xD445,0xD446,0xD447,0xD448,0xD449,
+0xD44A,0xD44B,0xD44C,0xD44D,0xD44E,0xD44F,0xD450,0xD451,
+0xD452,0xD453, 0, 0, 0, 0, 0, 0,
+0xD454,0xD455,0xD456,0xD457,0xD458,0xD459,0xD45A,0xD45B,
+0xD45D,0xD45E,0xD45F,0xD461,0xD462,0xD463,0xD465,0xD466,
+0xD467,0xD468,0xD469,0xD46A,0xD46B,0xD46C,0xD46E,0xD470,
+0xD471,0xD472, 0, 0, 0, 0, 0, 0,
+0xD473,0xD474,0xD475,0xD476,0xD477,0xD47A,0xD47B,0xD47D,
+0xD47E,0xD481,0xD483,0xD484,0xD485,0xD486,0xD487,0xD48A,
+0xD48C,0xD48E,0xD48F,0xD490,0xD491,0xD492,0xD493,0xD495,
+0xD496,0xD497,0xD498,0xD499,0xD49A,0xD49B,0xD49C,0xD49D,
+0xC434,0xC43C,0xC43D,0xC448,0xC464,0xC465,0xC468,0xC46C,
+0xC474,0xC475,0xC479,0xC480,0xC494,0xC49C,0xC4B8,0xC4BC,
+0xC4E9,0xC4F0,0xC4F1,0xC4F4,0xC4F8,0xC4FA,0xC4FF,0xC500,
+0xC501,0xC50C,0xC510,0xC514,0xC51C,0xC528,0xC529,0xC52C,
+0xC530,0xC538,0xC539,0xC53B,0xC53D,0xC544,0xC545,0xC548,
+0xC549,0xC54A,0xC54C,0xC54D,0xC54E,0xC553,0xC554,0xC555,
+0xC557,0xC558,0xC559,0xC55D,0xC55E,0xC560,0xC561,0xC564,
+0xC568,0xC570,0xC571,0xC573,0xC574,0xC575,0xC57C,0xC57D,
+0xC580,0xC584,0xC587,0xC58C,0xC58D,0xC58F,0xC591,0xC595,
+0xC597,0xC598,0xC59C,0xC5A0,0xC5A9,0xC5B4,0xC5B5,0xC5B8,
+0xC5B9,0xC5BB,0xC5BC,0xC5BD,0xC5BE,0xC5C4,0xC5C5,0xC5C6,
+0xC5C7,0xC5C8,0xC5C9,0xC5CA,0xC5CC,0xC5CE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD49E,0xD49F,0xD4A0,0xD4A1,0xD4A2,0xD4A3,0xD4A4,0xD4A5,
+0xD4A6,0xD4A7,0xD4A8,0xD4AA,0xD4AB,0xD4AC,0xD4AD,0xD4AE,
+0xD4AF,0xD4B0,0xD4B1,0xD4B2,0xD4B3,0xD4B4,0xD4B5,0xD4B6,
+0xD4B7,0xD4B8, 0, 0, 0, 0, 0, 0,
+0xD4B9,0xD4BA,0xD4BB,0xD4BC,0xD4BD,0xD4BE,0xD4BF,0xD4C0,
+0xD4C1,0xD4C2,0xD4C3,0xD4C4,0xD4C5,0xD4C6,0xD4C7,0xD4C8,
+0xD4C9,0xD4CA,0xD4CB,0xD4CD,0xD4CE,0xD4CF,0xD4D1,0xD4D2,
+0xD4D3,0xD4D5, 0, 0, 0, 0, 0, 0,
+0xD4D6,0xD4D7,0xD4D8,0xD4D9,0xD4DA,0xD4DB,0xD4DD,0xD4DE,
+0xD4E0,0xD4E1,0xD4E2,0xD4E3,0xD4E4,0xD4E5,0xD4E6,0xD4E7,
+0xD4E9,0xD4EA,0xD4EB,0xD4ED,0xD4EE,0xD4EF,0xD4F1,0xD4F2,
+0xD4F3,0xD4F4,0xD4F5,0xD4F6,0xD4F7,0xD4F9,0xD4FA,0xD4FC,
+0xC5D0,0xC5D1,0xC5D4,0xC5D8,0xC5E0,0xC5E1,0xC5E3,0xC5E5,
+0xC5EC,0xC5ED,0xC5EE,0xC5F0,0xC5F4,0xC5F6,0xC5F7,0xC5FC,
+0xC5FD,0xC5FE,0xC5FF,0xC600,0xC601,0xC605,0xC606,0xC607,
+0xC608,0xC60C,0xC610,0xC618,0xC619,0xC61B,0xC61C,0xC624,
+0xC625,0xC628,0xC62C,0xC62D,0xC62E,0xC630,0xC633,0xC634,
+0xC635,0xC637,0xC639,0xC63B,0xC640,0xC641,0xC644,0xC648,
+0xC650,0xC651,0xC653,0xC654,0xC655,0xC65C,0xC65D,0xC660,
+0xC66C,0xC66F,0xC671,0xC678,0xC679,0xC67C,0xC680,0xC688,
+0xC689,0xC68B,0xC68D,0xC694,0xC695,0xC698,0xC69C,0xC6A4,
+0xC6A5,0xC6A7,0xC6A9,0xC6B0,0xC6B1,0xC6B4,0xC6B8,0xC6B9,
+0xC6BA,0xC6C0,0xC6C1,0xC6C3,0xC6C5,0xC6CC,0xC6CD,0xC6D0,
+0xC6D4,0xC6DC,0xC6DD,0xC6E0,0xC6E1,0xC6E8, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD4FE,0xD4FF,0xD500,0xD501,0xD502,0xD503,0xD505,0xD506,
+0xD507,0xD509,0xD50A,0xD50B,0xD50D,0xD50E,0xD50F,0xD510,
+0xD511,0xD512,0xD513,0xD516,0xD518,0xD519,0xD51A,0xD51B,
+0xD51C,0xD51D, 0, 0, 0, 0, 0, 0,
+0xD51E,0xD51F,0xD520,0xD521,0xD522,0xD523,0xD524,0xD525,
+0xD526,0xD527,0xD528,0xD529,0xD52A,0xD52B,0xD52C,0xD52D,
+0xD52E,0xD52F,0xD530,0xD531,0xD532,0xD533,0xD534,0xD535,
+0xD536,0xD537, 0, 0, 0, 0, 0, 0,
+0xD538,0xD539,0xD53A,0xD53B,0xD53E,0xD53F,0xD541,0xD542,
+0xD543,0xD545,0xD546,0xD547,0xD548,0xD549,0xD54A,0xD54B,
+0xD54E,0xD550,0xD552,0xD553,0xD554,0xD555,0xD556,0xD557,
+0xD55A,0xD55B,0xD55D,0xD55E,0xD55F,0xD561,0xD562,0xD563,
+0xC6E9,0xC6EC,0xC6F0,0xC6F8,0xC6F9,0xC6FD,0xC704,0xC705,
+0xC708,0xC70C,0xC714,0xC715,0xC717,0xC719,0xC720,0xC721,
+0xC724,0xC728,0xC730,0xC731,0xC733,0xC735,0xC737,0xC73C,
+0xC73D,0xC740,0xC744,0xC74A,0xC74C,0xC74D,0xC74F,0xC751,
+0xC752,0xC753,0xC754,0xC755,0xC756,0xC757,0xC758,0xC75C,
+0xC760,0xC768,0xC76B,0xC774,0xC775,0xC778,0xC77C,0xC77D,
+0xC77E,0xC783,0xC784,0xC785,0xC787,0xC788,0xC789,0xC78A,
+0xC78E,0xC790,0xC791,0xC794,0xC796,0xC797,0xC798,0xC79A,
+0xC7A0,0xC7A1,0xC7A3,0xC7A4,0xC7A5,0xC7A6,0xC7AC,0xC7AD,
+0xC7B0,0xC7B4,0xC7BC,0xC7BD,0xC7BF,0xC7C0,0xC7C1,0xC7C8,
+0xC7C9,0xC7CC,0xC7CE,0xC7D0,0xC7D8,0xC7DD,0xC7E4,0xC7E8,
+0xC7EC,0xC800,0xC801,0xC804,0xC808,0xC80A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD564,0xD566,0xD567,0xD56A,0xD56C,0xD56E,0xD56F,0xD570,
+0xD571,0xD572,0xD573,0xD576,0xD577,0xD579,0xD57A,0xD57B,
+0xD57D,0xD57E,0xD57F,0xD580,0xD581,0xD582,0xD583,0xD586,
+0xD58A,0xD58B, 0, 0, 0, 0, 0, 0,
+0xD58C,0xD58D,0xD58E,0xD58F,0xD591,0xD592,0xD593,0xD594,
+0xD595,0xD596,0xD597,0xD598,0xD599,0xD59A,0xD59B,0xD59C,
+0xD59D,0xD59E,0xD59F,0xD5A0,0xD5A1,0xD5A2,0xD5A3,0xD5A4,
+0xD5A6,0xD5A7, 0, 0, 0, 0, 0, 0,
+0xD5A8,0xD5A9,0xD5AA,0xD5AB,0xD5AC,0xD5AD,0xD5AE,0xD5AF,
+0xD5B0,0xD5B1,0xD5B2,0xD5B3,0xD5B4,0xD5B5,0xD5B6,0xD5B7,
+0xD5B8,0xD5B9,0xD5BA,0xD5BB,0xD5BC,0xD5BD,0xD5BE,0xD5BF,
+0xD5C0,0xD5C1,0xD5C2,0xD5C3,0xD5C4,0xD5C5,0xD5C6,0xD5C7,
+0xC810,0xC811,0xC813,0xC815,0xC816,0xC81C,0xC81D,0xC820,
+0xC824,0xC82C,0xC82D,0xC82F,0xC831,0xC838,0xC83C,0xC840,
+0xC848,0xC849,0xC84C,0xC84D,0xC854,0xC870,0xC871,0xC874,
+0xC878,0xC87A,0xC880,0xC881,0xC883,0xC885,0xC886,0xC887,
+0xC88B,0xC88C,0xC88D,0xC894,0xC89D,0xC89F,0xC8A1,0xC8A8,
+0xC8BC,0xC8BD,0xC8C4,0xC8C8,0xC8CC,0xC8D4,0xC8D5,0xC8D7,
+0xC8D9,0xC8E0,0xC8E1,0xC8E4,0xC8F5,0xC8FC,0xC8FD,0xC900,
+0xC904,0xC905,0xC906,0xC90C,0xC90D,0xC90F,0xC911,0xC918,
+0xC92C,0xC934,0xC950,0xC951,0xC954,0xC958,0xC960,0xC961,
+0xC963,0xC96C,0xC970,0xC974,0xC97C,0xC988,0xC989,0xC98C,
+0xC990,0xC998,0xC999,0xC99B,0xC99D,0xC9C0,0xC9C1,0xC9C4,
+0xC9C7,0xC9C8,0xC9CA,0xC9D0,0xC9D1,0xC9D3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD5CA,0xD5CB,0xD5CD,0xD5CE,0xD5CF,0xD5D1,0xD5D3,0xD5D4,
+0xD5D5,0xD5D6,0xD5D7,0xD5DA,0xD5DC,0xD5DE,0xD5DF,0xD5E0,
+0xD5E1,0xD5E2,0xD5E3,0xD5E6,0xD5E7,0xD5E9,0xD5EA,0xD5EB,
+0xD5ED,0xD5EE, 0, 0, 0, 0, 0, 0,
+0xD5EF,0xD5F0,0xD5F1,0xD5F2,0xD5F3,0xD5F6,0xD5F8,0xD5FA,
+0xD5FB,0xD5FC,0xD5FD,0xD5FE,0xD5FF,0xD602,0xD603,0xD605,
+0xD606,0xD607,0xD609,0xD60A,0xD60B,0xD60C,0xD60D,0xD60E,
+0xD60F,0xD612, 0, 0, 0, 0, 0, 0,
+0xD616,0xD617,0xD618,0xD619,0xD61A,0xD61B,0xD61D,0xD61E,
+0xD61F,0xD621,0xD622,0xD623,0xD625,0xD626,0xD627,0xD628,
+0xD629,0xD62A,0xD62B,0xD62C,0xD62E,0xD62F,0xD630,0xD631,
+0xD632,0xD633,0xD634,0xD635,0xD636,0xD637,0xD63A,0xD63B,
+0xC9D5,0xC9D6,0xC9D9,0xC9DA,0xC9DC,0xC9DD,0xC9E0,0xC9E2,
+0xC9E4,0xC9E7,0xC9EC,0xC9ED,0xC9EF,0xC9F0,0xC9F1,0xC9F8,
+0xC9F9,0xC9FC,0xCA00,0xCA08,0xCA09,0xCA0B,0xCA0C,0xCA0D,
+0xCA14,0xCA18,0xCA29,0xCA4C,0xCA4D,0xCA50,0xCA54,0xCA5C,
+0xCA5D,0xCA5F,0xCA60,0xCA61,0xCA68,0xCA7D,0xCA84,0xCA98,
+0xCABC,0xCABD,0xCAC0,0xCAC4,0xCACC,0xCACD,0xCACF,0xCAD1,
+0xCAD3,0xCAD8,0xCAD9,0xCAE0,0xCAEC,0xCAF4,0xCB08,0xCB10,
+0xCB14,0xCB18,0xCB20,0xCB21,0xCB41,0xCB48,0xCB49,0xCB4C,
+0xCB50,0xCB58,0xCB59,0xCB5D,0xCB64,0xCB78,0xCB79,0xCB9C,
+0xCBB8,0xCBD4,0xCBE4,0xCBE7,0xCBE9,0xCC0C,0xCC0D,0xCC10,
+0xCC14,0xCC1C,0xCC1D,0xCC21,0xCC22,0xCC27,0xCC28,0xCC29,
+0xCC2C,0xCC2E,0xCC30,0xCC38,0xCC39,0xCC3B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD63D,0xD63E,0xD63F,0xD641,0xD642,0xD643,0xD644,0xD646,
+0xD647,0xD64A,0xD64C,0xD64E,0xD64F,0xD650,0xD652,0xD653,
+0xD656,0xD657,0xD659,0xD65A,0xD65B,0xD65D,0xD65E,0xD65F,
+0xD660,0xD661, 0, 0, 0, 0, 0, 0,
+0xD662,0xD663,0xD664,0xD665,0xD666,0xD668,0xD66A,0xD66B,
+0xD66C,0xD66D,0xD66E,0xD66F,0xD672,0xD673,0xD675,0xD676,
+0xD677,0xD678,0xD679,0xD67A,0xD67B,0xD67C,0xD67D,0xD67E,
+0xD67F,0xD680, 0, 0, 0, 0, 0, 0,
+0xD681,0xD682,0xD684,0xD686,0xD687,0xD688,0xD689,0xD68A,
+0xD68B,0xD68E,0xD68F,0xD691,0xD692,0xD693,0xD695,0xD696,
+0xD697,0xD698,0xD699,0xD69A,0xD69B,0xD69C,0xD69E,0xD6A0,
+0xD6A2,0xD6A3,0xD6A4,0xD6A5,0xD6A6,0xD6A7,0xD6A9,0xD6AA,
+0xCC3C,0xCC3D,0xCC3E,0xCC44,0xCC45,0xCC48,0xCC4C,0xCC54,
+0xCC55,0xCC57,0xCC58,0xCC59,0xCC60,0xCC64,0xCC66,0xCC68,
+0xCC70,0xCC75,0xCC98,0xCC99,0xCC9C,0xCCA0,0xCCA8,0xCCA9,
+0xCCAB,0xCCAC,0xCCAD,0xCCB4,0xCCB5,0xCCB8,0xCCBC,0xCCC4,
+0xCCC5,0xCCC7,0xCCC9,0xCCD0,0xCCD4,0xCCE4,0xCCEC,0xCCF0,
+0xCD01,0xCD08,0xCD09,0xCD0C,0xCD10,0xCD18,0xCD19,0xCD1B,
+0xCD1D,0xCD24,0xCD28,0xCD2C,0xCD39,0xCD5C,0xCD60,0xCD64,
+0xCD6C,0xCD6D,0xCD6F,0xCD71,0xCD78,0xCD88,0xCD94,0xCD95,
+0xCD98,0xCD9C,0xCDA4,0xCDA5,0xCDA7,0xCDA9,0xCDB0,0xCDC4,
+0xCDCC,0xCDD0,0xCDE8,0xCDEC,0xCDF0,0xCDF8,0xCDF9,0xCDFB,
+0xCDFD,0xCE04,0xCE08,0xCE0C,0xCE14,0xCE19,0xCE20,0xCE21,
+0xCE24,0xCE28,0xCE30,0xCE31,0xCE33,0xCE35, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD6AB,0xD6AD,0xD6AE,0xD6AF,0xD6B1,0xD6B2,0xD6B3,0xD6B4,
+0xD6B5,0xD6B6,0xD6B7,0xD6B8,0xD6BA,0xD6BC,0xD6BD,0xD6BE,
+0xD6BF,0xD6C0,0xD6C1,0xD6C2,0xD6C3,0xD6C6,0xD6C7,0xD6C9,
+0xD6CA,0xD6CB, 0, 0, 0, 0, 0, 0,
+0xD6CD,0xD6CE,0xD6CF,0xD6D0,0xD6D2,0xD6D3,0xD6D5,0xD6D6,
+0xD6D8,0xD6DA,0xD6DB,0xD6DC,0xD6DD,0xD6DE,0xD6DF,0xD6E1,
+0xD6E2,0xD6E3,0xD6E5,0xD6E6,0xD6E7,0xD6E9,0xD6EA,0xD6EB,
+0xD6EC,0xD6ED, 0, 0, 0, 0, 0, 0,
+0xD6EE,0xD6EF,0xD6F1,0xD6F2,0xD6F3,0xD6F4,0xD6F6,0xD6F7,
+0xD6F8,0xD6F9,0xD6FA,0xD6FB,0xD6FE,0xD6FF,0xD701,0xD702,
+0xD703,0xD705,0xD706,0xD707,0xD708,0xD709,0xD70A,0xD70B,
+0xD70C,0xD70D,0xD70E,0xD70F,0xD710,0xD712,0xD713,0xD714,
+0xCE58,0xCE59,0xCE5C,0xCE5F,0xCE60,0xCE61,0xCE68,0xCE69,
+0xCE6B,0xCE6D,0xCE74,0xCE75,0xCE78,0xCE7C,0xCE84,0xCE85,
+0xCE87,0xCE89,0xCE90,0xCE91,0xCE94,0xCE98,0xCEA0,0xCEA1,
+0xCEA3,0xCEA4,0xCEA5,0xCEAC,0xCEAD,0xCEC1,0xCEE4,0xCEE5,
+0xCEE8,0xCEEB,0xCEEC,0xCEF4,0xCEF5,0xCEF7,0xCEF8,0xCEF9,
+0xCF00,0xCF01,0xCF04,0xCF08,0xCF10,0xCF11,0xCF13,0xCF15,
+0xCF1C,0xCF20,0xCF24,0xCF2C,0xCF2D,0xCF2F,0xCF30,0xCF31,
+0xCF38,0xCF54,0xCF55,0xCF58,0xCF5C,0xCF64,0xCF65,0xCF67,
+0xCF69,0xCF70,0xCF71,0xCF74,0xCF78,0xCF80,0xCF85,0xCF8C,
+0xCFA1,0xCFA8,0xCFB0,0xCFC4,0xCFE0,0xCFE1,0xCFE4,0xCFE8,
+0xCFF0,0xCFF1,0xCFF3,0xCFF5,0xCFFC,0xD000,0xD004,0xD011,
+0xD018,0xD02D,0xD034,0xD035,0xD038,0xD03C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD715,0xD716,0xD717,0xD71A,0xD71B,0xD71D,0xD71E,0xD71F,
+0xD721,0xD722,0xD723,0xD724,0xD725,0xD726,0xD727,0xD72A,
+0xD72C,0xD72E,0xD72F,0xD730,0xD731,0xD732,0xD733,0xD736,
+0xD737,0xD739, 0, 0, 0, 0, 0, 0,
+0xD73A,0xD73B,0xD73D,0xD73E,0xD73F,0xD740,0xD741,0xD742,
+0xD743,0xD745,0xD746,0xD748,0xD74A,0xD74B,0xD74C,0xD74D,
+0xD74E,0xD74F,0xD752,0xD753,0xD755,0xD75A,0xD75B,0xD75C,
+0xD75D,0xD75E, 0, 0, 0, 0, 0, 0,
+0xD75F,0xD762,0xD764,0xD766,0xD767,0xD768,0xD76A,0xD76B,
+0xD76D,0xD76E,0xD76F,0xD771,0xD772,0xD773,0xD775,0xD776,
+0xD777,0xD778,0xD779,0xD77A,0xD77B,0xD77E,0xD77F,0xD780,
+0xD782,0xD783,0xD784,0xD785,0xD786,0xD787,0xD78A,0xD78B,
+0xD044,0xD045,0xD047,0xD049,0xD050,0xD054,0xD058,0xD060,
+0xD06C,0xD06D,0xD070,0xD074,0xD07C,0xD07D,0xD081,0xD0A4,
+0xD0A5,0xD0A8,0xD0AC,0xD0B4,0xD0B5,0xD0B7,0xD0B9,0xD0C0,
+0xD0C1,0xD0C4,0xD0C8,0xD0C9,0xD0D0,0xD0D1,0xD0D3,0xD0D4,
+0xD0D5,0xD0DC,0xD0DD,0xD0E0,0xD0E4,0xD0EC,0xD0ED,0xD0EF,
+0xD0F0,0xD0F1,0xD0F8,0xD10D,0xD130,0xD131,0xD134,0xD138,
+0xD13A,0xD140,0xD141,0xD143,0xD144,0xD145,0xD14C,0xD14D,
+0xD150,0xD154,0xD15C,0xD15D,0xD15F,0xD161,0xD168,0xD16C,
+0xD17C,0xD184,0xD188,0xD1A0,0xD1A1,0xD1A4,0xD1A8,0xD1B0,
+0xD1B1,0xD1B3,0xD1B5,0xD1BA,0xD1BC,0xD1C0,0xD1D8,0xD1F4,
+0xD1F8,0xD207,0xD209,0xD210,0xD22C,0xD22D,0xD230,0xD234,
+0xD23C,0xD23D,0xD23F,0xD241,0xD248,0xD25C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD78D,0xD78E,0xD78F,0xD791,0xD792,0xD793,0xD794,0xD795,
+0xD796,0xD797,0xD79A,0xD79C,0xD79E,0xD79F,0xD7A0,0xD7A1,
+0xD7A2,0xD7A3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD264,0xD280,0xD281,0xD284,0xD288,0xD290,0xD291,0xD295,
+0xD29C,0xD2A0,0xD2A4,0xD2AC,0xD2B1,0xD2B8,0xD2B9,0xD2BC,
+0xD2BF,0xD2C0,0xD2C2,0xD2C8,0xD2C9,0xD2CB,0xD2D4,0xD2D8,
+0xD2DC,0xD2E4,0xD2E5,0xD2F0,0xD2F1,0xD2F4,0xD2F8,0xD300,
+0xD301,0xD303,0xD305,0xD30C,0xD30D,0xD30E,0xD310,0xD314,
+0xD316,0xD31C,0xD31D,0xD31F,0xD320,0xD321,0xD325,0xD328,
+0xD329,0xD32C,0xD330,0xD338,0xD339,0xD33B,0xD33C,0xD33D,
+0xD344,0xD345,0xD37C,0xD37D,0xD380,0xD384,0xD38C,0xD38D,
+0xD38F,0xD390,0xD391,0xD398,0xD399,0xD39C,0xD3A0,0xD3A8,
+0xD3A9,0xD3AB,0xD3AD,0xD3B4,0xD3B8,0xD3BC,0xD3C4,0xD3C5,
+0xD3C8,0xD3C9,0xD3D0,0xD3D8,0xD3E1,0xD3E3,0xD3EC,0xD3ED,
+0xD3F0,0xD3F4,0xD3FC,0xD3FD,0xD3FF,0xD401, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD408,0xD41D,0xD440,0xD444,0xD45C,0xD460,0xD464,0xD46D,
+0xD46F,0xD478,0xD479,0xD47C,0xD47F,0xD480,0xD482,0xD488,
+0xD489,0xD48B,0xD48D,0xD494,0xD4A9,0xD4CC,0xD4D0,0xD4D4,
+0xD4DC,0xD4DF,0xD4E8,0xD4EC,0xD4F0,0xD4F8,0xD4FB,0xD4FD,
+0xD504,0xD508,0xD50C,0xD514,0xD515,0xD517,0xD53C,0xD53D,
+0xD540,0xD544,0xD54C,0xD54D,0xD54F,0xD551,0xD558,0xD559,
+0xD55C,0xD560,0xD565,0xD568,0xD569,0xD56B,0xD56D,0xD574,
+0xD575,0xD578,0xD57C,0xD584,0xD585,0xD587,0xD588,0xD589,
+0xD590,0xD5A5,0xD5C8,0xD5C9,0xD5CC,0xD5D0,0xD5D2,0xD5D8,
+0xD5D9,0xD5DB,0xD5DD,0xD5E4,0xD5E5,0xD5E8,0xD5EC,0xD5F4,
+0xD5F5,0xD5F7,0xD5F9,0xD600,0xD601,0xD604,0xD608,0xD610,
+0xD611,0xD613,0xD614,0xD615,0xD61C,0xD620, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD624,0xD62D,0xD638,0xD639,0xD63C,0xD640,0xD645,0xD648,
+0xD649,0xD64B,0xD64D,0xD651,0xD654,0xD655,0xD658,0xD65C,
+0xD667,0xD669,0xD670,0xD671,0xD674,0xD683,0xD685,0xD68C,
+0xD68D,0xD690,0xD694,0xD69D,0xD69F,0xD6A1,0xD6A8,0xD6AC,
+0xD6B0,0xD6B9,0xD6BB,0xD6C4,0xD6C5,0xD6C8,0xD6CC,0xD6D1,
+0xD6D4,0xD6D7,0xD6D9,0xD6E0,0xD6E4,0xD6E8,0xD6F0,0xD6F5,
+0xD6FC,0xD6FD,0xD700,0xD704,0xD711,0xD718,0xD719,0xD71C,
+0xD720,0xD728,0xD729,0xD72B,0xD72D,0xD734,0xD735,0xD738,
+0xD73C,0xD744,0xD747,0xD749,0xD750,0xD751,0xD754,0xD756,
+0xD757,0xD758,0xD759,0xD760,0xD761,0xD763,0xD765,0xD769,
+0xD76C,0xD770,0xD774,0xD77C,0xD77D,0xD781,0xD788,0xD789,
+0xD78C,0xD790,0xD798,0xD799,0xD79B,0xD79D};
+
+/* page 1 0xCAA1-0xFDFE */
+static uint16 tab_ksc5601_uni1[]={
+0x4F3D,0x4F73,0x5047,0x50F9,0x52A0,0x53EF,0x5475,0x54E5,
+0x5609,0x5AC1,0x5BB6,0x6687,0x67B6,0x67B7,0x67EF,0x6B4C,
+0x73C2,0x75C2,0x7A3C,0x82DB,0x8304,0x8857,0x8888,0x8A36,
+0x8CC8,0x8DCF,0x8EFB,0x8FE6,0x99D5,0x523B,0x5374,0x5404,
+0x606A,0x6164,0x6BBC,0x73CF,0x811A,0x89BA,0x89D2,0x95A3,
+0x4F83,0x520A,0x58BE,0x5978,0x59E6,0x5E72,0x5E79,0x61C7,
+0x63C0,0x6746,0x67EC,0x687F,0x6F97,0x764E,0x770B,0x78F5,
+0x7A08,0x7AFF,0x7C21,0x809D,0x826E,0x8271,0x8AEB,0x9593,
+0x4E6B,0x559D,0x66F7,0x6E34,0x78A3,0x7AED,0x845B,0x8910,
+0x874E,0x97A8,0x52D8,0x574E,0x582A,0x5D4C,0x611F,0x61BE,
+0x6221,0x6562,0x67D1,0x6A44,0x6E1B,0x7518,0x75B3,0x76E3,
+0x77B0,0x7D3A,0x90AF,0x9451,0x9452,0x9F95, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5323,0x5CAC,0x7532,0x80DB,0x9240,0x9598,0x525B,0x5808,
+0x59DC,0x5CA1,0x5D17,0x5EB7,0x5F3A,0x5F4A,0x6177,0x6C5F,
+0x757A,0x7586,0x7CE0,0x7D73,0x7DB1,0x7F8C,0x8154,0x8221,
+0x8591,0x8941,0x8B1B,0x92FC,0x964D,0x9C47,0x4ECB,0x4EF7,
+0x500B,0x51F1,0x584F,0x6137,0x613E,0x6168,0x6539,0x69EA,
+0x6F11,0x75A5,0x7686,0x76D6,0x7B87,0x82A5,0x84CB,0xF900,
+0x93A7,0x958B,0x5580,0x5BA2,0x5751,0xF901,0x7CB3,0x7FB9,
+0x91B5,0x5028,0x53BB,0x5C45,0x5DE8,0x62D2,0x636E,0x64DA,
+0x64E7,0x6E20,0x70AC,0x795B,0x8DDD,0x8E1E,0xF902,0x907D,
+0x9245,0x92F8,0x4E7E,0x4EF6,0x5065,0x5DFE,0x5EFA,0x6106,
+0x6957,0x8171,0x8654,0x8E47,0x9375,0x9A2B,0x4E5E,0x5091,
+0x6770,0x6840,0x5109,0x528D,0x5292,0x6AA2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x77BC,0x9210,0x9ED4,0x52AB,0x602F,0x8FF2,0x5048,0x61A9,
+0x63ED,0x64CA,0x683C,0x6A84,0x6FC0,0x8188,0x89A1,0x9694,
+0x5805,0x727D,0x72AC,0x7504,0x7D79,0x7E6D,0x80A9,0x898B,
+0x8B74,0x9063,0x9D51,0x6289,0x6C7A,0x6F54,0x7D50,0x7F3A,
+0x8A23,0x517C,0x614A,0x7B9D,0x8B19,0x9257,0x938C,0x4EAC,
+0x4FD3,0x501E,0x50BE,0x5106,0x52C1,0x52CD,0x537F,0x5770,
+0x5883,0x5E9A,0x5F91,0x6176,0x61AC,0x64CE,0x656C,0x666F,
+0x66BB,0x66F4,0x6897,0x6D87,0x7085,0x70F1,0x749F,0x74A5,
+0x74CA,0x75D9,0x786C,0x78EC,0x7ADF,0x7AF6,0x7D45,0x7D93,
+0x8015,0x803F,0x811B,0x8396,0x8B66,0x8F15,0x9015,0x93E1,
+0x9803,0x9838,0x9A5A,0x9BE8,0x4FC2,0x5553,0x583A,0x5951,
+0x5B63,0x5C46,0x60B8,0x6212,0x6842,0x68B0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x68E8,0x6EAA,0x754C,0x7678,0x78CE,0x7A3D,0x7CFB,0x7E6B,
+0x7E7C,0x8A08,0x8AA1,0x8C3F,0x968E,0x9DC4,0x53E4,0x53E9,
+0x544A,0x5471,0x56FA,0x59D1,0x5B64,0x5C3B,0x5EAB,0x62F7,
+0x6537,0x6545,0x6572,0x66A0,0x67AF,0x69C1,0x6CBD,0x75FC,
+0x7690,0x777E,0x7A3F,0x7F94,0x8003,0x80A1,0x818F,0x82E6,
+0x82FD,0x83F0,0x85C1,0x8831,0x88B4,0x8AA5,0xF903,0x8F9C,
+0x932E,0x96C7,0x9867,0x9AD8,0x9F13,0x54ED,0x659B,0x66F2,
+0x688F,0x7A40,0x8C37,0x9D60,0x56F0,0x5764,0x5D11,0x6606,
+0x68B1,0x68CD,0x6EFE,0x7428,0x889E,0x9BE4,0x6C68,0xF904,
+0x9AA8,0x4F9B,0x516C,0x5171,0x529F,0x5B54,0x5DE5,0x6050,
+0x606D,0x62F1,0x63A7,0x653B,0x73D9,0x7A7A,0x86A3,0x8CA2,
+0x978F,0x4E32,0x5BE1,0x6208,0x679C,0x74DC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x79D1,0x83D3,0x8A87,0x8AB2,0x8DE8,0x904E,0x934B,0x9846,
+0x5ED3,0x69E8,0x85FF,0x90ED,0xF905,0x51A0,0x5B98,0x5BEC,
+0x6163,0x68FA,0x6B3E,0x704C,0x742F,0x74D8,0x7BA1,0x7F50,
+0x83C5,0x89C0,0x8CAB,0x95DC,0x9928,0x522E,0x605D,0x62EC,
+0x9002,0x4F8A,0x5149,0x5321,0x58D9,0x5EE3,0x66E0,0x6D38,
+0x709A,0x72C2,0x73D6,0x7B50,0x80F1,0x945B,0x5366,0x639B,
+0x7F6B,0x4E56,0x5080,0x584A,0x58DE,0x602A,0x6127,0x62D0,
+0x69D0,0x9B41,0x5B8F,0x7D18,0x80B1,0x8F5F,0x4EA4,0x50D1,
+0x54AC,0x55AC,0x5B0C,0x5DA0,0x5DE7,0x652A,0x654E,0x6821,
+0x6A4B,0x72E1,0x768E,0x77EF,0x7D5E,0x7FF9,0x81A0,0x854E,
+0x86DF,0x8F03,0x8F4E,0x90CA,0x9903,0x9A55,0x9BAB,0x4E18,
+0x4E45,0x4E5D,0x4EC7,0x4FF1,0x5177,0x52FE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5340,0x53E3,0x53E5,0x548E,0x5614,0x5775,0x57A2,0x5BC7,
+0x5D87,0x5ED0,0x61FC,0x62D8,0x6551,0x67B8,0x67E9,0x69CB,
+0x6B50,0x6BC6,0x6BEC,0x6C42,0x6E9D,0x7078,0x72D7,0x7396,
+0x7403,0x77BF,0x77E9,0x7A76,0x7D7F,0x8009,0x81FC,0x8205,
+0x820A,0x82DF,0x8862,0x8B33,0x8CFC,0x8EC0,0x9011,0x90B1,
+0x9264,0x92B6,0x99D2,0x9A45,0x9CE9,0x9DD7,0x9F9C,0x570B,
+0x5C40,0x83CA,0x97A0,0x97AB,0x9EB4,0x541B,0x7A98,0x7FA4,
+0x88D9,0x8ECD,0x90E1,0x5800,0x5C48,0x6398,0x7A9F,0x5BAE,
+0x5F13,0x7A79,0x7AAE,0x828E,0x8EAC,0x5026,0x5238,0x52F8,
+0x5377,0x5708,0x62F3,0x6372,0x6B0A,0x6DC3,0x7737,0x53A5,
+0x7357,0x8568,0x8E76,0x95D5,0x673A,0x6AC3,0x6F70,0x8A6D,
+0x8ECC,0x994B,0xF906,0x6677,0x6B78,0x8CB4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9B3C,0xF907,0x53EB,0x572D,0x594E,0x63C6,0x69FB,0x73EA,
+0x7845,0x7ABA,0x7AC5,0x7CFE,0x8475,0x898F,0x8D73,0x9035,
+0x95A8,0x52FB,0x5747,0x7547,0x7B60,0x83CC,0x921E,0xF908,
+0x6A58,0x514B,0x524B,0x5287,0x621F,0x68D8,0x6975,0x9699,
+0x50C5,0x52A4,0x52E4,0x61C3,0x65A4,0x6839,0x69FF,0x747E,
+0x7B4B,0x82B9,0x83EB,0x89B2,0x8B39,0x8FD1,0x9949,0xF909,
+0x4ECA,0x5997,0x64D2,0x6611,0x6A8E,0x7434,0x7981,0x79BD,
+0x82A9,0x887E,0x887F,0x895F,0xF90A,0x9326,0x4F0B,0x53CA,
+0x6025,0x6271,0x6C72,0x7D1A,0x7D66,0x4E98,0x5162,0x77DC,
+0x80AF,0x4F01,0x4F0E,0x5176,0x5180,0x55DC,0x5668,0x573B,
+0x57FA,0x57FC,0x5914,0x5947,0x5993,0x5BC4,0x5C90,0x5D0E,
+0x5DF1,0x5E7E,0x5FCC,0x6280,0x65D7,0x65E3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x671E,0x671F,0x675E,0x68CB,0x68C4,0x6A5F,0x6B3A,0x6C23,
+0x6C7D,0x6C82,0x6DC7,0x7398,0x7426,0x742A,0x7482,0x74A3,
+0x7578,0x757F,0x7881,0x78EF,0x7941,0x7947,0x7948,0x797A,
+0x7B95,0x7D00,0x7DBA,0x7F88,0x8006,0x802D,0x808C,0x8A18,
+0x8B4F,0x8C48,0x8D77,0x9321,0x9324,0x98E2,0x9951,0x9A0E,
+0x9A0F,0x9A65,0x9E92,0x7DCA,0x4F76,0x5409,0x62EE,0x6854,
+0x91D1,0x55AB,0x513A,0xF90B,0xF90C,0x5A1C,0x61E6,0xF90D,
+0x62CF,0x62FF,0xF90E,0xF90F,0xF910,0xF911,0xF912,0xF913,
+0x90A3,0xF914,0xF915,0xF916,0xF917,0xF918,0x8AFE,0xF919,
+0xF91A,0xF91B,0xF91C,0x6696,0xF91D,0x7156,0xF91E,0xF91F,
+0x96E3,0xF920,0x634F,0x637A,0x5357,0xF921,0x678F,0x6960,
+0x6E73,0xF922,0x7537,0xF923,0xF924,0xF925, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7D0D,0xF926,0xF927,0x8872,0x56CA,0x5A18,0xF928,0xF929,
+0xF92A,0xF92B,0xF92C,0x4E43,0xF92D,0x5167,0x5948,0x67F0,
+0x8010,0xF92E,0x5973,0x5E74,0x649A,0x79CA,0x5FF5,0x606C,
+0x62C8,0x637B,0x5BE7,0x5BD7,0x52AA,0xF92F,0x5974,0x5F29,
+0x6012,0xF930,0xF931,0xF932,0x7459,0xF933,0xF934,0xF935,
+0xF936,0xF937,0xF938,0x99D1,0xF939,0xF93A,0xF93B,0xF93C,
+0xF93D,0xF93E,0xF93F,0xF940,0xF941,0xF942,0xF943,0x6FC3,
+0xF944,0xF945,0x81BF,0x8FB2,0x60F1,0xF946,0xF947,0x8166,
+0xF948,0xF949,0x5C3F,0xF94A,0xF94B,0xF94C,0xF94D,0xF94E,
+0xF94F,0xF950,0xF951,0x5AE9,0x8A25,0x677B,0x7D10,0xF952,
+0xF953,0xF954,0xF955,0xF956,0xF957,0x80FD,0xF958,0xF959,
+0x5C3C,0x6CE5,0x533F,0x6EBA,0x591A,0x8336, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4E39,0x4EB6,0x4F46,0x55AE,0x5718,0x58C7,0x5F56,0x65B7,
+0x65E6,0x6A80,0x6BB5,0x6E4D,0x77ED,0x7AEF,0x7C1E,0x7DDE,
+0x86CB,0x8892,0x9132,0x935B,0x64BB,0x6FBE,0x737A,0x75B8,
+0x9054,0x5556,0x574D,0x61BA,0x64D4,0x66C7,0x6DE1,0x6E5B,
+0x6F6D,0x6FB9,0x75F0,0x8043,0x81BD,0x8541,0x8983,0x8AC7,
+0x8B5A,0x931F,0x6C93,0x7553,0x7B54,0x8E0F,0x905D,0x5510,
+0x5802,0x5858,0x5E62,0x6207,0x649E,0x68E0,0x7576,0x7CD6,
+0x87B3,0x9EE8,0x4EE3,0x5788,0x576E,0x5927,0x5C0D,0x5CB1,
+0x5E36,0x5F85,0x6234,0x64E1,0x73B3,0x81FA,0x888B,0x8CB8,
+0x968A,0x9EDB,0x5B85,0x5FB7,0x60B3,0x5012,0x5200,0x5230,
+0x5716,0x5835,0x5857,0x5C0E,0x5C60,0x5CF6,0x5D8B,0x5EA6,
+0x5F92,0x60BC,0x6311,0x6389,0x6417,0x6843, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x68F9,0x6AC2,0x6DD8,0x6E21,0x6ED4,0x6FE4,0x71FE,0x76DC,
+0x7779,0x79B1,0x7A3B,0x8404,0x89A9,0x8CED,0x8DF3,0x8E48,
+0x9003,0x9014,0x9053,0x90FD,0x934D,0x9676,0x97DC,0x6BD2,
+0x7006,0x7258,0x72A2,0x7368,0x7763,0x79BF,0x7BE4,0x7E9B,
+0x8B80,0x58A9,0x60C7,0x6566,0x65FD,0x66BE,0x6C8C,0x711E,
+0x71C9,0x8C5A,0x9813,0x4E6D,0x7A81,0x4EDD,0x51AC,0x51CD,
+0x52D5,0x540C,0x61A7,0x6771,0x6850,0x68DF,0x6D1E,0x6F7C,
+0x75BC,0x77B3,0x7AE5,0x80F4,0x8463,0x9285,0x515C,0x6597,
+0x675C,0x6793,0x75D8,0x7AC7,0x8373,0xF95A,0x8C46,0x9017,
+0x982D,0x5C6F,0x81C0,0x829A,0x9041,0x906F,0x920D,0x5F97,
+0x5D9D,0x6A59,0x71C8,0x767B,0x7B49,0x85E4,0x8B04,0x9127,
+0x9A30,0x5587,0x61F6,0xF95B,0x7669,0x7F85, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x863F,0x87BA,0x88F8,0x908F,0xF95C,0x6D1B,0x70D9,0x73DE,
+0x7D61,0x843D,0xF95D,0x916A,0x99F1,0xF95E,0x4E82,0x5375,
+0x6B04,0x6B12,0x703E,0x721B,0x862D,0x9E1E,0x524C,0x8FA3,
+0x5D50,0x64E5,0x652C,0x6B16,0x6FEB,0x7C43,0x7E9C,0x85CD,
+0x8964,0x89BD,0x62C9,0x81D8,0x881F,0x5ECA,0x6717,0x6D6A,
+0x72FC,0x7405,0x746F,0x8782,0x90DE,0x4F86,0x5D0D,0x5FA0,
+0x840A,0x51B7,0x63A0,0x7565,0x4EAE,0x5006,0x5169,0x51C9,
+0x6881,0x6A11,0x7CAE,0x7CB1,0x7CE7,0x826F,0x8AD2,0x8F1B,
+0x91CF,0x4FB6,0x5137,0x52F5,0x5442,0x5EEC,0x616E,0x623E,
+0x65C5,0x6ADA,0x6FFE,0x792A,0x85DC,0x8823,0x95AD,0x9A62,
+0x9A6A,0x9E97,0x9ECE,0x529B,0x66C6,0x6B77,0x701D,0x792B,
+0x8F62,0x9742,0x6190,0x6200,0x6523,0x6F23, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7149,0x7489,0x7DF4,0x806F,0x84EE,0x8F26,0x9023,0x934A,
+0x51BD,0x5217,0x52A3,0x6D0C,0x70C8,0x88C2,0x5EC9,0x6582,
+0x6BAE,0x6FC2,0x7C3E,0x7375,0x4EE4,0x4F36,0x56F9,0xF95F,
+0x5CBA,0x5DBA,0x601C,0x73B2,0x7B2D,0x7F9A,0x7FCE,0x8046,
+0x901E,0x9234,0x96F6,0x9748,0x9818,0x9F61,0x4F8B,0x6FA7,
+0x79AE,0x91B4,0x96B7,0x52DE,0xF960,0x6488,0x64C4,0x6AD3,
+0x6F5E,0x7018,0x7210,0x76E7,0x8001,0x8606,0x865C,0x8DEF,
+0x8F05,0x9732,0x9B6F,0x9DFA,0x9E75,0x788C,0x797F,0x7DA0,
+0x83C9,0x9304,0x9E7F,0x9E93,0x8AD6,0x58DF,0x5F04,0x6727,
+0x7027,0x74CF,0x7C60,0x807E,0x5121,0x7028,0x7262,0x78CA,
+0x8CC2,0x8CDA,0x8CF4,0x96F7,0x4E86,0x50DA,0x5BEE,0x5ED6,
+0x6599,0x71CE,0x7642,0x77AD,0x804A,0x84FC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x907C,0x9B27,0x9F8D,0x58D8,0x5A41,0x5C62,0x6A13,0x6DDA,
+0x6F0F,0x763B,0x7D2F,0x7E37,0x851E,0x8938,0x93E4,0x964B,
+0x5289,0x65D2,0x67F3,0x69B4,0x6D41,0x6E9C,0x700F,0x7409,
+0x7460,0x7559,0x7624,0x786B,0x8B2C,0x985E,0x516D,0x622E,
+0x9678,0x4F96,0x502B,0x5D19,0x6DEA,0x7DB8,0x8F2A,0x5F8B,
+0x6144,0x6817,0xF961,0x9686,0x52D2,0x808B,0x51DC,0x51CC,
+0x695E,0x7A1C,0x7DBE,0x83F1,0x9675,0x4FDA,0x5229,0x5398,
+0x540F,0x550E,0x5C65,0x60A7,0x674E,0x68A8,0x6D6C,0x7281,
+0x72F8,0x7406,0x7483,0xF962,0x75E2,0x7C6C,0x7F79,0x7FB8,
+0x8389,0x88CF,0x88E1,0x91CC,0x91D0,0x96E2,0x9BC9,0x541D,
+0x6F7E,0x71D0,0x7498,0x85FA,0x8EAA,0x96A3,0x9C57,0x9E9F,
+0x6797,0x6DCB,0x7433,0x81E8,0x9716,0x782C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7ACB,0x7B20,0x7C92,0x6469,0x746A,0x75F2,0x78BC,0x78E8,
+0x99AC,0x9B54,0x9EBB,0x5BDE,0x5E55,0x6F20,0x819C,0x83AB,
+0x9088,0x4E07,0x534D,0x5A29,0x5DD2,0x5F4E,0x6162,0x633D,
+0x6669,0x66FC,0x6EFF,0x6F2B,0x7063,0x779E,0x842C,0x8513,
+0x883B,0x8F13,0x9945,0x9C3B,0x551C,0x62B9,0x672B,0x6CAB,
+0x8309,0x896A,0x977A,0x4EA1,0x5984,0x5FD8,0x5FD9,0x671B,
+0x7DB2,0x7F54,0x8292,0x832B,0x83BD,0x8F1E,0x9099,0x57CB,
+0x59B9,0x5A92,0x5BD0,0x6627,0x679A,0x6885,0x6BCF,0x7164,
+0x7F75,0x8CB7,0x8CE3,0x9081,0x9B45,0x8108,0x8C8A,0x964C,
+0x9A40,0x9EA5,0x5B5F,0x6C13,0x731B,0x76F2,0x76DF,0x840C,
+0x51AA,0x8993,0x514D,0x5195,0x52C9,0x68C9,0x6C94,0x7704,
+0x7720,0x7DBF,0x7DEC,0x9762,0x9EB5,0x6EC5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8511,0x51A5,0x540D,0x547D,0x660E,0x669D,0x6927,0x6E9F,
+0x76BF,0x7791,0x8317,0x84C2,0x879F,0x9169,0x9298,0x9CF4,
+0x8882,0x4FAE,0x5192,0x52DF,0x59C6,0x5E3D,0x6155,0x6478,
+0x6479,0x66AE,0x67D0,0x6A21,0x6BCD,0x6BDB,0x725F,0x7261,
+0x7441,0x7738,0x77DB,0x8017,0x82BC,0x8305,0x8B00,0x8B28,
+0x8C8C,0x6728,0x6C90,0x7267,0x76EE,0x7766,0x7A46,0x9DA9,
+0x6B7F,0x6C92,0x5922,0x6726,0x8499,0x536F,0x5893,0x5999,
+0x5EDF,0x63CF,0x6634,0x6773,0x6E3A,0x732B,0x7AD7,0x82D7,
+0x9328,0x52D9,0x5DEB,0x61AE,0x61CB,0x620A,0x62C7,0x64AB,
+0x65E0,0x6959,0x6B66,0x6BCB,0x7121,0x73F7,0x755D,0x7E46,
+0x821E,0x8302,0x856A,0x8AA3,0x8CBF,0x9727,0x9D61,0x58A8,
+0x9ED8,0x5011,0x520E,0x543B,0x554F,0x6587, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6C76,0x7D0A,0x7D0B,0x805E,0x868A,0x9580,0x96EF,0x52FF,
+0x6C95,0x7269,0x5473,0x5A9A,0x5C3E,0x5D4B,0x5F4C,0x5FAE,
+0x672A,0x68B6,0x6963,0x6E3C,0x6E44,0x7709,0x7C73,0x7F8E,
+0x8587,0x8B0E,0x8FF7,0x9761,0x9EF4,0x5CB7,0x60B6,0x610D,
+0x61AB,0x654F,0x65FB,0x65FC,0x6C11,0x6CEF,0x739F,0x73C9,
+0x7DE1,0x9594,0x5BC6,0x871C,0x8B10,0x525D,0x535A,0x62CD,
+0x640F,0x64B2,0x6734,0x6A38,0x6CCA,0x73C0,0x749E,0x7B94,
+0x7C95,0x7E1B,0x818A,0x8236,0x8584,0x8FEB,0x96F9,0x99C1,
+0x4F34,0x534A,0x53CD,0x53DB,0x62CC,0x642C,0x6500,0x6591,
+0x69C3,0x6CEE,0x6F58,0x73ED,0x7554,0x7622,0x76E4,0x76FC,
+0x78D0,0x78FB,0x792C,0x7D46,0x822C,0x87E0,0x8FD4,0x9812,
+0x98EF,0x52C3,0x62D4,0x64A5,0x6E24,0x6F51, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x767C,0x8DCB,0x91B1,0x9262,0x9AEE,0x9B43,0x5023,0x508D,
+0x574A,0x59A8,0x5C28,0x5E47,0x5F77,0x623F,0x653E,0x65B9,
+0x65C1,0x6609,0x678B,0x699C,0x6EC2,0x78C5,0x7D21,0x80AA,
+0x8180,0x822B,0x82B3,0x84A1,0x868C,0x8A2A,0x8B17,0x90A6,
+0x9632,0x9F90,0x500D,0x4FF3,0xF963,0x57F9,0x5F98,0x62DC,
+0x6392,0x676F,0x6E43,0x7119,0x76C3,0x80CC,0x80DA,0x88F4,
+0x88F5,0x8919,0x8CE0,0x8F29,0x914D,0x966A,0x4F2F,0x4F70,
+0x5E1B,0x67CF,0x6822,0x767D,0x767E,0x9B44,0x5E61,0x6A0A,
+0x7169,0x71D4,0x756A,0xF964,0x7E41,0x8543,0x85E9,0x98DC,
+0x4F10,0x7B4F,0x7F70,0x95A5,0x51E1,0x5E06,0x68B5,0x6C3E,
+0x6C4E,0x6CDB,0x72AF,0x7BC4,0x8303,0x6CD5,0x743A,0x50FB,
+0x5288,0x58C1,0x64D8,0x6A97,0x74A7,0x7656, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x78A7,0x8617,0x95E2,0x9739,0xF965,0x535E,0x5F01,0x8B8A,
+0x8FA8,0x8FAF,0x908A,0x5225,0x77A5,0x9C49,0x9F08,0x4E19,
+0x5002,0x5175,0x5C5B,0x5E77,0x661E,0x663A,0x67C4,0x68C5,
+0x70B3,0x7501,0x75C5,0x79C9,0x7ADD,0x8F27,0x9920,0x9A08,
+0x4FDD,0x5821,0x5831,0x5BF6,0x666E,0x6B65,0x6D11,0x6E7A,
+0x6F7D,0x73E4,0x752B,0x83E9,0x88DC,0x8913,0x8B5C,0x8F14,
+0x4F0F,0x50D5,0x5310,0x535C,0x5B93,0x5FA9,0x670D,0x798F,
+0x8179,0x832F,0x8514,0x8907,0x8986,0x8F39,0x8F3B,0x99A5,
+0x9C12,0x672C,0x4E76,0x4FF8,0x5949,0x5C01,0x5CEF,0x5CF0,
+0x6367,0x68D2,0x70FD,0x71A2,0x742B,0x7E2B,0x84EC,0x8702,
+0x9022,0x92D2,0x9CF3,0x4E0D,0x4ED8,0x4FEF,0x5085,0x5256,
+0x526F,0x5426,0x5490,0x57E0,0x592B,0x5A66, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5B5A,0x5B75,0x5BCC,0x5E9C,0xF966,0x6276,0x6577,0x65A7,
+0x6D6E,0x6EA5,0x7236,0x7B26,0x7C3F,0x7F36,0x8150,0x8151,
+0x819A,0x8240,0x8299,0x83A9,0x8A03,0x8CA0,0x8CE6,0x8CFB,
+0x8D74,0x8DBA,0x90E8,0x91DC,0x961C,0x9644,0x99D9,0x9CE7,
+0x5317,0x5206,0x5429,0x5674,0x58B3,0x5954,0x596E,0x5FFF,
+0x61A4,0x626E,0x6610,0x6C7E,0x711A,0x76C6,0x7C89,0x7CDE,
+0x7D1B,0x82AC,0x8CC1,0x96F0,0xF967,0x4F5B,0x5F17,0x5F7F,
+0x62C2,0x5D29,0x670B,0x68DA,0x787C,0x7E43,0x9D6C,0x4E15,
+0x5099,0x5315,0x532A,0x5351,0x5983,0x5A62,0x5E87,0x60B2,
+0x618A,0x6249,0x6279,0x6590,0x6787,0x69A7,0x6BD4,0x6BD6,
+0x6BD7,0x6BD8,0x6CB8,0xF968,0x7435,0x75FA,0x7812,0x7891,
+0x79D5,0x79D8,0x7C83,0x7DCB,0x7FE1,0x80A5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x813E,0x81C2,0x83F2,0x871A,0x88E8,0x8AB9,0x8B6C,0x8CBB,
+0x9119,0x975E,0x98DB,0x9F3B,0x56AC,0x5B2A,0x5F6C,0x658C,
+0x6AB3,0x6BAF,0x6D5C,0x6FF1,0x7015,0x725D,0x73AD,0x8CA7,
+0x8CD3,0x983B,0x6191,0x6C37,0x8058,0x9A01,0x4E4D,0x4E8B,
+0x4E9B,0x4ED5,0x4F3A,0x4F3C,0x4F7F,0x4FDF,0x50FF,0x53F2,
+0x53F8,0x5506,0x55E3,0x56DB,0x58EB,0x5962,0x5A11,0x5BEB,
+0x5BFA,0x5C04,0x5DF3,0x5E2B,0x5F99,0x601D,0x6368,0x659C,
+0x65AF,0x67F6,0x67FB,0x68AD,0x6B7B,0x6C99,0x6CD7,0x6E23,
+0x7009,0x7345,0x7802,0x793E,0x7940,0x7960,0x79C1,0x7BE9,
+0x7D17,0x7D72,0x8086,0x820D,0x838E,0x84D1,0x86C7,0x88DF,
+0x8A50,0x8A5E,0x8B1D,0x8CDC,0x8D66,0x8FAD,0x90AA,0x98FC,
+0x99DF,0x9E9D,0x524A,0xF969,0x6714,0xF96A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5098,0x522A,0x5C71,0x6563,0x6C55,0x73CA,0x7523,0x759D,
+0x7B97,0x849C,0x9178,0x9730,0x4E77,0x6492,0x6BBA,0x715E,
+0x85A9,0x4E09,0xF96B,0x6749,0x68EE,0x6E17,0x829F,0x8518,
+0x886B,0x63F7,0x6F81,0x9212,0x98AF,0x4E0A,0x50B7,0x50CF,
+0x511F,0x5546,0x55AA,0x5617,0x5B40,0x5C19,0x5CE0,0x5E38,
+0x5E8A,0x5EA0,0x5EC2,0x60F3,0x6851,0x6A61,0x6E58,0x723D,
+0x7240,0x72C0,0x76F8,0x7965,0x7BB1,0x7FD4,0x88F3,0x89F4,
+0x8A73,0x8C61,0x8CDE,0x971C,0x585E,0x74BD,0x8CFD,0x55C7,
+0xF96C,0x7A61,0x7D22,0x8272,0x7272,0x751F,0x7525,0xF96D,
+0x7B19,0x5885,0x58FB,0x5DBC,0x5E8F,0x5EB6,0x5F90,0x6055,
+0x6292,0x637F,0x654D,0x6691,0x66D9,0x66F8,0x6816,0x68F2,
+0x7280,0x745E,0x7B6E,0x7D6E,0x7DD6,0x7F72, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x80E5,0x8212,0x85AF,0x897F,0x8A93,0x901D,0x92E4,0x9ECD,
+0x9F20,0x5915,0x596D,0x5E2D,0x60DC,0x6614,0x6673,0x6790,
+0x6C50,0x6DC5,0x6F5F,0x77F3,0x78A9,0x84C6,0x91CB,0x932B,
+0x4ED9,0x50CA,0x5148,0x5584,0x5B0B,0x5BA3,0x6247,0x657E,
+0x65CB,0x6E32,0x717D,0x7401,0x7444,0x7487,0x74BF,0x766C,
+0x79AA,0x7DDA,0x7E55,0x7FA8,0x817A,0x81B3,0x8239,0x861A,
+0x87EC,0x8A75,0x8DE3,0x9078,0x9291,0x9425,0x994D,0x9BAE,
+0x5368,0x5C51,0x6954,0x6CC4,0x6D29,0x6E2B,0x820C,0x859B,
+0x893B,0x8A2D,0x8AAA,0x96EA,0x9F67,0x5261,0x66B9,0x6BB2,
+0x7E96,0x87FE,0x8D0D,0x9583,0x965D,0x651D,0x6D89,0x71EE,
+0xF96E,0x57CE,0x59D3,0x5BAC,0x6027,0x60FA,0x6210,0x661F,
+0x665F,0x7329,0x73F9,0x76DB,0x7701,0x7B6C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8056,0x8072,0x8165,0x8AA0,0x9192,0x4E16,0x52E2,0x6B72,
+0x6D17,0x7A05,0x7B39,0x7D30,0xF96F,0x8CB0,0x53EC,0x562F,
+0x5851,0x5BB5,0x5C0F,0x5C11,0x5DE2,0x6240,0x6383,0x6414,
+0x662D,0x68B3,0x6CBC,0x6D88,0x6EAF,0x701F,0x70A4,0x71D2,
+0x7526,0x758F,0x758E,0x7619,0x7B11,0x7BE0,0x7C2B,0x7D20,
+0x7D39,0x852C,0x856D,0x8607,0x8A34,0x900D,0x9061,0x90B5,
+0x92B7,0x97F6,0x9A37,0x4FD7,0x5C6C,0x675F,0x6D91,0x7C9F,
+0x7E8C,0x8B16,0x8D16,0x901F,0x5B6B,0x5DFD,0x640D,0x84C0,
+0x905C,0x98E1,0x7387,0x5B8B,0x609A,0x677E,0x6DDE,0x8A1F,
+0x8AA6,0x9001,0x980C,0x5237,0xF970,0x7051,0x788E,0x9396,
+0x8870,0x91D7,0x4FEE,0x53D7,0x55FD,0x56DA,0x5782,0x58FD,
+0x5AC2,0x5B88,0x5CAB,0x5CC0,0x5E25,0x6101, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x620D,0x624B,0x6388,0x641C,0x6536,0x6578,0x6A39,0x6B8A,
+0x6C34,0x6D19,0x6F31,0x71E7,0x72E9,0x7378,0x7407,0x74B2,
+0x7626,0x7761,0x79C0,0x7A57,0x7AEA,0x7CB9,0x7D8F,0x7DAC,
+0x7E61,0x7F9E,0x8129,0x8331,0x8490,0x84DA,0x85EA,0x8896,
+0x8AB0,0x8B90,0x8F38,0x9042,0x9083,0x916C,0x9296,0x92B9,
+0x968B,0x96A7,0x96A8,0x96D6,0x9700,0x9808,0x9996,0x9AD3,
+0x9B1A,0x53D4,0x587E,0x5919,0x5B70,0x5BBF,0x6DD1,0x6F5A,
+0x719F,0x7421,0x74B9,0x8085,0x83FD,0x5DE1,0x5F87,0x5FAA,
+0x6042,0x65EC,0x6812,0x696F,0x6A53,0x6B89,0x6D35,0x6DF3,
+0x73E3,0x76FE,0x77AC,0x7B4D,0x7D14,0x8123,0x821C,0x8340,
+0x84F4,0x8563,0x8A62,0x8AC4,0x9187,0x931E,0x9806,0x99B4,
+0x620C,0x8853,0x8FF0,0x9265,0x5D07,0x5D27, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5D69,0x745F,0x819D,0x8768,0x6FD5,0x62FE,0x7FD2,0x8936,
+0x8972,0x4E1E,0x4E58,0x50E7,0x52DD,0x5347,0x627F,0x6607,
+0x7E69,0x8805,0x965E,0x4F8D,0x5319,0x5636,0x59CB,0x5AA4,
+0x5C38,0x5C4E,0x5C4D,0x5E02,0x5F11,0x6043,0x65BD,0x662F,
+0x6642,0x67BE,0x67F4,0x731C,0x77E2,0x793A,0x7FC5,0x8494,
+0x84CD,0x8996,0x8A66,0x8A69,0x8AE1,0x8C55,0x8C7A,0x57F4,
+0x5BD4,0x5F0F,0x606F,0x62ED,0x690D,0x6B96,0x6E5C,0x7184,
+0x7BD2,0x8755,0x8B58,0x8EFE,0x98DF,0x98FE,0x4F38,0x4F81,
+0x4FE1,0x547B,0x5A20,0x5BB8,0x613C,0x65B0,0x6668,0x71FC,
+0x7533,0x795E,0x7D33,0x814E,0x81E3,0x8398,0x85AA,0x85CE,
+0x8703,0x8A0A,0x8EAB,0x8F9B,0xF971,0x8FC5,0x5931,0x5BA4,
+0x5BE6,0x6089,0x5BE9,0x5C0B,0x5FC3,0x6C81, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF972,0x6DF1,0x700B,0x751A,0x82AF,0x8AF6,0x4EC0,0x5341,
+0xF973,0x96D9,0x6C0F,0x4E9E,0x4FC4,0x5152,0x555E,0x5A25,
+0x5CE8,0x6211,0x7259,0x82BD,0x83AA,0x86FE,0x8859,0x8A1D,
+0x963F,0x96C5,0x9913,0x9D09,0x9D5D,0x580A,0x5CB3,0x5DBD,
+0x5E44,0x60E1,0x6115,0x63E1,0x6A02,0x6E25,0x9102,0x9354,
+0x984E,0x9C10,0x9F77,0x5B89,0x5CB8,0x6309,0x664F,0x6848,
+0x773C,0x96C1,0x978D,0x9854,0x9B9F,0x65A1,0x8B01,0x8ECB,
+0x95BC,0x5535,0x5CA9,0x5DD6,0x5EB5,0x6697,0x764C,0x83F4,
+0x95C7,0x58D3,0x62BC,0x72CE,0x9D28,0x4EF0,0x592E,0x600F,
+0x663B,0x6B83,0x79E7,0x9D26,0x5393,0x54C0,0x57C3,0x5D16,
+0x611B,0x66D6,0x6DAF,0x788D,0x827E,0x9698,0x9744,0x5384,
+0x627C,0x6396,0x6DB2,0x7E0A,0x814B,0x984D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6AFB,0x7F4C,0x9DAF,0x9E1A,0x4E5F,0x503B,0x51B6,0x591C,
+0x60F9,0x63F6,0x6930,0x723A,0x8036,0xF974,0x91CE,0x5F31,
+0xF975,0xF976,0x7D04,0x82E5,0x846F,0x84BB,0x85E5,0x8E8D,
+0xF977,0x4F6F,0xF978,0xF979,0x58E4,0x5B43,0x6059,0x63DA,
+0x6518,0x656D,0x6698,0xF97A,0x694A,0x6A23,0x6D0B,0x7001,
+0x716C,0x75D2,0x760D,0x79B3,0x7A70,0xF97B,0x7F8A,0xF97C,
+0x8944,0xF97D,0x8B93,0x91C0,0x967D,0xF97E,0x990A,0x5704,
+0x5FA1,0x65BC,0x6F01,0x7600,0x79A6,0x8A9E,0x99AD,0x9B5A,
+0x9F6C,0x5104,0x61B6,0x6291,0x6A8D,0x81C6,0x5043,0x5830,
+0x5F66,0x7109,0x8A00,0x8AFA,0x5B7C,0x8616,0x4FFA,0x513C,
+0x56B4,0x5944,0x63A9,0x6DF9,0x5DAA,0x696D,0x5186,0x4E88,
+0x4F59,0xF97F,0xF980,0xF981,0x5982,0xF982, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF983,0x6B5F,0x6C5D,0xF984,0x74B5,0x7916,0xF985,0x8207,
+0x8245,0x8339,0x8F3F,0x8F5D,0xF986,0x9918,0xF987,0xF988,
+0xF989,0x4EA6,0xF98A,0x57DF,0x5F79,0x6613,0xF98B,0xF98C,
+0x75AB,0x7E79,0x8B6F,0xF98D,0x9006,0x9A5B,0x56A5,0x5827,
+0x59F8,0x5A1F,0x5BB4,0xF98E,0x5EF6,0xF98F,0xF990,0x6350,
+0x633B,0xF991,0x693D,0x6C87,0x6CBF,0x6D8E,0x6D93,0x6DF5,
+0x6F14,0xF992,0x70DF,0x7136,0x7159,0xF993,0x71C3,0x71D5,
+0xF994,0x784F,0x786F,0xF995,0x7B75,0x7DE3,0xF996,0x7E2F,
+0xF997,0x884D,0x8EDF,0xF998,0xF999,0xF99A,0x925B,0xF99B,
+0x9CF6,0xF99C,0xF99D,0xF99E,0x6085,0x6D85,0xF99F,0x71B1,
+0xF9A0,0xF9A1,0x95B1,0x53AD,0xF9A2,0xF9A3,0xF9A4,0x67D3,
+0xF9A5,0x708E,0x7130,0x7430,0x8276,0x82D2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF9A6,0x95BB,0x9AE5,0x9E7D,0x66C4,0xF9A7,0x71C1,0x8449,
+0xF9A8,0xF9A9,0x584B,0xF9AA,0xF9AB,0x5DB8,0x5F71,0xF9AC,
+0x6620,0x668E,0x6979,0x69AE,0x6C38,0x6CF3,0x6E36,0x6F41,
+0x6FDA,0x701B,0x702F,0x7150,0x71DF,0x7370,0xF9AD,0x745B,
+0xF9AE,0x74D4,0x76C8,0x7A4E,0x7E93,0xF9AF,0xF9B0,0x82F1,
+0x8A60,0x8FCE,0xF9B1,0x9348,0xF9B2,0x9719,0xF9B3,0xF9B4,
+0x4E42,0x502A,0xF9B5,0x5208,0x53E1,0x66F3,0x6C6D,0x6FCA,
+0x730A,0x777F,0x7A62,0x82AE,0x85DD,0x8602,0xF9B6,0x88D4,
+0x8A63,0x8B7D,0x8C6B,0xF9B7,0x92B3,0xF9B8,0x9713,0x9810,
+0x4E94,0x4F0D,0x4FC9,0x50B2,0x5348,0x543E,0x5433,0x55DA,
+0x5862,0x58BA,0x5967,0x5A1B,0x5BE4,0x609F,0xF9B9,0x61CA,
+0x6556,0x65FF,0x6664,0x68A7,0x6C5A,0x6FB3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x70CF,0x71AC,0x7352,0x7B7D,0x8708,0x8AA4,0x9C32,0x9F07,
+0x5C4B,0x6C83,0x7344,0x7389,0x923A,0x6EAB,0x7465,0x761F,
+0x7A69,0x7E15,0x860A,0x5140,0x58C5,0x64C1,0x74EE,0x7515,
+0x7670,0x7FC1,0x9095,0x96CD,0x9954,0x6E26,0x74E6,0x7AA9,
+0x7AAA,0x81E5,0x86D9,0x8778,0x8A1B,0x5A49,0x5B8C,0x5B9B,
+0x68A1,0x6900,0x6D63,0x73A9,0x7413,0x742C,0x7897,0x7DE9,
+0x7FEB,0x8118,0x8155,0x839E,0x8C4C,0x962E,0x9811,0x66F0,
+0x5F80,0x65FA,0x6789,0x6C6A,0x738B,0x502D,0x5A03,0x6B6A,
+0x77EE,0x5916,0x5D6C,0x5DCD,0x7325,0x754F,0xF9BA,0xF9BB,
+0x50E5,0x51F9,0x582F,0x592D,0x5996,0x59DA,0x5BE5,0xF9BC,
+0xF9BD,0x5DA2,0x62D7,0x6416,0x6493,0x64FE,0xF9BE,0x66DC,
+0xF9BF,0x6A48,0xF9C0,0x71FF,0x7464,0xF9C1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7A88,0x7AAF,0x7E47,0x7E5E,0x8000,0x8170,0xF9C2,0x87EF,
+0x8981,0x8B20,0x9059,0xF9C3,0x9080,0x9952,0x617E,0x6B32,
+0x6D74,0x7E1F,0x8925,0x8FB1,0x4FD1,0x50AD,0x5197,0x52C7,
+0x57C7,0x5889,0x5BB9,0x5EB8,0x6142,0x6995,0x6D8C,0x6E67,
+0x6EB6,0x7194,0x7462,0x7528,0x752C,0x8073,0x8338,0x84C9,
+0x8E0A,0x9394,0x93DE,0xF9C4,0x4E8E,0x4F51,0x5076,0x512A,
+0x53C8,0x53CB,0x53F3,0x5B87,0x5BD3,0x5C24,0x611A,0x6182,
+0x65F4,0x725B,0x7397,0x7440,0x76C2,0x7950,0x7991,0x79B9,
+0x7D06,0x7FBD,0x828B,0x85D5,0x865E,0x8FC2,0x9047,0x90F5,
+0x91EA,0x9685,0x96E8,0x96E9,0x52D6,0x5F67,0x65ED,0x6631,
+0x682F,0x715C,0x7A36,0x90C1,0x980A,0x4E91,0xF9C5,0x6A52,
+0x6B9E,0x6F90,0x7189,0x8018,0x82B8,0x8553, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x904B,0x9695,0x96F2,0x97FB,0x851A,0x9B31,0x4E90,0x718A,
+0x96C4,0x5143,0x539F,0x54E1,0x5713,0x5712,0x57A3,0x5A9B,
+0x5AC4,0x5BC3,0x6028,0x613F,0x63F4,0x6C85,0x6D39,0x6E72,
+0x6E90,0x7230,0x733F,0x7457,0x82D1,0x8881,0x8F45,0x9060,
+0xF9C6,0x9662,0x9858,0x9D1B,0x6708,0x8D8A,0x925E,0x4F4D,
+0x5049,0x50DE,0x5371,0x570D,0x59D4,0x5A01,0x5C09,0x6170,
+0x6690,0x6E2D,0x7232,0x744B,0x7DEF,0x80C3,0x840E,0x8466,
+0x853F,0x875F,0x885B,0x8918,0x8B02,0x9055,0x97CB,0x9B4F,
+0x4E73,0x4F91,0x5112,0x516A,0xF9C7,0x552F,0x55A9,0x5B7A,
+0x5BA5,0x5E7C,0x5E7D,0x5EBE,0x60A0,0x60DF,0x6108,0x6109,
+0x63C4,0x6538,0x6709,0xF9C8,0x67D4,0x67DA,0xF9C9,0x6961,
+0x6962,0x6CB9,0x6D27,0xF9CA,0x6E38,0xF9CB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6FE1,0x7336,0x7337,0xF9CC,0x745C,0x7531,0xF9CD,0x7652,
+0xF9CE,0xF9CF,0x7DAD,0x81FE,0x8438,0x88D5,0x8A98,0x8ADB,
+0x8AED,0x8E30,0x8E42,0x904A,0x903E,0x907A,0x9149,0x91C9,
+0x936E,0xF9D0,0xF9D1,0x5809,0xF9D2,0x6BD3,0x8089,0x80B2,
+0xF9D3,0xF9D4,0x5141,0x596B,0x5C39,0xF9D5,0xF9D6,0x6F64,
+0x73A7,0x80E4,0x8D07,0xF9D7,0x9217,0x958F,0xF9D8,0xF9D9,
+0xF9DA,0xF9DB,0x807F,0x620E,0x701C,0x7D68,0x878D,0xF9DC,
+0x57A0,0x6069,0x6147,0x6BB7,0x8ABE,0x9280,0x96B1,0x4E59,
+0x541F,0x6DEB,0x852D,0x9670,0x97F3,0x98EE,0x63D6,0x6CE3,
+0x9091,0x51DD,0x61C9,0x81BA,0x9DF9,0x4F9D,0x501A,0x5100,
+0x5B9C,0x610F,0x61FF,0x64EC,0x6905,0x6BC5,0x7591,0x77E3,
+0x7FA9,0x8264,0x858F,0x87FB,0x8863,0x8ABC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8B70,0x91AB,0x4E8C,0x4EE5,0x4F0A,0xF9DD,0xF9DE,0x5937,
+0x59E8,0xF9DF,0x5DF2,0x5F1B,0x5F5B,0x6021,0xF9E0,0xF9E1,
+0xF9E2,0xF9E3,0x723E,0x73E5,0xF9E4,0x7570,0x75CD,0xF9E5,
+0x79FB,0xF9E6,0x800C,0x8033,0x8084,0x82E1,0x8351,0xF9E7,
+0xF9E8,0x8CBD,0x8CB3,0x9087,0xF9E9,0xF9EA,0x98F4,0x990C,
+0xF9EB,0xF9EC,0x7037,0x76CA,0x7FCA,0x7FCC,0x7FFC,0x8B1A,
+0x4EBA,0x4EC1,0x5203,0x5370,0xF9ED,0x54BD,0x56E0,0x59FB,
+0x5BC5,0x5F15,0x5FCD,0x6E6E,0xF9EE,0xF9EF,0x7D6A,0x8335,
+0xF9F0,0x8693,0x8A8D,0xF9F1,0x976D,0x9777,0xF9F2,0xF9F3,
+0x4E00,0x4F5A,0x4F7E,0x58F9,0x65E5,0x6EA2,0x9038,0x93B0,
+0x99B9,0x4EFB,0x58EC,0x598A,0x59D9,0x6041,0xF9F4,0xF9F5,
+0x7A14,0xF9F6,0x834F,0x8CC3,0x5165,0x5344, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF9F7,0xF9F8,0xF9F9,0x4ECD,0x5269,0x5B55,0x82BF,0x4ED4,
+0x523A,0x54A8,0x59C9,0x59FF,0x5B50,0x5B57,0x5B5C,0x6063,
+0x6148,0x6ECB,0x7099,0x716E,0x7386,0x74F7,0x75B5,0x78C1,
+0x7D2B,0x8005,0x81EA,0x8328,0x8517,0x85C9,0x8AEE,0x8CC7,
+0x96CC,0x4F5C,0x52FA,0x56BC,0x65AB,0x6628,0x707C,0x70B8,
+0x7235,0x7DBD,0x828D,0x914C,0x96C0,0x9D72,0x5B71,0x68E7,
+0x6B98,0x6F7A,0x76DE,0x5C91,0x66AB,0x6F5B,0x7BB4,0x7C2A,
+0x8836,0x96DC,0x4E08,0x4ED7,0x5320,0x5834,0x58BB,0x58EF,
+0x596C,0x5C07,0x5E33,0x5E84,0x5F35,0x638C,0x66B2,0x6756,
+0x6A1F,0x6AA3,0x6B0C,0x6F3F,0x7246,0xF9FA,0x7350,0x748B,
+0x7AE0,0x7CA7,0x8178,0x81DF,0x81E7,0x838A,0x846C,0x8523,
+0x8594,0x85CF,0x88DD,0x8D13,0x91AC,0x9577, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x969C,0x518D,0x54C9,0x5728,0x5BB0,0x624D,0x6750,0x683D,
+0x6893,0x6E3D,0x6ED3,0x707D,0x7E21,0x88C1,0x8CA1,0x8F09,
+0x9F4B,0x9F4E,0x722D,0x7B8F,0x8ACD,0x931A,0x4F47,0x4F4E,
+0x5132,0x5480,0x59D0,0x5E95,0x62B5,0x6775,0x696E,0x6A17,
+0x6CAE,0x6E1A,0x72D9,0x732A,0x75BD,0x7BB8,0x7D35,0x82E7,
+0x83F9,0x8457,0x85F7,0x8A5B,0x8CAF,0x8E87,0x9019,0x90B8,
+0x96CE,0x9F5F,0x52E3,0x540A,0x5AE1,0x5BC2,0x6458,0x6575,
+0x6EF4,0x72C4,0xF9FB,0x7684,0x7A4D,0x7B1B,0x7C4D,0x7E3E,
+0x7FDF,0x837B,0x8B2B,0x8CCA,0x8D64,0x8DE1,0x8E5F,0x8FEA,
+0x8FF9,0x9069,0x93D1,0x4F43,0x4F7A,0x50B3,0x5168,0x5178,
+0x524D,0x526A,0x5861,0x587C,0x5960,0x5C08,0x5C55,0x5EDB,
+0x609B,0x6230,0x6813,0x6BBF,0x6C08,0x6FB1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x714E,0x7420,0x7530,0x7538,0x7551,0x7672,0x7B4C,0x7B8B,
+0x7BAD,0x7BC6,0x7E8F,0x8A6E,0x8F3E,0x8F49,0x923F,0x9293,
+0x9322,0x942B,0x96FB,0x985A,0x986B,0x991E,0x5207,0x622A,
+0x6298,0x6D59,0x7664,0x7ACA,0x7BC0,0x7D76,0x5360,0x5CBE,
+0x5E97,0x6F38,0x70B9,0x7C98,0x9711,0x9B8E,0x9EDE,0x63A5,
+0x647A,0x8776,0x4E01,0x4E95,0x4EAD,0x505C,0x5075,0x5448,
+0x59C3,0x5B9A,0x5E40,0x5EAD,0x5EF7,0x5F81,0x60C5,0x633A,
+0x653F,0x6574,0x65CC,0x6676,0x6678,0x67FE,0x6968,0x6A89,
+0x6B63,0x6C40,0x6DC0,0x6DE8,0x6E1F,0x6E5E,0x701E,0x70A1,
+0x738E,0x73FD,0x753A,0x775B,0x7887,0x798E,0x7A0B,0x7A7D,
+0x7CBE,0x7D8E,0x8247,0x8A02,0x8AEA,0x8C9E,0x912D,0x914A,
+0x91D8,0x9266,0x92CC,0x9320,0x9706,0x9756, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x975C,0x9802,0x9F0E,0x5236,0x5291,0x557C,0x5824,0x5E1D,
+0x5F1F,0x608C,0x63D0,0x68AF,0x6FDF,0x796D,0x7B2C,0x81CD,
+0x85BA,0x88FD,0x8AF8,0x8E44,0x918D,0x9664,0x969B,0x973D,
+0x984C,0x9F4A,0x4FCE,0x5146,0x51CB,0x52A9,0x5632,0x5F14,
+0x5F6B,0x63AA,0x64CD,0x65E9,0x6641,0x66FA,0x66F9,0x671D,
+0x689D,0x68D7,0x69FD,0x6F15,0x6F6E,0x7167,0x71E5,0x722A,
+0x74AA,0x773A,0x7956,0x795A,0x79DF,0x7A20,0x7A95,0x7C97,
+0x7CDF,0x7D44,0x7E70,0x8087,0x85FB,0x86A4,0x8A54,0x8ABF,
+0x8D99,0x8E81,0x9020,0x906D,0x91E3,0x963B,0x96D5,0x9CE5,
+0x65CF,0x7C07,0x8DB3,0x93C3,0x5B58,0x5C0A,0x5352,0x62D9,
+0x731D,0x5027,0x5B97,0x5F9E,0x60B0,0x616B,0x68D5,0x6DD9,
+0x742E,0x7A2E,0x7D42,0x7D9C,0x7E31,0x816B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8E2A,0x8E35,0x937E,0x9418,0x4F50,0x5750,0x5DE6,0x5EA7,
+0x632B,0x7F6A,0x4E3B,0x4F4F,0x4F8F,0x505A,0x59DD,0x80C4,
+0x546A,0x5468,0x55FE,0x594F,0x5B99,0x5DDE,0x5EDA,0x665D,
+0x6731,0x67F1,0x682A,0x6CE8,0x6D32,0x6E4A,0x6F8D,0x70B7,
+0x73E0,0x7587,0x7C4C,0x7D02,0x7D2C,0x7DA2,0x821F,0x86DB,
+0x8A3B,0x8A85,0x8D70,0x8E8A,0x8F33,0x9031,0x914E,0x9152,
+0x9444,0x99D0,0x7AF9,0x7CA5,0x4FCA,0x5101,0x51C6,0x57C8,
+0x5BEF,0x5CFB,0x6659,0x6A3D,0x6D5A,0x6E96,0x6FEC,0x710C,
+0x756F,0x7AE3,0x8822,0x9021,0x9075,0x96CB,0x99FF,0x8301,
+0x4E2D,0x4EF2,0x8846,0x91CD,0x537D,0x6ADB,0x696B,0x6C41,
+0x847A,0x589E,0x618E,0x66FE,0x62EF,0x70DD,0x7511,0x75C7,
+0x7E52,0x84B8,0x8B49,0x8D08,0x4E4B,0x53EA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x54AB,0x5730,0x5740,0x5FD7,0x6301,0x6307,0x646F,0x652F,
+0x65E8,0x667A,0x679D,0x67B3,0x6B62,0x6C60,0x6C9A,0x6F2C,
+0x77E5,0x7825,0x7949,0x7957,0x7D19,0x80A2,0x8102,0x81F3,
+0x829D,0x82B7,0x8718,0x8A8C,0xF9FC,0x8D04,0x8DBE,0x9072,
+0x76F4,0x7A19,0x7A37,0x7E54,0x8077,0x5507,0x55D4,0x5875,
+0x632F,0x6422,0x6649,0x664B,0x686D,0x699B,0x6B84,0x6D25,
+0x6EB1,0x73CD,0x7468,0x74A1,0x755B,0x75B9,0x76E1,0x771E,
+0x778B,0x79E6,0x7E09,0x7E1D,0x81FB,0x852F,0x8897,0x8A3A,
+0x8CD1,0x8EEB,0x8FB0,0x9032,0x93AD,0x9663,0x9673,0x9707,
+0x4F84,0x53F1,0x59EA,0x5AC9,0x5E19,0x684E,0x74C6,0x75BE,
+0x79E9,0x7A92,0x81A3,0x86ED,0x8CEA,0x8DCC,0x8FED,0x659F,
+0x6715,0xF9FD,0x57F7,0x6F57,0x7DDD,0x8F2F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x93F6,0x96C6,0x5FB5,0x61F2,0x6F84,0x4E14,0x4F98,0x501F,
+0x53C9,0x55DF,0x5D6F,0x5DEE,0x6B21,0x6B64,0x78CB,0x7B9A,
+0xF9FE,0x8E49,0x8ECA,0x906E,0x6349,0x643E,0x7740,0x7A84,
+0x932F,0x947F,0x9F6A,0x64B0,0x6FAF,0x71E6,0x74A8,0x74DA,
+0x7AC4,0x7C12,0x7E82,0x7CB2,0x7E98,0x8B9A,0x8D0A,0x947D,
+0x9910,0x994C,0x5239,0x5BDF,0x64E6,0x672D,0x7D2E,0x50ED,
+0x53C3,0x5879,0x6158,0x6159,0x61FA,0x65AC,0x7AD9,0x8B92,
+0x8B96,0x5009,0x5021,0x5275,0x5531,0x5A3C,0x5EE0,0x5F70,
+0x6134,0x655E,0x660C,0x6636,0x66A2,0x69CD,0x6EC4,0x6F32,
+0x7316,0x7621,0x7A93,0x8139,0x8259,0x83D6,0x84BC,0x50B5,
+0x57F0,0x5BC0,0x5BE8,0x5F69,0x63A1,0x7826,0x7DB5,0x83DC,
+0x8521,0x91C7,0x91F5,0x518A,0x67F5,0x7B56, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8CAC,0x51C4,0x59BB,0x60BD,0x8655,0x501C,0xF9FF,0x5254,
+0x5C3A,0x617D,0x621A,0x62D3,0x64F2,0x65A5,0x6ECC,0x7620,
+0x810A,0x8E60,0x965F,0x96BB,0x4EDF,0x5343,0x5598,0x5929,
+0x5DDD,0x64C5,0x6CC9,0x6DFA,0x7394,0x7A7F,0x821B,0x85A6,
+0x8CE4,0x8E10,0x9077,0x91E7,0x95E1,0x9621,0x97C6,0x51F8,
+0x54F2,0x5586,0x5FB9,0x64A4,0x6F88,0x7DB4,0x8F1F,0x8F4D,
+0x9435,0x50C9,0x5C16,0x6CBE,0x6DFB,0x751B,0x77BB,0x7C3D,
+0x7C64,0x8A79,0x8AC2,0x581E,0x59BE,0x5E16,0x6377,0x7252,
+0x758A,0x776B,0x8ADC,0x8CBC,0x8F12,0x5EF3,0x6674,0x6DF8,
+0x807D,0x83C1,0x8ACB,0x9751,0x9BD6,0xFA00,0x5243,0x66FF,
+0x6D95,0x6EEF,0x7DE0,0x8AE6,0x902E,0x905E,0x9AD4,0x521D,
+0x527F,0x54E8,0x6194,0x6284,0x62DB,0x68A2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6912,0x695A,0x6A35,0x7092,0x7126,0x785D,0x7901,0x790E,
+0x79D2,0x7A0D,0x8096,0x8278,0x82D5,0x8349,0x8549,0x8C82,
+0x8D85,0x9162,0x918B,0x91AE,0x4FC3,0x56D1,0x71ED,0x77D7,
+0x8700,0x89F8,0x5BF8,0x5FD6,0x6751,0x90A8,0x53E2,0x585A,
+0x5BF5,0x60A4,0x6181,0x6460,0x7E3D,0x8070,0x8525,0x9283,
+0x64AE,0x50AC,0x5D14,0x6700,0x589C,0x62BD,0x63A8,0x690E,
+0x6978,0x6A1E,0x6E6B,0x76BA,0x79CB,0x82BB,0x8429,0x8ACF,
+0x8DA8,0x8FFD,0x9112,0x914B,0x919C,0x9310,0x9318,0x939A,
+0x96DB,0x9A36,0x9C0D,0x4E11,0x755C,0x795D,0x7AFA,0x7B51,
+0x7BC9,0x7E2E,0x84C4,0x8E59,0x8E74,0x8EF8,0x9010,0x6625,
+0x693F,0x7443,0x51FA,0x672E,0x9EDC,0x5145,0x5FE0,0x6C96,
+0x87F2,0x885D,0x8877,0x60B4,0x81B5,0x8403, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8D05,0x53D6,0x5439,0x5634,0x5A36,0x5C31,0x708A,0x7FE0,
+0x805A,0x8106,0x81ED,0x8DA3,0x9189,0x9A5F,0x9DF2,0x5074,
+0x4EC4,0x53A0,0x60FB,0x6E2C,0x5C64,0x4F88,0x5024,0x55E4,
+0x5CD9,0x5E5F,0x6065,0x6894,0x6CBB,0x6DC4,0x71BE,0x75D4,
+0x75F4,0x7661,0x7A1A,0x7A49,0x7DC7,0x7DFB,0x7F6E,0x81F4,
+0x86A9,0x8F1C,0x96C9,0x99B3,0x9F52,0x5247,0x52C5,0x98ED,
+0x89AA,0x4E03,0x67D2,0x6F06,0x4FB5,0x5BE2,0x6795,0x6C88,
+0x6D78,0x741B,0x7827,0x91DD,0x937C,0x87C4,0x79E4,0x7A31,
+0x5FEB,0x4ED6,0x54A4,0x553E,0x58AE,0x59A5,0x60F0,0x6253,
+0x62D6,0x6736,0x6955,0x8235,0x9640,0x99B1,0x99DD,0x502C,
+0x5353,0x5544,0x577C,0xFA01,0x6258,0xFA02,0x64E2,0x666B,
+0x67DD,0x6FC1,0x6FEF,0x7422,0x7438,0x8A17, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9438,0x5451,0x5606,0x5766,0x5F48,0x619A,0x6B4E,0x7058,
+0x70AD,0x7DBB,0x8A95,0x596A,0x812B,0x63A2,0x7708,0x803D,
+0x8CAA,0x5854,0x642D,0x69BB,0x5B95,0x5E11,0x6E6F,0xFA03,
+0x8569,0x514C,0x53F0,0x592A,0x6020,0x614B,0x6B86,0x6C70,
+0x6CF0,0x7B1E,0x80CE,0x82D4,0x8DC6,0x90B0,0x98B1,0xFA04,
+0x64C7,0x6FA4,0x6491,0x6504,0x514E,0x5410,0x571F,0x8A0E,
+0x615F,0x6876,0xFA05,0x75DB,0x7B52,0x7D71,0x901A,0x5806,
+0x69CC,0x817F,0x892A,0x9000,0x9839,0x5078,0x5957,0x59AC,
+0x6295,0x900F,0x9B2A,0x615D,0x7279,0x95D6,0x5761,0x5A46,
+0x5DF4,0x628A,0x64AD,0x64FA,0x6777,0x6CE2,0x6D3E,0x722C,
+0x7436,0x7834,0x7F77,0x82AD,0x8DDB,0x9817,0x5224,0x5742,
+0x677F,0x7248,0x74E3,0x8CA9,0x8FA6,0x9211, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x962A,0x516B,0x53ED,0x634C,0x4F69,0x5504,0x6096,0x6557,
+0x6C9B,0x6D7F,0x724C,0x72FD,0x7A17,0x8987,0x8C9D,0x5F6D,
+0x6F8E,0x70F9,0x81A8,0x610E,0x4FBF,0x504F,0x6241,0x7247,
+0x7BC7,0x7DE8,0x7FE9,0x904D,0x97AD,0x9A19,0x8CB6,0x576A,
+0x5E73,0x67B0,0x840D,0x8A55,0x5420,0x5B16,0x5E63,0x5EE2,
+0x5F0A,0x6583,0x80BA,0x853D,0x9589,0x965B,0x4F48,0x5305,
+0x530D,0x530F,0x5486,0x54FA,0x5703,0x5E03,0x6016,0x629B,
+0x62B1,0x6355,0xFA06,0x6CE1,0x6D66,0x75B1,0x7832,0x80DE,
+0x812F,0x82DE,0x8461,0x84B2,0x888D,0x8912,0x900B,0x92EA,
+0x98FD,0x9B91,0x5E45,0x66B4,0x66DD,0x7011,0x7206,0xFA07,
+0x4FF5,0x527D,0x5F6A,0x6153,0x6753,0x6A19,0x6F02,0x74E2,
+0x7968,0x8868,0x8C79,0x98C7,0x98C4,0x9A43, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x54C1,0x7A1F,0x6953,0x8AF7,0x8C4A,0x98A8,0x99AE,0x5F7C,
+0x62AB,0x75B2,0x76AE,0x88AB,0x907F,0x9642,0x5339,0x5F3C,
+0x5FC5,0x6CCC,0x73CC,0x7562,0x758B,0x7B46,0x82FE,0x999D,
+0x4E4F,0x903C,0x4E0B,0x4F55,0x53A6,0x590F,0x5EC8,0x6630,
+0x6CB3,0x7455,0x8377,0x8766,0x8CC0,0x9050,0x971E,0x9C15,
+0x58D1,0x5B78,0x8650,0x8B14,0x9DB4,0x5BD2,0x6068,0x608D,
+0x65F1,0x6C57,0x6F22,0x6FA3,0x701A,0x7F55,0x7FF0,0x9591,
+0x9592,0x9650,0x97D3,0x5272,0x8F44,0x51FD,0x542B,0x54B8,
+0x5563,0x558A,0x6ABB,0x6DB5,0x7DD8,0x8266,0x929C,0x9677,
+0x9E79,0x5408,0x54C8,0x76D2,0x86E4,0x95A4,0x95D4,0x965C,
+0x4EA2,0x4F09,0x59EE,0x5AE6,0x5DF7,0x6052,0x6297,0x676D,
+0x6841,0x6C86,0x6E2F,0x7F38,0x809B,0x822A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFA08,0xFA09,0x9805,0x4EA5,0x5055,0x54B3,0x5793,0x595A,
+0x5B69,0x5BB3,0x61C8,0x6977,0x6D77,0x7023,0x87F9,0x89E3,
+0x8A72,0x8AE7,0x9082,0x99ED,0x9AB8,0x52BE,0x6838,0x5016,
+0x5E78,0x674F,0x8347,0x884C,0x4EAB,0x5411,0x56AE,0x73E6,
+0x9115,0x97FF,0x9909,0x9957,0x9999,0x5653,0x589F,0x865B,
+0x8A31,0x61B2,0x6AF6,0x737B,0x8ED2,0x6B47,0x96AA,0x9A57,
+0x5955,0x7200,0x8D6B,0x9769,0x4FD4,0x5CF4,0x5F26,0x61F8,
+0x665B,0x6CEB,0x70AB,0x7384,0x73B9,0x73FE,0x7729,0x774D,
+0x7D43,0x7D62,0x7E23,0x8237,0x8852,0xFA0A,0x8CE2,0x9249,
+0x986F,0x5B51,0x7A74,0x8840,0x9801,0x5ACC,0x4FE0,0x5354,
+0x593E,0x5CFD,0x633E,0x6D79,0x72F9,0x8105,0x8107,0x83A2,
+0x92CF,0x9830,0x4EA8,0x5144,0x5211,0x578B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5F62,0x6CC2,0x6ECE,0x7005,0x7050,0x70AF,0x7192,0x73E9,
+0x7469,0x834A,0x87A2,0x8861,0x9008,0x90A2,0x93A3,0x99A8,
+0x516E,0x5F57,0x60E0,0x6167,0x66B3,0x8559,0x8E4A,0x91AF,
+0x978B,0x4E4E,0x4E92,0x547C,0x58D5,0x58FA,0x597D,0x5CB5,
+0x5F27,0x6236,0x6248,0x660A,0x6667,0x6BEB,0x6D69,0x6DCF,
+0x6E56,0x6EF8,0x6F94,0x6FE0,0x6FE9,0x705D,0x72D0,0x7425,
+0x745A,0x74E0,0x7693,0x795C,0x7CCA,0x7E1E,0x80E1,0x82A6,
+0x846B,0x84BF,0x864E,0x865F,0x8774,0x8B77,0x8C6A,0x93AC,
+0x9800,0x9865,0x60D1,0x6216,0x9177,0x5A5A,0x660F,0x6DF7,
+0x6E3E,0x743F,0x9B42,0x5FFD,0x60DA,0x7B0F,0x54C4,0x5F18,
+0x6C5E,0x6CD3,0x6D2A,0x70D8,0x7D05,0x8679,0x8A0C,0x9D3B,
+0x5316,0x548C,0x5B05,0x6A3A,0x706B,0x7575, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x798D,0x79BE,0x82B1,0x83EF,0x8A71,0x8B41,0x8CA8,0x9774,
+0xFA0B,0x64F4,0x652B,0x78BA,0x78BB,0x7A6B,0x4E38,0x559A,
+0x5950,0x5BA6,0x5E7B,0x60A3,0x63DB,0x6B61,0x6665,0x6853,
+0x6E19,0x7165,0x74B0,0x7D08,0x9084,0x9A69,0x9C25,0x6D3B,
+0x6ED1,0x733E,0x8C41,0x95CA,0x51F0,0x5E4C,0x5FA8,0x604D,
+0x60F6,0x6130,0x614C,0x6643,0x6644,0x69A5,0x6CC1,0x6E5F,
+0x6EC9,0x6F62,0x714C,0x749C,0x7687,0x7BC1,0x7C27,0x8352,
+0x8757,0x9051,0x968D,0x9EC3,0x532F,0x56DE,0x5EFB,0x5F8A,
+0x6062,0x6094,0x61F7,0x6666,0x6703,0x6A9C,0x6DEE,0x6FAE,
+0x7070,0x736A,0x7E6A,0x81BE,0x8334,0x86D4,0x8AA8,0x8CC4,
+0x5283,0x7372,0x5B96,0x6A6B,0x9404,0x54EE,0x5686,0x5B5D,
+0x6548,0x6585,0x66C9,0x689F,0x6D8D,0x6DC6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x723B,0x80B4,0x9175,0x9A4D,0x4FAF,0x5019,0x539A,0x540E,
+0x543C,0x5589,0x55C5,0x5E3F,0x5F8C,0x673D,0x7166,0x73DD,
+0x9005,0x52DB,0x52F3,0x5864,0x58CE,0x7104,0x718F,0x71FB,
+0x85B0,0x8A13,0x6688,0x85A8,0x55A7,0x6684,0x714A,0x8431,
+0x5349,0x5599,0x6BC1,0x5F59,0x5FBD,0x63EE,0x6689,0x7147,
+0x8AF1,0x8F1D,0x9EBE,0x4F11,0x643A,0x70CB,0x7566,0x8667,
+0x6064,0x8B4E,0x9DF8,0x5147,0x51F6,0x5308,0x6D36,0x80F8,
+0x9ED1,0x6615,0x6B23,0x7098,0x75D5,0x5403,0x5C79,0x7D07,
+0x8A16,0x6B20,0x6B3D,0x6B46,0x5438,0x6070,0x6D3D,0x7FD5,
+0x8208,0x50D6,0x51DE,0x559C,0x566B,0x56CD,0x59EC,0x5B09,
+0x5E0C,0x6199,0x6198,0x6231,0x665E,0x66E6,0x7199,0x71B9,
+0x71BA,0x72A7,0x79A7,0x7A00,0x7FB2,0x8A70};
+
+static int func_ksc5601_uni_onechar(int code){
+ if ((code>=0x8141)&&(code<=0xC8FE))
+ return(tab_ksc5601_uni0[code-0x8141]);
+ if ((code>=0xCAA1)&&(code<=0xFDFE))
+ return(tab_ksc5601_uni1[code-0xCAA1]);
+ return(0);
+}
+/* page 0 0x00A1-0x0167 */
+static uint16 tab_uni_ksc56010[]={
+0xA2AE, 0, 0,0xA2B4, 0, 0,0xA1D7,0xA1A7,
+ 0,0xA8A3, 0, 0,0xA1A9, 0, 0,0xA1C6,
+0xA1BE,0xA9F7,0xA9F8,0xA2A5, 0,0xA2D2,0xA1A4,0xA2AC,
+0xA9F6,0xA8AC, 0,0xA8F9,0xA8F6,0xA8FA,0xA2AF, 0,
+ 0, 0, 0, 0, 0,0xA8A1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA8A2,
+ 0, 0, 0, 0, 0, 0,0xA1BF,0xA8AA,
+ 0, 0, 0, 0, 0,0xA8AD,0xA9AC, 0,
+ 0, 0, 0, 0, 0,0xA9A1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA9A3,
+ 0, 0, 0, 0, 0, 0,0xA1C0,0xA9AA,
+ 0, 0, 0, 0, 0,0xA9AD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA9A2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA8A4,0xA9A4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA9A5,0xA8A6,0xA9A6, 0, 0, 0, 0,0xA9A7,
+ 0, 0, 0, 0, 0, 0,0xA8A8,0xA9A8,
+0xA8A9,0xA9A9, 0, 0, 0, 0, 0, 0,
+0xA9B0,0xA8AF,0xA9AF, 0, 0, 0, 0, 0,
+ 0,0xA8AB,0xA9AB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA8AE,0xA9AE};
+
+/* page 1 0x02C7-0x0451 */
+static uint16 tab_uni_ksc56011[]={
+0xA2A7, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA2B0, 0, 0, 0, 0, 0, 0,
+ 0,0xA2A8,0xA2AB,0xA2AA,0xA2AD, 0,0xA2A9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA5C1,0xA5C2,0xA5C3,0xA5C4,0xA5C5,0xA5C6,
+0xA5C7,0xA5C8,0xA5C9,0xA5CA,0xA5CB,0xA5CC,0xA5CD,0xA5CE,
+0xA5CF,0xA5D0,0xA5D1, 0,0xA5D2,0xA5D3,0xA5D4,0xA5D5,
+0xA5D6,0xA5D7,0xA5D8, 0, 0, 0, 0, 0,
+ 0, 0,0xA5E1,0xA5E2,0xA5E3,0xA5E4,0xA5E5,0xA5E6,
+0xA5E7,0xA5E8,0xA5E9,0xA5EA,0xA5EB,0xA5EC,0xA5ED,0xA5EE,
+0xA5EF,0xA5F0,0xA5F1, 0,0xA5F2,0xA5F3,0xA5F4,0xA5F5,
+0xA5F6,0xA5F7,0xA5F8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xACA7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xACA1,0xACA2,0xACA3,0xACA4,0xACA5,0xACA6,0xACA8,
+0xACA9,0xACAA,0xACAB,0xACAC,0xACAD,0xACAE,0xACAF,0xACB0,
+0xACB1,0xACB2,0xACB3,0xACB4,0xACB5,0xACB6,0xACB7,0xACB8,
+0xACB9,0xACBA,0xACBB,0xACBC,0xACBD,0xACBE,0xACBF,0xACC0,
+0xACC1,0xACD1,0xACD2,0xACD3,0xACD4,0xACD5,0xACD6,0xACD8,
+0xACD9,0xACDA,0xACDB,0xACDC,0xACDD,0xACDE,0xACDF,0xACE0,
+0xACE1,0xACE2,0xACE3,0xACE4,0xACE5,0xACE6,0xACE7,0xACE8,
+0xACE9,0xACEA,0xACEB,0xACEC,0xACED,0xACEE,0xACEF,0xACF0,
+0xACF1, 0,0xACD7};
+
+/* page 2 0x2015-0x2312 */
+static uint16 tab_uni_ksc56012[]={
+0xA1AA, 0, 0,0xA1AE,0xA1AF, 0, 0,0xA1B0,
+0xA1B1, 0, 0,0xA2D3,0xA2D4, 0, 0, 0,
+0xA1A5,0xA1A6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA2B6, 0,0xA1C7,0xA1C8, 0,
+ 0, 0, 0, 0, 0, 0,0xA1D8, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA9F9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA9FA, 0,0xA9FB,0xA9FC,0xA9FD,0xA9FE,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA1C9, 0,
+ 0, 0, 0, 0,0xA2B5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA7A4, 0,
+ 0,0xA2E0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA2E5,0xA2E2, 0, 0,
+ 0,0xA7D9, 0, 0, 0, 0,0xA1CA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA8F7,0xA8F8,
+ 0, 0, 0, 0, 0, 0,0xA8FB,0xA8FC,
+0xA8FD,0xA8FE, 0,0xA5B0,0xA5B1,0xA5B2,0xA5B3,0xA5B4,
+0xA5B5,0xA5B6,0xA5B7,0xA5B8,0xA5B9, 0, 0, 0,
+ 0, 0, 0,0xA5A1,0xA5A2,0xA5A3,0xA5A4,0xA5A5,
+0xA5A6,0xA5A7,0xA5A8,0xA5A9,0xA5AA, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA1E7,0xA1E8,0xA1E6,0xA1E9,0xA1EA,
+0xA2D5,0xA2D8,0xA2D6,0xA2D9,0xA2D7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA2A1, 0,0xA2A2,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA2A3, 0,0xA1D3,0xA2A4, 0,
+ 0, 0,0xA1D4,0xA1F4, 0, 0,0xA1F5, 0,
+ 0, 0,0xA2B3, 0,0xA2B2, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1EE, 0, 0,
+0xA1F0,0xA1C4, 0,0xA1D0, 0, 0, 0, 0,
+0xA1AB, 0,0xA1FC,0xA1FD,0xA1FB,0xA1FA,0xA1F2,0xA1F3,
+ 0,0xA2B1, 0, 0, 0, 0, 0,0xA1C5,
+0xA1F1, 0, 0, 0, 0, 0, 0,0xA1AD,
+0xA1EF, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1D6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA1C1,0xA1D5, 0, 0,0xA1C2,
+0xA1C3, 0, 0, 0, 0,0xA1EC,0xA1ED, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1F8,0xA1F9, 0,
+ 0,0xA1F6,0xA1F7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA2C1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1D1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1D2};
+
+/* page 3 0x2460-0x266D */
+static uint16 tab_uni_ksc56013[]={
+0xA8E7,0xA8E8,0xA8E9,0xA8EA,0xA8EB,0xA8EC,0xA8ED,0xA8EE,
+0xA8EF,0xA8F0,0xA8F1,0xA8F2,0xA8F3,0xA8F4,0xA8F5, 0,
+ 0, 0, 0, 0,0xA9E7,0xA9E8,0xA9E9,0xA9EA,
+0xA9EB,0xA9EC,0xA9ED,0xA9EE,0xA9EF,0xA9F0,0xA9F1,0xA9F2,
+0xA9F3,0xA9F4,0xA9F5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA9CD,0xA9CE,0xA9CF,0xA9D0,
+0xA9D1,0xA9D2,0xA9D3,0xA9D4,0xA9D5,0xA9D6,0xA9D7,0xA9D8,
+0xA9D9,0xA9DA,0xA9DB,0xA9DC,0xA9DD,0xA9DE,0xA9DF,0xA9E0,
+0xA9E1,0xA9E2,0xA9E3,0xA9E4,0xA9E5,0xA9E6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA8CD,0xA8CE,0xA8CF,0xA8D0,0xA8D1,0xA8D2,0xA8D3,0xA8D4,
+0xA8D5,0xA8D6,0xA8D7,0xA8D8,0xA8D9,0xA8DA,0xA8DB,0xA8DC,
+0xA8DD,0xA8DE,0xA8DF,0xA8E0,0xA8E1,0xA8E2,0xA8E3,0xA8E4,
+0xA8E5,0xA8E6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA6A1,0xA6AC,0xA6A2,0xA6AD, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA6A3,0xA6C8,0xA6C7,0xA6AE,
+0xA6A4,0xA6C2,0xA6C1,0xA6AF,0xA6A6,0xA6C6,0xA6C5,0xA6B1,
+0xA6A5,0xA6C4,0xA6C3,0xA6B0,0xA6A7,0xA6BC,0xA6C9,0xA6CA,
+0xA6B7,0xA6CB,0xA6CC,0xA6B2,0xA6A9,0xA6BE,0xA6CD,0xA6CE,
+0xA6B9,0xA6CF,0xA6D0,0xA6B4,0xA6A8,0xA6D1,0xA6D2,0xA6B8,
+0xA6BD,0xA6D3,0xA6D4,0xA6B3,0xA6AA,0xA6D5,0xA6D6,0xA6BA,
+0xA6BF,0xA6D7,0xA6D8,0xA6B5,0xA6AB,0xA6D9,0xA6DA,0xA6BB,
+0xA6DB,0xA6DC,0xA6C0,0xA6DD,0xA6DE,0xA6DF,0xA6E0,0xA6E1,
+0xA6E2,0xA6E3,0xA6E4,0xA6B6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA2C6, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1E1,0xA1E0, 0,0xA2C3,0xA2C7,0xA2C8,0xA2CB,0xA2CA,
+0xA2C9,0xA2CC, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA1E3,0xA1E2, 0, 0,0xA2BA,0xA2B9,
+ 0, 0, 0, 0,0xA1E5,0xA1E4, 0, 0,
+0xA2B8,0xA2B7, 0, 0, 0, 0,0xA1DF,0xA1DE,
+0xA2C2, 0, 0,0xA1DB, 0, 0,0xA1DD,0xA1DC,
+0xA2C4,0xA2C5, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1DA,0xA1D9, 0,
+ 0, 0, 0, 0, 0, 0,0xA2CF,0xA2CE,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA2D0, 0,0xA2D1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1CF, 0,0xA1CE, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA2BC,0xA2BD, 0,0xA2C0,0xA2BB,0xA2BE, 0,0xA2BF,
+0xA2CD,0xA2DB,0xA2DC, 0,0xA2DD,0xA2DA};
+
+/* page 4 0x3000-0x327F */
+static uint16 tab_uni_ksc56014[]={
+0xA1A1,0xA1A2,0xA1A3,0xA1A8, 0, 0, 0, 0,
+0xA1B4,0xA1B5,0xA1B6,0xA1B7,0xA1B8,0xA1B9,0xA1BA,0xA1BB,
+0xA1BC,0xA1BD, 0,0xA1EB,0xA1B2,0xA1B3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xAAA1,0xAAA2,0xAAA3,0xAAA4,0xAAA5,0xAAA6,0xAAA7,
+0xAAA8,0xAAA9,0xAAAA,0xAAAB,0xAAAC,0xAAAD,0xAAAE,0xAAAF,
+0xAAB0,0xAAB1,0xAAB2,0xAAB3,0xAAB4,0xAAB5,0xAAB6,0xAAB7,
+0xAAB8,0xAAB9,0xAABA,0xAABB,0xAABC,0xAABD,0xAABE,0xAABF,
+0xAAC0,0xAAC1,0xAAC2,0xAAC3,0xAAC4,0xAAC5,0xAAC6,0xAAC7,
+0xAAC8,0xAAC9,0xAACA,0xAACB,0xAACC,0xAACD,0xAACE,0xAACF,
+0xAAD0,0xAAD1,0xAAD2,0xAAD3,0xAAD4,0xAAD5,0xAAD6,0xAAD7,
+0xAAD8,0xAAD9,0xAADA,0xAADB,0xAADC,0xAADD,0xAADE,0xAADF,
+0xAAE0,0xAAE1,0xAAE2,0xAAE3,0xAAE4,0xAAE5,0xAAE6,0xAAE7,
+0xAAE8,0xAAE9,0xAAEA,0xAAEB,0xAAEC,0xAAED,0xAAEE,0xAAEF,
+0xAAF0,0xAAF1,0xAAF2,0xAAF3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xABA1,0xABA2,0xABA3,0xABA4,0xABA5,0xABA6,0xABA7,
+0xABA8,0xABA9,0xABAA,0xABAB,0xABAC,0xABAD,0xABAE,0xABAF,
+0xABB0,0xABB1,0xABB2,0xABB3,0xABB4,0xABB5,0xABB6,0xABB7,
+0xABB8,0xABB9,0xABBA,0xABBB,0xABBC,0xABBD,0xABBE,0xABBF,
+0xABC0,0xABC1,0xABC2,0xABC3,0xABC4,0xABC5,0xABC6,0xABC7,
+0xABC8,0xABC9,0xABCA,0xABCB,0xABCC,0xABCD,0xABCE,0xABCF,
+0xABD0,0xABD1,0xABD2,0xABD3,0xABD4,0xABD5,0xABD6,0xABD7,
+0xABD8,0xABD9,0xABDA,0xABDB,0xABDC,0xABDD,0xABDE,0xABDF,
+0xABE0,0xABE1,0xABE2,0xABE3,0xABE4,0xABE5,0xABE6,0xABE7,
+0xABE8,0xABE9,0xABEA,0xABEB,0xABEC,0xABED,0xABEE,0xABEF,
+0xABF0,0xABF1,0xABF2,0xABF3,0xABF4,0xABF5,0xABF6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA4A1,0xA4A2,0xA4A3,0xA4A4,0xA4A5,0xA4A6,0xA4A7,
+0xA4A8,0xA4A9,0xA4AA,0xA4AB,0xA4AC,0xA4AD,0xA4AE,0xA4AF,
+0xA4B0,0xA4B1,0xA4B2,0xA4B3,0xA4B4,0xA4B5,0xA4B6,0xA4B7,
+0xA4B8,0xA4B9,0xA4BA,0xA4BB,0xA4BC,0xA4BD,0xA4BE,0xA4BF,
+0xA4C0,0xA4C1,0xA4C2,0xA4C3,0xA4C4,0xA4C5,0xA4C6,0xA4C7,
+0xA4C8,0xA4C9,0xA4CA,0xA4CB,0xA4CC,0xA4CD,0xA4CE,0xA4CF,
+0xA4D0,0xA4D1,0xA4D2,0xA4D3,0xA4D4,0xA4D5,0xA4D6,0xA4D7,
+0xA4D8,0xA4D9,0xA4DA,0xA4DB,0xA4DC,0xA4DD,0xA4DE,0xA4DF,
+0xA4E0,0xA4E1,0xA4E2,0xA4E3,0xA4E4,0xA4E5,0xA4E6,0xA4E7,
+0xA4E8,0xA4E9,0xA4EA,0xA4EB,0xA4EC,0xA4ED,0xA4EE,0xA4EF,
+0xA4F0,0xA4F1,0xA4F2,0xA4F3,0xA4F4,0xA4F5,0xA4F6,0xA4F7,
+0xA4F8,0xA4F9,0xA4FA,0xA4FB,0xA4FC,0xA4FD,0xA4FE, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA9B1,0xA9B2,0xA9B3,0xA9B4,0xA9B5,0xA9B6,0xA9B7,0xA9B8,
+0xA9B9,0xA9BA,0xA9BB,0xA9BC,0xA9BD,0xA9BE,0xA9BF,0xA9C0,
+0xA9C1,0xA9C2,0xA9C3,0xA9C4,0xA9C5,0xA9C6,0xA9C7,0xA9C8,
+0xA9C9,0xA9CA,0xA9CB,0xA9CC,0xA2DF, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA8B1,0xA8B2,0xA8B3,0xA8B4,0xA8B5,0xA8B6,0xA8B7,0xA8B8,
+0xA8B9,0xA8BA,0xA8BB,0xA8BC,0xA8BD,0xA8BE,0xA8BF,0xA8C0,
+0xA8C1,0xA8C2,0xA8C3,0xA8C4,0xA8C5,0xA8C6,0xA8C7,0xA8C8,
+0xA8C9,0xA8CA,0xA8CB,0xA8CC, 0, 0, 0,0xA2DE
+};
+
+/* page 5 0x3380-0x33DD */
+static uint16 tab_uni_ksc56015[]={
+0xA7C9,0xA7CA,0xA7CB,0xA7CC,0xA7CD, 0, 0, 0,
+0xA7BA,0xA7BB,0xA7DC,0xA7DD,0xA7DE,0xA7B6,0xA7B7,0xA7B8,
+0xA7D4,0xA7D5,0xA7D6,0xA7D7,0xA7D8,0xA7A1,0xA7A2,0xA7A3,
+0xA7A5,0xA7AB,0xA7AC,0xA7AD,0xA7AE,0xA7AF,0xA7B0,0xA7B1,
+0xA7B2,0xA7B3,0xA7B4,0xA7A7,0xA7A8,0xA7A9,0xA7AA,0xA7BD,
+0xA7BE,0xA7E5,0xA7E6,0xA7E7,0xA7E8,0xA7E1,0xA7E2,0xA7E3,
+0xA7BF,0xA7C0,0xA7C1,0xA7C2,0xA7C3,0xA7C4,0xA7C5,0xA7C6,
+0xA7C7,0xA7C8,0xA7CE,0xA7CF,0xA7D0,0xA7D1,0xA7D2,0xA7D3,
+0xA7DA,0xA7DB,0xA2E3,0xA7EC,0xA7A6,0xA7E0,0xA7EF,0xA2E1,
+0xA7BC,0xA7ED,0xA7B5, 0, 0, 0, 0,0xA7B9,
+0xA7EA, 0, 0,0xA7EB, 0, 0,0xA7DF, 0,
+0xA2E4, 0, 0,0xA7E4,0xA7EE,0xA7E9};
+
+/* page 6 0x4E00-0x947F */
+static uint16 tab_uni_ksc56016[]={
+0xECE9,0xEFCB, 0,0xF6D2, 0, 0, 0,0xD8B2,
+0xEDDB,0xDFB2,0xDFBE,0xF9BB, 0,0xDCF4, 0, 0,
+ 0,0xF5E4, 0, 0,0xF3A6,0xDDE0,0xE1A6, 0,
+0xCEF8,0xDCB0, 0, 0, 0, 0,0xE3AA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF1E9, 0, 0,
+ 0, 0,0xCDFA, 0, 0, 0, 0, 0,
+0xFCAF,0xD3A1, 0,0xF1AB, 0, 0, 0, 0,
+ 0, 0,0xE7D1,0xD2AC, 0,0xCEF9, 0, 0,
+ 0, 0, 0,0xF1FD, 0,0xDEBF,0xFBBA,0xF9B9,
+ 0, 0, 0, 0, 0, 0,0xCED2, 0,
+0xE3AB,0xEBE0, 0, 0, 0,0xCEFA,0xCBF7,0xE5A5,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xCAE1, 0,0xD4CC, 0, 0,
+ 0, 0, 0,0xEAE1, 0, 0,0xDCE3,0xDFAD,
+ 0, 0, 0, 0, 0, 0,0xCBEB, 0,
+ 0, 0,0xD5AF, 0, 0, 0,0xD6F5, 0,
+0xE5F8, 0, 0,0xDEC0,0xECA3, 0,0xE9CD, 0,
+0xEAA7,0xE9F6,0xFBBB, 0,0xE7E9,0xEFCC, 0, 0,
+0xD0E6, 0, 0,0xDEC1, 0, 0,0xE4AC, 0,
+ 0,0xD8CC,0xF9F1, 0,0xCEDF,0xFAA4,0xE6B2, 0,
+0xFAFB, 0, 0,0xFABD,0xCCC8,0xEFCD,0xD5D5, 0,
+ 0, 0, 0, 0, 0, 0,0xD3A2, 0,
+ 0, 0,0xECD1, 0, 0, 0, 0, 0,
+0xE4A7,0xECD2, 0, 0,0xF6B1, 0, 0,0xCEFB,
+ 0, 0,0xD0D1,0xCBBF, 0,0xEDA4, 0, 0,
+ 0, 0, 0, 0,0xEDA8,0xDEC2,0xF6E2,0xEDDC,
+0xDCF5,0xE0B9, 0, 0, 0,0xD4CE, 0,0xF4B5,
+ 0, 0, 0,0xD3DB,0xD6B5,0xECA4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE4E6, 0,0xF1EA, 0, 0, 0,0xCBEC,0xCBC0,
+ 0, 0, 0,0xECF2, 0, 0, 0, 0,
+ 0,0xD0EA, 0, 0, 0, 0, 0, 0,
+ 0,0xF9F2,0xECA5,0xD0DF, 0,0xE7EA,0xD0EB,0xDCD1,
+0xDBE9,0xFDCC, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xDBD7,
+ 0, 0, 0, 0,0xDAE1, 0,0xD6B6, 0,
+0xE3DF, 0,0xDEC3, 0,0xDEC4,0xCAA1, 0, 0,
+ 0, 0, 0,0xEEEC, 0, 0,0xD3A3,0xEEB7,
+0xF8CF, 0, 0, 0, 0,0xEAC8,0xEEB8,0xF1AC,
+0xF1A5,0xE9CE, 0, 0, 0,0xF9BC, 0, 0,
+ 0,0xE5F9,0xECEA,0xDDD6,0xEDC2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF8A5, 0, 0, 0, 0, 0,0xE5BA,
+0xDBD8, 0, 0,0xCAA2, 0, 0,0xD1CD, 0,
+ 0, 0,0xEEED, 0, 0, 0,0xECEB,0xDEC5,
+ 0,0xE3E0, 0,0xCAC9,0xF2E9, 0,0xD5CE, 0,
+0xF6B6, 0,0xCEC2,0xD6C7, 0,0xE3B4, 0,0xF1AD,
+ 0,0xEAE2, 0, 0, 0, 0,0xD7C2, 0,
+0xF3A7, 0, 0,0xCDEA, 0,0xEBEE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD9B2,0xFDA5,
+ 0, 0, 0, 0, 0,0xF6D5,0xD5E2, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xF8B5,
+ 0, 0,0xCCF5,0xF5B5,0xE4AD, 0, 0, 0,
+ 0,0xE7EB,0xF1D5, 0, 0, 0,0xF0BB, 0,
+ 0,0xE9B5, 0,0xCCC9,0xFAD5, 0, 0,0xE1D4,
+ 0, 0,0xD7D6, 0, 0,0xDCC1, 0,0xDEC6,
+0xFAEF,0xE3E1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE1F3,0xDCF6,
+ 0,0xCEFC, 0,0xDBC4, 0,0xF8F1, 0, 0,
+0xDCE4, 0,0xE5EF, 0, 0, 0, 0, 0,
+ 0, 0,0xDCB1, 0, 0, 0,0xD5D6, 0,
+ 0,0xF3DA, 0,0xCBC1, 0,0xDBC3, 0, 0,
+ 0,0xD9FA,0xD3EE, 0, 0, 0,0xFAB8, 0,
+ 0,0xFDA6,0xEBEF, 0,0xF4A6, 0,0xCCCA,0xF3A8,
+ 0,0xF3DB, 0,0xDBA7,0xF6B7, 0,0xCFE6,0xF0F2,
+0xCBDA, 0,0xE7D2,0xD7C3,0xF6F0,0xE8DE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE5A6, 0, 0, 0, 0,
+ 0, 0, 0,0xE5E7, 0, 0, 0,0xCAA3,
+0xCCA7,0xEAC9, 0, 0, 0, 0, 0,0xF8B6,
+ 0, 0, 0, 0, 0,0xFAA5, 0, 0,
+ 0, 0,0xF1AE, 0,0xEFCE, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xCBED, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF6B0,0xEFCF,0xE9CF, 0,
+0xF7DE, 0, 0, 0, 0, 0, 0, 0,
+0xCED3, 0, 0, 0, 0,0xDCF7, 0, 0,
+ 0, 0, 0, 0, 0,0xDBA8, 0, 0,
+ 0,0xCBF8, 0, 0, 0, 0, 0, 0,
+0xDFA1,0xDDE1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF5CA,0xE9B6, 0, 0,
+ 0, 0,0xE7EC,0xEEEE, 0,0xF3F0, 0,0xDFBF,
+ 0, 0, 0, 0, 0, 0,0xCCCB, 0,
+ 0, 0, 0, 0, 0,0xD0C1, 0, 0,
+ 0,0xF4D2,0xE0BA, 0, 0, 0, 0,0xDFC0,
+ 0,0xCEE0, 0, 0, 0,0xDCD2,0xFDEA, 0,
+ 0, 0,0xD6F6, 0, 0, 0,0xEACA, 0,
+ 0, 0, 0, 0, 0,0xE8E9, 0,0xE3AC,
+ 0, 0, 0, 0, 0,0xF3D0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCAA4, 0,0xDBF8, 0, 0, 0,0xDEC7,
+0xEBF0,0xF1D6, 0, 0,0xE5E2, 0,0xCCCC, 0,
+ 0,0xCBFB, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xEAE3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xDFC1,
+ 0,0xD6ED, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE9D0, 0, 0, 0, 0, 0,
+ 0, 0,0xEEB9, 0, 0, 0, 0,0xD5E3,
+ 0, 0,0xD1D3, 0,0xE5F0, 0, 0, 0,
+0xE8B4,0xEBC3, 0,0xEAAA,0xFAFC,0xF5F6,0xF0BC,0xFDD4,
+0xE0BB,0xCEC3, 0,0xD0BA,0xF7BA,0xD8F3,0xF7CD, 0,
+ 0, 0,0xE4AE, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xD4DF, 0, 0, 0,
+ 0, 0,0xD0E7, 0, 0,0xECFD, 0,0xD2AE,
+0xEEEF,0xD5D7,0xEAE4,0xF8A2,0xCDEB,0xD7BF,0xFBB1, 0,
+ 0,0xCDEC, 0, 0, 0,0xDCB2,0xD0EC,0xCEFD,
+0xEEF0, 0, 0, 0,0xCCC2, 0, 0, 0,
+0xD0ED, 0, 0, 0, 0, 0,0xE5F7, 0,
+ 0, 0,0xF3FC, 0, 0,0xEEA2, 0, 0,
+ 0, 0,0xD9B3, 0, 0,0xD8F4, 0,0xE9B7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCEAE, 0, 0, 0, 0,0xD9A2, 0, 0,
+ 0, 0,0xD8F1, 0,0xD4CF, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE5A7,0xD5D2,
+ 0, 0, 0, 0, 0,0xD6A9, 0, 0,
+ 0, 0, 0, 0,0xF4A2, 0,0xF1D7, 0,
+ 0,0xD5D8, 0,0xF0BD,0xD7D0,0xD4D0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xD7CF,0xEBEA,0xFDEB, 0,
+ 0,0xDBED, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFCC5,0xCBC2, 0, 0, 0, 0,0xFDD5, 0,
+0xF4C8,0xE8EA,0xF5F3, 0, 0,0xF9DE, 0, 0,
+0xD3EF, 0, 0,0xECD3, 0, 0,0xDDC2,0xEFB7,
+0xE7D4, 0,0xCACA, 0, 0, 0,0xD9FB, 0,
+ 0,0xFAFD, 0, 0, 0, 0, 0,0xD6AA,
+ 0, 0, 0, 0, 0,0xF4F8, 0, 0,
+ 0, 0, 0, 0,0xF7F7,0xDCAC, 0, 0,
+ 0,0xD7D7,0xDFA2, 0, 0, 0,0xCEBE, 0,
+0xD3F0, 0, 0, 0, 0, 0,0xF0A4,0xE1EC,
+0xCFE7,0xF3CB,0xEDA9,0xCABE, 0, 0, 0, 0,
+ 0, 0, 0,0xF4EF, 0, 0, 0,0xF6CE,
+ 0, 0,0xDEFB,0xD0BB,0xD5B7,0xEEF1, 0, 0,
+ 0, 0, 0, 0,0xF4A8, 0,0xDCF8, 0,
+ 0, 0, 0,0xCBA7, 0,0xDACE, 0, 0,
+ 0,0xE0E6, 0, 0, 0, 0, 0, 0,
+ 0,0xEDA5,0xEEF2, 0, 0, 0, 0,0xDCF9,
+ 0, 0,0xF9DC, 0, 0,0xF3DC, 0, 0,
+ 0, 0, 0, 0, 0,0xF8F2, 0,0xF4F9,
+ 0, 0, 0,0xFCF1, 0, 0, 0,0xD0BC,
+0xDBF9,0xD7B1, 0, 0, 0,0xCBFC, 0, 0,
+ 0,0xF0A5,0xCBFD, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD5F4, 0, 0, 0,0xCDED,
+0xCAA5, 0, 0,0xD6AB,0xD0C2, 0, 0, 0,
+ 0,0xF0BE,0xD2BD,0xCCA4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xFAB6, 0,
+ 0,0xCCCD, 0,0xDAFA, 0,0xF6CF, 0,0xE9B8,
+ 0,0xD8F5, 0, 0, 0,0xCCCE, 0, 0,
+ 0, 0,0xD7CD, 0, 0,0xD4D1,0xE9ED, 0,
+0xCAEB,0xD9E2, 0,0xFDB2, 0,0xE3AD,0xD6CC,0xD9B4,
+ 0, 0,0xE1A7,0xEED3,0xD0C3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xFDB3, 0,0xD5E4, 0, 0,
+0xCFE8, 0,0xEDC3,0xD0B2, 0, 0,0xCEFE,0xDAA8,
+ 0, 0, 0, 0, 0,0xF8D0, 0, 0,
+0xFDD6, 0, 0, 0, 0,0xF8D1, 0,0xF8D2,
+0xDCD3, 0, 0, 0, 0,0xDDE2,0xFBF9,0xDDC1,
+ 0,0xE3B5, 0, 0, 0, 0, 0, 0,
+0xEDDD,0xCEC4, 0,0xCBA1, 0, 0, 0, 0,
+ 0, 0,0xDDE3, 0, 0, 0, 0,0xFCDD,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF9AF, 0, 0, 0, 0, 0,0xD2FB,
+0xCFA1,0xE4A8, 0,0xF4B6,0xECFE, 0, 0,0xE3AE,
+0xE7ED,0xFDC1,0xDAE2, 0, 0,0xD8B3, 0, 0,
+ 0,0xDDE4,0xF0EF,0xF6F1,0xFAF0, 0, 0,0xD1F5,
+ 0, 0,0xDACF, 0,0xDCD4, 0,0xDCA6, 0,
+0xEFBF, 0, 0, 0, 0, 0,0xCECF, 0,
+0xE0D9, 0, 0, 0, 0, 0, 0,0xD9D6,
+0xECD4,0xEACB, 0, 0,0xCABF,0xD5B0, 0,0xCFE9,
+ 0, 0, 0, 0, 0,0xF1ED, 0,0xCCCF,
+ 0, 0, 0, 0,0xE4F8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE4ED, 0, 0, 0, 0,
+0xD7D8, 0,0xFDA7, 0, 0, 0, 0,0xEAAB,
+0xF6B2, 0, 0, 0, 0,0xCFF0,0xF9BD, 0,
+ 0, 0, 0, 0, 0,0xE6F4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xCBDB, 0, 0, 0, 0,
+ 0, 0, 0,0xF3D1, 0, 0, 0, 0,
+0xE9D1,0xF3A9,0xD0E0,0xE9D2, 0,0xDAE3, 0, 0,
+ 0, 0, 0, 0,0xE2D2, 0,0xF6A2,0xE1F4,
+ 0, 0, 0,0xDAE4, 0, 0, 0, 0,
+ 0,0xE7D5,0xF5BF,0xCFA2,0xCDAF,0xCFA3, 0, 0,
+ 0,0xCDB0,0xF1FE,0xD0A3,0xE1AF,0xF8A3, 0,0xCAA6,
+0xF7BB,0xF2EA,0xDEC8,0xE9D3, 0, 0, 0, 0,
+0xDEC9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xFDDE,0xCAC0, 0, 0, 0,
+0xF9EA,0xD1CE,0xEED4, 0,0xD4D2,0xD9A3,0xFDA8,0xD7D9,
+0xF7CE,0xFABE, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xCFD6, 0,0xD7F0, 0,0xEBE1,
+0xF8C5, 0, 0, 0, 0, 0,0xDCFA, 0,
+ 0,0xDDC3, 0,0xF9DF, 0, 0, 0, 0,
+ 0, 0, 0,0xE7EF, 0, 0, 0, 0,
+0xFDE5,0xF6A3, 0,0xD9FC,0xFDA9, 0,0xE7EE, 0,
+ 0, 0,0xD5E5, 0, 0, 0, 0, 0,
+0xEFD0, 0,0xCDB1, 0, 0, 0, 0, 0,
+ 0,0xF7A2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF1B2, 0,0xF1B1, 0, 0, 0, 0, 0,
+ 0,0xCDB2, 0,0xDAAB, 0,0xCAA7, 0, 0,
+ 0, 0, 0,0xE3E2,0xFBBC,0xD9A4, 0, 0,
+0xEEBA, 0, 0, 0, 0, 0,0xF8D3, 0,
+ 0, 0, 0, 0,0xFBFA, 0,0xCFA4, 0,
+0xDCFB, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF6E3, 0, 0, 0,
+0xEDAA, 0, 0,0xF2A1,0xCEE1, 0, 0, 0,
+ 0, 0, 0,0xFAA6, 0, 0, 0, 0,
+0xF9E0, 0, 0, 0, 0,0xECD6, 0, 0,
+0xE4EE,0xF9A1, 0, 0,0xFBEF, 0, 0, 0,
+0xF9EB,0xEEA3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xEAAC, 0, 0, 0,0xCAA8, 0, 0,
+0xF4FA, 0, 0, 0, 0,0xCDD6,0xFCF6, 0,
+ 0, 0,0xF4C9, 0, 0, 0, 0, 0,
+ 0, 0,0xF8D4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF8A6, 0,0xDECA,0xF2C6,
+ 0, 0, 0, 0, 0, 0,0xD7DA, 0,
+0xD3D0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xD8C5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xEAE6,
+ 0,0xF3DD, 0, 0, 0,0xE4DA, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF6E4, 0,
+ 0, 0, 0, 0,0xF6F2, 0,0xDFC2, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD9FD,
+ 0, 0, 0,0xCCF6, 0, 0,0xD3BA, 0,
+ 0, 0, 0, 0, 0, 0,0xE4AF, 0,
+ 0, 0, 0,0xF9E1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF0A6, 0, 0, 0,
+0xCBD3, 0, 0, 0,0xE0BC, 0,0xF4CA,0xD4FA,
+ 0,0xFDAA,0xF9E2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF4B7,0xFDC2,0xFCB0, 0,0xFDEC,0xCAE2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xFDBD,
+ 0,0xEAE7,0xDFC3,0xD1D2,0xCEE2, 0,0xD3A4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xFDAB, 0,0xDFE0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF2C7, 0, 0, 0,
+ 0, 0,0xE7F0, 0,0xD0EE, 0, 0,0xF3AA,
+ 0, 0, 0,0xDECB,0xF6B8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE1F5,0xF1B3, 0,
+ 0, 0, 0, 0, 0, 0,0xF7A3, 0,
+ 0,0xCAA9, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xCFA5, 0, 0,0xDFC4,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE1B0,
+ 0, 0,0xF0BF, 0,0xF6A4, 0,0xE3B6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xFAC6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD0EF, 0, 0,0xFDED, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDDC4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xFCF7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE6BF, 0, 0,
+ 0, 0, 0, 0,0xDEAD, 0,0xFABF, 0,
+ 0, 0, 0, 0,0xE5F1, 0, 0, 0,
+ 0, 0, 0, 0,0xEDC4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD2A5, 0, 0,0xFDEE, 0, 0,
+ 0,0xF5B6, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE1F6,0xDECC, 0, 0,0xFCDE, 0,
+0xECD7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCDDD, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xD6B7,0xCDB3, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF8D5,0xE5D8, 0, 0, 0,
+0xCFEA, 0, 0,0xCFD0, 0,0xEACC, 0, 0,
+ 0, 0,0xEAAE,0xEAAD, 0, 0,0xD3F1, 0,
+0xD3A5, 0, 0, 0, 0, 0, 0,0xF7CF,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEEA4, 0, 0, 0, 0,0xD0A4, 0, 0,
+0xF2A2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD0F0, 0, 0, 0, 0,
+0xF2A3, 0,0xF7F8, 0, 0, 0, 0,0xD0B3,
+ 0, 0,0xDBA9, 0, 0,0xD3BB,0xCAEC, 0,
+0xF1A6,0xCBD5, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF7E7, 0, 0,0xCDDE, 0,0xF7A4, 0,
+ 0, 0,0xF8C0, 0, 0, 0,0xD3DD, 0,
+0xCCD0, 0, 0, 0, 0,0xCFA6, 0, 0,
+ 0, 0, 0, 0,0xF6F3, 0, 0, 0,
+ 0, 0,0xE1F7, 0, 0, 0, 0, 0,
+0xD3DC, 0, 0,0xFAFE, 0, 0, 0, 0,
+ 0, 0, 0,0xFAA7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEBD9, 0,0xCFA7,0xEAAF, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE4EF, 0, 0, 0,0xE9B9,
+0xF1D8, 0, 0,0xD8D8, 0, 0,0xE0F2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE6B4,
+0xDCFC, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF3F1, 0, 0, 0,0xE3D0, 0, 0,0xF2FB,
+ 0,0xDBC6,0xD0F1, 0,0xD0F2, 0, 0, 0,
+0xCFDC, 0,0xD3D1, 0, 0,0xCCB1,0xF7D8, 0,
+0xCBA8,0xEBBC,0xE4BE, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF4DC, 0,
+ 0,0xDCC2, 0, 0,0xF0A7, 0, 0,0xE6C0,
+ 0, 0,0xCAED, 0, 0, 0, 0,0xE8EB,
+0xE5E8,0xDCC3, 0, 0,0xEDDE,0xD3F2, 0, 0,
+ 0, 0,0xCCF7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xCED4,0xE7AB, 0, 0, 0,0xCBC3,
+ 0,0xE1B1, 0, 0,0xF7B2, 0, 0,0xD3F3,
+0xD3D2, 0,0xF5C0, 0, 0, 0,0xDFDD, 0,
+ 0,0xEEF3,0xE7F1, 0,0xFDB4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF2C8, 0, 0,
+ 0,0xF3D2, 0, 0,0xEEF4, 0,0xE2D3, 0,
+ 0, 0, 0,0xCCD1, 0,0xDFEA, 0, 0,
+ 0,0xE9BA, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD9D7, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF5CD, 0,0xF1F2,0xFAC7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD9F8,0xD4C2, 0, 0, 0, 0,0xF6E5, 0,
+ 0, 0, 0,0xDDC5, 0, 0, 0, 0,
+ 0, 0,0xE7F2,0xEDDF, 0, 0,0xCACB, 0,
+ 0,0xDBFA, 0, 0, 0,0xE8B5, 0,0xD3A6,
+ 0, 0, 0, 0, 0, 0,0xFDB5, 0,
+ 0,0xF9C9, 0,0xE4E2, 0,0xFBBD, 0, 0,
+0xD7A4,0xCEC5, 0, 0, 0, 0,0xCED5,0xD6E6,
+ 0, 0, 0, 0,0xE5BD, 0, 0, 0,
+ 0, 0, 0,0xDECD,0xECF3, 0, 0,0xEDE0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xECEC,0xFBBE,0xDFEB, 0,0xE1F8, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xF9BE,
+ 0, 0, 0, 0,0xD0F3,0xE0AA,0xE8E2, 0,
+ 0,0xE2D4,0xD2FD, 0,0xE5A8, 0, 0, 0,
+ 0, 0,0xD9D3, 0, 0, 0, 0,0xD3DE,
+ 0,0xF4B8,0xF7BC,0xDCFD, 0,0xE8EC,0xE4E7, 0,
+ 0,0xE3F7, 0, 0, 0, 0, 0,0xECA8,
+ 0, 0, 0, 0, 0, 0,0xFAF1, 0,
+ 0, 0, 0, 0,0xE5F2, 0, 0,0xD0F4,
+0xD2AF,0xDCE5, 0, 0, 0, 0,0xD0A5,0xF1B4,
+0xFCB1,0xCCF8, 0, 0,0xDDC6,0xFAD1, 0,0xF7DF,
+ 0, 0,0xFAA8, 0, 0, 0, 0, 0,
+0xEEF5, 0,0xDECE, 0, 0, 0, 0,0xE7F3,
+ 0, 0,0xF7AC,0xEBC4,0xEDE1,0xE0AB,0xDDC7, 0,
+ 0, 0, 0,0xD2B3,0xD2BF, 0, 0, 0,
+0xCACC, 0, 0, 0, 0,0xFBBF, 0, 0,
+ 0, 0,0xE5FD,0xDDE5,0xD8CD, 0, 0, 0,
+ 0, 0,0xECF4, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD0F5, 0, 0,0xE8ED,0xD0D2,
+ 0,0xD9D8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF6E6, 0, 0,
+0xDBAA, 0, 0, 0,0xF7E0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xD8D9, 0,0xF4A3, 0, 0,0xF4DD, 0,
+ 0, 0, 0,0xEFD1, 0, 0,0xD9B5, 0,
+ 0,0xEDAB, 0,0xE3B7, 0, 0, 0, 0,
+0xEEBB,0xCDB4, 0,0xE0F3,0xEACD, 0, 0, 0,
+ 0,0xECF5,0xE8EE, 0,0xCBA9,0xF1AF, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xCACD, 0,
+0xECA9, 0,0xF2EB, 0,0xFDEF, 0,0xF9F3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE6C1, 0, 0,0xECD8, 0, 0, 0,0xEDAC,
+ 0,0xEACE, 0,0xE8DF, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xDECF, 0, 0, 0, 0, 0, 0,
+0xD2A6, 0, 0,0xE7F4,0xD1D6, 0, 0,0xE6C2,
+0xE3E3, 0, 0, 0, 0,0xE4B0, 0, 0,
+ 0,0xD8B4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF6A5, 0,
+ 0, 0, 0, 0,0xF3DE, 0, 0, 0,
+ 0,0xD7A5, 0, 0, 0, 0,0xF7E8, 0,
+ 0,0xE8C6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xFBE6, 0, 0, 0, 0, 0,
+ 0, 0,0xDDE6, 0, 0, 0,0xDCFE, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD8DA, 0, 0, 0, 0, 0,
+ 0, 0,0xDAAC,0xEAB0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE3B8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCAAA,0xE1F9, 0,0xEAB1, 0, 0, 0,
+ 0,0xF2EC, 0, 0,0xFAEE, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xEED5, 0, 0, 0, 0,0xF9F4, 0,
+ 0,0xD2EC, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xFBFB, 0, 0,
+ 0,0xFDF0, 0,0xE0BD,0xCEE3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF8C6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xDEAE, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xDFC5, 0, 0,0xE5BE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEDAD,0xFAEA, 0, 0,0xCDEE,0xEDA6, 0,0xEDAE,
+0xF0ED, 0,0xDDA1, 0,0xEDAF,0xFCF8, 0,0xD8EB,
+ 0, 0, 0,0xCCF9,0xCDB5, 0, 0, 0,
+ 0,0xFAA9, 0,0xE1DD, 0, 0, 0, 0,
+0xE2D5,0xEDCF, 0, 0, 0,0xDDA2, 0, 0,
+0xF9CA, 0,0xEAE8, 0,0xE5ED, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD3EB, 0,0xE9D4,
+0xE1FA,0xE4CC, 0,0xE1E4,0xE8C7, 0, 0,0xCEDB,
+ 0, 0, 0,0xDCD5, 0,0xF7B5,0xFCF3,0xF0F3,
+0xCEAF,0xF1B5,0xEFD2,0xE8C8,0xEBF1, 0, 0, 0,
+ 0, 0,0xCBD4,0xE0BE,0xE3F8,0xEAE9,0xFCB2, 0,
+ 0, 0, 0, 0,0xE0F4, 0,0xCFE0, 0,
+0xEEA5, 0, 0,0xFAAA,0xE6C3,0xE1B2,0xCAAB, 0,
+0xE3E4,0xE9BB, 0, 0, 0, 0, 0,0xE2D6,
+0xF3F2, 0,0xEED6,0xEAB2,0xD0F6,0xECD9,0xDACB,0xCFA8,
+ 0, 0, 0, 0,0xDDA3, 0, 0, 0,
+0xD8DB, 0,0xF9CE,0xE9D5,0xE3D1, 0, 0,0xD2BC,
+ 0, 0, 0, 0, 0, 0,0xD8AC,0xF3CC,
+ 0,0xCDFB,0xF6D6, 0,0xE7F5,0xE8EF,0xE3F9,0xD2BB,
+0xF3F3,0xE3FB, 0,0xDED0,0xCEB0, 0,0xD6F7,0xF1D9,
+ 0, 0, 0, 0, 0,0xF5C1,0xDCC4, 0,
+0xF5BB, 0,0xDED1, 0, 0, 0, 0, 0,
+ 0,0xDCE6, 0, 0,0xDED2, 0, 0,0xEDE2,
+0xEEF6,0xEACF,0xF0EE,0xE3FC, 0,0xD3DF,0xD3F4,0xE1B3,
+ 0,0xE1B4, 0, 0, 0, 0,0xF4D3, 0,
+ 0,0xDFC6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE9D6, 0, 0, 0,
+0xDBAB, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF6A6, 0, 0, 0, 0, 0, 0,
+0xE3B9,0xEBC5,0xF4A9,0xCDB6,0xD2F9, 0,0xDAAD,0xD2E3,
+0xCFD1, 0, 0, 0, 0,0xCBDC,0xCCFA, 0,
+0xCFDD, 0, 0,0xE8A9, 0,0xE3BB,0xE3BA, 0,
+ 0,0xE0DA, 0, 0, 0,0xEEF7, 0, 0,
+ 0, 0, 0,0xDCB3, 0, 0, 0, 0,
+0xD3F5, 0,0xD7A6, 0,0xF6B5,0xD7DB, 0, 0,
+ 0, 0, 0, 0,0xE1D5, 0, 0,0xD4EA,
+ 0,0xDFA3, 0, 0, 0, 0, 0, 0,
+ 0,0xFDDF, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD0F7,0xEDD4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCBAA, 0, 0, 0, 0, 0, 0,
+ 0,0xE4DB, 0,0xE1FB,0xCBA2, 0, 0, 0,
+ 0,0xD3E0, 0,0xE4BF, 0,0xFBC0, 0,0xDABE,
+0xE4CD, 0,0xD6B9, 0, 0, 0,0xEFC0, 0,
+0xE1FC, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF6B9, 0, 0, 0, 0, 0, 0,
+0xDFC7, 0, 0, 0, 0, 0, 0, 0,
+0xE4B1, 0, 0, 0, 0, 0, 0,0xDCE7,
+0xDCE8, 0, 0, 0,0xFAD6, 0,0xD3F6, 0,
+ 0, 0, 0,0xF1DA, 0,0xFAF2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE2FD,
+ 0, 0, 0, 0, 0,0xD5CF,0xD0F8, 0,
+ 0,0xCDDF, 0, 0,0xF5CB, 0,0xE4F0,0xCBAB,
+ 0,0xD7C4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE2FE,
+ 0,0xDDDA, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xDAAE,0xCAEE, 0, 0, 0,
+0xD5B9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE3A1, 0, 0,0xE8E3, 0, 0,0xF3AB,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCFA9,
+ 0, 0, 0,0xD3F7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD4F1, 0, 0,
+0xCEE4, 0,0xE8F2, 0, 0, 0, 0, 0,
+ 0, 0,0xE5F5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE7AE, 0,0xD6BA, 0,0xDFEC,0xE4C0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE8E4, 0, 0,
+ 0, 0,0xD8B5, 0, 0, 0,0xE4DC, 0,
+ 0, 0, 0, 0, 0,0xF4B9,0xF1B6, 0,
+ 0,0xE2DE,0xE1B5, 0, 0,0xCDEF,0xF1A7,0xCEE5,
+0xCBDD, 0, 0,0xD9E3, 0, 0,0xF3AC, 0,
+ 0,0xD0F9,0xECAB,0xDED3,0xF7E9, 0, 0,0xF9F5,
+ 0, 0, 0, 0, 0,0xE1DE,0xCBEE, 0,
+ 0, 0,0xE3BC,0xF8D6, 0, 0,0xDBEE, 0,
+ 0, 0, 0, 0,0xFDF1, 0, 0, 0,
+ 0,0xF7B6, 0, 0, 0, 0,0xF4DE, 0,
+ 0,0xF2ED, 0,0xDBD9, 0,0xF0A8, 0, 0,
+ 0, 0, 0, 0, 0,0xE1FD, 0, 0,
+ 0, 0, 0,0xDED4, 0,0xE0AC, 0, 0,
+ 0, 0, 0,0xEDE3, 0, 0,0xD3E1, 0,
+0xDFC8, 0, 0, 0, 0,0xD9B6, 0,0xFDAC,
+0xEFD3, 0, 0, 0,0xE4C1,0xF8EB, 0,0xDBAC,
+ 0, 0, 0, 0,0xFCC6, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD8AD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xF6BA,
+ 0,0xDBDF,0xD3D3,0xF8C7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xCACE,0xF8C1,0xD2B4, 0, 0,0xDCB4,
+0xFAB9,0xCACF, 0,0xFCB3,0xEAEA,0xEAEB,0xD0FA, 0,
+ 0, 0, 0, 0,0xEDE4, 0, 0,0xDDE7,
+ 0, 0,0xDFC9, 0, 0, 0, 0,0xDFED,
+ 0, 0, 0, 0, 0,0xEEBC, 0,0xEFC1,
+ 0, 0,0xCCD2, 0,0xDDA4, 0, 0, 0,
+0xDFCA, 0, 0, 0, 0, 0,0xD3F8,0xF1A8,
+ 0, 0, 0,0xCDB7, 0,0xEFD4, 0, 0,
+ 0, 0, 0, 0, 0,0xE4DD,0xDFEE,0xCBAC,
+0xE9BC, 0, 0, 0, 0, 0,0xEAEC, 0,
+ 0, 0,0xDFCB, 0, 0, 0, 0, 0,
+0xF9BF,0xD6AF,0xD5C6, 0, 0, 0, 0, 0,
+0xCFAA, 0, 0,0xCEA9, 0, 0,0xD6F8, 0,
+ 0, 0,0xF1B7,0xEEF8, 0, 0, 0,0xD9D9,
+0xF3DF, 0,0xF8C8,0xCEC6, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xD5E6, 0, 0, 0,
+ 0, 0, 0,0xF4E6, 0, 0,0xE6C5,0xEFD5,
+ 0, 0,0xCBEF,0xFCDF, 0, 0, 0, 0,
+ 0,0xDCA7, 0, 0,0xD6E7, 0, 0, 0,
+ 0, 0,0xF8C9, 0, 0, 0, 0,0xE3D2,
+ 0,0xE3BD, 0,0xCFE1,0xF0C0,0xECDA, 0,0xDDD7,
+0xFBF0, 0, 0,0xECAC, 0, 0, 0,0xF0A9,
+ 0, 0, 0, 0, 0, 0,0xFAD7,0xFBC1,
+ 0,0xD2C0, 0, 0, 0, 0, 0, 0,
+ 0,0xE5B0, 0, 0, 0,0xEDE5, 0, 0,
+ 0, 0,0xCBAD, 0,0xF9B0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF7A5, 0,0xCBAE, 0,0xDAAF, 0,0xD8B6, 0,
+ 0, 0, 0, 0, 0, 0,0xD3A7,0xFBB2,
+ 0,0xFDC4, 0,0xECAD, 0, 0, 0, 0,
+ 0, 0,0xFBA1, 0, 0, 0,0xE5E9,0xE9EE,
+ 0,0xF3F4,0xF8F3,0xF0C1,0xDEAF,0xF8B0, 0, 0,
+0xF3E0,0xE7AF, 0, 0, 0, 0, 0,0xDBAD,
+ 0,0xE6B5, 0, 0,0xF9A8, 0, 0,0xDDD8,
+0xE8D9,0xEFD6, 0, 0, 0,0xD3E2, 0,0xE2DF,
+ 0, 0,0xFCE0,0xD7C8,0xFDAD, 0, 0, 0,
+0xDFEF,0xCCD3,0xD3F9, 0, 0, 0, 0,0xD4F0,
+0xDBC7,0xDED5, 0, 0, 0, 0,0xF0F4, 0,
+0xD5D0,0xE5D9, 0, 0, 0, 0, 0, 0,
+0xFCC7,0xDCD6,0xE2E0, 0, 0, 0,0xDAB0, 0,
+ 0, 0, 0, 0, 0,0xF3A3, 0,0xD3EC,
+ 0,0xF4CB, 0, 0, 0,0xFDC5, 0, 0,
+ 0, 0, 0,0xE3FD, 0,0xF9B1, 0, 0,
+ 0, 0, 0, 0,0xD0FB,0xECDB, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF5BC,0xF2A4,
+0xD8CE,0xD8CF, 0, 0, 0, 0, 0, 0,
+0xF5F7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF6E1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD2B7, 0, 0,
+ 0, 0, 0, 0, 0,0xFBEC, 0,0xDDC8,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE4E8,
+ 0, 0,0xD2C1, 0, 0, 0,0xF8D7, 0,
+ 0, 0, 0, 0,0xD6BB,0xDED6, 0, 0,
+0xF7BD,0xECAE, 0, 0, 0,0xD0E1, 0,0xE0F5,
+0xEAB3, 0,0xCED6, 0, 0, 0, 0,0xCCA5,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xECF6,0xE2E1,0xE3BE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xFCC8, 0, 0,
+0xCDF0, 0,0xF9F6, 0, 0,0xDFF0, 0, 0,
+ 0,0xE5BF, 0, 0, 0,0xCEBF, 0, 0,
+ 0, 0,0xFCE1,0xEDB0,0xFDD1,0xF6BB, 0, 0,
+0xF9CF,0xEBDA,0xCAC1, 0,0xD2B8,0xCDF1, 0,0xE3D3,
+0xFDE6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE6ED, 0, 0,
+ 0,0xE3FA, 0, 0,0xF0AA,0xF9D0, 0, 0,
+ 0, 0, 0, 0,0xFCE2, 0,0xF8A7, 0,
+ 0, 0,0xE1E5,0xEEF9, 0, 0, 0,0xE7F6,
+0xEAED, 0, 0,0xFCB4,0xF5C2, 0, 0,0xD7DC,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF0F5, 0,0xDDE8,0xD3ED,0xF5FC, 0,0xDABF, 0,
+0xCCFB, 0, 0, 0,0xD3FA,0xF4A4, 0, 0,
+ 0, 0, 0, 0, 0,0xEFD7, 0,0xD4C3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xFBE3, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xFBED, 0,0xE0AD, 0, 0,0xEAEE,
+0xFBB3,0xE4C2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF6E7,0xD2DD, 0,0xDFCC, 0, 0,0xFCC9, 0,
+ 0,0xE5A9,0xE0F6,0xF6B3, 0, 0, 0, 0,
+ 0,0xE1FE, 0, 0, 0, 0,0xCBF0, 0,
+0xEAEF,0xEAF0, 0, 0, 0,0xDAC0,0xF8B4,0xEBF2,
+ 0, 0, 0, 0, 0,0xE4C3, 0, 0,
+ 0, 0,0xE9D7,0xE4F1, 0, 0, 0,0xCAEF,
+ 0, 0, 0, 0, 0, 0, 0,0xCED7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFCCA, 0, 0, 0,0xF3E1, 0, 0,0xCBC4,
+ 0, 0, 0, 0,0xE3E5, 0,0xCBC5,0xEAB4,
+ 0, 0,0xE9BD, 0,0xD7C9, 0, 0,0xEBDB,
+0xEDB1, 0,0xCCC3,0xF7BE,0xFCCB, 0, 0, 0,
+ 0, 0, 0,0xF8F4, 0,0xD9B7, 0, 0,
+0xF3D3,0xF3D4, 0, 0, 0,0xF7E4, 0,0xF7D1,
+ 0, 0,0xD8B7,0xCEB1,0xCAC2, 0, 0,0xFBB4,
+0xCBC6, 0, 0,0xF0F6, 0, 0,0xD5E7, 0,
+0xEAD0, 0, 0, 0, 0, 0,0xCCD4,0xCBAF,
+ 0, 0, 0, 0, 0,0xF4AA,0xE9AF, 0,
+ 0,0xF5C3,0xE9D8, 0, 0, 0, 0, 0,
+ 0, 0,0xDDE9, 0, 0, 0,0xF1F3, 0,
+0xD5FB,0xDEBB, 0, 0,0xF4FB, 0, 0, 0,
+0xFDF3,0xFDF2,0xF7A6, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDDC9, 0, 0,0xD4D3,
+ 0,0xCCA8, 0,0xDAC1,0xCCD5, 0,0xD9E4, 0,
+ 0, 0,0xFACA, 0, 0, 0,0xE5E3, 0,
+ 0, 0,0xD3BC, 0, 0, 0,0xCAF0, 0,
+ 0, 0, 0,0xD0C4, 0, 0, 0,0xCAD0,
+0xFAAB,0xEBEB,0xE7F8,0xD9E5, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD1D7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF3A4, 0, 0, 0,0xD4FB,0xFCE3,
+0xFAD8, 0,0xF3D5, 0,0xCFAB, 0, 0,0xEBF3,
+0xD5FC, 0, 0, 0, 0, 0, 0,0xD3D4,
+0xCDFC, 0,0xD9E6, 0,0xE2F9,0xE2A1,0xEBD4, 0,
+0xE0F7,0xE4B2,0xCCFC, 0, 0, 0,0xFBE4, 0,
+ 0, 0,0xF4AB, 0, 0, 0, 0,0xD0BD,
+ 0,0xCAF1, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xEFB8, 0, 0, 0,0xD7C0, 0,
+0xEEFA,0xFDF4, 0, 0,0xD3E3, 0,0xFBC2, 0,
+ 0, 0, 0, 0, 0, 0,0xD5E8,0xDBAE,
+0xE1B6,0xF8B7, 0, 0, 0, 0, 0,0xE0BF,
+0xFBC3,0xDDEA, 0,0xE2A2, 0,0xEEA6, 0, 0,
+ 0, 0, 0,0xF6E8, 0, 0, 0, 0,
+0xF6F5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xDDCA, 0,
+ 0,0xD0E2, 0, 0, 0, 0,0xDDA6, 0,
+ 0,0xDDEB, 0, 0,0xE4F9, 0, 0,0xE3AF,
+0xD0FC, 0, 0, 0,0xF4FC, 0, 0, 0,
+ 0,0xCCBC,0xF7EA, 0, 0, 0, 0, 0,
+ 0,0xE5E4,0xDFF1, 0, 0,0xF7E1, 0,0xF9F7,
+0xEFB9, 0, 0,0xF8D8, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF9A9, 0, 0, 0, 0,
+ 0,0xF8D9, 0, 0, 0,0xEEBD, 0, 0,
+ 0,0xD8C6, 0, 0,0xE4E3,0xF5CE, 0, 0,
+ 0, 0,0xDDD9, 0, 0, 0, 0,0xD9E7,
+0xD2B9,0xD5C3, 0, 0,0xDAE5,0xDAD0, 0,0xD1D9,
+0xCED8, 0,0xCBDE,0xF4AC,0xDAFB, 0,0xF6E9,0xE8F3,
+0xCFAC,0xF0F0, 0,0xF4FD,0xDBC8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xCEC0,0xE3D4,0xD1CF,0xF1F5,
+ 0,0xCDF2, 0,0xCFEB, 0, 0, 0,0xCDB8,
+ 0, 0, 0, 0, 0, 0,0xE3A6,0xD1DA,
+ 0,0xF2A5, 0, 0, 0, 0, 0,0xF2A6,
+ 0,0xE4CE, 0, 0, 0, 0, 0, 0,
+ 0,0xD3FB, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF1A9, 0, 0, 0,0xF2C9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xEFD8,0xE6C9, 0,0xD8B8,0xFAF3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF3B5, 0, 0,0xF8A4, 0, 0,0xD1F3,
+0xE6C8, 0, 0, 0, 0,0xF8DA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xDCE9,
+0xDED7, 0, 0, 0, 0, 0,0xCBDF, 0,
+ 0, 0,0xCFEC, 0, 0, 0, 0,0xF4DF,
+ 0, 0,0xD1F4,0xD2BA, 0, 0, 0,0xDFF2,
+ 0, 0, 0,0xE1B7, 0, 0, 0, 0,
+0xE2A3,0xD3FC, 0, 0,0xEDE6, 0, 0, 0,
+ 0, 0,0xDBC9, 0, 0, 0,0xE4FA, 0,
+0xCFDE, 0, 0,0xCED0, 0, 0, 0, 0,
+0xD5D3,0xF3F5,0xF7AE, 0, 0,0xEFC8, 0,0xCDF3,
+0xF5CF,0xE5F3,0xF0C2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCAD1, 0, 0, 0,0xEAF1, 0,0xD0A6, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD9DA,
+0xF0AB, 0, 0, 0, 0, 0,0xEBE7, 0,
+ 0, 0,0xE5C0,0xFCB5, 0, 0, 0, 0,
+ 0,0xE4C4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xCCA9,0xFDC6, 0,
+ 0, 0, 0, 0,0xEAB5, 0,0xE5AA,0xDFBA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE1DF, 0,0xDAD1,
+ 0, 0, 0, 0,0xE1B8, 0,0xE8F4,0xD3FD,
+ 0, 0, 0, 0,0xE2A4, 0, 0, 0,
+ 0, 0,0xF2CA, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDAE6,0xF7B3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xFDCD, 0, 0, 0,0xF3B6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEED7, 0, 0, 0, 0, 0, 0, 0,
+0xF5C4, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xD8A4, 0, 0, 0, 0, 0,0xF2A7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD9B8,0xD9B9,0xEFC9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD6CE, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF7CB,0xDFAE,0xE8F5, 0, 0, 0, 0,
+ 0, 0,0xD2B5, 0, 0, 0,0xD3D5, 0,
+ 0, 0, 0, 0,0xF4CC,0xDAFC, 0, 0,
+ 0, 0, 0,0xD9E8, 0,0xF7EB,0xF5C9, 0,
+0xF3BC, 0,0xDAD2, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD3B5, 0, 0, 0, 0,
+ 0,0xE8B6, 0, 0,0xD6CF,0xF4BA, 0,0xF7C9,
+ 0, 0,0xCCAA, 0, 0,0xF0C3,0xCCD6, 0,
+ 0, 0,0xD0D3, 0,0xD3BD, 0, 0, 0,
+0xDBFB, 0,0xCBE0, 0, 0, 0, 0, 0,
+ 0,0xD3E4,0xF6F7, 0, 0,0xD5BA,0xF3CD,0xCBE1,
+ 0, 0, 0, 0,0xEBF4, 0, 0, 0,
+ 0, 0,0xF4AD, 0,0xFCAA, 0, 0, 0,
+ 0, 0,0xF7EC, 0, 0, 0,0xE8F6, 0,
+0xDAE7, 0, 0, 0,0xF7CC, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE5C1, 0, 0, 0, 0,0xE0EE, 0, 0,
+ 0, 0, 0,0xD5FD, 0, 0, 0, 0,
+ 0, 0,0xCEE6,0xFCAB,0xD5BB, 0, 0,0xF2A8,
+ 0, 0, 0, 0, 0, 0,0xE2A5,0xCDB9,
+0xEAF2,0xCBC7, 0,0xCDF4, 0, 0,0xDBAF,0xEFD9,
+ 0, 0, 0, 0, 0,0xCDBA, 0, 0,
+0xFCF9, 0, 0, 0, 0,0xDFF3,0xCEE7,0xDAC2,
+ 0,0xCFAD, 0, 0, 0, 0,0xE7F9,0xF8A8,
+ 0, 0, 0, 0, 0, 0,0xF3E2, 0,
+ 0, 0,0xCAF2,0xDFA4, 0, 0,0xD4C4, 0,
+ 0, 0, 0, 0,0xCCD7,0xE5C2, 0, 0,
+ 0, 0,0xCDBB, 0,0xEFDA,0xEED8, 0,0xDDA7,
+0xE2A6, 0, 0, 0, 0, 0,0xE0C0, 0,
+ 0, 0,0xD6B0,0xF8CA, 0,0xFCFA, 0,0xD9FE,
+ 0, 0, 0, 0,0xDEB0, 0, 0, 0,
+0xDDEC,0xDAE8, 0, 0, 0, 0, 0,0xD4E0,
+ 0,0xD6F9, 0,0xCDD7,0xDED8, 0, 0,0xF2F8,
+ 0,0xE4D6, 0, 0,0xD0C5,0xF4AE, 0,0xDDA8,
+ 0, 0, 0,0xEDC5,0xF3D6, 0, 0,0xDED9,
+0xE3E6, 0, 0, 0, 0, 0, 0,0xD3A8,
+ 0,0xDBB0, 0, 0,0xE5DA,0xE3BF, 0, 0,
+ 0,0xDBB1, 0, 0, 0,0xD5E9, 0, 0,
+ 0, 0, 0,0xE0C1,0xEFDB, 0, 0,0xF0E9,
+ 0, 0,0xD7B2, 0, 0, 0, 0,0xD0FD,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD9E9, 0, 0,0xD0FE, 0,0xECED,0xD3A9, 0,
+0xF2A9,0xF0C4, 0, 0,0xE2E2,0xE9EF, 0, 0,
+ 0,0xF9D1, 0, 0,0xE9D9, 0, 0, 0,
+ 0, 0,0xE8DA,0xDAC3,0xDAC4,0xD4C5, 0,0xE7FA,
+ 0, 0, 0, 0, 0, 0,0xCDE0,0xE3B0,
+ 0,0xDBB2,0xFBC4, 0,0xF3E3, 0,0xD9A5,0xFBE7,
+0xDDCB,0xD0D4, 0,0xE6B6,0xE0AE,0xFDDA, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xDCB5,0xE0F8,
+0xE7B1, 0, 0, 0, 0,0xF5F0, 0,0xD8DC,
+0xEDC6, 0, 0, 0, 0,0xE1B9, 0,0xE3C0,
+0xF9C0,0xE9F0, 0, 0,0xD9DB, 0,0xF3E4, 0,
+ 0, 0,0xDCB6,0xE4E9, 0, 0, 0, 0,
+ 0,0xF0C5,0xE3C1,0xFCCC,0xFCCD, 0, 0, 0,
+ 0,0xF2CB, 0,0xF2CC, 0, 0, 0,0xE4CF,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF1DB, 0,0xFAD9, 0,0xF1B8,0xFDF5,0xE0F9,
+ 0, 0, 0, 0,0xE7FB,0xFCB7,0xFCE4,0xFBC5,
+0xE3E7,0xD8B9, 0,0xF6F8, 0, 0,0xDCC5,0xCCD8,
+ 0, 0, 0,0xE0AF,0xF4E7, 0,0xEFDC,0xCFFC,
+0xEFDD, 0,0xF2AA, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xFDBE, 0, 0,0xCAAC,
+0xFDBB,0xFDC7, 0, 0, 0, 0,0xE7B2, 0,
+0xEAD1,0xDFF4, 0, 0, 0, 0,0xD1EC,0xE4DE,
+0xE5C3, 0, 0, 0, 0,0xD9A6, 0, 0,
+0xCDBC, 0,0xF3E5, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xEDD5, 0, 0,0xD9BA, 0,
+ 0, 0,0xEDE7,0xFBB5,0xF8EC, 0, 0, 0,
+ 0,0xE0E7, 0,0xCCD9, 0, 0,0xD4C6, 0,
+ 0, 0, 0, 0,0xE7A5, 0,0xD5F5,0xD3BE,
+ 0,0xFCFB, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE4F2, 0,
+ 0,0xDFF5, 0, 0,0xE8F8,0xF8ED, 0, 0,
+0xCEC7, 0, 0, 0, 0, 0,0xFDF6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE8D8, 0,0xCDD8,0xE7D6,0xCCDA, 0, 0,0xCAE3,
+0xDFF6,0xF0C7,0xF0C6, 0,0xD8BA, 0,0xF1F4,0xF4F0,
+0xF5CC, 0, 0,0xFCE5, 0, 0, 0, 0,
+0xEAC5,0xEAF3, 0,0xDDDB, 0,0xDCD7, 0, 0,
+ 0, 0, 0, 0,0xDEFD,0xF2F9, 0,0xD5C7,
+ 0, 0, 0,0xD8D0, 0,0xF0C8,0xD1A1,0xD1A2,
+ 0, 0, 0, 0, 0, 0,0xD9D4,0xD6E8,
+0xD9CA, 0,0xDAB1,0xD8C7,0xDCE2,0xF3CE,0xF5F4, 0,
+ 0,0xF1B9, 0, 0,0xDAD3, 0,0xF6EA, 0,
+ 0, 0,0xCFF5, 0, 0,0xFDAE, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xCAD2, 0,
+ 0,0xDFB4, 0, 0, 0, 0,0xD7DD,0xFABA,
+0xEEA7,0xF5BD, 0,0xF8F5, 0, 0,0xEDE8, 0,
+ 0, 0, 0, 0,0xD4E1, 0,0xD1A3,0xE1D6,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF9F8, 0,0xDBCA,
+0xCBF9,0xD4D4, 0,0xD9DC, 0,0xEEBE, 0,0xF7ED,
+ 0, 0, 0,0xD2EE, 0, 0,0xE1E6,0xF7F9,
+ 0, 0, 0, 0, 0, 0, 0,0xDDED,
+ 0,0xE8DB, 0,0xDBB3, 0, 0, 0,0xD1F7,
+0xE0B0, 0, 0,0xD4E2, 0,0xF6D7, 0,0xD7F9,
+ 0, 0,0xD8DD, 0,0xCDFD,0xF2AB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCDBD,
+0xF8C2, 0, 0,0xF2AC, 0, 0,0xCAAD,0xCAAE,
+0xCFAE, 0, 0, 0, 0, 0,0xE3C2, 0,
+ 0, 0, 0, 0,0xDCB7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xDBDA,
+0xD9BB,0xCAF3,0xF6D3,0xE6F8,0xEAF5, 0, 0, 0,
+ 0, 0,0xEAF6, 0, 0,0xF6F9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCFAF, 0, 0,0xCAD3, 0, 0,0xCAAF,
+0xD2B0,0xF1BA, 0,0xD7B3,0xE3C3,0xF3FD,0xDEDA, 0,
+ 0, 0, 0,0xDEDB, 0, 0,0xEFDE, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE2E3,0xEEFB, 0, 0,0xDFF7,0xD7CA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCEE8,0xDBDB, 0, 0, 0, 0, 0,
+ 0, 0,0xF1BB, 0, 0, 0, 0,0xE9F1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFAB7,0xD0C6, 0, 0,0xCCAB,0xEEA8, 0, 0,
+0xCBFA,0xF9F9,0xCCFD,0xD3FE, 0, 0, 0, 0,
+0xE4D0, 0, 0, 0, 0, 0,0xF2EE, 0,
+0xD4D5,0xDFCD, 0,0xFCB8,0xD1D0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF2CD, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF7D2, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCAD4,
+ 0,0xD5D9, 0, 0, 0,0xD8DE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCDD9,
+ 0, 0, 0,0xEEA9,0xF6BC, 0, 0,0xCCDB,
+ 0, 0, 0, 0, 0,0xF0C9, 0,0xFCFC,
+ 0,0xE8C9,0xF4FE, 0, 0, 0, 0,0xE7FC,
+0xD7DE, 0, 0, 0, 0,0xDEDC, 0,0xF0AC,
+0xCCFE,0xCDE1, 0,0xE1BA, 0,0xDBEF,0xDAB2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xD1A5,0xDCB8, 0, 0,
+ 0,0xD8F6, 0,0xD1A4, 0,0xCDE2, 0, 0,
+ 0, 0,0xDCEA, 0, 0,0xF0F7, 0,0xF0CA,
+0xD0BE, 0,0xDDDC, 0, 0, 0, 0,0xD4D6,
+0xD3D6, 0, 0, 0, 0, 0, 0,0xEDD0,
+0xCDA1, 0, 0, 0, 0, 0,0xDFB5, 0,
+ 0, 0,0xDFF8, 0, 0, 0, 0, 0,
+ 0,0xD4A1,0xCEB2, 0, 0, 0, 0, 0,
+0xE8CA, 0, 0, 0, 0,0xEBF5, 0, 0,
+ 0, 0, 0, 0, 0,0xE3D5,0xF5D0, 0,
+ 0, 0,0xF5A1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD9A7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE5AB, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE6CB, 0,0xF5F1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE5C5, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF9A3,0xE0DB,0xF6EB, 0,0xCBF1,
+ 0,0xD9EA,0xF5A2, 0, 0, 0,0xD7D1, 0,
+0xD1F8,0xEAF8,0xEAF9,0xDAB3, 0, 0, 0, 0,
+0xEFDF, 0, 0,0xF1EF, 0,0xE5F6,0xEEBF,0xE2E4,
+ 0, 0, 0, 0, 0,0xD0BF, 0,0xFAAC,
+0xF5D1,0xE7B3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE9BE, 0, 0,
+ 0, 0, 0,0xF2CE,0xDBB4, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xFCCE, 0,0xDDEE,
+ 0, 0, 0, 0, 0, 0,0xE7B4, 0,
+ 0, 0, 0, 0,0xD7B4, 0, 0, 0,
+ 0, 0, 0,0xF7B4, 0, 0, 0, 0,
+ 0,0xCDBE, 0,0xDAE9, 0, 0, 0, 0,
+ 0, 0, 0,0xCFB0,0xF7D9,0xF3E6, 0, 0,
+0xCED9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCEAA, 0,0xCBC8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD0A7, 0,0xF0CB, 0,0xD0C7,
+ 0, 0,0xE4C5, 0, 0, 0, 0, 0,
+ 0, 0,0xDBE0, 0, 0, 0, 0, 0,
+ 0,0xD5DA, 0,0xD7A7, 0, 0, 0,0xEEC0,
+ 0,0xF8F6, 0, 0, 0, 0,0xF5D2,0xEDE9,
+ 0,0xD9BC, 0,0xE5C6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF5A3, 0, 0,
+0xDAD4,0xE2A7,0xFBFC, 0, 0,0xF1DC, 0, 0,
+ 0, 0, 0, 0,0xCAF4, 0, 0, 0,
+0xE8FA, 0, 0,0xCEE9, 0, 0, 0, 0,
+ 0, 0,0xE9F8,0xE2E5, 0, 0, 0, 0,
+0xD0B9,0xD4F2, 0, 0, 0, 0, 0,0xD1A6,
+ 0,0xDFCE, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xFCF4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD3AA, 0, 0, 0,0xCCAC, 0, 0, 0,
+ 0,0xEFE0, 0, 0, 0,0xE5E5,0xD0D5, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xDBFC,
+ 0, 0, 0, 0,0xFCE6, 0, 0, 0,
+ 0, 0,0xCBFE,0xEDEA, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xDEB1, 0, 0, 0, 0,
+ 0, 0, 0,0xF9E3, 0, 0, 0, 0,
+ 0, 0,0xD4A2,0xCFF6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD6D0, 0, 0, 0, 0,
+ 0, 0,0xD5EA,0xF1EE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xFACB, 0,
+ 0, 0, 0,0xE5A1, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xD5B1, 0, 0, 0,
+ 0, 0,0xCFED, 0,0xEDEB, 0, 0, 0,
+ 0, 0,0xD5B2, 0, 0, 0,0xD5BC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFDE2,0xF3AD, 0,0xFDDB, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE9B0, 0, 0, 0, 0, 0,
+ 0, 0,0xD1A7, 0, 0,0xFDE3,0xCEB3, 0,
+ 0, 0, 0, 0, 0, 0,0xFDE4,0xFACE,
+ 0, 0, 0, 0,0xCAB0, 0,0xF7A7, 0,
+0xCFB1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE6A2,
+ 0,0xFCB6,0xF2AD,0xEFE1,0xF3AE,0xDCC6,0xD9EB, 0,
+ 0, 0,0xE8E0, 0, 0, 0, 0, 0,
+ 0, 0,0xE1A8, 0, 0, 0, 0,0xD5F6,
+0xCFFD, 0, 0,0xDEDD, 0, 0, 0,0xD9D1,
+ 0, 0, 0,0xE4EA,0xF2CF, 0,0xF7BF, 0,
+ 0,0xE2E6,0xE2A8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE3D6, 0,
+0xEDD1, 0, 0, 0, 0, 0,0xE9F9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD6B1,0xDEB2,
+ 0, 0,0xE0E8, 0, 0,0xD3AB, 0,0xEBDC,
+ 0, 0,0xDFAF, 0,0xCAC3, 0, 0,0xEEFC,
+ 0,0xFDC3, 0, 0, 0,0xEBF6,0xCFB2, 0,
+ 0, 0, 0,0xD9EC, 0,0xD9BD, 0,0xD8DF,
+ 0, 0,0xD4B8,0xEBBE,0xDDEF, 0,0xDDF0,0xDDF1,
+0xDDF2, 0, 0,0xD9BE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xFBC6,0xCFB3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEEFD, 0, 0, 0, 0, 0, 0,0xE4AB,
+ 0,0xDAC5, 0,0xD8EC, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD1A8, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE2A9, 0, 0,0xDEBC,
+0xE7B5, 0, 0, 0, 0, 0,0xDBF0, 0,
+0xEFE2,0xF1F0,0xCFB4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xDBF1, 0,
+0xE0B1, 0, 0, 0, 0,0xDFA5, 0,0xF9D2,
+ 0, 0,0xE7FD, 0, 0,0xE6A3,0xFBF1,0xCBB0,
+0xF2AE, 0, 0, 0, 0, 0, 0, 0,
+0xCDE7, 0,0xE8DC, 0, 0,0xE7D7, 0, 0,
+0xF7C0, 0,0xD0E3, 0, 0, 0,0xDAA1, 0,
+ 0, 0,0xCCBD, 0, 0,0xD1A9,0xDDCC, 0,
+ 0,0xE3FE,0xD1AA,0xE8AA, 0,0xEAB6,0xF9FA,0xE6CC,
+0xF6D8, 0, 0, 0,0xD4C7, 0, 0, 0,
+0xD9CB, 0,0xD9D2,0xD3CB,0xD8F7,0xDAA9,0xF5F8, 0,
+ 0,0xDEDE,0xF2AF,0xF8A9, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD8C8, 0, 0,0xEEC1, 0,
+ 0, 0, 0,0xF9C1, 0, 0, 0, 0,
+0xDDF3,0xEAFA, 0,0xF6BD,0xE1BB,0xCDBF,0xF4D4,0xE6CD,
+ 0,0xFCCF,0xFBA2, 0,0xE0DC, 0, 0, 0,
+ 0,0xF4BB,0xDAD5, 0,0xF9B2, 0, 0, 0,
+ 0, 0, 0,0xFBF2, 0,0xDBF6, 0,0xDEDF,
+ 0, 0, 0,0xDBF2, 0, 0, 0, 0,
+ 0,0xF8DC,0xF7EE,0xEBE8, 0,0xD2FA, 0, 0,
+0xF1BC, 0, 0,0xFADA, 0, 0,0xDAEA,0xDAC6,
+0xF7C1, 0, 0,0xE7B6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE5C7,0xD6AC, 0, 0, 0,
+ 0,0xDCC7, 0, 0, 0, 0, 0,0xE1A9,
+ 0,0xE2AA, 0,0xD5A6, 0, 0,0xD4D7, 0,
+ 0, 0, 0, 0, 0,0xF2D0, 0,0xEAFB,
+ 0,0xE0DD,0xFBF3, 0, 0, 0, 0, 0,
+ 0, 0,0xF1BD, 0, 0,0xE2E7,0xFDD7, 0,
+0xCEC8,0xEAB7, 0,0xFCC0, 0,0xFDE7,0xF7EF, 0,
+ 0,0xD7B5, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xEFBA,0xF1DD, 0,0xDEB3, 0, 0, 0,
+ 0, 0, 0,0xE8CB, 0, 0,0xF8DD, 0,
+ 0,0xFBC7,0xD5C8, 0,0xD7DF, 0,0xDDA9, 0,
+ 0, 0, 0, 0,0xE9B1, 0, 0,0xFAAD,
+0xF6D9,0xFAF4, 0, 0, 0, 0, 0,0xF8AA,
+ 0, 0, 0, 0, 0,0xE6EE, 0,0xCCDC,
+0xE1BC,0xE0EF, 0, 0,0xE9BF,0xFCFD,0xE6CE, 0,
+ 0,0xE1D7, 0,0xE6CF, 0,0xF4F1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE4F3,
+ 0, 0,0xE4FB, 0, 0,0xF9E4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEFE3, 0, 0,0xCFEE,0xF6BE,0xE0B2,0xFCFE,0xD1AB,
+ 0, 0, 0,0xD7FA, 0, 0, 0,0xFBC8,
+ 0,0xE2D7, 0, 0, 0, 0, 0, 0,
+0xD4A3,0xF0F8,0xD7A8, 0, 0, 0,0xE1E7, 0,
+ 0,0xD3BF, 0, 0, 0, 0, 0, 0,
+0xEFE4, 0,0xD7C5,0xEBE2, 0, 0,0xFCE7, 0,
+ 0,0xE4A2, 0,0xE2E8, 0,0xE6D0, 0,0xFBE8,
+0xF4E8,0xE5F4,0xF4BC,0xF4D5, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xDFB6,
+ 0,0xFCB9,0xEEC2,0xCAF5, 0, 0, 0,0xEFE5,
+0xCBE2,0xD4A4, 0,0xDEE0,0xDAFD,0xE4C6,0xE8BE, 0,
+ 0, 0, 0,0xE0DE,0xF6B4,0xEAD2, 0,0xF9FB,
+ 0, 0,0xE0C2, 0,0xCAE4, 0,0xE7B7, 0,
+0xEAFD, 0,0xD9DD, 0,0xDAB4,0xEEAA,0xFBE9, 0,
+ 0, 0, 0,0xDBCB,0xDAB5, 0, 0, 0,
+ 0, 0,0xF1BE, 0, 0,0xD3AC, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xFBC9, 0,
+0xDFCF, 0, 0,0xD3C0,0xE3D7, 0,0xEFE6,0xFCD0,
+ 0, 0, 0, 0, 0, 0, 0,0xE9C0,
+ 0, 0, 0,0xF5D3, 0, 0,0xECDC,0xF7B7,
+ 0, 0,0xEAB8,0xD1F9, 0, 0, 0, 0,
+ 0, 0,0xDCC8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEAB9, 0, 0, 0, 0, 0,0xF1DE, 0,
+ 0, 0, 0, 0,0xD7B6,0xCFB5, 0,0xD9A8,
+ 0, 0,0xECEE, 0, 0,0xDDAA, 0, 0,
+ 0, 0,0xCDA2,0xE8AE, 0, 0, 0,0xE1BD,
+ 0,0xF2D1, 0, 0, 0, 0,0xE9C1, 0,
+ 0, 0,0xD2FC, 0, 0, 0, 0, 0,
+ 0, 0,0xDBB5, 0,0xF3E7,0xD8FE, 0, 0,
+ 0,0xFCD1, 0,0xEDB2,0xF4AF, 0,0xFBA3, 0,
+ 0,0xFCC1, 0,0xEEAB,0xD4A5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xF4F2,
+ 0, 0, 0, 0,0xEED9, 0, 0, 0,
+0xFBCA, 0, 0, 0, 0, 0,0xCDE3,0xD8BB,
+ 0,0xE5DB,0xF8F7, 0, 0, 0,0xF6D4, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD7A9,
+ 0,0xCBC9, 0, 0,0xE6D1,0xF0CC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD8AE, 0,0xF9D3,0xD5FE, 0, 0, 0, 0,
+ 0, 0, 0,0xD8BC,0xF2B0, 0, 0, 0,
+ 0,0xE2AB,0xF3E8, 0, 0, 0, 0, 0,
+0xEFC2, 0, 0, 0, 0, 0, 0,0xEDEC,
+ 0,0xE7B8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xDAFE, 0, 0,0xCCBE, 0, 0,0xF2FC,
+0xDAEB, 0,0xE2D8,0xEDD6, 0, 0,0xD6D1,0xE0B3,
+ 0, 0,0xFCD2, 0,0xEBC8, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD3C1,0xF0CD, 0,
+0xCFF7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xEDD2, 0,0xD4D8,0xDCC9,0xD7F1, 0,
+ 0,0xDFBB, 0, 0,0xF3A5, 0, 0, 0,
+0xF4CD, 0, 0, 0, 0,0xF1BF,0xF8B1, 0,
+0xE9FA, 0, 0, 0,0xFBCB, 0, 0,0xCAD5,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF9D4,0xF7CA, 0, 0,0xD6C8,
+ 0, 0, 0, 0, 0, 0,0xFCE8,0xF3BD,
+ 0,0xEEFE, 0,0xE7FE, 0, 0, 0, 0,
+ 0,0xD3C2, 0, 0, 0, 0,0xD3B6, 0,
+0xCCAD,0xF6FA,0xD6B2,0xD2D8, 0, 0, 0, 0,
+ 0, 0,0xE7D8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE3A5, 0, 0,
+ 0, 0,0xE7B9, 0, 0, 0, 0,0xF0AD,
+0xFBCC,0xEBA1, 0, 0,0xD4A6, 0, 0, 0,
+ 0,0xFBCD, 0,0xD5BD,0xF1DF, 0, 0,0xF6FB,
+ 0,0xDEB4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD5EB, 0,
+ 0,0xE5C8, 0, 0, 0,0xFBA4,0xD4B9, 0,
+ 0,0xDEE1, 0,0xE4A3, 0, 0, 0,0xD7B7,
+ 0,0xF8EE, 0, 0, 0,0xDEB5, 0, 0,
+0xD6D2, 0,0xF9D5,0xE7BA,0xEBD5,0xD5F7,0xEFE7,0xE1BE,
+ 0, 0, 0,0xFAAE, 0, 0, 0,0xD6E9,
+0xD6EE, 0, 0, 0, 0, 0, 0,0xE7BB,
+ 0, 0, 0, 0, 0, 0, 0,0xECCB,
+ 0, 0, 0, 0, 0, 0,0xD5B3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xCEB4, 0, 0, 0,
+0xFBA5,0xE1EE, 0, 0, 0, 0, 0, 0,
+0xF7A8, 0, 0, 0, 0,0xFBCE, 0, 0,
+ 0, 0, 0,0xD8BD, 0, 0, 0, 0,
+ 0, 0, 0,0xFBFD, 0, 0, 0, 0,
+0xFCE9, 0, 0, 0, 0, 0, 0, 0,
+0xCFB6, 0, 0, 0,0xEDC7,0xEEAC, 0, 0,
+ 0, 0, 0, 0, 0,0xCCDD, 0, 0,
+ 0, 0,0xF6A7, 0, 0, 0,0xE6FA, 0,
+ 0, 0,0xF5A4, 0, 0, 0, 0, 0,
+0xFDDC,0xEDB3,0xCEC9, 0, 0, 0, 0, 0,
+ 0,0xEFE8, 0, 0,0xE1BF, 0, 0, 0,
+ 0, 0, 0,0xFADB,0xCBE3,0xF7A9, 0,0xFBA6,
+ 0, 0, 0,0xDCB9, 0, 0, 0,0xF1C0,
+0xEDC8,0xEFC3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD6AD, 0, 0,0xFDCE, 0, 0, 0,0xE8A1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFBF4,0xD5A7, 0, 0, 0,0xF1F6, 0,0xE6D3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCCDE, 0, 0, 0, 0, 0, 0,
+ 0,0xF8B2, 0, 0, 0,0xDCEB, 0, 0,
+ 0, 0, 0, 0,0xFDB6, 0, 0, 0,
+ 0,0xE5EA, 0, 0,0xF1E0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xDBCC,0xDDCD, 0, 0, 0,0xD4C8, 0,
+ 0,0xD9ED, 0, 0, 0, 0,0xF5A5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE6FB, 0, 0, 0, 0, 0,0xE6D4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xFDC8,
+ 0,0xD6A1,0xFDBF, 0,0xFCD3, 0,0xEFA1, 0,
+0xE7BC, 0, 0, 0, 0, 0,0xD1EE, 0,
+ 0,0xE6D5, 0, 0,0xE9F2, 0,0xDFB0, 0,
+ 0, 0, 0, 0,0xD8E0,0xFCBA,0xFDAF,0xF0CE,
+ 0,0xDBE1, 0, 0,0xE5C9, 0,0xEDB4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE0C3, 0, 0,
+ 0, 0, 0, 0,0xE3D8, 0, 0, 0,
+ 0,0xE9FB,0xEAA8, 0, 0, 0, 0,0xFDB7,
+ 0, 0,0xFBA7, 0,0xE9C2, 0, 0, 0,
+ 0,0xFDF7, 0, 0, 0, 0, 0,0xE2D9,
+ 0, 0,0xDCEC, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE8A2, 0, 0, 0,
+ 0,0xE6F0, 0, 0, 0, 0, 0, 0,
+ 0,0xFDF8,0xFDF9, 0, 0, 0,0xF6BF, 0,
+ 0,0xE7A7, 0,0xE6D7, 0, 0, 0, 0,
+0xD4F3,0xD4C9, 0, 0, 0, 0,0xD6FA, 0,
+0xD7F2, 0,0xE1C0, 0,0xDBE2,0xE6D8, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE7BD,
+ 0, 0, 0, 0, 0,0xF0CF,0xF3BE,0xE2AC,
+ 0, 0, 0, 0, 0,0xF5B7,0xE0F0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xFDB8,0xE3E8, 0,0xD4A7,0xE8FC,
+0xFAD2, 0, 0, 0, 0, 0,0xF8EF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD6D3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD5B4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF0D0, 0,0xF7F0,0xEEB3, 0, 0,
+0xEABA, 0,0xEAD3, 0, 0,0xEDC9,0xDDAB, 0,
+ 0, 0,0xE5AC,0xFDA1, 0,0xDFD0,0xECB3, 0,
+0xDFD1, 0, 0, 0, 0, 0,0xEDED,0xF8B8,
+0xF7FA, 0, 0, 0,0xF8AB, 0, 0, 0,
+ 0, 0,0xF4E0, 0, 0, 0, 0, 0,
+0xD4BA,0xE4B3, 0,0xE9DA, 0,0xDEB6, 0,0xD9BF,
+ 0,0xD9C0,0xD6EF, 0, 0, 0, 0,0xD9CC,
+ 0,0xDAAA, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xDFE5, 0, 0, 0, 0, 0,
+ 0,0xF7E5, 0, 0, 0,0xCCB2, 0, 0,
+0xDFF9,0xD7E0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD4BB, 0, 0, 0, 0,0xFDFA,
+ 0, 0, 0, 0,0xCCB3, 0, 0,0xDBF3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xDFD2, 0,0xCECA, 0,0xEEDA, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE4E4, 0,
+0xFBCF, 0, 0, 0, 0, 0, 0,0xCFB7,
+ 0,0xEEC3, 0, 0, 0, 0, 0, 0,
+ 0,0xCEEA, 0, 0, 0, 0, 0, 0,
+ 0,0xE2AD, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD7E1,0xFAF5, 0, 0,0xD5C9,0xF8AC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE7D9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF3E9, 0,
+ 0, 0, 0,0xD8ED,0xE3C4,0xF0F1, 0, 0,
+ 0, 0, 0, 0, 0,0xE8E5, 0, 0,
+ 0,0xE0FA,0xEEC4,0xD9DE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xEBA2,0xEBA3,
+ 0, 0, 0, 0, 0, 0,0xFCC2,0xEABB,
+ 0, 0, 0, 0,0xE8AB,0xDEE2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEDEF, 0,0xE8A3, 0, 0, 0, 0,0xCFF1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD4BC, 0,0xFCEA, 0, 0, 0, 0, 0,
+0xE7BE, 0,0xFCF2, 0, 0,0xD6B4, 0, 0,
+0xE2AE, 0,0xD3B7,0xFACC, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xFADC, 0,0xEDB5,0xE1E3,
+ 0,0xE8AC, 0,0xE8DD, 0, 0,0xEFE9, 0,
+ 0, 0, 0, 0,0xF4BD, 0,0xCFB8,0xE9DB,
+0xD1AC, 0, 0, 0, 0, 0, 0,0xDAC7,
+ 0, 0, 0, 0, 0, 0, 0,0xEBC9,
+ 0,0xE8CC, 0, 0, 0,0xDEB7, 0, 0,
+ 0, 0,0xD6BC,0xD3E5, 0, 0, 0, 0,
+ 0,0xFADD, 0, 0, 0, 0, 0, 0,
+0xDAD6, 0,0xCAB1, 0, 0, 0, 0, 0,
+ 0,0xDAC8,0xDFA6, 0,0xF9B3,0xF2D2, 0,0xCAC4,
+ 0, 0, 0, 0, 0, 0,0xCECB, 0,
+ 0,0xCDF5, 0, 0, 0,0xFDB0,0xD5A8, 0,
+0xF1C1, 0, 0,0xE2E9,0xDCCA,0xECB4,0xFAC0, 0,
+ 0,0xFBA8,0xD0A8, 0, 0,0xDAEC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD9EE,
+ 0,0xE0FB, 0, 0, 0,0xEFEA,0xFADE, 0,
+ 0,0xE0C4, 0,0xCFB9, 0,0xD5CA,0xD7E2,0xE2AF,
+ 0,0xD7B8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE8CD, 0, 0, 0, 0,
+ 0, 0, 0,0xF6DA, 0, 0, 0, 0,
+0xEFA2,0xE2DA,0xF6FC, 0, 0,0xFBD0,0xD1AD, 0,
+0xCDE4, 0,0xD1AE,0xDCED,0xE8CE, 0,0xF0F9,0xCEB5,
+0xE6FC, 0, 0,0xD7FB,0xD0D6,0xDDF5,0xF7F1, 0,
+0xF6FD, 0,0xDBF7, 0, 0, 0, 0,0xFBEA,
+0xE9DC,0xD9C1, 0,0xF5F2,0xE0C5, 0, 0, 0,
+ 0, 0, 0,0xEAD4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF9C2, 0,0xEABC,
+ 0,0xD2C5,0xFBD1,0xE7C0,0xEBA5, 0,0xDFFA,0xE3A2,
+0xD7B9, 0,0xE9C3, 0,0xE8FD,0xE8AF, 0, 0,
+0xF2D3,0xFBA9,0xD8A5, 0, 0, 0, 0,0xD5CB,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD0C8, 0,
+ 0, 0,0xD1AF,0xD7E3, 0, 0, 0,0xE0C6,
+ 0,0xD6A2, 0,0xEDF0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD7F3, 0, 0, 0,0xFCD4, 0,0xDAD7,0xCCDF,
+ 0,0xF2D4, 0,0xD1B0, 0,0xCCE0, 0,0xDBFD,
+0xF3BF, 0,0xF0D1, 0, 0, 0, 0, 0,
+0xFCBB, 0,0xE2B0, 0, 0,0xE6A5, 0, 0,
+ 0,0xE2DB, 0, 0, 0,0xDFDE, 0,0xE0C7,
+ 0, 0, 0, 0, 0, 0,0xF2EF, 0,
+ 0, 0,0xCCE1, 0, 0, 0, 0,0xD6EA,
+ 0, 0, 0, 0,0xE7C2, 0, 0, 0,
+0xCEB6, 0,0xF3C0, 0,0xCDFE, 0, 0, 0,
+0xFBD2, 0,0xF8F8,0xF7FB, 0, 0,0xE8BF, 0,
+ 0, 0, 0, 0, 0, 0,0xE8B7, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xEDB6,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xDCBA, 0, 0,0xCCB4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF1F7, 0, 0, 0,0xE8B8, 0, 0,
+0xCAF6, 0,0xE4A4,0xF4D6, 0, 0, 0,0xDFE6,
+ 0, 0, 0,0xDFA7, 0,0xDFE7,0xE1C1, 0,
+0xE9C4, 0, 0,0xDCCB,0xE9C5, 0, 0, 0,
+0xEFA3,0xEBA6,0xCBA3,0xE3E9, 0, 0, 0,0xD1FB,
+0xEFA4, 0,0xEFEB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD0B4,
+ 0, 0, 0, 0,0xCDA3, 0, 0,0xE8E6,
+ 0,0xEFA5, 0,0xD3CC,0xDAED, 0, 0, 0,
+ 0,0xD7BA, 0,0xF2D5,0xF5E5,0xD9EF, 0, 0,
+ 0, 0,0xF9B4, 0, 0,0xD5D4,0xFDCF, 0,
+ 0, 0,0xDBE3, 0, 0, 0, 0,0xF1E1,
+0xECB6, 0, 0, 0, 0,0xFBFE,0xD3D7, 0,
+0xD1B1, 0,0xCBB1, 0, 0, 0, 0,0xD1B2,
+ 0, 0, 0, 0, 0, 0,0xCBB2,0xF1C2,
+ 0, 0,0xF4E1,0xF9B5, 0, 0,0xE1C3,0xE1C2,
+ 0,0xEBF7, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xDFA8, 0, 0,
+ 0, 0, 0, 0, 0,0xCBCA, 0, 0,
+ 0, 0, 0,0xE6B9, 0, 0, 0, 0,
+ 0,0xF8DE,0xF9AA,0xCAF7, 0,0xEDB7, 0, 0,
+0xD3B8,0xF2D6, 0, 0,0xD4D9,0xEEC5,0xF2F0, 0,
+ 0, 0,0xCAB2, 0, 0,0xDCBB, 0,0xF1F8,
+ 0, 0, 0, 0, 0,0xECB7, 0, 0,
+ 0, 0,0xE5CA, 0,0xF6C0,0xFDDD, 0, 0,
+0xD4E3,0xCCE2, 0,0xF7D4, 0, 0, 0, 0,
+ 0, 0,0xD7E5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD3C3, 0,0xD8A6, 0,0xF6C1, 0, 0, 0,
+ 0, 0,0xDDF6, 0,0xCDC0, 0, 0, 0,
+0xE5DC, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE5CB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE1C4, 0, 0, 0, 0, 0,0xE8B0,
+0xF4B0,0xF3EA,0xDAEE, 0,0xD7BB, 0,0xE2B1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD7AA, 0, 0, 0, 0,
+ 0, 0,0xD6FB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE4DF, 0,0xCAD6, 0,
+ 0, 0,0xEBA8, 0, 0, 0,0xDBFE, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF6C2, 0, 0,0xEFBB, 0, 0, 0,
+ 0,0xD4FD, 0, 0,0xE0C8, 0, 0, 0,
+0xE8B9, 0,0xEFA6, 0, 0, 0, 0, 0,
+0xCDA4, 0, 0,0xD4F4,0xDBA1,0xDBDC,0xDBDD, 0,
+ 0, 0, 0, 0,0xEEDC, 0,0xCBCB,0xFCD5,
+ 0, 0, 0, 0, 0, 0,0xCEEB, 0,
+0xCDC1, 0, 0,0xFBD3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF9AB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF5D4, 0, 0, 0, 0,0xD9A9,
+ 0, 0,0xE9DD,0xDBCD, 0, 0,0xDDCE, 0,
+0xE7C3, 0,0xECCC, 0, 0, 0, 0, 0,
+ 0, 0,0xF9EC, 0, 0, 0,0xCBCC, 0,
+ 0, 0, 0,0xE0FC,0xD4A8, 0,0xEDD3,0xD8EF,
+ 0,0xF2D7, 0,0xCAF8,0xDAEF, 0, 0,0xD6D4,
+ 0, 0, 0, 0, 0, 0,0xD9CD, 0,
+ 0, 0,0xD8EE, 0,0xF2C1, 0, 0, 0,
+0xDFD3, 0, 0, 0,0xDAF0, 0,0xE2EA, 0,
+ 0,0xE0FD, 0, 0,0xD8F8, 0, 0, 0,
+0xF7AF,0xDAB6, 0,0xCAD7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF2D8, 0,
+0xD8F9, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xFADF, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCFEF,
+0xD9C2, 0,0xF0D2, 0,0xE4D1, 0, 0, 0,
+0xF3B7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xFAE0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xEFEC, 0, 0, 0, 0,
+ 0,0xE2B2, 0,0xD4BD, 0, 0,0xD9CE, 0,
+ 0, 0, 0,0xF4E2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xD4A9, 0, 0, 0, 0,0xCDC2,0xE7DA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF2D9, 0, 0, 0, 0,
+ 0,0xD9AA, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD8BE, 0,
+ 0, 0, 0, 0, 0,0xDCAD, 0, 0,
+ 0, 0, 0, 0,0xE2EB,0xD6FC, 0, 0,
+0xCAF9, 0, 0,0xD4DA, 0, 0, 0, 0,
+ 0, 0, 0,0xF4D7,0xCCA1, 0, 0,0xCFBA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xF5B8,
+ 0, 0, 0,0xD9C3,0xD0E8, 0, 0, 0,
+ 0, 0,0xE3C5,0xEBF8, 0,0xF2B1, 0, 0,
+ 0,0xCFBB, 0, 0, 0,0xD3AD,0xE8E1,0xCEEC,
+ 0, 0, 0,0xE0B4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xDEE3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xDDF7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF2B2,0xF3F6,0xF6DB,
+ 0, 0, 0, 0,0xD7FE, 0, 0, 0,
+ 0, 0,0xF8DF, 0,0xF7F2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD0A9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE6DA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF5A6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD7BC,0xCCE3, 0, 0,0xE6DB,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDDDD, 0, 0, 0,
+ 0,0xD1B3, 0, 0, 0, 0, 0,0xEFED,
+ 0, 0, 0, 0,0xD6DE,0xE4F4,0xE1EF, 0,
+ 0,0xDDF8, 0, 0, 0, 0, 0,0xE8CF,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xCAE5, 0, 0, 0,0xDCA1,
+ 0,0xE0B5, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xFCAC,0xFCAD,0xD8A7, 0, 0, 0,
+ 0,0xEDB8, 0, 0, 0,0xDBB6, 0, 0,
+ 0, 0,0xD6F0,0xF3AF, 0, 0,0xCDA5, 0,
+0xDAF1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD8A8, 0, 0, 0,0xCCE4, 0, 0,0xD1B4,
+ 0, 0, 0, 0, 0,0xCAD8, 0, 0,
+ 0, 0, 0,0xDAF2, 0, 0, 0, 0,
+ 0,0xF5A7, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF5A8, 0,
+ 0, 0, 0, 0, 0, 0,0xE6A6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD5EC,0xD5F8,0xDAF3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE3C6, 0, 0, 0,0xDEE4, 0,
+0xDEE5,0xD1B5, 0, 0, 0, 0, 0,0xD1B6,
+0xD1B7,0xF2B3, 0, 0, 0, 0, 0, 0,
+0xE9DE, 0, 0, 0, 0, 0,0xF0D3,0xF2B4,
+ 0, 0,0xF0D4,0xCBE4,0xFBD4,0xF5E6,0xE3EA, 0,
+0xDEE6, 0, 0, 0, 0,0xDFD4, 0, 0,
+0xF8F9, 0, 0, 0, 0,0xF0AE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD1B8, 0, 0, 0, 0,0xD6DF,
+ 0,0xD0D7, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xFCA1,0xEFEE,0xDCD8,
+ 0,0xE9DF, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE5DD,0xFDFB,
+ 0, 0,0xE0C9, 0, 0, 0,0xD6C9, 0,
+ 0,0xD4AA, 0,0xE5CC, 0, 0, 0, 0,
+ 0,0xE9E0, 0, 0, 0,0xD0D8,0xFCA2,0xD4BE,
+0xE2B3,0xDEE7, 0, 0, 0, 0, 0, 0,
+ 0,0xDCBC,0xD2B6,0xF5D5, 0, 0, 0, 0,
+ 0,0xCEA1,0xF5A9, 0, 0,0xDDF9, 0, 0,
+0xDDFA, 0, 0, 0, 0, 0, 0,0xF0D5,
+ 0, 0, 0, 0,0xF6DF, 0,0xF2DA,0xE4EB,
+ 0,0xF2F1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xECB9, 0, 0, 0, 0,
+0xFDFC, 0, 0, 0, 0,0xE1AA, 0, 0,
+0xCAD9, 0, 0,0xEFEF, 0,0xF5AA, 0, 0,
+ 0, 0, 0, 0,0xECF9, 0, 0,0xF8AD,
+ 0,0xF2C2,0xF6C3, 0,0xD7D2, 0, 0,0xF9A2,
+0xF0D6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF0FA, 0,
+ 0,0xF6E0, 0, 0, 0, 0,0xE9F3,0xF2C3,
+ 0, 0, 0,0xD4AB,0xCAB3,0xCDA6, 0,0xCDC3,
+0xCDDA, 0, 0, 0, 0, 0,0xD9CF, 0,
+ 0,0xF6C4, 0, 0, 0,0xEEDD,0xE7C4, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE2B4,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xDFE2,0xE7DB, 0, 0, 0, 0, 0,
+ 0,0xE8B1, 0,0xFCAE, 0, 0, 0, 0,
+0xE5CD, 0, 0, 0,0xFAEB, 0,0xCFBC, 0,
+ 0,0xCFE2,0xCDF6, 0, 0,0xEFF0, 0,0xF4BE,
+ 0,0xD4CD, 0, 0,0xF3B8, 0, 0, 0,
+0xE9A1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF2F2,0xF3EB, 0,0xF0D7, 0, 0,
+0xCFD7, 0, 0, 0, 0, 0, 0,0xCFDF,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE8C0,0xE8C1, 0, 0, 0,0xCFE3,0xE9A2,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD0AA, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF3C1,0xD0AB, 0,0xD4E4,
+ 0, 0,0xEFBC,0xD8A1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD9DF,
+ 0,0xF3D7, 0, 0, 0,0xDCBD, 0,0xCCE5,
+0xEDF1, 0, 0,0xF1E2, 0,0xD4DB, 0, 0,
+ 0, 0,0xE2B5, 0, 0,0xCAE6, 0,0xD3AE,
+ 0, 0, 0, 0, 0, 0,0xCCE6, 0,
+ 0,0xF1D3,0xF5E7, 0, 0, 0, 0,0xCADA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xFBEE,
+ 0,0xE1C5, 0, 0, 0, 0, 0, 0,
+ 0,0xDFE9, 0,0xEEDE, 0, 0,0xF7C2, 0,
+0xD8A2, 0, 0, 0, 0, 0,0xDDAC, 0,
+ 0, 0, 0, 0,0xF0AF,0xD6BD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE1AB, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF9B6, 0,
+ 0,0xD4F5, 0,0xD0C9,0xEFA7,0xE2EC, 0,0xDBEA,
+0xCECC,0xF5E8,0xF7D5, 0,0xD3CD, 0,0xF3FE, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD0B5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE0FE, 0,0xDFFB, 0,
+ 0, 0, 0, 0, 0,0xE6DD, 0, 0,
+ 0, 0, 0, 0, 0,0xE8A4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCBCD,
+ 0, 0, 0,0xEFA8, 0, 0, 0,0xEEB4,
+ 0, 0, 0, 0,0xDAD8,0xD1B9, 0,0xDFA9,
+ 0, 0,0xF3B0, 0, 0,0xCCC4, 0, 0,
+ 0,0xCEB7, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xEFA9, 0, 0,
+ 0,0xDFD5, 0, 0,0xEDD7, 0, 0, 0,
+0xEEC6, 0, 0, 0, 0, 0, 0, 0,
+0xEFBD,0xFCD6, 0, 0,0xDBF4, 0,0xEFAA,0xF8B9,
+ 0,0xF5E9, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE3D9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE1C6, 0, 0, 0,0xD4BF, 0, 0, 0,
+ 0,0xDEE8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xF0EA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF3C2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD3AF, 0,
+ 0,0xCADB, 0, 0, 0, 0, 0,0xFCD7,
+ 0, 0,0xEDD8,0xE1C7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF4D8,0xD6B3,0xDDAD,
+ 0, 0, 0,0xD5BE, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF1C3,0xEEDF, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD6EB, 0, 0, 0,0xF4D9, 0, 0, 0,
+ 0, 0, 0, 0,0xD7E6, 0, 0, 0,
+ 0, 0, 0,0xDAB7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xDDFB, 0, 0, 0, 0,
+ 0,0xDDCF, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD8A3, 0, 0,0xDAD9, 0,0xF0D8,
+0xEFC4, 0, 0, 0, 0, 0, 0,0xE1D8,
+ 0, 0, 0, 0, 0,0xF1D4, 0,0xEDF2,
+ 0, 0, 0, 0, 0, 0,0xD5DB, 0,
+ 0,0xD5DC,0xF3C4,0xCBD7, 0, 0, 0, 0,
+ 0,0xE2B6, 0, 0, 0, 0,0xEFF1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xFBD5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD3D8, 0,
+ 0, 0, 0, 0, 0, 0,0xDDD0,0xF0D9,
+0xCBB3, 0, 0, 0, 0, 0, 0,0xD5DD,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xCDA7, 0, 0,0xD0AC, 0,
+0xD1BA, 0,0xF1C4, 0,0xE5B3,0xFBF5,0xE9E1,0xFDE0,
+0xFCBC, 0,0xDAA2,0xDAA3, 0,0xD2A1, 0, 0,
+0xD2EF, 0, 0, 0,0xE2ED, 0, 0,0xDEE9,
+0xCEDC,0xF2B5,0xD0E4,0xDDD1, 0, 0, 0, 0,
+0xE1C8,0xDBB7,0xDFE3, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xEDB9,0xF1C5, 0,0xF3CF,0xD7AB,
+0xE1AC, 0, 0,0xE3EB, 0,0xEEC7, 0, 0,
+ 0,0xE1C9,0xCAFA, 0, 0, 0, 0, 0,
+ 0, 0,0xF0FB,0xFAE1,0xF0DA,0xCCE7,0xDAF4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCCBF, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xCEED, 0,
+ 0,0xD5A9,0xFAE2, 0, 0, 0,0xD0E5, 0,
+0xEBD6, 0,0xECDF, 0, 0, 0,0xDFFC, 0,
+ 0,0xF7D6,0xDEEA,0xCBB4, 0, 0,0xEFBE, 0,
+ 0,0xCCB5, 0, 0, 0, 0, 0,0xCFBD,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xEFF2,0xE2B7,
+ 0, 0, 0,0xCCE8, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF0FC, 0, 0, 0,
+0xD6E0, 0,0xF1C6, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE2B8,0xEBAB, 0, 0,
+ 0,0xCBB5,0xD8D1, 0,0xF4CE,0xF3F7, 0, 0,
+0xD7C6, 0,0xD1BB,0xF7AA, 0,0xEDCA,0xD7D3,0xD8FA,
+ 0, 0, 0, 0, 0, 0, 0,0xF6C5,
+ 0, 0,0xD1CC,0xDDFC, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xDFFD, 0,
+0xF9E5, 0,0xE0CA, 0, 0,0xF2FD,0xD3B0, 0,
+0xF4F3,0xDAC9, 0,0xE6DE, 0, 0, 0, 0,
+0xF8BA,0xE8D0, 0, 0,0xD8FB, 0, 0,0xEAD5,
+ 0, 0, 0, 0,0xD6A3, 0, 0, 0,
+ 0, 0, 0,0xF6C6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF2DB,0xE4FC, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE8B2, 0, 0,
+ 0, 0, 0,0xDADA, 0,0xF2DC,0xFBD6,0xE9B2,
+ 0,0xEEAD, 0,0xFAE3, 0, 0, 0, 0,
+ 0, 0, 0,0xDCEE, 0, 0,0xF5EA,0xE6E0,
+ 0,0xF0FD, 0, 0, 0, 0, 0,0xD7AC,
+ 0, 0, 0, 0, 0,0xF5C5,0xEEE0, 0,
+ 0,0xDBE5, 0,0xDDDE, 0, 0,0xD9F0,0xE9A3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF1F9, 0,0xF2C4,0xE0CB, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE9A4, 0,
+ 0,0xE2B9, 0, 0, 0, 0, 0, 0,
+ 0,0xE3B1,0xFCEB,0xCDA8, 0,0xCCB6, 0, 0,
+0xF0DB, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE6BA, 0, 0,0xCDA9, 0, 0, 0,
+ 0, 0,0xF3C3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE1D9, 0, 0,0xEFAB,
+ 0, 0, 0,0xE7C5, 0, 0,0xE0E9, 0,
+0xF3C5, 0, 0,0xD4C0,0xD5BF, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xDDAE, 0,
+0xF9FC, 0,0xCCC0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE5A2, 0, 0, 0,
+0xCEB8, 0, 0, 0,0xD8D2,0xF9D6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF1AA,0xCED1, 0, 0,0xF6C7, 0,
+0xDBEB, 0,0xDFFE, 0, 0,0xD8E1, 0,0xF7F3,
+ 0,0xD7E7, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD4FE, 0, 0,
+0xD1BC, 0,0xE5CF, 0,0xCBB6, 0,0xDAB8, 0,
+ 0, 0, 0, 0,0xCDC4, 0, 0, 0,
+ 0, 0,0xD6BE, 0, 0, 0,0xE2BA, 0,
+ 0, 0, 0, 0,0xCFD8, 0, 0, 0,
+0xE0CC,0xEBF9, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xFDFD, 0, 0, 0, 0, 0,
+0xD7E8,0xCBD8, 0, 0, 0,0xE9E2, 0, 0,
+ 0,0xE8BA, 0, 0, 0,0xE3C7, 0, 0,
+ 0, 0,0xECCD, 0,0xECCE, 0,0xD6BF, 0,
+ 0, 0,0xE3A7, 0,0xDFD6,0xFDE8, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xEEE1,
+0xF6A8,0xDDFD, 0, 0, 0, 0, 0, 0,
+ 0,0xF8BB, 0,0xE8D1, 0, 0, 0, 0,
+0xF9D7, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCEEE, 0, 0,0xECCF, 0, 0, 0,
+0xE9A5,0xD6D5, 0,0xCDC5, 0,0xEDBA,0xD1BD, 0,
+ 0,0xCFBE, 0, 0,0xECBB, 0, 0, 0,
+0xD2B1, 0, 0, 0, 0,0xCCE9, 0,0xD9C4,
+0xE9FC, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD1BE, 0, 0,
+ 0, 0, 0,0xECBC, 0, 0,0xE5AD, 0,
+ 0, 0, 0, 0, 0,0xF7B0, 0,0xCCEA,
+ 0, 0, 0,0xD3C4, 0, 0,0xD6C0, 0,
+ 0, 0,0xD6FD, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE1A1, 0,
+0xDEBD, 0,0xF6A9, 0, 0, 0,0xDAA4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD6A4,
+0xF5C6, 0,0xE1A2,0xE9C6, 0, 0, 0,0xF2C5,
+ 0, 0, 0, 0, 0,0xF4E9,0xD6EC,0xEBD3,
+ 0, 0, 0, 0,0xECBD,0xE2DC,0xDEEB,0xF0DC,
+ 0,0xEBBF, 0,0xD7CE,0xD1BF, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF5AB, 0,
+ 0, 0, 0,0xF9FD, 0,0xCADC, 0, 0,
+ 0,0xCDC6,0xF2B6, 0, 0,0xDDFE, 0, 0,
+ 0,0xCCB7,0xDBB8, 0, 0, 0, 0,0xD0E9,
+ 0,0xCEDD,0xEBC0, 0,0xFDA2, 0, 0, 0,
+ 0, 0,0xF8CB, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xEAD6,0xF1B0, 0, 0, 0,
+ 0, 0, 0, 0,0xDBCE, 0,0xF7C3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xDBCF,0xCBA4, 0, 0,0xF8E0, 0,
+ 0,0xFBD7, 0, 0,0xEBCA,0xE0A1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCECD, 0, 0,0xD4DC, 0, 0, 0,
+0xFDD8, 0, 0, 0, 0,0xD2F6, 0, 0,
+ 0, 0,0xF2B7, 0, 0,0xFAF6,0xF6AA,0xFAF7,
+0xD8E6, 0,0xF4B1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE8D2, 0,0xCAC5,0xCCEB, 0, 0, 0, 0,
+ 0, 0, 0,0xE2EE, 0, 0, 0, 0,
+ 0,0xE2BB, 0,0xF7AD, 0, 0, 0,0xF8E1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF3EC, 0, 0, 0, 0,0xDEA1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE4FD, 0, 0,0xE3EC, 0,
+0xDDAF,0xDDB0, 0, 0,0xCBB7,0xE8D3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE1A3,0xD2E0, 0,
+ 0, 0, 0,0xF0FE, 0, 0, 0, 0,
+0xE9A6,0xCBF2, 0, 0, 0, 0, 0, 0,
+0xEDF3,0xDCD9,0xE0CD, 0, 0, 0, 0,0xF7DA,
+0xDBB9, 0, 0, 0, 0, 0, 0, 0,
+0xCCAE, 0,0xDADB, 0, 0, 0, 0,0xCDC7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xDDB1, 0,0xD8AF,0xE3A3, 0, 0,
+0xCEEF, 0, 0,0xF2F3, 0, 0, 0, 0,
+0xF8B3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE0CE, 0,0xF5FD, 0, 0,
+ 0, 0,0xEBEC, 0, 0,0xD3C5,0xFCEC,0xD2DB,
+0xD4EB, 0,0xDEA2, 0, 0, 0,0xE5E6, 0,
+ 0, 0, 0, 0, 0,0xF0B0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD5C4, 0, 0, 0, 0, 0, 0,0xEDF4,
+ 0, 0, 0,0xE3ED, 0,0xE8C2, 0,0xEDF5,
+0xD7FC, 0,0xEDBB, 0, 0,0xF6AB, 0, 0,
+ 0, 0, 0,0xF2B8,0xF6C8, 0, 0, 0,
+ 0, 0,0xD3E6,0xF2DD,0xCFBF, 0,0xEBAC, 0,
+ 0, 0, 0, 0, 0,0xCFC0, 0,0xE6A8,
+0xFDE9, 0,0xCFC1, 0,0xE0DF,0xDEEC, 0, 0,
+ 0, 0,0xE0A2, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF4BF,0xE2EF, 0,0xD9F1,0xF1C7,
+ 0,0xCBB8, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF9FE,0xDBBA,0xDAF5, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF6EC,0xDADC,0xFAE4,
+ 0,0xE0CF, 0, 0, 0, 0, 0, 0,
+0xDDB2, 0, 0, 0, 0,0xE6A9, 0,0xEFF3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF3ED, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xEBFA, 0,0xF9E6, 0,
+ 0, 0, 0, 0, 0, 0,0xCADD,0xD5DE,
+ 0,0xCADE,0xDFE4, 0, 0, 0,0xE6FD, 0,
+0xF5AC, 0, 0, 0, 0, 0,0xE4F5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE9E3, 0,0xEDCB,0xCFE4, 0,
+ 0, 0,0xD8D3, 0, 0, 0, 0, 0,
+ 0,0xDDB3,0xD4EC, 0, 0,0xF2B9, 0,0xDFB7,
+ 0, 0, 0, 0, 0,0xCBCE,0xFBD8, 0,
+ 0,0xD0D9, 0, 0,0xDDD2,0xF7F4,0xE7DC,0xE4A5,
+ 0,0xFCA3, 0,0xDBBB, 0, 0, 0,0xF2BA,
+0xE9FD,0xD0CA, 0,0xF5D6,0xD9C5,0xE4B4, 0,0xEDA7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xEABD,0xE6FE, 0,0xF7C4,0xF5AD, 0,0xD9E0,
+ 0, 0, 0,0xCAB4, 0, 0,0xF8E2,0xCFC2,
+ 0,0xECBE, 0, 0, 0,0xE5B4,0xCDC8,0xEEC8,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE7C8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xCDC9,0xF9B7, 0,
+ 0,0xF1E8,0xD9F2,0xDBF5,0xCAB5,0xD9C6, 0, 0,
+ 0,0xD8C9, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD9AB,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEDBC, 0, 0,0xD8D4, 0, 0, 0,0xDCDA,
+ 0,0xE2BC, 0, 0,0xFCED,0xECE0,0xD2FE, 0,
+0xE9C7,0xE6AA, 0, 0, 0, 0, 0, 0,
+0xE2F0, 0, 0, 0, 0, 0, 0,0xFABB,
+ 0,0xF5AE,0xFBAA, 0, 0, 0, 0,0xECFB,
+ 0,0xECBF,0xFCD8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD4E5, 0, 0, 0,0xF9C3,
+ 0, 0, 0,0xEEE2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xD7E9,0xEDF6, 0, 0, 0,0xDEED, 0,
+ 0, 0, 0, 0, 0, 0,0xCCEC, 0,
+0xE3EE, 0, 0, 0, 0, 0,0xE8D4, 0,
+ 0, 0,0xFAF8, 0, 0, 0, 0, 0,
+ 0,0xDDB4,0xE4B5,0xD8B0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD8D5, 0, 0,
+ 0,0xF4EA, 0, 0, 0,0xCEB9, 0, 0,
+ 0,0xD6E1,0xCFD2, 0,0xD0B6, 0, 0, 0,
+ 0, 0, 0,0xCEA2, 0, 0,0xF3EE, 0,
+ 0, 0, 0, 0,0xF3F8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xDCCC, 0,0xD0CB, 0, 0, 0,0xFCA4,
+0xCDCA,0xD7D4,0xDEA3, 0,0xE4E0, 0, 0, 0,
+ 0,0xEEC9, 0, 0, 0,0xE2DD, 0, 0,
+ 0, 0, 0,0xF5FE,0xD4AC, 0, 0, 0,
+ 0, 0,0xD5D1, 0,0xD8F0,0xF8C3,0xEAD7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF5D7, 0, 0,0xD8BF, 0, 0, 0,
+ 0,0xFDC0, 0, 0, 0, 0, 0, 0,
+0xEBAD, 0, 0, 0, 0,0xD5AA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE7A8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xEECA,
+ 0, 0, 0,0xCAE7, 0, 0, 0, 0,
+ 0,0xF8E3, 0,0xD4DD, 0, 0,0xEAD8, 0,
+ 0, 0, 0,0xFBD9,0xEDF7, 0, 0,0xE5B5,
+ 0, 0, 0, 0, 0,0xD0AD, 0, 0,
+ 0, 0,0xF1F1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE2BD, 0, 0, 0,0xE3C8, 0, 0, 0,
+ 0,0xD9D5, 0, 0,0xDFAA, 0, 0, 0,
+ 0,0xDBBC, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF8E4, 0, 0, 0, 0, 0,
+0xF1FA, 0, 0,0xE5B6,0xF3EF, 0, 0,0xFBDA,
+0xE1E0, 0,0xD9AC, 0,0xF5EB, 0,0xE0B6, 0,
+ 0,0xE9C8, 0,0xCBCF, 0,0xE3C9, 0, 0,
+ 0,0xDEEE, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE2BE, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDCEF, 0,0xD6A5, 0,
+ 0, 0, 0, 0,0xE2F1, 0, 0, 0,
+ 0, 0, 0, 0,0xD6FE, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xD9A1, 0,0xD8C0,0xDCDB, 0, 0,0xEDBD,
+0xDFB8, 0,0xEAA5, 0, 0, 0,0xD7AD, 0,
+ 0,0xF3F9, 0,0xEDF8, 0,0xF5C7, 0, 0,
+ 0, 0, 0, 0,0xE1CA,0xEBE3, 0,0xF2DE,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF8CC, 0,0xEAD9,
+ 0,0xD3C6, 0,0xDBE6, 0, 0, 0, 0,
+ 0,0xF5AF, 0, 0, 0, 0,0xCEF0, 0,
+ 0, 0, 0,0xE9FE, 0, 0, 0, 0,
+ 0,0xFBB6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE2F2, 0, 0, 0, 0,
+0xCFF2,0xF7B9,0xD9F3, 0, 0,0xE1CB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDADD, 0, 0,0xDAB9,
+ 0, 0, 0, 0, 0, 0, 0,0xEBFB,
+ 0,0xCBB9, 0, 0,0xEDF9, 0, 0, 0,
+ 0, 0, 0,0xE0E0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF4C0, 0,
+0xFDBC,0xDFB1,0xE3EF, 0, 0, 0, 0,0xE0A3,
+0xFDB9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF0B1, 0, 0, 0, 0, 0,
+ 0,0xCDCB, 0, 0, 0, 0, 0, 0,
+ 0,0xEDBE, 0, 0, 0,0xD5C0,0xE3F0,0xEDFA,
+ 0, 0, 0, 0, 0,0xE9E4, 0, 0,
+ 0, 0, 0, 0,0xD5ED,0xE7DD, 0, 0,
+ 0, 0, 0, 0,0xD4F6,0xE5B7, 0, 0,
+ 0,0xDBE7,0xE2BF, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xEECB,
+ 0, 0,0xD7F4,0xF0DD, 0, 0, 0,0xCEAB,
+ 0, 0,0xE7DE, 0, 0, 0,0xD6D6,0xE1CC,
+ 0, 0,0xE8B3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE5EE,0xDCA2,
+ 0, 0,0xE0D0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD5B5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD5A1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xFBDB, 0,
+0xF9CB, 0, 0, 0,0xCBF3,0xF4A5, 0, 0,
+ 0, 0, 0,0xFAC8,0xD6D7, 0,0xE9E5,0xFBDC,
+ 0, 0, 0, 0, 0, 0, 0,0xFDD0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xFBF6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xDAA5, 0,0xDBBD, 0, 0, 0,
+ 0, 0, 0,0xECE2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xCDF7,0xF0DE, 0, 0, 0,
+ 0,0xF6C9, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xDEEF,
+ 0, 0, 0,0xD3B1, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xFCEE, 0, 0, 0,
+ 0,0xE8C3, 0,0xF1C8, 0, 0, 0,0xCEF1,
+ 0, 0, 0, 0,0xF9ED, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF2F4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE4B6, 0,
+0xF5B9, 0,0xDCF0,0xE3F1, 0, 0, 0, 0,
+0xE8A5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF2BB, 0,0xDEA4, 0,0xDACC, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xCAE9, 0,
+ 0, 0, 0, 0, 0,0xE3DA, 0,0xFCD9,
+ 0, 0, 0, 0, 0, 0, 0,0xEADA,
+ 0, 0, 0, 0, 0, 0,0xF9C4, 0,
+0xE3A4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xFBDD, 0,0xEFCA, 0,
+0xE8C4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD5CC, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xEBD7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD9AD,
+ 0, 0,0xFBAB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD3D9, 0, 0, 0, 0,
+ 0, 0,0xD5A2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF6DE, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xDAF6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE0D1, 0, 0,0xE9A8,
+ 0, 0,0xF5F9, 0, 0, 0, 0, 0,
+ 0,0xFAAF, 0,0xEBFC, 0, 0,0xE0EA, 0,
+ 0, 0, 0, 0, 0,0xE3B2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD5C5,
+ 0, 0,0xF1E3,0xD5EE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCDCC, 0, 0, 0, 0,0xEDD9, 0,
+ 0, 0, 0,0xD8C1, 0, 0, 0, 0,
+0xFAEC, 0, 0, 0, 0, 0,0xF1EB, 0,
+ 0, 0, 0, 0,0xFABC,0xE6E2, 0, 0,
+ 0, 0,0xFAE5,0xE2FA, 0, 0, 0,0xCAB6,
+ 0,0xE4B7, 0,0xEADB, 0,0xF5FA, 0, 0,
+ 0,0xFBAC,0xCFC3,0xEBFD, 0, 0, 0, 0,
+0xF8FA, 0, 0,0xDFB9, 0, 0, 0, 0,
+0xE1F1, 0,0xD2A4, 0, 0, 0, 0,0xF5FB,
+ 0, 0, 0, 0, 0, 0,0xD0DA,0xD0DB,
+ 0,0xEABE,0xD9B1, 0, 0, 0, 0, 0,
+0xCAB7, 0, 0,0xD3E7, 0,0xF8E5, 0, 0,
+ 0, 0,0xD3B2, 0, 0, 0,0xE2C0,0xF2DF,
+ 0, 0, 0, 0, 0, 0,0xCDE5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF9AC, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xCDCD, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xEEAE,0xD6AE, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD7EA,
+ 0, 0, 0, 0,0xE7E0,0xEBAE, 0, 0,
+ 0,0xCFD9, 0, 0,0xDCCD,0xEDFB, 0,0xDEF0,
+ 0,0xD7EB, 0, 0, 0, 0, 0, 0,
+0xDEA5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xDFD7,0xDBD0,0xDBD1, 0, 0,
+0xD5A3, 0, 0, 0, 0,0xF0B2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xDCDC,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCAE8, 0,0xF8E6,0xDCCE, 0, 0, 0, 0,
+0xEADC,0xDBD2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE9B3, 0, 0,
+ 0, 0,0xF7DB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE3A8, 0,
+0xD7AE, 0, 0,0xE0E1, 0, 0, 0, 0,
+ 0,0xCBBA, 0, 0,0xE5D1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD0DC,
+ 0, 0, 0, 0,0xD5C1, 0, 0, 0,
+ 0, 0,0xD8CA, 0, 0, 0, 0, 0,
+ 0, 0,0xE3A9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE0A4,
+ 0,0xE9A9, 0,0xD3C7, 0, 0,0xDCDD,0xF8AE,
+ 0, 0, 0,0xCCB8, 0, 0, 0,0xD0AE,
+ 0, 0, 0,0xD8F2, 0, 0,0xE3CA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCCAF, 0, 0, 0, 0, 0, 0,
+ 0,0xD4AD,0xF6D1, 0, 0, 0, 0, 0,
+ 0, 0,0xD0CC, 0, 0, 0, 0, 0,
+ 0, 0,0xCAC6, 0, 0,0xD5C2, 0, 0,
+0xCEBA, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xCAC7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xFAB0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDFD8, 0, 0, 0,
+0xF5BA, 0, 0, 0, 0, 0, 0, 0,
+0xE5EB, 0,0xEFF4,0xDDB5, 0, 0, 0, 0,
+0xCDAA, 0,0xE3F2, 0,0xFBF7, 0,0xF7D0, 0,
+ 0, 0, 0,0xFDBA, 0, 0,0xFDE1,0xF6FE,
+0xD1C0, 0, 0,0xE8C5, 0,0xE4B8, 0,0xE1E8,
+ 0, 0, 0,0xCCC1, 0,0xD2ED, 0, 0,
+ 0, 0,0xDBBE, 0, 0,0xE0E2, 0, 0,
+ 0,0xFAC9, 0, 0,0xE1CD, 0,0xCAB8, 0,
+ 0, 0,0xF2E0,0xF1C9, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xDEF1, 0, 0, 0,0xF0DF,0xF8C4, 0, 0,
+ 0, 0, 0,0xEECC, 0, 0,0xDEF2, 0,
+0xE7C9, 0,0xE2F3,0xE7E1, 0, 0,0xE3CB, 0,
+ 0,0xE3CC, 0, 0, 0,0xCFF8,0xEFAC, 0,
+0xFDFE,0xFCA5,0xFAB1,0xDFD9, 0,0xE0D2, 0, 0,
+ 0,0xF4DA, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF1CA, 0,0xCEA3,
+ 0, 0, 0, 0,0xF2BC,0xECE3, 0, 0,
+ 0, 0, 0,0xE0A5, 0,0xF7AB, 0, 0,
+0xEBAF, 0, 0, 0, 0, 0,0xE5DE, 0,
+0xE1A4,0xCDAB, 0,0xD9F4,0xE8A6,0xCDCE,0xE1E9, 0,
+0xFCEF, 0,0xE0E3, 0, 0, 0, 0, 0,
+0xE2C1, 0,0xCEA4, 0, 0, 0, 0, 0,
+ 0,0xDEA6, 0, 0,0xEBFE, 0,0xEBDD,0xF0E0,
+ 0, 0,0xF4DB, 0,0xE2F4, 0, 0,0xD3C8,
+ 0, 0, 0,0xF4EB, 0,0xEEB5, 0,0xF5D8,
+ 0, 0,0xD5DF, 0, 0, 0,0xD6E5, 0,
+ 0, 0, 0,0xEBB0,0xF4E3, 0, 0, 0,
+ 0,0xE3CD, 0, 0, 0, 0,0xF4F4,0xFAB2,
+ 0, 0,0xEFF5,0xCADF, 0,0xEBB1,0xEDBF, 0,
+ 0,0xFDC9, 0, 0, 0, 0,0xE4A6,0xF9A4,
+0xF0B3, 0,0xE5EC, 0, 0, 0,0xD1E7, 0,
+0xD9C7,0xE4D7,0xEADD, 0,0xD4F7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xDABA, 0,
+0xDACD, 0, 0, 0,0xF9CC, 0,0xE1DA,0xDBBF,
+ 0,0xCCC5,0xECD0,0xCBBB, 0,0xDEF3, 0, 0,
+0xE9AA, 0, 0, 0, 0, 0, 0, 0,
+0xD9C8, 0, 0,0xEEE3,0xD7BD, 0, 0, 0,
+ 0, 0, 0,0xCFC4, 0, 0, 0, 0,
+ 0,0xD0CD, 0, 0, 0, 0, 0, 0,
+ 0,0xFCA6, 0, 0, 0, 0, 0, 0,
+ 0,0xF1FB, 0, 0, 0, 0,0xFDD2,0xD1C1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE3DB, 0,0xD3C9, 0,0xDCCF, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xCCED, 0,
+ 0, 0, 0, 0,0xDEA7, 0, 0,0xE6BB,
+0xECA1, 0, 0, 0,0xCCB9, 0, 0,0xFBDE,
+ 0, 0, 0, 0, 0,0xE7E2, 0, 0,
+0xD4C1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xDCA8, 0, 0, 0, 0, 0,
+0xE2C2, 0,0xF3D8,0xE5D3, 0, 0,0xF3D9, 0,
+ 0, 0,0xF3C6, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCDDB,
+ 0, 0, 0, 0, 0, 0, 0,0xCDAC,
+ 0,0xFCC3, 0, 0, 0, 0,0xD4E7, 0,
+0xD1C2, 0,0xF9A5, 0,0xE8D5, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE3CE, 0, 0,
+ 0, 0,0xD4CA, 0, 0, 0, 0, 0,
+ 0,0xDFDA, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xFBDF,0xE7E3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF8FB,0xE3CF, 0, 0, 0, 0, 0,
+ 0, 0,0xF5B0, 0, 0, 0, 0, 0,
+ 0, 0,0xD8E7, 0,0xD9C9, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF8AF,0xEFF6, 0,
+0xDDB6,0xEEAF,0xCDF8, 0, 0, 0, 0,0xDEB8,
+0xFCA7,0xF7FC,0xF7B1,0xCEBB,0xF4A1, 0, 0,0xEECD,
+0xE1AE, 0, 0,0xECC3,0xCFFE, 0,0xF8BF,0xD8E2,
+0xD3E8, 0, 0,0xDEA8,0xF4E4,0xECC2, 0,0xD9F5,
+0xF9C5,0xDDD3,0xD6F1,0xECFC,0xFCF0, 0, 0,0xEDC0,
+0xCAB9, 0,0xEEE4, 0, 0, 0, 0, 0,
+ 0,0xF2E1, 0,0xDEB9, 0, 0, 0, 0,
+ 0, 0,0xD6F2, 0,0xDEF4, 0,0xDFDB, 0,
+0xDBD3, 0,0xFAE7,0xD8E3,0xF4C1, 0,0xDDB7, 0,
+ 0, 0,0xF2F5, 0, 0,0xD4AE, 0, 0,
+ 0, 0, 0, 0,0xD6F3, 0, 0, 0,
+ 0, 0, 0,0xDDB8,0xCFC5,0xDFDF, 0, 0,
+ 0, 0, 0, 0,0xF2BE,0xF6A1, 0,0xEBCB,
+0xF1FC, 0,0xF3C7, 0, 0,0xE0EB, 0, 0,
+ 0, 0, 0,0xEDFC, 0, 0,0xE1DB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xEEE5, 0,0xDEF5, 0,
+ 0, 0, 0,0xFAD3, 0, 0, 0, 0,
+0xF1CB, 0, 0,0xD0AF,0xDDB9, 0, 0,0xD1C3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF5B1, 0, 0,
+ 0, 0,0xEAC6, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF0E1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF6AC, 0, 0, 0, 0,
+0xF5D9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF0EB, 0, 0, 0, 0,
+ 0, 0,0xDDBA, 0, 0, 0,0xF2BF, 0,
+ 0, 0, 0, 0, 0, 0,0xF7C5, 0,
+ 0, 0, 0,0xDBA2,0xF2F6, 0, 0,0xCABA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF7F5, 0,0xCBE5, 0, 0,
+ 0,0xEEE6, 0,0xE0D3, 0, 0, 0, 0,
+0xCEA5, 0, 0, 0, 0, 0, 0,0xD6D8,
+ 0, 0, 0,0xD4AF, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE9C9, 0, 0, 0, 0,0xD3CE,
+0xF4C2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xCBE6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF1A1, 0, 0, 0, 0, 0,
+0xEBB2, 0, 0, 0, 0,0xF1A2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xEBB3, 0,0xF0B4, 0, 0,0xCBF4,
+0xD4B0,0xF3B2,0xFBB7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF5EC, 0, 0, 0, 0, 0,0xEEE7,
+0xF4B2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF5ED, 0,0xCFF3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF0E2, 0, 0, 0, 0, 0,0xEECE,
+ 0, 0,0xF1CC, 0, 0,0xE5B8, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD7F5,0xE3F3,0xCFE5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCFC6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF3B3,0xE4D8,0xCFF9,0xCFDA, 0, 0,
+ 0, 0,0xFACD, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE6E3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF2E2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF5EE, 0, 0,0xCABB, 0, 0,0xE3DC, 0,
+ 0, 0, 0,0xCEF2, 0,0xD6D9, 0, 0,
+ 0,0xEEB0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF4E5,0xD8C2,0xDCD0,0xCCEE, 0, 0,
+ 0, 0, 0,0xD5E0,0xF6CA,0xFDCA,0xD8D6,0xF4CF,
+ 0, 0, 0, 0, 0, 0,0xD6A6,0xDCBE,
+ 0,0xDBD4,0xD7C7, 0, 0, 0, 0,0xF2FE,
+ 0, 0, 0,0xF1CD, 0, 0, 0, 0,
+0xE2C3,0xDCDE, 0,0xDCDF, 0, 0,0xEFAD,0xE6AB,
+ 0, 0, 0, 0,0xF9DD,0xEABF, 0, 0,
+ 0,0xEFAE, 0, 0, 0,0xF4D0,0xCEF3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE6AC, 0,0xCEDE,
+ 0, 0,0xD5F9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE3F4,0xCDD0, 0, 0, 0,
+ 0, 0, 0,0xD5B8, 0, 0,0xF7FD, 0,
+0xDCA9, 0, 0, 0, 0,0xDEF6, 0,0xDCAA,
+0xF2E3,0xE9B4,0xD2DC, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE9E6, 0, 0,0xE3F6, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE7CA, 0,
+ 0,0xD0CE, 0, 0,0xDAF7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xCABC, 0,
+ 0, 0,0xEEE8,0xDADE, 0,0xF2F7, 0, 0,
+0xE2FB, 0,0xCCA6, 0, 0, 0, 0,0xDABB,
+ 0,0xEEE9, 0, 0, 0,0xF5DA, 0, 0,
+0xF7DC,0xE1EA,0xCEC1,0xD4B1, 0,0xFDB1,0xE6BD, 0,
+0xFBAD, 0, 0,0xF8E7, 0,0xE1CE, 0,0xF7E2,
+0xF5EF,0xCFC7, 0, 0,0xD4B2,0xCCEF, 0,0xD4E8,
+ 0,0xEECF,0xF7D7, 0, 0,0xE0A6,0xD6C1,0xE1DC,
+0xF0E3,0xF1E4,0xDCF1,0xD6A7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF4F5, 0,
+ 0,0xF1CE,0xF2E4, 0, 0,0xD0B0, 0, 0,
+0xECEF, 0, 0, 0,0xF9BA, 0,0xEBB5, 0,
+ 0,0xD4ED,0xE2C4, 0, 0, 0, 0,0xE9E7,
+ 0, 0,0xEBB4,0xEAA1, 0,0xF8BC,0xCEA6, 0,
+0xF9C6,0xFCDA, 0,0xD4B3,0xD3B9,0xEADE, 0, 0,
+ 0,0xE9AB, 0, 0,0xE1E1,0xD3CF,0xF4F6, 0,
+0xEAC0,0xE1CF, 0,0xCCBA, 0, 0, 0, 0,
+ 0,0xEEEA, 0, 0, 0,0xF0E4,0xF3B4,0xD4EE,
+ 0, 0,0xF2C0, 0, 0,0xF1E5, 0,0xF4C3,
+0xE0D4, 0,0xEBB6, 0,0xD7A1,0xCBE8, 0,0xF9AD,
+0xE9AD,0xD8E4,0xFAB3,0xE2C5,0xFCBD, 0, 0,0xECC4,
+0xD8B1, 0,0xDCAB, 0, 0, 0, 0,0xD5A4,
+ 0,0xEBE9, 0, 0, 0,0xE8BB, 0, 0,
+ 0,0xD8D7, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xFBAE,0xD1E1, 0, 0,0xDBC0, 0,
+0xF5BE, 0,0xDEF7, 0, 0, 0, 0,0xCAFB,
+0xF7C6,0xCFC8, 0, 0, 0,0xE1D0, 0, 0,
+0xEED0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE9F4, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xCEF4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD5CD, 0,
+ 0,0xCFDB, 0, 0, 0, 0, 0, 0,
+0xDDBB, 0, 0, 0, 0,0xCEAC, 0, 0,
+ 0, 0, 0, 0, 0,0xE9E8, 0, 0,
+ 0, 0, 0, 0, 0,0xD4B4, 0, 0,
+ 0, 0,0xE4C7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF5DB, 0, 0,0xFAC1, 0, 0,
+ 0,0xDEA9, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xD4F8,
+ 0, 0, 0, 0, 0,0xEFF7, 0, 0,
+ 0, 0,0xD3B3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xEBB7,0xEFF8,0xF5DC,0xEDCC,0xDBD5,0xF1CF, 0,
+ 0, 0,0xF1D0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF5B2, 0, 0, 0, 0, 0,
+ 0,0xD9AE,0xD5AC, 0,0xE2C6, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xFDA3, 0,0xFBE5,
+0xDFAB, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE2F5,
+ 0,0xF6AD, 0,0xF5B3, 0,0xF0B5, 0, 0,
+ 0, 0,0xE1A5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF5DD, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xECA2,0xEDFD, 0,0xF5B4,0xFBB8,
+ 0,0xDBA3, 0, 0,0xD6CA,0xCBD9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE5D4, 0, 0, 0, 0, 0, 0,0xF3FA,
+ 0,0xEBB8, 0,0xE0B7,0xD7EC,0xF1EC,0xE5AF,0xD5E1,
+0xD7ED,0xD1D1, 0, 0, 0, 0, 0,0xE1F2,
+0xEFF9, 0, 0, 0,0xDDBC,0xF6DC, 0, 0,
+ 0, 0, 0,0xF0E5, 0, 0, 0,0xF4C4,
+ 0, 0,0xE9E9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF3FB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD4EF, 0, 0,
+0xCCA2,0xF7FE,0xDFBC, 0, 0, 0, 0,0xEBCD,
+ 0, 0, 0, 0, 0, 0,0xD0B7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xD6C2, 0, 0, 0,
+ 0, 0,0xE8AD, 0, 0, 0, 0,0xEFAF,
+0xCBA5, 0, 0, 0, 0,0xCBE9, 0, 0,
+ 0,0xFAE8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCCC6,
+ 0, 0, 0,0xE6E7, 0, 0,0xEAC7, 0,
+ 0, 0,0xDBA4, 0,0xCFC9,0xE2FC,0xEFFA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEBDE, 0, 0,0xF5C8, 0,0xD4DE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE0D5, 0,0xEFB0, 0, 0,0xE2C7, 0,
+0xD9AF, 0, 0, 0,0xF9E7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE7E5, 0, 0,0xCFCA,0xE1D1,
+ 0,0xE2C8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xEFFB, 0, 0,0xFAF9,
+ 0, 0,0xDCF2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE0A7, 0, 0, 0,
+ 0, 0,0xF8E8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCBEA, 0, 0, 0,0xCBBC, 0, 0, 0,
+ 0, 0, 0, 0,0xD6E2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF5DE, 0, 0, 0, 0, 0, 0, 0,
+0xF5DF, 0,0xEEB6, 0, 0, 0,0xE2F6,0xD3CA,
+0xEFFC,0xD1C4,0xEFB1, 0,0xD1C5, 0,0xD0DE, 0,
+0xD9E1, 0, 0,0xE0B8, 0, 0,0xCDD1,0xF3B9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE7CC, 0,0xD6A8,0xCEA7, 0,0xD4B5, 0, 0,
+ 0, 0, 0, 0,0xE4C8, 0, 0, 0,
+ 0, 0, 0,0xD3B4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xEBB9, 0,
+ 0, 0, 0, 0, 0,0xCBF5, 0, 0,
+ 0, 0, 0, 0,0xF6DD, 0,0xF1A3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xCCC7, 0, 0, 0,
+ 0, 0, 0, 0,0xE9CA, 0,0xE1F0, 0,
+ 0, 0,0xF5E0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xFBAF, 0, 0, 0,0xCBD1,
+ 0, 0, 0, 0,0xFBE0,0xF2E5, 0, 0,
+0xECF0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF0EC, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xEEEB, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE9CB, 0,
+ 0,0xCCF0, 0, 0,0xD7AF, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF3A1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xFCF5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF1A4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE0D6, 0, 0,
+ 0, 0, 0,0xEFB2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF4D1, 0, 0,
+0xF7A1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF1D1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCAFC,0xCAFD, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xCECE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF3C8, 0,0xF3BA
+};
+
+/* page 7 0x9577-0x9F9C */
+static uint16 tab_uni_ksc56017[]={
+0xEDFE, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xDAA6, 0, 0,0xE0EC, 0, 0, 0,
+ 0, 0,0xF8CD, 0,0xCBD2, 0, 0, 0,
+0xEBCE, 0,0xF9D8,0xF9D9,0xCAE0,0xDACA, 0, 0,
+ 0,0xCBA6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xCAC8,0xF9EE,0xDBEC, 0,
+ 0,0xD0B1, 0, 0, 0, 0,0xD5EF, 0,
+ 0, 0,0xE6F3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE7A2,0xE4D9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE4E1, 0, 0,0xFCC4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF9EF,0xCFF4,0xF7E6,
+ 0, 0, 0, 0, 0,0xCEBC, 0, 0,
+ 0, 0,0xF4C5,0xDCA3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xDDBD, 0, 0,
+ 0, 0,0xF4C6, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF8A1, 0, 0, 0,0xE8D6,
+ 0, 0, 0,0xDBC1, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF0E6, 0, 0, 0,
+0xE4B9,0xF6ED, 0,0xF9AE, 0,0xDDBE, 0, 0,
+ 0, 0, 0, 0,0xD7B0,0xD8E8,0xCBBD, 0,
+ 0,0xF9DA, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xF8CE,0xF9F0,0xE0ED,0xE3B3,
+0xF4B3, 0, 0,0xEAC2,0xF2E6,0xF0B6, 0, 0,
+ 0, 0, 0,0xDBD6, 0, 0, 0, 0,
+ 0,0xEBE4, 0, 0,0xF2E7, 0,0xD7D5,0xD4B6,
+0xF9E8,0xD7C1, 0, 0, 0, 0,0xE5D5, 0,
+ 0, 0, 0, 0, 0, 0,0xE9EA,0xD7CC,
+ 0, 0, 0,0xD3E9,0xE2C9, 0,0xFCDB,0xCDAD,
+ 0, 0, 0, 0, 0,0xCCB0,0xEAA2, 0,
+ 0,0xE4F6,0xD0C0, 0,0xF0B7,0xEEA1, 0, 0,
+ 0, 0, 0, 0,0xD7F6, 0, 0, 0,
+0xE2CA,0xE2CB, 0,0xFACF, 0, 0, 0, 0,
+ 0, 0,0xEBDF, 0, 0, 0, 0, 0,
+0xD6CB, 0, 0, 0,0xF4B4, 0, 0, 0,
+ 0,0xEDCD,0xE4D2, 0, 0,0xEAA9,0xE4BA,0xF3A2,
+0xCDD2, 0,0xF6CB, 0,0xF1E6,0xEDC1,0xE8BC,0xEED1,
+ 0, 0, 0, 0, 0, 0,0xF0E7,0xE2CC,
+ 0, 0,0xE4AA, 0,0xF5E1,0xEDDA, 0, 0,
+ 0, 0, 0,0xD7EE,0xD1F1, 0, 0, 0,
+ 0,0xE9EB,0xE9EC,0xE0E4, 0, 0, 0, 0,
+0xDAA7,0xDDD4, 0,0xEAA3, 0, 0, 0,0xD6C3,
+0xD6F4, 0,0xDADF, 0,0xEFB3, 0, 0, 0,
+ 0,0xE2CD, 0, 0, 0, 0, 0,0xEFFD,
+0xF2E8, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xEFC5, 0,0xE7E7, 0, 0,0xD7FD,
+ 0, 0,0xE7CE, 0, 0,0xDFDC, 0,0xF9C7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD9F6, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xDFAC, 0,0xD6DA, 0, 0, 0, 0,
+ 0, 0,0xDCA4, 0, 0, 0,0xF0B8, 0,
+ 0, 0, 0,0xD5FA, 0,0xE4F7, 0, 0,
+ 0,0xD6C4, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF4EC, 0, 0, 0, 0,0xEFFE,
+ 0, 0, 0, 0, 0,0xF0A1, 0,0xDEAA,
+ 0, 0,0xDABC,0xD8FC, 0, 0, 0, 0,
+ 0, 0,0xFAD4, 0, 0, 0,0xECE5, 0,
+ 0, 0, 0, 0, 0,0xFCA8, 0, 0,
+0xECE6, 0, 0,0xD8CB, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xFBB9, 0,0xE4D3, 0,
+0xCDF9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCFD3, 0, 0, 0, 0, 0, 0,
+ 0,0xCAEA, 0, 0,0xCFD4, 0,0xF8BD, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xF4C7,
+ 0, 0, 0, 0,0xEADF, 0, 0, 0,
+ 0, 0, 0, 0,0xF9DB, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD4B7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xEBE5, 0, 0,0xE1D2,
+ 0, 0, 0, 0,0xEAA4, 0, 0, 0,
+0xFAC2,0xFBE1,0xFAED,0xF0A2,0xCCF1, 0,0xFAA3,0xE2F7,
+ 0,0xE2CE, 0,0xE9F5, 0,0xE1EB, 0, 0,
+ 0,0xE7E8,0xE8D7,0xDAF8,0xD4CB, 0, 0, 0,
+0xF7F6,0xD6C5, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD4E9, 0,
+ 0,0xFAFA, 0, 0, 0, 0, 0, 0,
+ 0,0xCCF2,0xF7DD, 0,0xDEBA, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xCEA8,
+ 0, 0, 0, 0, 0,0xF0B9,0xE4FE,0xE4C9,
+ 0, 0, 0, 0, 0,0xE4D4, 0, 0,
+ 0,0xEAC3, 0,0xEFB4, 0, 0, 0,0xD7BE,
+ 0, 0, 0, 0, 0, 0,0xFBE2, 0,
+0xCDD3, 0, 0, 0,0xEFB5, 0, 0, 0,
+0xFAE9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF9A6, 0, 0, 0, 0, 0, 0,
+0xDFBD, 0,0xF7C7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xF8FD, 0, 0,
+0xF8FC, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDEAB,0xDBE8, 0, 0,
+0xE3DD, 0,0xE1E2,0xD1C6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF6D0,0xEBE6,
+0xDAF9, 0, 0, 0, 0,0xECC7, 0, 0,
+ 0, 0, 0, 0, 0,0xDEF8,0xF8E9,0xE3DE,
+ 0, 0, 0, 0,0xCEF5, 0, 0, 0,
+ 0, 0,0xFAC3,0xE5D7, 0,0xECC8, 0, 0,
+ 0,0xF3C9, 0, 0,0xE4BB, 0, 0, 0,
+ 0,0xE6AE, 0, 0, 0, 0, 0,0xEFB6,
+ 0,0xDCBF, 0, 0, 0, 0, 0, 0,
+ 0,0xCEBD, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD8C3, 0,
+ 0, 0,0xD0CF, 0,0xCFFA,0xF3CA,0xE0D7, 0,
+ 0, 0,0xD1C7,0xE9AE, 0,0xE8BD, 0, 0,
+0xFAC4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE2CF,
+ 0, 0,0xFAC5, 0, 0, 0,0xF9B8, 0,
+ 0, 0, 0, 0, 0, 0,0xDCE0, 0,
+ 0,0xFBB0, 0, 0, 0,0xD8A9,0xE5DF,0xF9A7,
+ 0, 0,0xF6EE, 0,0xF6CC,0xE2F8, 0, 0,
+ 0, 0,0xECF1, 0, 0, 0, 0, 0,
+ 0, 0,0xDAE0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xF1D2,0xD2CC,0xCFCB, 0, 0,0xCABD, 0,
+ 0, 0,0xDDBF, 0, 0, 0,0xF6EF, 0,
+0xDEF9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xFAB4, 0,
+ 0, 0,0xD5AD, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xF1E7, 0,0xDEBE, 0, 0, 0, 0, 0,
+ 0,0xDCC0, 0, 0, 0, 0, 0,0xD1C8,
+0xD1C9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xF8BE, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xCBF6, 0, 0, 0,
+ 0,0xD4F9, 0, 0, 0, 0, 0,0xF5E2,
+0xE1D3, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xD8E9, 0, 0,0xF8FE, 0,0xCFCC, 0,
+ 0, 0, 0, 0, 0, 0,0xFDA4, 0,
+ 0, 0, 0, 0, 0, 0,0xCEF6, 0,
+0xFAD0, 0, 0,0xCCF3,0xE6BE, 0, 0, 0,
+0xF6AE, 0, 0,0xD5F0, 0, 0,0xD1CA, 0,
+ 0, 0,0xFCBE,0xD5F1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xCDE9, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xFAB5, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE2D0,0xF4F7, 0, 0,
+ 0,0xCDD4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE7A3, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xDBA5,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE2D1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD7A2, 0, 0,0xF7E3, 0, 0, 0, 0,
+ 0, 0,0xEAA6, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xD0A1, 0, 0,
+ 0, 0,0xCEDA,0xFBEB,0xDBA6,0xDBDE,0xD8E5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEAE0, 0, 0, 0, 0,0xD8AA, 0, 0,
+ 0, 0, 0,0xE5E0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD6DB, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xEFC6,
+ 0, 0,0xF8EA, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE4D5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xCEF7, 0, 0,0xE0D8,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD7EF, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xF4ED,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xCDE6, 0, 0,
+ 0,0xCCF4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF5E3, 0,
+ 0,0xE4CA, 0,0xDCE1, 0, 0,0xF9C8, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xFCBF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE8A7, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xD8C4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCBBE, 0,0xDCAE, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xD7F7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xF0E8, 0,
+0xDDC0, 0,0xCFCD, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDCF3,0xD9B0, 0,0xE6E9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE4BC, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xEAC4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE4EC,
+ 0,0xE4E5, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xFBF8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xCCBB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE4BD, 0,
+ 0,0xCDDC,0xD9F7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xDDDF, 0, 0,
+ 0, 0, 0,0xEDCE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xD9D0, 0, 0, 0, 0, 0,
+0xE5A3, 0, 0, 0, 0,0xF9CD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xCDAE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xCFCE, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF6AF, 0, 0, 0, 0,
+ 0,0xFDD3,0xEBED,0xD6DC, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE5A4, 0, 0, 0,0xD5B6,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD6DD, 0,
+ 0, 0,0xF9E9, 0, 0, 0,0xE7A4, 0,
+0xD6E3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xD1CB,0xD6E4, 0, 0, 0,
+0xD5F2, 0, 0, 0, 0, 0,0xDEFA, 0,
+0xD7F8, 0, 0, 0, 0, 0,0xD8EA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xCFD5,0xD8FD, 0,
+ 0, 0, 0, 0,0xD8AB, 0, 0,0xFDCB,
+ 0, 0, 0, 0,0xFCDC, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE0A8,0xD5F3,
+ 0, 0,0xFDD9, 0, 0,0xCCA3, 0, 0,
+ 0,0xD9F9, 0, 0,0xD3EA,0xF5F5, 0,0xEFC7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xD3DA, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xDABD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE8A8,0xDCAF, 0, 0, 0, 0, 0,0xF0A3,
+ 0, 0, 0, 0,0xCDD5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE0A9, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xDEAC, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xF0BA,0xEEB1, 0, 0,0xEEB2,
+ 0, 0, 0,0xF6CD, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEED2, 0,0xD6C6, 0, 0, 0, 0, 0,
+0xE0E5, 0, 0,0xF3BB, 0,0xE5E1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE4CB, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xD7A3, 0,
+ 0,0xDBC2, 0, 0, 0, 0,0xCAFE, 0,
+ 0, 0, 0, 0, 0,0xCFCF};
+
+/* page 8 0xAC00-0xD7A3 */
+static uint16 tab_uni_ksc56018[]={
+0xB0A1,0xB0A2,0x8141,0x8142,0xB0A3,0x8143,0x8144,0xB0A4,
+0xB0A5,0xB0A6,0xB0A7,0x8145,0x8146,0x8147,0x8148,0x8149,
+0xB0A8,0xB0A9,0xB0AA,0xB0AB,0xB0AC,0xB0AD,0xB0AE,0xB0AF,
+0x814A,0xB0B0,0xB0B1,0xB0B2,0xB0B3,0xB0B4,0x814B,0x814C,
+0xB0B5,0x814D,0x814E,0x814F,0xB0B6,0x8150,0x8151,0x8152,
+0x8153,0x8154,0x8155,0x8156,0xB0B7,0xB0B8,0x8157,0xB0B9,
+0xB0BA,0xB0BB,0x8158,0x8159,0x815A,0x8161,0x8162,0x8163,
+0xB0BC,0xB0BD,0x8164,0x8165,0xB0BE,0x8166,0x8167,0x8168,
+0xB0BF,0x8169,0x816A,0x816B,0x816C,0x816D,0x816E,0x816F,
+0x8170,0x8171,0x8172,0xB0C0,0x8173,0xB0C1,0x8174,0x8175,
+0x8176,0x8177,0x8178,0x8179,0xB0C2,0x817A,0x8181,0x8182,
+0xB0C3,0x8183,0x8184,0x8185,0xB0C4,0x8186,0x8187,0x8188,
+0x8189,0x818A,0x818B,0x818C,0x818D,0x818E,0x818F,0x8190,
+0x8191,0x8192,0x8193,0x8194,0x8195,0x8196,0x8197,0x8198,
+0xB0C5,0xB0C6,0x8199,0x819A,0xB0C7,0x819B,0x819C,0xB0C8,
+0xB0C9,0x819D,0xB0CA,0x819E,0x819F,0x81A0,0x81A1,0x81A2,
+0xB0CB,0xB0CC,0x81A3,0xB0CD,0xB0CE,0xB0CF,0xB0D0,0x81A4,
+0x81A5,0xB0D1,0xB0D2,0xB0D3,0xB0D4,0x81A6,0x81A7,0x81A8,
+0xB0D5,0x81A9,0x81AA,0x81AB,0xB0D6,0x81AC,0x81AD,0x81AE,
+0x81AF,0x81B0,0x81B1,0x81B2,0xB0D7,0xB0D8,0x81B3,0xB0D9,
+0xB0DA,0xB0DB,0x81B4,0x81B5,0x81B6,0x81B7,0x81B8,0x81B9,
+0xB0DC,0xB0DD,0xB0DE,0x81BA,0xB0DF,0x81BB,0x81BC,0xB0E0,
+0xB0E1,0x81BD,0x81BE,0x81BF,0x81C0,0x81C1,0x81C2,0x81C3,
+0xB0E2,0xB0E3,0x81C4,0xB0E4,0xB0E5,0xB0E6,0x81C5,0x81C6,
+0x81C7,0xB0E7,0x81C8,0x81C9,0xB0E8,0x81CA,0x81CB,0x81CC,
+0xB0E9,0x81CD,0x81CE,0x81CF,0xB0EA,0x81D0,0x81D1,0x81D2,
+0x81D3,0x81D4,0x81D5,0x81D6,0x81D7,0xB0EB,0x81D8,0xB0EC,
+0x81D9,0x81DA,0x81DB,0x81DC,0x81DD,0x81DE,0x81DF,0x81E0,
+0xB0ED,0xB0EE,0x81E1,0x81E2,0xB0EF,0x81E3,0x81E4,0xB0F0,
+0xB0F1,0x81E5,0xB0F2,0x81E6,0xB0F3,0x81E7,0x81E8,0xB0F4,
+0xB0F5,0xB0F6,0x81E9,0xB0F7,0x81EA,0xB0F8,0xB0F9,0x81EB,
+0x81EC,0x81ED,0x81EE,0x81EF,0xB0FA,0xB0FB,0x81F0,0x81F1,
+0xB0FC,0x81F2,0x81F3,0x81F4,0xB0FD,0x81F5,0xB0FE,0x81F6,
+0x81F7,0x81F8,0x81F9,0x81FA,0xB1A1,0xB1A2,0x81FB,0xB1A3,
+0x81FC,0xB1A4,0x81FD,0x81FE,0x8241,0x8242,0x8243,0x8244,
+0xB1A5,0x8245,0x8246,0x8247,0xB1A6,0x8248,0x8249,0x824A,
+0xB1A7,0x824B,0x824C,0x824D,0x824E,0x824F,0x8250,0x8251,
+0x8252,0xB1A8,0x8253,0x8254,0xB1A9,0xB1AA,0x8255,0x8256,
+0x8257,0x8258,0x8259,0x825A,0xB1AB,0xB1AC,0x8261,0x8262,
+0xB1AD,0x8263,0x8264,0x8265,0xB1AE,0x8266,0x8267,0x8268,
+0x8269,0x826A,0x826B,0x826C,0xB1AF,0xB1B0,0x826D,0xB1B1,
+0x826E,0xB1B2,0x826F,0x8270,0x8271,0x8272,0x8273,0x8274,
+0xB1B3,0x8275,0x8276,0x8277,0xB1B4,0x8278,0x8279,0x827A,
+0xB1B5,0x8281,0x8282,0x8283,0x8284,0x8285,0x8286,0x8287,
+0x8288,0xB1B6,0x8289,0xB1B7,0x828A,0x828B,0x828C,0x828D,
+0x828E,0x828F,0x8290,0x8291,0xB1B8,0xB1B9,0x8292,0x8293,
+0xB1BA,0x8294,0x8295,0xB1BB,0xB1BC,0xB1BD,0xB1BE,0x8296,
+0x8297,0x8298,0x8299,0xB1BF,0xB1C0,0xB1C1,0x829A,0xB1C2,
+0x829B,0xB1C3,0xB1C4,0x829C,0x829D,0x829E,0x829F,0x82A0,
+0xB1C5,0xB1C6,0x82A1,0x82A2,0xB1C7,0x82A3,0x82A4,0x82A5,
+0xB1C8,0x82A6,0x82A7,0x82A8,0x82A9,0x82AA,0x82AB,0x82AC,
+0x82AD,0x82AE,0x82AF,0x82B0,0xB1C9,0xB1CA,0x82B1,0x82B2,
+0x82B3,0x82B4,0x82B5,0x82B6,0xB1CB,0x82B7,0x82B8,0x82B9,
+0x82BA,0x82BB,0x82BC,0x82BD,0x82BE,0x82BF,0x82C0,0x82C1,
+0x82C2,0x82C3,0x82C4,0x82C5,0x82C6,0x82C7,0x82C8,0xB1CC,
+0x82C9,0x82CA,0x82CB,0x82CC,0x82CD,0x82CE,0x82CF,0x82D0,
+0xB1CD,0xB1CE,0x82D1,0x82D2,0xB1CF,0x82D3,0x82D4,0x82D5,
+0xB1D0,0x82D6,0x82D7,0x82D8,0x82D9,0x82DA,0x82DB,0x82DC,
+0xB1D1,0xB1D2,0x82DD,0xB1D3,0x82DE,0x82DF,0x82E0,0x82E1,
+0x82E2,0x82E3,0x82E4,0x82E5,0xB1D4,0x82E6,0x82E7,0x82E8,
+0xB1D5,0x82E9,0x82EA,0x82EB,0xB1D6,0x82EC,0x82ED,0x82EE,
+0x82EF,0x82F0,0x82F1,0x82F2,0x82F3,0x82F4,0x82F5,0x82F6,
+0x82F7,0x82F8,0x82F9,0x82FA,0x82FB,0x82FC,0x82FD,0x82FE,
+0xB1D7,0xB1D8,0x8341,0x8342,0xB1D9,0x8343,0x8344,0xB1DA,
+0xB1DB,0xB1DC,0x8345,0x8346,0x8347,0x8348,0x8349,0x834A,
+0xB1DD,0xB1DE,0x834B,0xB1DF,0x834C,0xB1E0,0x834D,0x834E,
+0x834F,0x8350,0x8351,0x8352,0xB1E1,0x8353,0x8354,0x8355,
+0x8356,0x8357,0x8358,0x8359,0x835A,0x8361,0x8362,0x8363,
+0x8364,0x8365,0x8366,0x8367,0x8368,0x8369,0x836A,0x836B,
+0x836C,0x836D,0x836E,0x836F,0x8370,0x8371,0x8372,0x8373,
+0xB1E2,0xB1E3,0x8374,0x8375,0xB1E4,0x8376,0x8377,0xB1E5,
+0xB1E6,0x8378,0xB1E7,0x8379,0x837A,0x8381,0x8382,0x8383,
+0xB1E8,0xB1E9,0x8384,0xB1EA,0x8385,0xB1EB,0xB1EC,0x8386,
+0x8387,0x8388,0xB1ED,0x8389,0xB1EE,0xB1EF,0xB1F0,0x838A,
+0xB1F1,0x838B,0x838C,0x838D,0xB1F2,0x838E,0xB1F3,0x838F,
+0x8390,0x8391,0x8392,0x8393,0xB1F4,0xB1F5,0x8394,0xB1F6,
+0xB1F7,0xB1F8,0x8395,0x8396,0x8397,0xB1F9,0x8398,0x8399,
+0xB1FA,0xB1FB,0x839A,0x839B,0xB1FC,0x839C,0x839D,0x839E,
+0xB1FD,0x839F,0x83A0,0x83A1,0x83A2,0x83A3,0x83A4,0x83A5,
+0xB1FE,0xB2A1,0x83A6,0xB2A2,0xB2A3,0xB2A4,0x83A7,0x83A8,
+0x83A9,0x83AA,0x83AB,0x83AC,0xB2A5,0xB2A6,0x83AD,0x83AE,
+0x83AF,0x83B0,0x83B1,0x83B2,0xB2A7,0x83B3,0x83B4,0x83B5,
+0x83B6,0x83B7,0x83B8,0x83B9,0x83BA,0x83BB,0x83BC,0x83BD,
+0x83BE,0x83BF,0x83C0,0x83C1,0x83C2,0x83C3,0x83C4,0x83C5,
+0x83C6,0x83C7,0x83C8,0x83C9,0x83CA,0x83CB,0x83CC,0x83CD,
+0x83CE,0x83CF,0x83D0,0x83D1,0x83D2,0x83D3,0x83D4,0x83D5,
+0x83D6,0x83D7,0x83D8,0x83D9,0x83DA,0x83DB,0x83DC,0x83DD,
+0x83DE,0x83DF,0x83E0,0x83E1,0xB2A8,0xB2A9,0xB2AA,0x83E2,
+0xB2AB,0x83E3,0x83E4,0x83E5,0xB2AC,0x83E6,0x83E7,0x83E8,
+0x83E9,0x83EA,0x83EB,0x83EC,0xB2AD,0xB2AE,0x83ED,0xB2AF,
+0xB2B0,0xB2B1,0x83EE,0x83EF,0x83F0,0x83F1,0x83F2,0x83F3,
+0xB2B2,0xB2B3,0x83F4,0x83F5,0xB2B4,0x83F6,0x83F7,0x83F8,
+0x83F9,0x83FA,0x83FB,0x83FC,0x83FD,0x83FE,0x8441,0x8442,
+0xB2B5,0x8443,0x8444,0xB2B6,0x8445,0xB2B7,0x8446,0x8447,
+0x8448,0x8449,0x844A,0x844B,0xB2B8,0x844C,0x844D,0x844E,
+0xB2B9,0x844F,0x8450,0x8451,0xB2BA,0x8452,0x8453,0x8454,
+0x8455,0x8456,0x8457,0x8458,0x8459,0x845A,0x8461,0xB2BB,
+0xB2BC,0x8462,0x8463,0x8464,0x8465,0xB2BD,0x8466,0x8467,
+0xB2BE,0x8468,0x8469,0x846A,0x846B,0x846C,0x846D,0x846E,
+0x846F,0x8470,0x8471,0x8472,0x8473,0x8474,0x8475,0x8476,
+0x8477,0x8478,0x8479,0x847A,0x8481,0x8482,0x8483,0x8484,
+0x8485,0x8486,0x8487,0x8488,0xB2BF,0xB2C0,0x8489,0x848A,
+0xB2C1,0x848B,0xB2C2,0x848C,0xB2C3,0x848D,0x848E,0x848F,
+0x8490,0x8491,0x8492,0x8493,0xB2C4,0xB2C5,0x8494,0xB2C6,
+0x8495,0xB2C7,0xB2C8,0xB2C9,0x8496,0x8497,0x8498,0x8499,
+0xB2CA,0xB2CB,0x849A,0x849B,0x849C,0x849D,0x849E,0x849F,
+0xB2CC,0x84A0,0x84A1,0x84A2,0x84A3,0x84A4,0x84A5,0x84A6,
+0x84A7,0x84A8,0x84A9,0x84AA,0xB2CD,0xB2CE,0x84AB,0x84AC,
+0x84AD,0x84AE,0x84AF,0x84B0,0xB2CF,0xB2D0,0x84B1,0x84B2,
+0x84B3,0x84B4,0x84B5,0x84B6,0x84B7,0x84B8,0x84B9,0x84BA,
+0x84BB,0x84BC,0x84BD,0x84BE,0x84BF,0x84C0,0x84C1,0x84C2,
+0x84C3,0xB2D1,0x84C4,0x84C5,0x84C6,0x84C7,0x84C8,0x84C9,
+0xB2D2,0x84CA,0x84CB,0x84CC,0xB2D3,0x84CD,0x84CE,0x84CF,
+0xB2D4,0x84D0,0x84D1,0x84D2,0x84D3,0x84D4,0x84D5,0x84D6,
+0xB2D5,0xB2D6,0x84D7,0x84D8,0x84D9,0xB2D7,0x84DA,0x84DB,
+0x84DC,0x84DD,0x84DE,0x84DF,0xB2D8,0x84E0,0x84E1,0x84E2,
+0x84E3,0x84E4,0x84E5,0x84E6,0x84E7,0x84E8,0x84E9,0x84EA,
+0x84EB,0x84EC,0x84ED,0x84EE,0x84EF,0x84F0,0x84F1,0x84F2,
+0x84F3,0x84F4,0x84F5,0x84F6,0x84F7,0x84F8,0x84F9,0x84FA,
+0xB2D9,0xB2DA,0x84FB,0x84FC,0xB2DB,0x84FD,0x84FE,0x8541,
+0xB2DC,0x8542,0x8543,0x8544,0x8545,0x8546,0x8547,0xB2DD,
+0xB2DE,0xB2DF,0x8548,0xB2E0,0x8549,0xB2E1,0xB2E2,0x854A,
+0x854B,0x854C,0x854D,0x854E,0xB2E3,0x854F,0x8550,0x8551,
+0x8552,0x8553,0x8554,0x8555,0xB2E4,0x8556,0x8557,0x8558,
+0x8559,0x855A,0x8561,0x8562,0x8563,0x8564,0x8565,0x8566,
+0xB2E5,0xB2E6,0x8567,0x8568,0x8569,0x856A,0x856B,0x856C,
+0xB2E7,0xB2E8,0x856D,0x856E,0xB2E9,0x856F,0x8570,0x8571,
+0xB2EA,0x8572,0x8573,0x8574,0x8575,0x8576,0x8577,0x8578,
+0xB2EB,0xB2EC,0x8579,0x857A,0xB2ED,0x8581,0x8582,0x8583,
+0x8584,0x8585,0x8586,0x8587,0xB2EE,0x8588,0x8589,0x858A,
+0xB2EF,0x858B,0x858C,0x858D,0xB2F0,0x858E,0x858F,0x8590,
+0x8591,0x8592,0x8593,0x8594,0xB2F1,0xB2F2,0x8595,0x8596,
+0x8597,0x8598,0x8599,0x859A,0x859B,0x859C,0x859D,0x859E,
+0xB2F3,0x859F,0x85A0,0x85A1,0x85A2,0x85A3,0x85A4,0x85A5,
+0x85A6,0x85A7,0x85A8,0x85A9,0x85AA,0x85AB,0x85AC,0x85AD,
+0x85AE,0x85AF,0x85B0,0x85B1,0x85B2,0x85B3,0x85B4,0x85B5,
+0x85B6,0x85B7,0x85B8,0x85B9,0xB2F4,0xB2F5,0x85BA,0x85BB,
+0xB2F6,0x85BC,0xB2F7,0x85BD,0xB2F8,0x85BE,0xB2F9,0x85BF,
+0x85C0,0x85C1,0x85C2,0xB2FA,0xB2FB,0xB2FC,0x85C3,0xB2FD,
+0x85C4,0xB2FE,0x85C5,0x85C6,0x85C7,0xB3A1,0x85C8,0x85C9,
+0x85CA,0x85CB,0x85CC,0x85CD,0x85CE,0x85CF,0x85D0,0x85D1,
+0x85D2,0x85D3,0x85D4,0x85D5,0x85D6,0x85D7,0x85D8,0x85D9,
+0x85DA,0x85DB,0x85DC,0x85DD,0x85DE,0x85DF,0x85E0,0x85E1,
+0x85E2,0x85E3,0x85E4,0x85E5,0xB3A2,0xB3A3,0x85E6,0x85E7,
+0xB3A4,0x85E8,0x85E9,0x85EA,0xB3A5,0x85EB,0x85EC,0x85ED,
+0x85EE,0x85EF,0x85F0,0x85F1,0xB3A6,0xB3A7,0x85F2,0xB3A8,
+0x85F3,0xB3A9,0x85F4,0x85F5,0x85F6,0x85F7,0x85F8,0x85F9,
+0xB3AA,0xB3AB,0xB3AC,0x85FA,0xB3AD,0x85FB,0x85FC,0xB3AE,
+0xB3AF,0xB3B0,0xB3B1,0x85FD,0x85FE,0x8641,0x8642,0x8643,
+0xB3B2,0xB3B3,0x8644,0xB3B4,0xB3B5,0xB3B6,0xB3B7,0xB3B8,
+0x8645,0xB3B9,0x8646,0xB3BA,0xB3BB,0xB3BC,0x8647,0x8648,
+0xB3BD,0x8649,0x864A,0x864B,0xB3BE,0x864C,0x864D,0x864E,
+0x864F,0x8650,0x8651,0x8652,0xB3BF,0xB3C0,0x8653,0xB3C1,
+0xB3C2,0xB3C3,0x8654,0x8655,0x8656,0x8657,0x8658,0x8659,
+0xB3C4,0xB3C5,0x865A,0x8661,0xB3C6,0x8662,0x8663,0x8664,
+0xB3C7,0x8665,0x8666,0x8667,0x8668,0x8669,0x866A,0x866B,
+0xB3C8,0x866C,0x866D,0x866E,0x866F,0xB3C9,0x8670,0x8671,
+0x8672,0x8673,0x8674,0x8675,0x8676,0x8677,0x8678,0x8679,
+0x867A,0x8681,0x8682,0x8683,0x8684,0x8685,0x8686,0x8687,
+0x8688,0x8689,0x868A,0x868B,0x868C,0x868D,0x868E,0x868F,
+0x8690,0x8691,0x8692,0x8693,0x8694,0x8695,0x8696,0x8697,
+0xB3CA,0xB3CB,0x8698,0xB3CC,0xB3CD,0x8699,0x869A,0x869B,
+0xB3CE,0x869C,0xB3CF,0xB3D0,0x869D,0x869E,0x869F,0x86A0,
+0xB3D1,0xB3D2,0x86A1,0xB3D3,0xB3D4,0xB3D5,0x86A2,0x86A3,
+0x86A4,0x86A5,0x86A6,0xB3D6,0xB3D7,0xB3D8,0x86A7,0x86A8,
+0xB3D9,0x86A9,0x86AA,0x86AB,0xB3DA,0x86AC,0x86AD,0x86AE,
+0x86AF,0x86B0,0x86B1,0x86B2,0xB3DB,0xB3DC,0x86B3,0xB3DD,
+0xB3DE,0xB3DF,0x86B4,0x86B5,0x86B6,0x86B7,0x86B8,0x86B9,
+0xB3E0,0xB3E1,0x86BA,0x86BB,0xB3E2,0x86BC,0x86BD,0x86BE,
+0xB3E3,0x86BF,0x86C0,0x86C1,0x86C2,0x86C3,0x86C4,0x86C5,
+0xB3E4,0xB3E5,0x86C6,0x86C7,0xB3E6,0xB3E7,0x86C8,0x86C9,
+0xB3E8,0x86CA,0x86CB,0x86CC,0xB3E9,0x86CD,0x86CE,0x86CF,
+0xB3EA,0x86D0,0x86D1,0x86D2,0x86D3,0x86D4,0x86D5,0x86D6,
+0x86D7,0x86D8,0x86D9,0x86DA,0x86DB,0x86DC,0x86DD,0x86DE,
+0x86DF,0x86E0,0x86E1,0x86E2,0x86E3,0x86E4,0x86E5,0x86E6,
+0xB3EB,0xB3EC,0x86E7,0x86E8,0xB3ED,0x86E9,0x86EA,0x86EB,
+0xB3EE,0x86EC,0xB3EF,0x86ED,0x86EE,0x86EF,0x86F0,0x86F1,
+0xB3F0,0xB3F1,0x86F2,0xB3F2,0x86F3,0xB3F3,0x86F4,0x86F5,
+0x86F6,0x86F7,0xB3F4,0xB3F5,0xB3F6,0x86F8,0x86F9,0x86FA,
+0xB3F7,0x86FB,0x86FC,0x86FD,0xB3F8,0x86FE,0x8741,0x8742,
+0x8743,0x8744,0x8745,0x8746,0x8747,0x8748,0x8749,0x874A,
+0xB3F9,0x874B,0x874C,0x874D,0x874E,0x874F,0x8750,0x8751,
+0x8752,0x8753,0x8754,0x8755,0x8756,0x8757,0x8758,0x8759,
+0x875A,0x8761,0x8762,0x8763,0x8764,0x8765,0x8766,0x8767,
+0x8768,0x8769,0x876A,0x876B,0x876C,0x876D,0x876E,0x876F,
+0x8770,0x8771,0x8772,0x8773,0xB3FA,0x8774,0x8775,0x8776,
+0xB3FB,0x8777,0x8778,0x8779,0xB3FC,0x877A,0x8781,0x8782,
+0x8783,0x8784,0x8785,0x8786,0xB3FD,0xB3FE,0x8787,0xB4A1,
+0x8788,0x8789,0x878A,0x878B,0x878C,0x878D,0x878E,0x878F,
+0xB4A2,0xB4A3,0x8790,0x8791,0xB4A4,0x8792,0x8793,0x8794,
+0xB4A5,0x8795,0x8796,0x8797,0x8798,0x8799,0x879A,0x879B,
+0x879C,0xB4A6,0x879D,0xB4A7,0x879E,0xB4A8,0x879F,0x87A0,
+0x87A1,0x87A2,0x87A3,0x87A4,0xB4A9,0xB4AA,0x87A5,0x87A6,
+0xB4AB,0x87A7,0x87A8,0xB4AC,0xB4AD,0x87A9,0x87AA,0x87AB,
+0x87AC,0x87AD,0x87AE,0x87AF,0xB4AE,0xB4AF,0x87B0,0xB4B0,
+0x87B1,0xB4B1,0x87B2,0x87B3,0x87B4,0x87B5,0x87B6,0x87B7,
+0xB4B2,0x87B8,0x87B9,0x87BA,0x87BB,0x87BC,0x87BD,0x87BE,
+0x87BF,0x87C0,0x87C1,0x87C2,0x87C3,0x87C4,0x87C5,0x87C6,
+0x87C7,0x87C8,0x87C9,0x87CA,0xB4B3,0x87CB,0x87CC,0x87CD,
+0x87CE,0x87CF,0x87D0,0x87D1,0xB4B4,0x87D2,0x87D3,0x87D4,
+0x87D5,0x87D6,0x87D7,0x87D8,0x87D9,0x87DA,0x87DB,0x87DC,
+0x87DD,0x87DE,0x87DF,0x87E0,0x87E1,0x87E2,0x87E3,0x87E4,
+0x87E5,0x87E6,0x87E7,0x87E8,0x87E9,0x87EA,0x87EB,0x87EC,
+0xB4B5,0x87ED,0x87EE,0x87EF,0xB4B6,0x87F0,0x87F1,0x87F2,
+0xB4B7,0x87F3,0x87F4,0x87F5,0x87F6,0x87F7,0x87F8,0x87F9,
+0xB4B8,0xB4B9,0x87FA,0x87FB,0x87FC,0x87FD,0x87FE,0x8841,
+0x8842,0x8843,0x8844,0x8845,0xB4BA,0xB4BB,0x8846,0x8847,
+0x8848,0x8849,0x884A,0x884B,0xB4BC,0x884C,0x884D,0x884E,
+0x884F,0x8850,0x8851,0x8852,0xB4BD,0xB4BE,0x8853,0x8854,
+0x8855,0xB4BF,0x8856,0x8857,0x8858,0x8859,0x885A,0x8861,
+0xB4C0,0xB4C1,0x8862,0x8863,0xB4C2,0x8864,0x8865,0x8866,
+0xB4C3,0xB4C4,0xB4C5,0x8867,0x8868,0x8869,0x886A,0x886B,
+0xB4C6,0xB4C7,0x886C,0xB4C8,0x886D,0xB4C9,0xB4CA,0x886E,
+0x886F,0x8870,0xB4CB,0x8871,0xB4CC,0x8872,0x8873,0x8874,
+0xB4CD,0x8875,0x8876,0x8877,0xB4CE,0x8878,0x8879,0x887A,
+0x8881,0x8882,0x8883,0x8884,0x8885,0x8886,0x8887,0x8888,
+0x8889,0x888A,0x888B,0x888C,0x888D,0x888E,0x888F,0x8890,
+0xB4CF,0xB4D0,0x8891,0x8892,0xB4D1,0x8893,0x8894,0x8895,
+0xB4D2,0x8896,0xB4D3,0x8897,0x8898,0x8899,0x889A,0x889B,
+0xB4D4,0xB4D5,0x889C,0xB4D6,0x889D,0xB4D7,0x889E,0x889F,
+0x88A0,0x88A1,0xB4D8,0x88A2,0xB4D9,0xB4DA,0xB4DB,0x88A3,
+0xB4DC,0x88A4,0x88A5,0xB4DD,0xB4DE,0xB4DF,0xB4E0,0xB4E1,
+0x88A6,0x88A7,0x88A8,0xB4E2,0xB4E3,0xB4E4,0x88A9,0xB4E5,
+0xB4E6,0xB4E7,0xB4E8,0xB4E9,0x88AA,0x88AB,0x88AC,0xB4EA,
+0xB4EB,0xB4EC,0x88AD,0x88AE,0xB4ED,0x88AF,0x88B0,0x88B1,
+0xB4EE,0x88B2,0x88B3,0x88B4,0x88B5,0x88B6,0x88B7,0x88B8,
+0xB4EF,0xB4F0,0x88B9,0xB4F1,0xB4F2,0xB4F3,0x88BA,0x88BB,
+0x88BC,0x88BD,0x88BE,0x88BF,0xB4F4,0x88C0,0x88C1,0x88C2,
+0x88C3,0x88C4,0x88C5,0x88C6,0x88C7,0x88C8,0x88C9,0x88CA,
+0x88CB,0x88CC,0x88CD,0x88CE,0x88CF,0x88D0,0x88D1,0x88D2,
+0x88D3,0x88D4,0x88D5,0x88D6,0x88D7,0x88D8,0x88D9,0x88DA,
+0x88DB,0x88DC,0x88DD,0x88DE,0x88DF,0x88E0,0x88E1,0x88E2,
+0x88E3,0x88E4,0x88E5,0x88E6,0x88E7,0x88E8,0x88E9,0x88EA,
+0x88EB,0x88EC,0x88ED,0x88EE,0x88EF,0x88F0,0x88F1,0x88F2,
+0x88F3,0x88F4,0x88F5,0x88F6,0xB4F5,0xB4F6,0xB4F7,0x88F7,
+0xB4F8,0x88F8,0x88F9,0xB4F9,0xB4FA,0x88FA,0xB4FB,0xB4FC,
+0x88FB,0x88FC,0x88FD,0x88FE,0xB4FD,0xB4FE,0x8941,0xB5A1,
+0x8942,0xB5A2,0x8943,0xB5A3,0x8944,0x8945,0xB5A4,0x8946,
+0xB5A5,0xB5A6,0x8947,0x8948,0xB5A7,0x8949,0x894A,0x894B,
+0xB5A8,0x894C,0x894D,0x894E,0x894F,0x8950,0x8951,0x8952,
+0xB5A9,0xB5AA,0x8953,0xB5AB,0xB5AC,0xB5AD,0x8954,0x8955,
+0x8956,0x8957,0x8958,0x8959,0xB5AE,0x895A,0x8961,0x8962,
+0xB5AF,0x8963,0x8964,0x8965,0xB5B0,0x8966,0x8967,0x8968,
+0x8969,0x896A,0x896B,0x896C,0x896D,0x896E,0x896F,0x8970,
+0xB5B1,0xB5B2,0x8971,0x8972,0x8973,0x8974,0x8975,0x8976,
+0xB5B3,0x8977,0x8978,0x8979,0xB5B4,0x897A,0x8981,0x8982,
+0x8983,0x8984,0x8985,0x8986,0x8987,0x8988,0x8989,0x898A,
+0x898B,0x898C,0x898D,0x898E,0x898F,0x8990,0x8991,0x8992,
+0x8993,0x8994,0x8995,0x8996,0xB5B5,0xB5B6,0x8997,0x8998,
+0xB5B7,0x8999,0x899A,0xB5B8,0xB5B9,0x899B,0xB5BA,0x899C,
+0xB5BB,0x899D,0x899E,0x899F,0xB5BC,0xB5BD,0x89A0,0xB5BE,
+0x89A1,0xB5BF,0x89A2,0xB5C0,0x89A3,0xB5C1,0x89A4,0x89A5,
+0xB5C2,0x89A6,0x89A7,0x89A8,0xB5C3,0x89A9,0x89AA,0x89AB,
+0xB5C4,0x89AC,0x89AD,0x89AE,0x89AF,0x89B0,0x89B1,0x89B2,
+0x89B3,0x89B4,0x89B5,0x89B6,0x89B7,0x89B8,0x89B9,0x89BA,
+0x89BB,0x89BC,0x89BD,0x89BE,0xB5C5,0x89BF,0x89C0,0x89C1,
+0x89C2,0x89C3,0x89C4,0x89C5,0x89C6,0x89C7,0x89C8,0x89C9,
+0x89CA,0x89CB,0x89CC,0x89CD,0x89CE,0x89CF,0x89D0,0x89D1,
+0xB5C6,0x89D2,0x89D3,0x89D4,0x89D5,0x89D6,0x89D7,0x89D8,
+0xB5C7,0x89D9,0x89DA,0x89DB,0xB5C8,0x89DC,0x89DD,0x89DE,
+0xB5C9,0x89DF,0x89E0,0x89E1,0x89E2,0x89E3,0x89E4,0x89E5,
+0xB5CA,0xB5CB,0x89E6,0xB5CC,0x89E7,0x89E8,0x89E9,0x89EA,
+0x89EB,0x89EC,0x89ED,0x89EE,0xB5CD,0x89EF,0x89F0,0x89F1,
+0x89F2,0x89F3,0x89F4,0x89F5,0x89F6,0x89F7,0x89F8,0x89F9,
+0x89FA,0x89FB,0x89FC,0x89FD,0x89FE,0x8A41,0x8A42,0x8A43,
+0x8A44,0x8A45,0x8A46,0x8A47,0x8A48,0x8A49,0x8A4A,0x8A4B,
+0xB5CE,0xB5CF,0x8A4C,0x8A4D,0xB5D0,0x8A4E,0x8A4F,0x8A50,
+0xB5D1,0x8A51,0x8A52,0x8A53,0x8A54,0x8A55,0x8A56,0x8A57,
+0xB5D2,0xB5D3,0x8A58,0xB5D4,0x8A59,0xB5D5,0x8A5A,0x8A61,
+0x8A62,0x8A63,0x8A64,0x8A65,0xB5D6,0x8A66,0x8A67,0x8A68,
+0x8A69,0x8A6A,0x8A6B,0x8A6C,0x8A6D,0x8A6E,0x8A6F,0x8A70,
+0x8A71,0x8A72,0x8A73,0x8A74,0x8A75,0x8A76,0x8A77,0x8A78,
+0xB5D7,0x8A79,0x8A7A,0x8A81,0x8A82,0x8A83,0x8A84,0x8A85,
+0xB5D8,0x8A86,0x8A87,0x8A88,0x8A89,0x8A8A,0x8A8B,0x8A8C,
+0x8A8D,0x8A8E,0x8A8F,0x8A90,0x8A91,0x8A92,0x8A93,0x8A94,
+0x8A95,0x8A96,0x8A97,0x8A98,0x8A99,0xB5D9,0x8A9A,0x8A9B,
+0x8A9C,0x8A9D,0x8A9E,0x8A9F,0xB5DA,0x8AA0,0x8AA1,0x8AA2,
+0xB5DB,0x8AA3,0x8AA4,0x8AA5,0xB5DC,0x8AA6,0x8AA7,0x8AA8,
+0x8AA9,0x8AAA,0x8AAB,0x8AAC,0x8AAD,0xB5DD,0x8AAE,0xB5DE,
+0x8AAF,0xB5DF,0x8AB0,0x8AB1,0x8AB2,0x8AB3,0x8AB4,0x8AB5,
+0xB5E0,0x8AB6,0x8AB7,0x8AB8,0xB5E1,0x8AB9,0x8ABA,0x8ABB,
+0xB5E2,0x8ABC,0x8ABD,0x8ABE,0x8ABF,0x8AC0,0x8AC1,0x8AC2,
+0xB5E3,0x8AC3,0x8AC4,0x8AC5,0x8AC6,0xB5E4,0x8AC7,0x8AC8,
+0x8AC9,0x8ACA,0x8ACB,0x8ACC,0xB5E5,0xB5E6,0x8ACD,0x8ACE,
+0xB5E7,0x8ACF,0x8AD0,0xB5E8,0xB5E9,0x8AD1,0xB5EA,0x8AD2,
+0x8AD3,0x8AD4,0x8AD5,0x8AD6,0xB5EB,0xB5EC,0x8AD7,0xB5ED,
+0x8AD8,0xB5EE,0x8AD9,0x8ADA,0x8ADB,0x8ADC,0x8ADD,0x8ADE,
+0xB5EF,0x8ADF,0x8AE0,0x8AE1,0x8AE2,0x8AE3,0x8AE4,0x8AE5,
+0x8AE6,0x8AE7,0x8AE8,0x8AE9,0x8AEA,0x8AEB,0x8AEC,0x8AED,
+0x8AEE,0x8AEF,0x8AF0,0x8AF1,0x8AF2,0x8AF3,0x8AF4,0x8AF5,
+0x8AF6,0x8AF7,0x8AF8,0x8AF9,0xB5F0,0xB5F1,0x8AFA,0x8AFB,
+0xB5F2,0x8AFC,0x8AFD,0xB5F3,0xB5F4,0x8AFE,0x8B41,0x8B42,
+0x8B43,0x8B44,0x8B45,0x8B46,0xB5F5,0xB5F6,0x8B47,0xB5F7,
+0xB5F8,0xB5F9,0xB5FA,0x8B48,0x8B49,0x8B4A,0x8B4B,0x8B4C,
+0xB5FB,0xB5FC,0x8B4D,0x8B4E,0xB5FD,0x8B4F,0x8B50,0x8B51,
+0xB5FE,0x8B52,0x8B53,0x8B54,0x8B55,0x8B56,0x8B57,0x8B58,
+0xB6A1,0xB6A2,0x8B59,0xB6A3,0xB6A4,0xB6A5,0x8B5A,0x8B61,
+0x8B62,0x8B63,0x8B64,0xB6A6,0xB6A7,0xB6A8,0x8B65,0x8B66,
+0xB6A9,0x8B67,0x8B68,0x8B69,0xB6AA,0x8B6A,0x8B6B,0x8B6C,
+0x8B6D,0x8B6E,0x8B6F,0x8B70,0xB6AB,0xB6AC,0x8B71,0xB6AD,
+0xB6AE,0xB6AF,0x8B72,0x8B73,0x8B74,0x8B75,0x8B76,0x8B77,
+0x8B78,0x8B79,0x8B7A,0x8B81,0x8B82,0x8B83,0x8B84,0x8B85,
+0x8B86,0x8B87,0x8B88,0x8B89,0x8B8A,0x8B8B,0x8B8C,0x8B8D,
+0x8B8E,0x8B8F,0x8B90,0x8B91,0x8B92,0x8B93,0x8B94,0x8B95,
+0x8B96,0x8B97,0x8B98,0x8B99,0x8B9A,0x8B9B,0x8B9C,0x8B9D,
+0x8B9E,0x8B9F,0x8BA0,0x8BA1,0x8BA2,0x8BA3,0x8BA4,0x8BA5,
+0x8BA6,0x8BA7,0x8BA8,0x8BA9,0x8BAA,0x8BAB,0x8BAC,0x8BAD,
+0x8BAE,0x8BAF,0x8BB0,0x8BB1,0x8BB2,0x8BB3,0x8BB4,0x8BB5,
+0xB6B0,0xB6B1,0x8BB6,0x8BB7,0xB6B2,0x8BB8,0x8BB9,0x8BBA,
+0xB6B3,0x8BBB,0xB6B4,0xB6B5,0x8BBC,0x8BBD,0x8BBE,0x8BBF,
+0xB6B6,0xB6B7,0x8BC0,0xB6B8,0xB6B9,0xB6BA,0x8BC1,0x8BC2,
+0x8BC3,0x8BC4,0x8BC5,0xB6BB,0xB6BC,0xB6BD,0x8BC6,0x8BC7,
+0xB6BE,0x8BC8,0x8BC9,0x8BCA,0xB6BF,0x8BCB,0x8BCC,0x8BCD,
+0x8BCE,0x8BCF,0x8BD0,0x8BD1,0xB6C0,0xB6C1,0x8BD2,0xB6C2,
+0xB6C3,0xB6C4,0x8BD3,0x8BD4,0x8BD5,0x8BD6,0x8BD7,0x8BD8,
+0xB6C5,0x8BD9,0x8BDA,0x8BDB,0x8BDC,0x8BDD,0x8BDE,0x8BDF,
+0x8BE0,0x8BE1,0x8BE2,0x8BE3,0x8BE4,0x8BE5,0x8BE6,0x8BE7,
+0x8BE8,0x8BE9,0x8BEA,0x8BEB,0xB6C6,0x8BEC,0x8BED,0x8BEE,
+0x8BEF,0x8BF0,0x8BF1,0x8BF2,0x8BF3,0x8BF4,0x8BF5,0x8BF6,
+0x8BF7,0x8BF8,0x8BF9,0x8BFA,0x8BFB,0x8BFC,0x8BFD,0x8BFE,
+0x8C41,0x8C42,0x8C43,0x8C44,0x8C45,0x8C46,0x8C47,0x8C48,
+0x8C49,0x8C4A,0x8C4B,0x8C4C,0x8C4D,0x8C4E,0x8C4F,0x8C50,
+0xB6C7,0xB6C8,0x8C51,0x8C52,0xB6C9,0x8C53,0x8C54,0x8C55,
+0xB6CA,0x8C56,0x8C57,0x8C58,0x8C59,0x8C5A,0x8C61,0x8C62,
+0x8C63,0x8C64,0x8C65,0x8C66,0x8C67,0xB6CB,0x8C68,0x8C69,
+0x8C6A,0x8C6B,0x8C6C,0x8C6D,0xB6CC,0x8C6E,0x8C6F,0x8C70,
+0x8C71,0x8C72,0x8C73,0x8C74,0xB6CD,0x8C75,0x8C76,0x8C77,
+0x8C78,0x8C79,0x8C7A,0x8C81,0x8C82,0x8C83,0x8C84,0x8C85,
+0x8C86,0x8C87,0x8C88,0x8C89,0x8C8A,0x8C8B,0x8C8C,0x8C8D,
+0xB6CE,0x8C8E,0x8C8F,0x8C90,0x8C91,0x8C92,0x8C93,0x8C94,
+0x8C95,0x8C96,0x8C97,0x8C98,0x8C99,0x8C9A,0x8C9B,0x8C9C,
+0x8C9D,0x8C9E,0x8C9F,0x8CA0,0x8CA1,0x8CA2,0x8CA3,0x8CA4,
+0x8CA5,0x8CA6,0x8CA7,0x8CA8,0xB6CF,0x8CA9,0x8CAA,0x8CAB,
+0xB6D0,0x8CAC,0x8CAD,0x8CAE,0x8CAF,0x8CB0,0x8CB1,0x8CB2,
+0x8CB3,0x8CB4,0x8CB5,0x8CB6,0x8CB7,0x8CB8,0x8CB9,0x8CBA,
+0x8CBB,0x8CBC,0x8CBD,0x8CBE,0x8CBF,0x8CC0,0x8CC1,0x8CC2,
+0x8CC3,0x8CC4,0x8CC5,0x8CC6,0x8CC7,0x8CC8,0x8CC9,0x8CCA,
+0x8CCB,0x8CCC,0x8CCD,0x8CCE,0x8CCF,0x8CD0,0x8CD1,0x8CD2,
+0x8CD3,0x8CD4,0x8CD5,0x8CD6,0x8CD7,0x8CD8,0x8CD9,0x8CDA,
+0x8CDB,0x8CDC,0x8CDD,0x8CDE,0xB6D1,0xB6D2,0x8CDF,0x8CE0,
+0xB6D3,0x8CE1,0x8CE2,0x8CE3,0xB6D4,0x8CE4,0x8CE5,0x8CE6,
+0x8CE7,0x8CE8,0x8CE9,0xB6D5,0xB6D6,0x8CEA,0x8CEB,0x8CEC,
+0x8CED,0xB6D7,0x8CEE,0x8CEF,0x8CF0,0x8CF1,0x8CF2,0x8CF3,
+0x8CF4,0x8CF5,0x8CF6,0x8CF7,0x8CF8,0x8CF9,0x8CFA,0x8CFB,
+0x8CFC,0x8CFD,0x8CFE,0x8D41,0x8D42,0x8D43,0x8D44,0x8D45,
+0x8D46,0x8D47,0x8D48,0x8D49,0x8D4A,0x8D4B,0x8D4C,0x8D4D,
+0x8D4E,0x8D4F,0x8D50,0x8D51,0xB6D8,0x8D52,0x8D53,0x8D54,
+0x8D55,0x8D56,0x8D57,0x8D58,0x8D59,0x8D5A,0x8D61,0x8D62,
+0x8D63,0x8D64,0x8D65,0x8D66,0x8D67,0x8D68,0x8D69,0x8D6A,
+0x8D6B,0x8D6C,0x8D6D,0x8D6E,0x8D6F,0x8D70,0x8D71,0x8D72,
+0xB6D9,0x8D73,0x8D74,0x8D75,0xB6DA,0x8D76,0x8D77,0x8D78,
+0xB6DB,0x8D79,0x8D7A,0x8D81,0x8D82,0x8D83,0x8D84,0x8D85,
+0xB6DC,0xB6DD,0x8D86,0x8D87,0x8D88,0xB6DE,0x8D89,0x8D8A,
+0x8D8B,0x8D8C,0x8D8D,0x8D8E,0x8D8F,0x8D90,0x8D91,0x8D92,
+0x8D93,0x8D94,0x8D95,0x8D96,0x8D97,0x8D98,0x8D99,0x8D9A,
+0x8D9B,0x8D9C,0x8D9D,0x8D9E,0x8D9F,0x8DA0,0x8DA1,0x8DA2,
+0x8DA3,0x8DA4,0x8DA5,0x8DA6,0x8DA7,0x8DA8,0x8DA9,0x8DAA,
+0xB6DF,0xB6E0,0x8DAB,0x8DAC,0xB6E1,0x8DAD,0x8DAE,0xB6E2,
+0xB6E3,0x8DAF,0x8DB0,0x8DB1,0x8DB2,0x8DB3,0x8DB4,0x8DB5,
+0xB6E4,0xB6E5,0x8DB6,0xB6E6,0x8DB7,0x8DB8,0x8DB9,0x8DBA,
+0x8DBB,0x8DBC,0x8DBD,0x8DBE,0xB6E7,0x8DBF,0x8DC0,0x8DC1,
+0xB6E8,0x8DC2,0x8DC3,0x8DC4,0xB6E9,0x8DC5,0x8DC6,0x8DC7,
+0x8DC8,0x8DC9,0x8DCA,0x8DCB,0xB6EA,0xB6EB,0x8DCC,0x8DCD,
+0x8DCE,0x8DCF,0x8DD0,0x8DD1,0x8DD2,0x8DD3,0x8DD4,0x8DD5,
+0xB6EC,0x8DD6,0x8DD7,0x8DD8,0xB6ED,0x8DD9,0x8DDA,0x8DDB,
+0xB6EE,0x8DDC,0x8DDD,0x8DDE,0x8DDF,0x8DE0,0x8DE1,0x8DE2,
+0xB6EF,0xB6F0,0x8DE3,0xB6F1,0x8DE4,0xB6F2,0x8DE5,0x8DE6,
+0x8DE7,0x8DE8,0x8DE9,0x8DEA,0xB6F3,0xB6F4,0x8DEB,0x8DEC,
+0xB6F5,0x8DED,0x8DEE,0x8DEF,0xB6F6,0x8DF0,0x8DF1,0x8DF2,
+0x8DF3,0x8DF4,0x8DF5,0x8DF6,0xB6F7,0xB6F8,0x8DF7,0xB6F9,
+0xB6FA,0xB6FB,0xB6FC,0x8DF8,0x8DF9,0x8DFA,0xB6FD,0xB6FE,
+0xB7A1,0xB7A2,0x8DFB,0x8DFC,0xB7A3,0x8DFD,0x8DFE,0x8E41,
+0xB7A4,0x8E42,0x8E43,0x8E44,0x8E45,0x8E46,0x8E47,0x8E48,
+0xB7A5,0xB7A6,0x8E49,0xB7A7,0xB7A8,0xB7A9,0x8E4A,0x8E4B,
+0x8E4C,0x8E4D,0x8E4E,0x8E4F,0xB7AA,0xB7AB,0x8E50,0x8E51,
+0xB7AC,0x8E52,0x8E53,0x8E54,0x8E55,0x8E56,0x8E57,0x8E58,
+0x8E59,0x8E5A,0x8E61,0x8E62,0x8E63,0x8E64,0x8E65,0xB7AD,
+0x8E66,0xB7AE,0x8E67,0x8E68,0x8E69,0x8E6A,0x8E6B,0x8E6C,
+0x8E6D,0x8E6E,0x8E6F,0x8E70,0x8E71,0x8E72,0x8E73,0x8E74,
+0x8E75,0x8E76,0x8E77,0x8E78,0x8E79,0x8E7A,0x8E81,0x8E82,
+0x8E83,0x8E84,0x8E85,0x8E86,0x8E87,0x8E88,0x8E89,0x8E8A,
+0x8E8B,0x8E8C,0x8E8D,0x8E8E,0xB7AF,0xB7B0,0x8E8F,0x8E90,
+0xB7B1,0x8E91,0x8E92,0x8E93,0xB7B2,0x8E94,0x8E95,0x8E96,
+0x8E97,0x8E98,0x8E99,0x8E9A,0xB7B3,0xB7B4,0x8E9B,0xB7B5,
+0xB7B6,0xB7B7,0x8E9C,0x8E9D,0x8E9E,0x8E9F,0x8EA0,0xB7B8,
+0xB7B9,0xB7BA,0x8EA1,0x8EA2,0xB7BB,0x8EA3,0x8EA4,0x8EA5,
+0xB7BC,0x8EA6,0x8EA7,0x8EA8,0x8EA9,0x8EAA,0x8EAB,0x8EAC,
+0xB7BD,0xB7BE,0x8EAD,0xB7BF,0x8EAE,0xB7C0,0x8EAF,0x8EB0,
+0x8EB1,0x8EB2,0x8EB3,0x8EB4,0xB7C1,0xB7C2,0x8EB5,0x8EB6,
+0xB7C3,0x8EB7,0x8EB8,0x8EB9,0xB7C4,0x8EBA,0x8EBB,0x8EBC,
+0x8EBD,0x8EBE,0x8EBF,0x8EC0,0xB7C5,0xB7C6,0x8EC1,0xB7C7,
+0xB7C8,0xB7C9,0x8EC2,0x8EC3,0x8EC4,0x8EC5,0x8EC6,0x8EC7,
+0xB7CA,0x8EC8,0x8EC9,0x8ECA,0xB7CB,0x8ECB,0x8ECC,0x8ECD,
+0x8ECE,0x8ECF,0x8ED0,0x8ED1,0x8ED2,0x8ED3,0x8ED4,0x8ED5,
+0x8ED6,0xB7CC,0x8ED7,0xB7CD,0x8ED8,0x8ED9,0x8EDA,0x8EDB,
+0x8EDC,0x8EDD,0x8EDE,0x8EDF,0xB7CE,0xB7CF,0x8EE0,0x8EE1,
+0xB7D0,0x8EE2,0x8EE3,0x8EE4,0xB7D1,0x8EE5,0x8EE6,0x8EE7,
+0x8EE8,0x8EE9,0x8EEA,0x8EEB,0xB7D2,0xB7D3,0x8EEC,0xB7D4,
+0x8EED,0xB7D5,0x8EEE,0x8EEF,0x8EF0,0x8EF1,0x8EF2,0x8EF3,
+0xB7D6,0x8EF4,0x8EF5,0x8EF6,0xB7D7,0x8EF7,0x8EF8,0x8EF9,
+0x8EFA,0x8EFB,0x8EFC,0x8EFD,0x8EFE,0x8F41,0x8F42,0x8F43,
+0x8F44,0x8F45,0x8F46,0x8F47,0x8F48,0xB7D8,0x8F49,0x8F4A,
+0x8F4B,0x8F4C,0x8F4D,0x8F4E,0x8F4F,0x8F50,0x8F51,0x8F52,
+0x8F53,0x8F54,0x8F55,0x8F56,0x8F57,0x8F58,0x8F59,0x8F5A,
+0x8F61,0x8F62,0x8F63,0x8F64,0x8F65,0x8F66,0x8F67,0x8F68,
+0xB7D9,0x8F69,0x8F6A,0x8F6B,0x8F6C,0x8F6D,0x8F6E,0x8F6F,
+0xB7DA,0x8F70,0x8F71,0x8F72,0xB7DB,0x8F73,0x8F74,0x8F75,
+0xB7DC,0x8F76,0x8F77,0x8F78,0x8F79,0x8F7A,0x8F81,0x8F82,
+0xB7DD,0xB7DE,0x8F83,0xB7DF,0x8F84,0xB7E0,0x8F85,0x8F86,
+0x8F87,0x8F88,0x8F89,0x8F8A,0xB7E1,0x8F8B,0x8F8C,0x8F8D,
+0xB7E2,0x8F8E,0x8F8F,0x8F90,0xB7E3,0x8F91,0x8F92,0x8F93,
+0x8F94,0x8F95,0x8F96,0x8F97,0x8F98,0xB7E4,0x8F99,0xB7E5,
+0x8F9A,0xB7E6,0x8F9B,0x8F9C,0x8F9D,0x8F9E,0x8F9F,0x8FA0,
+0xB7E7,0xB7E8,0x8FA1,0x8FA2,0xB7E9,0x8FA3,0x8FA4,0x8FA5,
+0xB7EA,0x8FA6,0x8FA7,0x8FA8,0x8FA9,0x8FAA,0x8FAB,0x8FAC,
+0xB7EB,0xB7EC,0x8FAD,0xB7ED,0x8FAE,0xB7EE,0x8FAF,0x8FB0,
+0x8FB1,0x8FB2,0x8FB3,0x8FB4,0xB7EF,0x8FB5,0x8FB6,0x8FB7,
+0x8FB8,0x8FB9,0x8FBA,0x8FBB,0x8FBC,0x8FBD,0x8FBE,0x8FBF,
+0x8FC0,0x8FC1,0x8FC2,0x8FC3,0x8FC4,0x8FC5,0x8FC6,0x8FC7,
+0xB7F0,0x8FC8,0x8FC9,0x8FCA,0x8FCB,0x8FCC,0x8FCD,0x8FCE,
+0xB7F1,0x8FCF,0x8FD0,0x8FD1,0x8FD2,0x8FD3,0x8FD4,0x8FD5,
+0x8FD6,0x8FD7,0x8FD8,0x8FD9,0x8FDA,0x8FDB,0x8FDC,0x8FDD,
+0x8FDE,0x8FDF,0x8FE0,0x8FE1,0x8FE2,0x8FE3,0x8FE4,0x8FE5,
+0x8FE6,0x8FE7,0x8FE8,0x8FE9,0xB7F2,0xB7F3,0x8FEA,0x8FEB,
+0xB7F4,0x8FEC,0x8FED,0x8FEE,0xB7F5,0x8FEF,0x8FF0,0x8FF1,
+0x8FF2,0x8FF3,0x8FF4,0x8FF5,0xB7F6,0x8FF6,0x8FF7,0xB7F7,
+0x8FF8,0xB7F8,0x8FF9,0x8FFA,0x8FFB,0x8FFC,0x8FFD,0x8FFE,
+0xB7F9,0xB7FA,0x9041,0x9042,0xB7FB,0x9043,0x9044,0x9045,
+0xB7FC,0x9046,0x9047,0x9048,0x9049,0x904A,0x904B,0x904C,
+0xB7FD,0xB7FE,0x904D,0xB8A1,0x904E,0xB8A2,0x904F,0x9050,
+0x9051,0x9052,0x9053,0x9054,0xB8A3,0xB8A4,0x9055,0x9056,
+0xB8A5,0x9057,0x9058,0x9059,0xB8A6,0x905A,0x9061,0x9062,
+0x9063,0x9064,0x9065,0x9066,0xB8A7,0xB8A8,0x9067,0xB8A9,
+0x9068,0xB8AA,0xB8AB,0x9069,0x906A,0xB8AC,0xB8AD,0x906B,
+0x906C,0x906D,0x906E,0x906F,0x9070,0x9071,0x9072,0x9073,
+0x9074,0x9075,0x9076,0x9077,0x9078,0x9079,0x907A,0x9081,
+0x9082,0x9083,0x9084,0x9085,0x9086,0x9087,0x9088,0x9089,
+0x908A,0x908B,0x908C,0x908D,0xB8AE,0xB8AF,0x908E,0x908F,
+0xB8B0,0x9090,0x9091,0x9092,0xB8B1,0x9093,0x9094,0x9095,
+0x9096,0x9097,0x9098,0x9099,0xB8B2,0xB8B3,0x909A,0xB8B4,
+0x909B,0xB8B5,0x909C,0x909D,0x909E,0x909F,0x90A0,0x90A1,
+0xB8B6,0xB8B7,0x90A2,0x90A3,0xB8B8,0x90A4,0xB8B9,0xB8BA,
+0xB8BB,0xB8BC,0xB8BD,0x90A5,0x90A6,0x90A7,0x90A8,0x90A9,
+0xB8BE,0xB8BF,0x90AA,0xB8C0,0x90AB,0xB8C1,0xB8C2,0x90AC,
+0x90AD,0xB8C3,0x90AE,0xB8C4,0xB8C5,0xB8C6,0x90AF,0x90B0,
+0xB8C7,0x90B1,0x90B2,0x90B3,0xB8C8,0x90B4,0x90B5,0x90B6,
+0x90B7,0x90B8,0x90B9,0x90BA,0xB8C9,0xB8CA,0x90BB,0xB8CB,
+0xB8CC,0xB8CD,0xB8CE,0x90BC,0x90BD,0x90BE,0x90BF,0x90C0,
+0xB8CF,0xB8D0,0x90C1,0x90C2,0x90C3,0x90C4,0x90C5,0x90C6,
+0xB8D1,0x90C7,0x90C8,0x90C9,0x90CA,0x90CB,0x90CC,0x90CD,
+0x90CE,0x90CF,0x90D0,0x90D1,0x90D2,0xB8D2,0x90D3,0x90D4,
+0x90D5,0x90D6,0x90D7,0x90D8,0x90D9,0x90DA,0x90DB,0x90DC,
+0x90DD,0x90DE,0x90DF,0x90E0,0x90E1,0x90E2,0x90E3,0x90E4,
+0x90E5,0x90E6,0x90E7,0x90E8,0x90E9,0x90EA,0x90EB,0x90EC,
+0x90ED,0x90EE,0x90EF,0x90F0,0x90F1,0x90F2,0x90F3,0x90F4,
+0xB8D3,0xB8D4,0x90F5,0x90F6,0xB8D5,0x90F7,0x90F8,0x90F9,
+0xB8D6,0x90FA,0xB8D7,0x90FB,0x90FC,0x90FD,0x90FE,0x9141,
+0xB8D8,0xB8D9,0x9142,0xB8DA,0x9143,0xB8DB,0xB8DC,0x9144,
+0x9145,0x9146,0x9147,0xB8DD,0xB8DE,0xB8DF,0x9148,0x9149,
+0xB8E0,0x914A,0x914B,0x914C,0xB8E1,0x914D,0x914E,0x914F,
+0x9150,0x9151,0x9152,0x9153,0xB8E2,0xB8E3,0x9154,0xB8E4,
+0xB8E5,0xB8E6,0x9155,0x9156,0x9157,0x9158,0x9159,0x915A,
+0xB8E7,0xB8E8,0x9161,0x9162,0xB8E9,0x9163,0x9164,0x9165,
+0xB8EA,0x9166,0x9167,0x9168,0x9169,0x916A,0x916B,0x916C,
+0x916D,0x916E,0x916F,0xB8EB,0xB8EC,0xB8ED,0x9170,0xB8EE,
+0x9171,0x9172,0x9173,0x9174,0xB8EF,0x9175,0x9176,0x9177,
+0x9178,0x9179,0x917A,0x9181,0x9182,0x9183,0x9184,0x9185,
+0x9186,0x9187,0x9188,0x9189,0x918A,0x918B,0x918C,0x918D,
+0x918E,0x918F,0x9190,0x9191,0x9192,0x9193,0x9194,0x9195,
+0xB8F0,0xB8F1,0x9196,0xB8F2,0xB8F3,0x9197,0x9198,0x9199,
+0xB8F4,0x919A,0xB8F5,0x919B,0x919C,0x919D,0x919E,0x919F,
+0xB8F6,0xB8F7,0x91A0,0xB8F8,0x91A1,0xB8F9,0x91A2,0x91A3,
+0x91A4,0x91A5,0x91A6,0x91A7,0xB8FA,0x91A8,0x91A9,0x91AA,
+0xB8FB,0x91AB,0x91AC,0x91AD,0x91AE,0x91AF,0x91B0,0x91B1,
+0x91B2,0x91B3,0x91B4,0x91B5,0x91B6,0x91B7,0x91B8,0x91B9,
+0xB8FC,0xB8FD,0x91BA,0x91BB,0x91BC,0x91BD,0x91BE,0x91BF,
+0x91C0,0x91C1,0x91C2,0x91C3,0x91C4,0x91C5,0x91C6,0x91C7,
+0x91C8,0x91C9,0x91CA,0x91CB,0x91CC,0x91CD,0x91CE,0x91CF,
+0x91D0,0x91D1,0x91D2,0x91D3,0x91D4,0x91D5,0x91D6,0x91D7,
+0x91D8,0x91D9,0x91DA,0x91DB,0xB8FE,0x91DC,0x91DD,0x91DE,
+0xB9A1,0x91DF,0x91E0,0x91E1,0xB9A2,0x91E2,0x91E3,0x91E4,
+0x91E5,0x91E6,0x91E7,0x91E8,0x91E9,0xB9A3,0x91EA,0xB9A4,
+0x91EB,0xB9A5,0x91EC,0x91ED,0x91EE,0x91EF,0x91F0,0x91F1,
+0xB9A6,0x91F2,0x91F3,0x91F4,0xB9A7,0x91F5,0x91F6,0x91F7,
+0xB9A8,0x91F8,0x91F9,0x91FA,0x91FB,0x91FC,0x91FD,0x91FE,
+0x9241,0xB9A9,0x9242,0xB9AA,0x9243,0x9244,0x9245,0x9246,
+0x9247,0x9248,0x9249,0x924A,0xB9AB,0xB9AC,0xB9AD,0x924B,
+0xB9AE,0x924C,0x924D,0xB9AF,0xB9B0,0xB9B1,0xB9B2,0x924E,
+0x924F,0x9250,0x9251,0x9252,0xB9B3,0xB9B4,0x9253,0xB9B5,
+0x9254,0xB9B6,0x9255,0x9256,0x9257,0xB9B7,0x9258,0xB9B8,
+0xB9B9,0x9259,0x925A,0x9261,0xB9BA,0x9262,0x9263,0x9264,
+0xB9BB,0x9265,0x9266,0x9267,0x9268,0x9269,0x926A,0x926B,
+0x926C,0xB9BC,0x926D,0xB9BD,0x926E,0x926F,0x9270,0x9271,
+0x9272,0x9273,0x9274,0x9275,0xB9BE,0x9276,0x9277,0x9278,
+0x9279,0x927A,0x9281,0x9282,0x9283,0x9284,0x9285,0x9286,
+0x9287,0x9288,0x9289,0x928A,0x928B,0x928C,0x928D,0x928E,
+0x928F,0x9290,0x9291,0x9292,0x9293,0x9294,0x9295,0x9296,
+0xB9BF,0x9297,0x9298,0x9299,0xB9C0,0x929A,0x929B,0x929C,
+0xB9C1,0x929D,0x929E,0x929F,0x92A0,0x92A1,0x92A2,0x92A3,
+0x92A4,0x92A5,0x92A6,0x92A7,0x92A8,0x92A9,0x92AA,0x92AB,
+0x92AC,0x92AD,0x92AE,0x92AF,0xB9C2,0x92B0,0x92B1,0x92B2,
+0xB9C3,0x92B3,0x92B4,0x92B5,0xB9C4,0x92B6,0x92B7,0x92B8,
+0x92B9,0x92BA,0x92BB,0x92BC,0xB9C5,0x92BD,0x92BE,0xB9C6,
+0x92BF,0x92C0,0x92C1,0x92C2,0x92C3,0x92C4,0x92C5,0x92C6,
+0xB9C7,0x92C7,0x92C8,0x92C9,0xB9C8,0x92CA,0x92CB,0x92CC,
+0xB9C9,0x92CD,0x92CE,0x92CF,0x92D0,0x92D1,0x92D2,0x92D3,
+0xB9CA,0x92D4,0x92D5,0xB9CB,0x92D6,0x92D7,0x92D8,0x92D9,
+0x92DA,0x92DB,0x92DC,0x92DD,0x92DE,0x92DF,0x92E0,0x92E1,
+0x92E2,0x92E3,0x92E4,0x92E5,0x92E6,0x92E7,0x92E8,0x92E9,
+0x92EA,0x92EB,0x92EC,0x92ED,0x92EE,0x92EF,0x92F0,0x92F1,
+0x92F2,0x92F3,0x92F4,0x92F5,0x92F6,0x92F7,0x92F8,0x92F9,
+0xB9CC,0xB9CD,0x92FA,0x92FB,0xB9CE,0x92FC,0x92FD,0xB9CF,
+0xB9D0,0x92FE,0xB9D1,0x9341,0x9342,0x9343,0x9344,0x9345,
+0xB9D2,0xB9D3,0x9346,0xB9D4,0xB9D5,0xB9D6,0x9347,0xB9D7,
+0x9348,0xB9D8,0x9349,0x934A,0xB9D9,0xB9DA,0xB9DB,0xB9DC,
+0xB9DD,0x934B,0x934C,0xB9DE,0xB9DF,0xB9E0,0xB9E1,0xB9E2,
+0x934D,0x934E,0x934F,0x9350,0xB9E3,0xB9E4,0x9351,0xB9E5,
+0x9352,0xB9E6,0x9353,0x9354,0x9355,0xB9E7,0x9356,0x9357,
+0xB9E8,0xB9E9,0x9358,0x9359,0xB9EA,0x935A,0x9361,0x9362,
+0xB9EB,0x9363,0x9364,0x9365,0x9366,0x9367,0x9368,0x9369,
+0xB9EC,0xB9ED,0x936A,0xB9EE,0xB9EF,0xB9F0,0x936B,0x936C,
+0x936D,0xB9F1,0x936E,0x936F,0xB9F2,0xB9F3,0x9370,0x9371,
+0xB9F4,0x9372,0x9373,0x9374,0x9375,0x9376,0x9377,0x9378,
+0x9379,0x937A,0x9381,0x9382,0x9383,0xB9F5,0x9384,0x9385,
+0x9386,0x9387,0x9388,0x9389,0x938A,0x938B,0x938C,0x938D,
+0x938E,0x938F,0x9390,0x9391,0x9392,0x9393,0x9394,0x9395,
+0x9396,0x9397,0x9398,0x9399,0x939A,0x939B,0x939C,0x939D,
+0x939E,0x939F,0x93A0,0x93A1,0x93A2,0x93A3,0x93A4,0x93A5,
+0x93A6,0x93A7,0x93A8,0x93A9,0xB9F6,0xB9F7,0x93AA,0x93AB,
+0xB9F8,0x93AC,0x93AD,0xB9F9,0xB9FA,0x93AE,0xB9FB,0x93AF,
+0x93B0,0x93B1,0x93B2,0x93B3,0xB9FC,0xB9FD,0x93B4,0xB9FE,
+0x93B5,0xBAA1,0xBAA2,0x93B6,0x93B7,0x93B8,0x93B9,0x93BA,
+0xBAA3,0xBAA4,0x93BB,0x93BC,0xBAA5,0x93BD,0x93BE,0xBAA6,
+0xBAA7,0x93BF,0x93C0,0x93C1,0x93C2,0x93C3,0x93C4,0x93C5,
+0xBAA8,0xBAA9,0x93C6,0xBAAA,0xBAAB,0xBAAC,0x93C7,0x93C8,
+0x93C9,0x93CA,0x93CB,0x93CC,0xBAAD,0xBAAE,0x93CD,0x93CE,
+0xBAAF,0x93CF,0x93D0,0x93D1,0xBAB0,0x93D2,0x93D3,0x93D4,
+0x93D5,0x93D6,0x93D7,0x93D8,0x93D9,0xBAB1,0x93DA,0xBAB2,
+0xBAB3,0xBAB4,0x93DB,0x93DC,0x93DD,0xBAB5,0x93DE,0x93DF,
+0xBAB6,0x93E0,0x93E1,0x93E2,0xBAB7,0x93E3,0x93E4,0x93E5,
+0x93E6,0x93E7,0x93E8,0x93E9,0x93EA,0x93EB,0x93EC,0x93ED,
+0x93EE,0x93EF,0x93F0,0x93F1,0x93F2,0x93F3,0x93F4,0x93F5,
+0x93F6,0x93F7,0x93F8,0x93F9,0xBAB8,0xBAB9,0xBABA,0x93FA,
+0xBABB,0x93FB,0x93FC,0x93FD,0xBABC,0x93FE,0x9441,0x9442,
+0x9443,0x9444,0x9445,0x9446,0xBABD,0xBABE,0x9447,0xBABF,
+0x9448,0xBAC0,0x9449,0x944A,0x944B,0x944C,0x944D,0x944E,
+0xBAC1,0x944F,0x9450,0x9451,0xBAC2,0x9452,0x9453,0x9454,
+0x9455,0x9456,0x9457,0x9458,0x9459,0x945A,0x9461,0x9462,
+0x9463,0x9464,0x9465,0x9466,0xBAC3,0x9467,0x9468,0x9469,
+0x946A,0x946B,0x946C,0x946D,0xBAC4,0x946E,0x946F,0x9470,
+0x9471,0x9472,0x9473,0x9474,0x9475,0x9476,0x9477,0x9478,
+0x9479,0x947A,0x9481,0x9482,0x9483,0x9484,0x9485,0x9486,
+0xBAC5,0x9487,0x9488,0x9489,0x948A,0x948B,0x948C,0x948D,
+0xBAC6,0xBAC7,0x948E,0x948F,0xBAC8,0x9490,0x9491,0x9492,
+0xBAC9,0x9493,0x9494,0x9495,0x9496,0x9497,0x9498,0x9499,
+0xBACA,0xBACB,0x949A,0x949B,0x949C,0x949D,0x949E,0x949F,
+0x94A0,0x94A1,0x94A2,0x94A3,0xBACC,0x94A4,0x94A5,0x94A6,
+0xBACD,0x94A7,0x94A8,0x94A9,0x94AA,0x94AB,0x94AC,0x94AD,
+0x94AE,0x94AF,0x94B0,0x94B1,0x94B2,0x94B3,0x94B4,0x94B5,
+0x94B6,0x94B7,0x94B8,0x94B9,0x94BA,0x94BB,0x94BC,0x94BD,
+0xBACE,0xBACF,0x94BE,0x94BF,0xBAD0,0x94C0,0x94C1,0xBAD1,
+0xBAD2,0xBAD3,0xBAD4,0x94C2,0x94C3,0x94C4,0x94C5,0x94C6,
+0xBAD5,0xBAD6,0x94C7,0xBAD7,0x94C8,0xBAD8,0x94C9,0x94CA,
+0x94CB,0xBAD9,0xBADA,0x94CC,0xBADB,0x94CD,0x94CE,0x94CF,
+0x94D0,0x94D1,0x94D2,0x94D3,0xBADC,0x94D4,0x94D5,0x94D6,
+0x94D7,0x94D8,0x94D9,0x94DA,0x94DB,0x94DC,0x94DD,0x94DE,
+0xBADD,0x94DF,0x94E0,0x94E1,0x94E2,0x94E3,0x94E4,0x94E5,
+0xBADE,0x94E6,0x94E7,0x94E8,0x94E9,0x94EA,0x94EB,0x94EC,
+0x94ED,0x94EE,0x94EF,0x94F0,0x94F1,0x94F2,0x94F3,0x94F4,
+0x94F5,0x94F6,0x94F7,0x94F8,0x94F9,0x94FA,0x94FB,0x94FC,
+0x94FD,0x94FE,0x9541,0x9542,0xBADF,0xBAE0,0x9543,0x9544,
+0xBAE1,0x9545,0x9546,0x9547,0xBAE2,0x9548,0x9549,0x954A,
+0x954B,0x954C,0x954D,0x954E,0x954F,0x9550,0x9551,0x9552,
+0x9553,0xBAE3,0x9554,0x9555,0x9556,0x9557,0x9558,0x9559,
+0xBAE4,0x955A,0x9561,0x9562,0xBAE5,0x9563,0x9564,0x9565,
+0xBAE6,0x9566,0x9567,0x9568,0x9569,0x956A,0x956B,0x956C,
+0xBAE7,0x956D,0x956E,0xBAE8,0x956F,0xBAE9,0x9570,0x9571,
+0x9572,0x9573,0x9574,0x9575,0xBAEA,0xBAEB,0x9576,0x9577,
+0xBAEC,0x9578,0x9579,0x957A,0xBAED,0x9581,0x9582,0x9583,
+0x9584,0x9585,0x9586,0x9587,0xBAEE,0xBAEF,0x9588,0xBAF0,
+0x9589,0x958A,0x958B,0x958C,0x958D,0x958E,0x958F,0x9590,
+0x9591,0x9592,0x9593,0x9594,0x9595,0x9596,0x9597,0x9598,
+0x9599,0x959A,0x959B,0x959C,0x959D,0x959E,0x959F,0x95A0,
+0x95A1,0x95A2,0x95A3,0x95A4,0x95A5,0x95A6,0x95A7,0x95A8,
+0x95A9,0x95AA,0x95AB,0x95AC,0xBAF1,0xBAF2,0x95AD,0x95AE,
+0xBAF3,0x95AF,0x95B0,0x95B1,0xBAF4,0x95B2,0xBAF5,0x95B3,
+0x95B4,0x95B5,0x95B6,0x95B7,0xBAF6,0xBAF7,0x95B8,0xBAF8,
+0x95B9,0xBAF9,0xBAFA,0xBAFB,0x95BA,0x95BB,0x95BC,0x95BD,
+0xBAFC,0xBAFD,0x95BE,0x95BF,0xBAFE,0x95C0,0x95C1,0x95C2,
+0xBBA1,0x95C3,0xBBA2,0x95C4,0x95C5,0x95C6,0x95C7,0x95C8,
+0xBBA3,0xBBA4,0x95C9,0xBBA5,0xBBA6,0xBBA7,0x95CA,0x95CB,
+0x95CC,0x95CD,0x95CE,0xBBA8,0xBBA9,0xBBAA,0x95CF,0x95D0,
+0xBBAB,0x95D1,0x95D2,0x95D3,0xBBAC,0x95D4,0x95D5,0x95D6,
+0x95D7,0x95D8,0x95D9,0x95DA,0xBBAD,0xBBAE,0x95DB,0xBBAF,
+0xBBB0,0xBBB1,0x95DC,0x95DD,0x95DE,0x95DF,0x95E0,0x95E1,
+0xBBB2,0xBBB3,0x95E2,0x95E3,0x95E4,0x95E5,0x95E6,0x95E7,
+0x95E8,0x95E9,0x95EA,0x95EB,0x95EC,0x95ED,0x95EE,0x95EF,
+0xBBB4,0x95F0,0x95F1,0x95F2,0x95F3,0x95F4,0x95F5,0x95F6,
+0x95F7,0x95F8,0x95F9,0x95FA,0x95FB,0x95FC,0x95FD,0x95FE,
+0x9641,0x9642,0x9643,0x9644,0x9645,0x9646,0x9647,0x9648,
+0x9649,0x964A,0x964B,0x964C,0x964D,0x964E,0x964F,0x9650,
+0x9651,0x9652,0x9653,0x9654,0x9655,0x9656,0x9657,0x9658,
+0xBBB5,0xBBB6,0x9659,0x965A,0xBBB7,0x9661,0x9662,0xBBB8,
+0xBBB9,0x9663,0x9664,0x9665,0x9666,0x9667,0x9668,0x9669,
+0xBBBA,0x966A,0x966B,0xBBBB,0xBBBC,0xBBBD,0x966C,0x966D,
+0x966E,0x966F,0x9670,0x9671,0xBBBE,0x9672,0x9673,0x9674,
+0x9675,0x9676,0x9677,0x9678,0x9679,0x967A,0x9681,0x9682,
+0x9683,0x9684,0x9685,0x9686,0x9687,0x9688,0x9689,0x968A,
+0x968B,0xBBBF,0x968C,0x968D,0x968E,0x968F,0x9690,0x9691,
+0xBBC0,0xBBC1,0x9692,0x9693,0x9694,0x9695,0x9696,0x9697,
+0x9698,0x9699,0x969A,0x969B,0x969C,0x969D,0x969E,0x969F,
+0xBBC2,0xBBC3,0x96A0,0xBBC4,0xBBC5,0xBBC6,0x96A1,0x96A2,
+0x96A3,0x96A4,0x96A5,0x96A6,0x96A7,0x96A8,0x96A9,0x96AA,
+0x96AB,0x96AC,0x96AD,0x96AE,0x96AF,0x96B0,0x96B1,0x96B2,
+0x96B3,0x96B4,0x96B5,0x96B6,0x96B7,0x96B8,0x96B9,0x96BA,
+0x96BB,0x96BC,0x96BD,0x96BE,0x96BF,0x96C0,0x96C1,0x96C2,
+0xBBC7,0xBBC8,0x96C3,0x96C4,0xBBC9,0x96C5,0x96C6,0x96C7,
+0xBBCA,0x96C8,0x96C9,0x96CA,0x96CB,0x96CC,0x96CD,0x96CE,
+0xBBCB,0xBBCC,0x96CF,0x96D0,0x96D1,0xBBCD,0x96D2,0x96D3,
+0x96D4,0x96D5,0x96D6,0x96D7,0x96D8,0x96D9,0x96DA,0x96DB,
+0x96DC,0x96DD,0x96DE,0x96DF,0x96E0,0x96E1,0x96E2,0x96E3,
+0x96E4,0x96E5,0x96E6,0x96E7,0x96E8,0x96E9,0x96EA,0x96EB,
+0x96EC,0x96ED,0x96EE,0x96EF,0x96F0,0x96F1,0x96F2,0x96F3,
+0x96F4,0x96F5,0x96F6,0x96F7,0x96F8,0x96F9,0x96FA,0x96FB,
+0x96FC,0x96FD,0x96FE,0x9741,0x9742,0x9743,0x9744,0x9745,
+0x9746,0x9747,0x9748,0x9749,0x974A,0x974B,0x974C,0x974D,
+0x974E,0x974F,0x9750,0x9751,0xBBCE,0x9752,0x9753,0x9754,
+0x9755,0x9756,0x9757,0x9758,0x9759,0x975A,0x9761,0x9762,
+0x9763,0x9764,0x9765,0x9766,0x9767,0x9768,0x9769,0x976A,
+0x976B,0x976C,0x976D,0x976E,0x976F,0x9770,0x9771,0x9772,
+0xBBCF,0x9773,0x9774,0x9775,0x9776,0x9777,0x9778,0x9779,
+0x977A,0x9781,0x9782,0x9783,0x9784,0x9785,0x9786,0x9787,
+0x9788,0x9789,0x978A,0x978B,0x978C,0xBBD0,0x978D,0x978E,
+0x978F,0x9790,0x9791,0x9792,0xBBD1,0xBBD2,0x9793,0x9794,
+0xBBD3,0x9795,0x9796,0x9797,0xBBD4,0x9798,0x9799,0x979A,
+0x979B,0x979C,0x979D,0x979E,0xBBD5,0x979F,0x97A0,0xBBD6,
+0x97A1,0xBBD7,0x97A2,0x97A3,0x97A4,0x97A5,0x97A6,0x97A7,
+0x97A8,0x97A9,0x97AA,0x97AB,0x97AC,0x97AD,0x97AE,0x97AF,
+0x97B0,0x97B1,0x97B2,0x97B3,0x97B4,0x97B5,0x97B6,0x97B7,
+0x97B8,0x97B9,0x97BA,0x97BB,0x97BC,0x97BD,0x97BE,0x97BF,
+0x97C0,0x97C1,0x97C2,0x97C3,0x97C4,0x97C5,0x97C6,0x97C7,
+0x97C8,0x97C9,0x97CA,0x97CB,0x97CC,0x97CD,0x97CE,0x97CF,
+0x97D0,0x97D1,0x97D2,0x97D3,0x97D4,0x97D5,0x97D6,0x97D7,
+0x97D8,0x97D9,0x97DA,0x97DB,0x97DC,0x97DD,0x97DE,0x97DF,
+0x97E0,0x97E1,0x97E2,0x97E3,0x97E4,0x97E5,0x97E6,0x97E7,
+0x97E8,0x97E9,0x97EA,0x97EB,0x97EC,0x97ED,0x97EE,0x97EF,
+0x97F0,0x97F1,0x97F2,0x97F3,0x97F4,0x97F5,0x97F6,0x97F7,
+0x97F8,0x97F9,0x97FA,0x97FB,0xBBD8,0x97FC,0x97FD,0x97FE,
+0x9841,0x9842,0x9843,0x9844,0x9845,0x9846,0x9847,0x9848,
+0x9849,0x984A,0x984B,0x984C,0x984D,0x984E,0x984F,0x9850,
+0x9851,0xBBD9,0x9852,0x9853,0x9854,0x9855,0x9856,0x9857,
+0xBBDA,0x9858,0x9859,0x985A,0xBBDB,0x9861,0x9862,0x9863,
+0xBBDC,0x9864,0x9865,0x9866,0x9867,0x9868,0x9869,0x986A,
+0xBBDD,0xBBDE,0x986B,0x986C,0x986D,0x986E,0x986F,0x9870,
+0x9871,0x9872,0x9873,0x9874,0x9875,0x9876,0x9877,0x9878,
+0x9879,0x987A,0x9881,0x9882,0x9883,0x9884,0x9885,0x9886,
+0x9887,0x9888,0x9889,0x988A,0x988B,0x988C,0x988D,0x988E,
+0x988F,0x9890,0x9891,0x9892,0x9893,0x9894,0x9895,0x9896,
+0xBBDF,0xBBE0,0x9897,0x9898,0xBBE1,0x9899,0x989A,0x989B,
+0xBBE2,0x989C,0x989D,0x989E,0x989F,0x98A0,0x98A1,0x98A2,
+0xBBE3,0xBBE4,0x98A3,0xBBE5,0x98A4,0xBBE6,0x98A5,0x98A6,
+0x98A7,0x98A8,0x98A9,0x98AA,0xBBE7,0xBBE8,0x98AB,0xBBE9,
+0xBBEA,0x98AC,0x98AD,0xBBEB,0xBBEC,0xBBED,0xBBEE,0x98AE,
+0x98AF,0x98B0,0x98B1,0x98B2,0xBBEF,0xBBF0,0x98B3,0xBBF1,
+0xBBF2,0xBBF3,0x98B4,0x98B5,0x98B6,0xBBF4,0x98B7,0x98B8,
+0xBBF5,0xBBF6,0x98B9,0x98BA,0xBBF7,0x98BB,0x98BC,0x98BD,
+0xBBF8,0x98BE,0x98BF,0x98C0,0x98C1,0x98C2,0x98C3,0x98C4,
+0xBBF9,0xBBFA,0x98C5,0xBBFB,0xBBFC,0xBBFD,0x98C6,0x98C7,
+0x98C8,0x98C9,0x98CA,0x98CB,0xBBFE,0xBCA1,0x98CC,0x98CD,
+0xBCA2,0x98CE,0x98CF,0x98D0,0xBCA3,0x98D1,0x98D2,0x98D3,
+0x98D4,0x98D5,0x98D6,0x98D7,0xBCA4,0xBCA5,0x98D8,0xBCA6,
+0x98D9,0xBCA7,0x98DA,0x98DB,0x98DC,0x98DD,0x98DE,0x98DF,
+0xBCA8,0x98E0,0x98E1,0x98E2,0xBCA9,0x98E3,0x98E4,0x98E5,
+0xBCAA,0x98E6,0x98E7,0x98E8,0x98E9,0x98EA,0x98EB,0x98EC,
+0xBCAB,0x98ED,0x98EE,0x98EF,0x98F0,0xBCAC,0x98F1,0x98F2,
+0x98F3,0x98F4,0x98F5,0x98F6,0xBCAD,0xBCAE,0xBCAF,0xBCB0,
+0xBCB1,0x98F7,0x98F8,0xBCB2,0xBCB3,0x98F9,0xBCB4,0xBCB5,
+0x98FA,0x98FB,0x98FC,0x98FD,0xBCB6,0xBCB7,0x98FE,0xBCB8,
+0xBCB9,0xBCBA,0x9941,0x9942,0x9943,0x9944,0xBCBB,0x9945,
+0xBCBC,0xBCBD,0x9946,0x9947,0xBCBE,0x9948,0x9949,0x994A,
+0xBCBF,0x994B,0x994C,0x994D,0x994E,0x994F,0x9950,0x9951,
+0xBCC0,0xBCC1,0x9952,0xBCC2,0xBCC3,0xBCC4,0x9953,0x9954,
+0x9955,0x9956,0x9957,0x9958,0xBCC5,0xBCC6,0x9959,0x995A,
+0xBCC7,0x9961,0x9962,0x9963,0xBCC8,0x9964,0x9965,0x9966,
+0x9967,0x9968,0x9969,0x996A,0xBCC9,0xBCCA,0x996B,0xBCCB,
+0xBCCC,0xBCCD,0x996C,0x996D,0x996E,0x996F,0x9970,0x9971,
+0xBCCE,0x9972,0x9973,0x9974,0xBCCF,0x9975,0x9976,0x9977,
+0xBCD0,0x9978,0x9979,0x997A,0x9981,0x9982,0x9983,0x9984,
+0x9985,0x9986,0x9987,0x9988,0x9989,0xBCD1,0x998A,0x998B,
+0x998C,0x998D,0x998E,0x998F,0xBCD2,0xBCD3,0xBCD4,0x9990,
+0xBCD5,0x9991,0x9992,0x9993,0xBCD6,0x9994,0xBCD7,0x9995,
+0x9996,0x9997,0x9998,0x9999,0xBCD8,0xBCD9,0x999A,0xBCDA,
+0x999B,0xBCDB,0x999C,0x999D,0x999E,0xBCDC,0x999F,0x99A0,
+0xBCDD,0xBCDE,0x99A1,0x99A2,0xBCDF,0x99A3,0x99A4,0x99A5,
+0xBCE0,0x99A6,0x99A7,0x99A8,0x99A9,0x99AA,0x99AB,0x99AC,
+0x99AD,0x99AE,0x99AF,0x99B0,0x99B1,0xBCE1,0x99B2,0x99B3,
+0x99B4,0x99B5,0x99B6,0x99B7,0xBCE2,0x99B8,0x99B9,0x99BA,
+0xBCE3,0x99BB,0x99BC,0x99BD,0xBCE4,0x99BE,0x99BF,0x99C0,
+0x99C1,0x99C2,0x99C3,0x99C4,0xBCE5,0x99C5,0x99C6,0xBCE6,
+0xBCE7,0x99C7,0x99C8,0x99C9,0x99CA,0x99CB,0x99CC,0x99CD,
+0xBCE8,0x99CE,0x99CF,0x99D0,0xBCE9,0x99D1,0x99D2,0x99D3,
+0xBCEA,0x99D4,0x99D5,0x99D6,0x99D7,0x99D8,0x99D9,0x99DA,
+0xBCEB,0xBCEC,0x99DB,0xBCED,0x99DC,0x99DD,0x99DE,0x99DF,
+0x99E0,0x99E1,0x99E2,0x99E3,0xBCEE,0xBCEF,0x99E4,0x99E5,
+0xBCF0,0x99E6,0x99E7,0x99E8,0xBCF1,0x99E9,0x99EA,0x99EB,
+0x99EC,0x99ED,0x99EE,0x99EF,0xBCF2,0xBCF3,0x99F0,0xBCF4,
+0x99F1,0xBCF5,0x99F2,0x99F3,0x99F4,0x99F5,0x99F6,0x99F7,
+0xBCF6,0xBCF7,0x99F8,0x99F9,0xBCF8,0x99FA,0x99FB,0xBCF9,
+0xBCFA,0x99FC,0x99FD,0x99FE,0x9A41,0x9A42,0x9A43,0x9A44,
+0xBCFB,0xBCFC,0x9A45,0xBCFD,0x9A46,0xBCFE,0x9A47,0xBDA1,
+0x9A48,0xBDA2,0xBDA3,0x9A49,0xBDA4,0x9A4A,0x9A4B,0x9A4C,
+0x9A4D,0x9A4E,0x9A4F,0x9A50,0x9A51,0x9A52,0x9A53,0x9A54,
+0x9A55,0x9A56,0x9A57,0x9A58,0x9A59,0x9A5A,0x9A61,0x9A62,
+0xBDA5,0x9A63,0x9A64,0x9A65,0x9A66,0x9A67,0x9A68,0x9A69,
+0xBDA6,0xBDA7,0x9A6A,0x9A6B,0xBDA8,0x9A6C,0x9A6D,0x9A6E,
+0xBDA9,0x9A6F,0x9A70,0x9A71,0x9A72,0x9A73,0x9A74,0x9A75,
+0xBDAA,0x9A76,0x9A77,0x9A78,0x9A79,0xBDAB,0x9A7A,0x9A81,
+0x9A82,0x9A83,0x9A84,0x9A85,0xBDAC,0xBDAD,0x9A86,0x9A87,
+0xBDAE,0x9A88,0x9A89,0x9A8A,0xBDAF,0x9A8B,0x9A8C,0x9A8D,
+0x9A8E,0x9A8F,0x9A90,0x9A91,0xBDB0,0xBDB1,0x9A92,0xBDB2,
+0x9A93,0xBDB3,0x9A94,0x9A95,0x9A96,0x9A97,0x9A98,0x9A99,
+0xBDB4,0xBDB5,0x9A9A,0x9A9B,0x9A9C,0x9A9D,0x9A9E,0x9A9F,
+0xBDB6,0x9AA0,0x9AA1,0x9AA2,0x9AA3,0x9AA4,0x9AA5,0x9AA6,
+0xBDB7,0x9AA7,0x9AA8,0xBDB8,0x9AA9,0xBDB9,0x9AAA,0x9AAB,
+0x9AAC,0x9AAD,0x9AAE,0x9AAF,0xBDBA,0xBDBB,0x9AB0,0x9AB1,
+0xBDBC,0x9AB2,0x9AB3,0x9AB4,0xBDBD,0xBDBE,0x9AB5,0x9AB6,
+0x9AB7,0x9AB8,0x9AB9,0x9ABA,0xBDBF,0xBDC0,0x9ABB,0xBDC1,
+0x9ABC,0xBDC2,0x9ABD,0x9ABE,0x9ABF,0x9AC0,0x9AC1,0x9AC2,
+0x9AC3,0x9AC4,0x9AC5,0x9AC6,0x9AC7,0x9AC8,0x9AC9,0x9ACA,
+0x9ACB,0x9ACC,0x9ACD,0x9ACE,0x9ACF,0x9AD0,0x9AD1,0x9AD2,
+0x9AD3,0x9AD4,0x9AD5,0x9AD6,0x9AD7,0x9AD8,0x9AD9,0x9ADA,
+0x9ADB,0x9ADC,0x9ADD,0x9ADE,0xBDC3,0xBDC4,0x9ADF,0x9AE0,
+0xBDC5,0x9AE1,0x9AE2,0xBDC6,0xBDC7,0x9AE3,0x9AE4,0x9AE5,
+0x9AE6,0x9AE7,0x9AE8,0xBDC8,0xBDC9,0xBDCA,0x9AE9,0xBDCB,
+0x9AEA,0xBDCC,0x9AEB,0x9AEC,0x9AED,0x9AEE,0xBDCD,0x9AEF,
+0xBDCE,0xBDCF,0x9AF0,0xBDD0,0xBDD1,0x9AF1,0x9AF2,0x9AF3,
+0xBDD2,0x9AF4,0x9AF5,0x9AF6,0x9AF7,0x9AF8,0x9AF9,0x9AFA,
+0xBDD3,0xBDD4,0x9AFB,0x9AFC,0xBDD5,0xBDD6,0x9AFD,0x9AFE,
+0x9B41,0x9B42,0x9B43,0xBDD7,0xBDD8,0xBDD9,0x9B44,0x9B45,
+0xBDDA,0x9B46,0x9B47,0x9B48,0xBDDB,0x9B49,0x9B4A,0x9B4B,
+0x9B4C,0x9B4D,0x9B4E,0x9B4F,0xBDDC,0xBDDD,0x9B50,0x9B51,
+0xBDDE,0xBDDF,0x9B52,0x9B53,0x9B54,0x9B55,0x9B56,0x9B57,
+0x9B58,0x9B59,0x9B5A,0x9B61,0x9B62,0x9B63,0x9B64,0x9B65,
+0x9B66,0x9B67,0x9B68,0x9B69,0x9B6A,0x9B6B,0x9B6C,0x9B6D,
+0x9B6E,0x9B6F,0x9B70,0x9B71,0x9B72,0xBDE0,0x9B73,0x9B74,
+0x9B75,0x9B76,0x9B77,0x9B78,0x9B79,0x9B7A,0x9B81,0x9B82,
+0x9B83,0x9B84,0x9B85,0x9B86,0x9B87,0x9B88,0x9B89,0x9B8A,
+0x9B8B,0x9B8C,0x9B8D,0x9B8E,0x9B8F,0x9B90,0x9B91,0x9B92,
+0x9B93,0x9B94,0x9B95,0x9B96,0x9B97,0x9B98,0x9B99,0x9B9A,
+0xBDE1,0xBDE2,0x9B9B,0x9B9C,0xBDE3,0x9B9D,0x9B9E,0x9B9F,
+0xBDE4,0x9BA0,0xBDE5,0x9BA1,0x9BA2,0x9BA3,0x9BA4,0x9BA5,
+0xBDE6,0xBDE7,0x9BA6,0x9BA7,0xBDE8,0xBDE9,0x9BA8,0x9BA9,
+0x9BAA,0x9BAB,0x9BAC,0x9BAD,0xBDEA,0x9BAE,0x9BAF,0x9BB0,
+0xBDEB,0x9BB1,0x9BB2,0x9BB3,0xBDEC,0x9BB4,0x9BB5,0x9BB6,
+0x9BB7,0x9BB8,0x9BB9,0x9BBA,0x9BBB,0x9BBC,0x9BBD,0x9BBE,
+0x9BBF,0x9BC0,0x9BC1,0x9BC2,0x9BC3,0x9BC4,0x9BC5,0x9BC6,
+0x9BC7,0x9BC8,0x9BC9,0x9BCA,0x9BCB,0x9BCC,0x9BCD,0x9BCE,
+0x9BCF,0x9BD0,0x9BD1,0x9BD2,0x9BD3,0x9BD4,0x9BD5,0x9BD6,
+0x9BD7,0x9BD8,0x9BD9,0x9BDA,0x9BDB,0x9BDC,0x9BDD,0x9BDE,
+0x9BDF,0x9BE0,0x9BE1,0x9BE2,0x9BE3,0x9BE4,0x9BE5,0x9BE6,
+0xBDED,0x9BE7,0x9BE8,0x9BE9,0x9BEA,0x9BEB,0x9BEC,0x9BED,
+0x9BEE,0x9BEF,0x9BF0,0x9BF1,0x9BF2,0x9BF3,0x9BF4,0x9BF5,
+0x9BF6,0x9BF7,0x9BF8,0x9BF9,0x9BFA,0x9BFB,0x9BFC,0x9BFD,
+0xBDEE,0xBDEF,0x9BFE,0x9C41,0xBDF0,0x9C42,0x9C43,0xBDF1,
+0xBDF2,0x9C44,0xBDF3,0x9C45,0x9C46,0x9C47,0x9C48,0x9C49,
+0xBDF4,0xBDF5,0x9C4A,0x9C4B,0x9C4C,0xBDF6,0x9C4D,0x9C4E,
+0x9C4F,0x9C50,0x9C51,0x9C52,0xBDF7,0xBDF8,0x9C53,0x9C54,
+0xBDF9,0x9C55,0x9C56,0x9C57,0x9C58,0x9C59,0x9C5A,0x9C61,
+0x9C62,0x9C63,0x9C64,0x9C65,0x9C66,0x9C67,0x9C68,0x9C69,
+0xBDFA,0x9C6A,0x9C6B,0x9C6C,0x9C6D,0x9C6E,0x9C6F,0x9C70,
+0xBDFB,0x9C71,0x9C72,0x9C73,0x9C74,0x9C75,0x9C76,0x9C77,
+0x9C78,0x9C79,0x9C7A,0x9C81,0x9C82,0x9C83,0x9C84,0x9C85,
+0x9C86,0x9C87,0x9C88,0x9C89,0xBDFC,0x9C8A,0x9C8B,0x9C8C,
+0x9C8D,0x9C8E,0x9C8F,0x9C90,0xBDFD,0x9C91,0x9C92,0x9C93,
+0xBDFE,0x9C94,0x9C95,0x9C96,0xBEA1,0x9C97,0x9C98,0x9C99,
+0x9C9A,0x9C9B,0x9C9C,0x9C9D,0xBEA2,0xBEA3,0x9C9E,0x9C9F,
+0x9CA0,0x9CA1,0x9CA2,0x9CA3,0x9CA4,0x9CA5,0x9CA6,0x9CA7,
+0xBEA4,0x9CA8,0x9CA9,0x9CAA,0x9CAB,0x9CAC,0x9CAD,0x9CAE,
+0x9CAF,0x9CB0,0x9CB1,0x9CB2,0x9CB3,0x9CB4,0x9CB5,0x9CB6,
+0x9CB7,0x9CB8,0x9CB9,0x9CBA,0x9CBB,0x9CBC,0x9CBD,0x9CBE,
+0x9CBF,0x9CC0,0x9CC1,0x9CC2,0xBEA5,0xBEA6,0x9CC3,0x9CC4,
+0xBEA7,0x9CC5,0x9CC6,0x9CC7,0xBEA8,0x9CC8,0x9CC9,0x9CCA,
+0x9CCB,0x9CCC,0x9CCD,0x9CCE,0xBEA9,0xBEAA,0x9CCF,0x9CD0,
+0x9CD1,0xBEAB,0x9CD2,0x9CD3,0x9CD4,0x9CD5,0x9CD6,0x9CD7,
+0xBEAC,0x9CD8,0x9CD9,0x9CDA,0x9CDB,0x9CDC,0x9CDD,0x9CDE,
+0x9CDF,0x9CE0,0x9CE1,0x9CE2,0x9CE3,0x9CE4,0x9CE5,0x9CE6,
+0x9CE7,0x9CE8,0x9CE9,0x9CEA,0xBEAD,0x9CEB,0x9CEC,0x9CED,
+0x9CEE,0x9CEF,0x9CF0,0x9CF1,0xBEAE,0x9CF2,0x9CF3,0x9CF4,
+0x9CF5,0x9CF6,0x9CF7,0x9CF8,0x9CF9,0x9CFA,0x9CFB,0x9CFC,
+0x9CFD,0x9CFE,0x9D41,0x9D42,0x9D43,0x9D44,0x9D45,0x9D46,
+0x9D47,0x9D48,0x9D49,0x9D4A,0x9D4B,0x9D4C,0x9D4D,0x9D4E,
+0xBEAF,0x9D4F,0x9D50,0x9D51,0xBEB0,0x9D52,0x9D53,0x9D54,
+0x9D55,0x9D56,0x9D57,0x9D58,0x9D59,0x9D5A,0x9D61,0x9D62,
+0x9D63,0x9D64,0x9D65,0x9D66,0x9D67,0x9D68,0x9D69,0x9D6A,
+0x9D6B,0x9D6C,0x9D6D,0x9D6E,0x9D6F,0x9D70,0x9D71,0x9D72,
+0x9D73,0x9D74,0x9D75,0x9D76,0x9D77,0x9D78,0x9D79,0x9D7A,
+0x9D81,0x9D82,0x9D83,0x9D84,0x9D85,0x9D86,0x9D87,0x9D88,
+0x9D89,0xBEB1,0x9D8A,0x9D8B,0x9D8C,0x9D8D,0x9D8E,0x9D8F,
+0xBEB2,0xBEB3,0x9D90,0x9D91,0xBEB4,0x9D92,0x9D93,0x9D94,
+0xBEB5,0x9D95,0xBEB6,0x9D96,0x9D97,0x9D98,0x9D99,0xBEB7,
+0xBEB8,0xBEB9,0x9D9A,0x9D9B,0x9D9C,0x9D9D,0x9D9E,0x9D9F,
+0x9DA0,0x9DA1,0x9DA2,0x9DA3,0xBEBA,0x9DA4,0x9DA5,0x9DA6,
+0xBEBB,0x9DA7,0x9DA8,0x9DA9,0xBEBC,0x9DAA,0x9DAB,0x9DAC,
+0x9DAD,0x9DAE,0x9DAF,0x9DB0,0xBEBD,0x9DB1,0x9DB2,0x9DB3,
+0x9DB4,0x9DB5,0x9DB6,0x9DB7,0x9DB8,0x9DB9,0x9DBA,0x9DBB,
+0xBEBE,0xBEBF,0x9DBC,0x9DBD,0xBEC0,0x9DBE,0x9DBF,0x9DC0,
+0xBEC1,0x9DC1,0x9DC2,0x9DC3,0x9DC4,0x9DC5,0x9DC6,0x9DC7,
+0xBEC2,0xBEC3,0x9DC8,0xBEC4,0x9DC9,0xBEC5,0x9DCA,0x9DCB,
+0x9DCC,0x9DCD,0x9DCE,0x9DCF,0xBEC6,0xBEC7,0x9DD0,0x9DD1,
+0xBEC8,0xBEC9,0xBECA,0x9DD2,0xBECB,0xBECC,0xBECD,0x9DD3,
+0x9DD4,0x9DD5,0x9DD6,0xBECE,0xBECF,0xBED0,0x9DD7,0xBED1,
+0xBED2,0xBED3,0x9DD8,0x9DD9,0x9DDA,0xBED4,0xBED5,0x9DDB,
+0xBED6,0xBED7,0x9DDC,0x9DDD,0xBED8,0x9DDE,0x9DDF,0x9DE0,
+0xBED9,0x9DE1,0x9DE2,0x9DE3,0x9DE4,0x9DE5,0x9DE6,0x9DE7,
+0xBEDA,0xBEDB,0x9DE8,0xBEDC,0xBEDD,0xBEDE,0x9DE9,0x9DEA,
+0x9DEB,0x9DEC,0x9DED,0x9DEE,0xBEDF,0xBEE0,0x9DEF,0x9DF0,
+0xBEE1,0x9DF1,0x9DF2,0x9DF3,0xBEE2,0x9DF4,0x9DF5,0xBEE3,
+0x9DF6,0x9DF7,0x9DF8,0x9DF9,0xBEE4,0xBEE5,0x9DFA,0xBEE6,
+0x9DFB,0xBEE7,0x9DFC,0x9DFD,0x9DFE,0xBEE8,0x9E41,0xBEE9,
+0xBEEA,0x9E42,0x9E43,0x9E44,0xBEEB,0x9E45,0x9E46,0x9E47,
+0xBEEC,0x9E48,0x9E49,0x9E4A,0x9E4B,0x9E4C,0x9E4D,0x9E4E,
+0x9E4F,0xBEED,0x9E50,0x9E51,0x9E52,0x9E53,0x9E54,0x9E55,
+0x9E56,0x9E57,0x9E58,0x9E59,0xBEEE,0xBEEF,0x9E5A,0x9E61,
+0xBEF0,0xBEF1,0x9E62,0xBEF2,0xBEF3,0xBEF4,0xBEF5,0x9E63,
+0x9E64,0x9E65,0x9E66,0x9E67,0xBEF6,0xBEF7,0xBEF8,0xBEF9,
+0xBEFA,0xBEFB,0xBEFC,0x9E68,0xBEFD,0x9E69,0xBEFE,0x9E6A,
+0xBFA1,0xBFA2,0x9E6B,0x9E6C,0xBFA3,0x9E6D,0x9E6E,0x9E6F,
+0xBFA4,0x9E70,0x9E71,0x9E72,0x9E73,0x9E74,0x9E75,0x9E76,
+0xBFA5,0xBFA6,0x9E77,0xBFA7,0x9E78,0xBFA8,0x9E79,0x9E7A,
+0x9E81,0x9E82,0x9E83,0x9E84,0xBFA9,0xBFAA,0xBFAB,0x9E85,
+0xBFAC,0x9E86,0x9E87,0x9E88,0xBFAD,0x9E89,0xBFAE,0xBFAF,
+0x9E8A,0x9E8B,0x9E8C,0x9E8D,0xBFB0,0xBFB1,0xBFB2,0xBFB3,
+0xBFB4,0xBFB5,0x9E8E,0x9E8F,0x9E90,0xBFB6,0xBFB7,0xBFB8,
+0xBFB9,0x9E91,0x9E92,0x9E93,0xBFBA,0x9E94,0x9E95,0x9E96,
+0xBFBB,0x9E97,0x9E98,0x9E99,0x9E9A,0x9E9B,0x9E9C,0x9E9D,
+0xBFBC,0xBFBD,0x9E9E,0xBFBE,0xBFBF,0x9E9F,0x9EA0,0x9EA1,
+0x9EA2,0x9EA3,0x9EA4,0x9EA5,0xBFC0,0xBFC1,0x9EA6,0x9EA7,
+0xBFC2,0x9EA8,0x9EA9,0x9EAA,0xBFC3,0xBFC4,0xBFC5,0x9EAB,
+0xBFC6,0x9EAC,0x9EAD,0xBFC7,0xBFC8,0xBFC9,0x9EAE,0xBFCA,
+0x9EAF,0xBFCB,0x9EB0,0xBFCC,0x9EB1,0x9EB2,0x9EB3,0x9EB4,
+0xBFCD,0xBFCE,0x9EB5,0x9EB6,0xBFCF,0x9EB7,0x9EB8,0x9EB9,
+0xBFD0,0x9EBA,0x9EBB,0x9EBC,0x9EBD,0x9EBE,0x9EBF,0x9EC0,
+0xBFD1,0xBFD2,0x9EC1,0xBFD3,0xBFD4,0xBFD5,0x9EC2,0x9EC3,
+0x9EC4,0x9EC5,0x9EC6,0x9EC7,0xBFD6,0xBFD7,0x9EC8,0x9EC9,
+0xBFD8,0x9ECA,0x9ECB,0x9ECC,0x9ECD,0x9ECE,0x9ECF,0x9ED0,
+0x9ED1,0x9ED2,0x9ED3,0x9ED4,0xBFD9,0x9ED5,0x9ED6,0xBFDA,
+0x9ED7,0xBFDB,0x9ED8,0x9ED9,0x9EDA,0x9EDB,0x9EDC,0x9EDD,
+0xBFDC,0xBFDD,0x9EDE,0x9EDF,0xBFDE,0x9EE0,0x9EE1,0x9EE2,
+0xBFDF,0x9EE3,0x9EE4,0x9EE5,0x9EE6,0x9EE7,0x9EE8,0x9EE9,
+0xBFE0,0xBFE1,0x9EEA,0xBFE2,0x9EEB,0xBFE3,0x9EEC,0x9EED,
+0x9EEE,0x9EEF,0x9EF0,0x9EF1,0xBFE4,0xBFE5,0x9EF2,0x9EF3,
+0xBFE6,0x9EF4,0x9EF5,0x9EF6,0xBFE7,0x9EF7,0x9EF8,0x9EF9,
+0x9EFA,0x9EFB,0x9EFC,0x9EFD,0xBFE8,0xBFE9,0x9EFE,0xBFEA,
+0x9F41,0xBFEB,0x9F42,0x9F43,0x9F44,0x9F45,0x9F46,0x9F47,
+0xBFEC,0xBFED,0x9F48,0x9F49,0xBFEE,0x9F4A,0x9F4B,0x9F4C,
+0xBFEF,0xBFF0,0xBFF1,0x9F4D,0x9F4E,0x9F4F,0x9F50,0x9F51,
+0xBFF2,0xBFF3,0x9F52,0xBFF4,0x9F53,0xBFF5,0x9F54,0x9F55,
+0x9F56,0x9F57,0x9F58,0x9F59,0xBFF6,0xBFF7,0x9F5A,0x9F61,
+0xBFF8,0x9F62,0x9F63,0x9F64,0xBFF9,0x9F65,0x9F66,0x9F67,
+0x9F68,0x9F69,0x9F6A,0x9F6B,0xBFFA,0xBFFB,0x9F6C,0x9F6D,
+0xBFFC,0xBFFD,0x9F6E,0x9F6F,0x9F70,0x9F71,0x9F72,0x9F73,
+0xBFFE,0xC0A1,0x9F74,0x9F75,0xC0A2,0x9F76,0x9F77,0x9F78,
+0xC0A3,0x9F79,0x9F7A,0x9F81,0x9F82,0x9F83,0x9F84,0x9F85,
+0xC0A4,0xC0A5,0x9F86,0x9F87,0x9F88,0xC0A6,0x9F89,0x9F8A,
+0x9F8B,0x9F8C,0x9F8D,0x9F8E,0xC0A7,0xC0A8,0x9F8F,0x9F90,
+0xC0A9,0x9F91,0x9F92,0x9F93,0xC0AA,0x9F94,0x9F95,0x9F96,
+0x9F97,0x9F98,0x9F99,0x9F9A,0xC0AB,0xC0AC,0x9F9B,0xC0AD,
+0x9F9C,0xC0AE,0x9F9D,0x9F9E,0x9F9F,0x9FA0,0x9FA1,0x9FA2,
+0xC0AF,0xC0B0,0x9FA3,0x9FA4,0xC0B1,0x9FA5,0x9FA6,0x9FA7,
+0xC0B2,0x9FA8,0x9FA9,0x9FAA,0x9FAB,0x9FAC,0x9FAD,0x9FAE,
+0xC0B3,0xC0B4,0x9FAF,0xC0B5,0x9FB0,0xC0B6,0x9FB1,0xC0B7,
+0x9FB2,0x9FB3,0x9FB4,0x9FB5,0xC0B8,0xC0B9,0x9FB6,0x9FB7,
+0xC0BA,0x9FB8,0x9FB9,0x9FBA,0xC0BB,0x9FBB,0x9FBC,0x9FBD,
+0x9FBE,0x9FBF,0xC0BC,0x9FC0,0xC0BD,0xC0BE,0x9FC1,0xC0BF,
+0x9FC2,0xC0C0,0xC0C1,0xC0C2,0xC0C3,0xC0C4,0xC0C5,0xC0C6,
+0xC0C7,0x9FC3,0x9FC4,0x9FC5,0xC0C8,0x9FC6,0x9FC7,0x9FC8,
+0xC0C9,0x9FC9,0x9FCA,0x9FCB,0x9FCC,0x9FCD,0x9FCE,0x9FCF,
+0xC0CA,0x9FD0,0x9FD1,0xC0CB,0x9FD2,0x9FD3,0x9FD4,0x9FD5,
+0x9FD6,0x9FD7,0x9FD8,0x9FD9,0xC0CC,0xC0CD,0x9FDA,0x9FDB,
+0xC0CE,0x9FDC,0x9FDD,0x9FDE,0xC0CF,0xC0D0,0xC0D1,0x9FDF,
+0x9FE0,0x9FE1,0x9FE2,0xC0D2,0xC0D3,0xC0D4,0x9FE3,0xC0D5,
+0xC0D6,0xC0D7,0xC0D8,0x9FE4,0x9FE5,0x9FE6,0xC0D9,0x9FE7,
+0xC0DA,0xC0DB,0x9FE8,0x9FE9,0xC0DC,0x9FEA,0xC0DD,0xC0DE,
+0xC0DF,0x9FEB,0xC0E0,0x9FEC,0x9FED,0x9FEE,0x9FEF,0x9FF0,
+0xC0E1,0xC0E2,0x9FF1,0xC0E3,0xC0E4,0xC0E5,0xC0E6,0x9FF2,
+0x9FF3,0x9FF4,0x9FF5,0x9FF6,0xC0E7,0xC0E8,0x9FF7,0x9FF8,
+0xC0E9,0x9FF9,0x9FFA,0x9FFB,0xC0EA,0x9FFC,0x9FFD,0x9FFE,
+0xA041,0xA042,0xA043,0xA044,0xC0EB,0xC0EC,0xA045,0xC0ED,
+0xC0EE,0xC0EF,0xA046,0xA047,0xA048,0xA049,0xA04A,0xA04B,
+0xC0F0,0xC0F1,0xA04C,0xA04D,0xC0F2,0xA04E,0xC0F3,0xA04F,
+0xC0F4,0xA050,0xA051,0xA052,0xA053,0xA054,0xA055,0xA056,
+0xC0F5,0xA057,0xA058,0xA059,0xA05A,0xC0F6,0xA061,0xA062,
+0xA063,0xA064,0xA065,0xA066,0xC0F7,0xA067,0xA068,0xA069,
+0xC0F8,0xA06A,0xA06B,0xA06C,0xC0F9,0xA06D,0xA06E,0xA06F,
+0xA070,0xA071,0xA072,0xA073,0xA074,0xA075,0xA076,0xA077,
+0xA078,0xA079,0xA07A,0xA081,0xA082,0xA083,0xA084,0xA085,
+0xC0FA,0xC0FB,0xA086,0xA087,0xC0FC,0xA088,0xA089,0xA08A,
+0xC0FD,0xA08B,0xC0FE,0xA08C,0xA08D,0xA08E,0xA08F,0xA090,
+0xC1A1,0xC1A2,0xA091,0xC1A3,0xA092,0xC1A4,0xC1A5,0xA093,
+0xA094,0xA095,0xA096,0xA097,0xC1A6,0xC1A7,0xA098,0xA099,
+0xC1A8,0xA09A,0xA09B,0xA09C,0xC1A9,0xA09D,0xA09E,0xA09F,
+0xA0A0,0xA0A1,0xA0A2,0xA0A3,0xC1AA,0xC1AB,0xA0A4,0xC1AC,
+0xA0A5,0xC1AD,0xA0A6,0xA0A7,0xA0A8,0xA0A9,0xA0AA,0xA0AB,
+0xC1AE,0xA0AC,0xA0AD,0xA0AE,0xC1AF,0xA0AF,0xA0B0,0xA0B1,
+0xC1B0,0xA0B2,0xA0B3,0xA0B4,0xA0B5,0xA0B6,0xA0B7,0xA0B8,
+0xC1B1,0xC1B2,0xA0B9,0xA0BA,0xC1B3,0xC1B4,0xA0BB,0xA0BC,
+0xA0BD,0xA0BE,0xA0BF,0xA0C0,0xC1B5,0xA0C1,0xA0C2,0xA0C3,
+0xA0C4,0xA0C5,0xA0C6,0xA0C7,0xA0C8,0xA0C9,0xA0CA,0xA0CB,
+0xA0CC,0xA0CD,0xA0CE,0xA0CF,0xA0D0,0xA0D1,0xA0D2,0xA0D3,
+0xA0D4,0xA0D5,0xA0D6,0xA0D7,0xA0D8,0xA0D9,0xA0DA,0xA0DB,
+0xC1B6,0xC1B7,0xA0DC,0xA0DD,0xC1B8,0xA0DE,0xA0DF,0xA0E0,
+0xC1B9,0xA0E1,0xC1BA,0xA0E2,0xA0E3,0xA0E4,0xA0E5,0xA0E6,
+0xC1BB,0xC1BC,0xA0E7,0xC1BD,0xA0E8,0xC1BE,0xC1BF,0xC1C0,
+0xA0E9,0xA0EA,0xA0EB,0xC1C1,0xC1C2,0xC1C3,0xA0EC,0xA0ED,
+0xA0EE,0xA0EF,0xA0F0,0xA0F1,0xC1C4,0xA0F2,0xA0F3,0xA0F4,
+0xA0F5,0xA0F6,0xA0F7,0xA0F8,0xA0F9,0xC1C5,0xA0FA,0xC1C6,
+0xA0FB,0xC1C7,0xA0FC,0xA0FD,0xA0FE,0xA141,0xA142,0xA143,
+0xC1C8,0xA144,0xA145,0xA146,0xA147,0xA148,0xA149,0xA14A,
+0xA14B,0xA14C,0xA14D,0xA14E,0xA14F,0xA150,0xA151,0xA152,
+0xA153,0xA154,0xA155,0xA156,0xC1C9,0xC1CA,0xA157,0xA158,
+0xA159,0xA15A,0xA161,0xA162,0xC1CB,0xA163,0xA164,0xA165,
+0xC1CC,0xA166,0xA167,0xA168,0xC1CD,0xA169,0xA16A,0xA16B,
+0xA16C,0xA16D,0xA16E,0xA16F,0xC1CE,0xC1CF,0xA170,0xC1D0,
+0xA171,0xC1D1,0xA172,0xA173,0xA174,0xA175,0xA176,0xA177,
+0xC1D2,0xC1D3,0xA178,0xA179,0xC1D4,0xA17A,0xA181,0xA182,
+0xA183,0xA184,0xA185,0xA186,0xA187,0xA188,0xA189,0xA18A,
+0xA18B,0xA18C,0xA18D,0xA18E,0xA18F,0xC1D5,0xA190,0xA191,
+0xA192,0xA193,0xA194,0xA195,0xC1D6,0xC1D7,0xA196,0xA197,
+0xC1D8,0xA198,0xA199,0xA19A,0xC1D9,0xC1DA,0xC1DB,0xA19B,
+0xA19C,0xA19D,0xA19E,0xA19F,0xC1DC,0xC1DD,0xA1A0,0xC1DE,
+0xA241,0xC1DF,0xA242,0xA243,0xA244,0xA245,0xA246,0xA247,
+0xC1E0,0xA248,0xA249,0xA24A,0xA24B,0xA24C,0xA24D,0xA24E,
+0xA24F,0xA250,0xA251,0xA252,0xA253,0xA254,0xA255,0xA256,
+0xA257,0xA258,0xA259,0xA25A,0xC1E1,0xA261,0xA262,0xA263,
+0xA264,0xA265,0xA266,0xA267,0xC1E2,0xA268,0xA269,0xA26A,
+0xA26B,0xA26C,0xA26D,0xA26E,0xA26F,0xA270,0xA271,0xA272,
+0xA273,0xA274,0xA275,0xA276,0xA277,0xA278,0xA279,0xA27A,
+0xA281,0xA282,0xA283,0xA284,0xA285,0xA286,0xA287,0xA288,
+0xC1E3,0xC1E4,0xA289,0xA28A,0xC1E5,0xA28B,0xA28C,0xA28D,
+0xC1E6,0xA28E,0xA28F,0xA290,0xA291,0xA292,0xA293,0xA294,
+0xC1E7,0xC1E8,0xA295,0xC1E9,0xA296,0xA297,0xA298,0xA299,
+0xA29A,0xA29B,0xA29C,0xA29D,0xC1EA,0xA29E,0xA29F,0xA2A0,
+0xC1EB,0xA341,0xA342,0xA343,0xC1EC,0xA344,0xA345,0xA346,
+0xA347,0xA348,0xA349,0xA34A,0xC1ED,0xA34B,0xA34C,0xA34D,
+0xA34E,0xA34F,0xA350,0xA351,0xA352,0xA353,0xA354,0xA355,
+0xC1EE,0xC1EF,0xA356,0xA357,0xC1F0,0xA358,0xA359,0xA35A,
+0xC1F1,0xA361,0xA362,0xA363,0xA364,0xA365,0xA366,0xA367,
+0xC1F2,0xC1F3,0xA368,0xC1F4,0xA369,0xC1F5,0xA36A,0xA36B,
+0xA36C,0xA36D,0xA36E,0xA36F,0xA370,0xA371,0xA372,0xA373,
+0xA374,0xA375,0xA376,0xA377,0xA378,0xA379,0xA37A,0xA381,
+0xA382,0xA383,0xA384,0xA385,0xA386,0xA387,0xA388,0xA389,
+0xA38A,0xA38B,0xA38C,0xA38D,0xA38E,0xA38F,0xA390,0xA391,
+0xC1F6,0xC1F7,0xA392,0xA393,0xC1F8,0xA394,0xA395,0xC1F9,
+0xC1FA,0xA396,0xC1FB,0xA397,0xA398,0xA399,0xA39A,0xA39B,
+0xC1FC,0xC1FD,0xA39C,0xC1FE,0xA39D,0xC2A1,0xC2A2,0xA39E,
+0xA39F,0xC2A3,0xC2A4,0xA3A0,0xC2A5,0xC2A6,0xA441,0xA442,
+0xC2A7,0xA443,0xC2A8,0xA444,0xC2A9,0xA445,0xA446,0xC2AA,
+0xA447,0xA448,0xA449,0xA44A,0xC2AB,0xC2AC,0xA44B,0xC2AD,
+0xC2AE,0xC2AF,0xA44C,0xA44D,0xA44E,0xA44F,0xA450,0xA451,
+0xC2B0,0xC2B1,0xA452,0xA453,0xC2B2,0xA454,0xA455,0xA456,
+0xC2B3,0xA457,0xA458,0xA459,0xA45A,0xA461,0xA462,0xA463,
+0xC2B4,0xC2B5,0xA464,0xC2B6,0xC2B7,0xC2B8,0xA465,0xA466,
+0xA467,0xA468,0xA469,0xA46A,0xC2B9,0xA46B,0xA46C,0xA46D,
+0xC2BA,0xA46E,0xA46F,0xA470,0xA471,0xA472,0xA473,0xA474,
+0xA475,0xA476,0xA477,0xA478,0xA479,0xA47A,0xA481,0xA482,
+0xA483,0xC2BB,0xA484,0xA485,0xA486,0xA487,0xA488,0xA489,
+0xA48A,0xA48B,0xA48C,0xA48D,0xA48E,0xA48F,0xA490,0xA491,
+0xA492,0xA493,0xA494,0xA495,0xA496,0xA497,0xA498,0xA499,
+0xA49A,0xA49B,0xA49C,0xA49D,0xA49E,0xA49F,0xA4A0,0xA541,
+0xA542,0xA543,0xA544,0xA545,0xC2BC,0xC2BD,0xA546,0xA547,
+0xC2BE,0xA548,0xA549,0xA54A,0xC2BF,0xA54B,0xA54C,0xA54D,
+0xA54E,0xA54F,0xA550,0xA551,0xC2C0,0xC2C1,0xA552,0xC2C2,
+0xC2C3,0xC2C4,0xA553,0xA554,0xA555,0xA556,0xA557,0xA558,
+0xC2C5,0xA559,0xA55A,0xA561,0xA562,0xA563,0xA564,0xA565,
+0xA566,0xA567,0xA568,0xA569,0xA56A,0xA56B,0xA56C,0xA56D,
+0xA56E,0xA56F,0xA570,0xA571,0xA572,0xC2C6,0xA573,0xA574,
+0xA575,0xA576,0xA577,0xA578,0xC2C7,0xA579,0xA57A,0xA581,
+0xA582,0xA583,0xA584,0xA585,0xA586,0xA587,0xA588,0xA589,
+0xA58A,0xA58B,0xA58C,0xA58D,0xA58E,0xA58F,0xA590,0xA591,
+0xC2C8,0xA592,0xA593,0xA594,0xA595,0xA596,0xA597,0xA598,
+0xA599,0xA59A,0xA59B,0xA59C,0xA59D,0xA59E,0xA59F,0xA5A0,
+0xA641,0xA642,0xA643,0xA644,0xA645,0xA646,0xA647,0xA648,
+0xA649,0xA64A,0xA64B,0xA64C,0xA64D,0xA64E,0xA64F,0xA650,
+0xA651,0xA652,0xA653,0xA654,0xC2C9,0xC2CA,0xA655,0xA656,
+0xC2CB,0xA657,0xA658,0xA659,0xC2CC,0xA65A,0xA661,0xA662,
+0xA663,0xA664,0xA665,0xA666,0xC2CD,0xC2CE,0xA667,0xC2CF,
+0xA668,0xC2D0,0xA669,0xC2D1,0xA66A,0xA66B,0xA66C,0xA66D,
+0xC2D2,0xC2D3,0xA66E,0xA66F,0xA670,0xA671,0xA672,0xA673,
+0xC2D4,0xA674,0xA675,0xA676,0xA677,0xA678,0xA679,0xA67A,
+0xA681,0xA682,0xA683,0xA684,0xC2D5,0xA685,0xA686,0xA687,
+0xA688,0xA689,0xA68A,0xA68B,0xC2D6,0xA68C,0xA68D,0xA68E,
+0xA68F,0xA690,0xA691,0xA692,0xA693,0xA694,0xA695,0xA696,
+0xA697,0xA698,0xA699,0xA69A,0xA69B,0xA69C,0xA69D,0xA69E,
+0xC2D7,0xA69F,0xA6A0,0xA741,0xA742,0xA743,0xA744,0xA745,
+0xC2D8,0xA746,0xA747,0xA748,0xC2D9,0xA749,0xA74A,0xA74B,
+0xC2DA,0xA74C,0xA74D,0xA74E,0xA74F,0xA750,0xA751,0xA752,
+0xC2DB,0xC2DC,0xA753,0xA754,0xA755,0xA756,0xA757,0xA758,
+0xA759,0xA75A,0xA761,0xA762,0xA763,0xA764,0xA765,0xA766,
+0xA767,0xA768,0xA769,0xA76A,0xA76B,0xA76C,0xA76D,0xA76E,
+0xA76F,0xA770,0xA771,0xA772,0xA773,0xA774,0xA775,0xA776,
+0xA777,0xC2DD,0xA778,0xA779,0xA77A,0xA781,0xA782,0xA783,
+0xC2DE,0xC2DF,0xA784,0xA785,0xC2E0,0xA786,0xA787,0xA788,
+0xC2E1,0xA789,0xA78A,0xA78B,0xA78C,0xA78D,0xA78E,0xA78F,
+0xC2E2,0xC2E3,0xA790,0xA791,0xA792,0xC2E4,0xA793,0xA794,
+0xA795,0xA796,0xA797,0xA798,0xC2E5,0xA799,0xA79A,0xA79B,
+0xA79C,0xA79D,0xA79E,0xA79F,0xA7A0,0xA841,0xA842,0xA843,
+0xA844,0xA845,0xA846,0xA847,0xA848,0xA849,0xA84A,0xA84B,
+0xC2E6,0xC2E7,0xA84C,0xA84D,0xA84E,0xA84F,0xA850,0xA851,
+0xA852,0xA853,0xA854,0xA855,0xA856,0xA857,0xA858,0xA859,
+0xA85A,0xA861,0xA862,0xA863,0xA864,0xA865,0xA866,0xA867,
+0xA868,0xA869,0xA86A,0xA86B,0xA86C,0xA86D,0xA86E,0xA86F,
+0xA870,0xA871,0xA872,0xA873,0xC2E8,0xA874,0xA875,0xA876,
+0xA877,0xA878,0xA879,0xA87A,0xA881,0xA882,0xA883,0xA884,
+0xA885,0xA886,0xA887,0xA888,0xA889,0xA88A,0xA88B,0xA88C,
+0xA88D,0xA88E,0xA88F,0xA890,0xA891,0xA892,0xA893,0xA894,
+0xC2E9,0xA895,0xA896,0xA897,0xA898,0xA899,0xA89A,0xA89B,
+0xA89C,0xA89D,0xA89E,0xA89F,0xA8A0,0xA941,0xA942,0xA943,
+0xA944,0xA945,0xA946,0xA947,0xA948,0xA949,0xA94A,0xA94B,
+0xA94C,0xA94D,0xA94E,0xA94F,0xC2EA,0xA950,0xA951,0xA952,
+0xA953,0xA954,0xA955,0xA956,0xA957,0xA958,0xA959,0xA95A,
+0xA961,0xA962,0xA963,0xA964,0xC2EB,0xA965,0xA966,0xC2EC,
+0xA967,0xC2ED,0xA968,0xA969,0xA96A,0xA96B,0xA96C,0xA96D,
+0xA96E,0xA96F,0xA970,0xA971,0xA972,0xA973,0xA974,0xA975,
+0xA976,0xA977,0xA978,0xA979,0xA97A,0xA981,0xA982,0xA983,
+0xA984,0xA985,0xA986,0xA987,0xA988,0xA989,0xA98A,0xA98B,
+0xA98C,0xA98D,0xA98E,0xA98F,0xC2EE,0xC2EF,0xA990,0xA991,
+0xC2F0,0xA992,0xA993,0xA994,0xC2F1,0xA995,0xA996,0xA997,
+0xA998,0xA999,0xA99A,0xA99B,0xC2F2,0xC2F3,0xA99C,0xA99D,
+0xA99E,0xC2F4,0xC2F5,0xA99F,0xA9A0,0xAA41,0xAA42,0xC2F6,
+0xC2F7,0xC2F8,0xAA43,0xAA44,0xC2F9,0xAA45,0xC2FA,0xAA46,
+0xC2FB,0xAA47,0xAA48,0xAA49,0xAA4A,0xAA4B,0xAA4C,0xAA4D,
+0xC2FC,0xC2FD,0xAA4E,0xC2FE,0xC3A1,0xC3A2,0xC3A3,0xAA4F,
+0xAA50,0xAA51,0xAA52,0xAA53,0xC3A4,0xC3A5,0xAA54,0xAA55,
+0xC3A6,0xAA56,0xAA57,0xAA58,0xC3A7,0xAA59,0xAA5A,0xAA61,
+0xAA62,0xAA63,0xAA64,0xAA65,0xC3A8,0xC3A9,0xAA66,0xC3AA,
+0xC3AB,0xC3AC,0xAA67,0xAA68,0xAA69,0xAA6A,0xAA6B,0xAA6C,
+0xC3AD,0xAA6D,0xAA6E,0xAA6F,0xC3AE,0xAA70,0xC3AF,0xAA71,
+0xC3B0,0xAA72,0xAA73,0xAA74,0xAA75,0xAA76,0xAA77,0xAA78,
+0xC3B1,0xAA79,0xAA7A,0xAA81,0xAA82,0xC3B2,0xAA83,0xAA84,
+0xAA85,0xAA86,0xAA87,0xAA88,0xAA89,0xAA8A,0xAA8B,0xAA8C,
+0xAA8D,0xAA8E,0xAA8F,0xAA90,0xAA91,0xAA92,0xAA93,0xAA94,
+0xAA95,0xAA96,0xAA97,0xAA98,0xAA99,0xAA9A,0xAA9B,0xAA9C,
+0xAA9D,0xAA9E,0xAA9F,0xAAA0,0xAB41,0xAB42,0xAB43,0xAB44,
+0xC3B3,0xC3B4,0xAB45,0xAB46,0xC3B5,0xAB47,0xAB48,0xAB49,
+0xC3B6,0xAB4A,0xAB4B,0xAB4C,0xAB4D,0xAB4E,0xAB4F,0xAB50,
+0xC3B7,0xC3B8,0xAB51,0xC3B9,0xC3BA,0xC3BB,0xAB52,0xAB53,
+0xAB54,0xAB55,0xAB56,0xAB57,0xC3BC,0xC3BD,0xAB58,0xAB59,
+0xC3BE,0xAB5A,0xAB61,0xAB62,0xC3BF,0xAB63,0xAB64,0xAB65,
+0xAB66,0xAB67,0xAB68,0xAB69,0xC3C0,0xC3C1,0xAB6A,0xC3C2,
+0xAB6B,0xC3C3,0xAB6C,0xAB6D,0xAB6E,0xAB6F,0xAB70,0xAB71,
+0xC3C4,0xAB72,0xAB73,0xAB74,0xC3C5,0xAB75,0xAB76,0xAB77,
+0xAB78,0xAB79,0xAB7A,0xAB81,0xAB82,0xAB83,0xAB84,0xAB85,
+0xAB86,0xAB87,0xAB88,0xAB89,0xC3C6,0xAB8A,0xAB8B,0xAB8C,
+0xAB8D,0xAB8E,0xAB8F,0xAB90,0xC3C7,0xAB91,0xAB92,0xAB93,
+0xC3C8,0xAB94,0xAB95,0xAB96,0xAB97,0xAB98,0xAB99,0xAB9A,
+0xAB9B,0xAB9C,0xAB9D,0xAB9E,0xAB9F,0xABA0,0xAC41,0xAC42,
+0xAC43,0xC3C9,0xAC44,0xAC45,0xAC46,0xAC47,0xAC48,0xAC49,
+0xC3CA,0xC3CB,0xAC4A,0xAC4B,0xC3CC,0xAC4C,0xAC4D,0xAC4E,
+0xC3CD,0xAC4F,0xAC50,0xAC51,0xAC52,0xAC53,0xAC54,0xAC55,
+0xC3CE,0xC3CF,0xAC56,0xC3D0,0xAC57,0xC3D1,0xAC58,0xAC59,
+0xAC5A,0xAC61,0xAC62,0xAC63,0xC3D2,0xAC64,0xAC65,0xAC66,
+0xC3D3,0xAC67,0xAC68,0xAC69,0xC3D4,0xAC6A,0xAC6B,0xAC6C,
+0xAC6D,0xAC6E,0xAC6F,0xAC70,0xAC71,0xAC72,0xAC73,0xAC74,
+0xAC75,0xC3D5,0xAC76,0xAC77,0xAC78,0xAC79,0xAC7A,0xAC81,
+0xAC82,0xAC83,0xAC84,0xAC85,0xAC86,0xAC87,0xAC88,0xAC89,
+0xAC8A,0xAC8B,0xAC8C,0xAC8D,0xAC8E,0xAC8F,0xAC90,0xAC91,
+0xAC92,0xAC93,0xAC94,0xAC95,0xAC96,0xAC97,0xAC98,0xAC99,
+0xAC9A,0xAC9B,0xAC9C,0xAC9D,0xC3D6,0xAC9E,0xAC9F,0xACA0,
+0xC3D7,0xAD41,0xAD42,0xAD43,0xC3D8,0xAD44,0xAD45,0xAD46,
+0xAD47,0xAD48,0xAD49,0xAD4A,0xC3D9,0xC3DA,0xAD4B,0xC3DB,
+0xAD4C,0xC3DC,0xAD4D,0xAD4E,0xAD4F,0xAD50,0xAD51,0xAD52,
+0xC3DD,0xAD53,0xAD54,0xAD55,0xAD56,0xAD57,0xAD58,0xAD59,
+0xAD5A,0xAD61,0xAD62,0xAD63,0xAD64,0xAD65,0xAD66,0xAD67,
+0xC3DE,0xAD68,0xAD69,0xAD6A,0xAD6B,0xAD6C,0xAD6D,0xAD6E,
+0xAD6F,0xAD70,0xAD71,0xAD72,0xC3DF,0xC3E0,0xAD73,0xAD74,
+0xC3E1,0xAD75,0xAD76,0xAD77,0xC3E2,0xAD78,0xAD79,0xAD7A,
+0xAD81,0xAD82,0xAD83,0xAD84,0xC3E3,0xC3E4,0xAD85,0xC3E5,
+0xAD86,0xC3E6,0xAD87,0xAD88,0xAD89,0xAD8A,0xAD8B,0xAD8C,
+0xC3E7,0xAD8D,0xAD8E,0xAD8F,0xAD90,0xAD91,0xAD92,0xAD93,
+0xAD94,0xAD95,0xAD96,0xAD97,0xAD98,0xAD99,0xAD9A,0xAD9B,
+0xAD9C,0xAD9D,0xAD9E,0xAD9F,0xC3E8,0xADA0,0xAE41,0xAE42,
+0xAE43,0xAE44,0xAE45,0xAE46,0xC3E9,0xAE47,0xAE48,0xAE49,
+0xC3EA,0xAE4A,0xAE4B,0xAE4C,0xAE4D,0xAE4E,0xAE4F,0xAE50,
+0xAE51,0xAE52,0xAE53,0xAE54,0xAE55,0xAE56,0xAE57,0xAE58,
+0xAE59,0xAE5A,0xAE61,0xAE62,0xAE63,0xAE64,0xAE65,0xAE66,
+0xC3EB,0xAE67,0xAE68,0xAE69,0xC3EC,0xAE6A,0xAE6B,0xAE6C,
+0xC3ED,0xAE6D,0xAE6E,0xAE6F,0xAE70,0xAE71,0xAE72,0xAE73,
+0xC3EE,0xC3EF,0xAE74,0xC3F0,0xAE75,0xC3F1,0xAE76,0xAE77,
+0xAE78,0xAE79,0xAE7A,0xAE81,0xC3F2,0xAE82,0xAE83,0xAE84,
+0xC3F3,0xAE85,0xAE86,0xAE87,0xC3F4,0xAE88,0xAE89,0xAE8A,
+0xAE8B,0xAE8C,0xAE8D,0xAE8E,0xC3F5,0xAE8F,0xAE90,0xAE91,
+0xAE92,0xC3F6,0xAE93,0xAE94,0xAE95,0xAE96,0xAE97,0xAE98,
+0xC3F7,0xC3F8,0xAE99,0xAE9A,0xC3F9,0xAE9B,0xAE9C,0xAE9D,
+0xC3FA,0xAE9E,0xAE9F,0xAEA0,0xAF41,0xAF42,0xAF43,0xAF44,
+0xC3FB,0xC3FC,0xAF45,0xC3FD,0xAF46,0xC3FE,0xAF47,0xAF48,
+0xAF49,0xAF4A,0xAF4B,0xAF4C,0xAF4D,0xAF4E,0xAF4F,0xAF50,
+0xAF51,0xAF52,0xAF53,0xAF54,0xAF55,0xAF56,0xAF57,0xAF58,
+0xAF59,0xAF5A,0xAF61,0xAF62,0xAF63,0xAF64,0xAF65,0xAF66,
+0xAF67,0xAF68,0xAF69,0xAF6A,0xAF6B,0xAF6C,0xAF6D,0xAF6E,
+0xC4A1,0xC4A2,0xAF6F,0xAF70,0xC4A3,0xAF71,0xAF72,0xC4A4,
+0xC4A5,0xC4A6,0xAF73,0xAF74,0xAF75,0xAF76,0xAF77,0xAF78,
+0xC4A7,0xC4A8,0xAF79,0xC4A9,0xAF7A,0xC4AA,0xAF81,0xAF82,
+0xAF83,0xAF84,0xAF85,0xAF86,0xC4AB,0xC4AC,0xAF87,0xAF88,
+0xC4AD,0xAF89,0xAF8A,0xAF8B,0xC4AE,0xAF8C,0xAF8D,0xAF8E,
+0xAF8F,0xAF90,0xAF91,0xAF92,0xC4AF,0xC4B0,0xAF93,0xC4B1,
+0xAF94,0xC4B2,0xAF95,0xAF96,0xAF97,0xAF98,0xAF99,0xAF9A,
+0xC4B3,0xC4B4,0xAF9B,0xAF9C,0xC4B5,0xAF9D,0xAF9E,0xAF9F,
+0xC4B6,0xAFA0,0xB041,0xB042,0xB043,0xB044,0xB045,0xB046,
+0xC4B7,0xC4B8,0xB047,0xC4B9,0xC4BA,0xC4BB,0xB048,0xB049,
+0xB04A,0xB04B,0xB04C,0xB04D,0xC4BC,0xC4BD,0xB04E,0xB04F,
+0xB050,0xB051,0xB052,0xB053,0xB054,0xB055,0xB056,0xB057,
+0xB058,0xB059,0xB05A,0xB061,0xB062,0xB063,0xB064,0xB065,
+0xB066,0xC4BE,0xB067,0xB068,0xB069,0xB06A,0xB06B,0xB06C,
+0xB06D,0xB06E,0xB06F,0xB070,0xB071,0xB072,0xB073,0xB074,
+0xB075,0xB076,0xB077,0xB078,0xB079,0xB07A,0xB081,0xB082,
+0xB083,0xB084,0xB085,0xB086,0xB087,0xB088,0xB089,0xB08A,
+0xB08B,0xB08C,0xB08D,0xB08E,0xC4BF,0xC4C0,0xB08F,0xB090,
+0xC4C1,0xB091,0xB092,0xC4C2,0xC4C3,0xB093,0xB094,0xB095,
+0xB096,0xB097,0xB098,0xB099,0xC4C4,0xC4C5,0xB09A,0xC4C6,
+0xC4C7,0xC4C8,0xB09B,0xB09C,0xB09D,0xB09E,0xB09F,0xB0A0,
+0xC4C9,0xC4CA,0xB141,0xB142,0xC4CB,0xB143,0xB144,0xB145,
+0xC4CC,0xB146,0xB147,0xB148,0xB149,0xB14A,0xB14B,0xB14C,
+0xC4CD,0xC4CE,0xB14D,0xC4CF,0xB14E,0xC4D0,0xB14F,0xB150,
+0xB151,0xB152,0xB153,0xB154,0xC4D1,0xB155,0xB156,0xB157,
+0xC4D2,0xB158,0xB159,0xB15A,0xC4D3,0xB161,0xB162,0xB163,
+0xB164,0xB165,0xB166,0xB167,0xC4D4,0xC4D5,0xB168,0xC4D6,
+0xC4D7,0xC4D8,0xB169,0xB16A,0xB16B,0xB16C,0xB16D,0xB16E,
+0xC4D9,0xB16F,0xB170,0xB171,0xB172,0xB173,0xB174,0xB175,
+0xB176,0xB177,0xB178,0xB179,0xB17A,0xB181,0xB182,0xB183,
+0xB184,0xB185,0xB186,0xB187,0xB188,0xB189,0xB18A,0xB18B,
+0xB18C,0xB18D,0xB18E,0xB18F,0xC4DA,0xC4DB,0xB190,0xB191,
+0xC4DC,0xB192,0xB193,0xB194,0xC4DD,0xB195,0xB196,0xB197,
+0xB198,0xB199,0xB19A,0xB19B,0xC4DE,0xC4DF,0xB19C,0xC4E0,
+0xB19D,0xC4E1,0xB19E,0xB19F,0xB1A0,0xB241,0xB242,0xB243,
+0xC4E2,0xC4E3,0xB244,0xB245,0xC4E4,0xB246,0xB247,0xB248,
+0xC4E5,0xB249,0xB24A,0xB24B,0xB24C,0xB24D,0xB24E,0xB24F,
+0xC4E6,0xB250,0xB251,0xB252,0xB253,0xC4E7,0xB254,0xB255,
+0xB256,0xB257,0xB258,0xB259,0xC4E8,0xB25A,0xB261,0xB262,
+0xB263,0xB264,0xB265,0xB266,0xB267,0xB268,0xB269,0xB26A,
+0xB26B,0xB26C,0xB26D,0xB26E,0xB26F,0xB270,0xB271,0xB272,
+0xB273,0xC4E9,0xB274,0xB275,0xB276,0xB277,0xB278,0xB279,
+0xC4EA,0xB27A,0xB281,0xB282,0xB283,0xB284,0xB285,0xB286,
+0xC4EB,0xB287,0xB288,0xB289,0xB28A,0xB28B,0xB28C,0xB28D,
+0xB28E,0xB28F,0xB290,0xB291,0xB292,0xB293,0xB294,0xB295,
+0xB296,0xB297,0xB298,0xB299,0xC4EC,0xB29A,0xB29B,0xB29C,
+0xB29D,0xB29E,0xB29F,0xB2A0,0xB341,0xB342,0xB343,0xB344,
+0xB345,0xB346,0xB347,0xB348,0xB349,0xB34A,0xB34B,0xB34C,
+0xB34D,0xB34E,0xB34F,0xB350,0xB351,0xB352,0xB353,0xB354,
+0xC4ED,0xC4EE,0xB355,0xB356,0xC4EF,0xB357,0xB358,0xB359,
+0xC4F0,0xB35A,0xB361,0xB362,0xB363,0xB364,0xB365,0xB366,
+0xC4F1,0xC4F2,0xB367,0xC4F3,0xB368,0xC4F4,0xB369,0xB36A,
+0xB36B,0xB36C,0xB36D,0xB36E,0xC4F5,0xB36F,0xB370,0xB371,
+0xC4F6,0xB372,0xB373,0xB374,0xC4F7,0xB375,0xB376,0xB377,
+0xB378,0xB379,0xB37A,0xB381,0xB382,0xB383,0xB384,0xB385,
+0xB386,0xC4F8,0xB387,0xB388,0xB389,0xB38A,0xB38B,0xB38C,
+0xC4F9,0xB38D,0xB38E,0xB38F,0xB390,0xB391,0xB392,0xB393,
+0xB394,0xB395,0xB396,0xB397,0xB398,0xB399,0xB39A,0xB39B,
+0xB39C,0xB39D,0xB39E,0xB39F,0xB3A0,0xC4FA,0xB441,0xB442,
+0xB443,0xB444,0xB445,0xB446,0xC4FB,0xC4FC,0xB447,0xB448,
+0xC4FD,0xB449,0xB44A,0xB44B,0xC4FE,0xB44C,0xB44D,0xB44E,
+0xB44F,0xB450,0xB451,0xB452,0xC5A1,0xC5A2,0xB453,0xC5A3,
+0xB454,0xC5A4,0xB455,0xB456,0xB457,0xB458,0xB459,0xB45A,
+0xC5A5,0xB461,0xB462,0xB463,0xC5A6,0xB464,0xB465,0xB466,
+0xC5A7,0xB467,0xB468,0xB469,0xB46A,0xB46B,0xB46C,0xB46D,
+0xC5A8,0xB46E,0xB46F,0xB470,0xB471,0xB472,0xB473,0xB474,
+0xB475,0xB476,0xB477,0xB478,0xC5A9,0xC5AA,0xB479,0xB47A,
+0xC5AB,0xB481,0xB482,0xB483,0xC5AC,0xB484,0xB485,0xB486,
+0xB487,0xB488,0xB489,0xB48A,0xC5AD,0xC5AE,0xB48B,0xB48C,
+0xB48D,0xC5AF,0xB48E,0xB48F,0xB490,0xB491,0xB492,0xB493,
+0xB494,0xB495,0xB496,0xB497,0xB498,0xB499,0xB49A,0xB49B,
+0xB49C,0xB49D,0xB49E,0xB49F,0xB4A0,0xB541,0xB542,0xB543,
+0xB544,0xB545,0xB546,0xB547,0xB548,0xB549,0xB54A,0xB54B,
+0xB54C,0xB54D,0xB54E,0xB54F,0xC5B0,0xC5B1,0xB550,0xB551,
+0xC5B2,0xB552,0xB553,0xB554,0xC5B3,0xB555,0xB556,0xB557,
+0xB558,0xB559,0xB55A,0xB561,0xC5B4,0xC5B5,0xB562,0xC5B6,
+0xB563,0xC5B7,0xB564,0xB565,0xB566,0xB567,0xB568,0xB569,
+0xC5B8,0xC5B9,0xB56A,0xB56B,0xC5BA,0xB56C,0xB56D,0xB56E,
+0xC5BB,0xC5BC,0xB56F,0xB570,0xB571,0xB572,0xB573,0xB574,
+0xC5BD,0xC5BE,0xB575,0xC5BF,0xC5C0,0xC5C1,0xB576,0xB577,
+0xB578,0xB579,0xB57A,0xB581,0xC5C2,0xC5C3,0xB582,0xB583,
+0xC5C4,0xB584,0xB585,0xB586,0xC5C5,0xB587,0xB588,0xB589,
+0xB58A,0xB58B,0xB58C,0xB58D,0xC5C6,0xC5C7,0xB58E,0xC5C8,
+0xC5C9,0xC5CA,0xB58F,0xB590,0xB591,0xB592,0xB593,0xB594,
+0xC5CB,0xB595,0xB596,0xB597,0xB598,0xB599,0xB59A,0xB59B,
+0xB59C,0xB59D,0xB59E,0xB59F,0xB5A0,0xB641,0xB642,0xB643,
+0xB644,0xB645,0xB646,0xB647,0xB648,0xC5CC,0xB649,0xB64A,
+0xB64B,0xB64C,0xB64D,0xB64E,0xB64F,0xB650,0xB651,0xB652,
+0xB653,0xB654,0xB655,0xB656,0xB657,0xB658,0xB659,0xB65A,
+0xB661,0xB662,0xB663,0xB664,0xB665,0xB666,0xB667,0xB668,
+0xB669,0xB66A,0xB66B,0xB66C,0xB66D,0xB66E,0xB66F,0xB670,
+0xC5CD,0xC5CE,0xB671,0xB672,0xC5CF,0xB673,0xB674,0xB675,
+0xC5D0,0xB676,0xC5D1,0xB677,0xB678,0xB679,0xB67A,0xB681,
+0xC5D2,0xC5D3,0xB682,0xC5D4,0xC5D5,0xC5D6,0xB683,0xB684,
+0xB685,0xB686,0xB687,0xB688,0xC5D7,0xC5D8,0xB689,0xB68A,
+0xC5D9,0xB68B,0xB68C,0xB68D,0xC5DA,0xB68E,0xB68F,0xB690,
+0xB691,0xB692,0xB693,0xB694,0xC5DB,0xC5DC,0xB695,0xC5DD,
+0xB696,0xC5DE,0xB697,0xB698,0xB699,0xB69A,0xB69B,0xB69C,
+0xC5DF,0xB69D,0xB69E,0xB69F,0xC5E0,0xB6A0,0xB741,0xB742,
+0xB743,0xB744,0xB745,0xB746,0xB747,0xB748,0xB749,0xB74A,
+0xB74B,0xB74C,0xB74D,0xB74E,0xC5E1,0xB74F,0xB750,0xB751,
+0xB752,0xB753,0xB754,0xB755,0xC5E2,0xB756,0xB757,0xB758,
+0xC5E3,0xB759,0xB75A,0xB761,0xB762,0xB763,0xB764,0xB765,
+0xB766,0xB767,0xB768,0xB769,0xB76A,0xB76B,0xB76C,0xB76D,
+0xB76E,0xB76F,0xB770,0xB771,0xB772,0xB773,0xB774,0xB775,
+0xC5E4,0xC5E5,0xB776,0xB777,0xC5E6,0xB778,0xB779,0xB77A,
+0xC5E7,0xB781,0xB782,0xB783,0xB784,0xB785,0xB786,0xB787,
+0xC5E8,0xC5E9,0xB788,0xC5EA,0xB789,0xC5EB,0xB78A,0xB78B,
+0xB78C,0xB78D,0xC5EC,0xB78E,0xC5ED,0xB78F,0xB790,0xB791,
+0xC5EE,0xB792,0xB793,0xB794,0xB795,0xB796,0xB797,0xB798,
+0xB799,0xB79A,0xB79B,0xB79C,0xB79D,0xB79E,0xB79F,0xB7A0,
+0xB841,0xB842,0xB843,0xB844,0xB845,0xB846,0xB847,0xB848,
+0xC5EF,0xB849,0xB84A,0xB84B,0xB84C,0xB84D,0xB84E,0xB84F,
+0xB850,0xB851,0xB852,0xB853,0xB854,0xB855,0xB856,0xB857,
+0xB858,0xB859,0xB85A,0xB861,0xB862,0xB863,0xB864,0xB865,
+0xB866,0xB867,0xB868,0xB869,0xC5F0,0xB86A,0xB86B,0xB86C,
+0xC5F1,0xB86D,0xB86E,0xB86F,0xB870,0xB871,0xB872,0xB873,
+0xB874,0xB875,0xB876,0xB877,0xB878,0xB879,0xB87A,0xC5F2,
+0xB881,0xC5F3,0xB882,0xB883,0xB884,0xB885,0xB886,0xB887,
+0xC5F4,0xB888,0xB889,0xB88A,0xB88B,0xB88C,0xB88D,0xB88E,
+0xB88F,0xB890,0xB891,0xB892,0xB893,0xB894,0xB895,0xB896,
+0xB897,0xB898,0xB899,0xB89A,0xB89B,0xB89C,0xB89D,0xB89E,
+0xB89F,0xB8A0,0xB941,0xB942,0xC5F5,0xC5F6,0xB943,0xB944,
+0xC5F7,0xB945,0xB946,0xB947,0xC5F8,0xB948,0xB949,0xB94A,
+0xB94B,0xB94C,0xB94D,0xB94E,0xC5F9,0xC5FA,0xB94F,0xC5FB,
+0xB950,0xC5FC,0xB951,0xB952,0xB953,0xB954,0xB955,0xB956,
+0xC5FD,0xB957,0xB958,0xB959,0xB95A,0xB961,0xB962,0xB963,
+0xB964,0xB965,0xB966,0xB967,0xB968,0xB969,0xB96A,0xB96B,
+0xB96C,0xB96D,0xB96E,0xB96F,0xC5FE,0xB970,0xB971,0xB972,
+0xB973,0xB974,0xB975,0xB976,0xC6A1,0xB977,0xB978,0xB979,
+0xB97A,0xB981,0xB982,0xB983,0xB984,0xB985,0xB986,0xB987,
+0xB988,0xB989,0xB98A,0xB98B,0xB98C,0xB98D,0xB98E,0xB98F,
+0xB990,0xB991,0xB992,0xB993,0xB994,0xB995,0xB996,0xB997,
+0xC6A2,0xC6A3,0xB998,0xB999,0xC6A4,0xB99A,0xB99B,0xB99C,
+0xC6A5,0xB99D,0xB99E,0xB99F,0xB9A0,0xBA41,0xBA42,0xBA43,
+0xC6A6,0xC6A7,0xBA44,0xBA45,0xBA46,0xC6A8,0xBA47,0xBA48,
+0xBA49,0xBA4A,0xBA4B,0xBA4C,0xC6A9,0xBA4D,0xBA4E,0xBA4F,
+0xC6AA,0xBA50,0xBA51,0xBA52,0xC6AB,0xBA53,0xBA54,0xBA55,
+0xBA56,0xBA57,0xBA58,0xBA59,0xC6AC,0xBA5A,0xBA61,0xBA62,
+0xBA63,0xC6AD,0xBA64,0xBA65,0xBA66,0xBA67,0xBA68,0xBA69,
+0xC6AE,0xC6AF,0xBA6A,0xBA6B,0xC6B0,0xBA6C,0xBA6D,0xC6B1,
+0xC6B2,0xBA6E,0xC6B3,0xBA6F,0xBA70,0xBA71,0xBA72,0xBA73,
+0xC6B4,0xC6B5,0xBA74,0xC6B6,0xBA75,0xBA76,0xBA77,0xBA78,
+0xBA79,0xBA7A,0xBA81,0xBA82,0xC6B7,0xBA83,0xBA84,0xBA85,
+0xC6B8,0xBA86,0xBA87,0xBA88,0xC6B9,0xBA89,0xBA8A,0xBA8B,
+0xBA8C,0xBA8D,0xBA8E,0xBA8F,0xC6BA,0xC6BB,0xBA90,0xBA91,
+0xBA92,0xBA93,0xBA94,0xBA95,0xBA96,0xBA97,0xBA98,0xBA99,
+0xC6BC,0xC6BD,0xBA9A,0xBA9B,0xC6BE,0xBA9C,0xBA9D,0xBA9E,
+0xC6BF,0xBA9F,0xBAA0,0xBB41,0xBB42,0xBB43,0xBB44,0xBB45,
+0xC6C0,0xC6C1,0xBB46,0xC6C2,0xBB47,0xC6C3,0xBB48,0xBB49,
+0xBB4A,0xBB4B,0xBB4C,0xBB4D,0xC6C4,0xC6C5,0xC6C6,0xBB4E,
+0xC6C7,0xBB4F,0xBB50,0xBB51,0xC6C8,0xBB52,0xC6C9,0xBB53,
+0xBB54,0xBB55,0xBB56,0xBB57,0xC6CA,0xC6CB,0xBB58,0xC6CC,
+0xC6CD,0xC6CE,0xBB59,0xBB5A,0xBB61,0xC6CF,0xBB62,0xBB63,
+0xC6D0,0xC6D1,0xBB64,0xBB65,0xC6D2,0xBB66,0xBB67,0xBB68,
+0xC6D3,0xBB69,0xBB6A,0xBB6B,0xBB6C,0xBB6D,0xBB6E,0xBB6F,
+0xC6D4,0xC6D5,0xBB70,0xC6D6,0xC6D7,0xC6D8,0xBB71,0xBB72,
+0xBB73,0xBB74,0xBB75,0xBB76,0xC6D9,0xC6DA,0xBB77,0xBB78,
+0xBB79,0xBB7A,0xBB81,0xBB82,0xBB83,0xBB84,0xBB85,0xBB86,
+0xBB87,0xBB88,0xBB89,0xBB8A,0xBB8B,0xBB8C,0xBB8D,0xBB8E,
+0xBB8F,0xBB90,0xBB91,0xBB92,0xBB93,0xBB94,0xBB95,0xBB96,
+0xBB97,0xBB98,0xBB99,0xBB9A,0xBB9B,0xBB9C,0xBB9D,0xBB9E,
+0xBB9F,0xBBA0,0xBC41,0xBC42,0xBC43,0xBC44,0xBC45,0xBC46,
+0xBC47,0xBC48,0xBC49,0xBC4A,0xBC4B,0xBC4C,0xBC4D,0xBC4E,
+0xBC4F,0xBC50,0xBC51,0xBC52,0xC6DB,0xC6DC,0xBC53,0xBC54,
+0xC6DD,0xBC55,0xBC56,0xBC57,0xC6DE,0xBC58,0xBC59,0xBC5A,
+0xBC61,0xBC62,0xBC63,0xBC64,0xC6DF,0xC6E0,0xBC65,0xC6E1,
+0xC6E2,0xC6E3,0xBC66,0xBC67,0xBC68,0xBC69,0xBC6A,0xBC6B,
+0xC6E4,0xC6E5,0xBC6C,0xBC6D,0xC6E6,0xBC6E,0xBC6F,0xBC70,
+0xC6E7,0xBC71,0xBC72,0xBC73,0xBC74,0xBC75,0xBC76,0xBC77,
+0xC6E8,0xC6E9,0xBC78,0xC6EA,0xBC79,0xC6EB,0xBC7A,0xBC81,
+0xBC82,0xBC83,0xBC84,0xBC85,0xC6EC,0xBC86,0xBC87,0xBC88,
+0xC6ED,0xBC89,0xBC8A,0xBC8B,0xC6EE,0xBC8C,0xBC8D,0xBC8E,
+0xBC8F,0xBC90,0xBC91,0xBC92,0xC6EF,0xC6F0,0xBC93,0xBC94,
+0xC6F1,0xC6F2,0xBC95,0xBC96,0xBC97,0xBC98,0xBC99,0xBC9A,
+0xC6F3,0xBC9B,0xBC9C,0xBC9D,0xBC9E,0xBC9F,0xBCA0,0xBD41,
+0xC6F4,0xBD42,0xBD43,0xBD44,0xBD45,0xBD46,0xBD47,0xBD48,
+0xBD49,0xC6F5,0xBD4A,0xC6F6,0xBD4B,0xBD4C,0xBD4D,0xBD4E,
+0xBD4F,0xBD50,0xBD51,0xBD52,0xC6F7,0xC6F8,0xBD53,0xBD54,
+0xC6F9,0xBD55,0xBD56,0xBD57,0xC6FA,0xBD58,0xBD59,0xBD5A,
+0xBD61,0xBD62,0xBD63,0xBD64,0xC6FB,0xC6FC,0xBD65,0xC6FD,
+0xBD66,0xC6FE,0xBD67,0xBD68,0xBD69,0xBD6A,0xBD6B,0xBD6C,
+0xC7A1,0xBD6D,0xBD6E,0xBD6F,0xBD70,0xBD71,0xBD72,0xBD73,
+0xBD74,0xBD75,0xBD76,0xBD77,0xBD78,0xBD79,0xBD7A,0xBD81,
+0xBD82,0xBD83,0xBD84,0xBD85,0xBD86,0xC7A2,0xBD87,0xBD88,
+0xBD89,0xBD8A,0xBD8B,0xBD8C,0xBD8D,0xBD8E,0xBD8F,0xBD90,
+0xBD91,0xBD92,0xBD93,0xBD94,0xBD95,0xBD96,0xBD97,0xBD98,
+0xBD99,0xBD9A,0xBD9B,0xBD9C,0xBD9D,0xBD9E,0xBD9F,0xBDA0,
+0xBE41,0xBE42,0xBE43,0xBE44,0xBE45,0xBE46,0xBE47,0xBE48,
+0xC7A3,0xBE49,0xBE4A,0xBE4B,0xC7A4,0xBE4C,0xBE4D,0xBE4E,
+0xBE4F,0xBE50,0xBE51,0xBE52,0xBE53,0xBE54,0xBE55,0xBE56,
+0xBE57,0xBE58,0xBE59,0xBE5A,0xBE61,0xBE62,0xBE63,0xBE64,
+0xBE65,0xBE66,0xBE67,0xBE68,0xC7A5,0xBE69,0xBE6A,0xBE6B,
+0xC7A6,0xBE6C,0xBE6D,0xBE6E,0xC7A7,0xBE6F,0xBE70,0xBE71,
+0xBE72,0xBE73,0xBE74,0xBE75,0xBE76,0xC7A8,0xBE77,0xC7A9,
+0xBE78,0xBE79,0xBE7A,0xBE81,0xBE82,0xBE83,0xBE84,0xBE85,
+0xC7AA,0xC7AB,0xBE86,0xBE87,0xC7AC,0xBE88,0xBE89,0xC7AD,
+0xC7AE,0xBE8A,0xC7AF,0xBE8B,0xBE8C,0xBE8D,0xBE8E,0xBE8F,
+0xC7B0,0xC7B1,0xBE90,0xC7B2,0xBE91,0xC7B3,0xBE92,0xBE93,
+0xBE94,0xBE95,0xBE96,0xBE97,0xC7B4,0xBE98,0xBE99,0xBE9A,
+0xBE9B,0xBE9C,0xBE9D,0xBE9E,0xBE9F,0xBEA0,0xBF41,0xBF42,
+0xBF43,0xBF44,0xBF45,0xBF46,0xBF47,0xBF48,0xBF49,0xBF4A,
+0xBF4B,0xC7B5,0xBF4C,0xBF4D,0xBF4E,0xBF4F,0xBF50,0xBF51,
+0xBF52,0xBF53,0xBF54,0xBF55,0xBF56,0xBF57,0xBF58,0xBF59,
+0xBF5A,0xBF61,0xBF62,0xBF63,0xBF64,0xBF65,0xBF66,0xBF67,
+0xBF68,0xBF69,0xBF6A,0xBF6B,0xBF6C,0xBF6D,0xBF6E,0xBF6F,
+0xBF70,0xBF71,0xBF72,0xBF73,0xC7B6,0xBF74,0xBF75,0xBF76,
+0xC7B7,0xBF77,0xBF78,0xBF79,0xC7B8,0xBF7A,0xBF81,0xBF82,
+0xBF83,0xBF84,0xBF85,0xBF86,0xC7B9,0xBF87,0xBF88,0xC7BA,
+0xBF89,0xBF8A,0xBF8B,0xBF8C,0xBF8D,0xBF8E,0xBF8F,0xBF90,
+0xC7BB,0xBF91,0xBF92,0xBF93,0xC7BC,0xBF94,0xBF95,0xBF96,
+0xC7BD,0xBF97,0xBF98,0xBF99,0xBF9A,0xBF9B,0xBF9C,0xBF9D,
+0xC7BE,0xBF9E,0xBF9F,0xC7BF,0xBFA0,0xC7C0,0xC041,0xC042,
+0xC043,0xC044,0xC045,0xC046,0xC7C1,0xC047,0xC048,0xC049,
+0xC7C2,0xC04A,0xC04B,0xC04C,0xC7C3,0xC04D,0xC04E,0xC04F,
+0xC050,0xC051,0xC052,0xC053,0xC7C4,0xC7C5,0xC054,0xC7C6,
+0xC055,0xC056,0xC057,0xC058,0xC059,0xC05A,0xC061,0xC062,
+0xC063,0xC064,0xC065,0xC066,0xC067,0xC068,0xC069,0xC06A,
+0xC06B,0xC06C,0xC06D,0xC06E,0xC06F,0xC070,0xC071,0xC072,
+0xC073,0xC074,0xC075,0xC076,0xC077,0xC078,0xC079,0xC07A,
+0xC081,0xC082,0xC083,0xC084,0xC7C7,0xC7C8,0xC085,0xC086,
+0xC7C9,0xC087,0xC088,0xC089,0xC7CA,0xC08A,0xC08B,0xC08C,
+0xC08D,0xC08E,0xC08F,0xC090,0xC7CB,0xC7CC,0xC091,0xC7CD,
+0xC092,0xC7CE,0xC093,0xC094,0xC095,0xC096,0xC097,0xC098,
+0xC7CF,0xC7D0,0xC099,0xC09A,0xC7D1,0xC09B,0xC09C,0xC09D,
+0xC7D2,0xC09E,0xC09F,0xC0A0,0xC141,0xC7D3,0xC142,0xC143,
+0xC7D4,0xC7D5,0xC144,0xC7D6,0xC145,0xC7D7,0xC146,0xC147,
+0xC148,0xC149,0xC14A,0xC14B,0xC7D8,0xC7D9,0xC14C,0xC14D,
+0xC7DA,0xC14E,0xC14F,0xC150,0xC7DB,0xC151,0xC152,0xC153,
+0xC154,0xC155,0xC156,0xC157,0xC7DC,0xC7DD,0xC158,0xC7DE,
+0xC7DF,0xC7E0,0xC159,0xC15A,0xC161,0xC162,0xC163,0xC164,
+0xC7E1,0xC165,0xC166,0xC167,0xC168,0xC169,0xC16A,0xC16B,
+0xC16C,0xC16D,0xC16E,0xC16F,0xC170,0xC171,0xC172,0xC173,
+0xC174,0xC175,0xC176,0xC177,0xC178,0xC7E2,0xC179,0xC17A,
+0xC181,0xC182,0xC183,0xC184,0xC185,0xC186,0xC187,0xC188,
+0xC189,0xC18A,0xC18B,0xC18C,0xC18D,0xC18E,0xC18F,0xC190,
+0xC191,0xC192,0xC193,0xC194,0xC195,0xC196,0xC197,0xC198,
+0xC199,0xC19A,0xC19B,0xC19C,0xC19D,0xC19E,0xC19F,0xC1A0,
+0xC7E3,0xC7E4,0xC241,0xC242,0xC7E5,0xC243,0xC244,0xC245,
+0xC7E6,0xC246,0xC7E7,0xC247,0xC248,0xC249,0xC24A,0xC24B,
+0xC7E8,0xC7E9,0xC24C,0xC7EA,0xC24D,0xC7EB,0xC24E,0xC24F,
+0xC250,0xC251,0xC252,0xC253,0xC7EC,0xC7ED,0xC254,0xC255,
+0xC7EE,0xC256,0xC257,0xC258,0xC7EF,0xC259,0xC25A,0xC261,
+0xC262,0xC263,0xC264,0xC265,0xC7F0,0xC7F1,0xC266,0xC7F2,
+0xC267,0xC7F3,0xC268,0xC269,0xC26A,0xC26B,0xC26C,0xC26D,
+0xC7F4,0xC7F5,0xC26E,0xC26F,0xC7F6,0xC270,0xC271,0xC272,
+0xC7F7,0xC273,0xC274,0xC275,0xC276,0xC277,0xC278,0xC279,
+0xC7F8,0xC7F9,0xC27A,0xC7FA,0xC7FB,0xC7FC,0xC281,0xC282,
+0xC283,0xC284,0xC285,0xC286,0xC7FD,0xC287,0xC288,0xC289,
+0xC7FE,0xC28A,0xC28B,0xC28C,0xC8A1,0xC28D,0xC28E,0xC28F,
+0xC290,0xC291,0xC292,0xC293,0xC294,0xC8A2,0xC295,0xC296,
+0xC297,0xC298,0xC299,0xC29A,0xC29B,0xC29C,0xC29D,0xC29E,
+0xC8A3,0xC8A4,0xC29F,0xC2A0,0xC8A5,0xC341,0xC342,0xC343,
+0xC8A6,0xC344,0xC345,0xC346,0xC347,0xC8A7,0xC348,0xC349,
+0xC8A8,0xC8A9,0xC34A,0xC8AA,0xC34B,0xC8AB,0xC34C,0xC34D,
+0xC34E,0xC8AC,0xC34F,0xC350,0xC8AD,0xC8AE,0xC351,0xC352,
+0xC8AF,0xC353,0xC354,0xC355,0xC8B0,0xC356,0xC357,0xC358,
+0xC359,0xC35A,0xC361,0xC362,0xC363,0xC364,0xC365,0xC8B1,
+0xC366,0xC8B2,0xC367,0xC368,0xC369,0xC36A,0xC36B,0xC36C,
+0xC8B3,0xC8B4,0xC36D,0xC36E,0xC8B5,0xC36F,0xC370,0xC371,
+0xC372,0xC373,0xC374,0xC375,0xC376,0xC377,0xC378,0xC379,
+0xC37A,0xC381,0xC382,0xC8B6,0xC383,0xC8B7,0xC384,0xC385,
+0xC386,0xC387,0xC388,0xC389,0xC8B8,0xC8B9,0xC38A,0xC38B,
+0xC8BA,0xC38C,0xC38D,0xC38E,0xC8BB,0xC38F,0xC390,0xC391,
+0xC392,0xC393,0xC394,0xC395,0xC396,0xC8BC,0xC397,0xC8BD,
+0xC398,0xC8BE,0xC399,0xC39A,0xC39B,0xC39C,0xC39D,0xC39E,
+0xC8BF,0xC39F,0xC3A0,0xC441,0xC8C0,0xC442,0xC443,0xC444,
+0xC8C1,0xC445,0xC446,0xC447,0xC448,0xC449,0xC44A,0xC44B,
+0xC44C,0xC8C2,0xC44D,0xC8C3,0xC44E,0xC44F,0xC450,0xC451,
+0xC452,0xC453,0xC454,0xC455,0xC8C4,0xC8C5,0xC456,0xC457,
+0xC8C6,0xC458,0xC459,0xC45A,0xC8C7,0xC461,0xC462,0xC463,
+0xC464,0xC8C8,0xC465,0xC466,0xC8C9,0xC467,0xC468,0xC8CA,
+0xC469,0xC8CB,0xC46A,0xC46B,0xC46C,0xC46D,0xC46E,0xC46F,
+0xC8CC,0xC470,0xC471,0xC472,0xC8CD,0xC473,0xC474,0xC475,
+0xC8CE,0xC476,0xC477,0xC478,0xC479,0xC47A,0xC481,0xC482,
+0xC8CF,0xC483,0xC484,0xC485,0xC486,0xC8D0,0xC487,0xC488,
+0xC489,0xC48A,0xC48B,0xC48C,0xC8D1,0xC8D2,0xC48D,0xC48E,
+0xC8D3,0xC48F,0xC490,0xC491,0xC8D4,0xC492,0xC493,0xC494,
+0xC495,0xC496,0xC497,0xC498,0xC499,0xC49A,0xC49B,0xC49C,
+0xC49D,0xC8D5,0xC49E,0xC49F,0xC4A0,0xC541,0xC542,0xC543,
+0xC8D6,0xC8D7,0xC544,0xC545,0xC8D8,0xC546,0xC547,0xC548,
+0xC8D9,0xC549,0xC54A,0xC54B,0xC54C,0xC54D,0xC54E,0xC54F,
+0xC8DA,0xC8DB,0xC550,0xC8DC,0xC551,0xC8DD,0xC552,0xC553,
+0xC554,0xC555,0xC556,0xC557,0xC8DE,0xC8DF,0xC558,0xC559,
+0xC8E0,0xC55A,0xC561,0xC562,0xC8E1,0xC563,0xC564,0xC565,
+0xC566,0xC567,0xC568,0xC569,0xC8E2,0xC56A,0xC56B,0xC8E3,
+0xC56C,0xC8E4,0xC56D,0xC56E,0xC56F,0xC570,0xC571,0xC572,
+0xC8E5,0xC8E6,0xC573,0xC574,0xC8E7,0xC575,0xC8E8,0xC8E9,
+0xC8EA,0xC8EB,0xC576,0xC577,0xC578,0xC579,0xC57A,0xC581,
+0xC8EC,0xC8ED,0xC582,0xC8EE,0xC583,0xC8EF,0xC584,0xC585,
+0xC586,0xC8F0,0xC587,0xC588,0xC8F1,0xC589,0xC58A,0xC58B,
+0xC8F2,0xC58C,0xC58D,0xC58E,0xC8F3,0xC58F,0xC590,0xC591,
+0xC592,0xC593,0xC594,0xC595,0xC8F4,0xC8F5,0xC596,0xC597,
+0xC598,0xC8F6,0xC599,0xC59A,0xC59B,0xC59C,0xC59D,0xC59E,
+0xC8F7,0xC8F8,0xC59F,0xC5A0,0xC8F9,0xC641,0xC642,0xC643,
+0xC8FA,0xC644,0xC645,0xC646,0xC647,0xC648,0xC649,0xC64A,
+0xC8FB,0xC8FC,0xC64B,0xC8FD,0xC64C,0xC8FE,0xC64D,0xC64E,
+0xC64F,0xC650,0xC651,0xC652};
+
+/* page 9 0xF900-0xFA0B */
+static uint16 tab_uni_ksc56019[]={
+0xCBD0,0xCBD6,0xCBE7,0xCDCF,0xCDE8,0xCEAD,0xCFFB,0xD0A2,
+0xD0B8,0xD0D0,0xD0DD,0xD1D4,0xD1D5,0xD1D8,0xD1DB,0xD1DC,
+0xD1DD,0xD1DE,0xD1DF,0xD1E0,0xD1E2,0xD1E3,0xD1E4,0xD1E5,
+0xD1E6,0xD1E8,0xD1E9,0xD1EA,0xD1EB,0xD1ED,0xD1EF,0xD1F0,
+0xD1F2,0xD1F6,0xD1FA,0xD1FC,0xD1FD,0xD1FE,0xD2A2,0xD2A3,
+0xD2A7,0xD2A8,0xD2A9,0xD2AA,0xD2AB,0xD2AD,0xD2B2,0xD2BE,
+0xD2C2,0xD2C3,0xD2C4,0xD2C6,0xD2C7,0xD2C8,0xD2C9,0xD2CA,
+0xD2CB,0xD2CD,0xD2CE,0xD2CF,0xD2D0,0xD2D1,0xD2D2,0xD2D3,
+0xD2D4,0xD2D5,0xD2D6,0xD2D7,0xD2D9,0xD2DA,0xD2DE,0xD2DF,
+0xD2E1,0xD2E2,0xD2E4,0xD2E5,0xD2E6,0xD2E7,0xD2E8,0xD2E9,
+0xD2EA,0xD2EB,0xD2F0,0xD2F1,0xD2F2,0xD2F3,0xD2F4,0xD2F5,
+0xD2F7,0xD2F8,0xD4E6,0xD4FC,0xD5A5,0xD5AB,0xD5AE,0xD6B8,
+0xD6CD,0xD7CB,0xD7E4,0xDBC5,0xDBE4,0xDCA5,0xDDA5,0xDDD5,
+0xDDF4,0xDEFC,0xDEFE,0xDFB3,0xDFE1,0xDFE8,0xE0F1,0xE1AD,
+0xE1ED,0xE3F5,0xE4A1,0xE4A9,0xE5AE,0xE5B1,0xE5B2,0xE5B9,
+0xE5BB,0xE5BC,0xE5C4,0xE5CE,0xE5D0,0xE5D2,0xE5D6,0xE5FA,
+0xE5FB,0xE5FC,0xE5FE,0xE6A1,0xE6A4,0xE6A7,0xE6AD,0xE6AF,
+0xE6B0,0xE6B1,0xE6B3,0xE6B7,0xE6B8,0xE6BC,0xE6C4,0xE6C6,
+0xE6C7,0xE6CA,0xE6D2,0xE6D6,0xE6D9,0xE6DC,0xE6DF,0xE6E1,
+0xE6E4,0xE6E5,0xE6E6,0xE6E8,0xE6EA,0xE6EB,0xE6EC,0xE6EF,
+0xE6F1,0xE6F2,0xE6F5,0xE6F6,0xE6F7,0xE6F9,0xE7A1,0xE7A6,
+0xE7A9,0xE7AA,0xE7AC,0xE7AD,0xE7B0,0xE7BF,0xE7C1,0xE7C6,
+0xE7C7,0xE7CB,0xE7CD,0xE7CF,0xE7D0,0xE7D3,0xE7DF,0xE7E4,
+0xE7E6,0xE7F7,0xE8E7,0xE8E8,0xE8F0,0xE8F1,0xE8F7,0xE8F9,
+0xE8FB,0xE8FE,0xE9A7,0xE9AC,0xE9CC,0xE9F7,0xEAC1,0xEAE5,
+0xEAF4,0xEAF7,0xEAFC,0xEAFE,0xEBA4,0xEBA7,0xEBA9,0xEBAA,
+0xEBBA,0xEBBB,0xEBBD,0xEBC1,0xEBC2,0xEBC6,0xEBC7,0xEBCC,
+0xEBCF,0xEBD0,0xEBD1,0xEBD2,0xEBD8,0xECA6,0xECA7,0xECAA,
+0xECAF,0xECB0,0xECB1,0xECB2,0xECB5,0xECB8,0xECBA,0xECC0,
+0xECC1,0xECC5,0xECC6,0xECC9,0xECCA,0xECD5,0xECDD,0xECDE,
+0xECE1,0xECE4,0xECE7,0xECE8,0xECF7,0xECF8,0xECFA,0xEDA1,
+0xEDA2,0xEDA3,0xEDEE,0xEEDB,0xF2BD,0xF2FA,0xF3B1,0xF4A7,
+0xF4EE,0xF6F4,0xF6F6,0xF7B8,0xF7C8,0xF7D3,0xF8DB,0xF8F0,
+0xFAA1,0xFAA2,0xFAE6,0xFCA9};
+
+/* page 10 0xFF01-0xFFE6 */
+static uint16 tab_uni_ksc560110[]={
+0xA3A1,0xA3A2,0xA3A3,0xA3A4,0xA3A5,0xA3A6,0xA3A7,0xA3A8,
+0xA3A9,0xA3AA,0xA3AB,0xA3AC,0xA3AD,0xA3AE,0xA3AF,0xA3B0,
+0xA3B1,0xA3B2,0xA3B3,0xA3B4,0xA3B5,0xA3B6,0xA3B7,0xA3B8,
+0xA3B9,0xA3BA,0xA3BB,0xA3BC,0xA3BD,0xA3BE,0xA3BF,0xA3C0,
+0xA3C1,0xA3C2,0xA3C3,0xA3C4,0xA3C5,0xA3C6,0xA3C7,0xA3C8,
+0xA3C9,0xA3CA,0xA3CB,0xA3CC,0xA3CD,0xA3CE,0xA3CF,0xA3D0,
+0xA3D1,0xA3D2,0xA3D3,0xA3D4,0xA3D5,0xA3D6,0xA3D7,0xA3D8,
+0xA3D9,0xA3DA,0xA3DB,0xA1AC,0xA3DD,0xA3DE,0xA3DF,0xA3E0,
+0xA3E1,0xA3E2,0xA3E3,0xA3E4,0xA3E5,0xA3E6,0xA3E7,0xA3E8,
+0xA3E9,0xA3EA,0xA3EB,0xA3EC,0xA3ED,0xA3EE,0xA3EF,0xA3F0,
+0xA3F1,0xA3F2,0xA3F3,0xA3F4,0xA3F5,0xA3F6,0xA3F7,0xA3F8,
+0xA3F9,0xA3FA,0xA3FB,0xA3FC,0xA3FD,0xA2A6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA1CB,
+0xA1CC,0xA1FE,0xA3FE, 0,0xA1CD,0xA3DC};
+
+static int func_uni_ksc5601_onechar(int code){
+ if ((code>=0x00A1)&&(code<=0x0167))
+ return(tab_uni_ksc56010[code-0x00A1]);
+ if ((code>=0x02C7)&&(code<=0x0451))
+ return(tab_uni_ksc56011[code-0x02C7]);
+ if ((code>=0x2015)&&(code<=0x2312))
+ return(tab_uni_ksc56012[code-0x2015]);
+ if ((code>=0x2460)&&(code<=0x266D))
+ return(tab_uni_ksc56013[code-0x2460]);
+ if ((code>=0x3000)&&(code<=0x327F))
+ return(tab_uni_ksc56014[code-0x3000]);
+ if ((code>=0x3380)&&(code<=0x33DD))
+ return(tab_uni_ksc56015[code-0x3380]);
+ if ((code>=0x4E00)&&(code<=0x947F))
+ return(tab_uni_ksc56016[code-0x4E00]);
+ if ((code>=0x9577)&&(code<=0x9F9C))
+ return(tab_uni_ksc56017[code-0x9577]);
+ if ((code>=0xAC00)&&(code<=0xD7A3))
+ return(tab_uni_ksc56018[code-0xAC00]);
+ if ((code>=0xF900)&&(code<=0xFA0B))
+ return(tab_uni_ksc56019[code-0xF900]);
+ if ((code>=0xFF01)&&(code<=0xFFE6))
+ return(tab_uni_ksc560110[code-0xFF01]);
+ return(0);
+}
+
+
+int
+my_wc_mb_euc_kr(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t wc, uchar *s, uchar *e)
+{
+ int code;
+
+ if (wc<0x80)
+ {
+ s[0]=wc;
+ return 1;
+ }
+
+ if (!(code=func_uni_ksc5601_onechar(wc)))
+ return MY_CS_ILUNI;
+
+ if (s+2>e)
+ return MY_CS_TOOSMALL;
+
+ s[0]=code>>8;
+ s[1]=code&0xFF;
+
+ return 2;
+}
+
+int
+my_mb_wc_euc_kr(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t *pwc, const uchar *s, const uchar *e)
+{
+
+ int hi=s[0];
+
+ if (hi<0x80)
+ {
+ pwc[0]=hi;
+ return 1;
+ }
+
+ if (s+2>e)
+ return MY_CS_TOOFEW(0);
+
+ if (!(pwc[0]=func_ksc5601_uni_onechar((hi<<8)+s[1])))
+ return MY_CS_ILSEQ;
+
+ return 2;
+}
+
+
+#endif
diff --git a/strings/ctype-gb2312.c b/strings/ctype-gb2312.c
index 28717d98403..7da86915fbd 100644
--- a/strings/ctype-gb2312.c
+++ b/strings/ctype-gb2312.c
@@ -26,6 +26,9 @@
#include <my_global.h>
#include "m_string.h"
+#include "m_ctype.h"
+
+#ifdef HAVE_CHARSET_gb2312
uchar NEAR ctype_gb2312[257] =
{
@@ -163,17 +166,5522 @@ uchar NEAR sort_order_gb2312[]=
#define isgb2312tail(c) (0xa1<=(uchar)(c) && (uchar)(c)<=0xfe)
-int ismbchar_gb2312(const char* p, const char *e)
+int ismbchar_gb2312(CHARSET_INFO *cs __attribute__((unused)),
+ const char* p, const char *e)
{
return (isgb2312head(*(p)) && (e)-(p)>1 && isgb2312tail(*((p)+1))? 2: 0);
}
-my_bool ismbhead_gb2312(uint c)
+my_bool ismbhead_gb2312(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return isgb2312head(c);
}
-int mbcharlen_gb2312(uint c)
+int mbcharlen_gb2312(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (isgb2312head(c)? 2:0);
}
+
+
+/* page 0 0x2121-0x2658 */
+static uint16 tab_gb2312_uni0[]={
+0x3000,0x3001,0x3002,0x30FB,0x02C9,0x02C7,0x00A8,0x3003,
+0x3005,0x2015,0xFF5E,0x2016,0x2026,0x2018,0x2019,0x201C,
+0x201D,0x3014,0x3015,0x3008,0x3009,0x300A,0x300B,0x300C,
+0x300D,0x300E,0x300F,0x3016,0x3017,0x3010,0x3011,0x00B1,
+0x00D7,0x00F7,0x2236,0x2227,0x2228,0x2211,0x220F,0x222A,
+0x2229,0x2208,0x2237,0x221A,0x22A5,0x2225,0x2220,0x2312,
+0x2299,0x222B,0x222E,0x2261,0x224C,0x2248,0x223D,0x221D,
+0x2260,0x226E,0x226F,0x2264,0x2265,0x221E,0x2235,0x2234,
+0x2642,0x2640,0x00B0,0x2032,0x2033,0x2103,0xFF04,0x00A4,
+0xFFE0,0xFFE1,0x2030,0x00A7,0x2116,0x2606,0x2605,0x25CB,
+0x25CF,0x25CE,0x25C7,0x25C6,0x25A1,0x25A0,0x25B3,0x25B2,
+0x203B,0x2192,0x2190,0x2191,0x2193,0x3013, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x2488,0x2489,0x248A,0x248B,0x248C,0x248D,0x248E,0x248F,
+0x2490,0x2491,0x2492,0x2493,0x2494,0x2495,0x2496,0x2497,
+0x2498,0x2499,0x249A,0x249B,0x2474,0x2475,0x2476,0x2477,
+0x2478,0x2479,0x247A,0x247B,0x247C,0x247D,0x247E,0x247F,
+0x2480,0x2481,0x2482,0x2483,0x2484,0x2485,0x2486,0x2487,
+0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,
+0x2468,0x2469, 0, 0,0x3220,0x3221,0x3222,0x3223,
+0x3224,0x3225,0x3226,0x3227,0x3228,0x3229, 0, 0,
+0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,0x2167,
+0x2168,0x2169,0x216A,0x216B, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFF01,0xFF02,0xFF03,0xFFE5,0xFF05,0xFF06,0xFF07,0xFF08,
+0xFF09,0xFF0A,0xFF0B,0xFF0C,0xFF0D,0xFF0E,0xFF0F,0xFF10,
+0xFF11,0xFF12,0xFF13,0xFF14,0xFF15,0xFF16,0xFF17,0xFF18,
+0xFF19,0xFF1A,0xFF1B,0xFF1C,0xFF1D,0xFF1E,0xFF1F,0xFF20,
+0xFF21,0xFF22,0xFF23,0xFF24,0xFF25,0xFF26,0xFF27,0xFF28,
+0xFF29,0xFF2A,0xFF2B,0xFF2C,0xFF2D,0xFF2E,0xFF2F,0xFF30,
+0xFF31,0xFF32,0xFF33,0xFF34,0xFF35,0xFF36,0xFF37,0xFF38,
+0xFF39,0xFF3A,0xFF3B,0xFF3C,0xFF3D,0xFF3E,0xFF3F,0xFF40,
+0xFF41,0xFF42,0xFF43,0xFF44,0xFF45,0xFF46,0xFF47,0xFF48,
+0xFF49,0xFF4A,0xFF4B,0xFF4C,0xFF4D,0xFF4E,0xFF4F,0xFF50,
+0xFF51,0xFF52,0xFF53,0xFF54,0xFF55,0xFF56,0xFF57,0xFF58,
+0xFF59,0xFF5A,0xFF5B,0xFF5C,0xFF5D,0xFFE3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3041,0x3042,0x3043,0x3044,0x3045,0x3046,0x3047,0x3048,
+0x3049,0x304A,0x304B,0x304C,0x304D,0x304E,0x304F,0x3050,
+0x3051,0x3052,0x3053,0x3054,0x3055,0x3056,0x3057,0x3058,
+0x3059,0x305A,0x305B,0x305C,0x305D,0x305E,0x305F,0x3060,
+0x3061,0x3062,0x3063,0x3064,0x3065,0x3066,0x3067,0x3068,
+0x3069,0x306A,0x306B,0x306C,0x306D,0x306E,0x306F,0x3070,
+0x3071,0x3072,0x3073,0x3074,0x3075,0x3076,0x3077,0x3078,
+0x3079,0x307A,0x307B,0x307C,0x307D,0x307E,0x307F,0x3080,
+0x3081,0x3082,0x3083,0x3084,0x3085,0x3086,0x3087,0x3088,
+0x3089,0x308A,0x308B,0x308C,0x308D,0x308E,0x308F,0x3090,
+0x3091,0x3092,0x3093, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x30A1,0x30A2,0x30A3,0x30A4,0x30A5,0x30A6,0x30A7,0x30A8,
+0x30A9,0x30AA,0x30AB,0x30AC,0x30AD,0x30AE,0x30AF,0x30B0,
+0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,0x30B8,
+0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,0x30C0,
+0x30C1,0x30C2,0x30C3,0x30C4,0x30C5,0x30C6,0x30C7,0x30C8,
+0x30C9,0x30CA,0x30CB,0x30CC,0x30CD,0x30CE,0x30CF,0x30D0,
+0x30D1,0x30D2,0x30D3,0x30D4,0x30D5,0x30D6,0x30D7,0x30D8,
+0x30D9,0x30DA,0x30DB,0x30DC,0x30DD,0x30DE,0x30DF,0x30E0,
+0x30E1,0x30E2,0x30E3,0x30E4,0x30E5,0x30E6,0x30E7,0x30E8,
+0x30E9,0x30EA,0x30EB,0x30EC,0x30ED,0x30EE,0x30EF,0x30F0,
+0x30F1,0x30F2,0x30F3,0x30F4,0x30F5,0x30F6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x0391,0x0392,0x0393,0x0394,0x0395,0x0396,0x0397,0x0398,
+0x0399,0x039A,0x039B,0x039C,0x039D,0x039E,0x039F,0x03A0,
+0x03A1,0x03A3,0x03A4,0x03A5,0x03A6,0x03A7,0x03A8,0x03A9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x03B1,0x03B2,0x03B3,0x03B4,0x03B5,0x03B6,0x03B7,0x03B8,
+0x03B9,0x03BA,0x03BB,0x03BC,0x03BD,0x03BE,0x03BF,0x03C0,
+0x03C1,0x03C3,0x03C4,0x03C5,0x03C6,0x03C7,0x03C8,0x03C9
+};
+
+/* page 1 0x2721-0x296F */
+static uint16 tab_gb2312_uni1[]={
+0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0401,0x0416,
+0x0417,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
+0x041F,0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,
+0x0427,0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,
+0x042F, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0451,0x0436,
+0x0437,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
+0x043F,0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,
+0x0447,0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,
+0x044F, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x0101,0x00E1,0x01CE,0x00E0,0x0113,0x00E9,0x011B,0x00E8,
+0x012B,0x00ED,0x01D0,0x00EC,0x014D,0x00F3,0x01D2,0x00F2,
+0x016B,0x00FA,0x01D4,0x00F9,0x01D6,0x01D8,0x01DA,0x01DC,
+0x00FC,0x00EA, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3105,0x3106,0x3107,0x3108,
+0x3109,0x310A,0x310B,0x310C,0x310D,0x310E,0x310F,0x3110,
+0x3111,0x3112,0x3113,0x3114,0x3115,0x3116,0x3117,0x3118,
+0x3119,0x311A,0x311B,0x311C,0x311D,0x311E,0x311F,0x3120,
+0x3121,0x3122,0x3123,0x3124,0x3125,0x3126,0x3127,0x3128,
+0x3129, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x2500,0x2501,0x2502,0x2503,0x2504,
+0x2505,0x2506,0x2507,0x2508,0x2509,0x250A,0x250B,0x250C,
+0x250D,0x250E,0x250F,0x2510,0x2511,0x2512,0x2513,0x2514,
+0x2515,0x2516,0x2517,0x2518,0x2519,0x251A,0x251B,0x251C,
+0x251D,0x251E,0x251F,0x2520,0x2521,0x2522,0x2523,0x2524,
+0x2525,0x2526,0x2527,0x2528,0x2529,0x252A,0x252B,0x252C,
+0x252D,0x252E,0x252F,0x2530,0x2531,0x2532,0x2533,0x2534,
+0x2535,0x2536,0x2537,0x2538,0x2539,0x253A,0x253B,0x253C,
+0x253D,0x253E,0x253F,0x2540,0x2541,0x2542,0x2543,0x2544,
+0x2545,0x2546,0x2547,0x2548,0x2549,0x254A,0x254B};
+
+/* page 2 0x3021-0x777E */
+static uint16 tab_gb2312_uni2[]={
+0x554A,0x963F,0x57C3,0x6328,0x54CE,0x5509,0x54C0,0x7691,
+0x764C,0x853C,0x77EE,0x827E,0x788D,0x7231,0x9698,0x978D,
+0x6C28,0x5B89,0x4FFA,0x6309,0x6697,0x5CB8,0x80FA,0x6848,
+0x80AE,0x6602,0x76CE,0x51F9,0x6556,0x71AC,0x7FF1,0x8884,
+0x50B2,0x5965,0x61CA,0x6FB3,0x82AD,0x634C,0x6252,0x53ED,
+0x5427,0x7B06,0x516B,0x75A4,0x5DF4,0x62D4,0x8DCB,0x9776,
+0x628A,0x8019,0x575D,0x9738,0x7F62,0x7238,0x767D,0x67CF,
+0x767E,0x6446,0x4F70,0x8D25,0x62DC,0x7A17,0x6591,0x73ED,
+0x642C,0x6273,0x822C,0x9881,0x677F,0x7248,0x626E,0x62CC,
+0x4F34,0x74E3,0x534A,0x529E,0x7ECA,0x90A6,0x5E2E,0x6886,
+0x699C,0x8180,0x7ED1,0x68D2,0x78C5,0x868C,0x9551,0x508D,
+0x8C24,0x82DE,0x80DE,0x5305,0x8912,0x5265, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8584,0x96F9,0x4FDD,0x5821,0x9971,0x5B9D,0x62B1,0x62A5,
+0x66B4,0x8C79,0x9C8D,0x7206,0x676F,0x7891,0x60B2,0x5351,
+0x5317,0x8F88,0x80CC,0x8D1D,0x94A1,0x500D,0x72C8,0x5907,
+0x60EB,0x7119,0x88AB,0x5954,0x82EF,0x672C,0x7B28,0x5D29,
+0x7EF7,0x752D,0x6CF5,0x8E66,0x8FF8,0x903C,0x9F3B,0x6BD4,
+0x9119,0x7B14,0x5F7C,0x78A7,0x84D6,0x853D,0x6BD5,0x6BD9,
+0x6BD6,0x5E01,0x5E87,0x75F9,0x95ED,0x655D,0x5F0A,0x5FC5,
+0x8F9F,0x58C1,0x81C2,0x907F,0x965B,0x97AD,0x8FB9,0x7F16,
+0x8D2C,0x6241,0x4FBF,0x53D8,0x535E,0x8FA8,0x8FA9,0x8FAB,
+0x904D,0x6807,0x5F6A,0x8198,0x8868,0x9CD6,0x618B,0x522B,
+0x762A,0x5F6C,0x658C,0x6FD2,0x6EE8,0x5BBE,0x6448,0x5175,
+0x51B0,0x67C4,0x4E19,0x79C9,0x997C,0x70B3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x75C5,0x5E76,0x73BB,0x83E0,0x64AD,0x62E8,0x94B5,0x6CE2,
+0x535A,0x52C3,0x640F,0x94C2,0x7B94,0x4F2F,0x5E1B,0x8236,
+0x8116,0x818A,0x6E24,0x6CCA,0x9A73,0x6355,0x535C,0x54FA,
+0x8865,0x57E0,0x4E0D,0x5E03,0x6B65,0x7C3F,0x90E8,0x6016,
+0x64E6,0x731C,0x88C1,0x6750,0x624D,0x8D22,0x776C,0x8E29,
+0x91C7,0x5F69,0x83DC,0x8521,0x9910,0x53C2,0x8695,0x6B8B,
+0x60ED,0x60E8,0x707F,0x82CD,0x8231,0x4ED3,0x6CA7,0x85CF,
+0x64CD,0x7CD9,0x69FD,0x66F9,0x8349,0x5395,0x7B56,0x4FA7,
+0x518C,0x6D4B,0x5C42,0x8E6D,0x63D2,0x53C9,0x832C,0x8336,
+0x67E5,0x78B4,0x643D,0x5BDF,0x5C94,0x5DEE,0x8BE7,0x62C6,
+0x67F4,0x8C7A,0x6400,0x63BA,0x8749,0x998B,0x8C17,0x7F20,
+0x94F2,0x4EA7,0x9610,0x98A4,0x660C,0x7316, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x573A,0x5C1D,0x5E38,0x957F,0x507F,0x80A0,0x5382,0x655E,
+0x7545,0x5531,0x5021,0x8D85,0x6284,0x949E,0x671D,0x5632,
+0x6F6E,0x5DE2,0x5435,0x7092,0x8F66,0x626F,0x64A4,0x63A3,
+0x5F7B,0x6F88,0x90F4,0x81E3,0x8FB0,0x5C18,0x6668,0x5FF1,
+0x6C89,0x9648,0x8D81,0x886C,0x6491,0x79F0,0x57CE,0x6A59,
+0x6210,0x5448,0x4E58,0x7A0B,0x60E9,0x6F84,0x8BDA,0x627F,
+0x901E,0x9A8B,0x79E4,0x5403,0x75F4,0x6301,0x5319,0x6C60,
+0x8FDF,0x5F1B,0x9A70,0x803B,0x9F7F,0x4F88,0x5C3A,0x8D64,
+0x7FC5,0x65A5,0x70BD,0x5145,0x51B2,0x866B,0x5D07,0x5BA0,
+0x62BD,0x916C,0x7574,0x8E0C,0x7A20,0x6101,0x7B79,0x4EC7,
+0x7EF8,0x7785,0x4E11,0x81ED,0x521D,0x51FA,0x6A71,0x53A8,
+0x8E87,0x9504,0x96CF,0x6EC1,0x9664,0x695A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7840,0x50A8,0x77D7,0x6410,0x89E6,0x5904,0x63E3,0x5DDD,
+0x7A7F,0x693D,0x4F20,0x8239,0x5598,0x4E32,0x75AE,0x7A97,
+0x5E62,0x5E8A,0x95EF,0x521B,0x5439,0x708A,0x6376,0x9524,
+0x5782,0x6625,0x693F,0x9187,0x5507,0x6DF3,0x7EAF,0x8822,
+0x6233,0x7EF0,0x75B5,0x8328,0x78C1,0x96CC,0x8F9E,0x6148,
+0x74F7,0x8BCD,0x6B64,0x523A,0x8D50,0x6B21,0x806A,0x8471,
+0x56F1,0x5306,0x4ECE,0x4E1B,0x51D1,0x7C97,0x918B,0x7C07,
+0x4FC3,0x8E7F,0x7BE1,0x7A9C,0x6467,0x5D14,0x50AC,0x8106,
+0x7601,0x7CB9,0x6DEC,0x7FE0,0x6751,0x5B58,0x5BF8,0x78CB,
+0x64AE,0x6413,0x63AA,0x632B,0x9519,0x642D,0x8FBE,0x7B54,
+0x7629,0x6253,0x5927,0x5446,0x6B79,0x50A3,0x6234,0x5E26,
+0x6B86,0x4EE3,0x8D37,0x888B,0x5F85,0x902E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6020,0x803D,0x62C5,0x4E39,0x5355,0x90F8,0x63B8,0x80C6,
+0x65E6,0x6C2E,0x4F46,0x60EE,0x6DE1,0x8BDE,0x5F39,0x86CB,
+0x5F53,0x6321,0x515A,0x8361,0x6863,0x5200,0x6363,0x8E48,
+0x5012,0x5C9B,0x7977,0x5BFC,0x5230,0x7A3B,0x60BC,0x9053,
+0x76D7,0x5FB7,0x5F97,0x7684,0x8E6C,0x706F,0x767B,0x7B49,
+0x77AA,0x51F3,0x9093,0x5824,0x4F4E,0x6EF4,0x8FEA,0x654C,
+0x7B1B,0x72C4,0x6DA4,0x7FDF,0x5AE1,0x62B5,0x5E95,0x5730,
+0x8482,0x7B2C,0x5E1D,0x5F1F,0x9012,0x7F14,0x98A0,0x6382,
+0x6EC7,0x7898,0x70B9,0x5178,0x975B,0x57AB,0x7535,0x4F43,
+0x7538,0x5E97,0x60E6,0x5960,0x6DC0,0x6BBF,0x7889,0x53FC,
+0x96D5,0x51CB,0x5201,0x6389,0x540A,0x9493,0x8C03,0x8DCC,
+0x7239,0x789F,0x8776,0x8FED,0x8C0D,0x53E0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4E01,0x76EF,0x53EE,0x9489,0x9876,0x9F0E,0x952D,0x5B9A,
+0x8BA2,0x4E22,0x4E1C,0x51AC,0x8463,0x61C2,0x52A8,0x680B,
+0x4F97,0x606B,0x51BB,0x6D1E,0x515C,0x6296,0x6597,0x9661,
+0x8C46,0x9017,0x75D8,0x90FD,0x7763,0x6BD2,0x728A,0x72EC,
+0x8BFB,0x5835,0x7779,0x8D4C,0x675C,0x9540,0x809A,0x5EA6,
+0x6E21,0x5992,0x7AEF,0x77ED,0x953B,0x6BB5,0x65AD,0x7F0E,
+0x5806,0x5151,0x961F,0x5BF9,0x58A9,0x5428,0x8E72,0x6566,
+0x987F,0x56E4,0x949D,0x76FE,0x9041,0x6387,0x54C6,0x591A,
+0x593A,0x579B,0x8EB2,0x6735,0x8DFA,0x8235,0x5241,0x60F0,
+0x5815,0x86FE,0x5CE8,0x9E45,0x4FC4,0x989D,0x8BB9,0x5A25,
+0x6076,0x5384,0x627C,0x904F,0x9102,0x997F,0x6069,0x800C,
+0x513F,0x8033,0x5C14,0x9975,0x6D31,0x4E8C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8D30,0x53D1,0x7F5A,0x7B4F,0x4F10,0x4E4F,0x9600,0x6CD5,
+0x73D0,0x85E9,0x5E06,0x756A,0x7FFB,0x6A0A,0x77FE,0x9492,
+0x7E41,0x51E1,0x70E6,0x53CD,0x8FD4,0x8303,0x8D29,0x72AF,
+0x996D,0x6CDB,0x574A,0x82B3,0x65B9,0x80AA,0x623F,0x9632,
+0x59A8,0x4EFF,0x8BBF,0x7EBA,0x653E,0x83F2,0x975E,0x5561,
+0x98DE,0x80A5,0x532A,0x8BFD,0x5420,0x80BA,0x5E9F,0x6CB8,
+0x8D39,0x82AC,0x915A,0x5429,0x6C1B,0x5206,0x7EB7,0x575F,
+0x711A,0x6C7E,0x7C89,0x594B,0x4EFD,0x5FFF,0x6124,0x7CAA,
+0x4E30,0x5C01,0x67AB,0x8702,0x5CF0,0x950B,0x98CE,0x75AF,
+0x70FD,0x9022,0x51AF,0x7F1D,0x8BBD,0x5949,0x51E4,0x4F5B,
+0x5426,0x592B,0x6577,0x80A4,0x5B75,0x6276,0x62C2,0x8F90,
+0x5E45,0x6C1F,0x7B26,0x4F0F,0x4FD8,0x670D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6D6E,0x6DAA,0x798F,0x88B1,0x5F17,0x752B,0x629A,0x8F85,
+0x4FEF,0x91DC,0x65A7,0x812F,0x8151,0x5E9C,0x8150,0x8D74,
+0x526F,0x8986,0x8D4B,0x590D,0x5085,0x4ED8,0x961C,0x7236,
+0x8179,0x8D1F,0x5BCC,0x8BA3,0x9644,0x5987,0x7F1A,0x5490,
+0x5676,0x560E,0x8BE5,0x6539,0x6982,0x9499,0x76D6,0x6E89,
+0x5E72,0x7518,0x6746,0x67D1,0x7AFF,0x809D,0x8D76,0x611F,
+0x79C6,0x6562,0x8D63,0x5188,0x521A,0x94A2,0x7F38,0x809B,
+0x7EB2,0x5C97,0x6E2F,0x6760,0x7BD9,0x768B,0x9AD8,0x818F,
+0x7F94,0x7CD5,0x641E,0x9550,0x7A3F,0x544A,0x54E5,0x6B4C,
+0x6401,0x6208,0x9E3D,0x80F3,0x7599,0x5272,0x9769,0x845B,
+0x683C,0x86E4,0x9601,0x9694,0x94EC,0x4E2A,0x5404,0x7ED9,
+0x6839,0x8DDF,0x8015,0x66F4,0x5E9A,0x7FB9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x57C2,0x803F,0x6897,0x5DE5,0x653B,0x529F,0x606D,0x9F9A,
+0x4F9B,0x8EAC,0x516C,0x5BAB,0x5F13,0x5DE9,0x6C5E,0x62F1,
+0x8D21,0x5171,0x94A9,0x52FE,0x6C9F,0x82DF,0x72D7,0x57A2,
+0x6784,0x8D2D,0x591F,0x8F9C,0x83C7,0x5495,0x7B8D,0x4F30,
+0x6CBD,0x5B64,0x59D1,0x9F13,0x53E4,0x86CA,0x9AA8,0x8C37,
+0x80A1,0x6545,0x987E,0x56FA,0x96C7,0x522E,0x74DC,0x5250,
+0x5BE1,0x6302,0x8902,0x4E56,0x62D0,0x602A,0x68FA,0x5173,
+0x5B98,0x51A0,0x89C2,0x7BA1,0x9986,0x7F50,0x60EF,0x704C,
+0x8D2F,0x5149,0x5E7F,0x901B,0x7470,0x89C4,0x572D,0x7845,
+0x5F52,0x9F9F,0x95FA,0x8F68,0x9B3C,0x8BE1,0x7678,0x6842,
+0x67DC,0x8DEA,0x8D35,0x523D,0x8F8A,0x6EDA,0x68CD,0x9505,
+0x90ED,0x56FD,0x679C,0x88F9,0x8FC7,0x54C8, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9AB8,0x5B69,0x6D77,0x6C26,0x4EA5,0x5BB3,0x9A87,0x9163,
+0x61A8,0x90AF,0x97E9,0x542B,0x6DB5,0x5BD2,0x51FD,0x558A,
+0x7F55,0x7FF0,0x64BC,0x634D,0x65F1,0x61BE,0x608D,0x710A,
+0x6C57,0x6C49,0x592F,0x676D,0x822A,0x58D5,0x568E,0x8C6A,
+0x6BEB,0x90DD,0x597D,0x8017,0x53F7,0x6D69,0x5475,0x559D,
+0x8377,0x83CF,0x6838,0x79BE,0x548C,0x4F55,0x5408,0x76D2,
+0x8C89,0x9602,0x6CB3,0x6DB8,0x8D6B,0x8910,0x9E64,0x8D3A,
+0x563F,0x9ED1,0x75D5,0x5F88,0x72E0,0x6068,0x54FC,0x4EA8,
+0x6A2A,0x8861,0x6052,0x8F70,0x54C4,0x70D8,0x8679,0x9E3F,
+0x6D2A,0x5B8F,0x5F18,0x7EA2,0x5589,0x4FAF,0x7334,0x543C,
+0x539A,0x5019,0x540E,0x547C,0x4E4E,0x5FFD,0x745A,0x58F6,
+0x846B,0x80E1,0x8774,0x72D0,0x7CCA,0x6E56, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5F27,0x864E,0x552C,0x62A4,0x4E92,0x6CAA,0x6237,0x82B1,
+0x54D7,0x534E,0x733E,0x6ED1,0x753B,0x5212,0x5316,0x8BDD,
+0x69D0,0x5F8A,0x6000,0x6DEE,0x574F,0x6B22,0x73AF,0x6853,
+0x8FD8,0x7F13,0x6362,0x60A3,0x5524,0x75EA,0x8C62,0x7115,
+0x6DA3,0x5BA6,0x5E7B,0x8352,0x614C,0x9EC4,0x78FA,0x8757,
+0x7C27,0x7687,0x51F0,0x60F6,0x714C,0x6643,0x5E4C,0x604D,
+0x8C0E,0x7070,0x6325,0x8F89,0x5FBD,0x6062,0x86D4,0x56DE,
+0x6BC1,0x6094,0x6167,0x5349,0x60E0,0x6666,0x8D3F,0x79FD,
+0x4F1A,0x70E9,0x6C47,0x8BB3,0x8BF2,0x7ED8,0x8364,0x660F,
+0x5A5A,0x9B42,0x6D51,0x6DF7,0x8C41,0x6D3B,0x4F19,0x706B,
+0x83B7,0x6216,0x60D1,0x970D,0x8D27,0x7978,0x51FB,0x573E,
+0x57FA,0x673A,0x7578,0x7A3D,0x79EF,0x7B95, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x808C,0x9965,0x8FF9,0x6FC0,0x8BA5,0x9E21,0x59EC,0x7EE9,
+0x7F09,0x5409,0x6781,0x68D8,0x8F91,0x7C4D,0x96C6,0x53CA,
+0x6025,0x75BE,0x6C72,0x5373,0x5AC9,0x7EA7,0x6324,0x51E0,
+0x810A,0x5DF1,0x84DF,0x6280,0x5180,0x5B63,0x4F0E,0x796D,
+0x5242,0x60B8,0x6D4E,0x5BC4,0x5BC2,0x8BA1,0x8BB0,0x65E2,
+0x5FCC,0x9645,0x5993,0x7EE7,0x7EAA,0x5609,0x67B7,0x5939,
+0x4F73,0x5BB6,0x52A0,0x835A,0x988A,0x8D3E,0x7532,0x94BE,
+0x5047,0x7A3C,0x4EF7,0x67B6,0x9A7E,0x5AC1,0x6B7C,0x76D1,
+0x575A,0x5C16,0x7B3A,0x95F4,0x714E,0x517C,0x80A9,0x8270,
+0x5978,0x7F04,0x8327,0x68C0,0x67EC,0x78B1,0x7877,0x62E3,
+0x6361,0x7B80,0x4FED,0x526A,0x51CF,0x8350,0x69DB,0x9274,
+0x8DF5,0x8D31,0x89C1,0x952E,0x7BAD,0x4EF6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5065,0x8230,0x5251,0x996F,0x6E10,0x6E85,0x6DA7,0x5EFA,
+0x50F5,0x59DC,0x5C06,0x6D46,0x6C5F,0x7586,0x848B,0x6868,
+0x5956,0x8BB2,0x5320,0x9171,0x964D,0x8549,0x6912,0x7901,
+0x7126,0x80F6,0x4EA4,0x90CA,0x6D47,0x9A84,0x5A07,0x56BC,
+0x6405,0x94F0,0x77EB,0x4FA5,0x811A,0x72E1,0x89D2,0x997A,
+0x7F34,0x7EDE,0x527F,0x6559,0x9175,0x8F7F,0x8F83,0x53EB,
+0x7A96,0x63ED,0x63A5,0x7686,0x79F8,0x8857,0x9636,0x622A,
+0x52AB,0x8282,0x6854,0x6770,0x6377,0x776B,0x7AED,0x6D01,
+0x7ED3,0x89E3,0x59D0,0x6212,0x85C9,0x82A5,0x754C,0x501F,
+0x4ECB,0x75A5,0x8BEB,0x5C4A,0x5DFE,0x7B4B,0x65A4,0x91D1,
+0x4ECA,0x6D25,0x895F,0x7D27,0x9526,0x4EC5,0x8C28,0x8FDB,
+0x9773,0x664B,0x7981,0x8FD1,0x70EC,0x6D78, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5C3D,0x52B2,0x8346,0x5162,0x830E,0x775B,0x6676,0x9CB8,
+0x4EAC,0x60CA,0x7CBE,0x7CB3,0x7ECF,0x4E95,0x8B66,0x666F,
+0x9888,0x9759,0x5883,0x656C,0x955C,0x5F84,0x75C9,0x9756,
+0x7ADF,0x7ADE,0x51C0,0x70AF,0x7A98,0x63EA,0x7A76,0x7EA0,
+0x7396,0x97ED,0x4E45,0x7078,0x4E5D,0x9152,0x53A9,0x6551,
+0x65E7,0x81FC,0x8205,0x548E,0x5C31,0x759A,0x97A0,0x62D8,
+0x72D9,0x75BD,0x5C45,0x9A79,0x83CA,0x5C40,0x5480,0x77E9,
+0x4E3E,0x6CAE,0x805A,0x62D2,0x636E,0x5DE8,0x5177,0x8DDD,
+0x8E1E,0x952F,0x4FF1,0x53E5,0x60E7,0x70AC,0x5267,0x6350,
+0x9E43,0x5A1F,0x5026,0x7737,0x5377,0x7EE2,0x6485,0x652B,
+0x6289,0x6398,0x5014,0x7235,0x89C9,0x51B3,0x8BC0,0x7EDD,
+0x5747,0x83CC,0x94A7,0x519B,0x541B,0x5CFB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4FCA,0x7AE3,0x6D5A,0x90E1,0x9A8F,0x5580,0x5496,0x5361,
+0x54AF,0x5F00,0x63E9,0x6977,0x51EF,0x6168,0x520A,0x582A,
+0x52D8,0x574E,0x780D,0x770B,0x5EB7,0x6177,0x7CE0,0x625B,
+0x6297,0x4EA2,0x7095,0x8003,0x62F7,0x70E4,0x9760,0x5777,
+0x82DB,0x67EF,0x68F5,0x78D5,0x9897,0x79D1,0x58F3,0x54B3,
+0x53EF,0x6E34,0x514B,0x523B,0x5BA2,0x8BFE,0x80AF,0x5543,
+0x57A6,0x6073,0x5751,0x542D,0x7A7A,0x6050,0x5B54,0x63A7,
+0x62A0,0x53E3,0x6263,0x5BC7,0x67AF,0x54ED,0x7A9F,0x82E6,
+0x9177,0x5E93,0x88E4,0x5938,0x57AE,0x630E,0x8DE8,0x80EF,
+0x5757,0x7B77,0x4FA9,0x5FEB,0x5BBD,0x6B3E,0x5321,0x7B50,
+0x72C2,0x6846,0x77FF,0x7736,0x65F7,0x51B5,0x4E8F,0x76D4,
+0x5CBF,0x7AA5,0x8475,0x594E,0x9B41,0x5080, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9988,0x6127,0x6E83,0x5764,0x6606,0x6346,0x56F0,0x62EC,
+0x6269,0x5ED3,0x9614,0x5783,0x62C9,0x5587,0x8721,0x814A,
+0x8FA3,0x5566,0x83B1,0x6765,0x8D56,0x84DD,0x5A6A,0x680F,
+0x62E6,0x7BEE,0x9611,0x5170,0x6F9C,0x8C30,0x63FD,0x89C8,
+0x61D2,0x7F06,0x70C2,0x6EE5,0x7405,0x6994,0x72FC,0x5ECA,
+0x90CE,0x6717,0x6D6A,0x635E,0x52B3,0x7262,0x8001,0x4F6C,
+0x59E5,0x916A,0x70D9,0x6D9D,0x52D2,0x4E50,0x96F7,0x956D,
+0x857E,0x78CA,0x7D2F,0x5121,0x5792,0x64C2,0x808B,0x7C7B,
+0x6CEA,0x68F1,0x695E,0x51B7,0x5398,0x68A8,0x7281,0x9ECE,
+0x7BF1,0x72F8,0x79BB,0x6F13,0x7406,0x674E,0x91CC,0x9CA4,
+0x793C,0x8389,0x8354,0x540F,0x6817,0x4E3D,0x5389,0x52B1,
+0x783E,0x5386,0x5229,0x5088,0x4F8B,0x4FD0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x75E2,0x7ACB,0x7C92,0x6CA5,0x96B6,0x529B,0x7483,0x54E9,
+0x4FE9,0x8054,0x83B2,0x8FDE,0x9570,0x5EC9,0x601C,0x6D9F,
+0x5E18,0x655B,0x8138,0x94FE,0x604B,0x70BC,0x7EC3,0x7CAE,
+0x51C9,0x6881,0x7CB1,0x826F,0x4E24,0x8F86,0x91CF,0x667E,
+0x4EAE,0x8C05,0x64A9,0x804A,0x50DA,0x7597,0x71CE,0x5BE5,
+0x8FBD,0x6F66,0x4E86,0x6482,0x9563,0x5ED6,0x6599,0x5217,
+0x88C2,0x70C8,0x52A3,0x730E,0x7433,0x6797,0x78F7,0x9716,
+0x4E34,0x90BB,0x9CDE,0x6DCB,0x51DB,0x8D41,0x541D,0x62CE,
+0x73B2,0x83F1,0x96F6,0x9F84,0x94C3,0x4F36,0x7F9A,0x51CC,
+0x7075,0x9675,0x5CAD,0x9886,0x53E6,0x4EE4,0x6E9C,0x7409,
+0x69B4,0x786B,0x998F,0x7559,0x5218,0x7624,0x6D41,0x67F3,
+0x516D,0x9F99,0x804B,0x5499,0x7B3C,0x7ABF, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9686,0x5784,0x62E2,0x9647,0x697C,0x5A04,0x6402,0x7BD3,
+0x6F0F,0x964B,0x82A6,0x5362,0x9885,0x5E90,0x7089,0x63B3,
+0x5364,0x864F,0x9C81,0x9E93,0x788C,0x9732,0x8DEF,0x8D42,
+0x9E7F,0x6F5E,0x7984,0x5F55,0x9646,0x622E,0x9A74,0x5415,
+0x94DD,0x4FA3,0x65C5,0x5C65,0x5C61,0x7F15,0x8651,0x6C2F,
+0x5F8B,0x7387,0x6EE4,0x7EFF,0x5CE6,0x631B,0x5B6A,0x6EE6,
+0x5375,0x4E71,0x63A0,0x7565,0x62A1,0x8F6E,0x4F26,0x4ED1,
+0x6CA6,0x7EB6,0x8BBA,0x841D,0x87BA,0x7F57,0x903B,0x9523,
+0x7BA9,0x9AA1,0x88F8,0x843D,0x6D1B,0x9A86,0x7EDC,0x5988,
+0x9EBB,0x739B,0x7801,0x8682,0x9A6C,0x9A82,0x561B,0x5417,
+0x57CB,0x4E70,0x9EA6,0x5356,0x8FC8,0x8109,0x7792,0x9992,
+0x86EE,0x6EE1,0x8513,0x66FC,0x6162,0x6F2B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8C29,0x8292,0x832B,0x76F2,0x6C13,0x5FD9,0x83BD,0x732B,
+0x8305,0x951A,0x6BDB,0x77DB,0x94C6,0x536F,0x8302,0x5192,
+0x5E3D,0x8C8C,0x8D38,0x4E48,0x73AB,0x679A,0x6885,0x9176,
+0x9709,0x7164,0x6CA1,0x7709,0x5A92,0x9541,0x6BCF,0x7F8E,
+0x6627,0x5BD0,0x59B9,0x5A9A,0x95E8,0x95F7,0x4EEC,0x840C,
+0x8499,0x6AAC,0x76DF,0x9530,0x731B,0x68A6,0x5B5F,0x772F,
+0x919A,0x9761,0x7CDC,0x8FF7,0x8C1C,0x5F25,0x7C73,0x79D8,
+0x89C5,0x6CCC,0x871C,0x5BC6,0x5E42,0x68C9,0x7720,0x7EF5,
+0x5195,0x514D,0x52C9,0x5A29,0x7F05,0x9762,0x82D7,0x63CF,
+0x7784,0x85D0,0x79D2,0x6E3A,0x5E99,0x5999,0x8511,0x706D,
+0x6C11,0x62BF,0x76BF,0x654F,0x60AF,0x95FD,0x660E,0x879F,
+0x9E23,0x94ED,0x540D,0x547D,0x8C2C,0x6478, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6479,0x8611,0x6A21,0x819C,0x78E8,0x6469,0x9B54,0x62B9,
+0x672B,0x83AB,0x58A8,0x9ED8,0x6CAB,0x6F20,0x5BDE,0x964C,
+0x8C0B,0x725F,0x67D0,0x62C7,0x7261,0x4EA9,0x59C6,0x6BCD,
+0x5893,0x66AE,0x5E55,0x52DF,0x6155,0x6728,0x76EE,0x7766,
+0x7267,0x7A46,0x62FF,0x54EA,0x5450,0x94A0,0x90A3,0x5A1C,
+0x7EB3,0x6C16,0x4E43,0x5976,0x8010,0x5948,0x5357,0x7537,
+0x96BE,0x56CA,0x6320,0x8111,0x607C,0x95F9,0x6DD6,0x5462,
+0x9981,0x5185,0x5AE9,0x80FD,0x59AE,0x9713,0x502A,0x6CE5,
+0x5C3C,0x62DF,0x4F60,0x533F,0x817B,0x9006,0x6EBA,0x852B,
+0x62C8,0x5E74,0x78BE,0x64B5,0x637B,0x5FF5,0x5A18,0x917F,
+0x9E1F,0x5C3F,0x634F,0x8042,0x5B7D,0x556E,0x954A,0x954D,
+0x6D85,0x60A8,0x67E0,0x72DE,0x51DD,0x5B81, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x62E7,0x6CDE,0x725B,0x626D,0x94AE,0x7EBD,0x8113,0x6D53,
+0x519C,0x5F04,0x5974,0x52AA,0x6012,0x5973,0x6696,0x8650,
+0x759F,0x632A,0x61E6,0x7CEF,0x8BFA,0x54E6,0x6B27,0x9E25,
+0x6BB4,0x85D5,0x5455,0x5076,0x6CA4,0x556A,0x8DB4,0x722C,
+0x5E15,0x6015,0x7436,0x62CD,0x6392,0x724C,0x5F98,0x6E43,
+0x6D3E,0x6500,0x6F58,0x76D8,0x78D0,0x76FC,0x7554,0x5224,
+0x53DB,0x4E53,0x5E9E,0x65C1,0x802A,0x80D6,0x629B,0x5486,
+0x5228,0x70AE,0x888D,0x8DD1,0x6CE1,0x5478,0x80DA,0x57F9,
+0x88F4,0x8D54,0x966A,0x914D,0x4F69,0x6C9B,0x55B7,0x76C6,
+0x7830,0x62A8,0x70F9,0x6F8E,0x5F6D,0x84EC,0x68DA,0x787C,
+0x7BF7,0x81A8,0x670B,0x9E4F,0x6367,0x78B0,0x576F,0x7812,
+0x9739,0x6279,0x62AB,0x5288,0x7435,0x6BD7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5564,0x813E,0x75B2,0x76AE,0x5339,0x75DE,0x50FB,0x5C41,
+0x8B6C,0x7BC7,0x504F,0x7247,0x9A97,0x98D8,0x6F02,0x74E2,
+0x7968,0x6487,0x77A5,0x62FC,0x9891,0x8D2B,0x54C1,0x8058,
+0x4E52,0x576A,0x82F9,0x840D,0x5E73,0x51ED,0x74F6,0x8BC4,
+0x5C4F,0x5761,0x6CFC,0x9887,0x5A46,0x7834,0x9B44,0x8FEB,
+0x7C95,0x5256,0x6251,0x94FA,0x4EC6,0x8386,0x8461,0x83E9,
+0x84B2,0x57D4,0x6734,0x5703,0x666E,0x6D66,0x8C31,0x66DD,
+0x7011,0x671F,0x6B3A,0x6816,0x621A,0x59BB,0x4E03,0x51C4,
+0x6F06,0x67D2,0x6C8F,0x5176,0x68CB,0x5947,0x6B67,0x7566,
+0x5D0E,0x8110,0x9F50,0x65D7,0x7948,0x7941,0x9A91,0x8D77,
+0x5C82,0x4E5E,0x4F01,0x542F,0x5951,0x780C,0x5668,0x6C14,
+0x8FC4,0x5F03,0x6C7D,0x6CE3,0x8BAB,0x6390, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6070,0x6D3D,0x7275,0x6266,0x948E,0x94C5,0x5343,0x8FC1,
+0x7B7E,0x4EDF,0x8C26,0x4E7E,0x9ED4,0x94B1,0x94B3,0x524D,
+0x6F5C,0x9063,0x6D45,0x8C34,0x5811,0x5D4C,0x6B20,0x6B49,
+0x67AA,0x545B,0x8154,0x7F8C,0x5899,0x8537,0x5F3A,0x62A2,
+0x6A47,0x9539,0x6572,0x6084,0x6865,0x77A7,0x4E54,0x4FA8,
+0x5DE7,0x9798,0x64AC,0x7FD8,0x5CED,0x4FCF,0x7A8D,0x5207,
+0x8304,0x4E14,0x602F,0x7A83,0x94A6,0x4FB5,0x4EB2,0x79E6,
+0x7434,0x52E4,0x82B9,0x64D2,0x79BD,0x5BDD,0x6C81,0x9752,
+0x8F7B,0x6C22,0x503E,0x537F,0x6E05,0x64CE,0x6674,0x6C30,
+0x60C5,0x9877,0x8BF7,0x5E86,0x743C,0x7A77,0x79CB,0x4E18,
+0x90B1,0x7403,0x6C42,0x56DA,0x914B,0x6CC5,0x8D8B,0x533A,
+0x86C6,0x66F2,0x8EAF,0x5C48,0x9A71,0x6E20, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x53D6,0x5A36,0x9F8B,0x8DA3,0x53BB,0x5708,0x98A7,0x6743,
+0x919B,0x6CC9,0x5168,0x75CA,0x62F3,0x72AC,0x5238,0x529D,
+0x7F3A,0x7094,0x7638,0x5374,0x9E4A,0x69B7,0x786E,0x96C0,
+0x88D9,0x7FA4,0x7136,0x71C3,0x5189,0x67D3,0x74E4,0x58E4,
+0x6518,0x56B7,0x8BA9,0x9976,0x6270,0x7ED5,0x60F9,0x70ED,
+0x58EC,0x4EC1,0x4EBA,0x5FCD,0x97E7,0x4EFB,0x8BA4,0x5203,
+0x598A,0x7EAB,0x6254,0x4ECD,0x65E5,0x620E,0x8338,0x84C9,
+0x8363,0x878D,0x7194,0x6EB6,0x5BB9,0x7ED2,0x5197,0x63C9,
+0x67D4,0x8089,0x8339,0x8815,0x5112,0x5B7A,0x5982,0x8FB1,
+0x4E73,0x6C5D,0x5165,0x8925,0x8F6F,0x962E,0x854A,0x745E,
+0x9510,0x95F0,0x6DA6,0x82E5,0x5F31,0x6492,0x6D12,0x8428,
+0x816E,0x9CC3,0x585E,0x8D5B,0x4E09,0x53C1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4F1E,0x6563,0x6851,0x55D3,0x4E27,0x6414,0x9A9A,0x626B,
+0x5AC2,0x745F,0x8272,0x6DA9,0x68EE,0x50E7,0x838E,0x7802,
+0x6740,0x5239,0x6C99,0x7EB1,0x50BB,0x5565,0x715E,0x7B5B,
+0x6652,0x73CA,0x82EB,0x6749,0x5C71,0x5220,0x717D,0x886B,
+0x95EA,0x9655,0x64C5,0x8D61,0x81B3,0x5584,0x6C55,0x6247,
+0x7F2E,0x5892,0x4F24,0x5546,0x8D4F,0x664C,0x4E0A,0x5C1A,
+0x88F3,0x68A2,0x634E,0x7A0D,0x70E7,0x828D,0x52FA,0x97F6,
+0x5C11,0x54E8,0x90B5,0x7ECD,0x5962,0x8D4A,0x86C7,0x820C,
+0x820D,0x8D66,0x6444,0x5C04,0x6151,0x6D89,0x793E,0x8BBE,
+0x7837,0x7533,0x547B,0x4F38,0x8EAB,0x6DF1,0x5A20,0x7EC5,
+0x795E,0x6C88,0x5BA1,0x5A76,0x751A,0x80BE,0x614E,0x6E17,
+0x58F0,0x751F,0x7525,0x7272,0x5347,0x7EF3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7701,0x76DB,0x5269,0x80DC,0x5723,0x5E08,0x5931,0x72EE,
+0x65BD,0x6E7F,0x8BD7,0x5C38,0x8671,0x5341,0x77F3,0x62FE,
+0x65F6,0x4EC0,0x98DF,0x8680,0x5B9E,0x8BC6,0x53F2,0x77E2,
+0x4F7F,0x5C4E,0x9A76,0x59CB,0x5F0F,0x793A,0x58EB,0x4E16,
+0x67FF,0x4E8B,0x62ED,0x8A93,0x901D,0x52BF,0x662F,0x55DC,
+0x566C,0x9002,0x4ED5,0x4F8D,0x91CA,0x9970,0x6C0F,0x5E02,
+0x6043,0x5BA4,0x89C6,0x8BD5,0x6536,0x624B,0x9996,0x5B88,
+0x5BFF,0x6388,0x552E,0x53D7,0x7626,0x517D,0x852C,0x67A2,
+0x68B3,0x6B8A,0x6292,0x8F93,0x53D4,0x8212,0x6DD1,0x758F,
+0x4E66,0x8D4E,0x5B70,0x719F,0x85AF,0x6691,0x66D9,0x7F72,
+0x8700,0x9ECD,0x9F20,0x5C5E,0x672F,0x8FF0,0x6811,0x675F,
+0x620D,0x7AD6,0x5885,0x5EB6,0x6570,0x6F31, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6055,0x5237,0x800D,0x6454,0x8870,0x7529,0x5E05,0x6813,
+0x62F4,0x971C,0x53CC,0x723D,0x8C01,0x6C34,0x7761,0x7A0E,
+0x542E,0x77AC,0x987A,0x821C,0x8BF4,0x7855,0x6714,0x70C1,
+0x65AF,0x6495,0x5636,0x601D,0x79C1,0x53F8,0x4E1D,0x6B7B,
+0x8086,0x5BFA,0x55E3,0x56DB,0x4F3A,0x4F3C,0x9972,0x5DF3,
+0x677E,0x8038,0x6002,0x9882,0x9001,0x5B8B,0x8BBC,0x8BF5,
+0x641C,0x8258,0x64DE,0x55FD,0x82CF,0x9165,0x4FD7,0x7D20,
+0x901F,0x7C9F,0x50F3,0x5851,0x6EAF,0x5BBF,0x8BC9,0x8083,
+0x9178,0x849C,0x7B97,0x867D,0x968B,0x968F,0x7EE5,0x9AD3,
+0x788E,0x5C81,0x7A57,0x9042,0x96A7,0x795F,0x5B59,0x635F,
+0x7B0B,0x84D1,0x68AD,0x5506,0x7F29,0x7410,0x7D22,0x9501,
+0x6240,0x584C,0x4ED6,0x5B83,0x5979,0x5854, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x736D,0x631E,0x8E4B,0x8E0F,0x80CE,0x82D4,0x62AC,0x53F0,
+0x6CF0,0x915E,0x592A,0x6001,0x6C70,0x574D,0x644A,0x8D2A,
+0x762B,0x6EE9,0x575B,0x6A80,0x75F0,0x6F6D,0x8C2D,0x8C08,
+0x5766,0x6BEF,0x8892,0x78B3,0x63A2,0x53F9,0x70AD,0x6C64,
+0x5858,0x642A,0x5802,0x68E0,0x819B,0x5510,0x7CD6,0x5018,
+0x8EBA,0x6DCC,0x8D9F,0x70EB,0x638F,0x6D9B,0x6ED4,0x7EE6,
+0x8404,0x6843,0x9003,0x6DD8,0x9676,0x8BA8,0x5957,0x7279,
+0x85E4,0x817E,0x75BC,0x8A8A,0x68AF,0x5254,0x8E22,0x9511,
+0x63D0,0x9898,0x8E44,0x557C,0x4F53,0x66FF,0x568F,0x60D5,
+0x6D95,0x5243,0x5C49,0x5929,0x6DFB,0x586B,0x7530,0x751C,
+0x606C,0x8214,0x8146,0x6311,0x6761,0x8FE2,0x773A,0x8DF3,
+0x8D34,0x94C1,0x5E16,0x5385,0x542C,0x70C3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6C40,0x5EF7,0x505C,0x4EAD,0x5EAD,0x633A,0x8247,0x901A,
+0x6850,0x916E,0x77B3,0x540C,0x94DC,0x5F64,0x7AE5,0x6876,
+0x6345,0x7B52,0x7EDF,0x75DB,0x5077,0x6295,0x5934,0x900F,
+0x51F8,0x79C3,0x7A81,0x56FE,0x5F92,0x9014,0x6D82,0x5C60,
+0x571F,0x5410,0x5154,0x6E4D,0x56E2,0x63A8,0x9893,0x817F,
+0x8715,0x892A,0x9000,0x541E,0x5C6F,0x81C0,0x62D6,0x6258,
+0x8131,0x9E35,0x9640,0x9A6E,0x9A7C,0x692D,0x59A5,0x62D3,
+0x553E,0x6316,0x54C7,0x86D9,0x6D3C,0x5A03,0x74E6,0x889C,
+0x6B6A,0x5916,0x8C4C,0x5F2F,0x6E7E,0x73A9,0x987D,0x4E38,
+0x70F7,0x5B8C,0x7897,0x633D,0x665A,0x7696,0x60CB,0x5B9B,
+0x5A49,0x4E07,0x8155,0x6C6A,0x738B,0x4EA1,0x6789,0x7F51,
+0x5F80,0x65FA,0x671B,0x5FD8,0x5984,0x5A01, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5DCD,0x5FAE,0x5371,0x97E6,0x8FDD,0x6845,0x56F4,0x552F,
+0x60DF,0x4E3A,0x6F4D,0x7EF4,0x82C7,0x840E,0x59D4,0x4F1F,
+0x4F2A,0x5C3E,0x7EAC,0x672A,0x851A,0x5473,0x754F,0x80C3,
+0x5582,0x9B4F,0x4F4D,0x6E2D,0x8C13,0x5C09,0x6170,0x536B,
+0x761F,0x6E29,0x868A,0x6587,0x95FB,0x7EB9,0x543B,0x7A33,
+0x7D0A,0x95EE,0x55E1,0x7FC1,0x74EE,0x631D,0x8717,0x6DA1,
+0x7A9D,0x6211,0x65A1,0x5367,0x63E1,0x6C83,0x5DEB,0x545C,
+0x94A8,0x4E4C,0x6C61,0x8BEC,0x5C4B,0x65E0,0x829C,0x68A7,
+0x543E,0x5434,0x6BCB,0x6B66,0x4E94,0x6342,0x5348,0x821E,
+0x4F0D,0x4FAE,0x575E,0x620A,0x96FE,0x6664,0x7269,0x52FF,
+0x52A1,0x609F,0x8BEF,0x6614,0x7199,0x6790,0x897F,0x7852,
+0x77FD,0x6670,0x563B,0x5438,0x9521,0x727A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7A00,0x606F,0x5E0C,0x6089,0x819D,0x5915,0x60DC,0x7184,
+0x70EF,0x6EAA,0x6C50,0x7280,0x6A84,0x88AD,0x5E2D,0x4E60,
+0x5AB3,0x559C,0x94E3,0x6D17,0x7CFB,0x9699,0x620F,0x7EC6,
+0x778E,0x867E,0x5323,0x971E,0x8F96,0x6687,0x5CE1,0x4FA0,
+0x72ED,0x4E0B,0x53A6,0x590F,0x5413,0x6380,0x9528,0x5148,
+0x4ED9,0x9C9C,0x7EA4,0x54B8,0x8D24,0x8854,0x8237,0x95F2,
+0x6D8E,0x5F26,0x5ACC,0x663E,0x9669,0x73B0,0x732E,0x53BF,
+0x817A,0x9985,0x7FA1,0x5BAA,0x9677,0x9650,0x7EBF,0x76F8,
+0x53A2,0x9576,0x9999,0x7BB1,0x8944,0x6E58,0x4E61,0x7FD4,
+0x7965,0x8BE6,0x60F3,0x54CD,0x4EAB,0x9879,0x5DF7,0x6A61,
+0x50CF,0x5411,0x8C61,0x8427,0x785D,0x9704,0x524A,0x54EE,
+0x56A3,0x9500,0x6D88,0x5BB5,0x6DC6,0x6653, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5C0F,0x5B5D,0x6821,0x8096,0x5578,0x7B11,0x6548,0x6954,
+0x4E9B,0x6B47,0x874E,0x978B,0x534F,0x631F,0x643A,0x90AA,
+0x659C,0x80C1,0x8C10,0x5199,0x68B0,0x5378,0x87F9,0x61C8,
+0x6CC4,0x6CFB,0x8C22,0x5C51,0x85AA,0x82AF,0x950C,0x6B23,
+0x8F9B,0x65B0,0x5FFB,0x5FC3,0x4FE1,0x8845,0x661F,0x8165,
+0x7329,0x60FA,0x5174,0x5211,0x578B,0x5F62,0x90A2,0x884C,
+0x9192,0x5E78,0x674F,0x6027,0x59D3,0x5144,0x51F6,0x80F8,
+0x5308,0x6C79,0x96C4,0x718A,0x4F11,0x4FEE,0x7F9E,0x673D,
+0x55C5,0x9508,0x79C0,0x8896,0x7EE3,0x589F,0x620C,0x9700,
+0x865A,0x5618,0x987B,0x5F90,0x8BB8,0x84C4,0x9157,0x53D9,
+0x65ED,0x5E8F,0x755C,0x6064,0x7D6E,0x5A7F,0x7EEA,0x7EED,
+0x8F69,0x55A7,0x5BA3,0x60AC,0x65CB,0x7384, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9009,0x7663,0x7729,0x7EDA,0x9774,0x859B,0x5B66,0x7A74,
+0x96EA,0x8840,0x52CB,0x718F,0x5FAA,0x65EC,0x8BE2,0x5BFB,
+0x9A6F,0x5DE1,0x6B89,0x6C5B,0x8BAD,0x8BAF,0x900A,0x8FC5,
+0x538B,0x62BC,0x9E26,0x9E2D,0x5440,0x4E2B,0x82BD,0x7259,
+0x869C,0x5D16,0x8859,0x6DAF,0x96C5,0x54D1,0x4E9A,0x8BB6,
+0x7109,0x54BD,0x9609,0x70DF,0x6DF9,0x76D0,0x4E25,0x7814,
+0x8712,0x5CA9,0x5EF6,0x8A00,0x989C,0x960E,0x708E,0x6CBF,
+0x5944,0x63A9,0x773C,0x884D,0x6F14,0x8273,0x5830,0x71D5,
+0x538C,0x781A,0x96C1,0x5501,0x5F66,0x7130,0x5BB4,0x8C1A,
+0x9A8C,0x6B83,0x592E,0x9E2F,0x79E7,0x6768,0x626C,0x4F6F,
+0x75A1,0x7F8A,0x6D0B,0x9633,0x6C27,0x4EF0,0x75D2,0x517B,
+0x6837,0x6F3E,0x9080,0x8170,0x5996,0x7476, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6447,0x5C27,0x9065,0x7A91,0x8C23,0x59DA,0x54AC,0x8200,
+0x836F,0x8981,0x8000,0x6930,0x564E,0x8036,0x7237,0x91CE,
+0x51B6,0x4E5F,0x9875,0x6396,0x4E1A,0x53F6,0x66F3,0x814B,
+0x591C,0x6DB2,0x4E00,0x58F9,0x533B,0x63D6,0x94F1,0x4F9D,
+0x4F0A,0x8863,0x9890,0x5937,0x9057,0x79FB,0x4EEA,0x80F0,
+0x7591,0x6C82,0x5B9C,0x59E8,0x5F5D,0x6905,0x8681,0x501A,
+0x5DF2,0x4E59,0x77E3,0x4EE5,0x827A,0x6291,0x6613,0x9091,
+0x5C79,0x4EBF,0x5F79,0x81C6,0x9038,0x8084,0x75AB,0x4EA6,
+0x88D4,0x610F,0x6BC5,0x5FC6,0x4E49,0x76CA,0x6EA2,0x8BE3,
+0x8BAE,0x8C0A,0x8BD1,0x5F02,0x7FFC,0x7FCC,0x7ECE,0x8335,
+0x836B,0x56E0,0x6BB7,0x97F3,0x9634,0x59FB,0x541F,0x94F6,
+0x6DEB,0x5BC5,0x996E,0x5C39,0x5F15,0x9690, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5370,0x82F1,0x6A31,0x5A74,0x9E70,0x5E94,0x7F28,0x83B9,
+0x8424,0x8425,0x8367,0x8747,0x8FCE,0x8D62,0x76C8,0x5F71,
+0x9896,0x786C,0x6620,0x54DF,0x62E5,0x4F63,0x81C3,0x75C8,
+0x5EB8,0x96CD,0x8E0A,0x86F9,0x548F,0x6CF3,0x6D8C,0x6C38,
+0x607F,0x52C7,0x7528,0x5E7D,0x4F18,0x60A0,0x5FE7,0x5C24,
+0x7531,0x90AE,0x94C0,0x72B9,0x6CB9,0x6E38,0x9149,0x6709,
+0x53CB,0x53F3,0x4F51,0x91C9,0x8BF1,0x53C8,0x5E7C,0x8FC2,
+0x6DE4,0x4E8E,0x76C2,0x6986,0x865E,0x611A,0x8206,0x4F59,
+0x4FDE,0x903E,0x9C7C,0x6109,0x6E1D,0x6E14,0x9685,0x4E88,
+0x5A31,0x96E8,0x4E0E,0x5C7F,0x79B9,0x5B87,0x8BED,0x7FBD,
+0x7389,0x57DF,0x828B,0x90C1,0x5401,0x9047,0x55BB,0x5CEA,
+0x5FA1,0x6108,0x6B32,0x72F1,0x80B2,0x8A89, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6D74,0x5BD3,0x88D5,0x9884,0x8C6B,0x9A6D,0x9E33,0x6E0A,
+0x51A4,0x5143,0x57A3,0x8881,0x539F,0x63F4,0x8F95,0x56ED,
+0x5458,0x5706,0x733F,0x6E90,0x7F18,0x8FDC,0x82D1,0x613F,
+0x6028,0x9662,0x66F0,0x7EA6,0x8D8A,0x8DC3,0x94A5,0x5CB3,
+0x7CA4,0x6708,0x60A6,0x9605,0x8018,0x4E91,0x90E7,0x5300,
+0x9668,0x5141,0x8FD0,0x8574,0x915D,0x6655,0x97F5,0x5B55,
+0x531D,0x7838,0x6742,0x683D,0x54C9,0x707E,0x5BB0,0x8F7D,
+0x518D,0x5728,0x54B1,0x6512,0x6682,0x8D5E,0x8D43,0x810F,
+0x846C,0x906D,0x7CDF,0x51FF,0x85FB,0x67A3,0x65E9,0x6FA1,
+0x86A4,0x8E81,0x566A,0x9020,0x7682,0x7076,0x71E5,0x8D23,
+0x62E9,0x5219,0x6CFD,0x8D3C,0x600E,0x589E,0x618E,0x66FE,
+0x8D60,0x624E,0x55B3,0x6E23,0x672D,0x8F67, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x94E1,0x95F8,0x7728,0x6805,0x69A8,0x548B,0x4E4D,0x70B8,
+0x8BC8,0x6458,0x658B,0x5B85,0x7A84,0x503A,0x5BE8,0x77BB,
+0x6BE1,0x8A79,0x7C98,0x6CBE,0x76CF,0x65A9,0x8F97,0x5D2D,
+0x5C55,0x8638,0x6808,0x5360,0x6218,0x7AD9,0x6E5B,0x7EFD,
+0x6A1F,0x7AE0,0x5F70,0x6F33,0x5F20,0x638C,0x6DA8,0x6756,
+0x4E08,0x5E10,0x8D26,0x4ED7,0x80C0,0x7634,0x969C,0x62DB,
+0x662D,0x627E,0x6CBC,0x8D75,0x7167,0x7F69,0x5146,0x8087,
+0x53EC,0x906E,0x6298,0x54F2,0x86F0,0x8F99,0x8005,0x9517,
+0x8517,0x8FD9,0x6D59,0x73CD,0x659F,0x771F,0x7504,0x7827,
+0x81FB,0x8D1E,0x9488,0x4FA6,0x6795,0x75B9,0x8BCA,0x9707,
+0x632F,0x9547,0x9635,0x84B8,0x6323,0x7741,0x5F81,0x72F0,
+0x4E89,0x6014,0x6574,0x62EF,0x6B63,0x653F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5E27,0x75C7,0x90D1,0x8BC1,0x829D,0x679D,0x652F,0x5431,
+0x8718,0x77E5,0x80A2,0x8102,0x6C41,0x4E4B,0x7EC7,0x804C,
+0x76F4,0x690D,0x6B96,0x6267,0x503C,0x4F84,0x5740,0x6307,
+0x6B62,0x8DBE,0x53EA,0x65E8,0x7EB8,0x5FD7,0x631A,0x63B7,
+0x81F3,0x81F4,0x7F6E,0x5E1C,0x5CD9,0x5236,0x667A,0x79E9,
+0x7A1A,0x8D28,0x7099,0x75D4,0x6EDE,0x6CBB,0x7A92,0x4E2D,
+0x76C5,0x5FE0,0x949F,0x8877,0x7EC8,0x79CD,0x80BF,0x91CD,
+0x4EF2,0x4F17,0x821F,0x5468,0x5DDE,0x6D32,0x8BCC,0x7CA5,
+0x8F74,0x8098,0x5E1A,0x5492,0x76B1,0x5B99,0x663C,0x9AA4,
+0x73E0,0x682A,0x86DB,0x6731,0x732A,0x8BF8,0x8BDB,0x9010,
+0x7AF9,0x70DB,0x716E,0x62C4,0x77A9,0x5631,0x4E3B,0x8457,
+0x67F1,0x52A9,0x86C0,0x8D2E,0x94F8,0x7B51, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4F4F,0x6CE8,0x795D,0x9A7B,0x6293,0x722A,0x62FD,0x4E13,
+0x7816,0x8F6C,0x64B0,0x8D5A,0x7BC6,0x6869,0x5E84,0x88C5,
+0x5986,0x649E,0x58EE,0x72B6,0x690E,0x9525,0x8FFD,0x8D58,
+0x5760,0x7F00,0x8C06,0x51C6,0x6349,0x62D9,0x5353,0x684C,
+0x7422,0x8301,0x914C,0x5544,0x7740,0x707C,0x6D4A,0x5179,
+0x54A8,0x8D44,0x59FF,0x6ECB,0x6DC4,0x5B5C,0x7D2B,0x4ED4,
+0x7C7D,0x6ED3,0x5B50,0x81EA,0x6E0D,0x5B57,0x9B03,0x68D5,
+0x8E2A,0x5B97,0x7EFC,0x603B,0x7EB5,0x90B9,0x8D70,0x594F,
+0x63CD,0x79DF,0x8DB3,0x5352,0x65CF,0x7956,0x8BC5,0x963B,
+0x7EC4,0x94BB,0x7E82,0x5634,0x9189,0x6700,0x7F6A,0x5C0A,
+0x9075,0x6628,0x5DE6,0x4F50,0x67DE,0x505A,0x4F5C,0x5750,
+0x5EA7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4E8D,0x4E0C,0x5140,0x4E10,0x5EFF,0x5345,0x4E15,0x4E98,
+0x4E1E,0x9B32,0x5B6C,0x5669,0x4E28,0x79BA,0x4E3F,0x5315,
+0x4E47,0x592D,0x723B,0x536E,0x6C10,0x56DF,0x80E4,0x9997,
+0x6BD3,0x777E,0x9F17,0x4E36,0x4E9F,0x9F10,0x4E5C,0x4E69,
+0x4E93,0x8288,0x5B5B,0x556C,0x560F,0x4EC4,0x538D,0x539D,
+0x53A3,0x53A5,0x53AE,0x9765,0x8D5D,0x531A,0x53F5,0x5326,
+0x532E,0x533E,0x8D5C,0x5366,0x5363,0x5202,0x5208,0x520E,
+0x522D,0x5233,0x523F,0x5240,0x524C,0x525E,0x5261,0x525C,
+0x84AF,0x527D,0x5282,0x5281,0x5290,0x5293,0x5182,0x7F54,
+0x4EBB,0x4EC3,0x4EC9,0x4EC2,0x4EE8,0x4EE1,0x4EEB,0x4EDE,
+0x4F1B,0x4EF3,0x4F22,0x4F64,0x4EF5,0x4F25,0x4F27,0x4F09,
+0x4F2B,0x4F5E,0x4F67,0x6538,0x4F5A,0x4F5D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4F5F,0x4F57,0x4F32,0x4F3D,0x4F76,0x4F74,0x4F91,0x4F89,
+0x4F83,0x4F8F,0x4F7E,0x4F7B,0x4FAA,0x4F7C,0x4FAC,0x4F94,
+0x4FE6,0x4FE8,0x4FEA,0x4FC5,0x4FDA,0x4FE3,0x4FDC,0x4FD1,
+0x4FDF,0x4FF8,0x5029,0x504C,0x4FF3,0x502C,0x500F,0x502E,
+0x502D,0x4FFE,0x501C,0x500C,0x5025,0x5028,0x507E,0x5043,
+0x5055,0x5048,0x504E,0x506C,0x507B,0x50A5,0x50A7,0x50A9,
+0x50BA,0x50D6,0x5106,0x50ED,0x50EC,0x50E6,0x50EE,0x5107,
+0x510B,0x4EDD,0x6C3D,0x4F58,0x4F65,0x4FCE,0x9FA0,0x6C46,
+0x7C74,0x516E,0x5DFD,0x9EC9,0x9998,0x5181,0x5914,0x52F9,
+0x530D,0x8A07,0x5310,0x51EB,0x5919,0x5155,0x4EA0,0x5156,
+0x4EB3,0x886E,0x88A4,0x4EB5,0x8114,0x88D2,0x7980,0x5B34,
+0x8803,0x7FB8,0x51AB,0x51B1,0x51BD,0x51BC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x51C7,0x5196,0x51A2,0x51A5,0x8BA0,0x8BA6,0x8BA7,0x8BAA,
+0x8BB4,0x8BB5,0x8BB7,0x8BC2,0x8BC3,0x8BCB,0x8BCF,0x8BCE,
+0x8BD2,0x8BD3,0x8BD4,0x8BD6,0x8BD8,0x8BD9,0x8BDC,0x8BDF,
+0x8BE0,0x8BE4,0x8BE8,0x8BE9,0x8BEE,0x8BF0,0x8BF3,0x8BF6,
+0x8BF9,0x8BFC,0x8BFF,0x8C00,0x8C02,0x8C04,0x8C07,0x8C0C,
+0x8C0F,0x8C11,0x8C12,0x8C14,0x8C15,0x8C16,0x8C19,0x8C1B,
+0x8C18,0x8C1D,0x8C1F,0x8C20,0x8C21,0x8C25,0x8C27,0x8C2A,
+0x8C2B,0x8C2E,0x8C2F,0x8C32,0x8C33,0x8C35,0x8C36,0x5369,
+0x537A,0x961D,0x9622,0x9621,0x9631,0x962A,0x963D,0x963C,
+0x9642,0x9649,0x9654,0x965F,0x9667,0x966C,0x9672,0x9674,
+0x9688,0x968D,0x9697,0x96B0,0x9097,0x909B,0x909D,0x9099,
+0x90AC,0x90A1,0x90B4,0x90B3,0x90B6,0x90BA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x90B8,0x90B0,0x90CF,0x90C5,0x90BE,0x90D0,0x90C4,0x90C7,
+0x90D3,0x90E6,0x90E2,0x90DC,0x90D7,0x90DB,0x90EB,0x90EF,
+0x90FE,0x9104,0x9122,0x911E,0x9123,0x9131,0x912F,0x9139,
+0x9143,0x9146,0x520D,0x5942,0x52A2,0x52AC,0x52AD,0x52BE,
+0x54FF,0x52D0,0x52D6,0x52F0,0x53DF,0x71EE,0x77CD,0x5EF4,
+0x51F5,0x51FC,0x9B2F,0x53B6,0x5F01,0x755A,0x5DEF,0x574C,
+0x57A9,0x57A1,0x587E,0x58BC,0x58C5,0x58D1,0x5729,0x572C,
+0x572A,0x5733,0x5739,0x572E,0x572F,0x575C,0x573B,0x5742,
+0x5769,0x5785,0x576B,0x5786,0x577C,0x577B,0x5768,0x576D,
+0x5776,0x5773,0x57AD,0x57A4,0x578C,0x57B2,0x57CF,0x57A7,
+0x57B4,0x5793,0x57A0,0x57D5,0x57D8,0x57DA,0x57D9,0x57D2,
+0x57B8,0x57F4,0x57EF,0x57F8,0x57E4,0x57DD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x580B,0x580D,0x57FD,0x57ED,0x5800,0x581E,0x5819,0x5844,
+0x5820,0x5865,0x586C,0x5881,0x5889,0x589A,0x5880,0x99A8,
+0x9F19,0x61FF,0x8279,0x827D,0x827F,0x828F,0x828A,0x82A8,
+0x8284,0x828E,0x8291,0x8297,0x8299,0x82AB,0x82B8,0x82BE,
+0x82B0,0x82C8,0x82CA,0x82E3,0x8298,0x82B7,0x82AE,0x82CB,
+0x82CC,0x82C1,0x82A9,0x82B4,0x82A1,0x82AA,0x829F,0x82C4,
+0x82CE,0x82A4,0x82E1,0x8309,0x82F7,0x82E4,0x830F,0x8307,
+0x82DC,0x82F4,0x82D2,0x82D8,0x830C,0x82FB,0x82D3,0x8311,
+0x831A,0x8306,0x8314,0x8315,0x82E0,0x82D5,0x831C,0x8351,
+0x835B,0x835C,0x8308,0x8392,0x833C,0x8334,0x8331,0x839B,
+0x835E,0x832F,0x834F,0x8347,0x8343,0x835F,0x8340,0x8317,
+0x8360,0x832D,0x833A,0x8333,0x8366,0x8365, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8368,0x831B,0x8369,0x836C,0x836A,0x836D,0x836E,0x83B0,
+0x8378,0x83B3,0x83B4,0x83A0,0x83AA,0x8393,0x839C,0x8385,
+0x837C,0x83B6,0x83A9,0x837D,0x83B8,0x837B,0x8398,0x839E,
+0x83A8,0x83BA,0x83BC,0x83C1,0x8401,0x83E5,0x83D8,0x5807,
+0x8418,0x840B,0x83DD,0x83FD,0x83D6,0x841C,0x8438,0x8411,
+0x8406,0x83D4,0x83DF,0x840F,0x8403,0x83F8,0x83F9,0x83EA,
+0x83C5,0x83C0,0x8426,0x83F0,0x83E1,0x845C,0x8451,0x845A,
+0x8459,0x8473,0x8487,0x8488,0x847A,0x8489,0x8478,0x843C,
+0x8446,0x8469,0x8476,0x848C,0x848E,0x8431,0x846D,0x84C1,
+0x84CD,0x84D0,0x84E6,0x84BD,0x84D3,0x84CA,0x84BF,0x84BA,
+0x84E0,0x84A1,0x84B9,0x84B4,0x8497,0x84E5,0x84E3,0x850C,
+0x750D,0x8538,0x84F0,0x8539,0x851F,0x853A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8556,0x853B,0x84FF,0x84FC,0x8559,0x8548,0x8568,0x8564,
+0x855E,0x857A,0x77A2,0x8543,0x8572,0x857B,0x85A4,0x85A8,
+0x8587,0x858F,0x8579,0x85AE,0x859C,0x8585,0x85B9,0x85B7,
+0x85B0,0x85D3,0x85C1,0x85DC,0x85FF,0x8627,0x8605,0x8629,
+0x8616,0x863C,0x5EFE,0x5F08,0x593C,0x5941,0x8037,0x5955,
+0x595A,0x5958,0x530F,0x5C22,0x5C25,0x5C2C,0x5C34,0x624C,
+0x626A,0x629F,0x62BB,0x62CA,0x62DA,0x62D7,0x62EE,0x6322,
+0x62F6,0x6339,0x634B,0x6343,0x63AD,0x63F6,0x6371,0x637A,
+0x638E,0x63B4,0x636D,0x63AC,0x638A,0x6369,0x63AE,0x63BC,
+0x63F2,0x63F8,0x63E0,0x63FF,0x63C4,0x63DE,0x63CE,0x6452,
+0x63C6,0x63BE,0x6445,0x6441,0x640B,0x641B,0x6420,0x640C,
+0x6426,0x6421,0x645E,0x6484,0x646D,0x6496, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x647A,0x64B7,0x64B8,0x6499,0x64BA,0x64C0,0x64D0,0x64D7,
+0x64E4,0x64E2,0x6509,0x6525,0x652E,0x5F0B,0x5FD2,0x7519,
+0x5F11,0x535F,0x53F1,0x53FD,0x53E9,0x53E8,0x53FB,0x5412,
+0x5416,0x5406,0x544B,0x5452,0x5453,0x5454,0x5456,0x5443,
+0x5421,0x5457,0x5459,0x5423,0x5432,0x5482,0x5494,0x5477,
+0x5471,0x5464,0x549A,0x549B,0x5484,0x5476,0x5466,0x549D,
+0x54D0,0x54AD,0x54C2,0x54B4,0x54D2,0x54A7,0x54A6,0x54D3,
+0x54D4,0x5472,0x54A3,0x54D5,0x54BB,0x54BF,0x54CC,0x54D9,
+0x54DA,0x54DC,0x54A9,0x54AA,0x54A4,0x54DD,0x54CF,0x54DE,
+0x551B,0x54E7,0x5520,0x54FD,0x5514,0x54F3,0x5522,0x5523,
+0x550F,0x5511,0x5527,0x552A,0x5567,0x558F,0x55B5,0x5549,
+0x556D,0x5541,0x5555,0x553F,0x5550,0x553C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5537,0x5556,0x5575,0x5576,0x5577,0x5533,0x5530,0x555C,
+0x558B,0x55D2,0x5583,0x55B1,0x55B9,0x5588,0x5581,0x559F,
+0x557E,0x55D6,0x5591,0x557B,0x55DF,0x55BD,0x55BE,0x5594,
+0x5599,0x55EA,0x55F7,0x55C9,0x561F,0x55D1,0x55EB,0x55EC,
+0x55D4,0x55E6,0x55DD,0x55C4,0x55EF,0x55E5,0x55F2,0x55F3,
+0x55CC,0x55CD,0x55E8,0x55F5,0x55E4,0x8F94,0x561E,0x5608,
+0x560C,0x5601,0x5624,0x5623,0x55FE,0x5600,0x5627,0x562D,
+0x5658,0x5639,0x5657,0x562C,0x564D,0x5662,0x5659,0x565C,
+0x564C,0x5654,0x5686,0x5664,0x5671,0x566B,0x567B,0x567C,
+0x5685,0x5693,0x56AF,0x56D4,0x56D7,0x56DD,0x56E1,0x56F5,
+0x56EB,0x56F9,0x56FF,0x5704,0x570A,0x5709,0x571C,0x5E0F,
+0x5E19,0x5E14,0x5E11,0x5E31,0x5E3B,0x5E3C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5E37,0x5E44,0x5E54,0x5E5B,0x5E5E,0x5E61,0x5C8C,0x5C7A,
+0x5C8D,0x5C90,0x5C96,0x5C88,0x5C98,0x5C99,0x5C91,0x5C9A,
+0x5C9C,0x5CB5,0x5CA2,0x5CBD,0x5CAC,0x5CAB,0x5CB1,0x5CA3,
+0x5CC1,0x5CB7,0x5CC4,0x5CD2,0x5CE4,0x5CCB,0x5CE5,0x5D02,
+0x5D03,0x5D27,0x5D26,0x5D2E,0x5D24,0x5D1E,0x5D06,0x5D1B,
+0x5D58,0x5D3E,0x5D34,0x5D3D,0x5D6C,0x5D5B,0x5D6F,0x5D5D,
+0x5D6B,0x5D4B,0x5D4A,0x5D69,0x5D74,0x5D82,0x5D99,0x5D9D,
+0x8C73,0x5DB7,0x5DC5,0x5F73,0x5F77,0x5F82,0x5F87,0x5F89,
+0x5F8C,0x5F95,0x5F99,0x5F9C,0x5FA8,0x5FAD,0x5FB5,0x5FBC,
+0x8862,0x5F61,0x72AD,0x72B0,0x72B4,0x72B7,0x72B8,0x72C3,
+0x72C1,0x72CE,0x72CD,0x72D2,0x72E8,0x72EF,0x72E9,0x72F2,
+0x72F4,0x72F7,0x7301,0x72F3,0x7303,0x72FA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x72FB,0x7317,0x7313,0x7321,0x730A,0x731E,0x731D,0x7315,
+0x7322,0x7339,0x7325,0x732C,0x7338,0x7331,0x7350,0x734D,
+0x7357,0x7360,0x736C,0x736F,0x737E,0x821B,0x5925,0x98E7,
+0x5924,0x5902,0x9963,0x9967,0x9968,0x9969,0x996A,0x996B,
+0x996C,0x9974,0x9977,0x997D,0x9980,0x9984,0x9987,0x998A,
+0x998D,0x9990,0x9991,0x9993,0x9994,0x9995,0x5E80,0x5E91,
+0x5E8B,0x5E96,0x5EA5,0x5EA0,0x5EB9,0x5EB5,0x5EBE,0x5EB3,
+0x8D53,0x5ED2,0x5ED1,0x5EDB,0x5EE8,0x5EEA,0x81BA,0x5FC4,
+0x5FC9,0x5FD6,0x5FCF,0x6003,0x5FEE,0x6004,0x5FE1,0x5FE4,
+0x5FFE,0x6005,0x6006,0x5FEA,0x5FED,0x5FF8,0x6019,0x6035,
+0x6026,0x601B,0x600F,0x600D,0x6029,0x602B,0x600A,0x603F,
+0x6021,0x6078,0x6079,0x607B,0x607A,0x6042, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x606A,0x607D,0x6096,0x609A,0x60AD,0x609D,0x6083,0x6092,
+0x608C,0x609B,0x60EC,0x60BB,0x60B1,0x60DD,0x60D8,0x60C6,
+0x60DA,0x60B4,0x6120,0x6126,0x6115,0x6123,0x60F4,0x6100,
+0x610E,0x612B,0x614A,0x6175,0x61AC,0x6194,0x61A7,0x61B7,
+0x61D4,0x61F5,0x5FDD,0x96B3,0x95E9,0x95EB,0x95F1,0x95F3,
+0x95F5,0x95F6,0x95FC,0x95FE,0x9603,0x9604,0x9606,0x9608,
+0x960A,0x960B,0x960C,0x960D,0x960F,0x9612,0x9615,0x9616,
+0x9617,0x9619,0x961A,0x4E2C,0x723F,0x6215,0x6C35,0x6C54,
+0x6C5C,0x6C4A,0x6CA3,0x6C85,0x6C90,0x6C94,0x6C8C,0x6C68,
+0x6C69,0x6C74,0x6C76,0x6C86,0x6CA9,0x6CD0,0x6CD4,0x6CAD,
+0x6CF7,0x6CF8,0x6CF1,0x6CD7,0x6CB2,0x6CE0,0x6CD6,0x6CFA,
+0x6CEB,0x6CEE,0x6CB1,0x6CD3,0x6CEF,0x6CFE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6D39,0x6D27,0x6D0C,0x6D43,0x6D48,0x6D07,0x6D04,0x6D19,
+0x6D0E,0x6D2B,0x6D4D,0x6D2E,0x6D35,0x6D1A,0x6D4F,0x6D52,
+0x6D54,0x6D33,0x6D91,0x6D6F,0x6D9E,0x6DA0,0x6D5E,0x6D93,
+0x6D94,0x6D5C,0x6D60,0x6D7C,0x6D63,0x6E1A,0x6DC7,0x6DC5,
+0x6DDE,0x6E0E,0x6DBF,0x6DE0,0x6E11,0x6DE6,0x6DDD,0x6DD9,
+0x6E16,0x6DAB,0x6E0C,0x6DAE,0x6E2B,0x6E6E,0x6E4E,0x6E6B,
+0x6EB2,0x6E5F,0x6E86,0x6E53,0x6E54,0x6E32,0x6E25,0x6E44,
+0x6EDF,0x6EB1,0x6E98,0x6EE0,0x6F2D,0x6EE2,0x6EA5,0x6EA7,
+0x6EBD,0x6EBB,0x6EB7,0x6ED7,0x6EB4,0x6ECF,0x6E8F,0x6EC2,
+0x6E9F,0x6F62,0x6F46,0x6F47,0x6F24,0x6F15,0x6EF9,0x6F2F,
+0x6F36,0x6F4B,0x6F74,0x6F2A,0x6F09,0x6F29,0x6F89,0x6F8D,
+0x6F8C,0x6F78,0x6F72,0x6F7C,0x6F7A,0x6FD1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6FC9,0x6FA7,0x6FB9,0x6FB6,0x6FC2,0x6FE1,0x6FEE,0x6FDE,
+0x6FE0,0x6FEF,0x701A,0x7023,0x701B,0x7039,0x7035,0x704F,
+0x705E,0x5B80,0x5B84,0x5B95,0x5B93,0x5BA5,0x5BB8,0x752F,
+0x9A9E,0x6434,0x5BE4,0x5BEE,0x8930,0x5BF0,0x8E47,0x8B07,
+0x8FB6,0x8FD3,0x8FD5,0x8FE5,0x8FEE,0x8FE4,0x8FE9,0x8FE6,
+0x8FF3,0x8FE8,0x9005,0x9004,0x900B,0x9026,0x9011,0x900D,
+0x9016,0x9021,0x9035,0x9036,0x902D,0x902F,0x9044,0x9051,
+0x9052,0x9050,0x9068,0x9058,0x9062,0x905B,0x66B9,0x9074,
+0x907D,0x9082,0x9088,0x9083,0x908B,0x5F50,0x5F57,0x5F56,
+0x5F58,0x5C3B,0x54AB,0x5C50,0x5C59,0x5B71,0x5C63,0x5C66,
+0x7FBC,0x5F2A,0x5F29,0x5F2D,0x8274,0x5F3C,0x9B3B,0x5C6E,
+0x5981,0x5983,0x598D,0x59A9,0x59AA,0x59A3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5997,0x59CA,0x59AB,0x599E,0x59A4,0x59D2,0x59B2,0x59AF,
+0x59D7,0x59BE,0x5A05,0x5A06,0x59DD,0x5A08,0x59E3,0x59D8,
+0x59F9,0x5A0C,0x5A09,0x5A32,0x5A34,0x5A11,0x5A23,0x5A13,
+0x5A40,0x5A67,0x5A4A,0x5A55,0x5A3C,0x5A62,0x5A75,0x80EC,
+0x5AAA,0x5A9B,0x5A77,0x5A7A,0x5ABE,0x5AEB,0x5AB2,0x5AD2,
+0x5AD4,0x5AB8,0x5AE0,0x5AE3,0x5AF1,0x5AD6,0x5AE6,0x5AD8,
+0x5ADC,0x5B09,0x5B17,0x5B16,0x5B32,0x5B37,0x5B40,0x5C15,
+0x5C1C,0x5B5A,0x5B65,0x5B73,0x5B51,0x5B53,0x5B62,0x9A75,
+0x9A77,0x9A78,0x9A7A,0x9A7F,0x9A7D,0x9A80,0x9A81,0x9A85,
+0x9A88,0x9A8A,0x9A90,0x9A92,0x9A93,0x9A96,0x9A98,0x9A9B,
+0x9A9C,0x9A9D,0x9A9F,0x9AA0,0x9AA2,0x9AA3,0x9AA5,0x9AA7,
+0x7E9F,0x7EA1,0x7EA3,0x7EA5,0x7EA8,0x7EA9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7EAD,0x7EB0,0x7EBE,0x7EC0,0x7EC1,0x7EC2,0x7EC9,0x7ECB,
+0x7ECC,0x7ED0,0x7ED4,0x7ED7,0x7EDB,0x7EE0,0x7EE1,0x7EE8,
+0x7EEB,0x7EEE,0x7EEF,0x7EF1,0x7EF2,0x7F0D,0x7EF6,0x7EFA,
+0x7EFB,0x7EFE,0x7F01,0x7F02,0x7F03,0x7F07,0x7F08,0x7F0B,
+0x7F0C,0x7F0F,0x7F11,0x7F12,0x7F17,0x7F19,0x7F1C,0x7F1B,
+0x7F1F,0x7F21,0x7F22,0x7F23,0x7F24,0x7F25,0x7F26,0x7F27,
+0x7F2A,0x7F2B,0x7F2C,0x7F2D,0x7F2F,0x7F30,0x7F31,0x7F32,
+0x7F33,0x7F35,0x5E7A,0x757F,0x5DDB,0x753E,0x9095,0x738E,
+0x7391,0x73AE,0x73A2,0x739F,0x73CF,0x73C2,0x73D1,0x73B7,
+0x73B3,0x73C0,0x73C9,0x73C8,0x73E5,0x73D9,0x987C,0x740A,
+0x73E9,0x73E7,0x73DE,0x73BA,0x73F2,0x740F,0x742A,0x745B,
+0x7426,0x7425,0x7428,0x7430,0x742E,0x742C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x741B,0x741A,0x7441,0x745C,0x7457,0x7455,0x7459,0x7477,
+0x746D,0x747E,0x749C,0x748E,0x7480,0x7481,0x7487,0x748B,
+0x749E,0x74A8,0x74A9,0x7490,0x74A7,0x74D2,0x74BA,0x97EA,
+0x97EB,0x97EC,0x674C,0x6753,0x675E,0x6748,0x6769,0x67A5,
+0x6787,0x676A,0x6773,0x6798,0x67A7,0x6775,0x67A8,0x679E,
+0x67AD,0x678B,0x6777,0x677C,0x67F0,0x6809,0x67D8,0x680A,
+0x67E9,0x67B0,0x680C,0x67D9,0x67B5,0x67DA,0x67B3,0x67DD,
+0x6800,0x67C3,0x67B8,0x67E2,0x680E,0x67C1,0x67FD,0x6832,
+0x6833,0x6860,0x6861,0x684E,0x6862,0x6844,0x6864,0x6883,
+0x681D,0x6855,0x6866,0x6841,0x6867,0x6840,0x683E,0x684A,
+0x6849,0x6829,0x68B5,0x688F,0x6874,0x6877,0x6893,0x686B,
+0x68C2,0x696E,0x68FC,0x691F,0x6920,0x68F9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6924,0x68F0,0x690B,0x6901,0x6957,0x68E3,0x6910,0x6971,
+0x6939,0x6960,0x6942,0x695D,0x6984,0x696B,0x6980,0x6998,
+0x6978,0x6934,0x69CC,0x6987,0x6988,0x69CE,0x6989,0x6966,
+0x6963,0x6979,0x699B,0x69A7,0x69BB,0x69AB,0x69AD,0x69D4,
+0x69B1,0x69C1,0x69CA,0x69DF,0x6995,0x69E0,0x698D,0x69FF,
+0x6A2F,0x69ED,0x6A17,0x6A18,0x6A65,0x69F2,0x6A44,0x6A3E,
+0x6AA0,0x6A50,0x6A5B,0x6A35,0x6A8E,0x6A79,0x6A3D,0x6A28,
+0x6A58,0x6A7C,0x6A91,0x6A90,0x6AA9,0x6A97,0x6AAB,0x7337,
+0x7352,0x6B81,0x6B82,0x6B87,0x6B84,0x6B92,0x6B93,0x6B8D,
+0x6B9A,0x6B9B,0x6BA1,0x6BAA,0x8F6B,0x8F6D,0x8F71,0x8F72,
+0x8F73,0x8F75,0x8F76,0x8F78,0x8F77,0x8F79,0x8F7A,0x8F7C,
+0x8F7E,0x8F81,0x8F82,0x8F84,0x8F87,0x8F8B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8F8D,0x8F8E,0x8F8F,0x8F98,0x8F9A,0x8ECE,0x620B,0x6217,
+0x621B,0x621F,0x6222,0x6221,0x6225,0x6224,0x622C,0x81E7,
+0x74EF,0x74F4,0x74FF,0x750F,0x7511,0x7513,0x6534,0x65EE,
+0x65EF,0x65F0,0x660A,0x6619,0x6772,0x6603,0x6615,0x6600,
+0x7085,0x66F7,0x661D,0x6634,0x6631,0x6636,0x6635,0x8006,
+0x665F,0x6654,0x6641,0x664F,0x6656,0x6661,0x6657,0x6677,
+0x6684,0x668C,0x66A7,0x669D,0x66BE,0x66DB,0x66DC,0x66E6,
+0x66E9,0x8D32,0x8D33,0x8D36,0x8D3B,0x8D3D,0x8D40,0x8D45,
+0x8D46,0x8D48,0x8D49,0x8D47,0x8D4D,0x8D55,0x8D59,0x89C7,
+0x89CA,0x89CB,0x89CC,0x89CE,0x89CF,0x89D0,0x89D1,0x726E,
+0x729F,0x725D,0x7266,0x726F,0x727E,0x727F,0x7284,0x728B,
+0x728D,0x728F,0x7292,0x6308,0x6332,0x63B0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x643F,0x64D8,0x8004,0x6BEA,0x6BF3,0x6BFD,0x6BF5,0x6BF9,
+0x6C05,0x6C07,0x6C06,0x6C0D,0x6C15,0x6C18,0x6C19,0x6C1A,
+0x6C21,0x6C29,0x6C24,0x6C2A,0x6C32,0x6535,0x6555,0x656B,
+0x724D,0x7252,0x7256,0x7230,0x8662,0x5216,0x809F,0x809C,
+0x8093,0x80BC,0x670A,0x80BD,0x80B1,0x80AB,0x80AD,0x80B4,
+0x80B7,0x80E7,0x80E8,0x80E9,0x80EA,0x80DB,0x80C2,0x80C4,
+0x80D9,0x80CD,0x80D7,0x6710,0x80DD,0x80EB,0x80F1,0x80F4,
+0x80ED,0x810D,0x810E,0x80F2,0x80FC,0x6715,0x8112,0x8C5A,
+0x8136,0x811E,0x812C,0x8118,0x8132,0x8148,0x814C,0x8153,
+0x8174,0x8159,0x815A,0x8171,0x8160,0x8169,0x817C,0x817D,
+0x816D,0x8167,0x584D,0x5AB5,0x8188,0x8182,0x8191,0x6ED5,
+0x81A3,0x81AA,0x81CC,0x6726,0x81CA,0x81BB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x81C1,0x81A6,0x6B24,0x6B37,0x6B39,0x6B43,0x6B46,0x6B59,
+0x98D1,0x98D2,0x98D3,0x98D5,0x98D9,0x98DA,0x6BB3,0x5F40,
+0x6BC2,0x89F3,0x6590,0x9F51,0x6593,0x65BC,0x65C6,0x65C4,
+0x65C3,0x65CC,0x65CE,0x65D2,0x65D6,0x7080,0x709C,0x7096,
+0x709D,0x70BB,0x70C0,0x70B7,0x70AB,0x70B1,0x70E8,0x70CA,
+0x7110,0x7113,0x7116,0x712F,0x7131,0x7173,0x715C,0x7168,
+0x7145,0x7172,0x714A,0x7178,0x717A,0x7198,0x71B3,0x71B5,
+0x71A8,0x71A0,0x71E0,0x71D4,0x71E7,0x71F9,0x721D,0x7228,
+0x706C,0x7118,0x7166,0x71B9,0x623E,0x623D,0x6243,0x6248,
+0x6249,0x793B,0x7940,0x7946,0x7949,0x795B,0x795C,0x7953,
+0x795A,0x7962,0x7957,0x7960,0x796F,0x7967,0x797A,0x7985,
+0x798A,0x799A,0x79A7,0x79B3,0x5FD1,0x5FD0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x603C,0x605D,0x605A,0x6067,0x6041,0x6059,0x6063,0x60AB,
+0x6106,0x610D,0x615D,0x61A9,0x619D,0x61CB,0x61D1,0x6206,
+0x8080,0x807F,0x6C93,0x6CF6,0x6DFC,0x77F6,0x77F8,0x7800,
+0x7809,0x7817,0x7818,0x7811,0x65AB,0x782D,0x781C,0x781D,
+0x7839,0x783A,0x783B,0x781F,0x783C,0x7825,0x782C,0x7823,
+0x7829,0x784E,0x786D,0x7856,0x7857,0x7826,0x7850,0x7847,
+0x784C,0x786A,0x789B,0x7893,0x789A,0x7887,0x789C,0x78A1,
+0x78A3,0x78B2,0x78B9,0x78A5,0x78D4,0x78D9,0x78C9,0x78EC,
+0x78F2,0x7905,0x78F4,0x7913,0x7924,0x791E,0x7934,0x9F9B,
+0x9EF9,0x9EFB,0x9EFC,0x76F1,0x7704,0x770D,0x76F9,0x7707,
+0x7708,0x771A,0x7722,0x7719,0x772D,0x7726,0x7735,0x7738,
+0x7750,0x7751,0x7747,0x7743,0x775A,0x7768, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7762,0x7765,0x777F,0x778D,0x777D,0x7780,0x778C,0x7791,
+0x779F,0x77A0,0x77B0,0x77B5,0x77BD,0x753A,0x7540,0x754E,
+0x754B,0x7548,0x755B,0x7572,0x7579,0x7583,0x7F58,0x7F61,
+0x7F5F,0x8A48,0x7F68,0x7F74,0x7F71,0x7F79,0x7F81,0x7F7E,
+0x76CD,0x76E5,0x8832,0x9485,0x9486,0x9487,0x948B,0x948A,
+0x948C,0x948D,0x948F,0x9490,0x9494,0x9497,0x9495,0x949A,
+0x949B,0x949C,0x94A3,0x94A4,0x94AB,0x94AA,0x94AD,0x94AC,
+0x94AF,0x94B0,0x94B2,0x94B4,0x94B6,0x94B7,0x94B8,0x94B9,
+0x94BA,0x94BC,0x94BD,0x94BF,0x94C4,0x94C8,0x94C9,0x94CA,
+0x94CB,0x94CC,0x94CD,0x94CE,0x94D0,0x94D1,0x94D2,0x94D5,
+0x94D6,0x94D7,0x94D9,0x94D8,0x94DB,0x94DE,0x94DF,0x94E0,
+0x94E2,0x94E4,0x94E5,0x94E7,0x94E8,0x94EA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x94E9,0x94EB,0x94EE,0x94EF,0x94F3,0x94F4,0x94F5,0x94F7,
+0x94F9,0x94FC,0x94FD,0x94FF,0x9503,0x9502,0x9506,0x9507,
+0x9509,0x950A,0x950D,0x950E,0x950F,0x9512,0x9513,0x9514,
+0x9515,0x9516,0x9518,0x951B,0x951D,0x951E,0x951F,0x9522,
+0x952A,0x952B,0x9529,0x952C,0x9531,0x9532,0x9534,0x9536,
+0x9537,0x9538,0x953C,0x953E,0x953F,0x9542,0x9535,0x9544,
+0x9545,0x9546,0x9549,0x954C,0x954E,0x954F,0x9552,0x9553,
+0x9554,0x9556,0x9557,0x9558,0x9559,0x955B,0x955E,0x955F,
+0x955D,0x9561,0x9562,0x9564,0x9565,0x9566,0x9567,0x9568,
+0x9569,0x956A,0x956B,0x956C,0x956F,0x9571,0x9572,0x9573,
+0x953A,0x77E7,0x77EC,0x96C9,0x79D5,0x79ED,0x79E3,0x79EB,
+0x7A06,0x5D47,0x7A03,0x7A02,0x7A1E,0x7A14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7A39,0x7A37,0x7A51,0x9ECF,0x99A5,0x7A70,0x7688,0x768E,
+0x7693,0x7699,0x76A4,0x74DE,0x74E0,0x752C,0x9E20,0x9E22,
+0x9E28,0x9E29,0x9E2A,0x9E2B,0x9E2C,0x9E32,0x9E31,0x9E36,
+0x9E38,0x9E37,0x9E39,0x9E3A,0x9E3E,0x9E41,0x9E42,0x9E44,
+0x9E46,0x9E47,0x9E48,0x9E49,0x9E4B,0x9E4C,0x9E4E,0x9E51,
+0x9E55,0x9E57,0x9E5A,0x9E5B,0x9E5C,0x9E5E,0x9E63,0x9E66,
+0x9E67,0x9E68,0x9E69,0x9E6A,0x9E6B,0x9E6C,0x9E71,0x9E6D,
+0x9E73,0x7592,0x7594,0x7596,0x75A0,0x759D,0x75AC,0x75A3,
+0x75B3,0x75B4,0x75B8,0x75C4,0x75B1,0x75B0,0x75C3,0x75C2,
+0x75D6,0x75CD,0x75E3,0x75E8,0x75E6,0x75E4,0x75EB,0x75E7,
+0x7603,0x75F1,0x75FC,0x75FF,0x7610,0x7600,0x7605,0x760C,
+0x7617,0x760A,0x7625,0x7618,0x7615,0x7619, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x761B,0x763C,0x7622,0x7620,0x7640,0x762D,0x7630,0x763F,
+0x7635,0x7643,0x763E,0x7633,0x764D,0x765E,0x7654,0x765C,
+0x7656,0x766B,0x766F,0x7FCA,0x7AE6,0x7A78,0x7A79,0x7A80,
+0x7A86,0x7A88,0x7A95,0x7AA6,0x7AA0,0x7AAC,0x7AA8,0x7AAD,
+0x7AB3,0x8864,0x8869,0x8872,0x887D,0x887F,0x8882,0x88A2,
+0x88C6,0x88B7,0x88BC,0x88C9,0x88E2,0x88CE,0x88E3,0x88E5,
+0x88F1,0x891A,0x88FC,0x88E8,0x88FE,0x88F0,0x8921,0x8919,
+0x8913,0x891B,0x890A,0x8934,0x892B,0x8936,0x8941,0x8966,
+0x897B,0x758B,0x80E5,0x76B2,0x76B4,0x77DC,0x8012,0x8014,
+0x8016,0x801C,0x8020,0x8022,0x8025,0x8026,0x8027,0x8029,
+0x8028,0x8031,0x800B,0x8035,0x8043,0x8046,0x804D,0x8052,
+0x8069,0x8071,0x8983,0x9878,0x9880,0x9883, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9889,0x988C,0x988D,0x988F,0x9894,0x989A,0x989B,0x989E,
+0x989F,0x98A1,0x98A2,0x98A5,0x98A6,0x864D,0x8654,0x866C,
+0x866E,0x867F,0x867A,0x867C,0x867B,0x86A8,0x868D,0x868B,
+0x86AC,0x869D,0x86A7,0x86A3,0x86AA,0x8693,0x86A9,0x86B6,
+0x86C4,0x86B5,0x86CE,0x86B0,0x86BA,0x86B1,0x86AF,0x86C9,
+0x86CF,0x86B4,0x86E9,0x86F1,0x86F2,0x86ED,0x86F3,0x86D0,
+0x8713,0x86DE,0x86F4,0x86DF,0x86D8,0x86D1,0x8703,0x8707,
+0x86F8,0x8708,0x870A,0x870D,0x8709,0x8723,0x873B,0x871E,
+0x8725,0x872E,0x871A,0x873E,0x8748,0x8734,0x8731,0x8729,
+0x8737,0x873F,0x8782,0x8722,0x877D,0x877E,0x877B,0x8760,
+0x8770,0x874C,0x876E,0x878B,0x8753,0x8763,0x877C,0x8764,
+0x8759,0x8765,0x8793,0x87AF,0x87A8,0x87D2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x87C6,0x8788,0x8785,0x87AD,0x8797,0x8783,0x87AB,0x87E5,
+0x87AC,0x87B5,0x87B3,0x87CB,0x87D3,0x87BD,0x87D1,0x87C0,
+0x87CA,0x87DB,0x87EA,0x87E0,0x87EE,0x8816,0x8813,0x87FE,
+0x880A,0x881B,0x8821,0x8839,0x883C,0x7F36,0x7F42,0x7F44,
+0x7F45,0x8210,0x7AFA,0x7AFD,0x7B08,0x7B03,0x7B04,0x7B15,
+0x7B0A,0x7B2B,0x7B0F,0x7B47,0x7B38,0x7B2A,0x7B19,0x7B2E,
+0x7B31,0x7B20,0x7B25,0x7B24,0x7B33,0x7B3E,0x7B1E,0x7B58,
+0x7B5A,0x7B45,0x7B75,0x7B4C,0x7B5D,0x7B60,0x7B6E,0x7B7B,
+0x7B62,0x7B72,0x7B71,0x7B90,0x7BA6,0x7BA7,0x7BB8,0x7BAC,
+0x7B9D,0x7BA8,0x7B85,0x7BAA,0x7B9C,0x7BA2,0x7BAB,0x7BB4,
+0x7BD1,0x7BC1,0x7BCC,0x7BDD,0x7BDA,0x7BE5,0x7BE6,0x7BEA,
+0x7C0C,0x7BFE,0x7BFC,0x7C0F,0x7C16,0x7C0B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7C1F,0x7C2A,0x7C26,0x7C38,0x7C41,0x7C40,0x81FE,0x8201,
+0x8202,0x8204,0x81EC,0x8844,0x8221,0x8222,0x8223,0x822D,
+0x822F,0x8228,0x822B,0x8238,0x823B,0x8233,0x8234,0x823E,
+0x8244,0x8249,0x824B,0x824F,0x825A,0x825F,0x8268,0x887E,
+0x8885,0x8888,0x88D8,0x88DF,0x895E,0x7F9D,0x7F9F,0x7FA7,
+0x7FAF,0x7FB0,0x7FB2,0x7C7C,0x6549,0x7C91,0x7C9D,0x7C9C,
+0x7C9E,0x7CA2,0x7CB2,0x7CBC,0x7CBD,0x7CC1,0x7CC7,0x7CCC,
+0x7CCD,0x7CC8,0x7CC5,0x7CD7,0x7CE8,0x826E,0x66A8,0x7FBF,
+0x7FCE,0x7FD5,0x7FE5,0x7FE1,0x7FE6,0x7FE9,0x7FEE,0x7FF3,
+0x7CF8,0x7D77,0x7DA6,0x7DAE,0x7E47,0x7E9B,0x9EB8,0x9EB4,
+0x8D73,0x8D84,0x8D94,0x8D91,0x8DB1,0x8D67,0x8D6D,0x8C47,
+0x8C49,0x914A,0x9150,0x914E,0x914F,0x9164, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9162,0x9161,0x9170,0x9169,0x916F,0x917D,0x917E,0x9172,
+0x9174,0x9179,0x918C,0x9185,0x9190,0x918D,0x9191,0x91A2,
+0x91A3,0x91AA,0x91AD,0x91AE,0x91AF,0x91B5,0x91B4,0x91BA,
+0x8C55,0x9E7E,0x8DB8,0x8DEB,0x8E05,0x8E59,0x8E69,0x8DB5,
+0x8DBF,0x8DBC,0x8DBA,0x8DC4,0x8DD6,0x8DD7,0x8DDA,0x8DDE,
+0x8DCE,0x8DCF,0x8DDB,0x8DC6,0x8DEC,0x8DF7,0x8DF8,0x8DE3,
+0x8DF9,0x8DFB,0x8DE4,0x8E09,0x8DFD,0x8E14,0x8E1D,0x8E1F,
+0x8E2C,0x8E2E,0x8E23,0x8E2F,0x8E3A,0x8E40,0x8E39,0x8E35,
+0x8E3D,0x8E31,0x8E49,0x8E41,0x8E42,0x8E51,0x8E52,0x8E4A,
+0x8E70,0x8E76,0x8E7C,0x8E6F,0x8E74,0x8E85,0x8E8F,0x8E94,
+0x8E90,0x8E9C,0x8E9E,0x8C78,0x8C82,0x8C8A,0x8C85,0x8C98,
+0x8C94,0x659B,0x89D6,0x89DE,0x89DA,0x89DC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x89E5,0x89EB,0x89EF,0x8A3E,0x8B26,0x9753,0x96E9,0x96F3,
+0x96EF,0x9706,0x9701,0x9708,0x970F,0x970E,0x972A,0x972D,
+0x9730,0x973E,0x9F80,0x9F83,0x9F85,0x9F86,0x9F87,0x9F88,
+0x9F89,0x9F8A,0x9F8C,0x9EFE,0x9F0B,0x9F0D,0x96B9,0x96BC,
+0x96BD,0x96CE,0x96D2,0x77BF,0x96E0,0x928E,0x92AE,0x92C8,
+0x933E,0x936A,0x93CA,0x938F,0x943E,0x946B,0x9C7F,0x9C82,
+0x9C85,0x9C86,0x9C87,0x9C88,0x7A23,0x9C8B,0x9C8E,0x9C90,
+0x9C91,0x9C92,0x9C94,0x9C95,0x9C9A,0x9C9B,0x9C9E,0x9C9F,
+0x9CA0,0x9CA1,0x9CA2,0x9CA3,0x9CA5,0x9CA6,0x9CA7,0x9CA8,
+0x9CA9,0x9CAB,0x9CAD,0x9CAE,0x9CB0,0x9CB1,0x9CB2,0x9CB3,
+0x9CB4,0x9CB5,0x9CB6,0x9CB7,0x9CBA,0x9CBB,0x9CBC,0x9CBD,
+0x9CC4,0x9CC5,0x9CC6,0x9CC7,0x9CCA,0x9CCB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9CCC,0x9CCD,0x9CCE,0x9CCF,0x9CD0,0x9CD3,0x9CD4,0x9CD5,
+0x9CD7,0x9CD8,0x9CD9,0x9CDC,0x9CDD,0x9CDF,0x9CE2,0x977C,
+0x9785,0x9791,0x9792,0x9794,0x97AF,0x97AB,0x97A3,0x97B2,
+0x97B4,0x9AB1,0x9AB0,0x9AB7,0x9E58,0x9AB6,0x9ABA,0x9ABC,
+0x9AC1,0x9AC0,0x9AC5,0x9AC2,0x9ACB,0x9ACC,0x9AD1,0x9B45,
+0x9B43,0x9B47,0x9B49,0x9B48,0x9B4D,0x9B51,0x98E8,0x990D,
+0x992E,0x9955,0x9954,0x9ADF,0x9AE1,0x9AE6,0x9AEF,0x9AEB,
+0x9AFB,0x9AED,0x9AF9,0x9B08,0x9B0F,0x9B13,0x9B1F,0x9B23,
+0x9EBD,0x9EBE,0x7E3B,0x9E82,0x9E87,0x9E88,0x9E8B,0x9E92,
+0x93D6,0x9E9D,0x9E9F,0x9EDB,0x9EDC,0x9EDD,0x9EE0,0x9EDF,
+0x9EE2,0x9EE9,0x9EE7,0x9EE5,0x9EEA,0x9EEF,0x9F22,0x9F2C,
+0x9F2F,0x9F39,0x9F37,0x9F3D,0x9F3E,0x9F44};
+
+static int func_gb2312_uni_onechar(int code){
+ if ((code>=0x2121)&&(code<=0x2658))
+ return(tab_gb2312_uni0[code-0x2121]);
+ if ((code>=0x2721)&&(code<=0x296F))
+ return(tab_gb2312_uni1[code-0x2721]);
+ if ((code>=0x3021)&&(code<=0x777E))
+ return(tab_gb2312_uni2[code-0x3021]);
+ return(0);
+}
+
+
+/* page 0 0x00A4-0x01DC */
+static uint16 tab_uni_gb23120[]={
+0x2168, 0, 0,0x216C,0x2127, 0, 0, 0,
+ 0, 0, 0, 0,0x2163,0x2140, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x2141, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x2824,0x2822, 0, 0,
+ 0, 0, 0, 0,0x2828,0x2826,0x283A, 0,
+0x282C,0x282A, 0, 0, 0, 0,0x2830,0x282E,
+ 0, 0, 0,0x2142, 0,0x2834,0x2832, 0,
+0x2839, 0, 0, 0, 0,0x2821, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x2825,
+ 0, 0, 0, 0, 0, 0, 0,0x2827,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x2829,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x282D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x2831,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x2823, 0,0x282B, 0,0x282F, 0,
+0x2833, 0,0x2835, 0,0x2836, 0,0x2837, 0,
+0x2838};
+
+/* page 1 0x02C7-0x0451 */
+static uint16 tab_uni_gb23121[]={
+0x2126, 0,0x2125, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x2621,0x2622,0x2623,0x2624,0x2625,0x2626,
+0x2627,0x2628,0x2629,0x262A,0x262B,0x262C,0x262D,0x262E,
+0x262F,0x2630,0x2631, 0,0x2632,0x2633,0x2634,0x2635,
+0x2636,0x2637,0x2638, 0, 0, 0, 0, 0,
+ 0, 0,0x2641,0x2642,0x2643,0x2644,0x2645,0x2646,
+0x2647,0x2648,0x2649,0x264A,0x264B,0x264C,0x264D,0x264E,
+0x264F,0x2650,0x2651, 0,0x2652,0x2653,0x2654,0x2655,
+0x2656,0x2657,0x2658, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x2727, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x2721,0x2722,0x2723,0x2724,0x2725,0x2726,0x2728,
+0x2729,0x272A,0x272B,0x272C,0x272D,0x272E,0x272F,0x2730,
+0x2731,0x2732,0x2733,0x2734,0x2735,0x2736,0x2737,0x2738,
+0x2739,0x273A,0x273B,0x273C,0x273D,0x273E,0x273F,0x2740,
+0x2741,0x2751,0x2752,0x2753,0x2754,0x2755,0x2756,0x2758,
+0x2759,0x275A,0x275B,0x275C,0x275D,0x275E,0x275F,0x2760,
+0x2761,0x2762,0x2763,0x2764,0x2765,0x2766,0x2767,0x2768,
+0x2769,0x276A,0x276B,0x276C,0x276D,0x276E,0x276F,0x2770,
+0x2771, 0,0x2757};
+
+/* page 2 0x2015-0x2312 */
+static uint16 tab_uni_gb23122[]={
+0x212A,0x212C, 0,0x212E,0x212F, 0, 0,0x2130,
+0x2131, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x212D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x216B, 0,0x2164,0x2165, 0,
+ 0, 0, 0, 0, 0, 0,0x2179, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x2166, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x216D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x2271,0x2272,0x2273,0x2274,0x2275,
+0x2276,0x2277,0x2278,0x2279,0x227A,0x227B,0x227C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x217B,0x217C,0x217A,0x217D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x214A, 0, 0, 0, 0,
+ 0, 0,0x2147, 0,0x2146, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x214C, 0, 0,
+0x2158,0x215E, 0,0x214F, 0, 0, 0, 0,
+0x214E, 0,0x2144,0x2145,0x2149,0x2148,0x2152, 0,
+ 0,0x2153, 0, 0, 0, 0, 0,0x2160,
+0x215F,0x2143,0x214B, 0, 0, 0, 0, 0,
+0x2157, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x2156, 0, 0, 0,0x2155,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x2159,0x2154, 0, 0,0x215C,
+0x215D, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x215A,0x215B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x2151, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x214D, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x2150};
+
+/* page 3 0x2460-0x2642 */
+static uint16 tab_uni_gb23123[]={
+0x2259,0x225A,0x225B,0x225C,0x225D,0x225E,0x225F,0x2260,
+0x2261,0x2262, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x2245,0x2246,0x2247,0x2248,
+0x2249,0x224A,0x224B,0x224C,0x224D,0x224E,0x224F,0x2250,
+0x2251,0x2252,0x2253,0x2254,0x2255,0x2256,0x2257,0x2258,
+0x2231,0x2232,0x2233,0x2234,0x2235,0x2236,0x2237,0x2238,
+0x2239,0x223A,0x223B,0x223C,0x223D,0x223E,0x223F,0x2240,
+0x2241,0x2242,0x2243,0x2244, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x2924,0x2925,0x2926,0x2927,0x2928,0x2929,0x292A,0x292B,
+0x292C,0x292D,0x292E,0x292F,0x2930,0x2931,0x2932,0x2933,
+0x2934,0x2935,0x2936,0x2937,0x2938,0x2939,0x293A,0x293B,
+0x293C,0x293D,0x293E,0x293F,0x2940,0x2941,0x2942,0x2943,
+0x2944,0x2945,0x2946,0x2947,0x2948,0x2949,0x294A,0x294B,
+0x294C,0x294D,0x294E,0x294F,0x2950,0x2951,0x2952,0x2953,
+0x2954,0x2955,0x2956,0x2957,0x2958,0x2959,0x295A,0x295B,
+0x295C,0x295D,0x295E,0x295F,0x2960,0x2961,0x2962,0x2963,
+0x2964,0x2965,0x2966,0x2967,0x2968,0x2969,0x296A,0x296B,
+0x296C,0x296D,0x296E,0x296F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x2176,0x2175, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x2178,0x2177, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x2174,0x2173,
+ 0, 0, 0,0x2170, 0, 0,0x2172,0x2171,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x216F,0x216E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x2162, 0,0x2161};
+
+/* page 4 0x3000-0x3129 */
+static uint16 tab_uni_gb23124[]={
+0x2121,0x2122,0x2123,0x2128, 0,0x2129, 0, 0,
+0x2134,0x2135,0x2136,0x2137,0x2138,0x2139,0x213A,0x213B,
+0x213E,0x213F, 0,0x217E,0x2132,0x2133,0x213C,0x213D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x2421,0x2422,0x2423,0x2424,0x2425,0x2426,0x2427,
+0x2428,0x2429,0x242A,0x242B,0x242C,0x242D,0x242E,0x242F,
+0x2430,0x2431,0x2432,0x2433,0x2434,0x2435,0x2436,0x2437,
+0x2438,0x2439,0x243A,0x243B,0x243C,0x243D,0x243E,0x243F,
+0x2440,0x2441,0x2442,0x2443,0x2444,0x2445,0x2446,0x2447,
+0x2448,0x2449,0x244A,0x244B,0x244C,0x244D,0x244E,0x244F,
+0x2450,0x2451,0x2452,0x2453,0x2454,0x2455,0x2456,0x2457,
+0x2458,0x2459,0x245A,0x245B,0x245C,0x245D,0x245E,0x245F,
+0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,
+0x2468,0x2469,0x246A,0x246B,0x246C,0x246D,0x246E,0x246F,
+0x2470,0x2471,0x2472,0x2473, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x2521,0x2522,0x2523,0x2524,0x2525,0x2526,0x2527,
+0x2528,0x2529,0x252A,0x252B,0x252C,0x252D,0x252E,0x252F,
+0x2530,0x2531,0x2532,0x2533,0x2534,0x2535,0x2536,0x2537,
+0x2538,0x2539,0x253A,0x253B,0x253C,0x253D,0x253E,0x253F,
+0x2540,0x2541,0x2542,0x2543,0x2544,0x2545,0x2546,0x2547,
+0x2548,0x2549,0x254A,0x254B,0x254C,0x254D,0x254E,0x254F,
+0x2550,0x2551,0x2552,0x2553,0x2554,0x2555,0x2556,0x2557,
+0x2558,0x2559,0x255A,0x255B,0x255C,0x255D,0x255E,0x255F,
+0x2560,0x2561,0x2562,0x2563,0x2564,0x2565,0x2566,0x2567,
+0x2568,0x2569,0x256A,0x256B,0x256C,0x256D,0x256E,0x256F,
+0x2570,0x2571,0x2572,0x2573,0x2574,0x2575,0x2576, 0,
+ 0, 0, 0,0x2124, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x2845,0x2846,0x2847,
+0x2848,0x2849,0x284A,0x284B,0x284C,0x284D,0x284E,0x284F,
+0x2850,0x2851,0x2852,0x2853,0x2854,0x2855,0x2856,0x2857,
+0x2858,0x2859,0x285A,0x285B,0x285C,0x285D,0x285E,0x285F,
+0x2860,0x2861,0x2862,0x2863,0x2864,0x2865,0x2866,0x2867,
+0x2868,0x2869};
+
+/* page 5 0x3220-0x3229 */
+static uint16 tab_uni_gb23125[]={
+0x2265,0x2266,0x2267,0x2268,0x2269,0x226A,0x226B,0x226C,
+0x226D,0x226E};
+
+/* page 6 0x4E00-0x9B54 */
+static uint16 tab_uni_gb23126[]={
+0x523B,0x3621, 0,0x465F, 0, 0, 0,0x4D72,
+0x5549,0x487D,0x494F,0x4F42,0x5822,0x323B,0x536B, 0,
+0x5824,0x3373, 0,0x5728,0x4752,0x5827,0x4A40, 0,
+0x4770,0x317B,0x5235,0x3454,0x362B,0x4B3F,0x5829, 0,
+ 0, 0,0x362A, 0,0x413D,0x514F, 0,0x4925,
+0x582D, 0,0x3876,0x513E,0x635C,0x5650, 0, 0,
+0x3761, 0,0x342E, 0,0x4159, 0,0x583C, 0,
+0x4D68,0x3524,0x4E2A,0x5677, 0,0x4076,0x3E59,0x582F,
+ 0, 0, 0,0x444B, 0,0x3E43, 0,0x5831,
+0x4334,0x5265, 0,0x562E,0x4E5A,0x5527,0x3A75,0x3726,
+0x4056, 0,0x4639,0x4552,0x4747, 0,0x3954, 0,
+0x334B,0x5252, 0, 0,0x583F,0x3E45,0x4672,0x5232,
+0x4F30,0x4F67, 0, 0, 0, 0,0x4A69, 0,
+ 0,0x5840, 0, 0, 0, 0, 0, 0,
+0x4272,0x4252, 0,0x4869, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x472C, 0,
+ 0, 0, 0, 0, 0, 0,0x414B, 0,
+0x5368,0x5579, 0,0x4A42,0x367E,0x5821,0x535A,0x3F77,
+ 0,0x5446,0x3B25,0x5841,0x4E65,0x3E2E, 0, 0,
+0x5828, 0,0x5147,0x5029, 0, 0, 0,0x583D,
+0x596F,0x4D76,0x3F3A, 0,0x3D3B,0x3A25,0x5260,0x327A,
+0x3A60,0x4436, 0,0x4F6D,0x3E29,0x4D24,0x4141, 0,
+ 0, 0,0x4757,0x5971, 0,0x5974, 0, 0,
+ 0, 0,0x484B,0x5869, 0, 0, 0,0x525A,
+0x4A32,0x484A,0x586C,0x586A,0x5846,0x3D76,0x464D,0x3370,
+ 0,0x586B,0x3D71,0x3D69, 0,0x4854,0x3453, 0,
+ 0,0x4258, 0,0x3256,0x5750,0x4A4B,0x4B7B,0x554C,
+0x3836,0x4F49, 0, 0, 0,0x595A,0x5870,0x472A,
+ 0,0x586E, 0,0x347A,0x416E,0x5254, 0, 0,
+0x586D, 0,0x5247,0x586F,0x4347, 0, 0, 0,
+0x5176, 0,0x5659,0x5872, 0,0x5875,0x3C7E,0x3C5B,
+ 0, 0, 0,0x484E, 0,0x375D, 0,0x3742,
+ 0,0x4673, 0, 0, 0, 0, 0, 0,
+ 0,0x5878,0x5241, 0, 0,0x4E69,0x3C3F,0x377C,
+0x3725,0x505D, 0, 0, 0, 0, 0,0x565A,
+0x5345,0x3B6F,0x3B61,0x5871, 0, 0,0x4921,0x4E30,
+0x342B, 0,0x5873, 0,0x494B,0x5876,0x4257,0x5877,
+ 0, 0,0x4E31,0x5879, 0, 0, 0,0x322E,
+0x3940, 0,0x5923, 0,0x3069, 0,0x4166, 0,
+0x496C, 0,0x4B45, 0,0x4B46,0x5924, 0, 0,
+ 0, 0, 0,0x3568, 0, 0,0x352B, 0,
+ 0, 0, 0, 0, 0,0x4E3B,0x354D,0x5721,
+0x5774,0x5353, 0,0x4C65, 0,0x3A4E, 0,0x5922,
+0x595C,0x5360,0x587D,0x3770,0x5777,0x587E,0x587A,0x5921,
+0x4463, 0, 0,0x5336,0x5874,0x595D, 0,0x587B,
+ 0,0x4565, 0, 0,0x4050, 0, 0,0x5170,
+0x305B, 0, 0,0x3C51,0x5926, 0,0x5925, 0,
+ 0, 0, 0,0x592C,0x592E, 0,0x592B,0x4A39,
+ 0, 0, 0,0x5929,0x5636, 0, 0, 0,
+0x335E,0x5928, 0,0x407D, 0,0x4A4C, 0,0x592A,
+ 0,0x5927, 0, 0,0x5930, 0, 0,0x3631,
+ 0, 0, 0,0x3929, 0,0x5240, 0, 0,
+0x4F40, 0, 0,0x4242, 0,0x3D44,0x556C,0x3260,
+0x4748,0x3F6B,0x592D, 0,0x592F, 0,0x4E6A,0x3A6E,
+ 0, 0, 0, 0, 0,0x4756, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3163,
+ 0, 0, 0,0x3459,0x366D,0x5934, 0, 0,
+ 0, 0,0x3F21, 0, 0, 0,0x595E,0x474E,
+0x407E,0x5938, 0, 0, 0, 0, 0,0x4B57,
+0x377D, 0,0x5935, 0,0x5937,0x3123,0x5361,0x5939,
+ 0,0x5045, 0,0x5936, 0, 0,0x5931, 0,
+0x5932,0x4129,0x5933, 0, 0,0x3C73,0x505E,0x3829,
+ 0,0x3E63, 0,0x593D, 0, 0, 0, 0,
+0x593A, 0,0x3033, 0, 0, 0,0x5942, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5944,0x3136, 0,0x593F,
+ 0, 0,0x3539, 0,0x3E73, 0, 0, 0,
+0x4C48,0x3A72,0x5250, 0,0x5943, 0, 0,0x3D68,
+ 0,0x332B, 0, 0, 0,0x5945,0x3E6B, 0,
+0x5946,0x593B,0x445F, 0,0x593E,0x5941,0x5940, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x552E, 0,0x5635, 0,0x4763, 0,
+ 0, 0, 0,0x5948, 0, 0, 0,0x3C59,
+0x594A, 0, 0, 0,0x593C, 0,0x594B,0x462B,
+ 0, 0, 0, 0, 0,0x5949, 0, 0,
+ 0, 0,0x5776, 0,0x4D23, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3D21, 0, 0,
+ 0, 0, 0, 0,0x594C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x453C,0x4D35,
+ 0, 0, 0,0x594D, 0, 0,0x5947,0x3325,
+0x3F7E, 0, 0, 0, 0,0x3835, 0, 0,
+0x407C, 0, 0, 0, 0,0x3078, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3476, 0,0x594E, 0,0x594F,
+0x3422,0x5950, 0, 0,0x345F, 0, 0, 0,
+ 0, 0,0x3041, 0, 0, 0, 0, 0,
+ 0, 0,0x5951,0x4935, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4F71,
+ 0, 0, 0, 0, 0, 0,0x5952, 0,
+ 0, 0,0x4145, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5956,0x492E,
+ 0, 0, 0, 0,0x5955,0x5954,0x5957, 0,
+ 0, 0, 0,0x4B5B, 0,0x3D29, 0, 0,
+ 0, 0, 0,0x4627, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5953,0x5958,
+ 0, 0, 0,0x5959, 0, 0, 0, 0,
+ 0, 0,0x4865, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x405C, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3679,
+0x5823,0x544A, 0,0x542A,0x5056,0x3364,0x5557, 0,
+0x4F48,0x3962, 0,0x3F4B, 0,0x4362, 0, 0,
+ 0,0x3652, 0, 0,0x4D43,0x596E,0x5970, 0,
+ 0, 0,0x3533, 0,0x3635, 0, 0, 0,
+ 0, 0,0x3E24, 0, 0,0x486B, 0, 0,
+0x482B, 0, 0,0x304B,0x392B,0x4179,0x5962, 0,
+0x403C,0x3932, 0,0x3958,0x504B,0x3178,0x4664,0x3E5F,
+0x3564,0x5748, 0,0x5178,0x3C66,0x4A5E, 0, 0,
+0x3C3D,0x5966,0x5867, 0, 0,0x445A, 0, 0,
+0x3854,0x483D, 0, 0,0x3261,0x5459, 0, 0,
+ 0, 0,0x4330, 0, 0,0x4361,0x5A22,0x485F,
+ 0,0x5034, 0,0x3E7C,0x4529, 0, 0, 0,
+0x395A, 0,0x5A23, 0,0x5429,0x5A24, 0, 0,
+ 0, 0, 0,0x597B,0x362C, 0, 0,0x376B,
+0x3179,0x597C,0x3365,0x3E76, 0,0x3F76,0x5231,0x4064,
+ 0, 0, 0,0x3633,0x597E,0x597D, 0, 0,
+0x3E3B, 0, 0, 0,0x4660, 0,0x573C,0x5A21,
+ 0,0x4139, 0,0x3572,0x4168, 0, 0,0x3C75,
+ 0,0x3455, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x415D, 0,0x447D, 0, 0,
+0x3C38,0x3732, 0, 0,0x376F, 0, 0, 0,
+ 0, 0, 0,0x596C, 0,0x463E, 0,0x3F2D,
+0x3B4B, 0, 0,0x354A, 0,0x5B49,0x5057, 0,
+0x4D39,0x303C,0x3376,0x3B77,0x5B4A,0x3A2F, 0,0x5464,
+0x3536,0x3573,0x5856,0x4850, 0, 0,0x3756,0x4750,
+0x5857, 0,0x3F2F, 0, 0,0x5B3B,0x5858, 0,
+ 0,0x504C,0x3B2E, 0, 0, 0,0x6B3E,0x4150,
+0x4175,0x5472,0x3855,0x3434, 0,0x3375, 0, 0,
+0x493E, 0, 0, 0,0x4550, 0, 0, 0,
+0x4559,0x407B, 0,0x3170, 0,0x5859,0x394E, 0,
+0x353D, 0, 0,0x585A, 0, 0,0x5646,0x4B22,
+0x482F,0x4932,0x344C,0x3F4C, 0,0x3974, 0,0x585B,
+0x585C,0x3667,0x3C41,0x4C6A, 0, 0, 0, 0,
+ 0, 0,0x4F77, 0,0x585D,0x4730, 0, 0,
+0x3950,0x3D23, 0, 0,0x4C5E, 0,0x464A, 0,
+ 0, 0, 0, 0,0x5860, 0,0x585E, 0,
+ 0,0x585F, 0, 0, 0,0x307E, 0,0x3E67,
+ 0,0x4A23,0x3C74, 0, 0, 0, 0,0x3831,
+ 0, 0,0x386E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5862, 0,0x3D4B,
+ 0,0x5864,0x5863, 0, 0, 0, 0, 0,
+0x457C, 0, 0, 0, 0, 0, 0, 0,
+0x5865, 0, 0,0x5866, 0, 0, 0, 0,
+ 0, 0, 0,0x4126, 0,0x4830,0x306C,0x3926,
+0x3C53,0x4E71,0x5B3D,0x4153, 0, 0, 0, 0,
+0x362F,0x567A,0x452C,0x3D59,0x5B3E,0x5B3F, 0, 0,
+ 0,0x4078,0x3E22,0x404D, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5B40,0x4A46,
+ 0, 0, 0,0x322A, 0, 0, 0,0x5342,
+ 0,0x4363, 0,0x512B, 0, 0, 0, 0,
+0x5B42, 0,0x4055, 0, 0, 0,0x5B43, 0,
+0x3F31, 0, 0, 0, 0, 0, 0,0x443C,
+ 0, 0, 0, 0,0x475A, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5B44, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5968,0x4957, 0, 0, 0,0x3934,0x4E70,
+0x5448, 0, 0, 0, 0,0x307C,0x3452, 0,
+0x5059, 0, 0, 0, 0,0x5969, 0,0x5E4B,
+0x596B, 0, 0, 0, 0,0x5830,0x3B2F,0x3131,
+ 0,0x3357,0x584E, 0, 0,0x5451, 0, 0,
+0x3D33,0x3F6F, 0,0x4F3B, 0, 0,0x5850, 0,
+ 0, 0,0x374B, 0, 0, 0,0x5851, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4625,0x4778,0x523D, 0, 0,0x5852,0x4464,
+ 0,0x4A2E, 0,0x4727, 0,0x5826, 0,0x497D,
+0x4E67,0x3B5C,0x306B, 0, 0, 0,0x3B2A,0x502D,
+ 0,0x3130,0x5764,0x573F, 0,0x3525,0x4274,0x444F,
+ 0, 0,0x3229, 0,0x3237, 0,0x3165,0x5F32,
+0x553C,0x3F28,0x422C,0x5855,0x4231, 0,0x5854,0x4E54,
+ 0,0x5A60, 0,0x4E40, 0, 0,0x5834,0x432E,
+0x5321,0x4E23, 0,0x3C34,0x4834,0x4251, 0,0x3E6D,
+0x5036, 0,0x5A61, 0, 0, 0, 0,0x4764,
+ 0, 0,0x3327, 0,0x3672,0x4C7C,0x407A, 0,
+ 0,0x4077, 0,0x5139,0x5161,0x5847, 0, 0,
+ 0, 0, 0, 0, 0,0x325E, 0, 0,
+0x4065, 0,0x3A71, 0, 0,0x5848, 0,0x542D,
+ 0, 0,0x4F61,0x5849, 0,0x584A,0x4F43, 0,
+0x3378,0x3E47, 0, 0, 0, 0,0x584B, 0,
+ 0, 0, 0, 0, 0, 0,0x5B4C, 0,
+ 0, 0, 0,0x4825, 0, 0, 0,0x4F58,
+ 0,0x487E,0x324E, 0, 0, 0, 0, 0,
+0x5356,0x3266,0x3C30,0x5351,0x4B2B,0x3734, 0, 0,
+ 0,0x3722, 0, 0,0x4A65, 0,0x4821,0x4A5C,
+0x3164,0x5070, 0,0x4551, 0, 0, 0,0x5B45,
+0x357E, 0, 0,0x3F5A,0x3945,0x3E64,0x416D, 0,
+0x5F36,0x5F35,0x563B,0x3D50,0x5559,0x3048,0x3623,0x3F49,
+0x4C28,0x5F33,0x4A37,0x5352, 0,0x584F,0x5236,0x3A45,
+0x4B3E,0x4C3E, 0,0x5F37,0x3570,0x5F34, 0, 0,
+ 0,0x5375, 0,0x3354,0x3877, 0,0x5F3A, 0,
+0x3A4F,0x3C2A,0x3575, 0,0x4D2C,0x437B,0x3A73,0x4074,
+0x4D42,0x4F72,0x5F38,0x4F45, 0,0x4240,0x5F39,0x4270,
+ 0, 0, 0,0x3E7D, 0,0x415F,0x4D4C,0x5277,
+0x374D,0x5F41, 0,0x5F44, 0, 0,0x3771,0x3049,
+0x3656,0x3754, 0,0x3A2C,0x4C7D,0x3F54,0x4B31,0x4674,
+ 0,0x5628,0x5F45, 0,0x4E62,0x3333, 0, 0,
+0x4E7C,0x3435, 0,0x4E47,0x3A70, 0,0x4E61, 0,
+0x513D, 0, 0,0x5F40, 0, 0,0x3474, 0,
+0x334A, 0,0x3866,0x5F3B, 0, 0, 0, 0,
+0x4445, 0,0x5F3C,0x5F3D,0x5F3E,0x453B,0x5F3F,0x5F42,
+0x5431,0x5F43, 0,0x473A,0x4E58, 0, 0, 0,
+ 0, 0,0x4458, 0,0x5F4A, 0,0x5F4F, 0,
+0x565C, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5F49,0x5F5A,0x4E36, 0,0x3A47,0x5F4E,0x5F48,
+0x455E, 0, 0,0x496B,0x3A74,0x437C, 0, 0,
+0x3E57, 0,0x5F46, 0,0x5F4D, 0,0x4558, 0,
+ 0, 0, 0,0x5526,0x3A4D, 0,0x3E4C,0x533D,
+0x3840, 0,0x5664, 0,0x5F47,0x393E,0x3F27, 0,
+ 0,0x417C,0x5F4B,0x5F4C, 0,0x5F50, 0, 0,
+ 0, 0, 0,0x5F5B,0x5F65, 0,0x5F57,0x5F56,
+0x5749,0x5F63,0x5F64,0x656B,0x5227,0x5F52, 0,0x3F29,
+ 0,0x545B, 0,0x3F48,0x5F54, 0, 0, 0,
+0x4F4C, 0, 0,0x5F5D, 0,0x514A, 0,0x5F5E,
+0x3027,0x4637,0x5F53, 0,0x3A65, 0,0x365F,0x4D5B,
+0x397E,0x5455, 0, 0,0x5F5F,0x4F6C,0x3025,0x5F67,
+0x5F51,0x5146,0x5F55,0x5F58,0x5F59,0x5F5C, 0,0x3B29,
+ 0,0x5F60,0x5F61, 0,0x5F62,0x5F66,0x5F68,0x5334,
+ 0, 0, 0, 0, 0,0x3867,0x4536,0x5F6A,
+0x495A,0x4128,0x4444, 0, 0,0x3F5E,0x4F78, 0,
+ 0, 0,0x555C,0x5F6E, 0, 0, 0, 0,
+ 0, 0,0x3238, 0,0x3A5F,0x5F6C, 0,0x5B41,
+ 0,0x5164, 0, 0, 0, 0,0x4B74,0x343D,
+ 0,0x3026, 0, 0, 0, 0, 0,0x5F71,
+0x4C46,0x5F72, 0, 0,0x5F6D, 0, 0, 0,
+ 0, 0, 0,0x5F69, 0, 0, 0, 0,
+0x5F6B, 0,0x5F6F,0x5F70,0x3B3D, 0, 0,0x5F73,
+ 0, 0,0x5F74, 0,0x3B23, 0,0x4A5B,0x4E28,
+0x6027,0x332A, 0,0x6026, 0, 0, 0,0x6021,
+ 0, 0, 0, 0,0x5F7E, 0,0x4D59,0x5F7C,
+ 0,0x5F7A, 0,0x3F50,0x5744, 0,0x494C, 0,
+ 0,0x5F78,0x3021, 0, 0, 0, 0, 0,
+0x5F7D, 0, 0, 0, 0,0x5F7B,0x6022, 0,
+ 0, 0, 0, 0,0x6028, 0, 0, 0,
+ 0,0x3748, 0, 0,0x4621,0x4936,0x4032,0x5F75,
+ 0, 0,0x453E, 0,0x5844,0x5F79,0x4476, 0,
+ 0, 0, 0, 0, 0,0x6023,0x6024,0x6025,
+0x5025, 0, 0,0x6034,0x4C64, 0,0x6031, 0,
+0x3F26,0x602F,0x4E39,0x602B,0x4946, 0, 0,0x402E,
+0x602E,0x3A6D,0x3A30,0x6029, 0, 0, 0,0x5F76,
+ 0,0x6033, 0, 0,0x6038, 0, 0, 0,
+0x342D,0x6039, 0, 0,0x4F32,0x3A48, 0,0x6030,
+ 0, 0, 0, 0, 0, 0, 0,0x507A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x602C, 0,0x547B, 0,0x5F77, 0,0x4567,
+ 0,0x602D, 0,0x5377, 0,0x6036,0x6037, 0,
+ 0, 0, 0, 0,0x6044,0x5061, 0, 0,
+ 0,0x603C, 0, 0,0x6049,0x604A, 0, 0,
+ 0,0x603E,0x602A,0x4924,0x6041, 0,0x6032, 0,
+ 0, 0, 0, 0,0x4A48,0x6043, 0,0x6035,
+ 0,0x4E4B, 0,0x4B43,0x604D,0x6046,0x6042, 0,
+0x604B, 0,0x603A,0x603F,0x6040, 0, 0,0x6045,
+ 0, 0,0x6047,0x6048, 0,0x604C, 0,0x603B,
+ 0, 0, 0, 0, 0,0x4B54,0x6055, 0,
+0x6056,0x6052, 0, 0, 0, 0, 0, 0,
+0x6050,0x3C4E, 0, 0,0x6051, 0,0x3842,0x5845,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x506A, 0, 0,0x426F, 0, 0,0x604F,0x603D,
+ 0, 0, 0,0x6054,0x6053, 0, 0,0x6057,
+ 0, 0, 0, 0,0x605C,0x6058, 0, 0,
+ 0,0x5676,0x3330, 0,0x576C, 0,0x4B3B, 0,
+ 0,0x605A, 0,0x4E7B, 0, 0, 0,0x3A59,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6061,0x605D,0x522D, 0,
+ 0, 0, 0, 0,0x6062, 0, 0,0x605B,
+0x6059,0x605F, 0, 0,0x6060, 0, 0, 0,
+ 0, 0,0x605E, 0,0x6064, 0, 0, 0,
+0x4677,0x582C,0x546B,0x6066,0x4A49, 0, 0, 0,
+ 0,0x6065, 0, 0, 0, 0,0x3841, 0,
+ 0, 0, 0,0x6067,0x6068, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6069,0x6063, 0,
+ 0, 0, 0, 0, 0, 0,0x3A3F,0x4C67,
+ 0, 0, 0,0x606A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4F79, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x606B,
+ 0, 0, 0, 0, 0, 0, 0,0x4842,
+ 0, 0, 0, 0,0x3D40, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4452, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x606C, 0, 0,0x606D,
+ 0, 0,0x4774,0x4B44, 0,0x606E,0x3B58,0x5836,
+0x5272,0x606F,0x4D45, 0,0x365A, 0, 0, 0,
+ 0, 0, 0,0x6071, 0,0x5430, 0, 0,
+0x4027,0x3451, 0, 0,0x4E27,0x6070, 0, 0,
+ 0,0x6072,0x394C, 0, 0,0x397A,0x4D3C,0x6073,
+ 0, 0, 0,0x4654,0x6074, 0,0x5432, 0,
+0x4826,0x6076,0x6075, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6077, 0, 0,0x4D41,
+ 0, 0, 0,0x4A25, 0, 0, 0, 0,
+0x545A,0x5B57,0x5B59, 0,0x5B58,0x3967,0x5B5C,0x5B5D,
+0x3558, 0, 0,0x5B5A, 0, 0, 0, 0,
+ 0,0x5B5B,0x3321,0x5B5F, 0, 0,0x3B78, 0,
+0x5637, 0,0x5B60, 0, 0, 0, 0,0x3E79,
+ 0, 0,0x373B, 0,0x5B50,0x4C2E,0x3F32,0x3B35,
+0x5778,0x3F53, 0, 0, 0, 0, 0,0x3F69,
+ 0, 0,0x3C61,0x4C33,0x5B5E,0x3053,0x4E6B,0x3758,
+0x5739,0x4642, 0, 0,0x4024, 0,0x4C39, 0,
+0x5B67,0x5B61,0x463A,0x5B63, 0,0x5B68, 0,0x4577,
+ 0, 0, 0,0x5B6A, 0, 0,0x5B69,0x3F40,
+ 0, 0, 0,0x5B66,0x5B65, 0, 0, 0,
+ 0, 0,0x3439,0x402C,0x4222,0x5B62,0x5B64, 0,
+ 0, 0, 0,0x504D,0x5B6D, 0, 0, 0,
+ 0, 0,0x405D,0x5B72, 0, 0, 0, 0,
+ 0, 0, 0,0x3662, 0, 0, 0, 0,
+0x5B73,0x5B52,0x3938,0x542B,0x5B6C, 0,0x3F51,0x5B70,
+ 0,0x5B51, 0,0x3566, 0,0x5B6B,0x3F65, 0,
+ 0, 0,0x5B6E, 0,0x5B71, 0, 0, 0,
+0x5B79, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3921,0x3023, 0, 0, 0, 0,
+ 0, 0, 0,0x4271, 0, 0,0x3347,0x5B6F,
+ 0, 0,0x5B78, 0,0x4652,0x5B74, 0, 0,
+0x5B75,0x5B77,0x5B76, 0, 0,0x5B7E, 0,0x5372,
+0x323A, 0, 0, 0,0x5B7D, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5C24, 0,0x5B7B,
+ 0, 0, 0, 0,0x5B7A, 0, 0, 0,
+0x5B7C,0x4560,0x3B79, 0, 0,0x5C23, 0, 0,
+0x5C25, 0,0x4C43, 0, 0, 0,0x3651,0x5D40,
+ 0, 0, 0,0x5C21, 0,0x5C22, 0, 0,
+ 0,0x4735, 0, 0, 0,0x3669, 0, 0,
+ 0,0x5C27, 0, 0, 0, 0,0x5C26, 0,
+0x5C29,0x3124, 0, 0,0x354C, 0, 0, 0,
+ 0, 0,0x3F30, 0, 0, 0, 0, 0,
+0x515F, 0, 0, 0, 0,0x3642, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5C28, 0, 0, 0,
+ 0, 0, 0, 0,0x4B7A,0x6B73, 0, 0,
+ 0,0x4B5C, 0, 0,0x4B7E, 0, 0, 0,
+0x4C41, 0, 0, 0, 0, 0,0x487B, 0,
+ 0, 0, 0, 0, 0,0x5C2A, 0, 0,
+ 0, 0, 0,0x4C6E,0x5C2B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5B53, 0,
+0x5C2F,0x5C2C, 0,0x3E33, 0,0x4A7B, 0, 0,
+ 0,0x5C2D, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x494A,0x4439, 0, 0, 0, 0,
+ 0,0x473D,0x5C2E, 0, 0, 0,0x5476,0x5066,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x442B,0x3655, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5B54, 0, 0, 0,
+ 0,0x315A, 0, 0, 0,0x5B55, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5B56, 0, 0, 0,0x3A3E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4840, 0, 0, 0,
+ 0, 0, 0,0x4A3F,0x4849, 0,0x5733, 0,
+0x4979, 0, 0,0x3F47, 0, 0,0x3A78, 0,
+ 0,0x523C, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x623A, 0,0x3426, 0, 0,0x3138,
+ 0, 0, 0, 0, 0,0x3834, 0,0x4F44,
+ 0, 0, 0, 0,0x5967,0x4F26,0x4D62, 0,
+ 0,0x596D,0x3660, 0,0x5239, 0, 0,0x393B,
+ 0, 0, 0, 0,0x6239,0x6237, 0,0x3473,
+ 0,0x4C6C,0x4C2B,0x3772, 0,0x5832,0x516B,0x3A3B,
+ 0,0x4A27, 0, 0,0x4D37, 0, 0,0x5244,
+0x3F64,0x3C50,0x3661, 0,0x5E45, 0, 0, 0,
+ 0,0x5E46,0x5B3C, 0,0x5159, 0, 0,0x4666,
+0x444E,0x376E, 0,0x375C, 0, 0,0x3F7C,0x5760,
+ 0,0x4675, 0, 0,0x313C,0x5E48,0x3D31,0x4C57,
+0x5E4A, 0,0x5E49, 0, 0, 0, 0, 0,
+0x356C, 0,0x495D, 0, 0,0x3042, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x452E,0x452B, 0,0x444C, 0,
+0x3C69,0x4B7D, 0, 0, 0,0x3A43, 0, 0,
+ 0,0x6579,0x4867,0x657A,0x4D7D, 0,0x5731,0x383E,
+0x4268, 0,0x4851, 0, 0,0x657B, 0, 0,
+ 0, 0,0x364A,0x3C4B, 0, 0,0x517D,0x6621,
+ 0,0x436E, 0, 0, 0, 0,0x6624, 0,
+ 0, 0, 0,0x657E,0x6625,0x4D57, 0, 0,
+0x3741,0x657C,0x657D,0x6623, 0, 0,0x445D,0x6628,
+ 0, 0,0x6627, 0, 0, 0, 0, 0,
+ 0,0x4343, 0,0x465E, 0, 0,0x662A, 0,
+ 0, 0, 0, 0, 0, 0,0x4437, 0,
+ 0, 0,0x6622,0x4A3C, 0, 0, 0, 0,
+0x3D63,0x3943,0x6626,0x5055,0x4E2F, 0, 0,0x6629,
+0x6630, 0,0x5226, 0,0x3D2A,0x662D, 0, 0,
+ 0, 0, 0,0x662F, 0,0x4051, 0, 0,
+0x524C, 0, 0, 0,0x3C27, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6631, 0,0x5276, 0, 0, 0,0x574B,
+ 0,0x4D7E, 0,0x4D5E,0x4226,0x662B,0x662C,0x3D3F,
+0x662E,0x6633, 0, 0,0x6632, 0, 0, 0,
+ 0,0x6636, 0,0x6638, 0, 0, 0, 0,
+0x446F, 0, 0, 0,0x4448, 0, 0,0x3E6A,
+0x496F, 0, 0,0x6637, 0,0x3670, 0, 0,
+ 0,0x4364, 0, 0, 0, 0, 0, 0,
+ 0,0x5369,0x6634, 0,0x6635, 0,0x4822, 0,
+ 0, 0, 0, 0,0x663D, 0, 0, 0,
+0x6639, 0, 0, 0, 0, 0,0x4645, 0,
+ 0,0x4D71,0x663B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x663C, 0, 0,
+ 0, 0,0x3B69, 0, 0, 0, 0, 0,
+ 0, 0,0x663E, 0, 0, 0, 0,0x663A,
+ 0, 0,0x4037, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5324,0x663F,0x4974,0x6643,
+ 0, 0,0x6644, 0, 0, 0, 0,0x5076,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x433D, 0, 0, 0, 0, 0,
+ 0, 0,0x4344,0x6642, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6641, 0, 0, 0, 0, 0,
+ 0, 0,0x6647,0x4F31, 0,0x6B74, 0, 0,
+0x664A, 0, 0, 0, 0, 0,0x6645, 0,
+ 0,0x3C5E,0x4929, 0, 0, 0, 0, 0,
+ 0,0x3C35, 0, 0,0x4F53, 0, 0, 0,
+ 0, 0,0x6648, 0,0x6649, 0,0x664E, 0,
+0x6650, 0, 0, 0,0x6651, 0, 0, 0,
+0x664B,0x3555, 0,0x664C, 0, 0,0x664F, 0,
+ 0,0x445B, 0,0x6646, 0, 0, 0, 0,
+ 0,0x664D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6652, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6654,0x6653,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6655, 0,0x5978, 0, 0,0x6656,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6657, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5753,0x665D, 0,0x665E,0x3F57,0x5450, 0,0x5756,
+0x3466,0x4B6F,0x665A,0x5843,0x574E,0x5022, 0,0x434F,
+ 0, 0,0x665F,0x3C3E,0x3942,0x665B,0x5127, 0,
+ 0,0x3A22,0x424F, 0,0x582B, 0, 0, 0,
+0x4A6B,0x656E, 0,0x665C, 0,0x3775, 0, 0,
+ 0, 0,0x4866, 0, 0,0x4475, 0, 0,
+0x6532,0x447E, 0,0x4B7C,0x6533,0x552C, 0,0x536E,
+0x4A58,0x3032, 0,0x4B4E,0x4D6A, 0, 0,0x3A6A,
+ 0, 0, 0,0x6535, 0,0x6534, 0,0x575A,
+0x3959,0x5666,0x3628,0x4D70,0x524B,0x3126,0x4A35, 0,
+0x3368,0x4973,0x3F4D,0x507B,0x4A52,0x6536,0x3B42, 0,
+ 0, 0,0x4F5C,0x392C, 0, 0, 0, 0,
+0x5457, 0, 0,0x3A26,0x5167,0x4F7C,0x3C52, 0,
+0x6537,0x485D, 0, 0, 0,0x3F6D,0x3176,0x4B5E,
+ 0, 0,0x3C45, 0,0x3C44,0x527A,0x435C,0x3F5C,
+ 0, 0, 0, 0,0x383B, 0, 0, 0,
+0x4342, 0,0x3A2E,0x5422, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x475E,0x442F,0x326C,
+ 0,0x3951, 0, 0,0x653B,0x4148, 0, 0,
+0x552F, 0, 0, 0, 0, 0,0x653C, 0,
+0x653E, 0, 0, 0, 0, 0, 0, 0,
+0x3467,0x3654,0x4B42,0x5130,0x353C, 0, 0,0x4A59,
+ 0,0x3762, 0, 0,0x4964, 0,0x3D2B, 0,
+ 0,0x4E3E,0x5770, 0, 0, 0, 0,0x5021,
+ 0,0x4959, 0, 0,0x367B,0x6658,0x3C62, 0,
+0x333E, 0,0x4950, 0,0x6659,0x3322, 0, 0,
+ 0, 0,0x5E4C, 0,0x5348,0x5E4D, 0,0x5222,
+ 0, 0, 0, 0,0x5E4E, 0, 0, 0,
+ 0,0x3E4D, 0, 0,0x5E4F, 0, 0, 0,
+0x4A2C,0x527C,0x335F,0x656A,0x4461,0x3E21,0x4E32,0x4472,
+0x3E56,0x4628,0x3263, 0, 0,0x3E53, 0, 0,
+0x477C,0x4C6B,0x3D6C,0x4E5D, 0, 0,0x4A3A,0x4641,
+0x656C,0x503C, 0, 0, 0,0x5539, 0, 0,
+ 0,0x656D, 0, 0, 0, 0,0x4A74, 0,
+0x4D40,0x4245, 0,0x656F, 0,0x4244,0x6570, 0,
+ 0, 0, 0, 0, 0, 0,0x6578,0x4D4D,
+ 0,0x493D, 0, 0, 0, 0, 0, 0,
+ 0,0x5259,0x6128, 0, 0, 0, 0,0x536C,
+ 0,0x4B6A,0x4671, 0, 0, 0, 0, 0,
+0x612C, 0, 0, 0,0x6127,0x6129, 0, 0,
+0x612A,0x612F, 0, 0,0x326D, 0,0x612B,0x385A,
+0x612D,0x612E,0x6130,0x353A,0x6131, 0, 0, 0,
+ 0, 0,0x6133,0x6138, 0, 0, 0, 0,
+ 0,0x5152, 0,0x6136,0x6135,0x416B, 0, 0,
+ 0,0x6137, 0,0x5440, 0,0x6132, 0,0x613A,
+0x3036, 0, 0, 0, 0,0x6134, 0,0x3F79,
+ 0,0x6139, 0, 0,0x613B, 0, 0, 0,
+ 0, 0, 0,0x613E, 0, 0, 0, 0,
+ 0, 0,0x613C, 0, 0, 0, 0, 0,
+ 0,0x5645, 0, 0, 0, 0, 0, 0,
+ 0,0x4F3F, 0, 0,0x613D,0x613F,0x424D, 0,
+0x366B, 0,0x5378, 0, 0,0x474D, 0, 0,
+0x3765, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3E7E, 0, 0, 0, 0,
+ 0, 0,0x6140,0x6141, 0, 0,0x6147,0x3367,
+ 0, 0, 0, 0, 0, 0,0x4669, 0,
+ 0, 0, 0, 0,0x345E, 0,0x5142, 0,
+ 0, 0, 0,0x6148, 0, 0,0x6146, 0,
+ 0, 0, 0, 0,0x6145, 0,0x6143,0x6142,
+ 0,0x3140, 0, 0, 0,0x5538,0x6144, 0,
+ 0, 0, 0, 0,0x614B, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x614C,0x614A, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6F7A,
+ 0, 0,0x6153,0x6152,0x4736, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6149, 0, 0,0x614E, 0,0x6150, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6154, 0,0x6151,0x614D, 0, 0,0x614F,
+ 0, 0, 0, 0,0x6155, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6156, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6157, 0, 0, 0,0x6158, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x615A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x615B, 0, 0,
+ 0, 0, 0, 0, 0,0x4E21, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x675D, 0,0x3428,0x565D, 0,
+ 0,0x5132,0x3332, 0, 0,0x3924,0x5773,0x4749,
+0x3E5E,0x392E, 0,0x4E57, 0, 0,0x326E,0x5B4F,
+ 0,0x3C3A,0x5251,0x4B48,0x304D, 0, 0,0x4F6F,
+ 0, 0, 0, 0, 0,0x5963,0x3D6D, 0,
+ 0,0x3152,0x4A50,0x323C, 0,0x4B27,0x372B, 0,
+0x4A26, 0, 0, 0,0x4F23, 0, 0,0x6078,
+0x554A,0x607B, 0, 0,0x607A,0x4541,0x4C7B, 0,
+0x4131,0x6079,0x5663,0x322F,0x5644,0x355B, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3478,0x5621,
+ 0, 0, 0, 0, 0,0x4F2F,0x306F, 0,
+ 0,0x607C, 0, 0, 0, 0, 0,0x6121,
+0x3323, 0, 0,0x607D,0x607E,0x4331, 0, 0,
+ 0, 0,0x435D, 0,0x6122,0x3779, 0, 0,
+ 0, 0, 0, 0,0x3B4F, 0, 0, 0,
+ 0, 0, 0, 0,0x6123,0x443B, 0, 0,
+ 0, 0, 0,0x6124, 0, 0,0x6125, 0,
+ 0,0x6126,0x3431, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3849,0x463D,0x446A, 0,0x3222, 0,
+0x5052, 0,0x675B,0x3B43,0x5357,0x5344, 0,0x3963,
+0x624F, 0, 0, 0,0x572F, 0,0x476C,0x3153,
+ 0, 0,0x3432,0x6251, 0, 0, 0,0x5072,
+0x422E,0x6250, 0,0x3F62,0x5326,0x3557,0x6252,0x356A,
+ 0,0x436D,0x387D, 0,0x382E, 0,0x4553,0x374F,
+0x6254, 0, 0, 0, 0,0x6253,0x3648,0x5779,
+ 0, 0, 0, 0, 0,0x4D25, 0, 0,
+ 0, 0, 0,0x6258, 0,0x6256,0x4A7C,0x3F35,
+0x5339,0x6255, 0, 0, 0, 0,0x6257, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x412E,0x4048, 0, 0, 0, 0, 0,
+ 0,0x625B,0x625A,0x402A, 0, 0,0x414E, 0,
+ 0, 0, 0,0x625C, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x625D, 0,0x625E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5B48, 0,0x5153,0x4D22,
+ 0, 0,0x3D28, 0, 0, 0,0x5E43,0x5825,
+0x3F2A,0x5B4D,0x526C,0x467A,0x452A, 0, 0, 0,
+0x5E44, 0,0x3157,0x5F2E, 0, 0, 0,0x4A3D,
+ 0,0x5F31, 0,0x392D, 0,0x527D, 0,0x3825,
+0x3A6B, 0, 0,0x335A, 0, 0, 0,0x355C,
+0x5545, 0, 0, 0, 0,0x4356,0x4F52,0x3B21,
+ 0,0x6573,0x6572, 0, 0,0x6574, 0,0x4D64,
+ 0,0x4875, 0, 0, 0, 0, 0, 0,
+ 0,0x352F,0x473F, 0,0x6576, 0, 0, 0,
+0x6C30, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6566, 0,0x3969,0x3531, 0,0x423C,0x6568,0x6567,
+0x6569, 0, 0, 0, 0,0x524D, 0, 0,
+ 0,0x616A,0x504E, 0,0x4D2E, 0,0x5165, 0,
+ 0,0x324A,0x316B, 0,0x3172,0x456D, 0, 0,
+0x5543,0x5330, 0,0x615C, 0, 0, 0,0x615D,
+ 0,0x525B, 0,0x3339,0x314B, 0, 0, 0,
+0x4D79,0x5577,0x615E, 0,0x3E36,0x347D, 0,0x615F,
+0x3A5C,0x6160,0x3B32,0x4249,0x6161, 0, 0, 0,
+0x506C, 0,0x4D3D, 0, 0,0x6162, 0,0x3543,
+0x4547,0x6163, 0, 0,0x6164, 0, 0, 0,
+ 0,0x5379, 0, 0, 0, 0, 0, 0,
+0x6165, 0,0x512D, 0, 0,0x6166,0x4E22, 0,
+ 0, 0, 0, 0, 0,0x6167, 0,0x3542,
+ 0, 0, 0, 0,0x6168,0x3B55, 0, 0,
+ 0, 0, 0,0x5044,0x6260,0x3158,0x5264, 0,
+ 0,0x6261, 0, 0,0x3C49,0x484C, 0,0x6263,
+0x6C7E,0x6C7D,0x5F2F, 0, 0, 0,0x6262,0x563E,
+0x4D7C,0x4326, 0, 0, 0,0x6343, 0, 0,
+0x5652,0x6267, 0, 0,0x6268, 0, 0,0x5347,
+ 0, 0,0x626C,0x3F6C, 0,0x626D,0x6265, 0,
+ 0,0x3340, 0, 0, 0,0x446E, 0, 0,
+0x626E, 0, 0,0x5043, 0,0x3A76,0x6269,0x375E,
+0x3B33,0x4C2C,0x4B4B,0x6264,0x6266,0x626A,0x626B, 0,
+ 0, 0,0x6277, 0, 0,0x6274,0x5475,0x6273,
+ 0, 0,0x452D, 0,0x557A,0x4542,0x3240, 0,
+ 0,0x626F, 0,0x6272,0x412F,0x4B3C, 0, 0,
+0x3521,0x6279, 0, 0, 0,0x3C31,0x6271,0x5054,
+0x5439,0x6275,0x3956,0x6276, 0, 0, 0,0x4753,
+ 0, 0, 0, 0, 0,0x6270, 0, 0,
+ 0, 0, 0,0x575C,0x6D21, 0, 0,0x6278,
+ 0,0x6D25,0x627E,0x4A51, 0, 0, 0, 0,
+ 0, 0, 0,0x4135, 0,0x3B50, 0, 0,
+0x3F56, 0,0x3A63, 0, 0,0x4B21, 0, 0,
+ 0,0x6D26,0x6D23, 0, 0,0x6D22, 0, 0,
+ 0, 0,0x3B56,0x6D27,0x5074, 0, 0,0x6D24,
+0x3A5E,0x3677,0x6321,0x3632,0x4C71,0x3927, 0,0x4F22,
+0x4721, 0, 0,0x3F52, 0, 0,0x3671, 0,
+0x627A,0x627B,0x627D,0x627C,0x4455,0x6322, 0,0x5341,
+ 0, 0, 0,0x6327,0x4744, 0, 0, 0,
+ 0,0x4F24, 0, 0,0x6329,0x3A37, 0, 0,
+ 0, 0,0x6328, 0,0x3B5A, 0,0x6323, 0,
+ 0, 0,0x6324,0x632A, 0,0x6326, 0,0x4E72,
+0x5346, 0, 0,0x3B3C, 0, 0,0x5443, 0,
+0x447A, 0, 0,0x6D28,0x507C,0x6325, 0,0x4375,
+ 0,0x632D,0x312F, 0,0x6332, 0, 0, 0,
+0x3C42, 0, 0,0x632C,0x353F, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4769,0x6330, 0,
+ 0, 0,0x3E2A,0x4D6F, 0, 0, 0, 0,
+ 0,0x3B73, 0, 0, 0,0x4C68, 0, 0,
+0x632F, 0,0x6331, 0,0x4F27,0x632E, 0,0x4E29,
+0x3B5D, 0, 0, 0, 0, 0,0x356B,0x3E65,
+0x3252,0x334D, 0,0x3139,0x632B,0x3251,0x352C,0x395F,
+0x3668, 0, 0,0x4F6B,0x6337, 0,0x3B4C, 0,
+ 0,0x4847,0x504A, 0, 0, 0, 0, 0,
+0x6338,0x336E, 0, 0, 0, 0,0x6D29, 0,
+0x537A,0x5364, 0, 0, 0,0x6D2A,0x6339,0x5262,
+ 0, 0, 0, 0, 0,0x6335, 0, 0,
+ 0, 0,0x535E, 0, 0, 0, 0,0x3850,
+0x6333, 0, 0,0x6336,0x375F, 0,0x6334,0x4022,
+ 0, 0, 0,0x633A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5438,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3448, 0,0x633B, 0,0x3B45, 0,0x4977, 0,
+ 0,0x4965, 0, 0, 0,0x443D, 0, 0,
+ 0, 0, 0, 0, 0,0x6D2B, 0, 0,
+ 0, 0,0x427D, 0, 0, 0, 0,0x3B5B,
+0x3F2E, 0, 0, 0, 0, 0, 0, 0,
+0x4E3F, 0, 0, 0, 0,0x633C, 0,0x3F36,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x316F, 0, 0,0x5477, 0,
+ 0, 0, 0, 0,0x633E, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6D2D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x633F,
+0x3A29,0x6D2C, 0, 0,0x633D, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6340,
+ 0, 0, 0, 0, 0, 0,0x3A36, 0,
+ 0, 0,0x362E, 0, 0, 0, 0, 0,
+0x5038, 0,0x3043,0x6D2E, 0, 0, 0, 0,
+ 0,0x6D2F,0x4041, 0,0x6341, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4533, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6342, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5C32,
+ 0, 0, 0, 0, 0, 0,0x6D30, 0,
+0x386A, 0,0x4E6C,0x6A27,0x5067,0x4A79,0x4856,0x4F37,
+0x3349,0x4E52,0x3D64, 0, 0,0x635E,0x3B72,0x6A28,
+0x553D, 0,0x465D,0x6A29, 0, 0, 0,0x6A2A,
+ 0,0x6A2C,0x6A2B, 0,0x6A2E,0x6A2D, 0, 0,
+ 0, 0,0x3D58, 0,0x6A2F, 0,0x423E, 0,
+ 0, 0, 0,0x3441,0x3477, 0, 0,0x3B27,
+ 0, 0, 0, 0, 0,0x6C66,0x6C65,0x373F,
+0x4B79,0x3162, 0,0x6C67, 0, 0, 0,0x4948,
+0x6C68,0x6C69, 0,0x4A56,0x5E50,0x3245,0x547A, 0,
+ 0,0x464B,0x3047,0x3472,0x4853, 0, 0, 0,
+0x4D50, 0, 0,0x3F38, 0, 0, 0, 0,
+ 0, 0, 0,0x3F5B, 0, 0,0x4724,0x5634,
+ 0,0x4029,0x5E51,0x4928,0x516F,0x4524,0x3067,0x3336,
+0x4845, 0, 0,0x3062, 0, 0,0x3776, 0,
+ 0,0x457A, 0, 0,0x3673, 0,0x5552,0x3350,
+0x3C3C, 0, 0, 0,0x332D, 0, 0, 0,
+ 0,0x3E71,0x3051, 0, 0, 0, 0, 0,
+ 0,0x5256,0x4A63,0x5725, 0,0x4D36,0x3636,0x3F39,
+0x555B, 0,0x3827,0x4557, 0, 0, 0,0x5E52,
+0x3F59,0x4255,0x4740, 0,0x3B24,0x3128, 0, 0,
+0x456A, 0, 0,0x457B,0x4C27, 0, 0, 0,
+ 0,0x3127, 0, 0, 0,0x3556, 0, 0,
+ 0,0x4428, 0,0x5E53,0x513A,0x3369, 0,0x4372,
+ 0, 0,0x3777, 0,0x5674,0x3523,0x3270,0x4434,
+0x4469,0x402D,0x5E54, 0,0x3068,0x4544,0x4160, 0,
+0x3955, 0,0x3E5C,0x4D58,0x304E, 0,0x4D4F,0x5E56,
+0x3E50,0x573E,0x5E55,0x5550,0x305D, 0, 0,0x4462,
+ 0, 0,0x4223,0x3C70, 0,0x5335,0x4039,0x4521,
+0x3226,0x5471, 0, 0,0x4028,0x4A43,0x5E57,0x557C,
+ 0,0x3930, 0,0x482D,0x4B29, 0,0x5E59,0x3F3D,
+ 0, 0, 0, 0,0x4634,0x5727,0x4A30,0x4443,
+ 0,0x3356,0x3952, 0, 0, 0, 0,0x5638,
+0x6A7C,0x3034, 0, 0, 0, 0,0x3F66, 0,
+ 0,0x4C74, 0, 0, 0, 0,0x4D5A, 0,
+ 0, 0,0x563F,0x424E, 0,0x4E4E,0x4C22,0x502E,
+0x4453,0x3532,0x5E58,0x5575,0x3C37,0x3B53, 0, 0,
+0x3024, 0,0x4532,0x346C, 0, 0, 0,0x5571,
+ 0, 0,0x6A7D, 0, 0, 0, 0, 0,
+ 0,0x5E5A,0x4D26, 0, 0,0x4D6C, 0, 0,
+ 0, 0,0x4E66,0x5E5C, 0,0x4D31,0x4026, 0,
+ 0,0x573D, 0,0x5E5B,0x3046,0x3A34,0x4953,0x4473,
+0x3E68, 0, 0, 0, 0,0x3236, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x404C,0x4B70,
+ 0,0x3C71,0x3B3B,0x3537, 0, 0, 0,0x4575,
+ 0,0x5E66, 0, 0, 0,0x5E63,0x3E5D, 0,
+ 0,0x5E5F, 0, 0, 0, 0,0x3437,0x3D5D,
+ 0, 0,0x5E60,0x446D, 0, 0, 0, 0,
+0x4F46, 0,0x3560, 0, 0, 0, 0,0x365E,
+0x4A5A,0x3574,0x5E65, 0,0x5546, 0,0x5E61,0x4C4D,
+0x467E, 0,0x4545, 0, 0, 0,0x5234, 0,
+0x3E72, 0, 0, 0, 0, 0, 0, 0,
+0x4253, 0,0x4C3D,0x3338, 0,0x3D53, 0,0x3F58,
+0x4D46,0x515A,0x346B, 0,0x5E64,0x5E5D,0x5E67, 0,
+0x6A7E, 0, 0,0x4230,0x5E62, 0, 0,0x5640,
+0x3527, 0,0x3274, 0,0x5E68, 0,0x5E72, 0,
+ 0, 0, 0, 0,0x5E6D, 0,0x5E71, 0,
+ 0,0x4860, 0, 0, 0,0x5761,0x5E6F,0x4368,
+0x4C61, 0,0x3265, 0, 0, 0,0x523E, 0,
+ 0, 0, 0, 0, 0, 0,0x5E6E, 0,
+0x5E6B,0x4E55, 0,0x3427, 0, 0, 0, 0,
+ 0,0x3F2B,0x3E3E, 0, 0,0x3D52, 0, 0,
+ 0, 0,0x5E69, 0,0x542E, 0,0x5E5E, 0,
+0x5E6A, 0, 0, 0, 0,0x403F, 0,0x5E6C,
+0x3273,0x3869,0x4227, 0, 0,0x3D41, 0, 0,
+ 0, 0, 0,0x5E75,0x5E78, 0, 0,0x322B,
+0x3424, 0, 0,0x346A,0x4926, 0, 0, 0,
+ 0, 0, 0,0x5E76,0x4B51, 0,0x3863, 0,
+0x5E77,0x5E7A, 0, 0, 0, 0,0x5E79, 0,
+ 0, 0,0x4C42, 0,0x3061,0x346E, 0, 0,
+ 0, 0, 0, 0,0x653A, 0, 0, 0,
+ 0, 0,0x502F, 0, 0,0x326B, 0,0x6B21,
+ 0,0x5E74, 0, 0,0x4963,0x5E73,0x305A,0x5221,
+0x3177, 0,0x4C2F, 0, 0, 0, 0, 0,
+ 0, 0,0x5E70, 0,0x4B24, 0, 0, 0,
+0x552A, 0, 0, 0, 0, 0,0x5E7B, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x345D,
+ 0,0x4426, 0, 0, 0,0x5E7D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x437E,0x4421,0x5F21, 0, 0, 0, 0, 0,
+ 0, 0,0x414C, 0,0x5E7C,0x3E6F, 0,0x4632,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3345,0x4876, 0, 0,0x4B3A,0x5E7E, 0,
+ 0,0x5F24, 0, 0, 0, 0,0x5732, 0,
+ 0, 0, 0, 0,0x3337, 0, 0, 0,
+ 0,0x4143, 0, 0,0x474B,0x3225,0x3469, 0,
+0x572B, 0, 0, 0, 0,0x446C, 0,0x5F22,
+0x5F23, 0,0x5F25, 0,0x3A33, 0, 0, 0,
+0x5F26, 0,0x405E, 0, 0,0x4943, 0, 0,
+ 0, 0, 0, 0, 0,0x3259,0x4766, 0,
+0x5F27, 0,0x475C, 0, 0, 0, 0,0x5F28,
+0x6B22, 0, 0, 0, 0, 0,0x4B53, 0,
+ 0, 0,0x5F2A, 0,0x5F29, 0,0x3241, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x454A, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5F2B, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x545C, 0, 0, 0, 0, 0,
+0x4841, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5F2C, 0, 0,
+ 0, 0, 0,0x3E70, 0, 0,0x5F2D,0x5627,
+ 0, 0, 0, 0,0x6A37,0x6B36,0x4A55, 0,
+0x587C,0x3844, 0,0x3925, 0, 0,0x3745,0x557E,
+ 0, 0, 0, 0, 0,0x394A, 0, 0,
+0x5027,0x744D, 0, 0,0x3550, 0, 0,0x4374,
+ 0,0x3E48, 0, 0, 0,0x6B37,0x303D, 0,
+ 0,0x3D4C, 0,0x4132, 0,0x3156,0x3328, 0,
+ 0, 0,0x3852,0x4922, 0, 0,0x3658, 0,
+ 0, 0, 0,0x6B38,0x3E34, 0, 0, 0,
+0x4A7D, 0,0x4743, 0,0x557B, 0, 0,0x3773,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4E44,
+ 0, 0, 0,0x552B,0x3173, 0, 0, 0,
+0x6C33,0x305F, 0,0x6C35, 0, 0, 0,0x3637,
+ 0,0x414F, 0,0x757A,0x5031, 0, 0,0x5565,
+ 0,0x4E53, 0, 0,0x3D6F,0x3362, 0,0x382B,
+ 0,0x5536, 0,0x6D3D, 0,0x364F, 0,0x4B39,
+0x5042, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x373D, 0, 0,0x6C36,0x4A29, 0, 0,
+ 0,0x4554, 0,0x6C39,0x6C38,0x4243,0x6C37, 0,
+ 0, 0, 0,0x507D,0x6C3A, 0,0x6C3B,0x5765,
+ 0, 0,0x6C3C, 0, 0, 0,0x6C3D,0x466C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4E5E, 0,0x3C48, 0, 0,0x4855,0x3529,0x3E49,
+0x563C,0x5467, 0, 0,0x512E,0x5071,0x6A38,0x6A39,
+0x6A3A,0x3A35, 0, 0, 0, 0,0x4A31,0x3F75,
+ 0, 0,0x4D7A, 0, 0, 0, 0, 0,
+0x6A40, 0,0x303A,0x6A3E, 0, 0,0x4025, 0,
+ 0, 0,0x6A3B, 0,0x327D, 0,0x4377,0x3B68,
+ 0, 0, 0,0x5257,0x4E74,0x6A3F, 0, 0,
+ 0,0x6A3C, 0, 0, 0,0x6A43, 0,0x5047,
+0x5333, 0, 0, 0, 0,0x343A, 0,0x4341,
+0x5772, 0, 0, 0, 0,0x5551, 0,0x4A47,
+ 0,0x6A45, 0, 0,0x6A44,0x6A47,0x6A46, 0,
+ 0, 0, 0, 0,0x5667, 0,0x4F54, 0,
+ 0,0x6A4B, 0,0x3B4E, 0, 0, 0, 0,
+ 0, 0, 0,0x3D7A,0x494E, 0, 0,0x6A4C,
+ 0, 0,0x4939,0x4F7E,0x6A4A,0x544E,0x6A4D,0x6A4F,
+ 0, 0,0x4D6D, 0, 0, 0, 0,0x6A49,
+ 0,0x6A4E, 0, 0,0x4E6E, 0,0x3B5E, 0,
+0x333F, 0, 0, 0, 0, 0,0x4655,0x3E30,
+0x4E7A, 0, 0, 0,0x4767, 0,0x3E27,0x6A50,
+ 0, 0,0x5647, 0, 0, 0,0x4140, 0,
+ 0, 0,0x545D, 0,0x6A51, 0, 0,0x4F3E,
+ 0, 0, 0, 0,0x6A52, 0, 0, 0,
+ 0,0x4A6E, 0, 0, 0, 0,0x452F,0x3035,
+ 0, 0, 0, 0, 0,0x6A54, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6A53,
+0x745F, 0, 0, 0, 0, 0,0x443A, 0,
+ 0, 0, 0, 0,0x3129, 0, 0, 0,
+ 0,0x655F, 0, 0, 0, 0,0x6A55, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4A6F, 0,0x6A56,0x6A57,0x4658, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6A58, 0,
+ 0,0x6A59, 0, 0, 0, 0, 0, 0,
+0x543B, 0,0x477A,0x5237,0x387C, 0, 0,0x6A42,
+ 0,0x325C, 0, 0,0x427C, 0,0x5478,0x4C66,
+0x576E, 0, 0, 0, 0, 0, 0, 0,
+0x5442,0x5350,0x6B43,0x4573, 0,0x377E, 0, 0,
+0x6B54, 0, 0, 0,0x4B37,0x6B5E, 0,0x404A,
+ 0, 0, 0,0x4D7B, 0,0x332F, 0,0x465A,
+ 0, 0, 0, 0, 0, 0,0x6B7C, 0,
+0x443E, 0,0x4E34,0x4429,0x313E,0x547D, 0,0x4A75,
+ 0,0x566C, 0, 0,0x4653,0x3664, 0, 0,
+ 0, 0,0x3B7A, 0, 0,0x5060, 0, 0,
+0x4931, 0,0x5453,0x4828, 0, 0,0x384B, 0,
+0x683E,0x493C, 0, 0,0x683B, 0,0x406E,0x5053,
+0x3244,0x3465, 0,0x683C, 0, 0,0x5548, 0,
+ 0, 0, 0, 0,0x3645, 0,0x683D,0x4A78,
+0x385C,0x4C75, 0, 0, 0,0x4034, 0, 0,
+0x516E,0x683F,0x6842, 0, 0,0x3A3C, 0,0x312D,
+0x3D5C, 0,0x6A3D,0x6843, 0,0x6846, 0,0x684B,
+ 0, 0, 0, 0,0x684C, 0,0x4B49,0x3065,
+ 0,0x3C2B, 0, 0,0x3939, 0, 0,0x6841,
+ 0,0x4D77, 0,0x684A, 0, 0, 0, 0,
+0x4E76, 0, 0, 0, 0,0x556D, 0,0x4156,
+0x6844, 0,0x4336, 0,0x397B,0x5626,0x6848, 0,
+ 0, 0,0x4A60,0x5466, 0,0x6840, 0,0x6845,
+0x6847, 0,0x4739,0x3763, 0,0x6849, 0,0x3F5D,
+0x6852, 0, 0,0x6857, 0,0x6855,0x3C5C,0x3C4F,
+0x685B, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x685E, 0,0x685A,0x317A, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3058,
+0x4433,0x384C,0x4662,0x483E,0x4861, 0, 0, 0,
+0x684F,0x6854,0x6856, 0,0x3971,0x6858,0x5775, 0,
+0x447B, 0,0x685C, 0, 0,0x3269, 0, 0,
+ 0,0x6851, 0, 0,0x3C6D, 0, 0,0x3F42,
+0x684D,0x5679, 0,0x4178,0x3271, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x685F, 0,0x4A41,
+0x6859, 0, 0, 0, 0,0x5524, 0,0x316A,
+0x553B,0x684E,0x6850,0x3630,0x6853, 0,0x685D,0x4038,
+ 0,0x4A77, 0,0x4B28, 0, 0,0x465C,0x4075,
+ 0, 0, 0, 0, 0,0x6869, 0, 0,
+ 0,0x5023, 0, 0, 0, 0, 0, 0,
+ 0,0x6872,0x566A, 0, 0, 0, 0, 0,
+ 0, 0,0x6860,0x6861, 0, 0, 0,0x5179,
+0x3A4B,0x3879, 0, 0,0x3871,0x5454,0x686F, 0,
+0x686E,0x686C,0x3970,0x4C52,0x6866,0x4E26,0x3F72, 0,
+0x3038,0x6871,0x6870, 0,0x5740, 0,0x6864, 0,
+0x4D29,0x4923, 0,0x3B38,0x3D5B,0x686A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6862,0x6863,0x6865,0x3535,0x6867,0x4745,0x686B,0x686D,
+0x3D30,0x572E, 0,0x6878, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6875, 0,0x4D30,0x6876,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x413A, 0,0x6868, 0,0x4337,0x3070, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6874,
+ 0, 0, 0,0x6877, 0, 0, 0,0x3923,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4952, 0, 0, 0,0x434E,0x4E60,
+0x4066, 0, 0, 0, 0,0x4B73, 0,0x4C5D,
+0x5035, 0, 0,0x4A61, 0,0x6873, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3C6C, 0,0x6879, 0, 0, 0, 0, 0,
+ 0,0x435E, 0,0x4665, 0,0x3977, 0, 0,
+ 0, 0,0x3074, 0, 0,0x5758, 0, 0,
+0x3C2C, 0,0x456F, 0, 0, 0, 0, 0,
+0x4C44, 0, 0,0x6926, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x492D, 0,
+0x6922,0x4062, 0, 0, 0,0x3F43, 0, 0,
+ 0,0x687E,0x3957, 0,0x687B, 0, 0, 0,
+ 0,0x6924, 0, 0, 0,0x524E, 0, 0,
+ 0, 0, 0,0x6923, 0,0x5632,0x5735, 0,
+0x6927, 0,0x3D37, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x687C,
+0x687D, 0, 0, 0,0x6921, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4D56, 0, 0,
+0x522C, 0, 0, 0,0x6932, 0, 0, 0,
+ 0,0x6929, 0, 0, 0,0x342A, 0,0x343B,
+ 0, 0,0x692B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5028, 0, 0,0x6925,
+ 0, 0,0x337E, 0, 0,0x692C,0x4063, 0,
+0x692A, 0, 0,0x6939, 0, 0,0x6938, 0,
+ 0, 0, 0,0x692E, 0, 0,0x687A, 0,
+ 0,0x6928, 0, 0, 0, 0, 0,0x3F2C,
+0x6931,0x693A, 0, 0,0x4225, 0, 0, 0,
+0x692F, 0,0x3845, 0,0x692D, 0,0x535C,0x6934,
+0x6935,0x6937, 0, 0, 0,0x6947, 0, 0,
+ 0, 0, 0, 0,0x4046,0x6945, 0, 0,
+0x6930, 0, 0,0x693B,0x3071, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x693C,
+0x5525, 0, 0,0x693E, 0,0x693F, 0, 0,
+ 0,0x6941, 0, 0,0x4171, 0, 0,0x4836,
+ 0, 0, 0,0x693D, 0, 0, 0, 0,
+ 0,0x6942, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6943, 0,0x6933, 0,0x6936, 0,
+0x3B31, 0, 0, 0,0x6940, 0, 0, 0,
+ 0, 0, 0,0x3C77, 0, 0, 0,0x6944,
+0x6946, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x694A, 0, 0,
+ 0, 0,0x694E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x325B, 0,0x6948,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x372E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x694B,
+0x694C, 0, 0, 0, 0, 0, 0,0x5541,
+ 0,0x4423, 0, 0, 0, 0, 0, 0,
+0x6958, 0,0x3A61, 0, 0, 0, 0,0x6949,
+ 0,0x5323, 0, 0, 0,0x6954, 0, 0,
+ 0, 0, 0, 0, 0,0x6957,0x6950, 0,
+ 0, 0, 0, 0,0x694F, 0, 0,0x4741,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6952, 0, 0, 0, 0, 0, 0, 0,
+0x6959,0x3348, 0,0x6953, 0, 0, 0, 0,
+ 0,0x4F70, 0, 0, 0,0x694D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3377, 0, 0, 0, 0, 0, 0,
+ 0,0x6956, 0, 0,0x695A, 0, 0, 0,
+0x4C34, 0, 0, 0,0x4F2D, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6955, 0,
+0x695C,0x695B, 0, 0, 0, 0, 0,0x695E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6951, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x695D, 0,0x695F,0x434A, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4737,0x344E,0x3B36,0x5040,0x6C23, 0, 0,0x4537,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x537B, 0, 0, 0, 0,0x6C24,
+ 0,0x6C25,0x465B, 0, 0, 0,0x3F6E, 0,
+ 0, 0, 0,0x6C26, 0, 0,0x6C27,0x502A,
+ 0,0x4738, 0, 0,0x3868, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6C28, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5639,0x557D,0x344B,0x323D,0x4E64,0x4667,
+ 0, 0,0x4D61, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3475, 0,0x4B40,0x3C5F, 0, 0, 0,
+ 0,0x6962,0x6963,0x516A,0x6965, 0,0x3479,0x6964,
+ 0,0x5133,0x4A62,0x3250, 0,0x6968, 0, 0,
+ 0, 0,0x6966,0x6967, 0, 0,0x5633, 0,
+ 0, 0,0x6969,0x696A, 0, 0, 0, 0,
+ 0,0x696B, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x696C, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6C2F,0x4539,0x364E, 0,0x5273,
+ 0, 0, 0, 0, 0, 0, 0,0x356E,
+ 0,0x3B59,0x6C31, 0, 0,0x5263, 0, 0,
+ 0, 0, 0,0x4E63, 0,0x4438, 0,0x433F,
+ 0, 0,0x363E,0x5839,0x3148,0x314F,0x3151,0x457E,
+ 0,0x3150, 0,0x432B, 0, 0, 0, 0,
+ 0,0x5531, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6B24,0x3A41, 0, 0, 0,0x4C3A,
+ 0, 0, 0,0x6B25, 0,0x6B27, 0, 0,
+ 0,0x6B28, 0, 0, 0,0x6B26, 0, 0,
+ 0, 0, 0, 0, 0,0x6B29,0x6B2B,0x6B2A,
+ 0, 0, 0, 0, 0,0x6B2C, 0,0x4A4F,
+0x5835,0x4371, 0,0x4325,0x4678,0x6B2D,0x444A, 0,
+0x6B2E,0x6B2F,0x6B30,0x3755, 0, 0, 0,0x377A,
+ 0,0x6B31,0x4762, 0,0x6B33, 0,0x3A24,0x5175,
+0x3031,0x6B32,0x6B34, 0, 0, 0,0x352A,0x4248,
+0x4768, 0,0x6B35, 0,0x4B2E,0x635F, 0, 0,
+0x5340, 0, 0, 0, 0,0x595B, 0, 0,
+0x4D21,0x562D,0x4773, 0, 0, 0,0x5960,0x3B63,
+ 0,0x3A3A,0x6362, 0, 0, 0, 0, 0,
+0x4F2B, 0, 0, 0,0x6360,0x4947, 0,0x3A39,
+ 0, 0, 0,0x5134,0x6361,0x486A,0x392F,0x3D2D,
+0x3358,0x4E5B, 0, 0,0x4C40, 0, 0, 0,
+0x6368,0x6369,0x4D74, 0, 0, 0, 0, 0,
+0x4C2D, 0,0x3C33, 0,0x636A, 0,0x636B, 0,
+ 0,0x505A, 0, 0, 0,0x467B,0x375A, 0,
+ 0,0x475F,0x524A,0x4E56, 0,0x6364,0x636C, 0,
+0x4972,0x3341, 0, 0,0x6367, 0, 0,0x4663,
+0x6365, 0, 0,0x6D33,0x6366, 0, 0, 0,
+ 0,0x4933, 0,0x4566, 0, 0, 0,0x3935,
+ 0,0x433B, 0,0x6363,0x453D,0x4124,0x4259,0x3257,
+ 0,0x636D,0x3B26,0x442D, 0,0x6370,0x3E5A, 0,
+ 0,0x637B,0x6375,0x3A53, 0, 0, 0, 0,
+0x3750,0x534D, 0,0x564E,0x5553,0x3941,0x5534,0x5158,
+ 0, 0, 0, 0,0x5039,0x4776, 0, 0,
+ 0,0x482A,0x3234, 0,0x435A, 0, 0, 0,
+0x636E, 0, 0,0x637C,0x636F,0x3728,0x6377,0x6374,
+ 0, 0, 0,0x373A, 0, 0,0x4522, 0,
+0x6376,0x455D,0x3228,0x467C, 0,0x4460, 0, 0,
+0x5722, 0,0x4061,0x6379, 0, 0,0x637A,0x637D,
+0x4C29,0x6373, 0,0x533E, 0,0x3143,0x6D34,0x6371,
+0x6372, 0,0x6378,0x503A,0x4643,0x5473,0x637E, 0,
+ 0,0x3D60, 0, 0,0x6427, 0, 0,0x6426,
+ 0, 0, 0,0x5173,0x6423, 0,0x6429, 0,
+ 0, 0,0x4877, 0, 0, 0, 0,0x4F34,
+ 0,0x6428,0x642E,0x4265, 0, 0,0x3634, 0,
+ 0, 0, 0, 0, 0,0x3D72, 0,0x6422,
+ 0, 0,0x3A69,0x642A, 0, 0,0x642C, 0,
+ 0,0x367D,0x565E,0x6432, 0,0x642D, 0, 0,
+ 0,0x6421, 0,0x3B6E,0x4D5D,0x4722,0x4549, 0,
+ 0,0x4177, 0,0x6424, 0,0x4733,0x3D2C,0x3D3D,
+0x6425, 0,0x5747,0x3262, 0,0x642B,0x3C43,0x642F,
+ 0,0x3B6B,0x6430,0x4528,0x6431, 0, 0, 0,
+ 0,0x5563,0x3F23, 0,0x643A, 0,0x6437, 0,
+0x643B, 0, 0,0x643D, 0, 0,0x4656, 0,
+ 0,0x3A46,0x404B, 0, 0, 0,0x3821,0x6434,
+ 0, 0, 0, 0,0x5421, 0, 0,0x3A23,
+0x3D7E, 0, 0, 0,0x643C, 0, 0, 0,
+ 0, 0,0x4D3F, 0, 0,0x4479, 0, 0,
+0x4F7B,0x4966, 0, 0,0x533F, 0,0x4F51, 0,
+ 0,0x6433, 0,0x6438,0x6439,0x4C69, 0, 0,
+ 0, 0, 0,0x4C4E, 0,0x4054,0x6435,0x4130,
+0x6436,0x4E50, 0,0x3B41,0x3553, 0,0x4873,0x3D27,
+0x5547,0x492C,0x3822,0x644A, 0, 0,0x644C,0x5144,
+ 0, 0,0x523A, 0, 0,0x3A2D, 0, 0,
+0x3A54, 0, 0, 0, 0, 0, 0,0x6443,
+0x356D, 0, 0, 0,0x574D,0x6440,0x4F7D,0x643F,
+ 0, 0, 0,0x415C,0x4C4A, 0, 0, 0,
+ 0,0x4A67, 0, 0, 0, 0,0x4457, 0,
+0x4C54,0x6448, 0, 0, 0,0x6447,0x6441, 0,
+0x6444,0x352D, 0, 0,0x5359, 0,0x6446, 0,
+ 0, 0, 0,0x5279,0x3463, 0,0x3B34, 0,
+ 0,0x496E, 0,0x343E, 0, 0, 0,0x3B6C,
+ 0,0x514D, 0,0x4C6D,0x6D35, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4765, 0, 0,
+ 0, 0,0x5428, 0,0x644B,0x5755,0x6442, 0,
+0x3D25,0x6445, 0, 0,0x5366, 0,0x6449,0x4978,
+ 0, 0,0x643E, 0, 0,0x5365, 0, 0,
+0x477E,0x3649, 0,0x547C,0x3233,0x6457, 0, 0,
+ 0,0x4E42, 0,0x644D, 0,0x4E3C, 0,0x385B,
+ 0, 0,0x6456, 0,0x3F4A, 0, 0, 0,
+0x534E, 0,0x436C, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4548,0x6458, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4D44,0x644F, 0,
+ 0, 0, 0,0x6454,0x6455, 0,0x3A7E, 0,
+0x4F66, 0, 0,0x553F, 0, 0, 0,0x6452,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6450, 0, 0,0x644E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4D65,0x4A2A,
+ 0, 0, 0,0x4023, 0,0x3D26,0x6453, 0,
+ 0,0x3848, 0, 0, 0, 0, 0,0x6467,
+0x5434, 0, 0, 0, 0, 0, 0, 0,
+0x645B, 0, 0, 0,0x416F, 0, 0,0x6469,
+ 0, 0,0x5267, 0, 0,0x645F, 0,0x6460,
+ 0, 0,0x4F2A, 0, 0, 0, 0,0x4B5D,
+ 0,0x645A,0x6451, 0,0x6465, 0,0x485C,0x6463,
+ 0, 0,0x4467,0x6462, 0,0x6461, 0, 0,
+ 0,0x337C,0x6468, 0, 0, 0, 0,0x3561,
+ 0, 0, 0,0x574C, 0, 0, 0,0x6466,
+ 0,0x3B2C, 0,0x5752,0x4C4F,0x6B78, 0,0x6464,
+ 0, 0,0x3976, 0, 0, 0,0x564D,0x6459,
+0x645C,0x427A,0x645E, 0,0x424B,0x4044,0x4250, 0,
+0x3175,0x4C32, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x354E, 0, 0, 0,
+ 0,0x646F, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x462F, 0, 0, 0,0x4661, 0,
+ 0,0x6475, 0, 0, 0, 0, 0,0x4229,
+ 0, 0, 0,0x406C,0x515D,0x646E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x442E, 0, 0, 0,0x646D, 0, 0, 0,
+ 0,0x6476,0x6474,0x427E, 0,0x645D, 0,0x6470,
+ 0,0x4A7E, 0,0x5544, 0, 0,0x6471, 0,
+ 0, 0, 0, 0, 0, 0,0x517A, 0,
+ 0, 0, 0, 0, 0, 0,0x646B,0x646C,
+ 0, 0, 0,0x6472, 0,0x4E2B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x454B, 0, 0, 0,0x4731, 0,0x423A, 0,
+ 0, 0,0x646A, 0, 0, 0,0x414A, 0,
+ 0, 0, 0, 0, 0,0x4C36,0x3331, 0,
+ 0, 0,0x647B, 0,0x6473, 0, 0, 0,
+0x647A, 0,0x647D, 0,0x647C, 0, 0, 0,
+ 0, 0, 0, 0,0x334E, 0, 0, 0,
+0x333A,0x6477, 0, 0,0x6479,0x6478,0x456C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x403D, 0, 0, 0,
+ 0,0x5468, 0, 0, 0, 0, 0,0x6522,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3044, 0, 0,0x6524, 0,
+ 0,0x6523, 0, 0, 0, 0, 0, 0,
+0x3C24, 0,0x6525, 0, 0, 0, 0, 0,
+ 0,0x6521, 0, 0, 0, 0, 0, 0,
+ 0,0x647E,0x3174, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6528, 0,
+0x6529,0x6526, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6527,0x652A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4659, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x652B,0x652D, 0, 0, 0, 0,
+ 0, 0, 0,0x652C, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x652F, 0, 0,
+ 0,0x652E, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3960, 0, 0,0x6530,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6531, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3B70,0x6C61,0x4370, 0,0x3546,
+0x3B52, 0, 0, 0, 0,0x4169,0x546E, 0,
+0x3E44, 0, 0, 0,0x5746, 0,0x5456,0x3253,
+0x6C3E, 0, 0, 0, 0,0x6A41, 0, 0,
+ 0,0x422F,0x3436, 0, 0, 0,0x5157, 0,
+ 0, 0,0x3334, 0,0x4832,0x3F3B,0x6C40, 0,
+ 0,0x564B, 0, 0,0x6C3F,0x6C41, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6C45,0x3E66,0x4C3F,0x455A,0x3E3C,
+ 0,0x6C46, 0,0x317E, 0, 0, 0,0x6C44,
+0x5528,0x3563, 0,0x6C42,0x4136,0x3363, 0, 0,
+0x6C43,0x4B38,0x4043,0x4C7E, 0, 0, 0, 0,
+0x4152, 0,0x6C48, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3A66,0x4053, 0,0x5672, 0, 0, 0,0x514C,
+ 0, 0, 0, 0,0x3F3E, 0,0x3733,0x4955,
+0x6C47,0x3B62, 0,0x4C4C,0x3D7D,0x4848, 0,0x4F29,
+ 0, 0, 0, 0, 0, 0, 0,0x4D69,
+ 0,0x456B, 0, 0, 0,0x3769, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5149,0x3A38, 0, 0, 0, 0, 0,
+0x6C49, 0, 0,0x6C4A, 0,0x3B40,0x6C4B, 0,
+0x6C62,0x313A,0x3759, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3D39, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6C4C,
+0x5166,0x6C4D, 0, 0, 0, 0,0x483B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6C51, 0, 0,
+ 0, 0,0x6C53, 0,0x3B4D, 0,0x3C65, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6C4F, 0,0x4937, 0,
+ 0, 0, 0, 0,0x433A, 0,0x6C63,0x5555,
+0x6C50, 0, 0, 0, 0, 0,0x5673, 0,
+ 0, 0,0x6C52,0x6C4E, 0, 0, 0, 0,
+0x6C54, 0,0x6C55, 0, 0,0x493F, 0, 0,
+ 0, 0, 0, 0,0x4F28, 0, 0, 0,
+ 0, 0,0x505C, 0, 0, 0, 0,0x512C,
+ 0, 0, 0, 0,0x485B, 0, 0, 0,
+0x6C56,0x4E75, 0, 0, 0, 0, 0,0x4A6C,
+0x6C5A, 0, 0, 0, 0, 0, 0, 0,
+0x6C59, 0, 0, 0,0x303E, 0, 0, 0,
+ 0, 0, 0,0x6C57, 0,0x6C58, 0, 0,
+ 0,0x6C64, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x483C, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4147, 0,
+ 0, 0, 0, 0,0x6C5C,0x5160, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6C5B, 0, 0, 0, 0,0x546F, 0,0x6C5D,
+ 0, 0, 0, 0, 0, 0,0x5B46, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6C5E, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x312C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6C5F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6C60, 0,0x5726, 0,0x4540, 0, 0, 0,
+0x6B3C,0x302E, 0, 0, 0,0x3E74,0x3838,0x522F,
+0x3056,0x3579, 0,0x5833, 0,0x4B2C, 0,0x635D,
+ 0, 0, 0, 0, 0, 0, 0,0x462C,
+0x3066, 0, 0, 0,0x4546,0x6B39, 0, 0,
+ 0, 0,0x6B3A, 0, 0, 0,0x6B3B, 0,
+ 0,0x5140, 0,0x4523, 0,0x6A72, 0,0x4432,
+ 0,0x4435,0x404E, 0, 0, 0,0x6A73,0x4441,
+ 0,0x4E6F, 0, 0, 0, 0,0x6A70,0x6A74,
+ 0, 0,0x497C, 0, 0,0x4723, 0, 0,
+ 0,0x4C58,0x4E7E, 0, 0, 0,0x6A75,0x6A76,
+0x4F2C,0x4067, 0, 0,0x6A77, 0, 0, 0,
+ 0, 0,0x363F,0x6A78, 0,0x6A79, 0,0x6A7A,
+ 0, 0,0x6A7B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6A71,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x482E,0x616B, 0,0x3738,
+0x616C, 0, 0, 0,0x616D, 0,0x5734,0x616E,
+0x616F,0x534C, 0, 0, 0, 0, 0, 0,
+ 0,0x6171,0x3F71,0x6170,0x3552, 0, 0, 0,
+0x3137, 0, 0, 0, 0,0x6173,0x6172, 0,
+0x3A7C, 0,0x6174, 0, 0, 0, 0,0x3937,
+ 0,0x3E51, 0, 0, 0, 0,0x447C, 0,
+0x3A5D,0x3D46, 0, 0, 0, 0, 0, 0,
+0x6175,0x6177, 0, 0,0x3640,0x4F41,0x4A28,0x6176,
+0x5578,0x537C,0x6178,0x617C,0x6179, 0, 0,0x617A,
+0x406A, 0,0x617E,0x6221,0x4047, 0, 0, 0,
+ 0,0x617B, 0,0x617D, 0, 0, 0, 0,
+ 0, 0,0x6225, 0, 0, 0,0x4154, 0,
+ 0, 0, 0,0x6223, 0,0x6228,0x327E,0x6222,
+ 0, 0, 0,0x434D,0x3242,0x6227,0x6226, 0,
+ 0,0x6224,0x6229, 0, 0,0x622B, 0, 0,
+ 0,0x5049,0x566D,0x4328,0x622C, 0,0x4F57, 0,
+ 0,0x622E, 0, 0,0x3A6F, 0, 0,0x6960,
+0x622D,0x622A, 0, 0, 0, 0,0x3B2B,0x5433,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6230, 0, 0,
+0x622F, 0,0x6961, 0, 0, 0, 0,0x6231,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6232, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6233,0x4C21, 0,0x6234,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6235, 0,
+ 0, 0, 0, 0,0x507E, 0, 0,0x424A,
+ 0,0x5371, 0,0x4D75, 0, 0,0x6760, 0,
+ 0,0x6761, 0, 0, 0, 0,0x3E41, 0,
+ 0, 0, 0,0x426A, 0, 0, 0,0x6764,
+ 0, 0,0x6763, 0, 0, 0, 0, 0,
+ 0,0x4D66, 0,0x4335, 0, 0,0x6762,0x3B37,
+0x4F56, 0,0x4161,0x6769, 0, 0, 0,0x6768,
+ 0, 0,0x6774,0x3223, 0, 0, 0, 0,
+0x676A, 0,0x6766, 0, 0, 0, 0, 0,
+0x676C,0x676B,0x493A, 0, 0,0x5564, 0,0x6765,
+0x3729,0x6767, 0, 0, 0, 0, 0, 0,
+ 0,0x676E, 0, 0, 0, 0,0x6773, 0,
+0x5669, 0, 0, 0, 0,0x676D, 0,0x6772,
+ 0,0x6771, 0, 0, 0,0x3060, 0, 0,
+ 0, 0,0x6775, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4772, 0,0x4045,0x406D, 0,
+ 0,0x4170,0x6770, 0, 0, 0, 0,0x6776,
+0x4B76, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6822,0x6821, 0, 0, 0, 0,
+ 0, 0,0x5741, 0, 0,0x677A,0x6779, 0,
+0x677B, 0,0x6777, 0,0x677E, 0,0x677D, 0,
+0x677C, 0, 0,0x4155,0x4759,0x457D,0x4543, 0,
+ 0, 0, 0, 0,0x476D, 0, 0, 0,
+ 0,0x6823, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6826, 0,0x6825,
+ 0,0x6827,0x3A77,0x6778,0x6824, 0,0x4870,0x492A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6829, 0, 0,
+0x3965, 0, 0, 0, 0, 0,0x517E,0x6828,
+ 0, 0, 0, 0, 0, 0,0x682A, 0,
+0x682D,0x682E, 0,0x4127, 0, 0, 0,0x682F,
+ 0, 0, 0,0x6830, 0, 0,0x682C, 0,
+0x6834, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x682B, 0,0x6831, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6835,
+0x6832,0x6833, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6837, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6836, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x394F, 0,0x702C, 0,
+0x702D, 0,0x4630,0x306A,0x483F, 0,0x4D5F, 0,
+ 0, 0, 0, 0, 0, 0,0x4E4D,0x6A31,
+ 0, 0, 0, 0,0x6A32, 0,0x463F,0x3449,
+ 0, 0, 0, 0, 0, 0, 0,0x6A33,
+ 0, 0, 0, 0,0x5567, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5D79, 0,0x6A34,
+ 0,0x6A35, 0,0x6A36, 0, 0, 0, 0,
+0x384A,0x5F30,0x4975, 0,0x4C70, 0, 0,0x497A,
+ 0, 0, 0, 0, 0,0x497B, 0, 0,
+0x5343,0x4B26, 0,0x3826,0x702E,0x3142, 0,0x6538,
+0x4C6F,0x5349,0x3C57,0x496A, 0,0x3567, 0,0x4450,
+0x3569, 0,0x6E2E,0x3B2D, 0, 0,0x675E, 0,
+0x6E2F, 0, 0, 0, 0,0x3329, 0, 0,
+0x6E32, 0, 0,0x6E31,0x3D67, 0,0x6E30,0x4E37,
+ 0, 0, 0, 0,0x454F, 0, 0, 0,
+ 0,0x4174,0x5B4E,0x6E33,0x5073, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4254,0x4668, 0,
+ 0, 0,0x372C, 0, 0, 0, 0, 0,
+ 0, 0,0x6E34, 0,0x336B, 0, 0, 0,
+0x3B7B,0x6E35, 0, 0, 0, 0, 0,0x675C,
+ 0, 0, 0,0x6E36, 0, 0,0x3D2E, 0,
+ 0, 0, 0,0x7162, 0, 0, 0,0x4A68,
+ 0,0x5249,0x705A, 0,0x705B, 0,0x705C,0x4146,
+ 0,0x386D,0x3E4E, 0, 0,0x705E, 0,0x4531,
+0x705D,0x5171, 0,0x7060,0x304C,0x3D6A, 0, 0,
+ 0, 0, 0,0x525F,0x705F, 0,0x342F,0x3768,
+0x7066,0x7065,0x4623,0x7061,0x7062,0x3443, 0, 0,
+0x7063,0x556E, 0, 0,0x4C5B,0x3E52,0x3C32, 0,
+ 0, 0,0x7068,0x7067,0x7064,0x3221, 0,0x5622,
+0x5338,0x3E37,0x482C, 0, 0,0x706A, 0, 0,
+ 0, 0,0x5177, 0,0x564C,0x3A5B,0x7069, 0,
+0x363B, 0, 0,0x4D34, 0, 0,0x4626, 0,
+ 0, 0,0x4121,0x706B,0x706E, 0,0x706D,0x7070,
+0x706C, 0,0x3B3E,0x706F, 0, 0, 0, 0,
+0x4C35,0x7072, 0, 0,0x3355, 0, 0, 0,
+ 0,0x3154, 0, 0,0x7073, 0, 0,0x7074,
+0x7076,0x3461, 0,0x7071, 0,0x7077, 0, 0,
+ 0, 0,0x707A, 0,0x7078, 0, 0, 0,
+0x7075, 0, 0, 0, 0,0x707D, 0,0x7079,
+0x707C,0x707E, 0,0x7121, 0, 0, 0,0x4E41,
+0x7124, 0,0x7123, 0,0x4176,0x707B,0x4A5D, 0,
+ 0,0x3471,0x3171,0x4C31, 0,0x7126, 0, 0,
+0x7127, 0, 0,0x712C,0x554E,0x7129, 0, 0,
+0x4833, 0, 0, 0,0x7122, 0,0x712B,0x7128,
+0x7125, 0, 0,0x712A, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3029,0x712D, 0, 0,
+ 0, 0, 0, 0,0x712F, 0,0x7131, 0,
+ 0, 0, 0, 0,0x7130, 0,0x712E, 0,
+ 0, 0, 0,0x5122, 0, 0, 0, 0,
+ 0, 0, 0,0x7132, 0, 0, 0,0x7133,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x396F, 0, 0,0x3547, 0,0x3057,0x3059, 0,
+ 0, 0,0x546D, 0,0x3544, 0,0x3D54,0x3B4A,
+0x7027, 0, 0,0x385E, 0, 0,0x7028, 0,
+ 0,0x3028, 0,0x7029, 0, 0,0x4D6E, 0,
+ 0,0x702A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x702B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4624, 0,
+ 0,0x5665,0x7164, 0,0x7165, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4373,
+ 0, 0,0x535B, 0, 0,0x5651,0x4568, 0,
+0x532F, 0,0x5266, 0, 0,0x6E41,0x303B,0x5535,
+0x514E,0x3C60,0x3A50, 0,0x3F78, 0,0x3847,0x3541,
+0x454C, 0, 0,0x4A22, 0, 0, 0,0x434B,
+ 0, 0, 0, 0, 0,0x6E42, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x443F,0x3622,
+ 0,0x6D6C,0x4324, 0,0x5631, 0, 0, 0,
+0x4F60,0x6D6F, 0, 0,0x454E, 0,0x365C, 0,
+ 0,0x4A21, 0, 0,0x6D6D, 0, 0,0x6D70,
+0x6D71,0x433C, 0,0x3F34, 0,0x6D6E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6D74,0x6D72, 0, 0, 0, 0,0x5566,
+0x435F, 0,0x6D73, 0, 0, 0,0x6D76, 0,
+0x5523,0x5123, 0, 0, 0,0x6D75, 0,0x4350,
+ 0, 0, 0, 0, 0,0x6D77,0x3F74,0x3E6C,
+0x6D78, 0,0x4C77, 0,0x515B, 0, 0, 0,
+0x5745,0x5576, 0,0x6D7C, 0, 0, 0,0x6D7B,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6D79,0x6D7A, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6D7D,0x3E26, 0, 0, 0, 0,
+ 0,0x4B2F,0x6E21,0x363D, 0,0x6E22,0x4440, 0,
+0x6D7E, 0, 0,0x3D5E,0x3247, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3643, 0, 0, 0,0x6E25,0x583A,0x6E23,
+0x6E26, 0, 0, 0,0x4369,0x3372, 0, 0,
+ 0, 0, 0, 0,0x6E27,0x6E24,0x4F39, 0,
+ 0,0x6E28,0x4277, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6E29,
+0x6E2A, 0,0x5E2B, 0, 0,0x4633, 0,0x4746,
+ 0,0x5675,0x3549, 0,0x4B32, 0, 0, 0,
+0x6E2B, 0, 0,0x4D2B, 0,0x6E2C, 0, 0,
+ 0, 0, 0,0x5530, 0,0x6E2D, 0,0x7644,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5B47, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3423,
+ 0, 0, 0,0x432C,0x7166, 0, 0, 0,
+ 0, 0,0x4A38,0x5253, 0,0x562A, 0,0x6F72,
+ 0,0x3E58, 0,0x3D43,0x6F73,0x364C,0x302B, 0,
+ 0, 0, 0,0x4A2F, 0, 0,0x6D36, 0,
+0x6D37, 0, 0, 0, 0,0x4E79,0x372F,0x3F73,
+0x6D38,0x426B,0x4930, 0, 0, 0, 0, 0,
+ 0,0x6D39, 0, 0,0x4676,0x3F33, 0, 0,
+ 0,0x6D3C,0x4578, 0,0x5150, 0,0x5729,0x6D3A,
+0x6D3B, 0,0x5162, 0,0x6D3F,0x6D40, 0,0x6D44,
+ 0, 0, 0,0x6D48, 0,0x6D46,0x6D4E,0x5568,
+ 0,0x6D49, 0, 0,0x6D47,0x6D3E, 0, 0,
+0x4569, 0, 0, 0,0x4646, 0, 0,0x4969,
+0x5452,0x6D41,0x6D42,0x6D43,0x6D45, 0,0x4079, 0,
+0x3421, 0, 0, 0, 0,0x3968, 0,0x6D50,
+ 0, 0, 0, 0,0x6D51, 0,0x6D4A, 0,
+0x6D4F, 0,0x4E78, 0, 0,0x4B36,0x6D4C,0x6D4D,
+ 0, 0, 0, 0, 0,0x4F75, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6D52,0x4172,0x5332,0x6D4B,0x4837, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3C6F,
+ 0, 0, 0, 0,0x4570, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6D56,
+ 0,0x356F, 0, 0,0x4235,0x302D,0x4B69, 0,
+ 0,0x312E, 0,0x6D54, 0, 0, 0,0x4D6B,
+0x3562, 0,0x6D55,0x6D53,0x6D57, 0, 0,0x357A,
+ 0,0x6D58, 0,0x6D59, 0,0x6D5C, 0,0x314C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4576,0x3C6E,0x6D5A,0x4C3C,0x326A, 0, 0, 0,
+ 0,0x6D5B, 0, 0, 0, 0,0x446B, 0,
+ 0,0x3445, 0, 0, 0,0x3075, 0, 0,
+ 0,0x6D5F,0x405A,0x3468, 0, 0, 0, 0,
+0x454D, 0, 0, 0,0x6D5D,0x3F44, 0, 0,
+ 0,0x6D5E, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4425, 0, 0, 0,0x6D60, 0, 0, 0,
+ 0, 0,0x6D61, 0,0x6D63, 0, 0,0x4157,
+ 0, 0,0x3B47, 0, 0, 0, 0, 0,
+ 0,0x3D38, 0, 0, 0,0x6D62, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6D64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6D66, 0,
+ 0, 0, 0, 0,0x6D65, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6D67, 0, 0, 0,
+ 0, 0,0x4A3E,0x6C6A,0x4071, 0,0x4967, 0,
+0x6C6B,0x466E, 0, 0, 0, 0,0x6C6C, 0,
+0x466D,0x6C6D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6C70, 0, 0,0x5766,0x6C73,
+ 0, 0,0x6C71,0x6C6E,0x6C6F,0x5723,0x4971,0x4B6E,
+0x6C74, 0,0x6C72, 0, 0,0x4F69, 0,0x6C76,
+0x4631, 0, 0, 0, 0,0x3C40, 0,0x6C75,
+ 0, 0, 0, 0, 0, 0, 0,0x353B,
+0x3B76, 0,0x6C77, 0, 0, 0, 0, 0,
+0x5977,0x3D7B, 0, 0,0x423B,0x6C78, 0, 0,
+ 0, 0,0x6C79, 0, 0, 0, 0,0x3823,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6C7A, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6C7B,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6C7C, 0, 0, 0, 0,
+ 0,0x536D,0x582E,0x406B, 0,0x475D,0x3A4C, 0,
+0x5063,0x4B3D, 0,0x4D3A, 0, 0,0x3851, 0,
+ 0,0x317C, 0,0x476F, 0,0x5656, 0, 0,
+ 0,0x3F46,0x436B, 0, 0,0x6F75, 0, 0,
+0x4358, 0, 0, 0, 0, 0, 0,0x5762,
+ 0, 0, 0,0x6F77,0x3353, 0,0x4758,0x516D,
+ 0,0x5648, 0,0x6F78, 0,0x6F76, 0,0x3B7D,
+0x3346, 0, 0, 0, 0, 0, 0, 0,
+0x3D55, 0, 0,0x5246, 0,0x3B60, 0, 0,
+0x4F21, 0,0x6F7C,0x6F7B, 0, 0,0x6F79, 0,
+ 0, 0, 0,0x334C, 0,0x4954,0x4B30, 0,
+ 0, 0, 0, 0,0x6F7E, 0, 0,0x305E,
+ 0, 0,0x5649, 0, 0, 0,0x6F7D, 0,
+0x336D, 0, 0,0x7655, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4E48, 0, 0, 0,0x7022,
+ 0,0x7021, 0,0x353E,0x3C5A,0x3B7C, 0,0x3865,
+ 0, 0, 0, 0, 0, 0,0x4442, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7023, 0, 0, 0, 0, 0,0x4B6B,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7026, 0, 0, 0,0x5128, 0,0x3E3F,0x476E,
+0x7136,0x7137,0x3F55, 0, 0, 0, 0,0x3429,
+0x7138,0x4D3B, 0,0x4754,0x552D, 0,0x7139, 0,
+0x713A, 0, 0, 0, 0,0x474F, 0, 0,
+ 0,0x5224,0x564F, 0, 0,0x713B,0x3D51,0x3430,
+0x3E3D, 0, 0, 0,0x345C,0x4E51, 0,0x3F5F,
+0x713D, 0, 0, 0, 0,0x3F7A,0x713C, 0,
+0x713F, 0, 0, 0,0x713E,0x7140, 0, 0,
+ 0, 0, 0,0x7141, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x417E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4122, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4A7A, 0,
+ 0,0x553E, 0, 0, 0, 0,0x3E3A,0x3E39,
+0x5542, 0, 0,0x3F22, 0,0x4D2F,0x7135, 0,
+ 0, 0, 0, 0, 0,0x3D5F, 0,0x364B,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5671,0x7343, 0, 0,0x7344, 0,0x384D,
+ 0, 0, 0,0x7346,0x7347, 0,0x304A, 0,
+0x7345, 0,0x7349,0x4B71, 0, 0, 0,0x734B,
+ 0,0x5026, 0, 0,0x314A,0x7348, 0, 0,
+ 0,0x734F, 0,0x3551, 0, 0,0x7357, 0,
+0x7352, 0, 0, 0,0x7354,0x7353,0x377B, 0,
+0x313F, 0,0x734E,0x734A,0x355A, 0,0x7350, 0,
+ 0,0x7351, 0,0x7355, 0, 0, 0, 0,
+0x734D, 0,0x3C63, 0,0x417D, 0,0x7356, 0,
+ 0, 0, 0, 0, 0,0x735A, 0,0x734C,
+ 0,0x3548, 0,0x3D6E,0x735C, 0, 0,0x3724,
+0x3F70,0x567E,0x4D32, 0,0x3470, 0,0x325F, 0,
+0x7358, 0,0x7359,0x4938, 0,0x735D, 0, 0,
+0x735E, 0,0x7361, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x735F, 0,
+ 0,0x7363,0x7362, 0, 0,0x735B, 0,0x3F6A,
+ 0,0x336F, 0,0x7360, 0, 0,0x4729, 0,
+0x3C72, 0, 0, 0, 0,0x736B, 0, 0,
+ 0, 0, 0, 0, 0,0x393F, 0, 0,
+0x7364, 0, 0, 0,0x322D,0x3B7E, 0,0x4B63,
+ 0, 0, 0, 0,0x736D,0x7369, 0, 0,
+ 0,0x395C,0x736E, 0, 0, 0,0x7365,0x7366,
+0x736A,0x4261,0x736C,0x736F,0x7368,0x3C7D, 0, 0,
+ 0,0x4F64, 0, 0,0x7370, 0, 0, 0,
+0x7367, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7372, 0, 0, 0, 0,0x572D,0x462A,
+ 0, 0, 0, 0,0x7373, 0, 0, 0,
+ 0,0x7371, 0,0x4228, 0, 0, 0, 0,
+ 0,0x385D,0x7375, 0, 0,0x7374, 0, 0,
+ 0,0x345B, 0, 0, 0,0x7376,0x7377, 0,
+ 0, 0,0x7378, 0, 0, 0,0x403A, 0,
+ 0,0x4069, 0, 0, 0, 0, 0,0x4571,
+ 0, 0, 0, 0,0x737B, 0,0x737A, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3458,
+ 0, 0, 0,0x737E,0x7379, 0, 0,0x737C,
+ 0, 0, 0, 0, 0, 0,0x737D, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x7421,
+ 0, 0, 0, 0, 0, 0,0x7423,0x3B49,
+ 0, 0,0x7422, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7424, 0, 0, 0, 0, 0, 0,0x323E,
+0x7426,0x7425, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3C2E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4357,0x5961, 0, 0, 0,
+ 0, 0, 0,0x4060,0x744C,0x5751, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x375B, 0, 0, 0, 0, 0, 0,
+ 0,0x744E,0x4123, 0, 0,0x4649, 0,0x3456,
+0x5533, 0, 0, 0,0x7450,0x744F,0x7451,0x4B5A,
+ 0, 0,0x7452, 0,0x5441,0x5660, 0, 0,
+ 0, 0,0x3760, 0, 0, 0,0x4138, 0,
+ 0,0x413B,0x7453,0x3E2C, 0, 0, 0, 0,
+ 0,0x3462, 0, 0,0x7454,0x7455,0x3E2B, 0,
+ 0,0x7456, 0, 0, 0,0x745B, 0,0x7457,
+0x745A, 0,0x3A7D, 0,0x7458,0x7459, 0, 0,
+ 0, 0, 0, 0, 0,0x3862,0x4C47,0x745C,
+ 0,0x325A, 0, 0,0x4353, 0, 0,0x5463,
+0x3F37, 0, 0, 0, 0, 0, 0, 0,
+0x745D, 0, 0, 0, 0, 0, 0,0x4534,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7469, 0, 0,0x4F35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4E49, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4B58, 0,0x4B77, 0, 0, 0, 0,0x3D74,
+ 0, 0, 0,0x574F, 0, 0, 0,0x405B,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5075, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x746A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x746B, 0,
+ 0, 0, 0, 0, 0, 0,0x746C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x7763, 0, 0, 0, 0,
+ 0,0x3731, 0, 0, 0, 0, 0,0x746D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x576B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x746E, 0, 0, 0,0x6679,
+0x3E40,0x667A,0x3A6C,0x667B,0x4F4B,0x667C,0x543C,0x3C36,
+0x667D,0x667E,0x3C4D,0x4852,0x4E33,0x6721, 0,0x343F,
+0x6722,0x4934,0x3859,0x4449, 0,0x575D,0x425A,0x3757,
+0x563D,0x4E46,0x3744, 0, 0,0x4526,0x6723,0x4F5F,
+0x6724,0x6725,0x6726,0x4137,0x5769,0x4970,0x4F38,0x562F,
+0x5655,0x6727,0x306D,0x6728,0x6729,0x495C,0x526F,0x3E2D,
+0x672A,0x3073,0x485E,0x3D61,0x672B,0x4846, 0,0x672C,
+0x3B66,0x3878,0x5124,0x672D,0x4267,0x3E78,0x3D4A,0x4D33,
+0x672E,0x672F,0x3E6E,0x5065, 0,0x4B67,0x4C50,0x3C4C,
+0x6730,0x3C28,0x5077,0x6731, 0,0x5078,0x6732,0x6733,
+0x3442,0x6734,0x6735,0x497E,0x4E2C,0x4360,0x6737,0x3141,
+0x3371, 0,0x6738,0x6739,0x575B,0x5540,0x673A,0x424C,
+0x573A,0x673B,0x673C,0x673D,0x3C6A,0x4365,0x4042,0x673E,
+0x673F,0x3C29, 0,0x6740,0x6741,0x6736,0x3650,0x6742,
+ 0,0x6743,0x6744,0x3B3A,0x355E,0x4246,0x3160,0x6745,
+0x5435,0x6746,0x383F,0x6748,0x6747,0x376C, 0,0x6749,
+0x3278,0x674A,0x674B,0x674C,0x674D,0x674E,0x674F,0x6750,
+0x5327,0x4B75,0x6751,0x6752,0x6753,0x6754,0x4949,0x6755,
+0x6756,0x6757,0x6758,0x6759,0x3D49,0x675A,0x733E, 0,
+0x3857, 0,0x4831, 0, 0, 0, 0, 0,
+ 0, 0,0x733F, 0,0x7340,0x7341, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x395E,0x4D78, 0, 0,0x5868,0x3A31, 0,0x425E,
+0x6E37, 0,0x3723, 0, 0, 0, 0,0x6E39,
+ 0,0x6E38,0x3055, 0, 0, 0, 0, 0,
+0x6E3B,0x5556,0x576F, 0, 0, 0,0x5643, 0,
+ 0,0x6E3D,0x4A70, 0,0x6E3C, 0, 0, 0,
+ 0,0x6E3E, 0, 0, 0, 0,0x6E40, 0,
+ 0,0x6E3F, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5172, 0,0x473C, 0,0x4340, 0,
+ 0, 0, 0, 0,0x3861, 0, 0, 0,
+ 0, 0,0x4167, 0, 0,0x7446,0x505F,0x7447,
+ 0,0x4F5B, 0, 0,0x483A, 0, 0,0x7448,
+ 0, 0, 0, 0, 0, 0, 0,0x7449,
+0x744A, 0,0x744B, 0, 0, 0, 0, 0,
+0x597A,0x387E, 0, 0,0x6571,0x5370, 0,0x7460,
+ 0,0x4E4C, 0, 0, 0,0x3361, 0, 0,
+ 0, 0,0x7134, 0,0x526E, 0,0x7461, 0,
+ 0, 0, 0, 0,0x4F68,0x7462, 0, 0,
+0x474C, 0, 0, 0, 0, 0, 0,0x3554,
+0x3464,0x7464, 0, 0, 0,0x7463,0x7465, 0,
+ 0,0x7466, 0, 0, 0, 0,0x7467, 0,
+0x3A32,0x303F, 0,0x7468, 0, 0, 0, 0,
+ 0, 0, 0,0x372D,0x526D, 0, 0, 0,
+0x522B,0x404F, 0,0x3F3C,0x6B23,0x555F,0x6A48, 0,
+ 0, 0, 0,0x7173,0x3678,0x4B23, 0, 0,
+0x444D, 0,0x7167, 0,0x7168,0x387B,0x7169,0x3A44,
+0x5445,0x3052, 0, 0,0x716A, 0, 0, 0,
+0x716B, 0,0x716C, 0, 0,0x716D,0x716E,0x716F,
+0x7171,0x7170,0x4555, 0, 0, 0, 0, 0,
+ 0,0x7172, 0,0x367A, 0,0x7174,0x522E,0x5E47,
+0x4B4A, 0, 0,0x335C, 0,0x3522, 0,0x3922,
+ 0, 0,0x4474,0x7175, 0, 0,0x7176, 0,
+ 0, 0,0x4144,0x417B,0x5630,0x7177, 0, 0,
+ 0, 0,0x7178, 0,0x412A, 0, 0, 0,
+0x4638, 0,0x3E5B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7179,0x344F, 0, 0, 0, 0, 0,
+ 0,0x717A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6D32,
+0x6D31, 0, 0,0x4B60,0x525E, 0,0x4B41,0x5558,
+ 0,0x4862, 0,0x405F,0x3C21, 0, 0, 0,
+ 0, 0, 0,0x6B41, 0, 0,0x5024, 0,
+0x5662, 0,0x3647,0x3858,0x6B40,0x384E, 0,0x6B3F,
+0x3326,0x3949,0x562B, 0,0x3774,0x374A, 0, 0,
+ 0,0x3C67,0x373E,0x6B46, 0,0x6B47,0x3039,0x3F4F,
+ 0,0x6B45,0x537D, 0,0x6B48, 0, 0,0x6B49,
+ 0, 0,0x374E, 0,0x6B42,0x6B44,0x4976,0x5657,
+0x554D,0x5032,0x6B4F,0x4E38,0x6B50, 0,0x3528, 0,
+ 0, 0, 0, 0,0x3133,0x6B52,0x4C25, 0,
+ 0, 0, 0, 0, 0, 0,0x4556,0x6B53,
+ 0,0x6B51,0x455F,0x6B4E,0x4A24,0x6B55,0x307B, 0,
+ 0,0x3A7A, 0, 0,0x5837,0x7163, 0,0x6B4A,
+0x6B4B,0x6B4C,0x6B4D,0x6B56,0x6640,0x6B59, 0,0x3F68,
+0x5248,0x6B57,0x6B5C,0x386C,0x6B58, 0,0x3D3A, 0,
+0x5058, 0,0x3037, 0,0x6B5D,0x445C, 0, 0,
+ 0, 0,0x562C, 0, 0, 0,0x3460, 0,
+ 0,0x4276,0x3C39, 0, 0,0x6B5A,0x6B5B,0x5460,
+0x466A,0x4454,0x6B5F,0x4527,0x5975, 0,0x3231, 0,
+0x6B64, 0,0x3D45, 0, 0, 0,0x6B62, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6B63, 0, 0,0x382C,
+ 0,0x4D51,0x6B65, 0, 0, 0,0x6B61, 0,
+0x4133, 0, 0, 0, 0, 0,0x4622, 0,
+ 0, 0, 0, 0, 0, 0,0x4C73, 0,
+0x6B66, 0,0x4030,0x5238,0x6B67, 0, 0, 0,
+0x382F,0x382D, 0,0x6B68,0x473B,0x4D73, 0, 0,
+ 0,0x6B6A,0x6B6B, 0, 0, 0, 0, 0,
+0x6B6D, 0, 0, 0, 0,0x5048, 0,0x6B72,
+ 0,0x6B6E, 0, 0, 0,0x6B71,0x4879, 0,
+0x517C,0x6B6C, 0, 0,0x6B69, 0, 0, 0,
+ 0,0x3839,0x4F59,0x4465,0x6B6F,0x6B70,0x4C5A,0x4D48,
+0x3072, 0,0x6B76, 0, 0, 0, 0, 0,
+0x6B75, 0,0x3232, 0, 0, 0, 0,0x3860,
+ 0,0x6B77, 0, 0, 0, 0, 0, 0,
+0x316C, 0, 0,0x4C45,0x4424,0x4F25, 0, 0,
+ 0, 0, 0,0x6B79, 0, 0,0x6C22, 0,
+0x4572, 0,0x6B7A, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4945, 0, 0, 0, 0,
+ 0, 0,0x625F,0x6B7E, 0, 0, 0, 0,
+0x4D4E,0x6C21,0x315B,0x5337, 0, 0,0x525C, 0,
+ 0, 0,0x6B7D, 0,0x6B7B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x333C, 0, 0, 0,0x6A30,
+ 0, 0,0x5754, 0,0x742B,0x3374, 0, 0,
+ 0, 0, 0,0x5641,0x5642, 0, 0, 0,
+ 0, 0, 0,0x5569,0x3E4A, 0,0x7427, 0,
+0x5228,0x7428,0x7429, 0,0x742A,0x3E4B,0x535F, 0,
+ 0, 0, 0, 0,0x4960,0x4961, 0, 0,
+0x7342, 0,0x4A66, 0,0x4C72, 0, 0, 0,
+ 0, 0, 0,0x6236,0x4B34, 0,0x4E68,0x565B,
+ 0,0x742D,0x742E,0x742F, 0, 0, 0, 0,
+0x7432, 0,0x3A3D,0x7433,0x3063,0x7430, 0,0x7431,
+0x3D22,0x3255, 0,0x7436,0x7437,0x3666,0x3230,0x4F4F,
+0x7434,0x342C, 0,0x7435, 0, 0,0x7438, 0,
+ 0, 0, 0, 0,0x7439, 0, 0,0x4D27,
+ 0,0x743A, 0,0x743B, 0, 0, 0,0x743C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4B52, 0,0x743D, 0, 0, 0, 0,0x743E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x743F, 0, 0, 0, 0, 0,0x745E,0x413C,
+0x3C68, 0,0x492B,0x515E,0x6575, 0, 0, 0,
+ 0,0x5C33,0x5255, 0, 0,0x5C34,0x302C,0x5C35,
+ 0, 0,0x3D5A, 0,0x5C39, 0, 0, 0,
+0x5842, 0,0x5C37,0x5373, 0,0x4956,0x5C3A,0x5C36,
+ 0,0x5C3B,0x4322, 0, 0, 0, 0,0x5C3C,
+0x5C45,0x5C3D, 0, 0,0x4E5F,0x5625, 0,0x5C4F,
+ 0,0x5C4D, 0, 0,0x5C52,0x3D66,0x422B, 0,
+0x5C38,0x5C4B,0x5C4E,0x5C3E,0x3752,0x3045,0x5C47,0x503E,
+0x5C41,0x3B28, 0,0x373C,0x5C4C, 0, 0,0x5C46,
+0x5C3F,0x475B, 0, 0, 0,0x513F,0x5C40, 0,
+ 0,0x5C4A, 0, 0,0x5C50, 0, 0,0x4E2D,
+0x5C42, 0,0x5C43,0x5C48,0x5C49,0x3254,0x5C51,0x4B55,
+ 0,0x5437,0x5C5B,0x5C5F,0x4C26,0x5C66, 0,0x4367,
+0x5C5C, 0, 0,0x3F41,0x5C59, 0,0x307A,0x3936,
+0x5C65,0x5C53, 0,0x5C44,0x5C56,0x4874,0x3F60, 0,
+ 0, 0, 0,0x493B, 0, 0, 0,0x313D,
+ 0,0x5322, 0, 0,0x5C5A, 0, 0,0x5C55,
+ 0,0x463B, 0,0x5C5E, 0, 0, 0, 0,
+ 0,0x5742,0x432F,0x3736,0x4751,0x4329,0x5C62,0x5C58,
+0x5C6B,0x5C54, 0, 0,0x5C5D, 0,0x3E25,0x5C57,
+ 0,0x5C60, 0, 0,0x5C63,0x5C64, 0,0x5C78,
+ 0, 0,0x5C61,0x5D22,0x5C67, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3C6B,
+0x3444, 0, 0,0x4323,0x3267,0x5C7A, 0,0x5C72,
+ 0,0x5C6F, 0,0x5C7C,0x5C6E,0x5270,0x3268, 0,
+0x4857,0x4863,0x5C7B, 0,0x5C6D, 0, 0, 0,
+0x5C77, 0, 0,0x5C75, 0, 0,0x3E23,0x5C74,
+ 0,0x325D, 0, 0, 0, 0, 0,0x5C73,
+0x3C76,0x5C68,0x3B44, 0,0x4073, 0, 0, 0,
+ 0, 0,0x3C54,0x5C69,0x5C6A, 0,0x5C71,0x5C76,
+0x5C79,0x3534, 0,0x4859,0x3B67,0x5C7E,0x5C7D,0x532B,
+0x5D21,0x5D23,0x5D25,0x5271,0x5D24,0x5D26,0x5D27,0x5229,
+ 0, 0, 0, 0, 0, 0, 0,0x3A49,
+0x5D29, 0, 0,0x5D36,0x5D31,0x5D34, 0, 0,
+ 0, 0, 0, 0, 0,0x5D30,0x464E, 0,
+ 0,0x4072, 0, 0, 0, 0,0x492F, 0,
+ 0, 0,0x5C6C,0x5D2E, 0, 0, 0, 0,
+0x5D37, 0, 0,0x5C70,0x5D2F, 0,0x5D38, 0,
+0x5D2C, 0, 0, 0, 0, 0, 0, 0,
+0x5D39,0x5D33,0x5D2D,0x442A, 0, 0, 0, 0,
+0x5D28,0x4033,0x412B,0x5D2A,0x5D2B, 0,0x5D32,0x3B71,
+0x5D35,0x5328,0x5D3A, 0,0x5D3B,0x4327, 0, 0,
+0x5D52,0x5D3C, 0, 0, 0,0x5D51, 0,0x393D,
+ 0, 0,0x3E55, 0,0x3E7A, 0, 0,0x3A4A,
+ 0, 0, 0, 0,0x5D4A, 0,0x5D45, 0,
+0x5D3F, 0, 0, 0,0x324B,0x5D43, 0,0x5D4B,
+0x3224,0x5D55, 0, 0, 0,0x5D3E, 0, 0,
+ 0,0x4650,0x5D50, 0, 0, 0, 0, 0,
+0x5D54,0x4162,0x3746, 0, 0, 0, 0, 0,
+0x5D4E,0x5D4F, 0, 0, 0,0x5D44, 0, 0,
+ 0,0x5D3D, 0,0x5D4D,0x4C51, 0,0x5D49, 0,
+ 0, 0, 0,0x5D42,0x4348,0x463C,0x4E2E,0x5D4C,
+ 0,0x5D48, 0, 0, 0, 0, 0, 0,
+0x5D41, 0, 0, 0,0x5D46,0x425C, 0, 0,
+ 0, 0, 0, 0,0x5329,0x532A,0x5D53,0x4F74,
+0x4878, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5D66, 0, 0, 0, 0, 0, 0,
+0x5D47, 0, 0, 0,0x5D60,0x4264, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5D61, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5D57, 0, 0, 0, 0, 0,0x5678,
+ 0,0x5D59,0x5D58,0x3870,0x5D56, 0, 0, 0,
+ 0,0x464F, 0,0x362D, 0, 0, 0, 0,
+ 0,0x5D62, 0,0x3A79,0x5461,0x5D67, 0, 0,
+ 0,0x3450, 0,0x5D5A, 0,0x3F7B,0x5D63, 0,
+0x5D5F, 0,0x5D5D, 0, 0, 0, 0, 0,
+ 0, 0,0x3559, 0, 0, 0, 0,0x5D5B,
+0x5D5C,0x5D5E, 0,0x3D2F,0x5D64, 0,0x5D65, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5D75,
+ 0,0x4349, 0, 0,0x4B62, 0, 0, 0,
+ 0,0x5D72, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5861,
+ 0, 0,0x4651, 0,0x5D74, 0, 0, 0,
+0x5574,0x5D73,0x5D70, 0, 0,0x5D6C, 0,0x5D6F,
+ 0,0x5D68, 0, 0,0x506E, 0, 0, 0,
+ 0,0x4858,0x5D6E, 0, 0,0x5D69, 0, 0,
+0x5D6A,0x4B72, 0,0x5D6D, 0, 0,0x314D, 0,
+ 0, 0, 0, 0, 0,0x4036, 0,0x3C3B,
+0x5D71, 0, 0,0x5D77, 0,0x5D76,0x5D6B, 0,
+ 0, 0, 0, 0,0x456E, 0, 0, 0,
+0x5D7B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5E24, 0, 0,0x5E23,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5D78, 0, 0, 0,
+ 0,0x436F, 0,0x427B, 0, 0, 0,0x5561,
+ 0, 0,0x4E35, 0, 0, 0, 0,0x5D7D,
+ 0,0x324C, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4468,0x4A5F, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x473E,
+0x5D7A,0x5D7C,0x5D7E,0x5E22,0x302A,0x314E, 0, 0,
+ 0, 0, 0,0x5E2C, 0, 0, 0, 0,
+0x5E26,0x3D36,0x486F, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5E21, 0,
+ 0,0x5E25, 0, 0, 0, 0,0x5E29, 0,
+ 0, 0, 0, 0,0x5E28, 0, 0, 0,
+0x5E27, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5E2D, 0,0x544C, 0, 0, 0,
+ 0,0x5E33,0x5E2A,0x5E2E, 0, 0,0x4059, 0,
+ 0, 0, 0, 0,0x3121,0x5E36, 0,0x5E31,
+ 0, 0, 0, 0, 0, 0, 0,0x5E32,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5126,0x5E35, 0, 0, 0,
+ 0, 0, 0, 0,0x5E2F, 0, 0, 0,
+0x5E30, 0,0x503D, 0, 0, 0,0x5E34,0x4A6D,
+0x5E39, 0, 0, 0, 0, 0, 0,0x5E38,
+ 0,0x5E37, 0, 0, 0, 0, 0, 0,
+ 0,0x5E3B, 0, 0, 0, 0, 0, 0,
+ 0,0x3D65, 0, 0, 0, 0, 0,0x3258,
+0x436A, 0, 0,0x5E3A, 0,0x453A, 0, 0,
+ 0, 0, 0, 0,0x5E3C, 0, 0, 0,
+ 0, 0, 0, 0,0x4C59, 0, 0, 0,
+ 0,0x372A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5465, 0, 0, 0,0x5E3D,
+ 0, 0, 0, 0, 0,0x5E3F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4422, 0, 0, 0, 0,0x5E41, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5E3E,
+ 0,0x5E40, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x553A, 0, 0, 0,0x5E42, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x722E,0x3B22,0x4232,
+0x4530,0x4247, 0, 0,0x722F, 0, 0, 0,
+ 0, 0,0x5069, 0, 0, 0,0x535D, 0,
+ 0, 0,0x6B3D, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3366,0x7230, 0,0x7231, 0,
+ 0,0x4A2D, 0, 0, 0, 0, 0, 0,
+ 0,0x3A67,0x7233,0x7235,0x7234,0x4B64,0x4F3A,0x7232,
+0x4A34,0x524F,0x426C, 0, 0, 0, 0, 0,
+ 0, 0,0x4E43,0x7238,0x3076,0x7237, 0, 0,
+ 0, 0, 0,0x723E, 0,0x324F, 0, 0,
+ 0, 0, 0, 0,0x5141,0x723A, 0, 0,
+ 0, 0, 0,0x723C,0x5469, 0, 0,0x723B,
+0x7236,0x723F,0x723D, 0,0x7239, 0, 0,0x7247,
+0x7244,0x7246, 0, 0,0x724A,0x7242,0x7240, 0,
+ 0, 0,0x7245, 0, 0, 0, 0, 0,
+0x567B, 0, 0, 0,0x7241, 0,0x4779,0x495F,
+ 0,0x7248,0x3946,0x3530, 0, 0,0x7243,0x7249,
+0x7250,0x7256, 0, 0,0x3B57, 0, 0, 0,
+0x7255,0x4D5C, 0,0x566B, 0, 0,0x7252,0x7254,
+ 0, 0, 0, 0,0x3872, 0, 0, 0,
+ 0,0x724B, 0, 0, 0,0x724E,0x4279, 0,
+0x555D,0x724C,0x724D,0x724F,0x7253, 0, 0, 0,
+0x7259,0x533C, 0, 0, 0, 0,0x366A, 0,
+0x4A71, 0,0x3764,0x7257, 0, 0, 0,0x7258,
+0x725A,0x725D,0x725B, 0, 0,0x725C, 0, 0,
+ 0, 0,0x5151,0x7251, 0,0x4D49, 0,0x4E4F,
+0x5629, 0,0x7263, 0,0x435B, 0,0x7260, 0,
+ 0,0x402F,0x726C,0x725E, 0,0x7261, 0, 0,
+ 0,0x7268, 0, 0, 0, 0,0x7262, 0,
+ 0,0x7267, 0, 0,0x7266, 0, 0,0x7269,
+ 0, 0, 0,0x725F, 0, 0,0x7264,0x726A,
+ 0, 0, 0, 0, 0, 0, 0,0x532C,
+0x7265,0x3275, 0, 0,0x7272, 0,0x502B, 0,
+ 0, 0, 0,0x7275, 0, 0, 0,0x3B48,
+ 0,0x7279, 0, 0, 0, 0, 0, 0,
+0x7270, 0, 0,0x7276,0x7278,0x727A, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7273, 0,
+0x7271, 0, 0, 0,0x3A7B, 0,0x357B, 0,
+ 0, 0, 0,0x726F,0x7277,0x726D,0x726E, 0,
+ 0, 0,0x726B,0x7326, 0,0x7323, 0, 0,
+0x7322, 0, 0,0x7274, 0,0x485A, 0, 0,
+ 0, 0, 0,0x727B, 0, 0, 0,0x7325,
+ 0, 0, 0, 0, 0, 0, 0,0x4378,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x727D, 0, 0,0x7327,0x7329,0x7324, 0,0x727C,
+ 0, 0, 0,0x732B, 0,0x732A, 0, 0,
+ 0, 0,0x425D, 0, 0,0x732E, 0, 0,
+0x7330, 0, 0, 0, 0, 0,0x7321, 0,
+ 0, 0,0x7331,0x732C, 0, 0, 0, 0,
+ 0,0x732F,0x727E,0x732D, 0, 0, 0, 0,
+ 0, 0, 0,0x7332, 0, 0, 0, 0,
+0x7334, 0, 0, 0, 0,0x7328, 0, 0,
+ 0, 0,0x7333, 0, 0, 0,0x7335, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5037, 0, 0, 0, 0,0x7338, 0,
+ 0, 0, 0,0x5979, 0, 0, 0, 0,
+ 0, 0,0x7339, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x7337, 0,0x4864,0x7336, 0,
+ 0, 0, 0,0x733A, 0, 0, 0, 0,
+ 0,0x733B,0x3440, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6E43, 0, 0, 0, 0, 0,
+ 0,0x733C, 0, 0,0x733D, 0, 0, 0,
+0x512A, 0, 0, 0,0x742C,0x5046, 0, 0,
+ 0, 0, 0, 0,0x5050,0x515C, 0, 0,
+ 0, 0, 0, 0,0x4F4E, 0, 0,0x3D56,
+ 0,0x5143, 0, 0, 0, 0, 0, 0,
+ 0,0x3A62,0x6169,0x5242,0x7142,0x3239, 0, 0,
+0x316D,0x7143, 0,0x4940,0x3344, 0,0x5972, 0,
+0x4B25, 0,0x7144, 0, 0, 0, 0,0x5654,
+ 0, 0, 0, 0, 0,0x7145,0x7440,0x7146,
+ 0,0x542C,0x7147, 0,0x3040,0x7441, 0, 0,
+0x7442, 0, 0,0x347C, 0,0x455B, 0, 0,
+ 0, 0,0x4C3B, 0, 0, 0,0x5064, 0,
+ 0, 0, 0, 0,0x4D60, 0, 0, 0,
+ 0, 0,0x7148, 0,0x5973, 0, 0, 0,
+ 0, 0, 0,0x313B, 0,0x4F2E, 0, 0,
+ 0,0x3824, 0, 0, 0, 0, 0,0x714A,
+ 0, 0, 0, 0,0x714B, 0, 0, 0,
+ 0,0x3243,0x4151, 0, 0,0x5730,0x7149, 0,
+ 0,0x714C, 0, 0, 0, 0,0x714E, 0,
+ 0, 0,0x5976, 0,0x5261,0x5423, 0, 0,
+0x7443,0x4839, 0, 0, 0, 0, 0,0x7444,
+ 0, 0,0x714D,0x714F,0x3F63,0x7150, 0, 0,
+0x7154, 0, 0, 0, 0, 0, 0, 0,
+0x7156,0x7151, 0,0x4951,0x4561, 0, 0, 0,
+0x4263,0x397C, 0, 0,0x7153, 0,0x7155, 0,
+ 0, 0,0x3953, 0, 0, 0, 0, 0,
+ 0, 0,0x715B, 0, 0, 0, 0, 0,
+0x3A56, 0,0x307D,0x7159, 0, 0, 0, 0,
+ 0,0x7158,0x7152,0x715A, 0, 0, 0, 0,
+ 0,0x7157, 0, 0, 0,0x486C, 0, 0,
+ 0, 0,0x4D4A,0x715D, 0, 0, 0, 0,
+0x653D, 0, 0, 0,0x715C, 0,0x715E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x715F, 0, 0,0x4F65, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7445,0x3D73,
+ 0, 0, 0, 0, 0, 0,0x7160, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x7161, 0, 0, 0,0x4E77,
+ 0,0x522A, 0,0x717B, 0, 0,0x3832, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3C7B,0x395B, 0,0x3966,0x4359,0x4A53,0x6A68,
+0x4040,0x3E75,0x6A69,0x6A6A,0x6A6B, 0,0x6A6C,0x6A6D,
+0x6A6E,0x6A6F,0x3D47, 0, 0, 0,0x757B, 0,
+ 0, 0,0x757D, 0,0x757E, 0,0x757C, 0,
+ 0, 0, 0,0x3D62, 0,0x7621,0x3425, 0,
+ 0, 0, 0,0x7622, 0, 0, 0,0x7623,
+ 0, 0, 0,0x6C32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5154, 0, 0, 0, 0, 0, 0,0x596A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7624, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6E3A, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5532, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x537E,0x4C5C, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4A44, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6540,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7625, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3E2F, 0,
+ 0, 0, 0, 0,0x4629, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5A25,0x3C46,0x3629,0x383C,0x484F,0x3C25,0x5A26,0x5A27,
+0x4C56,0x4843,0x5A28,0x467D, 0,0x5135,0x5269,0x5136,
+0x3C47, 0,0x3D32,0x3B64,0x5A29,0x5A2A,0x5148,0x5A2B,
+0x506D,0x366F,0x425B, 0,0x4B4F,0x376D,0x4968,0x3743,
+0x3E77,0x5624,0x5A2C,0x5A2D,0x4640,0x5767,0x4A36, 0,
+0x5529,0x4B5F,0x556F,0x5A2E,0x565F,0x344A,0x5A30,0x5A2F,
+ 0,0x526B,0x5A31,0x5A32,0x5A33,0x4A54,0x5A34,0x4A2B,
+0x5A35,0x5A36,0x334F,0x566F,0x5A37,0x3B30,0x352E,0x5A38,
+0x5A39,0x396E,0x512F,0x5268,0x5A3A,0x3843,0x4F6A,0x326F,
+0x5A3B,0x5A3C, 0,0x3D6B,0x4E5C,0x536F,0x5A3D,0x4E73,
+0x5A3E,0x5355,0x3B65,0x5A3F,0x4B35,0x4B50,0x5A40,0x476B,
+0x566E,0x5A41,0x4535,0x3641,0x5A42,0x374C,0x3F4E,0x5A43,
+0x5A44,0x4B2D,0x5A45,0x3577,0x5A46,0x4142,0x573B,0x5A47,
+0x4C38, 0,0x526A,0x4431,0x5A48,0x357D,0x3B51,0x5A49,
+0x5033,0x5A4A,0x5A4B,0x4E3D,0x5A4C,0x5A4D,0x5A4E,0x3277,
+0x5A51,0x5A4F,0x5168,0x5A50,0x4355,0x5A52, 0,0x5A53,
+0x5A54,0x5A55,0x503B,0x5225,0x3079,0x5A56,0x472B,0x5A57,
+0x3D77,0x4321,0x5A58,0x5A59,0x437D,0x4C37,0x5A5A,0x5A5B,
+0x403E,0x4657,0x5A5C,0x5A5D,0x4734,0x5A5E,0x5A5F,0x3948,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3B6D, 0, 0, 0, 0,0x3639,0x7478,
+ 0,0x7479, 0, 0,0x4D63, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x7539, 0, 0,
+ 0, 0,0x6B60, 0, 0, 0, 0, 0,
+ 0,0x4F73,0x3B3F, 0, 0, 0, 0, 0,
+ 0, 0,0x3A40,0x5425, 0, 0, 0, 0,
+ 0, 0, 0,0x6159, 0, 0, 0, 0,
+0x7574,0x312A,0x3272, 0, 0, 0, 0, 0,
+ 0, 0,0x7575, 0, 0,0x7577, 0, 0,
+ 0,0x3A51,0x7576, 0,0x4332, 0, 0, 0,
+ 0, 0, 0, 0,0x7579, 0, 0, 0,
+0x7578, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3134,0x556A,0x383A,
+ 0,0x3931,0x3246,0x5470,0x4F4D,0x305C,0x554B,0x3B75,
+0x564A,0x3737,0x4C30,0x4636,0x3161,0x393A,0x567C,0x3961,
+0x3721,0x3C7A,0x6A5A,0x6A5B,0x4C79,0x3973,0x6A5C,0x347B,
+0x4333,0x3751,0x3A58,0x6A5D,0x5474,0x6A5E,0x3C56,0x3B5F,
+0x6A5F,0x415E,0x4238,0x545F,0x574A,0x6A60,0x6A61,0x6A64,
+0x6A62,0x6A63,0x495E,0x3833,0x3644,0x6A65,0x4A6A,0x494D,
+0x344D, 0, 0,0x6259,0x4562,0x6A66,0x4035, 0,
+0x5738,0x6A67,0x572C,0x487C,0x5853,0x584D,0x545E, 0,
+0x5479,0x4944,0x532E,0x3853,0x3360, 0,0x4962,0x7476,
+ 0, 0, 0,0x3A55, 0,0x7477, 0, 0,
+0x575F, 0, 0,0x7471,0x3830,0x5554,0x384F,0x4670,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3343, 0, 0,0x7472,0x332C, 0, 0,
+ 0, 0,0x543D,0x4777, 0, 0, 0, 0,
+ 0,0x7474, 0, 0,0x7473, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4C4B,
+ 0, 0, 0,0x4824, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7475, 0,0x5763,0x453F,0x7540, 0, 0,
+0x753B, 0,0x7543, 0,0x7542, 0,0x563A,0x7541,
+ 0, 0, 0,0x543E,0x7544, 0,0x754C, 0,
+ 0, 0, 0,0x304F,0x3578, 0,0x7549,0x754A,
+ 0,0x455C, 0, 0, 0, 0,0x7545,0x7546,
+ 0, 0,0x7547,0x754B, 0,0x3E60,0x7548,0x387A,
+ 0, 0, 0,0x7550,0x7553, 0, 0, 0,
+0x3F67, 0,0x3972,0x753C,0x754D, 0, 0,0x4237,
+ 0, 0, 0,0x4C78, 0,0x3C79, 0,0x754E,
+0x754F,0x7551,0x3665,0x7552, 0,0x7555, 0, 0,
+ 0, 0, 0, 0, 0,0x753D, 0, 0,
+ 0,0x7554,0x533B, 0,0x336C, 0, 0,0x4C24,
+ 0, 0, 0, 0,0x7556, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x7557,0x3E61,0x7558,
+ 0, 0,0x4C5F,0x755B, 0, 0, 0, 0,
+ 0,0x3248,0x5759, 0,0x7559, 0,0x755A,0x755C,
+ 0,0x7562, 0, 0, 0,0x7560, 0, 0,
+ 0,0x755F,0x755D, 0, 0,0x7561, 0, 0,
+0x755E,0x7564,0x7565, 0,0x4C63, 0, 0,0x653F,
+0x3538,0x7563,0x7568,0x4C23, 0, 0, 0, 0,
+ 0,0x7566,0x7567, 0, 0, 0, 0, 0,
+ 0,0x753E, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3144, 0,
+ 0,0x753F, 0, 0,0x3545,0x3264, 0,0x756C,
+0x7569, 0,0x3657, 0,0x756D, 0,0x756A, 0,
+ 0, 0, 0, 0,0x756B, 0, 0,0x345A,
+ 0,0x546A, 0, 0, 0,0x756E, 0,0x3379,
+ 0, 0, 0, 0, 0, 0, 0,0x756F,
+0x7571, 0, 0, 0,0x7570, 0, 0, 0,
+ 0, 0, 0, 0,0x7572, 0,0x7573, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x496D,0x392A, 0, 0,0x477B,
+ 0, 0,0x3663, 0, 0, 0, 0, 0,
+ 0, 0,0x4C49, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6A26, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3335,0x547E,
+0x396C,0x5079, 0,0x696D,0x572A,0x696E,0x4256,0x486D,
+0x3A64,0x696F,0x6970,0x6971,0x5661,0x6972,0x6973,0x6975,
+0x6974,0x6976,0x6977,0x4761,0x6978,0x5458,0x6979,0x3D4E,
+ 0,0x697A,0x697B,0x3D4F,0x697C,0x3828,0x413E,0x697D,
+0x3132,0x3B54,0x3975,0x697E, 0,0x6A21,0x6A22,0x6A23,
+0x3778,0x3C2D, 0,0x4A64,0x604E,0x542F,0x4F3D,0x5537,
+0x6A24,0x555E,0x6A25,0x5041,0x393C, 0,0x3447,0x3159,
+ 0, 0, 0,0x4031, 0, 0, 0, 0,
+0x3166,0x3167, 0,0x3168, 0, 0, 0, 0,
+0x333D,0x4868, 0, 0, 0, 0,0x6541, 0,
+ 0,0x315F, 0, 0, 0,0x4149,0x346F, 0,
+ 0,0x4728,0x5358, 0,0x4679,0x5138, 0,0x397D,
+0x4275, 0, 0, 0, 0, 0,0x532D, 0,
+0x544B,0x3D7C, 0,0x6542,0x3735,0x6543, 0, 0,
+0x3B39,0x5562, 0,0x3D78,0x5436,0x4E25,0x412C,0x3359,
+ 0, 0,0x4C76, 0,0x6546,0x6544,0x6548, 0,
+0x654A,0x6547,0x354F,0x4648, 0,0x357C,0x6545, 0,
+0x4A76, 0, 0,0x6549, 0, 0, 0,0x4354,
+0x3145,0x3C23, 0, 0, 0,0x5737, 0, 0,
+0x4D4B,0x4B4D,0x4A4A,0x4C53,0x654C,0x654B,0x4466, 0,
+ 0,0x5121,0x5137,0x654D, 0,0x6550, 0,0x4D38,
+0x5670,0x654F,0x355D, 0,0x4D3E, 0,0x6551,0x363A,
+ 0, 0,0x4D28,0x3964, 0,0x4A45,0x3351,0x4B59,
+0x546C,0x6552,0x376A, 0, 0, 0,0x654E, 0,
+ 0, 0, 0, 0, 0,0x6555,0x347E,0x6556,
+ 0, 0, 0, 0, 0,0x6553,0x6554, 0,
+0x525D, 0, 0,0x425F,0x3146, 0,0x5362, 0,
+ 0,0x365D,0x4B6C, 0,0x6557, 0, 0,0x5376,
+ 0, 0, 0, 0, 0,0x3169, 0,0x3674,
+0x655A,0x6558,0x6559,0x3540, 0, 0, 0,0x5245,
+0x655C, 0, 0,0x655E, 0, 0, 0, 0,
+ 0, 0,0x655D,0x4732, 0,0x5223, 0, 0,
+0x655B, 0, 0, 0, 0,0x5462,0x555A, 0,
+ 0, 0, 0, 0,0x6560,0x5771, 0, 0,
+ 0, 0, 0, 0, 0,0x6561, 0,0x315C,
+0x517B, 0,0x6562,0x6564, 0, 0, 0, 0,
+0x6563, 0, 0,0x6565, 0, 0, 0, 0,
+ 0,0x5258, 0,0x354B, 0,0x675F, 0,0x5A75,
+ 0,0x5A78, 0,0x5A76, 0,0x5A77, 0, 0,
+ 0,0x5A7A,0x504F,0x4447, 0, 0,0x306E, 0,
+ 0, 0,0x5030, 0,0x5A79, 0,0x534A,0x3A2A,
+0x5B22,0x4771, 0,0x5A7C,0x5A7B,0x495B,0x5A7D, 0,
+0x5B21,0x575E,0x5A7E,0x415A, 0, 0,0x5B25, 0,
+ 0,0x5374, 0, 0,0x5B27,0x5B24, 0,0x5B28,
+ 0, 0,0x3D3C, 0, 0, 0,0x4049,0x5B23,
+0x5B26,0x5623, 0,0x5B29, 0, 0, 0,0x5B2D,
+ 0, 0, 0,0x5B2E,0x5B2C,0x3A42, 0, 0,
+ 0,0x3F24,0x5B2B, 0, 0, 0,0x5B2A,0x5447,
+0x323F, 0, 0,0x5B2F, 0,0x3979, 0,0x5B30,
+ 0, 0, 0, 0,0x333B, 0, 0, 0,
+0x3526, 0, 0, 0, 0,0x363C,0x5B31, 0,
+ 0, 0,0x3675, 0,0x5B32, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3149, 0, 0, 0, 0,0x5B34, 0,
+ 0, 0,0x5B33,0x5B35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5B37,
+ 0,0x5B36, 0, 0, 0, 0, 0, 0,
+ 0,0x5B38, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5B39, 0, 0,0x5B3A, 0,
+ 0,0x534F,0x747A,0x4775,0x5743,0x4564,0x747C,0x747D,
+0x747B, 0,0x3E46, 0, 0, 0, 0,0x506F,
+ 0, 0,0x3753, 0, 0,0x544D,0x4C2A, 0,
+ 0,0x7522,0x7521,0x3A28,0x747E,0x4B56, 0, 0,
+ 0,0x7524,0x4052, 0,0x336A, 0,0x4D2A,0x7525,
+0x7523,0x3D34,0x7528, 0,0x7529,0x3D4D,0x4338,0x3F61,
+0x4B61,0x752A, 0, 0, 0,0x7526,0x7527,0x4470,
+ 0, 0, 0, 0, 0,0x752C, 0,0x343C,
+ 0,0x576D, 0,0x3457,0x752B,0x752E, 0, 0,
+0x752D,0x752F,0x5051, 0, 0, 0, 0, 0,
+ 0, 0,0x4351,0x4829, 0, 0, 0, 0,
+ 0, 0,0x7530,0x7531, 0, 0, 0, 0,
+ 0, 0,0x7532, 0, 0,0x7533,0x7534,0x7535,
+ 0, 0, 0, 0,0x7537,0x7536, 0, 0,
+ 0, 0,0x7538, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3249,
+ 0,0x5354,0x4A4D, 0,0x406F,0x5658,0x5230,0x413F,
+ 0,0x3D70, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x382A, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3C78, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7646, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7647, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7648, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7649, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x764A, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x764C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x764B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7769, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x764D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x764E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6E44,0x6E45,0x6E46,
+0x556B,0x3624,0x6E48,0x6E47,0x6E49,0x6E4A,0x4725,0x6E4B,
+0x6E4C, 0,0x3730,0x3576,0x6E4D,0x6E4F, 0,0x6E4E,
+ 0,0x3846,0x6E50,0x6E51,0x6E52,0x365B,0x332E,0x5653,
+0x4446,0x3135,0x3856,0x6E53,0x6E54,0x543F,0x4755,0x3E7B,
+0x4E59,0x3933,0x6E56,0x6E55,0x6E58,0x6E57,0x4525,0x6E59,
+0x6E5A,0x472E,0x6E5B,0x472F,0x6E5C,0x3227,0x6E5D,0x6E5E,
+0x6E5F,0x6E60,0x6E61,0x576A,0x6E62,0x6E63,0x3C58,0x6E64,
+0x534B,0x4C7A,0x322C,0x4165,0x6E65,0x4726,0x432D, 0,
+0x6E66,0x6E67,0x6E68,0x6E69,0x6E6A,0x6E6B,0x6E6C, 0,
+0x6E6D,0x6E6E,0x6E6F, 0, 0,0x6E70,0x6E71,0x6E72,
+0x6E74,0x6E73, 0,0x6E75,0x4D2D,0x4241,0x6E76,0x6E77,
+0x6E78,0x5521,0x6E79,0x4F33,0x6E7A,0x6E7B, 0,0x6E7C,
+0x6E7D,0x6F21,0x6E7E,0x6F22,0x3875,0x437A,0x6F23,0x6F24,
+0x3D42,0x523F,0x3279,0x6F25,0x6F26,0x6F27,0x5278,0x6F28,
+0x567D,0x6F29,0x464C, 0,0x6F2A,0x6F2B,0x4134,0x6F2C,
+0x4F7A,0x4B78,0x6F2E,0x6F2D,0x337A,0x3978,0x6F2F,0x6F30,
+0x5062,0x6F31,0x6F32,0x3766,0x503F,0x6F33,0x6F34,0x6F35,
+0x4871,0x4C60,0x6F36,0x6F37,0x6F38,0x6F39,0x6F3A,0x5560,
+0x6F3B,0x346D,0x432A,0x6F3C, 0,0x6F3D,0x6F3E,0x6F3F,
+ 0,0x4E7D,0x6F40,0x4260,0x3438,0x5736,0x3D75, 0,
+0x4F47,0x6F43,0x6F41,0x6F42,0x6F44,0x3627,0x3C7C,0x3E62,
+0x434C,0x6F45,0x6F46, 0,0x6F47,0x6F4F,0x6F48,0x6F49,
+0x6F4A,0x4742,0x6F71,0x364D,0x6F4B, 0,0x6F4C,0x6F4D,
+0x3646,0x433E,0x6F4E, 0,0x6F50,0x6F51,0x6F52,0x5572,
+ 0,0x6F53,0x4477, 0,0x6F54,0x4478,0x6F55,0x6F56,
+0x3864,0x3077,0x6F57,0x6F58,0x6F59, 0,0x6F5A,0x6F5B,
+0x6F5C,0x6F5D, 0,0x6F5E,0x3E35,0x6F61,0x6F5F,0x6F60,
+ 0,0x6F62,0x6F63,0x414D,0x6F64,0x6F65,0x6F66,0x6F67,
+0x6F68,0x6F69,0x6F6A,0x6F6B,0x6F6C,0x4058, 0,0x6F6D,
+0x412D,0x6F6E,0x6F6F,0x6F70, 0, 0,0x4F62, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3324,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4345,0x6345,0x4941,0x6346, 0,0x3155,0x4E4A,0x3433,
+0x4872,0x6347,0x4F50,0x6348,0x3C64,0x6349,0x634A,0x4346,
+0x5522,0x4456,0x396B,0x4E45,0x634B,0x4376,0x634C, 0,
+0x3727,0x3873,0x3A52,0x634D,0x634E,0x5444,0x634F, 0,
+0x6350,0x514B,0x6351,0x6352,0x6353,0x6354,0x5156,0x6355,
+0x327B,0x403B,0x6356, 0,0x402B,0x6357,0x6358,0x6359,
+ 0,0x635A,0x635B, 0,0x3837,0x5A62, 0,0x3653,
+ 0,0x5A64,0x5A63, 0, 0, 0, 0, 0,
+ 0, 0,0x5A66, 0, 0, 0,0x486E, 0,
+ 0,0x5A65,0x3740,0x5174,0x5275,0x5573,0x3D57, 0,
+ 0, 0, 0,0x5768,0x5A68,0x5A67, 0,0x3022,
+0x4D53, 0,0x5A69, 0,0x383D,0x3C4A,0x423D,0x4224,
+0x3342,0x5A6A, 0,0x422A,0x4430,0x3D35, 0, 0,
+0x4F5E, 0, 0, 0,0x5A6B,0x4942, 0, 0,
+ 0, 0, 0,0x315D, 0, 0, 0,0x5A6C,
+ 0,0x3638,0x543A, 0,0x337D, 0, 0,0x5A6D,
+0x5449,0x4F55,0x4563, 0,0x5A6E, 0, 0, 0,
+ 0, 0,0x5A6F, 0,0x5A70,0x416A,0x4C55,0x4F5D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5367,0x4221, 0,
+0x5A71, 0, 0,0x4B65, 0,0x5A72, 0,0x4B66,
+0x527E, 0, 0, 0,0x3874, 0, 0,0x5A73,
+0x302F,0x4F36, 0, 0,0x554F, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4B6D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5A74, 0, 0,0x6344, 0, 0,0x4125, 0,
+ 0,0x763F, 0, 0,0x7640,0x7641,0x4451, 0,
+0x4838,0x5163, 0, 0,0x505B,0x5145,0x3C2F,0x394D,
+ 0,0x6F74, 0, 0,0x3446,0x533A,0x7642,0x337B,
+ 0, 0,0x7643, 0, 0,0x3571, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7645, 0, 0, 0, 0, 0, 0, 0,
+0x536A,0x7627,0x5129, 0, 0, 0, 0,0x7629,
+ 0, 0, 0,0x7628, 0, 0,0x4163,0x4057,
+ 0,0x3122, 0, 0, 0, 0,0x4E6D, 0,
+0x5068,0x762B, 0, 0,0x4F76, 0,0x762A,0x5570,
+0x762C,0x4339, 0, 0, 0,0x3B74,0x762E,0x762D,
+ 0, 0, 0,0x445E, 0, 0,0x4158, 0,
+ 0, 0, 0, 0,0x4B2A, 0,0x4F3C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x762F, 0, 0,0x7630, 0, 0,
+0x7631, 0,0x4236, 0, 0, 0, 0, 0,
+0x3054,0x4579, 0, 0, 0, 0,0x7632, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4760,0x7626, 0, 0,0x3E38, 0,
+ 0,0x3E32, 0,0x3565, 0, 0,0x3747, 0,
+0x3F3F,0x4352,0x4366, 0, 0,0x584C, 0, 0,
+ 0,0x386F, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3D79,0x5125, 0,0x3050, 0,
+ 0, 0, 0, 0,0x7730, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x7731, 0, 0,
+ 0, 0, 0,0x502C, 0,0x3030, 0, 0,
+ 0,0x7732,0x7733, 0,0x7734, 0, 0, 0,
+0x474A, 0, 0, 0, 0, 0, 0, 0,
+0x3E4F, 0, 0,0x7737, 0, 0, 0, 0,
+ 0, 0, 0,0x7736, 0,0x315E, 0,0x7735,
+ 0, 0,0x7738, 0,0x7739, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4E24,0x484D,
+ 0,0x3A2B,0x6838,0x6839,0x683A,0x3E42, 0, 0,
+ 0, 0, 0,0x5274, 0,0x544F,0x4958, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5233,0x3625,0x476A,
+0x717C,0x4F6E,0x4B33,0x506B,0x676F,0x4D67,0x394B,0x3659,
+0x717D,0x3064,0x4B4C,0x717E,0x5424,0x422D,0x416C,0x4644,
+0x3E31,0x7221,0x3C55, 0,0x7222,0x7223, 0,0x7224,
+0x5243,0x4635, 0,0x4D47,0x7225, 0,0x5331,0x3F45,
+0x4C62, 0,0x7226,0x7227,0x5155,0x366E,0x7228,0x7229,
+0x355F,0x722A,0x722B, 0,0x327C,0x722C,0x722D,0x4827,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3767, 0,
+ 0,0x6C29,0x6C2A,0x6C2B, 0,0x6C2C, 0, 0,
+0x462E,0x6C2D,0x6C2E, 0, 0, 0,0x3749,0x4A33,
+ 0, 0, 0, 0, 0, 0, 0,0x6238,
+0x774F, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x7750, 0, 0,
+0x324D, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7751, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x7753,0x7752, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x623B, 0,0x3C22, 0,0x623C,
+0x623D,0x623E,0x623F,0x6240,0x6241,0x3739,0x527B,0x3D24,
+0x4A4E,0x3125,0x4B47, 0,0x6242,0x367C,0x4844,0x6243,
+ 0, 0,0x3D48, 0,0x317D,0x6244, 0,0x3676,
+0x6245,0x4459, 0, 0,0x6246,0x4F5A,0x395D,0x6247,
+0x4021, 0,0x6248,0x3276, 0,0x6249, 0,0x4173,
+0x624A,0x624B,0x4278,0x624C,0x624D,0x624E,0x4A57,0x5838,
+0x5965,0x4F63, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x7025, 0, 0,
+0x5C30, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x426D,0x5426,0x4D54,0x5131,
+0x335B,0x477D, 0,0x3235,0x423F,0x6660,0x4A3B,0x6661,
+0x6662,0x3E54,0x6663,0x5724,0x4D55,0x6665,0x3C5D,0x6664,
+0x6666,0x6667,0x426E, 0,0x3D3E,0x6668,0x4266,0x3A27,
+0x6669, 0,0x666A,0x3352,0x5169, 0, 0,0x3F25,
+0x666B,0x466F,0x666C,0x666D, 0, 0,0x666E,0x462D,
+0x666F, 0,0x4927,0x6670,0x6671,0x6672,0x6539,0x6673,
+0x6674,0x4262,0x6675,0x6676,0x5668,0x6677, 0,0x6678,
+0x3947, 0, 0, 0, 0, 0, 0, 0,
+0x773B,0x773A, 0, 0, 0, 0,0x773E,0x773C,
+0x3A21, 0,0x773F, 0,0x7740, 0, 0, 0,
+0x7742,0x7741,0x7744, 0, 0,0x7743, 0, 0,
+ 0, 0, 0,0x7745,0x7746, 0, 0, 0,
+ 0,0x7747, 0,0x4B68, 0, 0, 0, 0,
+0x385F, 0, 0, 0, 0, 0, 0,0x7754,
+ 0,0x7755, 0, 0, 0, 0,0x7756, 0,
+ 0, 0, 0,0x7758, 0,0x775A, 0,0x7757,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x775B, 0,0x7759, 0, 0, 0, 0,
+ 0, 0, 0,0x5757, 0, 0, 0, 0,
+0x775C, 0, 0, 0, 0, 0, 0,0x775D,
+ 0, 0, 0,0x775E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x775F,
+ 0, 0, 0,0x7760, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5B4B,
+ 0, 0,0x582A, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6577,0x396D, 0, 0, 0,
+ 0,0x3F7D,0x3B6A,0x7749,0x4647,0x7748, 0,0x774A,
+0x774C,0x774B, 0, 0, 0,0x774D, 0,0x4E3A,
+ 0,0x774E, 0, 0,0x4427};
+
+/* page 7 0x9C7C-0x9CE2 */
+static uint16 tab_uni_gb23127[]={
+0x5363, 0, 0,0x764F, 0,0x4233,0x7650, 0,
+ 0,0x7651,0x7652,0x7653,0x7654, 0, 0,0x7656,
+ 0,0x312B,0x7657, 0,0x7658,0x7659,0x765A, 0,
+0x765B,0x765C, 0, 0, 0, 0,0x765D,0x765E,
+0x4F4A, 0,0x765F,0x7660,0x7661,0x7662,0x7663,0x7664,
+0x4070,0x7665,0x7666,0x7667,0x7668,0x7669, 0,0x766A,
+ 0,0x766B,0x766C, 0,0x766D,0x766E,0x766F,0x7670,
+0x7671,0x7672,0x7673,0x7674,0x3E28, 0,0x7675,0x7676,
+0x7677,0x7678, 0, 0, 0, 0, 0,0x487A,
+0x7679,0x767A,0x767B,0x767C, 0, 0,0x767D,0x767E,
+0x7721,0x7722,0x7723,0x7724,0x7725, 0, 0,0x7726,
+0x7727,0x7728,0x316E,0x7729,0x772A,0x772B, 0, 0,
+0x772C,0x772D,0x415B,0x772E, 0, 0,0x772F};
+
+/* page 8 0x9E1F-0x9FA0 */
+static uint16 tab_uni_gb23128[]={
+0x4471,0x702F,0x3C26,0x7030,0x4379, 0,0x4538,0x513B,
+ 0,0x7031,0x7032,0x7033,0x7034,0x7035,0x513C, 0,
+0x516C, 0,0x7037,0x7036,0x5427, 0,0x4D52,0x7038,
+0x703A,0x7039,0x703B,0x703C, 0, 0,0x386B,0x703D,
+0x3A68, 0,0x703E,0x703F,0x3E69,0x7040,0x366C,0x7041,
+0x7042,0x7043,0x7044,0x4835,0x7045,0x7046, 0,0x7047,
+0x4574, 0,0x7048, 0, 0, 0,0x7049, 0,
+0x704A,0x773D, 0,0x704B,0x704C,0x704D, 0,0x704E,
+ 0, 0, 0, 0,0x704F,0x3A57, 0,0x7050,
+0x7051,0x7052,0x7053,0x7054,0x7055,0x7056,0x7058, 0,
+ 0,0x5325,0x7057, 0,0x7059, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x753A,
+0x4239, 0, 0,0x7764, 0, 0, 0, 0,
+0x7765,0x7766, 0, 0,0x7767, 0, 0, 0,
+ 0, 0, 0,0x7768,0x4234, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x776A, 0,
+0x776B, 0, 0, 0, 0, 0, 0,0x4273,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x7470, 0, 0,
+ 0,0x746F, 0, 0,0x4269, 0,0x7761,0x7762,
+ 0, 0, 0, 0, 0,0x3B46, 0, 0,
+ 0, 0,0x5964, 0, 0, 0,0x4A72,0x4068,
+0x7024, 0,0x3A5A, 0, 0,0x472D, 0, 0,
+ 0,0x442C, 0, 0,0x776C,0x776D,0x776E, 0,
+0x7770,0x776F, 0,0x7771, 0, 0,0x7774, 0,
+0x7773, 0,0x7772,0x7775, 0, 0, 0, 0,
+0x7776, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6D69, 0,0x6D6A,0x6D6B, 0,0x763C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x763D, 0,0x763E,0x3626,
+ 0,0x583E, 0, 0,0x3944, 0, 0, 0,
+0x583B, 0,0x5C31, 0, 0, 0, 0, 0,
+ 0,0x4A73, 0,0x7777, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x7778, 0, 0,
+0x7779, 0, 0, 0, 0, 0, 0, 0,
+0x777B, 0,0x777A, 0,0x3147, 0,0x777C,0x777D,
+ 0, 0, 0, 0, 0,0x777E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x466B,0x6C34, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x335D,0x7633, 0, 0,0x7634,0x4164,0x7635,0x7636,
+0x7637,0x7638,0x7639,0x763A,0x4823,0x763B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x417A,0x3928,0x6D68, 0, 0, 0,
+0x396A,0x595F};
+
+/* page 9 0xFF01-0xFFE5 */
+static uint16 tab_uni_gb23129[]={
+0x2321,0x2322,0x2323,0x2167,0x2325,0x2326,0x2327,0x2328,
+0x2329,0x232A,0x232B,0x232C,0x232D,0x232E,0x232F,0x2330,
+0x2331,0x2332,0x2333,0x2334,0x2335,0x2336,0x2337,0x2338,
+0x2339,0x233A,0x233B,0x233C,0x233D,0x233E,0x233F,0x2340,
+0x2341,0x2342,0x2343,0x2344,0x2345,0x2346,0x2347,0x2348,
+0x2349,0x234A,0x234B,0x234C,0x234D,0x234E,0x234F,0x2350,
+0x2351,0x2352,0x2353,0x2354,0x2355,0x2356,0x2357,0x2358,
+0x2359,0x235A,0x235B,0x235C,0x235D,0x235E,0x235F,0x2360,
+0x2361,0x2362,0x2363,0x2364,0x2365,0x2366,0x2367,0x2368,
+0x2369,0x236A,0x236B,0x236C,0x236D,0x236E,0x236F,0x2370,
+0x2371,0x2372,0x2373,0x2374,0x2375,0x2376,0x2377,0x2378,
+0x2379,0x237A,0x237B,0x237C,0x237D,0x212B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x2169,
+0x216A, 0,0x237E, 0,0x2324};
+
+static int func_uni_gb2312_onechar(int code){
+ if ((code>=0x00A4)&&(code<=0x01DC))
+ return(tab_uni_gb23120[code-0x00A4]);
+ if ((code>=0x02C7)&&(code<=0x0451))
+ return(tab_uni_gb23121[code-0x02C7]);
+ if ((code>=0x2015)&&(code<=0x2312))
+ return(tab_uni_gb23122[code-0x2015]);
+ if ((code>=0x2460)&&(code<=0x2642))
+ return(tab_uni_gb23123[code-0x2460]);
+ if ((code>=0x3000)&&(code<=0x3129))
+ return(tab_uni_gb23124[code-0x3000]);
+ if ((code>=0x3220)&&(code<=0x3229))
+ return(tab_uni_gb23125[code-0x3220]);
+ if ((code>=0x4E00)&&(code<=0x9B54))
+ return(tab_uni_gb23126[code-0x4E00]);
+ if ((code>=0x9C7C)&&(code<=0x9CE2))
+ return(tab_uni_gb23127[code-0x9C7C]);
+ if ((code>=0x9E1F)&&(code<=0x9FA0))
+ return(tab_uni_gb23128[code-0x9E1F]);
+ if ((code>=0xFF01)&&(code<=0xFFE5))
+ return(tab_uni_gb23129[code-0xFF01]);
+ return(0);
+}
+
+
+int
+my_wc_mb_gb2312(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t wc, uchar *s, uchar *e)
+{
+ int code;
+
+ if (wc<0x80)
+ {
+ s[0]=wc;
+ return 1;
+ }
+
+ if (!(code=func_uni_gb2312_onechar(wc)))
+ return MY_CS_ILUNI;
+
+ if(s+2>e)
+ return MY_CS_TOOSMALL;
+
+ code|=0x8080;
+ s[0]=code>>8;
+ s[1]=code&0xFF;
+ return 2;
+}
+
+int
+my_mb_wc_gb2312(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t *pwc, const uchar *s, const uchar *e){
+ int hi;
+
+ hi=s[0];
+
+ if(hi<0x80)
+ {
+ pwc[0]=hi;
+ return 1;
+ }
+
+ if(s+2>e)
+ return MY_CS_TOOFEW(0);
+
+ if(!(pwc[0]=func_gb2312_uni_onechar(((hi<<8)+s[1])&0x7F7F)))
+ return MY_CS_ILSEQ;
+
+ return 2;
+}
+
+
+#endif
diff --git a/strings/ctype-gbk.c b/strings/ctype-gbk.c
index 9fccce175d8..79e74b5f434 100644
--- a/strings/ctype-gbk.c
+++ b/strings/ctype-gbk.c
@@ -31,6 +31,9 @@
#include "m_string.h"
#include "m_ctype.h"
+#ifdef HAVE_CHARSET_gbk
+
+
/* Support for Chinese(GBK) characters, by hewei@mail.ied.ac.cn */
#define isgbkhead(c) (0x81<=(uchar)(c) && (uchar)(c)<=0xfe)
@@ -2579,7 +2582,9 @@ static uint16 gbksortorder(uint16 i)
}
-int my_strnncoll_gbk(const uchar * s1, int len1, const uchar * s2, int len2)
+int my_strnncoll_gbk(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar * s1, uint len1,
+ const uchar * s2, uint len2)
{
uint len,c1,c2;
@@ -2603,13 +2608,10 @@ int my_strnncoll_gbk(const uchar * s1, int len1, const uchar * s2, int len2)
return (int) (len1-len2);
}
-int my_strcoll_gbk(const uchar * s1, const uchar * s2)
-{
- return my_strnncoll_gbk(s1, (uint) strlen((char*) s1),
- s2, (uint) strlen((char*) s2));
-}
-int my_strnxfrm_gbk(uchar * dest, const uchar * src, int len, int srclen)
+int my_strnxfrm_gbk(CHARSET_INFO *cs __attribute__((unused)),
+ uchar * dest, uint len,
+ const uchar * src, uint srclen)
{
uint16 e;
@@ -2629,10 +2631,6 @@ int my_strnxfrm_gbk(uchar * dest, const uchar * src, int len, int srclen)
return srclen;
}
-int my_strxfrm_gbk(uchar * dest, const uchar * src, int len)
-{
- return my_strnxfrm_gbk(dest,src,len,(uint) strlen((char*) src));
-}
/*
** Calculate min_str and max_str that ranges a LIKE string.
@@ -2655,7 +2653,8 @@ int my_strxfrm_gbk(uchar * dest, const uchar * src, int len)
#define wild_one '_'
#define wild_many '%'
-extern my_bool my_like_range_gbk(const char *ptr,uint ptr_length,pchar escape,
+extern my_bool my_like_range_gbk(CHARSET_INFO *cs __attribute__((unused)),
+ const char *ptr,uint ptr_length,pchar escape,
uint res_length, char *min_str,char *max_str,
uint *min_length,uint *max_length)
{
@@ -2705,17 +2704,7171 @@ extern my_bool my_like_range_gbk(const char *ptr,uint ptr_length,pchar escape,
}
-int ismbchar_gbk(const char* p, const char *e)
+int ismbchar_gbk(CHARSET_INFO *cs __attribute__((unused)),
+ const char* p, const char *e)
{
return (isgbkhead(*(p)) && (e)-(p)>1 && isgbktail(*((p)+1))? 2: 0);
}
-my_bool ismbhead_gbk(uint c)
+my_bool ismbhead_gbk(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return isgbkhead(c);
}
-int mbcharlen_gbk(uint c)
+int mbcharlen_gbk(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (isgbkhead(c)? 2:0);
}
+
+/* page 0 0x8140-0xFE4F */
+static uint16 tab_gbk_uni0[]={
+0x4E02,0x4E04,0x4E05,0x4E06,0x4E0F,0x4E12,0x4E17,0x4E1F,
+0x4E20,0x4E21,0x4E23,0x4E26,0x4E29,0x4E2E,0x4E2F,0x4E31,
+0x4E33,0x4E35,0x4E37,0x4E3C,0x4E40,0x4E41,0x4E42,0x4E44,
+0x4E46,0x4E4A,0x4E51,0x4E55,0x4E57,0x4E5A,0x4E5B,0x4E62,
+0x4E63,0x4E64,0x4E65,0x4E67,0x4E68,0x4E6A,0x4E6B,0x4E6C,
+0x4E6D,0x4E6E,0x4E6F,0x4E72,0x4E74,0x4E75,0x4E76,0x4E77,
+0x4E78,0x4E79,0x4E7A,0x4E7B,0x4E7C,0x4E7D,0x4E7F,0x4E80,
+0x4E81,0x4E82,0x4E83,0x4E84,0x4E85,0x4E87,0x4E8A, 0,
+0x4E90,0x4E96,0x4E97,0x4E99,0x4E9C,0x4E9D,0x4E9E,0x4EA3,
+0x4EAA,0x4EAF,0x4EB0,0x4EB1,0x4EB4,0x4EB6,0x4EB7,0x4EB8,
+0x4EB9,0x4EBC,0x4EBD,0x4EBE,0x4EC8,0x4ECC,0x4ECF,0x4ED0,
+0x4ED2,0x4EDA,0x4EDB,0x4EDC,0x4EE0,0x4EE2,0x4EE6,0x4EE7,
+0x4EE9,0x4EED,0x4EEE,0x4EEF,0x4EF1,0x4EF4,0x4EF8,0x4EF9,
+0x4EFA,0x4EFC,0x4EFE,0x4F00,0x4F02,0x4F03,0x4F04,0x4F05,
+0x4F06,0x4F07,0x4F08,0x4F0B,0x4F0C,0x4F12,0x4F13,0x4F14,
+0x4F15,0x4F16,0x4F1C,0x4F1D,0x4F21,0x4F23,0x4F28,0x4F29,
+0x4F2C,0x4F2D,0x4F2E,0x4F31,0x4F33,0x4F35,0x4F37,0x4F39,
+0x4F3B,0x4F3E,0x4F3F,0x4F40,0x4F41,0x4F42,0x4F44,0x4F45,
+0x4F47,0x4F48,0x4F49,0x4F4A,0x4F4B,0x4F4C,0x4F52,0x4F54,
+0x4F56,0x4F61,0x4F62,0x4F66,0x4F68,0x4F6A,0x4F6B,0x4F6D,
+0x4F6E,0x4F71,0x4F72,0x4F75,0x4F77,0x4F78,0x4F79,0x4F7A,
+0x4F7D,0x4F80,0x4F81,0x4F82,0x4F85,0x4F86,0x4F87,0x4F8A,
+0x4F8C,0x4F8E,0x4F90,0x4F92,0x4F93,0x4F95,0x4F96,0x4F98,
+0x4F99,0x4F9A,0x4F9C,0x4F9E,0x4F9F,0x4FA1,0x4FA2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4FA4,0x4FAB,0x4FAD,0x4FB0,0x4FB1,0x4FB2,0x4FB3,0x4FB4,
+0x4FB6,0x4FB7,0x4FB8,0x4FB9,0x4FBA,0x4FBB,0x4FBC,0x4FBD,
+0x4FBE,0x4FC0,0x4FC1,0x4FC2,0x4FC6,0x4FC7,0x4FC8,0x4FC9,
+0x4FCB,0x4FCC,0x4FCD,0x4FD2,0x4FD3,0x4FD4,0x4FD5,0x4FD6,
+0x4FD9,0x4FDB,0x4FE0,0x4FE2,0x4FE4,0x4FE5,0x4FE7,0x4FEB,
+0x4FEC,0x4FF0,0x4FF2,0x4FF4,0x4FF5,0x4FF6,0x4FF7,0x4FF9,
+0x4FFB,0x4FFC,0x4FFD,0x4FFF,0x5000,0x5001,0x5002,0x5003,
+0x5004,0x5005,0x5006,0x5007,0x5008,0x5009,0x500A, 0,
+0x500B,0x500E,0x5010,0x5011,0x5013,0x5015,0x5016,0x5017,
+0x501B,0x501D,0x501E,0x5020,0x5022,0x5023,0x5024,0x5027,
+0x502B,0x502F,0x5030,0x5031,0x5032,0x5033,0x5034,0x5035,
+0x5036,0x5037,0x5038,0x5039,0x503B,0x503D,0x503F,0x5040,
+0x5041,0x5042,0x5044,0x5045,0x5046,0x5049,0x504A,0x504B,
+0x504D,0x5050,0x5051,0x5052,0x5053,0x5054,0x5056,0x5057,
+0x5058,0x5059,0x505B,0x505D,0x505E,0x505F,0x5060,0x5061,
+0x5062,0x5063,0x5064,0x5066,0x5067,0x5068,0x5069,0x506A,
+0x506B,0x506D,0x506E,0x506F,0x5070,0x5071,0x5072,0x5073,
+0x5074,0x5075,0x5078,0x5079,0x507A,0x507C,0x507D,0x5081,
+0x5082,0x5083,0x5084,0x5086,0x5087,0x5089,0x508A,0x508B,
+0x508C,0x508E,0x508F,0x5090,0x5091,0x5092,0x5093,0x5094,
+0x5095,0x5096,0x5097,0x5098,0x5099,0x509A,0x509B,0x509C,
+0x509D,0x509E,0x509F,0x50A0,0x50A1,0x50A2,0x50A4,0x50A6,
+0x50AA,0x50AB,0x50AD,0x50AE,0x50AF,0x50B0,0x50B1,0x50B3,
+0x50B4,0x50B5,0x50B6,0x50B7,0x50B8,0x50B9,0x50BC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x50BD,0x50BE,0x50BF,0x50C0,0x50C1,0x50C2,0x50C3,0x50C4,
+0x50C5,0x50C6,0x50C7,0x50C8,0x50C9,0x50CA,0x50CB,0x50CC,
+0x50CD,0x50CE,0x50D0,0x50D1,0x50D2,0x50D3,0x50D4,0x50D5,
+0x50D7,0x50D8,0x50D9,0x50DB,0x50DC,0x50DD,0x50DE,0x50DF,
+0x50E0,0x50E1,0x50E2,0x50E3,0x50E4,0x50E5,0x50E8,0x50E9,
+0x50EA,0x50EB,0x50EF,0x50F0,0x50F1,0x50F2,0x50F4,0x50F6,
+0x50F7,0x50F8,0x50F9,0x50FA,0x50FC,0x50FD,0x50FE,0x50FF,
+0x5100,0x5101,0x5102,0x5103,0x5104,0x5105,0x5108, 0,
+0x5109,0x510A,0x510C,0x510D,0x510E,0x510F,0x5110,0x5111,
+0x5113,0x5114,0x5115,0x5116,0x5117,0x5118,0x5119,0x511A,
+0x511B,0x511C,0x511D,0x511E,0x511F,0x5120,0x5122,0x5123,
+0x5124,0x5125,0x5126,0x5127,0x5128,0x5129,0x512A,0x512B,
+0x512C,0x512D,0x512E,0x512F,0x5130,0x5131,0x5132,0x5133,
+0x5134,0x5135,0x5136,0x5137,0x5138,0x5139,0x513A,0x513B,
+0x513C,0x513D,0x513E,0x5142,0x5147,0x514A,0x514C,0x514E,
+0x514F,0x5150,0x5152,0x5153,0x5157,0x5158,0x5159,0x515B,
+0x515D,0x515E,0x515F,0x5160,0x5161,0x5163,0x5164,0x5166,
+0x5167,0x5169,0x516A,0x516F,0x5172,0x517A,0x517E,0x517F,
+0x5183,0x5184,0x5186,0x5187,0x518A,0x518B,0x518E,0x518F,
+0x5190,0x5191,0x5193,0x5194,0x5198,0x519A,0x519D,0x519E,
+0x519F,0x51A1,0x51A3,0x51A6,0x51A7,0x51A8,0x51A9,0x51AA,
+0x51AD,0x51AE,0x51B4,0x51B8,0x51B9,0x51BA,0x51BE,0x51BF,
+0x51C1,0x51C2,0x51C3,0x51C5,0x51C8,0x51CA,0x51CD,0x51CE,
+0x51D0,0x51D2,0x51D3,0x51D4,0x51D5,0x51D6,0x51D7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x51D8,0x51D9,0x51DA,0x51DC,0x51DE,0x51DF,0x51E2,0x51E3,
+0x51E5,0x51E6,0x51E7,0x51E8,0x51E9,0x51EA,0x51EC,0x51EE,
+0x51F1,0x51F2,0x51F4,0x51F7,0x51FE,0x5204,0x5205,0x5209,
+0x520B,0x520C,0x520F,0x5210,0x5213,0x5214,0x5215,0x521C,
+0x521E,0x521F,0x5221,0x5222,0x5223,0x5225,0x5226,0x5227,
+0x522A,0x522C,0x522F,0x5231,0x5232,0x5234,0x5235,0x523C,
+0x523E,0x5244,0x5245,0x5246,0x5247,0x5248,0x5249,0x524B,
+0x524E,0x524F,0x5252,0x5253,0x5255,0x5257,0x5258, 0,
+0x5259,0x525A,0x525B,0x525D,0x525F,0x5260,0x5262,0x5263,
+0x5264,0x5266,0x5268,0x526B,0x526C,0x526D,0x526E,0x5270,
+0x5271,0x5273,0x5274,0x5275,0x5276,0x5277,0x5278,0x5279,
+0x527A,0x527B,0x527C,0x527E,0x5280,0x5283,0x5284,0x5285,
+0x5286,0x5287,0x5289,0x528A,0x528B,0x528C,0x528D,0x528E,
+0x528F,0x5291,0x5292,0x5294,0x5295,0x5296,0x5297,0x5298,
+0x5299,0x529A,0x529C,0x52A4,0x52A5,0x52A6,0x52A7,0x52AE,
+0x52AF,0x52B0,0x52B4,0x52B5,0x52B6,0x52B7,0x52B8,0x52B9,
+0x52BA,0x52BB,0x52BC,0x52BD,0x52C0,0x52C1,0x52C2,0x52C4,
+0x52C5,0x52C6,0x52C8,0x52CA,0x52CC,0x52CD,0x52CE,0x52CF,
+0x52D1,0x52D3,0x52D4,0x52D5,0x52D7,0x52D9,0x52DA,0x52DB,
+0x52DC,0x52DD,0x52DE,0x52E0,0x52E1,0x52E2,0x52E3,0x52E5,
+0x52E6,0x52E7,0x52E8,0x52E9,0x52EA,0x52EB,0x52EC,0x52ED,
+0x52EE,0x52EF,0x52F1,0x52F2,0x52F3,0x52F4,0x52F5,0x52F6,
+0x52F7,0x52F8,0x52FB,0x52FC,0x52FD,0x5301,0x5302,0x5303,
+0x5304,0x5307,0x5309,0x530A,0x530B,0x530C,0x530E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5311,0x5312,0x5313,0x5314,0x5318,0x531B,0x531C,0x531E,
+0x531F,0x5322,0x5324,0x5325,0x5327,0x5328,0x5329,0x532B,
+0x532C,0x532D,0x532F,0x5330,0x5331,0x5332,0x5333,0x5334,
+0x5335,0x5336,0x5337,0x5338,0x533C,0x533D,0x5340,0x5342,
+0x5344,0x5346,0x534B,0x534C,0x534D,0x5350,0x5354,0x5358,
+0x5359,0x535B,0x535D,0x5365,0x5368,0x536A,0x536C,0x536D,
+0x5372,0x5376,0x5379,0x537B,0x537C,0x537D,0x537E,0x5380,
+0x5381,0x5383,0x5387,0x5388,0x538A,0x538E,0x538F, 0,
+0x5390,0x5391,0x5392,0x5393,0x5394,0x5396,0x5397,0x5399,
+0x539B,0x539C,0x539E,0x53A0,0x53A1,0x53A4,0x53A7,0x53AA,
+0x53AB,0x53AC,0x53AD,0x53AF,0x53B0,0x53B1,0x53B2,0x53B3,
+0x53B4,0x53B5,0x53B7,0x53B8,0x53B9,0x53BA,0x53BC,0x53BD,
+0x53BE,0x53C0,0x53C3,0x53C4,0x53C5,0x53C6,0x53C7,0x53CE,
+0x53CF,0x53D0,0x53D2,0x53D3,0x53D5,0x53DA,0x53DC,0x53DD,
+0x53DE,0x53E1,0x53E2,0x53E7,0x53F4,0x53FA,0x53FE,0x53FF,
+0x5400,0x5402,0x5405,0x5407,0x540B,0x5414,0x5418,0x5419,
+0x541A,0x541C,0x5422,0x5424,0x5425,0x542A,0x5430,0x5433,
+0x5436,0x5437,0x543A,0x543D,0x543F,0x5441,0x5442,0x5444,
+0x5445,0x5447,0x5449,0x544C,0x544D,0x544E,0x544F,0x5451,
+0x545A,0x545D,0x545E,0x545F,0x5460,0x5461,0x5463,0x5465,
+0x5467,0x5469,0x546A,0x546B,0x546C,0x546D,0x546E,0x546F,
+0x5470,0x5474,0x5479,0x547A,0x547E,0x547F,0x5481,0x5483,
+0x5485,0x5487,0x5488,0x5489,0x548A,0x548D,0x5491,0x5493,
+0x5497,0x5498,0x549C,0x549E,0x549F,0x54A0,0x54A1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x54A2,0x54A5,0x54AE,0x54B0,0x54B2,0x54B5,0x54B6,0x54B7,
+0x54B9,0x54BA,0x54BC,0x54BE,0x54C3,0x54C5,0x54CA,0x54CB,
+0x54D6,0x54D8,0x54DB,0x54E0,0x54E1,0x54E2,0x54E3,0x54E4,
+0x54EB,0x54EC,0x54EF,0x54F0,0x54F1,0x54F4,0x54F5,0x54F6,
+0x54F7,0x54F8,0x54F9,0x54FB,0x54FE,0x5500,0x5502,0x5503,
+0x5504,0x5505,0x5508,0x550A,0x550B,0x550C,0x550D,0x550E,
+0x5512,0x5513,0x5515,0x5516,0x5517,0x5518,0x5519,0x551A,
+0x551C,0x551D,0x551E,0x551F,0x5521,0x5525,0x5526, 0,
+0x5528,0x5529,0x552B,0x552D,0x5532,0x5534,0x5535,0x5536,
+0x5538,0x5539,0x553A,0x553B,0x553D,0x5540,0x5542,0x5545,
+0x5547,0x5548,0x554B,0x554C,0x554D,0x554E,0x554F,0x5551,
+0x5552,0x5553,0x5554,0x5557,0x5558,0x5559,0x555A,0x555B,
+0x555D,0x555E,0x555F,0x5560,0x5562,0x5563,0x5568,0x5569,
+0x556B,0x556F,0x5570,0x5571,0x5572,0x5573,0x5574,0x5579,
+0x557A,0x557D,0x557F,0x5585,0x5586,0x558C,0x558D,0x558E,
+0x5590,0x5592,0x5593,0x5595,0x5596,0x5597,0x559A,0x559B,
+0x559E,0x55A0,0x55A1,0x55A2,0x55A3,0x55A4,0x55A5,0x55A6,
+0x55A8,0x55A9,0x55AA,0x55AB,0x55AC,0x55AD,0x55AE,0x55AF,
+0x55B0,0x55B2,0x55B4,0x55B6,0x55B8,0x55BA,0x55BC,0x55BF,
+0x55C0,0x55C1,0x55C2,0x55C3,0x55C6,0x55C7,0x55C8,0x55CA,
+0x55CB,0x55CE,0x55CF,0x55D0,0x55D5,0x55D7,0x55D8,0x55D9,
+0x55DA,0x55DB,0x55DE,0x55E0,0x55E2,0x55E7,0x55E9,0x55ED,
+0x55EE,0x55F0,0x55F1,0x55F4,0x55F6,0x55F8,0x55F9,0x55FA,
+0x55FB,0x55FC,0x55FF,0x5602,0x5603,0x5604,0x5605, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5606,0x5607,0x560A,0x560B,0x560D,0x5610,0x5611,0x5612,
+0x5613,0x5614,0x5615,0x5616,0x5617,0x5619,0x561A,0x561C,
+0x561D,0x5620,0x5621,0x5622,0x5625,0x5626,0x5628,0x5629,
+0x562A,0x562B,0x562E,0x562F,0x5630,0x5633,0x5635,0x5637,
+0x5638,0x563A,0x563C,0x563D,0x563E,0x5640,0x5641,0x5642,
+0x5643,0x5644,0x5645,0x5646,0x5647,0x5648,0x5649,0x564A,
+0x564B,0x564F,0x5650,0x5651,0x5652,0x5653,0x5655,0x5656,
+0x565A,0x565B,0x565D,0x565E,0x565F,0x5660,0x5661, 0,
+0x5663,0x5665,0x5666,0x5667,0x566D,0x566E,0x566F,0x5670,
+0x5672,0x5673,0x5674,0x5675,0x5677,0x5678,0x5679,0x567A,
+0x567D,0x567E,0x567F,0x5680,0x5681,0x5682,0x5683,0x5684,
+0x5687,0x5688,0x5689,0x568A,0x568B,0x568C,0x568D,0x5690,
+0x5691,0x5692,0x5694,0x5695,0x5696,0x5697,0x5698,0x5699,
+0x569A,0x569B,0x569C,0x569D,0x569E,0x569F,0x56A0,0x56A1,
+0x56A2,0x56A4,0x56A5,0x56A6,0x56A7,0x56A8,0x56A9,0x56AA,
+0x56AB,0x56AC,0x56AD,0x56AE,0x56B0,0x56B1,0x56B2,0x56B3,
+0x56B4,0x56B5,0x56B6,0x56B8,0x56B9,0x56BA,0x56BB,0x56BD,
+0x56BE,0x56BF,0x56C0,0x56C1,0x56C2,0x56C3,0x56C4,0x56C5,
+0x56C6,0x56C7,0x56C8,0x56C9,0x56CB,0x56CC,0x56CD,0x56CE,
+0x56CF,0x56D0,0x56D1,0x56D2,0x56D3,0x56D5,0x56D6,0x56D8,
+0x56D9,0x56DC,0x56E3,0x56E5,0x56E6,0x56E7,0x56E8,0x56E9,
+0x56EA,0x56EC,0x56EE,0x56EF,0x56F2,0x56F3,0x56F6,0x56F7,
+0x56F8,0x56FB,0x56FC,0x5700,0x5701,0x5702,0x5705,0x5707,
+0x570B,0x570C,0x570D,0x570E,0x570F,0x5710,0x5711, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5712,0x5713,0x5714,0x5715,0x5716,0x5717,0x5718,0x5719,
+0x571A,0x571B,0x571D,0x571E,0x5720,0x5721,0x5722,0x5724,
+0x5725,0x5726,0x5727,0x572B,0x5731,0x5732,0x5734,0x5735,
+0x5736,0x5737,0x5738,0x573C,0x573D,0x573F,0x5741,0x5743,
+0x5744,0x5745,0x5746,0x5748,0x5749,0x574B,0x5752,0x5753,
+0x5754,0x5755,0x5756,0x5758,0x5759,0x5762,0x5763,0x5765,
+0x5767,0x576C,0x576E,0x5770,0x5771,0x5772,0x5774,0x5775,
+0x5778,0x5779,0x577A,0x577D,0x577E,0x577F,0x5780, 0,
+0x5781,0x5787,0x5788,0x5789,0x578A,0x578D,0x578E,0x578F,
+0x5790,0x5791,0x5794,0x5795,0x5796,0x5797,0x5798,0x5799,
+0x579A,0x579C,0x579D,0x579E,0x579F,0x57A5,0x57A8,0x57AA,
+0x57AC,0x57AF,0x57B0,0x57B1,0x57B3,0x57B5,0x57B6,0x57B7,
+0x57B9,0x57BA,0x57BB,0x57BC,0x57BD,0x57BE,0x57BF,0x57C0,
+0x57C1,0x57C4,0x57C5,0x57C6,0x57C7,0x57C8,0x57C9,0x57CA,
+0x57CC,0x57CD,0x57D0,0x57D1,0x57D3,0x57D6,0x57D7,0x57DB,
+0x57DC,0x57DE,0x57E1,0x57E2,0x57E3,0x57E5,0x57E6,0x57E7,
+0x57E8,0x57E9,0x57EA,0x57EB,0x57EC,0x57EE,0x57F0,0x57F1,
+0x57F2,0x57F3,0x57F5,0x57F6,0x57F7,0x57FB,0x57FC,0x57FE,
+0x57FF,0x5801,0x5803,0x5804,0x5805,0x5808,0x5809,0x580A,
+0x580C,0x580E,0x580F,0x5810,0x5812,0x5813,0x5814,0x5816,
+0x5817,0x5818,0x581A,0x581B,0x581C,0x581D,0x581F,0x5822,
+0x5823,0x5825,0x5826,0x5827,0x5828,0x5829,0x582B,0x582C,
+0x582D,0x582E,0x582F,0x5831,0x5832,0x5833,0x5834,0x5836,
+0x5837,0x5838,0x5839,0x583A,0x583B,0x583C,0x583D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x583E,0x583F,0x5840,0x5841,0x5842,0x5843,0x5845,0x5846,
+0x5847,0x5848,0x5849,0x584A,0x584B,0x584E,0x584F,0x5850,
+0x5852,0x5853,0x5855,0x5856,0x5857,0x5859,0x585A,0x585B,
+0x585C,0x585D,0x585F,0x5860,0x5861,0x5862,0x5863,0x5864,
+0x5866,0x5867,0x5868,0x5869,0x586A,0x586D,0x586E,0x586F,
+0x5870,0x5871,0x5872,0x5873,0x5874,0x5875,0x5876,0x5877,
+0x5878,0x5879,0x587A,0x587B,0x587C,0x587D,0x587F,0x5882,
+0x5884,0x5886,0x5887,0x5888,0x588A,0x588B,0x588C, 0,
+0x588D,0x588E,0x588F,0x5890,0x5891,0x5894,0x5895,0x5896,
+0x5897,0x5898,0x589B,0x589C,0x589D,0x58A0,0x58A1,0x58A2,
+0x58A3,0x58A4,0x58A5,0x58A6,0x58A7,0x58AA,0x58AB,0x58AC,
+0x58AD,0x58AE,0x58AF,0x58B0,0x58B1,0x58B2,0x58B3,0x58B4,
+0x58B5,0x58B6,0x58B7,0x58B8,0x58B9,0x58BA,0x58BB,0x58BD,
+0x58BE,0x58BF,0x58C0,0x58C2,0x58C3,0x58C4,0x58C6,0x58C7,
+0x58C8,0x58C9,0x58CA,0x58CB,0x58CC,0x58CD,0x58CE,0x58CF,
+0x58D0,0x58D2,0x58D3,0x58D4,0x58D6,0x58D7,0x58D8,0x58D9,
+0x58DA,0x58DB,0x58DC,0x58DD,0x58DE,0x58DF,0x58E0,0x58E1,
+0x58E2,0x58E3,0x58E5,0x58E6,0x58E7,0x58E8,0x58E9,0x58EA,
+0x58ED,0x58EF,0x58F1,0x58F2,0x58F4,0x58F5,0x58F7,0x58F8,
+0x58FA,0x58FB,0x58FC,0x58FD,0x58FE,0x58FF,0x5900,0x5901,
+0x5903,0x5905,0x5906,0x5908,0x5909,0x590A,0x590B,0x590C,
+0x590E,0x5910,0x5911,0x5912,0x5913,0x5917,0x5918,0x591B,
+0x591D,0x591E,0x5920,0x5921,0x5922,0x5923,0x5926,0x5928,
+0x592C,0x5930,0x5932,0x5933,0x5935,0x5936,0x593B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x593D,0x593E,0x593F,0x5940,0x5943,0x5945,0x5946,0x594A,
+0x594C,0x594D,0x5950,0x5952,0x5953,0x5959,0x595B,0x595C,
+0x595D,0x595E,0x595F,0x5961,0x5963,0x5964,0x5966,0x5967,
+0x5968,0x5969,0x596A,0x596B,0x596C,0x596D,0x596E,0x596F,
+0x5970,0x5971,0x5972,0x5975,0x5977,0x597A,0x597B,0x597C,
+0x597E,0x597F,0x5980,0x5985,0x5989,0x598B,0x598C,0x598E,
+0x598F,0x5990,0x5991,0x5994,0x5995,0x5998,0x599A,0x599B,
+0x599C,0x599D,0x599F,0x59A0,0x59A1,0x59A2,0x59A6, 0,
+0x59A7,0x59AC,0x59AD,0x59B0,0x59B1,0x59B3,0x59B4,0x59B5,
+0x59B6,0x59B7,0x59B8,0x59BA,0x59BC,0x59BD,0x59BF,0x59C0,
+0x59C1,0x59C2,0x59C3,0x59C4,0x59C5,0x59C7,0x59C8,0x59C9,
+0x59CC,0x59CD,0x59CE,0x59CF,0x59D5,0x59D6,0x59D9,0x59DB,
+0x59DE,0x59DF,0x59E0,0x59E1,0x59E2,0x59E4,0x59E6,0x59E7,
+0x59E9,0x59EA,0x59EB,0x59ED,0x59EE,0x59EF,0x59F0,0x59F1,
+0x59F2,0x59F3,0x59F4,0x59F5,0x59F6,0x59F7,0x59F8,0x59FA,
+0x59FC,0x59FD,0x59FE,0x5A00,0x5A02,0x5A0A,0x5A0B,0x5A0D,
+0x5A0E,0x5A0F,0x5A10,0x5A12,0x5A14,0x5A15,0x5A16,0x5A17,
+0x5A19,0x5A1A,0x5A1B,0x5A1D,0x5A1E,0x5A21,0x5A22,0x5A24,
+0x5A26,0x5A27,0x5A28,0x5A2A,0x5A2B,0x5A2C,0x5A2D,0x5A2E,
+0x5A2F,0x5A30,0x5A33,0x5A35,0x5A37,0x5A38,0x5A39,0x5A3A,
+0x5A3B,0x5A3D,0x5A3E,0x5A3F,0x5A41,0x5A42,0x5A43,0x5A44,
+0x5A45,0x5A47,0x5A48,0x5A4B,0x5A4C,0x5A4D,0x5A4E,0x5A4F,
+0x5A50,0x5A51,0x5A52,0x5A53,0x5A54,0x5A56,0x5A57,0x5A58,
+0x5A59,0x5A5B,0x5A5C,0x5A5D,0x5A5E,0x5A5F,0x5A60, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5A61,0x5A63,0x5A64,0x5A65,0x5A66,0x5A68,0x5A69,0x5A6B,
+0x5A6C,0x5A6D,0x5A6E,0x5A6F,0x5A70,0x5A71,0x5A72,0x5A73,
+0x5A78,0x5A79,0x5A7B,0x5A7C,0x5A7D,0x5A7E,0x5A80,0x5A81,
+0x5A82,0x5A83,0x5A84,0x5A85,0x5A86,0x5A87,0x5A88,0x5A89,
+0x5A8A,0x5A8B,0x5A8C,0x5A8D,0x5A8E,0x5A8F,0x5A90,0x5A91,
+0x5A93,0x5A94,0x5A95,0x5A96,0x5A97,0x5A98,0x5A99,0x5A9C,
+0x5A9D,0x5A9E,0x5A9F,0x5AA0,0x5AA1,0x5AA2,0x5AA3,0x5AA4,
+0x5AA5,0x5AA6,0x5AA7,0x5AA8,0x5AA9,0x5AAB,0x5AAC, 0,
+0x5AAD,0x5AAE,0x5AAF,0x5AB0,0x5AB1,0x5AB4,0x5AB6,0x5AB7,
+0x5AB9,0x5ABA,0x5ABB,0x5ABC,0x5ABD,0x5ABF,0x5AC0,0x5AC3,
+0x5AC4,0x5AC5,0x5AC6,0x5AC7,0x5AC8,0x5ACA,0x5ACB,0x5ACD,
+0x5ACE,0x5ACF,0x5AD0,0x5AD1,0x5AD3,0x5AD5,0x5AD7,0x5AD9,
+0x5ADA,0x5ADB,0x5ADD,0x5ADE,0x5ADF,0x5AE2,0x5AE4,0x5AE5,
+0x5AE7,0x5AE8,0x5AEA,0x5AEC,0x5AED,0x5AEE,0x5AEF,0x5AF0,
+0x5AF2,0x5AF3,0x5AF4,0x5AF5,0x5AF6,0x5AF7,0x5AF8,0x5AF9,
+0x5AFA,0x5AFB,0x5AFC,0x5AFD,0x5AFE,0x5AFF,0x5B00,0x5B01,
+0x5B02,0x5B03,0x5B04,0x5B05,0x5B06,0x5B07,0x5B08,0x5B0A,
+0x5B0B,0x5B0C,0x5B0D,0x5B0E,0x5B0F,0x5B10,0x5B11,0x5B12,
+0x5B13,0x5B14,0x5B15,0x5B18,0x5B19,0x5B1A,0x5B1B,0x5B1C,
+0x5B1D,0x5B1E,0x5B1F,0x5B20,0x5B21,0x5B22,0x5B23,0x5B24,
+0x5B25,0x5B26,0x5B27,0x5B28,0x5B29,0x5B2A,0x5B2B,0x5B2C,
+0x5B2D,0x5B2E,0x5B2F,0x5B30,0x5B31,0x5B33,0x5B35,0x5B36,
+0x5B38,0x5B39,0x5B3A,0x5B3B,0x5B3C,0x5B3D,0x5B3E,0x5B3F,
+0x5B41,0x5B42,0x5B43,0x5B44,0x5B45,0x5B46,0x5B47, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5B48,0x5B49,0x5B4A,0x5B4B,0x5B4C,0x5B4D,0x5B4E,0x5B4F,
+0x5B52,0x5B56,0x5B5E,0x5B60,0x5B61,0x5B67,0x5B68,0x5B6B,
+0x5B6D,0x5B6E,0x5B6F,0x5B72,0x5B74,0x5B76,0x5B77,0x5B78,
+0x5B79,0x5B7B,0x5B7C,0x5B7E,0x5B7F,0x5B82,0x5B86,0x5B8A,
+0x5B8D,0x5B8E,0x5B90,0x5B91,0x5B92,0x5B94,0x5B96,0x5B9F,
+0x5BA7,0x5BA8,0x5BA9,0x5BAC,0x5BAD,0x5BAE,0x5BAF,0x5BB1,
+0x5BB2,0x5BB7,0x5BBA,0x5BBB,0x5BBC,0x5BC0,0x5BC1,0x5BC3,
+0x5BC8,0x5BC9,0x5BCA,0x5BCB,0x5BCD,0x5BCE,0x5BCF, 0,
+0x5BD1,0x5BD4,0x5BD5,0x5BD6,0x5BD7,0x5BD8,0x5BD9,0x5BDA,
+0x5BDB,0x5BDC,0x5BE0,0x5BE2,0x5BE3,0x5BE6,0x5BE7,0x5BE9,
+0x5BEA,0x5BEB,0x5BEC,0x5BED,0x5BEF,0x5BF1,0x5BF2,0x5BF3,
+0x5BF4,0x5BF5,0x5BF6,0x5BF7,0x5BFD,0x5BFE,0x5C00,0x5C02,
+0x5C03,0x5C05,0x5C07,0x5C08,0x5C0B,0x5C0C,0x5C0D,0x5C0E,
+0x5C10,0x5C12,0x5C13,0x5C17,0x5C19,0x5C1B,0x5C1E,0x5C1F,
+0x5C20,0x5C21,0x5C23,0x5C26,0x5C28,0x5C29,0x5C2A,0x5C2B,
+0x5C2D,0x5C2E,0x5C2F,0x5C30,0x5C32,0x5C33,0x5C35,0x5C36,
+0x5C37,0x5C43,0x5C44,0x5C46,0x5C47,0x5C4C,0x5C4D,0x5C52,
+0x5C53,0x5C54,0x5C56,0x5C57,0x5C58,0x5C5A,0x5C5B,0x5C5C,
+0x5C5D,0x5C5F,0x5C62,0x5C64,0x5C67,0x5C68,0x5C69,0x5C6A,
+0x5C6B,0x5C6C,0x5C6D,0x5C70,0x5C72,0x5C73,0x5C74,0x5C75,
+0x5C76,0x5C77,0x5C78,0x5C7B,0x5C7C,0x5C7D,0x5C7E,0x5C80,
+0x5C83,0x5C84,0x5C85,0x5C86,0x5C87,0x5C89,0x5C8A,0x5C8B,
+0x5C8E,0x5C8F,0x5C92,0x5C93,0x5C95,0x5C9D,0x5C9E,0x5C9F,
+0x5CA0,0x5CA1,0x5CA4,0x5CA5,0x5CA6,0x5CA7,0x5CA8, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5CAA,0x5CAE,0x5CAF,0x5CB0,0x5CB2,0x5CB4,0x5CB6,0x5CB9,
+0x5CBA,0x5CBB,0x5CBC,0x5CBE,0x5CC0,0x5CC2,0x5CC3,0x5CC5,
+0x5CC6,0x5CC7,0x5CC8,0x5CC9,0x5CCA,0x5CCC,0x5CCD,0x5CCE,
+0x5CCF,0x5CD0,0x5CD1,0x5CD3,0x5CD4,0x5CD5,0x5CD6,0x5CD7,
+0x5CD8,0x5CDA,0x5CDB,0x5CDC,0x5CDD,0x5CDE,0x5CDF,0x5CE0,
+0x5CE2,0x5CE3,0x5CE7,0x5CE9,0x5CEB,0x5CEC,0x5CEE,0x5CEF,
+0x5CF1,0x5CF2,0x5CF3,0x5CF4,0x5CF5,0x5CF6,0x5CF7,0x5CF8,
+0x5CF9,0x5CFA,0x5CFC,0x5CFD,0x5CFE,0x5CFF,0x5D00, 0,
+0x5D01,0x5D04,0x5D05,0x5D08,0x5D09,0x5D0A,0x5D0B,0x5D0C,
+0x5D0D,0x5D0F,0x5D10,0x5D11,0x5D12,0x5D13,0x5D15,0x5D17,
+0x5D18,0x5D19,0x5D1A,0x5D1C,0x5D1D,0x5D1F,0x5D20,0x5D21,
+0x5D22,0x5D23,0x5D25,0x5D28,0x5D2A,0x5D2B,0x5D2C,0x5D2F,
+0x5D30,0x5D31,0x5D32,0x5D33,0x5D35,0x5D36,0x5D37,0x5D38,
+0x5D39,0x5D3A,0x5D3B,0x5D3C,0x5D3F,0x5D40,0x5D41,0x5D42,
+0x5D43,0x5D44,0x5D45,0x5D46,0x5D48,0x5D49,0x5D4D,0x5D4E,
+0x5D4F,0x5D50,0x5D51,0x5D52,0x5D53,0x5D54,0x5D55,0x5D56,
+0x5D57,0x5D59,0x5D5A,0x5D5C,0x5D5E,0x5D5F,0x5D60,0x5D61,
+0x5D62,0x5D63,0x5D64,0x5D65,0x5D66,0x5D67,0x5D68,0x5D6A,
+0x5D6D,0x5D6E,0x5D70,0x5D71,0x5D72,0x5D73,0x5D75,0x5D76,
+0x5D77,0x5D78,0x5D79,0x5D7A,0x5D7B,0x5D7C,0x5D7D,0x5D7E,
+0x5D7F,0x5D80,0x5D81,0x5D83,0x5D84,0x5D85,0x5D86,0x5D87,
+0x5D88,0x5D89,0x5D8A,0x5D8B,0x5D8C,0x5D8D,0x5D8E,0x5D8F,
+0x5D90,0x5D91,0x5D92,0x5D93,0x5D94,0x5D95,0x5D96,0x5D97,
+0x5D98,0x5D9A,0x5D9B,0x5D9C,0x5D9E,0x5D9F,0x5DA0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5DA1,0x5DA2,0x5DA3,0x5DA4,0x5DA5,0x5DA6,0x5DA7,0x5DA8,
+0x5DA9,0x5DAA,0x5DAB,0x5DAC,0x5DAD,0x5DAE,0x5DAF,0x5DB0,
+0x5DB1,0x5DB2,0x5DB3,0x5DB4,0x5DB5,0x5DB6,0x5DB8,0x5DB9,
+0x5DBA,0x5DBB,0x5DBC,0x5DBD,0x5DBE,0x5DBF,0x5DC0,0x5DC1,
+0x5DC2,0x5DC3,0x5DC4,0x5DC6,0x5DC7,0x5DC8,0x5DC9,0x5DCA,
+0x5DCB,0x5DCC,0x5DCE,0x5DCF,0x5DD0,0x5DD1,0x5DD2,0x5DD3,
+0x5DD4,0x5DD5,0x5DD6,0x5DD7,0x5DD8,0x5DD9,0x5DDA,0x5DDC,
+0x5DDF,0x5DE0,0x5DE3,0x5DE4,0x5DEA,0x5DEC,0x5DED, 0,
+0x5DF0,0x5DF5,0x5DF6,0x5DF8,0x5DF9,0x5DFA,0x5DFB,0x5DFC,
+0x5DFF,0x5E00,0x5E04,0x5E07,0x5E09,0x5E0A,0x5E0B,0x5E0D,
+0x5E0E,0x5E12,0x5E13,0x5E17,0x5E1E,0x5E1F,0x5E20,0x5E21,
+0x5E22,0x5E23,0x5E24,0x5E25,0x5E28,0x5E29,0x5E2A,0x5E2B,
+0x5E2C,0x5E2F,0x5E30,0x5E32,0x5E33,0x5E34,0x5E35,0x5E36,
+0x5E39,0x5E3A,0x5E3E,0x5E3F,0x5E40,0x5E41,0x5E43,0x5E46,
+0x5E47,0x5E48,0x5E49,0x5E4A,0x5E4B,0x5E4D,0x5E4E,0x5E4F,
+0x5E50,0x5E51,0x5E52,0x5E53,0x5E56,0x5E57,0x5E58,0x5E59,
+0x5E5A,0x5E5C,0x5E5D,0x5E5F,0x5E60,0x5E63,0x5E64,0x5E65,
+0x5E66,0x5E67,0x5E68,0x5E69,0x5E6A,0x5E6B,0x5E6C,0x5E6D,
+0x5E6E,0x5E6F,0x5E70,0x5E71,0x5E75,0x5E77,0x5E79,0x5E7E,
+0x5E81,0x5E82,0x5E83,0x5E85,0x5E88,0x5E89,0x5E8C,0x5E8D,
+0x5E8E,0x5E92,0x5E98,0x5E9B,0x5E9D,0x5EA1,0x5EA2,0x5EA3,
+0x5EA4,0x5EA8,0x5EA9,0x5EAA,0x5EAB,0x5EAC,0x5EAE,0x5EAF,
+0x5EB0,0x5EB1,0x5EB2,0x5EB4,0x5EBA,0x5EBB,0x5EBC,0x5EBD,
+0x5EBF,0x5EC0,0x5EC1,0x5EC2,0x5EC3,0x5EC4,0x5EC5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5EC6,0x5EC7,0x5EC8,0x5ECB,0x5ECC,0x5ECD,0x5ECE,0x5ECF,
+0x5ED0,0x5ED4,0x5ED5,0x5ED7,0x5ED8,0x5ED9,0x5EDA,0x5EDC,
+0x5EDD,0x5EDE,0x5EDF,0x5EE0,0x5EE1,0x5EE2,0x5EE3,0x5EE4,
+0x5EE5,0x5EE6,0x5EE7,0x5EE9,0x5EEB,0x5EEC,0x5EED,0x5EEE,
+0x5EEF,0x5EF0,0x5EF1,0x5EF2,0x5EF3,0x5EF5,0x5EF8,0x5EF9,
+0x5EFB,0x5EFC,0x5EFD,0x5F05,0x5F06,0x5F07,0x5F09,0x5F0C,
+0x5F0D,0x5F0E,0x5F10,0x5F12,0x5F14,0x5F16,0x5F19,0x5F1A,
+0x5F1C,0x5F1D,0x5F1E,0x5F21,0x5F22,0x5F23,0x5F24, 0,
+0x5F28,0x5F2B,0x5F2C,0x5F2E,0x5F30,0x5F32,0x5F33,0x5F34,
+0x5F35,0x5F36,0x5F37,0x5F38,0x5F3B,0x5F3D,0x5F3E,0x5F3F,
+0x5F41,0x5F42,0x5F43,0x5F44,0x5F45,0x5F46,0x5F47,0x5F48,
+0x5F49,0x5F4A,0x5F4B,0x5F4C,0x5F4D,0x5F4E,0x5F4F,0x5F51,
+0x5F54,0x5F59,0x5F5A,0x5F5B,0x5F5C,0x5F5E,0x5F5F,0x5F60,
+0x5F63,0x5F65,0x5F67,0x5F68,0x5F6B,0x5F6E,0x5F6F,0x5F72,
+0x5F74,0x5F75,0x5F76,0x5F78,0x5F7A,0x5F7D,0x5F7E,0x5F7F,
+0x5F83,0x5F86,0x5F8D,0x5F8E,0x5F8F,0x5F91,0x5F93,0x5F94,
+0x5F96,0x5F9A,0x5F9B,0x5F9D,0x5F9E,0x5F9F,0x5FA0,0x5FA2,
+0x5FA3,0x5FA4,0x5FA5,0x5FA6,0x5FA7,0x5FA9,0x5FAB,0x5FAC,
+0x5FAF,0x5FB0,0x5FB1,0x5FB2,0x5FB3,0x5FB4,0x5FB6,0x5FB8,
+0x5FB9,0x5FBA,0x5FBB,0x5FBE,0x5FBF,0x5FC0,0x5FC1,0x5FC2,
+0x5FC7,0x5FC8,0x5FCA,0x5FCB,0x5FCE,0x5FD3,0x5FD4,0x5FD5,
+0x5FDA,0x5FDB,0x5FDC,0x5FDE,0x5FDF,0x5FE2,0x5FE3,0x5FE5,
+0x5FE6,0x5FE8,0x5FE9,0x5FEC,0x5FEF,0x5FF0,0x5FF2,0x5FF3,
+0x5FF4,0x5FF6,0x5FF7,0x5FF9,0x5FFA,0x5FFC,0x6007, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6008,0x6009,0x600B,0x600C,0x6010,0x6011,0x6013,0x6017,
+0x6018,0x601A,0x601E,0x601F,0x6022,0x6023,0x6024,0x602C,
+0x602D,0x602E,0x6030,0x6031,0x6032,0x6033,0x6034,0x6036,
+0x6037,0x6038,0x6039,0x603A,0x603D,0x603E,0x6040,0x6044,
+0x6045,0x6046,0x6047,0x6048,0x6049,0x604A,0x604C,0x604E,
+0x604F,0x6051,0x6053,0x6054,0x6056,0x6057,0x6058,0x605B,
+0x605C,0x605E,0x605F,0x6060,0x6061,0x6065,0x6066,0x606E,
+0x6071,0x6072,0x6074,0x6075,0x6077,0x607E,0x6080, 0,
+0x6081,0x6082,0x6085,0x6086,0x6087,0x6088,0x608A,0x608B,
+0x608E,0x608F,0x6090,0x6091,0x6093,0x6095,0x6097,0x6098,
+0x6099,0x609C,0x609E,0x60A1,0x60A2,0x60A4,0x60A5,0x60A7,
+0x60A9,0x60AA,0x60AE,0x60B0,0x60B3,0x60B5,0x60B6,0x60B7,
+0x60B9,0x60BA,0x60BD,0x60BE,0x60BF,0x60C0,0x60C1,0x60C2,
+0x60C3,0x60C4,0x60C7,0x60C8,0x60C9,0x60CC,0x60CD,0x60CE,
+0x60CF,0x60D0,0x60D2,0x60D3,0x60D4,0x60D6,0x60D7,0x60D9,
+0x60DB,0x60DE,0x60E1,0x60E2,0x60E3,0x60E4,0x60E5,0x60EA,
+0x60F1,0x60F2,0x60F5,0x60F7,0x60F8,0x60FB,0x60FC,0x60FD,
+0x60FE,0x60FF,0x6102,0x6103,0x6104,0x6105,0x6107,0x610A,
+0x610B,0x610C,0x6110,0x6111,0x6112,0x6113,0x6114,0x6116,
+0x6117,0x6118,0x6119,0x611B,0x611C,0x611D,0x611E,0x6121,
+0x6122,0x6125,0x6128,0x6129,0x612A,0x612C,0x612D,0x612E,
+0x612F,0x6130,0x6131,0x6132,0x6133,0x6134,0x6135,0x6136,
+0x6137,0x6138,0x6139,0x613A,0x613B,0x613C,0x613D,0x613E,
+0x6140,0x6141,0x6142,0x6143,0x6144,0x6145,0x6146, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6147,0x6149,0x614B,0x614D,0x614F,0x6150,0x6152,0x6153,
+0x6154,0x6156,0x6157,0x6158,0x6159,0x615A,0x615B,0x615C,
+0x615E,0x615F,0x6160,0x6161,0x6163,0x6164,0x6165,0x6166,
+0x6169,0x616A,0x616B,0x616C,0x616D,0x616E,0x616F,0x6171,
+0x6172,0x6173,0x6174,0x6176,0x6178,0x6179,0x617A,0x617B,
+0x617C,0x617D,0x617E,0x617F,0x6180,0x6181,0x6182,0x6183,
+0x6184,0x6185,0x6186,0x6187,0x6188,0x6189,0x618A,0x618C,
+0x618D,0x618F,0x6190,0x6191,0x6192,0x6193,0x6195, 0,
+0x6196,0x6197,0x6198,0x6199,0x619A,0x619B,0x619C,0x619E,
+0x619F,0x61A0,0x61A1,0x61A2,0x61A3,0x61A4,0x61A5,0x61A6,
+0x61AA,0x61AB,0x61AD,0x61AE,0x61AF,0x61B0,0x61B1,0x61B2,
+0x61B3,0x61B4,0x61B5,0x61B6,0x61B8,0x61B9,0x61BA,0x61BB,
+0x61BC,0x61BD,0x61BF,0x61C0,0x61C1,0x61C3,0x61C4,0x61C5,
+0x61C6,0x61C7,0x61C9,0x61CC,0x61CD,0x61CE,0x61CF,0x61D0,
+0x61D3,0x61D5,0x61D6,0x61D7,0x61D8,0x61D9,0x61DA,0x61DB,
+0x61DC,0x61DD,0x61DE,0x61DF,0x61E0,0x61E1,0x61E2,0x61E3,
+0x61E4,0x61E5,0x61E7,0x61E8,0x61E9,0x61EA,0x61EB,0x61EC,
+0x61ED,0x61EE,0x61EF,0x61F0,0x61F1,0x61F2,0x61F3,0x61F4,
+0x61F6,0x61F7,0x61F8,0x61F9,0x61FA,0x61FB,0x61FC,0x61FD,
+0x61FE,0x6200,0x6201,0x6202,0x6203,0x6204,0x6205,0x6207,
+0x6209,0x6213,0x6214,0x6219,0x621C,0x621D,0x621E,0x6220,
+0x6223,0x6226,0x6227,0x6228,0x6229,0x622B,0x622D,0x622F,
+0x6230,0x6231,0x6232,0x6235,0x6236,0x6238,0x6239,0x623A,
+0x623B,0x623C,0x6242,0x6244,0x6245,0x6246,0x624A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x624F,0x6250,0x6255,0x6256,0x6257,0x6259,0x625A,0x625C,
+0x625D,0x625E,0x625F,0x6260,0x6261,0x6262,0x6264,0x6265,
+0x6268,0x6271,0x6272,0x6274,0x6275,0x6277,0x6278,0x627A,
+0x627B,0x627D,0x6281,0x6282,0x6283,0x6285,0x6286,0x6287,
+0x6288,0x628B,0x628C,0x628D,0x628E,0x628F,0x6290,0x6294,
+0x6299,0x629C,0x629D,0x629E,0x62A3,0x62A6,0x62A7,0x62A9,
+0x62AA,0x62AD,0x62AE,0x62AF,0x62B0,0x62B2,0x62B3,0x62B4,
+0x62B6,0x62B7,0x62B8,0x62BA,0x62BE,0x62C0,0x62C1, 0,
+0x62C3,0x62CB,0x62CF,0x62D1,0x62D5,0x62DD,0x62DE,0x62E0,
+0x62E1,0x62E4,0x62EA,0x62EB,0x62F0,0x62F2,0x62F5,0x62F8,
+0x62F9,0x62FA,0x62FB,0x6300,0x6303,0x6304,0x6305,0x6306,
+0x630A,0x630B,0x630C,0x630D,0x630F,0x6310,0x6312,0x6313,
+0x6314,0x6315,0x6317,0x6318,0x6319,0x631C,0x6326,0x6327,
+0x6329,0x632C,0x632D,0x632E,0x6330,0x6331,0x6333,0x6334,
+0x6335,0x6336,0x6337,0x6338,0x633B,0x633C,0x633E,0x633F,
+0x6340,0x6341,0x6344,0x6347,0x6348,0x634A,0x6351,0x6352,
+0x6353,0x6354,0x6356,0x6357,0x6358,0x6359,0x635A,0x635B,
+0x635C,0x635D,0x6360,0x6364,0x6365,0x6366,0x6368,0x636A,
+0x636B,0x636C,0x636F,0x6370,0x6372,0x6373,0x6374,0x6375,
+0x6378,0x6379,0x637C,0x637D,0x637E,0x637F,0x6381,0x6383,
+0x6384,0x6385,0x6386,0x638B,0x638D,0x6391,0x6393,0x6394,
+0x6395,0x6397,0x6399,0x639A,0x639B,0x639C,0x639D,0x639E,
+0x639F,0x63A1,0x63A4,0x63A6,0x63AB,0x63AF,0x63B1,0x63B2,
+0x63B5,0x63B6,0x63B9,0x63BB,0x63BD,0x63BF,0x63C0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x63C1,0x63C2,0x63C3,0x63C5,0x63C7,0x63C8,0x63CA,0x63CB,
+0x63CC,0x63D1,0x63D3,0x63D4,0x63D5,0x63D7,0x63D8,0x63D9,
+0x63DA,0x63DB,0x63DC,0x63DD,0x63DF,0x63E2,0x63E4,0x63E5,
+0x63E6,0x63E7,0x63E8,0x63EB,0x63EC,0x63EE,0x63EF,0x63F0,
+0x63F1,0x63F3,0x63F5,0x63F7,0x63F9,0x63FA,0x63FB,0x63FC,
+0x63FE,0x6403,0x6404,0x6406,0x6407,0x6408,0x6409,0x640A,
+0x640D,0x640E,0x6411,0x6412,0x6415,0x6416,0x6417,0x6418,
+0x6419,0x641A,0x641D,0x641F,0x6422,0x6423,0x6424, 0,
+0x6425,0x6427,0x6428,0x6429,0x642B,0x642E,0x642F,0x6430,
+0x6431,0x6432,0x6433,0x6435,0x6436,0x6437,0x6438,0x6439,
+0x643B,0x643C,0x643E,0x6440,0x6442,0x6443,0x6449,0x644B,
+0x644C,0x644D,0x644E,0x644F,0x6450,0x6451,0x6453,0x6455,
+0x6456,0x6457,0x6459,0x645A,0x645B,0x645C,0x645D,0x645F,
+0x6460,0x6461,0x6462,0x6463,0x6464,0x6465,0x6466,0x6468,
+0x646A,0x646B,0x646C,0x646E,0x646F,0x6470,0x6471,0x6472,
+0x6473,0x6474,0x6475,0x6476,0x6477,0x647B,0x647C,0x647D,
+0x647E,0x647F,0x6480,0x6481,0x6483,0x6486,0x6488,0x6489,
+0x648A,0x648B,0x648C,0x648D,0x648E,0x648F,0x6490,0x6493,
+0x6494,0x6497,0x6498,0x649A,0x649B,0x649C,0x649D,0x649F,
+0x64A0,0x64A1,0x64A2,0x64A3,0x64A5,0x64A6,0x64A7,0x64A8,
+0x64AA,0x64AB,0x64AF,0x64B1,0x64B2,0x64B3,0x64B4,0x64B6,
+0x64B9,0x64BB,0x64BD,0x64BE,0x64BF,0x64C1,0x64C3,0x64C4,
+0x64C6,0x64C7,0x64C8,0x64C9,0x64CA,0x64CB,0x64CC,0x64CF,
+0x64D1,0x64D3,0x64D4,0x64D5,0x64D6,0x64D9,0x64DA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x64DB,0x64DC,0x64DD,0x64DF,0x64E0,0x64E1,0x64E3,0x64E5,
+0x64E7,0x64E8,0x64E9,0x64EA,0x64EB,0x64EC,0x64ED,0x64EE,
+0x64EF,0x64F0,0x64F1,0x64F2,0x64F3,0x64F4,0x64F5,0x64F6,
+0x64F7,0x64F8,0x64F9,0x64FA,0x64FB,0x64FC,0x64FD,0x64FE,
+0x64FF,0x6501,0x6502,0x6503,0x6504,0x6505,0x6506,0x6507,
+0x6508,0x650A,0x650B,0x650C,0x650D,0x650E,0x650F,0x6510,
+0x6511,0x6513,0x6514,0x6515,0x6516,0x6517,0x6519,0x651A,
+0x651B,0x651C,0x651D,0x651E,0x651F,0x6520,0x6521, 0,
+0x6522,0x6523,0x6524,0x6526,0x6527,0x6528,0x6529,0x652A,
+0x652C,0x652D,0x6530,0x6531,0x6532,0x6533,0x6537,0x653A,
+0x653C,0x653D,0x6540,0x6541,0x6542,0x6543,0x6544,0x6546,
+0x6547,0x654A,0x654B,0x654D,0x654E,0x6550,0x6552,0x6553,
+0x6554,0x6557,0x6558,0x655A,0x655C,0x655F,0x6560,0x6561,
+0x6564,0x6565,0x6567,0x6568,0x6569,0x656A,0x656D,0x656E,
+0x656F,0x6571,0x6573,0x6575,0x6576,0x6578,0x6579,0x657A,
+0x657B,0x657C,0x657D,0x657E,0x657F,0x6580,0x6581,0x6582,
+0x6583,0x6584,0x6585,0x6586,0x6588,0x6589,0x658A,0x658D,
+0x658E,0x658F,0x6592,0x6594,0x6595,0x6596,0x6598,0x659A,
+0x659D,0x659E,0x65A0,0x65A2,0x65A3,0x65A6,0x65A8,0x65AA,
+0x65AC,0x65AE,0x65B1,0x65B2,0x65B3,0x65B4,0x65B5,0x65B6,
+0x65B7,0x65B8,0x65BA,0x65BB,0x65BE,0x65BF,0x65C0,0x65C2,
+0x65C7,0x65C8,0x65C9,0x65CA,0x65CD,0x65D0,0x65D1,0x65D3,
+0x65D4,0x65D5,0x65D8,0x65D9,0x65DA,0x65DB,0x65DC,0x65DD,
+0x65DE,0x65DF,0x65E1,0x65E3,0x65E4,0x65EA,0x65EB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x65F2,0x65F3,0x65F4,0x65F5,0x65F8,0x65F9,0x65FB,0x65FC,
+0x65FD,0x65FE,0x65FF,0x6601,0x6604,0x6605,0x6607,0x6608,
+0x6609,0x660B,0x660D,0x6610,0x6611,0x6612,0x6616,0x6617,
+0x6618,0x661A,0x661B,0x661C,0x661E,0x6621,0x6622,0x6623,
+0x6624,0x6626,0x6629,0x662A,0x662B,0x662C,0x662E,0x6630,
+0x6632,0x6633,0x6637,0x6638,0x6639,0x663A,0x663B,0x663D,
+0x663F,0x6640,0x6642,0x6644,0x6645,0x6646,0x6647,0x6648,
+0x6649,0x664A,0x664D,0x664E,0x6650,0x6651,0x6658, 0,
+0x6659,0x665B,0x665C,0x665D,0x665E,0x6660,0x6662,0x6663,
+0x6665,0x6667,0x6669,0x666A,0x666B,0x666C,0x666D,0x6671,
+0x6672,0x6673,0x6675,0x6678,0x6679,0x667B,0x667C,0x667D,
+0x667F,0x6680,0x6681,0x6683,0x6685,0x6686,0x6688,0x6689,
+0x668A,0x668B,0x668D,0x668E,0x668F,0x6690,0x6692,0x6693,
+0x6694,0x6695,0x6698,0x6699,0x669A,0x669B,0x669C,0x669E,
+0x669F,0x66A0,0x66A1,0x66A2,0x66A3,0x66A4,0x66A5,0x66A6,
+0x66A9,0x66AA,0x66AB,0x66AC,0x66AD,0x66AF,0x66B0,0x66B1,
+0x66B2,0x66B3,0x66B5,0x66B6,0x66B7,0x66B8,0x66BA,0x66BB,
+0x66BC,0x66BD,0x66BF,0x66C0,0x66C1,0x66C2,0x66C3,0x66C4,
+0x66C5,0x66C6,0x66C7,0x66C8,0x66C9,0x66CA,0x66CB,0x66CC,
+0x66CD,0x66CE,0x66CF,0x66D0,0x66D1,0x66D2,0x66D3,0x66D4,
+0x66D5,0x66D6,0x66D7,0x66D8,0x66DA,0x66DE,0x66DF,0x66E0,
+0x66E1,0x66E2,0x66E3,0x66E4,0x66E5,0x66E7,0x66E8,0x66EA,
+0x66EB,0x66EC,0x66ED,0x66EE,0x66EF,0x66F1,0x66F5,0x66F6,
+0x66F8,0x66FA,0x66FB,0x66FD,0x6701,0x6702,0x6703, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6704,0x6705,0x6706,0x6707,0x670C,0x670E,0x670F,0x6711,
+0x6712,0x6713,0x6716,0x6718,0x6719,0x671A,0x671C,0x671E,
+0x6720,0x6721,0x6722,0x6723,0x6724,0x6725,0x6727,0x6729,
+0x672E,0x6730,0x6732,0x6733,0x6736,0x6737,0x6738,0x6739,
+0x673B,0x673C,0x673E,0x673F,0x6741,0x6744,0x6745,0x6747,
+0x674A,0x674B,0x674D,0x6752,0x6754,0x6755,0x6757,0x6758,
+0x6759,0x675A,0x675B,0x675D,0x6762,0x6763,0x6764,0x6766,
+0x6767,0x676B,0x676C,0x676E,0x6771,0x6774,0x6776, 0,
+0x6778,0x6779,0x677A,0x677B,0x677D,0x6780,0x6782,0x6783,
+0x6785,0x6786,0x6788,0x678A,0x678C,0x678D,0x678E,0x678F,
+0x6791,0x6792,0x6793,0x6794,0x6796,0x6799,0x679B,0x679F,
+0x67A0,0x67A1,0x67A4,0x67A6,0x67A9,0x67AC,0x67AE,0x67B1,
+0x67B2,0x67B4,0x67B9,0x67BA,0x67BB,0x67BC,0x67BD,0x67BE,
+0x67BF,0x67C0,0x67C2,0x67C5,0x67C6,0x67C7,0x67C8,0x67C9,
+0x67CA,0x67CB,0x67CC,0x67CD,0x67CE,0x67D5,0x67D6,0x67D7,
+0x67DB,0x67DF,0x67E1,0x67E3,0x67E4,0x67E6,0x67E7,0x67E8,
+0x67EA,0x67EB,0x67ED,0x67EE,0x67F2,0x67F5,0x67F6,0x67F7,
+0x67F8,0x67F9,0x67FA,0x67FB,0x67FC,0x67FE,0x6801,0x6802,
+0x6803,0x6804,0x6806,0x680D,0x6810,0x6812,0x6814,0x6815,
+0x6818,0x6819,0x681A,0x681B,0x681C,0x681E,0x681F,0x6820,
+0x6822,0x6823,0x6824,0x6825,0x6826,0x6827,0x6828,0x682B,
+0x682C,0x682D,0x682E,0x682F,0x6830,0x6831,0x6834,0x6835,
+0x6836,0x683A,0x683B,0x683F,0x6847,0x684B,0x684D,0x684F,
+0x6852,0x6856,0x6857,0x6858,0x6859,0x685A,0x685B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x685C,0x685D,0x685E,0x685F,0x686A,0x686C,0x686D,0x686E,
+0x686F,0x6870,0x6871,0x6872,0x6873,0x6875,0x6878,0x6879,
+0x687A,0x687B,0x687C,0x687D,0x687E,0x687F,0x6880,0x6882,
+0x6884,0x6887,0x6888,0x6889,0x688A,0x688B,0x688C,0x688D,
+0x688E,0x6890,0x6891,0x6892,0x6894,0x6895,0x6896,0x6898,
+0x6899,0x689A,0x689B,0x689C,0x689D,0x689E,0x689F,0x68A0,
+0x68A1,0x68A3,0x68A4,0x68A5,0x68A9,0x68AA,0x68AB,0x68AC,
+0x68AE,0x68B1,0x68B2,0x68B4,0x68B6,0x68B7,0x68B8, 0,
+0x68B9,0x68BA,0x68BB,0x68BC,0x68BD,0x68BE,0x68BF,0x68C1,
+0x68C3,0x68C4,0x68C5,0x68C6,0x68C7,0x68C8,0x68CA,0x68CC,
+0x68CE,0x68CF,0x68D0,0x68D1,0x68D3,0x68D4,0x68D6,0x68D7,
+0x68D9,0x68DB,0x68DC,0x68DD,0x68DE,0x68DF,0x68E1,0x68E2,
+0x68E4,0x68E5,0x68E6,0x68E7,0x68E8,0x68E9,0x68EA,0x68EB,
+0x68EC,0x68ED,0x68EF,0x68F2,0x68F3,0x68F4,0x68F6,0x68F7,
+0x68F8,0x68FB,0x68FD,0x68FE,0x68FF,0x6900,0x6902,0x6903,
+0x6904,0x6906,0x6907,0x6908,0x6909,0x690A,0x690C,0x690F,
+0x6911,0x6913,0x6914,0x6915,0x6916,0x6917,0x6918,0x6919,
+0x691A,0x691B,0x691C,0x691D,0x691E,0x6921,0x6922,0x6923,
+0x6925,0x6926,0x6927,0x6928,0x6929,0x692A,0x692B,0x692C,
+0x692E,0x692F,0x6931,0x6932,0x6933,0x6935,0x6936,0x6937,
+0x6938,0x693A,0x693B,0x693C,0x693E,0x6940,0x6941,0x6943,
+0x6944,0x6945,0x6946,0x6947,0x6948,0x6949,0x694A,0x694B,
+0x694C,0x694D,0x694E,0x694F,0x6950,0x6951,0x6952,0x6953,
+0x6955,0x6956,0x6958,0x6959,0x695B,0x695C,0x695F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6961,0x6962,0x6964,0x6965,0x6967,0x6968,0x6969,0x696A,
+0x696C,0x696D,0x696F,0x6970,0x6972,0x6973,0x6974,0x6975,
+0x6976,0x697A,0x697B,0x697D,0x697E,0x697F,0x6981,0x6983,
+0x6985,0x698A,0x698B,0x698C,0x698E,0x698F,0x6990,0x6991,
+0x6992,0x6993,0x6996,0x6997,0x6999,0x699A,0x699D,0x699E,
+0x699F,0x69A0,0x69A1,0x69A2,0x69A3,0x69A4,0x69A5,0x69A6,
+0x69A9,0x69AA,0x69AC,0x69AE,0x69AF,0x69B0,0x69B2,0x69B3,
+0x69B5,0x69B6,0x69B8,0x69B9,0x69BA,0x69BC,0x69BD, 0,
+0x69BE,0x69BF,0x69C0,0x69C2,0x69C3,0x69C4,0x69C5,0x69C6,
+0x69C7,0x69C8,0x69C9,0x69CB,0x69CD,0x69CF,0x69D1,0x69D2,
+0x69D3,0x69D5,0x69D6,0x69D7,0x69D8,0x69D9,0x69DA,0x69DC,
+0x69DD,0x69DE,0x69E1,0x69E2,0x69E3,0x69E4,0x69E5,0x69E6,
+0x69E7,0x69E8,0x69E9,0x69EA,0x69EB,0x69EC,0x69EE,0x69EF,
+0x69F0,0x69F1,0x69F3,0x69F4,0x69F5,0x69F6,0x69F7,0x69F8,
+0x69F9,0x69FA,0x69FB,0x69FC,0x69FE,0x6A00,0x6A01,0x6A02,
+0x6A03,0x6A04,0x6A05,0x6A06,0x6A07,0x6A08,0x6A09,0x6A0B,
+0x6A0C,0x6A0D,0x6A0E,0x6A0F,0x6A10,0x6A11,0x6A12,0x6A13,
+0x6A14,0x6A15,0x6A16,0x6A19,0x6A1A,0x6A1B,0x6A1C,0x6A1D,
+0x6A1E,0x6A20,0x6A22,0x6A23,0x6A24,0x6A25,0x6A26,0x6A27,
+0x6A29,0x6A2B,0x6A2C,0x6A2D,0x6A2E,0x6A30,0x6A32,0x6A33,
+0x6A34,0x6A36,0x6A37,0x6A38,0x6A39,0x6A3A,0x6A3B,0x6A3C,
+0x6A3F,0x6A40,0x6A41,0x6A42,0x6A43,0x6A45,0x6A46,0x6A48,
+0x6A49,0x6A4A,0x6A4B,0x6A4C,0x6A4D,0x6A4E,0x6A4F,0x6A51,
+0x6A52,0x6A53,0x6A54,0x6A55,0x6A56,0x6A57,0x6A5A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6A5C,0x6A5D,0x6A5E,0x6A5F,0x6A60,0x6A62,0x6A63,0x6A64,
+0x6A66,0x6A67,0x6A68,0x6A69,0x6A6A,0x6A6B,0x6A6C,0x6A6D,
+0x6A6E,0x6A6F,0x6A70,0x6A72,0x6A73,0x6A74,0x6A75,0x6A76,
+0x6A77,0x6A78,0x6A7A,0x6A7B,0x6A7D,0x6A7E,0x6A7F,0x6A81,
+0x6A82,0x6A83,0x6A85,0x6A86,0x6A87,0x6A88,0x6A89,0x6A8A,
+0x6A8B,0x6A8C,0x6A8D,0x6A8F,0x6A92,0x6A93,0x6A94,0x6A95,
+0x6A96,0x6A98,0x6A99,0x6A9A,0x6A9B,0x6A9C,0x6A9D,0x6A9E,
+0x6A9F,0x6AA1,0x6AA2,0x6AA3,0x6AA4,0x6AA5,0x6AA6, 0,
+0x6AA7,0x6AA8,0x6AAA,0x6AAD,0x6AAE,0x6AAF,0x6AB0,0x6AB1,
+0x6AB2,0x6AB3,0x6AB4,0x6AB5,0x6AB6,0x6AB7,0x6AB8,0x6AB9,
+0x6ABA,0x6ABB,0x6ABC,0x6ABD,0x6ABE,0x6ABF,0x6AC0,0x6AC1,
+0x6AC2,0x6AC3,0x6AC4,0x6AC5,0x6AC6,0x6AC7,0x6AC8,0x6AC9,
+0x6ACA,0x6ACB,0x6ACC,0x6ACD,0x6ACE,0x6ACF,0x6AD0,0x6AD1,
+0x6AD2,0x6AD3,0x6AD4,0x6AD5,0x6AD6,0x6AD7,0x6AD8,0x6AD9,
+0x6ADA,0x6ADB,0x6ADC,0x6ADD,0x6ADE,0x6ADF,0x6AE0,0x6AE1,
+0x6AE2,0x6AE3,0x6AE4,0x6AE5,0x6AE6,0x6AE7,0x6AE8,0x6AE9,
+0x6AEA,0x6AEB,0x6AEC,0x6AED,0x6AEE,0x6AEF,0x6AF0,0x6AF1,
+0x6AF2,0x6AF3,0x6AF4,0x6AF5,0x6AF6,0x6AF7,0x6AF8,0x6AF9,
+0x6AFA,0x6AFB,0x6AFC,0x6AFD,0x6AFE,0x6AFF,0x6B00,0x6B01,
+0x6B02,0x6B03,0x6B04,0x6B05,0x6B06,0x6B07,0x6B08,0x6B09,
+0x6B0A,0x6B0B,0x6B0C,0x6B0D,0x6B0E,0x6B0F,0x6B10,0x6B11,
+0x6B12,0x6B13,0x6B14,0x6B15,0x6B16,0x6B17,0x6B18,0x6B19,
+0x6B1A,0x6B1B,0x6B1C,0x6B1D,0x6B1E,0x6B1F,0x6B25,0x6B26,
+0x6B28,0x6B29,0x6B2A,0x6B2B,0x6B2C,0x6B2D,0x6B2E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6B2F,0x6B30,0x6B31,0x6B33,0x6B34,0x6B35,0x6B36,0x6B38,
+0x6B3B,0x6B3C,0x6B3D,0x6B3F,0x6B40,0x6B41,0x6B42,0x6B44,
+0x6B45,0x6B48,0x6B4A,0x6B4B,0x6B4D,0x6B4E,0x6B4F,0x6B50,
+0x6B51,0x6B52,0x6B53,0x6B54,0x6B55,0x6B56,0x6B57,0x6B58,
+0x6B5A,0x6B5B,0x6B5C,0x6B5D,0x6B5E,0x6B5F,0x6B60,0x6B61,
+0x6B68,0x6B69,0x6B6B,0x6B6C,0x6B6D,0x6B6E,0x6B6F,0x6B70,
+0x6B71,0x6B72,0x6B73,0x6B74,0x6B75,0x6B76,0x6B77,0x6B78,
+0x6B7A,0x6B7D,0x6B7E,0x6B7F,0x6B80,0x6B85,0x6B88, 0,
+0x6B8C,0x6B8E,0x6B8F,0x6B90,0x6B91,0x6B94,0x6B95,0x6B97,
+0x6B98,0x6B99,0x6B9C,0x6B9D,0x6B9E,0x6B9F,0x6BA0,0x6BA2,
+0x6BA3,0x6BA4,0x6BA5,0x6BA6,0x6BA7,0x6BA8,0x6BA9,0x6BAB,
+0x6BAC,0x6BAD,0x6BAE,0x6BAF,0x6BB0,0x6BB1,0x6BB2,0x6BB6,
+0x6BB8,0x6BB9,0x6BBA,0x6BBB,0x6BBC,0x6BBD,0x6BBE,0x6BC0,
+0x6BC3,0x6BC4,0x6BC6,0x6BC7,0x6BC8,0x6BC9,0x6BCA,0x6BCC,
+0x6BCE,0x6BD0,0x6BD1,0x6BD8,0x6BDA,0x6BDC,0x6BDD,0x6BDE,
+0x6BDF,0x6BE0,0x6BE2,0x6BE3,0x6BE4,0x6BE5,0x6BE6,0x6BE7,
+0x6BE8,0x6BE9,0x6BEC,0x6BED,0x6BEE,0x6BF0,0x6BF1,0x6BF2,
+0x6BF4,0x6BF6,0x6BF7,0x6BF8,0x6BFA,0x6BFB,0x6BFC,0x6BFE,
+0x6BFF,0x6C00,0x6C01,0x6C02,0x6C03,0x6C04,0x6C08,0x6C09,
+0x6C0A,0x6C0B,0x6C0C,0x6C0E,0x6C12,0x6C17,0x6C1C,0x6C1D,
+0x6C1E,0x6C20,0x6C23,0x6C25,0x6C2B,0x6C2C,0x6C2D,0x6C31,
+0x6C33,0x6C36,0x6C37,0x6C39,0x6C3A,0x6C3B,0x6C3C,0x6C3E,
+0x6C3F,0x6C43,0x6C44,0x6C45,0x6C48,0x6C4B,0x6C4C,0x6C4D,
+0x6C4E,0x6C4F,0x6C51,0x6C52,0x6C53,0x6C56,0x6C58, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6C59,0x6C5A,0x6C62,0x6C63,0x6C65,0x6C66,0x6C67,0x6C6B,
+0x6C6C,0x6C6D,0x6C6E,0x6C6F,0x6C71,0x6C73,0x6C75,0x6C77,
+0x6C78,0x6C7A,0x6C7B,0x6C7C,0x6C7F,0x6C80,0x6C84,0x6C87,
+0x6C8A,0x6C8B,0x6C8D,0x6C8E,0x6C91,0x6C92,0x6C95,0x6C96,
+0x6C97,0x6C98,0x6C9A,0x6C9C,0x6C9D,0x6C9E,0x6CA0,0x6CA2,
+0x6CA8,0x6CAC,0x6CAF,0x6CB0,0x6CB4,0x6CB5,0x6CB6,0x6CB7,
+0x6CBA,0x6CC0,0x6CC1,0x6CC2,0x6CC3,0x6CC6,0x6CC7,0x6CC8,
+0x6CCB,0x6CCD,0x6CCE,0x6CCF,0x6CD1,0x6CD2,0x6CD8, 0,
+0x6CD9,0x6CDA,0x6CDC,0x6CDD,0x6CDF,0x6CE4,0x6CE6,0x6CE7,
+0x6CE9,0x6CEC,0x6CED,0x6CF2,0x6CF4,0x6CF9,0x6CFF,0x6D00,
+0x6D02,0x6D03,0x6D05,0x6D06,0x6D08,0x6D09,0x6D0A,0x6D0D,
+0x6D0F,0x6D10,0x6D11,0x6D13,0x6D14,0x6D15,0x6D16,0x6D18,
+0x6D1C,0x6D1D,0x6D1F,0x6D20,0x6D21,0x6D22,0x6D23,0x6D24,
+0x6D26,0x6D28,0x6D29,0x6D2C,0x6D2D,0x6D2F,0x6D30,0x6D34,
+0x6D36,0x6D37,0x6D38,0x6D3A,0x6D3F,0x6D40,0x6D42,0x6D44,
+0x6D49,0x6D4C,0x6D50,0x6D55,0x6D56,0x6D57,0x6D58,0x6D5B,
+0x6D5D,0x6D5F,0x6D61,0x6D62,0x6D64,0x6D65,0x6D67,0x6D68,
+0x6D6B,0x6D6C,0x6D6D,0x6D70,0x6D71,0x6D72,0x6D73,0x6D75,
+0x6D76,0x6D79,0x6D7A,0x6D7B,0x6D7D,0x6D7E,0x6D7F,0x6D80,
+0x6D81,0x6D83,0x6D84,0x6D86,0x6D87,0x6D8A,0x6D8B,0x6D8D,
+0x6D8F,0x6D90,0x6D92,0x6D96,0x6D97,0x6D98,0x6D99,0x6D9A,
+0x6D9C,0x6DA2,0x6DA5,0x6DAC,0x6DAD,0x6DB0,0x6DB1,0x6DB3,
+0x6DB4,0x6DB6,0x6DB7,0x6DB9,0x6DBA,0x6DBB,0x6DBC,0x6DBD,
+0x6DBE,0x6DC1,0x6DC2,0x6DC3,0x6DC8,0x6DC9,0x6DCA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6DCD,0x6DCE,0x6DCF,0x6DD0,0x6DD2,0x6DD3,0x6DD4,0x6DD5,
+0x6DD7,0x6DDA,0x6DDB,0x6DDC,0x6DDF,0x6DE2,0x6DE3,0x6DE5,
+0x6DE7,0x6DE8,0x6DE9,0x6DEA,0x6DED,0x6DEF,0x6DF0,0x6DF2,
+0x6DF4,0x6DF5,0x6DF6,0x6DF8,0x6DFA,0x6DFD,0x6DFE,0x6DFF,
+0x6E00,0x6E01,0x6E02,0x6E03,0x6E04,0x6E06,0x6E07,0x6E08,
+0x6E09,0x6E0B,0x6E0F,0x6E12,0x6E13,0x6E15,0x6E18,0x6E19,
+0x6E1B,0x6E1C,0x6E1E,0x6E1F,0x6E22,0x6E26,0x6E27,0x6E28,
+0x6E2A,0x6E2C,0x6E2E,0x6E30,0x6E31,0x6E33,0x6E35, 0,
+0x6E36,0x6E37,0x6E39,0x6E3B,0x6E3C,0x6E3D,0x6E3E,0x6E3F,
+0x6E40,0x6E41,0x6E42,0x6E45,0x6E46,0x6E47,0x6E48,0x6E49,
+0x6E4A,0x6E4B,0x6E4C,0x6E4F,0x6E50,0x6E51,0x6E52,0x6E55,
+0x6E57,0x6E59,0x6E5A,0x6E5C,0x6E5D,0x6E5E,0x6E60,0x6E61,
+0x6E62,0x6E63,0x6E64,0x6E65,0x6E66,0x6E67,0x6E68,0x6E69,
+0x6E6A,0x6E6C,0x6E6D,0x6E6F,0x6E70,0x6E71,0x6E72,0x6E73,
+0x6E74,0x6E75,0x6E76,0x6E77,0x6E78,0x6E79,0x6E7A,0x6E7B,
+0x6E7C,0x6E7D,0x6E80,0x6E81,0x6E82,0x6E84,0x6E87,0x6E88,
+0x6E8A,0x6E8B,0x6E8C,0x6E8D,0x6E8E,0x6E91,0x6E92,0x6E93,
+0x6E94,0x6E95,0x6E96,0x6E97,0x6E99,0x6E9A,0x6E9B,0x6E9D,
+0x6E9E,0x6EA0,0x6EA1,0x6EA3,0x6EA4,0x6EA6,0x6EA8,0x6EA9,
+0x6EAB,0x6EAC,0x6EAD,0x6EAE,0x6EB0,0x6EB3,0x6EB5,0x6EB8,
+0x6EB9,0x6EBC,0x6EBE,0x6EBF,0x6EC0,0x6EC3,0x6EC4,0x6EC5,
+0x6EC6,0x6EC8,0x6EC9,0x6ECA,0x6ECC,0x6ECD,0x6ECE,0x6ED0,
+0x6ED2,0x6ED6,0x6ED8,0x6ED9,0x6EDB,0x6EDC,0x6EDD,0x6EE3,
+0x6EE7,0x6EEA,0x6EEB,0x6EEC,0x6EED,0x6EEE,0x6EEF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6EF0,0x6EF1,0x6EF2,0x6EF3,0x6EF5,0x6EF6,0x6EF7,0x6EF8,
+0x6EFA,0x6EFB,0x6EFC,0x6EFD,0x6EFE,0x6EFF,0x6F00,0x6F01,
+0x6F03,0x6F04,0x6F05,0x6F07,0x6F08,0x6F0A,0x6F0B,0x6F0C,
+0x6F0D,0x6F0E,0x6F10,0x6F11,0x6F12,0x6F16,0x6F17,0x6F18,
+0x6F19,0x6F1A,0x6F1B,0x6F1C,0x6F1D,0x6F1E,0x6F1F,0x6F21,
+0x6F22,0x6F23,0x6F25,0x6F26,0x6F27,0x6F28,0x6F2C,0x6F2E,
+0x6F30,0x6F32,0x6F34,0x6F35,0x6F37,0x6F38,0x6F39,0x6F3A,
+0x6F3B,0x6F3C,0x6F3D,0x6F3F,0x6F40,0x6F41,0x6F42, 0,
+0x6F43,0x6F44,0x6F45,0x6F48,0x6F49,0x6F4A,0x6F4C,0x6F4E,
+0x6F4F,0x6F50,0x6F51,0x6F52,0x6F53,0x6F54,0x6F55,0x6F56,
+0x6F57,0x6F59,0x6F5A,0x6F5B,0x6F5D,0x6F5F,0x6F60,0x6F61,
+0x6F63,0x6F64,0x6F65,0x6F67,0x6F68,0x6F69,0x6F6A,0x6F6B,
+0x6F6C,0x6F6F,0x6F70,0x6F71,0x6F73,0x6F75,0x6F76,0x6F77,
+0x6F79,0x6F7B,0x6F7D,0x6F7E,0x6F7F,0x6F80,0x6F81,0x6F82,
+0x6F83,0x6F85,0x6F86,0x6F87,0x6F8A,0x6F8B,0x6F8F,0x6F90,
+0x6F91,0x6F92,0x6F93,0x6F94,0x6F95,0x6F96,0x6F97,0x6F98,
+0x6F99,0x6F9A,0x6F9B,0x6F9D,0x6F9E,0x6F9F,0x6FA0,0x6FA2,
+0x6FA3,0x6FA4,0x6FA5,0x6FA6,0x6FA8,0x6FA9,0x6FAA,0x6FAB,
+0x6FAC,0x6FAD,0x6FAE,0x6FAF,0x6FB0,0x6FB1,0x6FB2,0x6FB4,
+0x6FB5,0x6FB7,0x6FB8,0x6FBA,0x6FBB,0x6FBC,0x6FBD,0x6FBE,
+0x6FBF,0x6FC1,0x6FC3,0x6FC4,0x6FC5,0x6FC6,0x6FC7,0x6FC8,
+0x6FCA,0x6FCB,0x6FCC,0x6FCD,0x6FCE,0x6FCF,0x6FD0,0x6FD3,
+0x6FD4,0x6FD5,0x6FD6,0x6FD7,0x6FD8,0x6FD9,0x6FDA,0x6FDB,
+0x6FDC,0x6FDD,0x6FDF,0x6FE2,0x6FE3,0x6FE4,0x6FE5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6FE6,0x6FE7,0x6FE8,0x6FE9,0x6FEA,0x6FEB,0x6FEC,0x6FED,
+0x6FF0,0x6FF1,0x6FF2,0x6FF3,0x6FF4,0x6FF5,0x6FF6,0x6FF7,
+0x6FF8,0x6FF9,0x6FFA,0x6FFB,0x6FFC,0x6FFD,0x6FFE,0x6FFF,
+0x7000,0x7001,0x7002,0x7003,0x7004,0x7005,0x7006,0x7007,
+0x7008,0x7009,0x700A,0x700B,0x700C,0x700D,0x700E,0x700F,
+0x7010,0x7012,0x7013,0x7014,0x7015,0x7016,0x7017,0x7018,
+0x7019,0x701C,0x701D,0x701E,0x701F,0x7020,0x7021,0x7022,
+0x7024,0x7025,0x7026,0x7027,0x7028,0x7029,0x702A, 0,
+0x702B,0x702C,0x702D,0x702E,0x702F,0x7030,0x7031,0x7032,
+0x7033,0x7034,0x7036,0x7037,0x7038,0x703A,0x703B,0x703C,
+0x703D,0x703E,0x703F,0x7040,0x7041,0x7042,0x7043,0x7044,
+0x7045,0x7046,0x7047,0x7048,0x7049,0x704A,0x704B,0x704D,
+0x704E,0x7050,0x7051,0x7052,0x7053,0x7054,0x7055,0x7056,
+0x7057,0x7058,0x7059,0x705A,0x705B,0x705C,0x705D,0x705F,
+0x7060,0x7061,0x7062,0x7063,0x7064,0x7065,0x7066,0x7067,
+0x7068,0x7069,0x706A,0x706E,0x7071,0x7072,0x7073,0x7074,
+0x7077,0x7079,0x707A,0x707B,0x707D,0x7081,0x7082,0x7083,
+0x7084,0x7086,0x7087,0x7088,0x708B,0x708C,0x708D,0x708F,
+0x7090,0x7091,0x7093,0x7097,0x7098,0x709A,0x709B,0x709E,
+0x709F,0x70A0,0x70A1,0x70A2,0x70A3,0x70A4,0x70A5,0x70A6,
+0x70A7,0x70A8,0x70A9,0x70AA,0x70B0,0x70B2,0x70B4,0x70B5,
+0x70B6,0x70BA,0x70BE,0x70BF,0x70C4,0x70C5,0x70C6,0x70C7,
+0x70C9,0x70CB,0x70CC,0x70CD,0x70CE,0x70CF,0x70D0,0x70D1,
+0x70D2,0x70D3,0x70D4,0x70D5,0x70D6,0x70D7,0x70DA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x70DC,0x70DD,0x70DE,0x70E0,0x70E1,0x70E2,0x70E3,0x70E5,
+0x70EA,0x70EE,0x70F0,0x70F1,0x70F2,0x70F3,0x70F4,0x70F5,
+0x70F6,0x70F8,0x70FA,0x70FB,0x70FC,0x70FE,0x70FF,0x7100,
+0x7101,0x7102,0x7103,0x7104,0x7105,0x7106,0x7107,0x7108,
+0x710B,0x710C,0x710D,0x710E,0x710F,0x7111,0x7112,0x7114,
+0x7117,0x711B,0x711C,0x711D,0x711E,0x711F,0x7120,0x7121,
+0x7122,0x7123,0x7124,0x7125,0x7127,0x7128,0x7129,0x712A,
+0x712B,0x712C,0x712D,0x712E,0x7132,0x7133,0x7134, 0,
+0x7135,0x7137,0x7138,0x7139,0x713A,0x713B,0x713C,0x713D,
+0x713E,0x713F,0x7140,0x7141,0x7142,0x7143,0x7144,0x7146,
+0x7147,0x7148,0x7149,0x714B,0x714D,0x714F,0x7150,0x7151,
+0x7152,0x7153,0x7154,0x7155,0x7156,0x7157,0x7158,0x7159,
+0x715A,0x715B,0x715D,0x715F,0x7160,0x7161,0x7162,0x7163,
+0x7165,0x7169,0x716A,0x716B,0x716C,0x716D,0x716F,0x7170,
+0x7171,0x7174,0x7175,0x7176,0x7177,0x7179,0x717B,0x717C,
+0x717E,0x717F,0x7180,0x7181,0x7182,0x7183,0x7185,0x7186,
+0x7187,0x7188,0x7189,0x718B,0x718C,0x718D,0x718E,0x7190,
+0x7191,0x7192,0x7193,0x7195,0x7196,0x7197,0x719A,0x719B,
+0x719C,0x719D,0x719E,0x71A1,0x71A2,0x71A3,0x71A4,0x71A5,
+0x71A6,0x71A7,0x71A9,0x71AA,0x71AB,0x71AD,0x71AE,0x71AF,
+0x71B0,0x71B1,0x71B2,0x71B4,0x71B6,0x71B7,0x71B8,0x71BA,
+0x71BB,0x71BC,0x71BD,0x71BE,0x71BF,0x71C0,0x71C1,0x71C2,
+0x71C4,0x71C5,0x71C6,0x71C7,0x71C8,0x71C9,0x71CA,0x71CB,
+0x71CC,0x71CD,0x71CF,0x71D0,0x71D1,0x71D2,0x71D3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x71D6,0x71D7,0x71D8,0x71D9,0x71DA,0x71DB,0x71DC,0x71DD,
+0x71DE,0x71DF,0x71E1,0x71E2,0x71E3,0x71E4,0x71E6,0x71E8,
+0x71E9,0x71EA,0x71EB,0x71EC,0x71ED,0x71EF,0x71F0,0x71F1,
+0x71F2,0x71F3,0x71F4,0x71F5,0x71F6,0x71F7,0x71F8,0x71FA,
+0x71FB,0x71FC,0x71FD,0x71FE,0x71FF,0x7200,0x7201,0x7202,
+0x7203,0x7204,0x7205,0x7207,0x7208,0x7209,0x720A,0x720B,
+0x720C,0x720D,0x720E,0x720F,0x7210,0x7211,0x7212,0x7213,
+0x7214,0x7215,0x7216,0x7217,0x7218,0x7219,0x721A, 0,
+0x721B,0x721C,0x721E,0x721F,0x7220,0x7221,0x7222,0x7223,
+0x7224,0x7225,0x7226,0x7227,0x7229,0x722B,0x722D,0x722E,
+0x722F,0x7232,0x7233,0x7234,0x723A,0x723C,0x723E,0x7240,
+0x7241,0x7242,0x7243,0x7244,0x7245,0x7246,0x7249,0x724A,
+0x724B,0x724E,0x724F,0x7250,0x7251,0x7253,0x7254,0x7255,
+0x7257,0x7258,0x725A,0x725C,0x725E,0x7260,0x7263,0x7264,
+0x7265,0x7268,0x726A,0x726B,0x726C,0x726D,0x7270,0x7271,
+0x7273,0x7274,0x7276,0x7277,0x7278,0x727B,0x727C,0x727D,
+0x7282,0x7283,0x7285,0x7286,0x7287,0x7288,0x7289,0x728C,
+0x728E,0x7290,0x7291,0x7293,0x7294,0x7295,0x7296,0x7297,
+0x7298,0x7299,0x729A,0x729B,0x729C,0x729D,0x729E,0x72A0,
+0x72A1,0x72A2,0x72A3,0x72A4,0x72A5,0x72A6,0x72A7,0x72A8,
+0x72A9,0x72AA,0x72AB,0x72AE,0x72B1,0x72B2,0x72B3,0x72B5,
+0x72BA,0x72BB,0x72BC,0x72BD,0x72BE,0x72BF,0x72C0,0x72C5,
+0x72C6,0x72C7,0x72C9,0x72CA,0x72CB,0x72CC,0x72CF,0x72D1,
+0x72D3,0x72D4,0x72D5,0x72D6,0x72D8,0x72DA,0x72DB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3000,0x3001,0x3002,0x00B7,0x02C9,0x02C7,0x00A8,
+0x3003,0x3005,0x2014,0xFF5E,0x2016,0x2026,0x2018,0x2019,
+0x201C,0x201D,0x3014,0x3015,0x3008,0x3009,0x300A,0x300B,
+0x300C,0x300D,0x300E,0x300F,0x3016,0x3017,0x3010,0x3011,
+0x00B1,0x00D7,0x00F7,0x2236,0x2227,0x2228,0x2211,0x220F,
+0x222A,0x2229,0x2208,0x2237,0x221A,0x22A5,0x2225,0x2220,
+0x2312,0x2299,0x222B,0x222E,0x2261,0x224C,0x2248,0x223D,
+0x221D,0x2260,0x226E,0x226F,0x2264,0x2265,0x221E,0x2235,
+0x2234,0x2642,0x2640,0x00B0,0x2032,0x2033,0x2103,0xFF04,
+0x00A4,0xFFE0,0xFFE1,0x2030,0x00A7,0x2116,0x2606,0x2605,
+0x25CB,0x25CF,0x25CE,0x25C7,0x25C6,0x25A1,0x25A0,0x25B3,
+0x25B2,0x203B,0x2192,0x2190,0x2191,0x2193,0x3013, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x2170,0x2171,0x2172,0x2173,0x2174,0x2175,0x2176,
+0x2177,0x2178,0x2179, 0, 0, 0, 0, 0,
+ 0,0x2488,0x2489,0x248A,0x248B,0x248C,0x248D,0x248E,
+0x248F,0x2490,0x2491,0x2492,0x2493,0x2494,0x2495,0x2496,
+0x2497,0x2498,0x2499,0x249A,0x249B,0x2474,0x2475,0x2476,
+0x2477,0x2478,0x2479,0x247A,0x247B,0x247C,0x247D,0x247E,
+0x247F,0x2480,0x2481,0x2482,0x2483,0x2484,0x2485,0x2486,
+0x2487,0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,
+0x2467,0x2468,0x2469, 0, 0,0x3220,0x3221,0x3222,
+0x3223,0x3224,0x3225,0x3226,0x3227,0x3228,0x3229, 0,
+ 0,0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,
+0x2167,0x2168,0x2169,0x216A,0x216B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xFF01,0xFF02,0xFF03,0xFFE5,0xFF05,0xFF06,0xFF07,
+0xFF08,0xFF09,0xFF0A,0xFF0B,0xFF0C,0xFF0D,0xFF0E,0xFF0F,
+0xFF10,0xFF11,0xFF12,0xFF13,0xFF14,0xFF15,0xFF16,0xFF17,
+0xFF18,0xFF19,0xFF1A,0xFF1B,0xFF1C,0xFF1D,0xFF1E,0xFF1F,
+0xFF20,0xFF21,0xFF22,0xFF23,0xFF24,0xFF25,0xFF26,0xFF27,
+0xFF28,0xFF29,0xFF2A,0xFF2B,0xFF2C,0xFF2D,0xFF2E,0xFF2F,
+0xFF30,0xFF31,0xFF32,0xFF33,0xFF34,0xFF35,0xFF36,0xFF37,
+0xFF38,0xFF39,0xFF3A,0xFF3B,0xFF3C,0xFF3D,0xFF3E,0xFF3F,
+0xFF40,0xFF41,0xFF42,0xFF43,0xFF44,0xFF45,0xFF46,0xFF47,
+0xFF48,0xFF49,0xFF4A,0xFF4B,0xFF4C,0xFF4D,0xFF4E,0xFF4F,
+0xFF50,0xFF51,0xFF52,0xFF53,0xFF54,0xFF55,0xFF56,0xFF57,
+0xFF58,0xFF59,0xFF5A,0xFF5B,0xFF5C,0xFF5D,0xFFE3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3041,0x3042,0x3043,0x3044,0x3045,0x3046,0x3047,
+0x3048,0x3049,0x304A,0x304B,0x304C,0x304D,0x304E,0x304F,
+0x3050,0x3051,0x3052,0x3053,0x3054,0x3055,0x3056,0x3057,
+0x3058,0x3059,0x305A,0x305B,0x305C,0x305D,0x305E,0x305F,
+0x3060,0x3061,0x3062,0x3063,0x3064,0x3065,0x3066,0x3067,
+0x3068,0x3069,0x306A,0x306B,0x306C,0x306D,0x306E,0x306F,
+0x3070,0x3071,0x3072,0x3073,0x3074,0x3075,0x3076,0x3077,
+0x3078,0x3079,0x307A,0x307B,0x307C,0x307D,0x307E,0x307F,
+0x3080,0x3081,0x3082,0x3083,0x3084,0x3085,0x3086,0x3087,
+0x3088,0x3089,0x308A,0x308B,0x308C,0x308D,0x308E,0x308F,
+0x3090,0x3091,0x3092,0x3093, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x30A1,0x30A2,0x30A3,0x30A4,0x30A5,0x30A6,0x30A7,
+0x30A8,0x30A9,0x30AA,0x30AB,0x30AC,0x30AD,0x30AE,0x30AF,
+0x30B0,0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,
+0x30B8,0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,
+0x30C0,0x30C1,0x30C2,0x30C3,0x30C4,0x30C5,0x30C6,0x30C7,
+0x30C8,0x30C9,0x30CA,0x30CB,0x30CC,0x30CD,0x30CE,0x30CF,
+0x30D0,0x30D1,0x30D2,0x30D3,0x30D4,0x30D5,0x30D6,0x30D7,
+0x30D8,0x30D9,0x30DA,0x30DB,0x30DC,0x30DD,0x30DE,0x30DF,
+0x30E0,0x30E1,0x30E2,0x30E3,0x30E4,0x30E5,0x30E6,0x30E7,
+0x30E8,0x30E9,0x30EA,0x30EB,0x30EC,0x30ED,0x30EE,0x30EF,
+0x30F0,0x30F1,0x30F2,0x30F3,0x30F4,0x30F5,0x30F6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x0391,0x0392,0x0393,0x0394,0x0395,0x0396,0x0397,
+0x0398,0x0399,0x039A,0x039B,0x039C,0x039D,0x039E,0x039F,
+0x03A0,0x03A1,0x03A3,0x03A4,0x03A5,0x03A6,0x03A7,0x03A8,
+0x03A9, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x03B1,0x03B2,0x03B3,0x03B4,0x03B5,0x03B6,0x03B7,
+0x03B8,0x03B9,0x03BA,0x03BB,0x03BC,0x03BD,0x03BE,0x03BF,
+0x03C0,0x03C1,0x03C3,0x03C4,0x03C5,0x03C6,0x03C7,0x03C8,
+0x03C9, 0, 0, 0, 0, 0, 0, 0,
+0xFE35,0xFE36,0xFE39,0xFE3A,0xFE3F,0xFE40,0xFE3D,0xFE3E,
+0xFE41,0xFE42,0xFE43,0xFE44, 0, 0,0xFE3B,0xFE3C,
+0xFE37,0xFE38,0xFE31, 0,0xFE33,0xFE34, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0401,
+0x0416,0x0417,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,
+0x041E,0x041F,0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,
+0x0426,0x0427,0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,
+0x042E,0x042F, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0451,
+0x0436,0x0437,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,
+0x043E,0x043F,0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,
+0x0446,0x0447,0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,
+0x044E,0x044F, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x02CA,0x02CB,0x02D9,0x2013,0x2015,0x2025,0x2035,0x2105,
+0x2109,0x2196,0x2197,0x2198,0x2199,0x2215,0x221F,0x2223,
+0x2252,0x2266,0x2267,0x22BF,0x2550,0x2551,0x2552,0x2553,
+0x2554,0x2555,0x2556,0x2557,0x2558,0x2559,0x255A,0x255B,
+0x255C,0x255D,0x255E,0x255F,0x2560,0x2561,0x2562,0x2563,
+0x2564,0x2565,0x2566,0x2567,0x2568,0x2569,0x256A,0x256B,
+0x256C,0x256D,0x256E,0x256F,0x2570,0x2571,0x2572,0x2573,
+0x2581,0x2582,0x2583,0x2584,0x2585,0x2586,0x2587, 0,
+0x2588,0x2589,0x258A,0x258B,0x258C,0x258D,0x258E,0x258F,
+0x2593,0x2594,0x2595,0x25BC,0x25BD,0x25E2,0x25E3,0x25E4,
+0x25E5,0x2609,0x2295,0x3012,0x301D,0x301E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x0101,0x00E1,0x01CE,0x00E0,0x0113,0x00E9,0x011B,
+0x00E8,0x012B,0x00ED,0x01D0,0x00EC,0x014D,0x00F3,0x01D2,
+0x00F2,0x016B,0x00FA,0x01D4,0x00F9,0x01D6,0x01D8,0x01DA,
+0x01DC,0x00FC,0x00EA,0x0251, 0,0x0144,0x0148, 0,
+0x0261, 0, 0, 0, 0,0x3105,0x3106,0x3107,
+0x3108,0x3109,0x310A,0x310B,0x310C,0x310D,0x310E,0x310F,
+0x3110,0x3111,0x3112,0x3113,0x3114,0x3115,0x3116,0x3117,
+0x3118,0x3119,0x311A,0x311B,0x311C,0x311D,0x311E,0x311F,
+0x3120,0x3121,0x3122,0x3123,0x3124,0x3125,0x3126,0x3127,
+0x3128,0x3129, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3021,0x3022,0x3023,0x3024,0x3025,0x3026,0x3027,0x3028,
+0x3029,0x32A3,0x338E,0x338F,0x339C,0x339D,0x339E,0x33A1,
+0x33C4,0x33CE,0x33D1,0x33D2,0x33D5,0xFE30,0xFFE2,0xFFE4,
+ 0,0x2121,0x3231, 0,0x2010, 0, 0, 0,
+0x30FC,0x309B,0x309C,0x30FD,0x30FE,0x3006,0x309D,0x309E,
+0xFE49,0xFE4A,0xFE4B,0xFE4C,0xFE4D,0xFE4E,0xFE4F,0xFE50,
+0xFE51,0xFE52,0xFE54,0xFE55,0xFE56,0xFE57,0xFE59,0xFE5A,
+0xFE5B,0xFE5C,0xFE5D,0xFE5E,0xFE5F,0xFE60,0xFE61, 0,
+0xFE62,0xFE63,0xFE64,0xFE65,0xFE66,0xFE68,0xFE69,0xFE6A,
+0xFE6B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3007, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x2500,0x2501,0x2502,0x2503,
+0x2504,0x2505,0x2506,0x2507,0x2508,0x2509,0x250A,0x250B,
+0x250C,0x250D,0x250E,0x250F,0x2510,0x2511,0x2512,0x2513,
+0x2514,0x2515,0x2516,0x2517,0x2518,0x2519,0x251A,0x251B,
+0x251C,0x251D,0x251E,0x251F,0x2520,0x2521,0x2522,0x2523,
+0x2524,0x2525,0x2526,0x2527,0x2528,0x2529,0x252A,0x252B,
+0x252C,0x252D,0x252E,0x252F,0x2530,0x2531,0x2532,0x2533,
+0x2534,0x2535,0x2536,0x2537,0x2538,0x2539,0x253A,0x253B,
+0x253C,0x253D,0x253E,0x253F,0x2540,0x2541,0x2542,0x2543,
+0x2544,0x2545,0x2546,0x2547,0x2548,0x2549,0x254A,0x254B,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x72DC,0x72DD,0x72DF,0x72E2,0x72E3,0x72E4,0x72E5,0x72E6,
+0x72E7,0x72EA,0x72EB,0x72F5,0x72F6,0x72F9,0x72FD,0x72FE,
+0x72FF,0x7300,0x7302,0x7304,0x7305,0x7306,0x7307,0x7308,
+0x7309,0x730B,0x730C,0x730D,0x730F,0x7310,0x7311,0x7312,
+0x7314,0x7318,0x7319,0x731A,0x731F,0x7320,0x7323,0x7324,
+0x7326,0x7327,0x7328,0x732D,0x732F,0x7330,0x7332,0x7333,
+0x7335,0x7336,0x733A,0x733B,0x733C,0x733D,0x7340,0x7341,
+0x7342,0x7343,0x7344,0x7345,0x7346,0x7347,0x7348, 0,
+0x7349,0x734A,0x734B,0x734C,0x734E,0x734F,0x7351,0x7353,
+0x7354,0x7355,0x7356,0x7358,0x7359,0x735A,0x735B,0x735C,
+0x735D,0x735E,0x735F,0x7361,0x7362,0x7363,0x7364,0x7365,
+0x7366,0x7367,0x7368,0x7369,0x736A,0x736B,0x736E,0x7370,
+0x7371, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7372,0x7373,0x7374,0x7375,0x7376,0x7377,0x7378,0x7379,
+0x737A,0x737B,0x737C,0x737D,0x737F,0x7380,0x7381,0x7382,
+0x7383,0x7385,0x7386,0x7388,0x738A,0x738C,0x738D,0x738F,
+0x7390,0x7392,0x7393,0x7394,0x7395,0x7397,0x7398,0x7399,
+0x739A,0x739C,0x739D,0x739E,0x73A0,0x73A1,0x73A3,0x73A4,
+0x73A5,0x73A6,0x73A7,0x73A8,0x73AA,0x73AC,0x73AD,0x73B1,
+0x73B4,0x73B5,0x73B6,0x73B8,0x73B9,0x73BC,0x73BD,0x73BE,
+0x73BF,0x73C1,0x73C3,0x73C4,0x73C5,0x73C6,0x73C7, 0,
+0x73CB,0x73CC,0x73CE,0x73D2,0x73D3,0x73D4,0x73D5,0x73D6,
+0x73D7,0x73D8,0x73DA,0x73DB,0x73DC,0x73DD,0x73DF,0x73E1,
+0x73E2,0x73E3,0x73E4,0x73E6,0x73E8,0x73EA,0x73EB,0x73EC,
+0x73EE,0x73EF,0x73F0,0x73F1,0x73F3,0x73F4,0x73F5,0x73F6,
+0x73F7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x73F8,0x73F9,0x73FA,0x73FB,0x73FC,0x73FD,0x73FE,0x73FF,
+0x7400,0x7401,0x7402,0x7404,0x7407,0x7408,0x740B,0x740C,
+0x740D,0x740E,0x7411,0x7412,0x7413,0x7414,0x7415,0x7416,
+0x7417,0x7418,0x7419,0x741C,0x741D,0x741E,0x741F,0x7420,
+0x7421,0x7423,0x7424,0x7427,0x7429,0x742B,0x742D,0x742F,
+0x7431,0x7432,0x7437,0x7438,0x7439,0x743A,0x743B,0x743D,
+0x743E,0x743F,0x7440,0x7442,0x7443,0x7444,0x7445,0x7446,
+0x7447,0x7448,0x7449,0x744A,0x744B,0x744C,0x744D, 0,
+0x744E,0x744F,0x7450,0x7451,0x7452,0x7453,0x7454,0x7456,
+0x7458,0x745D,0x7460,0x7461,0x7462,0x7463,0x7464,0x7465,
+0x7466,0x7467,0x7468,0x7469,0x746A,0x746B,0x746C,0x746E,
+0x746F,0x7471,0x7472,0x7473,0x7474,0x7475,0x7478,0x7479,
+0x747A, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x747B,0x747C,0x747D,0x747F,0x7482,0x7484,0x7485,0x7486,
+0x7488,0x7489,0x748A,0x748C,0x748D,0x748F,0x7491,0x7492,
+0x7493,0x7494,0x7495,0x7496,0x7497,0x7498,0x7499,0x749A,
+0x749B,0x749D,0x749F,0x74A0,0x74A1,0x74A2,0x74A3,0x74A4,
+0x74A5,0x74A6,0x74AA,0x74AB,0x74AC,0x74AD,0x74AE,0x74AF,
+0x74B0,0x74B1,0x74B2,0x74B3,0x74B4,0x74B5,0x74B6,0x74B7,
+0x74B8,0x74B9,0x74BB,0x74BC,0x74BD,0x74BE,0x74BF,0x74C0,
+0x74C1,0x74C2,0x74C3,0x74C4,0x74C5,0x74C6,0x74C7, 0,
+0x74C8,0x74C9,0x74CA,0x74CB,0x74CC,0x74CD,0x74CE,0x74CF,
+0x74D0,0x74D1,0x74D3,0x74D4,0x74D5,0x74D6,0x74D7,0x74D8,
+0x74D9,0x74DA,0x74DB,0x74DD,0x74DF,0x74E1,0x74E5,0x74E7,
+0x74E8,0x74E9,0x74EA,0x74EB,0x74EC,0x74ED,0x74F0,0x74F1,
+0x74F2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x74F3,0x74F5,0x74F8,0x74F9,0x74FA,0x74FB,0x74FC,0x74FD,
+0x74FE,0x7500,0x7501,0x7502,0x7503,0x7505,0x7506,0x7507,
+0x7508,0x7509,0x750A,0x750B,0x750C,0x750E,0x7510,0x7512,
+0x7514,0x7515,0x7516,0x7517,0x751B,0x751D,0x751E,0x7520,
+0x7521,0x7522,0x7523,0x7524,0x7526,0x7527,0x752A,0x752E,
+0x7534,0x7536,0x7539,0x753C,0x753D,0x753F,0x7541,0x7542,
+0x7543,0x7544,0x7546,0x7547,0x7549,0x754A,0x754D,0x7550,
+0x7551,0x7552,0x7553,0x7555,0x7556,0x7557,0x7558, 0,
+0x755D,0x755E,0x755F,0x7560,0x7561,0x7562,0x7563,0x7564,
+0x7567,0x7568,0x7569,0x756B,0x756C,0x756D,0x756E,0x756F,
+0x7570,0x7571,0x7573,0x7575,0x7576,0x7577,0x757A,0x757B,
+0x757C,0x757D,0x757E,0x7580,0x7581,0x7582,0x7584,0x7585,
+0x7587, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7588,0x7589,0x758A,0x758C,0x758D,0x758E,0x7590,0x7593,
+0x7595,0x7598,0x759B,0x759C,0x759E,0x75A2,0x75A6,0x75A7,
+0x75A8,0x75A9,0x75AA,0x75AD,0x75B6,0x75B7,0x75BA,0x75BB,
+0x75BF,0x75C0,0x75C1,0x75C6,0x75CB,0x75CC,0x75CE,0x75CF,
+0x75D0,0x75D1,0x75D3,0x75D7,0x75D9,0x75DA,0x75DC,0x75DD,
+0x75DF,0x75E0,0x75E1,0x75E5,0x75E9,0x75EC,0x75ED,0x75EE,
+0x75EF,0x75F2,0x75F3,0x75F5,0x75F6,0x75F7,0x75F8,0x75FA,
+0x75FB,0x75FD,0x75FE,0x7602,0x7604,0x7606,0x7607, 0,
+0x7608,0x7609,0x760B,0x760D,0x760E,0x760F,0x7611,0x7612,
+0x7613,0x7614,0x7616,0x761A,0x761C,0x761D,0x761E,0x7621,
+0x7623,0x7627,0x7628,0x762C,0x762E,0x762F,0x7631,0x7632,
+0x7636,0x7637,0x7639,0x763A,0x763B,0x763D,0x7641,0x7642,
+0x7644, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7645,0x7646,0x7647,0x7648,0x7649,0x764A,0x764B,0x764E,
+0x764F,0x7650,0x7651,0x7652,0x7653,0x7655,0x7657,0x7658,
+0x7659,0x765A,0x765B,0x765D,0x765F,0x7660,0x7661,0x7662,
+0x7664,0x7665,0x7666,0x7667,0x7668,0x7669,0x766A,0x766C,
+0x766D,0x766E,0x7670,0x7671,0x7672,0x7673,0x7674,0x7675,
+0x7676,0x7677,0x7679,0x767A,0x767C,0x767F,0x7680,0x7681,
+0x7683,0x7685,0x7689,0x768A,0x768C,0x768D,0x768F,0x7690,
+0x7692,0x7694,0x7695,0x7697,0x7698,0x769A,0x769B, 0,
+0x769C,0x769D,0x769E,0x769F,0x76A0,0x76A1,0x76A2,0x76A3,
+0x76A5,0x76A6,0x76A7,0x76A8,0x76A9,0x76AA,0x76AB,0x76AC,
+0x76AD,0x76AF,0x76B0,0x76B3,0x76B5,0x76B6,0x76B7,0x76B8,
+0x76B9,0x76BA,0x76BB,0x76BC,0x76BD,0x76BE,0x76C0,0x76C1,
+0x76C3,0x554A,0x963F,0x57C3,0x6328,0x54CE,0x5509,0x54C0,
+0x7691,0x764C,0x853C,0x77EE,0x827E,0x788D,0x7231,0x9698,
+0x978D,0x6C28,0x5B89,0x4FFA,0x6309,0x6697,0x5CB8,0x80FA,
+0x6848,0x80AE,0x6602,0x76CE,0x51F9,0x6556,0x71AC,0x7FF1,
+0x8884,0x50B2,0x5965,0x61CA,0x6FB3,0x82AD,0x634C,0x6252,
+0x53ED,0x5427,0x7B06,0x516B,0x75A4,0x5DF4,0x62D4,0x8DCB,
+0x9776,0x628A,0x8019,0x575D,0x9738,0x7F62,0x7238,0x767D,
+0x67CF,0x767E,0x6446,0x4F70,0x8D25,0x62DC,0x7A17,0x6591,
+0x73ED,0x642C,0x6273,0x822C,0x9881,0x677F,0x7248,0x626E,
+0x62CC,0x4F34,0x74E3,0x534A,0x529E,0x7ECA,0x90A6,0x5E2E,
+0x6886,0x699C,0x8180,0x7ED1,0x68D2,0x78C5,0x868C,0x9551,
+0x508D,0x8C24,0x82DE,0x80DE,0x5305,0x8912,0x5265, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x76C4,0x76C7,0x76C9,0x76CB,0x76CC,0x76D3,0x76D5,0x76D9,
+0x76DA,0x76DC,0x76DD,0x76DE,0x76E0,0x76E1,0x76E2,0x76E3,
+0x76E4,0x76E6,0x76E7,0x76E8,0x76E9,0x76EA,0x76EB,0x76EC,
+0x76ED,0x76F0,0x76F3,0x76F5,0x76F6,0x76F7,0x76FA,0x76FB,
+0x76FD,0x76FF,0x7700,0x7702,0x7703,0x7705,0x7706,0x770A,
+0x770C,0x770E,0x770F,0x7710,0x7711,0x7712,0x7713,0x7714,
+0x7715,0x7716,0x7717,0x7718,0x771B,0x771C,0x771D,0x771E,
+0x7721,0x7723,0x7724,0x7725,0x7727,0x772A,0x772B, 0,
+0x772C,0x772E,0x7730,0x7731,0x7732,0x7733,0x7734,0x7739,
+0x773B,0x773D,0x773E,0x773F,0x7742,0x7744,0x7745,0x7746,
+0x7748,0x7749,0x774A,0x774B,0x774C,0x774D,0x774E,0x774F,
+0x7752,0x7753,0x7754,0x7755,0x7756,0x7757,0x7758,0x7759,
+0x775C,0x8584,0x96F9,0x4FDD,0x5821,0x9971,0x5B9D,0x62B1,
+0x62A5,0x66B4,0x8C79,0x9C8D,0x7206,0x676F,0x7891,0x60B2,
+0x5351,0x5317,0x8F88,0x80CC,0x8D1D,0x94A1,0x500D,0x72C8,
+0x5907,0x60EB,0x7119,0x88AB,0x5954,0x82EF,0x672C,0x7B28,
+0x5D29,0x7EF7,0x752D,0x6CF5,0x8E66,0x8FF8,0x903C,0x9F3B,
+0x6BD4,0x9119,0x7B14,0x5F7C,0x78A7,0x84D6,0x853D,0x6BD5,
+0x6BD9,0x6BD6,0x5E01,0x5E87,0x75F9,0x95ED,0x655D,0x5F0A,
+0x5FC5,0x8F9F,0x58C1,0x81C2,0x907F,0x965B,0x97AD,0x8FB9,
+0x7F16,0x8D2C,0x6241,0x4FBF,0x53D8,0x535E,0x8FA8,0x8FA9,
+0x8FAB,0x904D,0x6807,0x5F6A,0x8198,0x8868,0x9CD6,0x618B,
+0x522B,0x762A,0x5F6C,0x658C,0x6FD2,0x6EE8,0x5BBE,0x6448,
+0x5175,0x51B0,0x67C4,0x4E19,0x79C9,0x997C,0x70B3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x775D,0x775E,0x775F,0x7760,0x7764,0x7767,0x7769,0x776A,
+0x776D,0x776E,0x776F,0x7770,0x7771,0x7772,0x7773,0x7774,
+0x7775,0x7776,0x7777,0x7778,0x777A,0x777B,0x777C,0x7781,
+0x7782,0x7783,0x7786,0x7787,0x7788,0x7789,0x778A,0x778B,
+0x778F,0x7790,0x7793,0x7794,0x7795,0x7796,0x7797,0x7798,
+0x7799,0x779A,0x779B,0x779C,0x779D,0x779E,0x77A1,0x77A3,
+0x77A4,0x77A6,0x77A8,0x77AB,0x77AD,0x77AE,0x77AF,0x77B1,
+0x77B2,0x77B4,0x77B6,0x77B7,0x77B8,0x77B9,0x77BA, 0,
+0x77BC,0x77BE,0x77C0,0x77C1,0x77C2,0x77C3,0x77C4,0x77C5,
+0x77C6,0x77C7,0x77C8,0x77C9,0x77CA,0x77CB,0x77CC,0x77CE,
+0x77CF,0x77D0,0x77D1,0x77D2,0x77D3,0x77D4,0x77D5,0x77D6,
+0x77D8,0x77D9,0x77DA,0x77DD,0x77DE,0x77DF,0x77E0,0x77E1,
+0x77E4,0x75C5,0x5E76,0x73BB,0x83E0,0x64AD,0x62E8,0x94B5,
+0x6CE2,0x535A,0x52C3,0x640F,0x94C2,0x7B94,0x4F2F,0x5E1B,
+0x8236,0x8116,0x818A,0x6E24,0x6CCA,0x9A73,0x6355,0x535C,
+0x54FA,0x8865,0x57E0,0x4E0D,0x5E03,0x6B65,0x7C3F,0x90E8,
+0x6016,0x64E6,0x731C,0x88C1,0x6750,0x624D,0x8D22,0x776C,
+0x8E29,0x91C7,0x5F69,0x83DC,0x8521,0x9910,0x53C2,0x8695,
+0x6B8B,0x60ED,0x60E8,0x707F,0x82CD,0x8231,0x4ED3,0x6CA7,
+0x85CF,0x64CD,0x7CD9,0x69FD,0x66F9,0x8349,0x5395,0x7B56,
+0x4FA7,0x518C,0x6D4B,0x5C42,0x8E6D,0x63D2,0x53C9,0x832C,
+0x8336,0x67E5,0x78B4,0x643D,0x5BDF,0x5C94,0x5DEE,0x8BE7,
+0x62C6,0x67F4,0x8C7A,0x6400,0x63BA,0x8749,0x998B,0x8C17,
+0x7F20,0x94F2,0x4EA7,0x9610,0x98A4,0x660C,0x7316, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x77E6,0x77E8,0x77EA,0x77EF,0x77F0,0x77F1,0x77F2,0x77F4,
+0x77F5,0x77F7,0x77F9,0x77FA,0x77FB,0x77FC,0x7803,0x7804,
+0x7805,0x7806,0x7807,0x7808,0x780A,0x780B,0x780E,0x780F,
+0x7810,0x7813,0x7815,0x7819,0x781B,0x781E,0x7820,0x7821,
+0x7822,0x7824,0x7828,0x782A,0x782B,0x782E,0x782F,0x7831,
+0x7832,0x7833,0x7835,0x7836,0x783D,0x783F,0x7841,0x7842,
+0x7843,0x7844,0x7846,0x7848,0x7849,0x784A,0x784B,0x784D,
+0x784F,0x7851,0x7853,0x7854,0x7858,0x7859,0x785A, 0,
+0x785B,0x785C,0x785E,0x785F,0x7860,0x7861,0x7862,0x7863,
+0x7864,0x7865,0x7866,0x7867,0x7868,0x7869,0x786F,0x7870,
+0x7871,0x7872,0x7873,0x7874,0x7875,0x7876,0x7878,0x7879,
+0x787A,0x787B,0x787D,0x787E,0x787F,0x7880,0x7881,0x7882,
+0x7883,0x573A,0x5C1D,0x5E38,0x957F,0x507F,0x80A0,0x5382,
+0x655E,0x7545,0x5531,0x5021,0x8D85,0x6284,0x949E,0x671D,
+0x5632,0x6F6E,0x5DE2,0x5435,0x7092,0x8F66,0x626F,0x64A4,
+0x63A3,0x5F7B,0x6F88,0x90F4,0x81E3,0x8FB0,0x5C18,0x6668,
+0x5FF1,0x6C89,0x9648,0x8D81,0x886C,0x6491,0x79F0,0x57CE,
+0x6A59,0x6210,0x5448,0x4E58,0x7A0B,0x60E9,0x6F84,0x8BDA,
+0x627F,0x901E,0x9A8B,0x79E4,0x5403,0x75F4,0x6301,0x5319,
+0x6C60,0x8FDF,0x5F1B,0x9A70,0x803B,0x9F7F,0x4F88,0x5C3A,
+0x8D64,0x7FC5,0x65A5,0x70BD,0x5145,0x51B2,0x866B,0x5D07,
+0x5BA0,0x62BD,0x916C,0x7574,0x8E0C,0x7A20,0x6101,0x7B79,
+0x4EC7,0x7EF8,0x7785,0x4E11,0x81ED,0x521D,0x51FA,0x6A71,
+0x53A8,0x8E87,0x9504,0x96CF,0x6EC1,0x9664,0x695A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7884,0x7885,0x7886,0x7888,0x788A,0x788B,0x788F,0x7890,
+0x7892,0x7894,0x7895,0x7896,0x7899,0x789D,0x789E,0x78A0,
+0x78A2,0x78A4,0x78A6,0x78A8,0x78A9,0x78AA,0x78AB,0x78AC,
+0x78AD,0x78AE,0x78AF,0x78B5,0x78B6,0x78B7,0x78B8,0x78BA,
+0x78BB,0x78BC,0x78BD,0x78BF,0x78C0,0x78C2,0x78C3,0x78C4,
+0x78C6,0x78C7,0x78C8,0x78CC,0x78CD,0x78CE,0x78CF,0x78D1,
+0x78D2,0x78D3,0x78D6,0x78D7,0x78D8,0x78DA,0x78DB,0x78DC,
+0x78DD,0x78DE,0x78DF,0x78E0,0x78E1,0x78E2,0x78E3, 0,
+0x78E4,0x78E5,0x78E6,0x78E7,0x78E9,0x78EA,0x78EB,0x78ED,
+0x78EE,0x78EF,0x78F0,0x78F1,0x78F3,0x78F5,0x78F6,0x78F8,
+0x78F9,0x78FB,0x78FC,0x78FD,0x78FE,0x78FF,0x7900,0x7902,
+0x7903,0x7904,0x7906,0x7907,0x7908,0x7909,0x790A,0x790B,
+0x790C,0x7840,0x50A8,0x77D7,0x6410,0x89E6,0x5904,0x63E3,
+0x5DDD,0x7A7F,0x693D,0x4F20,0x8239,0x5598,0x4E32,0x75AE,
+0x7A97,0x5E62,0x5E8A,0x95EF,0x521B,0x5439,0x708A,0x6376,
+0x9524,0x5782,0x6625,0x693F,0x9187,0x5507,0x6DF3,0x7EAF,
+0x8822,0x6233,0x7EF0,0x75B5,0x8328,0x78C1,0x96CC,0x8F9E,
+0x6148,0x74F7,0x8BCD,0x6B64,0x523A,0x8D50,0x6B21,0x806A,
+0x8471,0x56F1,0x5306,0x4ECE,0x4E1B,0x51D1,0x7C97,0x918B,
+0x7C07,0x4FC3,0x8E7F,0x7BE1,0x7A9C,0x6467,0x5D14,0x50AC,
+0x8106,0x7601,0x7CB9,0x6DEC,0x7FE0,0x6751,0x5B58,0x5BF8,
+0x78CB,0x64AE,0x6413,0x63AA,0x632B,0x9519,0x642D,0x8FBE,
+0x7B54,0x7629,0x6253,0x5927,0x5446,0x6B79,0x50A3,0x6234,
+0x5E26,0x6B86,0x4EE3,0x8D37,0x888B,0x5F85,0x902E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x790D,0x790E,0x790F,0x7910,0x7911,0x7912,0x7914,0x7915,
+0x7916,0x7917,0x7918,0x7919,0x791A,0x791B,0x791C,0x791D,
+0x791F,0x7920,0x7921,0x7922,0x7923,0x7925,0x7926,0x7927,
+0x7928,0x7929,0x792A,0x792B,0x792C,0x792D,0x792E,0x792F,
+0x7930,0x7931,0x7932,0x7933,0x7935,0x7936,0x7937,0x7938,
+0x7939,0x793D,0x793F,0x7942,0x7943,0x7944,0x7945,0x7947,
+0x794A,0x794B,0x794C,0x794D,0x794E,0x794F,0x7950,0x7951,
+0x7952,0x7954,0x7955,0x7958,0x7959,0x7961,0x7963, 0,
+0x7964,0x7966,0x7969,0x796A,0x796B,0x796C,0x796E,0x7970,
+0x7971,0x7972,0x7973,0x7974,0x7975,0x7976,0x7979,0x797B,
+0x797C,0x797D,0x797E,0x797F,0x7982,0x7983,0x7986,0x7987,
+0x7988,0x7989,0x798B,0x798C,0x798D,0x798E,0x7990,0x7991,
+0x7992,0x6020,0x803D,0x62C5,0x4E39,0x5355,0x90F8,0x63B8,
+0x80C6,0x65E6,0x6C2E,0x4F46,0x60EE,0x6DE1,0x8BDE,0x5F39,
+0x86CB,0x5F53,0x6321,0x515A,0x8361,0x6863,0x5200,0x6363,
+0x8E48,0x5012,0x5C9B,0x7977,0x5BFC,0x5230,0x7A3B,0x60BC,
+0x9053,0x76D7,0x5FB7,0x5F97,0x7684,0x8E6C,0x706F,0x767B,
+0x7B49,0x77AA,0x51F3,0x9093,0x5824,0x4F4E,0x6EF4,0x8FEA,
+0x654C,0x7B1B,0x72C4,0x6DA4,0x7FDF,0x5AE1,0x62B5,0x5E95,
+0x5730,0x8482,0x7B2C,0x5E1D,0x5F1F,0x9012,0x7F14,0x98A0,
+0x6382,0x6EC7,0x7898,0x70B9,0x5178,0x975B,0x57AB,0x7535,
+0x4F43,0x7538,0x5E97,0x60E6,0x5960,0x6DC0,0x6BBF,0x7889,
+0x53FC,0x96D5,0x51CB,0x5201,0x6389,0x540A,0x9493,0x8C03,
+0x8DCC,0x7239,0x789F,0x8776,0x8FED,0x8C0D,0x53E0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7993,0x7994,0x7995,0x7996,0x7997,0x7998,0x7999,0x799B,
+0x799C,0x799D,0x799E,0x799F,0x79A0,0x79A1,0x79A2,0x79A3,
+0x79A4,0x79A5,0x79A6,0x79A8,0x79A9,0x79AA,0x79AB,0x79AC,
+0x79AD,0x79AE,0x79AF,0x79B0,0x79B1,0x79B2,0x79B4,0x79B5,
+0x79B6,0x79B7,0x79B8,0x79BC,0x79BF,0x79C2,0x79C4,0x79C5,
+0x79C7,0x79C8,0x79CA,0x79CC,0x79CE,0x79CF,0x79D0,0x79D3,
+0x79D4,0x79D6,0x79D7,0x79D9,0x79DA,0x79DB,0x79DC,0x79DD,
+0x79DE,0x79E0,0x79E1,0x79E2,0x79E5,0x79E8,0x79EA, 0,
+0x79EC,0x79EE,0x79F1,0x79F2,0x79F3,0x79F4,0x79F5,0x79F6,
+0x79F7,0x79F9,0x79FA,0x79FC,0x79FE,0x79FF,0x7A01,0x7A04,
+0x7A05,0x7A07,0x7A08,0x7A09,0x7A0A,0x7A0C,0x7A0F,0x7A10,
+0x7A11,0x7A12,0x7A13,0x7A15,0x7A16,0x7A18,0x7A19,0x7A1B,
+0x7A1C,0x4E01,0x76EF,0x53EE,0x9489,0x9876,0x9F0E,0x952D,
+0x5B9A,0x8BA2,0x4E22,0x4E1C,0x51AC,0x8463,0x61C2,0x52A8,
+0x680B,0x4F97,0x606B,0x51BB,0x6D1E,0x515C,0x6296,0x6597,
+0x9661,0x8C46,0x9017,0x75D8,0x90FD,0x7763,0x6BD2,0x728A,
+0x72EC,0x8BFB,0x5835,0x7779,0x8D4C,0x675C,0x9540,0x809A,
+0x5EA6,0x6E21,0x5992,0x7AEF,0x77ED,0x953B,0x6BB5,0x65AD,
+0x7F0E,0x5806,0x5151,0x961F,0x5BF9,0x58A9,0x5428,0x8E72,
+0x6566,0x987F,0x56E4,0x949D,0x76FE,0x9041,0x6387,0x54C6,
+0x591A,0x593A,0x579B,0x8EB2,0x6735,0x8DFA,0x8235,0x5241,
+0x60F0,0x5815,0x86FE,0x5CE8,0x9E45,0x4FC4,0x989D,0x8BB9,
+0x5A25,0x6076,0x5384,0x627C,0x904F,0x9102,0x997F,0x6069,
+0x800C,0x513F,0x8033,0x5C14,0x9975,0x6D31,0x4E8C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7A1D,0x7A1F,0x7A21,0x7A22,0x7A24,0x7A25,0x7A26,0x7A27,
+0x7A28,0x7A29,0x7A2A,0x7A2B,0x7A2C,0x7A2D,0x7A2E,0x7A2F,
+0x7A30,0x7A31,0x7A32,0x7A34,0x7A35,0x7A36,0x7A38,0x7A3A,
+0x7A3E,0x7A40,0x7A41,0x7A42,0x7A43,0x7A44,0x7A45,0x7A47,
+0x7A48,0x7A49,0x7A4A,0x7A4B,0x7A4C,0x7A4D,0x7A4E,0x7A4F,
+0x7A50,0x7A52,0x7A53,0x7A54,0x7A55,0x7A56,0x7A58,0x7A59,
+0x7A5A,0x7A5B,0x7A5C,0x7A5D,0x7A5E,0x7A5F,0x7A60,0x7A61,
+0x7A62,0x7A63,0x7A64,0x7A65,0x7A66,0x7A67,0x7A68, 0,
+0x7A69,0x7A6A,0x7A6B,0x7A6C,0x7A6D,0x7A6E,0x7A6F,0x7A71,
+0x7A72,0x7A73,0x7A75,0x7A7B,0x7A7C,0x7A7D,0x7A7E,0x7A82,
+0x7A85,0x7A87,0x7A89,0x7A8A,0x7A8B,0x7A8C,0x7A8E,0x7A8F,
+0x7A90,0x7A93,0x7A94,0x7A99,0x7A9A,0x7A9B,0x7A9E,0x7AA1,
+0x7AA2,0x8D30,0x53D1,0x7F5A,0x7B4F,0x4F10,0x4E4F,0x9600,
+0x6CD5,0x73D0,0x85E9,0x5E06,0x756A,0x7FFB,0x6A0A,0x77FE,
+0x9492,0x7E41,0x51E1,0x70E6,0x53CD,0x8FD4,0x8303,0x8D29,
+0x72AF,0x996D,0x6CDB,0x574A,0x82B3,0x65B9,0x80AA,0x623F,
+0x9632,0x59A8,0x4EFF,0x8BBF,0x7EBA,0x653E,0x83F2,0x975E,
+0x5561,0x98DE,0x80A5,0x532A,0x8BFD,0x5420,0x80BA,0x5E9F,
+0x6CB8,0x8D39,0x82AC,0x915A,0x5429,0x6C1B,0x5206,0x7EB7,
+0x575F,0x711A,0x6C7E,0x7C89,0x594B,0x4EFD,0x5FFF,0x6124,
+0x7CAA,0x4E30,0x5C01,0x67AB,0x8702,0x5CF0,0x950B,0x98CE,
+0x75AF,0x70FD,0x9022,0x51AF,0x7F1D,0x8BBD,0x5949,0x51E4,
+0x4F5B,0x5426,0x592B,0x6577,0x80A4,0x5B75,0x6276,0x62C2,
+0x8F90,0x5E45,0x6C1F,0x7B26,0x4F0F,0x4FD8,0x670D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7AA3,0x7AA4,0x7AA7,0x7AA9,0x7AAA,0x7AAB,0x7AAE,0x7AAF,
+0x7AB0,0x7AB1,0x7AB2,0x7AB4,0x7AB5,0x7AB6,0x7AB7,0x7AB8,
+0x7AB9,0x7ABA,0x7ABB,0x7ABC,0x7ABD,0x7ABE,0x7AC0,0x7AC1,
+0x7AC2,0x7AC3,0x7AC4,0x7AC5,0x7AC6,0x7AC7,0x7AC8,0x7AC9,
+0x7ACA,0x7ACC,0x7ACD,0x7ACE,0x7ACF,0x7AD0,0x7AD1,0x7AD2,
+0x7AD3,0x7AD4,0x7AD5,0x7AD7,0x7AD8,0x7ADA,0x7ADB,0x7ADC,
+0x7ADD,0x7AE1,0x7AE2,0x7AE4,0x7AE7,0x7AE8,0x7AE9,0x7AEA,
+0x7AEB,0x7AEC,0x7AEE,0x7AF0,0x7AF1,0x7AF2,0x7AF3, 0,
+0x7AF4,0x7AF5,0x7AF6,0x7AF7,0x7AF8,0x7AFB,0x7AFC,0x7AFE,
+0x7B00,0x7B01,0x7B02,0x7B05,0x7B07,0x7B09,0x7B0C,0x7B0D,
+0x7B0E,0x7B10,0x7B12,0x7B13,0x7B16,0x7B17,0x7B18,0x7B1A,
+0x7B1C,0x7B1D,0x7B1F,0x7B21,0x7B22,0x7B23,0x7B27,0x7B29,
+0x7B2D,0x6D6E,0x6DAA,0x798F,0x88B1,0x5F17,0x752B,0x629A,
+0x8F85,0x4FEF,0x91DC,0x65A7,0x812F,0x8151,0x5E9C,0x8150,
+0x8D74,0x526F,0x8986,0x8D4B,0x590D,0x5085,0x4ED8,0x961C,
+0x7236,0x8179,0x8D1F,0x5BCC,0x8BA3,0x9644,0x5987,0x7F1A,
+0x5490,0x5676,0x560E,0x8BE5,0x6539,0x6982,0x9499,0x76D6,
+0x6E89,0x5E72,0x7518,0x6746,0x67D1,0x7AFF,0x809D,0x8D76,
+0x611F,0x79C6,0x6562,0x8D63,0x5188,0x521A,0x94A2,0x7F38,
+0x809B,0x7EB2,0x5C97,0x6E2F,0x6760,0x7BD9,0x768B,0x9AD8,
+0x818F,0x7F94,0x7CD5,0x641E,0x9550,0x7A3F,0x544A,0x54E5,
+0x6B4C,0x6401,0x6208,0x9E3D,0x80F3,0x7599,0x5272,0x9769,
+0x845B,0x683C,0x86E4,0x9601,0x9694,0x94EC,0x4E2A,0x5404,
+0x7ED9,0x6839,0x8DDF,0x8015,0x66F4,0x5E9A,0x7FB9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7B2F,0x7B30,0x7B32,0x7B34,0x7B35,0x7B36,0x7B37,0x7B39,
+0x7B3B,0x7B3D,0x7B3F,0x7B40,0x7B41,0x7B42,0x7B43,0x7B44,
+0x7B46,0x7B48,0x7B4A,0x7B4D,0x7B4E,0x7B53,0x7B55,0x7B57,
+0x7B59,0x7B5C,0x7B5E,0x7B5F,0x7B61,0x7B63,0x7B64,0x7B65,
+0x7B66,0x7B67,0x7B68,0x7B69,0x7B6A,0x7B6B,0x7B6C,0x7B6D,
+0x7B6F,0x7B70,0x7B73,0x7B74,0x7B76,0x7B78,0x7B7A,0x7B7C,
+0x7B7D,0x7B7F,0x7B81,0x7B82,0x7B83,0x7B84,0x7B86,0x7B87,
+0x7B88,0x7B89,0x7B8A,0x7B8B,0x7B8C,0x7B8E,0x7B8F, 0,
+0x7B91,0x7B92,0x7B93,0x7B96,0x7B98,0x7B99,0x7B9A,0x7B9B,
+0x7B9E,0x7B9F,0x7BA0,0x7BA3,0x7BA4,0x7BA5,0x7BAE,0x7BAF,
+0x7BB0,0x7BB2,0x7BB3,0x7BB5,0x7BB6,0x7BB7,0x7BB9,0x7BBA,
+0x7BBB,0x7BBC,0x7BBD,0x7BBE,0x7BBF,0x7BC0,0x7BC2,0x7BC3,
+0x7BC4,0x57C2,0x803F,0x6897,0x5DE5,0x653B,0x529F,0x606D,
+0x9F9A,0x4F9B,0x8EAC,0x516C,0x5BAB,0x5F13,0x5DE9,0x6C5E,
+0x62F1,0x8D21,0x5171,0x94A9,0x52FE,0x6C9F,0x82DF,0x72D7,
+0x57A2,0x6784,0x8D2D,0x591F,0x8F9C,0x83C7,0x5495,0x7B8D,
+0x4F30,0x6CBD,0x5B64,0x59D1,0x9F13,0x53E4,0x86CA,0x9AA8,
+0x8C37,0x80A1,0x6545,0x987E,0x56FA,0x96C7,0x522E,0x74DC,
+0x5250,0x5BE1,0x6302,0x8902,0x4E56,0x62D0,0x602A,0x68FA,
+0x5173,0x5B98,0x51A0,0x89C2,0x7BA1,0x9986,0x7F50,0x60EF,
+0x704C,0x8D2F,0x5149,0x5E7F,0x901B,0x7470,0x89C4,0x572D,
+0x7845,0x5F52,0x9F9F,0x95FA,0x8F68,0x9B3C,0x8BE1,0x7678,
+0x6842,0x67DC,0x8DEA,0x8D35,0x523D,0x8F8A,0x6EDA,0x68CD,
+0x9505,0x90ED,0x56FD,0x679C,0x88F9,0x8FC7,0x54C8, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7BC5,0x7BC8,0x7BC9,0x7BCA,0x7BCB,0x7BCD,0x7BCE,0x7BCF,
+0x7BD0,0x7BD2,0x7BD4,0x7BD5,0x7BD6,0x7BD7,0x7BD8,0x7BDB,
+0x7BDC,0x7BDE,0x7BDF,0x7BE0,0x7BE2,0x7BE3,0x7BE4,0x7BE7,
+0x7BE8,0x7BE9,0x7BEB,0x7BEC,0x7BED,0x7BEF,0x7BF0,0x7BF2,
+0x7BF3,0x7BF4,0x7BF5,0x7BF6,0x7BF8,0x7BF9,0x7BFA,0x7BFB,
+0x7BFD,0x7BFF,0x7C00,0x7C01,0x7C02,0x7C03,0x7C04,0x7C05,
+0x7C06,0x7C08,0x7C09,0x7C0A,0x7C0D,0x7C0E,0x7C10,0x7C11,
+0x7C12,0x7C13,0x7C14,0x7C15,0x7C17,0x7C18,0x7C19, 0,
+0x7C1A,0x7C1B,0x7C1C,0x7C1D,0x7C1E,0x7C20,0x7C21,0x7C22,
+0x7C23,0x7C24,0x7C25,0x7C28,0x7C29,0x7C2B,0x7C2C,0x7C2D,
+0x7C2E,0x7C2F,0x7C30,0x7C31,0x7C32,0x7C33,0x7C34,0x7C35,
+0x7C36,0x7C37,0x7C39,0x7C3A,0x7C3B,0x7C3C,0x7C3D,0x7C3E,
+0x7C42,0x9AB8,0x5B69,0x6D77,0x6C26,0x4EA5,0x5BB3,0x9A87,
+0x9163,0x61A8,0x90AF,0x97E9,0x542B,0x6DB5,0x5BD2,0x51FD,
+0x558A,0x7F55,0x7FF0,0x64BC,0x634D,0x65F1,0x61BE,0x608D,
+0x710A,0x6C57,0x6C49,0x592F,0x676D,0x822A,0x58D5,0x568E,
+0x8C6A,0x6BEB,0x90DD,0x597D,0x8017,0x53F7,0x6D69,0x5475,
+0x559D,0x8377,0x83CF,0x6838,0x79BE,0x548C,0x4F55,0x5408,
+0x76D2,0x8C89,0x9602,0x6CB3,0x6DB8,0x8D6B,0x8910,0x9E64,
+0x8D3A,0x563F,0x9ED1,0x75D5,0x5F88,0x72E0,0x6068,0x54FC,
+0x4EA8,0x6A2A,0x8861,0x6052,0x8F70,0x54C4,0x70D8,0x8679,
+0x9E3F,0x6D2A,0x5B8F,0x5F18,0x7EA2,0x5589,0x4FAF,0x7334,
+0x543C,0x539A,0x5019,0x540E,0x547C,0x4E4E,0x5FFD,0x745A,
+0x58F6,0x846B,0x80E1,0x8774,0x72D0,0x7CCA,0x6E56, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7C43,0x7C44,0x7C45,0x7C46,0x7C47,0x7C48,0x7C49,0x7C4A,
+0x7C4B,0x7C4C,0x7C4E,0x7C4F,0x7C50,0x7C51,0x7C52,0x7C53,
+0x7C54,0x7C55,0x7C56,0x7C57,0x7C58,0x7C59,0x7C5A,0x7C5B,
+0x7C5C,0x7C5D,0x7C5E,0x7C5F,0x7C60,0x7C61,0x7C62,0x7C63,
+0x7C64,0x7C65,0x7C66,0x7C67,0x7C68,0x7C69,0x7C6A,0x7C6B,
+0x7C6C,0x7C6D,0x7C6E,0x7C6F,0x7C70,0x7C71,0x7C72,0x7C75,
+0x7C76,0x7C77,0x7C78,0x7C79,0x7C7A,0x7C7E,0x7C7F,0x7C80,
+0x7C81,0x7C82,0x7C83,0x7C84,0x7C85,0x7C86,0x7C87, 0,
+0x7C88,0x7C8A,0x7C8B,0x7C8C,0x7C8D,0x7C8E,0x7C8F,0x7C90,
+0x7C93,0x7C94,0x7C96,0x7C99,0x7C9A,0x7C9B,0x7CA0,0x7CA1,
+0x7CA3,0x7CA6,0x7CA7,0x7CA8,0x7CA9,0x7CAB,0x7CAC,0x7CAD,
+0x7CAF,0x7CB0,0x7CB4,0x7CB5,0x7CB6,0x7CB7,0x7CB8,0x7CBA,
+0x7CBB,0x5F27,0x864E,0x552C,0x62A4,0x4E92,0x6CAA,0x6237,
+0x82B1,0x54D7,0x534E,0x733E,0x6ED1,0x753B,0x5212,0x5316,
+0x8BDD,0x69D0,0x5F8A,0x6000,0x6DEE,0x574F,0x6B22,0x73AF,
+0x6853,0x8FD8,0x7F13,0x6362,0x60A3,0x5524,0x75EA,0x8C62,
+0x7115,0x6DA3,0x5BA6,0x5E7B,0x8352,0x614C,0x9EC4,0x78FA,
+0x8757,0x7C27,0x7687,0x51F0,0x60F6,0x714C,0x6643,0x5E4C,
+0x604D,0x8C0E,0x7070,0x6325,0x8F89,0x5FBD,0x6062,0x86D4,
+0x56DE,0x6BC1,0x6094,0x6167,0x5349,0x60E0,0x6666,0x8D3F,
+0x79FD,0x4F1A,0x70E9,0x6C47,0x8BB3,0x8BF2,0x7ED8,0x8364,
+0x660F,0x5A5A,0x9B42,0x6D51,0x6DF7,0x8C41,0x6D3B,0x4F19,
+0x706B,0x83B7,0x6216,0x60D1,0x970D,0x8D27,0x7978,0x51FB,
+0x573E,0x57FA,0x673A,0x7578,0x7A3D,0x79EF,0x7B95, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7CBF,0x7CC0,0x7CC2,0x7CC3,0x7CC4,0x7CC6,0x7CC9,0x7CCB,
+0x7CCE,0x7CCF,0x7CD0,0x7CD1,0x7CD2,0x7CD3,0x7CD4,0x7CD8,
+0x7CDA,0x7CDB,0x7CDD,0x7CDE,0x7CE1,0x7CE2,0x7CE3,0x7CE4,
+0x7CE5,0x7CE6,0x7CE7,0x7CE9,0x7CEA,0x7CEB,0x7CEC,0x7CED,
+0x7CEE,0x7CF0,0x7CF1,0x7CF2,0x7CF3,0x7CF4,0x7CF5,0x7CF6,
+0x7CF7,0x7CF9,0x7CFA,0x7CFC,0x7CFD,0x7CFE,0x7CFF,0x7D00,
+0x7D01,0x7D02,0x7D03,0x7D04,0x7D05,0x7D06,0x7D07,0x7D08,
+0x7D09,0x7D0B,0x7D0C,0x7D0D,0x7D0E,0x7D0F,0x7D10, 0,
+0x7D11,0x7D12,0x7D13,0x7D14,0x7D15,0x7D16,0x7D17,0x7D18,
+0x7D19,0x7D1A,0x7D1B,0x7D1C,0x7D1D,0x7D1E,0x7D1F,0x7D21,
+0x7D23,0x7D24,0x7D25,0x7D26,0x7D28,0x7D29,0x7D2A,0x7D2C,
+0x7D2D,0x7D2E,0x7D30,0x7D31,0x7D32,0x7D33,0x7D34,0x7D35,
+0x7D36,0x808C,0x9965,0x8FF9,0x6FC0,0x8BA5,0x9E21,0x59EC,
+0x7EE9,0x7F09,0x5409,0x6781,0x68D8,0x8F91,0x7C4D,0x96C6,
+0x53CA,0x6025,0x75BE,0x6C72,0x5373,0x5AC9,0x7EA7,0x6324,
+0x51E0,0x810A,0x5DF1,0x84DF,0x6280,0x5180,0x5B63,0x4F0E,
+0x796D,0x5242,0x60B8,0x6D4E,0x5BC4,0x5BC2,0x8BA1,0x8BB0,
+0x65E2,0x5FCC,0x9645,0x5993,0x7EE7,0x7EAA,0x5609,0x67B7,
+0x5939,0x4F73,0x5BB6,0x52A0,0x835A,0x988A,0x8D3E,0x7532,
+0x94BE,0x5047,0x7A3C,0x4EF7,0x67B6,0x9A7E,0x5AC1,0x6B7C,
+0x76D1,0x575A,0x5C16,0x7B3A,0x95F4,0x714E,0x517C,0x80A9,
+0x8270,0x5978,0x7F04,0x8327,0x68C0,0x67EC,0x78B1,0x7877,
+0x62E3,0x6361,0x7B80,0x4FED,0x526A,0x51CF,0x8350,0x69DB,
+0x9274,0x8DF5,0x8D31,0x89C1,0x952E,0x7BAD,0x4EF6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7D37,0x7D38,0x7D39,0x7D3A,0x7D3B,0x7D3C,0x7D3D,0x7D3E,
+0x7D3F,0x7D40,0x7D41,0x7D42,0x7D43,0x7D44,0x7D45,0x7D46,
+0x7D47,0x7D48,0x7D49,0x7D4A,0x7D4B,0x7D4C,0x7D4D,0x7D4E,
+0x7D4F,0x7D50,0x7D51,0x7D52,0x7D53,0x7D54,0x7D55,0x7D56,
+0x7D57,0x7D58,0x7D59,0x7D5A,0x7D5B,0x7D5C,0x7D5D,0x7D5E,
+0x7D5F,0x7D60,0x7D61,0x7D62,0x7D63,0x7D64,0x7D65,0x7D66,
+0x7D67,0x7D68,0x7D69,0x7D6A,0x7D6B,0x7D6C,0x7D6D,0x7D6F,
+0x7D70,0x7D71,0x7D72,0x7D73,0x7D74,0x7D75,0x7D76, 0,
+0x7D78,0x7D79,0x7D7A,0x7D7B,0x7D7C,0x7D7D,0x7D7E,0x7D7F,
+0x7D80,0x7D81,0x7D82,0x7D83,0x7D84,0x7D85,0x7D86,0x7D87,
+0x7D88,0x7D89,0x7D8A,0x7D8B,0x7D8C,0x7D8D,0x7D8E,0x7D8F,
+0x7D90,0x7D91,0x7D92,0x7D93,0x7D94,0x7D95,0x7D96,0x7D97,
+0x7D98,0x5065,0x8230,0x5251,0x996F,0x6E10,0x6E85,0x6DA7,
+0x5EFA,0x50F5,0x59DC,0x5C06,0x6D46,0x6C5F,0x7586,0x848B,
+0x6868,0x5956,0x8BB2,0x5320,0x9171,0x964D,0x8549,0x6912,
+0x7901,0x7126,0x80F6,0x4EA4,0x90CA,0x6D47,0x9A84,0x5A07,
+0x56BC,0x6405,0x94F0,0x77EB,0x4FA5,0x811A,0x72E1,0x89D2,
+0x997A,0x7F34,0x7EDE,0x527F,0x6559,0x9175,0x8F7F,0x8F83,
+0x53EB,0x7A96,0x63ED,0x63A5,0x7686,0x79F8,0x8857,0x9636,
+0x622A,0x52AB,0x8282,0x6854,0x6770,0x6377,0x776B,0x7AED,
+0x6D01,0x7ED3,0x89E3,0x59D0,0x6212,0x85C9,0x82A5,0x754C,
+0x501F,0x4ECB,0x75A5,0x8BEB,0x5C4A,0x5DFE,0x7B4B,0x65A4,
+0x91D1,0x4ECA,0x6D25,0x895F,0x7D27,0x9526,0x4EC5,0x8C28,
+0x8FDB,0x9773,0x664B,0x7981,0x8FD1,0x70EC,0x6D78, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7D99,0x7D9A,0x7D9B,0x7D9C,0x7D9D,0x7D9E,0x7D9F,0x7DA0,
+0x7DA1,0x7DA2,0x7DA3,0x7DA4,0x7DA5,0x7DA7,0x7DA8,0x7DA9,
+0x7DAA,0x7DAB,0x7DAC,0x7DAD,0x7DAF,0x7DB0,0x7DB1,0x7DB2,
+0x7DB3,0x7DB4,0x7DB5,0x7DB6,0x7DB7,0x7DB8,0x7DB9,0x7DBA,
+0x7DBB,0x7DBC,0x7DBD,0x7DBE,0x7DBF,0x7DC0,0x7DC1,0x7DC2,
+0x7DC3,0x7DC4,0x7DC5,0x7DC6,0x7DC7,0x7DC8,0x7DC9,0x7DCA,
+0x7DCB,0x7DCC,0x7DCD,0x7DCE,0x7DCF,0x7DD0,0x7DD1,0x7DD2,
+0x7DD3,0x7DD4,0x7DD5,0x7DD6,0x7DD7,0x7DD8,0x7DD9, 0,
+0x7DDA,0x7DDB,0x7DDC,0x7DDD,0x7DDE,0x7DDF,0x7DE0,0x7DE1,
+0x7DE2,0x7DE3,0x7DE4,0x7DE5,0x7DE6,0x7DE7,0x7DE8,0x7DE9,
+0x7DEA,0x7DEB,0x7DEC,0x7DED,0x7DEE,0x7DEF,0x7DF0,0x7DF1,
+0x7DF2,0x7DF3,0x7DF4,0x7DF5,0x7DF6,0x7DF7,0x7DF8,0x7DF9,
+0x7DFA,0x5C3D,0x52B2,0x8346,0x5162,0x830E,0x775B,0x6676,
+0x9CB8,0x4EAC,0x60CA,0x7CBE,0x7CB3,0x7ECF,0x4E95,0x8B66,
+0x666F,0x9888,0x9759,0x5883,0x656C,0x955C,0x5F84,0x75C9,
+0x9756,0x7ADF,0x7ADE,0x51C0,0x70AF,0x7A98,0x63EA,0x7A76,
+0x7EA0,0x7396,0x97ED,0x4E45,0x7078,0x4E5D,0x9152,0x53A9,
+0x6551,0x65E7,0x81FC,0x8205,0x548E,0x5C31,0x759A,0x97A0,
+0x62D8,0x72D9,0x75BD,0x5C45,0x9A79,0x83CA,0x5C40,0x5480,
+0x77E9,0x4E3E,0x6CAE,0x805A,0x62D2,0x636E,0x5DE8,0x5177,
+0x8DDD,0x8E1E,0x952F,0x4FF1,0x53E5,0x60E7,0x70AC,0x5267,
+0x6350,0x9E43,0x5A1F,0x5026,0x7737,0x5377,0x7EE2,0x6485,
+0x652B,0x6289,0x6398,0x5014,0x7235,0x89C9,0x51B3,0x8BC0,
+0x7EDD,0x5747,0x83CC,0x94A7,0x519B,0x541B,0x5CFB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7DFB,0x7DFC,0x7DFD,0x7DFE,0x7DFF,0x7E00,0x7E01,0x7E02,
+0x7E03,0x7E04,0x7E05,0x7E06,0x7E07,0x7E08,0x7E09,0x7E0A,
+0x7E0B,0x7E0C,0x7E0D,0x7E0E,0x7E0F,0x7E10,0x7E11,0x7E12,
+0x7E13,0x7E14,0x7E15,0x7E16,0x7E17,0x7E18,0x7E19,0x7E1A,
+0x7E1B,0x7E1C,0x7E1D,0x7E1E,0x7E1F,0x7E20,0x7E21,0x7E22,
+0x7E23,0x7E24,0x7E25,0x7E26,0x7E27,0x7E28,0x7E29,0x7E2A,
+0x7E2B,0x7E2C,0x7E2D,0x7E2E,0x7E2F,0x7E30,0x7E31,0x7E32,
+0x7E33,0x7E34,0x7E35,0x7E36,0x7E37,0x7E38,0x7E39, 0,
+0x7E3A,0x7E3C,0x7E3D,0x7E3E,0x7E3F,0x7E40,0x7E42,0x7E43,
+0x7E44,0x7E45,0x7E46,0x7E48,0x7E49,0x7E4A,0x7E4B,0x7E4C,
+0x7E4D,0x7E4E,0x7E4F,0x7E50,0x7E51,0x7E52,0x7E53,0x7E54,
+0x7E55,0x7E56,0x7E57,0x7E58,0x7E59,0x7E5A,0x7E5B,0x7E5C,
+0x7E5D,0x4FCA,0x7AE3,0x6D5A,0x90E1,0x9A8F,0x5580,0x5496,
+0x5361,0x54AF,0x5F00,0x63E9,0x6977,0x51EF,0x6168,0x520A,
+0x582A,0x52D8,0x574E,0x780D,0x770B,0x5EB7,0x6177,0x7CE0,
+0x625B,0x6297,0x4EA2,0x7095,0x8003,0x62F7,0x70E4,0x9760,
+0x5777,0x82DB,0x67EF,0x68F5,0x78D5,0x9897,0x79D1,0x58F3,
+0x54B3,0x53EF,0x6E34,0x514B,0x523B,0x5BA2,0x8BFE,0x80AF,
+0x5543,0x57A6,0x6073,0x5751,0x542D,0x7A7A,0x6050,0x5B54,
+0x63A7,0x62A0,0x53E3,0x6263,0x5BC7,0x67AF,0x54ED,0x7A9F,
+0x82E6,0x9177,0x5E93,0x88E4,0x5938,0x57AE,0x630E,0x8DE8,
+0x80EF,0x5757,0x7B77,0x4FA9,0x5FEB,0x5BBD,0x6B3E,0x5321,
+0x7B50,0x72C2,0x6846,0x77FF,0x7736,0x65F7,0x51B5,0x4E8F,
+0x76D4,0x5CBF,0x7AA5,0x8475,0x594E,0x9B41,0x5080, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7E5E,0x7E5F,0x7E60,0x7E61,0x7E62,0x7E63,0x7E64,0x7E65,
+0x7E66,0x7E67,0x7E68,0x7E69,0x7E6A,0x7E6B,0x7E6C,0x7E6D,
+0x7E6E,0x7E6F,0x7E70,0x7E71,0x7E72,0x7E73,0x7E74,0x7E75,
+0x7E76,0x7E77,0x7E78,0x7E79,0x7E7A,0x7E7B,0x7E7C,0x7E7D,
+0x7E7E,0x7E7F,0x7E80,0x7E81,0x7E83,0x7E84,0x7E85,0x7E86,
+0x7E87,0x7E88,0x7E89,0x7E8A,0x7E8B,0x7E8C,0x7E8D,0x7E8E,
+0x7E8F,0x7E90,0x7E91,0x7E92,0x7E93,0x7E94,0x7E95,0x7E96,
+0x7E97,0x7E98,0x7E99,0x7E9A,0x7E9C,0x7E9D,0x7E9E, 0,
+0x7EAE,0x7EB4,0x7EBB,0x7EBC,0x7ED6,0x7EE4,0x7EEC,0x7EF9,
+0x7F0A,0x7F10,0x7F1E,0x7F37,0x7F39,0x7F3B,0x7F3C,0x7F3D,
+0x7F3E,0x7F3F,0x7F40,0x7F41,0x7F43,0x7F46,0x7F47,0x7F48,
+0x7F49,0x7F4A,0x7F4B,0x7F4C,0x7F4D,0x7F4E,0x7F4F,0x7F52,
+0x7F53,0x9988,0x6127,0x6E83,0x5764,0x6606,0x6346,0x56F0,
+0x62EC,0x6269,0x5ED3,0x9614,0x5783,0x62C9,0x5587,0x8721,
+0x814A,0x8FA3,0x5566,0x83B1,0x6765,0x8D56,0x84DD,0x5A6A,
+0x680F,0x62E6,0x7BEE,0x9611,0x5170,0x6F9C,0x8C30,0x63FD,
+0x89C8,0x61D2,0x7F06,0x70C2,0x6EE5,0x7405,0x6994,0x72FC,
+0x5ECA,0x90CE,0x6717,0x6D6A,0x635E,0x52B3,0x7262,0x8001,
+0x4F6C,0x59E5,0x916A,0x70D9,0x6D9D,0x52D2,0x4E50,0x96F7,
+0x956D,0x857E,0x78CA,0x7D2F,0x5121,0x5792,0x64C2,0x808B,
+0x7C7B,0x6CEA,0x68F1,0x695E,0x51B7,0x5398,0x68A8,0x7281,
+0x9ECE,0x7BF1,0x72F8,0x79BB,0x6F13,0x7406,0x674E,0x91CC,
+0x9CA4,0x793C,0x8389,0x8354,0x540F,0x6817,0x4E3D,0x5389,
+0x52B1,0x783E,0x5386,0x5229,0x5088,0x4F8B,0x4FD0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7F56,0x7F59,0x7F5B,0x7F5C,0x7F5D,0x7F5E,0x7F60,0x7F63,
+0x7F64,0x7F65,0x7F66,0x7F67,0x7F6B,0x7F6C,0x7F6D,0x7F6F,
+0x7F70,0x7F73,0x7F75,0x7F76,0x7F77,0x7F78,0x7F7A,0x7F7B,
+0x7F7C,0x7F7D,0x7F7F,0x7F80,0x7F82,0x7F83,0x7F84,0x7F85,
+0x7F86,0x7F87,0x7F88,0x7F89,0x7F8B,0x7F8D,0x7F8F,0x7F90,
+0x7F91,0x7F92,0x7F93,0x7F95,0x7F96,0x7F97,0x7F98,0x7F99,
+0x7F9B,0x7F9C,0x7FA0,0x7FA2,0x7FA3,0x7FA5,0x7FA6,0x7FA8,
+0x7FA9,0x7FAA,0x7FAB,0x7FAC,0x7FAD,0x7FAE,0x7FB1, 0,
+0x7FB3,0x7FB4,0x7FB5,0x7FB6,0x7FB7,0x7FBA,0x7FBB,0x7FBE,
+0x7FC0,0x7FC2,0x7FC3,0x7FC4,0x7FC6,0x7FC7,0x7FC8,0x7FC9,
+0x7FCB,0x7FCD,0x7FCF,0x7FD0,0x7FD1,0x7FD2,0x7FD3,0x7FD6,
+0x7FD7,0x7FD9,0x7FDA,0x7FDB,0x7FDC,0x7FDD,0x7FDE,0x7FE2,
+0x7FE3,0x75E2,0x7ACB,0x7C92,0x6CA5,0x96B6,0x529B,0x7483,
+0x54E9,0x4FE9,0x8054,0x83B2,0x8FDE,0x9570,0x5EC9,0x601C,
+0x6D9F,0x5E18,0x655B,0x8138,0x94FE,0x604B,0x70BC,0x7EC3,
+0x7CAE,0x51C9,0x6881,0x7CB1,0x826F,0x4E24,0x8F86,0x91CF,
+0x667E,0x4EAE,0x8C05,0x64A9,0x804A,0x50DA,0x7597,0x71CE,
+0x5BE5,0x8FBD,0x6F66,0x4E86,0x6482,0x9563,0x5ED6,0x6599,
+0x5217,0x88C2,0x70C8,0x52A3,0x730E,0x7433,0x6797,0x78F7,
+0x9716,0x4E34,0x90BB,0x9CDE,0x6DCB,0x51DB,0x8D41,0x541D,
+0x62CE,0x73B2,0x83F1,0x96F6,0x9F84,0x94C3,0x4F36,0x7F9A,
+0x51CC,0x7075,0x9675,0x5CAD,0x9886,0x53E6,0x4EE4,0x6E9C,
+0x7409,0x69B4,0x786B,0x998F,0x7559,0x5218,0x7624,0x6D41,
+0x67F3,0x516D,0x9F99,0x804B,0x5499,0x7B3C,0x7ABF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7FE4,0x7FE7,0x7FE8,0x7FEA,0x7FEB,0x7FEC,0x7FED,0x7FEF,
+0x7FF2,0x7FF4,0x7FF5,0x7FF6,0x7FF7,0x7FF8,0x7FF9,0x7FFA,
+0x7FFD,0x7FFE,0x7FFF,0x8002,0x8007,0x8008,0x8009,0x800A,
+0x800E,0x800F,0x8011,0x8013,0x801A,0x801B,0x801D,0x801E,
+0x801F,0x8021,0x8023,0x8024,0x802B,0x802C,0x802D,0x802E,
+0x802F,0x8030,0x8032,0x8034,0x8039,0x803A,0x803C,0x803E,
+0x8040,0x8041,0x8044,0x8045,0x8047,0x8048,0x8049,0x804E,
+0x804F,0x8050,0x8051,0x8053,0x8055,0x8056,0x8057, 0,
+0x8059,0x805B,0x805C,0x805D,0x805E,0x805F,0x8060,0x8061,
+0x8062,0x8063,0x8064,0x8065,0x8066,0x8067,0x8068,0x806B,
+0x806C,0x806D,0x806E,0x806F,0x8070,0x8072,0x8073,0x8074,
+0x8075,0x8076,0x8077,0x8078,0x8079,0x807A,0x807B,0x807C,
+0x807D,0x9686,0x5784,0x62E2,0x9647,0x697C,0x5A04,0x6402,
+0x7BD3,0x6F0F,0x964B,0x82A6,0x5362,0x9885,0x5E90,0x7089,
+0x63B3,0x5364,0x864F,0x9C81,0x9E93,0x788C,0x9732,0x8DEF,
+0x8D42,0x9E7F,0x6F5E,0x7984,0x5F55,0x9646,0x622E,0x9A74,
+0x5415,0x94DD,0x4FA3,0x65C5,0x5C65,0x5C61,0x7F15,0x8651,
+0x6C2F,0x5F8B,0x7387,0x6EE4,0x7EFF,0x5CE6,0x631B,0x5B6A,
+0x6EE6,0x5375,0x4E71,0x63A0,0x7565,0x62A1,0x8F6E,0x4F26,
+0x4ED1,0x6CA6,0x7EB6,0x8BBA,0x841D,0x87BA,0x7F57,0x903B,
+0x9523,0x7BA9,0x9AA1,0x88F8,0x843D,0x6D1B,0x9A86,0x7EDC,
+0x5988,0x9EBB,0x739B,0x7801,0x8682,0x9A6C,0x9A82,0x561B,
+0x5417,0x57CB,0x4E70,0x9EA6,0x5356,0x8FC8,0x8109,0x7792,
+0x9992,0x86EE,0x6EE1,0x8513,0x66FC,0x6162,0x6F2B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x807E,0x8081,0x8082,0x8085,0x8088,0x808A,0x808D,0x808E,
+0x808F,0x8090,0x8091,0x8092,0x8094,0x8095,0x8097,0x8099,
+0x809E,0x80A3,0x80A6,0x80A7,0x80A8,0x80AC,0x80B0,0x80B3,
+0x80B5,0x80B6,0x80B8,0x80B9,0x80BB,0x80C5,0x80C7,0x80C8,
+0x80C9,0x80CA,0x80CB,0x80CF,0x80D0,0x80D1,0x80D2,0x80D3,
+0x80D4,0x80D5,0x80D8,0x80DF,0x80E0,0x80E2,0x80E3,0x80E6,
+0x80EE,0x80F5,0x80F7,0x80F9,0x80FB,0x80FE,0x80FF,0x8100,
+0x8101,0x8103,0x8104,0x8105,0x8107,0x8108,0x810B, 0,
+0x810C,0x8115,0x8117,0x8119,0x811B,0x811C,0x811D,0x811F,
+0x8120,0x8121,0x8122,0x8123,0x8124,0x8125,0x8126,0x8127,
+0x8128,0x8129,0x812A,0x812B,0x812D,0x812E,0x8130,0x8133,
+0x8134,0x8135,0x8137,0x8139,0x813A,0x813B,0x813C,0x813D,
+0x813F,0x8C29,0x8292,0x832B,0x76F2,0x6C13,0x5FD9,0x83BD,
+0x732B,0x8305,0x951A,0x6BDB,0x77DB,0x94C6,0x536F,0x8302,
+0x5192,0x5E3D,0x8C8C,0x8D38,0x4E48,0x73AB,0x679A,0x6885,
+0x9176,0x9709,0x7164,0x6CA1,0x7709,0x5A92,0x9541,0x6BCF,
+0x7F8E,0x6627,0x5BD0,0x59B9,0x5A9A,0x95E8,0x95F7,0x4EEC,
+0x840C,0x8499,0x6AAC,0x76DF,0x9530,0x731B,0x68A6,0x5B5F,
+0x772F,0x919A,0x9761,0x7CDC,0x8FF7,0x8C1C,0x5F25,0x7C73,
+0x79D8,0x89C5,0x6CCC,0x871C,0x5BC6,0x5E42,0x68C9,0x7720,
+0x7EF5,0x5195,0x514D,0x52C9,0x5A29,0x7F05,0x9762,0x82D7,
+0x63CF,0x7784,0x85D0,0x79D2,0x6E3A,0x5E99,0x5999,0x8511,
+0x706D,0x6C11,0x62BF,0x76BF,0x654F,0x60AF,0x95FD,0x660E,
+0x879F,0x9E23,0x94ED,0x540D,0x547D,0x8C2C,0x6478, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8140,0x8141,0x8142,0x8143,0x8144,0x8145,0x8147,0x8149,
+0x814D,0x814E,0x814F,0x8152,0x8156,0x8157,0x8158,0x815B,
+0x815C,0x815D,0x815E,0x815F,0x8161,0x8162,0x8163,0x8164,
+0x8166,0x8168,0x816A,0x816B,0x816C,0x816F,0x8172,0x8173,
+0x8175,0x8176,0x8177,0x8178,0x8181,0x8183,0x8184,0x8185,
+0x8186,0x8187,0x8189,0x818B,0x818C,0x818D,0x818E,0x8190,
+0x8192,0x8193,0x8194,0x8195,0x8196,0x8197,0x8199,0x819A,
+0x819E,0x819F,0x81A0,0x81A1,0x81A2,0x81A4,0x81A5, 0,
+0x81A7,0x81A9,0x81AB,0x81AC,0x81AD,0x81AE,0x81AF,0x81B0,
+0x81B1,0x81B2,0x81B4,0x81B5,0x81B6,0x81B7,0x81B8,0x81B9,
+0x81BC,0x81BD,0x81BE,0x81BF,0x81C4,0x81C5,0x81C7,0x81C8,
+0x81C9,0x81CB,0x81CD,0x81CE,0x81CF,0x81D0,0x81D1,0x81D2,
+0x81D3,0x6479,0x8611,0x6A21,0x819C,0x78E8,0x6469,0x9B54,
+0x62B9,0x672B,0x83AB,0x58A8,0x9ED8,0x6CAB,0x6F20,0x5BDE,
+0x964C,0x8C0B,0x725F,0x67D0,0x62C7,0x7261,0x4EA9,0x59C6,
+0x6BCD,0x5893,0x66AE,0x5E55,0x52DF,0x6155,0x6728,0x76EE,
+0x7766,0x7267,0x7A46,0x62FF,0x54EA,0x5450,0x94A0,0x90A3,
+0x5A1C,0x7EB3,0x6C16,0x4E43,0x5976,0x8010,0x5948,0x5357,
+0x7537,0x96BE,0x56CA,0x6320,0x8111,0x607C,0x95F9,0x6DD6,
+0x5462,0x9981,0x5185,0x5AE9,0x80FD,0x59AE,0x9713,0x502A,
+0x6CE5,0x5C3C,0x62DF,0x4F60,0x533F,0x817B,0x9006,0x6EBA,
+0x852B,0x62C8,0x5E74,0x78BE,0x64B5,0x637B,0x5FF5,0x5A18,
+0x917F,0x9E1F,0x5C3F,0x634F,0x8042,0x5B7D,0x556E,0x954A,
+0x954D,0x6D85,0x60A8,0x67E0,0x72DE,0x51DD,0x5B81, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x81D4,0x81D5,0x81D6,0x81D7,0x81D8,0x81D9,0x81DA,0x81DB,
+0x81DC,0x81DD,0x81DE,0x81DF,0x81E0,0x81E1,0x81E2,0x81E4,
+0x81E5,0x81E6,0x81E8,0x81E9,0x81EB,0x81EE,0x81EF,0x81F0,
+0x81F1,0x81F2,0x81F5,0x81F6,0x81F7,0x81F8,0x81F9,0x81FA,
+0x81FD,0x81FF,0x8203,0x8207,0x8208,0x8209,0x820A,0x820B,
+0x820E,0x820F,0x8211,0x8213,0x8215,0x8216,0x8217,0x8218,
+0x8219,0x821A,0x821D,0x8220,0x8224,0x8225,0x8226,0x8227,
+0x8229,0x822E,0x8232,0x823A,0x823C,0x823D,0x823F, 0,
+0x8240,0x8241,0x8242,0x8243,0x8245,0x8246,0x8248,0x824A,
+0x824C,0x824D,0x824E,0x8250,0x8251,0x8252,0x8253,0x8254,
+0x8255,0x8256,0x8257,0x8259,0x825B,0x825C,0x825D,0x825E,
+0x8260,0x8261,0x8262,0x8263,0x8264,0x8265,0x8266,0x8267,
+0x8269,0x62E7,0x6CDE,0x725B,0x626D,0x94AE,0x7EBD,0x8113,
+0x6D53,0x519C,0x5F04,0x5974,0x52AA,0x6012,0x5973,0x6696,
+0x8650,0x759F,0x632A,0x61E6,0x7CEF,0x8BFA,0x54E6,0x6B27,
+0x9E25,0x6BB4,0x85D5,0x5455,0x5076,0x6CA4,0x556A,0x8DB4,
+0x722C,0x5E15,0x6015,0x7436,0x62CD,0x6392,0x724C,0x5F98,
+0x6E43,0x6D3E,0x6500,0x6F58,0x76D8,0x78D0,0x76FC,0x7554,
+0x5224,0x53DB,0x4E53,0x5E9E,0x65C1,0x802A,0x80D6,0x629B,
+0x5486,0x5228,0x70AE,0x888D,0x8DD1,0x6CE1,0x5478,0x80DA,
+0x57F9,0x88F4,0x8D54,0x966A,0x914D,0x4F69,0x6C9B,0x55B7,
+0x76C6,0x7830,0x62A8,0x70F9,0x6F8E,0x5F6D,0x84EC,0x68DA,
+0x787C,0x7BF7,0x81A8,0x670B,0x9E4F,0x6367,0x78B0,0x576F,
+0x7812,0x9739,0x6279,0x62AB,0x5288,0x7435,0x6BD7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x826A,0x826B,0x826C,0x826D,0x8271,0x8275,0x8276,0x8277,
+0x8278,0x827B,0x827C,0x8280,0x8281,0x8283,0x8285,0x8286,
+0x8287,0x8289,0x828C,0x8290,0x8293,0x8294,0x8295,0x8296,
+0x829A,0x829B,0x829E,0x82A0,0x82A2,0x82A3,0x82A7,0x82B2,
+0x82B5,0x82B6,0x82BA,0x82BB,0x82BC,0x82BF,0x82C0,0x82C2,
+0x82C3,0x82C5,0x82C6,0x82C9,0x82D0,0x82D6,0x82D9,0x82DA,
+0x82DD,0x82E2,0x82E7,0x82E8,0x82E9,0x82EA,0x82EC,0x82ED,
+0x82EE,0x82F0,0x82F2,0x82F3,0x82F5,0x82F6,0x82F8, 0,
+0x82FA,0x82FC,0x82FD,0x82FE,0x82FF,0x8300,0x830A,0x830B,
+0x830D,0x8310,0x8312,0x8313,0x8316,0x8318,0x8319,0x831D,
+0x831E,0x831F,0x8320,0x8321,0x8322,0x8323,0x8324,0x8325,
+0x8326,0x8329,0x832A,0x832E,0x8330,0x8332,0x8337,0x833B,
+0x833D,0x5564,0x813E,0x75B2,0x76AE,0x5339,0x75DE,0x50FB,
+0x5C41,0x8B6C,0x7BC7,0x504F,0x7247,0x9A97,0x98D8,0x6F02,
+0x74E2,0x7968,0x6487,0x77A5,0x62FC,0x9891,0x8D2B,0x54C1,
+0x8058,0x4E52,0x576A,0x82F9,0x840D,0x5E73,0x51ED,0x74F6,
+0x8BC4,0x5C4F,0x5761,0x6CFC,0x9887,0x5A46,0x7834,0x9B44,
+0x8FEB,0x7C95,0x5256,0x6251,0x94FA,0x4EC6,0x8386,0x8461,
+0x83E9,0x84B2,0x57D4,0x6734,0x5703,0x666E,0x6D66,0x8C31,
+0x66DD,0x7011,0x671F,0x6B3A,0x6816,0x621A,0x59BB,0x4E03,
+0x51C4,0x6F06,0x67D2,0x6C8F,0x5176,0x68CB,0x5947,0x6B67,
+0x7566,0x5D0E,0x8110,0x9F50,0x65D7,0x7948,0x7941,0x9A91,
+0x8D77,0x5C82,0x4E5E,0x4F01,0x542F,0x5951,0x780C,0x5668,
+0x6C14,0x8FC4,0x5F03,0x6C7D,0x6CE3,0x8BAB,0x6390, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x833E,0x833F,0x8341,0x8342,0x8344,0x8345,0x8348,0x834A,
+0x834B,0x834C,0x834D,0x834E,0x8353,0x8355,0x8356,0x8357,
+0x8358,0x8359,0x835D,0x8362,0x8370,0x8371,0x8372,0x8373,
+0x8374,0x8375,0x8376,0x8379,0x837A,0x837E,0x837F,0x8380,
+0x8381,0x8382,0x8383,0x8384,0x8387,0x8388,0x838A,0x838B,
+0x838C,0x838D,0x838F,0x8390,0x8391,0x8394,0x8395,0x8396,
+0x8397,0x8399,0x839A,0x839D,0x839F,0x83A1,0x83A2,0x83A3,
+0x83A4,0x83A5,0x83A6,0x83A7,0x83AC,0x83AD,0x83AE, 0,
+0x83AF,0x83B5,0x83BB,0x83BE,0x83BF,0x83C2,0x83C3,0x83C4,
+0x83C6,0x83C8,0x83C9,0x83CB,0x83CD,0x83CE,0x83D0,0x83D1,
+0x83D2,0x83D3,0x83D5,0x83D7,0x83D9,0x83DA,0x83DB,0x83DE,
+0x83E2,0x83E3,0x83E4,0x83E6,0x83E7,0x83E8,0x83EB,0x83EC,
+0x83ED,0x6070,0x6D3D,0x7275,0x6266,0x948E,0x94C5,0x5343,
+0x8FC1,0x7B7E,0x4EDF,0x8C26,0x4E7E,0x9ED4,0x94B1,0x94B3,
+0x524D,0x6F5C,0x9063,0x6D45,0x8C34,0x5811,0x5D4C,0x6B20,
+0x6B49,0x67AA,0x545B,0x8154,0x7F8C,0x5899,0x8537,0x5F3A,
+0x62A2,0x6A47,0x9539,0x6572,0x6084,0x6865,0x77A7,0x4E54,
+0x4FA8,0x5DE7,0x9798,0x64AC,0x7FD8,0x5CED,0x4FCF,0x7A8D,
+0x5207,0x8304,0x4E14,0x602F,0x7A83,0x94A6,0x4FB5,0x4EB2,
+0x79E6,0x7434,0x52E4,0x82B9,0x64D2,0x79BD,0x5BDD,0x6C81,
+0x9752,0x8F7B,0x6C22,0x503E,0x537F,0x6E05,0x64CE,0x6674,
+0x6C30,0x60C5,0x9877,0x8BF7,0x5E86,0x743C,0x7A77,0x79CB,
+0x4E18,0x90B1,0x7403,0x6C42,0x56DA,0x914B,0x6CC5,0x8D8B,
+0x533A,0x86C6,0x66F2,0x8EAF,0x5C48,0x9A71,0x6E20, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x83EE,0x83EF,0x83F3,0x83F4,0x83F5,0x83F6,0x83F7,0x83FA,
+0x83FB,0x83FC,0x83FE,0x83FF,0x8400,0x8402,0x8405,0x8407,
+0x8408,0x8409,0x840A,0x8410,0x8412,0x8413,0x8414,0x8415,
+0x8416,0x8417,0x8419,0x841A,0x841B,0x841E,0x841F,0x8420,
+0x8421,0x8422,0x8423,0x8429,0x842A,0x842B,0x842C,0x842D,
+0x842E,0x842F,0x8430,0x8432,0x8433,0x8434,0x8435,0x8436,
+0x8437,0x8439,0x843A,0x843B,0x843E,0x843F,0x8440,0x8441,
+0x8442,0x8443,0x8444,0x8445,0x8447,0x8448,0x8449, 0,
+0x844A,0x844B,0x844C,0x844D,0x844E,0x844F,0x8450,0x8452,
+0x8453,0x8454,0x8455,0x8456,0x8458,0x845D,0x845E,0x845F,
+0x8460,0x8462,0x8464,0x8465,0x8466,0x8467,0x8468,0x846A,
+0x846E,0x846F,0x8470,0x8472,0x8474,0x8477,0x8479,0x847B,
+0x847C,0x53D6,0x5A36,0x9F8B,0x8DA3,0x53BB,0x5708,0x98A7,
+0x6743,0x919B,0x6CC9,0x5168,0x75CA,0x62F3,0x72AC,0x5238,
+0x529D,0x7F3A,0x7094,0x7638,0x5374,0x9E4A,0x69B7,0x786E,
+0x96C0,0x88D9,0x7FA4,0x7136,0x71C3,0x5189,0x67D3,0x74E4,
+0x58E4,0x6518,0x56B7,0x8BA9,0x9976,0x6270,0x7ED5,0x60F9,
+0x70ED,0x58EC,0x4EC1,0x4EBA,0x5FCD,0x97E7,0x4EFB,0x8BA4,
+0x5203,0x598A,0x7EAB,0x6254,0x4ECD,0x65E5,0x620E,0x8338,
+0x84C9,0x8363,0x878D,0x7194,0x6EB6,0x5BB9,0x7ED2,0x5197,
+0x63C9,0x67D4,0x8089,0x8339,0x8815,0x5112,0x5B7A,0x5982,
+0x8FB1,0x4E73,0x6C5D,0x5165,0x8925,0x8F6F,0x962E,0x854A,
+0x745E,0x9510,0x95F0,0x6DA6,0x82E5,0x5F31,0x6492,0x6D12,
+0x8428,0x816E,0x9CC3,0x585E,0x8D5B,0x4E09,0x53C1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x847D,0x847E,0x847F,0x8480,0x8481,0x8483,0x8484,0x8485,
+0x8486,0x848A,0x848D,0x848F,0x8490,0x8491,0x8492,0x8493,
+0x8494,0x8495,0x8496,0x8498,0x849A,0x849B,0x849D,0x849E,
+0x849F,0x84A0,0x84A2,0x84A3,0x84A4,0x84A5,0x84A6,0x84A7,
+0x84A8,0x84A9,0x84AA,0x84AB,0x84AC,0x84AD,0x84AE,0x84B0,
+0x84B1,0x84B3,0x84B5,0x84B6,0x84B7,0x84BB,0x84BC,0x84BE,
+0x84C0,0x84C2,0x84C3,0x84C5,0x84C6,0x84C7,0x84C8,0x84CB,
+0x84CC,0x84CE,0x84CF,0x84D2,0x84D4,0x84D5,0x84D7, 0,
+0x84D8,0x84D9,0x84DA,0x84DB,0x84DC,0x84DE,0x84E1,0x84E2,
+0x84E4,0x84E7,0x84E8,0x84E9,0x84EA,0x84EB,0x84ED,0x84EE,
+0x84EF,0x84F1,0x84F2,0x84F3,0x84F4,0x84F5,0x84F6,0x84F7,
+0x84F8,0x84F9,0x84FA,0x84FB,0x84FD,0x84FE,0x8500,0x8501,
+0x8502,0x4F1E,0x6563,0x6851,0x55D3,0x4E27,0x6414,0x9A9A,
+0x626B,0x5AC2,0x745F,0x8272,0x6DA9,0x68EE,0x50E7,0x838E,
+0x7802,0x6740,0x5239,0x6C99,0x7EB1,0x50BB,0x5565,0x715E,
+0x7B5B,0x6652,0x73CA,0x82EB,0x6749,0x5C71,0x5220,0x717D,
+0x886B,0x95EA,0x9655,0x64C5,0x8D61,0x81B3,0x5584,0x6C55,
+0x6247,0x7F2E,0x5892,0x4F24,0x5546,0x8D4F,0x664C,0x4E0A,
+0x5C1A,0x88F3,0x68A2,0x634E,0x7A0D,0x70E7,0x828D,0x52FA,
+0x97F6,0x5C11,0x54E8,0x90B5,0x7ECD,0x5962,0x8D4A,0x86C7,
+0x820C,0x820D,0x8D66,0x6444,0x5C04,0x6151,0x6D89,0x793E,
+0x8BBE,0x7837,0x7533,0x547B,0x4F38,0x8EAB,0x6DF1,0x5A20,
+0x7EC5,0x795E,0x6C88,0x5BA1,0x5A76,0x751A,0x80BE,0x614E,
+0x6E17,0x58F0,0x751F,0x7525,0x7272,0x5347,0x7EF3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8503,0x8504,0x8505,0x8506,0x8507,0x8508,0x8509,0x850A,
+0x850B,0x850D,0x850E,0x850F,0x8510,0x8512,0x8514,0x8515,
+0x8516,0x8518,0x8519,0x851B,0x851C,0x851D,0x851E,0x8520,
+0x8522,0x8523,0x8524,0x8525,0x8526,0x8527,0x8528,0x8529,
+0x852A,0x852D,0x852E,0x852F,0x8530,0x8531,0x8532,0x8533,
+0x8534,0x8535,0x8536,0x853E,0x853F,0x8540,0x8541,0x8542,
+0x8544,0x8545,0x8546,0x8547,0x854B,0x854C,0x854D,0x854E,
+0x854F,0x8550,0x8551,0x8552,0x8553,0x8554,0x8555, 0,
+0x8557,0x8558,0x855A,0x855B,0x855C,0x855D,0x855F,0x8560,
+0x8561,0x8562,0x8563,0x8565,0x8566,0x8567,0x8569,0x856A,
+0x856B,0x856C,0x856D,0x856E,0x856F,0x8570,0x8571,0x8573,
+0x8575,0x8576,0x8577,0x8578,0x857C,0x857D,0x857F,0x8580,
+0x8581,0x7701,0x76DB,0x5269,0x80DC,0x5723,0x5E08,0x5931,
+0x72EE,0x65BD,0x6E7F,0x8BD7,0x5C38,0x8671,0x5341,0x77F3,
+0x62FE,0x65F6,0x4EC0,0x98DF,0x8680,0x5B9E,0x8BC6,0x53F2,
+0x77E2,0x4F7F,0x5C4E,0x9A76,0x59CB,0x5F0F,0x793A,0x58EB,
+0x4E16,0x67FF,0x4E8B,0x62ED,0x8A93,0x901D,0x52BF,0x662F,
+0x55DC,0x566C,0x9002,0x4ED5,0x4F8D,0x91CA,0x9970,0x6C0F,
+0x5E02,0x6043,0x5BA4,0x89C6,0x8BD5,0x6536,0x624B,0x9996,
+0x5B88,0x5BFF,0x6388,0x552E,0x53D7,0x7626,0x517D,0x852C,
+0x67A2,0x68B3,0x6B8A,0x6292,0x8F93,0x53D4,0x8212,0x6DD1,
+0x758F,0x4E66,0x8D4E,0x5B70,0x719F,0x85AF,0x6691,0x66D9,
+0x7F72,0x8700,0x9ECD,0x9F20,0x5C5E,0x672F,0x8FF0,0x6811,
+0x675F,0x620D,0x7AD6,0x5885,0x5EB6,0x6570,0x6F31, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8582,0x8583,0x8586,0x8588,0x8589,0x858A,0x858B,0x858C,
+0x858D,0x858E,0x8590,0x8591,0x8592,0x8593,0x8594,0x8595,
+0x8596,0x8597,0x8598,0x8599,0x859A,0x859D,0x859E,0x859F,
+0x85A0,0x85A1,0x85A2,0x85A3,0x85A5,0x85A6,0x85A7,0x85A9,
+0x85AB,0x85AC,0x85AD,0x85B1,0x85B2,0x85B3,0x85B4,0x85B5,
+0x85B6,0x85B8,0x85BA,0x85BB,0x85BC,0x85BD,0x85BE,0x85BF,
+0x85C0,0x85C2,0x85C3,0x85C4,0x85C5,0x85C6,0x85C7,0x85C8,
+0x85CA,0x85CB,0x85CC,0x85CD,0x85CE,0x85D1,0x85D2, 0,
+0x85D4,0x85D6,0x85D7,0x85D8,0x85D9,0x85DA,0x85DB,0x85DD,
+0x85DE,0x85DF,0x85E0,0x85E1,0x85E2,0x85E3,0x85E5,0x85E6,
+0x85E7,0x85E8,0x85EA,0x85EB,0x85EC,0x85ED,0x85EE,0x85EF,
+0x85F0,0x85F1,0x85F2,0x85F3,0x85F4,0x85F5,0x85F6,0x85F7,
+0x85F8,0x6055,0x5237,0x800D,0x6454,0x8870,0x7529,0x5E05,
+0x6813,0x62F4,0x971C,0x53CC,0x723D,0x8C01,0x6C34,0x7761,
+0x7A0E,0x542E,0x77AC,0x987A,0x821C,0x8BF4,0x7855,0x6714,
+0x70C1,0x65AF,0x6495,0x5636,0x601D,0x79C1,0x53F8,0x4E1D,
+0x6B7B,0x8086,0x5BFA,0x55E3,0x56DB,0x4F3A,0x4F3C,0x9972,
+0x5DF3,0x677E,0x8038,0x6002,0x9882,0x9001,0x5B8B,0x8BBC,
+0x8BF5,0x641C,0x8258,0x64DE,0x55FD,0x82CF,0x9165,0x4FD7,
+0x7D20,0x901F,0x7C9F,0x50F3,0x5851,0x6EAF,0x5BBF,0x8BC9,
+0x8083,0x9178,0x849C,0x7B97,0x867D,0x968B,0x968F,0x7EE5,
+0x9AD3,0x788E,0x5C81,0x7A57,0x9042,0x96A7,0x795F,0x5B59,
+0x635F,0x7B0B,0x84D1,0x68AD,0x5506,0x7F29,0x7410,0x7D22,
+0x9501,0x6240,0x584C,0x4ED6,0x5B83,0x5979,0x5854, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x85F9,0x85FA,0x85FC,0x85FD,0x85FE,0x8600,0x8601,0x8602,
+0x8603,0x8604,0x8606,0x8607,0x8608,0x8609,0x860A,0x860B,
+0x860C,0x860D,0x860E,0x860F,0x8610,0x8612,0x8613,0x8614,
+0x8615,0x8617,0x8618,0x8619,0x861A,0x861B,0x861C,0x861D,
+0x861E,0x861F,0x8620,0x8621,0x8622,0x8623,0x8624,0x8625,
+0x8626,0x8628,0x862A,0x862B,0x862C,0x862D,0x862E,0x862F,
+0x8630,0x8631,0x8632,0x8633,0x8634,0x8635,0x8636,0x8637,
+0x8639,0x863A,0x863B,0x863D,0x863E,0x863F,0x8640, 0,
+0x8641,0x8642,0x8643,0x8644,0x8645,0x8646,0x8647,0x8648,
+0x8649,0x864A,0x864B,0x864C,0x8652,0x8653,0x8655,0x8656,
+0x8657,0x8658,0x8659,0x865B,0x865C,0x865D,0x865F,0x8660,
+0x8661,0x8663,0x8664,0x8665,0x8666,0x8667,0x8668,0x8669,
+0x866A,0x736D,0x631E,0x8E4B,0x8E0F,0x80CE,0x82D4,0x62AC,
+0x53F0,0x6CF0,0x915E,0x592A,0x6001,0x6C70,0x574D,0x644A,
+0x8D2A,0x762B,0x6EE9,0x575B,0x6A80,0x75F0,0x6F6D,0x8C2D,
+0x8C08,0x5766,0x6BEF,0x8892,0x78B3,0x63A2,0x53F9,0x70AD,
+0x6C64,0x5858,0x642A,0x5802,0x68E0,0x819B,0x5510,0x7CD6,
+0x5018,0x8EBA,0x6DCC,0x8D9F,0x70EB,0x638F,0x6D9B,0x6ED4,
+0x7EE6,0x8404,0x6843,0x9003,0x6DD8,0x9676,0x8BA8,0x5957,
+0x7279,0x85E4,0x817E,0x75BC,0x8A8A,0x68AF,0x5254,0x8E22,
+0x9511,0x63D0,0x9898,0x8E44,0x557C,0x4F53,0x66FF,0x568F,
+0x60D5,0x6D95,0x5243,0x5C49,0x5929,0x6DFB,0x586B,0x7530,
+0x751C,0x606C,0x8214,0x8146,0x6311,0x6761,0x8FE2,0x773A,
+0x8DF3,0x8D34,0x94C1,0x5E16,0x5385,0x542C,0x70C3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x866D,0x866F,0x8670,0x8672,0x8673,0x8674,0x8675,0x8676,
+0x8677,0x8678,0x8683,0x8684,0x8685,0x8686,0x8687,0x8688,
+0x8689,0x868E,0x868F,0x8690,0x8691,0x8692,0x8694,0x8696,
+0x8697,0x8698,0x8699,0x869A,0x869B,0x869E,0x869F,0x86A0,
+0x86A1,0x86A2,0x86A5,0x86A6,0x86AB,0x86AD,0x86AE,0x86B2,
+0x86B3,0x86B7,0x86B8,0x86B9,0x86BB,0x86BC,0x86BD,0x86BE,
+0x86BF,0x86C1,0x86C2,0x86C3,0x86C5,0x86C8,0x86CC,0x86CD,
+0x86D2,0x86D3,0x86D5,0x86D6,0x86D7,0x86DA,0x86DC, 0,
+0x86DD,0x86E0,0x86E1,0x86E2,0x86E3,0x86E5,0x86E6,0x86E7,
+0x86E8,0x86EA,0x86EB,0x86EC,0x86EF,0x86F5,0x86F6,0x86F7,
+0x86FA,0x86FB,0x86FC,0x86FD,0x86FF,0x8701,0x8704,0x8705,
+0x8706,0x870B,0x870C,0x870E,0x870F,0x8710,0x8711,0x8714,
+0x8716,0x6C40,0x5EF7,0x505C,0x4EAD,0x5EAD,0x633A,0x8247,
+0x901A,0x6850,0x916E,0x77B3,0x540C,0x94DC,0x5F64,0x7AE5,
+0x6876,0x6345,0x7B52,0x7EDF,0x75DB,0x5077,0x6295,0x5934,
+0x900F,0x51F8,0x79C3,0x7A81,0x56FE,0x5F92,0x9014,0x6D82,
+0x5C60,0x571F,0x5410,0x5154,0x6E4D,0x56E2,0x63A8,0x9893,
+0x817F,0x8715,0x892A,0x9000,0x541E,0x5C6F,0x81C0,0x62D6,
+0x6258,0x8131,0x9E35,0x9640,0x9A6E,0x9A7C,0x692D,0x59A5,
+0x62D3,0x553E,0x6316,0x54C7,0x86D9,0x6D3C,0x5A03,0x74E6,
+0x889C,0x6B6A,0x5916,0x8C4C,0x5F2F,0x6E7E,0x73A9,0x987D,
+0x4E38,0x70F7,0x5B8C,0x7897,0x633D,0x665A,0x7696,0x60CB,
+0x5B9B,0x5A49,0x4E07,0x8155,0x6C6A,0x738B,0x4EA1,0x6789,
+0x7F51,0x5F80,0x65FA,0x671B,0x5FD8,0x5984,0x5A01, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8719,0x871B,0x871D,0x871F,0x8720,0x8724,0x8726,0x8727,
+0x8728,0x872A,0x872B,0x872C,0x872D,0x872F,0x8730,0x8732,
+0x8733,0x8735,0x8736,0x8738,0x8739,0x873A,0x873C,0x873D,
+0x8740,0x8741,0x8742,0x8743,0x8744,0x8745,0x8746,0x874A,
+0x874B,0x874D,0x874F,0x8750,0x8751,0x8752,0x8754,0x8755,
+0x8756,0x8758,0x875A,0x875B,0x875C,0x875D,0x875E,0x875F,
+0x8761,0x8762,0x8766,0x8767,0x8768,0x8769,0x876A,0x876B,
+0x876C,0x876D,0x876F,0x8771,0x8772,0x8773,0x8775, 0,
+0x8777,0x8778,0x8779,0x877A,0x877F,0x8780,0x8781,0x8784,
+0x8786,0x8787,0x8789,0x878A,0x878C,0x878E,0x878F,0x8790,
+0x8791,0x8792,0x8794,0x8795,0x8796,0x8798,0x8799,0x879A,
+0x879B,0x879C,0x879D,0x879E,0x87A0,0x87A1,0x87A2,0x87A3,
+0x87A4,0x5DCD,0x5FAE,0x5371,0x97E6,0x8FDD,0x6845,0x56F4,
+0x552F,0x60DF,0x4E3A,0x6F4D,0x7EF4,0x82C7,0x840E,0x59D4,
+0x4F1F,0x4F2A,0x5C3E,0x7EAC,0x672A,0x851A,0x5473,0x754F,
+0x80C3,0x5582,0x9B4F,0x4F4D,0x6E2D,0x8C13,0x5C09,0x6170,
+0x536B,0x761F,0x6E29,0x868A,0x6587,0x95FB,0x7EB9,0x543B,
+0x7A33,0x7D0A,0x95EE,0x55E1,0x7FC1,0x74EE,0x631D,0x8717,
+0x6DA1,0x7A9D,0x6211,0x65A1,0x5367,0x63E1,0x6C83,0x5DEB,
+0x545C,0x94A8,0x4E4C,0x6C61,0x8BEC,0x5C4B,0x65E0,0x829C,
+0x68A7,0x543E,0x5434,0x6BCB,0x6B66,0x4E94,0x6342,0x5348,
+0x821E,0x4F0D,0x4FAE,0x575E,0x620A,0x96FE,0x6664,0x7269,
+0x52FF,0x52A1,0x609F,0x8BEF,0x6614,0x7199,0x6790,0x897F,
+0x7852,0x77FD,0x6670,0x563B,0x5438,0x9521,0x727A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x87A5,0x87A6,0x87A7,0x87A9,0x87AA,0x87AE,0x87B0,0x87B1,
+0x87B2,0x87B4,0x87B6,0x87B7,0x87B8,0x87B9,0x87BB,0x87BC,
+0x87BE,0x87BF,0x87C1,0x87C2,0x87C3,0x87C4,0x87C5,0x87C7,
+0x87C8,0x87C9,0x87CC,0x87CD,0x87CE,0x87CF,0x87D0,0x87D4,
+0x87D5,0x87D6,0x87D7,0x87D8,0x87D9,0x87DA,0x87DC,0x87DD,
+0x87DE,0x87DF,0x87E1,0x87E2,0x87E3,0x87E4,0x87E6,0x87E7,
+0x87E8,0x87E9,0x87EB,0x87EC,0x87ED,0x87EF,0x87F0,0x87F1,
+0x87F2,0x87F3,0x87F4,0x87F5,0x87F6,0x87F7,0x87F8, 0,
+0x87FA,0x87FB,0x87FC,0x87FD,0x87FF,0x8800,0x8801,0x8802,
+0x8804,0x8805,0x8806,0x8807,0x8808,0x8809,0x880B,0x880C,
+0x880D,0x880E,0x880F,0x8810,0x8811,0x8812,0x8814,0x8817,
+0x8818,0x8819,0x881A,0x881C,0x881D,0x881E,0x881F,0x8820,
+0x8823,0x7A00,0x606F,0x5E0C,0x6089,0x819D,0x5915,0x60DC,
+0x7184,0x70EF,0x6EAA,0x6C50,0x7280,0x6A84,0x88AD,0x5E2D,
+0x4E60,0x5AB3,0x559C,0x94E3,0x6D17,0x7CFB,0x9699,0x620F,
+0x7EC6,0x778E,0x867E,0x5323,0x971E,0x8F96,0x6687,0x5CE1,
+0x4FA0,0x72ED,0x4E0B,0x53A6,0x590F,0x5413,0x6380,0x9528,
+0x5148,0x4ED9,0x9C9C,0x7EA4,0x54B8,0x8D24,0x8854,0x8237,
+0x95F2,0x6D8E,0x5F26,0x5ACC,0x663E,0x9669,0x73B0,0x732E,
+0x53BF,0x817A,0x9985,0x7FA1,0x5BAA,0x9677,0x9650,0x7EBF,
+0x76F8,0x53A2,0x9576,0x9999,0x7BB1,0x8944,0x6E58,0x4E61,
+0x7FD4,0x7965,0x8BE6,0x60F3,0x54CD,0x4EAB,0x9879,0x5DF7,
+0x6A61,0x50CF,0x5411,0x8C61,0x8427,0x785D,0x9704,0x524A,
+0x54EE,0x56A3,0x9500,0x6D88,0x5BB5,0x6DC6,0x6653, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8824,0x8825,0x8826,0x8827,0x8828,0x8829,0x882A,0x882B,
+0x882C,0x882D,0x882E,0x882F,0x8830,0x8831,0x8833,0x8834,
+0x8835,0x8836,0x8837,0x8838,0x883A,0x883B,0x883D,0x883E,
+0x883F,0x8841,0x8842,0x8843,0x8846,0x8847,0x8848,0x8849,
+0x884A,0x884B,0x884E,0x884F,0x8850,0x8851,0x8852,0x8853,
+0x8855,0x8856,0x8858,0x885A,0x885B,0x885C,0x885D,0x885E,
+0x885F,0x8860,0x8866,0x8867,0x886A,0x886D,0x886F,0x8871,
+0x8873,0x8874,0x8875,0x8876,0x8878,0x8879,0x887A, 0,
+0x887B,0x887C,0x8880,0x8883,0x8886,0x8887,0x8889,0x888A,
+0x888C,0x888E,0x888F,0x8890,0x8891,0x8893,0x8894,0x8895,
+0x8897,0x8898,0x8899,0x889A,0x889B,0x889D,0x889E,0x889F,
+0x88A0,0x88A1,0x88A3,0x88A5,0x88A6,0x88A7,0x88A8,0x88A9,
+0x88AA,0x5C0F,0x5B5D,0x6821,0x8096,0x5578,0x7B11,0x6548,
+0x6954,0x4E9B,0x6B47,0x874E,0x978B,0x534F,0x631F,0x643A,
+0x90AA,0x659C,0x80C1,0x8C10,0x5199,0x68B0,0x5378,0x87F9,
+0x61C8,0x6CC4,0x6CFB,0x8C22,0x5C51,0x85AA,0x82AF,0x950C,
+0x6B23,0x8F9B,0x65B0,0x5FFB,0x5FC3,0x4FE1,0x8845,0x661F,
+0x8165,0x7329,0x60FA,0x5174,0x5211,0x578B,0x5F62,0x90A2,
+0x884C,0x9192,0x5E78,0x674F,0x6027,0x59D3,0x5144,0x51F6,
+0x80F8,0x5308,0x6C79,0x96C4,0x718A,0x4F11,0x4FEE,0x7F9E,
+0x673D,0x55C5,0x9508,0x79C0,0x8896,0x7EE3,0x589F,0x620C,
+0x9700,0x865A,0x5618,0x987B,0x5F90,0x8BB8,0x84C4,0x9157,
+0x53D9,0x65ED,0x5E8F,0x755C,0x6064,0x7D6E,0x5A7F,0x7EEA,
+0x7EED,0x8F69,0x55A7,0x5BA3,0x60AC,0x65CB,0x7384, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x88AC,0x88AE,0x88AF,0x88B0,0x88B2,0x88B3,0x88B4,0x88B5,
+0x88B6,0x88B8,0x88B9,0x88BA,0x88BB,0x88BD,0x88BE,0x88BF,
+0x88C0,0x88C3,0x88C4,0x88C7,0x88C8,0x88CA,0x88CB,0x88CC,
+0x88CD,0x88CF,0x88D0,0x88D1,0x88D3,0x88D6,0x88D7,0x88DA,
+0x88DB,0x88DC,0x88DD,0x88DE,0x88E0,0x88E1,0x88E6,0x88E7,
+0x88E9,0x88EA,0x88EB,0x88EC,0x88ED,0x88EE,0x88EF,0x88F2,
+0x88F5,0x88F6,0x88F7,0x88FA,0x88FB,0x88FD,0x88FF,0x8900,
+0x8901,0x8903,0x8904,0x8905,0x8906,0x8907,0x8908, 0,
+0x8909,0x890B,0x890C,0x890D,0x890E,0x890F,0x8911,0x8914,
+0x8915,0x8916,0x8917,0x8918,0x891C,0x891D,0x891E,0x891F,
+0x8920,0x8922,0x8923,0x8924,0x8926,0x8927,0x8928,0x8929,
+0x892C,0x892D,0x892E,0x892F,0x8931,0x8932,0x8933,0x8935,
+0x8937,0x9009,0x7663,0x7729,0x7EDA,0x9774,0x859B,0x5B66,
+0x7A74,0x96EA,0x8840,0x52CB,0x718F,0x5FAA,0x65EC,0x8BE2,
+0x5BFB,0x9A6F,0x5DE1,0x6B89,0x6C5B,0x8BAD,0x8BAF,0x900A,
+0x8FC5,0x538B,0x62BC,0x9E26,0x9E2D,0x5440,0x4E2B,0x82BD,
+0x7259,0x869C,0x5D16,0x8859,0x6DAF,0x96C5,0x54D1,0x4E9A,
+0x8BB6,0x7109,0x54BD,0x9609,0x70DF,0x6DF9,0x76D0,0x4E25,
+0x7814,0x8712,0x5CA9,0x5EF6,0x8A00,0x989C,0x960E,0x708E,
+0x6CBF,0x5944,0x63A9,0x773C,0x884D,0x6F14,0x8273,0x5830,
+0x71D5,0x538C,0x781A,0x96C1,0x5501,0x5F66,0x7130,0x5BB4,
+0x8C1A,0x9A8C,0x6B83,0x592E,0x9E2F,0x79E7,0x6768,0x626C,
+0x4F6F,0x75A1,0x7F8A,0x6D0B,0x9633,0x6C27,0x4EF0,0x75D2,
+0x517B,0x6837,0x6F3E,0x9080,0x8170,0x5996,0x7476, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8938,0x8939,0x893A,0x893B,0x893C,0x893D,0x893E,0x893F,
+0x8940,0x8942,0x8943,0x8945,0x8946,0x8947,0x8948,0x8949,
+0x894A,0x894B,0x894C,0x894D,0x894E,0x894F,0x8950,0x8951,
+0x8952,0x8953,0x8954,0x8955,0x8956,0x8957,0x8958,0x8959,
+0x895A,0x895B,0x895C,0x895D,0x8960,0x8961,0x8962,0x8963,
+0x8964,0x8965,0x8967,0x8968,0x8969,0x896A,0x896B,0x896C,
+0x896D,0x896E,0x896F,0x8970,0x8971,0x8972,0x8973,0x8974,
+0x8975,0x8976,0x8977,0x8978,0x8979,0x897A,0x897C, 0,
+0x897D,0x897E,0x8980,0x8982,0x8984,0x8985,0x8987,0x8988,
+0x8989,0x898A,0x898B,0x898C,0x898D,0x898E,0x898F,0x8990,
+0x8991,0x8992,0x8993,0x8994,0x8995,0x8996,0x8997,0x8998,
+0x8999,0x899A,0x899B,0x899C,0x899D,0x899E,0x899F,0x89A0,
+0x89A1,0x6447,0x5C27,0x9065,0x7A91,0x8C23,0x59DA,0x54AC,
+0x8200,0x836F,0x8981,0x8000,0x6930,0x564E,0x8036,0x7237,
+0x91CE,0x51B6,0x4E5F,0x9875,0x6396,0x4E1A,0x53F6,0x66F3,
+0x814B,0x591C,0x6DB2,0x4E00,0x58F9,0x533B,0x63D6,0x94F1,
+0x4F9D,0x4F0A,0x8863,0x9890,0x5937,0x9057,0x79FB,0x4EEA,
+0x80F0,0x7591,0x6C82,0x5B9C,0x59E8,0x5F5D,0x6905,0x8681,
+0x501A,0x5DF2,0x4E59,0x77E3,0x4EE5,0x827A,0x6291,0x6613,
+0x9091,0x5C79,0x4EBF,0x5F79,0x81C6,0x9038,0x8084,0x75AB,
+0x4EA6,0x88D4,0x610F,0x6BC5,0x5FC6,0x4E49,0x76CA,0x6EA2,
+0x8BE3,0x8BAE,0x8C0A,0x8BD1,0x5F02,0x7FFC,0x7FCC,0x7ECE,
+0x8335,0x836B,0x56E0,0x6BB7,0x97F3,0x9634,0x59FB,0x541F,
+0x94F6,0x6DEB,0x5BC5,0x996E,0x5C39,0x5F15,0x9690, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x89A2,0x89A3,0x89A4,0x89A5,0x89A6,0x89A7,0x89A8,0x89A9,
+0x89AA,0x89AB,0x89AC,0x89AD,0x89AE,0x89AF,0x89B0,0x89B1,
+0x89B2,0x89B3,0x89B4,0x89B5,0x89B6,0x89B7,0x89B8,0x89B9,
+0x89BA,0x89BB,0x89BC,0x89BD,0x89BE,0x89BF,0x89C0,0x89C3,
+0x89CD,0x89D3,0x89D4,0x89D5,0x89D7,0x89D8,0x89D9,0x89DB,
+0x89DD,0x89DF,0x89E0,0x89E1,0x89E2,0x89E4,0x89E7,0x89E8,
+0x89E9,0x89EA,0x89EC,0x89ED,0x89EE,0x89F0,0x89F1,0x89F2,
+0x89F4,0x89F5,0x89F6,0x89F7,0x89F8,0x89F9,0x89FA, 0,
+0x89FB,0x89FC,0x89FD,0x89FE,0x89FF,0x8A01,0x8A02,0x8A03,
+0x8A04,0x8A05,0x8A06,0x8A08,0x8A09,0x8A0A,0x8A0B,0x8A0C,
+0x8A0D,0x8A0E,0x8A0F,0x8A10,0x8A11,0x8A12,0x8A13,0x8A14,
+0x8A15,0x8A16,0x8A17,0x8A18,0x8A19,0x8A1A,0x8A1B,0x8A1C,
+0x8A1D,0x5370,0x82F1,0x6A31,0x5A74,0x9E70,0x5E94,0x7F28,
+0x83B9,0x8424,0x8425,0x8367,0x8747,0x8FCE,0x8D62,0x76C8,
+0x5F71,0x9896,0x786C,0x6620,0x54DF,0x62E5,0x4F63,0x81C3,
+0x75C8,0x5EB8,0x96CD,0x8E0A,0x86F9,0x548F,0x6CF3,0x6D8C,
+0x6C38,0x607F,0x52C7,0x7528,0x5E7D,0x4F18,0x60A0,0x5FE7,
+0x5C24,0x7531,0x90AE,0x94C0,0x72B9,0x6CB9,0x6E38,0x9149,
+0x6709,0x53CB,0x53F3,0x4F51,0x91C9,0x8BF1,0x53C8,0x5E7C,
+0x8FC2,0x6DE4,0x4E8E,0x76C2,0x6986,0x865E,0x611A,0x8206,
+0x4F59,0x4FDE,0x903E,0x9C7C,0x6109,0x6E1D,0x6E14,0x9685,
+0x4E88,0x5A31,0x96E8,0x4E0E,0x5C7F,0x79B9,0x5B87,0x8BED,
+0x7FBD,0x7389,0x57DF,0x828B,0x90C1,0x5401,0x9047,0x55BB,
+0x5CEA,0x5FA1,0x6108,0x6B32,0x72F1,0x80B2,0x8A89, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8A1E,0x8A1F,0x8A20,0x8A21,0x8A22,0x8A23,0x8A24,0x8A25,
+0x8A26,0x8A27,0x8A28,0x8A29,0x8A2A,0x8A2B,0x8A2C,0x8A2D,
+0x8A2E,0x8A2F,0x8A30,0x8A31,0x8A32,0x8A33,0x8A34,0x8A35,
+0x8A36,0x8A37,0x8A38,0x8A39,0x8A3A,0x8A3B,0x8A3C,0x8A3D,
+0x8A3F,0x8A40,0x8A41,0x8A42,0x8A43,0x8A44,0x8A45,0x8A46,
+0x8A47,0x8A49,0x8A4A,0x8A4B,0x8A4C,0x8A4D,0x8A4E,0x8A4F,
+0x8A50,0x8A51,0x8A52,0x8A53,0x8A54,0x8A55,0x8A56,0x8A57,
+0x8A58,0x8A59,0x8A5A,0x8A5B,0x8A5C,0x8A5D,0x8A5E, 0,
+0x8A5F,0x8A60,0x8A61,0x8A62,0x8A63,0x8A64,0x8A65,0x8A66,
+0x8A67,0x8A68,0x8A69,0x8A6A,0x8A6B,0x8A6C,0x8A6D,0x8A6E,
+0x8A6F,0x8A70,0x8A71,0x8A72,0x8A73,0x8A74,0x8A75,0x8A76,
+0x8A77,0x8A78,0x8A7A,0x8A7B,0x8A7C,0x8A7D,0x8A7E,0x8A7F,
+0x8A80,0x6D74,0x5BD3,0x88D5,0x9884,0x8C6B,0x9A6D,0x9E33,
+0x6E0A,0x51A4,0x5143,0x57A3,0x8881,0x539F,0x63F4,0x8F95,
+0x56ED,0x5458,0x5706,0x733F,0x6E90,0x7F18,0x8FDC,0x82D1,
+0x613F,0x6028,0x9662,0x66F0,0x7EA6,0x8D8A,0x8DC3,0x94A5,
+0x5CB3,0x7CA4,0x6708,0x60A6,0x9605,0x8018,0x4E91,0x90E7,
+0x5300,0x9668,0x5141,0x8FD0,0x8574,0x915D,0x6655,0x97F5,
+0x5B55,0x531D,0x7838,0x6742,0x683D,0x54C9,0x707E,0x5BB0,
+0x8F7D,0x518D,0x5728,0x54B1,0x6512,0x6682,0x8D5E,0x8D43,
+0x810F,0x846C,0x906D,0x7CDF,0x51FF,0x85FB,0x67A3,0x65E9,
+0x6FA1,0x86A4,0x8E81,0x566A,0x9020,0x7682,0x7076,0x71E5,
+0x8D23,0x62E9,0x5219,0x6CFD,0x8D3C,0x600E,0x589E,0x618E,
+0x66FE,0x8D60,0x624E,0x55B3,0x6E23,0x672D,0x8F67, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8A81,0x8A82,0x8A83,0x8A84,0x8A85,0x8A86,0x8A87,0x8A88,
+0x8A8B,0x8A8C,0x8A8D,0x8A8E,0x8A8F,0x8A90,0x8A91,0x8A92,
+0x8A94,0x8A95,0x8A96,0x8A97,0x8A98,0x8A99,0x8A9A,0x8A9B,
+0x8A9C,0x8A9D,0x8A9E,0x8A9F,0x8AA0,0x8AA1,0x8AA2,0x8AA3,
+0x8AA4,0x8AA5,0x8AA6,0x8AA7,0x8AA8,0x8AA9,0x8AAA,0x8AAB,
+0x8AAC,0x8AAD,0x8AAE,0x8AAF,0x8AB0,0x8AB1,0x8AB2,0x8AB3,
+0x8AB4,0x8AB5,0x8AB6,0x8AB7,0x8AB8,0x8AB9,0x8ABA,0x8ABB,
+0x8ABC,0x8ABD,0x8ABE,0x8ABF,0x8AC0,0x8AC1,0x8AC2, 0,
+0x8AC3,0x8AC4,0x8AC5,0x8AC6,0x8AC7,0x8AC8,0x8AC9,0x8ACA,
+0x8ACB,0x8ACC,0x8ACD,0x8ACE,0x8ACF,0x8AD0,0x8AD1,0x8AD2,
+0x8AD3,0x8AD4,0x8AD5,0x8AD6,0x8AD7,0x8AD8,0x8AD9,0x8ADA,
+0x8ADB,0x8ADC,0x8ADD,0x8ADE,0x8ADF,0x8AE0,0x8AE1,0x8AE2,
+0x8AE3,0x94E1,0x95F8,0x7728,0x6805,0x69A8,0x548B,0x4E4D,
+0x70B8,0x8BC8,0x6458,0x658B,0x5B85,0x7A84,0x503A,0x5BE8,
+0x77BB,0x6BE1,0x8A79,0x7C98,0x6CBE,0x76CF,0x65A9,0x8F97,
+0x5D2D,0x5C55,0x8638,0x6808,0x5360,0x6218,0x7AD9,0x6E5B,
+0x7EFD,0x6A1F,0x7AE0,0x5F70,0x6F33,0x5F20,0x638C,0x6DA8,
+0x6756,0x4E08,0x5E10,0x8D26,0x4ED7,0x80C0,0x7634,0x969C,
+0x62DB,0x662D,0x627E,0x6CBC,0x8D75,0x7167,0x7F69,0x5146,
+0x8087,0x53EC,0x906E,0x6298,0x54F2,0x86F0,0x8F99,0x8005,
+0x9517,0x8517,0x8FD9,0x6D59,0x73CD,0x659F,0x771F,0x7504,
+0x7827,0x81FB,0x8D1E,0x9488,0x4FA6,0x6795,0x75B9,0x8BCA,
+0x9707,0x632F,0x9547,0x9635,0x84B8,0x6323,0x7741,0x5F81,
+0x72F0,0x4E89,0x6014,0x6574,0x62EF,0x6B63,0x653F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8AE4,0x8AE5,0x8AE6,0x8AE7,0x8AE8,0x8AE9,0x8AEA,0x8AEB,
+0x8AEC,0x8AED,0x8AEE,0x8AEF,0x8AF0,0x8AF1,0x8AF2,0x8AF3,
+0x8AF4,0x8AF5,0x8AF6,0x8AF7,0x8AF8,0x8AF9,0x8AFA,0x8AFB,
+0x8AFC,0x8AFD,0x8AFE,0x8AFF,0x8B00,0x8B01,0x8B02,0x8B03,
+0x8B04,0x8B05,0x8B06,0x8B08,0x8B09,0x8B0A,0x8B0B,0x8B0C,
+0x8B0D,0x8B0E,0x8B0F,0x8B10,0x8B11,0x8B12,0x8B13,0x8B14,
+0x8B15,0x8B16,0x8B17,0x8B18,0x8B19,0x8B1A,0x8B1B,0x8B1C,
+0x8B1D,0x8B1E,0x8B1F,0x8B20,0x8B21,0x8B22,0x8B23, 0,
+0x8B24,0x8B25,0x8B27,0x8B28,0x8B29,0x8B2A,0x8B2B,0x8B2C,
+0x8B2D,0x8B2E,0x8B2F,0x8B30,0x8B31,0x8B32,0x8B33,0x8B34,
+0x8B35,0x8B36,0x8B37,0x8B38,0x8B39,0x8B3A,0x8B3B,0x8B3C,
+0x8B3D,0x8B3E,0x8B3F,0x8B40,0x8B41,0x8B42,0x8B43,0x8B44,
+0x8B45,0x5E27,0x75C7,0x90D1,0x8BC1,0x829D,0x679D,0x652F,
+0x5431,0x8718,0x77E5,0x80A2,0x8102,0x6C41,0x4E4B,0x7EC7,
+0x804C,0x76F4,0x690D,0x6B96,0x6267,0x503C,0x4F84,0x5740,
+0x6307,0x6B62,0x8DBE,0x53EA,0x65E8,0x7EB8,0x5FD7,0x631A,
+0x63B7,0x81F3,0x81F4,0x7F6E,0x5E1C,0x5CD9,0x5236,0x667A,
+0x79E9,0x7A1A,0x8D28,0x7099,0x75D4,0x6EDE,0x6CBB,0x7A92,
+0x4E2D,0x76C5,0x5FE0,0x949F,0x8877,0x7EC8,0x79CD,0x80BF,
+0x91CD,0x4EF2,0x4F17,0x821F,0x5468,0x5DDE,0x6D32,0x8BCC,
+0x7CA5,0x8F74,0x8098,0x5E1A,0x5492,0x76B1,0x5B99,0x663C,
+0x9AA4,0x73E0,0x682A,0x86DB,0x6731,0x732A,0x8BF8,0x8BDB,
+0x9010,0x7AF9,0x70DB,0x716E,0x62C4,0x77A9,0x5631,0x4E3B,
+0x8457,0x67F1,0x52A9,0x86C0,0x8D2E,0x94F8,0x7B51, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8B46,0x8B47,0x8B48,0x8B49,0x8B4A,0x8B4B,0x8B4C,0x8B4D,
+0x8B4E,0x8B4F,0x8B50,0x8B51,0x8B52,0x8B53,0x8B54,0x8B55,
+0x8B56,0x8B57,0x8B58,0x8B59,0x8B5A,0x8B5B,0x8B5C,0x8B5D,
+0x8B5E,0x8B5F,0x8B60,0x8B61,0x8B62,0x8B63,0x8B64,0x8B65,
+0x8B67,0x8B68,0x8B69,0x8B6A,0x8B6B,0x8B6D,0x8B6E,0x8B6F,
+0x8B70,0x8B71,0x8B72,0x8B73,0x8B74,0x8B75,0x8B76,0x8B77,
+0x8B78,0x8B79,0x8B7A,0x8B7B,0x8B7C,0x8B7D,0x8B7E,0x8B7F,
+0x8B80,0x8B81,0x8B82,0x8B83,0x8B84,0x8B85,0x8B86, 0,
+0x8B87,0x8B88,0x8B89,0x8B8A,0x8B8B,0x8B8C,0x8B8D,0x8B8E,
+0x8B8F,0x8B90,0x8B91,0x8B92,0x8B93,0x8B94,0x8B95,0x8B96,
+0x8B97,0x8B98,0x8B99,0x8B9A,0x8B9B,0x8B9C,0x8B9D,0x8B9E,
+0x8B9F,0x8BAC,0x8BB1,0x8BBB,0x8BC7,0x8BD0,0x8BEA,0x8C09,
+0x8C1E,0x4F4F,0x6CE8,0x795D,0x9A7B,0x6293,0x722A,0x62FD,
+0x4E13,0x7816,0x8F6C,0x64B0,0x8D5A,0x7BC6,0x6869,0x5E84,
+0x88C5,0x5986,0x649E,0x58EE,0x72B6,0x690E,0x9525,0x8FFD,
+0x8D58,0x5760,0x7F00,0x8C06,0x51C6,0x6349,0x62D9,0x5353,
+0x684C,0x7422,0x8301,0x914C,0x5544,0x7740,0x707C,0x6D4A,
+0x5179,0x54A8,0x8D44,0x59FF,0x6ECB,0x6DC4,0x5B5C,0x7D2B,
+0x4ED4,0x7C7D,0x6ED3,0x5B50,0x81EA,0x6E0D,0x5B57,0x9B03,
+0x68D5,0x8E2A,0x5B97,0x7EFC,0x603B,0x7EB5,0x90B9,0x8D70,
+0x594F,0x63CD,0x79DF,0x8DB3,0x5352,0x65CF,0x7956,0x8BC5,
+0x963B,0x7EC4,0x94BB,0x7E82,0x5634,0x9189,0x6700,0x7F6A,
+0x5C0A,0x9075,0x6628,0x5DE6,0x4F50,0x67DE,0x505A,0x4F5C,
+0x5750,0x5EA7, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8C38,0x8C39,0x8C3A,0x8C3B,0x8C3C,0x8C3D,0x8C3E,0x8C3F,
+0x8C40,0x8C42,0x8C43,0x8C44,0x8C45,0x8C48,0x8C4A,0x8C4B,
+0x8C4D,0x8C4E,0x8C4F,0x8C50,0x8C51,0x8C52,0x8C53,0x8C54,
+0x8C56,0x8C57,0x8C58,0x8C59,0x8C5B,0x8C5C,0x8C5D,0x8C5E,
+0x8C5F,0x8C60,0x8C63,0x8C64,0x8C65,0x8C66,0x8C67,0x8C68,
+0x8C69,0x8C6C,0x8C6D,0x8C6E,0x8C6F,0x8C70,0x8C71,0x8C72,
+0x8C74,0x8C75,0x8C76,0x8C77,0x8C7B,0x8C7C,0x8C7D,0x8C7E,
+0x8C7F,0x8C80,0x8C81,0x8C83,0x8C84,0x8C86,0x8C87, 0,
+0x8C88,0x8C8B,0x8C8D,0x8C8E,0x8C8F,0x8C90,0x8C91,0x8C92,
+0x8C93,0x8C95,0x8C96,0x8C97,0x8C99,0x8C9A,0x8C9B,0x8C9C,
+0x8C9D,0x8C9E,0x8C9F,0x8CA0,0x8CA1,0x8CA2,0x8CA3,0x8CA4,
+0x8CA5,0x8CA6,0x8CA7,0x8CA8,0x8CA9,0x8CAA,0x8CAB,0x8CAC,
+0x8CAD,0x4E8D,0x4E0C,0x5140,0x4E10,0x5EFF,0x5345,0x4E15,
+0x4E98,0x4E1E,0x9B32,0x5B6C,0x5669,0x4E28,0x79BA,0x4E3F,
+0x5315,0x4E47,0x592D,0x723B,0x536E,0x6C10,0x56DF,0x80E4,
+0x9997,0x6BD3,0x777E,0x9F17,0x4E36,0x4E9F,0x9F10,0x4E5C,
+0x4E69,0x4E93,0x8288,0x5B5B,0x556C,0x560F,0x4EC4,0x538D,
+0x539D,0x53A3,0x53A5,0x53AE,0x9765,0x8D5D,0x531A,0x53F5,
+0x5326,0x532E,0x533E,0x8D5C,0x5366,0x5363,0x5202,0x5208,
+0x520E,0x522D,0x5233,0x523F,0x5240,0x524C,0x525E,0x5261,
+0x525C,0x84AF,0x527D,0x5282,0x5281,0x5290,0x5293,0x5182,
+0x7F54,0x4EBB,0x4EC3,0x4EC9,0x4EC2,0x4EE8,0x4EE1,0x4EEB,
+0x4EDE,0x4F1B,0x4EF3,0x4F22,0x4F64,0x4EF5,0x4F25,0x4F27,
+0x4F09,0x4F2B,0x4F5E,0x4F67,0x6538,0x4F5A,0x4F5D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8CAE,0x8CAF,0x8CB0,0x8CB1,0x8CB2,0x8CB3,0x8CB4,0x8CB5,
+0x8CB6,0x8CB7,0x8CB8,0x8CB9,0x8CBA,0x8CBB,0x8CBC,0x8CBD,
+0x8CBE,0x8CBF,0x8CC0,0x8CC1,0x8CC2,0x8CC3,0x8CC4,0x8CC5,
+0x8CC6,0x8CC7,0x8CC8,0x8CC9,0x8CCA,0x8CCB,0x8CCC,0x8CCD,
+0x8CCE,0x8CCF,0x8CD0,0x8CD1,0x8CD2,0x8CD3,0x8CD4,0x8CD5,
+0x8CD6,0x8CD7,0x8CD8,0x8CD9,0x8CDA,0x8CDB,0x8CDC,0x8CDD,
+0x8CDE,0x8CDF,0x8CE0,0x8CE1,0x8CE2,0x8CE3,0x8CE4,0x8CE5,
+0x8CE6,0x8CE7,0x8CE8,0x8CE9,0x8CEA,0x8CEB,0x8CEC, 0,
+0x8CED,0x8CEE,0x8CEF,0x8CF0,0x8CF1,0x8CF2,0x8CF3,0x8CF4,
+0x8CF5,0x8CF6,0x8CF7,0x8CF8,0x8CF9,0x8CFA,0x8CFB,0x8CFC,
+0x8CFD,0x8CFE,0x8CFF,0x8D00,0x8D01,0x8D02,0x8D03,0x8D04,
+0x8D05,0x8D06,0x8D07,0x8D08,0x8D09,0x8D0A,0x8D0B,0x8D0C,
+0x8D0D,0x4F5F,0x4F57,0x4F32,0x4F3D,0x4F76,0x4F74,0x4F91,
+0x4F89,0x4F83,0x4F8F,0x4F7E,0x4F7B,0x4FAA,0x4F7C,0x4FAC,
+0x4F94,0x4FE6,0x4FE8,0x4FEA,0x4FC5,0x4FDA,0x4FE3,0x4FDC,
+0x4FD1,0x4FDF,0x4FF8,0x5029,0x504C,0x4FF3,0x502C,0x500F,
+0x502E,0x502D,0x4FFE,0x501C,0x500C,0x5025,0x5028,0x507E,
+0x5043,0x5055,0x5048,0x504E,0x506C,0x507B,0x50A5,0x50A7,
+0x50A9,0x50BA,0x50D6,0x5106,0x50ED,0x50EC,0x50E6,0x50EE,
+0x5107,0x510B,0x4EDD,0x6C3D,0x4F58,0x4F65,0x4FCE,0x9FA0,
+0x6C46,0x7C74,0x516E,0x5DFD,0x9EC9,0x9998,0x5181,0x5914,
+0x52F9,0x530D,0x8A07,0x5310,0x51EB,0x5919,0x5155,0x4EA0,
+0x5156,0x4EB3,0x886E,0x88A4,0x4EB5,0x8114,0x88D2,0x7980,
+0x5B34,0x8803,0x7FB8,0x51AB,0x51B1,0x51BD,0x51BC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8D0E,0x8D0F,0x8D10,0x8D11,0x8D12,0x8D13,0x8D14,0x8D15,
+0x8D16,0x8D17,0x8D18,0x8D19,0x8D1A,0x8D1B,0x8D1C,0x8D20,
+0x8D51,0x8D52,0x8D57,0x8D5F,0x8D65,0x8D68,0x8D69,0x8D6A,
+0x8D6C,0x8D6E,0x8D6F,0x8D71,0x8D72,0x8D78,0x8D79,0x8D7A,
+0x8D7B,0x8D7C,0x8D7D,0x8D7E,0x8D7F,0x8D80,0x8D82,0x8D83,
+0x8D86,0x8D87,0x8D88,0x8D89,0x8D8C,0x8D8D,0x8D8E,0x8D8F,
+0x8D90,0x8D92,0x8D93,0x8D95,0x8D96,0x8D97,0x8D98,0x8D99,
+0x8D9A,0x8D9B,0x8D9C,0x8D9D,0x8D9E,0x8DA0,0x8DA1, 0,
+0x8DA2,0x8DA4,0x8DA5,0x8DA6,0x8DA7,0x8DA8,0x8DA9,0x8DAA,
+0x8DAB,0x8DAC,0x8DAD,0x8DAE,0x8DAF,0x8DB0,0x8DB2,0x8DB6,
+0x8DB7,0x8DB9,0x8DBB,0x8DBD,0x8DC0,0x8DC1,0x8DC2,0x8DC5,
+0x8DC7,0x8DC8,0x8DC9,0x8DCA,0x8DCD,0x8DD0,0x8DD2,0x8DD3,
+0x8DD4,0x51C7,0x5196,0x51A2,0x51A5,0x8BA0,0x8BA6,0x8BA7,
+0x8BAA,0x8BB4,0x8BB5,0x8BB7,0x8BC2,0x8BC3,0x8BCB,0x8BCF,
+0x8BCE,0x8BD2,0x8BD3,0x8BD4,0x8BD6,0x8BD8,0x8BD9,0x8BDC,
+0x8BDF,0x8BE0,0x8BE4,0x8BE8,0x8BE9,0x8BEE,0x8BF0,0x8BF3,
+0x8BF6,0x8BF9,0x8BFC,0x8BFF,0x8C00,0x8C02,0x8C04,0x8C07,
+0x8C0C,0x8C0F,0x8C11,0x8C12,0x8C14,0x8C15,0x8C16,0x8C19,
+0x8C1B,0x8C18,0x8C1D,0x8C1F,0x8C20,0x8C21,0x8C25,0x8C27,
+0x8C2A,0x8C2B,0x8C2E,0x8C2F,0x8C32,0x8C33,0x8C35,0x8C36,
+0x5369,0x537A,0x961D,0x9622,0x9621,0x9631,0x962A,0x963D,
+0x963C,0x9642,0x9649,0x9654,0x965F,0x9667,0x966C,0x9672,
+0x9674,0x9688,0x968D,0x9697,0x96B0,0x9097,0x909B,0x909D,
+0x9099,0x90AC,0x90A1,0x90B4,0x90B3,0x90B6,0x90BA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8DD5,0x8DD8,0x8DD9,0x8DDC,0x8DE0,0x8DE1,0x8DE2,0x8DE5,
+0x8DE6,0x8DE7,0x8DE9,0x8DED,0x8DEE,0x8DF0,0x8DF1,0x8DF2,
+0x8DF4,0x8DF6,0x8DFC,0x8DFE,0x8DFF,0x8E00,0x8E01,0x8E02,
+0x8E03,0x8E04,0x8E06,0x8E07,0x8E08,0x8E0B,0x8E0D,0x8E0E,
+0x8E10,0x8E11,0x8E12,0x8E13,0x8E15,0x8E16,0x8E17,0x8E18,
+0x8E19,0x8E1A,0x8E1B,0x8E1C,0x8E20,0x8E21,0x8E24,0x8E25,
+0x8E26,0x8E27,0x8E28,0x8E2B,0x8E2D,0x8E30,0x8E32,0x8E33,
+0x8E34,0x8E36,0x8E37,0x8E38,0x8E3B,0x8E3C,0x8E3E, 0,
+0x8E3F,0x8E43,0x8E45,0x8E46,0x8E4C,0x8E4D,0x8E4E,0x8E4F,
+0x8E50,0x8E53,0x8E54,0x8E55,0x8E56,0x8E57,0x8E58,0x8E5A,
+0x8E5B,0x8E5C,0x8E5D,0x8E5E,0x8E5F,0x8E60,0x8E61,0x8E62,
+0x8E63,0x8E64,0x8E65,0x8E67,0x8E68,0x8E6A,0x8E6B,0x8E6E,
+0x8E71,0x90B8,0x90B0,0x90CF,0x90C5,0x90BE,0x90D0,0x90C4,
+0x90C7,0x90D3,0x90E6,0x90E2,0x90DC,0x90D7,0x90DB,0x90EB,
+0x90EF,0x90FE,0x9104,0x9122,0x911E,0x9123,0x9131,0x912F,
+0x9139,0x9143,0x9146,0x520D,0x5942,0x52A2,0x52AC,0x52AD,
+0x52BE,0x54FF,0x52D0,0x52D6,0x52F0,0x53DF,0x71EE,0x77CD,
+0x5EF4,0x51F5,0x51FC,0x9B2F,0x53B6,0x5F01,0x755A,0x5DEF,
+0x574C,0x57A9,0x57A1,0x587E,0x58BC,0x58C5,0x58D1,0x5729,
+0x572C,0x572A,0x5733,0x5739,0x572E,0x572F,0x575C,0x573B,
+0x5742,0x5769,0x5785,0x576B,0x5786,0x577C,0x577B,0x5768,
+0x576D,0x5776,0x5773,0x57AD,0x57A4,0x578C,0x57B2,0x57CF,
+0x57A7,0x57B4,0x5793,0x57A0,0x57D5,0x57D8,0x57DA,0x57D9,
+0x57D2,0x57B8,0x57F4,0x57EF,0x57F8,0x57E4,0x57DD, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8E73,0x8E75,0x8E77,0x8E78,0x8E79,0x8E7A,0x8E7B,0x8E7D,
+0x8E7E,0x8E80,0x8E82,0x8E83,0x8E84,0x8E86,0x8E88,0x8E89,
+0x8E8A,0x8E8B,0x8E8C,0x8E8D,0x8E8E,0x8E91,0x8E92,0x8E93,
+0x8E95,0x8E96,0x8E97,0x8E98,0x8E99,0x8E9A,0x8E9B,0x8E9D,
+0x8E9F,0x8EA0,0x8EA1,0x8EA2,0x8EA3,0x8EA4,0x8EA5,0x8EA6,
+0x8EA7,0x8EA8,0x8EA9,0x8EAA,0x8EAD,0x8EAE,0x8EB0,0x8EB1,
+0x8EB3,0x8EB4,0x8EB5,0x8EB6,0x8EB7,0x8EB8,0x8EB9,0x8EBB,
+0x8EBC,0x8EBD,0x8EBE,0x8EBF,0x8EC0,0x8EC1,0x8EC2, 0,
+0x8EC3,0x8EC4,0x8EC5,0x8EC6,0x8EC7,0x8EC8,0x8EC9,0x8ECA,
+0x8ECB,0x8ECC,0x8ECD,0x8ECF,0x8ED0,0x8ED1,0x8ED2,0x8ED3,
+0x8ED4,0x8ED5,0x8ED6,0x8ED7,0x8ED8,0x8ED9,0x8EDA,0x8EDB,
+0x8EDC,0x8EDD,0x8EDE,0x8EDF,0x8EE0,0x8EE1,0x8EE2,0x8EE3,
+0x8EE4,0x580B,0x580D,0x57FD,0x57ED,0x5800,0x581E,0x5819,
+0x5844,0x5820,0x5865,0x586C,0x5881,0x5889,0x589A,0x5880,
+0x99A8,0x9F19,0x61FF,0x8279,0x827D,0x827F,0x828F,0x828A,
+0x82A8,0x8284,0x828E,0x8291,0x8297,0x8299,0x82AB,0x82B8,
+0x82BE,0x82B0,0x82C8,0x82CA,0x82E3,0x8298,0x82B7,0x82AE,
+0x82CB,0x82CC,0x82C1,0x82A9,0x82B4,0x82A1,0x82AA,0x829F,
+0x82C4,0x82CE,0x82A4,0x82E1,0x8309,0x82F7,0x82E4,0x830F,
+0x8307,0x82DC,0x82F4,0x82D2,0x82D8,0x830C,0x82FB,0x82D3,
+0x8311,0x831A,0x8306,0x8314,0x8315,0x82E0,0x82D5,0x831C,
+0x8351,0x835B,0x835C,0x8308,0x8392,0x833C,0x8334,0x8331,
+0x839B,0x835E,0x832F,0x834F,0x8347,0x8343,0x835F,0x8340,
+0x8317,0x8360,0x832D,0x833A,0x8333,0x8366,0x8365, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8EE5,0x8EE6,0x8EE7,0x8EE8,0x8EE9,0x8EEA,0x8EEB,0x8EEC,
+0x8EED,0x8EEE,0x8EEF,0x8EF0,0x8EF1,0x8EF2,0x8EF3,0x8EF4,
+0x8EF5,0x8EF6,0x8EF7,0x8EF8,0x8EF9,0x8EFA,0x8EFB,0x8EFC,
+0x8EFD,0x8EFE,0x8EFF,0x8F00,0x8F01,0x8F02,0x8F03,0x8F04,
+0x8F05,0x8F06,0x8F07,0x8F08,0x8F09,0x8F0A,0x8F0B,0x8F0C,
+0x8F0D,0x8F0E,0x8F0F,0x8F10,0x8F11,0x8F12,0x8F13,0x8F14,
+0x8F15,0x8F16,0x8F17,0x8F18,0x8F19,0x8F1A,0x8F1B,0x8F1C,
+0x8F1D,0x8F1E,0x8F1F,0x8F20,0x8F21,0x8F22,0x8F23, 0,
+0x8F24,0x8F25,0x8F26,0x8F27,0x8F28,0x8F29,0x8F2A,0x8F2B,
+0x8F2C,0x8F2D,0x8F2E,0x8F2F,0x8F30,0x8F31,0x8F32,0x8F33,
+0x8F34,0x8F35,0x8F36,0x8F37,0x8F38,0x8F39,0x8F3A,0x8F3B,
+0x8F3C,0x8F3D,0x8F3E,0x8F3F,0x8F40,0x8F41,0x8F42,0x8F43,
+0x8F44,0x8368,0x831B,0x8369,0x836C,0x836A,0x836D,0x836E,
+0x83B0,0x8378,0x83B3,0x83B4,0x83A0,0x83AA,0x8393,0x839C,
+0x8385,0x837C,0x83B6,0x83A9,0x837D,0x83B8,0x837B,0x8398,
+0x839E,0x83A8,0x83BA,0x83BC,0x83C1,0x8401,0x83E5,0x83D8,
+0x5807,0x8418,0x840B,0x83DD,0x83FD,0x83D6,0x841C,0x8438,
+0x8411,0x8406,0x83D4,0x83DF,0x840F,0x8403,0x83F8,0x83F9,
+0x83EA,0x83C5,0x83C0,0x8426,0x83F0,0x83E1,0x845C,0x8451,
+0x845A,0x8459,0x8473,0x8487,0x8488,0x847A,0x8489,0x8478,
+0x843C,0x8446,0x8469,0x8476,0x848C,0x848E,0x8431,0x846D,
+0x84C1,0x84CD,0x84D0,0x84E6,0x84BD,0x84D3,0x84CA,0x84BF,
+0x84BA,0x84E0,0x84A1,0x84B9,0x84B4,0x8497,0x84E5,0x84E3,
+0x850C,0x750D,0x8538,0x84F0,0x8539,0x851F,0x853A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8F45,0x8F46,0x8F47,0x8F48,0x8F49,0x8F4A,0x8F4B,0x8F4C,
+0x8F4D,0x8F4E,0x8F4F,0x8F50,0x8F51,0x8F52,0x8F53,0x8F54,
+0x8F55,0x8F56,0x8F57,0x8F58,0x8F59,0x8F5A,0x8F5B,0x8F5C,
+0x8F5D,0x8F5E,0x8F5F,0x8F60,0x8F61,0x8F62,0x8F63,0x8F64,
+0x8F65,0x8F6A,0x8F80,0x8F8C,0x8F92,0x8F9D,0x8FA0,0x8FA1,
+0x8FA2,0x8FA4,0x8FA5,0x8FA6,0x8FA7,0x8FAA,0x8FAC,0x8FAD,
+0x8FAE,0x8FAF,0x8FB2,0x8FB3,0x8FB4,0x8FB5,0x8FB7,0x8FB8,
+0x8FBA,0x8FBB,0x8FBC,0x8FBF,0x8FC0,0x8FC3,0x8FC6, 0,
+0x8FC9,0x8FCA,0x8FCB,0x8FCC,0x8FCD,0x8FCF,0x8FD2,0x8FD6,
+0x8FD7,0x8FDA,0x8FE0,0x8FE1,0x8FE3,0x8FE7,0x8FEC,0x8FEF,
+0x8FF1,0x8FF2,0x8FF4,0x8FF5,0x8FF6,0x8FFA,0x8FFB,0x8FFC,
+0x8FFE,0x8FFF,0x9007,0x9008,0x900C,0x900E,0x9013,0x9015,
+0x9018,0x8556,0x853B,0x84FF,0x84FC,0x8559,0x8548,0x8568,
+0x8564,0x855E,0x857A,0x77A2,0x8543,0x8572,0x857B,0x85A4,
+0x85A8,0x8587,0x858F,0x8579,0x85AE,0x859C,0x8585,0x85B9,
+0x85B7,0x85B0,0x85D3,0x85C1,0x85DC,0x85FF,0x8627,0x8605,
+0x8629,0x8616,0x863C,0x5EFE,0x5F08,0x593C,0x5941,0x8037,
+0x5955,0x595A,0x5958,0x530F,0x5C22,0x5C25,0x5C2C,0x5C34,
+0x624C,0x626A,0x629F,0x62BB,0x62CA,0x62DA,0x62D7,0x62EE,
+0x6322,0x62F6,0x6339,0x634B,0x6343,0x63AD,0x63F6,0x6371,
+0x637A,0x638E,0x63B4,0x636D,0x63AC,0x638A,0x6369,0x63AE,
+0x63BC,0x63F2,0x63F8,0x63E0,0x63FF,0x63C4,0x63DE,0x63CE,
+0x6452,0x63C6,0x63BE,0x6445,0x6441,0x640B,0x641B,0x6420,
+0x640C,0x6426,0x6421,0x645E,0x6484,0x646D,0x6496, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9019,0x901C,0x9023,0x9024,0x9025,0x9027,0x9028,0x9029,
+0x902A,0x902B,0x902C,0x9030,0x9031,0x9032,0x9033,0x9034,
+0x9037,0x9039,0x903A,0x903D,0x903F,0x9040,0x9043,0x9045,
+0x9046,0x9048,0x9049,0x904A,0x904B,0x904C,0x904E,0x9054,
+0x9055,0x9056,0x9059,0x905A,0x905C,0x905D,0x905E,0x905F,
+0x9060,0x9061,0x9064,0x9066,0x9067,0x9069,0x906A,0x906B,
+0x906C,0x906F,0x9070,0x9071,0x9072,0x9073,0x9076,0x9077,
+0x9078,0x9079,0x907A,0x907B,0x907C,0x907E,0x9081, 0,
+0x9084,0x9085,0x9086,0x9087,0x9089,0x908A,0x908C,0x908D,
+0x908E,0x908F,0x9090,0x9092,0x9094,0x9096,0x9098,0x909A,
+0x909C,0x909E,0x909F,0x90A0,0x90A4,0x90A5,0x90A7,0x90A8,
+0x90A9,0x90AB,0x90AD,0x90B2,0x90B7,0x90BC,0x90BD,0x90BF,
+0x90C0,0x647A,0x64B7,0x64B8,0x6499,0x64BA,0x64C0,0x64D0,
+0x64D7,0x64E4,0x64E2,0x6509,0x6525,0x652E,0x5F0B,0x5FD2,
+0x7519,0x5F11,0x535F,0x53F1,0x53FD,0x53E9,0x53E8,0x53FB,
+0x5412,0x5416,0x5406,0x544B,0x5452,0x5453,0x5454,0x5456,
+0x5443,0x5421,0x5457,0x5459,0x5423,0x5432,0x5482,0x5494,
+0x5477,0x5471,0x5464,0x549A,0x549B,0x5484,0x5476,0x5466,
+0x549D,0x54D0,0x54AD,0x54C2,0x54B4,0x54D2,0x54A7,0x54A6,
+0x54D3,0x54D4,0x5472,0x54A3,0x54D5,0x54BB,0x54BF,0x54CC,
+0x54D9,0x54DA,0x54DC,0x54A9,0x54AA,0x54A4,0x54DD,0x54CF,
+0x54DE,0x551B,0x54E7,0x5520,0x54FD,0x5514,0x54F3,0x5522,
+0x5523,0x550F,0x5511,0x5527,0x552A,0x5567,0x558F,0x55B5,
+0x5549,0x556D,0x5541,0x5555,0x553F,0x5550,0x553C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x90C2,0x90C3,0x90C6,0x90C8,0x90C9,0x90CB,0x90CC,0x90CD,
+0x90D2,0x90D4,0x90D5,0x90D6,0x90D8,0x90D9,0x90DA,0x90DE,
+0x90DF,0x90E0,0x90E3,0x90E4,0x90E5,0x90E9,0x90EA,0x90EC,
+0x90EE,0x90F0,0x90F1,0x90F2,0x90F3,0x90F5,0x90F6,0x90F7,
+0x90F9,0x90FA,0x90FB,0x90FC,0x90FF,0x9100,0x9101,0x9103,
+0x9105,0x9106,0x9107,0x9108,0x9109,0x910A,0x910B,0x910C,
+0x910D,0x910E,0x910F,0x9110,0x9111,0x9112,0x9113,0x9114,
+0x9115,0x9116,0x9117,0x9118,0x911A,0x911B,0x911C, 0,
+0x911D,0x911F,0x9120,0x9121,0x9124,0x9125,0x9126,0x9127,
+0x9128,0x9129,0x912A,0x912B,0x912C,0x912D,0x912E,0x9130,
+0x9132,0x9133,0x9134,0x9135,0x9136,0x9137,0x9138,0x913A,
+0x913B,0x913C,0x913D,0x913E,0x913F,0x9140,0x9141,0x9142,
+0x9144,0x5537,0x5556,0x5575,0x5576,0x5577,0x5533,0x5530,
+0x555C,0x558B,0x55D2,0x5583,0x55B1,0x55B9,0x5588,0x5581,
+0x559F,0x557E,0x55D6,0x5591,0x557B,0x55DF,0x55BD,0x55BE,
+0x5594,0x5599,0x55EA,0x55F7,0x55C9,0x561F,0x55D1,0x55EB,
+0x55EC,0x55D4,0x55E6,0x55DD,0x55C4,0x55EF,0x55E5,0x55F2,
+0x55F3,0x55CC,0x55CD,0x55E8,0x55F5,0x55E4,0x8F94,0x561E,
+0x5608,0x560C,0x5601,0x5624,0x5623,0x55FE,0x5600,0x5627,
+0x562D,0x5658,0x5639,0x5657,0x562C,0x564D,0x5662,0x5659,
+0x565C,0x564C,0x5654,0x5686,0x5664,0x5671,0x566B,0x567B,
+0x567C,0x5685,0x5693,0x56AF,0x56D4,0x56D7,0x56DD,0x56E1,
+0x56F5,0x56EB,0x56F9,0x56FF,0x5704,0x570A,0x5709,0x571C,
+0x5E0F,0x5E19,0x5E14,0x5E11,0x5E31,0x5E3B,0x5E3C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9145,0x9147,0x9148,0x9151,0x9153,0x9154,0x9155,0x9156,
+0x9158,0x9159,0x915B,0x915C,0x915F,0x9160,0x9166,0x9167,
+0x9168,0x916B,0x916D,0x9173,0x917A,0x917B,0x917C,0x9180,
+0x9181,0x9182,0x9183,0x9184,0x9186,0x9188,0x918A,0x918E,
+0x918F,0x9193,0x9194,0x9195,0x9196,0x9197,0x9198,0x9199,
+0x919C,0x919D,0x919E,0x919F,0x91A0,0x91A1,0x91A4,0x91A5,
+0x91A6,0x91A7,0x91A8,0x91A9,0x91AB,0x91AC,0x91B0,0x91B1,
+0x91B2,0x91B3,0x91B6,0x91B7,0x91B8,0x91B9,0x91BB, 0,
+0x91BC,0x91BD,0x91BE,0x91BF,0x91C0,0x91C1,0x91C2,0x91C3,
+0x91C4,0x91C5,0x91C6,0x91C8,0x91CB,0x91D0,0x91D2,0x91D3,
+0x91D4,0x91D5,0x91D6,0x91D7,0x91D8,0x91D9,0x91DA,0x91DB,
+0x91DD,0x91DE,0x91DF,0x91E0,0x91E1,0x91E2,0x91E3,0x91E4,
+0x91E5,0x5E37,0x5E44,0x5E54,0x5E5B,0x5E5E,0x5E61,0x5C8C,
+0x5C7A,0x5C8D,0x5C90,0x5C96,0x5C88,0x5C98,0x5C99,0x5C91,
+0x5C9A,0x5C9C,0x5CB5,0x5CA2,0x5CBD,0x5CAC,0x5CAB,0x5CB1,
+0x5CA3,0x5CC1,0x5CB7,0x5CC4,0x5CD2,0x5CE4,0x5CCB,0x5CE5,
+0x5D02,0x5D03,0x5D27,0x5D26,0x5D2E,0x5D24,0x5D1E,0x5D06,
+0x5D1B,0x5D58,0x5D3E,0x5D34,0x5D3D,0x5D6C,0x5D5B,0x5D6F,
+0x5D5D,0x5D6B,0x5D4B,0x5D4A,0x5D69,0x5D74,0x5D82,0x5D99,
+0x5D9D,0x8C73,0x5DB7,0x5DC5,0x5F73,0x5F77,0x5F82,0x5F87,
+0x5F89,0x5F8C,0x5F95,0x5F99,0x5F9C,0x5FA8,0x5FAD,0x5FB5,
+0x5FBC,0x8862,0x5F61,0x72AD,0x72B0,0x72B4,0x72B7,0x72B8,
+0x72C3,0x72C1,0x72CE,0x72CD,0x72D2,0x72E8,0x72EF,0x72E9,
+0x72F2,0x72F4,0x72F7,0x7301,0x72F3,0x7303,0x72FA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x91E6,0x91E7,0x91E8,0x91E9,0x91EA,0x91EB,0x91EC,0x91ED,
+0x91EE,0x91EF,0x91F0,0x91F1,0x91F2,0x91F3,0x91F4,0x91F5,
+0x91F6,0x91F7,0x91F8,0x91F9,0x91FA,0x91FB,0x91FC,0x91FD,
+0x91FE,0x91FF,0x9200,0x9201,0x9202,0x9203,0x9204,0x9205,
+0x9206,0x9207,0x9208,0x9209,0x920A,0x920B,0x920C,0x920D,
+0x920E,0x920F,0x9210,0x9211,0x9212,0x9213,0x9214,0x9215,
+0x9216,0x9217,0x9218,0x9219,0x921A,0x921B,0x921C,0x921D,
+0x921E,0x921F,0x9220,0x9221,0x9222,0x9223,0x9224, 0,
+0x9225,0x9226,0x9227,0x9228,0x9229,0x922A,0x922B,0x922C,
+0x922D,0x922E,0x922F,0x9230,0x9231,0x9232,0x9233,0x9234,
+0x9235,0x9236,0x9237,0x9238,0x9239,0x923A,0x923B,0x923C,
+0x923D,0x923E,0x923F,0x9240,0x9241,0x9242,0x9243,0x9244,
+0x9245,0x72FB,0x7317,0x7313,0x7321,0x730A,0x731E,0x731D,
+0x7315,0x7322,0x7339,0x7325,0x732C,0x7338,0x7331,0x7350,
+0x734D,0x7357,0x7360,0x736C,0x736F,0x737E,0x821B,0x5925,
+0x98E7,0x5924,0x5902,0x9963,0x9967,0x9968,0x9969,0x996A,
+0x996B,0x996C,0x9974,0x9977,0x997D,0x9980,0x9984,0x9987,
+0x998A,0x998D,0x9990,0x9991,0x9993,0x9994,0x9995,0x5E80,
+0x5E91,0x5E8B,0x5E96,0x5EA5,0x5EA0,0x5EB9,0x5EB5,0x5EBE,
+0x5EB3,0x8D53,0x5ED2,0x5ED1,0x5EDB,0x5EE8,0x5EEA,0x81BA,
+0x5FC4,0x5FC9,0x5FD6,0x5FCF,0x6003,0x5FEE,0x6004,0x5FE1,
+0x5FE4,0x5FFE,0x6005,0x6006,0x5FEA,0x5FED,0x5FF8,0x6019,
+0x6035,0x6026,0x601B,0x600F,0x600D,0x6029,0x602B,0x600A,
+0x603F,0x6021,0x6078,0x6079,0x607B,0x607A,0x6042, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9246,0x9247,0x9248,0x9249,0x924A,0x924B,0x924C,0x924D,
+0x924E,0x924F,0x9250,0x9251,0x9252,0x9253,0x9254,0x9255,
+0x9256,0x9257,0x9258,0x9259,0x925A,0x925B,0x925C,0x925D,
+0x925E,0x925F,0x9260,0x9261,0x9262,0x9263,0x9264,0x9265,
+0x9266,0x9267,0x9268,0x9269,0x926A,0x926B,0x926C,0x926D,
+0x926E,0x926F,0x9270,0x9271,0x9272,0x9273,0x9275,0x9276,
+0x9277,0x9278,0x9279,0x927A,0x927B,0x927C,0x927D,0x927E,
+0x927F,0x9280,0x9281,0x9282,0x9283,0x9284,0x9285, 0,
+0x9286,0x9287,0x9288,0x9289,0x928A,0x928B,0x928C,0x928D,
+0x928F,0x9290,0x9291,0x9292,0x9293,0x9294,0x9295,0x9296,
+0x9297,0x9298,0x9299,0x929A,0x929B,0x929C,0x929D,0x929E,
+0x929F,0x92A0,0x92A1,0x92A2,0x92A3,0x92A4,0x92A5,0x92A6,
+0x92A7,0x606A,0x607D,0x6096,0x609A,0x60AD,0x609D,0x6083,
+0x6092,0x608C,0x609B,0x60EC,0x60BB,0x60B1,0x60DD,0x60D8,
+0x60C6,0x60DA,0x60B4,0x6120,0x6126,0x6115,0x6123,0x60F4,
+0x6100,0x610E,0x612B,0x614A,0x6175,0x61AC,0x6194,0x61A7,
+0x61B7,0x61D4,0x61F5,0x5FDD,0x96B3,0x95E9,0x95EB,0x95F1,
+0x95F3,0x95F5,0x95F6,0x95FC,0x95FE,0x9603,0x9604,0x9606,
+0x9608,0x960A,0x960B,0x960C,0x960D,0x960F,0x9612,0x9615,
+0x9616,0x9617,0x9619,0x961A,0x4E2C,0x723F,0x6215,0x6C35,
+0x6C54,0x6C5C,0x6C4A,0x6CA3,0x6C85,0x6C90,0x6C94,0x6C8C,
+0x6C68,0x6C69,0x6C74,0x6C76,0x6C86,0x6CA9,0x6CD0,0x6CD4,
+0x6CAD,0x6CF7,0x6CF8,0x6CF1,0x6CD7,0x6CB2,0x6CE0,0x6CD6,
+0x6CFA,0x6CEB,0x6CEE,0x6CB1,0x6CD3,0x6CEF,0x6CFE, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x92A8,0x92A9,0x92AA,0x92AB,0x92AC,0x92AD,0x92AF,0x92B0,
+0x92B1,0x92B2,0x92B3,0x92B4,0x92B5,0x92B6,0x92B7,0x92B8,
+0x92B9,0x92BA,0x92BB,0x92BC,0x92BD,0x92BE,0x92BF,0x92C0,
+0x92C1,0x92C2,0x92C3,0x92C4,0x92C5,0x92C6,0x92C7,0x92C9,
+0x92CA,0x92CB,0x92CC,0x92CD,0x92CE,0x92CF,0x92D0,0x92D1,
+0x92D2,0x92D3,0x92D4,0x92D5,0x92D6,0x92D7,0x92D8,0x92D9,
+0x92DA,0x92DB,0x92DC,0x92DD,0x92DE,0x92DF,0x92E0,0x92E1,
+0x92E2,0x92E3,0x92E4,0x92E5,0x92E6,0x92E7,0x92E8, 0,
+0x92E9,0x92EA,0x92EB,0x92EC,0x92ED,0x92EE,0x92EF,0x92F0,
+0x92F1,0x92F2,0x92F3,0x92F4,0x92F5,0x92F6,0x92F7,0x92F8,
+0x92F9,0x92FA,0x92FB,0x92FC,0x92FD,0x92FE,0x92FF,0x9300,
+0x9301,0x9302,0x9303,0x9304,0x9305,0x9306,0x9307,0x9308,
+0x9309,0x6D39,0x6D27,0x6D0C,0x6D43,0x6D48,0x6D07,0x6D04,
+0x6D19,0x6D0E,0x6D2B,0x6D4D,0x6D2E,0x6D35,0x6D1A,0x6D4F,
+0x6D52,0x6D54,0x6D33,0x6D91,0x6D6F,0x6D9E,0x6DA0,0x6D5E,
+0x6D93,0x6D94,0x6D5C,0x6D60,0x6D7C,0x6D63,0x6E1A,0x6DC7,
+0x6DC5,0x6DDE,0x6E0E,0x6DBF,0x6DE0,0x6E11,0x6DE6,0x6DDD,
+0x6DD9,0x6E16,0x6DAB,0x6E0C,0x6DAE,0x6E2B,0x6E6E,0x6E4E,
+0x6E6B,0x6EB2,0x6E5F,0x6E86,0x6E53,0x6E54,0x6E32,0x6E25,
+0x6E44,0x6EDF,0x6EB1,0x6E98,0x6EE0,0x6F2D,0x6EE2,0x6EA5,
+0x6EA7,0x6EBD,0x6EBB,0x6EB7,0x6ED7,0x6EB4,0x6ECF,0x6E8F,
+0x6EC2,0x6E9F,0x6F62,0x6F46,0x6F47,0x6F24,0x6F15,0x6EF9,
+0x6F2F,0x6F36,0x6F4B,0x6F74,0x6F2A,0x6F09,0x6F29,0x6F89,
+0x6F8D,0x6F8C,0x6F78,0x6F72,0x6F7C,0x6F7A,0x6FD1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x930A,0x930B,0x930C,0x930D,0x930E,0x930F,0x9310,0x9311,
+0x9312,0x9313,0x9314,0x9315,0x9316,0x9317,0x9318,0x9319,
+0x931A,0x931B,0x931C,0x931D,0x931E,0x931F,0x9320,0x9321,
+0x9322,0x9323,0x9324,0x9325,0x9326,0x9327,0x9328,0x9329,
+0x932A,0x932B,0x932C,0x932D,0x932E,0x932F,0x9330,0x9331,
+0x9332,0x9333,0x9334,0x9335,0x9336,0x9337,0x9338,0x9339,
+0x933A,0x933B,0x933C,0x933D,0x933F,0x9340,0x9341,0x9342,
+0x9343,0x9344,0x9345,0x9346,0x9347,0x9348,0x9349, 0,
+0x934A,0x934B,0x934C,0x934D,0x934E,0x934F,0x9350,0x9351,
+0x9352,0x9353,0x9354,0x9355,0x9356,0x9357,0x9358,0x9359,
+0x935A,0x935B,0x935C,0x935D,0x935E,0x935F,0x9360,0x9361,
+0x9362,0x9363,0x9364,0x9365,0x9366,0x9367,0x9368,0x9369,
+0x936B,0x6FC9,0x6FA7,0x6FB9,0x6FB6,0x6FC2,0x6FE1,0x6FEE,
+0x6FDE,0x6FE0,0x6FEF,0x701A,0x7023,0x701B,0x7039,0x7035,
+0x704F,0x705E,0x5B80,0x5B84,0x5B95,0x5B93,0x5BA5,0x5BB8,
+0x752F,0x9A9E,0x6434,0x5BE4,0x5BEE,0x8930,0x5BF0,0x8E47,
+0x8B07,0x8FB6,0x8FD3,0x8FD5,0x8FE5,0x8FEE,0x8FE4,0x8FE9,
+0x8FE6,0x8FF3,0x8FE8,0x9005,0x9004,0x900B,0x9026,0x9011,
+0x900D,0x9016,0x9021,0x9035,0x9036,0x902D,0x902F,0x9044,
+0x9051,0x9052,0x9050,0x9068,0x9058,0x9062,0x905B,0x66B9,
+0x9074,0x907D,0x9082,0x9088,0x9083,0x908B,0x5F50,0x5F57,
+0x5F56,0x5F58,0x5C3B,0x54AB,0x5C50,0x5C59,0x5B71,0x5C63,
+0x5C66,0x7FBC,0x5F2A,0x5F29,0x5F2D,0x8274,0x5F3C,0x9B3B,
+0x5C6E,0x5981,0x5983,0x598D,0x59A9,0x59AA,0x59A3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x936C,0x936D,0x936E,0x936F,0x9370,0x9371,0x9372,0x9373,
+0x9374,0x9375,0x9376,0x9377,0x9378,0x9379,0x937A,0x937B,
+0x937C,0x937D,0x937E,0x937F,0x9380,0x9381,0x9382,0x9383,
+0x9384,0x9385,0x9386,0x9387,0x9388,0x9389,0x938A,0x938B,
+0x938C,0x938D,0x938E,0x9390,0x9391,0x9392,0x9393,0x9394,
+0x9395,0x9396,0x9397,0x9398,0x9399,0x939A,0x939B,0x939C,
+0x939D,0x939E,0x939F,0x93A0,0x93A1,0x93A2,0x93A3,0x93A4,
+0x93A5,0x93A6,0x93A7,0x93A8,0x93A9,0x93AA,0x93AB, 0,
+0x93AC,0x93AD,0x93AE,0x93AF,0x93B0,0x93B1,0x93B2,0x93B3,
+0x93B4,0x93B5,0x93B6,0x93B7,0x93B8,0x93B9,0x93BA,0x93BB,
+0x93BC,0x93BD,0x93BE,0x93BF,0x93C0,0x93C1,0x93C2,0x93C3,
+0x93C4,0x93C5,0x93C6,0x93C7,0x93C8,0x93C9,0x93CB,0x93CC,
+0x93CD,0x5997,0x59CA,0x59AB,0x599E,0x59A4,0x59D2,0x59B2,
+0x59AF,0x59D7,0x59BE,0x5A05,0x5A06,0x59DD,0x5A08,0x59E3,
+0x59D8,0x59F9,0x5A0C,0x5A09,0x5A32,0x5A34,0x5A11,0x5A23,
+0x5A13,0x5A40,0x5A67,0x5A4A,0x5A55,0x5A3C,0x5A62,0x5A75,
+0x80EC,0x5AAA,0x5A9B,0x5A77,0x5A7A,0x5ABE,0x5AEB,0x5AB2,
+0x5AD2,0x5AD4,0x5AB8,0x5AE0,0x5AE3,0x5AF1,0x5AD6,0x5AE6,
+0x5AD8,0x5ADC,0x5B09,0x5B17,0x5B16,0x5B32,0x5B37,0x5B40,
+0x5C15,0x5C1C,0x5B5A,0x5B65,0x5B73,0x5B51,0x5B53,0x5B62,
+0x9A75,0x9A77,0x9A78,0x9A7A,0x9A7F,0x9A7D,0x9A80,0x9A81,
+0x9A85,0x9A88,0x9A8A,0x9A90,0x9A92,0x9A93,0x9A96,0x9A98,
+0x9A9B,0x9A9C,0x9A9D,0x9A9F,0x9AA0,0x9AA2,0x9AA3,0x9AA5,
+0x9AA7,0x7E9F,0x7EA1,0x7EA3,0x7EA5,0x7EA8,0x7EA9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x93CE,0x93CF,0x93D0,0x93D1,0x93D2,0x93D3,0x93D4,0x93D5,
+0x93D7,0x93D8,0x93D9,0x93DA,0x93DB,0x93DC,0x93DD,0x93DE,
+0x93DF,0x93E0,0x93E1,0x93E2,0x93E3,0x93E4,0x93E5,0x93E6,
+0x93E7,0x93E8,0x93E9,0x93EA,0x93EB,0x93EC,0x93ED,0x93EE,
+0x93EF,0x93F0,0x93F1,0x93F2,0x93F3,0x93F4,0x93F5,0x93F6,
+0x93F7,0x93F8,0x93F9,0x93FA,0x93FB,0x93FC,0x93FD,0x93FE,
+0x93FF,0x9400,0x9401,0x9402,0x9403,0x9404,0x9405,0x9406,
+0x9407,0x9408,0x9409,0x940A,0x940B,0x940C,0x940D, 0,
+0x940E,0x940F,0x9410,0x9411,0x9412,0x9413,0x9414,0x9415,
+0x9416,0x9417,0x9418,0x9419,0x941A,0x941B,0x941C,0x941D,
+0x941E,0x941F,0x9420,0x9421,0x9422,0x9423,0x9424,0x9425,
+0x9426,0x9427,0x9428,0x9429,0x942A,0x942B,0x942C,0x942D,
+0x942E,0x7EAD,0x7EB0,0x7EBE,0x7EC0,0x7EC1,0x7EC2,0x7EC9,
+0x7ECB,0x7ECC,0x7ED0,0x7ED4,0x7ED7,0x7EDB,0x7EE0,0x7EE1,
+0x7EE8,0x7EEB,0x7EEE,0x7EEF,0x7EF1,0x7EF2,0x7F0D,0x7EF6,
+0x7EFA,0x7EFB,0x7EFE,0x7F01,0x7F02,0x7F03,0x7F07,0x7F08,
+0x7F0B,0x7F0C,0x7F0F,0x7F11,0x7F12,0x7F17,0x7F19,0x7F1C,
+0x7F1B,0x7F1F,0x7F21,0x7F22,0x7F23,0x7F24,0x7F25,0x7F26,
+0x7F27,0x7F2A,0x7F2B,0x7F2C,0x7F2D,0x7F2F,0x7F30,0x7F31,
+0x7F32,0x7F33,0x7F35,0x5E7A,0x757F,0x5DDB,0x753E,0x9095,
+0x738E,0x7391,0x73AE,0x73A2,0x739F,0x73CF,0x73C2,0x73D1,
+0x73B7,0x73B3,0x73C0,0x73C9,0x73C8,0x73E5,0x73D9,0x987C,
+0x740A,0x73E9,0x73E7,0x73DE,0x73BA,0x73F2,0x740F,0x742A,
+0x745B,0x7426,0x7425,0x7428,0x7430,0x742E,0x742C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x942F,0x9430,0x9431,0x9432,0x9433,0x9434,0x9435,0x9436,
+0x9437,0x9438,0x9439,0x943A,0x943B,0x943C,0x943D,0x943F,
+0x9440,0x9441,0x9442,0x9443,0x9444,0x9445,0x9446,0x9447,
+0x9448,0x9449,0x944A,0x944B,0x944C,0x944D,0x944E,0x944F,
+0x9450,0x9451,0x9452,0x9453,0x9454,0x9455,0x9456,0x9457,
+0x9458,0x9459,0x945A,0x945B,0x945C,0x945D,0x945E,0x945F,
+0x9460,0x9461,0x9462,0x9463,0x9464,0x9465,0x9466,0x9467,
+0x9468,0x9469,0x946A,0x946C,0x946D,0x946E,0x946F, 0,
+0x9470,0x9471,0x9472,0x9473,0x9474,0x9475,0x9476,0x9477,
+0x9478,0x9479,0x947A,0x947B,0x947C,0x947D,0x947E,0x947F,
+0x9480,0x9481,0x9482,0x9483,0x9484,0x9491,0x9496,0x9498,
+0x94C7,0x94CF,0x94D3,0x94D4,0x94DA,0x94E6,0x94FB,0x951C,
+0x9520,0x741B,0x741A,0x7441,0x745C,0x7457,0x7455,0x7459,
+0x7477,0x746D,0x747E,0x749C,0x748E,0x7480,0x7481,0x7487,
+0x748B,0x749E,0x74A8,0x74A9,0x7490,0x74A7,0x74D2,0x74BA,
+0x97EA,0x97EB,0x97EC,0x674C,0x6753,0x675E,0x6748,0x6769,
+0x67A5,0x6787,0x676A,0x6773,0x6798,0x67A7,0x6775,0x67A8,
+0x679E,0x67AD,0x678B,0x6777,0x677C,0x67F0,0x6809,0x67D8,
+0x680A,0x67E9,0x67B0,0x680C,0x67D9,0x67B5,0x67DA,0x67B3,
+0x67DD,0x6800,0x67C3,0x67B8,0x67E2,0x680E,0x67C1,0x67FD,
+0x6832,0x6833,0x6860,0x6861,0x684E,0x6862,0x6844,0x6864,
+0x6883,0x681D,0x6855,0x6866,0x6841,0x6867,0x6840,0x683E,
+0x684A,0x6849,0x6829,0x68B5,0x688F,0x6874,0x6877,0x6893,
+0x686B,0x68C2,0x696E,0x68FC,0x691F,0x6920,0x68F9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9527,0x9533,0x953D,0x9543,0x9548,0x954B,0x9555,0x955A,
+0x9560,0x956E,0x9574,0x9575,0x9577,0x9578,0x9579,0x957A,
+0x957B,0x957C,0x957D,0x957E,0x9580,0x9581,0x9582,0x9583,
+0x9584,0x9585,0x9586,0x9587,0x9588,0x9589,0x958A,0x958B,
+0x958C,0x958D,0x958E,0x958F,0x9590,0x9591,0x9592,0x9593,
+0x9594,0x9595,0x9596,0x9597,0x9598,0x9599,0x959A,0x959B,
+0x959C,0x959D,0x959E,0x959F,0x95A0,0x95A1,0x95A2,0x95A3,
+0x95A4,0x95A5,0x95A6,0x95A7,0x95A8,0x95A9,0x95AA, 0,
+0x95AB,0x95AC,0x95AD,0x95AE,0x95AF,0x95B0,0x95B1,0x95B2,
+0x95B3,0x95B4,0x95B5,0x95B6,0x95B7,0x95B8,0x95B9,0x95BA,
+0x95BB,0x95BC,0x95BD,0x95BE,0x95BF,0x95C0,0x95C1,0x95C2,
+0x95C3,0x95C4,0x95C5,0x95C6,0x95C7,0x95C8,0x95C9,0x95CA,
+0x95CB,0x6924,0x68F0,0x690B,0x6901,0x6957,0x68E3,0x6910,
+0x6971,0x6939,0x6960,0x6942,0x695D,0x6984,0x696B,0x6980,
+0x6998,0x6978,0x6934,0x69CC,0x6987,0x6988,0x69CE,0x6989,
+0x6966,0x6963,0x6979,0x699B,0x69A7,0x69BB,0x69AB,0x69AD,
+0x69D4,0x69B1,0x69C1,0x69CA,0x69DF,0x6995,0x69E0,0x698D,
+0x69FF,0x6A2F,0x69ED,0x6A17,0x6A18,0x6A65,0x69F2,0x6A44,
+0x6A3E,0x6AA0,0x6A50,0x6A5B,0x6A35,0x6A8E,0x6A79,0x6A3D,
+0x6A28,0x6A58,0x6A7C,0x6A91,0x6A90,0x6AA9,0x6A97,0x6AAB,
+0x7337,0x7352,0x6B81,0x6B82,0x6B87,0x6B84,0x6B92,0x6B93,
+0x6B8D,0x6B9A,0x6B9B,0x6BA1,0x6BAA,0x8F6B,0x8F6D,0x8F71,
+0x8F72,0x8F73,0x8F75,0x8F76,0x8F78,0x8F77,0x8F79,0x8F7A,
+0x8F7C,0x8F7E,0x8F81,0x8F82,0x8F84,0x8F87,0x8F8B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x95CC,0x95CD,0x95CE,0x95CF,0x95D0,0x95D1,0x95D2,0x95D3,
+0x95D4,0x95D5,0x95D6,0x95D7,0x95D8,0x95D9,0x95DA,0x95DB,
+0x95DC,0x95DD,0x95DE,0x95DF,0x95E0,0x95E1,0x95E2,0x95E3,
+0x95E4,0x95E5,0x95E6,0x95E7,0x95EC,0x95FF,0x9607,0x9613,
+0x9618,0x961B,0x961E,0x9620,0x9623,0x9624,0x9625,0x9626,
+0x9627,0x9628,0x9629,0x962B,0x962C,0x962D,0x962F,0x9630,
+0x9637,0x9638,0x9639,0x963A,0x963E,0x9641,0x9643,0x964A,
+0x964E,0x964F,0x9651,0x9652,0x9653,0x9656,0x9657, 0,
+0x9658,0x9659,0x965A,0x965C,0x965D,0x965E,0x9660,0x9663,
+0x9665,0x9666,0x966B,0x966D,0x966E,0x966F,0x9670,0x9671,
+0x9673,0x9678,0x9679,0x967A,0x967B,0x967C,0x967D,0x967E,
+0x967F,0x9680,0x9681,0x9682,0x9683,0x9684,0x9687,0x9689,
+0x968A,0x8F8D,0x8F8E,0x8F8F,0x8F98,0x8F9A,0x8ECE,0x620B,
+0x6217,0x621B,0x621F,0x6222,0x6221,0x6225,0x6224,0x622C,
+0x81E7,0x74EF,0x74F4,0x74FF,0x750F,0x7511,0x7513,0x6534,
+0x65EE,0x65EF,0x65F0,0x660A,0x6619,0x6772,0x6603,0x6615,
+0x6600,0x7085,0x66F7,0x661D,0x6634,0x6631,0x6636,0x6635,
+0x8006,0x665F,0x6654,0x6641,0x664F,0x6656,0x6661,0x6657,
+0x6677,0x6684,0x668C,0x66A7,0x669D,0x66BE,0x66DB,0x66DC,
+0x66E6,0x66E9,0x8D32,0x8D33,0x8D36,0x8D3B,0x8D3D,0x8D40,
+0x8D45,0x8D46,0x8D48,0x8D49,0x8D47,0x8D4D,0x8D55,0x8D59,
+0x89C7,0x89CA,0x89CB,0x89CC,0x89CE,0x89CF,0x89D0,0x89D1,
+0x726E,0x729F,0x725D,0x7266,0x726F,0x727E,0x727F,0x7284,
+0x728B,0x728D,0x728F,0x7292,0x6308,0x6332,0x63B0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x968C,0x968E,0x9691,0x9692,0x9693,0x9695,0x9696,0x969A,
+0x969B,0x969D,0x969E,0x969F,0x96A0,0x96A1,0x96A2,0x96A3,
+0x96A4,0x96A5,0x96A6,0x96A8,0x96A9,0x96AA,0x96AB,0x96AC,
+0x96AD,0x96AE,0x96AF,0x96B1,0x96B2,0x96B4,0x96B5,0x96B7,
+0x96B8,0x96BA,0x96BB,0x96BF,0x96C2,0x96C3,0x96C8,0x96CA,
+0x96CB,0x96D0,0x96D1,0x96D3,0x96D4,0x96D6,0x96D7,0x96D8,
+0x96D9,0x96DA,0x96DB,0x96DC,0x96DD,0x96DE,0x96DF,0x96E1,
+0x96E2,0x96E3,0x96E4,0x96E5,0x96E6,0x96E7,0x96EB, 0,
+0x96EC,0x96ED,0x96EE,0x96F0,0x96F1,0x96F2,0x96F4,0x96F5,
+0x96F8,0x96FA,0x96FB,0x96FC,0x96FD,0x96FF,0x9702,0x9703,
+0x9705,0x970A,0x970B,0x970C,0x9710,0x9711,0x9712,0x9714,
+0x9715,0x9717,0x9718,0x9719,0x971A,0x971B,0x971D,0x971F,
+0x9720,0x643F,0x64D8,0x8004,0x6BEA,0x6BF3,0x6BFD,0x6BF5,
+0x6BF9,0x6C05,0x6C07,0x6C06,0x6C0D,0x6C15,0x6C18,0x6C19,
+0x6C1A,0x6C21,0x6C29,0x6C24,0x6C2A,0x6C32,0x6535,0x6555,
+0x656B,0x724D,0x7252,0x7256,0x7230,0x8662,0x5216,0x809F,
+0x809C,0x8093,0x80BC,0x670A,0x80BD,0x80B1,0x80AB,0x80AD,
+0x80B4,0x80B7,0x80E7,0x80E8,0x80E9,0x80EA,0x80DB,0x80C2,
+0x80C4,0x80D9,0x80CD,0x80D7,0x6710,0x80DD,0x80EB,0x80F1,
+0x80F4,0x80ED,0x810D,0x810E,0x80F2,0x80FC,0x6715,0x8112,
+0x8C5A,0x8136,0x811E,0x812C,0x8118,0x8132,0x8148,0x814C,
+0x8153,0x8174,0x8159,0x815A,0x8171,0x8160,0x8169,0x817C,
+0x817D,0x816D,0x8167,0x584D,0x5AB5,0x8188,0x8182,0x8191,
+0x6ED5,0x81A3,0x81AA,0x81CC,0x6726,0x81CA,0x81BB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9721,0x9722,0x9723,0x9724,0x9725,0x9726,0x9727,0x9728,
+0x9729,0x972B,0x972C,0x972E,0x972F,0x9731,0x9733,0x9734,
+0x9735,0x9736,0x9737,0x973A,0x973B,0x973C,0x973D,0x973F,
+0x9740,0x9741,0x9742,0x9743,0x9744,0x9745,0x9746,0x9747,
+0x9748,0x9749,0x974A,0x974B,0x974C,0x974D,0x974E,0x974F,
+0x9750,0x9751,0x9754,0x9755,0x9757,0x9758,0x975A,0x975C,
+0x975D,0x975F,0x9763,0x9764,0x9766,0x9767,0x9768,0x976A,
+0x976B,0x976C,0x976D,0x976E,0x976F,0x9770,0x9771, 0,
+0x9772,0x9775,0x9777,0x9778,0x9779,0x977A,0x977B,0x977D,
+0x977E,0x977F,0x9780,0x9781,0x9782,0x9783,0x9784,0x9786,
+0x9787,0x9788,0x9789,0x978A,0x978C,0x978E,0x978F,0x9790,
+0x9793,0x9795,0x9796,0x9797,0x9799,0x979A,0x979B,0x979C,
+0x979D,0x81C1,0x81A6,0x6B24,0x6B37,0x6B39,0x6B43,0x6B46,
+0x6B59,0x98D1,0x98D2,0x98D3,0x98D5,0x98D9,0x98DA,0x6BB3,
+0x5F40,0x6BC2,0x89F3,0x6590,0x9F51,0x6593,0x65BC,0x65C6,
+0x65C4,0x65C3,0x65CC,0x65CE,0x65D2,0x65D6,0x7080,0x709C,
+0x7096,0x709D,0x70BB,0x70C0,0x70B7,0x70AB,0x70B1,0x70E8,
+0x70CA,0x7110,0x7113,0x7116,0x712F,0x7131,0x7173,0x715C,
+0x7168,0x7145,0x7172,0x714A,0x7178,0x717A,0x7198,0x71B3,
+0x71B5,0x71A8,0x71A0,0x71E0,0x71D4,0x71E7,0x71F9,0x721D,
+0x7228,0x706C,0x7118,0x7166,0x71B9,0x623E,0x623D,0x6243,
+0x6248,0x6249,0x793B,0x7940,0x7946,0x7949,0x795B,0x795C,
+0x7953,0x795A,0x7962,0x7957,0x7960,0x796F,0x7967,0x797A,
+0x7985,0x798A,0x799A,0x79A7,0x79B3,0x5FD1,0x5FD0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x979E,0x979F,0x97A1,0x97A2,0x97A4,0x97A5,0x97A6,0x97A7,
+0x97A8,0x97A9,0x97AA,0x97AC,0x97AE,0x97B0,0x97B1,0x97B3,
+0x97B5,0x97B6,0x97B7,0x97B8,0x97B9,0x97BA,0x97BB,0x97BC,
+0x97BD,0x97BE,0x97BF,0x97C0,0x97C1,0x97C2,0x97C3,0x97C4,
+0x97C5,0x97C6,0x97C7,0x97C8,0x97C9,0x97CA,0x97CB,0x97CC,
+0x97CD,0x97CE,0x97CF,0x97D0,0x97D1,0x97D2,0x97D3,0x97D4,
+0x97D5,0x97D6,0x97D7,0x97D8,0x97D9,0x97DA,0x97DB,0x97DC,
+0x97DD,0x97DE,0x97DF,0x97E0,0x97E1,0x97E2,0x97E3, 0,
+0x97E4,0x97E5,0x97E8,0x97EE,0x97EF,0x97F0,0x97F1,0x97F2,
+0x97F4,0x97F7,0x97F8,0x97F9,0x97FA,0x97FB,0x97FC,0x97FD,
+0x97FE,0x97FF,0x9800,0x9801,0x9802,0x9803,0x9804,0x9805,
+0x9806,0x9807,0x9808,0x9809,0x980A,0x980B,0x980C,0x980D,
+0x980E,0x603C,0x605D,0x605A,0x6067,0x6041,0x6059,0x6063,
+0x60AB,0x6106,0x610D,0x615D,0x61A9,0x619D,0x61CB,0x61D1,
+0x6206,0x8080,0x807F,0x6C93,0x6CF6,0x6DFC,0x77F6,0x77F8,
+0x7800,0x7809,0x7817,0x7818,0x7811,0x65AB,0x782D,0x781C,
+0x781D,0x7839,0x783A,0x783B,0x781F,0x783C,0x7825,0x782C,
+0x7823,0x7829,0x784E,0x786D,0x7856,0x7857,0x7826,0x7850,
+0x7847,0x784C,0x786A,0x789B,0x7893,0x789A,0x7887,0x789C,
+0x78A1,0x78A3,0x78B2,0x78B9,0x78A5,0x78D4,0x78D9,0x78C9,
+0x78EC,0x78F2,0x7905,0x78F4,0x7913,0x7924,0x791E,0x7934,
+0x9F9B,0x9EF9,0x9EFB,0x9EFC,0x76F1,0x7704,0x770D,0x76F9,
+0x7707,0x7708,0x771A,0x7722,0x7719,0x772D,0x7726,0x7735,
+0x7738,0x7750,0x7751,0x7747,0x7743,0x775A,0x7768, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x980F,0x9810,0x9811,0x9812,0x9813,0x9814,0x9815,0x9816,
+0x9817,0x9818,0x9819,0x981A,0x981B,0x981C,0x981D,0x981E,
+0x981F,0x9820,0x9821,0x9822,0x9823,0x9824,0x9825,0x9826,
+0x9827,0x9828,0x9829,0x982A,0x982B,0x982C,0x982D,0x982E,
+0x982F,0x9830,0x9831,0x9832,0x9833,0x9834,0x9835,0x9836,
+0x9837,0x9838,0x9839,0x983A,0x983B,0x983C,0x983D,0x983E,
+0x983F,0x9840,0x9841,0x9842,0x9843,0x9844,0x9845,0x9846,
+0x9847,0x9848,0x9849,0x984A,0x984B,0x984C,0x984D, 0,
+0x984E,0x984F,0x9850,0x9851,0x9852,0x9853,0x9854,0x9855,
+0x9856,0x9857,0x9858,0x9859,0x985A,0x985B,0x985C,0x985D,
+0x985E,0x985F,0x9860,0x9861,0x9862,0x9863,0x9864,0x9865,
+0x9866,0x9867,0x9868,0x9869,0x986A,0x986B,0x986C,0x986D,
+0x986E,0x7762,0x7765,0x777F,0x778D,0x777D,0x7780,0x778C,
+0x7791,0x779F,0x77A0,0x77B0,0x77B5,0x77BD,0x753A,0x7540,
+0x754E,0x754B,0x7548,0x755B,0x7572,0x7579,0x7583,0x7F58,
+0x7F61,0x7F5F,0x8A48,0x7F68,0x7F74,0x7F71,0x7F79,0x7F81,
+0x7F7E,0x76CD,0x76E5,0x8832,0x9485,0x9486,0x9487,0x948B,
+0x948A,0x948C,0x948D,0x948F,0x9490,0x9494,0x9497,0x9495,
+0x949A,0x949B,0x949C,0x94A3,0x94A4,0x94AB,0x94AA,0x94AD,
+0x94AC,0x94AF,0x94B0,0x94B2,0x94B4,0x94B6,0x94B7,0x94B8,
+0x94B9,0x94BA,0x94BC,0x94BD,0x94BF,0x94C4,0x94C8,0x94C9,
+0x94CA,0x94CB,0x94CC,0x94CD,0x94CE,0x94D0,0x94D1,0x94D2,
+0x94D5,0x94D6,0x94D7,0x94D9,0x94D8,0x94DB,0x94DE,0x94DF,
+0x94E0,0x94E2,0x94E4,0x94E5,0x94E7,0x94E8,0x94EA, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x986F,0x9870,0x9871,0x9872,0x9873,0x9874,0x988B,0x988E,
+0x9892,0x9895,0x9899,0x98A3,0x98A8,0x98A9,0x98AA,0x98AB,
+0x98AC,0x98AD,0x98AE,0x98AF,0x98B0,0x98B1,0x98B2,0x98B3,
+0x98B4,0x98B5,0x98B6,0x98B7,0x98B8,0x98B9,0x98BA,0x98BB,
+0x98BC,0x98BD,0x98BE,0x98BF,0x98C0,0x98C1,0x98C2,0x98C3,
+0x98C4,0x98C5,0x98C6,0x98C7,0x98C8,0x98C9,0x98CA,0x98CB,
+0x98CC,0x98CD,0x98CF,0x98D0,0x98D4,0x98D6,0x98D7,0x98DB,
+0x98DC,0x98DD,0x98E0,0x98E1,0x98E2,0x98E3,0x98E4, 0,
+0x98E5,0x98E6,0x98E9,0x98EA,0x98EB,0x98EC,0x98ED,0x98EE,
+0x98EF,0x98F0,0x98F1,0x98F2,0x98F3,0x98F4,0x98F5,0x98F6,
+0x98F7,0x98F8,0x98F9,0x98FA,0x98FB,0x98FC,0x98FD,0x98FE,
+0x98FF,0x9900,0x9901,0x9902,0x9903,0x9904,0x9905,0x9906,
+0x9907,0x94E9,0x94EB,0x94EE,0x94EF,0x94F3,0x94F4,0x94F5,
+0x94F7,0x94F9,0x94FC,0x94FD,0x94FF,0x9503,0x9502,0x9506,
+0x9507,0x9509,0x950A,0x950D,0x950E,0x950F,0x9512,0x9513,
+0x9514,0x9515,0x9516,0x9518,0x951B,0x951D,0x951E,0x951F,
+0x9522,0x952A,0x952B,0x9529,0x952C,0x9531,0x9532,0x9534,
+0x9536,0x9537,0x9538,0x953C,0x953E,0x953F,0x9542,0x9535,
+0x9544,0x9545,0x9546,0x9549,0x954C,0x954E,0x954F,0x9552,
+0x9553,0x9554,0x9556,0x9557,0x9558,0x9559,0x955B,0x955E,
+0x955F,0x955D,0x9561,0x9562,0x9564,0x9565,0x9566,0x9567,
+0x9568,0x9569,0x956A,0x956B,0x956C,0x956F,0x9571,0x9572,
+0x9573,0x953A,0x77E7,0x77EC,0x96C9,0x79D5,0x79ED,0x79E3,
+0x79EB,0x7A06,0x5D47,0x7A03,0x7A02,0x7A1E,0x7A14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9908,0x9909,0x990A,0x990B,0x990C,0x990E,0x990F,0x9911,
+0x9912,0x9913,0x9914,0x9915,0x9916,0x9917,0x9918,0x9919,
+0x991A,0x991B,0x991C,0x991D,0x991E,0x991F,0x9920,0x9921,
+0x9922,0x9923,0x9924,0x9925,0x9926,0x9927,0x9928,0x9929,
+0x992A,0x992B,0x992C,0x992D,0x992F,0x9930,0x9931,0x9932,
+0x9933,0x9934,0x9935,0x9936,0x9937,0x9938,0x9939,0x993A,
+0x993B,0x993C,0x993D,0x993E,0x993F,0x9940,0x9941,0x9942,
+0x9943,0x9944,0x9945,0x9946,0x9947,0x9948,0x9949, 0,
+0x994A,0x994B,0x994C,0x994D,0x994E,0x994F,0x9950,0x9951,
+0x9952,0x9953,0x9956,0x9957,0x9958,0x9959,0x995A,0x995B,
+0x995C,0x995D,0x995E,0x995F,0x9960,0x9961,0x9962,0x9964,
+0x9966,0x9973,0x9978,0x9979,0x997B,0x997E,0x9982,0x9983,
+0x9989,0x7A39,0x7A37,0x7A51,0x9ECF,0x99A5,0x7A70,0x7688,
+0x768E,0x7693,0x7699,0x76A4,0x74DE,0x74E0,0x752C,0x9E20,
+0x9E22,0x9E28,0x9E29,0x9E2A,0x9E2B,0x9E2C,0x9E32,0x9E31,
+0x9E36,0x9E38,0x9E37,0x9E39,0x9E3A,0x9E3E,0x9E41,0x9E42,
+0x9E44,0x9E46,0x9E47,0x9E48,0x9E49,0x9E4B,0x9E4C,0x9E4E,
+0x9E51,0x9E55,0x9E57,0x9E5A,0x9E5B,0x9E5C,0x9E5E,0x9E63,
+0x9E66,0x9E67,0x9E68,0x9E69,0x9E6A,0x9E6B,0x9E6C,0x9E71,
+0x9E6D,0x9E73,0x7592,0x7594,0x7596,0x75A0,0x759D,0x75AC,
+0x75A3,0x75B3,0x75B4,0x75B8,0x75C4,0x75B1,0x75B0,0x75C3,
+0x75C2,0x75D6,0x75CD,0x75E3,0x75E8,0x75E6,0x75E4,0x75EB,
+0x75E7,0x7603,0x75F1,0x75FC,0x75FF,0x7610,0x7600,0x7605,
+0x760C,0x7617,0x760A,0x7625,0x7618,0x7615,0x7619, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x998C,0x998E,0x999A,0x999B,0x999C,0x999D,0x999E,0x999F,
+0x99A0,0x99A1,0x99A2,0x99A3,0x99A4,0x99A6,0x99A7,0x99A9,
+0x99AA,0x99AB,0x99AC,0x99AD,0x99AE,0x99AF,0x99B0,0x99B1,
+0x99B2,0x99B3,0x99B4,0x99B5,0x99B6,0x99B7,0x99B8,0x99B9,
+0x99BA,0x99BB,0x99BC,0x99BD,0x99BE,0x99BF,0x99C0,0x99C1,
+0x99C2,0x99C3,0x99C4,0x99C5,0x99C6,0x99C7,0x99C8,0x99C9,
+0x99CA,0x99CB,0x99CC,0x99CD,0x99CE,0x99CF,0x99D0,0x99D1,
+0x99D2,0x99D3,0x99D4,0x99D5,0x99D6,0x99D7,0x99D8, 0,
+0x99D9,0x99DA,0x99DB,0x99DC,0x99DD,0x99DE,0x99DF,0x99E0,
+0x99E1,0x99E2,0x99E3,0x99E4,0x99E5,0x99E6,0x99E7,0x99E8,
+0x99E9,0x99EA,0x99EB,0x99EC,0x99ED,0x99EE,0x99EF,0x99F0,
+0x99F1,0x99F2,0x99F3,0x99F4,0x99F5,0x99F6,0x99F7,0x99F8,
+0x99F9,0x761B,0x763C,0x7622,0x7620,0x7640,0x762D,0x7630,
+0x763F,0x7635,0x7643,0x763E,0x7633,0x764D,0x765E,0x7654,
+0x765C,0x7656,0x766B,0x766F,0x7FCA,0x7AE6,0x7A78,0x7A79,
+0x7A80,0x7A86,0x7A88,0x7A95,0x7AA6,0x7AA0,0x7AAC,0x7AA8,
+0x7AAD,0x7AB3,0x8864,0x8869,0x8872,0x887D,0x887F,0x8882,
+0x88A2,0x88C6,0x88B7,0x88BC,0x88C9,0x88E2,0x88CE,0x88E3,
+0x88E5,0x88F1,0x891A,0x88FC,0x88E8,0x88FE,0x88F0,0x8921,
+0x8919,0x8913,0x891B,0x890A,0x8934,0x892B,0x8936,0x8941,
+0x8966,0x897B,0x758B,0x80E5,0x76B2,0x76B4,0x77DC,0x8012,
+0x8014,0x8016,0x801C,0x8020,0x8022,0x8025,0x8026,0x8027,
+0x8029,0x8028,0x8031,0x800B,0x8035,0x8043,0x8046,0x804D,
+0x8052,0x8069,0x8071,0x8983,0x9878,0x9880,0x9883, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x99FA,0x99FB,0x99FC,0x99FD,0x99FE,0x99FF,0x9A00,0x9A01,
+0x9A02,0x9A03,0x9A04,0x9A05,0x9A06,0x9A07,0x9A08,0x9A09,
+0x9A0A,0x9A0B,0x9A0C,0x9A0D,0x9A0E,0x9A0F,0x9A10,0x9A11,
+0x9A12,0x9A13,0x9A14,0x9A15,0x9A16,0x9A17,0x9A18,0x9A19,
+0x9A1A,0x9A1B,0x9A1C,0x9A1D,0x9A1E,0x9A1F,0x9A20,0x9A21,
+0x9A22,0x9A23,0x9A24,0x9A25,0x9A26,0x9A27,0x9A28,0x9A29,
+0x9A2A,0x9A2B,0x9A2C,0x9A2D,0x9A2E,0x9A2F,0x9A30,0x9A31,
+0x9A32,0x9A33,0x9A34,0x9A35,0x9A36,0x9A37,0x9A38, 0,
+0x9A39,0x9A3A,0x9A3B,0x9A3C,0x9A3D,0x9A3E,0x9A3F,0x9A40,
+0x9A41,0x9A42,0x9A43,0x9A44,0x9A45,0x9A46,0x9A47,0x9A48,
+0x9A49,0x9A4A,0x9A4B,0x9A4C,0x9A4D,0x9A4E,0x9A4F,0x9A50,
+0x9A51,0x9A52,0x9A53,0x9A54,0x9A55,0x9A56,0x9A57,0x9A58,
+0x9A59,0x9889,0x988C,0x988D,0x988F,0x9894,0x989A,0x989B,
+0x989E,0x989F,0x98A1,0x98A2,0x98A5,0x98A6,0x864D,0x8654,
+0x866C,0x866E,0x867F,0x867A,0x867C,0x867B,0x86A8,0x868D,
+0x868B,0x86AC,0x869D,0x86A7,0x86A3,0x86AA,0x8693,0x86A9,
+0x86B6,0x86C4,0x86B5,0x86CE,0x86B0,0x86BA,0x86B1,0x86AF,
+0x86C9,0x86CF,0x86B4,0x86E9,0x86F1,0x86F2,0x86ED,0x86F3,
+0x86D0,0x8713,0x86DE,0x86F4,0x86DF,0x86D8,0x86D1,0x8703,
+0x8707,0x86F8,0x8708,0x870A,0x870D,0x8709,0x8723,0x873B,
+0x871E,0x8725,0x872E,0x871A,0x873E,0x8748,0x8734,0x8731,
+0x8729,0x8737,0x873F,0x8782,0x8722,0x877D,0x877E,0x877B,
+0x8760,0x8770,0x874C,0x876E,0x878B,0x8753,0x8763,0x877C,
+0x8764,0x8759,0x8765,0x8793,0x87AF,0x87A8,0x87D2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9A5A,0x9A5B,0x9A5C,0x9A5D,0x9A5E,0x9A5F,0x9A60,0x9A61,
+0x9A62,0x9A63,0x9A64,0x9A65,0x9A66,0x9A67,0x9A68,0x9A69,
+0x9A6A,0x9A6B,0x9A72,0x9A83,0x9A89,0x9A8D,0x9A8E,0x9A94,
+0x9A95,0x9A99,0x9AA6,0x9AA9,0x9AAA,0x9AAB,0x9AAC,0x9AAD,
+0x9AAE,0x9AAF,0x9AB2,0x9AB3,0x9AB4,0x9AB5,0x9AB9,0x9ABB,
+0x9ABD,0x9ABE,0x9ABF,0x9AC3,0x9AC4,0x9AC6,0x9AC7,0x9AC8,
+0x9AC9,0x9ACA,0x9ACD,0x9ACE,0x9ACF,0x9AD0,0x9AD2,0x9AD4,
+0x9AD5,0x9AD6,0x9AD7,0x9AD9,0x9ADA,0x9ADB,0x9ADC, 0,
+0x9ADD,0x9ADE,0x9AE0,0x9AE2,0x9AE3,0x9AE4,0x9AE5,0x9AE7,
+0x9AE8,0x9AE9,0x9AEA,0x9AEC,0x9AEE,0x9AF0,0x9AF1,0x9AF2,
+0x9AF3,0x9AF4,0x9AF5,0x9AF6,0x9AF7,0x9AF8,0x9AFA,0x9AFC,
+0x9AFD,0x9AFE,0x9AFF,0x9B00,0x9B01,0x9B02,0x9B04,0x9B05,
+0x9B06,0x87C6,0x8788,0x8785,0x87AD,0x8797,0x8783,0x87AB,
+0x87E5,0x87AC,0x87B5,0x87B3,0x87CB,0x87D3,0x87BD,0x87D1,
+0x87C0,0x87CA,0x87DB,0x87EA,0x87E0,0x87EE,0x8816,0x8813,
+0x87FE,0x880A,0x881B,0x8821,0x8839,0x883C,0x7F36,0x7F42,
+0x7F44,0x7F45,0x8210,0x7AFA,0x7AFD,0x7B08,0x7B03,0x7B04,
+0x7B15,0x7B0A,0x7B2B,0x7B0F,0x7B47,0x7B38,0x7B2A,0x7B19,
+0x7B2E,0x7B31,0x7B20,0x7B25,0x7B24,0x7B33,0x7B3E,0x7B1E,
+0x7B58,0x7B5A,0x7B45,0x7B75,0x7B4C,0x7B5D,0x7B60,0x7B6E,
+0x7B7B,0x7B62,0x7B72,0x7B71,0x7B90,0x7BA6,0x7BA7,0x7BB8,
+0x7BAC,0x7B9D,0x7BA8,0x7B85,0x7BAA,0x7B9C,0x7BA2,0x7BAB,
+0x7BB4,0x7BD1,0x7BC1,0x7BCC,0x7BDD,0x7BDA,0x7BE5,0x7BE6,
+0x7BEA,0x7C0C,0x7BFE,0x7BFC,0x7C0F,0x7C16,0x7C0B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9B07,0x9B09,0x9B0A,0x9B0B,0x9B0C,0x9B0D,0x9B0E,0x9B10,
+0x9B11,0x9B12,0x9B14,0x9B15,0x9B16,0x9B17,0x9B18,0x9B19,
+0x9B1A,0x9B1B,0x9B1C,0x9B1D,0x9B1E,0x9B20,0x9B21,0x9B22,
+0x9B24,0x9B25,0x9B26,0x9B27,0x9B28,0x9B29,0x9B2A,0x9B2B,
+0x9B2C,0x9B2D,0x9B2E,0x9B30,0x9B31,0x9B33,0x9B34,0x9B35,
+0x9B36,0x9B37,0x9B38,0x9B39,0x9B3A,0x9B3D,0x9B3E,0x9B3F,
+0x9B40,0x9B46,0x9B4A,0x9B4B,0x9B4C,0x9B4E,0x9B50,0x9B52,
+0x9B53,0x9B55,0x9B56,0x9B57,0x9B58,0x9B59,0x9B5A, 0,
+0x9B5B,0x9B5C,0x9B5D,0x9B5E,0x9B5F,0x9B60,0x9B61,0x9B62,
+0x9B63,0x9B64,0x9B65,0x9B66,0x9B67,0x9B68,0x9B69,0x9B6A,
+0x9B6B,0x9B6C,0x9B6D,0x9B6E,0x9B6F,0x9B70,0x9B71,0x9B72,
+0x9B73,0x9B74,0x9B75,0x9B76,0x9B77,0x9B78,0x9B79,0x9B7A,
+0x9B7B,0x7C1F,0x7C2A,0x7C26,0x7C38,0x7C41,0x7C40,0x81FE,
+0x8201,0x8202,0x8204,0x81EC,0x8844,0x8221,0x8222,0x8223,
+0x822D,0x822F,0x8228,0x822B,0x8238,0x823B,0x8233,0x8234,
+0x823E,0x8244,0x8249,0x824B,0x824F,0x825A,0x825F,0x8268,
+0x887E,0x8885,0x8888,0x88D8,0x88DF,0x895E,0x7F9D,0x7F9F,
+0x7FA7,0x7FAF,0x7FB0,0x7FB2,0x7C7C,0x6549,0x7C91,0x7C9D,
+0x7C9C,0x7C9E,0x7CA2,0x7CB2,0x7CBC,0x7CBD,0x7CC1,0x7CC7,
+0x7CCC,0x7CCD,0x7CC8,0x7CC5,0x7CD7,0x7CE8,0x826E,0x66A8,
+0x7FBF,0x7FCE,0x7FD5,0x7FE5,0x7FE1,0x7FE6,0x7FE9,0x7FEE,
+0x7FF3,0x7CF8,0x7D77,0x7DA6,0x7DAE,0x7E47,0x7E9B,0x9EB8,
+0x9EB4,0x8D73,0x8D84,0x8D94,0x8D91,0x8DB1,0x8D67,0x8D6D,
+0x8C47,0x8C49,0x914A,0x9150,0x914E,0x914F,0x9164, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9B7C,0x9B7D,0x9B7E,0x9B7F,0x9B80,0x9B81,0x9B82,0x9B83,
+0x9B84,0x9B85,0x9B86,0x9B87,0x9B88,0x9B89,0x9B8A,0x9B8B,
+0x9B8C,0x9B8D,0x9B8E,0x9B8F,0x9B90,0x9B91,0x9B92,0x9B93,
+0x9B94,0x9B95,0x9B96,0x9B97,0x9B98,0x9B99,0x9B9A,0x9B9B,
+0x9B9C,0x9B9D,0x9B9E,0x9B9F,0x9BA0,0x9BA1,0x9BA2,0x9BA3,
+0x9BA4,0x9BA5,0x9BA6,0x9BA7,0x9BA8,0x9BA9,0x9BAA,0x9BAB,
+0x9BAC,0x9BAD,0x9BAE,0x9BAF,0x9BB0,0x9BB1,0x9BB2,0x9BB3,
+0x9BB4,0x9BB5,0x9BB6,0x9BB7,0x9BB8,0x9BB9,0x9BBA, 0,
+0x9BBB,0x9BBC,0x9BBD,0x9BBE,0x9BBF,0x9BC0,0x9BC1,0x9BC2,
+0x9BC3,0x9BC4,0x9BC5,0x9BC6,0x9BC7,0x9BC8,0x9BC9,0x9BCA,
+0x9BCB,0x9BCC,0x9BCD,0x9BCE,0x9BCF,0x9BD0,0x9BD1,0x9BD2,
+0x9BD3,0x9BD4,0x9BD5,0x9BD6,0x9BD7,0x9BD8,0x9BD9,0x9BDA,
+0x9BDB,0x9162,0x9161,0x9170,0x9169,0x916F,0x917D,0x917E,
+0x9172,0x9174,0x9179,0x918C,0x9185,0x9190,0x918D,0x9191,
+0x91A2,0x91A3,0x91AA,0x91AD,0x91AE,0x91AF,0x91B5,0x91B4,
+0x91BA,0x8C55,0x9E7E,0x8DB8,0x8DEB,0x8E05,0x8E59,0x8E69,
+0x8DB5,0x8DBF,0x8DBC,0x8DBA,0x8DC4,0x8DD6,0x8DD7,0x8DDA,
+0x8DDE,0x8DCE,0x8DCF,0x8DDB,0x8DC6,0x8DEC,0x8DF7,0x8DF8,
+0x8DE3,0x8DF9,0x8DFB,0x8DE4,0x8E09,0x8DFD,0x8E14,0x8E1D,
+0x8E1F,0x8E2C,0x8E2E,0x8E23,0x8E2F,0x8E3A,0x8E40,0x8E39,
+0x8E35,0x8E3D,0x8E31,0x8E49,0x8E41,0x8E42,0x8E51,0x8E52,
+0x8E4A,0x8E70,0x8E76,0x8E7C,0x8E6F,0x8E74,0x8E85,0x8E8F,
+0x8E94,0x8E90,0x8E9C,0x8E9E,0x8C78,0x8C82,0x8C8A,0x8C85,
+0x8C98,0x8C94,0x659B,0x89D6,0x89DE,0x89DA,0x89DC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9BDC,0x9BDD,0x9BDE,0x9BDF,0x9BE0,0x9BE1,0x9BE2,0x9BE3,
+0x9BE4,0x9BE5,0x9BE6,0x9BE7,0x9BE8,0x9BE9,0x9BEA,0x9BEB,
+0x9BEC,0x9BED,0x9BEE,0x9BEF,0x9BF0,0x9BF1,0x9BF2,0x9BF3,
+0x9BF4,0x9BF5,0x9BF6,0x9BF7,0x9BF8,0x9BF9,0x9BFA,0x9BFB,
+0x9BFC,0x9BFD,0x9BFE,0x9BFF,0x9C00,0x9C01,0x9C02,0x9C03,
+0x9C04,0x9C05,0x9C06,0x9C07,0x9C08,0x9C09,0x9C0A,0x9C0B,
+0x9C0C,0x9C0D,0x9C0E,0x9C0F,0x9C10,0x9C11,0x9C12,0x9C13,
+0x9C14,0x9C15,0x9C16,0x9C17,0x9C18,0x9C19,0x9C1A, 0,
+0x9C1B,0x9C1C,0x9C1D,0x9C1E,0x9C1F,0x9C20,0x9C21,0x9C22,
+0x9C23,0x9C24,0x9C25,0x9C26,0x9C27,0x9C28,0x9C29,0x9C2A,
+0x9C2B,0x9C2C,0x9C2D,0x9C2E,0x9C2F,0x9C30,0x9C31,0x9C32,
+0x9C33,0x9C34,0x9C35,0x9C36,0x9C37,0x9C38,0x9C39,0x9C3A,
+0x9C3B,0x89E5,0x89EB,0x89EF,0x8A3E,0x8B26,0x9753,0x96E9,
+0x96F3,0x96EF,0x9706,0x9701,0x9708,0x970F,0x970E,0x972A,
+0x972D,0x9730,0x973E,0x9F80,0x9F83,0x9F85,0x9F86,0x9F87,
+0x9F88,0x9F89,0x9F8A,0x9F8C,0x9EFE,0x9F0B,0x9F0D,0x96B9,
+0x96BC,0x96BD,0x96CE,0x96D2,0x77BF,0x96E0,0x928E,0x92AE,
+0x92C8,0x933E,0x936A,0x93CA,0x938F,0x943E,0x946B,0x9C7F,
+0x9C82,0x9C85,0x9C86,0x9C87,0x9C88,0x7A23,0x9C8B,0x9C8E,
+0x9C90,0x9C91,0x9C92,0x9C94,0x9C95,0x9C9A,0x9C9B,0x9C9E,
+0x9C9F,0x9CA0,0x9CA1,0x9CA2,0x9CA3,0x9CA5,0x9CA6,0x9CA7,
+0x9CA8,0x9CA9,0x9CAB,0x9CAD,0x9CAE,0x9CB0,0x9CB1,0x9CB2,
+0x9CB3,0x9CB4,0x9CB5,0x9CB6,0x9CB7,0x9CBA,0x9CBB,0x9CBC,
+0x9CBD,0x9CC4,0x9CC5,0x9CC6,0x9CC7,0x9CCA,0x9CCB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9C3C,0x9C3D,0x9C3E,0x9C3F,0x9C40,0x9C41,0x9C42,0x9C43,
+0x9C44,0x9C45,0x9C46,0x9C47,0x9C48,0x9C49,0x9C4A,0x9C4B,
+0x9C4C,0x9C4D,0x9C4E,0x9C4F,0x9C50,0x9C51,0x9C52,0x9C53,
+0x9C54,0x9C55,0x9C56,0x9C57,0x9C58,0x9C59,0x9C5A,0x9C5B,
+0x9C5C,0x9C5D,0x9C5E,0x9C5F,0x9C60,0x9C61,0x9C62,0x9C63,
+0x9C64,0x9C65,0x9C66,0x9C67,0x9C68,0x9C69,0x9C6A,0x9C6B,
+0x9C6C,0x9C6D,0x9C6E,0x9C6F,0x9C70,0x9C71,0x9C72,0x9C73,
+0x9C74,0x9C75,0x9C76,0x9C77,0x9C78,0x9C79,0x9C7A, 0,
+0x9C7B,0x9C7D,0x9C7E,0x9C80,0x9C83,0x9C84,0x9C89,0x9C8A,
+0x9C8C,0x9C8F,0x9C93,0x9C96,0x9C97,0x9C98,0x9C99,0x9C9D,
+0x9CAA,0x9CAC,0x9CAF,0x9CB9,0x9CBE,0x9CBF,0x9CC0,0x9CC1,
+0x9CC2,0x9CC8,0x9CC9,0x9CD1,0x9CD2,0x9CDA,0x9CDB,0x9CE0,
+0x9CE1,0x9CCC,0x9CCD,0x9CCE,0x9CCF,0x9CD0,0x9CD3,0x9CD4,
+0x9CD5,0x9CD7,0x9CD8,0x9CD9,0x9CDC,0x9CDD,0x9CDF,0x9CE2,
+0x977C,0x9785,0x9791,0x9792,0x9794,0x97AF,0x97AB,0x97A3,
+0x97B2,0x97B4,0x9AB1,0x9AB0,0x9AB7,0x9E58,0x9AB6,0x9ABA,
+0x9ABC,0x9AC1,0x9AC0,0x9AC5,0x9AC2,0x9ACB,0x9ACC,0x9AD1,
+0x9B45,0x9B43,0x9B47,0x9B49,0x9B48,0x9B4D,0x9B51,0x98E8,
+0x990D,0x992E,0x9955,0x9954,0x9ADF,0x9AE1,0x9AE6,0x9AEF,
+0x9AEB,0x9AFB,0x9AED,0x9AF9,0x9B08,0x9B0F,0x9B13,0x9B1F,
+0x9B23,0x9EBD,0x9EBE,0x7E3B,0x9E82,0x9E87,0x9E88,0x9E8B,
+0x9E92,0x93D6,0x9E9D,0x9E9F,0x9EDB,0x9EDC,0x9EDD,0x9EE0,
+0x9EDF,0x9EE2,0x9EE9,0x9EE7,0x9EE5,0x9EEA,0x9EEF,0x9F22,
+0x9F2C,0x9F2F,0x9F39,0x9F37,0x9F3D,0x9F3E,0x9F44, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9CE3,0x9CE4,0x9CE5,0x9CE6,0x9CE7,0x9CE8,0x9CE9,0x9CEA,
+0x9CEB,0x9CEC,0x9CED,0x9CEE,0x9CEF,0x9CF0,0x9CF1,0x9CF2,
+0x9CF3,0x9CF4,0x9CF5,0x9CF6,0x9CF7,0x9CF8,0x9CF9,0x9CFA,
+0x9CFB,0x9CFC,0x9CFD,0x9CFE,0x9CFF,0x9D00,0x9D01,0x9D02,
+0x9D03,0x9D04,0x9D05,0x9D06,0x9D07,0x9D08,0x9D09,0x9D0A,
+0x9D0B,0x9D0C,0x9D0D,0x9D0E,0x9D0F,0x9D10,0x9D11,0x9D12,
+0x9D13,0x9D14,0x9D15,0x9D16,0x9D17,0x9D18,0x9D19,0x9D1A,
+0x9D1B,0x9D1C,0x9D1D,0x9D1E,0x9D1F,0x9D20,0x9D21, 0,
+0x9D22,0x9D23,0x9D24,0x9D25,0x9D26,0x9D27,0x9D28,0x9D29,
+0x9D2A,0x9D2B,0x9D2C,0x9D2D,0x9D2E,0x9D2F,0x9D30,0x9D31,
+0x9D32,0x9D33,0x9D34,0x9D35,0x9D36,0x9D37,0x9D38,0x9D39,
+0x9D3A,0x9D3B,0x9D3C,0x9D3D,0x9D3E,0x9D3F,0x9D40,0x9D41,
+0x9D42, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9D43,0x9D44,0x9D45,0x9D46,0x9D47,0x9D48,0x9D49,0x9D4A,
+0x9D4B,0x9D4C,0x9D4D,0x9D4E,0x9D4F,0x9D50,0x9D51,0x9D52,
+0x9D53,0x9D54,0x9D55,0x9D56,0x9D57,0x9D58,0x9D59,0x9D5A,
+0x9D5B,0x9D5C,0x9D5D,0x9D5E,0x9D5F,0x9D60,0x9D61,0x9D62,
+0x9D63,0x9D64,0x9D65,0x9D66,0x9D67,0x9D68,0x9D69,0x9D6A,
+0x9D6B,0x9D6C,0x9D6D,0x9D6E,0x9D6F,0x9D70,0x9D71,0x9D72,
+0x9D73,0x9D74,0x9D75,0x9D76,0x9D77,0x9D78,0x9D79,0x9D7A,
+0x9D7B,0x9D7C,0x9D7D,0x9D7E,0x9D7F,0x9D80,0x9D81, 0,
+0x9D82,0x9D83,0x9D84,0x9D85,0x9D86,0x9D87,0x9D88,0x9D89,
+0x9D8A,0x9D8B,0x9D8C,0x9D8D,0x9D8E,0x9D8F,0x9D90,0x9D91,
+0x9D92,0x9D93,0x9D94,0x9D95,0x9D96,0x9D97,0x9D98,0x9D99,
+0x9D9A,0x9D9B,0x9D9C,0x9D9D,0x9D9E,0x9D9F,0x9DA0,0x9DA1,
+0x9DA2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9DA3,0x9DA4,0x9DA5,0x9DA6,0x9DA7,0x9DA8,0x9DA9,0x9DAA,
+0x9DAB,0x9DAC,0x9DAD,0x9DAE,0x9DAF,0x9DB0,0x9DB1,0x9DB2,
+0x9DB3,0x9DB4,0x9DB5,0x9DB6,0x9DB7,0x9DB8,0x9DB9,0x9DBA,
+0x9DBB,0x9DBC,0x9DBD,0x9DBE,0x9DBF,0x9DC0,0x9DC1,0x9DC2,
+0x9DC3,0x9DC4,0x9DC5,0x9DC6,0x9DC7,0x9DC8,0x9DC9,0x9DCA,
+0x9DCB,0x9DCC,0x9DCD,0x9DCE,0x9DCF,0x9DD0,0x9DD1,0x9DD2,
+0x9DD3,0x9DD4,0x9DD5,0x9DD6,0x9DD7,0x9DD8,0x9DD9,0x9DDA,
+0x9DDB,0x9DDC,0x9DDD,0x9DDE,0x9DDF,0x9DE0,0x9DE1, 0,
+0x9DE2,0x9DE3,0x9DE4,0x9DE5,0x9DE6,0x9DE7,0x9DE8,0x9DE9,
+0x9DEA,0x9DEB,0x9DEC,0x9DED,0x9DEE,0x9DEF,0x9DF0,0x9DF1,
+0x9DF2,0x9DF3,0x9DF4,0x9DF5,0x9DF6,0x9DF7,0x9DF8,0x9DF9,
+0x9DFA,0x9DFB,0x9DFC,0x9DFD,0x9DFE,0x9DFF,0x9E00,0x9E01,
+0x9E02, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9E03,0x9E04,0x9E05,0x9E06,0x9E07,0x9E08,0x9E09,0x9E0A,
+0x9E0B,0x9E0C,0x9E0D,0x9E0E,0x9E0F,0x9E10,0x9E11,0x9E12,
+0x9E13,0x9E14,0x9E15,0x9E16,0x9E17,0x9E18,0x9E19,0x9E1A,
+0x9E1B,0x9E1C,0x9E1D,0x9E1E,0x9E24,0x9E27,0x9E2E,0x9E30,
+0x9E34,0x9E3B,0x9E3C,0x9E40,0x9E4D,0x9E50,0x9E52,0x9E53,
+0x9E54,0x9E56,0x9E59,0x9E5D,0x9E5F,0x9E60,0x9E61,0x9E62,
+0x9E65,0x9E6E,0x9E6F,0x9E72,0x9E74,0x9E75,0x9E76,0x9E77,
+0x9E78,0x9E79,0x9E7A,0x9E7B,0x9E7C,0x9E7D,0x9E80, 0,
+0x9E81,0x9E83,0x9E84,0x9E85,0x9E86,0x9E89,0x9E8A,0x9E8C,
+0x9E8D,0x9E8E,0x9E8F,0x9E90,0x9E91,0x9E94,0x9E95,0x9E96,
+0x9E97,0x9E98,0x9E99,0x9E9A,0x9E9B,0x9E9C,0x9E9E,0x9EA0,
+0x9EA1,0x9EA2,0x9EA3,0x9EA4,0x9EA5,0x9EA7,0x9EA8,0x9EA9,
+0x9EAA, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9EAB,0x9EAC,0x9EAD,0x9EAE,0x9EAF,0x9EB0,0x9EB1,0x9EB2,
+0x9EB3,0x9EB5,0x9EB6,0x9EB7,0x9EB9,0x9EBA,0x9EBC,0x9EBF,
+0x9EC0,0x9EC1,0x9EC2,0x9EC3,0x9EC5,0x9EC6,0x9EC7,0x9EC8,
+0x9ECA,0x9ECB,0x9ECC,0x9ED0,0x9ED2,0x9ED3,0x9ED5,0x9ED6,
+0x9ED7,0x9ED9,0x9EDA,0x9EDE,0x9EE1,0x9EE3,0x9EE4,0x9EE6,
+0x9EE8,0x9EEB,0x9EEC,0x9EED,0x9EEE,0x9EF0,0x9EF1,0x9EF2,
+0x9EF3,0x9EF4,0x9EF5,0x9EF6,0x9EF7,0x9EF8,0x9EFA,0x9EFD,
+0x9EFF,0x9F00,0x9F01,0x9F02,0x9F03,0x9F04,0x9F05, 0,
+0x9F06,0x9F07,0x9F08,0x9F09,0x9F0A,0x9F0C,0x9F0F,0x9F11,
+0x9F12,0x9F14,0x9F15,0x9F16,0x9F18,0x9F1A,0x9F1B,0x9F1C,
+0x9F1D,0x9F1E,0x9F1F,0x9F21,0x9F23,0x9F24,0x9F25,0x9F26,
+0x9F27,0x9F28,0x9F29,0x9F2A,0x9F2B,0x9F2D,0x9F2E,0x9F30,
+0x9F31, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9F32,0x9F33,0x9F34,0x9F35,0x9F36,0x9F38,0x9F3A,0x9F3C,
+0x9F3F,0x9F40,0x9F41,0x9F42,0x9F43,0x9F45,0x9F46,0x9F47,
+0x9F48,0x9F49,0x9F4A,0x9F4B,0x9F4C,0x9F4D,0x9F4E,0x9F4F,
+0x9F52,0x9F53,0x9F54,0x9F55,0x9F56,0x9F57,0x9F58,0x9F59,
+0x9F5A,0x9F5B,0x9F5C,0x9F5D,0x9F5E,0x9F5F,0x9F60,0x9F61,
+0x9F62,0x9F63,0x9F64,0x9F65,0x9F66,0x9F67,0x9F68,0x9F69,
+0x9F6A,0x9F6B,0x9F6C,0x9F6D,0x9F6E,0x9F6F,0x9F70,0x9F71,
+0x9F72,0x9F73,0x9F74,0x9F75,0x9F76,0x9F77,0x9F78, 0,
+0x9F79,0x9F7A,0x9F7B,0x9F7C,0x9F7D,0x9F7E,0x9F81,0x9F82,
+0x9F8D,0x9F8E,0x9F8F,0x9F90,0x9F91,0x9F92,0x9F93,0x9F94,
+0x9F95,0x9F96,0x9F97,0x9F98,0x9F9C,0x9F9D,0x9F9E,0x9FA1,
+0x9FA2,0x9FA3,0x9FA4,0x9FA5,0xF92C,0xF979,0xF995,0xF9E7,
+0xF9F1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFA0C,0xFA0D,0xFA0E,0xFA0F,0xFA11,0xFA13,0xFA14,0xFA18,
+0xFA1F,0xFA20,0xFA21,0xFA23,0xFA24,0xFA27,0xFA28,0xFA29
+};
+
+static int func_gbk_uni_onechar(int code){
+ if ((code>=0x8140)&&(code<=0xFE4F))
+ return(tab_gbk_uni0[code-0x8140]);
+ return(0);
+}
+
+
+
+/* page 0 0x00A4-0x0451 */
+static uint16 tab_uni_gbk0[]={
+0xA1E8, 0, 0,0xA1EC,0xA1A7, 0, 0, 0,
+ 0, 0, 0, 0,0xA1E3,0xA1C0, 0, 0,
+ 0, 0, 0,0xA1A4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA1C1, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA8A4,0xA8A2, 0, 0,
+ 0, 0, 0, 0,0xA8A8,0xA8A6,0xA8BA, 0,
+0xA8AC,0xA8AA, 0, 0, 0, 0,0xA8B0,0xA8AE,
+ 0, 0, 0,0xA1C2, 0,0xA8B4,0xA8B2, 0,
+0xA8B9, 0, 0, 0, 0,0xA8A1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA8A5,
+ 0, 0, 0, 0, 0, 0, 0,0xA8A7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA8A9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA8BD, 0, 0, 0,0xA8BE, 0, 0, 0,
+ 0,0xA8AD, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA8B1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA8A3, 0,0xA8AB, 0,0xA8AF, 0,
+0xA8B3, 0,0xA8B5, 0,0xA8B6, 0,0xA8B7, 0,
+0xA8B8, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA8BB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA8C0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA1A6, 0,0xA1A5,0xA840,0xA841,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA842, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA6A1,0xA6A2,0xA6A3,
+0xA6A4,0xA6A5,0xA6A6,0xA6A7,0xA6A8,0xA6A9,0xA6AA,0xA6AB,
+0xA6AC,0xA6AD,0xA6AE,0xA6AF,0xA6B0,0xA6B1, 0,0xA6B2,
+0xA6B3,0xA6B4,0xA6B5,0xA6B6,0xA6B7,0xA6B8, 0, 0,
+ 0, 0, 0, 0, 0,0xA6C1,0xA6C2,0xA6C3,
+0xA6C4,0xA6C5,0xA6C6,0xA6C7,0xA6C8,0xA6C9,0xA6CA,0xA6CB,
+0xA6CC,0xA6CD,0xA6CE,0xA6CF,0xA6D0,0xA6D1, 0,0xA6D2,
+0xA6D3,0xA6D4,0xA6D5,0xA6D6,0xA6D7,0xA6D8, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA7A7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA7A1,0xA7A2,0xA7A3,0xA7A4,
+0xA7A5,0xA7A6,0xA7A8,0xA7A9,0xA7AA,0xA7AB,0xA7AC,0xA7AD,
+0xA7AE,0xA7AF,0xA7B0,0xA7B1,0xA7B2,0xA7B3,0xA7B4,0xA7B5,
+0xA7B6,0xA7B7,0xA7B8,0xA7B9,0xA7BA,0xA7BB,0xA7BC,0xA7BD,
+0xA7BE,0xA7BF,0xA7C0,0xA7C1,0xA7D1,0xA7D2,0xA7D3,0xA7D4,
+0xA7D5,0xA7D6,0xA7D8,0xA7D9,0xA7DA,0xA7DB,0xA7DC,0xA7DD,
+0xA7DE,0xA7DF,0xA7E0,0xA7E1,0xA7E2,0xA7E3,0xA7E4,0xA7E5,
+0xA7E6,0xA7E7,0xA7E8,0xA7E9,0xA7EA,0xA7EB,0xA7EC,0xA7ED,
+0xA7EE,0xA7EF,0xA7F0,0xA7F1, 0,0xA7D7};
+
+/* page 1 0x2010-0x2312 */
+static uint16 tab_uni_gbk1[]={
+0xA95C, 0, 0,0xA843,0xA1AA,0xA844,0xA1AC, 0,
+0xA1AE,0xA1AF, 0, 0,0xA1B0,0xA1B1, 0, 0,
+ 0, 0, 0, 0, 0,0xA845,0xA1AD, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1EB, 0,0xA1E4,0xA1E5, 0,0xA846, 0, 0,
+ 0, 0, 0,0xA1F9, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA1E6, 0,0xA847, 0, 0,
+ 0,0xA848, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA1ED, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA959, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA2F1,0xA2F2,0xA2F3,0xA2F4,0xA2F5,0xA2F6,0xA2F7,0xA2F8,
+0xA2F9,0xA2FA,0xA2FB,0xA2FC, 0, 0, 0, 0,
+0xA2A1,0xA2A2,0xA2A3,0xA2A4,0xA2A5,0xA2A6,0xA2A7,0xA2A8,
+0xA2A9,0xA2AA, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1FB,0xA1FC,0xA1FA,0xA1FD, 0, 0,0xA849,0xA84A,
+0xA84B,0xA84C, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1CA, 0, 0, 0, 0, 0, 0,0xA1C7,
+ 0,0xA1C6, 0, 0, 0,0xA84D, 0, 0,
+ 0, 0,0xA1CC, 0, 0,0xA1D8,0xA1DE,0xA84E,
+0xA1CF, 0, 0,0xA84F, 0,0xA1CE, 0,0xA1C4,
+0xA1C5,0xA1C9,0xA1C8,0xA1D2, 0, 0,0xA1D3, 0,
+ 0, 0, 0, 0,0xA1E0,0xA1DF,0xA1C3,0xA1CB,
+ 0, 0, 0, 0, 0,0xA1D7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1D6, 0, 0, 0,0xA1D5, 0, 0, 0,
+ 0, 0,0xA850, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1D9,0xA1D4, 0, 0,0xA1DC,0xA1DD,0xA851,0xA852,
+ 0, 0, 0, 0, 0, 0,0xA1DA,0xA1DB,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA892, 0, 0,
+ 0,0xA1D1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1CD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xA853,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA1D0};
+
+/* page 2 0x2460-0x2642 */
+static uint16 tab_uni_gbk2[]={
+0xA2D9,0xA2DA,0xA2DB,0xA2DC,0xA2DD,0xA2DE,0xA2DF,0xA2E0,
+0xA2E1,0xA2E2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA2C5,0xA2C6,0xA2C7,0xA2C8,
+0xA2C9,0xA2CA,0xA2CB,0xA2CC,0xA2CD,0xA2CE,0xA2CF,0xA2D0,
+0xA2D1,0xA2D2,0xA2D3,0xA2D4,0xA2D5,0xA2D6,0xA2D7,0xA2D8,
+0xA2B1,0xA2B2,0xA2B3,0xA2B4,0xA2B5,0xA2B6,0xA2B7,0xA2B8,
+0xA2B9,0xA2BA,0xA2BB,0xA2BC,0xA2BD,0xA2BE,0xA2BF,0xA2C0,
+0xA2C1,0xA2C2,0xA2C3,0xA2C4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA9A4,0xA9A5,0xA9A6,0xA9A7,0xA9A8,0xA9A9,0xA9AA,0xA9AB,
+0xA9AC,0xA9AD,0xA9AE,0xA9AF,0xA9B0,0xA9B1,0xA9B2,0xA9B3,
+0xA9B4,0xA9B5,0xA9B6,0xA9B7,0xA9B8,0xA9B9,0xA9BA,0xA9BB,
+0xA9BC,0xA9BD,0xA9BE,0xA9BF,0xA9C0,0xA9C1,0xA9C2,0xA9C3,
+0xA9C4,0xA9C5,0xA9C6,0xA9C7,0xA9C8,0xA9C9,0xA9CA,0xA9CB,
+0xA9CC,0xA9CD,0xA9CE,0xA9CF,0xA9D0,0xA9D1,0xA9D2,0xA9D3,
+0xA9D4,0xA9D5,0xA9D6,0xA9D7,0xA9D8,0xA9D9,0xA9DA,0xA9DB,
+0xA9DC,0xA9DD,0xA9DE,0xA9DF,0xA9E0,0xA9E1,0xA9E2,0xA9E3,
+0xA9E4,0xA9E5,0xA9E6,0xA9E7,0xA9E8,0xA9E9,0xA9EA,0xA9EB,
+0xA9EC,0xA9ED,0xA9EE,0xA9EF, 0, 0, 0, 0,
+0xA854,0xA855,0xA856,0xA857,0xA858,0xA859,0xA85A,0xA85B,
+0xA85C,0xA85D,0xA85E,0xA85F,0xA860,0xA861,0xA862,0xA863,
+0xA864,0xA865,0xA866,0xA867,0xA868,0xA869,0xA86A,0xA86B,
+0xA86C,0xA86D,0xA86E,0xA86F,0xA870,0xA871,0xA872,0xA873,
+0xA874,0xA875,0xA876,0xA877, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA878,0xA879,0xA87A,0xA87B,0xA87C,0xA87D,0xA87E,
+0xA880,0xA881,0xA882,0xA883,0xA884,0xA885,0xA886,0xA887,
+ 0, 0, 0,0xA888,0xA889,0xA88A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1F6,0xA1F5, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA1F8,0xA1F7, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xA88B,0xA88C, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA1F4,0xA1F3,
+ 0, 0, 0,0xA1F0, 0, 0,0xA1F2,0xA1F1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xA88D,0xA88E,0xA88F,0xA890, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xA1EF,0xA1EE, 0,
+ 0,0xA891, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1E2, 0,0xA1E1};
+
+/* page 3 0x3000-0x3129 */
+static uint16 tab_uni_gbk3[]={
+0xA1A1,0xA1A2,0xA1A3,0xA1A8, 0,0xA1A9,0xA965,0xA996,
+0xA1B4,0xA1B5,0xA1B6,0xA1B7,0xA1B8,0xA1B9,0xA1BA,0xA1BB,
+0xA1BE,0xA1BF,0xA893,0xA1FE,0xA1B2,0xA1B3,0xA1BC,0xA1BD,
+ 0, 0, 0, 0, 0,0xA894,0xA895, 0,
+ 0,0xA940,0xA941,0xA942,0xA943,0xA944,0xA945,0xA946,
+0xA947,0xA948, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA4A1,0xA4A2,0xA4A3,0xA4A4,0xA4A5,0xA4A6,0xA4A7,
+0xA4A8,0xA4A9,0xA4AA,0xA4AB,0xA4AC,0xA4AD,0xA4AE,0xA4AF,
+0xA4B0,0xA4B1,0xA4B2,0xA4B3,0xA4B4,0xA4B5,0xA4B6,0xA4B7,
+0xA4B8,0xA4B9,0xA4BA,0xA4BB,0xA4BC,0xA4BD,0xA4BE,0xA4BF,
+0xA4C0,0xA4C1,0xA4C2,0xA4C3,0xA4C4,0xA4C5,0xA4C6,0xA4C7,
+0xA4C8,0xA4C9,0xA4CA,0xA4CB,0xA4CC,0xA4CD,0xA4CE,0xA4CF,
+0xA4D0,0xA4D1,0xA4D2,0xA4D3,0xA4D4,0xA4D5,0xA4D6,0xA4D7,
+0xA4D8,0xA4D9,0xA4DA,0xA4DB,0xA4DC,0xA4DD,0xA4DE,0xA4DF,
+0xA4E0,0xA4E1,0xA4E2,0xA4E3,0xA4E4,0xA4E5,0xA4E6,0xA4E7,
+0xA4E8,0xA4E9,0xA4EA,0xA4EB,0xA4EC,0xA4ED,0xA4EE,0xA4EF,
+0xA4F0,0xA4F1,0xA4F2,0xA4F3, 0, 0, 0, 0,
+ 0, 0, 0,0xA961,0xA962,0xA966,0xA967, 0,
+ 0,0xA5A1,0xA5A2,0xA5A3,0xA5A4,0xA5A5,0xA5A6,0xA5A7,
+0xA5A8,0xA5A9,0xA5AA,0xA5AB,0xA5AC,0xA5AD,0xA5AE,0xA5AF,
+0xA5B0,0xA5B1,0xA5B2,0xA5B3,0xA5B4,0xA5B5,0xA5B6,0xA5B7,
+0xA5B8,0xA5B9,0xA5BA,0xA5BB,0xA5BC,0xA5BD,0xA5BE,0xA5BF,
+0xA5C0,0xA5C1,0xA5C2,0xA5C3,0xA5C4,0xA5C5,0xA5C6,0xA5C7,
+0xA5C8,0xA5C9,0xA5CA,0xA5CB,0xA5CC,0xA5CD,0xA5CE,0xA5CF,
+0xA5D0,0xA5D1,0xA5D2,0xA5D3,0xA5D4,0xA5D5,0xA5D6,0xA5D7,
+0xA5D8,0xA5D9,0xA5DA,0xA5DB,0xA5DC,0xA5DD,0xA5DE,0xA5DF,
+0xA5E0,0xA5E1,0xA5E2,0xA5E3,0xA5E4,0xA5E5,0xA5E6,0xA5E7,
+0xA5E8,0xA5E9,0xA5EA,0xA5EB,0xA5EC,0xA5ED,0xA5EE,0xA5EF,
+0xA5F0,0xA5F1,0xA5F2,0xA5F3,0xA5F4,0xA5F5,0xA5F6, 0,
+ 0, 0, 0, 0,0xA960,0xA963,0xA964, 0,
+ 0, 0, 0, 0, 0,0xA8C5,0xA8C6,0xA8C7,
+0xA8C8,0xA8C9,0xA8CA,0xA8CB,0xA8CC,0xA8CD,0xA8CE,0xA8CF,
+0xA8D0,0xA8D1,0xA8D2,0xA8D3,0xA8D4,0xA8D5,0xA8D6,0xA8D7,
+0xA8D8,0xA8D9,0xA8DA,0xA8DB,0xA8DC,0xA8DD,0xA8DE,0xA8DF,
+0xA8E0,0xA8E1,0xA8E2,0xA8E3,0xA8E4,0xA8E5,0xA8E6,0xA8E7,
+0xA8E8,0xA8E9};
+
+/* page 4 0x3220-0x32A3 */
+static uint16 tab_uni_gbk4[]={
+0xA2E5,0xA2E6,0xA2E7,0xA2E8,0xA2E9,0xA2EA,0xA2EB,0xA2EC,
+0xA2ED,0xA2EE, 0, 0, 0, 0, 0, 0,
+ 0,0xA95A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xA949};
+
+/* page 5 0x338E-0x33D5 */
+static uint16 tab_uni_gbk5[]={
+0xA94A,0xA94B, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA94C,0xA94D,
+0xA94E, 0, 0,0xA94F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xA950, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA951, 0, 0,0xA952,0xA953, 0, 0,0xA954
+};
+
+/* page 6 0x4E00-0x9FA5 */
+static uint16 tab_uni_gbk6[]={
+0xD2BB,0xB6A1,0x8140,0xC6DF,0x8141,0x8142,0x8143,0xCDF2,
+0xD5C9,0xC8FD,0xC9CF,0xCFC2,0xD8A2,0xB2BB,0xD3EB,0x8144,
+0xD8A4,0xB3F3,0x8145,0xD7A8,0xC7D2,0xD8A7,0xCAC0,0x8146,
+0xC7F0,0xB1FB,0xD2B5,0xB4D4,0xB6AB,0xCBBF,0xD8A9,0x8147,
+0x8148,0x8149,0xB6AA,0x814A,0xC1BD,0xD1CF,0x814B,0xC9A5,
+0xD8AD,0x814C,0xB8F6,0xD1BE,0xE3DC,0xD6D0,0x814D,0x814E,
+0xB7E1,0x814F,0xB4AE,0x8150,0xC1D9,0x8151,0xD8BC,0x8152,
+0xCDE8,0xB5A4,0xCEAA,0xD6F7,0x8153,0xC0F6,0xBED9,0xD8AF,
+0x8154,0x8155,0x8156,0xC4CB,0x8157,0xBEC3,0x8158,0xD8B1,
+0xC3B4,0xD2E5,0x8159,0xD6AE,0xCEDA,0xD5A7,0xBAF5,0xB7A6,
+0xC0D6,0x815A,0xC6B9,0xC5D2,0xC7C7,0x815B,0xB9D4,0x815C,
+0xB3CB,0xD2D2,0x815D,0x815E,0xD8BF,0xBEC5,0xC6F2,0xD2B2,
+0xCFB0,0xCFE7,0x815F,0x8160,0x8161,0x8162,0xCAE9,0x8163,
+0x8164,0xD8C0,0x8165,0x8166,0x8167,0x8168,0x8169,0x816A,
+0xC2F2,0xC2D2,0x816B,0xC8E9,0x816C,0x816D,0x816E,0x816F,
+0x8170,0x8171,0x8172,0x8173,0x8174,0x8175,0xC7AC,0x8176,
+0x8177,0x8178,0x8179,0x817A,0x817B,0x817C,0xC1CB,0x817D,
+0xD3E8,0xD5F9,0x817E,0xCAC2,0xB6FE,0xD8A1,0xD3DA,0xBFF7,
+0x8180,0xD4C6,0xBBA5,0xD8C1,0xCEE5,0xBEAE,0x8181,0x8182,
+0xD8A8,0x8183,0xD1C7,0xD0A9,0x8184,0x8185,0x8186,0xD8BD,
+0xD9EF,0xCDF6,0xBFBA,0x8187,0xBDBB,0xBAA5,0xD2E0,0xB2FA,
+0xBAE0,0xC4B6,0x8188,0xCFED,0xBEA9,0xCDA4,0xC1C1,0x8189,
+0x818A,0x818B,0xC7D7,0xD9F1,0x818C,0xD9F4,0x818D,0x818E,
+0x818F,0x8190,0xC8CB,0xD8E9,0x8191,0x8192,0x8193,0xD2DA,
+0xCAB2,0xC8CA,0xD8EC,0xD8EA,0xD8C6,0xBDF6,0xC6CD,0xB3F0,
+0x8194,0xD8EB,0xBDF1,0xBDE9,0x8195,0xC8D4,0xB4D3,0x8196,
+0x8197,0xC2D8,0x8198,0xB2D6,0xD7D0,0xCACB,0xCBFB,0xD5CC,
+0xB8B6,0xCFC9,0x8199,0x819A,0x819B,0xD9DA,0xD8F0,0xC7AA,
+0x819C,0xD8EE,0x819D,0xB4FA,0xC1EE,0xD2D4,0x819E,0x819F,
+0xD8ED,0x81A0,0xD2C7,0xD8EF,0xC3C7,0x81A1,0x81A2,0x81A3,
+0xD1F6,0x81A4,0xD6D9,0xD8F2,0x81A5,0xD8F5,0xBCFE,0xBCDB,
+0x81A6,0x81A7,0x81A8,0xC8CE,0x81A9,0xB7DD,0x81AA,0xB7C2,
+0x81AB,0xC6F3,0x81AC,0x81AD,0x81AE,0x81AF,0x81B0,0x81B1,
+0x81B2,0xD8F8,0xD2C1,0x81B3,0x81B4,0xCEE9,0xBCBF,0xB7FC,
+0xB7A5,0xD0DD,0x81B5,0x81B6,0x81B7,0x81B8,0x81B9,0xD6DA,
+0xD3C5,0xBBEF,0xBBE1,0xD8F1,0x81BA,0x81BB,0xC9A1,0xCEB0,
+0xB4AB,0x81BC,0xD8F3,0x81BD,0xC9CB,0xD8F6,0xC2D7,0xD8F7,
+0x81BE,0x81BF,0xCEB1,0xD8F9,0x81C0,0x81C1,0x81C2,0xB2AE,
+0xB9C0,0x81C3,0xD9A3,0x81C4,0xB0E9,0x81C5,0xC1E6,0x81C6,
+0xC9EC,0x81C7,0xCBC5,0x81C8,0xCBC6,0xD9A4,0x81C9,0x81CA,
+0x81CB,0x81CC,0x81CD,0xB5E8,0x81CE,0x81CF,0xB5AB,0x81D0,
+0x81D1,0x81D2,0x81D3,0x81D4,0x81D5,0xCEBB,0xB5CD,0xD7A1,
+0xD7F4,0xD3D3,0x81D6,0xCCE5,0x81D7,0xBACE,0x81D8,0xD9A2,
+0xD9DC,0xD3E0,0xD8FD,0xB7F0,0xD7F7,0xD8FE,0xD8FA,0xD9A1,
+0xC4E3,0x81D9,0x81DA,0xD3B6,0xD8F4,0xD9DD,0x81DB,0xD8FB,
+0x81DC,0xC5E5,0x81DD,0x81DE,0xC0D0,0x81DF,0x81E0,0xD1F0,
+0xB0DB,0x81E1,0x81E2,0xBCD1,0xD9A6,0x81E3,0xD9A5,0x81E4,
+0x81E5,0x81E6,0x81E7,0xD9AC,0xD9AE,0x81E8,0xD9AB,0xCAB9,
+0x81E9,0x81EA,0x81EB,0xD9A9,0xD6B6,0x81EC,0x81ED,0x81EE,
+0xB3DE,0xD9A8,0x81EF,0xC0FD,0x81F0,0xCACC,0x81F1,0xD9AA,
+0x81F2,0xD9A7,0x81F3,0x81F4,0xD9B0,0x81F5,0x81F6,0xB6B1,
+0x81F7,0x81F8,0x81F9,0xB9A9,0x81FA,0xD2C0,0x81FB,0x81FC,
+0xCFC0,0x81FD,0x81FE,0xC2C2,0x8240,0xBDC4,0xD5EC,0xB2E0,
+0xC7C8,0xBFEB,0xD9AD,0x8241,0xD9AF,0x8242,0xCEEA,0xBAEE,
+0x8243,0x8244,0x8245,0x8246,0x8247,0xC7D6,0x8248,0x8249,
+0x824A,0x824B,0x824C,0x824D,0x824E,0x824F,0x8250,0xB1E3,
+0x8251,0x8252,0x8253,0xB4D9,0xB6ED,0xD9B4,0x8254,0x8255,
+0x8256,0x8257,0xBFA1,0x8258,0x8259,0x825A,0xD9DE,0xC7CE,
+0xC0FE,0xD9B8,0x825B,0x825C,0x825D,0x825E,0x825F,0xCBD7,
+0xB7FD,0x8260,0xD9B5,0x8261,0xD9B7,0xB1A3,0xD3E1,0xD9B9,
+0x8262,0xD0C5,0x8263,0xD9B6,0x8264,0x8265,0xD9B1,0x8266,
+0xD9B2,0xC1A9,0xD9B3,0x8267,0x8268,0xBCF3,0xD0DE,0xB8A9,
+0x8269,0xBEE3,0x826A,0xD9BD,0x826B,0x826C,0x826D,0x826E,
+0xD9BA,0x826F,0xB0B3,0x8270,0x8271,0x8272,0xD9C2,0x8273,
+0x8274,0x8275,0x8276,0x8277,0x8278,0x8279,0x827A,0x827B,
+0x827C,0x827D,0x827E,0x8280,0xD9C4,0xB1B6,0x8281,0xD9BF,
+0x8282,0x8283,0xB5B9,0x8284,0xBEF3,0x8285,0x8286,0x8287,
+0xCCC8,0xBAF2,0xD2D0,0x8288,0xD9C3,0x8289,0x828A,0xBDE8,
+0x828B,0xB3AB,0x828C,0x828D,0x828E,0xD9C5,0xBEEB,0x828F,
+0xD9C6,0xD9BB,0xC4DF,0x8290,0xD9BE,0xD9C1,0xD9C0,0x8291,
+0x8292,0x8293,0x8294,0x8295,0x8296,0x8297,0x8298,0x8299,
+0x829A,0x829B,0xD5AE,0x829C,0xD6B5,0x829D,0xC7E3,0x829E,
+0x829F,0x82A0,0x82A1,0xD9C8,0x82A2,0x82A3,0x82A4,0xBCD9,
+0xD9CA,0x82A5,0x82A6,0x82A7,0xD9BC,0x82A8,0xD9CB,0xC6AB,
+0x82A9,0x82AA,0x82AB,0x82AC,0x82AD,0xD9C9,0x82AE,0x82AF,
+0x82B0,0x82B1,0xD7F6,0x82B2,0xCDA3,0x82B3,0x82B4,0x82B5,
+0x82B6,0x82B7,0x82B8,0x82B9,0x82BA,0xBDA1,0x82BB,0x82BC,
+0x82BD,0x82BE,0x82BF,0x82C0,0xD9CC,0x82C1,0x82C2,0x82C3,
+0x82C4,0x82C5,0x82C6,0x82C7,0x82C8,0x82C9,0xC5BC,0xCDB5,
+0x82CA,0x82CB,0x82CC,0xD9CD,0x82CD,0x82CE,0xD9C7,0xB3A5,
+0xBFFE,0x82CF,0x82D0,0x82D1,0x82D2,0xB8B5,0x82D3,0x82D4,
+0xC0FC,0x82D5,0x82D6,0x82D7,0x82D8,0xB0F8,0x82D9,0x82DA,
+0x82DB,0x82DC,0x82DD,0x82DE,0x82DF,0x82E0,0x82E1,0x82E2,
+0x82E3,0x82E4,0x82E5,0x82E6,0x82E7,0x82E8,0x82E9,0x82EA,
+0x82EB,0x82EC,0x82ED,0xB4F6,0x82EE,0xD9CE,0x82EF,0xD9CF,
+0xB4A2,0xD9D0,0x82F0,0x82F1,0xB4DF,0x82F2,0x82F3,0x82F4,
+0x82F5,0x82F6,0xB0C1,0x82F7,0x82F8,0x82F9,0x82FA,0x82FB,
+0x82FC,0x82FD,0xD9D1,0xC9B5,0x82FE,0x8340,0x8341,0x8342,
+0x8343,0x8344,0x8345,0x8346,0x8347,0x8348,0x8349,0x834A,
+0x834B,0x834C,0x834D,0x834E,0x834F,0x8350,0x8351,0xCFF1,
+0x8352,0x8353,0x8354,0x8355,0x8356,0x8357,0xD9D2,0x8358,
+0x8359,0x835A,0xC1C5,0x835B,0x835C,0x835D,0x835E,0x835F,
+0x8360,0x8361,0x8362,0x8363,0x8364,0x8365,0xD9D6,0xC9AE,
+0x8366,0x8367,0x8368,0x8369,0xD9D5,0xD9D4,0xD9D7,0x836A,
+0x836B,0x836C,0x836D,0xCBDB,0x836E,0xBDA9,0x836F,0x8370,
+0x8371,0x8372,0x8373,0xC6A7,0x8374,0x8375,0x8376,0x8377,
+0x8378,0x8379,0x837A,0x837B,0x837C,0x837D,0xD9D3,0xD9D8,
+0x837E,0x8380,0x8381,0xD9D9,0x8382,0x8383,0x8384,0x8385,
+0x8386,0x8387,0xC8E5,0x8388,0x8389,0x838A,0x838B,0x838C,
+0x838D,0x838E,0x838F,0x8390,0x8391,0x8392,0x8393,0x8394,
+0x8395,0xC0DC,0x8396,0x8397,0x8398,0x8399,0x839A,0x839B,
+0x839C,0x839D,0x839E,0x839F,0x83A0,0x83A1,0x83A2,0x83A3,
+0x83A4,0x83A5,0x83A6,0x83A7,0x83A8,0x83A9,0x83AA,0x83AB,
+0x83AC,0x83AD,0x83AE,0x83AF,0x83B0,0x83B1,0x83B2,0xB6F9,
+0xD8A3,0xD4CA,0x83B3,0xD4AA,0xD0D6,0xB3E4,0xD5D7,0x83B4,
+0xCFC8,0xB9E2,0x83B5,0xBFCB,0x83B6,0xC3E2,0x83B7,0x83B8,
+0x83B9,0xB6D2,0x83BA,0x83BB,0xCDC3,0xD9EE,0xD9F0,0x83BC,
+0x83BD,0x83BE,0xB5B3,0x83BF,0xB6B5,0x83C0,0x83C1,0x83C2,
+0x83C3,0x83C4,0xBEA4,0x83C5,0x83C6,0xC8EB,0x83C7,0x83C8,
+0xC8AB,0x83C9,0x83CA,0xB0CB,0xB9AB,0xC1F9,0xD9E2,0x83CB,
+0xC0BC,0xB9B2,0x83CC,0xB9D8,0xD0CB,0xB1F8,0xC6E4,0xBEDF,
+0xB5E4,0xD7C8,0x83CD,0xD1F8,0xBCE6,0xCADE,0x83CE,0x83CF,
+0xBCBD,0xD9E6,0xD8E7,0x83D0,0x83D1,0xC4DA,0x83D2,0x83D3,
+0xB8D4,0xC8BD,0x83D4,0x83D5,0xB2E1,0xD4D9,0x83D6,0x83D7,
+0x83D8,0x83D9,0xC3B0,0x83DA,0x83DB,0xC3E1,0xDAA2,0xC8DF,
+0x83DC,0xD0B4,0x83DD,0xBEFC,0xC5A9,0x83DE,0x83DF,0x83E0,
+0xB9DA,0x83E1,0xDAA3,0x83E2,0xD4A9,0xDAA4,0x83E3,0x83E4,
+0x83E5,0x83E6,0x83E7,0xD9FB,0xB6AC,0x83E8,0x83E9,0xB7EB,
+0xB1F9,0xD9FC,0xB3E5,0xBEF6,0x83EA,0xBFF6,0xD2B1,0xC0E4,
+0x83EB,0x83EC,0x83ED,0xB6B3,0xD9FE,0xD9FD,0x83EE,0x83EF,
+0xBEBB,0x83F0,0x83F1,0x83F2,0xC6E0,0x83F3,0xD7BC,0xDAA1,
+0x83F4,0xC1B9,0x83F5,0xB5F2,0xC1E8,0x83F6,0x83F7,0xBCF5,
+0x83F8,0xB4D5,0x83F9,0x83FA,0x83FB,0x83FC,0x83FD,0x83FE,
+0x8440,0x8441,0x8442,0xC1DD,0x8443,0xC4FD,0x8444,0x8445,
+0xBCB8,0xB7B2,0x8446,0x8447,0xB7EF,0x8448,0x8449,0x844A,
+0x844B,0x844C,0x844D,0xD9EC,0x844E,0xC6BE,0x844F,0xBFAD,
+0xBBCB,0x8450,0x8451,0xB5CA,0x8452,0xDBC9,0xD0D7,0x8453,
+0xCDB9,0xB0BC,0xB3F6,0xBBF7,0xDBCA,0xBAAF,0x8454,0xD4E4,
+0xB5B6,0xB5F3,0xD8D6,0xC8D0,0x8455,0x8456,0xB7D6,0xC7D0,
+0xD8D7,0x8457,0xBFAF,0x8458,0x8459,0xDBBB,0xD8D8,0x845A,
+0x845B,0xD0CC,0xBBAE,0x845C,0x845D,0x845E,0xEBBE,0xC1D0,
+0xC1F5,0xD4F2,0xB8D5,0xB4B4,0x845F,0xB3F5,0x8460,0x8461,
+0xC9BE,0x8462,0x8463,0x8464,0xC5D0,0x8465,0x8466,0x8467,
+0xC5D9,0xC0FB,0x8468,0xB1F0,0x8469,0xD8D9,0xB9CE,0x846A,
+0xB5BD,0x846B,0x846C,0xD8DA,0x846D,0x846E,0xD6C6,0xCBA2,
+0xC8AF,0xC9B2,0xB4CC,0xBFCC,0x846F,0xB9F4,0x8470,0xD8DB,
+0xD8DC,0xB6E7,0xBCC1,0xCCEA,0x8471,0x8472,0x8473,0x8474,
+0x8475,0x8476,0xCFF7,0x8477,0xD8DD,0xC7B0,0x8478,0x8479,
+0xB9D0,0xBDA3,0x847A,0x847B,0xCCDE,0x847C,0xC6CA,0x847D,
+0x847E,0x8480,0x8481,0x8482,0xD8E0,0x8483,0xD8DE,0x8484,
+0x8485,0xD8DF,0x8486,0x8487,0x8488,0xB0FE,0x8489,0xBEE7,
+0x848A,0xCAA3,0xBCF4,0x848B,0x848C,0x848D,0x848E,0xB8B1,
+0x848F,0x8490,0xB8EE,0x8491,0x8492,0x8493,0x8494,0x8495,
+0x8496,0x8497,0x8498,0x8499,0x849A,0xD8E2,0x849B,0xBDCB,
+0x849C,0xD8E4,0xD8E3,0x849D,0x849E,0x849F,0x84A0,0x84A1,
+0xC5FC,0x84A2,0x84A3,0x84A4,0x84A5,0x84A6,0x84A7,0x84A8,
+0xD8E5,0x84A9,0x84AA,0xD8E6,0x84AB,0x84AC,0x84AD,0x84AE,
+0x84AF,0x84B0,0x84B1,0xC1A6,0x84B2,0xC8B0,0xB0EC,0xB9A6,
+0xBCD3,0xCEF1,0xDBBD,0xC1D3,0x84B3,0x84B4,0x84B5,0x84B6,
+0xB6AF,0xD6FA,0xC5AC,0xBDD9,0xDBBE,0xDBBF,0x84B7,0x84B8,
+0x84B9,0xC0F8,0xBEA2,0xC0CD,0x84BA,0x84BB,0x84BC,0x84BD,
+0x84BE,0x84BF,0x84C0,0x84C1,0x84C2,0x84C3,0xDBC0,0xCAC6,
+0x84C4,0x84C5,0x84C6,0xB2AA,0x84C7,0x84C8,0x84C9,0xD3C2,
+0x84CA,0xC3E3,0x84CB,0xD1AB,0x84CC,0x84CD,0x84CE,0x84CF,
+0xDBC2,0x84D0,0xC0D5,0x84D1,0x84D2,0x84D3,0xDBC3,0x84D4,
+0xBFB1,0x84D5,0x84D6,0x84D7,0x84D8,0x84D9,0x84DA,0xC4BC,
+0x84DB,0x84DC,0x84DD,0x84DE,0xC7DA,0x84DF,0x84E0,0x84E1,
+0x84E2,0x84E3,0x84E4,0x84E5,0x84E6,0x84E7,0x84E8,0x84E9,
+0xDBC4,0x84EA,0x84EB,0x84EC,0x84ED,0x84EE,0x84EF,0x84F0,
+0x84F1,0xD9E8,0xC9D7,0x84F2,0x84F3,0x84F4,0xB9B4,0xCEF0,
+0xD4C8,0x84F5,0x84F6,0x84F7,0x84F8,0xB0FC,0xB4D2,0x84F9,
+0xD0D9,0x84FA,0x84FB,0x84FC,0x84FD,0xD9E9,0x84FE,0xDECB,
+0xD9EB,0x8540,0x8541,0x8542,0x8543,0xD8B0,0xBBAF,0xB1B1,
+0x8544,0xB3D7,0xD8CE,0x8545,0x8546,0xD4D1,0x8547,0x8548,
+0xBDB3,0xBFEF,0x8549,0xCFBB,0x854A,0x854B,0xD8D0,0x854C,
+0x854D,0x854E,0xB7CB,0x854F,0x8550,0x8551,0xD8D1,0x8552,
+0x8553,0x8554,0x8555,0x8556,0x8557,0x8558,0x8559,0x855A,
+0x855B,0xC6A5,0xC7F8,0xD2BD,0x855C,0x855D,0xD8D2,0xC4E4,
+0x855E,0xCAAE,0x855F,0xC7A7,0x8560,0xD8A6,0x8561,0xC9FD,
+0xCEE7,0xBBDC,0xB0EB,0x8562,0x8563,0x8564,0xBBAA,0xD0AD,
+0x8565,0xB1B0,0xD7E4,0xD7BF,0x8566,0xB5A5,0xC2F4,0xC4CF,
+0x8567,0x8568,0xB2A9,0x8569,0xB2B7,0x856A,0xB1E5,0xDFB2,
+0xD5BC,0xBFA8,0xC2AC,0xD8D5,0xC2B1,0x856B,0xD8D4,0xCED4,
+0x856C,0xDAE0,0x856D,0xCEC0,0x856E,0x856F,0xD8B4,0xC3AE,
+0xD3A1,0xCEA3,0x8570,0xBCB4,0xC8B4,0xC2D1,0x8571,0xBEED,
+0xD0B6,0x8572,0xDAE1,0x8573,0x8574,0x8575,0x8576,0xC7E4,
+0x8577,0x8578,0xB3A7,0x8579,0xB6F2,0xCCFC,0xC0FA,0x857A,
+0x857B,0xC0F7,0x857C,0xD1B9,0xD1E1,0xD8C7,0x857D,0x857E,
+0x8580,0x8581,0x8582,0x8583,0x8584,0xB2DE,0x8585,0x8586,
+0xC0E5,0x8587,0xBAF1,0x8588,0x8589,0xD8C8,0x858A,0xD4AD,
+0x858B,0x858C,0xCFE1,0xD8C9,0x858D,0xD8CA,0xCFC3,0x858E,
+0xB3F8,0xBEC7,0x858F,0x8590,0x8591,0x8592,0xD8CB,0x8593,
+0x8594,0x8595,0x8596,0x8597,0x8598,0x8599,0xDBCC,0x859A,
+0x859B,0x859C,0x859D,0xC8A5,0x859E,0x859F,0x85A0,0xCFD8,
+0x85A1,0xC8FE,0xB2CE,0x85A2,0x85A3,0x85A4,0x85A5,0x85A6,
+0xD3D6,0xB2E6,0xBCB0,0xD3D1,0xCBAB,0xB7B4,0x85A7,0x85A8,
+0x85A9,0xB7A2,0x85AA,0x85AB,0xCAE5,0x85AC,0xC8A1,0xCADC,
+0xB1E4,0xD0F0,0x85AD,0xC5D1,0x85AE,0x85AF,0x85B0,0xDBC5,
+0xB5FE,0x85B1,0x85B2,0xBFDA,0xB9C5,0xBEE4,0xC1ED,0x85B3,
+0xDFB6,0xDFB5,0xD6BB,0xBDD0,0xD5D9,0xB0C8,0xB6A3,0xBFC9,
+0xCCA8,0xDFB3,0xCAB7,0xD3D2,0x85B4,0xD8CF,0xD2B6,0xBAC5,
+0xCBBE,0xCCBE,0x85B5,0xDFB7,0xB5F0,0xDFB4,0x85B6,0x85B7,
+0x85B8,0xD3F5,0x85B9,0xB3D4,0xB8F7,0x85BA,0xDFBA,0x85BB,
+0xBACF,0xBCAA,0xB5F5,0x85BC,0xCDAC,0xC3FB,0xBAF3,0xC0F4,
+0xCDC2,0xCFF2,0xDFB8,0xCFC5,0x85BD,0xC2C0,0xDFB9,0xC2F0,
+0x85BE,0x85BF,0x85C0,0xBEFD,0x85C1,0xC1DF,0xCDCC,0xD2F7,
+0xB7CD,0xDFC1,0x85C2,0xDFC4,0x85C3,0x85C4,0xB7F1,0xB0C9,
+0xB6D6,0xB7D4,0x85C5,0xBAAC,0xCCFD,0xBFD4,0xCBB1,0xC6F4,
+0x85C6,0xD6A8,0xDFC5,0x85C7,0xCEE2,0xB3B3,0x85C8,0x85C9,
+0xCEFC,0xB4B5,0x85CA,0xCEC7,0xBAF0,0x85CB,0xCEE1,0x85CC,
+0xD1BD,0x85CD,0x85CE,0xDFC0,0x85CF,0x85D0,0xB4F4,0x85D1,
+0xB3CA,0x85D2,0xB8E6,0xDFBB,0x85D3,0x85D4,0x85D5,0x85D6,
+0xC4C5,0x85D7,0xDFBC,0xDFBD,0xDFBE,0xC5BB,0xDFBF,0xDFC2,
+0xD4B1,0xDFC3,0x85D8,0xC7BA,0xCED8,0x85D9,0x85DA,0x85DB,
+0x85DC,0x85DD,0xC4D8,0x85DE,0xDFCA,0x85DF,0xDFCF,0x85E0,
+0xD6DC,0x85E1,0x85E2,0x85E3,0x85E4,0x85E5,0x85E6,0x85E7,
+0x85E8,0xDFC9,0xDFDA,0xCEB6,0x85E9,0xBAC7,0xDFCE,0xDFC8,
+0xC5DE,0x85EA,0x85EB,0xC9EB,0xBAF4,0xC3FC,0x85EC,0x85ED,
+0xBED7,0x85EE,0xDFC6,0x85EF,0xDFCD,0x85F0,0xC5D8,0x85F1,
+0x85F2,0x85F3,0x85F4,0xD5A6,0xBACD,0x85F5,0xBECC,0xD3BD,
+0xB8C0,0x85F6,0xD6E4,0x85F7,0xDFC7,0xB9BE,0xBFA7,0x85F8,
+0x85F9,0xC1FC,0xDFCB,0xDFCC,0x85FA,0xDFD0,0x85FB,0x85FC,
+0x85FD,0x85FE,0x8640,0xDFDB,0xDFE5,0x8641,0xDFD7,0xDFD6,
+0xD7C9,0xDFE3,0xDFE4,0xE5EB,0xD2A7,0xDFD2,0x8642,0xBFA9,
+0x8643,0xD4DB,0x8644,0xBFC8,0xDFD4,0x8645,0x8646,0x8647,
+0xCFCC,0x8648,0x8649,0xDFDD,0x864A,0xD1CA,0x864B,0xDFDE,
+0xB0A7,0xC6B7,0xDFD3,0x864C,0xBAE5,0x864D,0xB6DF,0xCDDB,
+0xB9FE,0xD4D5,0x864E,0x864F,0xDFDF,0xCFEC,0xB0A5,0xDFE7,
+0xDFD1,0xD1C6,0xDFD5,0xDFD8,0xDFD9,0xDFDC,0x8650,0xBBA9,
+0x8651,0xDFE0,0xDFE1,0x8652,0xDFE2,0xDFE6,0xDFE8,0xD3B4,
+0x8653,0x8654,0x8655,0x8656,0x8657,0xB8E7,0xC5B6,0xDFEA,
+0xC9DA,0xC1A8,0xC4C4,0x8658,0x8659,0xBFDE,0xCFF8,0x865A,
+0x865B,0x865C,0xD5DC,0xDFEE,0x865D,0x865E,0x865F,0x8660,
+0x8661,0x8662,0xB2B8,0x8663,0xBADF,0xDFEC,0x8664,0xDBC1,
+0x8665,0xD1E4,0x8666,0x8667,0x8668,0x8669,0xCBF4,0xB4BD,
+0x866A,0xB0A6,0x866B,0x866C,0x866D,0x866E,0x866F,0xDFF1,
+0xCCC6,0xDFF2,0x8670,0x8671,0xDFED,0x8672,0x8673,0x8674,
+0x8675,0x8676,0x8677,0xDFE9,0x8678,0x8679,0x867A,0x867B,
+0xDFEB,0x867C,0xDFEF,0xDFF0,0xBBBD,0x867D,0x867E,0xDFF3,
+0x8680,0x8681,0xDFF4,0x8682,0xBBA3,0x8683,0xCADB,0xCEA8,
+0xE0A7,0xB3AA,0x8684,0xE0A6,0x8685,0x8686,0x8687,0xE0A1,
+0x8688,0x8689,0x868A,0x868B,0xDFFE,0x868C,0xCDD9,0xDFFC,
+0x868D,0xDFFA,0x868E,0xBFD0,0xD7C4,0x868F,0xC9CC,0x8690,
+0x8691,0xDFF8,0xB0A1,0x8692,0x8693,0x8694,0x8695,0x8696,
+0xDFFD,0x8697,0x8698,0x8699,0x869A,0xDFFB,0xE0A2,0x869B,
+0x869C,0x869D,0x869E,0x869F,0xE0A8,0x86A0,0x86A1,0x86A2,
+0x86A3,0xB7C8,0x86A4,0x86A5,0xC6A1,0xC9B6,0xC0B2,0xDFF5,
+0x86A6,0x86A7,0xC5BE,0x86A8,0xD8C4,0xDFF9,0xC4F6,0x86A9,
+0x86AA,0x86AB,0x86AC,0x86AD,0x86AE,0xE0A3,0xE0A4,0xE0A5,
+0xD0A5,0x86AF,0x86B0,0xE0B4,0xCCE4,0x86B1,0xE0B1,0x86B2,
+0xBFA6,0xE0AF,0xCEB9,0xE0AB,0xC9C6,0x86B3,0x86B4,0xC0AE,
+0xE0AE,0xBAED,0xBAB0,0xE0A9,0x86B5,0x86B6,0x86B7,0xDFF6,
+0x86B8,0xE0B3,0x86B9,0x86BA,0xE0B8,0x86BB,0x86BC,0x86BD,
+0xB4AD,0xE0B9,0x86BE,0x86BF,0xCFB2,0xBAC8,0x86C0,0xE0B0,
+0x86C1,0x86C2,0x86C3,0x86C4,0x86C5,0x86C6,0x86C7,0xD0FA,
+0x86C8,0x86C9,0x86CA,0x86CB,0x86CC,0x86CD,0x86CE,0x86CF,
+0x86D0,0xE0AC,0x86D1,0xD4FB,0x86D2,0xDFF7,0x86D3,0xC5E7,
+0x86D4,0xE0AD,0x86D5,0xD3F7,0x86D6,0xE0B6,0xE0B7,0x86D7,
+0x86D8,0x86D9,0x86DA,0x86DB,0xE0C4,0xD0E1,0x86DC,0x86DD,
+0x86DE,0xE0BC,0x86DF,0x86E0,0xE0C9,0xE0CA,0x86E1,0x86E2,
+0x86E3,0xE0BE,0xE0AA,0xC9A4,0xE0C1,0x86E4,0xE0B2,0x86E5,
+0x86E6,0x86E7,0x86E8,0x86E9,0xCAC8,0xE0C3,0x86EA,0xE0B5,
+0x86EB,0xCECB,0x86EC,0xCBC3,0xE0CD,0xE0C6,0xE0C2,0x86ED,
+0xE0CB,0x86EE,0xE0BA,0xE0BF,0xE0C0,0x86EF,0x86F0,0xE0C5,
+0x86F1,0x86F2,0xE0C7,0xE0C8,0x86F3,0xE0CC,0x86F4,0xE0BB,
+0x86F5,0x86F6,0x86F7,0x86F8,0x86F9,0xCBD4,0xE0D5,0x86FA,
+0xE0D6,0xE0D2,0x86FB,0x86FC,0x86FD,0x86FE,0x8740,0x8741,
+0xE0D0,0xBCCE,0x8742,0x8743,0xE0D1,0x8744,0xB8C2,0xD8C5,
+0x8745,0x8746,0x8747,0x8748,0x8749,0x874A,0x874B,0x874C,
+0xD0EA,0x874D,0x874E,0xC2EF,0x874F,0x8750,0xE0CF,0xE0BD,
+0x8751,0x8752,0x8753,0xE0D4,0xE0D3,0x8754,0x8755,0xE0D7,
+0x8756,0x8757,0x8758,0x8759,0xE0DC,0xE0D8,0x875A,0x875B,
+0x875C,0xD6F6,0xB3B0,0x875D,0xD7EC,0x875E,0xCBBB,0x875F,
+0x8760,0xE0DA,0x8761,0xCEFB,0x8762,0x8763,0x8764,0xBAD9,
+0x8765,0x8766,0x8767,0x8768,0x8769,0x876A,0x876B,0x876C,
+0x876D,0x876E,0x876F,0x8770,0xE0E1,0xE0DD,0xD2AD,0x8771,
+0x8772,0x8773,0x8774,0x8775,0xE0E2,0x8776,0x8777,0xE0DB,
+0xE0D9,0xE0DF,0x8778,0x8779,0xE0E0,0x877A,0x877B,0x877C,
+0x877D,0x877E,0xE0DE,0x8780,0xE0E4,0x8781,0x8782,0x8783,
+0xC6F7,0xD8AC,0xD4EB,0xE0E6,0xCAC9,0x8784,0x8785,0x8786,
+0x8787,0xE0E5,0x8788,0x8789,0x878A,0x878B,0xB8C1,0x878C,
+0x878D,0x878E,0x878F,0xE0E7,0xE0E8,0x8790,0x8791,0x8792,
+0x8793,0x8794,0x8795,0x8796,0x8797,0xE0E9,0xE0E3,0x8798,
+0x8799,0x879A,0x879B,0x879C,0x879D,0x879E,0xBABF,0xCCE7,
+0x879F,0x87A0,0x87A1,0xE0EA,0x87A2,0x87A3,0x87A4,0x87A5,
+0x87A6,0x87A7,0x87A8,0x87A9,0x87AA,0x87AB,0x87AC,0x87AD,
+0x87AE,0x87AF,0x87B0,0xCFF9,0x87B1,0x87B2,0x87B3,0x87B4,
+0x87B5,0x87B6,0x87B7,0x87B8,0x87B9,0x87BA,0x87BB,0xE0EB,
+0x87BC,0x87BD,0x87BE,0x87BF,0x87C0,0x87C1,0x87C2,0xC8C2,
+0x87C3,0x87C4,0x87C5,0x87C6,0xBDC0,0x87C7,0x87C8,0x87C9,
+0x87CA,0x87CB,0x87CC,0x87CD,0x87CE,0x87CF,0x87D0,0x87D1,
+0x87D2,0x87D3,0xC4D2,0x87D4,0x87D5,0x87D6,0x87D7,0x87D8,
+0x87D9,0x87DA,0x87DB,0x87DC,0xE0EC,0x87DD,0x87DE,0xE0ED,
+0x87DF,0x87E0,0xC7F4,0xCBC4,0x87E1,0xE0EE,0xBBD8,0xD8B6,
+0xD2F2,0xE0EF,0xCDC5,0x87E2,0xB6DA,0x87E3,0x87E4,0x87E5,
+0x87E6,0x87E7,0x87E8,0xE0F1,0x87E9,0xD4B0,0x87EA,0x87EB,
+0xC0A7,0xB4D1,0x87EC,0x87ED,0xCEA7,0xE0F0,0x87EE,0x87EF,
+0x87F0,0xE0F2,0xB9CC,0x87F1,0x87F2,0xB9FA,0xCDBC,0xE0F3,
+0x87F3,0x87F4,0x87F5,0xC6D4,0xE0F4,0x87F6,0xD4B2,0x87F7,
+0xC8A6,0xE0F6,0xE0F5,0x87F8,0x87F9,0x87FA,0x87FB,0x87FC,
+0x87FD,0x87FE,0x8840,0x8841,0x8842,0x8843,0x8844,0x8845,
+0x8846,0x8847,0x8848,0x8849,0xE0F7,0x884A,0x884B,0xCDC1,
+0x884C,0x884D,0x884E,0xCAA5,0x884F,0x8850,0x8851,0x8852,
+0xD4DA,0xDBD7,0xDBD9,0x8853,0xDBD8,0xB9E7,0xDBDC,0xDBDD,
+0xB5D8,0x8854,0x8855,0xDBDA,0x8856,0x8857,0x8858,0x8859,
+0x885A,0xDBDB,0xB3A1,0xDBDF,0x885B,0x885C,0xBBF8,0x885D,
+0xD6B7,0x885E,0xDBE0,0x885F,0x8860,0x8861,0x8862,0xBEF9,
+0x8863,0x8864,0xB7BB,0x8865,0xDBD0,0xCCAE,0xBFB2,0xBBB5,
+0xD7F8,0xBFD3,0x8866,0x8867,0x8868,0x8869,0x886A,0xBFE9,
+0x886B,0x886C,0xBCE1,0xCCB3,0xDBDE,0xB0D3,0xCEEB,0xB7D8,
+0xD7B9,0xC6C2,0x886D,0x886E,0xC0A4,0x886F,0xCCB9,0x8870,
+0xDBE7,0xDBE1,0xC6BA,0xDBE3,0x8871,0xDBE8,0x8872,0xC5F7,
+0x8873,0x8874,0x8875,0xDBEA,0x8876,0x8877,0xDBE9,0xBFC0,
+0x8878,0x8879,0x887A,0xDBE6,0xDBE5,0x887B,0x887C,0x887D,
+0x887E,0x8880,0xB4B9,0xC0AC,0xC2A2,0xDBE2,0xDBE4,0x8881,
+0x8882,0x8883,0x8884,0xD0CD,0xDBED,0x8885,0x8886,0x8887,
+0x8888,0x8889,0xC0DD,0xDBF2,0x888A,0x888B,0x888C,0x888D,
+0x888E,0x888F,0x8890,0xB6E2,0x8891,0x8892,0x8893,0x8894,
+0xDBF3,0xDBD2,0xB9B8,0xD4AB,0xDBEC,0x8895,0xBFD1,0xDBF0,
+0x8896,0xDBD1,0x8897,0xB5E6,0x8898,0xDBEB,0xBFE5,0x8899,
+0x889A,0x889B,0xDBEE,0x889C,0xDBF1,0x889D,0x889E,0x889F,
+0xDBF9,0x88A0,0x88A1,0x88A2,0x88A3,0x88A4,0x88A5,0x88A6,
+0x88A7,0x88A8,0xB9A1,0xB0A3,0x88A9,0x88AA,0x88AB,0x88AC,
+0x88AD,0x88AE,0x88AF,0xC2F1,0x88B0,0x88B1,0xB3C7,0xDBEF,
+0x88B2,0x88B3,0xDBF8,0x88B4,0xC6D2,0xDBF4,0x88B5,0x88B6,
+0xDBF5,0xDBF7,0xDBF6,0x88B7,0x88B8,0xDBFE,0x88B9,0xD3F2,
+0xB2BA,0x88BA,0x88BB,0x88BC,0xDBFD,0x88BD,0x88BE,0x88BF,
+0x88C0,0x88C1,0x88C2,0x88C3,0x88C4,0xDCA4,0x88C5,0xDBFB,
+0x88C6,0x88C7,0x88C8,0x88C9,0xDBFA,0x88CA,0x88CB,0x88CC,
+0xDBFC,0xC5E0,0xBBF9,0x88CD,0x88CE,0xDCA3,0x88CF,0x88D0,
+0xDCA5,0x88D1,0xCCC3,0x88D2,0x88D3,0x88D4,0xB6D1,0xDDC0,
+0x88D5,0x88D6,0x88D7,0xDCA1,0x88D8,0xDCA2,0x88D9,0x88DA,
+0x88DB,0xC7B5,0x88DC,0x88DD,0x88DE,0xB6E9,0x88DF,0x88E0,
+0x88E1,0xDCA7,0x88E2,0x88E3,0x88E4,0x88E5,0xDCA6,0x88E6,
+0xDCA9,0xB1A4,0x88E7,0x88E8,0xB5CC,0x88E9,0x88EA,0x88EB,
+0x88EC,0x88ED,0xBFB0,0x88EE,0x88EF,0x88F0,0x88F1,0x88F2,
+0xD1DF,0x88F3,0x88F4,0x88F5,0x88F6,0xB6C2,0x88F7,0x88F8,
+0x88F9,0x88FA,0x88FB,0x88FC,0x88FD,0x88FE,0x8940,0x8941,
+0x8942,0x8943,0x8944,0x8945,0xDCA8,0x8946,0x8947,0x8948,
+0x8949,0x894A,0x894B,0x894C,0xCBFA,0xEBF3,0x894D,0x894E,
+0x894F,0xCBDC,0x8950,0x8951,0xCBFE,0x8952,0x8953,0x8954,
+0xCCC1,0x8955,0x8956,0x8957,0x8958,0x8959,0xC8FB,0x895A,
+0x895B,0x895C,0x895D,0x895E,0x895F,0xDCAA,0x8960,0x8961,
+0x8962,0x8963,0x8964,0xCCEE,0xDCAB,0x8965,0x8966,0x8967,
+0x8968,0x8969,0x896A,0x896B,0x896C,0x896D,0x896E,0x896F,
+0x8970,0x8971,0x8972,0x8973,0x8974,0x8975,0xDBD3,0x8976,
+0xDCAF,0xDCAC,0x8977,0xBEB3,0x8978,0xCAFB,0x8979,0x897A,
+0x897B,0xDCAD,0x897C,0x897D,0x897E,0x8980,0x8981,0x8982,
+0x8983,0x8984,0xC9CA,0xC4B9,0x8985,0x8986,0x8987,0x8988,
+0x8989,0xC7BD,0xDCAE,0x898A,0x898B,0x898C,0xD4F6,0xD0E6,
+0x898D,0x898E,0x898F,0x8990,0x8991,0x8992,0x8993,0x8994,
+0xC4AB,0xB6D5,0x8995,0x8996,0x8997,0x8998,0x8999,0x899A,
+0x899B,0x899C,0x899D,0x899E,0x899F,0x89A0,0x89A1,0x89A2,
+0x89A3,0x89A4,0x89A5,0x89A6,0xDBD4,0x89A7,0x89A8,0x89A9,
+0x89AA,0xB1DA,0x89AB,0x89AC,0x89AD,0xDBD5,0x89AE,0x89AF,
+0x89B0,0x89B1,0x89B2,0x89B3,0x89B4,0x89B5,0x89B6,0x89B7,
+0x89B8,0xDBD6,0x89B9,0x89BA,0x89BB,0xBABE,0x89BC,0x89BD,
+0x89BE,0x89BF,0x89C0,0x89C1,0x89C2,0x89C3,0x89C4,0x89C5,
+0x89C6,0x89C7,0x89C8,0x89C9,0xC8C0,0x89CA,0x89CB,0x89CC,
+0x89CD,0x89CE,0x89CF,0xCABF,0xC8C9,0x89D0,0xD7B3,0x89D1,
+0xC9F9,0x89D2,0x89D3,0xBFC7,0x89D4,0x89D5,0xBAF8,0x89D6,
+0x89D7,0xD2BC,0x89D8,0x89D9,0x89DA,0x89DB,0x89DC,0x89DD,
+0x89DE,0x89DF,0xE2BA,0x89E0,0xB4A6,0x89E1,0x89E2,0xB1B8,
+0x89E3,0x89E4,0x89E5,0x89E6,0x89E7,0xB8B4,0x89E8,0xCFC4,
+0x89E9,0x89EA,0x89EB,0x89EC,0xD9E7,0xCFA6,0xCDE2,0x89ED,
+0x89EE,0xD9ED,0xB6E0,0x89EF,0xD2B9,0x89F0,0x89F1,0xB9BB,
+0x89F2,0x89F3,0x89F4,0x89F5,0xE2B9,0xE2B7,0x89F6,0xB4F3,
+0x89F7,0xCCEC,0xCCAB,0xB7F2,0x89F8,0xD8B2,0xD1EB,0xBABB,
+0x89F9,0xCAA7,0x89FA,0x89FB,0xCDB7,0x89FC,0x89FD,0xD2C4,
+0xBFE4,0xBCD0,0xB6E1,0x89FE,0xDEC5,0x8A40,0x8A41,0x8A42,
+0x8A43,0xDEC6,0xDBBC,0x8A44,0xD1D9,0x8A45,0x8A46,0xC6E6,
+0xC4CE,0xB7EE,0x8A47,0xB7DC,0x8A48,0x8A49,0xBFFC,0xD7E0,
+0x8A4A,0xC6F5,0x8A4B,0x8A4C,0xB1BC,0xDEC8,0xBDB1,0xCCD7,
+0xDECA,0x8A4D,0xDEC9,0x8A4E,0x8A4F,0x8A50,0x8A51,0x8A52,
+0xB5EC,0x8A53,0xC9DD,0x8A54,0x8A55,0xB0C2,0x8A56,0x8A57,
+0x8A58,0x8A59,0x8A5A,0x8A5B,0x8A5C,0x8A5D,0x8A5E,0x8A5F,
+0x8A60,0x8A61,0x8A62,0xC5AE,0xC5AB,0x8A63,0xC4CC,0x8A64,
+0xBCE9,0xCBFD,0x8A65,0x8A66,0x8A67,0xBAC3,0x8A68,0x8A69,
+0x8A6A,0xE5F9,0xC8E7,0xE5FA,0xCDFD,0x8A6B,0xD7B1,0xB8BE,
+0xC2E8,0x8A6C,0xC8D1,0x8A6D,0x8A6E,0xE5FB,0x8A6F,0x8A70,
+0x8A71,0x8A72,0xB6CA,0xBCCB,0x8A73,0x8A74,0xD1FD,0xE6A1,
+0x8A75,0xC3EE,0x8A76,0x8A77,0x8A78,0x8A79,0xE6A4,0x8A7A,
+0x8A7B,0x8A7C,0x8A7D,0xE5FE,0xE6A5,0xCDD7,0x8A7E,0x8A80,
+0xB7C1,0xE5FC,0xE5FD,0xE6A3,0x8A81,0x8A82,0xC4DD,0xE6A8,
+0x8A83,0x8A84,0xE6A7,0x8A85,0x8A86,0x8A87,0x8A88,0x8A89,
+0x8A8A,0xC3C3,0x8A8B,0xC6DE,0x8A8C,0x8A8D,0xE6AA,0x8A8E,
+0x8A8F,0x8A90,0x8A91,0x8A92,0x8A93,0x8A94,0xC4B7,0x8A95,
+0x8A96,0x8A97,0xE6A2,0xCABC,0x8A98,0x8A99,0x8A9A,0x8A9B,
+0xBDE3,0xB9C3,0xE6A6,0xD0D5,0xCEAF,0x8A9C,0x8A9D,0xE6A9,
+0xE6B0,0x8A9E,0xD2A6,0x8A9F,0xBDAA,0xE6AD,0x8AA0,0x8AA1,
+0x8AA2,0x8AA3,0x8AA4,0xE6AF,0x8AA5,0xC0D1,0x8AA6,0x8AA7,
+0xD2CC,0x8AA8,0x8AA9,0x8AAA,0xBCA7,0x8AAB,0x8AAC,0x8AAD,
+0x8AAE,0x8AAF,0x8AB0,0x8AB1,0x8AB2,0x8AB3,0x8AB4,0x8AB5,
+0x8AB6,0xE6B1,0x8AB7,0xD2F6,0x8AB8,0x8AB9,0x8ABA,0xD7CB,
+0x8ABB,0xCDFE,0x8ABC,0xCDDE,0xC2A6,0xE6AB,0xE6AC,0xBDBF,
+0xE6AE,0xE6B3,0x8ABD,0x8ABE,0xE6B2,0x8ABF,0x8AC0,0x8AC1,
+0x8AC2,0xE6B6,0x8AC3,0xE6B8,0x8AC4,0x8AC5,0x8AC6,0x8AC7,
+0xC4EF,0x8AC8,0x8AC9,0x8ACA,0xC4C8,0x8ACB,0x8ACC,0xBEEA,
+0xC9EF,0x8ACD,0x8ACE,0xE6B7,0x8ACF,0xB6F0,0x8AD0,0x8AD1,
+0x8AD2,0xC3E4,0x8AD3,0x8AD4,0x8AD5,0x8AD6,0x8AD7,0x8AD8,
+0x8AD9,0xD3E9,0xE6B4,0x8ADA,0xE6B5,0x8ADB,0xC8A2,0x8ADC,
+0x8ADD,0x8ADE,0x8ADF,0x8AE0,0xE6BD,0x8AE1,0x8AE2,0x8AE3,
+0xE6B9,0x8AE4,0x8AE5,0x8AE6,0x8AE7,0x8AE8,0xC6C5,0x8AE9,
+0x8AEA,0xCDF1,0xE6BB,0x8AEB,0x8AEC,0x8AED,0x8AEE,0x8AEF,
+0x8AF0,0x8AF1,0x8AF2,0x8AF3,0x8AF4,0xE6BC,0x8AF5,0x8AF6,
+0x8AF7,0x8AF8,0xBBE9,0x8AF9,0x8AFA,0x8AFB,0x8AFC,0x8AFD,
+0x8AFE,0x8B40,0xE6BE,0x8B41,0x8B42,0x8B43,0x8B44,0xE6BA,
+0x8B45,0x8B46,0xC0B7,0x8B47,0x8B48,0x8B49,0x8B4A,0x8B4B,
+0x8B4C,0x8B4D,0x8B4E,0x8B4F,0xD3A4,0xE6BF,0xC9F4,0xE6C3,
+0x8B50,0x8B51,0xE6C4,0x8B52,0x8B53,0x8B54,0x8B55,0xD0F6,
+0x8B56,0x8B57,0x8B58,0x8B59,0x8B5A,0x8B5B,0x8B5C,0x8B5D,
+0x8B5E,0x8B5F,0x8B60,0x8B61,0x8B62,0x8B63,0x8B64,0x8B65,
+0x8B66,0x8B67,0xC3BD,0x8B68,0x8B69,0x8B6A,0x8B6B,0x8B6C,
+0x8B6D,0x8B6E,0xC3C4,0xE6C2,0x8B6F,0x8B70,0x8B71,0x8B72,
+0x8B73,0x8B74,0x8B75,0x8B76,0x8B77,0x8B78,0x8B79,0x8B7A,
+0x8B7B,0x8B7C,0xE6C1,0x8B7D,0x8B7E,0x8B80,0x8B81,0x8B82,
+0x8B83,0x8B84,0xE6C7,0xCFB1,0x8B85,0xEBF4,0x8B86,0x8B87,
+0xE6CA,0x8B88,0x8B89,0x8B8A,0x8B8B,0x8B8C,0xE6C5,0x8B8D,
+0x8B8E,0xBCDE,0xC9A9,0x8B8F,0x8B90,0x8B91,0x8B92,0x8B93,
+0x8B94,0xBCB5,0x8B95,0x8B96,0xCFD3,0x8B97,0x8B98,0x8B99,
+0x8B9A,0x8B9B,0xE6C8,0x8B9C,0xE6C9,0x8B9D,0xE6CE,0x8B9E,
+0xE6D0,0x8B9F,0x8BA0,0x8BA1,0xE6D1,0x8BA2,0x8BA3,0x8BA4,
+0xE6CB,0xB5D5,0x8BA5,0xE6CC,0x8BA6,0x8BA7,0xE6CF,0x8BA8,
+0x8BA9,0xC4DB,0x8BAA,0xE6C6,0x8BAB,0x8BAC,0x8BAD,0x8BAE,
+0x8BAF,0xE6CD,0x8BB0,0x8BB1,0x8BB2,0x8BB3,0x8BB4,0x8BB5,
+0x8BB6,0x8BB7,0x8BB8,0x8BB9,0x8BBA,0x8BBB,0x8BBC,0x8BBD,
+0x8BBE,0x8BBF,0x8BC0,0x8BC1,0x8BC2,0x8BC3,0x8BC4,0x8BC5,
+0x8BC6,0xE6D2,0x8BC7,0x8BC8,0x8BC9,0x8BCA,0x8BCB,0x8BCC,
+0x8BCD,0x8BCE,0x8BCF,0x8BD0,0x8BD1,0x8BD2,0xE6D4,0xE6D3,
+0x8BD3,0x8BD4,0x8BD5,0x8BD6,0x8BD7,0x8BD8,0x8BD9,0x8BDA,
+0x8BDB,0x8BDC,0x8BDD,0x8BDE,0x8BDF,0x8BE0,0x8BE1,0x8BE2,
+0x8BE3,0x8BE4,0x8BE5,0x8BE6,0x8BE7,0x8BE8,0x8BE9,0x8BEA,
+0x8BEB,0x8BEC,0xE6D5,0x8BED,0xD9F8,0x8BEE,0x8BEF,0xE6D6,
+0x8BF0,0x8BF1,0x8BF2,0x8BF3,0x8BF4,0x8BF5,0x8BF6,0x8BF7,
+0xE6D7,0x8BF8,0x8BF9,0x8BFA,0x8BFB,0x8BFC,0x8BFD,0x8BFE,
+0x8C40,0x8C41,0x8C42,0x8C43,0x8C44,0x8C45,0x8C46,0x8C47,
+0xD7D3,0xE6DD,0x8C48,0xE6DE,0xBFD7,0xD4D0,0x8C49,0xD7D6,
+0xB4E6,0xCBEF,0xE6DA,0xD8C3,0xD7CE,0xD0A2,0x8C4A,0xC3CF,
+0x8C4B,0x8C4C,0xE6DF,0xBCBE,0xB9C2,0xE6DB,0xD1A7,0x8C4D,
+0x8C4E,0xBAA2,0xC2CF,0x8C4F,0xD8AB,0x8C50,0x8C51,0x8C52,
+0xCAEB,0xE5EE,0x8C53,0xE6DC,0x8C54,0xB7F5,0x8C55,0x8C56,
+0x8C57,0x8C58,0xC8E6,0x8C59,0x8C5A,0xC4F5,0x8C5B,0x8C5C,
+0xE5B2,0xC4FE,0x8C5D,0xCBFC,0xE5B3,0xD5AC,0x8C5E,0xD3EE,
+0xCAD8,0xB0B2,0x8C5F,0xCBCE,0xCDEA,0x8C60,0x8C61,0xBAEA,
+0x8C62,0x8C63,0x8C64,0xE5B5,0x8C65,0xE5B4,0x8C66,0xD7DA,
+0xB9D9,0xD6E6,0xB6A8,0xCDF0,0xD2CB,0xB1A6,0xCAB5,0x8C67,
+0xB3E8,0xC9F3,0xBFCD,0xD0FB,0xCAD2,0xE5B6,0xBBC2,0x8C68,
+0x8C69,0x8C6A,0xCFDC,0xB9AC,0x8C6B,0x8C6C,0x8C6D,0x8C6E,
+0xD4D7,0x8C6F,0x8C70,0xBAA6,0xD1E7,0xCFFC,0xBCD2,0x8C71,
+0xE5B7,0xC8DD,0x8C72,0x8C73,0x8C74,0xBFED,0xB1F6,0xCBDE,
+0x8C75,0x8C76,0xBCC5,0x8C77,0xBCC4,0xD2FA,0xC3DC,0xBFDC,
+0x8C78,0x8C79,0x8C7A,0x8C7B,0xB8BB,0x8C7C,0x8C7D,0x8C7E,
+0xC3C2,0x8C80,0xBAAE,0xD4A2,0x8C81,0x8C82,0x8C83,0x8C84,
+0x8C85,0x8C86,0x8C87,0x8C88,0x8C89,0xC7DE,0xC4AF,0xB2EC,
+0x8C8A,0xB9D1,0x8C8B,0x8C8C,0xE5BB,0xC1C8,0x8C8D,0x8C8E,
+0xD5AF,0x8C8F,0x8C90,0x8C91,0x8C92,0x8C93,0xE5BC,0x8C94,
+0xE5BE,0x8C95,0x8C96,0x8C97,0x8C98,0x8C99,0x8C9A,0x8C9B,
+0xB4E7,0xB6D4,0xCBC2,0xD1B0,0xB5BC,0x8C9C,0x8C9D,0xCAD9,
+0x8C9E,0xB7E2,0x8C9F,0x8CA0,0xC9E4,0x8CA1,0xBDAB,0x8CA2,
+0x8CA3,0xCEBE,0xD7F0,0x8CA4,0x8CA5,0x8CA6,0x8CA7,0xD0A1,
+0x8CA8,0xC9D9,0x8CA9,0x8CAA,0xB6FB,0xE6D8,0xBCE2,0x8CAB,
+0xB3BE,0x8CAC,0xC9D0,0x8CAD,0xE6D9,0xB3A2,0x8CAE,0x8CAF,
+0x8CB0,0x8CB1,0xDECC,0x8CB2,0xD3C8,0xDECD,0x8CB3,0xD2A2,
+0x8CB4,0x8CB5,0x8CB6,0x8CB7,0xDECE,0x8CB8,0x8CB9,0x8CBA,
+0x8CBB,0xBECD,0x8CBC,0x8CBD,0xDECF,0x8CBE,0x8CBF,0x8CC0,
+0xCAAC,0xD2FC,0xB3DF,0xE5EA,0xC4E1,0xBEA1,0xCEB2,0xC4F2,
+0xBED6,0xC6A8,0xB2E3,0x8CC1,0x8CC2,0xBED3,0x8CC3,0x8CC4,
+0xC7FC,0xCCEB,0xBDEC,0xCEDD,0x8CC5,0x8CC6,0xCABA,0xC6C1,
+0xE5EC,0xD0BC,0x8CC7,0x8CC8,0x8CC9,0xD5B9,0x8CCA,0x8CCB,
+0x8CCC,0xE5ED,0x8CCD,0x8CCE,0x8CCF,0x8CD0,0xCAF4,0x8CD1,
+0xCDC0,0xC2C5,0x8CD2,0xE5EF,0x8CD3,0xC2C4,0xE5F0,0x8CD4,
+0x8CD5,0x8CD6,0x8CD7,0x8CD8,0x8CD9,0x8CDA,0xE5F8,0xCDCD,
+0x8CDB,0xC9BD,0x8CDC,0x8CDD,0x8CDE,0x8CDF,0x8CE0,0x8CE1,
+0x8CE2,0xD2D9,0xE1A8,0x8CE3,0x8CE4,0x8CE5,0x8CE6,0xD3EC,
+0x8CE7,0xCBEA,0xC6F1,0x8CE8,0x8CE9,0x8CEA,0x8CEB,0x8CEC,
+0xE1AC,0x8CED,0x8CEE,0x8CEF,0xE1A7,0xE1A9,0x8CF0,0x8CF1,
+0xE1AA,0xE1AF,0x8CF2,0x8CF3,0xB2ED,0x8CF4,0xE1AB,0xB8DA,
+0xE1AD,0xE1AE,0xE1B0,0xB5BA,0xE1B1,0x8CF5,0x8CF6,0x8CF7,
+0x8CF8,0x8CF9,0xE1B3,0xE1B8,0x8CFA,0x8CFB,0x8CFC,0x8CFD,
+0x8CFE,0xD1D2,0x8D40,0xE1B6,0xE1B5,0xC1EB,0x8D41,0x8D42,
+0x8D43,0xE1B7,0x8D44,0xD4C0,0x8D45,0xE1B2,0x8D46,0xE1BA,
+0xB0B6,0x8D47,0x8D48,0x8D49,0x8D4A,0xE1B4,0x8D4B,0xBFF9,
+0x8D4C,0xE1B9,0x8D4D,0x8D4E,0xE1BB,0x8D4F,0x8D50,0x8D51,
+0x8D52,0x8D53,0x8D54,0xE1BE,0x8D55,0x8D56,0x8D57,0x8D58,
+0x8D59,0x8D5A,0xE1BC,0x8D5B,0x8D5C,0x8D5D,0x8D5E,0x8D5F,
+0x8D60,0xD6C5,0x8D61,0x8D62,0x8D63,0x8D64,0x8D65,0x8D66,
+0x8D67,0xCFBF,0x8D68,0x8D69,0xE1BD,0xE1BF,0xC2CD,0x8D6A,
+0xB6EB,0x8D6B,0xD3F8,0x8D6C,0x8D6D,0xC7CD,0x8D6E,0x8D6F,
+0xB7E5,0x8D70,0x8D71,0x8D72,0x8D73,0x8D74,0x8D75,0x8D76,
+0x8D77,0x8D78,0x8D79,0xBEFE,0x8D7A,0x8D7B,0x8D7C,0x8D7D,
+0x8D7E,0x8D80,0xE1C0,0xE1C1,0x8D81,0x8D82,0xE1C7,0xB3E7,
+0x8D83,0x8D84,0x8D85,0x8D86,0x8D87,0x8D88,0xC6E9,0x8D89,
+0x8D8A,0x8D8B,0x8D8C,0x8D8D,0xB4DE,0x8D8E,0xD1C2,0x8D8F,
+0x8D90,0x8D91,0x8D92,0xE1C8,0x8D93,0x8D94,0xE1C6,0x8D95,
+0x8D96,0x8D97,0x8D98,0x8D99,0xE1C5,0x8D9A,0xE1C3,0xE1C2,
+0x8D9B,0xB1C0,0x8D9C,0x8D9D,0x8D9E,0xD5B8,0xE1C4,0x8D9F,
+0x8DA0,0x8DA1,0x8DA2,0x8DA3,0xE1CB,0x8DA4,0x8DA5,0x8DA6,
+0x8DA7,0x8DA8,0x8DA9,0x8DAA,0x8DAB,0xE1CC,0xE1CA,0x8DAC,
+0x8DAD,0x8DAE,0x8DAF,0x8DB0,0x8DB1,0x8DB2,0x8DB3,0xEFFA,
+0x8DB4,0x8DB5,0xE1D3,0xE1D2,0xC7B6,0x8DB6,0x8DB7,0x8DB8,
+0x8DB9,0x8DBA,0x8DBB,0x8DBC,0x8DBD,0x8DBE,0x8DBF,0x8DC0,
+0xE1C9,0x8DC1,0x8DC2,0xE1CE,0x8DC3,0xE1D0,0x8DC4,0x8DC5,
+0x8DC6,0x8DC7,0x8DC8,0x8DC9,0x8DCA,0x8DCB,0x8DCC,0x8DCD,
+0x8DCE,0xE1D4,0x8DCF,0xE1D1,0xE1CD,0x8DD0,0x8DD1,0xE1CF,
+0x8DD2,0x8DD3,0x8DD4,0x8DD5,0xE1D5,0x8DD6,0x8DD7,0x8DD8,
+0x8DD9,0x8DDA,0x8DDB,0x8DDC,0x8DDD,0x8DDE,0x8DDF,0x8DE0,
+0x8DE1,0x8DE2,0xE1D6,0x8DE3,0x8DE4,0x8DE5,0x8DE6,0x8DE7,
+0x8DE8,0x8DE9,0x8DEA,0x8DEB,0x8DEC,0x8DED,0x8DEE,0x8DEF,
+0x8DF0,0x8DF1,0x8DF2,0x8DF3,0x8DF4,0x8DF5,0x8DF6,0x8DF7,
+0x8DF8,0xE1D7,0x8DF9,0x8DFA,0x8DFB,0xE1D8,0x8DFC,0x8DFD,
+0x8DFE,0x8E40,0x8E41,0x8E42,0x8E43,0x8E44,0x8E45,0x8E46,
+0x8E47,0x8E48,0x8E49,0x8E4A,0x8E4B,0x8E4C,0x8E4D,0x8E4E,
+0x8E4F,0x8E50,0x8E51,0x8E52,0x8E53,0x8E54,0x8E55,0xE1DA,
+0x8E56,0x8E57,0x8E58,0x8E59,0x8E5A,0x8E5B,0x8E5C,0x8E5D,
+0x8E5E,0x8E5F,0x8E60,0x8E61,0x8E62,0xE1DB,0x8E63,0x8E64,
+0x8E65,0x8E66,0x8E67,0x8E68,0x8E69,0xCEA1,0x8E6A,0x8E6B,
+0x8E6C,0x8E6D,0x8E6E,0x8E6F,0x8E70,0x8E71,0x8E72,0x8E73,
+0x8E74,0x8E75,0x8E76,0xE7DD,0x8E77,0xB4A8,0xD6DD,0x8E78,
+0x8E79,0xD1B2,0xB3B2,0x8E7A,0x8E7B,0xB9A4,0xD7F3,0xC7C9,
+0xBEDE,0xB9AE,0x8E7C,0xCED7,0x8E7D,0x8E7E,0xB2EE,0xDBCF,
+0x8E80,0xBCBA,0xD2D1,0xCBC8,0xB0CD,0x8E81,0x8E82,0xCFEF,
+0x8E83,0x8E84,0x8E85,0x8E86,0x8E87,0xD9E3,0xBDED,0x8E88,
+0x8E89,0xB1D2,0xCAD0,0xB2BC,0x8E8A,0xCBA7,0xB7AB,0x8E8B,
+0xCAA6,0x8E8C,0x8E8D,0x8E8E,0xCFA3,0x8E8F,0x8E90,0xE0F8,
+0xD5CA,0xE0FB,0x8E91,0x8E92,0xE0FA,0xC5C1,0xCCFB,0x8E93,
+0xC1B1,0xE0F9,0xD6E3,0xB2AF,0xD6C4,0xB5DB,0x8E94,0x8E95,
+0x8E96,0x8E97,0x8E98,0x8E99,0x8E9A,0x8E9B,0xB4F8,0xD6A1,
+0x8E9C,0x8E9D,0x8E9E,0x8E9F,0x8EA0,0xCFAF,0xB0EF,0x8EA1,
+0x8EA2,0xE0FC,0x8EA3,0x8EA4,0x8EA5,0x8EA6,0x8EA7,0xE1A1,
+0xB3A3,0x8EA8,0x8EA9,0xE0FD,0xE0FE,0xC3B1,0x8EAA,0x8EAB,
+0x8EAC,0x8EAD,0xC3DD,0x8EAE,0xE1A2,0xB7F9,0x8EAF,0x8EB0,
+0x8EB1,0x8EB2,0x8EB3,0x8EB4,0xBBCF,0x8EB5,0x8EB6,0x8EB7,
+0x8EB8,0x8EB9,0x8EBA,0x8EBB,0xE1A3,0xC4BB,0x8EBC,0x8EBD,
+0x8EBE,0x8EBF,0x8EC0,0xE1A4,0x8EC1,0x8EC2,0xE1A5,0x8EC3,
+0x8EC4,0xE1A6,0xB4B1,0x8EC5,0x8EC6,0x8EC7,0x8EC8,0x8EC9,
+0x8ECA,0x8ECB,0x8ECC,0x8ECD,0x8ECE,0x8ECF,0x8ED0,0x8ED1,
+0x8ED2,0x8ED3,0xB8C9,0xC6BD,0xC4EA,0x8ED4,0xB2A2,0x8ED5,
+0xD0D2,0x8ED6,0xE7DB,0xBBC3,0xD3D7,0xD3C4,0x8ED7,0xB9E3,
+0xE2CF,0x8ED8,0x8ED9,0x8EDA,0xD7AF,0x8EDB,0xC7EC,0xB1D3,
+0x8EDC,0x8EDD,0xB4B2,0xE2D1,0x8EDE,0x8EDF,0x8EE0,0xD0F2,
+0xC2AE,0xE2D0,0x8EE1,0xBFE2,0xD3A6,0xB5D7,0xE2D2,0xB5EA,
+0x8EE2,0xC3ED,0xB8FD,0x8EE3,0xB8AE,0x8EE4,0xC5D3,0xB7CF,
+0xE2D4,0x8EE5,0x8EE6,0x8EE7,0x8EE8,0xE2D3,0xB6C8,0xD7F9,
+0x8EE9,0x8EEA,0x8EEB,0x8EEC,0x8EED,0xCDA5,0x8EEE,0x8EEF,
+0x8EF0,0x8EF1,0x8EF2,0xE2D8,0x8EF3,0xE2D6,0xCAFC,0xBFB5,
+0xD3B9,0xE2D5,0x8EF4,0x8EF5,0x8EF6,0x8EF7,0xE2D7,0x8EF8,
+0x8EF9,0x8EFA,0x8EFB,0x8EFC,0x8EFD,0x8EFE,0x8F40,0x8F41,
+0x8F42,0xC1AE,0xC0C8,0x8F43,0x8F44,0x8F45,0x8F46,0x8F47,
+0x8F48,0xE2DB,0xE2DA,0xC0AA,0x8F49,0x8F4A,0xC1CE,0x8F4B,
+0x8F4C,0x8F4D,0x8F4E,0xE2DC,0x8F4F,0x8F50,0x8F51,0x8F52,
+0x8F53,0x8F54,0x8F55,0x8F56,0x8F57,0x8F58,0x8F59,0x8F5A,
+0xE2DD,0x8F5B,0xE2DE,0x8F5C,0x8F5D,0x8F5E,0x8F5F,0x8F60,
+0x8F61,0x8F62,0x8F63,0x8F64,0xDBC8,0x8F65,0xD1D3,0xCDA2,
+0x8F66,0x8F67,0xBDA8,0x8F68,0x8F69,0x8F6A,0xDEC3,0xD8A5,
+0xBFAA,0xDBCD,0xD2EC,0xC6FA,0xC5AA,0x8F6B,0x8F6C,0x8F6D,
+0xDEC4,0x8F6E,0xB1D7,0xDFAE,0x8F6F,0x8F70,0x8F71,0xCABD,
+0x8F72,0xDFB1,0x8F73,0xB9AD,0x8F74,0xD2FD,0x8F75,0xB8A5,
+0xBAEB,0x8F76,0x8F77,0xB3DA,0x8F78,0x8F79,0x8F7A,0xB5DC,
+0xD5C5,0x8F7B,0x8F7C,0x8F7D,0x8F7E,0xC3D6,0xCFD2,0xBBA1,
+0x8F80,0xE5F3,0xE5F2,0x8F81,0x8F82,0xE5F4,0x8F83,0xCDE4,
+0x8F84,0xC8F5,0x8F85,0x8F86,0x8F87,0x8F88,0x8F89,0x8F8A,
+0x8F8B,0xB5AF,0xC7BF,0x8F8C,0xE5F6,0x8F8D,0x8F8E,0x8F8F,
+0xECB0,0x8F90,0x8F91,0x8F92,0x8F93,0x8F94,0x8F95,0x8F96,
+0x8F97,0x8F98,0x8F99,0x8F9A,0x8F9B,0x8F9C,0x8F9D,0x8F9E,
+0xE5E6,0x8F9F,0xB9E9,0xB5B1,0x8FA0,0xC2BC,0xE5E8,0xE5E7,
+0xE5E9,0x8FA1,0x8FA2,0x8FA3,0x8FA4,0xD2CD,0x8FA5,0x8FA6,
+0x8FA7,0xE1EA,0xD0CE,0x8FA8,0xCDAE,0x8FA9,0xD1E5,0x8FAA,
+0x8FAB,0xB2CA,0xB1EB,0x8FAC,0xB1F2,0xC5ED,0x8FAD,0x8FAE,
+0xD5C3,0xD3B0,0x8FAF,0xE1DC,0x8FB0,0x8FB1,0x8FB2,0xE1DD,
+0x8FB3,0xD2DB,0x8FB4,0xB3B9,0xB1CB,0x8FB5,0x8FB6,0x8FB7,
+0xCDF9,0xD5F7,0xE1DE,0x8FB8,0xBEB6,0xB4FD,0x8FB9,0xE1DF,
+0xBADC,0xE1E0,0xBBB2,0xC2C9,0xE1E1,0x8FBA,0x8FBB,0x8FBC,
+0xD0EC,0x8FBD,0xCDBD,0x8FBE,0x8FBF,0xE1E2,0x8FC0,0xB5C3,
+0xC5C7,0xE1E3,0x8FC1,0x8FC2,0xE1E4,0x8FC3,0x8FC4,0x8FC5,
+0x8FC6,0xD3F9,0x8FC7,0x8FC8,0x8FC9,0x8FCA,0x8FCB,0x8FCC,
+0xE1E5,0x8FCD,0xD1AD,0x8FCE,0x8FCF,0xE1E6,0xCEA2,0x8FD0,
+0x8FD1,0x8FD2,0x8FD3,0x8FD4,0x8FD5,0xE1E7,0x8FD6,0xB5C2,
+0x8FD7,0x8FD8,0x8FD9,0x8FDA,0xE1E8,0xBBD5,0x8FDB,0x8FDC,
+0x8FDD,0x8FDE,0x8FDF,0xD0C4,0xE2E0,0xB1D8,0xD2E4,0x8FE0,
+0x8FE1,0xE2E1,0x8FE2,0x8FE3,0xBCC9,0xC8CC,0x8FE4,0xE2E3,
+0xECFE,0xECFD,0xDFAF,0x8FE5,0x8FE6,0x8FE7,0xE2E2,0xD6BE,
+0xCDFC,0xC3A6,0x8FE8,0x8FE9,0x8FEA,0xE3C3,0x8FEB,0x8FEC,
+0xD6D2,0xE2E7,0x8FED,0x8FEE,0xE2E8,0x8FEF,0x8FF0,0xD3C7,
+0x8FF1,0x8FF2,0xE2EC,0xBFEC,0x8FF3,0xE2ED,0xE2E5,0x8FF4,
+0x8FF5,0xB3C0,0x8FF6,0x8FF7,0x8FF8,0xC4EE,0x8FF9,0x8FFA,
+0xE2EE,0x8FFB,0x8FFC,0xD0C3,0x8FFD,0xBAF6,0xE2E9,0xB7DE,
+0xBBB3,0xCCAC,0xCBCB,0xE2E4,0xE2E6,0xE2EA,0xE2EB,0x8FFE,
+0x9040,0x9041,0xE2F7,0x9042,0x9043,0xE2F4,0xD4F5,0xE2F3,
+0x9044,0x9045,0xC5AD,0x9046,0xD5FA,0xC5C2,0xB2C0,0x9047,
+0x9048,0xE2EF,0x9049,0xE2F2,0xC1AF,0xCBBC,0x904A,0x904B,
+0xB5A1,0xE2F9,0x904C,0x904D,0x904E,0xBCB1,0xE2F1,0xD0D4,
+0xD4B9,0xE2F5,0xB9D6,0xE2F6,0x904F,0x9050,0x9051,0xC7D3,
+0x9052,0x9053,0x9054,0x9055,0x9056,0xE2F0,0x9057,0x9058,
+0x9059,0x905A,0x905B,0xD7DC,0xEDA1,0x905C,0x905D,0xE2F8,
+0x905E,0xEDA5,0xE2FE,0xCAD1,0x905F,0x9060,0x9061,0x9062,
+0x9063,0x9064,0x9065,0xC1B5,0x9066,0xBBD0,0x9067,0x9068,
+0xBFD6,0x9069,0xBAE3,0x906A,0x906B,0xCBA1,0x906C,0x906D,
+0x906E,0xEDA6,0xEDA3,0x906F,0x9070,0xEDA2,0x9071,0x9072,
+0x9073,0x9074,0xBBD6,0xEDA7,0xD0F4,0x9075,0x9076,0xEDA4,
+0xBADE,0xB6F7,0xE3A1,0xB6B2,0xCCF1,0xB9A7,0x9077,0xCFA2,
+0xC7A1,0x9078,0x9079,0xBFD2,0x907A,0x907B,0xB6F1,0x907C,
+0xE2FA,0xE2FB,0xE2FD,0xE2FC,0xC4D5,0xE3A2,0x907D,0xD3C1,
+0x907E,0x9080,0x9081,0xE3A7,0xC7C4,0x9082,0x9083,0x9084,
+0x9085,0xCFA4,0x9086,0x9087,0xE3A9,0xBAB7,0x9088,0x9089,
+0x908A,0x908B,0xE3A8,0x908C,0xBBDA,0x908D,0xE3A3,0x908E,
+0x908F,0x9090,0xE3A4,0xE3AA,0x9091,0xE3A6,0x9092,0xCEF2,
+0xD3C6,0x9093,0x9094,0xBBBC,0x9095,0x9096,0xD4C3,0x9097,
+0xC4FA,0x9098,0x9099,0xEDA8,0xD0FC,0xE3A5,0x909A,0xC3F5,
+0x909B,0xE3AD,0xB1AF,0x909C,0xE3B2,0x909D,0x909E,0x909F,
+0xBCC2,0x90A0,0x90A1,0xE3AC,0xB5BF,0x90A2,0x90A3,0x90A4,
+0x90A5,0x90A6,0x90A7,0x90A8,0x90A9,0xC7E9,0xE3B0,0x90AA,
+0x90AB,0x90AC,0xBEAA,0xCDEF,0x90AD,0x90AE,0x90AF,0x90B0,
+0x90B1,0xBBF3,0x90B2,0x90B3,0x90B4,0xCCE8,0x90B5,0x90B6,
+0xE3AF,0x90B7,0xE3B1,0x90B8,0xCFA7,0xE3AE,0x90B9,0xCEA9,
+0xBBDD,0x90BA,0x90BB,0x90BC,0x90BD,0x90BE,0xB5EB,0xBEE5,
+0xB2D2,0xB3CD,0x90BF,0xB1B9,0xE3AB,0xB2D1,0xB5AC,0xB9DF,
+0xB6E8,0x90C0,0x90C1,0xCFEB,0xE3B7,0x90C2,0xBBCC,0x90C3,
+0x90C4,0xC8C7,0xD0CA,0x90C5,0x90C6,0x90C7,0x90C8,0x90C9,
+0xE3B8,0xB3EE,0x90CA,0x90CB,0x90CC,0x90CD,0xEDA9,0x90CE,
+0xD3FA,0xD3E4,0x90CF,0x90D0,0x90D1,0xEDAA,0xE3B9,0xD2E2,
+0x90D2,0x90D3,0x90D4,0x90D5,0x90D6,0xE3B5,0x90D7,0x90D8,
+0x90D9,0x90DA,0xD3DE,0x90DB,0x90DC,0x90DD,0x90DE,0xB8D0,
+0xE3B3,0x90DF,0x90E0,0xE3B6,0xB7DF,0x90E1,0xE3B4,0xC0A2,
+0x90E2,0x90E3,0x90E4,0xE3BA,0x90E5,0x90E6,0x90E7,0x90E8,
+0x90E9,0x90EA,0x90EB,0x90EC,0x90ED,0x90EE,0x90EF,0x90F0,
+0x90F1,0x90F2,0x90F3,0x90F4,0x90F5,0x90F6,0x90F7,0xD4B8,
+0x90F8,0x90F9,0x90FA,0x90FB,0x90FC,0x90FD,0x90FE,0x9140,
+0xB4C8,0x9141,0xE3BB,0x9142,0xBBC5,0x9143,0xC9F7,0x9144,
+0x9145,0xC9E5,0x9146,0x9147,0x9148,0xC4BD,0x9149,0x914A,
+0x914B,0x914C,0x914D,0x914E,0x914F,0xEDAB,0x9150,0x9151,
+0x9152,0x9153,0xC2FD,0x9154,0x9155,0x9156,0x9157,0xBBDB,
+0xBFAE,0x9158,0x9159,0x915A,0x915B,0x915C,0x915D,0x915E,
+0xCEBF,0x915F,0x9160,0x9161,0x9162,0xE3BC,0x9163,0xBFB6,
+0x9164,0x9165,0x9166,0x9167,0x9168,0x9169,0x916A,0x916B,
+0x916C,0x916D,0x916E,0x916F,0x9170,0x9171,0x9172,0x9173,
+0x9174,0x9175,0x9176,0xB1EF,0x9177,0x9178,0xD4F7,0x9179,
+0x917A,0x917B,0x917C,0x917D,0xE3BE,0x917E,0x9180,0x9181,
+0x9182,0x9183,0x9184,0x9185,0x9186,0xEDAD,0x9187,0x9188,
+0x9189,0x918A,0x918B,0x918C,0x918D,0x918E,0x918F,0xE3BF,
+0xBAA9,0xEDAC,0x9190,0x9191,0xE3BD,0x9192,0x9193,0x9194,
+0x9195,0x9196,0x9197,0x9198,0x9199,0x919A,0x919B,0xE3C0,
+0x919C,0x919D,0x919E,0x919F,0x91A0,0x91A1,0xBAB6,0x91A2,
+0x91A3,0x91A4,0xB6AE,0x91A5,0x91A6,0x91A7,0x91A8,0x91A9,
+0xD0B8,0x91AA,0xB0C3,0xEDAE,0x91AB,0x91AC,0x91AD,0x91AE,
+0x91AF,0xEDAF,0xC0C1,0x91B0,0xE3C1,0x91B1,0x91B2,0x91B3,
+0x91B4,0x91B5,0x91B6,0x91B7,0x91B8,0x91B9,0x91BA,0x91BB,
+0x91BC,0x91BD,0x91BE,0x91BF,0x91C0,0x91C1,0xC5B3,0x91C2,
+0x91C3,0x91C4,0x91C5,0x91C6,0x91C7,0x91C8,0x91C9,0x91CA,
+0x91CB,0x91CC,0x91CD,0x91CE,0x91CF,0xE3C2,0x91D0,0x91D1,
+0x91D2,0x91D3,0x91D4,0x91D5,0x91D6,0x91D7,0x91D8,0xDCB2,
+0x91D9,0x91DA,0x91DB,0x91DC,0x91DD,0x91DE,0xEDB0,0x91DF,
+0xB8EA,0x91E0,0xCEEC,0xEAA7,0xD0E7,0xCAF9,0xC8D6,0xCFB7,
+0xB3C9,0xCED2,0xBDE4,0x91E1,0x91E2,0xE3DE,0xBBF2,0xEAA8,
+0xD5BD,0x91E3,0xC6DD,0xEAA9,0x91E4,0x91E5,0x91E6,0xEAAA,
+0x91E7,0xEAAC,0xEAAB,0x91E8,0xEAAE,0xEAAD,0x91E9,0x91EA,
+0x91EB,0x91EC,0xBDD8,0x91ED,0xEAAF,0x91EE,0xC2BE,0x91EF,
+0x91F0,0x91F1,0x91F2,0xB4C1,0xB4F7,0x91F3,0x91F4,0xBBA7,
+0x91F5,0x91F6,0x91F7,0x91F8,0x91F9,0xECE6,0xECE5,0xB7BF,
+0xCBF9,0xB1E2,0x91FA,0xECE7,0x91FB,0x91FC,0x91FD,0xC9C8,
+0xECE8,0xECE9,0x91FE,0xCAD6,0xDED0,0xB2C5,0xD4FA,0x9240,
+0x9241,0xC6CB,0xB0C7,0xB4F2,0xC8D3,0x9242,0x9243,0x9244,
+0xCDD0,0x9245,0x9246,0xBFB8,0x9247,0x9248,0x9249,0x924A,
+0x924B,0x924C,0x924D,0xBFDB,0x924E,0x924F,0xC7A4,0xD6B4,
+0x9250,0xC0A9,0xDED1,0xC9A8,0xD1EF,0xC5A4,0xB0E7,0xB3B6,
+0xC8C5,0x9251,0x9252,0xB0E2,0x9253,0x9254,0xB7F6,0x9255,
+0x9256,0xC5FA,0x9257,0x9258,0xB6F3,0x9259,0xD5D2,0xB3D0,
+0xBCBC,0x925A,0x925B,0x925C,0xB3AD,0x925D,0x925E,0x925F,
+0x9260,0xBEF1,0xB0D1,0x9261,0x9262,0x9263,0x9264,0x9265,
+0x9266,0xD2D6,0xCAE3,0xD7A5,0x9267,0xCDB6,0xB6B6,0xBFB9,
+0xD5DB,0x9268,0xB8A7,0xC5D7,0x9269,0x926A,0x926B,0xDED2,
+0xBFD9,0xC2D5,0xC7C0,0x926C,0xBBA4,0xB1A8,0x926D,0x926E,
+0xC5EA,0x926F,0x9270,0xC5FB,0xCCA7,0x9271,0x9272,0x9273,
+0x9274,0xB1A7,0x9275,0x9276,0x9277,0xB5D6,0x9278,0x9279,
+0x927A,0xC4A8,0x927B,0xDED3,0xD1BA,0xB3E9,0x927C,0xC3F2,
+0x927D,0x927E,0xB7F7,0x9280,0xD6F4,0xB5A3,0xB2F0,0xC4B4,
+0xC4E9,0xC0AD,0xDED4,0x9281,0xB0E8,0xC5C4,0xC1E0,0x9282,
+0xB9D5,0x9283,0xBEDC,0xCDD8,0xB0CE,0x9284,0xCDCF,0xDED6,
+0xBED0,0xD7BE,0xDED5,0xD5D0,0xB0DD,0x9285,0x9286,0xC4E2,
+0x9287,0x9288,0xC2A3,0xBCF0,0x9289,0xD3B5,0xC0B9,0xC5A1,
+0xB2A6,0xD4F1,0x928A,0x928B,0xC0A8,0xCAC3,0xDED7,0xD5FC,
+0x928C,0xB9B0,0x928D,0xC8AD,0xCBA9,0x928E,0xDED9,0xBFBD,
+0x928F,0x9290,0x9291,0x9292,0xC6B4,0xD7A7,0xCAB0,0xC4C3,
+0x9293,0xB3D6,0xB9D2,0x9294,0x9295,0x9296,0x9297,0xD6B8,
+0xEAFC,0xB0B4,0x9298,0x9299,0x929A,0x929B,0xBFE6,0x929C,
+0x929D,0xCCF4,0x929E,0x929F,0x92A0,0x92A1,0xCDDA,0x92A2,
+0x92A3,0x92A4,0xD6BF,0xC2CE,0x92A5,0xCECE,0xCCA2,0xD0AE,
+0xC4D3,0xB5B2,0xDED8,0xD5F5,0xBCB7,0xBBD3,0x92A6,0x92A7,
+0xB0A4,0x92A8,0xC5B2,0xB4EC,0x92A9,0x92AA,0x92AB,0xD5F1,
+0x92AC,0x92AD,0xEAFD,0x92AE,0x92AF,0x92B0,0x92B1,0x92B2,
+0x92B3,0xDEDA,0xCDA6,0x92B4,0x92B5,0xCDEC,0x92B6,0x92B7,
+0x92B8,0x92B9,0xCEE6,0xDEDC,0x92BA,0xCDB1,0xC0A6,0x92BB,
+0x92BC,0xD7BD,0x92BD,0xDEDB,0xB0C6,0xBAB4,0xC9D3,0xC4F3,
+0xBEE8,0x92BE,0x92BF,0x92C0,0x92C1,0xB2B6,0x92C2,0x92C3,
+0x92C4,0x92C5,0x92C6,0x92C7,0x92C8,0x92C9,0xC0CC,0xCBF0,
+0x92CA,0xBCF1,0xBBBB,0xB5B7,0x92CB,0x92CC,0x92CD,0xC5F5,
+0x92CE,0xDEE6,0x92CF,0x92D0,0x92D1,0xDEE3,0xBEDD,0x92D2,
+0x92D3,0xDEDF,0x92D4,0x92D5,0x92D6,0x92D7,0xB4B7,0xBDDD,
+0x92D8,0x92D9,0xDEE0,0xC4ED,0x92DA,0x92DB,0x92DC,0x92DD,
+0xCFC6,0x92DE,0xB5E0,0x92DF,0x92E0,0x92E1,0x92E2,0xB6DE,
+0xCADA,0xB5F4,0xDEE5,0x92E3,0xD5C6,0x92E4,0xDEE1,0xCCCD,
+0xC6FE,0x92E5,0xC5C5,0x92E6,0x92E7,0x92E8,0xD2B4,0x92E9,
+0xBEF2,0x92EA,0x92EB,0x92EC,0x92ED,0x92EE,0x92EF,0x92F0,
+0xC2D3,0x92F1,0xCCBD,0xB3B8,0x92F2,0xBDD3,0x92F3,0xBFD8,
+0xCDC6,0xD1DA,0xB4EB,0x92F4,0xDEE4,0xDEDD,0xDEE7,0x92F5,
+0xEAFE,0x92F6,0x92F7,0xC2B0,0xDEE2,0x92F8,0x92F9,0xD6C0,
+0xB5A7,0x92FA,0xB2F4,0x92FB,0xDEE8,0x92FC,0xDEF2,0x92FD,
+0x92FE,0x9340,0x9341,0x9342,0xDEED,0x9343,0xDEF1,0x9344,
+0x9345,0xC8E0,0x9346,0x9347,0x9348,0xD7E1,0xDEEF,0xC3E8,
+0xCCE1,0x9349,0xB2E5,0x934A,0x934B,0x934C,0xD2BE,0x934D,
+0x934E,0x934F,0x9350,0x9351,0x9352,0x9353,0xDEEE,0x9354,
+0xDEEB,0xCED5,0x9355,0xB4A7,0x9356,0x9357,0x9358,0x9359,
+0x935A,0xBFAB,0xBEBE,0x935B,0x935C,0xBDD2,0x935D,0x935E,
+0x935F,0x9360,0xDEE9,0x9361,0xD4AE,0x9362,0xDEDE,0x9363,
+0xDEEA,0x9364,0x9365,0x9366,0x9367,0xC0BF,0x9368,0xDEEC,
+0xB2F3,0xB8E9,0xC2A7,0x9369,0x936A,0xBDC1,0x936B,0x936C,
+0x936D,0x936E,0x936F,0xDEF5,0xDEF8,0x9370,0x9371,0xB2AB,
+0xB4A4,0x9372,0x9373,0xB4EA,0xC9A6,0x9374,0x9375,0x9376,
+0x9377,0x9378,0x9379,0xDEF6,0xCBD1,0x937A,0xB8E3,0x937B,
+0xDEF7,0xDEFA,0x937C,0x937D,0x937E,0x9380,0xDEF9,0x9381,
+0x9382,0x9383,0xCCC2,0x9384,0xB0E1,0xB4EE,0x9385,0x9386,
+0x9387,0x9388,0x9389,0x938A,0xE5BA,0x938B,0x938C,0x938D,
+0x938E,0x938F,0xD0AF,0x9390,0x9391,0xB2EB,0x9392,0xEBA1,
+0x9393,0xDEF4,0x9394,0x9395,0xC9E3,0xDEF3,0xB0DA,0xD2A1,
+0xB1F7,0x9396,0xCCAF,0x9397,0x9398,0x9399,0x939A,0x939B,
+0x939C,0x939D,0xDEF0,0x939E,0xCBA4,0x939F,0x93A0,0x93A1,
+0xD5AA,0x93A2,0x93A3,0x93A4,0x93A5,0x93A6,0xDEFB,0x93A7,
+0x93A8,0x93A9,0x93AA,0x93AB,0x93AC,0x93AD,0x93AE,0xB4DD,
+0x93AF,0xC4A6,0x93B0,0x93B1,0x93B2,0xDEFD,0x93B3,0x93B4,
+0x93B5,0x93B6,0x93B7,0x93B8,0x93B9,0x93BA,0x93BB,0x93BC,
+0xC3FE,0xC4A1,0xDFA1,0x93BD,0x93BE,0x93BF,0x93C0,0x93C1,
+0x93C2,0x93C3,0xC1CC,0x93C4,0xDEFC,0xBEEF,0x93C5,0xC6B2,
+0x93C6,0x93C7,0x93C8,0x93C9,0x93CA,0x93CB,0x93CC,0x93CD,
+0x93CE,0xB3C5,0xC8F6,0x93CF,0x93D0,0xCBBA,0xDEFE,0x93D1,
+0x93D2,0xDFA4,0x93D3,0x93D4,0x93D5,0x93D6,0xD7B2,0x93D7,
+0x93D8,0x93D9,0x93DA,0x93DB,0xB3B7,0x93DC,0x93DD,0x93DE,
+0x93DF,0xC1C3,0x93E0,0x93E1,0xC7CB,0xB2A5,0xB4E9,0x93E2,
+0xD7AB,0x93E3,0x93E4,0x93E5,0x93E6,0xC4EC,0x93E7,0xDFA2,
+0xDFA3,0x93E8,0xDFA5,0x93E9,0xBAB3,0x93EA,0x93EB,0x93EC,
+0xDFA6,0x93ED,0xC0DE,0x93EE,0x93EF,0xC9C3,0x93F0,0x93F1,
+0x93F2,0x93F3,0x93F4,0x93F5,0x93F6,0xB2D9,0xC7E6,0x93F7,
+0xDFA7,0x93F8,0xC7DC,0x93F9,0x93FA,0x93FB,0x93FC,0xDFA8,
+0xEBA2,0x93FD,0x93FE,0x9440,0x9441,0x9442,0xCBD3,0x9443,
+0x9444,0x9445,0xDFAA,0x9446,0xDFA9,0x9447,0xB2C1,0x9448,
+0x9449,0x944A,0x944B,0x944C,0x944D,0x944E,0x944F,0x9450,
+0x9451,0x9452,0x9453,0x9454,0x9455,0x9456,0x9457,0x9458,
+0x9459,0x945A,0x945B,0x945C,0x945D,0x945E,0x945F,0x9460,
+0xC5CA,0x9461,0x9462,0x9463,0x9464,0x9465,0x9466,0x9467,
+0x9468,0xDFAB,0x9469,0x946A,0x946B,0x946C,0x946D,0x946E,
+0x946F,0x9470,0xD4DC,0x9471,0x9472,0x9473,0x9474,0x9475,
+0xC8C1,0x9476,0x9477,0x9478,0x9479,0x947A,0x947B,0x947C,
+0x947D,0x947E,0x9480,0x9481,0x9482,0xDFAC,0x9483,0x9484,
+0x9485,0x9486,0x9487,0xBEF0,0x9488,0x9489,0xDFAD,0xD6A7,
+0x948A,0x948B,0x948C,0x948D,0xEAB7,0xEBB6,0xCAD5,0x948E,
+0xD8FC,0xB8C4,0x948F,0xB9A5,0x9490,0x9491,0xB7C5,0xD5FE,
+0x9492,0x9493,0x9494,0x9495,0x9496,0xB9CA,0x9497,0x9498,
+0xD0A7,0xF4CD,0x9499,0x949A,0xB5D0,0x949B,0x949C,0xC3F4,
+0x949D,0xBEC8,0x949E,0x949F,0x94A0,0xEBB7,0xB0BD,0x94A1,
+0x94A2,0xBDCC,0x94A3,0xC1B2,0x94A4,0xB1D6,0xB3A8,0x94A5,
+0x94A6,0x94A7,0xB8D2,0xC9A2,0x94A8,0x94A9,0xB6D8,0x94AA,
+0x94AB,0x94AC,0x94AD,0xEBB8,0xBEB4,0x94AE,0x94AF,0x94B0,
+0xCAFD,0x94B1,0xC7C3,0x94B2,0xD5FB,0x94B3,0x94B4,0xB7F3,
+0x94B5,0x94B6,0x94B7,0x94B8,0x94B9,0x94BA,0x94BB,0x94BC,
+0x94BD,0x94BE,0x94BF,0x94C0,0x94C1,0x94C2,0x94C3,0xCEC4,
+0x94C4,0x94C5,0x94C6,0xD5AB,0xB1F3,0x94C7,0x94C8,0x94C9,
+0xECB3,0xB0DF,0x94CA,0xECB5,0x94CB,0x94CC,0x94CD,0xB6B7,
+0x94CE,0xC1CF,0x94CF,0xF5FA,0xD0B1,0x94D0,0x94D1,0xD5E5,
+0x94D2,0xCED3,0x94D3,0x94D4,0xBDEF,0xB3E2,0x94D5,0xB8AB,
+0x94D6,0xD5B6,0x94D7,0xEDBD,0x94D8,0xB6CF,0x94D9,0xCBB9,
+0xD0C2,0x94DA,0x94DB,0x94DC,0x94DD,0x94DE,0x94DF,0x94E0,
+0x94E1,0xB7BD,0x94E2,0x94E3,0xECB6,0xCAA9,0x94E4,0x94E5,
+0x94E6,0xC5D4,0x94E7,0xECB9,0xECB8,0xC2C3,0xECB7,0x94E8,
+0x94E9,0x94EA,0x94EB,0xD0FD,0xECBA,0x94EC,0xECBB,0xD7E5,
+0x94ED,0x94EE,0xECBC,0x94EF,0x94F0,0x94F1,0xECBD,0xC6EC,
+0x94F2,0x94F3,0x94F4,0x94F5,0x94F6,0x94F7,0x94F8,0x94F9,
+0xCEDE,0x94FA,0xBCC8,0x94FB,0x94FC,0xC8D5,0xB5A9,0xBEC9,
+0xD6BC,0xD4E7,0x94FD,0x94FE,0xD1AE,0xD0F1,0xEAB8,0xEAB9,
+0xEABA,0xBAB5,0x9540,0x9541,0x9542,0x9543,0xCAB1,0xBFF5,
+0x9544,0x9545,0xCDFA,0x9546,0x9547,0x9548,0x9549,0x954A,
+0xEAC0,0x954B,0xB0BA,0xEABE,0x954C,0x954D,0xC0A5,0x954E,
+0x954F,0x9550,0xEABB,0x9551,0xB2FD,0x9552,0xC3F7,0xBBE8,
+0x9553,0x9554,0x9555,0xD2D7,0xCEF4,0xEABF,0x9556,0x9557,
+0x9558,0xEABC,0x9559,0x955A,0x955B,0xEAC3,0x955C,0xD0C7,
+0xD3B3,0x955D,0x955E,0x955F,0x9560,0xB4BA,0x9561,0xC3C1,
+0xD7F2,0x9562,0x9563,0x9564,0x9565,0xD5D1,0x9566,0xCAC7,
+0x9567,0xEAC5,0x9568,0x9569,0xEAC4,0xEAC7,0xEAC6,0x956A,
+0x956B,0x956C,0x956D,0x956E,0xD6E7,0x956F,0xCFD4,0x9570,
+0x9571,0xEACB,0x9572,0xBBCE,0x9573,0x9574,0x9575,0x9576,
+0x9577,0x9578,0x9579,0xBDFA,0xC9CE,0x957A,0x957B,0xEACC,
+0x957C,0x957D,0xC9B9,0xCFFE,0xEACA,0xD4CE,0xEACD,0xEACF,
+0x957E,0x9580,0xCDED,0x9581,0x9582,0x9583,0x9584,0xEAC9,
+0x9585,0xEACE,0x9586,0x9587,0xCEEE,0x9588,0xBBDE,0x9589,
+0xB3BF,0x958A,0x958B,0x958C,0x958D,0x958E,0xC6D5,0xBEB0,
+0xCEFA,0x958F,0x9590,0x9591,0xC7E7,0x9592,0xBEA7,0xEAD0,
+0x9593,0x9594,0xD6C7,0x9595,0x9596,0x9597,0xC1C0,0x9598,
+0x9599,0x959A,0xD4DD,0x959B,0xEAD1,0x959C,0x959D,0xCFBE,
+0x959E,0x959F,0x95A0,0x95A1,0xEAD2,0x95A2,0x95A3,0x95A4,
+0x95A5,0xCAEE,0x95A6,0x95A7,0x95A8,0x95A9,0xC5AF,0xB0B5,
+0x95AA,0x95AB,0x95AC,0x95AD,0x95AE,0xEAD4,0x95AF,0x95B0,
+0x95B1,0x95B2,0x95B3,0x95B4,0x95B5,0x95B6,0x95B7,0xEAD3,
+0xF4DF,0x95B8,0x95B9,0x95BA,0x95BB,0x95BC,0xC4BA,0x95BD,
+0x95BE,0x95BF,0x95C0,0x95C1,0xB1A9,0x95C2,0x95C3,0x95C4,
+0x95C5,0xE5DF,0x95C6,0x95C7,0x95C8,0x95C9,0xEAD5,0x95CA,
+0x95CB,0x95CC,0x95CD,0x95CE,0x95CF,0x95D0,0x95D1,0x95D2,
+0x95D3,0x95D4,0x95D5,0x95D6,0x95D7,0x95D8,0x95D9,0x95DA,
+0x95DB,0x95DC,0x95DD,0x95DE,0x95DF,0x95E0,0x95E1,0x95E2,
+0x95E3,0xCAEF,0x95E4,0xEAD6,0xEAD7,0xC6D8,0x95E5,0x95E6,
+0x95E7,0x95E8,0x95E9,0x95EA,0x95EB,0x95EC,0xEAD8,0x95ED,
+0x95EE,0xEAD9,0x95EF,0x95F0,0x95F1,0x95F2,0x95F3,0x95F4,
+0xD4BB,0x95F5,0xC7FA,0xD2B7,0xB8FC,0x95F6,0x95F7,0xEAC2,
+0x95F8,0xB2DC,0x95F9,0x95FA,0xC2FC,0x95FB,0xD4F8,0xCCE6,
+0xD7EE,0x95FC,0x95FD,0x95FE,0x9640,0x9641,0x9642,0x9643,
+0xD4C2,0xD3D0,0xEBC3,0xC5F3,0x9644,0xB7FE,0x9645,0x9646,
+0xEBD4,0x9647,0x9648,0x9649,0xCBB7,0xEBDE,0x964A,0xC0CA,
+0x964B,0x964C,0x964D,0xCDFB,0x964E,0xB3AF,0x964F,0xC6DA,
+0x9650,0x9651,0x9652,0x9653,0x9654,0x9655,0xEBFC,0x9656,
+0xC4BE,0x9657,0xCEB4,0xC4A9,0xB1BE,0xD4FD,0x9658,0xCAF5,
+0x9659,0xD6EC,0x965A,0x965B,0xC6D3,0xB6E4,0x965C,0x965D,
+0x965E,0x965F,0xBBFA,0x9660,0x9661,0xD0E0,0x9662,0x9663,
+0xC9B1,0x9664,0xD4D3,0xC8A8,0x9665,0x9666,0xB8CB,0x9667,
+0xE8BE,0xC9BC,0x9668,0x9669,0xE8BB,0x966A,0xC0EE,0xD0D3,
+0xB2C4,0xB4E5,0x966B,0xE8BC,0x966C,0x966D,0xD5C8,0x966E,
+0x966F,0x9670,0x9671,0x9672,0xB6C5,0x9673,0xE8BD,0xCAF8,
+0xB8DC,0xCCF5,0x9674,0x9675,0x9676,0xC0B4,0x9677,0x9678,
+0xD1EE,0xE8BF,0xE8C2,0x9679,0x967A,0xBABC,0x967B,0xB1AD,
+0xBDDC,0x967C,0xEABD,0xE8C3,0x967D,0xE8C6,0x967E,0xE8CB,
+0x9680,0x9681,0x9682,0x9683,0xE8CC,0x9684,0xCBC9,0xB0E5,
+0x9685,0xBCAB,0x9686,0x9687,0xB9B9,0x9688,0x9689,0xE8C1,
+0x968A,0xCDF7,0x968B,0xE8CA,0x968C,0x968D,0x968E,0x968F,
+0xCEF6,0x9690,0x9691,0x9692,0x9693,0xD5ED,0x9694,0xC1D6,
+0xE8C4,0x9695,0xC3B6,0x9696,0xB9FB,0xD6A6,0xE8C8,0x9697,
+0x9698,0x9699,0xCAE0,0xD4E6,0x969A,0xE8C0,0x969B,0xE8C5,
+0xE8C7,0x969C,0xC7B9,0xB7E3,0x969D,0xE8C9,0x969E,0xBFDD,
+0xE8D2,0x969F,0x96A0,0xE8D7,0x96A1,0xE8D5,0xBCDC,0xBCCF,
+0xE8DB,0x96A2,0x96A3,0x96A4,0x96A5,0x96A6,0x96A7,0x96A8,
+0x96A9,0xE8DE,0x96AA,0xE8DA,0xB1FA,0x96AB,0x96AC,0x96AD,
+0x96AE,0x96AF,0x96B0,0x96B1,0x96B2,0x96B3,0x96B4,0xB0D8,
+0xC4B3,0xB8CC,0xC6E2,0xC8BE,0xC8E1,0x96B5,0x96B6,0x96B7,
+0xE8CF,0xE8D4,0xE8D6,0x96B8,0xB9F1,0xE8D8,0xD7F5,0x96B9,
+0xC4FB,0x96BA,0xE8DC,0x96BB,0x96BC,0xB2E9,0x96BD,0x96BE,
+0x96BF,0xE8D1,0x96C0,0x96C1,0xBCED,0x96C2,0x96C3,0xBFC2,
+0xE8CD,0xD6F9,0x96C4,0xC1F8,0xB2F1,0x96C5,0x96C6,0x96C7,
+0x96C8,0x96C9,0x96CA,0x96CB,0x96CC,0xE8DF,0x96CD,0xCAC1,
+0xE8D9,0x96CE,0x96CF,0x96D0,0x96D1,0xD5A4,0x96D2,0xB1EA,
+0xD5BB,0xE8CE,0xE8D0,0xB6B0,0xE8D3,0x96D3,0xE8DD,0xC0B8,
+0x96D4,0xCAF7,0x96D5,0xCBA8,0x96D6,0x96D7,0xC6DC,0xC0F5,
+0x96D8,0x96D9,0x96DA,0x96DB,0x96DC,0xE8E9,0x96DD,0x96DE,
+0x96DF,0xD0A3,0x96E0,0x96E1,0x96E2,0x96E3,0x96E4,0x96E5,
+0x96E6,0xE8F2,0xD6EA,0x96E7,0x96E8,0x96E9,0x96EA,0x96EB,
+0x96EC,0x96ED,0xE8E0,0xE8E1,0x96EE,0x96EF,0x96F0,0xD1F9,
+0xBACB,0xB8F9,0x96F1,0x96F2,0xB8F1,0xD4D4,0xE8EF,0x96F3,
+0xE8EE,0xE8EC,0xB9F0,0xCCD2,0xE8E6,0xCEA6,0xBFF2,0x96F4,
+0xB0B8,0xE8F1,0xE8F0,0x96F5,0xD7C0,0x96F6,0xE8E4,0x96F7,
+0xCDA9,0xC9A3,0x96F8,0xBBB8,0xBDDB,0xE8EA,0x96F9,0x96FA,
+0x96FB,0x96FC,0x96FD,0x96FE,0x9740,0x9741,0x9742,0x9743,
+0xE8E2,0xE8E3,0xE8E5,0xB5B5,0xE8E7,0xC7C5,0xE8EB,0xE8ED,
+0xBDB0,0xD7AE,0x9744,0xE8F8,0x9745,0x9746,0x9747,0x9748,
+0x9749,0x974A,0x974B,0x974C,0xE8F5,0x974D,0xCDB0,0xE8F6,
+0x974E,0x974F,0x9750,0x9751,0x9752,0x9753,0x9754,0x9755,
+0x9756,0xC1BA,0x9757,0xE8E8,0x9758,0xC3B7,0xB0F0,0x9759,
+0x975A,0x975B,0x975C,0x975D,0x975E,0x975F,0x9760,0xE8F4,
+0x9761,0x9762,0x9763,0xE8F7,0x9764,0x9765,0x9766,0xB9A3,
+0x9767,0x9768,0x9769,0x976A,0x976B,0x976C,0x976D,0x976E,
+0x976F,0x9770,0xC9D2,0x9771,0x9772,0x9773,0xC3CE,0xCEE0,
+0xC0E6,0x9774,0x9775,0x9776,0x9777,0xCBF3,0x9778,0xCCDD,
+0xD0B5,0x9779,0x977A,0xCAE1,0x977B,0xE8F3,0x977C,0x977D,
+0x977E,0x9780,0x9781,0x9782,0x9783,0x9784,0x9785,0x9786,
+0xBCEC,0x9787,0xE8F9,0x9788,0x9789,0x978A,0x978B,0x978C,
+0x978D,0xC3DE,0x978E,0xC6E5,0x978F,0xB9F7,0x9790,0x9791,
+0x9792,0x9793,0xB0F4,0x9794,0x9795,0xD7D8,0x9796,0x9797,
+0xBCAC,0x9798,0xC5EF,0x9799,0x979A,0x979B,0x979C,0x979D,
+0xCCC4,0x979E,0x979F,0xE9A6,0x97A0,0x97A1,0x97A2,0x97A3,
+0x97A4,0x97A5,0x97A6,0x97A7,0x97A8,0x97A9,0xC9AD,0x97AA,
+0xE9A2,0xC0E2,0x97AB,0x97AC,0x97AD,0xBFC3,0x97AE,0x97AF,
+0x97B0,0xE8FE,0xB9D7,0x97B1,0xE8FB,0x97B2,0x97B3,0x97B4,
+0x97B5,0xE9A4,0x97B6,0x97B7,0x97B8,0xD2CE,0x97B9,0x97BA,
+0x97BB,0x97BC,0x97BD,0xE9A3,0x97BE,0xD6B2,0xD7B5,0x97BF,
+0xE9A7,0x97C0,0xBDB7,0x97C1,0x97C2,0x97C3,0x97C4,0x97C5,
+0x97C6,0x97C7,0x97C8,0x97C9,0x97CA,0x97CB,0x97CC,0xE8FC,
+0xE8FD,0x97CD,0x97CE,0x97CF,0xE9A1,0x97D0,0x97D1,0x97D2,
+0x97D3,0x97D4,0x97D5,0x97D6,0x97D7,0xCDD6,0x97D8,0x97D9,
+0xD2AC,0x97DA,0x97DB,0x97DC,0xE9B2,0x97DD,0x97DE,0x97DF,
+0x97E0,0xE9A9,0x97E1,0x97E2,0x97E3,0xB4AA,0x97E4,0xB4BB,
+0x97E5,0x97E6,0xE9AB,0x97E7,0x97E8,0x97E9,0x97EA,0x97EB,
+0x97EC,0x97ED,0x97EE,0x97EF,0x97F0,0x97F1,0x97F2,0x97F3,
+0x97F4,0x97F5,0x97F6,0x97F7,0xD0A8,0x97F8,0x97F9,0xE9A5,
+0x97FA,0x97FB,0xB3FE,0x97FC,0x97FD,0xE9AC,0xC0E3,0x97FE,
+0xE9AA,0x9840,0x9841,0xE9B9,0x9842,0x9843,0xE9B8,0x9844,
+0x9845,0x9846,0x9847,0xE9AE,0x9848,0x9849,0xE8FA,0x984A,
+0x984B,0xE9A8,0x984C,0x984D,0x984E,0x984F,0x9850,0xBFAC,
+0xE9B1,0xE9BA,0x9851,0x9852,0xC2A5,0x9853,0x9854,0x9855,
+0xE9AF,0x9856,0xB8C5,0x9857,0xE9AD,0x9858,0xD3DC,0xE9B4,
+0xE9B5,0xE9B7,0x9859,0x985A,0x985B,0xE9C7,0x985C,0x985D,
+0x985E,0x985F,0x9860,0x9861,0xC0C6,0xE9C5,0x9862,0x9863,
+0xE9B0,0x9864,0x9865,0xE9BB,0xB0F1,0x9866,0x9867,0x9868,
+0x9869,0x986A,0x986B,0x986C,0x986D,0x986E,0x986F,0xE9BC,
+0xD5A5,0x9870,0x9871,0xE9BE,0x9872,0xE9BF,0x9873,0x9874,
+0x9875,0xE9C1,0x9876,0x9877,0xC1F1,0x9878,0x9879,0xC8B6,
+0x987A,0x987B,0x987C,0xE9BD,0x987D,0x987E,0x9880,0x9881,
+0x9882,0xE9C2,0x9883,0x9884,0x9885,0x9886,0x9887,0x9888,
+0x9889,0x988A,0xE9C3,0x988B,0xE9B3,0x988C,0xE9B6,0x988D,
+0xBBB1,0x988E,0x988F,0x9890,0xE9C0,0x9891,0x9892,0x9893,
+0x9894,0x9895,0x9896,0xBCF7,0x9897,0x9898,0x9899,0xE9C4,
+0xE9C6,0x989A,0x989B,0x989C,0x989D,0x989E,0x989F,0x98A0,
+0x98A1,0x98A2,0x98A3,0x98A4,0x98A5,0xE9CA,0x98A6,0x98A7,
+0x98A8,0x98A9,0xE9CE,0x98AA,0x98AB,0x98AC,0x98AD,0x98AE,
+0x98AF,0x98B0,0x98B1,0x98B2,0x98B3,0xB2DB,0x98B4,0xE9C8,
+0x98B5,0x98B6,0x98B7,0x98B8,0x98B9,0x98BA,0x98BB,0x98BC,
+0x98BD,0x98BE,0xB7AE,0x98BF,0x98C0,0x98C1,0x98C2,0x98C3,
+0x98C4,0x98C5,0x98C6,0x98C7,0x98C8,0x98C9,0x98CA,0xE9CB,
+0xE9CC,0x98CB,0x98CC,0x98CD,0x98CE,0x98CF,0x98D0,0xD5C1,
+0x98D1,0xC4A3,0x98D2,0x98D3,0x98D4,0x98D5,0x98D6,0x98D7,
+0xE9D8,0x98D8,0xBAE1,0x98D9,0x98DA,0x98DB,0x98DC,0xE9C9,
+0x98DD,0xD3A3,0x98DE,0x98DF,0x98E0,0xE9D4,0x98E1,0x98E2,
+0x98E3,0x98E4,0x98E5,0x98E6,0x98E7,0xE9D7,0xE9D0,0x98E8,
+0x98E9,0x98EA,0x98EB,0x98EC,0xE9CF,0x98ED,0x98EE,0xC7C1,
+0x98EF,0x98F0,0x98F1,0x98F2,0x98F3,0x98F4,0x98F5,0x98F6,
+0xE9D2,0x98F7,0x98F8,0x98F9,0x98FA,0x98FB,0x98FC,0x98FD,
+0xE9D9,0xB3C8,0x98FE,0xE9D3,0x9940,0x9941,0x9942,0x9943,
+0x9944,0xCFF0,0x9945,0x9946,0x9947,0xE9CD,0x9948,0x9949,
+0x994A,0x994B,0x994C,0x994D,0x994E,0x994F,0x9950,0x9951,
+0x9952,0xB3F7,0x9953,0x9954,0x9955,0x9956,0x9957,0x9958,
+0x9959,0xE9D6,0x995A,0x995B,0xE9DA,0x995C,0x995D,0x995E,
+0xCCB4,0x995F,0x9960,0x9961,0xCFAD,0x9962,0x9963,0x9964,
+0x9965,0x9966,0x9967,0x9968,0x9969,0x996A,0xE9D5,0x996B,
+0xE9DC,0xE9DB,0x996C,0x996D,0x996E,0x996F,0x9970,0xE9DE,
+0x9971,0x9972,0x9973,0x9974,0x9975,0x9976,0x9977,0x9978,
+0xE9D1,0x9979,0x997A,0x997B,0x997C,0x997D,0x997E,0x9980,
+0x9981,0xE9DD,0x9982,0xE9DF,0xC3CA,0x9983,0x9984,0x9985,
+0x9986,0x9987,0x9988,0x9989,0x998A,0x998B,0x998C,0x998D,
+0x998E,0x998F,0x9990,0x9991,0x9992,0x9993,0x9994,0x9995,
+0x9996,0x9997,0x9998,0x9999,0x999A,0x999B,0x999C,0x999D,
+0x999E,0x999F,0x99A0,0x99A1,0x99A2,0x99A3,0x99A4,0x99A5,
+0x99A6,0x99A7,0x99A8,0x99A9,0x99AA,0x99AB,0x99AC,0x99AD,
+0x99AE,0x99AF,0x99B0,0x99B1,0x99B2,0x99B3,0x99B4,0x99B5,
+0x99B6,0x99B7,0x99B8,0x99B9,0x99BA,0x99BB,0x99BC,0x99BD,
+0x99BE,0x99BF,0x99C0,0x99C1,0x99C2,0x99C3,0x99C4,0x99C5,
+0x99C6,0x99C7,0x99C8,0x99C9,0x99CA,0x99CB,0x99CC,0x99CD,
+0x99CE,0x99CF,0x99D0,0x99D1,0x99D2,0x99D3,0x99D4,0x99D5,
+0x99D6,0x99D7,0x99D8,0x99D9,0x99DA,0x99DB,0x99DC,0x99DD,
+0x99DE,0x99DF,0x99E0,0x99E1,0x99E2,0x99E3,0x99E4,0x99E5,
+0x99E6,0x99E7,0x99E8,0x99E9,0x99EA,0x99EB,0x99EC,0x99ED,
+0x99EE,0x99EF,0x99F0,0x99F1,0x99F2,0x99F3,0x99F4,0x99F5,
+0xC7B7,0xB4CE,0xBBB6,0xD0C0,0xECA3,0x99F6,0x99F7,0xC5B7,
+0x99F8,0x99F9,0x99FA,0x99FB,0x99FC,0x99FD,0x99FE,0x9A40,
+0x9A41,0x9A42,0xD3FB,0x9A43,0x9A44,0x9A45,0x9A46,0xECA4,
+0x9A47,0xECA5,0xC6DB,0x9A48,0x9A49,0x9A4A,0xBFEE,0x9A4B,
+0x9A4C,0x9A4D,0x9A4E,0xECA6,0x9A4F,0x9A50,0xECA7,0xD0AA,
+0x9A51,0xC7B8,0x9A52,0x9A53,0xB8E8,0x9A54,0x9A55,0x9A56,
+0x9A57,0x9A58,0x9A59,0x9A5A,0x9A5B,0x9A5C,0x9A5D,0x9A5E,
+0x9A5F,0xECA8,0x9A60,0x9A61,0x9A62,0x9A63,0x9A64,0x9A65,
+0x9A66,0x9A67,0xD6B9,0xD5FD,0xB4CB,0xB2BD,0xCEE4,0xC6E7,
+0x9A68,0x9A69,0xCDE1,0x9A6A,0x9A6B,0x9A6C,0x9A6D,0x9A6E,
+0x9A6F,0x9A70,0x9A71,0x9A72,0x9A73,0x9A74,0x9A75,0x9A76,
+0x9A77,0xB4F5,0x9A78,0xCBC0,0xBCDF,0x9A79,0x9A7A,0x9A7B,
+0x9A7C,0xE9E2,0xE9E3,0xD1EA,0xE9E5,0x9A7D,0xB4F9,0xE9E4,
+0x9A7E,0xD1B3,0xCAE2,0xB2D0,0x9A80,0xE9E8,0x9A81,0x9A82,
+0x9A83,0x9A84,0xE9E6,0xE9E7,0x9A85,0x9A86,0xD6B3,0x9A87,
+0x9A88,0x9A89,0xE9E9,0xE9EA,0x9A8A,0x9A8B,0x9A8C,0x9A8D,
+0x9A8E,0xE9EB,0x9A8F,0x9A90,0x9A91,0x9A92,0x9A93,0x9A94,
+0x9A95,0x9A96,0xE9EC,0x9A97,0x9A98,0x9A99,0x9A9A,0x9A9B,
+0x9A9C,0x9A9D,0x9A9E,0xECAF,0xC5B9,0xB6CE,0x9A9F,0xD2F3,
+0x9AA0,0x9AA1,0x9AA2,0x9AA3,0x9AA4,0x9AA5,0x9AA6,0xB5EE,
+0x9AA7,0xBBD9,0xECB1,0x9AA8,0x9AA9,0xD2E3,0x9AAA,0x9AAB,
+0x9AAC,0x9AAD,0x9AAE,0xCEE3,0x9AAF,0xC4B8,0x9AB0,0xC3BF,
+0x9AB1,0x9AB2,0xB6BE,0xD8B9,0xB1C8,0xB1CF,0xB1D1,0xC5FE,
+0x9AB3,0xB1D0,0x9AB4,0xC3AB,0x9AB5,0x9AB6,0x9AB7,0x9AB8,
+0x9AB9,0xD5B1,0x9ABA,0x9ABB,0x9ABC,0x9ABD,0x9ABE,0x9ABF,
+0x9AC0,0x9AC1,0xEBA4,0xBAC1,0x9AC2,0x9AC3,0x9AC4,0xCCBA,
+0x9AC5,0x9AC6,0x9AC7,0xEBA5,0x9AC8,0xEBA7,0x9AC9,0x9ACA,
+0x9ACB,0xEBA8,0x9ACC,0x9ACD,0x9ACE,0xEBA6,0x9ACF,0x9AD0,
+0x9AD1,0x9AD2,0x9AD3,0x9AD4,0x9AD5,0xEBA9,0xEBAB,0xEBAA,
+0x9AD6,0x9AD7,0x9AD8,0x9AD9,0x9ADA,0xEBAC,0x9ADB,0xCACF,
+0xD8B5,0xC3F1,0x9ADC,0xC3A5,0xC6F8,0xEBAD,0xC4CA,0x9ADD,
+0xEBAE,0xEBAF,0xEBB0,0xB7D5,0x9ADE,0x9ADF,0x9AE0,0xB7FA,
+0x9AE1,0xEBB1,0xC7E2,0x9AE2,0xEBB3,0x9AE3,0xBAA4,0xD1F5,
+0xB0B1,0xEBB2,0xEBB4,0x9AE4,0x9AE5,0x9AE6,0xB5AA,0xC2C8,
+0xC7E8,0x9AE7,0xEBB5,0x9AE8,0xCBAE,0xE3DF,0x9AE9,0x9AEA,
+0xD3C0,0x9AEB,0x9AEC,0x9AED,0x9AEE,0xD9DB,0x9AEF,0x9AF0,
+0xCDA1,0xD6AD,0xC7F3,0x9AF1,0x9AF2,0x9AF3,0xD9E0,0xBBE3,
+0x9AF4,0xBABA,0xE3E2,0x9AF5,0x9AF6,0x9AF7,0x9AF8,0x9AF9,
+0xCFAB,0x9AFA,0x9AFB,0x9AFC,0xE3E0,0xC9C7,0x9AFD,0xBAB9,
+0x9AFE,0x9B40,0x9B41,0xD1B4,0xE3E1,0xC8EA,0xB9AF,0xBDAD,
+0xB3D8,0xCEDB,0x9B42,0x9B43,0xCCC0,0x9B44,0x9B45,0x9B46,
+0xE3E8,0xE3E9,0xCDF4,0x9B47,0x9B48,0x9B49,0x9B4A,0x9B4B,
+0xCCAD,0x9B4C,0xBCB3,0x9B4D,0xE3EA,0x9B4E,0xE3EB,0x9B4F,
+0x9B50,0xD0DA,0x9B51,0x9B52,0x9B53,0xC6FB,0xB7DA,0x9B54,
+0x9B55,0xC7DF,0xD2CA,0xCED6,0x9B56,0xE3E4,0xE3EC,0x9B57,
+0xC9F2,0xB3C1,0x9B58,0x9B59,0xE3E7,0x9B5A,0x9B5B,0xC6E3,
+0xE3E5,0x9B5C,0x9B5D,0xEDB3,0xE3E6,0x9B5E,0x9B5F,0x9B60,
+0x9B61,0xC9B3,0x9B62,0xC5E6,0x9B63,0x9B64,0x9B65,0xB9B5,
+0x9B66,0xC3BB,0x9B67,0xE3E3,0xC5BD,0xC1A4,0xC2D9,0xB2D7,
+0x9B68,0xE3ED,0xBBA6,0xC4AD,0x9B69,0xE3F0,0xBEDA,0x9B6A,
+0x9B6B,0xE3FB,0xE3F5,0xBAD3,0x9B6C,0x9B6D,0x9B6E,0x9B6F,
+0xB7D0,0xD3CD,0x9B70,0xD6CE,0xD5D3,0xB9C1,0xD5B4,0xD1D8,
+0x9B71,0x9B72,0x9B73,0x9B74,0xD0B9,0xC7F6,0x9B75,0x9B76,
+0x9B77,0xC8AA,0xB2B4,0x9B78,0xC3DA,0x9B79,0x9B7A,0x9B7B,
+0xE3EE,0x9B7C,0x9B7D,0xE3FC,0xE3EF,0xB7A8,0xE3F7,0xE3F4,
+0x9B7E,0x9B80,0x9B81,0xB7BA,0x9B82,0x9B83,0xC5A2,0x9B84,
+0xE3F6,0xC5DD,0xB2A8,0xC6FC,0x9B85,0xC4E0,0x9B86,0x9B87,
+0xD7A2,0x9B88,0xC0E1,0xE3F9,0x9B89,0x9B8A,0xE3FA,0xE3FD,
+0xCCA9,0xE3F3,0x9B8B,0xD3BE,0x9B8C,0xB1C3,0xEDB4,0xE3F1,
+0xE3F2,0x9B8D,0xE3F8,0xD0BA,0xC6C3,0xD4F3,0xE3FE,0x9B8E,
+0x9B8F,0xBDE0,0x9B90,0x9B91,0xE4A7,0x9B92,0x9B93,0xE4A6,
+0x9B94,0x9B95,0x9B96,0xD1F3,0xE4A3,0x9B97,0xE4A9,0x9B98,
+0x9B99,0x9B9A,0xC8F7,0x9B9B,0x9B9C,0x9B9D,0x9B9E,0xCFB4,
+0x9B9F,0xE4A8,0xE4AE,0xC2E5,0x9BA0,0x9BA1,0xB6B4,0x9BA2,
+0x9BA3,0x9BA4,0x9BA5,0x9BA6,0x9BA7,0xBDF2,0x9BA8,0xE4A2,
+0x9BA9,0x9BAA,0xBAE9,0xE4AA,0x9BAB,0x9BAC,0xE4AC,0x9BAD,
+0x9BAE,0xB6FD,0xD6DE,0xE4B2,0x9BAF,0xE4AD,0x9BB0,0x9BB1,
+0x9BB2,0xE4A1,0x9BB3,0xBBEE,0xCDDD,0xC7A2,0xC5C9,0x9BB4,
+0x9BB5,0xC1F7,0x9BB6,0xE4A4,0x9BB7,0xC7B3,0xBDAC,0xBDBD,
+0xE4A5,0x9BB8,0xD7C7,0xB2E2,0x9BB9,0xE4AB,0xBCC3,0xE4AF,
+0x9BBA,0xBBEB,0xE4B0,0xC5A8,0xE4B1,0x9BBB,0x9BBC,0x9BBD,
+0x9BBE,0xD5E3,0xBFA3,0x9BBF,0xE4BA,0x9BC0,0xE4B7,0x9BC1,
+0xE4BB,0x9BC2,0x9BC3,0xE4BD,0x9BC4,0x9BC5,0xC6D6,0x9BC6,
+0x9BC7,0xBAC6,0xC0CB,0x9BC8,0x9BC9,0x9BCA,0xB8A1,0xE4B4,
+0x9BCB,0x9BCC,0x9BCD,0x9BCE,0xD4A1,0x9BCF,0x9BD0,0xBAA3,
+0xBDFE,0x9BD1,0x9BD2,0x9BD3,0xE4BC,0x9BD4,0x9BD5,0x9BD6,
+0x9BD7,0x9BD8,0xCDBF,0x9BD9,0x9BDA,0xC4F9,0x9BDB,0x9BDC,
+0xCFFB,0xC9E6,0x9BDD,0x9BDE,0xD3BF,0x9BDF,0xCFD1,0x9BE0,
+0x9BE1,0xE4B3,0x9BE2,0xE4B8,0xE4B9,0xCCE9,0x9BE3,0x9BE4,
+0x9BE5,0x9BE6,0x9BE7,0xCCCE,0x9BE8,0xC0D4,0xE4B5,0xC1B0,
+0xE4B6,0xCED0,0x9BE9,0xBBC1,0xB5D3,0x9BEA,0xC8F3,0xBDA7,
+0xD5C7,0xC9AC,0xB8A2,0xE4CA,0x9BEB,0x9BEC,0xE4CC,0xD1C4,
+0x9BED,0x9BEE,0xD2BA,0x9BEF,0x9BF0,0xBAAD,0x9BF1,0x9BF2,
+0xBAD4,0x9BF3,0x9BF4,0x9BF5,0x9BF6,0x9BF7,0x9BF8,0xE4C3,
+0xB5ED,0x9BF9,0x9BFA,0x9BFB,0xD7CD,0xE4C0,0xCFFD,0xE4BF,
+0x9BFC,0x9BFD,0x9BFE,0xC1DC,0xCCCA,0x9C40,0x9C41,0x9C42,
+0x9C43,0xCAE7,0x9C44,0x9C45,0x9C46,0x9C47,0xC4D7,0x9C48,
+0xCCD4,0xE4C8,0x9C49,0x9C4A,0x9C4B,0xE4C7,0xE4C1,0x9C4C,
+0xE4C4,0xB5AD,0x9C4D,0x9C4E,0xD3D9,0x9C4F,0xE4C6,0x9C50,
+0x9C51,0x9C52,0x9C53,0xD2F9,0xB4E3,0x9C54,0xBBB4,0x9C55,
+0x9C56,0xC9EE,0x9C57,0xB4BE,0x9C58,0x9C59,0x9C5A,0xBBEC,
+0x9C5B,0xD1CD,0x9C5C,0xCCED,0xEDB5,0x9C5D,0x9C5E,0x9C5F,
+0x9C60,0x9C61,0x9C62,0x9C63,0x9C64,0xC7E5,0x9C65,0x9C66,
+0x9C67,0x9C68,0xD4A8,0x9C69,0xE4CB,0xD7D5,0xE4C2,0x9C6A,
+0xBDA5,0xE4C5,0x9C6B,0x9C6C,0xD3E6,0x9C6D,0xE4C9,0xC9F8,
+0x9C6E,0x9C6F,0xE4BE,0x9C70,0x9C71,0xD3E5,0x9C72,0x9C73,
+0xC7FE,0xB6C9,0x9C74,0xD4FC,0xB2B3,0xE4D7,0x9C75,0x9C76,
+0x9C77,0xCEC2,0x9C78,0xE4CD,0x9C79,0xCEBC,0x9C7A,0xB8DB,
+0x9C7B,0x9C7C,0xE4D6,0x9C7D,0xBFCA,0x9C7E,0x9C80,0x9C81,
+0xD3CE,0x9C82,0xC3EC,0x9C83,0x9C84,0x9C85,0x9C86,0x9C87,
+0x9C88,0x9C89,0x9C8A,0xC5C8,0xE4D8,0x9C8B,0x9C8C,0x9C8D,
+0x9C8E,0x9C8F,0x9C90,0x9C91,0x9C92,0xCDC4,0xE4CF,0x9C93,
+0x9C94,0x9C95,0x9C96,0xE4D4,0xE4D5,0x9C97,0xBAFE,0x9C98,
+0xCFE6,0x9C99,0x9C9A,0xD5BF,0x9C9B,0x9C9C,0x9C9D,0xE4D2,
+0x9C9E,0x9C9F,0x9CA0,0x9CA1,0x9CA2,0x9CA3,0x9CA4,0x9CA5,
+0x9CA6,0x9CA7,0x9CA8,0xE4D0,0x9CA9,0x9CAA,0xE4CE,0x9CAB,
+0x9CAC,0x9CAD,0x9CAE,0x9CAF,0x9CB0,0x9CB1,0x9CB2,0x9CB3,
+0x9CB4,0x9CB5,0x9CB6,0x9CB7,0x9CB8,0x9CB9,0xCDE5,0xCAAA,
+0x9CBA,0x9CBB,0x9CBC,0xC0A3,0x9CBD,0xBDA6,0xE4D3,0x9CBE,
+0x9CBF,0xB8C8,0x9CC0,0x9CC1,0x9CC2,0x9CC3,0x9CC4,0xE4E7,
+0xD4B4,0x9CC5,0x9CC6,0x9CC7,0x9CC8,0x9CC9,0x9CCA,0x9CCB,
+0xE4DB,0x9CCC,0x9CCD,0x9CCE,0xC1EF,0x9CCF,0x9CD0,0xE4E9,
+0x9CD1,0x9CD2,0xD2E7,0x9CD3,0x9CD4,0xE4DF,0x9CD5,0xE4E0,
+0x9CD6,0x9CD7,0xCFAA,0x9CD8,0x9CD9,0x9CDA,0x9CDB,0xCBDD,
+0x9CDC,0xE4DA,0xE4D1,0x9CDD,0xE4E5,0x9CDE,0xC8DC,0xE4E3,
+0x9CDF,0x9CE0,0xC4E7,0xE4E2,0x9CE1,0xE4E1,0x9CE2,0x9CE3,
+0x9CE4,0xB3FC,0xE4E8,0x9CE5,0x9CE6,0x9CE7,0x9CE8,0xB5E1,
+0x9CE9,0x9CEA,0x9CEB,0xD7CC,0x9CEC,0x9CED,0x9CEE,0xE4E6,
+0x9CEF,0xBBAC,0x9CF0,0xD7D2,0xCCCF,0xEBF8,0x9CF1,0xE4E4,
+0x9CF2,0x9CF3,0xB9F6,0x9CF4,0x9CF5,0x9CF6,0xD6CD,0xE4D9,
+0xE4DC,0xC2FA,0xE4DE,0x9CF7,0xC2CB,0xC0C4,0xC2D0,0x9CF8,
+0xB1F5,0xCCB2,0x9CF9,0x9CFA,0x9CFB,0x9CFC,0x9CFD,0x9CFE,
+0x9D40,0x9D41,0x9D42,0x9D43,0xB5CE,0x9D44,0x9D45,0x9D46,
+0x9D47,0xE4EF,0x9D48,0x9D49,0x9D4A,0x9D4B,0x9D4C,0x9D4D,
+0x9D4E,0x9D4F,0xC6AF,0x9D50,0x9D51,0x9D52,0xC6E1,0x9D53,
+0x9D54,0xE4F5,0x9D55,0x9D56,0x9D57,0x9D58,0x9D59,0xC2A9,
+0x9D5A,0x9D5B,0x9D5C,0xC0EC,0xD1DD,0xE4EE,0x9D5D,0x9D5E,
+0x9D5F,0x9D60,0x9D61,0x9D62,0x9D63,0x9D64,0x9D65,0x9D66,
+0xC4AE,0x9D67,0x9D68,0x9D69,0xE4ED,0x9D6A,0x9D6B,0x9D6C,
+0x9D6D,0xE4F6,0xE4F4,0xC2FE,0x9D6E,0xE4DD,0x9D6F,0xE4F0,
+0x9D70,0xCAFE,0x9D71,0xD5C4,0x9D72,0x9D73,0xE4F1,0x9D74,
+0x9D75,0x9D76,0x9D77,0x9D78,0x9D79,0x9D7A,0xD1FA,0x9D7B,
+0x9D7C,0x9D7D,0x9D7E,0x9D80,0x9D81,0x9D82,0xE4EB,0xE4EC,
+0x9D83,0x9D84,0x9D85,0xE4F2,0x9D86,0xCEAB,0x9D87,0x9D88,
+0x9D89,0x9D8A,0x9D8B,0x9D8C,0x9D8D,0x9D8E,0x9D8F,0x9D90,
+0xC5CB,0x9D91,0x9D92,0x9D93,0xC7B1,0x9D94,0xC2BA,0x9D95,
+0x9D96,0x9D97,0xE4EA,0x9D98,0x9D99,0x9D9A,0xC1CA,0x9D9B,
+0x9D9C,0x9D9D,0x9D9E,0x9D9F,0x9DA0,0xCCB6,0xB3B1,0x9DA1,
+0x9DA2,0x9DA3,0xE4FB,0x9DA4,0xE4F3,0x9DA5,0x9DA6,0x9DA7,
+0xE4FA,0x9DA8,0xE4FD,0x9DA9,0xE4FC,0x9DAA,0x9DAB,0x9DAC,
+0x9DAD,0x9DAE,0x9DAF,0x9DB0,0xB3CE,0x9DB1,0x9DB2,0x9DB3,
+0xB3BA,0xE4F7,0x9DB4,0x9DB5,0xE4F9,0xE4F8,0xC5EC,0x9DB6,
+0x9DB7,0x9DB8,0x9DB9,0x9DBA,0x9DBB,0x9DBC,0x9DBD,0x9DBE,
+0x9DBF,0x9DC0,0x9DC1,0x9DC2,0xC0BD,0x9DC3,0x9DC4,0x9DC5,
+0x9DC6,0xD4E8,0x9DC7,0x9DC8,0x9DC9,0x9DCA,0x9DCB,0xE5A2,
+0x9DCC,0x9DCD,0x9DCE,0x9DCF,0x9DD0,0x9DD1,0x9DD2,0x9DD3,
+0x9DD4,0x9DD5,0x9DD6,0xB0C4,0x9DD7,0x9DD8,0xE5A4,0x9DD9,
+0x9DDA,0xE5A3,0x9DDB,0x9DDC,0x9DDD,0x9DDE,0x9DDF,0x9DE0,
+0xBCA4,0x9DE1,0xE5A5,0x9DE2,0x9DE3,0x9DE4,0x9DE5,0x9DE6,
+0x9DE7,0xE5A1,0x9DE8,0x9DE9,0x9DEA,0x9DEB,0x9DEC,0x9DED,
+0x9DEE,0xE4FE,0xB1F4,0x9DEF,0x9DF0,0x9DF1,0x9DF2,0x9DF3,
+0x9DF4,0x9DF5,0x9DF6,0x9DF7,0x9DF8,0x9DF9,0xE5A8,0x9DFA,
+0xE5A9,0xE5A6,0x9DFB,0x9DFC,0x9DFD,0x9DFE,0x9E40,0x9E41,
+0x9E42,0x9E43,0x9E44,0x9E45,0x9E46,0x9E47,0xE5A7,0xE5AA,
+0x9E48,0x9E49,0x9E4A,0x9E4B,0x9E4C,0x9E4D,0x9E4E,0x9E4F,
+0x9E50,0x9E51,0x9E52,0x9E53,0x9E54,0x9E55,0x9E56,0x9E57,
+0x9E58,0x9E59,0x9E5A,0x9E5B,0x9E5C,0x9E5D,0x9E5E,0x9E5F,
+0x9E60,0x9E61,0x9E62,0x9E63,0x9E64,0x9E65,0x9E66,0x9E67,
+0x9E68,0xC6D9,0x9E69,0x9E6A,0x9E6B,0x9E6C,0x9E6D,0x9E6E,
+0x9E6F,0x9E70,0xE5AB,0xE5AD,0x9E71,0x9E72,0x9E73,0x9E74,
+0x9E75,0x9E76,0x9E77,0xE5AC,0x9E78,0x9E79,0x9E7A,0x9E7B,
+0x9E7C,0x9E7D,0x9E7E,0x9E80,0x9E81,0x9E82,0x9E83,0x9E84,
+0x9E85,0x9E86,0x9E87,0x9E88,0x9E89,0xE5AF,0x9E8A,0x9E8B,
+0x9E8C,0xE5AE,0x9E8D,0x9E8E,0x9E8F,0x9E90,0x9E91,0x9E92,
+0x9E93,0x9E94,0x9E95,0x9E96,0x9E97,0x9E98,0x9E99,0x9E9A,
+0x9E9B,0x9E9C,0x9E9D,0x9E9E,0xB9E0,0x9E9F,0x9EA0,0xE5B0,
+0x9EA1,0x9EA2,0x9EA3,0x9EA4,0x9EA5,0x9EA6,0x9EA7,0x9EA8,
+0x9EA9,0x9EAA,0x9EAB,0x9EAC,0x9EAD,0x9EAE,0xE5B1,0x9EAF,
+0x9EB0,0x9EB1,0x9EB2,0x9EB3,0x9EB4,0x9EB5,0x9EB6,0x9EB7,
+0x9EB8,0x9EB9,0x9EBA,0xBBF0,0xECE1,0xC3F0,0x9EBB,0xB5C6,
+0xBBD2,0x9EBC,0x9EBD,0x9EBE,0x9EBF,0xC1E9,0xD4EE,0x9EC0,
+0xBEC4,0x9EC1,0x9EC2,0x9EC3,0xD7C6,0x9EC4,0xD4D6,0xB2D3,
+0xECBE,0x9EC5,0x9EC6,0x9EC7,0x9EC8,0xEAC1,0x9EC9,0x9ECA,
+0x9ECB,0xC2AF,0xB4B6,0x9ECC,0x9ECD,0x9ECE,0xD1D7,0x9ECF,
+0x9ED0,0x9ED1,0xB3B4,0x9ED2,0xC8B2,0xBFBB,0xECC0,0x9ED3,
+0x9ED4,0xD6CB,0x9ED5,0x9ED6,0xECBF,0xECC1,0x9ED7,0x9ED8,
+0x9ED9,0x9EDA,0x9EDB,0x9EDC,0x9EDD,0x9EDE,0x9EDF,0x9EE0,
+0x9EE1,0x9EE2,0x9EE3,0xECC5,0xBEE6,0xCCBF,0xC5DA,0xBEBC,
+0x9EE4,0xECC6,0x9EE5,0xB1FE,0x9EE6,0x9EE7,0x9EE8,0xECC4,
+0xD5A8,0xB5E3,0x9EE9,0xECC2,0xC1B6,0xB3E3,0x9EEA,0x9EEB,
+0xECC3,0xCBB8,0xC0C3,0xCCFE,0x9EEC,0x9EED,0x9EEE,0x9EEF,
+0xC1D2,0x9EF0,0xECC8,0x9EF1,0x9EF2,0x9EF3,0x9EF4,0x9EF5,
+0x9EF6,0x9EF7,0x9EF8,0x9EF9,0x9EFA,0x9EFB,0x9EFC,0x9EFD,
+0xBAE6,0xC0D3,0x9EFE,0xD6F2,0x9F40,0x9F41,0x9F42,0xD1CC,
+0x9F43,0x9F44,0x9F45,0x9F46,0xBFBE,0x9F47,0xB7B3,0xC9D5,
+0xECC7,0xBBE2,0x9F48,0xCCCC,0xBDFD,0xC8C8,0x9F49,0xCFA9,
+0x9F4A,0x9F4B,0x9F4C,0x9F4D,0x9F4E,0x9F4F,0x9F50,0xCDE9,
+0x9F51,0xC5EB,0x9F52,0x9F53,0x9F54,0xB7E9,0x9F55,0x9F56,
+0x9F57,0x9F58,0x9F59,0x9F5A,0x9F5B,0x9F5C,0x9F5D,0x9F5E,
+0x9F5F,0xD1C9,0xBAB8,0x9F60,0x9F61,0x9F62,0x9F63,0x9F64,
+0xECC9,0x9F65,0x9F66,0xECCA,0x9F67,0xBBC0,0xECCB,0x9F68,
+0xECE2,0xB1BA,0xB7D9,0x9F69,0x9F6A,0x9F6B,0x9F6C,0x9F6D,
+0x9F6E,0x9F6F,0x9F70,0x9F71,0x9F72,0x9F73,0xBDB9,0x9F74,
+0x9F75,0x9F76,0x9F77,0x9F78,0x9F79,0x9F7A,0x9F7B,0xECCC,
+0xD1E6,0xECCD,0x9F7C,0x9F7D,0x9F7E,0x9F80,0xC8BB,0x9F81,
+0x9F82,0x9F83,0x9F84,0x9F85,0x9F86,0x9F87,0x9F88,0x9F89,
+0x9F8A,0x9F8B,0x9F8C,0x9F8D,0x9F8E,0xECD1,0x9F8F,0x9F90,
+0x9F91,0x9F92,0xECD3,0x9F93,0xBBCD,0x9F94,0xBCE5,0x9F95,
+0x9F96,0x9F97,0x9F98,0x9F99,0x9F9A,0x9F9B,0x9F9C,0x9F9D,
+0x9F9E,0x9F9F,0x9FA0,0x9FA1,0xECCF,0x9FA2,0xC9B7,0x9FA3,
+0x9FA4,0x9FA5,0x9FA6,0x9FA7,0xC3BA,0x9FA8,0xECE3,0xD5D5,
+0xECD0,0x9FA9,0x9FAA,0x9FAB,0x9FAC,0x9FAD,0xD6F3,0x9FAE,
+0x9FAF,0x9FB0,0xECD2,0xECCE,0x9FB1,0x9FB2,0x9FB3,0x9FB4,
+0xECD4,0x9FB5,0xECD5,0x9FB6,0x9FB7,0xC9BF,0x9FB8,0x9FB9,
+0x9FBA,0x9FBB,0x9FBC,0x9FBD,0xCFA8,0x9FBE,0x9FBF,0x9FC0,
+0x9FC1,0x9FC2,0xD0DC,0x9FC3,0x9FC4,0x9FC5,0x9FC6,0xD1AC,
+0x9FC7,0x9FC8,0x9FC9,0x9FCA,0xC8DB,0x9FCB,0x9FCC,0x9FCD,
+0xECD6,0xCEF5,0x9FCE,0x9FCF,0x9FD0,0x9FD1,0x9FD2,0xCAEC,
+0xECDA,0x9FD3,0x9FD4,0x9FD5,0x9FD6,0x9FD7,0x9FD8,0x9FD9,
+0xECD9,0x9FDA,0x9FDB,0x9FDC,0xB0BE,0x9FDD,0x9FDE,0x9FDF,
+0x9FE0,0x9FE1,0x9FE2,0xECD7,0x9FE3,0xECD8,0x9FE4,0x9FE5,
+0x9FE6,0xECE4,0x9FE7,0x9FE8,0x9FE9,0x9FEA,0x9FEB,0x9FEC,
+0x9FED,0x9FEE,0x9FEF,0xC8BC,0x9FF0,0x9FF1,0x9FF2,0x9FF3,
+0x9FF4,0x9FF5,0x9FF6,0x9FF7,0x9FF8,0x9FF9,0xC1C7,0x9FFA,
+0x9FFB,0x9FFC,0x9FFD,0x9FFE,0xECDC,0xD1E0,0xA040,0xA041,
+0xA042,0xA043,0xA044,0xA045,0xA046,0xA047,0xA048,0xA049,
+0xECDB,0xA04A,0xA04B,0xA04C,0xA04D,0xD4EF,0xA04E,0xECDD,
+0xA04F,0xA050,0xA051,0xA052,0xA053,0xA054,0xDBC6,0xA055,
+0xA056,0xA057,0xA058,0xA059,0xA05A,0xA05B,0xA05C,0xA05D,
+0xA05E,0xECDE,0xA05F,0xA060,0xA061,0xA062,0xA063,0xA064,
+0xA065,0xA066,0xA067,0xA068,0xA069,0xA06A,0xB1AC,0xA06B,
+0xA06C,0xA06D,0xA06E,0xA06F,0xA070,0xA071,0xA072,0xA073,
+0xA074,0xA075,0xA076,0xA077,0xA078,0xA079,0xA07A,0xA07B,
+0xA07C,0xA07D,0xA07E,0xA080,0xA081,0xECDF,0xA082,0xA083,
+0xA084,0xA085,0xA086,0xA087,0xA088,0xA089,0xA08A,0xA08B,
+0xECE0,0xA08C,0xD7A6,0xA08D,0xC5C0,0xA08E,0xA08F,0xA090,
+0xEBBC,0xB0AE,0xA091,0xA092,0xA093,0xBEF4,0xB8B8,0xD2AF,
+0xB0D6,0xB5F9,0xA094,0xD8B3,0xA095,0xCBAC,0xA096,0xE3DD,
+0xA097,0xA098,0xA099,0xA09A,0xA09B,0xA09C,0xA09D,0xC6AC,
+0xB0E6,0xA09E,0xA09F,0xA0A0,0xC5C6,0xEBB9,0xA0A1,0xA0A2,
+0xA0A3,0xA0A4,0xEBBA,0xA0A5,0xA0A6,0xA0A7,0xEBBB,0xA0A8,
+0xA0A9,0xD1C0,0xA0AA,0xC5A3,0xA0AB,0xEAF2,0xA0AC,0xC4B2,
+0xA0AD,0xC4B5,0xC0CE,0xA0AE,0xA0AF,0xA0B0,0xEAF3,0xC4C1,
+0xA0B1,0xCEEF,0xA0B2,0xA0B3,0xA0B4,0xA0B5,0xEAF0,0xEAF4,
+0xA0B6,0xA0B7,0xC9FC,0xA0B8,0xA0B9,0xC7A3,0xA0BA,0xA0BB,
+0xA0BC,0xCCD8,0xCEFE,0xA0BD,0xA0BE,0xA0BF,0xEAF5,0xEAF6,
+0xCFAC,0xC0E7,0xA0C0,0xA0C1,0xEAF7,0xA0C2,0xA0C3,0xA0C4,
+0xA0C5,0xA0C6,0xB6BF,0xEAF8,0xA0C7,0xEAF9,0xA0C8,0xEAFA,
+0xA0C9,0xA0CA,0xEAFB,0xA0CB,0xA0CC,0xA0CD,0xA0CE,0xA0CF,
+0xA0D0,0xA0D1,0xA0D2,0xA0D3,0xA0D4,0xA0D5,0xA0D6,0xEAF1,
+0xA0D7,0xA0D8,0xA0D9,0xA0DA,0xA0DB,0xA0DC,0xA0DD,0xA0DE,
+0xA0DF,0xA0E0,0xA0E1,0xA0E2,0xC8AE,0xE1EB,0xA0E3,0xB7B8,
+0xE1EC,0xA0E4,0xA0E5,0xA0E6,0xE1ED,0xA0E7,0xD7B4,0xE1EE,
+0xE1EF,0xD3CC,0xA0E8,0xA0E9,0xA0EA,0xA0EB,0xA0EC,0xA0ED,
+0xA0EE,0xE1F1,0xBFF1,0xE1F0,0xB5D2,0xA0EF,0xA0F0,0xA0F1,
+0xB1B7,0xA0F2,0xA0F3,0xA0F4,0xA0F5,0xE1F3,0xE1F2,0xA0F6,
+0xBAFC,0xA0F7,0xE1F4,0xA0F8,0xA0F9,0xA0FA,0xA0FB,0xB9B7,
+0xA0FC,0xBED1,0xA0FD,0xA0FE,0xAA40,0xAA41,0xC4FC,0xAA42,
+0xBADD,0xBDC6,0xAA43,0xAA44,0xAA45,0xAA46,0xAA47,0xAA48,
+0xE1F5,0xE1F7,0xAA49,0xAA4A,0xB6C0,0xCFC1,0xCAA8,0xE1F6,
+0xD5F8,0xD3FC,0xE1F8,0xE1FC,0xE1F9,0xAA4B,0xAA4C,0xE1FA,
+0xC0EA,0xAA4D,0xE1FE,0xE2A1,0xC0C7,0xAA4E,0xAA4F,0xAA50,
+0xAA51,0xE1FB,0xAA52,0xE1FD,0xAA53,0xAA54,0xAA55,0xAA56,
+0xAA57,0xAA58,0xE2A5,0xAA59,0xAA5A,0xAA5B,0xC1D4,0xAA5C,
+0xAA5D,0xAA5E,0xAA5F,0xE2A3,0xAA60,0xE2A8,0xB2FE,0xE2A2,
+0xAA61,0xAA62,0xAA63,0xC3CD,0xB2C2,0xE2A7,0xE2A6,0xAA64,
+0xAA65,0xE2A4,0xE2A9,0xAA66,0xAA67,0xE2AB,0xAA68,0xAA69,
+0xAA6A,0xD0C9,0xD6ED,0xC3A8,0xE2AC,0xAA6B,0xCFD7,0xAA6C,
+0xAA6D,0xE2AE,0xAA6E,0xAA6F,0xBAEF,0xAA70,0xAA71,0xE9E0,
+0xE2AD,0xE2AA,0xAA72,0xAA73,0xAA74,0xAA75,0xBBAB,0xD4B3,
+0xAA76,0xAA77,0xAA78,0xAA79,0xAA7A,0xAA7B,0xAA7C,0xAA7D,
+0xAA7E,0xAA80,0xAA81,0xAA82,0xAA83,0xE2B0,0xAA84,0xAA85,
+0xE2AF,0xAA86,0xE9E1,0xAA87,0xAA88,0xAA89,0xAA8A,0xE2B1,
+0xAA8B,0xAA8C,0xAA8D,0xAA8E,0xAA8F,0xAA90,0xAA91,0xAA92,
+0xE2B2,0xAA93,0xAA94,0xAA95,0xAA96,0xAA97,0xAA98,0xAA99,
+0xAA9A,0xAA9B,0xAA9C,0xAA9D,0xE2B3,0xCCA1,0xAA9E,0xE2B4,
+0xAA9F,0xAAA0,0xAB40,0xAB41,0xAB42,0xAB43,0xAB44,0xAB45,
+0xAB46,0xAB47,0xAB48,0xAB49,0xAB4A,0xAB4B,0xE2B5,0xAB4C,
+0xAB4D,0xAB4E,0xAB4F,0xAB50,0xD0FE,0xAB51,0xAB52,0xC2CA,
+0xAB53,0xD3F1,0xAB54,0xCDF5,0xAB55,0xAB56,0xE7E0,0xAB57,
+0xAB58,0xE7E1,0xAB59,0xAB5A,0xAB5B,0xAB5C,0xBEC1,0xAB5D,
+0xAB5E,0xAB5F,0xAB60,0xC2EA,0xAB61,0xAB62,0xAB63,0xE7E4,
+0xAB64,0xAB65,0xE7E3,0xAB66,0xAB67,0xAB68,0xAB69,0xAB6A,
+0xAB6B,0xCDE6,0xAB6C,0xC3B5,0xAB6D,0xAB6E,0xE7E2,0xBBB7,
+0xCFD6,0xAB6F,0xC1E1,0xE7E9,0xAB70,0xAB71,0xAB72,0xE7E8,
+0xAB73,0xAB74,0xE7F4,0xB2A3,0xAB75,0xAB76,0xAB77,0xAB78,
+0xE7EA,0xAB79,0xE7E6,0xAB7A,0xAB7B,0xAB7C,0xAB7D,0xAB7E,
+0xE7EC,0xE7EB,0xC9BA,0xAB80,0xAB81,0xD5E4,0xAB82,0xE7E5,
+0xB7A9,0xE7E7,0xAB83,0xAB84,0xAB85,0xAB86,0xAB87,0xAB88,
+0xAB89,0xE7EE,0xAB8A,0xAB8B,0xAB8C,0xAB8D,0xE7F3,0xAB8E,
+0xD6E9,0xAB8F,0xAB90,0xAB91,0xAB92,0xE7ED,0xAB93,0xE7F2,
+0xAB94,0xE7F1,0xAB95,0xAB96,0xAB97,0xB0E0,0xAB98,0xAB99,
+0xAB9A,0xAB9B,0xE7F5,0xAB9C,0xAB9D,0xAB9E,0xAB9F,0xABA0,
+0xAC40,0xAC41,0xAC42,0xAC43,0xAC44,0xAC45,0xAC46,0xAC47,
+0xAC48,0xAC49,0xAC4A,0xC7F2,0xAC4B,0xC0C5,0xC0ED,0xAC4C,
+0xAC4D,0xC1F0,0xE7F0,0xAC4E,0xAC4F,0xAC50,0xAC51,0xE7F6,
+0xCBF6,0xAC52,0xAC53,0xAC54,0xAC55,0xAC56,0xAC57,0xAC58,
+0xAC59,0xAC5A,0xE8A2,0xE8A1,0xAC5B,0xAC5C,0xAC5D,0xAC5E,
+0xAC5F,0xAC60,0xD7C1,0xAC61,0xAC62,0xE7FA,0xE7F9,0xAC63,
+0xE7FB,0xAC64,0xE7F7,0xAC65,0xE7FE,0xAC66,0xE7FD,0xAC67,
+0xE7FC,0xAC68,0xAC69,0xC1D5,0xC7D9,0xC5FD,0xC5C3,0xAC6A,
+0xAC6B,0xAC6C,0xAC6D,0xAC6E,0xC7ED,0xAC6F,0xAC70,0xAC71,
+0xAC72,0xE8A3,0xAC73,0xAC74,0xAC75,0xAC76,0xAC77,0xAC78,
+0xAC79,0xAC7A,0xAC7B,0xAC7C,0xAC7D,0xAC7E,0xAC80,0xAC81,
+0xAC82,0xAC83,0xAC84,0xAC85,0xAC86,0xE8A6,0xAC87,0xE8A5,
+0xAC88,0xE8A7,0xBAF7,0xE7F8,0xE8A4,0xAC89,0xC8F0,0xC9AA,
+0xAC8A,0xAC8B,0xAC8C,0xAC8D,0xAC8E,0xAC8F,0xAC90,0xAC91,
+0xAC92,0xAC93,0xAC94,0xAC95,0xAC96,0xE8A9,0xAC97,0xAC98,
+0xB9E5,0xAC99,0xAC9A,0xAC9B,0xAC9C,0xAC9D,0xD1FE,0xE8A8,
+0xAC9E,0xAC9F,0xACA0,0xAD40,0xAD41,0xAD42,0xE8AA,0xAD43,
+0xE8AD,0xE8AE,0xAD44,0xC1A7,0xAD45,0xAD46,0xAD47,0xE8AF,
+0xAD48,0xAD49,0xAD4A,0xE8B0,0xAD4B,0xAD4C,0xE8AC,0xAD4D,
+0xE8B4,0xAD4E,0xAD4F,0xAD50,0xAD51,0xAD52,0xAD53,0xAD54,
+0xAD55,0xAD56,0xAD57,0xAD58,0xE8AB,0xAD59,0xE8B1,0xAD5A,
+0xAD5B,0xAD5C,0xAD5D,0xAD5E,0xAD5F,0xAD60,0xAD61,0xE8B5,
+0xE8B2,0xE8B3,0xAD62,0xAD63,0xAD64,0xAD65,0xAD66,0xAD67,
+0xAD68,0xAD69,0xAD6A,0xAD6B,0xAD6C,0xAD6D,0xAD6E,0xAD6F,
+0xAD70,0xAD71,0xE8B7,0xAD72,0xAD73,0xAD74,0xAD75,0xAD76,
+0xAD77,0xAD78,0xAD79,0xAD7A,0xAD7B,0xAD7C,0xAD7D,0xAD7E,
+0xAD80,0xAD81,0xAD82,0xAD83,0xAD84,0xAD85,0xAD86,0xAD87,
+0xAD88,0xAD89,0xE8B6,0xAD8A,0xAD8B,0xAD8C,0xAD8D,0xAD8E,
+0xAD8F,0xAD90,0xAD91,0xAD92,0xB9CF,0xAD93,0xF0AC,0xAD94,
+0xF0AD,0xAD95,0xC6B0,0xB0EA,0xC8BF,0xAD96,0xCDDF,0xAD97,
+0xAD98,0xAD99,0xAD9A,0xAD9B,0xAD9C,0xAD9D,0xCECD,0xEAB1,
+0xAD9E,0xAD9F,0xADA0,0xAE40,0xEAB2,0xAE41,0xC6BF,0xB4C9,
+0xAE42,0xAE43,0xAE44,0xAE45,0xAE46,0xAE47,0xAE48,0xEAB3,
+0xAE49,0xAE4A,0xAE4B,0xAE4C,0xD5E7,0xAE4D,0xAE4E,0xAE4F,
+0xAE50,0xAE51,0xAE52,0xAE53,0xAE54,0xDDF9,0xAE55,0xEAB4,
+0xAE56,0xEAB5,0xAE57,0xEAB6,0xAE58,0xAE59,0xAE5A,0xAE5B,
+0xB8CA,0xDFB0,0xC9F5,0xAE5C,0xCCF0,0xAE5D,0xAE5E,0xC9FA,
+0xAE5F,0xAE60,0xAE61,0xAE62,0xAE63,0xC9FB,0xAE64,0xAE65,
+0xD3C3,0xCBA6,0xAE66,0xB8A6,0xF0AE,0xB1C2,0xAE67,0xE5B8,
+0xCCEF,0xD3C9,0xBCD7,0xC9EA,0xAE68,0xB5E7,0xAE69,0xC4D0,
+0xB5E9,0xAE6A,0xEEAE,0xBBAD,0xAE6B,0xAE6C,0xE7DE,0xAE6D,
+0xEEAF,0xAE6E,0xAE6F,0xAE70,0xAE71,0xB3A9,0xAE72,0xAE73,
+0xEEB2,0xAE74,0xAE75,0xEEB1,0xBDE7,0xAE76,0xEEB0,0xCEB7,
+0xAE77,0xAE78,0xAE79,0xAE7A,0xC5CF,0xAE7B,0xAE7C,0xAE7D,
+0xAE7E,0xC1F4,0xDBCE,0xEEB3,0xD0F3,0xAE80,0xAE81,0xAE82,
+0xAE83,0xAE84,0xAE85,0xAE86,0xAE87,0xC2D4,0xC6E8,0xAE88,
+0xAE89,0xAE8A,0xB7AC,0xAE8B,0xAE8C,0xAE8D,0xAE8E,0xAE8F,
+0xAE90,0xAE91,0xEEB4,0xAE92,0xB3EB,0xAE93,0xAE94,0xAE95,
+0xBBFB,0xEEB5,0xAE96,0xAE97,0xAE98,0xAE99,0xAE9A,0xE7DC,
+0xAE9B,0xAE9C,0xAE9D,0xEEB6,0xAE9E,0xAE9F,0xBDAE,0xAEA0,
+0xAF40,0xAF41,0xAF42,0xF1E2,0xAF43,0xAF44,0xAF45,0xCAE8,
+0xAF46,0xD2C9,0xF0DA,0xAF47,0xF0DB,0xAF48,0xF0DC,0xC1C6,
+0xAF49,0xB8ED,0xBECE,0xAF4A,0xAF4B,0xF0DE,0xAF4C,0xC5B1,
+0xF0DD,0xD1F1,0xAF4D,0xF0E0,0xB0CC,0xBDEA,0xAF4E,0xAF4F,
+0xAF50,0xAF51,0xAF52,0xD2DF,0xF0DF,0xAF53,0xB4AF,0xB7E8,
+0xF0E6,0xF0E5,0xC6A3,0xF0E1,0xF0E2,0xB4C3,0xAF54,0xAF55,
+0xF0E3,0xD5EE,0xAF56,0xAF57,0xCCDB,0xBED2,0xBCB2,0xAF58,
+0xAF59,0xAF5A,0xF0E8,0xF0E7,0xF0E4,0xB2A1,0xAF5B,0xD6A2,
+0xD3B8,0xBEB7,0xC8AC,0xAF5C,0xAF5D,0xF0EA,0xAF5E,0xAF5F,
+0xAF60,0xAF61,0xD1F7,0xAF62,0xD6CC,0xBADB,0xF0E9,0xAF63,
+0xB6BB,0xAF64,0xAF65,0xCDB4,0xAF66,0xAF67,0xC6A6,0xAF68,
+0xAF69,0xAF6A,0xC1A1,0xF0EB,0xF0EE,0xAF6B,0xF0ED,0xF0F0,
+0xF0EC,0xAF6C,0xBBBE,0xF0EF,0xAF6D,0xAF6E,0xAF6F,0xAF70,
+0xCCB5,0xF0F2,0xAF71,0xAF72,0xB3D5,0xAF73,0xAF74,0xAF75,
+0xAF76,0xB1D4,0xAF77,0xAF78,0xF0F3,0xAF79,0xAF7A,0xF0F4,
+0xF0F6,0xB4E1,0xAF7B,0xF0F1,0xAF7C,0xF0F7,0xAF7D,0xAF7E,
+0xAF80,0xAF81,0xF0FA,0xAF82,0xF0F8,0xAF83,0xAF84,0xAF85,
+0xF0F5,0xAF86,0xAF87,0xAF88,0xAF89,0xF0FD,0xAF8A,0xF0F9,
+0xF0FC,0xF0FE,0xAF8B,0xF1A1,0xAF8C,0xAF8D,0xAF8E,0xCEC1,
+0xF1A4,0xAF8F,0xF1A3,0xAF90,0xC1F6,0xF0FB,0xCADD,0xAF91,
+0xAF92,0xB4F1,0xB1F1,0xCCB1,0xAF93,0xF1A6,0xAF94,0xAF95,
+0xF1A7,0xAF96,0xAF97,0xF1AC,0xD5CE,0xF1A9,0xAF98,0xAF99,
+0xC8B3,0xAF9A,0xAF9B,0xAF9C,0xF1A2,0xAF9D,0xF1AB,0xF1A8,
+0xF1A5,0xAF9E,0xAF9F,0xF1AA,0xAFA0,0xB040,0xB041,0xB042,
+0xB043,0xB044,0xB045,0xB046,0xB0A9,0xF1AD,0xB047,0xB048,
+0xB049,0xB04A,0xB04B,0xB04C,0xF1AF,0xB04D,0xF1B1,0xB04E,
+0xB04F,0xB050,0xB051,0xB052,0xF1B0,0xB053,0xF1AE,0xB054,
+0xB055,0xB056,0xB057,0xD1A2,0xB058,0xB059,0xB05A,0xB05B,
+0xB05C,0xB05D,0xB05E,0xF1B2,0xB05F,0xB060,0xB061,0xF1B3,
+0xB062,0xB063,0xB064,0xB065,0xB066,0xB067,0xB068,0xB069,
+0xB9EF,0xB06A,0xB06B,0xB5C7,0xB06C,0xB0D7,0xB0D9,0xB06D,
+0xB06E,0xB06F,0xD4ED,0xB070,0xB5C4,0xB071,0xBDD4,0xBBCA,
+0xF0A7,0xB072,0xB073,0xB8DE,0xB074,0xB075,0xF0A8,0xB076,
+0xB077,0xB0A8,0xB078,0xF0A9,0xB079,0xB07A,0xCDEE,0xB07B,
+0xB07C,0xF0AA,0xB07D,0xB07E,0xB080,0xB081,0xB082,0xB083,
+0xB084,0xB085,0xB086,0xB087,0xF0AB,0xB088,0xB089,0xB08A,
+0xB08B,0xB08C,0xB08D,0xB08E,0xB08F,0xB090,0xC6A4,0xB091,
+0xB092,0xD6E5,0xF1E4,0xB093,0xF1E5,0xB094,0xB095,0xB096,
+0xB097,0xB098,0xB099,0xB09A,0xB09B,0xB09C,0xB09D,0xC3F3,
+0xB09E,0xB09F,0xD3DB,0xB0A0,0xB140,0xD6D1,0xC5E8,0xB141,
+0xD3AF,0xB142,0xD2E6,0xB143,0xB144,0xEEC1,0xB0BB,0xD5B5,
+0xD1CE,0xBCE0,0xBAD0,0xB145,0xBFF8,0xB146,0xB8C7,0xB5C1,
+0xC5CC,0xB147,0xB148,0xCAA2,0xB149,0xB14A,0xB14B,0xC3CB,
+0xB14C,0xB14D,0xB14E,0xB14F,0xB150,0xEEC2,0xB151,0xB152,
+0xB153,0xB154,0xB155,0xB156,0xB157,0xB158,0xC4BF,0xB6A2,
+0xB159,0xEDEC,0xC3A4,0xB15A,0xD6B1,0xB15B,0xB15C,0xB15D,
+0xCFE0,0xEDEF,0xB15E,0xB15F,0xC5CE,0xB160,0xB6DC,0xB161,
+0xB162,0xCAA1,0xB163,0xB164,0xEDED,0xB165,0xB166,0xEDF0,
+0xEDF1,0xC3BC,0xB167,0xBFB4,0xB168,0xEDEE,0xB169,0xB16A,
+0xB16B,0xB16C,0xB16D,0xB16E,0xB16F,0xB170,0xB171,0xB172,
+0xB173,0xEDF4,0xEDF2,0xB174,0xB175,0xB176,0xB177,0xD5E6,
+0xC3DF,0xB178,0xEDF3,0xB179,0xB17A,0xB17B,0xEDF6,0xB17C,
+0xD5A3,0xD1A3,0xB17D,0xB17E,0xB180,0xEDF5,0xB181,0xC3D0,
+0xB182,0xB183,0xB184,0xB185,0xB186,0xEDF7,0xBFF4,0xBEEC,
+0xEDF8,0xB187,0xCCF7,0xB188,0xD1DB,0xB189,0xB18A,0xB18B,
+0xD7C5,0xD5F6,0xB18C,0xEDFC,0xB18D,0xB18E,0xB18F,0xEDFB,
+0xB190,0xB191,0xB192,0xB193,0xB194,0xB195,0xB196,0xB197,
+0xEDF9,0xEDFA,0xB198,0xB199,0xB19A,0xB19B,0xB19C,0xB19D,
+0xB19E,0xB19F,0xEDFD,0xBEA6,0xB1A0,0xB240,0xB241,0xB242,
+0xB243,0xCBAF,0xEEA1,0xB6BD,0xB244,0xEEA2,0xC4C0,0xB245,
+0xEDFE,0xB246,0xB247,0xBDDE,0xB2C7,0xB248,0xB249,0xB24A,
+0xB24B,0xB24C,0xB24D,0xB24E,0xB24F,0xB250,0xB251,0xB252,
+0xB253,0xB6C3,0xB254,0xB255,0xB256,0xEEA5,0xD8BA,0xEEA3,
+0xEEA6,0xB257,0xB258,0xB259,0xC3E9,0xB3F2,0xB25A,0xB25B,
+0xB25C,0xB25D,0xB25E,0xB25F,0xEEA7,0xEEA4,0xCFB9,0xB260,
+0xB261,0xEEA8,0xC2F7,0xB262,0xB263,0xB264,0xB265,0xB266,
+0xB267,0xB268,0xB269,0xB26A,0xB26B,0xB26C,0xB26D,0xEEA9,
+0xEEAA,0xB26E,0xDEAB,0xB26F,0xB270,0xC6B3,0xB271,0xC7C6,
+0xB272,0xD6F5,0xB5C9,0xB273,0xCBB2,0xB274,0xB275,0xB276,
+0xEEAB,0xB277,0xB278,0xCDAB,0xB279,0xEEAC,0xB27A,0xB27B,
+0xB27C,0xB27D,0xB27E,0xD5B0,0xB280,0xEEAD,0xB281,0xF6C4,
+0xB282,0xB283,0xB284,0xB285,0xB286,0xB287,0xB288,0xB289,
+0xB28A,0xB28B,0xB28C,0xB28D,0xB28E,0xDBC7,0xB28F,0xB290,
+0xB291,0xB292,0xB293,0xB294,0xB295,0xB296,0xB297,0xB4A3,
+0xB298,0xB299,0xB29A,0xC3AC,0xF1E6,0xB29B,0xB29C,0xB29D,
+0xB29E,0xB29F,0xCAB8,0xD2D3,0xB2A0,0xD6AA,0xB340,0xEFF2,
+0xB341,0xBED8,0xB342,0xBDC3,0xEFF3,0xB6CC,0xB0AB,0xB343,
+0xB344,0xB345,0xB346,0xCAAF,0xB347,0xB348,0xEDB6,0xB349,
+0xEDB7,0xB34A,0xB34B,0xB34C,0xB34D,0xCEF9,0xB7AF,0xBFF3,
+0xEDB8,0xC2EB,0xC9B0,0xB34E,0xB34F,0xB350,0xB351,0xB352,
+0xB353,0xEDB9,0xB354,0xB355,0xC6F6,0xBFB3,0xB356,0xB357,
+0xB358,0xEDBC,0xC5F8,0xB359,0xD1D0,0xB35A,0xD7A9,0xEDBA,
+0xEDBB,0xB35B,0xD1E2,0xB35C,0xEDBF,0xEDC0,0xB35D,0xEDC4,
+0xB35E,0xB35F,0xB360,0xEDC8,0xB361,0xEDC6,0xEDCE,0xD5E8,
+0xB362,0xEDC9,0xB363,0xB364,0xEDC7,0xEDBE,0xB365,0xB366,
+0xC5E9,0xB367,0xB368,0xB369,0xC6C6,0xB36A,0xB36B,0xC9E9,
+0xD4D2,0xEDC1,0xEDC2,0xEDC3,0xEDC5,0xB36C,0xC0F9,0xB36D,
+0xB4A1,0xB36E,0xB36F,0xB370,0xB371,0xB9E8,0xB372,0xEDD0,
+0xB373,0xB374,0xB375,0xB376,0xEDD1,0xB377,0xEDCA,0xB378,
+0xEDCF,0xB379,0xCEF8,0xB37A,0xB37B,0xCBB6,0xEDCC,0xEDCD,
+0xB37C,0xB37D,0xB37E,0xB380,0xB381,0xCFF5,0xB382,0xB383,
+0xB384,0xB385,0xB386,0xB387,0xB388,0xB389,0xB38A,0xB38B,
+0xB38C,0xB38D,0xEDD2,0xC1F2,0xD3B2,0xEDCB,0xC8B7,0xB38E,
+0xB38F,0xB390,0xB391,0xB392,0xB393,0xB394,0xB395,0xBCEF,
+0xB396,0xB397,0xB398,0xB399,0xC5F0,0xB39A,0xB39B,0xB39C,
+0xB39D,0xB39E,0xB39F,0xB3A0,0xB440,0xB441,0xB442,0xEDD6,
+0xB443,0xB5EF,0xB444,0xB445,0xC2B5,0xB0AD,0xCBE9,0xB446,
+0xB447,0xB1AE,0xB448,0xEDD4,0xB449,0xB44A,0xB44B,0xCDEB,
+0xB5E2,0xB44C,0xEDD5,0xEDD3,0xEDD7,0xB44D,0xB44E,0xB5FA,
+0xB44F,0xEDD8,0xB450,0xEDD9,0xB451,0xEDDC,0xB452,0xB1CC,
+0xB453,0xB454,0xB455,0xB456,0xB457,0xB458,0xB459,0xB45A,
+0xC5F6,0xBCEE,0xEDDA,0xCCBC,0xB2EA,0xB45B,0xB45C,0xB45D,
+0xB45E,0xEDDB,0xB45F,0xB460,0xB461,0xB462,0xC4EB,0xB463,
+0xB464,0xB4C5,0xB465,0xB466,0xB467,0xB0F5,0xB468,0xB469,
+0xB46A,0xEDDF,0xC0DA,0xB4E8,0xB46B,0xB46C,0xB46D,0xB46E,
+0xC5CD,0xB46F,0xB470,0xB471,0xEDDD,0xBFC4,0xB472,0xB473,
+0xB474,0xEDDE,0xB475,0xB476,0xB477,0xB478,0xB479,0xB47A,
+0xB47B,0xB47C,0xB47D,0xB47E,0xB480,0xB481,0xB482,0xB483,
+0xC4A5,0xB484,0xB485,0xB486,0xEDE0,0xB487,0xB488,0xB489,
+0xB48A,0xB48B,0xEDE1,0xB48C,0xEDE3,0xB48D,0xB48E,0xC1D7,
+0xB48F,0xB490,0xBBC7,0xB491,0xB492,0xB493,0xB494,0xB495,
+0xB496,0xBDB8,0xB497,0xB498,0xB499,0xEDE2,0xB49A,0xB49B,
+0xB49C,0xB49D,0xB49E,0xB49F,0xB4A0,0xB540,0xB541,0xB542,
+0xB543,0xB544,0xB545,0xEDE4,0xB546,0xB547,0xB548,0xB549,
+0xB54A,0xB54B,0xB54C,0xB54D,0xB54E,0xB54F,0xEDE6,0xB550,
+0xB551,0xB552,0xB553,0xB554,0xEDE5,0xB555,0xB556,0xB557,
+0xB558,0xB559,0xB55A,0xB55B,0xB55C,0xB55D,0xB55E,0xB55F,
+0xB560,0xB561,0xB562,0xB563,0xEDE7,0xB564,0xB565,0xB566,
+0xB567,0xB568,0xCABE,0xECEA,0xC0F1,0xB569,0xC9E7,0xB56A,
+0xECEB,0xC6EE,0xB56B,0xB56C,0xB56D,0xB56E,0xECEC,0xB56F,
+0xC6ED,0xECED,0xB570,0xB571,0xB572,0xB573,0xB574,0xB575,
+0xB576,0xB577,0xB578,0xECF0,0xB579,0xB57A,0xD7E6,0xECF3,
+0xB57B,0xB57C,0xECF1,0xECEE,0xECEF,0xD7A3,0xC9F1,0xCBEE,
+0xECF4,0xB57D,0xECF2,0xB57E,0xB580,0xCFE9,0xB581,0xECF6,
+0xC6B1,0xB582,0xB583,0xB584,0xB585,0xBCC0,0xB586,0xECF5,
+0xB587,0xB588,0xB589,0xB58A,0xB58B,0xB58C,0xB58D,0xB5BB,
+0xBBF6,0xB58E,0xECF7,0xB58F,0xB590,0xB591,0xB592,0xB593,
+0xD9F7,0xBDFB,0xB594,0xB595,0xC2BB,0xECF8,0xB596,0xB597,
+0xB598,0xB599,0xECF9,0xB59A,0xB59B,0xB59C,0xB59D,0xB8A3,
+0xB59E,0xB59F,0xB5A0,0xB640,0xB641,0xB642,0xB643,0xB644,
+0xB645,0xB646,0xECFA,0xB647,0xB648,0xB649,0xB64A,0xB64B,
+0xB64C,0xB64D,0xB64E,0xB64F,0xB650,0xB651,0xB652,0xECFB,
+0xB653,0xB654,0xB655,0xB656,0xB657,0xB658,0xB659,0xB65A,
+0xB65B,0xB65C,0xB65D,0xECFC,0xB65E,0xB65F,0xB660,0xB661,
+0xB662,0xD3ED,0xD8AE,0xC0EB,0xB663,0xC7DD,0xBACC,0xB664,
+0xD0E3,0xCBBD,0xB665,0xCDBA,0xB666,0xB667,0xB8D1,0xB668,
+0xB669,0xB1FC,0xB66A,0xC7EF,0xB66B,0xD6D6,0xB66C,0xB66D,
+0xB66E,0xBFC6,0xC3EB,0xB66F,0xB670,0xEFF5,0xB671,0xB672,
+0xC3D8,0xB673,0xB674,0xB675,0xB676,0xB677,0xB678,0xD7E2,
+0xB679,0xB67A,0xB67B,0xEFF7,0xB3D3,0xB67C,0xC7D8,0xD1ED,
+0xB67D,0xD6C8,0xB67E,0xEFF8,0xB680,0xEFF6,0xB681,0xBBFD,
+0xB3C6,0xB682,0xB683,0xB684,0xB685,0xB686,0xB687,0xB688,
+0xBDD5,0xB689,0xB68A,0xD2C6,0xB68B,0xBBE0,0xB68C,0xB68D,
+0xCFA1,0xB68E,0xEFFC,0xEFFB,0xB68F,0xB690,0xEFF9,0xB691,
+0xB692,0xB693,0xB694,0xB3CC,0xB695,0xC9D4,0xCBB0,0xB696,
+0xB697,0xB698,0xB699,0xB69A,0xEFFE,0xB69B,0xB69C,0xB0DE,
+0xB69D,0xB69E,0xD6C9,0xB69F,0xB6A0,0xB740,0xEFFD,0xB741,
+0xB3ED,0xB742,0xB743,0xF6D5,0xB744,0xB745,0xB746,0xB747,
+0xB748,0xB749,0xB74A,0xB74B,0xB74C,0xB74D,0xB74E,0xB74F,
+0xB750,0xB751,0xB752,0xCEC8,0xB753,0xB754,0xB755,0xF0A2,
+0xB756,0xF0A1,0xB757,0xB5BE,0xBCDA,0xBBFC,0xB758,0xB8E5,
+0xB759,0xB75A,0xB75B,0xB75C,0xB75D,0xB75E,0xC4C2,0xB75F,
+0xB760,0xB761,0xB762,0xB763,0xB764,0xB765,0xB766,0xB767,
+0xB768,0xF0A3,0xB769,0xB76A,0xB76B,0xB76C,0xB76D,0xCBEB,
+0xB76E,0xB76F,0xB770,0xB771,0xB772,0xB773,0xB774,0xB775,
+0xB776,0xB777,0xB778,0xB779,0xB77A,0xB77B,0xB77C,0xB77D,
+0xB77E,0xB780,0xB781,0xB782,0xB783,0xB784,0xB785,0xB786,
+0xF0A6,0xB787,0xB788,0xB789,0xD1A8,0xB78A,0xBEBF,0xC7EE,
+0xF1B6,0xF1B7,0xBFD5,0xB78B,0xB78C,0xB78D,0xB78E,0xB4A9,
+0xF1B8,0xCDBB,0xB78F,0xC7D4,0xD5AD,0xB790,0xF1B9,0xB791,
+0xF1BA,0xB792,0xB793,0xB794,0xB795,0xC7CF,0xB796,0xB797,
+0xB798,0xD2A4,0xD6CF,0xB799,0xB79A,0xF1BB,0xBDD1,0xB4B0,
+0xBEBD,0xB79B,0xB79C,0xB79D,0xB4DC,0xCED1,0xB79E,0xBFDF,
+0xF1BD,0xB79F,0xB7A0,0xB840,0xB841,0xBFFA,0xF1BC,0xB842,
+0xF1BF,0xB843,0xB844,0xB845,0xF1BE,0xF1C0,0xB846,0xB847,
+0xB848,0xB849,0xB84A,0xF1C1,0xB84B,0xB84C,0xB84D,0xB84E,
+0xB84F,0xB850,0xB851,0xB852,0xB853,0xB854,0xB855,0xC1FE,
+0xB856,0xB857,0xB858,0xB859,0xB85A,0xB85B,0xB85C,0xB85D,
+0xB85E,0xB85F,0xB860,0xC1A2,0xB861,0xB862,0xB863,0xB864,
+0xB865,0xB866,0xB867,0xB868,0xB869,0xB86A,0xCAFA,0xB86B,
+0xB86C,0xD5BE,0xB86D,0xB86E,0xB86F,0xB870,0xBEBA,0xBEB9,
+0xD5C2,0xB871,0xB872,0xBFA2,0xB873,0xCDAF,0xF1B5,0xB874,
+0xB875,0xB876,0xB877,0xB878,0xB879,0xBDDF,0xB87A,0xB6CB,
+0xB87B,0xB87C,0xB87D,0xB87E,0xB880,0xB881,0xB882,0xB883,
+0xB884,0xD6F1,0xF3C3,0xB885,0xB886,0xF3C4,0xB887,0xB8CD,
+0xB888,0xB889,0xB88A,0xF3C6,0xF3C7,0xB88B,0xB0CA,0xB88C,
+0xF3C5,0xB88D,0xF3C9,0xCBF1,0xB88E,0xB88F,0xB890,0xF3CB,
+0xB891,0xD0A6,0xB892,0xB893,0xB1CA,0xF3C8,0xB894,0xB895,
+0xB896,0xF3CF,0xB897,0xB5D1,0xB898,0xB899,0xF3D7,0xB89A,
+0xF3D2,0xB89B,0xB89C,0xB89D,0xF3D4,0xF3D3,0xB7FB,0xB89E,
+0xB1BF,0xB89F,0xF3CE,0xF3CA,0xB5DA,0xB8A0,0xF3D0,0xB940,
+0xB941,0xF3D1,0xB942,0xF3D5,0xB943,0xB944,0xB945,0xB946,
+0xF3CD,0xB947,0xBCE3,0xB948,0xC1FD,0xB949,0xF3D6,0xB94A,
+0xB94B,0xB94C,0xB94D,0xB94E,0xB94F,0xF3DA,0xB950,0xF3CC,
+0xB951,0xB5C8,0xB952,0xBDEE,0xF3DC,0xB953,0xB954,0xB7A4,
+0xBFF0,0xD6FE,0xCDB2,0xB955,0xB4F0,0xB956,0xB2DF,0xB957,
+0xF3D8,0xB958,0xF3D9,0xC9B8,0xB959,0xF3DD,0xB95A,0xB95B,
+0xF3DE,0xB95C,0xF3E1,0xB95D,0xB95E,0xB95F,0xB960,0xB961,
+0xB962,0xB963,0xB964,0xB965,0xB966,0xB967,0xF3DF,0xB968,
+0xB969,0xF3E3,0xF3E2,0xB96A,0xB96B,0xF3DB,0xB96C,0xBFEA,
+0xB96D,0xB3EF,0xB96E,0xF3E0,0xB96F,0xB970,0xC7A9,0xB971,
+0xBCF2,0xB972,0xB973,0xB974,0xB975,0xF3EB,0xB976,0xB977,
+0xB978,0xB979,0xB97A,0xB97B,0xB97C,0xB9BF,0xB97D,0xB97E,
+0xF3E4,0xB980,0xB981,0xB982,0xB2AD,0xBBFE,0xB983,0xCBE3,
+0xB984,0xB985,0xB986,0xB987,0xF3ED,0xF3E9,0xB988,0xB989,
+0xB98A,0xB9DC,0xF3EE,0xB98B,0xB98C,0xB98D,0xF3E5,0xF3E6,
+0xF3EA,0xC2E1,0xF3EC,0xF3EF,0xF3E8,0xBCFD,0xB98E,0xB98F,
+0xB990,0xCFE4,0xB991,0xB992,0xF3F0,0xB993,0xB994,0xB995,
+0xF3E7,0xB996,0xB997,0xB998,0xB999,0xB99A,0xB99B,0xB99C,
+0xB99D,0xF3F2,0xB99E,0xB99F,0xB9A0,0xBA40,0xD7AD,0xC6AA,
+0xBA41,0xBA42,0xBA43,0xBA44,0xF3F3,0xBA45,0xBA46,0xBA47,
+0xBA48,0xF3F1,0xBA49,0xC2A8,0xBA4A,0xBA4B,0xBA4C,0xBA4D,
+0xBA4E,0xB8DD,0xF3F5,0xBA4F,0xBA50,0xF3F4,0xBA51,0xBA52,
+0xBA53,0xB4DB,0xBA54,0xBA55,0xBA56,0xF3F6,0xF3F7,0xBA57,
+0xBA58,0xBA59,0xF3F8,0xBA5A,0xBA5B,0xBA5C,0xC0BA,0xBA5D,
+0xBA5E,0xC0E9,0xBA5F,0xBA60,0xBA61,0xBA62,0xBA63,0xC5F1,
+0xBA64,0xBA65,0xBA66,0xBA67,0xF3FB,0xBA68,0xF3FA,0xBA69,
+0xBA6A,0xBA6B,0xBA6C,0xBA6D,0xBA6E,0xBA6F,0xBA70,0xB4D8,
+0xBA71,0xBA72,0xBA73,0xF3FE,0xF3F9,0xBA74,0xBA75,0xF3FC,
+0xBA76,0xBA77,0xBA78,0xBA79,0xBA7A,0xBA7B,0xF3FD,0xBA7C,
+0xBA7D,0xBA7E,0xBA80,0xBA81,0xBA82,0xBA83,0xBA84,0xF4A1,
+0xBA85,0xBA86,0xBA87,0xBA88,0xBA89,0xBA8A,0xF4A3,0xBBC9,
+0xBA8B,0xBA8C,0xF4A2,0xBA8D,0xBA8E,0xBA8F,0xBA90,0xBA91,
+0xBA92,0xBA93,0xBA94,0xBA95,0xBA96,0xBA97,0xBA98,0xBA99,
+0xF4A4,0xBA9A,0xBA9B,0xBA9C,0xBA9D,0xBA9E,0xBA9F,0xB2BE,
+0xF4A6,0xF4A5,0xBAA0,0xBB40,0xBB41,0xBB42,0xBB43,0xBB44,
+0xBB45,0xBB46,0xBB47,0xBB48,0xBB49,0xBCAE,0xBB4A,0xBB4B,
+0xBB4C,0xBB4D,0xBB4E,0xBB4F,0xBB50,0xBB51,0xBB52,0xBB53,
+0xBB54,0xBB55,0xBB56,0xBB57,0xBB58,0xBB59,0xBB5A,0xBB5B,
+0xBB5C,0xBB5D,0xBB5E,0xBB5F,0xBB60,0xBB61,0xBB62,0xBB63,
+0xBB64,0xBB65,0xBB66,0xBB67,0xBB68,0xBB69,0xBB6A,0xBB6B,
+0xBB6C,0xBB6D,0xBB6E,0xC3D7,0xD9E1,0xBB6F,0xBB70,0xBB71,
+0xBB72,0xBB73,0xBB74,0xC0E0,0xF4CC,0xD7D1,0xBB75,0xBB76,
+0xBB77,0xBB78,0xBB79,0xBB7A,0xBB7B,0xBB7C,0xBB7D,0xBB7E,
+0xBB80,0xB7DB,0xBB81,0xBB82,0xBB83,0xBB84,0xBB85,0xBB86,
+0xBB87,0xF4CE,0xC1A3,0xBB88,0xBB89,0xC6C9,0xBB8A,0xB4D6,
+0xD5B3,0xBB8B,0xBB8C,0xBB8D,0xF4D0,0xF4CF,0xF4D1,0xCBDA,
+0xBB8E,0xBB8F,0xF4D2,0xBB90,0xD4C1,0xD6E0,0xBB91,0xBB92,
+0xBB93,0xBB94,0xB7E0,0xBB95,0xBB96,0xBB97,0xC1B8,0xBB98,
+0xBB99,0xC1BB,0xF4D3,0xBEAC,0xBB9A,0xBB9B,0xBB9C,0xBB9D,
+0xBB9E,0xB4E2,0xBB9F,0xBBA0,0xF4D4,0xF4D5,0xBEAB,0xBC40,
+0xBC41,0xF4D6,0xBC42,0xBC43,0xBC44,0xF4DB,0xBC45,0xF4D7,
+0xF4DA,0xBC46,0xBAFD,0xBC47,0xF4D8,0xF4D9,0xBC48,0xBC49,
+0xBC4A,0xBC4B,0xBC4C,0xBC4D,0xBC4E,0xB8E2,0xCCC7,0xF4DC,
+0xBC4F,0xB2DA,0xBC50,0xBC51,0xC3D3,0xBC52,0xBC53,0xD4E3,
+0xBFB7,0xBC54,0xBC55,0xBC56,0xBC57,0xBC58,0xBC59,0xBC5A,
+0xF4DD,0xBC5B,0xBC5C,0xBC5D,0xBC5E,0xBC5F,0xBC60,0xC5B4,
+0xBC61,0xBC62,0xBC63,0xBC64,0xBC65,0xBC66,0xBC67,0xBC68,
+0xF4E9,0xBC69,0xBC6A,0xCFB5,0xBC6B,0xBC6C,0xBC6D,0xBC6E,
+0xBC6F,0xBC70,0xBC71,0xBC72,0xBC73,0xBC74,0xBC75,0xBC76,
+0xBC77,0xBC78,0xCEC9,0xBC79,0xBC7A,0xBC7B,0xBC7C,0xBC7D,
+0xBC7E,0xBC80,0xBC81,0xBC82,0xBC83,0xBC84,0xBC85,0xBC86,
+0xBC87,0xBC88,0xBC89,0xBC8A,0xBC8B,0xBC8C,0xBC8D,0xBC8E,
+0xCBD8,0xBC8F,0xCBF7,0xBC90,0xBC91,0xBC92,0xBC93,0xBDF4,
+0xBC94,0xBC95,0xBC96,0xD7CF,0xBC97,0xBC98,0xBC99,0xC0DB,
+0xBC9A,0xBC9B,0xBC9C,0xBC9D,0xBC9E,0xBC9F,0xBCA0,0xBD40,
+0xBD41,0xBD42,0xBD43,0xBD44,0xBD45,0xBD46,0xBD47,0xBD48,
+0xBD49,0xBD4A,0xBD4B,0xBD4C,0xBD4D,0xBD4E,0xBD4F,0xBD50,
+0xBD51,0xBD52,0xBD53,0xBD54,0xBD55,0xBD56,0xBD57,0xBD58,
+0xBD59,0xBD5A,0xBD5B,0xBD5C,0xBD5D,0xBD5E,0xBD5F,0xBD60,
+0xBD61,0xBD62,0xBD63,0xBD64,0xBD65,0xBD66,0xBD67,0xBD68,
+0xBD69,0xBD6A,0xBD6B,0xBD6C,0xBD6D,0xBD6E,0xBD6F,0xBD70,
+0xBD71,0xBD72,0xBD73,0xBD74,0xBD75,0xBD76,0xD0F5,0xBD77,
+0xBD78,0xBD79,0xBD7A,0xBD7B,0xBD7C,0xBD7D,0xBD7E,0xF4EA,
+0xBD80,0xBD81,0xBD82,0xBD83,0xBD84,0xBD85,0xBD86,0xBD87,
+0xBD88,0xBD89,0xBD8A,0xBD8B,0xBD8C,0xBD8D,0xBD8E,0xBD8F,
+0xBD90,0xBD91,0xBD92,0xBD93,0xBD94,0xBD95,0xBD96,0xBD97,
+0xBD98,0xBD99,0xBD9A,0xBD9B,0xBD9C,0xBD9D,0xBD9E,0xBD9F,
+0xBDA0,0xBE40,0xBE41,0xBE42,0xBE43,0xBE44,0xBE45,0xBE46,
+0xBE47,0xBE48,0xBE49,0xBE4A,0xBE4B,0xBE4C,0xF4EB,0xBE4D,
+0xBE4E,0xBE4F,0xBE50,0xBE51,0xBE52,0xBE53,0xF4EC,0xBE54,
+0xBE55,0xBE56,0xBE57,0xBE58,0xBE59,0xBE5A,0xBE5B,0xBE5C,
+0xBE5D,0xBE5E,0xBE5F,0xBE60,0xBE61,0xBE62,0xBE63,0xBE64,
+0xBE65,0xBE66,0xBE67,0xBE68,0xBE69,0xBE6A,0xBE6B,0xBE6C,
+0xBE6D,0xBE6E,0xBE6F,0xBE70,0xBE71,0xBE72,0xBE73,0xBE74,
+0xBE75,0xBE76,0xBE77,0xBE78,0xBE79,0xBE7A,0xBE7B,0xBE7C,
+0xBE7D,0xBE7E,0xBE80,0xBE81,0xBE82,0xBE83,0xBE84,0xBE85,
+0xBE86,0xBE87,0xBE88,0xBE89,0xBE8A,0xBE8B,0xBE8C,0xBE8D,
+0xBE8E,0xBE8F,0xBE90,0xBE91,0xBE92,0xBE93,0xBE94,0xBE95,
+0xBE96,0xBE97,0xBE98,0xBE99,0xBE9A,0xBE9B,0xBE9C,0xBE9D,
+0xBE9E,0xBE9F,0xBEA0,0xBF40,0xBF41,0xBF42,0xBF43,0xBF44,
+0xBF45,0xBF46,0xBF47,0xBF48,0xBF49,0xBF4A,0xBF4B,0xBF4C,
+0xBF4D,0xBF4E,0xBF4F,0xBF50,0xBF51,0xBF52,0xBF53,0xBF54,
+0xBF55,0xBF56,0xBF57,0xBF58,0xBF59,0xBF5A,0xBF5B,0xBF5C,
+0xBF5D,0xBF5E,0xBF5F,0xBF60,0xBF61,0xBF62,0xBF63,0xBF64,
+0xBF65,0xBF66,0xBF67,0xBF68,0xBF69,0xBF6A,0xBF6B,0xBF6C,
+0xBF6D,0xBF6E,0xBF6F,0xBF70,0xBF71,0xBF72,0xBF73,0xBF74,
+0xBF75,0xBF76,0xBF77,0xBF78,0xBF79,0xBF7A,0xBF7B,0xBF7C,
+0xBF7D,0xBF7E,0xBF80,0xF7E3,0xBF81,0xBF82,0xBF83,0xBF84,
+0xBF85,0xB7B1,0xBF86,0xBF87,0xBF88,0xBF89,0xBF8A,0xF4ED,
+0xBF8B,0xBF8C,0xBF8D,0xBF8E,0xBF8F,0xBF90,0xBF91,0xBF92,
+0xBF93,0xBF94,0xBF95,0xBF96,0xBF97,0xBF98,0xBF99,0xBF9A,
+0xBF9B,0xBF9C,0xBF9D,0xBF9E,0xBF9F,0xBFA0,0xC040,0xC041,
+0xC042,0xC043,0xC044,0xC045,0xC046,0xC047,0xC048,0xC049,
+0xC04A,0xC04B,0xC04C,0xC04D,0xC04E,0xC04F,0xC050,0xC051,
+0xC052,0xC053,0xC054,0xC055,0xC056,0xC057,0xC058,0xC059,
+0xC05A,0xC05B,0xC05C,0xC05D,0xC05E,0xC05F,0xC060,0xC061,
+0xC062,0xC063,0xD7EB,0xC064,0xC065,0xC066,0xC067,0xC068,
+0xC069,0xC06A,0xC06B,0xC06C,0xC06D,0xC06E,0xC06F,0xC070,
+0xC071,0xC072,0xC073,0xC074,0xC075,0xC076,0xC077,0xC078,
+0xC079,0xC07A,0xC07B,0xF4EE,0xC07C,0xC07D,0xC07E,0xE6F9,
+0xBEC0,0xE6FA,0xBAEC,0xE6FB,0xCFCB,0xE6FC,0xD4BC,0xBCB6,
+0xE6FD,0xE6FE,0xBCCD,0xC8D2,0xCEB3,0xE7A1,0xC080,0xB4BF,
+0xE7A2,0xC9B4,0xB8D9,0xC4C9,0xC081,0xD7DD,0xC2DA,0xB7D7,
+0xD6BD,0xCEC6,0xB7C4,0xC082,0xC083,0xC5A6,0xE7A3,0xCFDF,
+0xE7A4,0xE7A5,0xE7A6,0xC1B7,0xD7E9,0xC9F0,0xCFB8,0xD6AF,
+0xD6D5,0xE7A7,0xB0ED,0xE7A8,0xE7A9,0xC9DC,0xD2EF,0xBEAD,
+0xE7AA,0xB0F3,0xC8DE,0xBDE1,0xE7AB,0xC8C6,0xC084,0xE7AC,
+0xBBE6,0xB8F8,0xD1A4,0xE7AD,0xC2E7,0xBEF8,0xBDCA,0xCDB3,
+0xE7AE,0xE7AF,0xBEEE,0xD0E5,0xC085,0xCBE7,0xCCD0,0xBCCC,
+0xE7B0,0xBCA8,0xD0F7,0xE7B1,0xC086,0xD0F8,0xE7B2,0xE7B3,
+0xB4C2,0xE7B4,0xE7B5,0xC9FE,0xCEAC,0xC3E0,0xE7B7,0xB1C1,
+0xB3F1,0xC087,0xE7B8,0xE7B9,0xD7DB,0xD5C0,0xE7BA,0xC2CC,
+0xD7BA,0xE7BB,0xE7BC,0xE7BD,0xBCEA,0xC3E5,0xC0C2,0xE7BE,
+0xE7BF,0xBCA9,0xC088,0xE7C0,0xE7C1,0xE7B6,0xB6D0,0xE7C2,
+0xC089,0xE7C3,0xE7C4,0xBBBA,0xB5DE,0xC2C6,0xB1E0,0xE7C5,
+0xD4B5,0xE7C6,0xB8BF,0xE7C8,0xE7C7,0xB7EC,0xC08A,0xE7C9,
+0xB2F8,0xE7CA,0xE7CB,0xE7CC,0xE7CD,0xE7CE,0xE7CF,0xE7D0,
+0xD3A7,0xCBF5,0xE7D1,0xE7D2,0xE7D3,0xE7D4,0xC9C9,0xE7D5,
+0xE7D6,0xE7D7,0xE7D8,0xE7D9,0xBDC9,0xE7DA,0xF3BE,0xC08B,
+0xB8D7,0xC08C,0xC8B1,0xC08D,0xC08E,0xC08F,0xC090,0xC091,
+0xC092,0xC093,0xF3BF,0xC094,0xF3C0,0xF3C1,0xC095,0xC096,
+0xC097,0xC098,0xC099,0xC09A,0xC09B,0xC09C,0xC09D,0xC09E,
+0xB9DE,0xCDF8,0xC09F,0xC0A0,0xD8E8,0xBAB1,0xC140,0xC2DE,
+0xEEB7,0xC141,0xB7A3,0xC142,0xC143,0xC144,0xC145,0xEEB9,
+0xC146,0xEEB8,0xB0D5,0xC147,0xC148,0xC149,0xC14A,0xC14B,
+0xEEBB,0xD5D6,0xD7EF,0xC14C,0xC14D,0xC14E,0xD6C3,0xC14F,
+0xC150,0xEEBD,0xCAF0,0xC151,0xEEBC,0xC152,0xC153,0xC154,
+0xC155,0xEEBE,0xC156,0xC157,0xC158,0xC159,0xEEC0,0xC15A,
+0xC15B,0xEEBF,0xC15C,0xC15D,0xC15E,0xC15F,0xC160,0xC161,
+0xC162,0xC163,0xD1F2,0xC164,0xC7BC,0xC165,0xC3C0,0xC166,
+0xC167,0xC168,0xC169,0xC16A,0xB8E1,0xC16B,0xC16C,0xC16D,
+0xC16E,0xC16F,0xC1E7,0xC170,0xC171,0xF4C6,0xD0DF,0xF4C7,
+0xC172,0xCFDB,0xC173,0xC174,0xC8BA,0xC175,0xC176,0xF4C8,
+0xC177,0xC178,0xC179,0xC17A,0xC17B,0xC17C,0xC17D,0xF4C9,
+0xF4CA,0xC17E,0xF4CB,0xC180,0xC181,0xC182,0xC183,0xC184,
+0xD9FA,0xB8FE,0xC185,0xC186,0xE5F1,0xD3F0,0xC187,0xF4E0,
+0xC188,0xCECC,0xC189,0xC18A,0xC18B,0xB3E1,0xC18C,0xC18D,
+0xC18E,0xC18F,0xF1B4,0xC190,0xD2EE,0xC191,0xF4E1,0xC192,
+0xC193,0xC194,0xC195,0xC196,0xCFE8,0xF4E2,0xC197,0xC198,
+0xC7CC,0xC199,0xC19A,0xC19B,0xC19C,0xC19D,0xC19E,0xB5D4,
+0xB4E4,0xF4E4,0xC19F,0xC1A0,0xC240,0xF4E3,0xF4E5,0xC241,
+0xC242,0xF4E6,0xC243,0xC244,0xC245,0xC246,0xF4E7,0xC247,
+0xBAB2,0xB0BF,0xC248,0xF4E8,0xC249,0xC24A,0xC24B,0xC24C,
+0xC24D,0xC24E,0xC24F,0xB7AD,0xD2ED,0xC250,0xC251,0xC252,
+0xD2AB,0xC0CF,0xC253,0xBFBC,0xEBA3,0xD5DF,0xEAC8,0xC254,
+0xC255,0xC256,0xC257,0xF1F3,0xB6F8,0xCBA3,0xC258,0xC259,
+0xC4CD,0xC25A,0xF1E7,0xC25B,0xF1E8,0xB8FB,0xF1E9,0xBAC4,
+0xD4C5,0xB0D2,0xC25C,0xC25D,0xF1EA,0xC25E,0xC25F,0xC260,
+0xF1EB,0xC261,0xF1EC,0xC262,0xC263,0xF1ED,0xF1EE,0xF1EF,
+0xF1F1,0xF1F0,0xC5D5,0xC264,0xC265,0xC266,0xC267,0xC268,
+0xC269,0xF1F2,0xC26A,0xB6FA,0xC26B,0xF1F4,0xD2AE,0xDEC7,
+0xCBCA,0xC26C,0xC26D,0xB3DC,0xC26E,0xB5A2,0xC26F,0xB9A2,
+0xC270,0xC271,0xC4F4,0xF1F5,0xC272,0xC273,0xF1F6,0xC274,
+0xC275,0xC276,0xC1C4,0xC1FB,0xD6B0,0xF1F7,0xC277,0xC278,
+0xC279,0xC27A,0xF1F8,0xC27B,0xC1AA,0xC27C,0xC27D,0xC27E,
+0xC6B8,0xC280,0xBEDB,0xC281,0xC282,0xC283,0xC284,0xC285,
+0xC286,0xC287,0xC288,0xC289,0xC28A,0xC28B,0xC28C,0xC28D,
+0xC28E,0xF1F9,0xB4CF,0xC28F,0xC290,0xC291,0xC292,0xC293,
+0xC294,0xF1FA,0xC295,0xC296,0xC297,0xC298,0xC299,0xC29A,
+0xC29B,0xC29C,0xC29D,0xC29E,0xC29F,0xC2A0,0xC340,0xEDB2,
+0xEDB1,0xC341,0xC342,0xCBE0,0xD2DE,0xC343,0xCBC1,0xD5D8,
+0xC344,0xC8E2,0xC345,0xC0DF,0xBCA1,0xC346,0xC347,0xC348,
+0xC349,0xC34A,0xC34B,0xEBC1,0xC34C,0xC34D,0xD0A4,0xC34E,
+0xD6E2,0xC34F,0xB6C7,0xB8D8,0xEBC0,0xB8CE,0xC350,0xEBBF,
+0xB3A6,0xB9C9,0xD6AB,0xC351,0xB7F4,0xB7CA,0xC352,0xC353,
+0xC354,0xBCE7,0xB7BE,0xEBC6,0xC355,0xEBC7,0xB0B9,0xBFCF,
+0xC356,0xEBC5,0xD3FD,0xC357,0xEBC8,0xC358,0xC359,0xEBC9,
+0xC35A,0xC35B,0xB7CE,0xC35C,0xEBC2,0xEBC4,0xC9F6,0xD6D7,
+0xD5CD,0xD0B2,0xEBCF,0xCEB8,0xEBD0,0xC35D,0xB5A8,0xC35E,
+0xC35F,0xC360,0xC361,0xC362,0xB1B3,0xEBD2,0xCCA5,0xC363,
+0xC364,0xC365,0xC366,0xC367,0xC368,0xC369,0xC5D6,0xEBD3,
+0xC36A,0xEBD1,0xC5DF,0xEBCE,0xCAA4,0xEBD5,0xB0FB,0xC36B,
+0xC36C,0xBAFA,0xC36D,0xC36E,0xD8B7,0xF1E3,0xC36F,0xEBCA,
+0xEBCB,0xEBCC,0xEBCD,0xEBD6,0xE6C0,0xEBD9,0xC370,0xBFE8,
+0xD2C8,0xEBD7,0xEBDC,0xB8EC,0xEBD8,0xC371,0xBDBA,0xC372,
+0xD0D8,0xC373,0xB0B7,0xC374,0xEBDD,0xC4DC,0xC375,0xC376,
+0xC377,0xC378,0xD6AC,0xC379,0xC37A,0xC37B,0xB4E0,0xC37C,
+0xC37D,0xC2F6,0xBCB9,0xC37E,0xC380,0xEBDA,0xEBDB,0xD4E0,
+0xC6EA,0xC4D4,0xEBDF,0xC5A7,0xD9F5,0xC381,0xB2B1,0xC382,
+0xEBE4,0xC383,0xBDC5,0xC384,0xC385,0xC386,0xEBE2,0xC387,
+0xC388,0xC389,0xC38A,0xC38B,0xC38C,0xC38D,0xC38E,0xC38F,
+0xC390,0xC391,0xC392,0xC393,0xEBE3,0xC394,0xC395,0xB8AC,
+0xC396,0xCDD1,0xEBE5,0xC397,0xC398,0xC399,0xEBE1,0xC39A,
+0xC1B3,0xC39B,0xC39C,0xC39D,0xC39E,0xC39F,0xC6A2,0xC3A0,
+0xC440,0xC441,0xC442,0xC443,0xC444,0xC445,0xCCF3,0xC446,
+0xEBE6,0xC447,0xC0B0,0xD2B8,0xEBE7,0xC448,0xC449,0xC44A,
+0xB8AF,0xB8AD,0xC44B,0xEBE8,0xC7BB,0xCDF3,0xC44C,0xC44D,
+0xC44E,0xEBEA,0xEBEB,0xC44F,0xC450,0xC451,0xC452,0xC453,
+0xEBED,0xC454,0xC455,0xC456,0xC457,0xD0C8,0xC458,0xEBF2,
+0xC459,0xEBEE,0xC45A,0xC45B,0xC45C,0xEBF1,0xC8F9,0xC45D,
+0xD1FC,0xEBEC,0xC45E,0xC45F,0xEBE9,0xC460,0xC461,0xC462,
+0xC463,0xB8B9,0xCFD9,0xC4E5,0xEBEF,0xEBF0,0xCCDA,0xCDC8,
+0xB0F2,0xC464,0xEBF6,0xC465,0xC466,0xC467,0xC468,0xC469,
+0xEBF5,0xC46A,0xB2B2,0xC46B,0xC46C,0xC46D,0xC46E,0xB8E0,
+0xC46F,0xEBF7,0xC470,0xC471,0xC472,0xC473,0xC474,0xC475,
+0xB1EC,0xC476,0xC477,0xCCC5,0xC4A4,0xCFA5,0xC478,0xC479,
+0xC47A,0xC47B,0xC47C,0xEBF9,0xC47D,0xC47E,0xECA2,0xC480,
+0xC5F2,0xC481,0xEBFA,0xC482,0xC483,0xC484,0xC485,0xC486,
+0xC487,0xC488,0xC489,0xC9C5,0xC48A,0xC48B,0xC48C,0xC48D,
+0xC48E,0xC48F,0xE2DF,0xEBFE,0xC490,0xC491,0xC492,0xC493,
+0xCDCE,0xECA1,0xB1DB,0xD3B7,0xC494,0xC495,0xD2DC,0xC496,
+0xC497,0xC498,0xEBFD,0xC499,0xEBFB,0xC49A,0xC49B,0xC49C,
+0xC49D,0xC49E,0xC49F,0xC4A0,0xC540,0xC541,0xC542,0xC543,
+0xC544,0xC545,0xC546,0xC547,0xC548,0xC549,0xC54A,0xC54B,
+0xC54C,0xC54D,0xC54E,0xB3BC,0xC54F,0xC550,0xC551,0xEAB0,
+0xC552,0xC553,0xD7D4,0xC554,0xF4AB,0xB3F4,0xC555,0xC556,
+0xC557,0xC558,0xC559,0xD6C1,0xD6C2,0xC55A,0xC55B,0xC55C,
+0xC55D,0xC55E,0xC55F,0xD5E9,0xBECA,0xC560,0xF4A7,0xC561,
+0xD2A8,0xF4A8,0xF4A9,0xC562,0xF4AA,0xBECB,0xD3DF,0xC563,
+0xC564,0xC565,0xC566,0xC567,0xC9E0,0xC9E1,0xC568,0xC569,
+0xF3C2,0xC56A,0xCAE6,0xC56B,0xCCF2,0xC56C,0xC56D,0xC56E,
+0xC56F,0xC570,0xC571,0xE2B6,0xCBB4,0xC572,0xCEE8,0xD6DB,
+0xC573,0xF4AD,0xF4AE,0xF4AF,0xC574,0xC575,0xC576,0xC577,
+0xF4B2,0xC578,0xBABD,0xF4B3,0xB0E3,0xF4B0,0xC579,0xF4B1,
+0xBDA2,0xB2D5,0xC57A,0xF4B6,0xF4B7,0xB6E6,0xB2B0,0xCFCF,
+0xF4B4,0xB4AC,0xC57B,0xF4B5,0xC57C,0xC57D,0xF4B8,0xC57E,
+0xC580,0xC581,0xC582,0xC583,0xF4B9,0xC584,0xC585,0xCDA7,
+0xC586,0xF4BA,0xC587,0xF4BB,0xC588,0xC589,0xC58A,0xF4BC,
+0xC58B,0xC58C,0xC58D,0xC58E,0xC58F,0xC590,0xC591,0xC592,
+0xCBD2,0xC593,0xF4BD,0xC594,0xC595,0xC596,0xC597,0xF4BE,
+0xC598,0xC599,0xC59A,0xC59B,0xC59C,0xC59D,0xC59E,0xC59F,
+0xF4BF,0xC5A0,0xC640,0xC641,0xC642,0xC643,0xF4DE,0xC1BC,
+0xBCE8,0xC644,0xC9AB,0xD1DE,0xE5F5,0xC645,0xC646,0xC647,
+0xC648,0xDCB3,0xD2D5,0xC649,0xC64A,0xDCB4,0xB0AC,0xDCB5,
+0xC64B,0xC64C,0xBDDA,0xC64D,0xDCB9,0xC64E,0xC64F,0xC650,
+0xD8C2,0xC651,0xDCB7,0xD3F3,0xC652,0xC9D6,0xDCBA,0xDCB6,
+0xC653,0xDCBB,0xC3A2,0xC654,0xC655,0xC656,0xC657,0xDCBC,
+0xDCC5,0xDCBD,0xC658,0xC659,0xCEDF,0xD6A5,0xC65A,0xDCCF,
+0xC65B,0xDCCD,0xC65C,0xC65D,0xDCD2,0xBDE6,0xC2AB,0xC65E,
+0xDCB8,0xDCCB,0xDCCE,0xDCBE,0xB7D2,0xB0C5,0xDCC7,0xD0BE,
+0xDCC1,0xBBA8,0xC65F,0xB7BC,0xDCCC,0xC660,0xC661,0xDCC6,
+0xDCBF,0xC7DB,0xC662,0xC663,0xC664,0xD1BF,0xDCC0,0xC665,
+0xC666,0xDCCA,0xC667,0xC668,0xDCD0,0xC669,0xC66A,0xCEAD,
+0xDCC2,0xC66B,0xDCC3,0xDCC8,0xDCC9,0xB2D4,0xDCD1,0xCBD5,
+0xC66C,0xD4B7,0xDCDB,0xDCDF,0xCCA6,0xDCE6,0xC66D,0xC3E7,
+0xDCDC,0xC66E,0xC66F,0xBFC1,0xDCD9,0xC670,0xB0FA,0xB9B6,
+0xDCE5,0xDCD3,0xC671,0xDCC4,0xDCD6,0xC8F4,0xBFE0,0xC672,
+0xC673,0xC674,0xC675,0xC9BB,0xC676,0xC677,0xC678,0xB1BD,
+0xC679,0xD3A2,0xC67A,0xC67B,0xDCDA,0xC67C,0xC67D,0xDCD5,
+0xC67E,0xC6BB,0xC680,0xDCDE,0xC681,0xC682,0xC683,0xC684,
+0xC685,0xD7C2,0xC3AF,0xB7B6,0xC7D1,0xC3A9,0xDCE2,0xDCD8,
+0xDCEB,0xDCD4,0xC686,0xC687,0xDCDD,0xC688,0xBEA5,0xDCD7,
+0xC689,0xDCE0,0xC68A,0xC68B,0xDCE3,0xDCE4,0xC68C,0xDCF8,
+0xC68D,0xC68E,0xDCE1,0xDDA2,0xDCE7,0xC68F,0xC690,0xC691,
+0xC692,0xC693,0xC694,0xC695,0xC696,0xC697,0xC698,0xBCEB,
+0xB4C4,0xC699,0xC69A,0xC3A3,0xB2E7,0xDCFA,0xC69B,0xDCF2,
+0xC69C,0xDCEF,0xC69D,0xDCFC,0xDCEE,0xD2F0,0xB2E8,0xC69E,
+0xC8D7,0xC8E3,0xDCFB,0xC69F,0xDCED,0xC6A0,0xC740,0xC741,
+0xDCF7,0xC742,0xC743,0xDCF5,0xC744,0xC745,0xBEA3,0xDCF4,
+0xC746,0xB2DD,0xC747,0xC748,0xC749,0xC74A,0xC74B,0xDCF3,
+0xBCF6,0xDCE8,0xBBC4,0xC74C,0xC0F3,0xC74D,0xC74E,0xC74F,
+0xC750,0xC751,0xBCD4,0xDCE9,0xDCEA,0xC752,0xDCF1,0xDCF6,
+0xDCF9,0xB5B4,0xC753,0xC8D9,0xBBE7,0xDCFE,0xDCFD,0xD3AB,
+0xDDA1,0xDDA3,0xDDA5,0xD2F1,0xDDA4,0xDDA6,0xDDA7,0xD2A9,
+0xC754,0xC755,0xC756,0xC757,0xC758,0xC759,0xC75A,0xBAC9,
+0xDDA9,0xC75B,0xC75C,0xDDB6,0xDDB1,0xDDB4,0xC75D,0xC75E,
+0xC75F,0xC760,0xC761,0xC762,0xC763,0xDDB0,0xC6CE,0xC764,
+0xC765,0xC0F2,0xC766,0xC767,0xC768,0xC769,0xC9AF,0xC76A,
+0xC76B,0xC76C,0xDCEC,0xDDAE,0xC76D,0xC76E,0xC76F,0xC770,
+0xDDB7,0xC771,0xC772,0xDCF0,0xDDAF,0xC773,0xDDB8,0xC774,
+0xDDAC,0xC775,0xC776,0xC777,0xC778,0xC779,0xC77A,0xC77B,
+0xDDB9,0xDDB3,0xDDAD,0xC4AA,0xC77C,0xC77D,0xC77E,0xC780,
+0xDDA8,0xC0B3,0xC1AB,0xDDAA,0xDDAB,0xC781,0xDDB2,0xBBF1,
+0xDDB5,0xD3A8,0xDDBA,0xC782,0xDDBB,0xC3A7,0xC783,0xC784,
+0xDDD2,0xDDBC,0xC785,0xC786,0xC787,0xDDD1,0xC788,0xB9BD,
+0xC789,0xC78A,0xBED5,0xC78B,0xBEFA,0xC78C,0xC78D,0xBACA,
+0xC78E,0xC78F,0xC790,0xC791,0xDDCA,0xC792,0xDDC5,0xC793,
+0xDDBF,0xC794,0xC795,0xC796,0xB2CB,0xDDC3,0xC797,0xDDCB,
+0xB2A4,0xDDD5,0xC798,0xC799,0xC79A,0xDDBE,0xC79B,0xC79C,
+0xC79D,0xC6D0,0xDDD0,0xC79E,0xC79F,0xC7A0,0xC840,0xC841,
+0xDDD4,0xC1E2,0xB7C6,0xC842,0xC843,0xC844,0xC845,0xC846,
+0xDDCE,0xDDCF,0xC847,0xC848,0xC849,0xDDC4,0xC84A,0xC84B,
+0xC84C,0xDDBD,0xC84D,0xDDCD,0xCCD1,0xC84E,0xDDC9,0xC84F,
+0xC850,0xC851,0xC852,0xDDC2,0xC3C8,0xC6BC,0xCEAE,0xDDCC,
+0xC853,0xDDC8,0xC854,0xC855,0xC856,0xC857,0xC858,0xC859,
+0xDDC1,0xC85A,0xC85B,0xC85C,0xDDC6,0xC2DC,0xC85D,0xC85E,
+0xC85F,0xC860,0xC861,0xC862,0xD3A9,0xD3AA,0xDDD3,0xCFF4,
+0xC8F8,0xC863,0xC864,0xC865,0xC866,0xC867,0xC868,0xC869,
+0xC86A,0xDDE6,0xC86B,0xC86C,0xC86D,0xC86E,0xC86F,0xC870,
+0xDDC7,0xC871,0xC872,0xC873,0xDDE0,0xC2E4,0xC874,0xC875,
+0xC876,0xC877,0xC878,0xC879,0xC87A,0xC87B,0xDDE1,0xC87C,
+0xC87D,0xC87E,0xC880,0xC881,0xC882,0xC883,0xC884,0xC885,
+0xC886,0xDDD7,0xC887,0xC888,0xC889,0xC88A,0xC88B,0xD6F8,
+0xC88C,0xDDD9,0xDDD8,0xB8F0,0xDDD6,0xC88D,0xC88E,0xC88F,
+0xC890,0xC6CF,0xC891,0xB6AD,0xC892,0xC893,0xC894,0xC895,
+0xC896,0xDDE2,0xC897,0xBAF9,0xD4E1,0xDDE7,0xC898,0xC899,
+0xC89A,0xB4D0,0xC89B,0xDDDA,0xC89C,0xBFFB,0xDDE3,0xC89D,
+0xDDDF,0xC89E,0xDDDD,0xC89F,0xC8A0,0xC940,0xC941,0xC942,
+0xC943,0xC944,0xB5D9,0xC945,0xC946,0xC947,0xC948,0xDDDB,
+0xDDDC,0xDDDE,0xC949,0xBDAF,0xDDE4,0xC94A,0xDDE5,0xC94B,
+0xC94C,0xC94D,0xC94E,0xC94F,0xC950,0xC951,0xC952,0xDDF5,
+0xC953,0xC3C9,0xC954,0xC955,0xCBE2,0xC956,0xC957,0xC958,
+0xC959,0xDDF2,0xC95A,0xC95B,0xC95C,0xC95D,0xC95E,0xC95F,
+0xC960,0xC961,0xC962,0xC963,0xC964,0xC965,0xC966,0xD8E1,
+0xC967,0xC968,0xC6D1,0xC969,0xDDF4,0xC96A,0xC96B,0xC96C,
+0xD5F4,0xDDF3,0xDDF0,0xC96D,0xC96E,0xDDEC,0xC96F,0xDDEF,
+0xC970,0xDDE8,0xC971,0xC972,0xD0EE,0xC973,0xC974,0xC975,
+0xC976,0xC8D8,0xDDEE,0xC977,0xC978,0xDDE9,0xC979,0xC97A,
+0xDDEA,0xCBF2,0xC97B,0xDDED,0xC97C,0xC97D,0xB1CD,0xC97E,
+0xC980,0xC981,0xC982,0xC983,0xC984,0xC0B6,0xC985,0xBCBB,
+0xDDF1,0xC986,0xC987,0xDDF7,0xC988,0xDDF6,0xDDEB,0xC989,
+0xC98A,0xC98B,0xC98C,0xC98D,0xC5EE,0xC98E,0xC98F,0xC990,
+0xDDFB,0xC991,0xC992,0xC993,0xC994,0xC995,0xC996,0xC997,
+0xC998,0xC999,0xC99A,0xC99B,0xDEA4,0xC99C,0xC99D,0xDEA3,
+0xC99E,0xC99F,0xC9A0,0xCA40,0xCA41,0xCA42,0xCA43,0xCA44,
+0xCA45,0xCA46,0xCA47,0xCA48,0xDDF8,0xCA49,0xCA4A,0xCA4B,
+0xCA4C,0xC3EF,0xCA4D,0xC2FB,0xCA4E,0xCA4F,0xCA50,0xD5E1,
+0xCA51,0xCA52,0xCEB5,0xCA53,0xCA54,0xCA55,0xCA56,0xDDFD,
+0xCA57,0xB2CC,0xCA58,0xCA59,0xCA5A,0xCA5B,0xCA5C,0xCA5D,
+0xCA5E,0xCA5F,0xCA60,0xC4E8,0xCADF,0xCA61,0xCA62,0xCA63,
+0xCA64,0xCA65,0xCA66,0xCA67,0xCA68,0xCA69,0xCA6A,0xC7BE,
+0xDDFA,0xDDFC,0xDDFE,0xDEA2,0xB0AA,0xB1CE,0xCA6B,0xCA6C,
+0xCA6D,0xCA6E,0xCA6F,0xDEAC,0xCA70,0xCA71,0xCA72,0xCA73,
+0xDEA6,0xBDB6,0xC8EF,0xCA74,0xCA75,0xCA76,0xCA77,0xCA78,
+0xCA79,0xCA7A,0xCA7B,0xCA7C,0xCA7D,0xCA7E,0xDEA1,0xCA80,
+0xCA81,0xDEA5,0xCA82,0xCA83,0xCA84,0xCA85,0xDEA9,0xCA86,
+0xCA87,0xCA88,0xCA89,0xCA8A,0xDEA8,0xCA8B,0xCA8C,0xCA8D,
+0xDEA7,0xCA8E,0xCA8F,0xCA90,0xCA91,0xCA92,0xCA93,0xCA94,
+0xCA95,0xCA96,0xDEAD,0xCA97,0xD4CC,0xCA98,0xCA99,0xCA9A,
+0xCA9B,0xDEB3,0xDEAA,0xDEAE,0xCA9C,0xCA9D,0xC0D9,0xCA9E,
+0xCA9F,0xCAA0,0xCB40,0xCB41,0xB1A1,0xDEB6,0xCB42,0xDEB1,
+0xCB43,0xCB44,0xCB45,0xCB46,0xCB47,0xCB48,0xCB49,0xDEB2,
+0xCB4A,0xCB4B,0xCB4C,0xCB4D,0xCB4E,0xCB4F,0xCB50,0xCB51,
+0xCB52,0xCB53,0xCB54,0xD1A6,0xDEB5,0xCB55,0xCB56,0xCB57,
+0xCB58,0xCB59,0xCB5A,0xCB5B,0xDEAF,0xCB5C,0xCB5D,0xCB5E,
+0xDEB0,0xCB5F,0xD0BD,0xCB60,0xCB61,0xCB62,0xDEB4,0xCAED,
+0xDEB9,0xCB63,0xCB64,0xCB65,0xCB66,0xCB67,0xCB68,0xDEB8,
+0xCB69,0xDEB7,0xCB6A,0xCB6B,0xCB6C,0xCB6D,0xCB6E,0xCB6F,
+0xCB70,0xDEBB,0xCB71,0xCB72,0xCB73,0xCB74,0xCB75,0xCB76,
+0xCB77,0xBDE5,0xCB78,0xCB79,0xCB7A,0xCB7B,0xCB7C,0xB2D8,
+0xC3EA,0xCB7D,0xCB7E,0xDEBA,0xCB80,0xC5BA,0xCB81,0xCB82,
+0xCB83,0xCB84,0xCB85,0xCB86,0xDEBC,0xCB87,0xCB88,0xCB89,
+0xCB8A,0xCB8B,0xCB8C,0xCB8D,0xCCD9,0xCB8E,0xCB8F,0xCB90,
+0xCB91,0xB7AA,0xCB92,0xCB93,0xCB94,0xCB95,0xCB96,0xCB97,
+0xCB98,0xCB99,0xCB9A,0xCB9B,0xCB9C,0xCB9D,0xCB9E,0xCB9F,
+0xCBA0,0xCC40,0xCC41,0xD4E5,0xCC42,0xCC43,0xCC44,0xDEBD,
+0xCC45,0xCC46,0xCC47,0xCC48,0xCC49,0xDEBF,0xCC4A,0xCC4B,
+0xCC4C,0xCC4D,0xCC4E,0xCC4F,0xCC50,0xCC51,0xCC52,0xCC53,
+0xCC54,0xC4A2,0xCC55,0xCC56,0xCC57,0xCC58,0xDEC1,0xCC59,
+0xCC5A,0xCC5B,0xCC5C,0xCC5D,0xCC5E,0xCC5F,0xCC60,0xCC61,
+0xCC62,0xCC63,0xCC64,0xCC65,0xCC66,0xCC67,0xCC68,0xDEBE,
+0xCC69,0xDEC0,0xCC6A,0xCC6B,0xCC6C,0xCC6D,0xCC6E,0xCC6F,
+0xCC70,0xCC71,0xCC72,0xCC73,0xCC74,0xCC75,0xCC76,0xCC77,
+0xD5BA,0xCC78,0xCC79,0xCC7A,0xDEC2,0xCC7B,0xCC7C,0xCC7D,
+0xCC7E,0xCC80,0xCC81,0xCC82,0xCC83,0xCC84,0xCC85,0xCC86,
+0xCC87,0xCC88,0xCC89,0xCC8A,0xCC8B,0xF2AE,0xBBA2,0xC2B2,
+0xC5B0,0xC2C7,0xCC8C,0xCC8D,0xF2AF,0xCC8E,0xCC8F,0xCC90,
+0xCC91,0xCC92,0xD0E9,0xCC93,0xCC94,0xCC95,0xD3DD,0xCC96,
+0xCC97,0xCC98,0xEBBD,0xCC99,0xCC9A,0xCC9B,0xCC9C,0xCC9D,
+0xCC9E,0xCC9F,0xCCA0,0xB3E6,0xF2B0,0xCD40,0xF2B1,0xCD41,
+0xCD42,0xCAAD,0xCD43,0xCD44,0xCD45,0xCD46,0xCD47,0xCD48,
+0xCD49,0xBAE7,0xF2B3,0xF2B5,0xF2B4,0xCBE4,0xCFBA,0xF2B2,
+0xCAB4,0xD2CF,0xC2EC,0xCD4A,0xCD4B,0xCD4C,0xCD4D,0xCD4E,
+0xCD4F,0xCD50,0xCEC3,0xF2B8,0xB0F6,0xF2B7,0xCD51,0xCD52,
+0xCD53,0xCD54,0xCD55,0xF2BE,0xCD56,0xB2CF,0xCD57,0xCD58,
+0xCD59,0xCD5A,0xCD5B,0xCD5C,0xD1C1,0xF2BA,0xCD5D,0xCD5E,
+0xCD5F,0xCD60,0xCD61,0xF2BC,0xD4E9,0xCD62,0xCD63,0xF2BB,
+0xF2B6,0xF2BF,0xF2BD,0xCD64,0xF2B9,0xCD65,0xCD66,0xF2C7,
+0xF2C4,0xF2C6,0xCD67,0xCD68,0xF2CA,0xF2C2,0xF2C0,0xCD69,
+0xCD6A,0xCD6B,0xF2C5,0xCD6C,0xCD6D,0xCD6E,0xCD6F,0xCD70,
+0xD6FB,0xCD71,0xCD72,0xCD73,0xF2C1,0xCD74,0xC7F9,0xC9DF,
+0xCD75,0xF2C8,0xB9C6,0xB5B0,0xCD76,0xCD77,0xF2C3,0xF2C9,
+0xF2D0,0xF2D6,0xCD78,0xCD79,0xBBD7,0xCD7A,0xCD7B,0xCD7C,
+0xF2D5,0xCDDC,0xCD7D,0xD6EB,0xCD7E,0xCD80,0xF2D2,0xF2D4,
+0xCD81,0xCD82,0xCD83,0xCD84,0xB8F2,0xCD85,0xCD86,0xCD87,
+0xCD88,0xF2CB,0xCD89,0xCD8A,0xCD8B,0xF2CE,0xC2F9,0xCD8C,
+0xD5DD,0xF2CC,0xF2CD,0xF2CF,0xF2D3,0xCD8D,0xCD8E,0xCD8F,
+0xF2D9,0xD3BC,0xCD90,0xCD91,0xCD92,0xCD93,0xB6EA,0xCD94,
+0xCAF1,0xCD95,0xB7E4,0xF2D7,0xCD96,0xCD97,0xCD98,0xF2D8,
+0xF2DA,0xF2DD,0xF2DB,0xCD99,0xCD9A,0xF2DC,0xCD9B,0xCD9C,
+0xCD9D,0xCD9E,0xD1D1,0xF2D1,0xCD9F,0xCDC9,0xCDA0,0xCECF,
+0xD6A9,0xCE40,0xF2E3,0xCE41,0xC3DB,0xCE42,0xF2E0,0xCE43,
+0xCE44,0xC0AF,0xF2EC,0xF2DE,0xCE45,0xF2E1,0xCE46,0xCE47,
+0xCE48,0xF2E8,0xCE49,0xCE4A,0xCE4B,0xCE4C,0xF2E2,0xCE4D,
+0xCE4E,0xF2E7,0xCE4F,0xCE50,0xF2E6,0xCE51,0xCE52,0xF2E9,
+0xCE53,0xCE54,0xCE55,0xF2DF,0xCE56,0xCE57,0xF2E4,0xF2EA,
+0xCE58,0xCE59,0xCE5A,0xCE5B,0xCE5C,0xCE5D,0xCE5E,0xD3AC,
+0xF2E5,0xB2F5,0xCE5F,0xCE60,0xF2F2,0xCE61,0xD0AB,0xCE62,
+0xCE63,0xCE64,0xCE65,0xF2F5,0xCE66,0xCE67,0xCE68,0xBBC8,
+0xCE69,0xF2F9,0xCE6A,0xCE6B,0xCE6C,0xCE6D,0xCE6E,0xCE6F,
+0xF2F0,0xCE70,0xCE71,0xF2F6,0xF2F8,0xF2FA,0xCE72,0xCE73,
+0xCE74,0xCE75,0xCE76,0xCE77,0xCE78,0xCE79,0xF2F3,0xCE7A,
+0xF2F1,0xCE7B,0xCE7C,0xCE7D,0xBAFB,0xCE7E,0xB5FB,0xCE80,
+0xCE81,0xCE82,0xCE83,0xF2EF,0xF2F7,0xF2ED,0xF2EE,0xCE84,
+0xCE85,0xCE86,0xF2EB,0xF3A6,0xCE87,0xF3A3,0xCE88,0xCE89,
+0xF3A2,0xCE8A,0xCE8B,0xF2F4,0xCE8C,0xC8DA,0xCE8D,0xCE8E,
+0xCE8F,0xCE90,0xCE91,0xF2FB,0xCE92,0xCE93,0xCE94,0xF3A5,
+0xCE95,0xCE96,0xCE97,0xCE98,0xCE99,0xCE9A,0xCE9B,0xC3F8,
+0xCE9C,0xCE9D,0xCE9E,0xCE9F,0xCEA0,0xCF40,0xCF41,0xCF42,
+0xF2FD,0xCF43,0xCF44,0xF3A7,0xF3A9,0xF3A4,0xCF45,0xF2FC,
+0xCF46,0xCF47,0xCF48,0xF3AB,0xCF49,0xF3AA,0xCF4A,0xCF4B,
+0xCF4C,0xCF4D,0xC2DD,0xCF4E,0xCF4F,0xF3AE,0xCF50,0xCF51,
+0xF3B0,0xCF52,0xCF53,0xCF54,0xCF55,0xCF56,0xF3A1,0xCF57,
+0xCF58,0xCF59,0xF3B1,0xF3AC,0xCF5A,0xCF5B,0xCF5C,0xCF5D,
+0xCF5E,0xF3AF,0xF2FE,0xF3AD,0xCF5F,0xCF60,0xCF61,0xCF62,
+0xCF63,0xCF64,0xCF65,0xF3B2,0xCF66,0xCF67,0xCF68,0xCF69,
+0xF3B4,0xCF6A,0xCF6B,0xCF6C,0xCF6D,0xF3A8,0xCF6E,0xCF6F,
+0xCF70,0xCF71,0xF3B3,0xCF72,0xCF73,0xCF74,0xF3B5,0xCF75,
+0xCF76,0xCF77,0xCF78,0xCF79,0xCF7A,0xCF7B,0xCF7C,0xCF7D,
+0xCF7E,0xD0B7,0xCF80,0xCF81,0xCF82,0xCF83,0xF3B8,0xCF84,
+0xCF85,0xCF86,0xCF87,0xD9F9,0xCF88,0xCF89,0xCF8A,0xCF8B,
+0xCF8C,0xCF8D,0xF3B9,0xCF8E,0xCF8F,0xCF90,0xCF91,0xCF92,
+0xCF93,0xCF94,0xCF95,0xF3B7,0xCF96,0xC8E4,0xF3B6,0xCF97,
+0xCF98,0xCF99,0xCF9A,0xF3BA,0xCF9B,0xCF9C,0xCF9D,0xCF9E,
+0xCF9F,0xF3BB,0xB4C0,0xCFA0,0xD040,0xD041,0xD042,0xD043,
+0xD044,0xD045,0xD046,0xD047,0xD048,0xD049,0xD04A,0xD04B,
+0xD04C,0xD04D,0xEEC3,0xD04E,0xD04F,0xD050,0xD051,0xD052,
+0xD053,0xF3BC,0xD054,0xD055,0xF3BD,0xD056,0xD057,0xD058,
+0xD1AA,0xD059,0xD05A,0xD05B,0xF4AC,0xD0C6,0xD05C,0xD05D,
+0xD05E,0xD05F,0xD060,0xD061,0xD0D0,0xD1DC,0xD062,0xD063,
+0xD064,0xD065,0xD066,0xD067,0xCFCE,0xD068,0xD069,0xBDD6,
+0xD06A,0xD1C3,0xD06B,0xD06C,0xD06D,0xD06E,0xD06F,0xD070,
+0xD071,0xBAE2,0xE1E9,0xD2C2,0xF1C2,0xB2B9,0xD072,0xD073,
+0xB1ED,0xF1C3,0xD074,0xC9C0,0xB3C4,0xD075,0xD9F2,0xD076,
+0xCBA5,0xD077,0xF1C4,0xD078,0xD079,0xD07A,0xD07B,0xD6D4,
+0xD07C,0xD07D,0xD07E,0xD080,0xD081,0xF1C5,0xF4C0,0xF1C6,
+0xD082,0xD4AC,0xF1C7,0xD083,0xB0C0,0xF4C1,0xD084,0xD085,
+0xF4C2,0xD086,0xD087,0xB4FC,0xD088,0xC5DB,0xD089,0xD08A,
+0xD08B,0xD08C,0xCCBB,0xD08D,0xD08E,0xD08F,0xD0E4,0xD090,
+0xD091,0xD092,0xD093,0xD094,0xCDE0,0xD095,0xD096,0xD097,
+0xD098,0xD099,0xF1C8,0xD09A,0xD9F3,0xD09B,0xD09C,0xD09D,
+0xD09E,0xD09F,0xD0A0,0xB1BB,0xD140,0xCFAE,0xD141,0xD142,
+0xD143,0xB8A4,0xD144,0xD145,0xD146,0xD147,0xD148,0xF1CA,
+0xD149,0xD14A,0xD14B,0xD14C,0xF1CB,0xD14D,0xD14E,0xD14F,
+0xD150,0xB2C3,0xC1D1,0xD151,0xD152,0xD7B0,0xF1C9,0xD153,
+0xD154,0xF1CC,0xD155,0xD156,0xD157,0xD158,0xF1CE,0xD159,
+0xD15A,0xD15B,0xD9F6,0xD15C,0xD2E1,0xD4A3,0xD15D,0xD15E,
+0xF4C3,0xC8B9,0xD15F,0xD160,0xD161,0xD162,0xD163,0xF4C4,
+0xD164,0xD165,0xF1CD,0xF1CF,0xBFE3,0xF1D0,0xD166,0xD167,
+0xF1D4,0xD168,0xD169,0xD16A,0xD16B,0xD16C,0xD16D,0xD16E,
+0xF1D6,0xF1D1,0xD16F,0xC9D1,0xC5E1,0xD170,0xD171,0xD172,
+0xC2E3,0xB9FC,0xD173,0xD174,0xF1D3,0xD175,0xF1D5,0xD176,
+0xD177,0xD178,0xB9D3,0xD179,0xD17A,0xD17B,0xD17C,0xD17D,
+0xD17E,0xD180,0xF1DB,0xD181,0xD182,0xD183,0xD184,0xD185,
+0xBAD6,0xD186,0xB0FD,0xF1D9,0xD187,0xD188,0xD189,0xD18A,
+0xD18B,0xF1D8,0xF1D2,0xF1DA,0xD18C,0xD18D,0xD18E,0xD18F,
+0xD190,0xF1D7,0xD191,0xD192,0xD193,0xC8EC,0xD194,0xD195,
+0xD196,0xD197,0xCDCA,0xF1DD,0xD198,0xD199,0xD19A,0xD19B,
+0xE5BD,0xD19C,0xD19D,0xD19E,0xF1DC,0xD19F,0xF1DE,0xD1A0,
+0xD240,0xD241,0xD242,0xD243,0xD244,0xD245,0xD246,0xD247,
+0xD248,0xF1DF,0xD249,0xD24A,0xCFE5,0xD24B,0xD24C,0xD24D,
+0xD24E,0xD24F,0xD250,0xD251,0xD252,0xD253,0xD254,0xD255,
+0xD256,0xD257,0xD258,0xD259,0xD25A,0xD25B,0xD25C,0xD25D,
+0xD25E,0xD25F,0xD260,0xD261,0xD262,0xD263,0xF4C5,0xBDF3,
+0xD264,0xD265,0xD266,0xD267,0xD268,0xD269,0xF1E0,0xD26A,
+0xD26B,0xD26C,0xD26D,0xD26E,0xD26F,0xD270,0xD271,0xD272,
+0xD273,0xD274,0xD275,0xD276,0xD277,0xD278,0xD279,0xD27A,
+0xD27B,0xD27C,0xD27D,0xF1E1,0xD27E,0xD280,0xD281,0xCEF7,
+0xD282,0xD2AA,0xD283,0xF1FB,0xD284,0xD285,0xB8B2,0xD286,
+0xD287,0xD288,0xD289,0xD28A,0xD28B,0xD28C,0xD28D,0xD28E,
+0xD28F,0xD290,0xD291,0xD292,0xD293,0xD294,0xD295,0xD296,
+0xD297,0xD298,0xD299,0xD29A,0xD29B,0xD29C,0xD29D,0xD29E,
+0xD29F,0xD2A0,0xD340,0xD341,0xD342,0xD343,0xD344,0xD345,
+0xD346,0xD347,0xD348,0xD349,0xD34A,0xD34B,0xD34C,0xD34D,
+0xD34E,0xD34F,0xD350,0xD351,0xD352,0xD353,0xD354,0xD355,
+0xD356,0xD357,0xD358,0xD359,0xD35A,0xD35B,0xD35C,0xD35D,
+0xD35E,0xBCFB,0xB9DB,0xD35F,0xB9E6,0xC3D9,0xCAD3,0xEAE8,
+0xC0C0,0xBEF5,0xEAE9,0xEAEA,0xEAEB,0xD360,0xEAEC,0xEAED,
+0xEAEE,0xEAEF,0xBDC7,0xD361,0xD362,0xD363,0xF5FB,0xD364,
+0xD365,0xD366,0xF5FD,0xD367,0xF5FE,0xD368,0xF5FC,0xD369,
+0xD36A,0xD36B,0xD36C,0xBDE2,0xD36D,0xF6A1,0xB4A5,0xD36E,
+0xD36F,0xD370,0xD371,0xF6A2,0xD372,0xD373,0xD374,0xF6A3,
+0xD375,0xD376,0xD377,0xECB2,0xD378,0xD379,0xD37A,0xD37B,
+0xD37C,0xD37D,0xD37E,0xD380,0xD381,0xD382,0xD383,0xD384,
+0xD1D4,0xD385,0xD386,0xD387,0xD388,0xD389,0xD38A,0xD9EA,
+0xD38B,0xD38C,0xD38D,0xD38E,0xD38F,0xD390,0xD391,0xD392,
+0xD393,0xD394,0xD395,0xD396,0xD397,0xD398,0xD399,0xD39A,
+0xD39B,0xD39C,0xD39D,0xD39E,0xD39F,0xD3A0,0xD440,0xD441,
+0xD442,0xD443,0xD444,0xD445,0xD446,0xD447,0xD448,0xD449,
+0xD44A,0xD44B,0xD44C,0xD44D,0xD44E,0xD44F,0xD450,0xD451,
+0xD452,0xD453,0xD454,0xD455,0xD456,0xD457,0xD458,0xD459,
+0xD45A,0xD45B,0xD45C,0xD45D,0xD45E,0xD45F,0xF6A4,0xD460,
+0xD461,0xD462,0xD463,0xD464,0xD465,0xD466,0xD467,0xD468,
+0xEEBA,0xD469,0xD46A,0xD46B,0xD46C,0xD46D,0xD46E,0xD46F,
+0xD470,0xD471,0xD472,0xD473,0xD474,0xD475,0xD476,0xD477,
+0xD478,0xD479,0xD47A,0xD47B,0xD47C,0xD47D,0xD47E,0xD480,
+0xD481,0xD482,0xD483,0xD484,0xD485,0xD486,0xD487,0xD488,
+0xD489,0xD48A,0xD48B,0xD48C,0xD48D,0xD48E,0xD48F,0xD490,
+0xD491,0xD492,0xD493,0xD494,0xD495,0xD496,0xD497,0xD498,
+0xD499,0xD5B2,0xD49A,0xD49B,0xD49C,0xD49D,0xD49E,0xD49F,
+0xD4A0,0xD540,0xD541,0xD542,0xD543,0xD544,0xD545,0xD546,
+0xD547,0xD3FE,0xCCDC,0xD548,0xD549,0xD54A,0xD54B,0xD54C,
+0xD54D,0xD54E,0xD54F,0xCAC4,0xD550,0xD551,0xD552,0xD553,
+0xD554,0xD555,0xD556,0xD557,0xD558,0xD559,0xD55A,0xD55B,
+0xD55C,0xD55D,0xD55E,0xD55F,0xD560,0xD561,0xD562,0xD563,
+0xD564,0xD565,0xD566,0xD567,0xD568,0xD569,0xD56A,0xD56B,
+0xD56C,0xD56D,0xD56E,0xD56F,0xD570,0xD571,0xD572,0xD573,
+0xD574,0xD575,0xD576,0xD577,0xD578,0xD579,0xD57A,0xD57B,
+0xD57C,0xD57D,0xD57E,0xD580,0xD581,0xD582,0xD583,0xD584,
+0xD585,0xD586,0xD587,0xD588,0xD589,0xD58A,0xD58B,0xD58C,
+0xD58D,0xD58E,0xD58F,0xD590,0xD591,0xD592,0xD593,0xD594,
+0xD595,0xD596,0xD597,0xD598,0xD599,0xD59A,0xD59B,0xD59C,
+0xD59D,0xD59E,0xD59F,0xD5A0,0xD640,0xD641,0xD642,0xD643,
+0xD644,0xD645,0xD646,0xD647,0xD648,0xD649,0xD64A,0xD64B,
+0xD64C,0xD64D,0xD64E,0xD64F,0xD650,0xD651,0xD652,0xD653,
+0xD654,0xD655,0xD656,0xD657,0xD658,0xD659,0xD65A,0xD65B,
+0xD65C,0xD65D,0xD65E,0xD65F,0xD660,0xD661,0xD662,0xE5C0,
+0xD663,0xD664,0xD665,0xD666,0xD667,0xD668,0xD669,0xD66A,
+0xD66B,0xD66C,0xD66D,0xD66E,0xD66F,0xD670,0xD671,0xD672,
+0xD673,0xD674,0xD675,0xD676,0xD677,0xD678,0xD679,0xD67A,
+0xD67B,0xD67C,0xD67D,0xD67E,0xD680,0xD681,0xF6A5,0xD682,
+0xD683,0xD684,0xD685,0xD686,0xD687,0xD688,0xD689,0xD68A,
+0xD68B,0xD68C,0xD68D,0xD68E,0xD68F,0xD690,0xD691,0xD692,
+0xD693,0xD694,0xD695,0xD696,0xD697,0xD698,0xD699,0xD69A,
+0xD69B,0xD69C,0xD69D,0xD69E,0xD69F,0xD6A0,0xD740,0xD741,
+0xD742,0xD743,0xD744,0xD745,0xD746,0xD747,0xD748,0xD749,
+0xD74A,0xD74B,0xD74C,0xD74D,0xD74E,0xD74F,0xD750,0xD751,
+0xD752,0xD753,0xD754,0xD755,0xD756,0xD757,0xD758,0xD759,
+0xD75A,0xD75B,0xD75C,0xD75D,0xD75E,0xD75F,0xBEAF,0xD760,
+0xD761,0xD762,0xD763,0xD764,0xC6A9,0xD765,0xD766,0xD767,
+0xD768,0xD769,0xD76A,0xD76B,0xD76C,0xD76D,0xD76E,0xD76F,
+0xD770,0xD771,0xD772,0xD773,0xD774,0xD775,0xD776,0xD777,
+0xD778,0xD779,0xD77A,0xD77B,0xD77C,0xD77D,0xD77E,0xD780,
+0xD781,0xD782,0xD783,0xD784,0xD785,0xD786,0xD787,0xD788,
+0xD789,0xD78A,0xD78B,0xD78C,0xD78D,0xD78E,0xD78F,0xD790,
+0xD791,0xD792,0xD793,0xD794,0xD795,0xD796,0xD797,0xD798,
+0xDAA5,0xBCC6,0xB6A9,0xB8BC,0xC8CF,0xBCA5,0xDAA6,0xDAA7,
+0xCCD6,0xC8C3,0xDAA8,0xC6FD,0xD799,0xD1B5,0xD2E9,0xD1B6,
+0xBCC7,0xD79A,0xBDB2,0xBBE4,0xDAA9,0xDAAA,0xD1C8,0xDAAB,
+0xD0ED,0xB6EF,0xC2DB,0xD79B,0xCBCF,0xB7ED,0xC9E8,0xB7C3,
+0xBEF7,0xD6A4,0xDAAC,0xDAAD,0xC6C0,0xD7E7,0xCAB6,0xD79C,
+0xD5A9,0xCBDF,0xD5EF,0xDAAE,0xD6DF,0xB4CA,0xDAB0,0xDAAF,
+0xD79D,0xD2EB,0xDAB1,0xDAB2,0xDAB3,0xCAD4,0xDAB4,0xCAAB,
+0xDAB5,0xDAB6,0xB3CF,0xD6EF,0xDAB7,0xBBB0,0xB5AE,0xDAB8,
+0xDAB9,0xB9EE,0xD1AF,0xD2E8,0xDABA,0xB8C3,0xCFEA,0xB2EF,
+0xDABB,0xDABC,0xD79E,0xBDEB,0xCEDC,0xD3EF,0xDABD,0xCEF3,
+0xDABE,0xD3D5,0xBBE5,0xDABF,0xCBB5,0xCBD0,0xDAC0,0xC7EB,
+0xD6EE,0xDAC1,0xC5B5,0xB6C1,0xDAC2,0xB7CC,0xBFCE,0xDAC3,
+0xDAC4,0xCBAD,0xDAC5,0xB5F7,0xDAC6,0xC1C2,0xD7BB,0xDAC7,
+0xCCB8,0xD79F,0xD2EA,0xC4B1,0xDAC8,0xB5FD,0xBBD1,0xDAC9,
+0xD0B3,0xDACA,0xDACB,0xCEBD,0xDACC,0xDACD,0xDACE,0xB2F7,
+0xDAD1,0xDACF,0xD1E8,0xDAD0,0xC3D5,0xDAD2,0xD7A0,0xDAD3,
+0xDAD4,0xDAD5,0xD0BB,0xD2A5,0xB0F9,0xDAD6,0xC7AB,0xDAD7,
+0xBDF7,0xC3A1,0xDAD8,0xDAD9,0xC3FD,0xCCB7,0xDADA,0xDADB,
+0xC0BE,0xC6D7,0xDADC,0xDADD,0xC7B4,0xDADE,0xDADF,0xB9C8,
+0xD840,0xD841,0xD842,0xD843,0xD844,0xD845,0xD846,0xD847,
+0xD848,0xBBED,0xD849,0xD84A,0xD84B,0xD84C,0xB6B9,0xF4F8,
+0xD84D,0xF4F9,0xD84E,0xD84F,0xCDE3,0xD850,0xD851,0xD852,
+0xD853,0xD854,0xD855,0xD856,0xD857,0xF5B9,0xD858,0xD859,
+0xD85A,0xD85B,0xEBE0,0xD85C,0xD85D,0xD85E,0xD85F,0xD860,
+0xD861,0xCFF3,0xBBBF,0xD862,0xD863,0xD864,0xD865,0xD866,
+0xD867,0xD868,0xBAC0,0xD4A5,0xD869,0xD86A,0xD86B,0xD86C,
+0xD86D,0xD86E,0xD86F,0xE1D9,0xD870,0xD871,0xD872,0xD873,
+0xF5F4,0xB1AA,0xB2F2,0xD874,0xD875,0xD876,0xD877,0xD878,
+0xD879,0xD87A,0xF5F5,0xD87B,0xD87C,0xF5F7,0xD87D,0xD87E,
+0xD880,0xBAD1,0xF5F6,0xD881,0xC3B2,0xD882,0xD883,0xD884,
+0xD885,0xD886,0xD887,0xD888,0xF5F9,0xD889,0xD88A,0xD88B,
+0xF5F8,0xD88C,0xD88D,0xD88E,0xD88F,0xD890,0xD891,0xD892,
+0xD893,0xD894,0xD895,0xD896,0xD897,0xD898,0xD899,0xD89A,
+0xD89B,0xD89C,0xD89D,0xD89E,0xD89F,0xD8A0,0xD940,0xD941,
+0xD942,0xD943,0xD944,0xD945,0xD946,0xD947,0xD948,0xD949,
+0xD94A,0xD94B,0xD94C,0xD94D,0xD94E,0xD94F,0xD950,0xD951,
+0xD952,0xD953,0xD954,0xD955,0xD956,0xD957,0xD958,0xD959,
+0xD95A,0xD95B,0xD95C,0xD95D,0xD95E,0xD95F,0xD960,0xD961,
+0xD962,0xD963,0xD964,0xD965,0xD966,0xD967,0xD968,0xD969,
+0xD96A,0xD96B,0xD96C,0xD96D,0xD96E,0xD96F,0xD970,0xD971,
+0xD972,0xD973,0xD974,0xD975,0xD976,0xD977,0xD978,0xD979,
+0xD97A,0xD97B,0xD97C,0xD97D,0xD97E,0xD980,0xD981,0xD982,
+0xD983,0xD984,0xD985,0xD986,0xD987,0xD988,0xD989,0xD98A,
+0xD98B,0xD98C,0xD98D,0xD98E,0xD98F,0xD990,0xD991,0xD992,
+0xD993,0xD994,0xD995,0xD996,0xD997,0xD998,0xD999,0xD99A,
+0xD99B,0xD99C,0xD99D,0xD99E,0xD99F,0xD9A0,0xDA40,0xDA41,
+0xDA42,0xDA43,0xDA44,0xDA45,0xDA46,0xDA47,0xDA48,0xDA49,
+0xDA4A,0xDA4B,0xDA4C,0xDA4D,0xDA4E,0xB1B4,0xD5EA,0xB8BA,
+0xDA4F,0xB9B1,0xB2C6,0xD4F0,0xCFCD,0xB0DC,0xD5CB,0xBBF5,
+0xD6CA,0xB7B7,0xCCB0,0xC6B6,0xB1E1,0xB9BA,0xD6FC,0xB9E1,
+0xB7A1,0xBCFA,0xEADA,0xEADB,0xCCF9,0xB9F3,0xEADC,0xB4FB,
+0xC3B3,0xB7D1,0xBAD8,0xEADD,0xD4F4,0xEADE,0xBCD6,0xBBDF,
+0xEADF,0xC1DE,0xC2B8,0xD4DF,0xD7CA,0xEAE0,0xEAE1,0xEAE4,
+0xEAE2,0xEAE3,0xC9DE,0xB8B3,0xB6C4,0xEAE5,0xCAEA,0xC9CD,
+0xB4CD,0xDA50,0xDA51,0xE2D9,0xC5E2,0xEAE6,0xC0B5,0xDA52,
+0xD7B8,0xEAE7,0xD7AC,0xC8FC,0xD8D3,0xD8CD,0xD4DE,0xDA53,
+0xD4F9,0xC9C4,0xD3AE,0xB8D3,0xB3E0,0xDA54,0xC9E2,0xF4F6,
+0xDA55,0xDA56,0xDA57,0xBAD5,0xDA58,0xF4F7,0xDA59,0xDA5A,
+0xD7DF,0xDA5B,0xDA5C,0xF4F1,0xB8B0,0xD5D4,0xB8CF,0xC6F0,
+0xDA5D,0xDA5E,0xDA5F,0xDA60,0xDA61,0xDA62,0xDA63,0xDA64,
+0xDA65,0xB3C3,0xDA66,0xDA67,0xF4F2,0xB3AC,0xDA68,0xDA69,
+0xDA6A,0xDA6B,0xD4BD,0xC7F7,0xDA6C,0xDA6D,0xDA6E,0xDA6F,
+0xDA70,0xF4F4,0xDA71,0xDA72,0xF4F3,0xDA73,0xDA74,0xDA75,
+0xDA76,0xDA77,0xDA78,0xDA79,0xDA7A,0xDA7B,0xDA7C,0xCCCB,
+0xDA7D,0xDA7E,0xDA80,0xC8A4,0xDA81,0xDA82,0xDA83,0xDA84,
+0xDA85,0xDA86,0xDA87,0xDA88,0xDA89,0xDA8A,0xDA8B,0xDA8C,
+0xDA8D,0xF4F5,0xDA8E,0xD7E3,0xC5BF,0xF5C0,0xDA8F,0xDA90,
+0xF5BB,0xDA91,0xF5C3,0xDA92,0xF5C2,0xDA93,0xD6BA,0xF5C1,
+0xDA94,0xDA95,0xDA96,0xD4BE,0xF5C4,0xDA97,0xF5CC,0xDA98,
+0xDA99,0xDA9A,0xDA9B,0xB0CF,0xB5F8,0xDA9C,0xF5C9,0xF5CA,
+0xDA9D,0xC5DC,0xDA9E,0xDA9F,0xDAA0,0xDB40,0xF5C5,0xF5C6,
+0xDB41,0xDB42,0xF5C7,0xF5CB,0xDB43,0xBEE0,0xF5C8,0xB8FA,
+0xDB44,0xDB45,0xDB46,0xF5D0,0xF5D3,0xDB47,0xDB48,0xDB49,
+0xBFE7,0xDB4A,0xB9F2,0xF5BC,0xF5CD,0xDB4B,0xDB4C,0xC2B7,
+0xDB4D,0xDB4E,0xDB4F,0xCCF8,0xDB50,0xBCF9,0xDB51,0xF5CE,
+0xF5CF,0xF5D1,0xB6E5,0xF5D2,0xDB52,0xF5D5,0xDB53,0xDB54,
+0xDB55,0xDB56,0xDB57,0xDB58,0xDB59,0xF5BD,0xDB5A,0xDB5B,
+0xDB5C,0xF5D4,0xD3BB,0xDB5D,0xB3EC,0xDB5E,0xDB5F,0xCCA4,
+0xDB60,0xDB61,0xDB62,0xDB63,0xF5D6,0xDB64,0xDB65,0xDB66,
+0xDB67,0xDB68,0xDB69,0xDB6A,0xDB6B,0xF5D7,0xBEE1,0xF5D8,
+0xDB6C,0xDB6D,0xCCDF,0xF5DB,0xDB6E,0xDB6F,0xDB70,0xDB71,
+0xDB72,0xB2C8,0xD7D9,0xDB73,0xF5D9,0xDB74,0xF5DA,0xF5DC,
+0xDB75,0xF5E2,0xDB76,0xDB77,0xDB78,0xF5E0,0xDB79,0xDB7A,
+0xDB7B,0xF5DF,0xF5DD,0xDB7C,0xDB7D,0xF5E1,0xDB7E,0xDB80,
+0xF5DE,0xF5E4,0xF5E5,0xDB81,0xCCE3,0xDB82,0xDB83,0xE5BF,
+0xB5B8,0xF5E3,0xF5E8,0xCCA3,0xDB84,0xDB85,0xDB86,0xDB87,
+0xDB88,0xF5E6,0xF5E7,0xDB89,0xDB8A,0xDB8B,0xDB8C,0xDB8D,
+0xDB8E,0xF5BE,0xDB8F,0xDB90,0xDB91,0xDB92,0xDB93,0xDB94,
+0xDB95,0xDB96,0xDB97,0xDB98,0xDB99,0xDB9A,0xB1C4,0xDB9B,
+0xDB9C,0xF5BF,0xDB9D,0xDB9E,0xB5C5,0xB2E4,0xDB9F,0xF5EC,
+0xF5E9,0xDBA0,0xB6D7,0xDC40,0xF5ED,0xDC41,0xF5EA,0xDC42,
+0xDC43,0xDC44,0xDC45,0xDC46,0xF5EB,0xDC47,0xDC48,0xB4DA,
+0xDC49,0xD4EA,0xDC4A,0xDC4B,0xDC4C,0xF5EE,0xDC4D,0xB3F9,
+0xDC4E,0xDC4F,0xDC50,0xDC51,0xDC52,0xDC53,0xDC54,0xF5EF,
+0xF5F1,0xDC55,0xDC56,0xDC57,0xF5F0,0xDC58,0xDC59,0xDC5A,
+0xDC5B,0xDC5C,0xDC5D,0xDC5E,0xF5F2,0xDC5F,0xF5F3,0xDC60,
+0xDC61,0xDC62,0xDC63,0xDC64,0xDC65,0xDC66,0xDC67,0xDC68,
+0xDC69,0xDC6A,0xDC6B,0xC9ED,0xB9AA,0xDC6C,0xDC6D,0xC7FB,
+0xDC6E,0xDC6F,0xB6E3,0xDC70,0xDC71,0xDC72,0xDC73,0xDC74,
+0xDC75,0xDC76,0xCCC9,0xDC77,0xDC78,0xDC79,0xDC7A,0xDC7B,
+0xDC7C,0xDC7D,0xDC7E,0xDC80,0xDC81,0xDC82,0xDC83,0xDC84,
+0xDC85,0xDC86,0xDC87,0xDC88,0xDC89,0xDC8A,0xEAA6,0xDC8B,
+0xDC8C,0xDC8D,0xDC8E,0xDC8F,0xDC90,0xDC91,0xDC92,0xDC93,
+0xDC94,0xDC95,0xDC96,0xDC97,0xDC98,0xDC99,0xDC9A,0xDC9B,
+0xDC9C,0xDC9D,0xDC9E,0xDC9F,0xDCA0,0xDD40,0xDD41,0xDD42,
+0xDD43,0xDD44,0xDD45,0xDD46,0xDD47,0xDD48,0xDD49,0xDD4A,
+0xDD4B,0xDD4C,0xDD4D,0xDD4E,0xDD4F,0xDD50,0xDD51,0xDD52,
+0xDD53,0xDD54,0xDD55,0xDD56,0xDD57,0xDD58,0xDD59,0xDD5A,
+0xDD5B,0xDD5C,0xDD5D,0xDD5E,0xDD5F,0xDD60,0xDD61,0xDD62,
+0xDD63,0xDD64,0xDD65,0xDD66,0xDD67,0xDD68,0xDD69,0xDD6A,
+0xDD6B,0xDD6C,0xDD6D,0xDD6E,0xDD6F,0xDD70,0xDD71,0xDD72,
+0xDD73,0xDD74,0xDD75,0xDD76,0xDD77,0xDD78,0xDD79,0xDD7A,
+0xDD7B,0xDD7C,0xDD7D,0xDD7E,0xDD80,0xDD81,0xDD82,0xDD83,
+0xDD84,0xDD85,0xDD86,0xDD87,0xDD88,0xDD89,0xDD8A,0xDD8B,
+0xDD8C,0xDD8D,0xDD8E,0xDD8F,0xDD90,0xDD91,0xDD92,0xDD93,
+0xDD94,0xDD95,0xDD96,0xDD97,0xDD98,0xDD99,0xDD9A,0xDD9B,
+0xDD9C,0xDD9D,0xDD9E,0xDD9F,0xDDA0,0xDE40,0xDE41,0xDE42,
+0xDE43,0xDE44,0xDE45,0xDE46,0xDE47,0xDE48,0xDE49,0xDE4A,
+0xDE4B,0xDE4C,0xDE4D,0xDE4E,0xDE4F,0xDE50,0xDE51,0xDE52,
+0xDE53,0xDE54,0xDE55,0xDE56,0xDE57,0xDE58,0xDE59,0xDE5A,
+0xDE5B,0xDE5C,0xDE5D,0xDE5E,0xDE5F,0xDE60,0xB3B5,0xD4FE,
+0xB9EC,0xD0F9,0xDE61,0xE9ED,0xD7AA,0xE9EE,0xC2D6,0xC8ED,
+0xBAE4,0xE9EF,0xE9F0,0xE9F1,0xD6E1,0xE9F2,0xE9F3,0xE9F5,
+0xE9F4,0xE9F6,0xE9F7,0xC7E1,0xE9F8,0xD4D8,0xE9F9,0xBDCE,
+0xDE62,0xE9FA,0xE9FB,0xBDCF,0xE9FC,0xB8A8,0xC1BE,0xE9FD,
+0xB1B2,0xBBD4,0xB9F5,0xE9FE,0xDE63,0xEAA1,0xEAA2,0xEAA3,
+0xB7F8,0xBCAD,0xDE64,0xCAE4,0xE0CE,0xD4AF,0xCFBD,0xD5B7,
+0xEAA4,0xD5DE,0xEAA5,0xD0C1,0xB9BC,0xDE65,0xB4C7,0xB1D9,
+0xDE66,0xDE67,0xDE68,0xC0B1,0xDE69,0xDE6A,0xDE6B,0xDE6C,
+0xB1E6,0xB1E7,0xDE6D,0xB1E8,0xDE6E,0xDE6F,0xDE70,0xDE71,
+0xB3BD,0xC8E8,0xDE72,0xDE73,0xDE74,0xDE75,0xE5C1,0xDE76,
+0xDE77,0xB1DF,0xDE78,0xDE79,0xDE7A,0xC1C9,0xB4EF,0xDE7B,
+0xDE7C,0xC7A8,0xD3D8,0xDE7D,0xC6F9,0xD1B8,0xDE7E,0xB9FD,
+0xC2F5,0xDE80,0xDE81,0xDE82,0xDE83,0xDE84,0xD3AD,0xDE85,
+0xD4CB,0xBDFC,0xDE86,0xE5C2,0xB7B5,0xE5C3,0xDE87,0xDE88,
+0xBBB9,0xD5E2,0xDE89,0xBDF8,0xD4B6,0xCEA5,0xC1AC,0xB3D9,
+0xDE8A,0xDE8B,0xCCF6,0xDE8C,0xE5C6,0xE5C4,0xE5C8,0xDE8D,
+0xE5CA,0xE5C7,0xB5CF,0xC6C8,0xDE8E,0xB5FC,0xE5C5,0xDE8F,
+0xCAF6,0xDE90,0xDE91,0xE5C9,0xDE92,0xDE93,0xDE94,0xC3D4,
+0xB1C5,0xBCA3,0xDE95,0xDE96,0xDE97,0xD7B7,0xDE98,0xDE99,
+0xCDCB,0xCBCD,0xCACA,0xCCD3,0xE5CC,0xE5CB,0xC4E6,0xDE9A,
+0xDE9B,0xD1A1,0xD1B7,0xE5CD,0xDE9C,0xE5D0,0xDE9D,0xCDB8,
+0xD6F0,0xE5CF,0xB5DD,0xDE9E,0xCDBE,0xDE9F,0xE5D1,0xB6BA,
+0xDEA0,0xDF40,0xCDA8,0xB9E4,0xDF41,0xCAC5,0xB3D1,0xCBD9,
+0xD4EC,0xE5D2,0xB7EA,0xDF42,0xDF43,0xDF44,0xE5CE,0xDF45,
+0xDF46,0xDF47,0xDF48,0xDF49,0xDF4A,0xE5D5,0xB4FE,0xE5D6,
+0xDF4B,0xDF4C,0xDF4D,0xDF4E,0xDF4F,0xE5D3,0xE5D4,0xDF50,
+0xD2DD,0xDF51,0xDF52,0xC2DF,0xB1C6,0xDF53,0xD3E2,0xDF54,
+0xDF55,0xB6DD,0xCBEC,0xDF56,0xE5D7,0xDF57,0xDF58,0xD3F6,
+0xDF59,0xDF5A,0xDF5B,0xDF5C,0xDF5D,0xB1E9,0xDF5E,0xB6F4,
+0xE5DA,0xE5D8,0xE5D9,0xB5C0,0xDF5F,0xDF60,0xDF61,0xD2C5,
+0xE5DC,0xDF62,0xDF63,0xE5DE,0xDF64,0xDF65,0xDF66,0xDF67,
+0xDF68,0xDF69,0xE5DD,0xC7B2,0xDF6A,0xD2A3,0xDF6B,0xDF6C,
+0xE5DB,0xDF6D,0xDF6E,0xDF6F,0xDF70,0xD4E2,0xD5DA,0xDF71,
+0xDF72,0xDF73,0xDF74,0xDF75,0xE5E0,0xD7F1,0xDF76,0xDF77,
+0xDF78,0xDF79,0xDF7A,0xDF7B,0xDF7C,0xE5E1,0xDF7D,0xB1DC,
+0xD1FB,0xDF7E,0xE5E2,0xE5E4,0xDF80,0xDF81,0xDF82,0xDF83,
+0xE5E3,0xDF84,0xDF85,0xE5E5,0xDF86,0xDF87,0xDF88,0xDF89,
+0xDF8A,0xD2D8,0xDF8B,0xB5CB,0xDF8C,0xE7DF,0xDF8D,0xDAF5,
+0xDF8E,0xDAF8,0xDF8F,0xDAF6,0xDF90,0xDAF7,0xDF91,0xDF92,
+0xDF93,0xDAFA,0xD0CF,0xC4C7,0xDF94,0xDF95,0xB0EE,0xDF96,
+0xDF97,0xDF98,0xD0B0,0xDF99,0xDAF9,0xDF9A,0xD3CA,0xBAAA,
+0xDBA2,0xC7F1,0xDF9B,0xDAFC,0xDAFB,0xC9DB,0xDAFD,0xDF9C,
+0xDBA1,0xD7DE,0xDAFE,0xC1DA,0xDF9D,0xDF9E,0xDBA5,0xDF9F,
+0xDFA0,0xD3F4,0xE040,0xE041,0xDBA7,0xDBA4,0xE042,0xDBA8,
+0xE043,0xE044,0xBDBC,0xE045,0xE046,0xE047,0xC0C9,0xDBA3,
+0xDBA6,0xD6A3,0xE048,0xDBA9,0xE049,0xE04A,0xE04B,0xDBAD,
+0xE04C,0xE04D,0xE04E,0xDBAE,0xDBAC,0xBAC2,0xE04F,0xE050,
+0xE051,0xBFA4,0xDBAB,0xE052,0xE053,0xE054,0xDBAA,0xD4C7,
+0xB2BF,0xE055,0xE056,0xDBAF,0xE057,0xB9F9,0xE058,0xDBB0,
+0xE059,0xE05A,0xE05B,0xE05C,0xB3BB,0xE05D,0xE05E,0xE05F,
+0xB5A6,0xE060,0xE061,0xE062,0xE063,0xB6BC,0xDBB1,0xE064,
+0xE065,0xE066,0xB6F5,0xE067,0xDBB2,0xE068,0xE069,0xE06A,
+0xE06B,0xE06C,0xE06D,0xE06E,0xE06F,0xE070,0xE071,0xE072,
+0xE073,0xE074,0xE075,0xE076,0xE077,0xE078,0xE079,0xE07A,
+0xE07B,0xB1C9,0xE07C,0xE07D,0xE07E,0xE080,0xDBB4,0xE081,
+0xE082,0xE083,0xDBB3,0xDBB5,0xE084,0xE085,0xE086,0xE087,
+0xE088,0xE089,0xE08A,0xE08B,0xE08C,0xE08D,0xE08E,0xDBB7,
+0xE08F,0xDBB6,0xE090,0xE091,0xE092,0xE093,0xE094,0xE095,
+0xE096,0xDBB8,0xE097,0xE098,0xE099,0xE09A,0xE09B,0xE09C,
+0xE09D,0xE09E,0xE09F,0xDBB9,0xE0A0,0xE140,0xDBBA,0xE141,
+0xE142,0xD3CF,0xF4FA,0xC7F5,0xD7C3,0xC5E4,0xF4FC,0xF4FD,
+0xF4FB,0xE143,0xBEC6,0xE144,0xE145,0xE146,0xE147,0xD0EF,
+0xE148,0xE149,0xB7D3,0xE14A,0xE14B,0xD4CD,0xCCAA,0xE14C,
+0xE14D,0xF5A2,0xF5A1,0xBAA8,0xF4FE,0xCBD6,0xE14E,0xE14F,
+0xE150,0xF5A4,0xC0D2,0xE151,0xB3EA,0xE152,0xCDAA,0xF5A5,
+0xF5A3,0xBDB4,0xF5A8,0xE153,0xF5A9,0xBDCD,0xC3B8,0xBFE1,
+0xCBE1,0xF5AA,0xE154,0xE155,0xE156,0xF5A6,0xF5A7,0xC4F0,
+0xE157,0xE158,0xE159,0xE15A,0xE15B,0xF5AC,0xE15C,0xB4BC,
+0xE15D,0xD7ED,0xE15E,0xB4D7,0xF5AB,0xF5AE,0xE15F,0xE160,
+0xF5AD,0xF5AF,0xD0D1,0xE161,0xE162,0xE163,0xE164,0xE165,
+0xE166,0xE167,0xC3D1,0xC8A9,0xE168,0xE169,0xE16A,0xE16B,
+0xE16C,0xE16D,0xF5B0,0xF5B1,0xE16E,0xE16F,0xE170,0xE171,
+0xE172,0xE173,0xF5B2,0xE174,0xE175,0xF5B3,0xF5B4,0xF5B5,
+0xE176,0xE177,0xE178,0xE179,0xF5B7,0xF5B6,0xE17A,0xE17B,
+0xE17C,0xE17D,0xF5B8,0xE17E,0xE180,0xE181,0xE182,0xE183,
+0xE184,0xE185,0xE186,0xE187,0xE188,0xE189,0xE18A,0xB2C9,
+0xE18B,0xD3D4,0xCACD,0xE18C,0xC0EF,0xD6D8,0xD2B0,0xC1BF,
+0xE18D,0xBDF0,0xE18E,0xE18F,0xE190,0xE191,0xE192,0xE193,
+0xE194,0xE195,0xE196,0xE197,0xB8AA,0xE198,0xE199,0xE19A,
+0xE19B,0xE19C,0xE19D,0xE19E,0xE19F,0xE1A0,0xE240,0xE241,
+0xE242,0xE243,0xE244,0xE245,0xE246,0xE247,0xE248,0xE249,
+0xE24A,0xE24B,0xE24C,0xE24D,0xE24E,0xE24F,0xE250,0xE251,
+0xE252,0xE253,0xE254,0xE255,0xE256,0xE257,0xE258,0xE259,
+0xE25A,0xE25B,0xE25C,0xE25D,0xE25E,0xE25F,0xE260,0xE261,
+0xE262,0xE263,0xE264,0xE265,0xE266,0xE267,0xE268,0xE269,
+0xE26A,0xE26B,0xE26C,0xE26D,0xE26E,0xE26F,0xE270,0xE271,
+0xE272,0xE273,0xE274,0xE275,0xE276,0xE277,0xE278,0xE279,
+0xE27A,0xE27B,0xE27C,0xE27D,0xE27E,0xE280,0xE281,0xE282,
+0xE283,0xE284,0xE285,0xE286,0xE287,0xE288,0xE289,0xE28A,
+0xE28B,0xE28C,0xE28D,0xE28E,0xE28F,0xE290,0xE291,0xE292,
+0xE293,0xE294,0xE295,0xE296,0xE297,0xE298,0xE299,0xE29A,
+0xE29B,0xE29C,0xE29D,0xE29E,0xE29F,0xE2A0,0xE340,0xE341,
+0xE342,0xE343,0xE344,0xE345,0xE346,0xE347,0xE348,0xE349,
+0xE34A,0xE34B,0xE34C,0xE34D,0xE34E,0xE34F,0xE350,0xE351,
+0xE352,0xE353,0xE354,0xE355,0xE356,0xE357,0xE358,0xE359,
+0xE35A,0xE35B,0xE35C,0xE35D,0xE35E,0xE35F,0xE360,0xE361,
+0xE362,0xE363,0xE364,0xE365,0xE366,0xE367,0xE368,0xE369,
+0xE36A,0xE36B,0xE36C,0xE36D,0xBCF8,0xE36E,0xE36F,0xE370,
+0xE371,0xE372,0xE373,0xE374,0xE375,0xE376,0xE377,0xE378,
+0xE379,0xE37A,0xE37B,0xE37C,0xE37D,0xE37E,0xE380,0xE381,
+0xE382,0xE383,0xE384,0xE385,0xE386,0xE387,0xF6C6,0xE388,
+0xE389,0xE38A,0xE38B,0xE38C,0xE38D,0xE38E,0xE38F,0xE390,
+0xE391,0xE392,0xE393,0xE394,0xE395,0xE396,0xE397,0xE398,
+0xE399,0xE39A,0xE39B,0xE39C,0xE39D,0xE39E,0xE39F,0xE3A0,
+0xE440,0xE441,0xE442,0xE443,0xE444,0xE445,0xF6C7,0xE446,
+0xE447,0xE448,0xE449,0xE44A,0xE44B,0xE44C,0xE44D,0xE44E,
+0xE44F,0xE450,0xE451,0xE452,0xE453,0xE454,0xE455,0xE456,
+0xE457,0xE458,0xE459,0xE45A,0xE45B,0xE45C,0xE45D,0xE45E,
+0xF6C8,0xE45F,0xE460,0xE461,0xE462,0xE463,0xE464,0xE465,
+0xE466,0xE467,0xE468,0xE469,0xE46A,0xE46B,0xE46C,0xE46D,
+0xE46E,0xE46F,0xE470,0xE471,0xE472,0xE473,0xE474,0xE475,
+0xE476,0xE477,0xE478,0xE479,0xE47A,0xE47B,0xE47C,0xE47D,
+0xE47E,0xE480,0xE481,0xE482,0xE483,0xE484,0xE485,0xE486,
+0xE487,0xE488,0xE489,0xE48A,0xE48B,0xE48C,0xE48D,0xE48E,
+0xE48F,0xE490,0xE491,0xE492,0xE493,0xE494,0xE495,0xE496,
+0xE497,0xE498,0xE499,0xE49A,0xE49B,0xE49C,0xE49D,0xE49E,
+0xE49F,0xE4A0,0xE540,0xE541,0xE542,0xE543,0xE544,0xE545,
+0xE546,0xE547,0xE548,0xE549,0xE54A,0xE54B,0xE54C,0xE54D,
+0xE54E,0xE54F,0xE550,0xE551,0xE552,0xE553,0xE554,0xE555,
+0xE556,0xE557,0xE558,0xE559,0xE55A,0xE55B,0xE55C,0xE55D,
+0xE55E,0xE55F,0xE560,0xE561,0xE562,0xE563,0xE564,0xE565,
+0xE566,0xE567,0xE568,0xE569,0xE56A,0xE56B,0xE56C,0xE56D,
+0xE56E,0xE56F,0xE570,0xE571,0xE572,0xE573,0xF6C9,0xE574,
+0xE575,0xE576,0xE577,0xE578,0xE579,0xE57A,0xE57B,0xE57C,
+0xE57D,0xE57E,0xE580,0xE581,0xE582,0xE583,0xE584,0xE585,
+0xE586,0xE587,0xE588,0xE589,0xE58A,0xE58B,0xE58C,0xE58D,
+0xE58E,0xE58F,0xE590,0xE591,0xE592,0xE593,0xE594,0xE595,
+0xE596,0xE597,0xE598,0xE599,0xE59A,0xE59B,0xE59C,0xE59D,
+0xE59E,0xE59F,0xF6CA,0xE5A0,0xE640,0xE641,0xE642,0xE643,
+0xE644,0xE645,0xE646,0xE647,0xE648,0xE649,0xE64A,0xE64B,
+0xE64C,0xE64D,0xE64E,0xE64F,0xE650,0xE651,0xE652,0xE653,
+0xE654,0xE655,0xE656,0xE657,0xE658,0xE659,0xE65A,0xE65B,
+0xE65C,0xE65D,0xE65E,0xE65F,0xE660,0xE661,0xE662,0xF6CC,
+0xE663,0xE664,0xE665,0xE666,0xE667,0xE668,0xE669,0xE66A,
+0xE66B,0xE66C,0xE66D,0xE66E,0xE66F,0xE670,0xE671,0xE672,
+0xE673,0xE674,0xE675,0xE676,0xE677,0xE678,0xE679,0xE67A,
+0xE67B,0xE67C,0xE67D,0xE67E,0xE680,0xE681,0xE682,0xE683,
+0xE684,0xE685,0xE686,0xE687,0xE688,0xE689,0xE68A,0xE68B,
+0xE68C,0xE68D,0xE68E,0xE68F,0xE690,0xE691,0xE692,0xE693,
+0xE694,0xE695,0xE696,0xE697,0xE698,0xE699,0xE69A,0xE69B,
+0xE69C,0xE69D,0xF6CB,0xE69E,0xE69F,0xE6A0,0xE740,0xE741,
+0xE742,0xE743,0xE744,0xE745,0xE746,0xE747,0xF7E9,0xE748,
+0xE749,0xE74A,0xE74B,0xE74C,0xE74D,0xE74E,0xE74F,0xE750,
+0xE751,0xE752,0xE753,0xE754,0xE755,0xE756,0xE757,0xE758,
+0xE759,0xE75A,0xE75B,0xE75C,0xE75D,0xE75E,0xE75F,0xE760,
+0xE761,0xE762,0xE763,0xE764,0xE765,0xE766,0xE767,0xE768,
+0xE769,0xE76A,0xE76B,0xE76C,0xE76D,0xE76E,0xE76F,0xE770,
+0xE771,0xE772,0xE773,0xE774,0xE775,0xE776,0xE777,0xE778,
+0xE779,0xE77A,0xE77B,0xE77C,0xE77D,0xE77E,0xE780,0xE781,
+0xE782,0xE783,0xE784,0xE785,0xE786,0xE787,0xE788,0xE789,
+0xE78A,0xE78B,0xE78C,0xE78D,0xE78E,0xE78F,0xE790,0xE791,
+0xE792,0xE793,0xE794,0xE795,0xE796,0xE797,0xE798,0xE799,
+0xE79A,0xE79B,0xE79C,0xE79D,0xE79E,0xE79F,0xE7A0,0xE840,
+0xE841,0xE842,0xE843,0xE844,0xE845,0xE846,0xE847,0xE848,
+0xE849,0xE84A,0xE84B,0xE84C,0xE84D,0xE84E,0xF6CD,0xE84F,
+0xE850,0xE851,0xE852,0xE853,0xE854,0xE855,0xE856,0xE857,
+0xE858,0xE859,0xE85A,0xE85B,0xE85C,0xE85D,0xE85E,0xE85F,
+0xE860,0xE861,0xE862,0xE863,0xE864,0xE865,0xE866,0xE867,
+0xE868,0xE869,0xE86A,0xE86B,0xE86C,0xE86D,0xE86E,0xE86F,
+0xE870,0xE871,0xE872,0xE873,0xE874,0xE875,0xE876,0xE877,
+0xE878,0xE879,0xE87A,0xF6CE,0xE87B,0xE87C,0xE87D,0xE87E,
+0xE880,0xE881,0xE882,0xE883,0xE884,0xE885,0xE886,0xE887,
+0xE888,0xE889,0xE88A,0xE88B,0xE88C,0xE88D,0xE88E,0xE88F,
+0xE890,0xE891,0xE892,0xE893,0xE894,0xEEC4,0xEEC5,0xEEC6,
+0xD5EB,0xB6A4,0xEEC8,0xEEC7,0xEEC9,0xEECA,0xC7A5,0xEECB,
+0xEECC,0xE895,0xB7B0,0xB5F6,0xEECD,0xEECF,0xE896,0xEECE,
+0xE897,0xB8C6,0xEED0,0xEED1,0xEED2,0xB6DB,0xB3AE,0xD6D3,
+0xC4C6,0xB1B5,0xB8D6,0xEED3,0xEED4,0xD4BF,0xC7D5,0xBEFB,
+0xCED9,0xB9B3,0xEED6,0xEED5,0xEED8,0xEED7,0xC5A5,0xEED9,
+0xEEDA,0xC7AE,0xEEDB,0xC7AF,0xEEDC,0xB2A7,0xEEDD,0xEEDE,
+0xEEDF,0xEEE0,0xEEE1,0xD7EA,0xEEE2,0xEEE3,0xBCD8,0xEEE4,
+0xD3CB,0xCCFA,0xB2AC,0xC1E5,0xEEE5,0xC7A6,0xC3AD,0xE898,
+0xEEE6,0xEEE7,0xEEE8,0xEEE9,0xEEEA,0xEEEB,0xEEEC,0xE899,
+0xEEED,0xEEEE,0xEEEF,0xE89A,0xE89B,0xEEF0,0xEEF1,0xEEF2,
+0xEEF4,0xEEF3,0xE89C,0xEEF5,0xCDAD,0xC2C1,0xEEF6,0xEEF7,
+0xEEF8,0xD5A1,0xEEF9,0xCFB3,0xEEFA,0xEEFB,0xE89D,0xEEFC,
+0xEEFD,0xEFA1,0xEEFE,0xEFA2,0xB8F5,0xC3FA,0xEFA3,0xEFA4,
+0xBDC2,0xD2BF,0xB2F9,0xEFA5,0xEFA6,0xEFA7,0xD2F8,0xEFA8,
+0xD6FD,0xEFA9,0xC6CC,0xE89E,0xEFAA,0xEFAB,0xC1B4,0xEFAC,
+0xCFFA,0xCBF8,0xEFAE,0xEFAD,0xB3FA,0xB9F8,0xEFAF,0xEFB0,
+0xD0E2,0xEFB1,0xEFB2,0xB7E6,0xD0BF,0xEFB3,0xEFB4,0xEFB5,
+0xC8F1,0xCCE0,0xEFB6,0xEFB7,0xEFB8,0xEFB9,0xEFBA,0xD5E0,
+0xEFBB,0xB4ED,0xC3AA,0xEFBC,0xE89F,0xEFBD,0xEFBE,0xEFBF,
+0xE8A0,0xCEFD,0xEFC0,0xC2E0,0xB4B8,0xD7B6,0xBDF5,0xE940,
+0xCFC7,0xEFC3,0xEFC1,0xEFC2,0xEFC4,0xB6A7,0xBCFC,0xBEE2,
+0xC3CC,0xEFC5,0xEFC6,0xE941,0xEFC7,0xEFCF,0xEFC8,0xEFC9,
+0xEFCA,0xC7C2,0xEFF1,0xB6CD,0xEFCB,0xE942,0xEFCC,0xEFCD,
+0xB6C6,0xC3BE,0xEFCE,0xE943,0xEFD0,0xEFD1,0xEFD2,0xD5F2,
+0xE944,0xEFD3,0xC4F7,0xE945,0xEFD4,0xC4F8,0xEFD5,0xEFD6,
+0xB8E4,0xB0F7,0xEFD7,0xEFD8,0xEFD9,0xE946,0xEFDA,0xEFDB,
+0xEFDC,0xEFDD,0xE947,0xEFDE,0xBEB5,0xEFE1,0xEFDF,0xEFE0,
+0xE948,0xEFE2,0xEFE3,0xC1CD,0xEFE4,0xEFE5,0xEFE6,0xEFE7,
+0xEFE8,0xEFE9,0xEFEA,0xEFEB,0xEFEC,0xC0D8,0xE949,0xEFED,
+0xC1AD,0xEFEE,0xEFEF,0xEFF0,0xE94A,0xE94B,0xCFE2,0xE94C,
+0xE94D,0xE94E,0xE94F,0xE950,0xE951,0xE952,0xE953,0xB3A4,
+0xE954,0xE955,0xE956,0xE957,0xE958,0xE959,0xE95A,0xE95B,
+0xE95C,0xE95D,0xE95E,0xE95F,0xE960,0xE961,0xE962,0xE963,
+0xE964,0xE965,0xE966,0xE967,0xE968,0xE969,0xE96A,0xE96B,
+0xE96C,0xE96D,0xE96E,0xE96F,0xE970,0xE971,0xE972,0xE973,
+0xE974,0xE975,0xE976,0xE977,0xE978,0xE979,0xE97A,0xE97B,
+0xE97C,0xE97D,0xE97E,0xE980,0xE981,0xE982,0xE983,0xE984,
+0xE985,0xE986,0xE987,0xE988,0xE989,0xE98A,0xE98B,0xE98C,
+0xE98D,0xE98E,0xE98F,0xE990,0xE991,0xE992,0xE993,0xE994,
+0xE995,0xE996,0xE997,0xE998,0xE999,0xE99A,0xE99B,0xE99C,
+0xE99D,0xE99E,0xE99F,0xE9A0,0xEA40,0xEA41,0xEA42,0xEA43,
+0xEA44,0xEA45,0xEA46,0xEA47,0xEA48,0xEA49,0xEA4A,0xEA4B,
+0xEA4C,0xEA4D,0xEA4E,0xEA4F,0xEA50,0xEA51,0xEA52,0xEA53,
+0xEA54,0xEA55,0xEA56,0xEA57,0xEA58,0xEA59,0xEA5A,0xEA5B,
+0xC3C5,0xE3C5,0xC9C1,0xE3C6,0xEA5C,0xB1D5,0xCECA,0xB4B3,
+0xC8F2,0xE3C7,0xCFD0,0xE3C8,0xBCE4,0xE3C9,0xE3CA,0xC3C6,
+0xD5A2,0xC4D6,0xB9EB,0xCEC5,0xE3CB,0xC3F6,0xE3CC,0xEA5D,
+0xB7A7,0xB8F3,0xBAD2,0xE3CD,0xE3CE,0xD4C4,0xE3CF,0xEA5E,
+0xE3D0,0xD1CB,0xE3D1,0xE3D2,0xE3D3,0xE3D4,0xD1D6,0xE3D5,
+0xB2FB,0xC0BB,0xE3D6,0xEA5F,0xC0AB,0xE3D7,0xE3D8,0xE3D9,
+0xEA60,0xE3DA,0xE3DB,0xEA61,0xB8B7,0xDAE2,0xEA62,0xB6D3,
+0xEA63,0xDAE4,0xDAE3,0xEA64,0xEA65,0xEA66,0xEA67,0xEA68,
+0xEA69,0xEA6A,0xDAE6,0xEA6B,0xEA6C,0xEA6D,0xC8EE,0xEA6E,
+0xEA6F,0xDAE5,0xB7C0,0xD1F4,0xD2F5,0xD5F3,0xBDD7,0xEA70,
+0xEA71,0xEA72,0xEA73,0xD7E8,0xDAE8,0xDAE7,0xEA74,0xB0A2,
+0xCDD3,0xEA75,0xDAE9,0xEA76,0xB8BD,0xBCCA,0xC2BD,0xC2A4,
+0xB3C2,0xDAEA,0xEA77,0xC2AA,0xC4B0,0xBDB5,0xEA78,0xEA79,
+0xCFDE,0xEA7A,0xEA7B,0xEA7C,0xDAEB,0xC9C2,0xEA7D,0xEA7E,
+0xEA80,0xEA81,0xEA82,0xB1DD,0xEA83,0xEA84,0xEA85,0xDAEC,
+0xEA86,0xB6B8,0xD4BA,0xEA87,0xB3FD,0xEA88,0xEA89,0xDAED,
+0xD4C9,0xCFD5,0xC5E3,0xEA8A,0xDAEE,0xEA8B,0xEA8C,0xEA8D,
+0xEA8E,0xEA8F,0xDAEF,0xEA90,0xDAF0,0xC1EA,0xCCD5,0xCFDD,
+0xEA91,0xEA92,0xEA93,0xEA94,0xEA95,0xEA96,0xEA97,0xEA98,
+0xEA99,0xEA9A,0xEA9B,0xEA9C,0xEA9D,0xD3E7,0xC2A1,0xEA9E,
+0xDAF1,0xEA9F,0xEAA0,0xCBE5,0xEB40,0xDAF2,0xEB41,0xCBE6,
+0xD2FE,0xEB42,0xEB43,0xEB44,0xB8F4,0xEB45,0xEB46,0xDAF3,
+0xB0AF,0xCFB6,0xEB47,0xEB48,0xD5CF,0xEB49,0xEB4A,0xEB4B,
+0xEB4C,0xEB4D,0xEB4E,0xEB4F,0xEB50,0xEB51,0xEB52,0xCBED,
+0xEB53,0xEB54,0xEB55,0xEB56,0xEB57,0xEB58,0xEB59,0xEB5A,
+0xDAF4,0xEB5B,0xEB5C,0xE3C4,0xEB5D,0xEB5E,0xC1A5,0xEB5F,
+0xEB60,0xF6BF,0xEB61,0xEB62,0xF6C0,0xF6C1,0xC4D1,0xEB63,
+0xC8B8,0xD1E3,0xEB64,0xEB65,0xD0DB,0xD1C5,0xBCAF,0xB9CD,
+0xEB66,0xEFF4,0xEB67,0xEB68,0xB4C6,0xD3BA,0xF6C2,0xB3FB,
+0xEB69,0xEB6A,0xF6C3,0xEB6B,0xEB6C,0xB5F1,0xEB6D,0xEB6E,
+0xEB6F,0xEB70,0xEB71,0xEB72,0xEB73,0xEB74,0xEB75,0xEB76,
+0xF6C5,0xEB77,0xEB78,0xEB79,0xEB7A,0xEB7B,0xEB7C,0xEB7D,
+0xD3EA,0xF6A7,0xD1A9,0xEB7E,0xEB80,0xEB81,0xEB82,0xF6A9,
+0xEB83,0xEB84,0xEB85,0xF6A8,0xEB86,0xEB87,0xC1E3,0xC0D7,
+0xEB88,0xB1A2,0xEB89,0xEB8A,0xEB8B,0xEB8C,0xCEED,0xEB8D,
+0xD0E8,0xF6AB,0xEB8E,0xEB8F,0xCFF6,0xEB90,0xF6AA,0xD5F0,
+0xF6AC,0xC3B9,0xEB91,0xEB92,0xEB93,0xBBF4,0xF6AE,0xF6AD,
+0xEB94,0xEB95,0xEB96,0xC4DE,0xEB97,0xEB98,0xC1D8,0xEB99,
+0xEB9A,0xEB9B,0xEB9C,0xEB9D,0xCBAA,0xEB9E,0xCFBC,0xEB9F,
+0xEBA0,0xEC40,0xEC41,0xEC42,0xEC43,0xEC44,0xEC45,0xEC46,
+0xEC47,0xEC48,0xF6AF,0xEC49,0xEC4A,0xF6B0,0xEC4B,0xEC4C,
+0xF6B1,0xEC4D,0xC2B6,0xEC4E,0xEC4F,0xEC50,0xEC51,0xEC52,
+0xB0D4,0xC5F9,0xEC53,0xEC54,0xEC55,0xEC56,0xF6B2,0xEC57,
+0xEC58,0xEC59,0xEC5A,0xEC5B,0xEC5C,0xEC5D,0xEC5E,0xEC5F,
+0xEC60,0xEC61,0xEC62,0xEC63,0xEC64,0xEC65,0xEC66,0xEC67,
+0xEC68,0xEC69,0xC7E0,0xF6A6,0xEC6A,0xEC6B,0xBEB8,0xEC6C,
+0xEC6D,0xBEB2,0xEC6E,0xB5E5,0xEC6F,0xEC70,0xB7C7,0xEC71,
+0xBFBF,0xC3D2,0xC3E6,0xEC72,0xEC73,0xD8CC,0xEC74,0xEC75,
+0xEC76,0xB8EF,0xEC77,0xEC78,0xEC79,0xEC7A,0xEC7B,0xEC7C,
+0xEC7D,0xEC7E,0xEC80,0xBDF9,0xD1A5,0xEC81,0xB0D0,0xEC82,
+0xEC83,0xEC84,0xEC85,0xEC86,0xF7B0,0xEC87,0xEC88,0xEC89,
+0xEC8A,0xEC8B,0xEC8C,0xEC8D,0xEC8E,0xF7B1,0xEC8F,0xEC90,
+0xEC91,0xEC92,0xEC93,0xD0AC,0xEC94,0xB0B0,0xEC95,0xEC96,
+0xEC97,0xF7B2,0xF7B3,0xEC98,0xF7B4,0xEC99,0xEC9A,0xEC9B,
+0xC7CA,0xEC9C,0xEC9D,0xEC9E,0xEC9F,0xECA0,0xED40,0xED41,
+0xBECF,0xED42,0xED43,0xF7B7,0xED44,0xED45,0xED46,0xED47,
+0xED48,0xED49,0xED4A,0xF7B6,0xED4B,0xB1DE,0xED4C,0xF7B5,
+0xED4D,0xED4E,0xF7B8,0xED4F,0xF7B9,0xED50,0xED51,0xED52,
+0xED53,0xED54,0xED55,0xED56,0xED57,0xED58,0xED59,0xED5A,
+0xED5B,0xED5C,0xED5D,0xED5E,0xED5F,0xED60,0xED61,0xED62,
+0xED63,0xED64,0xED65,0xED66,0xED67,0xED68,0xED69,0xED6A,
+0xED6B,0xED6C,0xED6D,0xED6E,0xED6F,0xED70,0xED71,0xED72,
+0xED73,0xED74,0xED75,0xED76,0xED77,0xED78,0xED79,0xED7A,
+0xED7B,0xED7C,0xED7D,0xED7E,0xED80,0xED81,0xCEA4,0xC8CD,
+0xED82,0xBAAB,0xE8B8,0xE8B9,0xE8BA,0xBEC2,0xED83,0xED84,
+0xED85,0xED86,0xED87,0xD2F4,0xED88,0xD4CF,0xC9D8,0xED89,
+0xED8A,0xED8B,0xED8C,0xED8D,0xED8E,0xED8F,0xED90,0xED91,
+0xED92,0xED93,0xED94,0xED95,0xED96,0xED97,0xED98,0xED99,
+0xED9A,0xED9B,0xED9C,0xED9D,0xED9E,0xED9F,0xEDA0,0xEE40,
+0xEE41,0xEE42,0xEE43,0xEE44,0xEE45,0xEE46,0xEE47,0xEE48,
+0xEE49,0xEE4A,0xEE4B,0xEE4C,0xEE4D,0xEE4E,0xEE4F,0xEE50,
+0xEE51,0xEE52,0xEE53,0xEE54,0xEE55,0xEE56,0xEE57,0xEE58,
+0xEE59,0xEE5A,0xEE5B,0xEE5C,0xEE5D,0xEE5E,0xEE5F,0xEE60,
+0xEE61,0xEE62,0xEE63,0xEE64,0xEE65,0xEE66,0xEE67,0xEE68,
+0xEE69,0xEE6A,0xEE6B,0xEE6C,0xEE6D,0xEE6E,0xEE6F,0xEE70,
+0xEE71,0xEE72,0xEE73,0xEE74,0xEE75,0xEE76,0xEE77,0xEE78,
+0xEE79,0xEE7A,0xEE7B,0xEE7C,0xEE7D,0xEE7E,0xEE80,0xEE81,
+0xEE82,0xEE83,0xEE84,0xEE85,0xEE86,0xEE87,0xEE88,0xEE89,
+0xEE8A,0xEE8B,0xEE8C,0xEE8D,0xEE8E,0xEE8F,0xEE90,0xEE91,
+0xEE92,0xEE93,0xEE94,0xEE95,0xEE96,0xEE97,0xEE98,0xEE99,
+0xEE9A,0xEE9B,0xEE9C,0xEE9D,0xEE9E,0xEE9F,0xEEA0,0xEF40,
+0xEF41,0xEF42,0xEF43,0xEF44,0xEF45,0xD2B3,0xB6A5,0xC7EA,
+0xF1FC,0xCFEE,0xCBB3,0xD0EB,0xE7EF,0xCDE7,0xB9CB,0xB6D9,
+0xF1FD,0xB0E4,0xCBCC,0xF1FE,0xD4A4,0xC2AD,0xC1EC,0xC6C4,
+0xBEB1,0xF2A1,0xBCD5,0xEF46,0xF2A2,0xF2A3,0xEF47,0xF2A4,
+0xD2C3,0xC6B5,0xEF48,0xCDC7,0xF2A5,0xEF49,0xD3B1,0xBFC5,
+0xCCE2,0xEF4A,0xF2A6,0xF2A7,0xD1D5,0xB6EE,0xF2A8,0xF2A9,
+0xB5DF,0xF2AA,0xF2AB,0xEF4B,0xB2FC,0xF2AC,0xF2AD,0xC8A7,
+0xEF4C,0xEF4D,0xEF4E,0xEF4F,0xEF50,0xEF51,0xEF52,0xEF53,
+0xEF54,0xEF55,0xEF56,0xEF57,0xEF58,0xEF59,0xEF5A,0xEF5B,
+0xEF5C,0xEF5D,0xEF5E,0xEF5F,0xEF60,0xEF61,0xEF62,0xEF63,
+0xEF64,0xEF65,0xEF66,0xEF67,0xEF68,0xEF69,0xEF6A,0xEF6B,
+0xEF6C,0xEF6D,0xEF6E,0xEF6F,0xEF70,0xEF71,0xB7E7,0xEF72,
+0xEF73,0xECA9,0xECAA,0xECAB,0xEF74,0xECAC,0xEF75,0xEF76,
+0xC6AE,0xECAD,0xECAE,0xEF77,0xEF78,0xEF79,0xB7C9,0xCAB3,
+0xEF7A,0xEF7B,0xEF7C,0xEF7D,0xEF7E,0xEF80,0xEF81,0xE2B8,
+0xF7CF,0xEF82,0xEF83,0xEF84,0xEF85,0xEF86,0xEF87,0xEF88,
+0xEF89,0xEF8A,0xEF8B,0xEF8C,0xEF8D,0xEF8E,0xEF8F,0xEF90,
+0xEF91,0xEF92,0xEF93,0xEF94,0xEF95,0xEF96,0xEF97,0xEF98,
+0xEF99,0xEF9A,0xEF9B,0xEF9C,0xEF9D,0xEF9E,0xEF9F,0xEFA0,
+0xF040,0xF041,0xF042,0xF043,0xF044,0xF7D0,0xF045,0xF046,
+0xB2CD,0xF047,0xF048,0xF049,0xF04A,0xF04B,0xF04C,0xF04D,
+0xF04E,0xF04F,0xF050,0xF051,0xF052,0xF053,0xF054,0xF055,
+0xF056,0xF057,0xF058,0xF059,0xF05A,0xF05B,0xF05C,0xF05D,
+0xF05E,0xF05F,0xF060,0xF061,0xF062,0xF063,0xF7D1,0xF064,
+0xF065,0xF066,0xF067,0xF068,0xF069,0xF06A,0xF06B,0xF06C,
+0xF06D,0xF06E,0xF06F,0xF070,0xF071,0xF072,0xF073,0xF074,
+0xF075,0xF076,0xF077,0xF078,0xF079,0xF07A,0xF07B,0xF07C,
+0xF07D,0xF07E,0xF080,0xF081,0xF082,0xF083,0xF084,0xF085,
+0xF086,0xF087,0xF088,0xF089,0xF7D3,0xF7D2,0xF08A,0xF08B,
+0xF08C,0xF08D,0xF08E,0xF08F,0xF090,0xF091,0xF092,0xF093,
+0xF094,0xF095,0xF096,0xE2BB,0xF097,0xBCA2,0xF098,0xE2BC,
+0xE2BD,0xE2BE,0xE2BF,0xE2C0,0xE2C1,0xB7B9,0xD2FB,0xBDA4,
+0xCACE,0xB1A5,0xCBC7,0xF099,0xE2C2,0xB6FC,0xC8C4,0xE2C3,
+0xF09A,0xF09B,0xBDC8,0xF09C,0xB1FD,0xE2C4,0xF09D,0xB6F6,
+0xE2C5,0xC4D9,0xF09E,0xF09F,0xE2C6,0xCFDA,0xB9DD,0xE2C7,
+0xC0A1,0xF0A0,0xE2C8,0xB2F6,0xF140,0xE2C9,0xF141,0xC1F3,
+0xE2CA,0xE2CB,0xC2F8,0xE2CC,0xE2CD,0xE2CE,0xCAD7,0xD8B8,
+0xD9E5,0xCFE3,0xF142,0xF143,0xF144,0xF145,0xF146,0xF147,
+0xF148,0xF149,0xF14A,0xF14B,0xF14C,0xF0A5,0xF14D,0xF14E,
+0xDCB0,0xF14F,0xF150,0xF151,0xF152,0xF153,0xF154,0xF155,
+0xF156,0xF157,0xF158,0xF159,0xF15A,0xF15B,0xF15C,0xF15D,
+0xF15E,0xF15F,0xF160,0xF161,0xF162,0xF163,0xF164,0xF165,
+0xF166,0xF167,0xF168,0xF169,0xF16A,0xF16B,0xF16C,0xF16D,
+0xF16E,0xF16F,0xF170,0xF171,0xF172,0xF173,0xF174,0xF175,
+0xF176,0xF177,0xF178,0xF179,0xF17A,0xF17B,0xF17C,0xF17D,
+0xF17E,0xF180,0xF181,0xF182,0xF183,0xF184,0xF185,0xF186,
+0xF187,0xF188,0xF189,0xF18A,0xF18B,0xF18C,0xF18D,0xF18E,
+0xF18F,0xF190,0xF191,0xF192,0xF193,0xF194,0xF195,0xF196,
+0xF197,0xF198,0xF199,0xF19A,0xF19B,0xF19C,0xF19D,0xF19E,
+0xF19F,0xF1A0,0xF240,0xF241,0xF242,0xF243,0xF244,0xF245,
+0xF246,0xF247,0xF248,0xF249,0xF24A,0xF24B,0xF24C,0xF24D,
+0xF24E,0xF24F,0xF250,0xF251,0xF252,0xF253,0xF254,0xF255,
+0xF256,0xF257,0xF258,0xF259,0xF25A,0xF25B,0xF25C,0xF25D,
+0xF25E,0xF25F,0xF260,0xF261,0xF262,0xF263,0xF264,0xF265,
+0xF266,0xF267,0xF268,0xF269,0xF26A,0xF26B,0xF26C,0xF26D,
+0xF26E,0xF26F,0xF270,0xF271,0xF272,0xF273,0xF274,0xF275,
+0xF276,0xF277,0xF278,0xF279,0xF27A,0xF27B,0xF27C,0xF27D,
+0xF27E,0xF280,0xF281,0xF282,0xF283,0xF284,0xF285,0xF286,
+0xF287,0xF288,0xF289,0xF28A,0xF28B,0xF28C,0xF28D,0xF28E,
+0xF28F,0xF290,0xF291,0xF292,0xF293,0xF294,0xF295,0xF296,
+0xF297,0xF298,0xF299,0xF29A,0xF29B,0xF29C,0xF29D,0xF29E,
+0xF29F,0xF2A0,0xF340,0xF341,0xF342,0xF343,0xF344,0xF345,
+0xF346,0xF347,0xF348,0xF349,0xF34A,0xF34B,0xF34C,0xF34D,
+0xF34E,0xF34F,0xF350,0xF351,0xC2ED,0xD4A6,0xCDD4,0xD1B1,
+0xB3DB,0xC7FD,0xF352,0xB2B5,0xC2BF,0xE6E0,0xCABB,0xE6E1,
+0xE6E2,0xBED4,0xE6E3,0xD7A4,0xCDD5,0xE6E5,0xBCDD,0xE6E4,
+0xE6E6,0xE6E7,0xC2EE,0xF353,0xBDBE,0xE6E8,0xC2E6,0xBAA7,
+0xE6E9,0xF354,0xE6EA,0xB3D2,0xD1E9,0xF355,0xF356,0xBFA5,
+0xE6EB,0xC6EF,0xE6EC,0xE6ED,0xF357,0xF358,0xE6EE,0xC6AD,
+0xE6EF,0xF359,0xC9A7,0xE6F0,0xE6F1,0xE6F2,0xE5B9,0xE6F3,
+0xE6F4,0xC2E2,0xE6F5,0xE6F6,0xD6E8,0xE6F7,0xF35A,0xE6F8,
+0xB9C7,0xF35B,0xF35C,0xF35D,0xF35E,0xF35F,0xF360,0xF361,
+0xF7BB,0xF7BA,0xF362,0xF363,0xF364,0xF365,0xF7BE,0xF7BC,
+0xBAA1,0xF366,0xF7BF,0xF367,0xF7C0,0xF368,0xF369,0xF36A,
+0xF7C2,0xF7C1,0xF7C4,0xF36B,0xF36C,0xF7C3,0xF36D,0xF36E,
+0xF36F,0xF370,0xF371,0xF7C5,0xF7C6,0xF372,0xF373,0xF374,
+0xF375,0xF7C7,0xF376,0xCBE8,0xF377,0xF378,0xF379,0xF37A,
+0xB8DF,0xF37B,0xF37C,0xF37D,0xF37E,0xF380,0xF381,0xF7D4,
+0xF382,0xF7D5,0xF383,0xF384,0xF385,0xF386,0xF7D6,0xF387,
+0xF388,0xF389,0xF38A,0xF7D8,0xF38B,0xF7DA,0xF38C,0xF7D7,
+0xF38D,0xF38E,0xF38F,0xF390,0xF391,0xF392,0xF393,0xF394,
+0xF395,0xF7DB,0xF396,0xF7D9,0xF397,0xF398,0xF399,0xF39A,
+0xF39B,0xF39C,0xF39D,0xD7D7,0xF39E,0xF39F,0xF3A0,0xF440,
+0xF7DC,0xF441,0xF442,0xF443,0xF444,0xF445,0xF446,0xF7DD,
+0xF447,0xF448,0xF449,0xF7DE,0xF44A,0xF44B,0xF44C,0xF44D,
+0xF44E,0xF44F,0xF450,0xF451,0xF452,0xF453,0xF454,0xF7DF,
+0xF455,0xF456,0xF457,0xF7E0,0xF458,0xF459,0xF45A,0xF45B,
+0xF45C,0xF45D,0xF45E,0xF45F,0xF460,0xF461,0xF462,0xDBCB,
+0xF463,0xF464,0xD8AA,0xF465,0xF466,0xF467,0xF468,0xF469,
+0xF46A,0xF46B,0xF46C,0xE5F7,0xB9ED,0xF46D,0xF46E,0xF46F,
+0xF470,0xBFFD,0xBBEA,0xF7C9,0xC6C7,0xF7C8,0xF471,0xF7CA,
+0xF7CC,0xF7CB,0xF472,0xF473,0xF474,0xF7CD,0xF475,0xCEBA,
+0xF476,0xF7CE,0xF477,0xF478,0xC4A7,0xF479,0xF47A,0xF47B,
+0xF47C,0xF47D,0xF47E,0xF480,0xF481,0xF482,0xF483,0xF484,
+0xF485,0xF486,0xF487,0xF488,0xF489,0xF48A,0xF48B,0xF48C,
+0xF48D,0xF48E,0xF48F,0xF490,0xF491,0xF492,0xF493,0xF494,
+0xF495,0xF496,0xF497,0xF498,0xF499,0xF49A,0xF49B,0xF49C,
+0xF49D,0xF49E,0xF49F,0xF4A0,0xF540,0xF541,0xF542,0xF543,
+0xF544,0xF545,0xF546,0xF547,0xF548,0xF549,0xF54A,0xF54B,
+0xF54C,0xF54D,0xF54E,0xF54F,0xF550,0xF551,0xF552,0xF553,
+0xF554,0xF555,0xF556,0xF557,0xF558,0xF559,0xF55A,0xF55B,
+0xF55C,0xF55D,0xF55E,0xF55F,0xF560,0xF561,0xF562,0xF563,
+0xF564,0xF565,0xF566,0xF567,0xF568,0xF569,0xF56A,0xF56B,
+0xF56C,0xF56D,0xF56E,0xF56F,0xF570,0xF571,0xF572,0xF573,
+0xF574,0xF575,0xF576,0xF577,0xF578,0xF579,0xF57A,0xF57B,
+0xF57C,0xF57D,0xF57E,0xF580,0xF581,0xF582,0xF583,0xF584,
+0xF585,0xF586,0xF587,0xF588,0xF589,0xF58A,0xF58B,0xF58C,
+0xF58D,0xF58E,0xF58F,0xF590,0xF591,0xF592,0xF593,0xF594,
+0xF595,0xF596,0xF597,0xF598,0xF599,0xF59A,0xF59B,0xF59C,
+0xF59D,0xF59E,0xF59F,0xF5A0,0xF640,0xF641,0xF642,0xF643,
+0xF644,0xF645,0xF646,0xF647,0xF648,0xF649,0xF64A,0xF64B,
+0xF64C,0xF64D,0xF64E,0xF64F,0xF650,0xF651,0xF652,0xF653,
+0xF654,0xF655,0xF656,0xF657,0xF658,0xF659,0xF65A,0xF65B,
+0xF65C,0xF65D,0xF65E,0xF65F,0xF660,0xF661,0xF662,0xF663,
+0xF664,0xF665,0xF666,0xF667,0xF668,0xF669,0xF66A,0xF66B,
+0xF66C,0xF66D,0xF66E,0xF66F,0xF670,0xF671,0xF672,0xF673,
+0xF674,0xF675,0xF676,0xF677,0xF678,0xF679,0xF67A,0xF67B,
+0xF67C,0xF67D,0xF67E,0xF680,0xF681,0xF682,0xF683,0xF684,
+0xF685,0xF686,0xF687,0xF688,0xF689,0xF68A,0xF68B,0xF68C,
+0xF68D,0xF68E,0xF68F,0xF690,0xF691,0xF692,0xF693,0xF694,
+0xF695,0xF696,0xF697,0xF698,0xF699,0xF69A,0xF69B,0xF69C,
+0xF69D,0xF69E,0xF69F,0xF6A0,0xF740,0xF741,0xF742,0xF743,
+0xF744,0xF745,0xF746,0xF747,0xF748,0xF749,0xF74A,0xF74B,
+0xF74C,0xF74D,0xF74E,0xF74F,0xF750,0xF751,0xF752,0xF753,
+0xF754,0xF755,0xF756,0xF757,0xF758,0xF759,0xF75A,0xF75B,
+0xF75C,0xF75D,0xF75E,0xF75F,0xF760,0xF761,0xF762,0xF763,
+0xF764,0xF765,0xF766,0xF767,0xF768,0xF769,0xF76A,0xF76B,
+0xF76C,0xF76D,0xF76E,0xF76F,0xF770,0xF771,0xF772,0xF773,
+0xF774,0xF775,0xF776,0xF777,0xF778,0xF779,0xF77A,0xF77B,
+0xF77C,0xF77D,0xF77E,0xF780,0xD3E3,0xF781,0xF782,0xF6CF,
+0xF783,0xC2B3,0xF6D0,0xF784,0xF785,0xF6D1,0xF6D2,0xF6D3,
+0xF6D4,0xF786,0xF787,0xF6D6,0xF788,0xB1AB,0xF6D7,0xF789,
+0xF6D8,0xF6D9,0xF6DA,0xF78A,0xF6DB,0xF6DC,0xF78B,0xF78C,
+0xF78D,0xF78E,0xF6DD,0xF6DE,0xCFCA,0xF78F,0xF6DF,0xF6E0,
+0xF6E1,0xF6E2,0xF6E3,0xF6E4,0xC0F0,0xF6E5,0xF6E6,0xF6E7,
+0xF6E8,0xF6E9,0xF790,0xF6EA,0xF791,0xF6EB,0xF6EC,0xF792,
+0xF6ED,0xF6EE,0xF6EF,0xF6F0,0xF6F1,0xF6F2,0xF6F3,0xF6F4,
+0xBEA8,0xF793,0xF6F5,0xF6F6,0xF6F7,0xF6F8,0xF794,0xF795,
+0xF796,0xF797,0xF798,0xC8FA,0xF6F9,0xF6FA,0xF6FB,0xF6FC,
+0xF799,0xF79A,0xF6FD,0xF6FE,0xF7A1,0xF7A2,0xF7A3,0xF7A4,
+0xF7A5,0xF79B,0xF79C,0xF7A6,0xF7A7,0xF7A8,0xB1EE,0xF7A9,
+0xF7AA,0xF7AB,0xF79D,0xF79E,0xF7AC,0xF7AD,0xC1DB,0xF7AE,
+0xF79F,0xF7A0,0xF7AF,0xF840,0xF841,0xF842,0xF843,0xF844,
+0xF845,0xF846,0xF847,0xF848,0xF849,0xF84A,0xF84B,0xF84C,
+0xF84D,0xF84E,0xF84F,0xF850,0xF851,0xF852,0xF853,0xF854,
+0xF855,0xF856,0xF857,0xF858,0xF859,0xF85A,0xF85B,0xF85C,
+0xF85D,0xF85E,0xF85F,0xF860,0xF861,0xF862,0xF863,0xF864,
+0xF865,0xF866,0xF867,0xF868,0xF869,0xF86A,0xF86B,0xF86C,
+0xF86D,0xF86E,0xF86F,0xF870,0xF871,0xF872,0xF873,0xF874,
+0xF875,0xF876,0xF877,0xF878,0xF879,0xF87A,0xF87B,0xF87C,
+0xF87D,0xF87E,0xF880,0xF881,0xF882,0xF883,0xF884,0xF885,
+0xF886,0xF887,0xF888,0xF889,0xF88A,0xF88B,0xF88C,0xF88D,
+0xF88E,0xF88F,0xF890,0xF891,0xF892,0xF893,0xF894,0xF895,
+0xF896,0xF897,0xF898,0xF899,0xF89A,0xF89B,0xF89C,0xF89D,
+0xF89E,0xF89F,0xF8A0,0xF940,0xF941,0xF942,0xF943,0xF944,
+0xF945,0xF946,0xF947,0xF948,0xF949,0xF94A,0xF94B,0xF94C,
+0xF94D,0xF94E,0xF94F,0xF950,0xF951,0xF952,0xF953,0xF954,
+0xF955,0xF956,0xF957,0xF958,0xF959,0xF95A,0xF95B,0xF95C,
+0xF95D,0xF95E,0xF95F,0xF960,0xF961,0xF962,0xF963,0xF964,
+0xF965,0xF966,0xF967,0xF968,0xF969,0xF96A,0xF96B,0xF96C,
+0xF96D,0xF96E,0xF96F,0xF970,0xF971,0xF972,0xF973,0xF974,
+0xF975,0xF976,0xF977,0xF978,0xF979,0xF97A,0xF97B,0xF97C,
+0xF97D,0xF97E,0xF980,0xF981,0xF982,0xF983,0xF984,0xF985,
+0xF986,0xF987,0xF988,0xF989,0xF98A,0xF98B,0xF98C,0xF98D,
+0xF98E,0xF98F,0xF990,0xF991,0xF992,0xF993,0xF994,0xF995,
+0xF996,0xF997,0xF998,0xF999,0xF99A,0xF99B,0xF99C,0xF99D,
+0xF99E,0xF99F,0xF9A0,0xFA40,0xFA41,0xFA42,0xFA43,0xFA44,
+0xFA45,0xFA46,0xFA47,0xFA48,0xFA49,0xFA4A,0xFA4B,0xFA4C,
+0xFA4D,0xFA4E,0xFA4F,0xFA50,0xFA51,0xFA52,0xFA53,0xFA54,
+0xFA55,0xFA56,0xFA57,0xFA58,0xFA59,0xFA5A,0xFA5B,0xFA5C,
+0xFA5D,0xFA5E,0xFA5F,0xFA60,0xFA61,0xFA62,0xFA63,0xFA64,
+0xFA65,0xFA66,0xFA67,0xFA68,0xFA69,0xFA6A,0xFA6B,0xFA6C,
+0xFA6D,0xFA6E,0xFA6F,0xFA70,0xFA71,0xFA72,0xFA73,0xFA74,
+0xFA75,0xFA76,0xFA77,0xFA78,0xFA79,0xFA7A,0xFA7B,0xFA7C,
+0xFA7D,0xFA7E,0xFA80,0xFA81,0xFA82,0xFA83,0xFA84,0xFA85,
+0xFA86,0xFA87,0xFA88,0xFA89,0xFA8A,0xFA8B,0xFA8C,0xFA8D,
+0xFA8E,0xFA8F,0xFA90,0xFA91,0xFA92,0xFA93,0xFA94,0xFA95,
+0xFA96,0xFA97,0xFA98,0xFA99,0xFA9A,0xFA9B,0xFA9C,0xFA9D,
+0xFA9E,0xFA9F,0xFAA0,0xFB40,0xFB41,0xFB42,0xFB43,0xFB44,
+0xFB45,0xFB46,0xFB47,0xFB48,0xFB49,0xFB4A,0xFB4B,0xFB4C,
+0xFB4D,0xFB4E,0xFB4F,0xFB50,0xFB51,0xFB52,0xFB53,0xFB54,
+0xFB55,0xFB56,0xFB57,0xFB58,0xFB59,0xFB5A,0xFB5B,0xC4F1,
+0xF0AF,0xBCA6,0xF0B0,0xC3F9,0xFB5C,0xC5B8,0xD1BB,0xFB5D,
+0xF0B1,0xF0B2,0xF0B3,0xF0B4,0xF0B5,0xD1BC,0xFB5E,0xD1EC,
+0xFB5F,0xF0B7,0xF0B6,0xD4A7,0xFB60,0xCDD2,0xF0B8,0xF0BA,
+0xF0B9,0xF0BB,0xF0BC,0xFB61,0xFB62,0xB8EB,0xF0BD,0xBAE8,
+0xFB63,0xF0BE,0xF0BF,0xBEE9,0xF0C0,0xB6EC,0xF0C1,0xF0C2,
+0xF0C3,0xF0C4,0xC8B5,0xF0C5,0xF0C6,0xFB64,0xF0C7,0xC5F4,
+0xFB65,0xF0C8,0xFB66,0xFB67,0xFB68,0xF0C9,0xFB69,0xF0CA,
+0xF7BD,0xFB6A,0xF0CB,0xF0CC,0xF0CD,0xFB6B,0xF0CE,0xFB6C,
+0xFB6D,0xFB6E,0xFB6F,0xF0CF,0xBAD7,0xFB70,0xF0D0,0xF0D1,
+0xF0D2,0xF0D3,0xF0D4,0xF0D5,0xF0D6,0xF0D8,0xFB71,0xFB72,
+0xD3A5,0xF0D7,0xFB73,0xF0D9,0xFB74,0xFB75,0xFB76,0xFB77,
+0xFB78,0xFB79,0xFB7A,0xFB7B,0xFB7C,0xFB7D,0xF5BA,0xC2B9,
+0xFB7E,0xFB80,0xF7E4,0xFB81,0xFB82,0xFB83,0xFB84,0xF7E5,
+0xF7E6,0xFB85,0xFB86,0xF7E7,0xFB87,0xFB88,0xFB89,0xFB8A,
+0xFB8B,0xFB8C,0xF7E8,0xC2B4,0xFB8D,0xFB8E,0xFB8F,0xFB90,
+0xFB91,0xFB92,0xFB93,0xFB94,0xFB95,0xF7EA,0xFB96,0xF7EB,
+0xFB97,0xFB98,0xFB99,0xFB9A,0xFB9B,0xFB9C,0xC2F3,0xFB9D,
+0xFB9E,0xFB9F,0xFBA0,0xFC40,0xFC41,0xFC42,0xFC43,0xFC44,
+0xFC45,0xFC46,0xFC47,0xFC48,0xF4F0,0xFC49,0xFC4A,0xFC4B,
+0xF4EF,0xFC4C,0xFC4D,0xC2E9,0xFC4E,0xF7E1,0xF7E2,0xFC4F,
+0xFC50,0xFC51,0xFC52,0xFC53,0xBBC6,0xFC54,0xFC55,0xFC56,
+0xFC57,0xD9E4,0xFC58,0xFC59,0xFC5A,0xCAF2,0xC0E8,0xF0A4,
+0xFC5B,0xBADA,0xFC5C,0xFC5D,0xC7AD,0xFC5E,0xFC5F,0xFC60,
+0xC4AC,0xFC61,0xFC62,0xF7EC,0xF7ED,0xF7EE,0xFC63,0xF7F0,
+0xF7EF,0xFC64,0xF7F1,0xFC65,0xFC66,0xF7F4,0xFC67,0xF7F3,
+0xFC68,0xF7F2,0xF7F5,0xFC69,0xFC6A,0xFC6B,0xFC6C,0xF7F6,
+0xFC6D,0xFC6E,0xFC6F,0xFC70,0xFC71,0xFC72,0xFC73,0xFC74,
+0xFC75,0xEDE9,0xFC76,0xEDEA,0xEDEB,0xFC77,0xF6BC,0xFC78,
+0xFC79,0xFC7A,0xFC7B,0xFC7C,0xFC7D,0xFC7E,0xFC80,0xFC81,
+0xFC82,0xFC83,0xFC84,0xF6BD,0xFC85,0xF6BE,0xB6A6,0xFC86,
+0xD8BE,0xFC87,0xFC88,0xB9C4,0xFC89,0xFC8A,0xFC8B,0xD8BB,
+0xFC8C,0xDCB1,0xFC8D,0xFC8E,0xFC8F,0xFC90,0xFC91,0xFC92,
+0xCAF3,0xFC93,0xF7F7,0xFC94,0xFC95,0xFC96,0xFC97,0xFC98,
+0xFC99,0xFC9A,0xFC9B,0xFC9C,0xF7F8,0xFC9D,0xFC9E,0xF7F9,
+0xFC9F,0xFCA0,0xFD40,0xFD41,0xFD42,0xFD43,0xFD44,0xF7FB,
+0xFD45,0xF7FA,0xFD46,0xB1C7,0xFD47,0xF7FC,0xF7FD,0xFD48,
+0xFD49,0xFD4A,0xFD4B,0xFD4C,0xF7FE,0xFD4D,0xFD4E,0xFD4F,
+0xFD50,0xFD51,0xFD52,0xFD53,0xFD54,0xFD55,0xFD56,0xFD57,
+0xC6EB,0xECB4,0xFD58,0xFD59,0xFD5A,0xFD5B,0xFD5C,0xFD5D,
+0xFD5E,0xFD5F,0xFD60,0xFD61,0xFD62,0xFD63,0xFD64,0xFD65,
+0xFD66,0xFD67,0xFD68,0xFD69,0xFD6A,0xFD6B,0xFD6C,0xFD6D,
+0xFD6E,0xFD6F,0xFD70,0xFD71,0xFD72,0xFD73,0xFD74,0xFD75,
+0xFD76,0xFD77,0xFD78,0xFD79,0xFD7A,0xFD7B,0xFD7C,0xFD7D,
+0xFD7E,0xFD80,0xFD81,0xFD82,0xFD83,0xFD84,0xFD85,0xB3DD,
+0xF6B3,0xFD86,0xFD87,0xF6B4,0xC1E4,0xF6B5,0xF6B6,0xF6B7,
+0xF6B8,0xF6B9,0xF6BA,0xC8A3,0xF6BB,0xFD88,0xFD89,0xFD8A,
+0xFD8B,0xFD8C,0xFD8D,0xFD8E,0xFD8F,0xFD90,0xFD91,0xFD92,
+0xFD93,0xC1FA,0xB9A8,0xEDE8,0xFD94,0xFD95,0xFD96,0xB9EA,
+0xD9DF,0xFD97,0xFD98,0xFD99,0xFD9A,0xFD9B};
+
+/* page 7 0xF92C-0xFA29 */
+static uint16 tab_uni_gbk7[]={
+0xFD9C, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xFD9D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xFD9E, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xFD9F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xFDA0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xFE40,0xFE41,0xFE42,0xFE43, 0,0xFE44, 0,0xFE45,
+0xFE46, 0, 0, 0,0xFE47, 0, 0, 0,
+ 0, 0, 0,0xFE48,0xFE49,0xFE4A, 0,0xFE4B,
+0xFE4C, 0, 0,0xFE4D,0xFE4E,0xFE4F};
+
+/* page 8 0xFE30-0xFFE5 */
+static uint16 tab_uni_gbk8[]={
+0xA955,0xA6F2, 0,0xA6F4,0xA6F5,0xA6E0,0xA6E1,0xA6F0,
+0xA6F1,0xA6E2,0xA6E3,0xA6EE,0xA6EF,0xA6E6,0xA6E7,0xA6E4,
+0xA6E5,0xA6E8,0xA6E9,0xA6EA,0xA6EB, 0, 0, 0,
+ 0,0xA968,0xA969,0xA96A,0xA96B,0xA96C,0xA96D,0xA96E,
+0xA96F,0xA970,0xA971, 0,0xA972,0xA973,0xA974,0xA975,
+ 0,0xA976,0xA977,0xA978,0xA979,0xA97A,0xA97B,0xA97C,
+0xA97D,0xA97E,0xA980,0xA981,0xA982,0xA983,0xA984, 0,
+0xA985,0xA986,0xA987,0xA988, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xA3A1,0xA3A2,0xA3A3,0xA1E7,0xA3A5,0xA3A6,0xA3A7,
+0xA3A8,0xA3A9,0xA3AA,0xA3AB,0xA3AC,0xA3AD,0xA3AE,0xA3AF,
+0xA3B0,0xA3B1,0xA3B2,0xA3B3,0xA3B4,0xA3B5,0xA3B6,0xA3B7,
+0xA3B8,0xA3B9,0xA3BA,0xA3BB,0xA3BC,0xA3BD,0xA3BE,0xA3BF,
+0xA3C0,0xA3C1,0xA3C2,0xA3C3,0xA3C4,0xA3C5,0xA3C6,0xA3C7,
+0xA3C8,0xA3C9,0xA3CA,0xA3CB,0xA3CC,0xA3CD,0xA3CE,0xA3CF,
+0xA3D0,0xA3D1,0xA3D2,0xA3D3,0xA3D4,0xA3D5,0xA3D6,0xA3D7,
+0xA3D8,0xA3D9,0xA3DA,0xA3DB,0xA3DC,0xA3DD,0xA3DE,0xA3DF,
+0xA3E0,0xA3E1,0xA3E2,0xA3E3,0xA3E4,0xA3E5,0xA3E6,0xA3E7,
+0xA3E8,0xA3E9,0xA3EA,0xA3EB,0xA3EC,0xA3ED,0xA3EE,0xA3EF,
+0xA3F0,0xA3F1,0xA3F2,0xA3F3,0xA3F4,0xA3F5,0xA3F6,0xA3F7,
+0xA3F8,0xA3F9,0xA3FA,0xA3FB,0xA3FC,0xA3FD,0xA1AB, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xA1E9,0xA1EA,0xA956,0xA3FE,0xA957,0xA3A4};
+
+static int func_uni_gbk_onechar(int code){
+ if ((code>=0x00A4)&&(code<=0x0451))
+ return(tab_uni_gbk0[code-0x00A4]);
+ if ((code>=0x2010)&&(code<=0x2312))
+ return(tab_uni_gbk1[code-0x2010]);
+ if ((code>=0x2460)&&(code<=0x2642))
+ return(tab_uni_gbk2[code-0x2460]);
+ if ((code>=0x3000)&&(code<=0x3129))
+ return(tab_uni_gbk3[code-0x3000]);
+ if ((code>=0x3220)&&(code<=0x32A3))
+ return(tab_uni_gbk4[code-0x3220]);
+ if ((code>=0x338E)&&(code<=0x33D5))
+ return(tab_uni_gbk5[code-0x338E]);
+ if ((code>=0x4E00)&&(code<=0x9FA5))
+ return(tab_uni_gbk6[code-0x4E00]);
+ if ((code>=0xF92C)&&(code<=0xFA29))
+ return(tab_uni_gbk7[code-0xF92C]);
+ if ((code>=0xFE30)&&(code<=0xFFE5))
+ return(tab_uni_gbk8[code-0xFE30]);
+ return(0);
+}
+
+int
+my_wc_mb_gbk(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t wc, uchar *s, uchar *e)
+{
+ int code;
+
+ if (wc<0x80)
+ {
+ s[0]=wc;
+ return 1;
+ }
+
+ if (!(code=func_uni_gbk_onechar(wc)))
+ return MY_CS_ILUNI;
+
+ if (s+2>e)
+ return MY_CS_TOOSMALL;
+
+ s[0]=code>>8;
+ s[1]=code&0xFF;
+ return 2;
+}
+
+int
+my_mb_wc_gbk(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t *pwc, const uchar *s, const uchar *e)
+{
+ int hi;
+
+ hi=s[0];
+
+ if (hi<0x80)
+ {
+ pwc[0]=hi;
+ return 1;
+ }
+
+ if (s+2>e)
+ return MY_CS_TOOFEW(0);
+
+ if (!(pwc[0]=func_gbk_uni_onechar( (hi<<8) + s[1])))
+ return MY_CS_ILSEQ;
+
+ return 2;
+
+}
+
+#endif
diff --git a/strings/ctype-latin1_de.c b/strings/ctype-latin1_de.c
index 86b667b8f40..acaa668b24e 100644
--- a/strings/ctype-latin1_de.c
+++ b/strings/ctype-latin1_de.c
@@ -36,6 +36,8 @@
#include "m_string.h"
#include "m_ctype.h"
+#ifdef HAVE_CHARSET_latin1_de
+
uchar ctype_latin1_de[] = {
0,
32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
@@ -162,8 +164,9 @@ uchar sort_order_latin1_de[] = {
}
-int my_strnncoll_latin1_de(const uchar * s1, int len1,
- const uchar * s2, int len2)
+int my_strnncoll_latin1_de(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar * s1, uint len1,
+ const uchar * s2, uint len2)
{
const uchar *e1 = s1 + len1;
const uchar *e2 = s2 + len2;
@@ -235,7 +238,9 @@ int my_strnncoll_latin1_de(const uchar * s1, int len1,
}
-int my_strnxfrm_latin1_de(uchar * dest, const uchar * src, int len, int srclen)
+int my_strnxfrm_latin1_de(CHARSET_INFO *cs __attribute__((unused)),
+ uchar * dest, uint len,
+ const uchar * src, uint srclen)
{
const uchar *dest_orig = dest;
const uchar *de = dest + len;
@@ -274,19 +279,6 @@ int my_strnxfrm_latin1_de(uchar * dest, const uchar * src, int len, int srclen)
}
-int my_strcoll_latin1_de(const uchar * s1, const uchar * s2)
-{
- /* XXX QQ: This should be fixed to not call strlen */
- return my_strnncoll_latin1_de(s1, strlen((char*) s1),
- s2, strlen((char*) s2));
-}
-
-int my_strxfrm_latin1_de(uchar * dest, const uchar * src, int len)
-{
- /* XXX QQ: This should be fixed to not call strlen */
- return my_strnxfrm_latin1_de(dest, src, len, strlen((char*) src));
-}
-
/*
* Calculate min_str and max_str that ranges a LIKE string.
* Arguments:
@@ -311,7 +303,8 @@ int my_strxfrm_latin1_de(uchar * dest, const uchar * src, int len)
#define wild_one '_'
#define wild_many '%'
-my_bool my_like_range_latin1_de(const char *ptr, uint ptr_length,
+my_bool my_like_range_latin1_de(CHARSET_INFO *cs __attribute__((unused)),
+ const char *ptr, uint ptr_length,
pchar escape, uint res_length,
char *min_str, char *max_str,
uint *min_length, uint *max_length)
@@ -359,3 +352,5 @@ my_bool my_like_range_latin1_de(const char *ptr, uint ptr_length,
*min_str++ = *max_str++ = ' '; // Because if key compression
return 0;
}
+
+#endif
diff --git a/strings/ctype-mb.c b/strings/ctype-mb.c
new file mode 100644
index 00000000000..d328ebb7a36
--- /dev/null
+++ b/strings/ctype-mb.c
@@ -0,0 +1,129 @@
+/* Copyright (C) 2000 MySQL AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#include <my_global.h>
+#include "m_ctype.h"
+
+#ifdef USE_MB
+
+
+void my_caseup_str_mb(CHARSET_INFO * cs, char *str)
+{
+ register uint32 l;
+ register char *end=str+strlen(str); /* BAR TODO: remove strlen() call */
+ while (*str)
+ {
+ if ((l=my_ismbchar(cs, str,end)))
+ str+=l;
+ else
+ {
+ *str=(char)my_toupper(cs,(uchar)*str);
+ str++;
+ }
+ }
+}
+
+void my_casedn_str_mb(CHARSET_INFO * cs, char *str)
+{
+ register uint32 l;
+ register char *end=str+strlen(str);
+ while (*str)
+ {
+ if ((l=my_ismbchar(cs, str,end)))
+ str+=l;
+ else
+ {
+ *str=(char)my_tolower(cs,(uchar)*str);
+ str++;
+ }
+ }
+}
+
+void my_caseup_mb(CHARSET_INFO * cs, char *str, uint length)
+{
+ register uint32 l;
+ register char *end=str+length;
+ while (str<end)
+ {
+ if ((l=my_ismbchar(cs, str,end)))
+ str+=l;
+ else
+ {
+ *str=(char)my_toupper(cs,(uchar)*str);
+ str++;
+ }
+ }
+}
+
+void my_casedn_mb(CHARSET_INFO * cs, char *str, uint length)
+{
+ register uint32 l;
+ register char *end=str+length;
+ while (str<end)
+ {
+ if ((l=my_ismbchar(cs, str,end)))
+ str+=l;
+ else
+ {
+ *str=(char)my_tolower(cs,(uchar)*str);
+ str++;
+ }
+ }
+}
+
+int my_strcasecmp_mb(CHARSET_INFO * cs,const char *s, const char *t)
+{
+ register uint32 l;
+ register const char *end=s+strlen(s);
+ while (s<end)
+ {
+ if ((l=my_ismbchar(cs, s,end)))
+ {
+ while (l--)
+ if (*s++ != *t++)
+ return 1;
+ }
+ else if (my_ismbhead(cs, *t))
+ return 1;
+ else if (my_toupper(cs,(uchar) *s++) != my_toupper(cs,(uchar) *t++))
+ return 1;
+ }
+ return *t;
+}
+
+
+int my_strncasecmp_mb(CHARSET_INFO * cs,
+ const char *s, const char *t, uint len)
+{
+ register uint32 l;
+ register const char *end=s+len;
+ while (s<end)
+ {
+ if ((l=my_ismbchar(cs, s,end)))
+ {
+ while (l--)
+ if (*s++ != *t++)
+ return 1;
+ }
+ else if (my_ismbhead(cs, *t))
+ return 1;
+ else if (my_toupper(cs,(uchar) *s++) != my_toupper(cs,(uchar) *t++))
+ return 1;
+ }
+ return 0;
+}
+
+#endif
diff --git a/strings/ctype-simple.c b/strings/ctype-simple.c
new file mode 100644
index 00000000000..52c66f0ad4e
--- /dev/null
+++ b/strings/ctype-simple.c
@@ -0,0 +1,110 @@
+/* Copyright (C) 2000 MySQL AB
+
+ 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 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#include <my_global.h>
+#include "m_ctype.h"
+#include "dbug.h"
+#include "assert.h"
+
+int my_strnxfrm_simple(CHARSET_INFO * cs,
+ char *dest, uint len,
+ const char *src, uint srclen)
+{
+ DBUG_ASSERT(len >= srclen);
+
+ for ( ; len > 0 ; len-- )
+ *dest++= (char) cs->sort_order[(uchar) *src++];
+ return srclen;
+}
+
+int my_strnncoll_simple(CHARSET_INFO * cs,const char *s, uint slen,
+ const char *t, uint tlen)
+{
+ int len = ( slen > tlen ) ? tlen : slen;
+ while (len--)
+ {
+ if (cs->sort_order[(uchar) *s++] != cs->sort_order[(uchar) *t++])
+ return ((int) cs->sort_order[(uchar) s[-1]] -
+ (int) cs->sort_order[(uchar) t[-1]]);
+ }
+ return (int) (slen-tlen);
+}
+
+
+void my_caseup_str_8bit(CHARSET_INFO * cs,char *str)
+{
+ while ((*str = (char) my_toupper(cs,(uchar) *str)) != 0)
+ str++;
+}
+
+
+void my_casedn_str_8bit(CHARSET_INFO * cs,char *str)
+{
+ while ((*str = (char) my_tolower(cs,(uchar)*str)) != 0)
+ str++;
+}
+
+
+void my_caseup_8bit(CHARSET_INFO * cs, char *str, uint length)
+{
+ for ( ; length>0 ; length--, str++)
+ *str= (char) my_toupper(cs,(uchar)*str);
+}
+
+void my_casedn_8bit(CHARSET_INFO * cs, char *str, uint length)
+{
+ for ( ; length>0 ; length--, str++)
+ *str= (char)my_tolower(cs,(uchar) *str);
+}
+
+
+int my_strcasecmp_8bit(CHARSET_INFO * cs,const char *s, const char *t)
+{
+ while (my_toupper(cs,(uchar) *s) == my_toupper(cs,(uchar) *t++))
+ if (!*s++) return 0;
+ return ((int) my_toupper(cs,(uchar) s[0]) - (int) my_toupper(cs,(uchar) t[-1]));
+}
+
+
+int my_strncasecmp_8bit(CHARSET_INFO * cs,
+ const char *s, const char *t, uint len)
+{
+ while (len-- != 0 && my_toupper(cs,(uchar)*s++) == my_toupper(cs,(uchar)*t++)) ;
+ return (int) len+1;
+}
+
+int my_mb_wc_8bit(CHARSET_INFO *cs,my_wc_t *wc,
+ const unsigned char *str,
+ const unsigned char *end __attribute__((unused)))
+{
+ *wc=cs->tab_to_uni[*str];
+ return (!wc[0] && str[0]) ? MY_CS_ILSEQ : 1;
+}
+
+int my_wc_mb_8bit(CHARSET_INFO *cs,my_wc_t wc,
+ unsigned char *s,
+ unsigned char *e __attribute__((unused)))
+{
+ MY_UNI_IDX *idx;
+
+ for(idx=cs->tab_from_uni; idx->tab ; idx++){
+ if(idx->from<=wc && idx->to>=wc){
+ s[0]=idx->tab[wc-idx->from];
+ return (!s[0] && wc) ? MY_CS_ILUNI : 1;
+ }
+ }
+ return MY_CS_ILUNI;
+}
diff --git a/strings/ctype-sjis.c b/strings/ctype-sjis.c
index 5d5f64cc5fe..e8c3890abc9 100644
--- a/strings/ctype-sjis.c
+++ b/strings/ctype-sjis.c
@@ -21,6 +21,9 @@
#include "m_string.h"
#include "m_ctype.h"
+#ifdef HAVE_CHARSET_sjis
+
+
/*
* This comment is parsed by configure to create ctype.c,
* so don't change it unless you know what you are doing.
@@ -180,17 +183,18 @@ uchar NEAR sort_order_sjis[]=
(0x80<=(c) && (c)<=0xfc))
-int ismbchar_sjis(const char* p, const char *e)
+int ismbchar_sjis(CHARSET_INFO *cs __attribute__((unused)),
+ const char* p, const char *e)
{
return (issjishead((uchar) *p) && (e-p)>1 && issjistail((uchar)p[1]) ? 2: 0);
}
-my_bool ismbhead_sjis(uint c)
+my_bool ismbhead_sjis(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return issjishead((uchar) c);
}
-int mbcharlen_sjis(uint c)
+int mbcharlen_sjis(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (issjishead((uchar) c) ? 2: 0);
}
@@ -198,13 +202,15 @@ int mbcharlen_sjis(uint c)
#define sjiscode(c,d) ((((uint) (uchar)(c)) << 8) | (uint) (uchar) (d))
-int my_strnncoll_sjis(const uchar *s1, int len1, const uchar *s2, int len2)
+int my_strnncoll_sjis(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar *s1, uint len1,
+ const uchar *s2, uint len2)
{
const uchar *e1 = s1 + len1;
const uchar *e2 = s2 + len2;
while (s1 < e1 && s2 < e2) {
- if (ismbchar_sjis((char*) s1, (char*) e1) &&
- ismbchar_sjis((char*) s2, (char*) e2)) {
+ if (ismbchar_sjis(cs,(char*) s1, (char*) e1) &&
+ ismbchar_sjis(cs,(char*) s2, (char*) e2)) {
uint c1 = sjiscode(*s1, *(s1+1));
uint c2 = sjiscode(*s2, *(s2+1));
if (c1 != c2)
@@ -221,18 +227,14 @@ int my_strnncoll_sjis(const uchar *s1, int len1, const uchar *s2, int len2)
return len1 - len2;
}
-int my_strcoll_sjis(const uchar *s1, const uchar *s2)
-{
- return (uint) my_strnncoll_sjis(s1,(uint) strlen((char*) s1),
- s2,(uint) strlen((char*) s2));
-}
-
-int my_strnxfrm_sjis(uchar *dest, const uchar *src, int len, int srclen)
+int my_strnxfrm_sjis(CHARSET_INFO *cs __attribute__((unused)),
+ uchar *dest, uint len,
+ const uchar *src, uint srclen)
{
uchar *d_end = dest + len;
uchar *s_end = (uchar*) src + srclen;
while (dest < d_end && src < s_end) {
- if (ismbchar_sjis((char*) src, (char*) s_end)) {
+ if (ismbchar_sjis(cs,(char*) src, (char*) s_end)) {
*dest++ = *src++;
if (dest < d_end && src < s_end)
*dest++ = *src++;
@@ -243,12 +245,6 @@ int my_strnxfrm_sjis(uchar *dest, const uchar *src, int len, int srclen)
return srclen;
}
-int my_strxfrm_sjis(uchar *dest, const uchar *src, int len)
-{
- return my_strnxfrm_sjis(dest, src, len, (uint) strlen((char*) src));
-}
-
-
/*
** Calculate min_str and max_str that ranges a LIKE string.
** Arguments:
@@ -270,16 +266,17 @@ int my_strxfrm_sjis(uchar *dest, const uchar *src, int len)
#define wild_one '_'
#define wild_many '%'
-my_bool my_like_range_sjis(const char *ptr,uint ptr_length,pchar escape,
- uint res_length, char *min_str,char *max_str,
- uint *min_length,uint *max_length)
+my_bool my_like_range_sjis(CHARSET_INFO *cs __attribute__((unused)),
+ const char *ptr,uint ptr_length,pchar escape,
+ uint res_length, char *min_str,char *max_str,
+ uint *min_length,uint *max_length)
{
const char *end=ptr+ptr_length;
char *min_org=min_str;
char *min_end=min_str+res_length;
while (ptr < end && min_str < min_end) {
- if (ismbchar_sjis(ptr, end)) {
+ if (ismbchar_sjis(cs, ptr, end)) {
*min_str++ = *max_str++ = *ptr++;
if (min_str < min_end)
*min_str++ = *max_str++ = *ptr++;
@@ -287,7 +284,7 @@ my_bool my_like_range_sjis(const char *ptr,uint ptr_length,pchar escape,
}
if (*ptr == escape && ptr+1 < end) {
ptr++; /* Skip escape */
- if (ismbchar_sjis(ptr, end))
+ if (ismbchar_sjis(cs, ptr, end))
*min_str++ = *max_str++ = *ptr++;
if (min_str < min_end)
*min_str++ = *max_str++ = *ptr++;
@@ -315,3 +312,4151 @@ my_bool my_like_range_sjis(const char *ptr,uint ptr_length,pchar escape,
*min_str++ = *max_str++ = ' '; /* Because if key compression */
return 0;
}
+
+/* page 0 0x00A1-0x00DF */
+static uint16 tab_sjis_uni0[]={
+0xFF61,0xFF62,0xFF63,0xFF64,0xFF65,0xFF66,0xFF67,0xFF68,
+0xFF69,0xFF6A,0xFF6B,0xFF6C,0xFF6D,0xFF6E,0xFF6F,0xFF70,
+0xFF71,0xFF72,0xFF73,0xFF74,0xFF75,0xFF76,0xFF77,0xFF78,
+0xFF79,0xFF7A,0xFF7B,0xFF7C,0xFF7D,0xFF7E,0xFF7F,0xFF80,
+0xFF81,0xFF82,0xFF83,0xFF84,0xFF85,0xFF86,0xFF87,0xFF88,
+0xFF89,0xFF8A,0xFF8B,0xFF8C,0xFF8D,0xFF8E,0xFF8F,0xFF90,
+0xFF91,0xFF92,0xFF93,0xFF94,0xFF95,0xFF96,0xFF97,0xFF98,
+0xFF99,0xFF9A,0xFF9B,0xFF9C,0xFF9D,0xFF9E,0xFF9F};
+
+/* page 1 0x8140-0x84BE */
+static uint16 tab_sjis_uni1[]={
+0x3000,0x3001,0x3002,0xFF0C,0xFF0E,0x30FB,0xFF1A,0xFF1B,
+0xFF1F,0xFF01,0x309B,0x309C,0x00B4,0xFF40,0x00A8,0xFF3E,
+0xFFE3,0xFF3F,0x30FD,0x30FE,0x309D,0x309E,0x3003,0x4EDD,
+0x3005,0x3006,0x3007,0x30FC,0x2015,0x2010,0xFF0F,0x005C,
+0x301C,0x2016,0xFF5C,0x2026,0x2025,0x2018,0x2019,0x201C,
+0x201D,0xFF08,0xFF09,0x3014,0x3015,0xFF3B,0xFF3D,0xFF5B,
+0xFF5D,0x3008,0x3009,0x300A,0x300B,0x300C,0x300D,0x300E,
+0x300F,0x3010,0x3011,0xFF0B,0x2212,0x00B1,0x00D7, 0,
+0x00F7,0xFF1D,0x2260,0xFF1C,0xFF1E,0x2266,0x2267,0x221E,
+0x2234,0x2642,0x2640,0x00B0,0x2032,0x2033,0x2103,0xFFE5,
+0xFF04,0x00A2,0x00A3,0xFF05,0xFF03,0xFF06,0xFF0A,0xFF20,
+0x00A7,0x2606,0x2605,0x25CB,0x25CF,0x25CE,0x25C7,0x25C6,
+0x25A1,0x25A0,0x25B3,0x25B2,0x25BD,0x25BC,0x203B,0x3012,
+0x2192,0x2190,0x2191,0x2193,0x3013, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x2208,0x220B,0x2286,0x2287,0x2282,0x2283,0x222A,0x2229,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x2227,0x2228,0x00AC,0x21D2,0x21D4,0x2200,0x2203, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x2220,0x22A5,0x2312,0x2202,0x2207,0x2261,
+0x2252,0x226A,0x226B,0x221A,0x223D,0x221D,0x2235,0x222B,
+0x222C, 0, 0, 0, 0, 0, 0, 0,
+0x212B,0x2030,0x266F,0x266D,0x266A,0x2020,0x2021,0x00B6,
+ 0, 0, 0, 0,0x25EF, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xFF10,
+0xFF11,0xFF12,0xFF13,0xFF14,0xFF15,0xFF16,0xFF17,0xFF18,
+0xFF19, 0, 0, 0, 0, 0, 0, 0,
+0xFF21,0xFF22,0xFF23,0xFF24,0xFF25,0xFF26,0xFF27,0xFF28,
+0xFF29,0xFF2A,0xFF2B,0xFF2C,0xFF2D,0xFF2E,0xFF2F,0xFF30,
+0xFF31,0xFF32,0xFF33,0xFF34,0xFF35,0xFF36,0xFF37,0xFF38,
+0xFF39,0xFF3A, 0, 0, 0, 0, 0, 0,
+ 0,0xFF41,0xFF42,0xFF43,0xFF44,0xFF45,0xFF46,0xFF47,
+0xFF48,0xFF49,0xFF4A,0xFF4B,0xFF4C,0xFF4D,0xFF4E,0xFF4F,
+0xFF50,0xFF51,0xFF52,0xFF53,0xFF54,0xFF55,0xFF56,0xFF57,
+0xFF58,0xFF59,0xFF5A, 0, 0, 0, 0,0x3041,
+0x3042,0x3043,0x3044,0x3045,0x3046,0x3047,0x3048,0x3049,
+0x304A,0x304B,0x304C,0x304D,0x304E,0x304F,0x3050,0x3051,
+0x3052,0x3053,0x3054,0x3055,0x3056,0x3057,0x3058,0x3059,
+0x305A,0x305B,0x305C,0x305D,0x305E,0x305F,0x3060,0x3061,
+0x3062,0x3063,0x3064,0x3065,0x3066,0x3067,0x3068,0x3069,
+0x306A,0x306B,0x306C,0x306D,0x306E,0x306F,0x3070,0x3071,
+0x3072,0x3073,0x3074,0x3075,0x3076,0x3077,0x3078,0x3079,
+0x307A,0x307B,0x307C,0x307D,0x307E,0x307F,0x3080,0x3081,
+0x3082,0x3083,0x3084,0x3085,0x3086,0x3087,0x3088,0x3089,
+0x308A,0x308B,0x308C,0x308D,0x308E,0x308F,0x3090,0x3091,
+0x3092,0x3093, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x30A1,0x30A2,0x30A3,0x30A4,0x30A5,0x30A6,0x30A7,0x30A8,
+0x30A9,0x30AA,0x30AB,0x30AC,0x30AD,0x30AE,0x30AF,0x30B0,
+0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,0x30B8,
+0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,0x30C0,
+0x30C1,0x30C2,0x30C3,0x30C4,0x30C5,0x30C6,0x30C7,0x30C8,
+0x30C9,0x30CA,0x30CB,0x30CC,0x30CD,0x30CE,0x30CF,0x30D0,
+0x30D1,0x30D2,0x30D3,0x30D4,0x30D5,0x30D6,0x30D7,0x30D8,
+0x30D9,0x30DA,0x30DB,0x30DC,0x30DD,0x30DE,0x30DF, 0,
+0x30E0,0x30E1,0x30E2,0x30E3,0x30E4,0x30E5,0x30E6,0x30E7,
+0x30E8,0x30E9,0x30EA,0x30EB,0x30EC,0x30ED,0x30EE,0x30EF,
+0x30F0,0x30F1,0x30F2,0x30F3,0x30F4,0x30F5,0x30F6, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x0391,
+0x0392,0x0393,0x0394,0x0395,0x0396,0x0397,0x0398,0x0399,
+0x039A,0x039B,0x039C,0x039D,0x039E,0x039F,0x03A0,0x03A1,
+0x03A3,0x03A4,0x03A5,0x03A6,0x03A7,0x03A8,0x03A9, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x03B1,
+0x03B2,0x03B3,0x03B4,0x03B5,0x03B6,0x03B7,0x03B8,0x03B9,
+0x03BA,0x03BB,0x03BC,0x03BD,0x03BE,0x03BF,0x03C0,0x03C1,
+0x03C3,0x03C4,0x03C5,0x03C6,0x03C7,0x03C8,0x03C9, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0401,0x0416,
+0x0417,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
+0x041F,0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,
+0x0427,0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,
+0x042F, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0451,0x0436,
+0x0437,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D, 0,
+0x043E,0x043F,0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,
+0x0446,0x0447,0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,
+0x044E,0x044F, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x2500,
+0x2502,0x250C,0x2510,0x2518,0x2514,0x251C,0x252C,0x2524,
+0x2534,0x253C,0x2501,0x2503,0x250F,0x2513,0x251B,0x2517,
+0x2523,0x2533,0x252B,0x253B,0x254B,0x2520,0x252F,0x2528,
+0x2537,0x253F,0x251D,0x2530,0x2525,0x2538,0x2542};
+
+/* page 2 0x889F-0x9FFC */
+static uint16 tab_sjis_uni2[]={
+0x4E9C,0x5516,0x5A03,0x963F,0x54C0,0x611B,0x6328,0x59F6,
+0x9022,0x8475,0x831C,0x7A50,0x60AA,0x63E1,0x6E25,0x65ED,
+0x8466,0x82A6,0x9BF5,0x6893,0x5727,0x65A1,0x6271,0x5B9B,
+0x59D0,0x867B,0x98F4,0x7D62,0x7DBE,0x9B8E,0x6216,0x7C9F,
+0x88B7,0x5B89,0x5EB5,0x6309,0x6697,0x6848,0x95C7,0x978D,
+0x674F,0x4EE5,0x4F0A,0x4F4D,0x4F9D,0x5049,0x56F2,0x5937,
+0x59D4,0x5A01,0x5C09,0x60DF,0x610F,0x6170,0x6613,0x6905,
+0x70BA,0x754F,0x7570,0x79FB,0x7DAD,0x7DEF,0x80C3,0x840E,
+0x8863,0x8B02,0x9055,0x907A,0x533B,0x4E95,0x4EA5,0x57DF,
+0x80B2,0x90C1,0x78EF,0x4E00,0x58F1,0x6EA2,0x9038,0x7A32,
+0x8328,0x828B,0x9C2F,0x5141,0x5370,0x54BD,0x54E1,0x56E0,
+0x59FB,0x5F15,0x98F2,0x6DEB,0x80E4,0x852D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9662,0x9670,0x96A0,0x97FB,0x540B,0x53F3,0x5B87,
+0x70CF,0x7FBD,0x8FC2,0x96E8,0x536F,0x9D5C,0x7ABA,0x4E11,
+0x7893,0x81FC,0x6E26,0x5618,0x5504,0x6B1D,0x851A,0x9C3B,
+0x59E5,0x53A9,0x6D66,0x74DC,0x958F,0x5642,0x4E91,0x904B,
+0x96F2,0x834F,0x990C,0x53E1,0x55B6,0x5B30,0x5F71,0x6620,
+0x66F3,0x6804,0x6C38,0x6CF3,0x6D29,0x745B,0x76C8,0x7A4E,
+0x9834,0x82F1,0x885B,0x8A60,0x92ED,0x6DB2,0x75AB,0x76CA,
+0x99C5,0x60A6,0x8B01,0x8D8A,0x95B2,0x698E,0x53AD,0x5186,
+ 0,0x5712,0x5830,0x5944,0x5BB4,0x5EF6,0x6028,0x63A9,
+0x63F4,0x6CBF,0x6F14,0x708E,0x7114,0x7159,0x71D5,0x733F,
+0x7E01,0x8276,0x82D1,0x8597,0x9060,0x925B,0x9D1B,0x5869,
+0x65BC,0x6C5A,0x7525,0x51F9,0x592E,0x5965,0x5F80,0x5FDC,
+0x62BC,0x65FA,0x6A2A,0x6B27,0x6BB4,0x738B,0x7FC1,0x8956,
+0x9D2C,0x9D0E,0x9EC4,0x5CA1,0x6C96,0x837B,0x5104,0x5C4B,
+0x61B6,0x81C6,0x6876,0x7261,0x4E59,0x4FFA,0x5378,0x6069,
+0x6E29,0x7A4F,0x97F3,0x4E0B,0x5316,0x4EEE,0x4F55,0x4F3D,
+0x4FA1,0x4F73,0x52A0,0x53EF,0x5609,0x590F,0x5AC1,0x5BB6,
+0x5BE1,0x79D1,0x6687,0x679C,0x67B6,0x6B4C,0x6CB3,0x706B,
+0x73C2,0x798D,0x79BE,0x7A3C,0x7B87,0x82B1,0x82DB,0x8304,
+0x8377,0x83EF,0x83D3,0x8766,0x8AB2,0x5629,0x8CA8,0x8FE6,
+0x904E,0x971E,0x868A,0x4FC4,0x5CE8,0x6211,0x7259,0x753B,
+0x81E5,0x82BD,0x86FE,0x8CC0,0x96C5,0x9913,0x99D5,0x4ECB,
+0x4F1A,0x89E3,0x56DE,0x584A,0x58CA,0x5EFB,0x5FEB,0x602A,
+0x6094,0x6062,0x61D0,0x6212,0x62D0,0x6539, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9B41,0x6666,0x68B0,0x6D77,0x7070,0x754C,0x7686,
+0x7D75,0x82A5,0x87F9,0x958B,0x968E,0x8C9D,0x51F1,0x52BE,
+0x5916,0x54B3,0x5BB3,0x5D16,0x6168,0x6982,0x6DAF,0x788D,
+0x84CB,0x8857,0x8A72,0x93A7,0x9AB8,0x6D6C,0x99A8,0x86D9,
+0x57A3,0x67FF,0x86CE,0x920E,0x5283,0x5687,0x5404,0x5ED3,
+0x62E1,0x64B9,0x683C,0x6838,0x6BBB,0x7372,0x78BA,0x7A6B,
+0x899A,0x89D2,0x8D6B,0x8F03,0x90ED,0x95A3,0x9694,0x9769,
+0x5B66,0x5CB3,0x697D,0x984D,0x984E,0x639B,0x7B20,0x6A2B,
+ 0,0x6A7F,0x68B6,0x9C0D,0x6F5F,0x5272,0x559D,0x6070,
+0x62EC,0x6D3B,0x6E07,0x6ED1,0x845B,0x8910,0x8F44,0x4E14,
+0x9C39,0x53F6,0x691B,0x6A3A,0x9784,0x682A,0x515C,0x7AC3,
+0x84B2,0x91DC,0x938C,0x565B,0x9D28,0x6822,0x8305,0x8431,
+0x7CA5,0x5208,0x82C5,0x74E6,0x4E7E,0x4F83,0x51A0,0x5BD2,
+0x520A,0x52D8,0x52E7,0x5DFB,0x559A,0x582A,0x59E6,0x5B8C,
+0x5B98,0x5BDB,0x5E72,0x5E79,0x60A3,0x611F,0x6163,0x61BE,
+0x63DB,0x6562,0x67D1,0x6853,0x68FA,0x6B3E,0x6B53,0x6C57,
+0x6F22,0x6F97,0x6F45,0x74B0,0x7518,0x76E3,0x770B,0x7AFF,
+0x7BA1,0x7C21,0x7DE9,0x7F36,0x7FF0,0x809D,0x8266,0x839E,
+0x89B3,0x8ACC,0x8CAB,0x9084,0x9451,0x9593,0x9591,0x95A2,
+0x9665,0x97D3,0x9928,0x8218,0x4E38,0x542B,0x5CB8,0x5DCC,
+0x73A9,0x764C,0x773C,0x5CA9,0x7FEB,0x8D0B,0x96C1,0x9811,
+0x9854,0x9858,0x4F01,0x4F0E,0x5371,0x559C,0x5668,0x57FA,
+0x5947,0x5B09,0x5BC4,0x5C90,0x5E0C,0x5E7E,0x5FCC,0x63EE,
+0x673A,0x65D7,0x65E2,0x671F,0x68CB,0x68C4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6A5F,0x5E30,0x6BC5,0x6C17,0x6C7D,0x757F,0x7948,
+0x5B63,0x7A00,0x7D00,0x5FBD,0x898F,0x8A18,0x8CB4,0x8D77,
+0x8ECC,0x8F1D,0x98E2,0x9A0E,0x9B3C,0x4E80,0x507D,0x5100,
+0x5993,0x5B9C,0x622F,0x6280,0x64EC,0x6B3A,0x72A0,0x7591,
+0x7947,0x7FA9,0x87FB,0x8ABC,0x8B70,0x63AC,0x83CA,0x97A0,
+0x5409,0x5403,0x55AB,0x6854,0x6A58,0x8A70,0x7827,0x6775,
+0x9ECD,0x5374,0x5BA2,0x811A,0x8650,0x9006,0x4E18,0x4E45,
+0x4EC7,0x4F11,0x53CA,0x5438,0x5BAE,0x5F13,0x6025,0x6551,
+ 0,0x673D,0x6C42,0x6C72,0x6CE3,0x7078,0x7403,0x7A76,
+0x7AAE,0x7B08,0x7D1A,0x7CFE,0x7D66,0x65E7,0x725B,0x53BB,
+0x5C45,0x5DE8,0x62D2,0x62E0,0x6319,0x6E20,0x865A,0x8A31,
+0x8DDD,0x92F8,0x6F01,0x79A6,0x9B5A,0x4EA8,0x4EAB,0x4EAC,
+0x4F9B,0x4FA0,0x50D1,0x5147,0x7AF6,0x5171,0x51F6,0x5354,
+0x5321,0x537F,0x53EB,0x55AC,0x5883,0x5CE1,0x5F37,0x5F4A,
+0x602F,0x6050,0x606D,0x631F,0x6559,0x6A4B,0x6CC1,0x72C2,
+0x72ED,0x77EF,0x80F8,0x8105,0x8208,0x854E,0x90F7,0x93E1,
+0x97FF,0x9957,0x9A5A,0x4EF0,0x51DD,0x5C2D,0x6681,0x696D,
+0x5C40,0x66F2,0x6975,0x7389,0x6850,0x7C81,0x50C5,0x52E4,
+0x5747,0x5DFE,0x9326,0x65A4,0x6B23,0x6B3D,0x7434,0x7981,
+0x79BD,0x7B4B,0x7DCA,0x82B9,0x83CC,0x887F,0x895F,0x8B39,
+0x8FD1,0x91D1,0x541F,0x9280,0x4E5D,0x5036,0x53E5,0x533A,
+0x72D7,0x7396,0x77E9,0x82E6,0x8EAF,0x99C6,0x99C8,0x99D2,
+0x5177,0x611A,0x865E,0x55B0,0x7A7A,0x5076,0x5BD3,0x9047,
+0x9685,0x4E32,0x6ADB,0x91E7,0x5C51,0x5C48, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6398,0x7A9F,0x6C93,0x9774,0x8F61,0x7AAA,0x718A,
+0x9688,0x7C82,0x6817,0x7E70,0x6851,0x936C,0x52F2,0x541B,
+0x85AB,0x8A13,0x7FA4,0x8ECD,0x90E1,0x5366,0x8888,0x7941,
+0x4FC2,0x50BE,0x5211,0x5144,0x5553,0x572D,0x73EA,0x578B,
+0x5951,0x5F62,0x5F84,0x6075,0x6176,0x6167,0x61A9,0x63B2,
+0x643A,0x656C,0x666F,0x6842,0x6E13,0x7566,0x7A3D,0x7CFB,
+0x7D4C,0x7D99,0x7E4B,0x7F6B,0x830E,0x834A,0x86CD,0x8A08,
+0x8A63,0x8B66,0x8EFD,0x981A,0x9D8F,0x82B8,0x8FCE,0x9BE8,
+ 0,0x5287,0x621F,0x6483,0x6FC0,0x9699,0x6841,0x5091,
+0x6B20,0x6C7A,0x6F54,0x7A74,0x7D50,0x8840,0x8A23,0x6708,
+0x4EF6,0x5039,0x5026,0x5065,0x517C,0x5238,0x5263,0x55A7,
+0x570F,0x5805,0x5ACC,0x5EFA,0x61B2,0x61F8,0x62F3,0x6372,
+0x691C,0x6A29,0x727D,0x72AC,0x732E,0x7814,0x786F,0x7D79,
+0x770C,0x80A9,0x898B,0x8B19,0x8CE2,0x8ED2,0x9063,0x9375,
+0x967A,0x9855,0x9A13,0x9E78,0x5143,0x539F,0x53B3,0x5E7B,
+0x5F26,0x6E1B,0x6E90,0x7384,0x73FE,0x7D43,0x8237,0x8A00,
+0x8AFA,0x9650,0x4E4E,0x500B,0x53E4,0x547C,0x56FA,0x59D1,
+0x5B64,0x5DF1,0x5EAB,0x5F27,0x6238,0x6545,0x67AF,0x6E56,
+0x72D0,0x7CCA,0x88B4,0x80A1,0x80E1,0x83F0,0x864E,0x8A87,
+0x8DE8,0x9237,0x96C7,0x9867,0x9F13,0x4E94,0x4E92,0x4F0D,
+0x5348,0x5449,0x543E,0x5A2F,0x5F8C,0x5FA1,0x609F,0x68A7,
+0x6A8E,0x745A,0x7881,0x8A9E,0x8AA4,0x8B77,0x9190,0x4E5E,
+0x9BC9,0x4EA4,0x4F7C,0x4FAF,0x5019,0x5016,0x5149,0x516C,
+0x529F,0x52B9,0x52FE,0x539A,0x53E3,0x5411, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x540E,0x5589,0x5751,0x57A2,0x597D,0x5B54,0x5B5D,
+0x5B8F,0x5DE5,0x5DE7,0x5DF7,0x5E78,0x5E83,0x5E9A,0x5EB7,
+0x5F18,0x6052,0x614C,0x6297,0x62D8,0x63A7,0x653B,0x6602,
+0x6643,0x66F4,0x676D,0x6821,0x6897,0x69CB,0x6C5F,0x6D2A,
+0x6D69,0x6E2F,0x6E9D,0x7532,0x7687,0x786C,0x7A3F,0x7CE0,
+0x7D05,0x7D18,0x7D5E,0x7DB1,0x8015,0x8003,0x80AF,0x80B1,
+0x8154,0x818F,0x822A,0x8352,0x884C,0x8861,0x8B1B,0x8CA2,
+0x8CFC,0x90CA,0x9175,0x9271,0x783F,0x92FC,0x95A4,0x964D,
+ 0,0x9805,0x9999,0x9AD8,0x9D3B,0x525B,0x52AB,0x53F7,
+0x5408,0x58D5,0x62F7,0x6FE0,0x8C6A,0x8F5F,0x9EB9,0x514B,
+0x523B,0x544A,0x56FD,0x7A40,0x9177,0x9D60,0x9ED2,0x7344,
+0x6F09,0x8170,0x7511,0x5FFD,0x60DA,0x9AA8,0x72DB,0x8FBC,
+0x6B64,0x9803,0x4ECA,0x56F0,0x5764,0x58BE,0x5A5A,0x6068,
+0x61C7,0x660F,0x6606,0x6839,0x68B1,0x6DF7,0x75D5,0x7D3A,
+0x826E,0x9B42,0x4E9B,0x4F50,0x53C9,0x5506,0x5D6F,0x5DE6,
+0x5DEE,0x67FB,0x6C99,0x7473,0x7802,0x8A50,0x9396,0x88DF,
+0x5750,0x5EA7,0x632B,0x50B5,0x50AC,0x518D,0x6700,0x54C9,
+0x585E,0x59BB,0x5BB0,0x5F69,0x624D,0x63A1,0x683D,0x6B73,
+0x6E08,0x707D,0x91C7,0x7280,0x7815,0x7826,0x796D,0x658E,
+0x7D30,0x83DC,0x88C1,0x8F09,0x969B,0x5264,0x5728,0x6750,
+0x7F6A,0x8CA1,0x51B4,0x5742,0x962A,0x583A,0x698A,0x80B4,
+0x54B2,0x5D0E,0x57FC,0x7895,0x9DFA,0x4F5C,0x524A,0x548B,
+0x643E,0x6628,0x6714,0x67F5,0x7A84,0x7B56,0x7D22,0x932F,
+0x685C,0x9BAD,0x7B39,0x5319,0x518A,0x5237, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5BDF,0x62F6,0x64AE,0x64E6,0x672D,0x6BBA,0x85A9,
+0x96D1,0x7690,0x9BD6,0x634C,0x9306,0x9BAB,0x76BF,0x6652,
+0x4E09,0x5098,0x53C2,0x5C71,0x60E8,0x6492,0x6563,0x685F,
+0x71E6,0x73CA,0x7523,0x7B97,0x7E82,0x8695,0x8B83,0x8CDB,
+0x9178,0x9910,0x65AC,0x66AB,0x6B8B,0x4ED5,0x4ED4,0x4F3A,
+0x4F7F,0x523A,0x53F8,0x53F2,0x55E3,0x56DB,0x58EB,0x59CB,
+0x59C9,0x59FF,0x5B50,0x5C4D,0x5E02,0x5E2B,0x5FD7,0x601D,
+0x6307,0x652F,0x5B5C,0x65AF,0x65BD,0x65E8,0x679D,0x6B62,
+ 0,0x6B7B,0x6C0F,0x7345,0x7949,0x79C1,0x7CF8,0x7D19,
+0x7D2B,0x80A2,0x8102,0x81F3,0x8996,0x8A5E,0x8A69,0x8A66,
+0x8A8C,0x8AEE,0x8CC7,0x8CDC,0x96CC,0x98FC,0x6B6F,0x4E8B,
+0x4F3C,0x4F8D,0x5150,0x5B57,0x5BFA,0x6148,0x6301,0x6642,
+0x6B21,0x6ECB,0x6CBB,0x723E,0x74BD,0x75D4,0x78C1,0x793A,
+0x800C,0x8033,0x81EA,0x8494,0x8F9E,0x6C50,0x9E7F,0x5F0F,
+0x8B58,0x9D2B,0x7AFA,0x8EF8,0x5B8D,0x96EB,0x4E03,0x53F1,
+0x57F7,0x5931,0x5AC9,0x5BA4,0x6089,0x6E7F,0x6F06,0x75BE,
+0x8CEA,0x5B9F,0x8500,0x7BE0,0x5072,0x67F4,0x829D,0x5C61,
+0x854A,0x7E1E,0x820E,0x5199,0x5C04,0x6368,0x8D66,0x659C,
+0x716E,0x793E,0x7D17,0x8005,0x8B1D,0x8ECA,0x906E,0x86C7,
+0x90AA,0x501F,0x52FA,0x5C3A,0x6753,0x707C,0x7235,0x914C,
+0x91C8,0x932B,0x82E5,0x5BC2,0x5F31,0x60F9,0x4E3B,0x53D6,
+0x5B88,0x624B,0x6731,0x6B8A,0x72E9,0x73E0,0x7A2E,0x816B,
+0x8DA3,0x9152,0x9996,0x5112,0x53D7,0x546A,0x5BFF,0x6388,
+0x6A39,0x7DAC,0x9700,0x56DA,0x53CE,0x5468, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5B97,0x5C31,0x5DDE,0x4FEE,0x6101,0x62FE,0x6D32,
+0x79C0,0x79CB,0x7D42,0x7E4D,0x7FD2,0x81ED,0x821F,0x8490,
+0x8846,0x8972,0x8B90,0x8E74,0x8F2F,0x9031,0x914B,0x916C,
+0x96C6,0x919C,0x4EC0,0x4F4F,0x5145,0x5341,0x5F93,0x620E,
+0x67D4,0x6C41,0x6E0B,0x7363,0x7E26,0x91CD,0x9283,0x53D4,
+0x5919,0x5BBF,0x6DD1,0x795D,0x7E2E,0x7C9B,0x587E,0x719F,
+0x51FA,0x8853,0x8FF0,0x4FCA,0x5CFB,0x6625,0x77AC,0x7AE3,
+0x821C,0x99FF,0x51C6,0x5FAA,0x65EC,0x696F,0x6B89,0x6DF3,
+ 0,0x6E96,0x6F64,0x76FE,0x7D14,0x5DE1,0x9075,0x9187,
+0x9806,0x51E6,0x521D,0x6240,0x6691,0x66D9,0x6E1A,0x5EB6,
+0x7DD2,0x7F72,0x66F8,0x85AF,0x85F7,0x8AF8,0x52A9,0x53D9,
+0x5973,0x5E8F,0x5F90,0x6055,0x92E4,0x9664,0x50B7,0x511F,
+0x52DD,0x5320,0x5347,0x53EC,0x54E8,0x5546,0x5531,0x5617,
+0x5968,0x59BE,0x5A3C,0x5BB5,0x5C06,0x5C0F,0x5C11,0x5C1A,
+0x5E84,0x5E8A,0x5EE0,0x5F70,0x627F,0x6284,0x62DB,0x638C,
+0x6377,0x6607,0x660C,0x662D,0x6676,0x677E,0x68A2,0x6A1F,
+0x6A35,0x6CBC,0x6D88,0x6E09,0x6E58,0x713C,0x7126,0x7167,
+0x75C7,0x7701,0x785D,0x7901,0x7965,0x79F0,0x7AE0,0x7B11,
+0x7CA7,0x7D39,0x8096,0x83D6,0x848B,0x8549,0x885D,0x88F3,
+0x8A1F,0x8A3C,0x8A54,0x8A73,0x8C61,0x8CDE,0x91A4,0x9266,
+0x937E,0x9418,0x969C,0x9798,0x4E0A,0x4E08,0x4E1E,0x4E57,
+0x5197,0x5270,0x57CE,0x5834,0x58CC,0x5B22,0x5E38,0x60C5,
+0x64FE,0x6761,0x6756,0x6D44,0x72B6,0x7573,0x7A63,0x84B8,
+0x8B72,0x91B8,0x9320,0x5631,0x57F4,0x98FE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x62ED,0x690D,0x6B96,0x71ED,0x7E54,0x8077,0x8272,
+0x89E6,0x98DF,0x8755,0x8FB1,0x5C3B,0x4F38,0x4FE1,0x4FB5,
+0x5507,0x5A20,0x5BDD,0x5BE9,0x5FC3,0x614E,0x632F,0x65B0,
+0x664B,0x68EE,0x699B,0x6D78,0x6DF1,0x7533,0x75B9,0x771F,
+0x795E,0x79E6,0x7D33,0x81E3,0x82AF,0x85AA,0x89AA,0x8A3A,
+0x8EAB,0x8F9B,0x9032,0x91DD,0x9707,0x4EBA,0x4EC1,0x5203,
+0x5875,0x58EC,0x5C0B,0x751A,0x5C3D,0x814E,0x8A0A,0x8FC5,
+0x9663,0x976D,0x7B25,0x8ACF,0x9808,0x9162,0x56F3,0x53A8,
+ 0,0x9017,0x5439,0x5782,0x5E25,0x63A8,0x6C34,0x708A,
+0x7761,0x7C8B,0x7FE0,0x8870,0x9042,0x9154,0x9310,0x9318,
+0x968F,0x745E,0x9AC4,0x5D07,0x5D69,0x6570,0x67A2,0x8DA8,
+0x96DB,0x636E,0x6749,0x6919,0x83C5,0x9817,0x96C0,0x88FE,
+0x6F84,0x647A,0x5BF8,0x4E16,0x702C,0x755D,0x662F,0x51C4,
+0x5236,0x52E2,0x59D3,0x5F81,0x6027,0x6210,0x653F,0x6574,
+0x661F,0x6674,0x68F2,0x6816,0x6B63,0x6E05,0x7272,0x751F,
+0x76DB,0x7CBE,0x8056,0x58F0,0x88FD,0x897F,0x8AA0,0x8A93,
+0x8ACB,0x901D,0x9192,0x9752,0x9759,0x6589,0x7A0E,0x8106,
+0x96BB,0x5E2D,0x60DC,0x621A,0x65A5,0x6614,0x6790,0x77F3,
+0x7A4D,0x7C4D,0x7E3E,0x810A,0x8CAC,0x8D64,0x8DE1,0x8E5F,
+0x78A9,0x5207,0x62D9,0x63A5,0x6442,0x6298,0x8A2D,0x7A83,
+0x7BC0,0x8AAC,0x96EA,0x7D76,0x820C,0x8749,0x4ED9,0x5148,
+0x5343,0x5360,0x5BA3,0x5C02,0x5C16,0x5DDD,0x6226,0x6247,
+0x64B0,0x6813,0x6834,0x6CC9,0x6D45,0x6D17,0x67D3,0x6F5C,
+0x714E,0x717D,0x65CB,0x7A7F,0x7BAD,0x7DDA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x7E4A,0x7FA8,0x817A,0x821B,0x8239,0x85A6,0x8A6E,
+0x8CCE,0x8DF5,0x9078,0x9077,0x92AD,0x9291,0x9583,0x9BAE,
+0x524D,0x5584,0x6F38,0x7136,0x5168,0x7985,0x7E55,0x81B3,
+0x7CCE,0x564C,0x5851,0x5CA8,0x63AA,0x66FE,0x66FD,0x695A,
+0x72D9,0x758F,0x758E,0x790E,0x7956,0x79DF,0x7C97,0x7D20,
+0x7D44,0x8607,0x8A34,0x963B,0x9061,0x9F20,0x50E7,0x5275,
+0x53CC,0x53E2,0x5009,0x55AA,0x58EE,0x594F,0x723D,0x5B8B,
+0x5C64,0x531D,0x60E3,0x60F3,0x635C,0x6383,0x633F,0x63BB,
+ 0,0x64CD,0x65E9,0x66F9,0x5DE3,0x69CD,0x69FD,0x6F15,
+0x71E5,0x4E89,0x75E9,0x76F8,0x7A93,0x7CDF,0x7DCF,0x7D9C,
+0x8061,0x8349,0x8358,0x846C,0x84BC,0x85FB,0x88C5,0x8D70,
+0x9001,0x906D,0x9397,0x971C,0x9A12,0x50CF,0x5897,0x618E,
+0x81D3,0x8535,0x8D08,0x9020,0x4FC3,0x5074,0x5247,0x5373,
+0x606F,0x6349,0x675F,0x6E2C,0x8DB3,0x901F,0x4FD7,0x5C5E,
+0x8CCA,0x65CF,0x7D9A,0x5352,0x8896,0x5176,0x63C3,0x5B58,
+0x5B6B,0x5C0A,0x640D,0x6751,0x905C,0x4ED6,0x591A,0x592A,
+0x6C70,0x8A51,0x553E,0x5815,0x59A5,0x60F0,0x6253,0x67C1,
+0x8235,0x6955,0x9640,0x99C4,0x9A28,0x4F53,0x5806,0x5BFE,
+0x8010,0x5CB1,0x5E2F,0x5F85,0x6020,0x614B,0x6234,0x66FF,
+0x6CF0,0x6EDE,0x80CE,0x817F,0x82D4,0x888B,0x8CB8,0x9000,
+0x902E,0x968A,0x9EDB,0x9BDB,0x4EE3,0x53F0,0x5927,0x7B2C,
+0x918D,0x984C,0x9DF9,0x6EDD,0x7027,0x5353,0x5544,0x5B85,
+0x6258,0x629E,0x62D3,0x6CA2,0x6FEF,0x7422,0x8A17,0x9438,
+0x6FC1,0x8AFE,0x8338,0x51E7,0x86F8,0x53EA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x53E9,0x4F46,0x9054,0x8FB0,0x596A,0x8131,0x5DFD,
+0x7AEA,0x8FBF,0x68DA,0x8C37,0x72F8,0x9C48,0x6A3D,0x8AB0,
+0x4E39,0x5358,0x5606,0x5766,0x62C5,0x63A2,0x65E6,0x6B4E,
+0x6DE1,0x6E5B,0x70AD,0x77ED,0x7AEF,0x7BAA,0x7DBB,0x803D,
+0x80C6,0x86CB,0x8A95,0x935B,0x56E3,0x58C7,0x5F3E,0x65AD,
+0x6696,0x6A80,0x6BB5,0x7537,0x8AC7,0x5024,0x77E5,0x5730,
+0x5F1B,0x6065,0x667A,0x6C60,0x75F4,0x7A1A,0x7F6E,0x81F4,
+0x8718,0x9045,0x99B3,0x7BC9,0x755C,0x7AF9,0x7B51,0x84C4,
+ 0,0x9010,0x79E9,0x7A92,0x8336,0x5AE1,0x7740,0x4E2D,
+0x4EF2,0x5B99,0x5FE0,0x62BD,0x663C,0x67F1,0x6CE8,0x866B,
+0x8877,0x8A3B,0x914E,0x92F3,0x99D0,0x6A17,0x7026,0x732A,
+0x82E7,0x8457,0x8CAF,0x4E01,0x5146,0x51CB,0x558B,0x5BF5,
+0x5E16,0x5E33,0x5E81,0x5F14,0x5F35,0x5F6B,0x5FB4,0x61F2,
+0x6311,0x66A2,0x671D,0x6F6E,0x7252,0x753A,0x773A,0x8074,
+0x8139,0x8178,0x8776,0x8ABF,0x8ADC,0x8D85,0x8DF3,0x929A,
+0x9577,0x9802,0x9CE5,0x52C5,0x6357,0x76F4,0x6715,0x6C88,
+0x73CD,0x8CC3,0x93AE,0x9673,0x6D25,0x589C,0x690E,0x69CC,
+0x8FFD,0x939A,0x75DB,0x901A,0x585A,0x6802,0x63B4,0x69FB,
+0x4F43,0x6F2C,0x67D8,0x8FBB,0x8526,0x7DB4,0x9354,0x693F,
+0x6F70,0x576A,0x58F7,0x5B2C,0x7D2C,0x722A,0x540A,0x91E3,
+0x9DB4,0x4EAD,0x4F4E,0x505C,0x5075,0x5243,0x8C9E,0x5448,
+0x5824,0x5B9A,0x5E1D,0x5E95,0x5EAD,0x5EF7,0x5F1F,0x608C,
+0x62B5,0x633A,0x63D0,0x68AF,0x6C40,0x7887,0x798E,0x7A0B,
+0x7DE0,0x8247,0x8A02,0x8AE6,0x8E44,0x9013, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x90B8,0x912D,0x91D8,0x9F0E,0x6CE5,0x6458,0x64E2,
+0x6575,0x6EF4,0x7684,0x7B1B,0x9069,0x93D1,0x6EBA,0x54F2,
+0x5FB9,0x64A4,0x8F4D,0x8FED,0x9244,0x5178,0x586B,0x5929,
+0x5C55,0x5E97,0x6DFB,0x7E8F,0x751C,0x8CBC,0x8EE2,0x985B,
+0x70B9,0x4F1D,0x6BBF,0x6FB1,0x7530,0x96FB,0x514E,0x5410,
+0x5835,0x5857,0x59AC,0x5C60,0x5F92,0x6597,0x675C,0x6E21,
+0x767B,0x83DF,0x8CED,0x9014,0x90FD,0x934D,0x7825,0x783A,
+0x52AA,0x5EA6,0x571F,0x5974,0x6012,0x5012,0x515A,0x51AC,
+ 0,0x51CD,0x5200,0x5510,0x5854,0x5858,0x5957,0x5B95,
+0x5CF6,0x5D8B,0x60BC,0x6295,0x642D,0x6771,0x6843,0x68BC,
+0x68DF,0x76D7,0x6DD8,0x6E6F,0x6D9B,0x706F,0x71C8,0x5F53,
+0x75D8,0x7977,0x7B49,0x7B54,0x7B52,0x7CD6,0x7D71,0x5230,
+0x8463,0x8569,0x85E4,0x8A0E,0x8B04,0x8C46,0x8E0F,0x9003,
+0x900F,0x9419,0x9676,0x982D,0x9A30,0x95D8,0x50CD,0x52D5,
+0x540C,0x5802,0x5C0E,0x61A7,0x649E,0x6D1E,0x77B3,0x7AE5,
+0x80F4,0x8404,0x9053,0x9285,0x5CE0,0x9D07,0x533F,0x5F97,
+0x5FB3,0x6D9C,0x7279,0x7763,0x79BF,0x7BE4,0x6BD2,0x72EC,
+0x8AAD,0x6803,0x6A61,0x51F8,0x7A81,0x6934,0x5C4A,0x9CF6,
+0x82EB,0x5BC5,0x9149,0x701E,0x5678,0x5C6F,0x60C7,0x6566,
+0x6C8C,0x8C5A,0x9041,0x9813,0x5451,0x66C7,0x920D,0x5948,
+0x90A3,0x5185,0x4E4D,0x51EA,0x8599,0x8B0E,0x7058,0x637A,
+0x934B,0x6962,0x99B4,0x7E04,0x7577,0x5357,0x6960,0x8EDF,
+0x96E3,0x6C5D,0x4E8C,0x5C3C,0x5F10,0x8FE9,0x5302,0x8CD1,
+0x8089,0x8679,0x5EFF,0x65E5,0x4E73,0x5165, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5982,0x5C3F,0x97EE,0x4EFB,0x598A,0x5FCD,0x8A8D,
+0x6FE1,0x79B0,0x7962,0x5BE7,0x8471,0x732B,0x71B1,0x5E74,
+0x5FF5,0x637B,0x649A,0x71C3,0x7C98,0x4E43,0x5EFC,0x4E4B,
+0x57DC,0x56A2,0x60A9,0x6FC3,0x7D0D,0x80FD,0x8133,0x81BF,
+0x8FB2,0x8997,0x86A4,0x5DF4,0x628A,0x64AD,0x8987,0x6777,
+0x6CE2,0x6D3E,0x7436,0x7834,0x5A46,0x7F75,0x82AD,0x99AC,
+0x4FF3,0x5EC3,0x62DD,0x6392,0x6557,0x676F,0x76C3,0x724C,
+0x80CC,0x80BA,0x8F29,0x914D,0x500D,0x57F9,0x5A92,0x6885,
+ 0,0x6973,0x7164,0x72FD,0x8CB7,0x58F2,0x8CE0,0x966A,
+0x9019,0x877F,0x79E4,0x77E7,0x8429,0x4F2F,0x5265,0x535A,
+0x62CD,0x67CF,0x6CCA,0x767D,0x7B94,0x7C95,0x8236,0x8584,
+0x8FEB,0x66DD,0x6F20,0x7206,0x7E1B,0x83AB,0x99C1,0x9EA6,
+0x51FD,0x7BB1,0x7872,0x7BB8,0x8087,0x7B48,0x6AE8,0x5E61,
+0x808C,0x7551,0x7560,0x516B,0x9262,0x6E8C,0x767A,0x9197,
+0x9AEA,0x4F10,0x7F70,0x629C,0x7B4F,0x95A5,0x9CE9,0x567A,
+0x5859,0x86E4,0x96BC,0x4F34,0x5224,0x534A,0x53CD,0x53DB,
+0x5E06,0x642C,0x6591,0x677F,0x6C3E,0x6C4E,0x7248,0x72AF,
+0x73ED,0x7554,0x7E41,0x822C,0x85E9,0x8CA9,0x7BC4,0x91C6,
+0x7169,0x9812,0x98EF,0x633D,0x6669,0x756A,0x76E4,0x78D0,
+0x8543,0x86EE,0x532A,0x5351,0x5426,0x5983,0x5E87,0x5F7C,
+0x60B2,0x6249,0x6279,0x62AB,0x6590,0x6BD4,0x6CCC,0x75B2,
+0x76AE,0x7891,0x79D8,0x7DCB,0x7F77,0x80A5,0x88AB,0x8AB9,
+0x8CBB,0x907F,0x975E,0x98DB,0x6A0B,0x7C38,0x5099,0x5C3E,
+0x5FAE,0x6787,0x6BD8,0x7435,0x7709,0x7F8E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9F3B,0x67CA,0x7A17,0x5339,0x758B,0x9AED,0x5F66,
+0x819D,0x83F1,0x8098,0x5F3C,0x5FC5,0x7562,0x7B46,0x903C,
+0x6867,0x59EB,0x5A9B,0x7D10,0x767E,0x8B2C,0x4FF5,0x5F6A,
+0x6A19,0x6C37,0x6F02,0x74E2,0x7968,0x8868,0x8A55,0x8C79,
+0x5EDF,0x63CF,0x75C5,0x79D2,0x82D7,0x9328,0x92F2,0x849C,
+0x86ED,0x9C2D,0x54C1,0x5F6C,0x658C,0x6D5C,0x7015,0x8CA7,
+0x8CD3,0x983B,0x654F,0x74F6,0x4E0D,0x4ED8,0x57E0,0x592B,
+0x5A66,0x5BCC,0x51A8,0x5E03,0x5E9C,0x6016,0x6276,0x6577,
+ 0,0x65A7,0x666E,0x6D6E,0x7236,0x7B26,0x8150,0x819A,
+0x8299,0x8B5C,0x8CA0,0x8CE6,0x8D74,0x961C,0x9644,0x4FAE,
+0x64AB,0x6B66,0x821E,0x8461,0x856A,0x90E8,0x5C01,0x6953,
+0x98A8,0x847A,0x8557,0x4F0F,0x526F,0x5FA9,0x5E45,0x670D,
+0x798F,0x8179,0x8907,0x8986,0x6DF5,0x5F17,0x6255,0x6CB8,
+0x4ECF,0x7269,0x9B92,0x5206,0x543B,0x5674,0x58B3,0x61A4,
+0x626E,0x711A,0x596E,0x7C89,0x7CDE,0x7D1B,0x96F0,0x6587,
+0x805E,0x4E19,0x4F75,0x5175,0x5840,0x5E63,0x5E73,0x5F0A,
+0x67C4,0x4E26,0x853D,0x9589,0x965B,0x7C73,0x9801,0x50FB,
+0x58C1,0x7656,0x78A7,0x5225,0x77A5,0x8511,0x7B86,0x504F,
+0x5909,0x7247,0x7BC7,0x7DE8,0x8FBA,0x8FD4,0x904D,0x4FBF,
+0x52C9,0x5A29,0x5F01,0x97AD,0x4FDD,0x8217,0x92EA,0x5703,
+0x6355,0x6B69,0x752B,0x88DC,0x8F14,0x7A42,0x52DF,0x5893,
+0x6155,0x620A,0x66AE,0x6BCD,0x7C3F,0x83E9,0x5023,0x4FF8,
+0x5305,0x5446,0x5831,0x5949,0x5B9D,0x5CF0,0x5CEF,0x5D29,
+0x5E96,0x62B1,0x6367,0x653E,0x65B9,0x670B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6CD5,0x6CE1,0x70F9,0x7832,0x7E2B,0x80DE,0x82B3,
+0x840C,0x84EC,0x8702,0x8912,0x8A2A,0x8C4A,0x90A6,0x92D2,
+0x98FD,0x9CF3,0x9D6C,0x4E4F,0x4EA1,0x508D,0x5256,0x574A,
+0x59A8,0x5E3D,0x5FD8,0x5FD9,0x623F,0x66B4,0x671B,0x67D0,
+0x68D2,0x5192,0x7D21,0x80AA,0x81A8,0x8B00,0x8C8C,0x8CBF,
+0x927E,0x9632,0x5420,0x982C,0x5317,0x50D5,0x535C,0x58A8,
+0x64B2,0x6734,0x7267,0x7766,0x7A46,0x91E6,0x52C3,0x6CA1,
+0x6B86,0x5800,0x5E4C,0x5954,0x672C,0x7FFB,0x51E1,0x76C6,
+ 0,0x6469,0x78E8,0x9B54,0x9EBB,0x57CB,0x59B9,0x6627,
+0x679A,0x6BCE,0x54E9,0x69D9,0x5E55,0x819C,0x6795,0x9BAA,
+0x67FE,0x9C52,0x685D,0x4EA6,0x4FE3,0x53C8,0x62B9,0x672B,
+0x6CAB,0x8FC4,0x4FAD,0x7E6D,0x9EBF,0x4E07,0x6162,0x6E80,
+0x6F2B,0x8513,0x5473,0x672A,0x9B45,0x5DF3,0x7B95,0x5CAC,
+0x5BC6,0x871C,0x6E4A,0x84D1,0x7A14,0x8108,0x5999,0x7C8D,
+0x6C11,0x7720,0x52D9,0x5922,0x7121,0x725F,0x77DB,0x9727,
+0x9D61,0x690B,0x5A7F,0x5A18,0x51A5,0x540D,0x547D,0x660E,
+0x76DF,0x8FF7,0x9298,0x9CF4,0x59EA,0x725D,0x6EC5,0x514D,
+0x68C9,0x7DBF,0x7DEC,0x9762,0x9EBA,0x6478,0x6A21,0x8302,
+0x5984,0x5B5F,0x6BDB,0x731B,0x76F2,0x7DB2,0x8017,0x8499,
+0x5132,0x6728,0x9ED9,0x76EE,0x6762,0x52FF,0x9905,0x5C24,
+0x623B,0x7C7E,0x8CB0,0x554F,0x60B6,0x7D0B,0x9580,0x5301,
+0x4E5F,0x51B6,0x591C,0x723A,0x8036,0x91CE,0x5F25,0x77E2,
+0x5384,0x5F79,0x7D04,0x85AC,0x8A33,0x8E8D,0x9756,0x67F3,
+0x85AE,0x9453,0x6109,0x6108,0x6CB9,0x7652, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8AED,0x8F38,0x552F,0x4F51,0x512A,0x52C7,0x53CB,
+0x5BA5,0x5E7D,0x60A0,0x6182,0x63D6,0x6709,0x67DA,0x6E67,
+0x6D8C,0x7336,0x7337,0x7531,0x7950,0x88D5,0x8A98,0x904A,
+0x9091,0x90F5,0x96C4,0x878D,0x5915,0x4E88,0x4F59,0x4E0E,
+0x8A89,0x8F3F,0x9810,0x50AD,0x5E7C,0x5996,0x5BB9,0x5EB8,
+0x63DA,0x63FA,0x64C1,0x66DC,0x694A,0x69D8,0x6D0B,0x6EB6,
+0x7194,0x7528,0x7AAF,0x7F8A,0x8000,0x8449,0x84C9,0x8981,
+0x8B21,0x8E0A,0x9065,0x967D,0x990A,0x617E,0x6291,0x6B32,
+ 0,0x6C83,0x6D74,0x7FCC,0x7FFC,0x6DC0,0x7F85,0x87BA,
+0x88F8,0x6765,0x83B1,0x983C,0x96F7,0x6D1B,0x7D61,0x843D,
+0x916A,0x4E71,0x5375,0x5D50,0x6B04,0x6FEB,0x85CD,0x862D,
+0x89A7,0x5229,0x540F,0x5C65,0x674E,0x68A8,0x7406,0x7483,
+0x75E2,0x88CF,0x88E1,0x91CC,0x96E2,0x9678,0x5F8B,0x7387,
+0x7ACB,0x844E,0x63A0,0x7565,0x5289,0x6D41,0x6E9C,0x7409,
+0x7559,0x786B,0x7C92,0x9686,0x7ADC,0x9F8D,0x4FB6,0x616E,
+0x65C5,0x865C,0x4E86,0x4EAE,0x50DA,0x4E21,0x51CC,0x5BEE,
+0x6599,0x6881,0x6DBC,0x731F,0x7642,0x77AD,0x7A1C,0x7CE7,
+0x826F,0x8AD2,0x907C,0x91CF,0x9675,0x9818,0x529B,0x7DD1,
+0x502B,0x5398,0x6797,0x6DCB,0x71D0,0x7433,0x81E8,0x8F2A,
+0x96A3,0x9C57,0x9E9F,0x7460,0x5841,0x6D99,0x7D2F,0x985E,
+0x4EE4,0x4F36,0x4F8B,0x51B7,0x52B1,0x5DBA,0x601C,0x73B2,
+0x793C,0x82D3,0x9234,0x96B7,0x96F6,0x970A,0x9E97,0x9F62,
+0x66A6,0x6B74,0x5217,0x52A3,0x70C8,0x88C2,0x5EC9,0x604B,
+0x6190,0x6F23,0x7149,0x7C3E,0x7DF4,0x806F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x84EE,0x9023,0x932C,0x5442,0x9B6F,0x6AD3,0x7089,
+0x8CC2,0x8DEF,0x9732,0x52B4,0x5A41,0x5ECA,0x5F04,0x6717,
+0x697C,0x6994,0x6D6A,0x6F0F,0x7262,0x72FC,0x7BED,0x8001,
+0x807E,0x874B,0x90CE,0x516D,0x9E93,0x7984,0x808B,0x9332,
+0x8AD6,0x502D,0x548C,0x8A71,0x6B6A,0x8CC4,0x8107,0x60D1,
+0x67A0,0x9DF2,0x4E99,0x4E98,0x9C10,0x8A6B,0x85C1,0x8568,
+0x6900,0x6E7E,0x7897,0x8155, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5F0C,0x4E10,0x4E15,0x4E2A,0x4E31,0x4E36,0x4E3C,0x4E3F,
+0x4E42,0x4E56,0x4E58,0x4E82,0x4E85,0x8C6B,0x4E8A,0x8212,
+0x5F0D,0x4E8E,0x4E9E,0x4E9F,0x4EA0,0x4EA2,0x4EB0,0x4EB3,
+0x4EB6,0x4ECE,0x4ECD,0x4EC4,0x4EC6,0x4EC2,0x4ED7,0x4EDE,
+0x4EED,0x4EDF,0x4EF7,0x4F09,0x4F5A,0x4F30,0x4F5B,0x4F5D,
+0x4F57,0x4F47,0x4F76,0x4F88,0x4F8F,0x4F98,0x4F7B,0x4F69,
+0x4F70,0x4F91,0x4F6F,0x4F86,0x4F96,0x5118,0x4FD4,0x4FDF,
+0x4FCE,0x4FD8,0x4FDB,0x4FD1,0x4FDA,0x4FD0,0x4FE4,0x4FE5,
+0x501A,0x5028,0x5014,0x502A,0x5025,0x5005,0x4F1C,0x4FF6,
+0x5021,0x5029,0x502C,0x4FFE,0x4FEF,0x5011,0x5006,0x5043,
+0x5047,0x6703,0x5055,0x5050,0x5048,0x505A,0x5056,0x506C,
+0x5078,0x5080,0x509A,0x5085,0x50B4,0x50B2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x50C9,0x50CA,0x50B3,0x50C2,0x50D6,0x50DE,0x50E5,
+0x50ED,0x50E3,0x50EE,0x50F9,0x50F5,0x5109,0x5101,0x5102,
+0x5116,0x5115,0x5114,0x511A,0x5121,0x513A,0x5137,0x513C,
+0x513B,0x513F,0x5140,0x5152,0x514C,0x5154,0x5162,0x7AF8,
+0x5169,0x516A,0x516E,0x5180,0x5182,0x56D8,0x518C,0x5189,
+0x518F,0x5191,0x5193,0x5195,0x5196,0x51A4,0x51A6,0x51A2,
+0x51A9,0x51AA,0x51AB,0x51B3,0x51B1,0x51B2,0x51B0,0x51B5,
+0x51BD,0x51C5,0x51C9,0x51DB,0x51E0,0x8655,0x51E9,0x51ED,
+ 0,0x51F0,0x51F5,0x51FE,0x5204,0x520B,0x5214,0x520E,
+0x5227,0x522A,0x522E,0x5233,0x5239,0x524F,0x5244,0x524B,
+0x524C,0x525E,0x5254,0x526A,0x5274,0x5269,0x5273,0x527F,
+0x527D,0x528D,0x5294,0x5292,0x5271,0x5288,0x5291,0x8FA8,
+0x8FA7,0x52AC,0x52AD,0x52BC,0x52B5,0x52C1,0x52CD,0x52D7,
+0x52DE,0x52E3,0x52E6,0x98ED,0x52E0,0x52F3,0x52F5,0x52F8,
+0x52F9,0x5306,0x5308,0x7538,0x530D,0x5310,0x530F,0x5315,
+0x531A,0x5323,0x532F,0x5331,0x5333,0x5338,0x5340,0x5346,
+0x5345,0x4E17,0x5349,0x534D,0x51D6,0x535E,0x5369,0x536E,
+0x5918,0x537B,0x5377,0x5382,0x5396,0x53A0,0x53A6,0x53A5,
+0x53AE,0x53B0,0x53B6,0x53C3,0x7C12,0x96D9,0x53DF,0x66FC,
+0x71EE,0x53EE,0x53E8,0x53ED,0x53FA,0x5401,0x543D,0x5440,
+0x542C,0x542D,0x543C,0x542E,0x5436,0x5429,0x541D,0x544E,
+0x548F,0x5475,0x548E,0x545F,0x5471,0x5477,0x5470,0x5492,
+0x547B,0x5480,0x5476,0x5484,0x5490,0x5486,0x54C7,0x54A2,
+0x54B8,0x54A5,0x54AC,0x54C4,0x54C8,0x54A8, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x54AB,0x54C2,0x54A4,0x54BE,0x54BC,0x54D8,0x54E5,
+0x54E6,0x550F,0x5514,0x54FD,0x54EE,0x54ED,0x54FA,0x54E2,
+0x5539,0x5540,0x5563,0x554C,0x552E,0x555C,0x5545,0x5556,
+0x5557,0x5538,0x5533,0x555D,0x5599,0x5580,0x54AF,0x558A,
+0x559F,0x557B,0x557E,0x5598,0x559E,0x55AE,0x557C,0x5583,
+0x55A9,0x5587,0x55A8,0x55DA,0x55C5,0x55DF,0x55C4,0x55DC,
+0x55E4,0x55D4,0x5614,0x55F7,0x5616,0x55FE,0x55FD,0x561B,
+0x55F9,0x564E,0x5650,0x71DF,0x5634,0x5636,0x5632,0x5638,
+ 0,0x566B,0x5664,0x562F,0x566C,0x566A,0x5686,0x5680,
+0x568A,0x56A0,0x5694,0x568F,0x56A5,0x56AE,0x56B6,0x56B4,
+0x56C2,0x56BC,0x56C1,0x56C3,0x56C0,0x56C8,0x56CE,0x56D1,
+0x56D3,0x56D7,0x56EE,0x56F9,0x5700,0x56FF,0x5704,0x5709,
+0x5708,0x570B,0x570D,0x5713,0x5718,0x5716,0x55C7,0x571C,
+0x5726,0x5737,0x5738,0x574E,0x573B,0x5740,0x574F,0x5769,
+0x57C0,0x5788,0x5761,0x577F,0x5789,0x5793,0x57A0,0x57B3,
+0x57A4,0x57AA,0x57B0,0x57C3,0x57C6,0x57D4,0x57D2,0x57D3,
+0x580A,0x57D6,0x57E3,0x580B,0x5819,0x581D,0x5872,0x5821,
+0x5862,0x584B,0x5870,0x6BC0,0x5852,0x583D,0x5879,0x5885,
+0x58B9,0x589F,0x58AB,0x58BA,0x58DE,0x58BB,0x58B8,0x58AE,
+0x58C5,0x58D3,0x58D1,0x58D7,0x58D9,0x58D8,0x58E5,0x58DC,
+0x58E4,0x58DF,0x58EF,0x58FA,0x58F9,0x58FB,0x58FC,0x58FD,
+0x5902,0x590A,0x5910,0x591B,0x68A6,0x5925,0x592C,0x592D,
+0x5932,0x5938,0x593E,0x7AD2,0x5955,0x5950,0x594E,0x595A,
+0x5958,0x5962,0x5960,0x5967,0x596C,0x5969, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5978,0x5981,0x599D,0x4F5E,0x4FAB,0x59A3,0x59B2,
+0x59C6,0x59E8,0x59DC,0x598D,0x59D9,0x59DA,0x5A25,0x5A1F,
+0x5A11,0x5A1C,0x5A09,0x5A1A,0x5A40,0x5A6C,0x5A49,0x5A35,
+0x5A36,0x5A62,0x5A6A,0x5A9A,0x5ABC,0x5ABE,0x5ACB,0x5AC2,
+0x5ABD,0x5AE3,0x5AD7,0x5AE6,0x5AE9,0x5AD6,0x5AFA,0x5AFB,
+0x5B0C,0x5B0B,0x5B16,0x5B32,0x5AD0,0x5B2A,0x5B36,0x5B3E,
+0x5B43,0x5B45,0x5B40,0x5B51,0x5B55,0x5B5A,0x5B5B,0x5B65,
+0x5B69,0x5B70,0x5B73,0x5B75,0x5B78,0x6588,0x5B7A,0x5B80,
+ 0,0x5B83,0x5BA6,0x5BB8,0x5BC3,0x5BC7,0x5BC9,0x5BD4,
+0x5BD0,0x5BE4,0x5BE6,0x5BE2,0x5BDE,0x5BE5,0x5BEB,0x5BF0,
+0x5BF6,0x5BF3,0x5C05,0x5C07,0x5C08,0x5C0D,0x5C13,0x5C20,
+0x5C22,0x5C28,0x5C38,0x5C39,0x5C41,0x5C46,0x5C4E,0x5C53,
+0x5C50,0x5C4F,0x5B71,0x5C6C,0x5C6E,0x4E62,0x5C76,0x5C79,
+0x5C8C,0x5C91,0x5C94,0x599B,0x5CAB,0x5CBB,0x5CB6,0x5CBC,
+0x5CB7,0x5CC5,0x5CBE,0x5CC7,0x5CD9,0x5CE9,0x5CFD,0x5CFA,
+0x5CED,0x5D8C,0x5CEA,0x5D0B,0x5D15,0x5D17,0x5D5C,0x5D1F,
+0x5D1B,0x5D11,0x5D14,0x5D22,0x5D1A,0x5D19,0x5D18,0x5D4C,
+0x5D52,0x5D4E,0x5D4B,0x5D6C,0x5D73,0x5D76,0x5D87,0x5D84,
+0x5D82,0x5DA2,0x5D9D,0x5DAC,0x5DAE,0x5DBD,0x5D90,0x5DB7,
+0x5DBC,0x5DC9,0x5DCD,0x5DD3,0x5DD2,0x5DD6,0x5DDB,0x5DEB,
+0x5DF2,0x5DF5,0x5E0B,0x5E1A,0x5E19,0x5E11,0x5E1B,0x5E36,
+0x5E37,0x5E44,0x5E43,0x5E40,0x5E4E,0x5E57,0x5E54,0x5E5F,
+0x5E62,0x5E64,0x5E47,0x5E75,0x5E76,0x5E7A,0x9EBC,0x5E7F,
+0x5EA0,0x5EC1,0x5EC2,0x5EC8,0x5ED0,0x5ECF, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5ED6,0x5EE3,0x5EDD,0x5EDA,0x5EDB,0x5EE2,0x5EE1,
+0x5EE8,0x5EE9,0x5EEC,0x5EF1,0x5EF3,0x5EF0,0x5EF4,0x5EF8,
+0x5EFE,0x5F03,0x5F09,0x5F5D,0x5F5C,0x5F0B,0x5F11,0x5F16,
+0x5F29,0x5F2D,0x5F38,0x5F41,0x5F48,0x5F4C,0x5F4E,0x5F2F,
+0x5F51,0x5F56,0x5F57,0x5F59,0x5F61,0x5F6D,0x5F73,0x5F77,
+0x5F83,0x5F82,0x5F7F,0x5F8A,0x5F88,0x5F91,0x5F87,0x5F9E,
+0x5F99,0x5F98,0x5FA0,0x5FA8,0x5FAD,0x5FBC,0x5FD6,0x5FFB,
+0x5FE4,0x5FF8,0x5FF1,0x5FDD,0x60B3,0x5FFF,0x6021,0x6060,
+ 0,0x6019,0x6010,0x6029,0x600E,0x6031,0x601B,0x6015,
+0x602B,0x6026,0x600F,0x603A,0x605A,0x6041,0x606A,0x6077,
+0x605F,0x604A,0x6046,0x604D,0x6063,0x6043,0x6064,0x6042,
+0x606C,0x606B,0x6059,0x6081,0x608D,0x60E7,0x6083,0x609A,
+0x6084,0x609B,0x6096,0x6097,0x6092,0x60A7,0x608B,0x60E1,
+0x60B8,0x60E0,0x60D3,0x60B4,0x5FF0,0x60BD,0x60C6,0x60B5,
+0x60D8,0x614D,0x6115,0x6106,0x60F6,0x60F7,0x6100,0x60F4,
+0x60FA,0x6103,0x6121,0x60FB,0x60F1,0x610D,0x610E,0x6147,
+0x613E,0x6128,0x6127,0x614A,0x613F,0x613C,0x612C,0x6134,
+0x613D,0x6142,0x6144,0x6173,0x6177,0x6158,0x6159,0x615A,
+0x616B,0x6174,0x616F,0x6165,0x6171,0x615F,0x615D,0x6153,
+0x6175,0x6199,0x6196,0x6187,0x61AC,0x6194,0x619A,0x618A,
+0x6191,0x61AB,0x61AE,0x61CC,0x61CA,0x61C9,0x61F7,0x61C8,
+0x61C3,0x61C6,0x61BA,0x61CB,0x7F79,0x61CD,0x61E6,0x61E3,
+0x61F6,0x61FA,0x61F4,0x61FF,0x61FD,0x61FC,0x61FE,0x6200,
+0x6208,0x6209,0x620D,0x620C,0x6214,0x621B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x621E,0x6221,0x622A,0x622E,0x6230,0x6232,0x6233,
+0x6241,0x624E,0x625E,0x6263,0x625B,0x6260,0x6268,0x627C,
+0x6282,0x6289,0x627E,0x6292,0x6293,0x6296,0x62D4,0x6283,
+0x6294,0x62D7,0x62D1,0x62BB,0x62CF,0x62FF,0x62C6,0x64D4,
+0x62C8,0x62DC,0x62CC,0x62CA,0x62C2,0x62C7,0x629B,0x62C9,
+0x630C,0x62EE,0x62F1,0x6327,0x6302,0x6308,0x62EF,0x62F5,
+0x6350,0x633E,0x634D,0x641C,0x634F,0x6396,0x638E,0x6380,
+0x63AB,0x6376,0x63A3,0x638F,0x6389,0x639F,0x63B5,0x636B,
+ 0,0x6369,0x63BE,0x63E9,0x63C0,0x63C6,0x63E3,0x63C9,
+0x63D2,0x63F6,0x63C4,0x6416,0x6434,0x6406,0x6413,0x6426,
+0x6436,0x651D,0x6417,0x6428,0x640F,0x6467,0x646F,0x6476,
+0x644E,0x652A,0x6495,0x6493,0x64A5,0x64A9,0x6488,0x64BC,
+0x64DA,0x64D2,0x64C5,0x64C7,0x64BB,0x64D8,0x64C2,0x64F1,
+0x64E7,0x8209,0x64E0,0x64E1,0x62AC,0x64E3,0x64EF,0x652C,
+0x64F6,0x64F4,0x64F2,0x64FA,0x6500,0x64FD,0x6518,0x651C,
+0x6505,0x6524,0x6523,0x652B,0x6534,0x6535,0x6537,0x6536,
+0x6538,0x754B,0x6548,0x6556,0x6555,0x654D,0x6558,0x655E,
+0x655D,0x6572,0x6578,0x6582,0x6583,0x8B8A,0x659B,0x659F,
+0x65AB,0x65B7,0x65C3,0x65C6,0x65C1,0x65C4,0x65CC,0x65D2,
+0x65DB,0x65D9,0x65E0,0x65E1,0x65F1,0x6772,0x660A,0x6603,
+0x65FB,0x6773,0x6635,0x6636,0x6634,0x661C,0x664F,0x6644,
+0x6649,0x6641,0x665E,0x665D,0x6664,0x6667,0x6668,0x665F,
+0x6662,0x6670,0x6683,0x6688,0x668E,0x6689,0x6684,0x6698,
+0x669D,0x66C1,0x66B9,0x66C9,0x66BE,0x66BC, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x66C4,0x66B8,0x66D6,0x66DA,0x66E0,0x663F,0x66E6,
+0x66E9,0x66F0,0x66F5,0x66F7,0x670F,0x6716,0x671E,0x6726,
+0x6727,0x9738,0x672E,0x673F,0x6736,0x6741,0x6738,0x6737,
+0x6746,0x675E,0x6760,0x6759,0x6763,0x6764,0x6789,0x6770,
+0x67A9,0x677C,0x676A,0x678C,0x678B,0x67A6,0x67A1,0x6785,
+0x67B7,0x67EF,0x67B4,0x67EC,0x67B3,0x67E9,0x67B8,0x67E4,
+0x67DE,0x67DD,0x67E2,0x67EE,0x67B9,0x67CE,0x67C6,0x67E7,
+0x6A9C,0x681E,0x6846,0x6829,0x6840,0x684D,0x6832,0x684E,
+ 0,0x68B3,0x682B,0x6859,0x6863,0x6877,0x687F,0x689F,
+0x688F,0x68AD,0x6894,0x689D,0x689B,0x6883,0x6AAE,0x68B9,
+0x6874,0x68B5,0x68A0,0x68BA,0x690F,0x688D,0x687E,0x6901,
+0x68CA,0x6908,0x68D8,0x6922,0x6926,0x68E1,0x690C,0x68CD,
+0x68D4,0x68E7,0x68D5,0x6936,0x6912,0x6904,0x68D7,0x68E3,
+0x6925,0x68F9,0x68E0,0x68EF,0x6928,0x692A,0x691A,0x6923,
+0x6921,0x68C6,0x6979,0x6977,0x695C,0x6978,0x696B,0x6954,
+0x697E,0x696E,0x6939,0x6974,0x693D,0x6959,0x6930,0x6961,
+0x695E,0x695D,0x6981,0x696A,0x69B2,0x69AE,0x69D0,0x69BF,
+0x69C1,0x69D3,0x69BE,0x69CE,0x5BE8,0x69CA,0x69DD,0x69BB,
+0x69C3,0x69A7,0x6A2E,0x6991,0x69A0,0x699C,0x6995,0x69B4,
+0x69DE,0x69E8,0x6A02,0x6A1B,0x69FF,0x6B0A,0x69F9,0x69F2,
+0x69E7,0x6A05,0x69B1,0x6A1E,0x69ED,0x6A14,0x69EB,0x6A0A,
+0x6A12,0x6AC1,0x6A23,0x6A13,0x6A44,0x6A0C,0x6A72,0x6A36,
+0x6A78,0x6A47,0x6A62,0x6A59,0x6A66,0x6A48,0x6A38,0x6A22,
+0x6A90,0x6A8D,0x6AA0,0x6A84,0x6AA2,0x6AA3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6A97,0x8617,0x6ABB,0x6AC3,0x6AC2,0x6AB8,0x6AB3,
+0x6AAC,0x6ADE,0x6AD1,0x6ADF,0x6AAA,0x6ADA,0x6AEA,0x6AFB,
+0x6B05,0x8616,0x6AFA,0x6B12,0x6B16,0x9B31,0x6B1F,0x6B38,
+0x6B37,0x76DC,0x6B39,0x98EE,0x6B47,0x6B43,0x6B49,0x6B50,
+0x6B59,0x6B54,0x6B5B,0x6B5F,0x6B61,0x6B78,0x6B79,0x6B7F,
+0x6B80,0x6B84,0x6B83,0x6B8D,0x6B98,0x6B95,0x6B9E,0x6BA4,
+0x6BAA,0x6BAB,0x6BAF,0x6BB2,0x6BB1,0x6BB3,0x6BB7,0x6BBC,
+0x6BC6,0x6BCB,0x6BD3,0x6BDF,0x6BEC,0x6BEB,0x6BF3,0x6BEF,
+ 0,0x9EBE,0x6C08,0x6C13,0x6C14,0x6C1B,0x6C24,0x6C23,
+0x6C5E,0x6C55,0x6C62,0x6C6A,0x6C82,0x6C8D,0x6C9A,0x6C81,
+0x6C9B,0x6C7E,0x6C68,0x6C73,0x6C92,0x6C90,0x6CC4,0x6CF1,
+0x6CD3,0x6CBD,0x6CD7,0x6CC5,0x6CDD,0x6CAE,0x6CB1,0x6CBE,
+0x6CBA,0x6CDB,0x6CEF,0x6CD9,0x6CEA,0x6D1F,0x884D,0x6D36,
+0x6D2B,0x6D3D,0x6D38,0x6D19,0x6D35,0x6D33,0x6D12,0x6D0C,
+0x6D63,0x6D93,0x6D64,0x6D5A,0x6D79,0x6D59,0x6D8E,0x6D95,
+0x6FE4,0x6D85,0x6DF9,0x6E15,0x6E0A,0x6DB5,0x6DC7,0x6DE6,
+0x6DB8,0x6DC6,0x6DEC,0x6DDE,0x6DCC,0x6DE8,0x6DD2,0x6DC5,
+0x6DFA,0x6DD9,0x6DE4,0x6DD5,0x6DEA,0x6DEE,0x6E2D,0x6E6E,
+0x6E2E,0x6E19,0x6E72,0x6E5F,0x6E3E,0x6E23,0x6E6B,0x6E2B,
+0x6E76,0x6E4D,0x6E1F,0x6E43,0x6E3A,0x6E4E,0x6E24,0x6EFF,
+0x6E1D,0x6E38,0x6E82,0x6EAA,0x6E98,0x6EC9,0x6EB7,0x6ED3,
+0x6EBD,0x6EAF,0x6EC4,0x6EB2,0x6ED4,0x6ED5,0x6E8F,0x6EA5,
+0x6EC2,0x6E9F,0x6F41,0x6F11,0x704C,0x6EEC,0x6EF8,0x6EFE,
+0x6F3F,0x6EF2,0x6F31,0x6EEF,0x6F32,0x6ECC};
+
+/* page 3 0xE040-0xEAA4 */
+static uint16 tab_sjis_uni3[]={
+0x6F3E,0x6F13,0x6EF7,0x6F86,0x6F7A,0x6F78,0x6F81,0x6F80,
+0x6F6F,0x6F5B,0x6FF3,0x6F6D,0x6F82,0x6F7C,0x6F58,0x6F8E,
+0x6F91,0x6FC2,0x6F66,0x6FB3,0x6FA3,0x6FA1,0x6FA4,0x6FB9,
+0x6FC6,0x6FAA,0x6FDF,0x6FD5,0x6FEC,0x6FD4,0x6FD8,0x6FF1,
+0x6FEE,0x6FDB,0x7009,0x700B,0x6FFA,0x7011,0x7001,0x700F,
+0x6FFE,0x701B,0x701A,0x6F74,0x701D,0x7018,0x701F,0x7030,
+0x703E,0x7032,0x7051,0x7063,0x7099,0x7092,0x70AF,0x70F1,
+0x70AC,0x70B8,0x70B3,0x70AE,0x70DF,0x70CB,0x70DD, 0,
+0x70D9,0x7109,0x70FD,0x711C,0x7119,0x7165,0x7155,0x7188,
+0x7166,0x7162,0x714C,0x7156,0x716C,0x718F,0x71FB,0x7184,
+0x7195,0x71A8,0x71AC,0x71D7,0x71B9,0x71BE,0x71D2,0x71C9,
+0x71D4,0x71CE,0x71E0,0x71EC,0x71E7,0x71F5,0x71FC,0x71F9,
+0x71FF,0x720D,0x7210,0x721B,0x7228,0x722D,0x722C,0x7230,
+0x7232,0x723B,0x723C,0x723F,0x7240,0x7246,0x724B,0x7258,
+0x7274,0x727E,0x7282,0x7281,0x7287,0x7292,0x7296,0x72A2,
+0x72A7,0x72B9,0x72B2,0x72C3,0x72C6,0x72C4,0x72CE,0x72D2,
+0x72E2,0x72E0,0x72E1,0x72F9,0x72F7,0x500F,0x7317,0x730A,
+0x731C,0x7316,0x731D,0x7334,0x732F,0x7329,0x7325,0x733E,
+0x734E,0x734F,0x9ED8,0x7357,0x736A,0x7368,0x7370,0x7378,
+0x7375,0x737B,0x737A,0x73C8,0x73B3,0x73CE,0x73BB,0x73C0,
+0x73E5,0x73EE,0x73DE,0x74A2,0x7405,0x746F,0x7425,0x73F8,
+0x7432,0x743A,0x7455,0x743F,0x745F,0x7459,0x7441,0x745C,
+0x7469,0x7470,0x7463,0x746A,0x7476,0x747E,0x748B,0x749E,
+0x74A7,0x74CA,0x74CF,0x74D4,0x73F1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x74E0,0x74E3,0x74E7,0x74E9,0x74EE,0x74F2,0x74F0,0x74F1,
+0x74F8,0x74F7,0x7504,0x7503,0x7505,0x750C,0x750E,0x750D,
+0x7515,0x7513,0x751E,0x7526,0x752C,0x753C,0x7544,0x754D,
+0x754A,0x7549,0x755B,0x7546,0x755A,0x7569,0x7564,0x7567,
+0x756B,0x756D,0x7578,0x7576,0x7586,0x7587,0x7574,0x758A,
+0x7589,0x7582,0x7594,0x759A,0x759D,0x75A5,0x75A3,0x75C2,
+0x75B3,0x75C3,0x75B5,0x75BD,0x75B8,0x75BC,0x75B1,0x75CD,
+0x75CA,0x75D2,0x75D9,0x75E3,0x75DE,0x75FE,0x75FF, 0,
+0x75FC,0x7601,0x75F0,0x75FA,0x75F2,0x75F3,0x760B,0x760D,
+0x7609,0x761F,0x7627,0x7620,0x7621,0x7622,0x7624,0x7634,
+0x7630,0x763B,0x7647,0x7648,0x7646,0x765C,0x7658,0x7661,
+0x7662,0x7668,0x7669,0x766A,0x7667,0x766C,0x7670,0x7672,
+0x7676,0x7678,0x767C,0x7680,0x7683,0x7688,0x768B,0x768E,
+0x7696,0x7693,0x7699,0x769A,0x76B0,0x76B4,0x76B8,0x76B9,
+0x76BA,0x76C2,0x76CD,0x76D6,0x76D2,0x76DE,0x76E1,0x76E5,
+0x76E7,0x76EA,0x862F,0x76FB,0x7708,0x7707,0x7704,0x7729,
+0x7724,0x771E,0x7725,0x7726,0x771B,0x7737,0x7738,0x7747,
+0x775A,0x7768,0x776B,0x775B,0x7765,0x777F,0x777E,0x7779,
+0x778E,0x778B,0x7791,0x77A0,0x779E,0x77B0,0x77B6,0x77B9,
+0x77BF,0x77BC,0x77BD,0x77BB,0x77C7,0x77CD,0x77D7,0x77DA,
+0x77DC,0x77E3,0x77EE,0x77FC,0x780C,0x7812,0x7926,0x7820,
+0x792A,0x7845,0x788E,0x7874,0x7886,0x787C,0x789A,0x788C,
+0x78A3,0x78B5,0x78AA,0x78AF,0x78D1,0x78C6,0x78CB,0x78D4,
+0x78BE,0x78BC,0x78C5,0x78CA,0x78EC, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x78E7,0x78DA,0x78FD,0x78F4,0x7907,0x7912,0x7911,0x7919,
+0x792C,0x792B,0x7940,0x7960,0x7957,0x795F,0x795A,0x7955,
+0x7953,0x797A,0x797F,0x798A,0x799D,0x79A7,0x9F4B,0x79AA,
+0x79AE,0x79B3,0x79B9,0x79BA,0x79C9,0x79D5,0x79E7,0x79EC,
+0x79E1,0x79E3,0x7A08,0x7A0D,0x7A18,0x7A19,0x7A20,0x7A1F,
+0x7980,0x7A31,0x7A3B,0x7A3E,0x7A37,0x7A43,0x7A57,0x7A49,
+0x7A61,0x7A62,0x7A69,0x9F9D,0x7A70,0x7A79,0x7A7D,0x7A88,
+0x7A97,0x7A95,0x7A98,0x7A96,0x7AA9,0x7AC8,0x7AB0, 0,
+0x7AB6,0x7AC5,0x7AC4,0x7ABF,0x9083,0x7AC7,0x7ACA,0x7ACD,
+0x7ACF,0x7AD5,0x7AD3,0x7AD9,0x7ADA,0x7ADD,0x7AE1,0x7AE2,
+0x7AE6,0x7AED,0x7AF0,0x7B02,0x7B0F,0x7B0A,0x7B06,0x7B33,
+0x7B18,0x7B19,0x7B1E,0x7B35,0x7B28,0x7B36,0x7B50,0x7B7A,
+0x7B04,0x7B4D,0x7B0B,0x7B4C,0x7B45,0x7B75,0x7B65,0x7B74,
+0x7B67,0x7B70,0x7B71,0x7B6C,0x7B6E,0x7B9D,0x7B98,0x7B9F,
+0x7B8D,0x7B9C,0x7B9A,0x7B8B,0x7B92,0x7B8F,0x7B5D,0x7B99,
+0x7BCB,0x7BC1,0x7BCC,0x7BCF,0x7BB4,0x7BC6,0x7BDD,0x7BE9,
+0x7C11,0x7C14,0x7BE6,0x7BE5,0x7C60,0x7C00,0x7C07,0x7C13,
+0x7BF3,0x7BF7,0x7C17,0x7C0D,0x7BF6,0x7C23,0x7C27,0x7C2A,
+0x7C1F,0x7C37,0x7C2B,0x7C3D,0x7C4C,0x7C43,0x7C54,0x7C4F,
+0x7C40,0x7C50,0x7C58,0x7C5F,0x7C64,0x7C56,0x7C65,0x7C6C,
+0x7C75,0x7C83,0x7C90,0x7CA4,0x7CAD,0x7CA2,0x7CAB,0x7CA1,
+0x7CA8,0x7CB3,0x7CB2,0x7CB1,0x7CAE,0x7CB9,0x7CBD,0x7CC0,
+0x7CC5,0x7CC2,0x7CD8,0x7CD2,0x7CDC,0x7CE2,0x9B3B,0x7CEF,
+0x7CF2,0x7CF4,0x7CF6,0x7CFA,0x7D06, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7D02,0x7D1C,0x7D15,0x7D0A,0x7D45,0x7D4B,0x7D2E,0x7D32,
+0x7D3F,0x7D35,0x7D46,0x7D73,0x7D56,0x7D4E,0x7D72,0x7D68,
+0x7D6E,0x7D4F,0x7D63,0x7D93,0x7D89,0x7D5B,0x7D8F,0x7D7D,
+0x7D9B,0x7DBA,0x7DAE,0x7DA3,0x7DB5,0x7DC7,0x7DBD,0x7DAB,
+0x7E3D,0x7DA2,0x7DAF,0x7DDC,0x7DB8,0x7D9F,0x7DB0,0x7DD8,
+0x7DDD,0x7DE4,0x7DDE,0x7DFB,0x7DF2,0x7DE1,0x7E05,0x7E0A,
+0x7E23,0x7E21,0x7E12,0x7E31,0x7E1F,0x7E09,0x7E0B,0x7E22,
+0x7E46,0x7E66,0x7E3B,0x7E35,0x7E39,0x7E43,0x7E37, 0,
+0x7E32,0x7E3A,0x7E67,0x7E5D,0x7E56,0x7E5E,0x7E59,0x7E5A,
+0x7E79,0x7E6A,0x7E69,0x7E7C,0x7E7B,0x7E83,0x7DD5,0x7E7D,
+0x8FAE,0x7E7F,0x7E88,0x7E89,0x7E8C,0x7E92,0x7E90,0x7E93,
+0x7E94,0x7E96,0x7E8E,0x7E9B,0x7E9C,0x7F38,0x7F3A,0x7F45,
+0x7F4C,0x7F4D,0x7F4E,0x7F50,0x7F51,0x7F55,0x7F54,0x7F58,
+0x7F5F,0x7F60,0x7F68,0x7F69,0x7F67,0x7F78,0x7F82,0x7F86,
+0x7F83,0x7F88,0x7F87,0x7F8C,0x7F94,0x7F9E,0x7F9D,0x7F9A,
+0x7FA3,0x7FAF,0x7FB2,0x7FB9,0x7FAE,0x7FB6,0x7FB8,0x8B71,
+0x7FC5,0x7FC6,0x7FCA,0x7FD5,0x7FD4,0x7FE1,0x7FE6,0x7FE9,
+0x7FF3,0x7FF9,0x98DC,0x8006,0x8004,0x800B,0x8012,0x8018,
+0x8019,0x801C,0x8021,0x8028,0x803F,0x803B,0x804A,0x8046,
+0x8052,0x8058,0x805A,0x805F,0x8062,0x8068,0x8073,0x8072,
+0x8070,0x8076,0x8079,0x807D,0x807F,0x8084,0x8086,0x8085,
+0x809B,0x8093,0x809A,0x80AD,0x5190,0x80AC,0x80DB,0x80E5,
+0x80D9,0x80DD,0x80C4,0x80DA,0x80D6,0x8109,0x80EF,0x80F1,
+0x811B,0x8129,0x8123,0x812F,0x814B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x968B,0x8146,0x813E,0x8153,0x8151,0x80FC,0x8171,0x816E,
+0x8165,0x8166,0x8174,0x8183,0x8188,0x818A,0x8180,0x8182,
+0x81A0,0x8195,0x81A4,0x81A3,0x815F,0x8193,0x81A9,0x81B0,
+0x81B5,0x81BE,0x81B8,0x81BD,0x81C0,0x81C2,0x81BA,0x81C9,
+0x81CD,0x81D1,0x81D9,0x81D8,0x81C8,0x81DA,0x81DF,0x81E0,
+0x81E7,0x81FA,0x81FB,0x81FE,0x8201,0x8202,0x8205,0x8207,
+0x820A,0x820D,0x8210,0x8216,0x8229,0x822B,0x8238,0x8233,
+0x8240,0x8259,0x8258,0x825D,0x825A,0x825F,0x8264, 0,
+0x8262,0x8268,0x826A,0x826B,0x822E,0x8271,0x8277,0x8278,
+0x827E,0x828D,0x8292,0x82AB,0x829F,0x82BB,0x82AC,0x82E1,
+0x82E3,0x82DF,0x82D2,0x82F4,0x82F3,0x82FA,0x8393,0x8303,
+0x82FB,0x82F9,0x82DE,0x8306,0x82DC,0x8309,0x82D9,0x8335,
+0x8334,0x8316,0x8332,0x8331,0x8340,0x8339,0x8350,0x8345,
+0x832F,0x832B,0x8317,0x8318,0x8385,0x839A,0x83AA,0x839F,
+0x83A2,0x8396,0x8323,0x838E,0x8387,0x838A,0x837C,0x83B5,
+0x8373,0x8375,0x83A0,0x8389,0x83A8,0x83F4,0x8413,0x83EB,
+0x83CE,0x83FD,0x8403,0x83D8,0x840B,0x83C1,0x83F7,0x8407,
+0x83E0,0x83F2,0x840D,0x8422,0x8420,0x83BD,0x8438,0x8506,
+0x83FB,0x846D,0x842A,0x843C,0x855A,0x8484,0x8477,0x846B,
+0x84AD,0x846E,0x8482,0x8469,0x8446,0x842C,0x846F,0x8479,
+0x8435,0x84CA,0x8462,0x84B9,0x84BF,0x849F,0x84D9,0x84CD,
+0x84BB,0x84DA,0x84D0,0x84C1,0x84C6,0x84D6,0x84A1,0x8521,
+0x84FF,0x84F4,0x8517,0x8518,0x852C,0x851F,0x8515,0x8514,
+0x84FC,0x8540,0x8563,0x8558,0x8548, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8541,0x8602,0x854B,0x8555,0x8580,0x85A4,0x8588,0x8591,
+0x858A,0x85A8,0x856D,0x8594,0x859B,0x85EA,0x8587,0x859C,
+0x8577,0x857E,0x8590,0x85C9,0x85BA,0x85CF,0x85B9,0x85D0,
+0x85D5,0x85DD,0x85E5,0x85DC,0x85F9,0x860A,0x8613,0x860B,
+0x85FE,0x85FA,0x8606,0x8622,0x861A,0x8630,0x863F,0x864D,
+0x4E55,0x8654,0x865F,0x8667,0x8671,0x8693,0x86A3,0x86A9,
+0x86AA,0x868B,0x868C,0x86B6,0x86AF,0x86C4,0x86C6,0x86B0,
+0x86C9,0x8823,0x86AB,0x86D4,0x86DE,0x86E9,0x86EC, 0,
+0x86DF,0x86DB,0x86EF,0x8712,0x8706,0x8708,0x8700,0x8703,
+0x86FB,0x8711,0x8709,0x870D,0x86F9,0x870A,0x8734,0x873F,
+0x8737,0x873B,0x8725,0x8729,0x871A,0x8760,0x875F,0x8778,
+0x874C,0x874E,0x8774,0x8757,0x8768,0x876E,0x8759,0x8753,
+0x8763,0x876A,0x8805,0x87A2,0x879F,0x8782,0x87AF,0x87CB,
+0x87BD,0x87C0,0x87D0,0x96D6,0x87AB,0x87C4,0x87B3,0x87C7,
+0x87C6,0x87BB,0x87EF,0x87F2,0x87E0,0x880F,0x880D,0x87FE,
+0x87F6,0x87F7,0x880E,0x87D2,0x8811,0x8816,0x8815,0x8822,
+0x8821,0x8831,0x8836,0x8839,0x8827,0x883B,0x8844,0x8842,
+0x8852,0x8859,0x885E,0x8862,0x886B,0x8881,0x887E,0x889E,
+0x8875,0x887D,0x88B5,0x8872,0x8882,0x8897,0x8892,0x88AE,
+0x8899,0x88A2,0x888D,0x88A4,0x88B0,0x88BF,0x88B1,0x88C3,
+0x88C4,0x88D4,0x88D8,0x88D9,0x88DD,0x88F9,0x8902,0x88FC,
+0x88F4,0x88E8,0x88F2,0x8904,0x890C,0x890A,0x8913,0x8943,
+0x891E,0x8925,0x892A,0x892B,0x8941,0x8944,0x893B,0x8936,
+0x8938,0x894C,0x891D,0x8960,0x895E, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8966,0x8964,0x896D,0x896A,0x896F,0x8974,0x8977,0x897E,
+0x8983,0x8988,0x898A,0x8993,0x8998,0x89A1,0x89A9,0x89A6,
+0x89AC,0x89AF,0x89B2,0x89BA,0x89BD,0x89BF,0x89C0,0x89DA,
+0x89DC,0x89DD,0x89E7,0x89F4,0x89F8,0x8A03,0x8A16,0x8A10,
+0x8A0C,0x8A1B,0x8A1D,0x8A25,0x8A36,0x8A41,0x8A5B,0x8A52,
+0x8A46,0x8A48,0x8A7C,0x8A6D,0x8A6C,0x8A62,0x8A85,0x8A82,
+0x8A84,0x8AA8,0x8AA1,0x8A91,0x8AA5,0x8AA6,0x8A9A,0x8AA3,
+0x8AC4,0x8ACD,0x8AC2,0x8ADA,0x8AEB,0x8AF3,0x8AE7, 0,
+0x8AE4,0x8AF1,0x8B14,0x8AE0,0x8AE2,0x8AF7,0x8ADE,0x8ADB,
+0x8B0C,0x8B07,0x8B1A,0x8AE1,0x8B16,0x8B10,0x8B17,0x8B20,
+0x8B33,0x97AB,0x8B26,0x8B2B,0x8B3E,0x8B28,0x8B41,0x8B4C,
+0x8B4F,0x8B4E,0x8B49,0x8B56,0x8B5B,0x8B5A,0x8B6B,0x8B5F,
+0x8B6C,0x8B6F,0x8B74,0x8B7D,0x8B80,0x8B8C,0x8B8E,0x8B92,
+0x8B93,0x8B96,0x8B99,0x8B9A,0x8C3A,0x8C41,0x8C3F,0x8C48,
+0x8C4C,0x8C4E,0x8C50,0x8C55,0x8C62,0x8C6C,0x8C78,0x8C7A,
+0x8C82,0x8C89,0x8C85,0x8C8A,0x8C8D,0x8C8E,0x8C94,0x8C7C,
+0x8C98,0x621D,0x8CAD,0x8CAA,0x8CBD,0x8CB2,0x8CB3,0x8CAE,
+0x8CB6,0x8CC8,0x8CC1,0x8CE4,0x8CE3,0x8CDA,0x8CFD,0x8CFA,
+0x8CFB,0x8D04,0x8D05,0x8D0A,0x8D07,0x8D0F,0x8D0D,0x8D10,
+0x9F4E,0x8D13,0x8CCD,0x8D14,0x8D16,0x8D67,0x8D6D,0x8D71,
+0x8D73,0x8D81,0x8D99,0x8DC2,0x8DBE,0x8DBA,0x8DCF,0x8DDA,
+0x8DD6,0x8DCC,0x8DDB,0x8DCB,0x8DEA,0x8DEB,0x8DDF,0x8DE3,
+0x8DFC,0x8E08,0x8E09,0x8DFF,0x8E1D,0x8E1E,0x8E10,0x8E1F,
+0x8E42,0x8E35,0x8E30,0x8E34,0x8E4A, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8E47,0x8E49,0x8E4C,0x8E50,0x8E48,0x8E59,0x8E64,0x8E60,
+0x8E2A,0x8E63,0x8E55,0x8E76,0x8E72,0x8E7C,0x8E81,0x8E87,
+0x8E85,0x8E84,0x8E8B,0x8E8A,0x8E93,0x8E91,0x8E94,0x8E99,
+0x8EAA,0x8EA1,0x8EAC,0x8EB0,0x8EC6,0x8EB1,0x8EBE,0x8EC5,
+0x8EC8,0x8ECB,0x8EDB,0x8EE3,0x8EFC,0x8EFB,0x8EEB,0x8EFE,
+0x8F0A,0x8F05,0x8F15,0x8F12,0x8F19,0x8F13,0x8F1C,0x8F1F,
+0x8F1B,0x8F0C,0x8F26,0x8F33,0x8F3B,0x8F39,0x8F45,0x8F42,
+0x8F3E,0x8F4C,0x8F49,0x8F46,0x8F4E,0x8F57,0x8F5C, 0,
+0x8F62,0x8F63,0x8F64,0x8F9C,0x8F9F,0x8FA3,0x8FAD,0x8FAF,
+0x8FB7,0x8FDA,0x8FE5,0x8FE2,0x8FEA,0x8FEF,0x9087,0x8FF4,
+0x9005,0x8FF9,0x8FFA,0x9011,0x9015,0x9021,0x900D,0x901E,
+0x9016,0x900B,0x9027,0x9036,0x9035,0x9039,0x8FF8,0x904F,
+0x9050,0x9051,0x9052,0x900E,0x9049,0x903E,0x9056,0x9058,
+0x905E,0x9068,0x906F,0x9076,0x96A8,0x9072,0x9082,0x907D,
+0x9081,0x9080,0x908A,0x9089,0x908F,0x90A8,0x90AF,0x90B1,
+0x90B5,0x90E2,0x90E4,0x6248,0x90DB,0x9102,0x9112,0x9119,
+0x9132,0x9130,0x914A,0x9156,0x9158,0x9163,0x9165,0x9169,
+0x9173,0x9172,0x918B,0x9189,0x9182,0x91A2,0x91AB,0x91AF,
+0x91AA,0x91B5,0x91B4,0x91BA,0x91C0,0x91C1,0x91C9,0x91CB,
+0x91D0,0x91D6,0x91DF,0x91E1,0x91DB,0x91FC,0x91F5,0x91F6,
+0x921E,0x91FF,0x9214,0x922C,0x9215,0x9211,0x925E,0x9257,
+0x9245,0x9249,0x9264,0x9248,0x9295,0x923F,0x924B,0x9250,
+0x929C,0x9296,0x9293,0x929B,0x925A,0x92CF,0x92B9,0x92B7,
+0x92E9,0x930F,0x92FA,0x9344,0x932E, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9319,0x9322,0x931A,0x9323,0x933A,0x9335,0x933B,0x935C,
+0x9360,0x937C,0x936E,0x9356,0x93B0,0x93AC,0x93AD,0x9394,
+0x93B9,0x93D6,0x93D7,0x93E8,0x93E5,0x93D8,0x93C3,0x93DD,
+0x93D0,0x93C8,0x93E4,0x941A,0x9414,0x9413,0x9403,0x9407,
+0x9410,0x9436,0x942B,0x9435,0x9421,0x943A,0x9441,0x9452,
+0x9444,0x945B,0x9460,0x9462,0x945E,0x946A,0x9229,0x9470,
+0x9475,0x9477,0x947D,0x945A,0x947C,0x947E,0x9481,0x947F,
+0x9582,0x9587,0x958A,0x9594,0x9596,0x9598,0x9599, 0,
+0x95A0,0x95A8,0x95A7,0x95AD,0x95BC,0x95BB,0x95B9,0x95BE,
+0x95CA,0x6FF6,0x95C3,0x95CD,0x95CC,0x95D5,0x95D4,0x95D6,
+0x95DC,0x95E1,0x95E5,0x95E2,0x9621,0x9628,0x962E,0x962F,
+0x9642,0x964C,0x964F,0x964B,0x9677,0x965C,0x965E,0x965D,
+0x965F,0x9666,0x9672,0x966C,0x968D,0x9698,0x9695,0x9697,
+0x96AA,0x96A7,0x96B1,0x96B2,0x96B0,0x96B4,0x96B6,0x96B8,
+0x96B9,0x96CE,0x96CB,0x96C9,0x96CD,0x894D,0x96DC,0x970D,
+0x96D5,0x96F9,0x9704,0x9706,0x9708,0x9713,0x970E,0x9711,
+0x970F,0x9716,0x9719,0x9724,0x972A,0x9730,0x9739,0x973D,
+0x973E,0x9744,0x9746,0x9748,0x9742,0x9749,0x975C,0x9760,
+0x9764,0x9766,0x9768,0x52D2,0x976B,0x9771,0x9779,0x9785,
+0x977C,0x9781,0x977A,0x9786,0x978B,0x978F,0x9790,0x979C,
+0x97A8,0x97A6,0x97A3,0x97B3,0x97B4,0x97C3,0x97C6,0x97C8,
+0x97CB,0x97DC,0x97ED,0x9F4F,0x97F2,0x7ADF,0x97F6,0x97F5,
+0x980F,0x980C,0x9838,0x9824,0x9821,0x9837,0x983D,0x9846,
+0x984F,0x984B,0x986B,0x986F,0x9870, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9871,0x9874,0x9873,0x98AA,0x98AF,0x98B1,0x98B6,0x98C4,
+0x98C3,0x98C6,0x98E9,0x98EB,0x9903,0x9909,0x9912,0x9914,
+0x9918,0x9921,0x991D,0x991E,0x9924,0x9920,0x992C,0x992E,
+0x993D,0x993E,0x9942,0x9949,0x9945,0x9950,0x994B,0x9951,
+0x9952,0x994C,0x9955,0x9997,0x9998,0x99A5,0x99AD,0x99AE,
+0x99BC,0x99DF,0x99DB,0x99DD,0x99D8,0x99D1,0x99ED,0x99EE,
+0x99F1,0x99F2,0x99FB,0x99F8,0x9A01,0x9A0F,0x9A05,0x99E2,
+0x9A19,0x9A2B,0x9A37,0x9A45,0x9A42,0x9A40,0x9A43, 0,
+0x9A3E,0x9A55,0x9A4D,0x9A5B,0x9A57,0x9A5F,0x9A62,0x9A65,
+0x9A64,0x9A69,0x9A6B,0x9A6A,0x9AAD,0x9AB0,0x9ABC,0x9AC0,
+0x9ACF,0x9AD1,0x9AD3,0x9AD4,0x9ADE,0x9ADF,0x9AE2,0x9AE3,
+0x9AE6,0x9AEF,0x9AEB,0x9AEE,0x9AF4,0x9AF1,0x9AF7,0x9AFB,
+0x9B06,0x9B18,0x9B1A,0x9B1F,0x9B22,0x9B23,0x9B25,0x9B27,
+0x9B28,0x9B29,0x9B2A,0x9B2E,0x9B2F,0x9B32,0x9B44,0x9B43,
+0x9B4F,0x9B4D,0x9B4E,0x9B51,0x9B58,0x9B74,0x9B93,0x9B83,
+0x9B91,0x9B96,0x9B97,0x9B9F,0x9BA0,0x9BA8,0x9BB4,0x9BC0,
+0x9BCA,0x9BB9,0x9BC6,0x9BCF,0x9BD1,0x9BD2,0x9BE3,0x9BE2,
+0x9BE4,0x9BD4,0x9BE1,0x9C3A,0x9BF2,0x9BF1,0x9BF0,0x9C15,
+0x9C14,0x9C09,0x9C13,0x9C0C,0x9C06,0x9C08,0x9C12,0x9C0A,
+0x9C04,0x9C2E,0x9C1B,0x9C25,0x9C24,0x9C21,0x9C30,0x9C47,
+0x9C32,0x9C46,0x9C3E,0x9C5A,0x9C60,0x9C67,0x9C76,0x9C78,
+0x9CE7,0x9CEC,0x9CF0,0x9D09,0x9D08,0x9CEB,0x9D03,0x9D06,
+0x9D2A,0x9D26,0x9DAF,0x9D23,0x9D1F,0x9D44,0x9D15,0x9D12,
+0x9D41,0x9D3F,0x9D3E,0x9D46,0x9D48, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9D5D,0x9D5E,0x9D64,0x9D51,0x9D50,0x9D59,0x9D72,0x9D89,
+0x9D87,0x9DAB,0x9D6F,0x9D7A,0x9D9A,0x9DA4,0x9DA9,0x9DB2,
+0x9DC4,0x9DC1,0x9DBB,0x9DB8,0x9DBA,0x9DC6,0x9DCF,0x9DC2,
+0x9DD9,0x9DD3,0x9DF8,0x9DE6,0x9DED,0x9DEF,0x9DFD,0x9E1A,
+0x9E1B,0x9E1E,0x9E75,0x9E79,0x9E7D,0x9E81,0x9E88,0x9E8B,
+0x9E8C,0x9E92,0x9E95,0x9E91,0x9E9D,0x9EA5,0x9EA9,0x9EB8,
+0x9EAA,0x9EAD,0x9761,0x9ECC,0x9ECE,0x9ECF,0x9ED0,0x9ED4,
+0x9EDC,0x9EDE,0x9EDD,0x9EE0,0x9EE5,0x9EE8,0x9EEF, 0,
+0x9EF4,0x9EF6,0x9EF7,0x9EF9,0x9EFB,0x9EFC,0x9EFD,0x9F07,
+0x9F08,0x76B7,0x9F15,0x9F21,0x9F2C,0x9F3E,0x9F4A,0x9F52,
+0x9F54,0x9F63,0x9F5F,0x9F60,0x9F61,0x9F66,0x9F67,0x9F6C,
+0x9F6A,0x9F77,0x9F72,0x9F76,0x9F95,0x9F9C,0x9FA0,0x582F,
+0x69C7,0x9059,0x7464,0x51DC,0x7199};
+
+static int func_sjis_uni_onechar(int code){
+ if ((code>=0x00A1)&&(code<=0x00DF))
+ return(tab_sjis_uni0[code-0x00A1]);
+ if ((code>=0x8140)&&(code<=0x84BE))
+ return(tab_sjis_uni1[code-0x8140]);
+ if ((code>=0x889F)&&(code<=0x9FFC))
+ return(tab_sjis_uni2[code-0x889F]);
+ if ((code>=0xE040)&&(code<=0xEAA4))
+ return(tab_sjis_uni3[code-0xE040]);
+ return(0);
+}
+/* page 0 0x005C-0x00F7 */
+static uint16 tab_uni_sjis0[]={
+0x815F, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8191,0x8192,
+ 0, 0, 0,0x8198,0x814E, 0, 0, 0,
+0x81CA, 0, 0, 0,0x818B,0x817D, 0, 0,
+0x814C, 0,0x81F7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x817E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x8180};
+
+/* page 1 0x0391-0x0451 */
+static uint16 tab_uni_sjis1[]={
+0x839F,0x83A0,0x83A1,0x83A2,0x83A3,0x83A4,0x83A5,0x83A6,
+0x83A7,0x83A8,0x83A9,0x83AA,0x83AB,0x83AC,0x83AD,0x83AE,
+0x83AF, 0,0x83B0,0x83B1,0x83B2,0x83B3,0x83B4,0x83B5,
+0x83B6, 0, 0, 0, 0, 0, 0, 0,
+0x83BF,0x83C0,0x83C1,0x83C2,0x83C3,0x83C4,0x83C5,0x83C6,
+0x83C7,0x83C8,0x83C9,0x83CA,0x83CB,0x83CC,0x83CD,0x83CE,
+0x83CF, 0,0x83D0,0x83D1,0x83D2,0x83D3,0x83D4,0x83D5,
+0x83D6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8446, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x8440,
+0x8441,0x8442,0x8443,0x8444,0x8445,0x8447,0x8448,0x8449,
+0x844A,0x844B,0x844C,0x844D,0x844E,0x844F,0x8450,0x8451,
+0x8452,0x8453,0x8454,0x8455,0x8456,0x8457,0x8458,0x8459,
+0x845A,0x845B,0x845C,0x845D,0x845E,0x845F,0x8460,0x8470,
+0x8471,0x8472,0x8473,0x8474,0x8475,0x8477,0x8478,0x8479,
+0x847A,0x847B,0x847C,0x847D,0x847E,0x8480,0x8481,0x8482,
+0x8483,0x8484,0x8485,0x8486,0x8487,0x8488,0x8489,0x848A,
+0x848B,0x848C,0x848D,0x848E,0x848F,0x8490,0x8491, 0,
+0x8476};
+
+/* page 2 0x2010-0x2312 */
+static uint16 tab_uni_sjis2[]={
+0x815D, 0, 0, 0, 0,0x815C,0x8161, 0,
+0x8165,0x8166, 0, 0,0x8167,0x8168, 0, 0,
+0x81F5,0x81F6, 0, 0, 0,0x8164,0x8163, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x81F1, 0,0x818C,0x818D, 0, 0, 0, 0,
+ 0, 0, 0,0x81A6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x818E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x81F0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x81A9,0x81AA,0x81A8,0x81AB, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x81CB, 0,0x81CC, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x81CD, 0,0x81DD,0x81CE, 0, 0, 0,0x81DE,
+0x81B8, 0, 0,0x81B9, 0, 0, 0, 0,
+ 0, 0,0x817C, 0, 0, 0, 0, 0,
+ 0, 0,0x81E3, 0, 0,0x81E5,0x8187, 0,
+0x81DA, 0, 0, 0, 0, 0, 0,0x81C8,
+0x81C9,0x81BF,0x81BE,0x81E7,0x81E8, 0, 0, 0,
+ 0, 0, 0, 0,0x8188,0x81E6, 0, 0,
+ 0, 0, 0, 0, 0,0x81E4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x81E0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8182,0x81DF, 0, 0, 0, 0,0x8185,0x8186,
+ 0, 0,0x81E1,0x81E2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x81BC,0x81BD, 0, 0,0x81BA,0x81BB,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x81DB, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x81DC};
+
+/* page 3 0x2500-0x266F */
+static uint16 tab_uni_sjis3[]={
+0x849F,0x84AA,0x84A0,0x84AB, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x84A1, 0, 0,0x84AC,
+0x84A2, 0, 0,0x84AD,0x84A4, 0, 0,0x84AF,
+0x84A3, 0, 0,0x84AE,0x84A5,0x84BA, 0, 0,
+0x84B5, 0, 0,0x84B0,0x84A7,0x84BC, 0, 0,
+0x84B7, 0, 0,0x84B2,0x84A6, 0, 0,0x84B6,
+0x84BB, 0, 0,0x84B1,0x84A8, 0, 0,0x84B8,
+0x84BD, 0, 0,0x84B3,0x84A9, 0, 0,0x84B9,
+ 0, 0,0x84BE, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x84B4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x81A1,0x81A0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x81A3,0x81A2, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x81A5,0x81A4, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x819F,0x819E,
+ 0, 0, 0,0x819B, 0, 0,0x819D,0x819C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x81FC,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x819A,0x8199, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x818A, 0,0x8189, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x81F4, 0, 0,0x81F3, 0,0x81F2
+};
+
+/* page 4 0x3000-0x30FE */
+static uint16 tab_uni_sjis4[]={
+0x8140,0x8141,0x8142,0x8156, 0,0x8158,0x8159,0x815A,
+0x8171,0x8172,0x8173,0x8174,0x8175,0x8176,0x8177,0x8178,
+0x8179,0x817A,0x81A7,0x81AC,0x816B,0x816C, 0, 0,
+ 0, 0, 0, 0,0x8160, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x829F,0x82A0,0x82A1,0x82A2,0x82A3,0x82A4,0x82A5,
+0x82A6,0x82A7,0x82A8,0x82A9,0x82AA,0x82AB,0x82AC,0x82AD,
+0x82AE,0x82AF,0x82B0,0x82B1,0x82B2,0x82B3,0x82B4,0x82B5,
+0x82B6,0x82B7,0x82B8,0x82B9,0x82BA,0x82BB,0x82BC,0x82BD,
+0x82BE,0x82BF,0x82C0,0x82C1,0x82C2,0x82C3,0x82C4,0x82C5,
+0x82C6,0x82C7,0x82C8,0x82C9,0x82CA,0x82CB,0x82CC,0x82CD,
+0x82CE,0x82CF,0x82D0,0x82D1,0x82D2,0x82D3,0x82D4,0x82D5,
+0x82D6,0x82D7,0x82D8,0x82D9,0x82DA,0x82DB,0x82DC,0x82DD,
+0x82DE,0x82DF,0x82E0,0x82E1,0x82E2,0x82E3,0x82E4,0x82E5,
+0x82E6,0x82E7,0x82E8,0x82E9,0x82EA,0x82EB,0x82EC,0x82ED,
+0x82EE,0x82EF,0x82F0,0x82F1, 0, 0, 0, 0,
+ 0, 0, 0,0x814A,0x814B,0x8154,0x8155, 0,
+ 0,0x8340,0x8341,0x8342,0x8343,0x8344,0x8345,0x8346,
+0x8347,0x8348,0x8349,0x834A,0x834B,0x834C,0x834D,0x834E,
+0x834F,0x8350,0x8351,0x8352,0x8353,0x8354,0x8355,0x8356,
+0x8357,0x8358,0x8359,0x835A,0x835B,0x835C,0x835D,0x835E,
+0x835F,0x8360,0x8361,0x8362,0x8363,0x8364,0x8365,0x8366,
+0x8367,0x8368,0x8369,0x836A,0x836B,0x836C,0x836D,0x836E,
+0x836F,0x8370,0x8371,0x8372,0x8373,0x8374,0x8375,0x8376,
+0x8377,0x8378,0x8379,0x837A,0x837B,0x837C,0x837D,0x837E,
+0x8380,0x8381,0x8382,0x8383,0x8384,0x8385,0x8386,0x8387,
+0x8388,0x8389,0x838A,0x838B,0x838C,0x838D,0x838E,0x838F,
+0x8390,0x8391,0x8392,0x8393,0x8394,0x8395,0x8396, 0,
+ 0, 0, 0,0x8145,0x815B,0x8152,0x8153};
+
+/* page 5 0x4E00-0x9481 */
+static uint16 tab_uni_sjis5[]={
+0x88EA,0x929A, 0,0x8EB5, 0, 0, 0,0x969C,
+0x8FE4,0x8E4F,0x8FE3,0x89BA, 0,0x9573,0x975E, 0,
+0x98A0,0x894E, 0, 0,0x8A8E,0x98A1,0x90A2,0x99C0,
+0x8B75,0x95B8, 0, 0, 0, 0,0x8FE5, 0,
+ 0,0x97BC, 0, 0, 0, 0,0x95C0, 0,
+ 0, 0,0x98A2, 0, 0,0x9286, 0, 0,
+ 0,0x98A3,0x8BF8, 0, 0, 0,0x98A4, 0,
+0x8ADB,0x924F, 0,0x8EE5,0x98A5, 0, 0,0x98A6,
+ 0, 0,0x98A7,0x9454, 0,0x8B76, 0, 0,
+ 0, 0, 0,0x9456, 0,0x93E1,0x8CC1,0x9652,
+ 0, 0, 0, 0, 0,0xE568,0x98A8,0x8FE6,
+0x98A9,0x89B3, 0, 0, 0,0x8BE3,0x8CEE,0x96E7,
+ 0, 0,0x9BA4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9790, 0,0x93FB, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8AA3, 0,
+0x8B54, 0,0x98AA, 0, 0,0x98AB,0x97B9, 0,
+0x975C,0x9188,0x98AD,0x8E96,0x93F1, 0,0x98B0, 0,
+ 0,0x895D,0x8CDD, 0,0x8CDC,0x88E4, 0, 0,
+0x986A,0x9869, 0,0x8DB1,0x889F, 0,0x98B1,0x98B2,
+0x98B3,0x9653,0x98B4, 0,0x8CF0,0x88E5,0x9692, 0,
+0x8B9C, 0, 0,0x8B9D,0x8B9E,0x92E0,0x97BA, 0,
+0x98B5, 0, 0,0x98B6, 0, 0,0x98B7, 0,
+ 0, 0,0x906C, 0, 0, 0, 0, 0,
+0x8F59,0x906D,0x98BC, 0,0x98BA, 0,0x98BB,0x8B77,
+ 0, 0,0x8DA1,0x89EE, 0,0x98B9,0x98B8,0x95A7,
+ 0, 0, 0, 0,0x8E65,0x8E64,0x91BC,0x98BD,
+0x9574,0x90E5, 0, 0, 0,0x8157,0x98BE,0x98C0,
+ 0, 0, 0,0x91E3,0x97DF,0x88C8, 0, 0,
+ 0, 0, 0, 0, 0,0x98BF,0x89BC, 0,
+0x8BC2, 0,0x9287, 0, 0, 0,0x8C8F,0x98C1,
+ 0, 0, 0,0x9443, 0, 0, 0, 0,
+ 0,0x8AE9, 0, 0, 0, 0, 0, 0,
+ 0,0x98C2,0x88C9, 0, 0,0x8CDE,0x8AEA,0x959A,
+0x94B0,0x8B78, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x89EF, 0,0x98E5,0x9360, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x948C,
+0x98C4, 0, 0, 0,0x94BA, 0,0x97E0, 0,
+0x904C, 0,0x8E66, 0,0x8E97,0x89BE, 0, 0,
+ 0, 0, 0,0x92CF, 0, 0,0x9241,0x98C8,
+ 0, 0, 0, 0, 0,0x88CA,0x92E1,0x8F5A,
+0x8DB2,0x9743, 0,0x91CC, 0,0x89BD, 0,0x98C7,
+ 0,0x975D,0x98C3,0x98C5,0x8DEC,0x98C6,0x9B43, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x98CE, 0, 0, 0, 0, 0,0x98D1,
+0x98CF, 0, 0,0x89C0, 0,0x95B9,0x98C9, 0,
+ 0, 0, 0,0x98CD,0x8CF1, 0, 0,0x8E67,
+ 0, 0, 0,0x8AA4, 0, 0,0x98D2, 0,
+0x98CA, 0, 0,0x97E1, 0,0x8E98, 0,0x98CB,
+ 0,0x98D0, 0, 0, 0, 0,0x98D3, 0,
+0x98CC, 0, 0,0x8B9F, 0,0x88CB, 0, 0,
+0x8BA0,0x89BF, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x9B44, 0,0x9699,0x958E,0x8CF2,
+ 0, 0, 0, 0, 0,0x904E,0x97B5, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x95D6,
+ 0, 0,0x8C57,0x91A3,0x89E2, 0, 0, 0,
+ 0, 0,0x8F72, 0, 0, 0,0x98D7, 0,
+0x98DC,0x98DA, 0, 0,0x98D5, 0, 0,0x91AD,
+0x98D8, 0,0x98DB,0x98D9, 0,0x95DB, 0,0x98D6,
+ 0,0x904D, 0,0x9693,0x98DD,0x98DE, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8F43,0x98EB,
+ 0, 0, 0,0x946F, 0,0x9555,0x98E6, 0,
+0x95EE, 0,0x89B4, 0, 0, 0,0x98EA, 0,
+ 0, 0, 0, 0, 0,0x98E4,0x98ED, 0,
+ 0,0x9171, 0,0x8CC2, 0,0x947B, 0,0xE0C5,
+ 0,0x98EC,0x937C, 0,0x98E1, 0,0x8CF4, 0,
+ 0,0x8CF3,0x98DF, 0, 0, 0, 0,0x8ED8,
+ 0,0x98E7, 0,0x95ED,0x926C,0x98E3,0x8C91, 0,
+0x98E0,0x98E8,0x98E2,0x97CF,0x98E9,0x9860, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8BE4, 0,
+ 0,0x8C90, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x98EE, 0, 0, 0,0x98EF,
+0x98F3,0x88CC, 0, 0, 0, 0, 0,0x95CE,
+0x98F2, 0, 0, 0, 0,0x98F1,0x98F5, 0,
+ 0, 0,0x98F4, 0,0x92E2, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x8C92, 0, 0,
+ 0, 0, 0, 0,0x98F6, 0, 0, 0,
+ 0, 0,0x8EC3, 0,0x91A4,0x92E3,0x8BF4, 0,
+0x98F7, 0, 0, 0, 0,0x8B55, 0, 0,
+0x98F8, 0, 0, 0, 0,0x98FA, 0, 0,
+ 0, 0, 0, 0, 0,0x9654, 0, 0,
+ 0,0x8C86, 0, 0, 0, 0, 0, 0,
+0x8E50,0x94F5,0x98F9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x8DC3,0x9762, 0, 0,
+ 0, 0,0x98FC,0x9942,0x98FB,0x8DC2, 0,0x8F9D,
+ 0, 0, 0, 0, 0, 0,0x8C58, 0,
+ 0, 0,0x9943, 0, 0,0x8BCD, 0, 0,
+ 0,0x9940,0x9941, 0, 0,0x93AD, 0,0x919C,
+ 0,0x8BA1, 0, 0, 0,0x966C,0x9944, 0,
+ 0, 0,0x97BB, 0, 0, 0,0x9945, 0,
+ 0, 0, 0,0x9948, 0,0x9946, 0,0x916D,
+ 0, 0, 0, 0, 0,0x9947,0x9949, 0,
+ 0, 0, 0, 0, 0,0x994B, 0, 0,
+ 0,0x994A, 0,0x95C6, 0, 0, 0, 0,
+0x8B56,0x994D,0x994E, 0,0x89AD, 0, 0, 0,
+ 0,0x994C, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8EF2, 0,0x9951,0x9950,0x994F, 0,
+0x98D4, 0,0x9952, 0, 0, 0, 0,0x8F9E,
+ 0,0x9953, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x9744, 0, 0, 0, 0, 0,
+ 0, 0,0x96D7, 0, 0, 0, 0,0x9955,
+ 0, 0,0x9954,0x9957,0x9956, 0, 0,0x9958,
+0x9959,0x88F2, 0,0x8CB3,0x8C5A,0x8F5B,0x929B,0x8BA2,
+0x90E6,0x8CF5, 0,0x8D8E,0x995B,0x96C6,0x9365, 0,
+0x8E99, 0,0x995A, 0,0x995C, 0, 0, 0,
+ 0, 0,0x937D, 0,0x8A95, 0, 0, 0,
+ 0, 0,0x995D, 0, 0,0x93FC, 0, 0,
+0x9153,0x995F,0x9960,0x94AA,0x8CF6,0x985A,0x9961, 0,
+ 0,0x8BA4, 0, 0, 0,0x95BA,0x91B4,0x8BEF,
+0x9354, 0, 0, 0,0x8C93, 0, 0, 0,
+0x9962, 0,0x9963, 0, 0,0x93E0,0x897E, 0,
+ 0,0x9966,0x8DFB, 0,0x9965,0x8DC4, 0,0x9967,
+0xE3EC,0x9968,0x9660,0x9969, 0,0x996A,0x996B,0x8FE7,
+ 0,0x8ECA, 0, 0, 0, 0, 0, 0,
+0x8AA5, 0,0x996E, 0,0x996C,0x96BB,0x996D, 0,
+0x9579,0x996F,0x9970,0x9971,0x937E, 0, 0, 0,
+0x9975,0x9973,0x9974,0x9972,0x8DE1,0x9976,0x96E8,0x97E2,
+ 0, 0, 0, 0, 0,0x9977, 0, 0,
+ 0, 0, 0, 0,0x90A6,0x9978,0x8F79, 0,
+ 0,0x9979, 0,0x929C,0x97BD,0x9380, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x99C3, 0,
+ 0, 0, 0,0x997A,0xEAA3,0x8BC3, 0, 0,
+0x997B,0x967D, 0, 0, 0, 0,0x8F88,0x91FA,
+ 0,0x997D,0x93E2, 0, 0,0x997E, 0, 0,
+0x9980,0x8A4D, 0, 0, 0,0x9981,0x8BA5, 0,
+0x93CA,0x899A,0x8F6F, 0, 0,0x949F,0x9982, 0,
+0x9381, 0, 0,0x906E,0x9983, 0,0x95AA,0x90D8,
+0x8AA0, 0,0x8AA7,0x9984, 0, 0,0x9986, 0,
+ 0,0x8C59, 0, 0,0x9985, 0, 0,0x97F1,
+ 0, 0, 0, 0, 0,0x8F89, 0, 0,
+ 0, 0, 0, 0,0x94BB,0x95CA, 0,0x9987,
+ 0,0x9798,0x9988, 0, 0, 0,0x9989, 0,
+0x939E, 0, 0,0x998A, 0, 0,0x90A7,0x8DFC,
+0x8C94,0x998B,0x8E68,0x8D8F, 0, 0, 0, 0,
+ 0, 0, 0,0x92E4,0x998D, 0, 0,0x91A5,
+ 0, 0,0x8DED,0x998E,0x998F,0x914F, 0,0x998C,
+ 0, 0, 0, 0,0x9991, 0,0x9655, 0,
+ 0, 0, 0,0x8D84, 0, 0,0x9990, 0,
+ 0, 0, 0,0x8C95,0x8DDC,0x948D, 0, 0,
+ 0,0x9994,0x9992, 0, 0, 0, 0,0x959B,
+0x8FE8,0x999B,0x8A84,0x9995,0x9993,0x916E, 0, 0,
+ 0, 0, 0, 0, 0,0x9997, 0,0x9996,
+ 0, 0, 0,0x8A63, 0, 0, 0,0x8C80,
+0x999C,0x97AB, 0, 0, 0,0x9998, 0, 0,
+ 0,0x999D,0x999A, 0,0x9999, 0, 0, 0,
+ 0, 0, 0,0x97CD, 0, 0, 0,0x8CF7,
+0x89C1, 0, 0,0x97F2, 0, 0, 0, 0,
+ 0,0x8F95,0x9377,0x8D85,0x99A0,0x99A1, 0, 0,
+ 0,0x97E3, 0, 0,0x984A,0x99A3, 0, 0,
+ 0,0x8CF8, 0, 0,0x99A2, 0,0x8A4E, 0,
+ 0,0x99A4, 0,0x9675, 0,0x92BA, 0,0x9745,
+ 0,0x95D7, 0, 0, 0,0x99A5, 0, 0,
+ 0, 0,0xE8D3, 0, 0,0x93AE, 0,0x99A6,
+0x8AA8,0x96B1, 0, 0, 0,0x8F9F,0x99A7,0x95E5,
+0x99AB, 0,0x90A8,0x99A8,0x8BCE, 0,0x99A9,0x8AA9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8C4D,0x99AC, 0,0x99AD, 0, 0,
+0x99AE,0x99AF,0x8ED9, 0, 0, 0,0x8CF9,0x96DC,
+ 0,0x96E6,0x93F5, 0, 0,0x95EF,0x99B0, 0,
+0x99B1, 0, 0, 0, 0,0x99B3, 0,0x99B5,
+0x99B4, 0, 0, 0, 0,0x99B6,0x89BB,0x966B,
+ 0,0x8DFA,0x99B7, 0, 0,0x9178, 0, 0,
+0x8FA0,0x8BA7, 0,0x99B8, 0, 0, 0, 0,
+ 0, 0,0x94D9, 0, 0, 0, 0,0x99B9,
+ 0,0x99BA, 0,0x99BB, 0, 0, 0, 0,
+0x99BC,0x9543,0x8BE6,0x88E3, 0, 0, 0,0x93BD,
+0x99BD,0x8F5C, 0,0x90E7, 0,0x99BF,0x99BE,0x8FA1,
+0x8CDF,0x99C1,0x94BC, 0, 0,0x99C2, 0, 0,
+ 0,0x94DA,0x91B2,0x91EC,0x8BA6, 0, 0,0x93EC,
+0x9250, 0,0x948E, 0,0x966D, 0,0x99C4, 0,
+0x90E8, 0, 0, 0, 0, 0,0x8C54, 0,
+ 0,0x99C5, 0, 0, 0, 0,0x99C6,0x894B,
+0x88F3,0x8AEB, 0,0x91A6,0x8B70,0x9791, 0,0x99C9,
+0x89B5, 0, 0,0x99C8, 0, 0, 0,0x8BA8,
+ 0, 0,0x99CA, 0,0x96EF, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x99CB, 0,
+0x97D0, 0,0x8CFA, 0, 0, 0, 0,0x8CB4,
+0x99CC, 0, 0, 0, 0,0x99CE,0x99CD, 0,
+0x907E,0x8958, 0, 0, 0,0x897D,0x99CF, 0,
+0x99D0, 0, 0,0x8CB5, 0, 0,0x99D1, 0,
+ 0, 0, 0,0x8B8E, 0, 0, 0, 0,
+ 0, 0,0x8E51,0x99D2, 0, 0, 0, 0,
+0x9694,0x8DB3,0x8B79,0x9746,0x916F,0x94BD,0x8EFB, 0,
+ 0, 0, 0, 0,0x8F66, 0,0x8EE6,0x8EF3,
+ 0,0x8F96, 0,0x94BE, 0, 0, 0,0x99D5,
+ 0,0x8962,0x9170,0x8CFB,0x8CC3,0x8BE5, 0, 0,
+0x99D9,0x9240,0x91FC,0x8BA9,0x8FA2,0x99DA,0x99D8,0x89C2,
+0x91E4,0x8EB6,0x8E6A,0x8945, 0, 0,0x8A90,0x8D86,
+0x8E69, 0,0x99DB, 0, 0, 0, 0, 0,
+ 0,0x99DC, 0,0x8B68,0x8A65, 0, 0, 0,
+0x8D87,0x8B67,0x92DD,0x8944,0x93AF,0x96BC,0x8D40,0x9799,
+0x9366,0x8CFC, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x8C4E, 0,0x99E5, 0,0x8BE1,
+0x9669, 0, 0, 0, 0, 0,0x94DB, 0,
+ 0,0x99E4, 0,0x8ADC,0x99DF,0x99E0,0x99E2, 0,
+ 0, 0, 0, 0, 0, 0,0x99E3, 0,
+0x8B7A,0x9081, 0,0x95AB,0x99E1,0x99DD,0x8CE1, 0,
+0x99DE, 0,0x9843, 0, 0, 0,0x95F0, 0,
+0x92E6,0x8CE0,0x8D90, 0, 0, 0,0x99E6, 0,
+ 0,0x93DB, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x99EA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8EFC, 0,0x8EF4, 0, 0, 0, 0, 0,
+0x99ED,0x99EB, 0,0x96A1, 0,0x99E8,0x99F1,0x99EC,
+ 0, 0, 0,0x99EF,0x8CC4,0x96BD, 0, 0,
+0x99F0, 0, 0, 0,0x99F2, 0,0x99F4, 0,
+ 0, 0, 0,0x8DEE,0x9861, 0,0x99E9,0x99E7,
+0x99F3, 0,0x99EE, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x99F6, 0,0x9A42,0x99F8, 0, 0,
+0x99FC, 0, 0,0x9A40,0x99F9, 0, 0,0x9A5D,
+ 0, 0,0x8DE7,0x8A50, 0, 0, 0, 0,
+0x99F7, 0, 0, 0,0x9A44,0x88F4,0x9A43, 0,
+0x88A3,0x9569,0x9A41, 0,0x99FA, 0, 0,0x99F5,
+0x99FB,0x8DC6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9A45, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x88F5,0x9A4E, 0, 0,0x9A46,0x9A47, 0,
+0x8FA3,0x9689, 0, 0, 0,0x9A4C,0x9A4B, 0,
+ 0, 0,0x934E, 0, 0, 0, 0, 0,
+ 0, 0,0x9A4D, 0, 0,0x9A4A, 0, 0,
+ 0, 0, 0, 0,0x8953, 0,0x8DB4,0x904F,
+ 0, 0, 0, 0, 0, 0, 0,0x9A48,
+0x9382, 0, 0, 0,0x9A49, 0,0x88A0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9A53,0x9742,
+ 0,0x8FA5, 0,0x9A59, 0, 0, 0, 0,
+0x9A58,0x9A4F, 0, 0, 0, 0,0x91C1, 0,
+0x9A50, 0, 0, 0,0x91ED,0x9A55,0x8FA4, 0,
+ 0, 0, 0, 0,0x9A52, 0, 0,0x96E2,
+ 0, 0, 0,0x8C5B, 0, 0,0x9A56,0x9A57,
+ 0, 0, 0, 0,0x9A54,0x9A5A, 0, 0,
+ 0, 0, 0,0x9A51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x9A60,0x9A65, 0,0x9A61, 0,
+0x9A5C, 0, 0,0x9A66,0x9150, 0, 0,0x9A68,
+ 0,0x8D41,0x9A5E,0x929D, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9A62,0x9A5B,0x8AAB, 0,0x8AEC,0x8A85,0x9A63,0x9A5F,
+ 0, 0, 0, 0, 0, 0, 0,0x8C96,
+0x9A69,0x9A67,0x9172,0x8B69,0x8BAA, 0,0x9A64, 0,
+0x8BF2, 0, 0, 0, 0, 0,0x8963, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9A6D,0x9A6B, 0,0x9AA5,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9A70, 0, 0, 0,
+ 0, 0,0x9A6A, 0,0x9A6E, 0, 0,0x9A6C,
+ 0, 0, 0,0x8E6B,0x9A6F, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x9A72,
+ 0,0x9A77, 0, 0, 0,0x9A75,0x9A74, 0,
+ 0, 0, 0, 0, 0, 0,0x9251, 0,
+ 0,0x89C3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9A71, 0,0x9A73,0x8FA6,
+0x8952, 0, 0,0x9A76, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x89DC, 0, 0, 0, 0, 0,0x9A82,
+ 0,0x8FFA,0x9A7D, 0,0x9A7B, 0,0x9A7C, 0,
+0x9A7E, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x895C, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9158, 0,0x9A78, 0,
+0x9A79, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x8A9A, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9A81, 0, 0, 0,
+0x8AED, 0,0x9A84,0x9A80,0x9A83, 0, 0, 0,
+ 0, 0, 0, 0,0x95AC, 0, 0, 0,
+0x93D3, 0,0x94B6, 0, 0, 0, 0, 0,
+0x9A86, 0, 0, 0, 0, 0,0x9A85,0x8A64,
+ 0, 0,0x9A87, 0, 0, 0, 0,0x9A8A,
+ 0, 0, 0, 0,0x9A89, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9A88, 0,0x9458, 0, 0,0x9A8B, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9A8C, 0,
+ 0, 0, 0, 0,0x9A8E, 0,0x9A8D, 0,
+ 0, 0, 0, 0,0x9A90, 0, 0, 0,
+0x9A93,0x9A91,0x9A8F,0x9A92, 0, 0, 0, 0,
+0x9A94, 0, 0, 0, 0, 0,0x9A95, 0,
+ 0,0x9A96, 0,0x9A97, 0, 0, 0,0x9A98,
+0x9964, 0,0x8EFA,0x8E6C, 0, 0,0x89F1, 0,
+0x88F6, 0, 0,0x9263, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9A99, 0,
+0x8DA2, 0,0x88CD,0x907D, 0, 0, 0, 0,
+ 0,0x9A9A,0x8CC5, 0, 0,0x8D91, 0,0x9A9C,
+0x9A9B, 0, 0,0x95DE,0x9A9D, 0, 0, 0,
+0x9A9F,0x9A9E, 0,0x9AA0, 0,0x9AA1, 0,0x8C97,
+ 0, 0,0x8980,0x9AA2, 0, 0,0x9AA4, 0,
+0x9AA3, 0, 0, 0,0x9AA6, 0, 0,0x9379,
+ 0, 0, 0, 0, 0, 0,0x9AA7,0x88B3,
+0x8DDD, 0, 0, 0, 0,0x8C5C, 0, 0,
+0x926E, 0, 0, 0, 0, 0, 0,0x9AA8,
+0x9AA9, 0, 0,0x9AAB, 0, 0, 0, 0,
+0x9AAC, 0,0x8DE2, 0, 0, 0, 0,0x8BCF,
+ 0, 0,0x9656, 0, 0, 0,0x9AAA,0x9AAD,
+0x8DBF,0x8D42, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9AB1, 0, 0,0x8DA3, 0,0x9252, 0,
+ 0,0x9AAE,0x92D8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x9AB2,
+ 0, 0,0x9082, 0, 0, 0, 0, 0,
+0x9AB0,0x9AB3, 0,0x8C5E, 0, 0, 0, 0,
+ 0, 0, 0,0x9AB4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9AB5, 0,0x8D43,0x8A5F,0x9AB7, 0, 0, 0,
+ 0, 0,0x9AB8, 0, 0, 0, 0, 0,
+0x9AB9, 0, 0,0x9AB6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9AAF, 0, 0,0x9ABA, 0, 0,0x9ABB, 0,
+ 0, 0, 0,0x9684, 0, 0,0x8FE9, 0,
+ 0, 0,0x9ABD,0x9ABE,0x9ABC, 0,0x9AC0, 0,
+ 0, 0, 0, 0,0x9457, 0, 0,0x88E6,
+0x9575, 0, 0,0x9AC1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x8FFB, 0, 0,0x8EB7,
+ 0,0x947C,0x8AEE, 0,0x8DE9, 0, 0, 0,
+0x9678, 0,0x93B0, 0, 0,0x8C98,0x91CD, 0,
+ 0, 0,0x9ABF,0x9AC2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x91C2, 0, 0,
+ 0,0x9AC3, 0, 0, 0,0x9AC4, 0, 0,
+ 0,0x9AC6, 0, 0,0x92E7, 0, 0, 0,
+ 0, 0,0x8AAC, 0, 0, 0, 0,0xEA9F,
+0x8981,0x95F1, 0, 0,0x8FEA,0x9367, 0, 0,
+ 0, 0,0x8DE4, 0, 0,0x9ACC, 0, 0,
+0x95BB,0x97DB, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x89F2,0x9AC8, 0, 0, 0, 0,
+ 0,0x9159,0x9ACB, 0,0x9383, 0, 0,0x9368,
+0x9384,0x94B7,0x92CB, 0, 0, 0,0x8DC7, 0,
+ 0, 0,0x9AC7, 0, 0, 0, 0, 0,
+ 0,0x8996, 0,0x9355, 0, 0, 0, 0,
+0x9AC9, 0,0x9AC5, 0, 0,0x906F, 0, 0,
+ 0,0x9ACD, 0, 0, 0, 0,0x8F6D, 0,
+ 0, 0, 0,0x8BAB, 0,0x9ACE, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x95E6, 0, 0, 0,0x919D,
+ 0, 0, 0, 0,0x92C4, 0, 0,0x9AD0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x966E, 0, 0,0x9AD1, 0, 0,0x9AD6, 0,
+ 0, 0, 0,0x95AD, 0, 0, 0, 0,
+0x9AD5,0x9ACF,0x9AD2,0x9AD4, 0, 0,0x8DA4, 0,
+ 0,0x95C7, 0, 0, 0,0x9AD7, 0,0x9264,
+ 0, 0,0x89F3, 0,0x8FEB, 0, 0, 0,
+ 0,0x9AD9, 0,0x9AD8, 0,0x8D88, 0,0x9ADA,
+0x9ADC,0x9ADB, 0, 0,0x9ADE, 0,0x9AD3,0x9AE0,
+ 0, 0, 0, 0,0x9ADF,0x9ADD, 0, 0,
+ 0, 0, 0,0x8E6D,0x9070, 0,0x9173,0x9AE1,
+0x90BA,0x88EB,0x9484, 0, 0, 0, 0,0x92D9,
+ 0,0x9AE3,0x9AE2,0x9AE4,0x9AE5,0x9AE6, 0, 0,
+ 0, 0,0x9AE7, 0, 0, 0, 0, 0,
+ 0,0x95CF,0x9AE8, 0, 0, 0, 0,0x89C4,
+0x9AE9, 0, 0, 0, 0,0x975B,0x8A4F, 0,
+0x99C7,0x8F67,0x91BD,0x9AEA,0x96E9, 0, 0, 0,
+ 0, 0,0x96B2, 0, 0,0x9AEC, 0,0x91E5,
+ 0,0x9356,0x91BE,0x9576,0x9AED,0x9AEE,0x899B, 0,
+ 0,0x8EB8,0x9AEF, 0, 0, 0, 0,0x88CE,
+0x9AF0, 0, 0, 0, 0, 0,0x9AF1, 0,
+ 0, 0, 0, 0,0x8982, 0, 0,0x8AEF,
+0x93DE,0x95F2, 0, 0, 0, 0,0x9AF5,0x9174,
+0x9AF4,0x8C5F, 0, 0,0x967A,0x9AF3, 0,0x9385,
+0x9AF7, 0,0x9AF6, 0, 0, 0, 0, 0,
+0x9AF9, 0,0x9AF8, 0, 0,0x899C, 0,0x9AFA,
+0x8FA7,0x9AFC,0x9244, 0,0x9AFB, 0,0x95B1, 0,
+ 0, 0, 0,0x8F97,0x937A, 0, 0, 0,
+0x9B40, 0, 0, 0, 0,0x8D44, 0, 0,
+ 0,0x9B41,0x9440,0x94DC,0x96CF, 0, 0, 0,
+ 0, 0,0x9444, 0, 0,0x9B4A, 0, 0,
+ 0, 0, 0,0x8B57, 0, 0,0x9764, 0,
+ 0,0x96AD, 0,0x9BAA, 0,0x9B42, 0, 0,
+ 0, 0, 0,0x9B45, 0,0x91C3, 0, 0,
+0x9657, 0, 0, 0,0x9369, 0, 0, 0,
+ 0, 0,0x9B46, 0, 0, 0, 0, 0,
+ 0,0x9685, 0,0x8DC8, 0, 0,0x8FA8, 0,
+ 0, 0, 0, 0, 0, 0,0x9B47, 0,
+ 0,0x8E6F, 0,0x8E6E, 0, 0, 0, 0,
+0x88B7,0x8CC6, 0,0x90A9,0x88CF, 0, 0, 0,
+ 0,0x9B4B,0x9B4C, 0,0x9B49, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x8957,0x8AAD, 0,
+0x9B48, 0,0x96C3,0x9550, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x88A6, 0,
+ 0, 0, 0,0x88F7, 0, 0, 0,0x8E70,
+ 0,0x88D0, 0,0x88A1, 0, 0, 0, 0,
+ 0,0x9B51, 0, 0, 0, 0, 0, 0,
+ 0,0x9B4F, 0, 0, 0, 0, 0, 0,
+0x96BA, 0,0x9B52, 0,0x9B50, 0, 0,0x9B4E,
+0x9050, 0, 0, 0, 0,0x9B4D, 0, 0,
+ 0,0x95D8, 0, 0, 0, 0, 0,0x8CE2,
+ 0, 0, 0, 0, 0,0x9B56,0x9B57, 0,
+ 0, 0, 0, 0,0x8FA9, 0, 0, 0,
+0x9B53,0x984B, 0, 0, 0, 0,0x946B, 0,
+ 0,0x9B55, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8DA5, 0, 0, 0, 0, 0,
+ 0, 0,0x9B58, 0, 0, 0,0x9577, 0,
+ 0, 0,0x9B59, 0,0x9B54, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x96B9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x947D, 0, 0, 0, 0, 0,
+ 0, 0,0x9B5A,0x9551, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9B5B,0x9B5F,0x9B5C, 0,
+ 0,0x89C5,0x9B5E, 0, 0, 0, 0, 0,
+ 0,0x8EB9, 0,0x9B5D,0x8C99, 0, 0, 0,
+0x9B6B, 0, 0, 0, 0, 0,0x9B64,0x9B61,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9284, 0,0x9B60, 0, 0,0x9B62, 0,
+ 0,0x9B63, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x9B65,0x9B66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8AF0, 0,0x9B68,0x9B67, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9B69, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8FEC, 0, 0, 0, 0, 0,
+ 0, 0,0x9B6C, 0,0x92DA, 0, 0, 0,
+0x8964, 0,0x9B6A, 0, 0, 0,0x9B6D, 0,
+ 0, 0, 0, 0, 0, 0,0x9B6E, 0,
+0x9B71, 0, 0,0x9B6F, 0,0x9B70, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8E71,0x9B72, 0, 0,0x8D45,0x9B73, 0,0x8E9A,
+0x91B6, 0,0x9B74,0x9B75,0x8E79,0x8D46, 0,0x96D0,
+ 0, 0, 0,0x8B47,0x8CC7,0x9B76,0x8A77, 0,
+ 0,0x9B77, 0,0x91B7, 0, 0, 0, 0,
+0x9B78,0x9BA1, 0,0x9B79, 0,0x9B7A, 0, 0,
+0x9B7B, 0,0x9B7D, 0, 0, 0, 0, 0,
+0x9B7E, 0, 0,0x9B80, 0,0x91EE, 0,0x8946,
+0x8EE7,0x88C0, 0,0x9176,0x8AAE,0x8EB3, 0,0x8D47,
+ 0, 0, 0, 0, 0,0x9386, 0,0x8F40,
+0x8AAF,0x9288,0x92E8,0x88B6,0x8B58,0x95F3, 0,0x8EC0,
+ 0, 0,0x8B71,0x90E9,0x8EBA,0x9747,0x9B81, 0,
+ 0, 0, 0, 0, 0, 0,0x8B7B, 0,
+0x8DC9, 0, 0,0x8A51,0x8983,0x8FAA,0x89C6, 0,
+0x9B82,0x9765, 0, 0, 0, 0, 0,0x8F68,
+ 0, 0,0x8EE2,0x9B83,0x8AF1,0x93D0,0x96A7,0x9B84,
+ 0,0x9B85, 0, 0,0x9578, 0, 0, 0,
+0x9B87, 0,0x8AA6,0x8BF5,0x9B86, 0, 0, 0,
+ 0, 0, 0,0x8AB0, 0,0x9051,0x9B8B,0x8E40,
+ 0,0x89C7,0x9B8A, 0,0x9B88,0x9B8C,0x9B89,0x944A,
+0x9ECB,0x9052, 0,0x9B8D, 0, 0,0x97BE, 0,
+0x9B8E, 0, 0,0x9B90, 0,0x929E,0x9B8F, 0,
+0x90A1, 0,0x8E9B, 0, 0, 0,0x91CE,0x8EF5,
+ 0,0x9595,0x90EA, 0,0x8ECB,0x9B91,0x8FAB,0x9B92,
+0x9B93,0x88D1,0x91B8,0x9071, 0,0x9B94,0x93B1,0x8FAC,
+ 0,0x8FAD, 0,0x9B95, 0, 0,0x90EB, 0,
+ 0, 0,0x8FAE, 0, 0, 0, 0, 0,
+0x9B96, 0,0x9B97, 0,0x96DE, 0, 0, 0,
+0x9B98, 0, 0, 0, 0,0x8BC4, 0, 0,
+ 0,0x8F41, 0, 0, 0, 0, 0, 0,
+0x9B99,0x9B9A,0x8EDA,0x904B,0x93F2,0x9073,0x94F6,0x9441,
+0x8BC7,0x9B9B, 0, 0, 0,0x8B8F,0x9B9C, 0,
+0x8BFC, 0,0x93CD,0x89AE, 0,0x8E72,0x9B9D,0x9BA0,
+0x9B9F,0x8BFB, 0,0x9B9E, 0,0x9357, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x91AE, 0,
+0x936A,0x8EC6, 0, 0,0x9177,0x979A, 0, 0,
+ 0, 0, 0, 0,0x9BA2, 0,0x9BA3,0x93D4,
+ 0,0x8E52, 0, 0, 0, 0,0x9BA5, 0,
+ 0,0x9BA6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9BA7, 0, 0, 0,
+0x8AF2,0x9BA8, 0, 0,0x9BA9, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x89AA, 0, 0, 0, 0, 0, 0,
+0x915A,0x8AE2, 0,0x9BAB,0x96A6, 0, 0, 0,
+ 0,0x91D0, 0,0x8A78, 0, 0,0x9BAD,0x9BAF,
+0x8ADD, 0, 0,0x9BAC,0x9BAE, 0,0x9BB1, 0,
+ 0, 0, 0, 0, 0,0x9BB0, 0,0x9BB2,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9BB3, 0, 0, 0, 0, 0, 0,
+0x93BB,0x8BAC, 0, 0, 0, 0, 0, 0,
+0x89E3,0x9BB4,0x9BB9, 0, 0,0x9BB7, 0,0x95F5,
+0x95F4, 0, 0, 0, 0, 0,0x9387, 0,
+ 0, 0,0x9BB6,0x8F73, 0,0x9BB5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x9092,
+ 0, 0, 0,0x9BBA, 0, 0,0x8DE8, 0,
+ 0,0x9BC0, 0, 0,0x9BC1,0x9BBB,0x8A52,0x9BBC,
+0x9BC5,0x9BC4,0x9BC3,0x9BBF, 0, 0, 0,0x9BBE,
+ 0, 0,0x9BC2, 0, 0, 0, 0, 0,
+ 0,0x95F6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x9BC9,0x9BC6, 0,0x9BC8, 0,
+0x9792, 0,0x9BC7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9BBD, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9093, 0, 0,0x9BCA, 0, 0,0x8DB5,
+ 0, 0, 0,0x9BCB, 0, 0,0x9BCC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x9BCF, 0,0x9BCE, 0, 0,0x9BCD,
+ 0, 0, 0,0x9388,0x9BB8, 0, 0, 0,
+0x9BD5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x9BD1, 0, 0,
+ 0, 0,0x9BD0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9BD2, 0,0x9BD3, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x9BD6,
+ 0, 0,0x97E4, 0,0x9BD7,0x9BD4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9BD8, 0, 0,0x8ADE,0x9BD9, 0, 0,
+ 0, 0,0x9BDB,0x9BDA, 0, 0,0x9BDC, 0,
+ 0, 0, 0,0x9BDD, 0,0x90EC,0x8F42, 0,
+ 0,0x8F84, 0,0x9183, 0,0x8D48,0x8DB6,0x8D49,
+0x8B90, 0, 0,0x9BDE, 0, 0,0x8DB7, 0,
+ 0,0x8CC8,0x9BDF,0x96A4,0x9462,0x9BE0, 0,0x8D4A,
+ 0, 0, 0,0x8AAA, 0,0x9246,0x8BD0, 0,
+ 0, 0,0x8E73,0x957A, 0, 0,0x94BF, 0,
+ 0, 0, 0,0x9BE1,0x8AF3, 0, 0, 0,
+ 0,0x9BE4, 0, 0, 0, 0,0x929F, 0,
+ 0,0x9BE3,0x9BE2,0x9BE5, 0,0x92E9, 0, 0,
+ 0, 0, 0, 0, 0,0x9083, 0, 0,
+ 0, 0, 0,0x8E74, 0,0x90C8, 0,0x91D1,
+0x8B41, 0, 0,0x92A0, 0, 0,0x9BE6,0x9BE7,
+0x8FED, 0, 0, 0, 0,0x9658, 0, 0,
+0x9BEA, 0, 0,0x9BE9,0x9BE8,0x959D, 0,0x9BF1,
+ 0, 0, 0, 0,0x9679, 0,0x9BEB, 0,
+ 0, 0, 0, 0,0x9BED,0x968B, 0,0x9BEC,
+ 0, 0, 0, 0, 0, 0, 0,0x9BEE,
+ 0,0x94A6,0x9BEF,0x95BC,0x9BF0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8AB1,0x95BD,0x944E,0x9BF2,0x9BF3, 0,
+0x8D4B,0x8AB2,0x9BF4,0x8CB6,0x9763,0x9748,0x8AF4,0x9BF6,
+ 0,0x92A1, 0,0x8D4C,0x8FAF, 0, 0,0x94DD,
+ 0, 0,0x8FB0, 0, 0, 0, 0,0x8F98,
+ 0, 0, 0, 0, 0,0x92EA,0x95F7,0x9358,
+ 0, 0,0x8D4D, 0,0x957B, 0, 0, 0,
+0x9BF7, 0, 0, 0, 0, 0,0x9378,0x8DC0,
+ 0, 0, 0,0x8CC9, 0,0x92EB, 0, 0,
+ 0, 0, 0, 0, 0,0x88C1,0x8F8E,0x8D4E,
+0x9766, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9BF8,0x9BF9,0x9470, 0, 0, 0, 0,
+0x9BFA,0x97F5,0x984C, 0, 0, 0, 0,0x9BFC,
+0x9BFB, 0, 0,0x8A66, 0, 0,0x9C40, 0,
+ 0, 0,0x9C43,0x9C44, 0,0x9C42, 0,0x955F,
+0x8FB1,0x9C46,0x9C45,0x9C41, 0, 0, 0, 0,
+0x9C47,0x9C48, 0, 0,0x9C49, 0, 0, 0,
+0x9C4C,0x9C4A, 0,0x9C4B,0x9C4D, 0,0x8984,0x92EC,
+0x9C4E, 0,0x8C9A,0x89F4,0x9455, 0,0x9C4F,0x93F9,
+ 0,0x95D9, 0,0x9C50,0x984D, 0, 0, 0,
+ 0,0x9C51,0x95BE,0x9C54,0x989F,0x98AF, 0,0x8EAE,
+0x93F3,0x9C55, 0,0x8B7C,0x92A2,0x88F8,0x9C56,0x95A4,
+0x8D4F, 0, 0,0x926F, 0, 0, 0,0x92ED,
+ 0, 0, 0, 0, 0,0x96ED,0x8CB7,0x8CCA,
+ 0,0x9C57, 0, 0, 0,0x9C58, 0,0x9C5E,
+ 0,0x8EE3, 0, 0, 0,0x92A3, 0,0x8BAD,
+0x9C59, 0, 0, 0,0x954A, 0,0x9265, 0,
+ 0,0x9C5A, 0, 0, 0, 0, 0, 0,
+0x9C5B, 0,0x8BAE, 0,0x9C5C, 0,0x9C5D, 0,
+ 0,0x9C5F, 0,0x9396, 0, 0,0x9C60,0x9C61,
+ 0,0x9C62, 0, 0,0x9C53,0x9C52, 0, 0,
+ 0,0x9C63,0x8C60, 0, 0, 0,0x9546, 0,
+ 0,0x8DCA,0x9556,0x92A4,0x956A,0x9C64, 0, 0,
+0x8FB2,0x8965, 0,0x9C65, 0, 0, 0,0x9C66,
+ 0,0x96F0, 0, 0,0x94DE, 0, 0,0x9C69,
+0x899D,0x90AA,0x9C68,0x9C67,0x8C61,0x91D2, 0,0x9C6D,
+0x9C6B, 0,0x9C6A,0x97A5,0x8CE3, 0, 0, 0,
+0x8F99,0x9C6C,0x936B,0x8F5D, 0, 0, 0,0x93BE,
+0x9C70,0x9C6F, 0, 0, 0, 0,0x9C6E, 0,
+0x9C71,0x8CE4, 0, 0, 0, 0, 0, 0,
+0x9C72,0x959C,0x8F7A, 0, 0,0x9C73,0x94F7, 0,
+ 0, 0, 0,0x93BF,0x92A5, 0, 0, 0,
+ 0,0x934F, 0, 0,0x9C74,0x8B4A, 0, 0,
+ 0, 0, 0,0x9053, 0,0x954B, 0, 0,
+ 0, 0, 0, 0,0x8AF5,0x9445, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9C75,0x8E75,
+0x9659,0x965A, 0, 0,0x899E,0x9C7A, 0, 0,
+0x9289, 0, 0, 0,0x9C77, 0, 0, 0,
+ 0, 0, 0,0x89F5, 0, 0, 0, 0,
+0x9CAB,0x9C79, 0, 0, 0,0x944F, 0, 0,
+0x9C78, 0, 0,0x9C76, 0,0x8D9A, 0,0x9C7C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9C83,0x9C89,
+0x9C81, 0,0x937B, 0, 0,0x9C86,0x957C, 0,
+ 0,0x9C80, 0,0x9C85,0x97E5,0x8E76, 0, 0,
+0x91D3,0x9C7D, 0, 0, 0,0x8B7D,0x9C88,0x90AB,
+0x8985,0x9C82,0x89F6,0x9C87, 0, 0, 0,0x8BAF,
+ 0,0x9C84, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x9C8A, 0, 0, 0, 0, 0,
+ 0,0x9C8C,0x9C96,0x9C94, 0, 0,0x9C91, 0,
+ 0, 0,0x9C90,0x97F6, 0,0x9C92, 0, 0,
+0x8BB0, 0,0x8D50, 0, 0,0x8F9A, 0, 0,
+ 0,0x9C99,0x9C8B, 0, 0, 0, 0,0x9C8F,
+0x9C7E, 0,0x89F8,0x9C93,0x9C95,0x9270, 0, 0,
+0x8DA6,0x89B6,0x9C8D,0x9C98,0x9C97,0x8BB1, 0,0x91A7,
+0x8A86, 0, 0, 0, 0,0x8C62, 0,0x9C8E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9C9A, 0,0x9C9D,0x9C9F, 0, 0, 0,
+ 0,0x8EBB, 0,0x9CA5,0x92EE,0x9C9B, 0, 0,
+ 0, 0,0x9CA3, 0,0x89F7, 0,0x9CA1,0x9CA2,
+ 0, 0,0x9C9E,0x9CA0, 0, 0, 0,0x8CE5,
+0x9749, 0, 0,0x8AB3, 0, 0,0x8978,0x9CA4,
+ 0,0x9459,0x88AB, 0, 0, 0, 0, 0,
+ 0, 0,0x94DF,0x9C7B,0x9CAA,0x9CAE,0x96E3, 0,
+0x9CA7, 0, 0, 0,0x9389,0x9CAC, 0, 0,
+ 0, 0, 0, 0, 0,0x8FEE,0x9CAD,0x93D5,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9866, 0,0x9CA9, 0, 0, 0, 0,
+0x9CAF, 0,0x8D9B, 0,0x90C9, 0, 0,0x88D2,
+0x9CA8,0x9CA6, 0,0x9179, 0, 0, 0,0x9C9C,
+0x8E53, 0, 0, 0, 0, 0, 0, 0,
+0x91C4,0x9CBB, 0,0x917A,0x9CB6, 0,0x9CB3,0x9CB4,
+ 0,0x8EE4,0x9CB7,0x9CBA, 0, 0, 0, 0,
+0x9CB5,0x8F44, 0,0x9CB8, 0, 0,0x9CB2, 0,
+0x96FA,0x96F9, 0, 0, 0,0x9CBC,0x9CBD,0x88D3,
+ 0, 0, 0, 0, 0,0x9CB1, 0, 0,
+ 0, 0,0x8BF0,0x88A4, 0, 0, 0,0x8AB4,
+ 0,0x9CB9, 0, 0, 0, 0, 0,0x9CC1,
+0x9CC0, 0, 0, 0,0x9CC5, 0, 0, 0,
+ 0, 0, 0, 0,0x9CC6, 0, 0, 0,
+ 0, 0, 0, 0,0x9CC4,0x9CC7,0x9CBF,0x9CC3,
+ 0, 0,0x9CC8, 0,0x9CC9, 0, 0,0x9CBE,
+0x8E9C, 0,0x9CC2,0x91D4,0x8D51,0x9CB0,0x9054, 0,
+ 0, 0, 0,0x9CD6, 0,0x95E7, 0, 0,
+0x9CCC,0x9CCD,0x9CCE, 0, 0,0x9CD5, 0,0x9CD4,
+ 0, 0,0x969D,0x8AB5, 0,0x9CD2, 0,0x8C64,
+0x8A53, 0, 0,0x9CCF, 0, 0,0x97B6,0x9CD1,
+0x88D4,0x9CD3, 0,0x9CCA,0x9CD0,0x9CD7,0x8C63,0x9CCB,
+ 0, 0, 0, 0, 0, 0,0x977C, 0,
+ 0, 0,0x974A, 0, 0, 0, 0,0x9CDA,
+ 0, 0,0x9CDE, 0, 0, 0,0x919E, 0,
+0x97F7,0x9CDF, 0, 0,0x9CDC, 0,0x9CD9, 0,
+ 0,0x9CD8,0x9CDD, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x95AE, 0, 0,0x93B2,
+ 0,0x8C65, 0,0x9CE0,0x9CDB, 0,0x9CE1, 0,
+ 0, 0,0x8C9B, 0, 0, 0,0x89AF, 0,
+ 0, 0,0x9CE9, 0, 0, 0,0x8AB6, 0,
+ 0, 0, 0,0x9CE7, 0, 0,0x9CE8,0x8DA7,
+0x9CE6,0x9CE4,0x9CE3,0x9CEA,0x9CE2,0x9CEC, 0, 0,
+0x89F9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x9CEE, 0, 0,0x9CED, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x92A6, 0,0x9CF1, 0,0x9CEF,0x9CE5,
+0x8C9C, 0,0x9CF0, 0,0x9CF4,0x9CF3,0x9CF5,0x9CF2,
+0x9CF6, 0, 0, 0, 0, 0, 0, 0,
+0x9CF7,0x9CF8,0x95E8, 0,0x9CFA,0x9CF9,0x8F5E, 0,
+0x90AC,0x89E4,0x89FA, 0,0x9CFB, 0,0x88BD, 0,
+ 0, 0,0x90CA,0x9CFC, 0,0xE6C1,0x9D40,0x8C81,
+ 0,0x9D41, 0, 0, 0, 0,0x90ED, 0,
+ 0, 0,0x9D42, 0, 0, 0,0x9D43,0x8B59,
+0x9D44, 0,0x9D45,0x9D46,0x91D5, 0, 0, 0,
+0x8CCB, 0, 0,0x96DF, 0, 0, 0,0x965B,
+0x8F8A,0x9D47, 0, 0, 0, 0, 0,0x90EE,
+0xE7BB,0x94E0, 0,0x8EE8, 0,0x8DCB,0x9D48, 0,
+ 0, 0, 0,0x91C5, 0,0x95A5, 0, 0,
+0x91EF, 0, 0,0x9D4B, 0, 0,0x9D49, 0,
+0x9D4C, 0, 0,0x9D4A, 0, 0, 0, 0,
+0x9D4D, 0, 0, 0, 0, 0,0x95AF, 0,
+ 0,0x88B5, 0, 0, 0, 0,0x957D, 0,
+ 0,0x94E1, 0, 0,0x9D4E, 0,0x9D51,0x8FB3,
+0x8B5A, 0,0x9D4F,0x9D56,0x8FB4, 0, 0, 0,
+ 0,0x9D50,0x9463, 0, 0, 0, 0, 0,
+ 0,0x977D,0x9D52,0x9D53,0x9D57,0x938A,0x9D54,0x8D52,
+0x90DC, 0, 0,0x9D65,0x94B2, 0,0x91F0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x94E2,0x9DAB, 0, 0, 0,
+ 0,0x95F8, 0, 0, 0,0x92EF, 0, 0,
+ 0,0x9695, 0,0x9D5A,0x899F,0x928A, 0, 0,
+ 0, 0,0x9D63, 0, 0,0x9253,0x9D5D,0x9D64,
+0x9D5F,0x9D66,0x9D62, 0,0x9D61,0x948F, 0,0x9D5B,
+0x89FB,0x9D59,0x8B91,0x91F1,0x9D55, 0, 0,0x9D58,
+0x8D53,0x90D9, 0,0x8FB5,0x9D60,0x9471, 0, 0,
+0x8B92,0x8A67, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x8A87,0x9040,0x9D68,0x9D6D,
+ 0,0x9D69, 0,0x8C9D, 0,0x9D6E,0x8E41,0x8D89,
+ 0, 0, 0, 0, 0, 0,0x8F45,0x9D5C,
+ 0,0x8E9D,0x9D6B, 0, 0, 0, 0,0x8E77,
+0x9D6C,0x88C2, 0, 0,0x9D67, 0, 0, 0,
+ 0,0x92A7, 0, 0, 0, 0, 0, 0,
+ 0,0x8B93, 0, 0, 0, 0, 0,0x8BB2,
+ 0, 0, 0, 0, 0, 0, 0,0x9D6A,
+0x88A5, 0, 0,0x8DC1, 0, 0, 0,0x9055,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x92F0, 0, 0,0x94D2,0x9D70,0x917D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x91A8, 0, 0,0x8E4A,0x9D71, 0,0x9D73,
+0x9D6F, 0, 0, 0, 0,0x95DF, 0,0x92BB,
+ 0, 0, 0, 0,0x917B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x95F9,
+0x8ECC,0x9D80, 0,0x9D7E, 0, 0,0x9098, 0,
+ 0, 0,0x8C9E, 0, 0, 0,0x9D78,0x8FB7,
+ 0, 0,0x93E6,0x9450, 0, 0, 0, 0,
+0x9D76, 0, 0,0x917C, 0, 0, 0, 0,
+0x8EF6,0x9D7B, 0, 0,0x8FB6, 0,0x9D75,0x9D7A,
+ 0, 0,0x9472, 0, 0, 0,0x9D74, 0,
+0x8C40, 0, 0,0x8A7C, 0, 0, 0,0x9D7C,
+0x97A9,0x8DCC,0x9254,0x9D79, 0,0x90DA, 0,0x8D54,
+0x9084,0x8986,0x915B,0x9D77,0x8B64, 0, 0, 0,
+ 0, 0,0x8C66, 0,0x92CD,0x9D7D, 0, 0,
+ 0, 0, 0,0x917E, 0, 0,0x9D81, 0,
+0x9D83, 0, 0,0x91B5,0x9D89, 0,0x9D84, 0,
+ 0,0x9D86, 0, 0, 0, 0, 0,0x9560,
+0x92F1, 0,0x9D87, 0, 0, 0,0x974B, 0,
+ 0, 0,0x9767,0x8AB7, 0, 0, 0, 0,
+ 0,0x88AC, 0,0x9D85, 0, 0, 0, 0,
+ 0,0x9D82, 0, 0, 0, 0,0x8AF6, 0,
+ 0, 0, 0, 0,0x8987, 0,0x9D88, 0,
+ 0, 0,0x9768, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9D8C, 0,
+ 0, 0, 0, 0, 0,0x91B9, 0,0x9D93,
+ 0, 0, 0,0x9D8D, 0, 0,0x9D8A,0x9D91,
+ 0, 0, 0, 0,0x9D72, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9D8E, 0,
+0x9D92, 0, 0, 0,0x94C0,0x938B, 0, 0,
+ 0, 0, 0, 0,0x9D8B, 0,0x9D8F, 0,
+ 0, 0,0x8C67, 0, 0, 0,0x8DEF, 0,
+ 0, 0,0x90DB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9D97, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9345, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x9D94,
+ 0,0x9680, 0, 0, 0, 0, 0,0x9D95,
+ 0, 0, 0, 0, 0, 0,0x9D96, 0,
+0x96CC, 0,0x90A0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x8C82, 0, 0, 0, 0,
+0x9D9D, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8E54,0x9D9A, 0,0x9D99, 0, 0,
+ 0, 0,0x9451, 0, 0, 0,0x93B3, 0,
+ 0, 0, 0, 0,0x9350,0x9D9B, 0, 0,
+ 0,0x9D9C, 0,0x958F, 0,0x9464,0x8E42, 0,
+0x90EF, 0,0x966F, 0, 0, 0, 0, 0,
+ 0,0x8A68, 0,0x9DA3,0x9D9E, 0, 0, 0,
+ 0,0x9769,0x9DA5, 0, 0,0x9DA1, 0,0x9DA2,
+ 0, 0, 0, 0, 0,0x9180, 0, 0,
+ 0, 0,0x9DA0, 0,0x9D5E, 0, 0, 0,
+0x9DA4, 0,0x9D9F, 0, 0, 0, 0, 0,
+0x9DA9,0x9DAA,0x9346,0x9DAC, 0, 0,0x8E43,0x9DA7,
+ 0, 0, 0, 0,0x8B5B, 0, 0,0x9DAD,
+ 0,0x9DA6,0x9DB1, 0,0x9DB0, 0,0x9DAF, 0,
+ 0, 0,0x9DB2, 0, 0,0x9DB4,0x8FEF, 0,
+0x9DB3, 0, 0, 0, 0,0x9DB7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9DB5, 0, 0, 0,0x9DB6,0x9D90, 0, 0,
+ 0, 0, 0,0x9DB9,0x9DB8, 0, 0, 0,
+ 0, 0,0x9D98,0x9DBA,0x9DAE, 0, 0,0x8E78,
+ 0, 0, 0, 0,0x9DBB,0x9DBC,0x9DBE,0x9DBD,
+0x9DBF,0x89FC, 0,0x8D55, 0, 0,0x95FA,0x90AD,
+ 0, 0, 0, 0, 0,0x8CCC, 0, 0,
+0x9DC1, 0, 0, 0, 0,0x9DC4, 0,0x9571,
+ 0,0x8B7E, 0, 0, 0,0x9DC3,0x9DC2,0x9473,
+0x9DC5,0x8BB3, 0, 0, 0,0x9DC7,0x9DC6, 0,
+ 0, 0,0x8AB8,0x8E55, 0, 0,0x93D6, 0,
+ 0, 0, 0, 0,0x8C68, 0, 0, 0,
+0x9094, 0,0x9DC8, 0,0x90AE,0x9347, 0,0x957E,
+0x9DC9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x9DCA,0x9DCB, 0, 0, 0,0x95B6,
+0x9B7C,0x90C4, 0, 0,0x956B, 0,0x8DD6, 0,
+0x94E3,0x94C1, 0, 0, 0, 0, 0,0x936C,
+ 0,0x97BF, 0,0x9DCD,0x8ECE, 0, 0,0x9DCE,
+ 0,0x88B4, 0, 0,0x8BD2,0x90CB, 0,0x9580,
+ 0, 0, 0,0x9DCF,0x8E61,0x9266, 0,0x8E7A,
+0x9056, 0, 0, 0, 0, 0, 0,0x9DD0,
+ 0,0x95FB, 0, 0,0x8997,0x8E7B, 0, 0,
+ 0,0x9DD3, 0,0x9DD1,0x9DD4,0x97B7,0x9DD2, 0,
+ 0, 0, 0,0x90F9,0x9DD5, 0, 0,0x91B0,
+ 0, 0,0x9DD6, 0, 0, 0, 0,0x8AF8,
+ 0,0x9DD8, 0,0x9DD7, 0, 0, 0, 0,
+0x9DD9,0x9DDA,0x8AF9, 0, 0,0x93FA,0x9255,0x8B8C,
+0x8E7C,0x9181, 0, 0,0x8F7B,0x88AE, 0, 0,
+ 0,0x9DDB, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x89A0,0x9DDF, 0, 0, 0, 0,
+ 0, 0,0x8D56,0x9DDE, 0, 0,0x8DA9,0x8FB8,
+ 0, 0,0x9DDD, 0,0x8FB9, 0,0x96BE,0x8DA8,
+ 0, 0, 0,0x88D5,0x90CC, 0, 0, 0,
+ 0, 0, 0, 0,0x9DE4, 0, 0,0x90AF,
+0x8966, 0, 0, 0, 0,0x8F74, 0,0x9686,
+0x8DF0, 0, 0, 0, 0,0x8FBA, 0,0x90A5,
+ 0, 0, 0, 0,0x9DE3,0x9DE1,0x9DE2, 0,
+ 0, 0, 0, 0,0x928B, 0, 0,0x9E45,
+ 0,0x9DE8,0x8E9E,0x8D57,0x9DE6, 0, 0, 0,
+ 0,0x9DE7, 0,0x9057, 0, 0, 0,0x9DE5,
+ 0, 0,0x8E4E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x9DEA,0x9DE9,0x9DEE,
+ 0, 0,0x9DEF, 0,0x9DEB, 0,0x8A41,0x9DEC,
+0x9DED,0x94D3, 0, 0, 0, 0,0x9581,0x8C69,
+0x9DF0, 0, 0, 0,0x90B0, 0,0x8FBB, 0,
+ 0, 0,0x9271, 0, 0, 0, 0, 0,
+ 0,0x8BC5, 0,0x9DF1,0x9DF5, 0, 0,0x89C9,
+0x9DF2,0x9DF4, 0, 0, 0, 0,0x9DF3, 0,
+ 0,0x8F8B, 0, 0, 0, 0,0x9267,0x88C3,
+0x9DF6, 0, 0, 0, 0,0x9DF7, 0, 0,
+ 0, 0,0x92A8, 0, 0, 0,0x97EF, 0,
+ 0, 0, 0,0x8E62, 0, 0,0x95E9, 0,
+ 0, 0, 0, 0,0x965C, 0, 0, 0,
+0x9E41,0x9DF9, 0, 0,0x9DFC, 0,0x9DFB, 0,
+ 0,0x9DF8, 0, 0,0x9E40, 0, 0,0x93DC,
+ 0,0x9DFA, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9E42, 0,
+ 0,0x8F8C,0x9E43, 0,0x976A,0x9498, 0, 0,
+0x9E44, 0, 0, 0, 0, 0,0x9E46, 0,
+ 0,0x9E47, 0, 0, 0, 0, 0, 0,
+0x9E48, 0,0x8BC8,0x8967,0x8D58,0x9E49, 0,0x9E4A,
+0x8F91,0x9182, 0, 0,0x99D6,0x915D,0x915C,0x91D6,
+0x8DC5, 0, 0,0x98F0, 0, 0, 0, 0,
+0x8C8E,0x974C, 0,0x95FC, 0,0x959E, 0,0x9E4B,
+ 0, 0, 0, 0,0x8DF1,0x92BD,0x9E4C,0x984E,
+ 0, 0, 0,0x965D, 0,0x92A9,0x9E4D,0x8AFA,
+ 0, 0, 0, 0, 0, 0,0x9E4E,0x9E4F,
+0x96D8, 0,0x96A2,0x9696,0x967B,0x8E44,0x9E51, 0,
+ 0,0x8EE9, 0, 0,0x9670, 0,0x9E53,0x9E56,
+0x9E55, 0,0x8AF7, 0, 0,0x8B80, 0,0x9E52,
+ 0,0x9E54, 0, 0, 0, 0,0x9E57, 0,
+ 0,0x9099, 0, 0, 0, 0,0x979B,0x88C7,
+0x8DDE,0x91BA, 0,0x8EDB, 0, 0,0x8FF1, 0,
+ 0,0x9E5A, 0, 0,0x936D, 0,0x9E58,0x91A9,
+0x9E59,0x8FF0,0x96DB,0x9E5B,0x9E5C,0x9788, 0, 0,
+ 0, 0,0x9E61, 0, 0,0x8D59, 0,0x9474,
+0x9E5E,0x938C,0x9DDC,0x9DE0, 0,0x8B6E, 0,0x9466,
+ 0, 0, 0, 0,0x9E60, 0,0x8FBC,0x94C2,
+ 0, 0, 0, 0, 0,0x9E66, 0,0x94F8,
+ 0,0x9E5D, 0,0x9E63,0x9E62, 0, 0, 0,
+0x90CD, 0, 0, 0, 0,0x968D, 0,0x97D1,
+ 0, 0,0x9687, 0,0x89CA,0x8E7D, 0, 0,
+0x9867,0x9E65,0x9095, 0, 0, 0,0x9E64, 0,
+ 0,0x9E5F, 0, 0, 0, 0, 0,0x8CCD,
+ 0, 0, 0,0x9E6B,0x9E69, 0,0x89CB,0x9E67,
+0x9E6D,0x9E73, 0, 0, 0, 0, 0, 0,
+ 0,0x91C6, 0, 0,0x95BF, 0,0x9E75, 0,
+ 0, 0,0x9541, 0, 0, 0,0x9E74,0x9490,
+0x965E,0x8AB9, 0,0x90F5,0x8F5F, 0, 0, 0,
+0x92D1, 0,0x974D, 0, 0,0x9E70,0x9E6F, 0,
+ 0, 0,0x9E71, 0,0x9E6E, 0, 0,0x9E76,
+ 0,0x9E6C, 0, 0,0x9E6A, 0,0x9E72,0x9E68,
+ 0,0x928C, 0,0x96F6,0x8EC4,0x8DF2, 0, 0,
+ 0, 0, 0,0x8DB8, 0, 0,0x968F,0x8A60,
+ 0, 0,0x92CC,0x93C8,0x8968, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x90F0, 0, 0,0x90B2,0x8C49,
+ 0, 0, 0, 0, 0, 0,0x9E78, 0,
+ 0,0x8D5A,0x8A9C, 0, 0, 0, 0, 0,
+ 0,0x9E7A,0x8A94,0x9E81, 0, 0, 0, 0,
+ 0, 0,0x9E7D, 0,0x90F1, 0, 0, 0,
+0x8A6A,0x8DAA, 0, 0,0x8A69,0x8DCD, 0, 0,
+0x9E7B,0x8C85,0x8C6A,0x938D, 0, 0,0x9E79, 0,
+0x88C4, 0, 0, 0, 0,0x9E7C,0x9E7E, 0,
+0x8BCB,0x8C4B, 0,0x8ABA,0x8B6A, 0, 0, 0,
+ 0,0x9E82, 0, 0,0x8DF7,0x9691, 0,0x8E56,
+ 0, 0, 0,0x9E83, 0, 0, 0,0x954F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9E8F, 0,0x89B1,0x9E84,
+ 0, 0, 0, 0, 0, 0,0x9E95,0x9E85,
+ 0,0x97C0, 0,0x9E8C, 0,0x947E, 0, 0,
+ 0, 0, 0, 0, 0,0x9E94, 0,0x9E87,
+ 0, 0, 0,0x88B2,0x9E89, 0, 0,0x8D5B,
+ 0, 0, 0,0x9E8B, 0,0x9E8A, 0,0x9E86,
+0x9E91, 0,0x8FBD, 0, 0, 0,0x9AEB,0x8CE6,
+0x979C, 0, 0, 0, 0,0x9E88, 0,0x92F2,
+0x8A42,0x8DAB, 0,0x9E80, 0,0x9E90,0x8A81, 0,
+ 0,0x9E8E,0x9E92, 0,0x938E, 0, 0, 0,
+ 0, 0, 0, 0,0x8AFC, 0,0x9EB0, 0,
+ 0,0x96C7,0x9E97,0x8AFB, 0,0x9E9E, 0, 0,
+ 0, 0,0x965F, 0,0x9E9F,0x9EA1, 0,0x9EA5,
+0x9E99, 0,0x9249, 0, 0, 0, 0,0x938F,
+0x9EA9,0x9E9C, 0,0x9EA6, 0, 0, 0,0x9EA0,
+ 0, 0, 0, 0, 0, 0,0x9058,0x9EAA,
+ 0, 0,0x90B1, 0, 0, 0, 0, 0,
+ 0,0x9EA8,0x8ABB, 0, 0, 0, 0, 0,
+0x986F,0x9E96, 0, 0,0x9EA4,0x88D6, 0, 0,
+0x9E98, 0, 0,0x96B8,0x9E9D,0x9041,0x92C5,0x9E93,
+ 0, 0,0x9EA3, 0, 0, 0, 0, 0,
+ 0,0x909A,0x9EAD,0x8A91,0x8C9F, 0, 0, 0,
+ 0,0x9EAF,0x9E9A,0x9EAE, 0,0x9EA7,0x9E9B, 0,
+0x9EAB, 0,0x9EAC, 0, 0, 0, 0, 0,
+0x9EBD, 0, 0, 0,0x93CC, 0,0x9EA2, 0,
+ 0,0x9EB9, 0, 0, 0,0x9EBB, 0,0x92D6,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x976B, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x9596,0x9EB6,0x91C8, 0, 0,
+ 0,0x9EBC,0x915E, 0,0x9EB3,0x9EC0,0x9EBF, 0,
+0x93ED,0x9EBE,0x93E8, 0, 0, 0, 0, 0,
+ 0, 0,0x9EC2,0x9EB5, 0,0x8BC6,0x9EB8,0x8F7C,
+ 0, 0, 0,0x9480,0x9EBA,0x8BC9, 0,0x9EB2,
+0x9EB4,0x9EB1, 0, 0,0x984F,0x8A79,0x9EB7, 0,
+ 0,0x9EC1,0x8A54, 0, 0, 0, 0, 0,
+ 0, 0,0x8DE5, 0, 0, 0,0x897C, 0,
+ 0,0x9ED2, 0, 0,0x9850,0x9ED5, 0, 0,
+ 0, 0, 0,0x9059,0x9ED4, 0, 0, 0,
+0x9ED3, 0, 0, 0, 0, 0, 0,0x9ED0,
+ 0, 0, 0, 0, 0, 0,0x9EC4, 0,
+ 0,0x9EE1,0x9EC3, 0,0x9ED6, 0, 0, 0,
+ 0, 0, 0,0x9ECE, 0, 0,0x9EC9,0x9EC6,
+ 0,0x9EC7, 0,0x9ECF, 0, 0, 0,0xEAA0,
+ 0, 0,0x9ECC,0x8D5C,0x92C6,0x9184,0x9ECA, 0,
+0x9EC5, 0, 0,0x9EC8, 0, 0, 0, 0,
+0x976C,0x968A, 0, 0, 0,0x9ECD,0x9ED7, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x9EDF,
+0x9ED8, 0, 0,0x9EE5, 0,0x9EE3, 0, 0,
+ 0, 0,0x9EDE, 0, 0, 0, 0, 0,
+ 0,0x9EDD, 0,0x92CE, 0,0x9185, 0,0x9EDB,
+ 0, 0,0x9ED9, 0, 0,0x9EE0, 0, 0,
+ 0, 0,0x9EE6,0x94F3,0x9EEC, 0, 0, 0,
+ 0, 0,0x9EE7,0x9EEA,0x9EE4, 0, 0,0x9294,
+ 0,0x9557, 0,0x9EDA, 0, 0,0x9EE2,0x8FBE,
+ 0,0x96CD,0x9EF6,0x9EE9, 0, 0, 0, 0,
+ 0,0x8CA0,0x89A1,0x8A7E, 0, 0,0x9ED1, 0,
+ 0, 0, 0, 0, 0,0x8FBF,0x9EEE, 0,
+0x9EF5,0x8EF7,0x8A92, 0, 0,0x924D, 0, 0,
+ 0, 0, 0, 0,0x9EEB, 0, 0,0x9EF0,
+0x9EF4, 0, 0,0x8BB4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8B6B,0x9EF2, 0, 0, 0, 0, 0,0x8B40,
+ 0,0x93C9,0x9EF1, 0, 0, 0,0x9EF3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x9EED, 0, 0, 0, 0, 0,
+0x9EEF, 0, 0, 0, 0, 0, 0,0x8A80,
+0x9268, 0, 0, 0,0x9EFA, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x9EF8,0x8CE7, 0,
+0x9EF7, 0, 0, 0, 0, 0, 0,0x9F40,
+ 0, 0, 0, 0,0x9E77, 0, 0, 0,
+0x9EF9, 0,0x9EFB,0x9EFC, 0, 0, 0, 0,
+ 0, 0,0x9F4B, 0,0x9F47, 0,0x9E8D, 0,
+ 0, 0, 0,0x9F46, 0, 0, 0, 0,
+0x9F45, 0, 0,0x9F42, 0, 0, 0, 0,
+ 0,0x9EE8,0x9F44,0x9F43, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9F49, 0,0x9845, 0, 0, 0, 0,
+ 0, 0,0x9F4C,0x8BF9, 0, 0,0x9F48,0x9F4A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x94A5, 0,0x9F4D, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x9F51,0x9F4E, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9793,0x9F4F, 0, 0,
+ 0, 0,0x9EDC, 0, 0, 0, 0, 0,
+ 0, 0,0x9F52, 0, 0, 0,0x9F53, 0,
+ 0, 0, 0, 0, 0,0x8954, 0,0x9F55,
+0x8C87,0x8E9F, 0,0x8BD3, 0, 0, 0,0x89A2,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x977E, 0, 0, 0, 0,0x9F57,
+0x9F56,0x9F59,0x8B5C, 0, 0,0x8BD4,0x8ABC, 0,
+ 0, 0, 0,0x9F5C, 0, 0, 0,0x9F5B,
+ 0,0x9F5D, 0, 0,0x89CC, 0,0x9256, 0,
+0x9F5E, 0, 0,0x8ABD,0x9F60, 0, 0, 0,
+ 0,0x9F5F, 0,0x9F61, 0, 0, 0,0x9F62,
+ 0,0x9F63,0x8E7E,0x90B3,0x8D9F, 0,0x9590, 0,
+ 0,0x95E0,0x9863, 0, 0, 0, 0,0x8E95,
+ 0, 0, 0,0x8DCE,0x97F0, 0, 0, 0,
+0x9F64,0x9F65, 0,0x8E80, 0, 0, 0,0x9F66,
+0x9F67, 0, 0,0x9F69,0x9F68, 0,0x9677, 0,
+ 0,0x8F7D,0x8EEA,0x8E63, 0,0x9F6A, 0, 0,
+ 0, 0, 0, 0, 0,0x9F6C,0x9042, 0,
+0x9F6B, 0, 0, 0, 0, 0,0x9F6D, 0,
+ 0, 0, 0, 0,0x9F6E, 0, 0, 0,
+ 0, 0,0x9F6F,0x9F70, 0, 0, 0,0x9F71,
+ 0,0x9F73,0x9F72,0x9F74,0x89A3,0x9269, 0,0x9F75,
+ 0, 0,0x8E45,0x8A6B,0x9F76, 0, 0,0x9361,
+0x9ACA, 0, 0, 0, 0,0x8B42,0x9F77, 0,
+ 0, 0, 0,0x9F78, 0,0x95EA,0x9688, 0,
+ 0, 0,0x93C5,0x9F79,0x94E4, 0, 0, 0,
+0x94F9, 0, 0,0x96D1, 0, 0, 0,0x9F7A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x9F7C,0x9F7B, 0, 0,0x9F7E,
+ 0, 0, 0,0x9F7D, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9F81, 0, 0, 0, 0, 0, 0,0x8E81,
+ 0,0x96AF, 0,0x9F82,0x9F83, 0, 0,0x8B43,
+ 0, 0, 0,0x9F84, 0, 0, 0, 0,
+ 0, 0, 0,0x9F86,0x9F85, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9085, 0, 0,0x9558,
+0x8969, 0, 0, 0, 0, 0,0x94C3, 0,
+0x92F3,0x8F60,0x8B81, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x94C4, 0,
+0x8EAC, 0, 0, 0, 0,0x9F88, 0,0x8ABE,
+ 0, 0,0x8998, 0, 0,0x93F0,0x9F87,0x8D5D,
+0x9272, 0,0x9F89, 0, 0, 0, 0, 0,
+0x9F91, 0,0x9F8A, 0, 0, 0, 0, 0,
+0x91BF, 0,0x8B82,0x9F92, 0, 0, 0, 0,
+ 0, 0,0x8C88, 0, 0,0x8B44,0x9F90, 0,
+ 0,0x9F8E,0x9F8B,0x9780, 0, 0, 0, 0,
+0x92BE, 0, 0, 0,0x93D7,0x9F8C, 0, 0,
+0x9F94, 0,0x9F93,0x8C42, 0, 0,0x89AB, 0,
+ 0,0x8DB9,0x9F8D,0x9F8F, 0, 0, 0, 0,
+ 0,0x9676,0x91F2, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x9697, 0, 0,0x9F9C, 0,
+ 0,0x9F9D, 0,0x89CD, 0, 0, 0, 0,
+0x95A6,0x96FB,0x9F9F,0x8EA1,0x8FC0,0x9F98,0x9F9E,0x8988,
+ 0,0x8BB5, 0, 0,0x9F95,0x9F9A, 0, 0,
+ 0,0x90F2,0x9491, 0,0x94E5, 0, 0, 0,
+ 0, 0, 0,0x9F97, 0,0x9640, 0,0x9F99,
+ 0,0x9FA2, 0,0x9FA0, 0,0x9F9B, 0, 0,
+ 0,0x9641,0x9467,0x8B83, 0,0x9344, 0, 0,
+0x928D, 0,0x9FA3, 0, 0, 0, 0,0x9FA1,
+0x91D7,0x9F96, 0,0x896A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x976D,0x9FAE, 0, 0, 0,
+ 0, 0,0x9FAD, 0, 0, 0, 0,0x90F4,
+ 0,0x9FAA, 0,0x978C, 0, 0,0x93B4,0x9FA4,
+ 0, 0, 0, 0, 0,0x92C3, 0, 0,
+ 0,0x896B,0x8D5E,0x9FA7, 0, 0, 0, 0,
+ 0, 0,0x8F46,0x9FAC, 0,0x9FAB,0x9FA6, 0,
+0x9FA9, 0, 0,0x8A88, 0,0x9FA8,0x9468, 0,
+ 0,0x97AC, 0, 0,0x8FF2,0x90F3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9FB4,0x9FB2, 0,0x956C, 0, 0, 0,
+ 0, 0, 0,0x9FAF,0x9FB1, 0,0x8959, 0,
+ 0,0x8D5F,0x9851, 0,0x8A5C, 0,0x9582, 0,
+ 0, 0, 0, 0,0x9781, 0, 0,0x8A43,
+0x905A,0x9FB3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x9FB8, 0, 0,
+0x8FC1, 0, 0, 0,0x974F, 0,0x9FB5, 0,
+ 0, 0, 0,0x9FB0, 0,0x9FB6, 0, 0,
+ 0,0x97DC, 0,0x9393,0x93C0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x8A55,
+ 0, 0,0x8974, 0, 0,0x9FBC, 0, 0,
+0x9FBF, 0, 0, 0,0x97C1, 0, 0, 0,
+0x9784, 0, 0, 0, 0,0x9FC6,0x9FC0,0x9FBD,
+ 0, 0, 0,0x97D2,0x9FC3, 0, 0, 0,
+ 0,0x8F69,0x9FC5, 0, 0,0x9FCA, 0, 0,
+0x9391,0x9FC8, 0, 0, 0, 0,0x9FC2, 0,
+ 0,0x9257, 0, 0,0x9FC9, 0,0x9FBE, 0,
+0x9FC4, 0,0x9FCB,0x88FA,0x9FC1, 0,0x9FCC, 0,
+ 0,0x905B, 0,0x8F7E, 0,0x95A3, 0,0x8DAC,
+ 0,0x9FB9,0x9FC7,0x9359, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x90B4, 0,0x8A89,
+0x8DCF,0x8FC2,0x9FBB,0x8F61, 0, 0, 0, 0,
+ 0, 0, 0,0x8C6B, 0,0x9FBA, 0, 0,
+ 0,0x9FD0,0x8F8D,0x8CB8, 0,0x9FDF, 0,0x9FD9,
+0x8B94,0x936E, 0,0x9FD4,0x9FDD,0x88AD,0x8951, 0,
+ 0,0x89B7, 0,0x9FD6,0x91AA,0x9FCD,0x9FCF,0x8D60,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9FE0, 0,0x9FDB, 0, 0, 0,0x9FD3, 0,
+ 0, 0, 0,0x9FDA, 0, 0, 0, 0,
+ 0, 0,0x96A9, 0, 0,0x9FD8,0x9FDC, 0,
+ 0, 0, 0, 0, 0, 0,0x8CCE, 0,
+0x8FC3, 0, 0,0x9258, 0, 0, 0,0x9FD2,
+ 0, 0, 0, 0, 0, 0, 0,0x974E,
+ 0, 0, 0,0x9FD5, 0, 0,0x9FCE,0x9392,
+ 0, 0,0x9FD1, 0, 0, 0,0x9FD7, 0,
+ 0, 0, 0, 0, 0, 0,0x9870,0x8EBC,
+0x969E, 0,0x9FE1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x94AC, 0, 0,0x9FED,
+0x8CB9, 0, 0, 0, 0, 0,0x8F80, 0,
+0x9FE3, 0, 0, 0,0x97AD,0x8D61, 0,0x9FF0,
+ 0, 0,0x88EC, 0, 0,0x9FEE, 0, 0,
+ 0, 0,0x9FE2, 0, 0, 0, 0,0x9FE8,
+ 0, 0,0x9FEA, 0, 0, 0,0x976E,0x9FE5,
+ 0, 0,0x934D, 0, 0,0x9FE7, 0, 0,
+ 0, 0,0x9FEF, 0,0x9FE9,0x96C5, 0, 0,
+ 0,0x9FE4, 0,0x8EA0,0x9FFC, 0, 0, 0,
+ 0,0x8A8A, 0,0x9FE6,0x9FEB,0x9FEC, 0, 0,
+ 0, 0, 0, 0, 0,0x91EA,0x91D8, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9FF4, 0, 0,0x9FFA,
+ 0, 0,0x9FF8, 0,0x9348, 0, 0,0xE042,
+0x9FF5, 0, 0, 0, 0, 0,0x9FF6,0x9FDE,
+ 0,0x8B99,0x9559, 0, 0, 0,0x8EBD, 0,
+ 0,0x8D97, 0, 0, 0, 0, 0,0x9852,
+ 0,0x9FF2, 0,0xE041,0x8989,0x9186, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9499, 0,0x8ABF,0x97F8, 0, 0, 0, 0,
+ 0, 0, 0,0x969F,0x92D0, 0, 0, 0,
+ 0,0x9FF9,0x9FFB, 0, 0, 0, 0, 0,
+0x9151, 0, 0, 0, 0, 0,0xE040,0x9FF7,
+ 0,0x9FF1, 0, 0, 0,0x8AC1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x8C89, 0, 0, 0,
+0xE04E, 0, 0,0xE049,0x90F6, 0, 0,0x8A83,
+ 0, 0, 0, 0,0x8F81, 0,0xE052, 0,
+ 0, 0, 0, 0, 0,0xE04B,0x92AA,0xE048,
+0x92D7, 0, 0, 0,0xE06B, 0, 0, 0,
+0xE045, 0,0xE044, 0,0xE04D, 0, 0, 0,
+0xE047,0xE046,0xE04C, 0,0x909F, 0,0xE043, 0,
+ 0, 0, 0, 0, 0, 0,0xE04F, 0,
+ 0,0xE050, 0, 0, 0, 0, 0,0x8AC0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE055, 0,0xE054,0xE056, 0, 0, 0,
+ 0, 0,0xE059, 0, 0, 0, 0, 0,
+ 0,0x9362, 0,0xE053, 0, 0, 0, 0,
+ 0,0xE057, 0, 0, 0, 0, 0, 0,
+0x8C83,0x91F7,0xE051,0x945A, 0, 0,0xE058, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE05D,0xE05B, 0, 0,
+0xE05E, 0, 0,0xE061, 0, 0, 0,0xE05A,
+0x8D8A,0x9447, 0, 0,0x9FB7, 0, 0, 0,
+ 0, 0, 0,0x9794,0xE05C, 0,0xE060,0x91F3,
+ 0,0xE05F, 0,0xE04A, 0, 0,0xE889, 0,
+ 0, 0,0xE064, 0, 0, 0,0xE068, 0,
+ 0,0xE066, 0, 0, 0, 0, 0, 0,
+ 0,0xE062, 0,0xE063, 0, 0, 0,0xE067,
+ 0,0xE065, 0, 0, 0,0x956D, 0, 0,
+0xE06D, 0,0xE06A,0xE069, 0,0xE06C,0x93D2,0xE06E,
+ 0, 0, 0, 0, 0, 0,0x9295,0x91EB,
+ 0, 0, 0, 0,0x90A3, 0, 0, 0,
+0xE06F, 0,0xE071, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE070, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9FF3, 0, 0, 0,
+ 0,0xE072, 0, 0, 0, 0, 0, 0,
+0x93E5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE073, 0, 0, 0, 0,
+ 0, 0, 0,0x89CE, 0, 0, 0,0x9394,
+0x8A44, 0, 0, 0, 0, 0, 0, 0,
+0x8B84, 0, 0, 0,0x8EDC,0x8DD0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9846,0x9086, 0, 0, 0,0x898A, 0,
+ 0, 0,0xE075, 0, 0, 0, 0, 0,
+ 0,0xE074, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE078,0x9259,0xE07B,0xE076,
+ 0, 0, 0,0xE07A, 0, 0, 0, 0,
+0xE079,0x935F,0x88D7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x97F3, 0, 0,0xE07D, 0, 0, 0,0x8947,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE080, 0, 0, 0,0xE07E, 0,0xE07C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE077, 0, 0, 0, 0, 0, 0,
+ 0,0x9642, 0, 0, 0,0xE082, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE081, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x898B, 0, 0, 0,
+ 0,0xE084,0x95B0, 0,0xE083, 0, 0, 0,
+ 0,0x96B3, 0, 0, 0, 0,0x8FC5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9152, 0,
+ 0, 0, 0, 0,0x8FC4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x97F9, 0, 0,0xE08A, 0,0x90F7, 0,
+ 0, 0, 0, 0, 0,0xE086,0xE08B, 0,
+ 0,0x898C, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE089, 0,0x9481,0xE085,0xE088,0x8FC6,
+ 0,0x94CF, 0, 0,0xE08C, 0,0x8ECF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x90F8, 0, 0,
+ 0, 0, 0, 0,0xE08F, 0, 0, 0,
+0xE087, 0,0x8C46, 0, 0, 0, 0,0xE08D,
+ 0, 0, 0, 0,0x976F,0xE090, 0, 0,
+ 0,0xEAA4, 0, 0, 0, 0, 0,0x8F6E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE091, 0, 0, 0,0xE092, 0, 0, 0,
+ 0,0x944D, 0, 0, 0, 0, 0, 0,
+ 0,0xE094, 0, 0, 0, 0,0xE095, 0,
+ 0, 0, 0,0x9452, 0, 0, 0, 0,
+0x9395,0xE097, 0, 0, 0, 0,0xE099, 0,
+0x97D3, 0,0xE096, 0,0xE098,0x898D, 0,0xE093,
+ 0, 0, 0, 0, 0, 0, 0,0x9A7A,
+0xE09A, 0, 0, 0, 0,0x9187,0x8E57,0xE09C,
+ 0, 0, 0, 0,0xE09B,0x9043,0x99D7, 0,
+ 0, 0, 0, 0, 0,0xE09D, 0, 0,
+ 0,0xE09F, 0,0xE08E,0xE09E, 0, 0,0xE0A0,
+ 0, 0, 0, 0, 0, 0,0x949A, 0,
+ 0, 0, 0, 0, 0,0xE0A1, 0, 0,
+0xE0A2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE0A3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE0A4, 0,0x92DC, 0,0xE0A6,0xE0A5, 0, 0,
+0xE0A7, 0,0xE0A8, 0, 0,0x8EDD,0x9583, 0,
+ 0, 0,0x96EA,0xE0A9,0xE0AA,0x9175,0x8EA2,0xE0AB,
+0xE0AC, 0, 0, 0, 0, 0,0xE0AD,0x95D0,
+0x94C5, 0, 0,0xE0AE,0x9476, 0, 0, 0,
+ 0, 0,0x92AB, 0, 0, 0, 0, 0,
+0xE0AF,0x89E5, 0,0x8B8D, 0,0x96C4, 0,0x96B4,
+ 0,0x89B2,0x9853, 0, 0, 0, 0,0x9671,
+ 0,0x95A8, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x90B5, 0,0xE0B0, 0, 0, 0,
+ 0,0x93C1, 0, 0, 0,0x8CA1,0xE0B1, 0,
+0x8DD2,0xE0B3,0xE0B2, 0, 0, 0, 0,0xE0B4,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE0B5, 0, 0, 0,0xE0B6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8B5D, 0,0xE0B7, 0, 0, 0, 0,0xE0B8,
+ 0, 0, 0, 0,0x8CA2, 0, 0,0x94C6,
+ 0, 0,0xE0BA, 0, 0, 0,0x8FF3, 0,
+ 0,0xE0B9, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8BB6,0xE0BB,0xE0BD, 0,0xE0BC, 0,
+ 0, 0, 0, 0, 0, 0,0xE0BE, 0,
+0x8CCF, 0,0xE0BF, 0, 0, 0, 0,0x8BE7,
+ 0,0x915F, 0,0x8D9D, 0, 0, 0, 0,
+0xE0C1,0xE0C2,0xE0C0, 0, 0, 0, 0, 0,
+ 0,0x8EEB, 0, 0,0x93C6,0x8BB7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE0C4,
+0x924B,0xE0C3, 0, 0,0x9854,0x9482, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE0C7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE0C9,0xE0C6,
+ 0, 0, 0,0x96D2,0xE0C8,0xE0CA, 0,0x97C2,
+ 0, 0, 0, 0, 0,0xE0CE, 0, 0,
+ 0,0xE0CD,0x9296,0x944C, 0, 0,0x8CA3,0xE0CC,
+ 0, 0, 0, 0,0xE0CB, 0,0x9750,0x9751,
+ 0, 0, 0, 0, 0, 0,0xE0CF,0x898E,
+ 0, 0, 0, 0,0x8D96,0x8E82, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE0D0,0xE0D1,
+ 0, 0, 0, 0, 0, 0, 0,0xE0D3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x8F62, 0, 0, 0, 0,
+0xE0D5, 0,0xE0D4, 0, 0, 0, 0, 0,
+0xE0D6, 0,0x8A6C, 0, 0,0xE0D8, 0, 0,
+0xE0D7, 0,0xE0DA,0xE0D9, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x8CBA, 0, 0,0x97A6,
+ 0,0x8BCA, 0,0x89A4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8BE8, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8ADF, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x97E6,0xE0DC, 0, 0, 0, 0,
+ 0, 0, 0,0xE0DE, 0, 0, 0, 0,
+0xE0DF, 0,0x89CF, 0, 0, 0, 0, 0,
+0xE0DB, 0,0x8E58, 0, 0,0x92BF,0xE0DD, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE0E2, 0,
+0x8EEC, 0, 0, 0, 0,0xE0E0, 0, 0,
+ 0, 0,0x8C5D, 0, 0,0x94C7,0xE0E1, 0,
+ 0,0xE0FC, 0, 0, 0, 0, 0, 0,
+0xE0E7, 0, 0, 0, 0, 0,0x8CBB, 0,
+ 0, 0, 0,0x8B85, 0,0xE0E4,0x979D, 0,
+ 0,0x97AE, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x91F4, 0, 0,0xE0E6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE0E8,0x97D4,0x8BD5,0x94FA,0x9469, 0,
+ 0, 0,0xE0E9, 0, 0, 0, 0,0xE0EB,
+ 0,0xE0EE, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE0EA, 0, 0,
+ 0,0xE0ED,0x8CE8,0x896C,0xE0EF, 0,0x9090,0xE0EC,
+0x97DA, 0, 0,0xE0F2,0xEAA2, 0, 0, 0,
+ 0,0xE0F0,0xE0F3, 0, 0, 0, 0,0xE0E5,
+0xE0F1, 0, 0,0x8DBA, 0, 0,0xE0F4, 0,
+ 0, 0, 0, 0, 0, 0,0xE0F5, 0,
+ 0, 0, 0,0x979E, 0, 0, 0, 0,
+ 0, 0, 0,0xE0F6, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE0F7, 0,
+ 0, 0,0xE0E3, 0, 0, 0, 0,0xE0F8,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8AC2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x8EA3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE0F9, 0, 0, 0, 0,0xE0FA,
+ 0, 0, 0, 0,0xE0FB, 0, 0, 0,
+ 0, 0, 0, 0,0x895A, 0, 0, 0,
+0xE140, 0,0x955A,0xE141, 0, 0,0x8AA2,0xE142,
+ 0,0xE143, 0, 0, 0, 0,0xE144, 0,
+0xE146,0xE147,0xE145, 0, 0, 0,0x9572,0xE149,
+0xE148, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE14B,0xE14A,0xE14C, 0, 0,
+ 0, 0, 0, 0,0xE14D,0xE14F,0xE14E, 0,
+ 0,0x8D99, 0,0xE151, 0,0xE150, 0, 0,
+0x8AC3, 0,0x9072, 0,0x935B, 0,0xE152,0x90B6,
+ 0, 0, 0,0x8E59, 0,0x8999,0xE153, 0,
+0x9770, 0, 0,0x95E1,0xE154, 0, 0, 0,
+0x9363,0x9752,0x8D62,0x905C, 0, 0, 0,0x926A,
+0x99B2, 0,0x92AC,0x89E6,0xE155, 0, 0, 0,
+ 0, 0, 0, 0,0xE156, 0,0xE15B, 0,
+ 0,0xE159,0xE158,0x9DC0,0x8A45,0xE157, 0,0x88D8,
+ 0,0x94A8, 0, 0,0x94C8, 0, 0, 0,
+ 0,0x97AF,0xE15C,0xE15A,0x927B,0x90A4, 0, 0,
+0x94A9, 0,0x954C, 0,0xE15E,0x97AA,0x8C6C,0xE15F,
+ 0,0xE15D,0x94D4,0xE160, 0,0xE161, 0, 0,
+0x88D9, 0, 0,0x8FF4,0xE166, 0,0xE163,0x93EB,
+0xE162, 0, 0, 0, 0, 0, 0,0x8B45,
+ 0, 0,0xE169, 0, 0, 0,0xE164,0xE165,
+ 0,0xE168,0xE167,0x9544, 0, 0,0x9161,0x9160,
+ 0,0x8B5E, 0, 0,0xE16A, 0, 0, 0,
+ 0, 0,0xE16B, 0, 0,0xE16C, 0, 0,
+ 0, 0, 0,0xE16E, 0,0xE16D, 0, 0,
+ 0, 0, 0,0x8975, 0, 0, 0, 0,
+ 0,0xE176,0x94E6,0xE170, 0,0xE172, 0, 0,
+0xE174,0x905D, 0, 0,0xE175,0xE173,0x8EBE, 0,
+ 0, 0,0xE16F,0xE171, 0,0x9561, 0,0x8FC7,
+ 0, 0,0xE178, 0, 0,0xE177, 0, 0,
+ 0, 0,0xE179, 0,0x8EA4,0x8DAD, 0, 0,
+0x9397,0xE17A, 0,0x92C9, 0, 0,0xE17C, 0,
+ 0, 0,0x979F,0xE17B, 0, 0, 0, 0,
+ 0,0x9189, 0, 0, 0, 0, 0, 0,
+0xE182, 0,0xE184,0xE185,0x9273, 0, 0, 0,
+ 0, 0,0xE183, 0,0xE180, 0,0xE17D,0xE17E,
+ 0,0xE181, 0, 0, 0, 0, 0, 0,
+ 0,0xE188, 0,0xE186, 0,0xE187, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE189,
+0xE18B,0xE18C,0xE18D, 0,0xE18E, 0, 0,0xE18A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE190, 0, 0, 0,0xE18F, 0, 0, 0,
+ 0, 0, 0,0xE191, 0, 0, 0, 0,
+ 0, 0,0x97C3, 0, 0, 0,0xE194,0xE192,
+0xE193, 0, 0, 0,0x8AE0, 0, 0, 0,
+ 0, 0,0x96FC, 0, 0, 0,0x95C8, 0,
+0xE196, 0, 0, 0,0xE195, 0, 0, 0,
+ 0,0xE197,0xE198, 0, 0, 0, 0,0xE19C,
+0xE199,0xE19A,0xE19B, 0,0xE19D, 0, 0, 0,
+0xE19E, 0,0xE19F, 0, 0, 0,0xE1A0, 0,
+0xE1A1, 0,0x94AD,0x936F,0xE1A2,0x9492,0x9553, 0,
+0xE1A3, 0, 0,0xE1A4,0x9349, 0,0x8A46,0x8D63,
+0xE1A5, 0, 0,0xE1A6, 0, 0,0xE1A7, 0,
+0x8E48, 0, 0,0xE1A9, 0, 0,0xE1A8, 0,
+ 0,0xE1AA,0xE1AB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x94E7, 0,
+0xE1AC, 0, 0, 0,0xE1AD, 0, 0,0xEA89,
+0xE1AE,0xE1AF,0xE1B0, 0, 0, 0, 0,0x8E4D,
+ 0, 0,0xE1B1,0x9475, 0, 0,0x967E, 0,
+0x896D, 0,0x8976, 0, 0,0xE1B2, 0, 0,
+ 0, 0,0xE1B4, 0, 0, 0,0xE1B3,0x9390,
+ 0, 0, 0,0x90B7,0x9F58, 0,0xE1B5,0x96BF,
+ 0,0xE1B6, 0,0x8AC4,0x94D5,0xE1B7, 0,0xE1B8,
+ 0, 0,0xE1B9, 0, 0, 0,0x96DA, 0,
+ 0, 0,0x96D3, 0,0x92BC, 0, 0, 0,
+0x918A, 0, 0,0xE1BB, 0, 0,0x8F82, 0,
+ 0,0x8FC8, 0, 0,0xE1BE, 0, 0,0xE1BD,
+0xE1BC,0x94FB, 0,0x8AC5,0x8CA7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE1C4, 0, 0,0xE1C1,0x905E,
+0x96B0, 0, 0, 0,0xE1C0,0xE1C2,0xE1C3, 0,
+ 0,0xE1BF, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE1C5,
+0xE1C6, 0,0x92AD, 0,0x8AE1, 0, 0, 0,
+0x9285, 0, 0, 0, 0, 0, 0,0xE1C7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE1C8,0xE1CB, 0, 0, 0, 0,
+ 0,0x9087, 0,0x93C2, 0,0xE1CC,0x9672, 0,
+0xE1C9, 0, 0,0xE1CA, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE1CF, 0, 0, 0, 0,0xE1CE,0xE1CD,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE1D1, 0, 0,0xE1D0, 0,
+ 0,0xE1D2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE1D4, 0,
+0xE1D3, 0, 0, 0, 0,0x95CB, 0, 0,
+ 0, 0, 0, 0,0x8F75,0x97C4, 0, 0,
+0xE1D5, 0, 0,0x93B5, 0, 0,0xE1D6, 0,
+ 0,0xE1D7, 0,0xE1DB,0xE1D9,0xE1DA, 0,0xE1D8,
+ 0, 0, 0, 0, 0, 0, 0,0xE1DC,
+ 0, 0, 0, 0, 0,0xE1DD, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE1DE,
+ 0, 0,0xE1DF,0x96B5,0xE1E0, 0, 0, 0,
+ 0, 0,0x96EE,0xE1E1, 0,0x926D, 0,0x948A,
+ 0,0x8BE9, 0, 0, 0,0x925A,0xE1E2,0x8BB8,
+ 0, 0, 0,0x90CE, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE1E3, 0, 0, 0,
+ 0, 0,0x8DBB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE1E4, 0, 0, 0,
+ 0, 0,0xE1E5, 0,0x8CA4,0x8DD3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE1E7, 0, 0, 0, 0,0x9375,0x8DD4,0x8B6D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x9643, 0,0x946A, 0, 0, 0,
+ 0, 0,0x9376, 0, 0, 0, 0,0x8D7B,
+ 0, 0, 0, 0, 0,0xE1E9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x8FC9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x97B0,0x8D64, 0, 0,0x8CA5,
+ 0, 0,0x94A1, 0,0xE1EB, 0, 0, 0,
+ 0, 0, 0, 0,0xE1ED, 0, 0, 0,
+ 0,0x8CE9, 0, 0, 0, 0,0xE1EC,0x92F4,
+ 0, 0, 0, 0,0xE1EF,0x8A56,0xE1EA, 0,
+ 0,0x94E8, 0,0x894F, 0,0x8DEA, 0,0x9871,
+ 0, 0,0xE1EE, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE1F0, 0, 0, 0,0x95C9,
+ 0,0x90D7,0xE1F2, 0, 0, 0, 0,0xE1F3,
+ 0, 0, 0, 0, 0,0xE1F1, 0, 0,
+ 0, 0,0x8A6D, 0,0xE1F9, 0,0xE1F8, 0,
+ 0,0x8EA5, 0, 0, 0,0xE1FA,0xE1F5, 0,
+ 0, 0,0xE1FB,0xE1F6, 0, 0, 0, 0,
+0x94D6,0xE1F4, 0, 0,0xE1F7, 0, 0, 0,
+ 0, 0,0xE241, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE240,
+0x9681, 0, 0, 0,0xE1FC, 0, 0,0x88E9,
+ 0, 0, 0, 0,0xE243, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE242, 0, 0,
+ 0,0x8FCA, 0, 0, 0, 0, 0,0xE244,
+ 0, 0, 0, 0, 0, 0,0x9162, 0,
+ 0,0xE246,0xE245, 0, 0, 0, 0, 0,
+ 0,0xE247, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE1E6, 0,
+ 0, 0,0xE1E8,0xE249,0xE248, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8EA6, 0,0x97E7, 0,0x8ED0, 0,
+0xE24A,0x8C56, 0, 0, 0, 0, 0,0x8B5F,
+0x8B46,0x8E83, 0, 0, 0, 0, 0, 0,
+0x9753, 0, 0,0xE250, 0,0xE24F,0x9163,0xE24C,
+ 0, 0,0xE24E, 0, 0,0x8F6A,0x905F,0xE24D,
+0xE24B, 0,0x9449, 0, 0,0x8FCB, 0, 0,
+0x955B, 0, 0, 0, 0,0x8DD5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x9398,
+ 0, 0,0xE251, 0, 0, 0, 0,0xE252,
+0xE268,0x8BD6, 0, 0,0x985C,0x9154, 0, 0,
+ 0, 0,0xE253, 0, 0,0x89D0,0x92F5,0x959F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE254, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8B9A,0xE255,
+ 0, 0,0xE257, 0, 0, 0,0xE258, 0,
+0x9448, 0, 0,0xE259, 0, 0, 0, 0,
+ 0,0xE25A,0xE25B, 0, 0,0x8BD7,0x89D1,0x93C3,
+0x8F47,0x8E84, 0, 0, 0, 0, 0, 0,
+ 0,0xE25C, 0,0x8F48, 0, 0, 0, 0,
+ 0,0x89C8,0x9562, 0, 0,0xE25D, 0, 0,
+0x94E9, 0, 0, 0, 0, 0, 0,0x9164,
+ 0,0xE260, 0,0xE261,0x9489, 0,0x9060,0xE25E,
+ 0,0x9281, 0, 0,0xE25F, 0, 0, 0,
+0x8FCC, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x88DA, 0, 0, 0, 0,
+0x8B48, 0, 0, 0, 0, 0, 0, 0,
+0xE262, 0, 0,0x92F6, 0,0xE263,0x90C5, 0,
+ 0, 0, 0, 0,0x96AB, 0, 0,0x9542,
+0xE264,0xE265,0x9274, 0,0x97C5, 0, 0,0xE267,
+0xE266, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8EED, 0,
+ 0,0xE269,0x88EE, 0, 0, 0, 0,0xE26C,
+ 0, 0, 0,0xE26A,0x89D2,0x8C6D,0xE26B,0x8D65,
+0x8D92, 0,0x95E4,0xE26D, 0, 0,0x9673, 0,
+ 0,0xE26F, 0, 0, 0,0x90CF,0x896E,0x89B8,
+0x88AA, 0, 0, 0, 0, 0, 0,0xE26E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE270,0xE271,0x8FF5, 0, 0, 0, 0,
+ 0,0xE272, 0,0x8A6E, 0, 0, 0, 0,
+0xE274, 0, 0, 0,0x8C8A, 0,0x8B86, 0,
+ 0,0xE275,0x8BF3, 0, 0,0xE276, 0,0x90FA,
+ 0,0x93CB, 0,0x90DE,0x8DF3, 0, 0, 0,
+0xE277, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x9282,0x918B, 0,0xE279,0xE27B,0xE278,
+0xE27A, 0, 0, 0, 0, 0, 0,0x8C41,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE27C,0x8C45, 0, 0, 0,0x8B87,0x9771,
+0xE27E, 0, 0, 0, 0, 0,0xE280, 0,
+ 0, 0,0x894D, 0, 0, 0, 0,0xE283,
+ 0, 0, 0,0x8A96,0xE282,0xE281, 0,0xE285,
+0xE27D, 0,0xE286,0x97A7, 0,0xE287, 0,0xE288,
+ 0, 0,0x9AF2,0xE28A, 0,0xE289, 0, 0,
+ 0,0xE28B,0xE28C, 0,0x97B3,0xE28D, 0,0xE8ED,
+0x8FCD,0xE28E,0xE28F,0x8F76, 0,0x93B6,0xE290, 0,
+ 0, 0,0x9247, 0, 0,0xE291, 0,0x925B,
+0xE292, 0, 0, 0, 0, 0,0x8BA3, 0,
+0x995E,0x927C,0x8EB1, 0, 0, 0, 0,0x8AC6,
+ 0, 0,0xE293, 0,0xE2A0, 0,0xE296, 0,
+0x8B88, 0,0xE295,0xE2A2, 0, 0, 0,0xE294,
+ 0,0x8FCE, 0, 0, 0, 0, 0, 0,
+0xE298,0xE299, 0,0x934A, 0, 0,0xE29A, 0,
+0x8A7D, 0, 0, 0, 0,0x9079,0x9584, 0,
+0xE29C, 0, 0, 0,0x91E6, 0, 0, 0,
+ 0, 0, 0,0xE297, 0,0xE29B,0xE29D, 0,
+ 0,0x8DF9, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE2A4,0x954D, 0,
+0x94A4,0x9399, 0,0x8BD8,0xE2A3,0xE2A1, 0,0x94B3,
+0xE29E,0x927D,0x939B, 0,0x939A, 0,0x8DF4, 0,
+ 0, 0, 0, 0, 0,0xE2B6, 0, 0,
+ 0, 0, 0, 0, 0,0xE2A6, 0,0xE2A8,
+ 0, 0, 0, 0,0xE2AB, 0,0xE2AC, 0,
+0xE2A9,0xE2AA, 0, 0,0xE2A7,0xE2A5, 0, 0,
+ 0, 0,0xE29F, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x95CD,0x89D3,
+ 0, 0, 0,0xE2B3, 0,0xE2B0, 0,0xE2B5,
+ 0, 0,0xE2B4, 0,0x9493,0x96A5, 0,0x8E5A,
+0xE2AE,0xE2B7,0xE2B2, 0,0xE2B1,0xE2AD, 0,0xE2AF,
+ 0,0x8AC7, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x925C, 0, 0,0x90FB, 0, 0,
+ 0,0x94A0, 0, 0,0xE2BC, 0, 0, 0,
+0x94A2, 0, 0, 0, 0, 0, 0, 0,
+0x90DF,0xE2B9, 0, 0,0x94CD, 0,0xE2BD,0x95D1,
+ 0,0x927A, 0,0xE2B8,0xE2BA, 0, 0,0xE2BB,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE2BE, 0, 0,
+0x8EC2, 0, 0, 0,0x93C4,0xE2C3,0xE2C2, 0,
+ 0,0xE2BF, 0, 0, 0,0x9855, 0, 0,
+ 0, 0, 0,0xE2C8, 0, 0,0xE2CC,0xE2C9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE2C5, 0, 0, 0, 0, 0, 0,0xE2C6,
+ 0, 0, 0, 0, 0,0xE2CB, 0, 0,
+ 0,0xE2C0,0x99D3,0xE2C7,0xE2C1, 0, 0,0xE2CA,
+ 0, 0, 0, 0, 0, 0, 0,0xE2D0,
+ 0,0x8AC8, 0,0xE2CD, 0, 0, 0,0xE2CE,
+ 0, 0,0xE2CF,0xE2D2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE2D1,
+0x94F4, 0, 0, 0, 0,0xE2D3,0x97FA,0x95EB,
+0xE2D8, 0, 0,0xE2D5, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE2D4,0x90D0, 0,0xE2D7,
+0xE2D9, 0, 0, 0,0xE2D6, 0,0xE2DD, 0,
+0xE2DA, 0, 0, 0, 0, 0, 0,0xE2DB,
+0xE2C4, 0, 0, 0,0xE2DC,0xE2DE, 0, 0,
+ 0, 0, 0, 0,0xE2DF, 0, 0, 0,
+ 0, 0, 0,0x95C4, 0,0xE2E0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x96E0, 0,
+ 0,0x8BCC,0x8C48,0xE2E1, 0, 0, 0, 0,
+ 0,0x95B2, 0,0x9088, 0,0x96AE, 0, 0,
+0xE2E2, 0,0x97B1, 0, 0,0x9494, 0,0x9165,
+0x9453, 0, 0,0x8F6C, 0, 0, 0,0x88BE,
+ 0,0xE2E7,0xE2E5, 0,0xE2E3,0x8A9F, 0,0x8FCF,
+0xE2E8, 0, 0,0xE2E6, 0,0xE2E4,0xE2EC, 0,
+ 0,0xE2EB,0xE2EA,0xE2E9, 0, 0, 0, 0,
+ 0,0xE2ED, 0, 0, 0,0xE2EE,0x90B8, 0,
+0xE2EF, 0,0xE2F1, 0, 0,0xE2F0, 0, 0,
+ 0, 0,0x8CD0, 0, 0, 0,0x9157, 0,
+ 0, 0,0xE2F3, 0, 0, 0,0x939C, 0,
+0xE2F2, 0, 0, 0,0xE2F4, 0,0x95B3,0x918C,
+0x8D66, 0,0xE2F5, 0, 0, 0, 0,0x97C6,
+ 0, 0, 0, 0, 0, 0, 0,0xE2F7,
+ 0, 0,0xE2F8, 0,0xE2F9, 0,0xE2FA, 0,
+0x8E85, 0,0xE2FB,0x8C6E, 0, 0,0x8B8A, 0,
+0x8B49, 0,0xE340, 0,0x96F1,0x8D67,0xE2FC, 0,
+ 0, 0,0xE343,0x96E4, 0,0x945B, 0, 0,
+0x9552, 0, 0, 0,0x8F83,0xE342, 0,0x8ED1,
+0x8D68,0x8E86,0x8B89,0x95B4,0xE341, 0, 0, 0,
+0x9166,0x9661,0x8DF5, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x8E87,0x92DB, 0,0xE346,0x97DD,
+0x8DD7, 0,0xE347,0x9061, 0,0xE349, 0, 0,
+ 0,0x8FD0,0x8DAE, 0, 0, 0, 0,0xE348,
+ 0, 0,0x8F49,0x8CBC,0x9167,0xE344,0xE34A, 0,
+ 0, 0, 0,0xE345,0x8C6F, 0,0xE34D,0xE351,
+0x8C8B, 0, 0, 0, 0, 0,0xE34C, 0,
+ 0, 0, 0,0xE355, 0, 0,0x8D69, 0,
+ 0,0x978D,0x88BA,0xE352, 0, 0,0x8B8B, 0,
+0xE34F, 0, 0, 0, 0, 0,0xE350, 0,
+ 0,0x939D,0xE34E,0xE34B, 0,0x8A47,0x90E2, 0,
+ 0,0x8CA6, 0, 0, 0,0xE357, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE354, 0, 0, 0, 0, 0,0xE356,
+ 0, 0, 0,0xE353, 0, 0, 0, 0,
+ 0,0x8C70,0x91B1,0xE358,0x918E, 0, 0,0xE365,
+ 0, 0,0xE361,0xE35B, 0, 0, 0, 0,
+ 0, 0, 0,0xE35F,0x8EF8,0x88DB,0xE35A,0xE362,
+0xE366,0x8D6A,0x96D4, 0,0x92D4,0xE35C, 0, 0,
+0xE364, 0,0xE359,0x925D, 0,0xE35E,0x88BB,0x96C8,
+ 0, 0, 0, 0, 0, 0, 0,0xE35D,
+ 0, 0,0x8BD9,0x94EA, 0, 0, 0,0x918D,
+ 0,0x97CE,0x8F8F, 0, 0,0xE38E, 0, 0,
+0xE367, 0,0x90FC, 0,0xE363,0xE368,0xE36A, 0,
+0x92F7,0xE36D, 0, 0,0xE369, 0, 0, 0,
+0x95D2,0x8AC9, 0, 0,0x96C9, 0, 0,0x88DC,
+ 0, 0,0xE36C, 0,0x97FB, 0, 0, 0,
+ 0, 0, 0,0xE36B, 0, 0, 0, 0,
+ 0,0x898F, 0, 0,0x93EA,0xE36E, 0, 0,
+ 0,0xE375,0xE36F,0xE376, 0, 0, 0, 0,
+ 0, 0,0xE372, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x949B, 0, 0,0x8EC8,0xE374,
+ 0,0xE371,0xE377,0xE370, 0, 0,0x8F63, 0,
+ 0, 0, 0,0x9644, 0, 0,0x8F6B, 0,
+ 0,0xE373,0xE380, 0, 0,0xE37B, 0,0xE37E,
+ 0,0xE37C,0xE381,0xE37A, 0,0xE360,0x90D1, 0,
+ 0,0x94C9, 0,0xE37D, 0, 0,0xE378, 0,
+ 0, 0,0x9140,0x8C71, 0,0x8F4A, 0, 0,
+ 0, 0, 0, 0,0x9044,0x9155,0xE384, 0,
+ 0,0xE386,0xE387, 0, 0,0xE383,0xE385, 0,
+ 0, 0, 0, 0, 0, 0,0xE379,0xE382,
+ 0,0xE38A,0xE389, 0, 0,0x969A, 0, 0,
+0x8C4A, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE388, 0,0xE38C,0xE38B,0xE38F, 0,0xE391,
+ 0, 0,0x8E5B,0xE38D, 0, 0, 0, 0,
+0xE392,0xE393, 0, 0,0xE394, 0,0xE39A,0x935A,
+0xE396, 0,0xE395,0xE397,0xE398, 0,0xE399, 0,
+ 0, 0, 0,0xE39B,0xE39C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8ACA, 0,
+0xE39D, 0,0xE39E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE39F, 0, 0,
+ 0, 0, 0, 0,0xE3A0,0xE3A1,0xE3A2, 0,
+0xE3A3,0xE3A4, 0, 0,0xE3A6,0xE3A5, 0, 0,
+0xE3A7, 0, 0, 0, 0, 0, 0,0xE3A8,
+0xE3A9, 0, 0, 0, 0, 0, 0,0xE3AC,
+0xE3AA,0xE3AB,0x8DDF,0x8C72, 0, 0,0x9275, 0,
+0x94B1, 0,0x8F90, 0, 0,0x946C, 0,0x94EB,
+0xE3AD,0x9CEB, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE3AE,0xE3B0, 0,0x9785,0xE3AF,0xE3B2,
+0xE3B1, 0,0x9772, 0,0xE3B3, 0,0x94FC, 0,
+ 0, 0, 0, 0,0xE3B4, 0, 0, 0,
+ 0, 0,0xE3B7, 0, 0,0xE3B6,0xE3B5, 0,
+ 0, 0, 0,0xE3B8,0x8C51, 0, 0, 0,
+0x9141,0x8B60, 0, 0, 0, 0,0xE3BC,0xE3B9,
+ 0, 0,0xE3BA, 0, 0, 0,0xE3BD, 0,
+0xE3BE,0xE3BB, 0, 0, 0,0x8948, 0, 0,
+ 0,0x89A5, 0, 0, 0,0xE3C0,0xE3C1, 0,
+ 0, 0,0xE3C2, 0,0x9782, 0, 0, 0,
+ 0, 0,0x8F4B, 0,0xE3C4,0xE3C3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9089,0xE3C5, 0, 0, 0, 0,0xE3C6, 0,
+ 0,0xE3C7, 0,0x8AE3, 0, 0, 0, 0,
+0x8ACB, 0, 0,0xE3C8, 0, 0, 0, 0,
+ 0,0xE3C9, 0,0x967C,0x9783, 0, 0, 0,
+0x9773,0x9856, 0,0x8D6C,0xE3CC,0x8ED2,0xE3CB, 0,
+ 0, 0, 0,0xE3CD,0x8EA7, 0, 0, 0,
+0x91CF, 0,0xE3CE, 0, 0,0x8D6B, 0,0x96D5,
+0xE3CF,0xE3D0, 0, 0,0xE3D1, 0, 0, 0,
+ 0,0xE3D2, 0, 0, 0, 0, 0, 0,
+0xE3D3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x8EA8, 0, 0,0x96EB, 0,
+ 0, 0, 0,0xE3D5, 0,0x925E, 0,0xE3D4,
+ 0, 0, 0, 0, 0, 0,0xE3D7, 0,
+ 0, 0,0xE3D6, 0, 0, 0, 0, 0,
+ 0, 0,0xE3D8, 0, 0, 0,0x90B9, 0,
+0xE3D9, 0,0xE3DA, 0, 0, 0,0x95B7,0xE3DB,
+ 0,0x918F,0xE3DC, 0, 0, 0, 0, 0,
+0xE3DD, 0, 0, 0, 0, 0, 0,0x97FC,
+0xE3E0, 0,0xE3DF,0xE3DE,0x92AE, 0,0xE3E1,0x9045,
+ 0,0xE3E2, 0, 0, 0,0xE3E3,0x9857,0xE3E4,
+ 0, 0, 0, 0,0xE3E5,0xE3E7,0xE3E6,0x94A3,
+ 0,0x93F7, 0,0x985D,0x94A7, 0, 0, 0,
+ 0, 0, 0,0xE3E9, 0, 0,0x8FD1, 0,
+0x9549, 0,0xE3EA,0xE3E8, 0,0x8ACC, 0, 0,
+ 0,0x8CD2,0x8E88, 0, 0,0x94EC, 0, 0,
+ 0,0x8CA8,0x9662, 0,0xE3ED,0xE3EB, 0,0x8D6D,
+ 0,0x8D6E,0x88E7, 0,0x8DE6, 0, 0, 0,
+ 0, 0,0x9478, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x88DD,0xE3F2, 0,0x925F, 0,
+ 0, 0, 0, 0,0x9477, 0,0x91D9, 0,
+ 0, 0, 0, 0, 0, 0,0xE3F4, 0,
+ 0,0xE3F0,0xE3F3,0xE3EE, 0,0xE3F1,0x9645, 0,
+ 0,0x8CD3, 0, 0,0x88FB,0xE3EF, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE3F6,
+ 0,0xE3F7, 0, 0,0x93B7, 0, 0, 0,
+0x8BB9, 0, 0, 0,0xE445,0x945C, 0, 0,
+ 0, 0,0x8E89, 0, 0,0x8BBA,0x90C6,0x9865,
+0x96AC,0xE3F5,0x90D2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8B72,0xE3F8, 0, 0, 0, 0,
+ 0, 0, 0,0xE3FA, 0, 0, 0, 0,
+ 0,0xE3F9, 0, 0, 0, 0, 0,0xE3FB,
+ 0,0x9245, 0,0x945D, 0, 0, 0, 0,
+ 0,0x92AF, 0, 0, 0, 0,0xE442, 0,
+ 0, 0, 0, 0, 0, 0,0xE441, 0,
+ 0, 0, 0,0xE3FC, 0, 0,0x9074, 0,
+0x9585,0xE444, 0,0xE443,0x8D6F,0x9872, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE454,
+ 0, 0, 0, 0, 0,0xE448,0xE449, 0,
+ 0, 0, 0,0x8EEE, 0, 0,0xE447, 0,
+0x8D98,0xE446, 0, 0,0xE44A, 0, 0, 0,
+0x92B0,0x95A0,0x9142, 0, 0, 0, 0,0x91DA,
+0xE44E, 0,0xE44F,0xE44B, 0, 0, 0, 0,
+0xE44C, 0,0xE44D, 0, 0, 0, 0,0x8D70,
+ 0, 0, 0,0xE455, 0,0xE451, 0, 0,
+ 0, 0,0x9586, 0,0x968C,0x9547, 0, 0,
+0xE450, 0, 0,0xE453,0xE452, 0, 0, 0,
+0x9663,0xE456, 0, 0, 0, 0, 0, 0,
+0xE457, 0, 0,0x9156, 0,0xE458, 0, 0,
+0xE45A, 0,0xE45E, 0, 0,0xE45B,0xE459,0x945E,
+0xE45C, 0,0xE45D, 0, 0, 0,0x89B0, 0,
+0xE464,0xE45F, 0, 0, 0,0xE460, 0, 0,
+ 0,0xE461, 0,0x919F, 0, 0, 0, 0,
+0xE463,0xE462,0xE465, 0, 0, 0, 0,0xE466,
+0xE467, 0, 0,0x9062, 0,0x89E7, 0,0xE468,
+0x97D5, 0,0x8EA9, 0, 0,0x8F4C, 0, 0,
+ 0, 0, 0,0x8E8A,0x9276, 0, 0, 0,
+ 0, 0,0xE469,0xE46A,0x8950, 0,0xE46B, 0,
+ 0,0xE46C,0xE46D, 0, 0,0xE46E, 0,0xE46F,
+0x8BBB,0x9DA8,0xE470, 0,0x90E3,0xE471,0x8EC9, 0,
+0xE472, 0,0x98AE, 0, 0, 0,0xE473,0x95DC,
+0x8ADA, 0, 0,0x9143,0x8F77, 0,0x9591,0x8F4D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE474,0x8D71,0xE475,0x94CA, 0,0xE484, 0,
+ 0, 0, 0,0xE477, 0,0x91C7,0x9495,0x8CBD,
+0xE476,0x9144, 0, 0, 0, 0, 0, 0,
+0xE478, 0, 0, 0, 0, 0, 0,0x92F8,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE47A,0xE479,0xE47C, 0, 0,0xE47B, 0,0xE47D,
+ 0, 0,0xE480, 0,0xE47E, 0,0x8ACD, 0,
+0xE481, 0,0xE482,0xE483, 0, 0,0x8DAF,0x97C7,
+ 0,0xE485,0x9046, 0, 0, 0,0x8990,0xE486,
+0xE487, 0, 0, 0, 0, 0,0xE488, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x88F0, 0,0xE489, 0, 0,
+ 0, 0,0xE48A, 0, 0, 0, 0, 0,
+ 0,0x9587, 0, 0, 0,0x8EC5, 0,0xE48C,
+ 0, 0, 0, 0, 0,0x8A48,0x88B0, 0,
+ 0, 0, 0,0xE48B,0xE48E,0x946D, 0,0x9063,
+ 0,0x89D4, 0,0x9646, 0, 0, 0, 0,
+0x8C7C,0x8BDA, 0,0xE48D, 0,0x89E8, 0, 0,
+ 0, 0, 0, 0, 0,0x8AA1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8991,0xE492,0x97E8,0x91DB, 0, 0,0x9563,
+ 0,0xE49E, 0,0x89D5,0xE49C, 0,0xE49A,0xE491,
+ 0,0xE48F, 0,0xE490, 0,0x8EE1,0x8BEA,0x9297,
+ 0, 0, 0,0x93CF, 0, 0, 0, 0,
+ 0,0x8970, 0,0xE494,0xE493, 0, 0, 0,
+ 0,0xE499,0xE495,0xE498, 0, 0, 0, 0,
+ 0, 0,0x96CE,0xE497,0x89D6,0x8A9D,0xE49B, 0,
+ 0,0xE49D, 0, 0, 0, 0,0x8C73, 0,
+ 0, 0, 0, 0, 0, 0,0xE4A1,0xE4AA,
+0xE4AB, 0, 0, 0,0x88A9, 0, 0, 0,
+ 0, 0, 0,0xE4B2, 0, 0, 0, 0,
+0x88EF, 0, 0,0xE4A9, 0, 0, 0,0xE4A8,
+ 0,0xE4A3,0xE4A2, 0,0xE4A0,0xE49F,0x9283, 0,
+0x91F9,0xE4A5, 0, 0, 0, 0, 0, 0,
+0xE4A4, 0, 0, 0, 0,0xE4A7, 0, 0,
+ 0,0x9190,0x8C74, 0, 0, 0, 0,0x8960,
+0xE4A6, 0,0x8D72, 0, 0, 0, 0, 0,
+0x9191, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE4B8, 0,0xE4B9, 0,0x89D7,
+ 0, 0, 0,0x89AC,0xE4B6, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE4AC, 0,0xE4B4,
+ 0,0xE4BB,0xE4B5, 0, 0, 0,0xE4B3, 0,
+ 0, 0, 0,0xE496, 0, 0,0xE4B1, 0,
+ 0, 0,0xE4AD, 0, 0, 0,0x8ACE,0xE4AF,
+0xE4BA, 0,0xE4B0, 0, 0, 0, 0, 0,
+0xE4BC, 0,0xE4AE,0x949C, 0, 0, 0, 0,
+ 0,0x9789, 0, 0, 0,0xE4B7, 0, 0,
+ 0, 0, 0, 0, 0,0xE4CD, 0, 0,
+ 0,0xE4C5, 0, 0, 0,0x909B, 0, 0,
+ 0, 0,0x8B65, 0,0x8BDB, 0,0xE4C0, 0,
+ 0, 0, 0,0x89D9, 0, 0,0x8FD2, 0,
+0xE4C3, 0, 0, 0,0x8DD8, 0, 0,0x9370,
+0xE4C8, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x95EC, 0,0xE4BF, 0, 0, 0,0x89D8,
+0x8CD4,0x9548,0xE4C9, 0,0xE4BD, 0, 0,0xE4C6,
+ 0, 0, 0,0xE4D0, 0,0xE4C1, 0, 0,
+ 0, 0, 0,0xE4C2,0x93B8, 0, 0,0xE4C7,
+ 0, 0, 0,0xE4C4,0x9647,0xE4CA,0x88DE, 0,
+ 0, 0, 0,0xE4BE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE4CC, 0,0xE4CB, 0, 0, 0, 0, 0,
+ 0,0x948B,0xE4D2, 0,0xE4DD, 0, 0, 0,
+ 0,0x8A9E, 0, 0, 0,0xE4E0, 0, 0,
+0xE4CE, 0, 0, 0,0xE4D3,0x978E, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE4DC, 0,
+ 0,0x9774, 0, 0, 0, 0,0x97A8, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x9298,
+ 0, 0, 0,0x8A8B, 0, 0, 0, 0,
+ 0,0x9592,0xE4E2,0x939F, 0, 0,0x88AF, 0,
+ 0,0xE4DB, 0,0xE4D7,0x9192,0xE4D1,0xE4D9,0xE4DE,
+ 0,0x944B, 0, 0, 0,0x88A8, 0,0xE4D6,
+ 0,0xE4DF,0x9598, 0, 0, 0, 0, 0,
+ 0, 0,0xE4DA, 0,0xE4D5, 0, 0, 0,
+ 0, 0, 0,0x8FD3, 0, 0, 0, 0,
+0x8F4E, 0, 0, 0,0x8EAA, 0, 0, 0,
+ 0,0x96D6, 0, 0,0x9566, 0, 0,0xE4E5,
+ 0,0xE4EE, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE4D8, 0, 0,
+ 0, 0,0x8A97, 0, 0, 0, 0, 0,
+0x8FF6,0xE4E3, 0,0xE4E8,0x9193, 0, 0,0xE4E4,
+ 0,0xE4EB, 0, 0,0x927E, 0,0xE4EC, 0,
+ 0,0x9775,0xE4E1,0x8A57, 0,0xE4E7, 0, 0,
+0xE4EA,0x96AA, 0, 0, 0, 0,0xE4ED, 0,
+ 0,0xE4E6,0xE4E9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9648, 0,0x9840, 0,
+ 0, 0, 0, 0,0xE4F1, 0, 0, 0,
+ 0, 0, 0, 0,0xE4F8, 0, 0,0xE4F0,
+0x8EC1, 0, 0, 0, 0, 0,0xE4CF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x95CC, 0,0x96A0,0xE4F7,0xE4F6, 0,0xE4F2,
+0xE4F3, 0,0x8955, 0, 0, 0, 0,0xE4F5,
+ 0,0xE4EF, 0, 0, 0, 0,0x92D3, 0,
+ 0, 0, 0, 0,0xE4F4,0x88FC, 0, 0,
+ 0, 0, 0, 0, 0,0x91A0, 0, 0,
+ 0, 0, 0, 0, 0,0x95C1, 0, 0,
+0xE4F9,0xE540, 0,0x94D7, 0, 0, 0, 0,
+0xE4FC,0x8FD4,0x8EC7,0xE542, 0, 0,0x8BBC, 0,
+ 0, 0, 0, 0, 0,0xE543, 0,0x9599,
+0xE4FB, 0,0xE4D4, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE4FA, 0, 0, 0, 0,
+0x986E,0x93A0,0x9593, 0, 0,0xE54A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE550,
+ 0, 0, 0, 0, 0, 0,0xE551, 0,
+0xE544, 0, 0, 0,0x9496, 0, 0,0xE54E,
+0xE546, 0,0xE548, 0, 0, 0, 0, 0,
+0xE552,0xE547, 0, 0,0xE54B, 0, 0,0x8992,
+ 0,0x93E3, 0,0xE54C,0xE54F, 0, 0, 0,
+ 0, 0, 0, 0,0xE545, 0,0x9145, 0,
+0xE549,0x8E46,0x9064,0x8C4F,0x96F2, 0,0x96F7,0x8F92,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE556,0xE554, 0, 0, 0, 0, 0,
+ 0,0x986D, 0, 0, 0, 0, 0, 0,
+ 0,0xE553, 0, 0, 0,0x9795, 0,0xE555,
+0xE557, 0, 0, 0, 0,0xE558, 0, 0,
+ 0, 0, 0, 0,0xE55B,0xE559, 0, 0,
+ 0, 0, 0, 0,0x93A1,0xE55A, 0, 0,
+ 0,0x94CB,0xE54D, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x8F93,
+ 0,0xE55C,0xE561,0x9194, 0, 0,0xE560, 0,
+ 0, 0,0xE541, 0, 0, 0,0xE562,0x9168,
+ 0, 0,0xE55D,0xE55F, 0, 0, 0, 0,
+ 0, 0, 0,0xE55E, 0, 0,0x9F50,0x9F41,
+ 0, 0,0xE564, 0, 0, 0, 0, 0,
+ 0, 0,0xE563, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x9796, 0,0xE1BA,
+0xE565, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE566,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE567,0x8CD5, 0,
+0x8B73, 0, 0, 0,0xE569,0x997C, 0, 0,
+ 0, 0,0x8B95, 0,0x97B8, 0,0x8BF1,0xE56A,
+ 0, 0, 0, 0, 0, 0, 0,0xE56B,
+ 0, 0, 0,0x928E, 0, 0, 0, 0,
+ 0,0xE56C, 0, 0, 0, 0, 0, 0,
+ 0,0x93F8, 0,0x88B8, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x89E1,0xE571,0xE572, 0, 0, 0,
+ 0, 0, 0,0xE56D, 0,0x8E5C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE56E,0x9461, 0, 0, 0,
+ 0,0xE56F,0xE570,0xE57A, 0, 0, 0,0xE574,
+0xE577, 0, 0, 0, 0, 0,0xE573, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE575, 0,0xE576,0x8ED6,
+ 0,0xE578, 0,0x9260, 0,0x8C75,0x8A61, 0,
+ 0, 0, 0, 0,0xE57B, 0, 0, 0,
+ 0,0x8A5E, 0,0xE581, 0, 0,0xE57C,0xE580,
+ 0, 0, 0, 0,0x94B8, 0, 0, 0,
+ 0,0xE57D, 0, 0,0xE57E,0x9567,0x94D8,0xE582,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x91FB,0xE58C, 0,0xE588, 0, 0,0x89E9, 0,
+0xE586, 0,0x9649,0xE587, 0, 0,0xE584, 0,
+0xE585,0xE58A,0xE58D, 0, 0,0xE58B, 0, 0,
+ 0,0xE589,0xE583, 0, 0, 0, 0, 0,
+0x9277, 0,0xE594, 0,0x96A8, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE592, 0, 0,
+ 0,0xE593, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE58E, 0, 0,0xE590,
+ 0, 0, 0,0xE591, 0, 0, 0,0xE58F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x90E4, 0,0x9858,0xE598, 0,0xE599, 0,
+ 0, 0, 0,0xE59F, 0,0x9049, 0,0xE59B,
+ 0,0xE59E, 0, 0, 0, 0, 0,0xE596,
+0xE595, 0, 0,0xE5A0, 0, 0,0x89DA, 0,
+0xE59C, 0,0xE5A1, 0, 0, 0,0xE59D, 0,
+ 0, 0, 0, 0,0xE59A, 0,0x92B1, 0,
+0xE597, 0, 0, 0, 0, 0, 0,0x9488,
+ 0, 0,0xE5A5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x975A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE5A4,
+ 0, 0,0xE5A3, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE5AC, 0, 0, 0,0xE5A6,
+ 0, 0, 0,0xE5AE, 0, 0, 0, 0,
+ 0, 0,0x9786,0xE5B1, 0,0xE5A8, 0, 0,
+0xE5A9, 0, 0, 0,0xE5AD, 0,0xE5B0,0xE5AF,
+ 0, 0, 0,0xE5A7, 0, 0, 0, 0,
+0xE5AA, 0,0xE5BB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE5B4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE5B2,
+ 0, 0,0xE5B3, 0, 0, 0,0xE5B8,0xE5B9,
+ 0,0x8A49, 0,0x8B61, 0, 0,0xE5B7, 0,
+ 0, 0, 0, 0, 0,0xE5A2, 0, 0,
+ 0, 0, 0, 0, 0,0xE5B6,0xE5BA,0xE5B5,
+ 0,0xE5BC, 0, 0, 0,0xE5BE,0xE5BD, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE5C0,0xE5BF,0xE579, 0, 0, 0,0xE5C4,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE5C1, 0, 0, 0, 0,0xE5C2, 0,
+ 0,0xE5C3, 0,0xE5C5, 0, 0, 0, 0,
+0x8C8C, 0,0xE5C7, 0,0xE5C6, 0,0x8F4F, 0,
+ 0, 0, 0, 0,0x8D73,0x9FA5, 0, 0,
+ 0, 0,0xE5C8,0x8F70, 0, 0, 0,0x8A58,
+ 0,0xE5C9, 0,0x8971, 0,0x8FD5,0xE5CA, 0,
+ 0,0x8D74,0xE5CB,0x88DF, 0, 0, 0, 0,
+0x955C, 0, 0,0xE5CC, 0, 0, 0, 0,
+0x908A, 0,0xE5D3, 0, 0,0xE5D0, 0,0x928F,
+ 0, 0, 0, 0, 0,0xE5D1,0xE5CE,0x8BDC,
+ 0,0xE5CD,0xE5D4, 0, 0, 0, 0, 0,
+0x8C55, 0, 0,0x91DC, 0,0xE5DA, 0, 0,
+ 0, 0,0xE5D6, 0, 0, 0,0x91B3,0xE5D5,
+ 0,0xE5D8, 0, 0, 0, 0,0xE5CF, 0,
+ 0, 0,0xE5D9, 0,0xE5DB, 0, 0, 0,
+ 0, 0, 0,0x94ED, 0, 0,0xE5D7, 0,
+0xE5DC,0xE5DE, 0, 0,0x8CD1,0xE5D2, 0,0x88BF,
+ 0, 0, 0, 0, 0, 0, 0,0xE5DD,
+ 0,0x8DD9,0x97F4,0xE5DF,0xE5E0,0x9195, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x97A0,
+ 0, 0, 0, 0,0xE5E1,0x9754, 0, 0,
+0xE5E2,0xE5E3, 0, 0,0x95E2,0xE5E4, 0,0x8DBE,
+ 0,0x97A1, 0, 0, 0, 0, 0, 0,
+0xE5E9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE5EA,0x8FD6,0xE5E8, 0, 0, 0,
+0x9787,0xE5E5, 0, 0,0xE5E7,0x90BB,0x909E, 0,
+ 0, 0,0xE5E6, 0,0xE5EB, 0, 0,0x95A1,
+ 0, 0,0xE5ED, 0,0xE5EC, 0, 0, 0,
+0x8A8C, 0,0x964A,0xE5EE, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE5FA,0xE5F0, 0,
+ 0, 0, 0, 0, 0,0xE5F1, 0, 0,
+ 0, 0,0xE5F2,0xE5F3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE5F7, 0,
+0xE5F8, 0, 0,0xE5F6, 0, 0, 0, 0,
+ 0,0xE5F4, 0,0xE5EF,0xE5F5, 0, 0, 0,
+ 0, 0, 0, 0,0xE5F9,0xE8B5, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x89A6, 0,
+ 0, 0, 0, 0, 0, 0,0xE5FC,0x8BDD,
+0xE5FB, 0, 0, 0,0xE641, 0,0xE640, 0,
+ 0, 0,0xE643, 0, 0,0xE642, 0,0xE644,
+ 0, 0,0x8F50, 0,0xE645, 0, 0,0xE646,
+ 0, 0, 0, 0, 0, 0,0xE647,0x90BC,
+ 0,0x9776, 0,0xE648, 0, 0,0x95A2,0x9465,
+0xE649, 0,0xE64A,0x8CA9, 0, 0, 0,0x8B4B,
+ 0, 0, 0,0xE64B, 0, 0,0x8E8B,0x9460,
+0xE64C, 0,0x8A6F, 0, 0, 0, 0, 0,
+ 0,0xE64D, 0, 0, 0, 0,0xE64F,0x9797,
+ 0,0xE64E,0x9065, 0,0xE650, 0, 0,0xE651,
+ 0, 0,0xE652,0x8ACF, 0, 0, 0, 0,
+ 0, 0,0xE653, 0, 0,0xE654, 0,0xE655,
+0xE656, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8A70, 0, 0, 0, 0, 0,
+ 0, 0,0xE657, 0,0xE658,0xE659, 0, 0,
+ 0, 0, 0,0x89F0, 0, 0,0x9047,0xE65A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE65B, 0, 0, 0,
+0xE65C, 0, 0, 0, 0, 0, 0, 0,
+0x8CBE, 0,0x92F9,0xE65D, 0, 0, 0, 0,
+0x8C76, 0,0x9075, 0,0xE660, 0,0x93A2, 0,
+0xE65F, 0, 0,0x8C50, 0, 0,0xE65E,0x91F5,
+0x8B4C, 0, 0,0xE661, 0,0xE662, 0,0x8FD7,
+ 0, 0, 0,0x8C8D, 0,0xE663, 0, 0,
+ 0, 0,0x964B, 0, 0,0x90DD, 0, 0,
+ 0,0x8B96, 0,0x96F3,0x9169, 0,0xE664, 0,
+ 0, 0,0x9066,0x9290,0x8FD8, 0, 0, 0,
+ 0,0xE665, 0, 0, 0, 0,0xE668, 0,
+0xE669, 0, 0, 0, 0, 0, 0, 0,
+0x8DBC,0x91C0,0xE667, 0,0x8FD9,0x955D, 0, 0,
+ 0, 0, 0,0xE666, 0, 0,0x8E8C, 0,
+0x8972, 0,0xE66D,0x8C77, 0, 0,0x8E8E, 0,
+ 0,0x8E8D, 0,0x986C,0xE66C,0xE66B,0x9146, 0,
+0x8B6C,0x9862,0x8A59,0x8FDA, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE66A, 0, 0, 0,
+ 0, 0,0xE66F, 0,0xE670,0xE66E, 0,0x8CD6,
+ 0,0x975F, 0, 0,0x8E8F,0x9446, 0, 0,
+ 0,0xE673, 0,0x90BE, 0,0x9261, 0, 0,
+0x9755, 0,0xE676, 0, 0, 0,0x8CEA, 0,
+0x90BD,0xE672, 0,0xE677,0x8CEB,0xE674,0xE675, 0,
+0xE671, 0, 0, 0,0x90E0,0x93C7, 0, 0,
+0x924E, 0,0x89DB, 0, 0, 0, 0, 0,
+ 0,0x94EE, 0, 0,0x8B62, 0, 0,0x92B2,
+ 0, 0,0xE67A, 0,0xE678, 0, 0,0x926B,
+ 0, 0, 0,0x90BF,0x8AD0,0xE679, 0,0x907A,
+ 0, 0,0x97C8, 0, 0, 0,0x985F, 0,
+ 0, 0,0xE67B,0xE687,0x92B3, 0,0xE686, 0,
+0xE683,0xE68B,0xE684, 0,0xE680, 0,0x92FA,0xE67E,
+ 0, 0, 0,0xE67C, 0,0x9740,0x8E90, 0,
+ 0,0xE681, 0,0xE67D, 0, 0, 0,0xE685,
+0x8F94, 0,0x8CBF, 0, 0, 0,0x91F8, 0,
+0x9664,0x8979,0x88E0, 0,0x93A3, 0, 0,0xE689,
+ 0, 0, 0, 0,0xE688, 0,0x93E4, 0,
+0xE68D, 0, 0, 0,0xE682, 0,0xE68C,0xE68E,
+ 0,0x8CAA,0xE68A,0x8D75, 0,0x8ED3, 0, 0,
+0xE68F,0x9777, 0, 0, 0, 0,0xE692, 0,
+0xE695, 0, 0,0xE693,0x9554, 0, 0, 0,
+ 0, 0, 0,0xE690, 0, 0, 0, 0,
+ 0,0x8BDE, 0, 0, 0, 0,0xE694, 0,
+ 0,0xE696, 0, 0, 0, 0, 0, 0,
+ 0,0xE69A, 0, 0,0xE697, 0,0xE699,0xE698,
+ 0, 0, 0, 0, 0, 0,0xE69B, 0,
+0x8EAF, 0,0xE69D,0xE69C,0x9588, 0, 0,0xE69F,
+ 0, 0, 0, 0, 0, 0,0x8C78, 0,
+ 0, 0, 0,0xE69E,0xE6A0, 0, 0,0xE6A1,
+0x8B63,0xE3BF,0x8FF7, 0,0xE6A2, 0, 0,0x8CEC,
+ 0, 0, 0, 0, 0,0xE6A3, 0, 0,
+0xE6A4, 0, 0,0x8E5D, 0, 0, 0, 0,
+ 0, 0,0x9DCC, 0,0xE6A5, 0,0xE6A6, 0,
+0x8F51, 0,0xE6A7,0xE6A8, 0, 0,0xE6A9, 0,
+ 0,0xE6AA,0xE6AB, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x924A,
+ 0, 0,0xE6AC, 0, 0, 0, 0,0xE6AE,
+ 0,0xE6AD, 0, 0, 0, 0,0x93A4, 0,
+0xE6AF, 0,0x964C, 0,0xE6B0, 0,0xE6B1, 0,
+0xE6B2, 0, 0, 0, 0,0xE6B3, 0, 0,
+ 0, 0,0x93D8, 0, 0, 0, 0, 0,
+ 0,0x8FDB,0xE6B4, 0, 0, 0, 0, 0,
+ 0, 0,0x8D8B,0x98AC,0xE6B5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE6B6,0x955E,0xE6B7, 0,0xE6BF, 0, 0, 0,
+ 0, 0,0xE6B8, 0, 0,0xE6BA, 0, 0,
+ 0,0xE6B9,0xE6BB, 0,0x9665,0xE6BC,0xE6BD, 0,
+ 0, 0, 0, 0,0xE6BE, 0, 0, 0,
+0xE6C0, 0, 0, 0, 0,0x8A4C,0x92E5, 0,
+0x9589,0x8DE0,0x8D76, 0, 0, 0, 0,0x956E,
+0x89DD,0x94CC,0xE6C3,0x8AD1,0x90D3,0xE6C2,0xE6C7,0x9299,
+0x96E1, 0,0xE6C5,0xE6C6,0x8B4D, 0,0xE6C8,0x9483,
+0x91DD, 0, 0,0x94EF,0x935C,0xE6C4, 0,0x9666,
+0x89EA,0xE6CA,0x9847,0x92C0,0x9864, 0, 0,0x8E91,
+0xE6C9, 0,0x91AF, 0, 0,0xE6DA,0x9147, 0,
+ 0,0x93F6, 0,0x956F, 0, 0, 0, 0,
+ 0, 0,0xE6CD,0x8E5E,0x8E92, 0,0x8FDC, 0,
+0x9485, 0,0x8CAB,0xE6CC,0xE6CB, 0,0x958A, 0,
+ 0, 0,0x8EBF, 0, 0,0x9371, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE6CF,0xE6D0,0x8D77,0xE6CE, 0, 0,
+ 0, 0, 0, 0,0xE6D1,0xE6D2, 0,0xE6D4,
+0x91A1, 0,0xE6D3,0x8AE4, 0,0xE6D6, 0,0xE6D5,
+0xE6D7, 0, 0,0xE6D9,0xE6DB, 0,0xE6DC, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x90D4, 0,0x8ECD,0xE6DD,
+ 0, 0, 0,0x8A71, 0,0xE6DE, 0, 0,
+0x9196,0xE6DF, 0,0xE6E0,0x958B, 0, 0,0x8B4E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE6E1, 0, 0, 0,0x92B4, 0, 0,
+ 0, 0,0x897A, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE6E2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x8EEF, 0, 0, 0, 0,
+0x9096, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x91AB, 0, 0, 0, 0,
+ 0, 0,0xE6E5, 0, 0, 0,0xE6E4, 0,
+ 0, 0,0xE6E3, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE6EB,0xE6E9, 0, 0,0xE6E6,
+ 0, 0, 0, 0, 0, 0,0xE6E8, 0,
+ 0, 0,0xE6E7,0xE6EA, 0,0x8B97, 0,0xE6EE,
+ 0,0x90D5, 0,0xE6EF, 0, 0, 0, 0,
+0x8CD7, 0,0xE6EC,0xE6ED, 0, 0, 0,0x9848,
+ 0, 0, 0,0x92B5, 0,0x9148, 0, 0,
+ 0, 0, 0, 0,0xE6F0, 0, 0,0xE6F3,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE6F1,0xE6F2,0x9778, 0, 0, 0, 0,0x93A5,
+0xE6F6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE6F4,0xE6F5,0xE6F7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE748, 0, 0, 0, 0, 0,
+0xE6FA, 0, 0, 0,0xE6FB,0xE6F9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE6F8, 0,0x92FB, 0, 0,0xE740,
+0xE744,0xE741,0xE6FC, 0,0xE742, 0, 0, 0,
+0xE743, 0, 0, 0, 0,0xE74A, 0, 0,
+ 0,0xE745, 0, 0, 0, 0, 0,0x90D6,
+0xE747, 0, 0,0xE749,0xE746, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE74C, 0,0x8F52, 0,0xE74B, 0,
+ 0, 0, 0, 0,0xE74D, 0, 0, 0,
+ 0,0xE74E, 0, 0,0xE751,0xE750, 0,0xE74F,
+ 0, 0,0xE753,0xE752, 0,0x96F4, 0, 0,
+ 0,0xE755, 0,0xE754,0xE756, 0, 0, 0,
+ 0,0xE757, 0, 0, 0, 0, 0, 0,
+ 0,0xE759, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE758,0x9067,0xE75A, 0, 0,0x8BEB,
+0xE75B,0xE75D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE75E, 0,
+ 0, 0, 0, 0, 0,0xE75F,0xE75C, 0,
+0xE760, 0,0x8ED4,0xE761,0x8B4F,0x8C52, 0, 0,
+ 0, 0,0x8CAC, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE762, 0, 0, 0,0x93EE,
+ 0, 0,0x935D,0xE763, 0, 0, 0, 0,
+ 0, 0, 0,0xE766, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8EB2, 0, 0,0xE765,0xE764,0x8C79,0xE767, 0,
+ 0, 0, 0,0x8A72, 0,0xE769, 0, 0,
+ 0,0x8DDA,0xE768, 0,0xE771, 0, 0, 0,
+ 0, 0,0xE76B,0xE76D,0x95E3,0xE76A, 0, 0,
+ 0,0xE76C, 0,0xE770,0xE76E,0x8B50, 0,0xE76F,
+ 0, 0, 0, 0, 0, 0,0xE772, 0,
+ 0,0x9479,0x97D6, 0, 0, 0, 0,0x8F53,
+ 0, 0, 0,0xE773, 0, 0, 0, 0,
+0x9741,0xE775, 0,0xE774, 0, 0,0xE778,0x9760,
+ 0, 0,0xE777, 0,0x8A8D,0xE776,0xE77B, 0,
+ 0,0xE77A, 0, 0,0xE779,0x9351,0xE77C, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE77D,
+ 0, 0, 0, 0,0xE77E, 0, 0,0x8D8C,
+ 0,0x8C44,0xE780,0xE781,0xE782, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x9068,0xE783, 0,0x8EAB,0xE784,
+ 0, 0, 0,0xE785, 0, 0, 0,0x999F,
+0x999E, 0, 0, 0, 0,0xE786,0xE390,0xE787,
+0x9243,0x904A,0x945F, 0, 0, 0, 0,0xE788,
+ 0, 0,0x95D3,0x92D2,0x8D9E, 0, 0,0x9248,
+ 0, 0,0x8949, 0,0x9698,0x9076, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8C7D, 0,
+ 0,0x8BDF, 0, 0,0x95D4, 0, 0, 0,
+ 0, 0,0xE789, 0, 0, 0, 0, 0,
+ 0, 0,0xE78B, 0, 0,0xE78A,0x89DE, 0,
+ 0,0x93F4,0xE78C,0x9497, 0,0x9352, 0,0xE78D,
+0x8F71, 0, 0, 0,0xE78F, 0, 0,0x96C0,
+0xE79E,0xE791,0xE792, 0, 0,0x92C7, 0, 0,
+0x91DE,0x9197, 0,0x93A6, 0,0xE790,0x8B74, 0,
+ 0, 0, 0,0xE799, 0,0xE796,0xE7A3,0x93A7,
+0x9280,0xE793, 0,0x92FC,0x9372,0xE794,0xE798,0x9080,
+ 0,0x9487,0x92CA, 0, 0,0x90C0,0xE797,0x91AC,
+0x91A2,0xE795,0x88A7,0x9841, 0, 0, 0,0xE79A,
+ 0, 0, 0, 0, 0, 0,0x91DF, 0,
+ 0,0x8F54,0x9069, 0, 0,0xE79C,0xE79B, 0,
+0x88ED,0xE79D, 0, 0,0x954E, 0,0xE7A5, 0,
+ 0,0x93D9,0x908B, 0, 0,0x9278, 0,0x8BF6,
+ 0,0xE7A4,0x9756,0x895E, 0,0x95D5,0x89DF,0xE79F,
+0xE7A0,0xE7A1,0xE7A2,0x93B9,0x9242,0x88E1,0xE7A6, 0,
+0xE7A7,0xEAA1, 0, 0,0x91BB, 0,0xE7A8, 0,
+0x8993,0x916B, 0,0x8CAD, 0,0x9779, 0, 0,
+0xE7A9,0x934B, 0, 0, 0,0x9198,0x8ED5,0xE7AA,
+ 0, 0,0xE7AD, 0, 0,0x8F85,0xE7AB,0x914A,
+0x9149, 0,0x88E2, 0,0x97C9,0xE7AF, 0,0x94F0,
+0xE7B1,0xE7B0,0xE7AE,0xE284,0x8AD2, 0, 0,0xE78E,
+ 0,0xE7B3,0xE7B2, 0, 0, 0, 0,0xE7B4,
+ 0,0x9757, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x93DF, 0, 0,0x964D, 0,
+0xE7B5, 0,0x8ED7, 0, 0, 0, 0,0xE7B6,
+ 0,0xE7B7, 0, 0, 0,0xE7B8, 0, 0,
+0x9340, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x88E8, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8D78, 0, 0, 0,0x9859, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE7BC, 0, 0, 0, 0,
+ 0,0x8C53,0xE7B9, 0,0xE7BA, 0, 0, 0,
+0x9594, 0, 0, 0, 0,0x8A73, 0, 0,
+ 0, 0, 0, 0, 0,0x9758, 0,0x8BBD,
+ 0, 0, 0, 0, 0,0x9373, 0, 0,
+ 0, 0,0xE7BD, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE7BE, 0, 0, 0, 0, 0,
+ 0,0xE7BF, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x9341, 0, 0,
+0xE7C1, 0,0xE7C0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x93D1,0xE7C2,0x8F55,0x8EDE,0x947A,0x9291, 0,
+ 0, 0,0x8EF0, 0,0x908C, 0,0xE7C3, 0,
+0xE7C4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x907C,0xE7C5, 0,0xE7C6, 0, 0,
+ 0,0xE7C7,0x978F, 0,0x8F56, 0, 0, 0,
+ 0, 0,0xE7C9,0xE7C8, 0,0x8D79, 0,0x8D93,
+0x8E5F, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0xE7CC, 0, 0, 0, 0,0x8F86,
+ 0,0xE7CB, 0,0xE7CA, 0,0x91E7, 0, 0,
+0x8CED, 0,0x90C1, 0, 0, 0, 0,0x94AE,
+ 0, 0, 0, 0,0x8F58, 0, 0, 0,
+ 0, 0,0xE7CD, 0,0x8FDD, 0, 0, 0,
+ 0, 0,0xE7D0,0xE7CE, 0, 0, 0,0xE7CF,
+ 0, 0, 0, 0,0xE7D2,0xE7D1, 0, 0,
+0x8FF8, 0,0xE7D3, 0, 0, 0, 0, 0,
+0xE7D4,0xE7D5, 0, 0, 0, 0,0x94CE,0x8DD1,
+0x8EDF,0xE7D6, 0,0xE7D7,0x97A2,0x8F64,0x96EC,0x97CA,
+0xE7D8,0x8BE0, 0, 0, 0, 0,0xE7D9, 0,
+0x9342, 0, 0,0xE7DC,0x8A98,0x906A, 0,0xE7DA,
+ 0,0xE7DB, 0,0x92DE, 0, 0,0x9674,0x8BFA,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE7DE,0xE7DF, 0,
+ 0, 0, 0, 0,0xE7DD, 0, 0,0xE7E1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x93DD,0x8A62, 0,
+ 0,0xE7E5, 0, 0,0xE7E2,0xE7E4, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE7E0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE86E, 0, 0,0xE7E3, 0, 0, 0,
+ 0, 0, 0, 0,0x97E9, 0, 0,0x8CD8,
+ 0, 0, 0, 0, 0, 0, 0,0xE7ED,
+ 0, 0, 0, 0,0x9353,0xE7E8, 0, 0,
+0xE7EB,0xE7E9, 0,0xE7EE, 0, 0, 0, 0,
+0xE7EF, 0, 0, 0, 0, 0, 0,0xE7E7,
+ 0, 0,0xE7F4,0x8994, 0, 0,0xE7E6, 0,
+ 0, 0,0x94AB, 0,0xE7EA, 0,0x8FDE, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8D7A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x9667, 0,
+0x8BE2, 0, 0,0x8F65, 0,0x93BA, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x914C, 0,0xE7F2, 0,0xE7EC,0xE7F1, 0,
+0x96C1, 0,0x92B6,0xE7F3,0xE7F0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x914B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE7F7,
+ 0,0xE7F6, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE7F5,
+ 0, 0,0x964E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x8F9B, 0, 0, 0,
+ 0,0xE7F8,0x95DD, 0, 0,0x8973, 0, 0,
+ 0, 0,0x9565,0x9292, 0, 0, 0, 0,
+0x8B98, 0,0xE7FA, 0,0x8D7C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x8E4B, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE7F9,
+0x908D, 0, 0, 0, 0, 0, 0, 0,
+0x908E,0xE840,0xE842, 0, 0, 0, 0, 0,
+0x8FF9, 0,0xE841,0xE843, 0, 0,0x8BD1, 0,
+0x9564, 0, 0,0x8EE0,0x9842, 0,0xE7FC,0x8DF6,
+ 0, 0,0x985E, 0, 0,0xE845, 0, 0,
+ 0, 0,0xE844,0xE846, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE7FB, 0, 0, 0,
+ 0, 0, 0,0x93E7, 0,0x9374, 0, 0,
+ 0, 0, 0, 0,0x92D5, 0,0xE84B, 0,
+ 0, 0, 0,0x9262,0xE847, 0, 0, 0,
+0xE848, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x8C4C, 0,0xE84A, 0,
+ 0, 0, 0, 0, 0,0x8CAE, 0, 0,
+ 0, 0, 0, 0,0xE849, 0,0x8FDF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x8A99, 0, 0, 0,
+ 0, 0, 0, 0,0xE84F, 0,0x8DBD,0x9199,
+ 0, 0,0x92C8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x8A5A,
+ 0, 0, 0, 0,0xE84D,0xE84E,0x92C1, 0,
+0xE84C, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE850, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE856, 0, 0, 0, 0,
+0xE859, 0, 0, 0, 0, 0, 0, 0,
+0xE858,0x934C, 0, 0, 0, 0,0xE851,0xE852,
+0xE855, 0, 0, 0, 0,0xE857, 0, 0,
+ 0,0x8BBE, 0, 0,0xE85A,0xE854, 0, 0,
+0xE853, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE85E, 0, 0, 0,0xE85F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE860, 0, 0,0xE85D,0xE85C, 0, 0, 0,
+0x8FE0,0x93A8,0xE85B, 0, 0, 0, 0, 0,
+ 0,0xE864, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xE862, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE863,0xE861, 0,
+0x91F6, 0,0xE865, 0, 0, 0, 0, 0,
+ 0,0xE866, 0, 0,0xE868, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8AD3,0xE867,0x96F8, 0, 0, 0, 0,
+ 0, 0,0xE873,0xE869, 0, 0,0xE86C, 0,
+0xE86A, 0,0xE86B, 0, 0, 0, 0, 0,
+ 0, 0,0xE86D, 0, 0, 0, 0, 0,
+0xE86F, 0, 0, 0, 0,0xE870, 0,0xE871,
+ 0, 0, 0, 0,0xE874,0xE872,0xE875,0xE877,
+ 0,0xE876};
+
+/* page 6 0x9577-0x9FA0 */
+static uint16 tab_uni_sjis6[]={
+0x92B7, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x96E5, 0,0xE878,0x914D, 0, 0, 0,
+0xE879, 0,0x95C2,0xE87A,0x8A4A, 0, 0, 0,
+0x895B, 0,0x8AD5, 0,0x8AD4,0xE87B, 0,0xE87C,
+ 0,0xE87D,0xE87E, 0, 0, 0, 0, 0,
+ 0,0xE880, 0,0x8AD6,0x8A74,0x8D7D,0x94B4, 0,
+0xE882,0xE881, 0, 0, 0, 0,0xE883, 0,
+ 0, 0, 0,0x897B, 0, 0, 0, 0,
+ 0, 0,0xE886, 0,0xE885,0xE884, 0,0xE887,
+ 0, 0, 0, 0,0xE88A, 0, 0, 0,
+0x88C5, 0, 0,0xE888, 0,0xE88C,0xE88B, 0,
+ 0, 0, 0, 0, 0,0xE88E,0xE88D,0xE88F,
+ 0,0x93AC, 0, 0, 0,0xE890, 0, 0,
+ 0, 0,0xE891,0xE893, 0, 0,0xE892, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x958C, 0, 0,
+ 0, 0,0xE894, 0, 0, 0, 0, 0,
+ 0,0xE895, 0,0x8DE3, 0, 0, 0,0xE896,
+0xE897, 0, 0,0x9668, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x916A, 0, 0, 0,
+0x88A2,0x91C9, 0,0xE898, 0,0x958D, 0, 0,
+ 0, 0, 0, 0,0xE89B,0xE899,0x8D7E, 0,
+0xE89A,0x8CC0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x95C3,0xE89D,0xE89F,0xE89E,
+0xE8A0, 0, 0,0x8940,0x9077,0x8F9C,0x8AD7,0xE8A1,
+ 0, 0, 0,0x9486, 0,0xE8A3, 0, 0,
+ 0,0x8941, 0,0xE8A2,0x92C2, 0,0x97CB,0x93A9,
+0xE89C,0x97A4, 0,0x8CAF, 0, 0,0x977A, 0,
+ 0, 0, 0, 0, 0, 0,0x8BF7,0x97B2,
+ 0,0x8C47, 0,0x91E0,0xE440, 0,0xE8A4,0x8A4B,
+0x908F, 0, 0, 0, 0,0x8A75,0xE8A6, 0,
+0xE8A7,0xE8A5,0x8C84, 0,0x8DDB,0x8FE1, 0, 0,
+ 0,0x8942, 0, 0,0x97D7, 0, 0, 0,
+0xE8A9,0xE7AC, 0,0xE8A8, 0, 0, 0, 0,
+ 0,0xE8AC,0xE8AA,0xE8AB, 0,0xE8AD, 0,0xE8AE,
+0x97EA,0xE8AF,0xE8B0, 0,0x90C7,0x94B9, 0, 0,
+ 0,0x909D,0x8AE5, 0, 0,0x9759,0x89EB,0x8F57,
+0x8CD9, 0,0xE8B3, 0,0xE8B2,0x8E93,0xE8B4,0xE8B1,
+ 0, 0,0x8E47, 0, 0, 0,0xE8B8,0xE5AB,
+ 0, 0,0x99D4, 0,0x9097,0xE8B6, 0, 0,
+ 0, 0, 0,0x97A3,0x93EF, 0, 0, 0,
+ 0,0x894A, 0,0x90E1,0x8EB4, 0, 0, 0,
+ 0,0x95B5, 0,0x895F, 0, 0, 0,0x97EB,
+0x978B, 0,0xE8B9, 0,0x9364, 0, 0, 0,
+ 0,0x8EF9, 0, 0, 0,0xE8BA, 0,0xE8BB,
+0x906B,0xE8BC, 0,0x97EC, 0, 0,0xE8B7,0xE8BE,
+0xE8C0, 0,0xE8BF, 0,0xE8BD, 0, 0,0xE8C1,
+ 0, 0,0xE8C2, 0, 0,0x919A, 0,0x89E0,
+ 0, 0, 0, 0, 0,0xE8C3, 0, 0,
+0x96B6, 0, 0,0xE8C4, 0, 0, 0, 0,
+ 0,0xE8C5, 0,0x9849, 0, 0, 0, 0,
+ 0,0x9E50,0xE8C6, 0, 0, 0,0xE8C7,0xE8C8,
+ 0, 0, 0,0xE8CC, 0,0xE8C9, 0,0xE8CA,
+ 0,0xE8CB,0xE8CD, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x90C2, 0, 0, 0,0x96F5,
+ 0, 0,0x90C3, 0, 0,0xE8CE, 0,0x94F1,
+ 0,0xE8CF,0xEA72,0x96CA, 0,0xE8D0, 0,0xE8D1,
+ 0,0xE8D2,0x8A76, 0,0xE8D4, 0,0x9078, 0,
+ 0, 0,0xE8D5, 0, 0,0x8C43, 0, 0,
+ 0, 0,0xE8D6,0xE8DA, 0,0xE8D8, 0, 0,
+ 0, 0,0xE8D9, 0, 0,0x8A93,0xE8D7,0xE8DB,
+ 0, 0, 0, 0,0xE8DC, 0,0x88C6, 0,
+0xE8DD,0xE8DE, 0, 0, 0, 0, 0, 0,
+ 0,0x8FE2, 0, 0, 0,0xE8DF, 0, 0,
+ 0,0x8B66, 0, 0,0xE8E2, 0, 0,0xE8E1,
+ 0,0xE8E0, 0, 0,0xE691, 0,0x95DA, 0,
+ 0, 0, 0, 0,0xE8E3,0xE8E4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE8E5, 0, 0,0xE8E6,
+ 0,0xE8E7, 0, 0,0xE8E8, 0, 0, 0,
+ 0, 0, 0, 0,0x8AD8, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE8E9, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE8EA,0x9442,
+ 0, 0, 0,0xE8EC,0x89B9, 0,0xE8EF,0xE8EE,
+ 0, 0, 0, 0,0x8943, 0, 0, 0,
+0x8BBF, 0,0x95C5,0x92B8,0x8DA0, 0,0x8D80,0x8F87,
+ 0,0x907B, 0, 0, 0,0xE8F1, 0, 0,
+0xE8F0,0x9761,0x8AE6,0x94D0,0x93DA, 0, 0, 0,
+0x909C,0x97CC, 0,0x8C7A, 0, 0, 0, 0,
+ 0, 0,0xE8F4, 0, 0,0xE8F3, 0, 0,
+ 0, 0, 0, 0, 0,0x966A,0x93AA, 0,
+ 0, 0, 0, 0, 0,0x896F, 0, 0,
+0xE8F5,0xE8F2, 0, 0,0x9570,0x978A,0xE8F6, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE8F7,
+ 0, 0, 0, 0,0xE8F9,0x91E8,0x8A7A,0x8A7B,
+0xE8F8, 0, 0, 0, 0,0x8AE7,0x8CB0, 0,
+ 0,0x8AE8, 0, 0,0x935E, 0, 0,0x97DE,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x8CDA, 0, 0, 0,0xE8FA, 0, 0, 0,
+0xE8FB,0xE8FC,0xE940, 0,0xE942,0xE941, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x9597, 0,0xE943, 0, 0, 0, 0,
+0xE944, 0,0xE945, 0, 0, 0, 0,0xE946,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE948,0xE947, 0,0xE949,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x94F2,0xE3CA, 0, 0,
+0x9048, 0, 0,0x8B51, 0, 0, 0, 0,
+ 0, 0,0xE94A, 0,0xE94B, 0,0x99AA,0x9F5A,
+0x94D1, 0, 0,0x88F9, 0,0x88B9, 0, 0,
+ 0, 0, 0, 0, 0,0x8E94,0x964F,0x8FFC,
+ 0, 0, 0, 0,0xE94C, 0,0x96DD, 0,
+ 0, 0,0xE94D,0x977B, 0,0x8961, 0, 0,
+ 0,0x8E60, 0,0xE94E,0x89EC,0xE94F, 0, 0,
+ 0,0xE950, 0, 0, 0, 0,0xE952,0xE953,
+ 0,0xE955,0xE951, 0, 0,0xE954, 0, 0,
+ 0,0x8AD9, 0, 0, 0,0xE956, 0,0xE957,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE958,0xE959,
+ 0, 0, 0,0xE95A, 0, 0,0xE95C, 0,
+ 0, 0,0xE95B, 0,0xE95E,0xE961, 0, 0,
+ 0,0xE95D,0xE95F,0xE960, 0, 0,0xE962, 0,
+0x8BC0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x8EF1,
+0xE963,0xE964,0x8D81, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE965, 0,
+ 0,0x8A5D, 0, 0, 0,0x946E,0xE966,0xE967,
+ 0, 0, 0, 0,0x9279,0x93E9, 0, 0,
+ 0, 0, 0, 0, 0,0xE968, 0, 0,
+ 0, 0,0x949D, 0, 0,0x91CA,0x8977,0x8BEC,
+ 0,0x8BED, 0, 0, 0, 0, 0, 0,
+ 0,0x9293,0xE96D,0x8BEE, 0, 0,0x89ED, 0,
+ 0,0xE96C, 0, 0,0xE96A, 0,0xE96B, 0,
+0xE969, 0, 0,0xE977, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xE96E,0xE96F,
+ 0, 0,0xE970,0xE971, 0, 0, 0, 0,
+ 0,0xE973, 0, 0,0xE972, 0, 0, 0,
+0x8F78, 0,0xE974, 0, 0, 0,0xE976, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x8B52,
+0xE975, 0, 0,0x919B,0x8CB1, 0, 0, 0,
+ 0, 0,0xE978, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x91CB, 0, 0,0xE979, 0, 0, 0,
+ 0,0x93AB, 0, 0, 0, 0, 0, 0,
+0xE97A, 0, 0, 0, 0, 0, 0,0xE980,
+ 0,0xE97D, 0,0xE97C,0xE97E, 0,0xE97B, 0,
+ 0, 0, 0, 0, 0, 0,0xE982, 0,
+ 0, 0, 0, 0, 0, 0,0xE981, 0,
+0xE984, 0, 0,0x8BC1,0xE983, 0, 0, 0,
+0xE985, 0, 0,0xE986, 0,0xE988,0xE987, 0,
+ 0, 0,0xE989,0xE98B,0xE98A, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x8D9C, 0, 0, 0, 0,0xE98C, 0,
+ 0,0xE98D, 0, 0, 0, 0, 0, 0,
+ 0,0x8A5B, 0, 0, 0,0xE98E, 0, 0,
+ 0,0xE98F, 0, 0, 0,0x9091, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xE990, 0,0xE991, 0,0xE992,0xE993, 0, 0,
+ 0,0x8D82, 0, 0, 0, 0, 0,0xE994,
+0xE995, 0, 0,0xE996,0xE997, 0, 0,0xE998,
+ 0, 0, 0,0x94AF,0xE99A, 0,0x9545,0xE99B,
+0xE999, 0,0xE99D, 0, 0,0xE99C, 0, 0,
+0xE99E, 0, 0, 0,0xE99F, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE9A0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xE9A1, 0,0xE9A2, 0, 0, 0, 0,
+0xE9A3, 0, 0,0xE9A4,0xE9A5, 0,0xE9A6, 0,
+0xE9A7,0xE9A8,0xE9A9,0xE9AA, 0, 0, 0,0xE9AB,
+0xE9AC, 0,0x9F54,0xE9AD, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE2F6,0x8B53, 0, 0,
+ 0, 0,0x8A40,0x8DB0,0xE9AF,0xE9AE,0x96A3, 0,
+ 0, 0, 0, 0, 0, 0,0xE9B1,0xE9B2,
+0xE9B0, 0,0xE9B3, 0, 0,0x9682, 0, 0,
+ 0,0xE9B4, 0,0x8B9B, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x9844, 0, 0, 0, 0,0xE9B5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE9B7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x88BC,
+ 0, 0,0xE9B8,0x95A9,0xE9B6, 0, 0,0xE9B9,
+0xE9BA, 0, 0, 0, 0, 0, 0, 0,
+0xE9BB,0xE9BC, 0, 0, 0, 0, 0, 0,
+ 0,0xE9BD, 0,0x968E,0x8E4C, 0,0x8DF8,0x914E,
+ 0, 0, 0, 0, 0,0xE9BE, 0, 0,
+ 0, 0,0xE9C1, 0, 0, 0, 0, 0,
+ 0,0xE9BF, 0, 0, 0, 0, 0,0xE9C2,
+ 0, 0,0x8CEF,0xE9C0, 0, 0, 0, 0,
+0xE9C3, 0,0xE9C4,0xE9C5, 0,0xE9C9, 0,0x8E49,
+ 0, 0, 0, 0,0x91E2, 0, 0, 0,
+ 0, 0,0xE9CA,0xE9C7,0xE9C6,0xE9C8, 0, 0,
+ 0,0x8C7E, 0, 0, 0, 0, 0, 0,
+ 0,0xE9CE,0xE9CD,0xE9CC, 0, 0,0x88B1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xE9D8, 0,0xE9D4,
+ 0,0xE9D5,0xE9D1,0xE9D7, 0,0xE9D3,0x8A82, 0,
+ 0,0x986B, 0,0xE9D6,0xE9D2,0xE9D0,0xE9CF, 0,
+ 0, 0, 0, 0,0xE9DA, 0, 0, 0,
+ 0, 0,0xE9DD, 0, 0,0xE9DC,0xE9DB, 0,
+ 0, 0, 0, 0, 0, 0,0x9568,0xE9D9,
+0x88F1,0xE9DE, 0,0xE9E0, 0, 0, 0, 0,
+ 0, 0,0x8A8F,0xE9CB,0x8956, 0, 0,0xE9E2,
+ 0, 0, 0, 0, 0, 0, 0,0xE9E1,
+0xE9DF,0x924C, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x9690, 0, 0, 0, 0,
+0x97D8, 0, 0,0xE9E3, 0, 0, 0, 0,
+ 0,0xE9E4, 0, 0, 0, 0, 0, 0,
+0xE9E5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xE9E6,
+ 0,0xE9E7, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x92B9, 0,
+0xE9E8, 0,0x94B5, 0,0xE9ED,0xE9E9, 0, 0,
+ 0,0xE9EA, 0, 0,0x9650,0x96C2, 0,0x93CE,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0xE9EE, 0, 0,0xE9EF,
+0x93BC,0xE9EC,0xE9EB, 0, 0, 0, 0,0x89A8,
+ 0, 0, 0,0xE9F7, 0, 0,0xE9F6, 0,
+ 0, 0, 0, 0,0x8995, 0, 0, 0,
+0xE9F4, 0, 0, 0,0xE9F3, 0, 0,0xE9F1,
+ 0,0x8A9B, 0,0xE9F0,0x8EB0,0x89A7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x8D83, 0, 0,0xE9FA,
+0xE9F9, 0,0xE9F8, 0, 0,0xE9F5, 0,0xE9FB,
+ 0,0xE9FC, 0, 0, 0, 0, 0, 0,
+ 0,0xEA44,0xEA43, 0, 0, 0, 0, 0,
+ 0, 0,0xEA45, 0, 0,0x894C,0xEA40,0xEA41,
+ 0,0x8D94,0x96B7, 0, 0,0xEA42, 0, 0,
+ 0, 0, 0, 0, 0,0x9651, 0, 0,
+0xEA4A, 0, 0,0xEA46, 0, 0, 0, 0,
+ 0, 0, 0,0xEA4B, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEA48, 0,0xEA47, 0, 0, 0, 0, 0,
+0x8C7B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xEA4C, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xEA4D, 0, 0,
+ 0, 0,0xEA4E, 0,0xEA49, 0, 0, 0,
+0xE9F2, 0, 0,0xEA4F, 0,0x92DF, 0, 0,
+ 0,0xEA53, 0,0xEA54,0xEA52, 0, 0, 0,
+ 0, 0,0xEA51,0xEA57, 0,0xEA50, 0,0xEA55,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEA56, 0, 0, 0,0xEA59, 0, 0, 0,
+ 0, 0,0xEA58, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0xEA5B,
+ 0, 0, 0, 0, 0, 0,0xEA5C, 0,
+0xEA5D, 0, 0,0x9868, 0, 0, 0, 0,
+ 0,0xEA5A,0x91E9,0x8DEB, 0, 0,0xEA5E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xEA5F,0xEA60, 0, 0,0xEA61,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0xEA62, 0,
+ 0,0x8CB2,0xEA63, 0, 0, 0,0xEA64, 0,
+0x8EAD, 0,0xEA65, 0, 0, 0, 0, 0,
+ 0,0xEA66, 0, 0,0xEA67,0xEA68, 0, 0,
+ 0, 0,0xEA6B,0xEA69,0x985B, 0,0xEA6A, 0,
+0x97ED, 0, 0, 0, 0, 0,0xEA6C, 0,
+0x97D9, 0, 0, 0, 0, 0,0xEA6D,0x949E,
+ 0, 0,0xEA6E,0xEA70, 0, 0,0xEA71, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xEA6F,0x8D8D,0x96CB,0x9683,0x9BF5, 0,0x9F80,
+0x969B, 0, 0, 0, 0,0x89A9, 0, 0,
+ 0, 0, 0, 0, 0,0xEA73,0x8B6F,0xEA74,
+0xEA75,0xEA76, 0,0x8D95, 0,0xEA77, 0, 0,
+ 0,0xE0D2,0x96D9, 0,0x91E1,0xEA78,0xEA7A,0xEA79,
+ 0,0xEA7B, 0, 0, 0, 0,0xEA7C, 0,
+ 0,0xEA7D, 0, 0, 0, 0, 0, 0,
+0xEA7E, 0, 0, 0, 0,0xEA80, 0,0xEA81,
+0xEA82, 0,0xEA83, 0,0xEA84,0xEA85,0xEA86, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEA87,0xEA88, 0, 0, 0, 0, 0,0x9343,
+ 0, 0, 0, 0,0x8CDB, 0,0xEA8A, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x916C,0xEA8B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0xEA8C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x9540, 0, 0,0xEA8D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0xEA8E,0xE256, 0, 0,0xE6D8,
+0xE8EB, 0, 0,0xEA8F, 0,0xEA90, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0xEA92,0xEA93,0xEA94,0x97EE,0xEA91, 0, 0,0xEA95,
+0xEA96, 0, 0,0xEA98, 0,0xEA97, 0, 0,
+ 0, 0, 0,0xEA9A, 0, 0, 0,0xEA9B,
+0xEA99, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x97B4, 0,
+ 0, 0, 0, 0, 0, 0,0xEA9C, 0,
+ 0, 0, 0, 0, 0,0xEA9D,0xE273, 0,
+ 0,0xEA9E};
+
+/* page 7 0xFF01-0xFFE5 */
+static uint16 tab_uni_sjis7[]={
+0x8149, 0,0x8194,0x8190,0x8193,0x8195, 0,0x8169,
+0x816A,0x8196,0x817B,0x8143, 0,0x8144,0x815E,0x824F,
+0x8250,0x8251,0x8252,0x8253,0x8254,0x8255,0x8256,0x8257,
+0x8258,0x8146,0x8147,0x8183,0x8181,0x8184,0x8148,0x8197,
+0x8260,0x8261,0x8262,0x8263,0x8264,0x8265,0x8266,0x8267,
+0x8268,0x8269,0x826A,0x826B,0x826C,0x826D,0x826E,0x826F,
+0x8270,0x8271,0x8272,0x8273,0x8274,0x8275,0x8276,0x8277,
+0x8278,0x8279,0x816D, 0,0x816E,0x814F,0x8151,0x814D,
+0x8281,0x8282,0x8283,0x8284,0x8285,0x8286,0x8287,0x8288,
+0x8289,0x828A,0x828B,0x828C,0x828D,0x828E,0x828F,0x8290,
+0x8291,0x8292,0x8293,0x8294,0x8295,0x8296,0x8297,0x8298,
+0x8299,0x829A,0x816F,0x8162,0x8170, 0, 0, 0,
+0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,0x00A8,
+0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,0x00B0,
+0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,0x00B8,
+0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,0x00C0,
+0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,0x00C8,
+0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,0x00D0,
+0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,0x00D8,
+0x00D9,0x00DA,0x00DB,0x00DC,0x00DD,0x00DE,0x00DF, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x8150, 0,0x818F};
+
+static int func_uni_sjis_onechar(int code){
+ if ((code>=0x005C)&&(code<=0x00F7))
+ return(tab_uni_sjis0[code-0x005C]);
+ if ((code>=0x0391)&&(code<=0x0451))
+ return(tab_uni_sjis1[code-0x0391]);
+ if ((code>=0x2010)&&(code<=0x2312))
+ return(tab_uni_sjis2[code-0x2010]);
+ if ((code>=0x2500)&&(code<=0x266F))
+ return(tab_uni_sjis3[code-0x2500]);
+ if ((code>=0x3000)&&(code<=0x30FE))
+ return(tab_uni_sjis4[code-0x3000]);
+ if ((code>=0x4E00)&&(code<=0x9481))
+ return(tab_uni_sjis5[code-0x4E00]);
+ if ((code>=0x9577)&&(code<=0x9FA0))
+ return(tab_uni_sjis6[code-0x9577]);
+ if ((code>=0xFF01)&&(code<=0xFFE5))
+ return(tab_uni_sjis7[code-0xFF01]);
+ return(0);
+}
+
+
+int
+my_wc_mb_sjis(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t wc, uchar *s, uchar *e)
+{
+ int code;
+
+ if(wc<0x80)
+ {
+ s[0]=wc;
+ return 1;
+ }
+
+ if(!(code=func_uni_sjis_onechar(wc)))
+ return MY_CS_ILUNI;
+
+ if(s+2>e)
+ return MY_CS_TOOSMALL;
+
+ s[0]=code>>8;
+ s[1]=code&0xFF;
+ return 2;
+}
+
+int
+my_mb_wc_sjis(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t *pwc, const uchar *s, const uchar *e){
+ int hi=s[0];
+
+ if(hi<0x80)
+ {
+ pwc[0]=hi;
+ return 1;
+ }
+
+ if(s+2>e)
+ return MY_CS_TOOFEW(0);
+
+ if(!(pwc[0]=func_sjis_uni_onechar((hi<<8)+s[1])))
+ return MY_CS_ILSEQ;
+
+ return 2;
+}
+
+
+#endif
diff --git a/strings/ctype-tis620.c b/strings/ctype-tis620.c
index 370c4c773c6..8510ba21d0a 100644
--- a/strings/ctype-tis620.c
+++ b/strings/ctype-tis620.c
@@ -49,6 +49,8 @@
#include "m_ctype.h"
#include "t_ctype.h"
+#ifdef HAVE_CHARSET_tis620
+
static uchar* thai2sortable(const uchar *tstr,uint len);
#define BUFFER_MULTIPLY 4
@@ -535,7 +537,9 @@ static uchar* thai2sortable(const uchar * tstr,uint len)
Arg: 2 Strings and it compare length
Ret: strcmp result
*/
-int my_strnncoll_tis620(const uchar * s1, int len1, const uchar * s2, int len2)
+int my_strnncoll_tis620(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar * s1, uint len1,
+ const uchar * s2, uint len2)
{
uchar *tc1, *tc2;
int i;
@@ -551,7 +555,9 @@ int my_strnncoll_tis620(const uchar * s1, int len1, const uchar * s2, int len2)
Arg: Destination buffer, source string, dest length and source length
Ret: Conveted string size
*/
-int my_strnxfrm_tis620(uchar * dest, const uchar * src, int len, int srclen)
+int my_strnxfrm_tis620(CHARSET_INFO *cs __attribute__((unused)),
+ uchar * dest, uint len,
+ const uchar * src, uint srclen)
{
uint bufSize;
uchar *tmp;
@@ -607,7 +613,8 @@ int my_strxfrm_tis620(uchar * dest, const uchar * src, int len)
#define wild_one '_'
#define wild_many '%'
-my_bool my_like_range_tis620(const char *ptr, uint ptr_length, pchar escape,
+my_bool my_like_range_tis620(CHARSET_INFO *cs __attribute__((unused)),
+ const char *ptr, uint ptr_length, pchar escape,
uint res_length, char *min_str, char *max_str,
uint *min_length, uint *max_length)
{
@@ -677,3 +684,5 @@ void ThNormalize(uchar* ptr, uint field_length, const uchar* from, uint length)
}
}
}
+
+#endif
diff --git a/strings/ctype-ujis.c b/strings/ctype-ujis.c
index 2091a610d19..37edec4a2e5 100644
--- a/strings/ctype-ujis.c
+++ b/strings/ctype-ujis.c
@@ -26,6 +26,10 @@
#include <my_global.h>
#include "m_string.h"
+#include "m_ctype.h"
+
+#ifdef HAVE_CHARSET_ujis
+
uchar NEAR ctype_ujis[257] =
{
@@ -179,7 +183,8 @@ uchar NEAR sort_order_ujis[]=
#define isujis_ss3(c) (((c)&0xff) == 0x8f)
-int ismbchar_ujis(const char* p, const char *e)
+int ismbchar_ujis(CHARSET_INFO *cs __attribute__((unused)),
+ const char* p, const char *e)
{
return ((*(uchar*)(p)<0x80)? 0:\
isujis(*(p)) && (e)-(p)>1 && isujis(*((p)+1))? 2:\
@@ -188,12 +193,8238 @@ int ismbchar_ujis(const char* p, const char *e)
0);
}
-my_bool ismbhead_ujis(uint c)
+my_bool ismbhead_ujis(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (isujis(c) || isujis_ss2(c) || isujis_ss3(c));
}
-int mbcharlen_ujis(uint c)
+int mbcharlen_ujis(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (isujis(c)? 2: isujis_ss2(c)? 2: isujis_ss3(c)? 3: 0);
}
+
+
+static uint16 tab_jisx0201_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x00A5,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x203E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0xFF61,0xFF62,0xFF63,0xFF64,0xFF65,0xFF66,0xFF67,
+0xFF68,0xFF69,0xFF6A,0xFF6B,0xFF6C,0xFF6D,0xFF6E,0xFF6F,
+0xFF70,0xFF71,0xFF72,0xFF73,0xFF74,0xFF75,0xFF76,0xFF77,
+0xFF78,0xFF79,0xFF7A,0xFF7B,0xFF7C,0xFF7D,0xFF7E,0xFF7F,
+0xFF80,0xFF81,0xFF82,0xFF83,0xFF84,0xFF85,0xFF86,0xFF87,
+0xFF88,0xFF89,0xFF8A,0xFF8B,0xFF8C,0xFF8D,0xFF8E,0xFF8F,
+0xFF90,0xFF91,0xFF92,0xFF93,0xFF94,0xFF95,0xFF96,0xFF97,
+0xFF98,0xFF99,0xFF9A,0xFF9B,0xFF9C,0xFF9D,0xFF9E,0xFF9F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+
+static int
+my_mb_wc_jisx0201(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t *wc,const uchar *s,
+ const uchar *e __attribute__((unused)))
+{
+ wc[0]=tab_jisx0201_uni[*s];
+ return (!wc[0] && s[0]) ? MY_CS_ILSEQ : 1;
+}
+
+
+static int
+my_wc_mb_jisx0201(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t wc, uchar *s,
+ uchar *e __attribute__((unused)))
+{
+
+ if (wc <= 0x7D)
+ {
+ *s = wc;
+ return (wc == 0x5C) ? MY_CS_ILUNI : 1;
+ }
+
+ if (wc >= 0xFF61 && wc <= 0xFF9F)
+ {
+ *s = (wc - 0xFEC0);
+ return 1;
+ }
+
+ if (wc==0x00A5)
+ {
+ *s = 0x5C;
+ return 1;
+ }
+
+ if (wc==0x203E)
+ {
+ *s = 0x7E;
+ return 1;
+ }
+
+ return MY_CS_ILUNI;
+}
+
+
+/* page 0 0x2121-0x217E */
+static uint16 tab_jisx0208_uni0[]={
+0x3000,0x3001,0x3002,0xFF0C,0xFF0E,0x30FB,0xFF1A,0xFF1B,
+0xFF1F,0xFF01,0x309B,0x309C,0x00B4,0xFF40,0x00A8,0xFF3E,
+0xFFE3,0xFF3F,0x30FD,0x30FE,0x309D,0x309E,0x3003,0x4EDD,
+0x3005,0x3006,0x3007,0x30FC,0x2015,0x2010,0xFF0F,0x005C,
+0x301C,0x2016,0xFF5C,0x2026,0x2025,0x2018,0x2019,0x201C,
+0x201D,0xFF08,0xFF09,0x3014,0x3015,0xFF3B,0xFF3D,0xFF5B,
+0xFF5D,0x3008,0x3009,0x300A,0x300B,0x300C,0x300D,0x300E,
+0x300F,0x3010,0x3011,0xFF0B,0x2212,0x00B1,0x00D7,0x00F7,
+0xFF1D,0x2260,0xFF1C,0xFF1E,0x2266,0x2267,0x221E,0x2234,
+0x2642,0x2640,0x00B0,0x2032,0x2033,0x2103,0xFFE5,0xFF04,
+0x00A2,0x00A3,0xFF05,0xFF03,0xFF06,0xFF0A,0xFF20,0x00A7,
+0x2606,0x2605,0x25CB,0x25CF,0x25CE,0x25C7};
+
+/* page 1 0x2221-0x227E */
+static uint16 tab_jisx0208_uni1[]={
+0x25C6,0x25A1,0x25A0,0x25B3,0x25B2,0x25BD,0x25BC,0x203B,
+0x3012,0x2192,0x2190,0x2191,0x2193,0x3013, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x2208,0x220B,0x2286,0x2287,0x2282,0x2283,0x222A,
+0x2229, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x2227,0x2228,0x00AC,0x21D2,0x21D4,0x2200,0x2203,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x2220,0x22A5,0x2312,0x2202,0x2207,
+0x2261,0x2252,0x226A,0x226B,0x221A,0x223D,0x221D,0x2235,
+0x222B,0x222C, 0, 0, 0, 0, 0, 0,
+ 0,0x212B,0x2030,0x266F,0x266D,0x266A,0x2020,0x2021,
+0x00B6, 0, 0, 0, 0,0x25EF};
+
+/* page 2 0x2330-0x237A */
+static uint16 tab_jisx0208_uni2[]={
+0xFF10,0xFF11,0xFF12,0xFF13,0xFF14,0xFF15,0xFF16,0xFF17,
+0xFF18,0xFF19, 0, 0, 0, 0, 0, 0,
+ 0,0xFF21,0xFF22,0xFF23,0xFF24,0xFF25,0xFF26,0xFF27,
+0xFF28,0xFF29,0xFF2A,0xFF2B,0xFF2C,0xFF2D,0xFF2E,0xFF2F,
+0xFF30,0xFF31,0xFF32,0xFF33,0xFF34,0xFF35,0xFF36,0xFF37,
+0xFF38,0xFF39,0xFF3A, 0, 0, 0, 0, 0,
+ 0,0xFF41,0xFF42,0xFF43,0xFF44,0xFF45,0xFF46,0xFF47,
+0xFF48,0xFF49,0xFF4A,0xFF4B,0xFF4C,0xFF4D,0xFF4E,0xFF4F,
+0xFF50,0xFF51,0xFF52,0xFF53,0xFF54,0xFF55,0xFF56,0xFF57,
+0xFF58,0xFF59,0xFF5A};
+
+/* page 3 0x2421-0x2473 */
+static uint16 tab_jisx0208_uni3[]={
+0x3041,0x3042,0x3043,0x3044,0x3045,0x3046,0x3047,0x3048,
+0x3049,0x304A,0x304B,0x304C,0x304D,0x304E,0x304F,0x3050,
+0x3051,0x3052,0x3053,0x3054,0x3055,0x3056,0x3057,0x3058,
+0x3059,0x305A,0x305B,0x305C,0x305D,0x305E,0x305F,0x3060,
+0x3061,0x3062,0x3063,0x3064,0x3065,0x3066,0x3067,0x3068,
+0x3069,0x306A,0x306B,0x306C,0x306D,0x306E,0x306F,0x3070,
+0x3071,0x3072,0x3073,0x3074,0x3075,0x3076,0x3077,0x3078,
+0x3079,0x307A,0x307B,0x307C,0x307D,0x307E,0x307F,0x3080,
+0x3081,0x3082,0x3083,0x3084,0x3085,0x3086,0x3087,0x3088,
+0x3089,0x308A,0x308B,0x308C,0x308D,0x308E,0x308F,0x3090,
+0x3091,0x3092,0x3093};
+
+/* page 4 0x2521-0x2576 */
+static uint16 tab_jisx0208_uni4[]={
+0x30A1,0x30A2,0x30A3,0x30A4,0x30A5,0x30A6,0x30A7,0x30A8,
+0x30A9,0x30AA,0x30AB,0x30AC,0x30AD,0x30AE,0x30AF,0x30B0,
+0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,0x30B8,
+0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,0x30C0,
+0x30C1,0x30C2,0x30C3,0x30C4,0x30C5,0x30C6,0x30C7,0x30C8,
+0x30C9,0x30CA,0x30CB,0x30CC,0x30CD,0x30CE,0x30CF,0x30D0,
+0x30D1,0x30D2,0x30D3,0x30D4,0x30D5,0x30D6,0x30D7,0x30D8,
+0x30D9,0x30DA,0x30DB,0x30DC,0x30DD,0x30DE,0x30DF,0x30E0,
+0x30E1,0x30E2,0x30E3,0x30E4,0x30E5,0x30E6,0x30E7,0x30E8,
+0x30E9,0x30EA,0x30EB,0x30EC,0x30ED,0x30EE,0x30EF,0x30F0,
+0x30F1,0x30F2,0x30F3,0x30F4,0x30F5,0x30F6};
+
+/* page 5 0x2621-0x2658 */
+static uint16 tab_jisx0208_uni5[]={
+0x0391,0x0392,0x0393,0x0394,0x0395,0x0396,0x0397,0x0398,
+0x0399,0x039A,0x039B,0x039C,0x039D,0x039E,0x039F,0x03A0,
+0x03A1,0x03A3,0x03A4,0x03A5,0x03A6,0x03A7,0x03A8,0x03A9,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x03B1,0x03B2,0x03B3,0x03B4,0x03B5,0x03B6,0x03B7,0x03B8,
+0x03B9,0x03BA,0x03BB,0x03BC,0x03BD,0x03BE,0x03BF,0x03C0,
+0x03C1,0x03C3,0x03C4,0x03C5,0x03C6,0x03C7,0x03C8,0x03C9
+};
+
+/* page 6 0x2721-0x2771 */
+static uint16 tab_jisx0208_uni6[]={
+0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0401,0x0416,
+0x0417,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
+0x041F,0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,
+0x0427,0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,
+0x042F, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0451,0x0436,
+0x0437,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
+0x043F,0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,
+0x0447,0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,
+0x044F};
+
+/* page 7 0x2821-0x2840 */
+static uint16 tab_jisx0208_uni7[]={
+0x2500,0x2502,0x250C,0x2510,0x2518,0x2514,0x251C,0x252C,
+0x2524,0x2534,0x253C,0x2501,0x2503,0x250F,0x2513,0x251B,
+0x2517,0x2523,0x2533,0x252B,0x253B,0x254B,0x2520,0x252F,
+0x2528,0x2537,0x253F,0x251D,0x2530,0x2525,0x2538,0x2542
+};
+
+/* page 8 0x3021-0x307E */
+static uint16 tab_jisx0208_uni8[]={
+0x4E9C,0x5516,0x5A03,0x963F,0x54C0,0x611B,0x6328,0x59F6,
+0x9022,0x8475,0x831C,0x7A50,0x60AA,0x63E1,0x6E25,0x65ED,
+0x8466,0x82A6,0x9BF5,0x6893,0x5727,0x65A1,0x6271,0x5B9B,
+0x59D0,0x867B,0x98F4,0x7D62,0x7DBE,0x9B8E,0x6216,0x7C9F,
+0x88B7,0x5B89,0x5EB5,0x6309,0x6697,0x6848,0x95C7,0x978D,
+0x674F,0x4EE5,0x4F0A,0x4F4D,0x4F9D,0x5049,0x56F2,0x5937,
+0x59D4,0x5A01,0x5C09,0x60DF,0x610F,0x6170,0x6613,0x6905,
+0x70BA,0x754F,0x7570,0x79FB,0x7DAD,0x7DEF,0x80C3,0x840E,
+0x8863,0x8B02,0x9055,0x907A,0x533B,0x4E95,0x4EA5,0x57DF,
+0x80B2,0x90C1,0x78EF,0x4E00,0x58F1,0x6EA2,0x9038,0x7A32,
+0x8328,0x828B,0x9C2F,0x5141,0x5370,0x54BD,0x54E1,0x56E0,
+0x59FB,0x5F15,0x98F2,0x6DEB,0x80E4,0x852D};
+
+/* page 9 0x3121-0x317E */
+static uint16 tab_jisx0208_uni9[]={
+0x9662,0x9670,0x96A0,0x97FB,0x540B,0x53F3,0x5B87,0x70CF,
+0x7FBD,0x8FC2,0x96E8,0x536F,0x9D5C,0x7ABA,0x4E11,0x7893,
+0x81FC,0x6E26,0x5618,0x5504,0x6B1D,0x851A,0x9C3B,0x59E5,
+0x53A9,0x6D66,0x74DC,0x958F,0x5642,0x4E91,0x904B,0x96F2,
+0x834F,0x990C,0x53E1,0x55B6,0x5B30,0x5F71,0x6620,0x66F3,
+0x6804,0x6C38,0x6CF3,0x6D29,0x745B,0x76C8,0x7A4E,0x9834,
+0x82F1,0x885B,0x8A60,0x92ED,0x6DB2,0x75AB,0x76CA,0x99C5,
+0x60A6,0x8B01,0x8D8A,0x95B2,0x698E,0x53AD,0x5186,0x5712,
+0x5830,0x5944,0x5BB4,0x5EF6,0x6028,0x63A9,0x63F4,0x6CBF,
+0x6F14,0x708E,0x7114,0x7159,0x71D5,0x733F,0x7E01,0x8276,
+0x82D1,0x8597,0x9060,0x925B,0x9D1B,0x5869,0x65BC,0x6C5A,
+0x7525,0x51F9,0x592E,0x5965,0x5F80,0x5FDC};
+
+/* page 10 0x3221-0x327E */
+static uint16 tab_jisx0208_uni10[]={
+0x62BC,0x65FA,0x6A2A,0x6B27,0x6BB4,0x738B,0x7FC1,0x8956,
+0x9D2C,0x9D0E,0x9EC4,0x5CA1,0x6C96,0x837B,0x5104,0x5C4B,
+0x61B6,0x81C6,0x6876,0x7261,0x4E59,0x4FFA,0x5378,0x6069,
+0x6E29,0x7A4F,0x97F3,0x4E0B,0x5316,0x4EEE,0x4F55,0x4F3D,
+0x4FA1,0x4F73,0x52A0,0x53EF,0x5609,0x590F,0x5AC1,0x5BB6,
+0x5BE1,0x79D1,0x6687,0x679C,0x67B6,0x6B4C,0x6CB3,0x706B,
+0x73C2,0x798D,0x79BE,0x7A3C,0x7B87,0x82B1,0x82DB,0x8304,
+0x8377,0x83EF,0x83D3,0x8766,0x8AB2,0x5629,0x8CA8,0x8FE6,
+0x904E,0x971E,0x868A,0x4FC4,0x5CE8,0x6211,0x7259,0x753B,
+0x81E5,0x82BD,0x86FE,0x8CC0,0x96C5,0x9913,0x99D5,0x4ECB,
+0x4F1A,0x89E3,0x56DE,0x584A,0x58CA,0x5EFB,0x5FEB,0x602A,
+0x6094,0x6062,0x61D0,0x6212,0x62D0,0x6539};
+
+/* page 11 0x3321-0x337E */
+static uint16 tab_jisx0208_uni11[]={
+0x9B41,0x6666,0x68B0,0x6D77,0x7070,0x754C,0x7686,0x7D75,
+0x82A5,0x87F9,0x958B,0x968E,0x8C9D,0x51F1,0x52BE,0x5916,
+0x54B3,0x5BB3,0x5D16,0x6168,0x6982,0x6DAF,0x788D,0x84CB,
+0x8857,0x8A72,0x93A7,0x9AB8,0x6D6C,0x99A8,0x86D9,0x57A3,
+0x67FF,0x86CE,0x920E,0x5283,0x5687,0x5404,0x5ED3,0x62E1,
+0x64B9,0x683C,0x6838,0x6BBB,0x7372,0x78BA,0x7A6B,0x899A,
+0x89D2,0x8D6B,0x8F03,0x90ED,0x95A3,0x9694,0x9769,0x5B66,
+0x5CB3,0x697D,0x984D,0x984E,0x639B,0x7B20,0x6A2B,0x6A7F,
+0x68B6,0x9C0D,0x6F5F,0x5272,0x559D,0x6070,0x62EC,0x6D3B,
+0x6E07,0x6ED1,0x845B,0x8910,0x8F44,0x4E14,0x9C39,0x53F6,
+0x691B,0x6A3A,0x9784,0x682A,0x515C,0x7AC3,0x84B2,0x91DC,
+0x938C,0x565B,0x9D28,0x6822,0x8305,0x8431};
+
+/* page 12 0x3421-0x347E */
+static uint16 tab_jisx0208_uni12[]={
+0x7CA5,0x5208,0x82C5,0x74E6,0x4E7E,0x4F83,0x51A0,0x5BD2,
+0x520A,0x52D8,0x52E7,0x5DFB,0x559A,0x582A,0x59E6,0x5B8C,
+0x5B98,0x5BDB,0x5E72,0x5E79,0x60A3,0x611F,0x6163,0x61BE,
+0x63DB,0x6562,0x67D1,0x6853,0x68FA,0x6B3E,0x6B53,0x6C57,
+0x6F22,0x6F97,0x6F45,0x74B0,0x7518,0x76E3,0x770B,0x7AFF,
+0x7BA1,0x7C21,0x7DE9,0x7F36,0x7FF0,0x809D,0x8266,0x839E,
+0x89B3,0x8ACC,0x8CAB,0x9084,0x9451,0x9593,0x9591,0x95A2,
+0x9665,0x97D3,0x9928,0x8218,0x4E38,0x542B,0x5CB8,0x5DCC,
+0x73A9,0x764C,0x773C,0x5CA9,0x7FEB,0x8D0B,0x96C1,0x9811,
+0x9854,0x9858,0x4F01,0x4F0E,0x5371,0x559C,0x5668,0x57FA,
+0x5947,0x5B09,0x5BC4,0x5C90,0x5E0C,0x5E7E,0x5FCC,0x63EE,
+0x673A,0x65D7,0x65E2,0x671F,0x68CB,0x68C4};
+
+/* page 13 0x3521-0x357E */
+static uint16 tab_jisx0208_uni13[]={
+0x6A5F,0x5E30,0x6BC5,0x6C17,0x6C7D,0x757F,0x7948,0x5B63,
+0x7A00,0x7D00,0x5FBD,0x898F,0x8A18,0x8CB4,0x8D77,0x8ECC,
+0x8F1D,0x98E2,0x9A0E,0x9B3C,0x4E80,0x507D,0x5100,0x5993,
+0x5B9C,0x622F,0x6280,0x64EC,0x6B3A,0x72A0,0x7591,0x7947,
+0x7FA9,0x87FB,0x8ABC,0x8B70,0x63AC,0x83CA,0x97A0,0x5409,
+0x5403,0x55AB,0x6854,0x6A58,0x8A70,0x7827,0x6775,0x9ECD,
+0x5374,0x5BA2,0x811A,0x8650,0x9006,0x4E18,0x4E45,0x4EC7,
+0x4F11,0x53CA,0x5438,0x5BAE,0x5F13,0x6025,0x6551,0x673D,
+0x6C42,0x6C72,0x6CE3,0x7078,0x7403,0x7A76,0x7AAE,0x7B08,
+0x7D1A,0x7CFE,0x7D66,0x65E7,0x725B,0x53BB,0x5C45,0x5DE8,
+0x62D2,0x62E0,0x6319,0x6E20,0x865A,0x8A31,0x8DDD,0x92F8,
+0x6F01,0x79A6,0x9B5A,0x4EA8,0x4EAB,0x4EAC};
+
+/* page 14 0x3621-0x367E */
+static uint16 tab_jisx0208_uni14[]={
+0x4F9B,0x4FA0,0x50D1,0x5147,0x7AF6,0x5171,0x51F6,0x5354,
+0x5321,0x537F,0x53EB,0x55AC,0x5883,0x5CE1,0x5F37,0x5F4A,
+0x602F,0x6050,0x606D,0x631F,0x6559,0x6A4B,0x6CC1,0x72C2,
+0x72ED,0x77EF,0x80F8,0x8105,0x8208,0x854E,0x90F7,0x93E1,
+0x97FF,0x9957,0x9A5A,0x4EF0,0x51DD,0x5C2D,0x6681,0x696D,
+0x5C40,0x66F2,0x6975,0x7389,0x6850,0x7C81,0x50C5,0x52E4,
+0x5747,0x5DFE,0x9326,0x65A4,0x6B23,0x6B3D,0x7434,0x7981,
+0x79BD,0x7B4B,0x7DCA,0x82B9,0x83CC,0x887F,0x895F,0x8B39,
+0x8FD1,0x91D1,0x541F,0x9280,0x4E5D,0x5036,0x53E5,0x533A,
+0x72D7,0x7396,0x77E9,0x82E6,0x8EAF,0x99C6,0x99C8,0x99D2,
+0x5177,0x611A,0x865E,0x55B0,0x7A7A,0x5076,0x5BD3,0x9047,
+0x9685,0x4E32,0x6ADB,0x91E7,0x5C51,0x5C48};
+
+/* page 15 0x3721-0x377E */
+static uint16 tab_jisx0208_uni15[]={
+0x6398,0x7A9F,0x6C93,0x9774,0x8F61,0x7AAA,0x718A,0x9688,
+0x7C82,0x6817,0x7E70,0x6851,0x936C,0x52F2,0x541B,0x85AB,
+0x8A13,0x7FA4,0x8ECD,0x90E1,0x5366,0x8888,0x7941,0x4FC2,
+0x50BE,0x5211,0x5144,0x5553,0x572D,0x73EA,0x578B,0x5951,
+0x5F62,0x5F84,0x6075,0x6176,0x6167,0x61A9,0x63B2,0x643A,
+0x656C,0x666F,0x6842,0x6E13,0x7566,0x7A3D,0x7CFB,0x7D4C,
+0x7D99,0x7E4B,0x7F6B,0x830E,0x834A,0x86CD,0x8A08,0x8A63,
+0x8B66,0x8EFD,0x981A,0x9D8F,0x82B8,0x8FCE,0x9BE8,0x5287,
+0x621F,0x6483,0x6FC0,0x9699,0x6841,0x5091,0x6B20,0x6C7A,
+0x6F54,0x7A74,0x7D50,0x8840,0x8A23,0x6708,0x4EF6,0x5039,
+0x5026,0x5065,0x517C,0x5238,0x5263,0x55A7,0x570F,0x5805,
+0x5ACC,0x5EFA,0x61B2,0x61F8,0x62F3,0x6372};
+
+/* page 16 0x3821-0x387E */
+static uint16 tab_jisx0208_uni16[]={
+0x691C,0x6A29,0x727D,0x72AC,0x732E,0x7814,0x786F,0x7D79,
+0x770C,0x80A9,0x898B,0x8B19,0x8CE2,0x8ED2,0x9063,0x9375,
+0x967A,0x9855,0x9A13,0x9E78,0x5143,0x539F,0x53B3,0x5E7B,
+0x5F26,0x6E1B,0x6E90,0x7384,0x73FE,0x7D43,0x8237,0x8A00,
+0x8AFA,0x9650,0x4E4E,0x500B,0x53E4,0x547C,0x56FA,0x59D1,
+0x5B64,0x5DF1,0x5EAB,0x5F27,0x6238,0x6545,0x67AF,0x6E56,
+0x72D0,0x7CCA,0x88B4,0x80A1,0x80E1,0x83F0,0x864E,0x8A87,
+0x8DE8,0x9237,0x96C7,0x9867,0x9F13,0x4E94,0x4E92,0x4F0D,
+0x5348,0x5449,0x543E,0x5A2F,0x5F8C,0x5FA1,0x609F,0x68A7,
+0x6A8E,0x745A,0x7881,0x8A9E,0x8AA4,0x8B77,0x9190,0x4E5E,
+0x9BC9,0x4EA4,0x4F7C,0x4FAF,0x5019,0x5016,0x5149,0x516C,
+0x529F,0x52B9,0x52FE,0x539A,0x53E3,0x5411};
+
+/* page 17 0x3921-0x397E */
+static uint16 tab_jisx0208_uni17[]={
+0x540E,0x5589,0x5751,0x57A2,0x597D,0x5B54,0x5B5D,0x5B8F,
+0x5DE5,0x5DE7,0x5DF7,0x5E78,0x5E83,0x5E9A,0x5EB7,0x5F18,
+0x6052,0x614C,0x6297,0x62D8,0x63A7,0x653B,0x6602,0x6643,
+0x66F4,0x676D,0x6821,0x6897,0x69CB,0x6C5F,0x6D2A,0x6D69,
+0x6E2F,0x6E9D,0x7532,0x7687,0x786C,0x7A3F,0x7CE0,0x7D05,
+0x7D18,0x7D5E,0x7DB1,0x8015,0x8003,0x80AF,0x80B1,0x8154,
+0x818F,0x822A,0x8352,0x884C,0x8861,0x8B1B,0x8CA2,0x8CFC,
+0x90CA,0x9175,0x9271,0x783F,0x92FC,0x95A4,0x964D,0x9805,
+0x9999,0x9AD8,0x9D3B,0x525B,0x52AB,0x53F7,0x5408,0x58D5,
+0x62F7,0x6FE0,0x8C6A,0x8F5F,0x9EB9,0x514B,0x523B,0x544A,
+0x56FD,0x7A40,0x9177,0x9D60,0x9ED2,0x7344,0x6F09,0x8170,
+0x7511,0x5FFD,0x60DA,0x9AA8,0x72DB,0x8FBC};
+
+/* page 18 0x3A21-0x3A7E */
+static uint16 tab_jisx0208_uni18[]={
+0x6B64,0x9803,0x4ECA,0x56F0,0x5764,0x58BE,0x5A5A,0x6068,
+0x61C7,0x660F,0x6606,0x6839,0x68B1,0x6DF7,0x75D5,0x7D3A,
+0x826E,0x9B42,0x4E9B,0x4F50,0x53C9,0x5506,0x5D6F,0x5DE6,
+0x5DEE,0x67FB,0x6C99,0x7473,0x7802,0x8A50,0x9396,0x88DF,
+0x5750,0x5EA7,0x632B,0x50B5,0x50AC,0x518D,0x6700,0x54C9,
+0x585E,0x59BB,0x5BB0,0x5F69,0x624D,0x63A1,0x683D,0x6B73,
+0x6E08,0x707D,0x91C7,0x7280,0x7815,0x7826,0x796D,0x658E,
+0x7D30,0x83DC,0x88C1,0x8F09,0x969B,0x5264,0x5728,0x6750,
+0x7F6A,0x8CA1,0x51B4,0x5742,0x962A,0x583A,0x698A,0x80B4,
+0x54B2,0x5D0E,0x57FC,0x7895,0x9DFA,0x4F5C,0x524A,0x548B,
+0x643E,0x6628,0x6714,0x67F5,0x7A84,0x7B56,0x7D22,0x932F,
+0x685C,0x9BAD,0x7B39,0x5319,0x518A,0x5237};
+
+/* page 19 0x3B21-0x3B7E */
+static uint16 tab_jisx0208_uni19[]={
+0x5BDF,0x62F6,0x64AE,0x64E6,0x672D,0x6BBA,0x85A9,0x96D1,
+0x7690,0x9BD6,0x634C,0x9306,0x9BAB,0x76BF,0x6652,0x4E09,
+0x5098,0x53C2,0x5C71,0x60E8,0x6492,0x6563,0x685F,0x71E6,
+0x73CA,0x7523,0x7B97,0x7E82,0x8695,0x8B83,0x8CDB,0x9178,
+0x9910,0x65AC,0x66AB,0x6B8B,0x4ED5,0x4ED4,0x4F3A,0x4F7F,
+0x523A,0x53F8,0x53F2,0x55E3,0x56DB,0x58EB,0x59CB,0x59C9,
+0x59FF,0x5B50,0x5C4D,0x5E02,0x5E2B,0x5FD7,0x601D,0x6307,
+0x652F,0x5B5C,0x65AF,0x65BD,0x65E8,0x679D,0x6B62,0x6B7B,
+0x6C0F,0x7345,0x7949,0x79C1,0x7CF8,0x7D19,0x7D2B,0x80A2,
+0x8102,0x81F3,0x8996,0x8A5E,0x8A69,0x8A66,0x8A8C,0x8AEE,
+0x8CC7,0x8CDC,0x96CC,0x98FC,0x6B6F,0x4E8B,0x4F3C,0x4F8D,
+0x5150,0x5B57,0x5BFA,0x6148,0x6301,0x6642};
+
+/* page 20 0x3C21-0x3C7E */
+static uint16 tab_jisx0208_uni20[]={
+0x6B21,0x6ECB,0x6CBB,0x723E,0x74BD,0x75D4,0x78C1,0x793A,
+0x800C,0x8033,0x81EA,0x8494,0x8F9E,0x6C50,0x9E7F,0x5F0F,
+0x8B58,0x9D2B,0x7AFA,0x8EF8,0x5B8D,0x96EB,0x4E03,0x53F1,
+0x57F7,0x5931,0x5AC9,0x5BA4,0x6089,0x6E7F,0x6F06,0x75BE,
+0x8CEA,0x5B9F,0x8500,0x7BE0,0x5072,0x67F4,0x829D,0x5C61,
+0x854A,0x7E1E,0x820E,0x5199,0x5C04,0x6368,0x8D66,0x659C,
+0x716E,0x793E,0x7D17,0x8005,0x8B1D,0x8ECA,0x906E,0x86C7,
+0x90AA,0x501F,0x52FA,0x5C3A,0x6753,0x707C,0x7235,0x914C,
+0x91C8,0x932B,0x82E5,0x5BC2,0x5F31,0x60F9,0x4E3B,0x53D6,
+0x5B88,0x624B,0x6731,0x6B8A,0x72E9,0x73E0,0x7A2E,0x816B,
+0x8DA3,0x9152,0x9996,0x5112,0x53D7,0x546A,0x5BFF,0x6388,
+0x6A39,0x7DAC,0x9700,0x56DA,0x53CE,0x5468};
+
+/* page 21 0x3D21-0x3D7E */
+static uint16 tab_jisx0208_uni21[]={
+0x5B97,0x5C31,0x5DDE,0x4FEE,0x6101,0x62FE,0x6D32,0x79C0,
+0x79CB,0x7D42,0x7E4D,0x7FD2,0x81ED,0x821F,0x8490,0x8846,
+0x8972,0x8B90,0x8E74,0x8F2F,0x9031,0x914B,0x916C,0x96C6,
+0x919C,0x4EC0,0x4F4F,0x5145,0x5341,0x5F93,0x620E,0x67D4,
+0x6C41,0x6E0B,0x7363,0x7E26,0x91CD,0x9283,0x53D4,0x5919,
+0x5BBF,0x6DD1,0x795D,0x7E2E,0x7C9B,0x587E,0x719F,0x51FA,
+0x8853,0x8FF0,0x4FCA,0x5CFB,0x6625,0x77AC,0x7AE3,0x821C,
+0x99FF,0x51C6,0x5FAA,0x65EC,0x696F,0x6B89,0x6DF3,0x6E96,
+0x6F64,0x76FE,0x7D14,0x5DE1,0x9075,0x9187,0x9806,0x51E6,
+0x521D,0x6240,0x6691,0x66D9,0x6E1A,0x5EB6,0x7DD2,0x7F72,
+0x66F8,0x85AF,0x85F7,0x8AF8,0x52A9,0x53D9,0x5973,0x5E8F,
+0x5F90,0x6055,0x92E4,0x9664,0x50B7,0x511F};
+
+/* page 22 0x3E21-0x3E7E */
+static uint16 tab_jisx0208_uni22[]={
+0x52DD,0x5320,0x5347,0x53EC,0x54E8,0x5546,0x5531,0x5617,
+0x5968,0x59BE,0x5A3C,0x5BB5,0x5C06,0x5C0F,0x5C11,0x5C1A,
+0x5E84,0x5E8A,0x5EE0,0x5F70,0x627F,0x6284,0x62DB,0x638C,
+0x6377,0x6607,0x660C,0x662D,0x6676,0x677E,0x68A2,0x6A1F,
+0x6A35,0x6CBC,0x6D88,0x6E09,0x6E58,0x713C,0x7126,0x7167,
+0x75C7,0x7701,0x785D,0x7901,0x7965,0x79F0,0x7AE0,0x7B11,
+0x7CA7,0x7D39,0x8096,0x83D6,0x848B,0x8549,0x885D,0x88F3,
+0x8A1F,0x8A3C,0x8A54,0x8A73,0x8C61,0x8CDE,0x91A4,0x9266,
+0x937E,0x9418,0x969C,0x9798,0x4E0A,0x4E08,0x4E1E,0x4E57,
+0x5197,0x5270,0x57CE,0x5834,0x58CC,0x5B22,0x5E38,0x60C5,
+0x64FE,0x6761,0x6756,0x6D44,0x72B6,0x7573,0x7A63,0x84B8,
+0x8B72,0x91B8,0x9320,0x5631,0x57F4,0x98FE};
+
+/* page 23 0x3F21-0x3F7E */
+static uint16 tab_jisx0208_uni23[]={
+0x62ED,0x690D,0x6B96,0x71ED,0x7E54,0x8077,0x8272,0x89E6,
+0x98DF,0x8755,0x8FB1,0x5C3B,0x4F38,0x4FE1,0x4FB5,0x5507,
+0x5A20,0x5BDD,0x5BE9,0x5FC3,0x614E,0x632F,0x65B0,0x664B,
+0x68EE,0x699B,0x6D78,0x6DF1,0x7533,0x75B9,0x771F,0x795E,
+0x79E6,0x7D33,0x81E3,0x82AF,0x85AA,0x89AA,0x8A3A,0x8EAB,
+0x8F9B,0x9032,0x91DD,0x9707,0x4EBA,0x4EC1,0x5203,0x5875,
+0x58EC,0x5C0B,0x751A,0x5C3D,0x814E,0x8A0A,0x8FC5,0x9663,
+0x976D,0x7B25,0x8ACF,0x9808,0x9162,0x56F3,0x53A8,0x9017,
+0x5439,0x5782,0x5E25,0x63A8,0x6C34,0x708A,0x7761,0x7C8B,
+0x7FE0,0x8870,0x9042,0x9154,0x9310,0x9318,0x968F,0x745E,
+0x9AC4,0x5D07,0x5D69,0x6570,0x67A2,0x8DA8,0x96DB,0x636E,
+0x6749,0x6919,0x83C5,0x9817,0x96C0,0x88FE};
+
+/* page 24 0x4021-0x407E */
+static uint16 tab_jisx0208_uni24[]={
+0x6F84,0x647A,0x5BF8,0x4E16,0x702C,0x755D,0x662F,0x51C4,
+0x5236,0x52E2,0x59D3,0x5F81,0x6027,0x6210,0x653F,0x6574,
+0x661F,0x6674,0x68F2,0x6816,0x6B63,0x6E05,0x7272,0x751F,
+0x76DB,0x7CBE,0x8056,0x58F0,0x88FD,0x897F,0x8AA0,0x8A93,
+0x8ACB,0x901D,0x9192,0x9752,0x9759,0x6589,0x7A0E,0x8106,
+0x96BB,0x5E2D,0x60DC,0x621A,0x65A5,0x6614,0x6790,0x77F3,
+0x7A4D,0x7C4D,0x7E3E,0x810A,0x8CAC,0x8D64,0x8DE1,0x8E5F,
+0x78A9,0x5207,0x62D9,0x63A5,0x6442,0x6298,0x8A2D,0x7A83,
+0x7BC0,0x8AAC,0x96EA,0x7D76,0x820C,0x8749,0x4ED9,0x5148,
+0x5343,0x5360,0x5BA3,0x5C02,0x5C16,0x5DDD,0x6226,0x6247,
+0x64B0,0x6813,0x6834,0x6CC9,0x6D45,0x6D17,0x67D3,0x6F5C,
+0x714E,0x717D,0x65CB,0x7A7F,0x7BAD,0x7DDA};
+
+/* page 25 0x4121-0x417E */
+static uint16 tab_jisx0208_uni25[]={
+0x7E4A,0x7FA8,0x817A,0x821B,0x8239,0x85A6,0x8A6E,0x8CCE,
+0x8DF5,0x9078,0x9077,0x92AD,0x9291,0x9583,0x9BAE,0x524D,
+0x5584,0x6F38,0x7136,0x5168,0x7985,0x7E55,0x81B3,0x7CCE,
+0x564C,0x5851,0x5CA8,0x63AA,0x66FE,0x66FD,0x695A,0x72D9,
+0x758F,0x758E,0x790E,0x7956,0x79DF,0x7C97,0x7D20,0x7D44,
+0x8607,0x8A34,0x963B,0x9061,0x9F20,0x50E7,0x5275,0x53CC,
+0x53E2,0x5009,0x55AA,0x58EE,0x594F,0x723D,0x5B8B,0x5C64,
+0x531D,0x60E3,0x60F3,0x635C,0x6383,0x633F,0x63BB,0x64CD,
+0x65E9,0x66F9,0x5DE3,0x69CD,0x69FD,0x6F15,0x71E5,0x4E89,
+0x75E9,0x76F8,0x7A93,0x7CDF,0x7DCF,0x7D9C,0x8061,0x8349,
+0x8358,0x846C,0x84BC,0x85FB,0x88C5,0x8D70,0x9001,0x906D,
+0x9397,0x971C,0x9A12,0x50CF,0x5897,0x618E};
+
+/* page 26 0x4221-0x427E */
+static uint16 tab_jisx0208_uni26[]={
+0x81D3,0x8535,0x8D08,0x9020,0x4FC3,0x5074,0x5247,0x5373,
+0x606F,0x6349,0x675F,0x6E2C,0x8DB3,0x901F,0x4FD7,0x5C5E,
+0x8CCA,0x65CF,0x7D9A,0x5352,0x8896,0x5176,0x63C3,0x5B58,
+0x5B6B,0x5C0A,0x640D,0x6751,0x905C,0x4ED6,0x591A,0x592A,
+0x6C70,0x8A51,0x553E,0x5815,0x59A5,0x60F0,0x6253,0x67C1,
+0x8235,0x6955,0x9640,0x99C4,0x9A28,0x4F53,0x5806,0x5BFE,
+0x8010,0x5CB1,0x5E2F,0x5F85,0x6020,0x614B,0x6234,0x66FF,
+0x6CF0,0x6EDE,0x80CE,0x817F,0x82D4,0x888B,0x8CB8,0x9000,
+0x902E,0x968A,0x9EDB,0x9BDB,0x4EE3,0x53F0,0x5927,0x7B2C,
+0x918D,0x984C,0x9DF9,0x6EDD,0x7027,0x5353,0x5544,0x5B85,
+0x6258,0x629E,0x62D3,0x6CA2,0x6FEF,0x7422,0x8A17,0x9438,
+0x6FC1,0x8AFE,0x8338,0x51E7,0x86F8,0x53EA};
+
+/* page 27 0x4321-0x437E */
+static uint16 tab_jisx0208_uni27[]={
+0x53E9,0x4F46,0x9054,0x8FB0,0x596A,0x8131,0x5DFD,0x7AEA,
+0x8FBF,0x68DA,0x8C37,0x72F8,0x9C48,0x6A3D,0x8AB0,0x4E39,
+0x5358,0x5606,0x5766,0x62C5,0x63A2,0x65E6,0x6B4E,0x6DE1,
+0x6E5B,0x70AD,0x77ED,0x7AEF,0x7BAA,0x7DBB,0x803D,0x80C6,
+0x86CB,0x8A95,0x935B,0x56E3,0x58C7,0x5F3E,0x65AD,0x6696,
+0x6A80,0x6BB5,0x7537,0x8AC7,0x5024,0x77E5,0x5730,0x5F1B,
+0x6065,0x667A,0x6C60,0x75F4,0x7A1A,0x7F6E,0x81F4,0x8718,
+0x9045,0x99B3,0x7BC9,0x755C,0x7AF9,0x7B51,0x84C4,0x9010,
+0x79E9,0x7A92,0x8336,0x5AE1,0x7740,0x4E2D,0x4EF2,0x5B99,
+0x5FE0,0x62BD,0x663C,0x67F1,0x6CE8,0x866B,0x8877,0x8A3B,
+0x914E,0x92F3,0x99D0,0x6A17,0x7026,0x732A,0x82E7,0x8457,
+0x8CAF,0x4E01,0x5146,0x51CB,0x558B,0x5BF5};
+
+/* page 28 0x4421-0x447E */
+static uint16 tab_jisx0208_uni28[]={
+0x5E16,0x5E33,0x5E81,0x5F14,0x5F35,0x5F6B,0x5FB4,0x61F2,
+0x6311,0x66A2,0x671D,0x6F6E,0x7252,0x753A,0x773A,0x8074,
+0x8139,0x8178,0x8776,0x8ABF,0x8ADC,0x8D85,0x8DF3,0x929A,
+0x9577,0x9802,0x9CE5,0x52C5,0x6357,0x76F4,0x6715,0x6C88,
+0x73CD,0x8CC3,0x93AE,0x9673,0x6D25,0x589C,0x690E,0x69CC,
+0x8FFD,0x939A,0x75DB,0x901A,0x585A,0x6802,0x63B4,0x69FB,
+0x4F43,0x6F2C,0x67D8,0x8FBB,0x8526,0x7DB4,0x9354,0x693F,
+0x6F70,0x576A,0x58F7,0x5B2C,0x7D2C,0x722A,0x540A,0x91E3,
+0x9DB4,0x4EAD,0x4F4E,0x505C,0x5075,0x5243,0x8C9E,0x5448,
+0x5824,0x5B9A,0x5E1D,0x5E95,0x5EAD,0x5EF7,0x5F1F,0x608C,
+0x62B5,0x633A,0x63D0,0x68AF,0x6C40,0x7887,0x798E,0x7A0B,
+0x7DE0,0x8247,0x8A02,0x8AE6,0x8E44,0x9013};
+
+/* page 29 0x4521-0x457E */
+static uint16 tab_jisx0208_uni29[]={
+0x90B8,0x912D,0x91D8,0x9F0E,0x6CE5,0x6458,0x64E2,0x6575,
+0x6EF4,0x7684,0x7B1B,0x9069,0x93D1,0x6EBA,0x54F2,0x5FB9,
+0x64A4,0x8F4D,0x8FED,0x9244,0x5178,0x586B,0x5929,0x5C55,
+0x5E97,0x6DFB,0x7E8F,0x751C,0x8CBC,0x8EE2,0x985B,0x70B9,
+0x4F1D,0x6BBF,0x6FB1,0x7530,0x96FB,0x514E,0x5410,0x5835,
+0x5857,0x59AC,0x5C60,0x5F92,0x6597,0x675C,0x6E21,0x767B,
+0x83DF,0x8CED,0x9014,0x90FD,0x934D,0x7825,0x783A,0x52AA,
+0x5EA6,0x571F,0x5974,0x6012,0x5012,0x515A,0x51AC,0x51CD,
+0x5200,0x5510,0x5854,0x5858,0x5957,0x5B95,0x5CF6,0x5D8B,
+0x60BC,0x6295,0x642D,0x6771,0x6843,0x68BC,0x68DF,0x76D7,
+0x6DD8,0x6E6F,0x6D9B,0x706F,0x71C8,0x5F53,0x75D8,0x7977,
+0x7B49,0x7B54,0x7B52,0x7CD6,0x7D71,0x5230};
+
+/* page 30 0x4621-0x467E */
+static uint16 tab_jisx0208_uni30[]={
+0x8463,0x8569,0x85E4,0x8A0E,0x8B04,0x8C46,0x8E0F,0x9003,
+0x900F,0x9419,0x9676,0x982D,0x9A30,0x95D8,0x50CD,0x52D5,
+0x540C,0x5802,0x5C0E,0x61A7,0x649E,0x6D1E,0x77B3,0x7AE5,
+0x80F4,0x8404,0x9053,0x9285,0x5CE0,0x9D07,0x533F,0x5F97,
+0x5FB3,0x6D9C,0x7279,0x7763,0x79BF,0x7BE4,0x6BD2,0x72EC,
+0x8AAD,0x6803,0x6A61,0x51F8,0x7A81,0x6934,0x5C4A,0x9CF6,
+0x82EB,0x5BC5,0x9149,0x701E,0x5678,0x5C6F,0x60C7,0x6566,
+0x6C8C,0x8C5A,0x9041,0x9813,0x5451,0x66C7,0x920D,0x5948,
+0x90A3,0x5185,0x4E4D,0x51EA,0x8599,0x8B0E,0x7058,0x637A,
+0x934B,0x6962,0x99B4,0x7E04,0x7577,0x5357,0x6960,0x8EDF,
+0x96E3,0x6C5D,0x4E8C,0x5C3C,0x5F10,0x8FE9,0x5302,0x8CD1,
+0x8089,0x8679,0x5EFF,0x65E5,0x4E73,0x5165};
+
+/* page 31 0x4721-0x477E */
+static uint16 tab_jisx0208_uni31[]={
+0x5982,0x5C3F,0x97EE,0x4EFB,0x598A,0x5FCD,0x8A8D,0x6FE1,
+0x79B0,0x7962,0x5BE7,0x8471,0x732B,0x71B1,0x5E74,0x5FF5,
+0x637B,0x649A,0x71C3,0x7C98,0x4E43,0x5EFC,0x4E4B,0x57DC,
+0x56A2,0x60A9,0x6FC3,0x7D0D,0x80FD,0x8133,0x81BF,0x8FB2,
+0x8997,0x86A4,0x5DF4,0x628A,0x64AD,0x8987,0x6777,0x6CE2,
+0x6D3E,0x7436,0x7834,0x5A46,0x7F75,0x82AD,0x99AC,0x4FF3,
+0x5EC3,0x62DD,0x6392,0x6557,0x676F,0x76C3,0x724C,0x80CC,
+0x80BA,0x8F29,0x914D,0x500D,0x57F9,0x5A92,0x6885,0x6973,
+0x7164,0x72FD,0x8CB7,0x58F2,0x8CE0,0x966A,0x9019,0x877F,
+0x79E4,0x77E7,0x8429,0x4F2F,0x5265,0x535A,0x62CD,0x67CF,
+0x6CCA,0x767D,0x7B94,0x7C95,0x8236,0x8584,0x8FEB,0x66DD,
+0x6F20,0x7206,0x7E1B,0x83AB,0x99C1,0x9EA6};
+
+/* page 32 0x4821-0x487E */
+static uint16 tab_jisx0208_uni32[]={
+0x51FD,0x7BB1,0x7872,0x7BB8,0x8087,0x7B48,0x6AE8,0x5E61,
+0x808C,0x7551,0x7560,0x516B,0x9262,0x6E8C,0x767A,0x9197,
+0x9AEA,0x4F10,0x7F70,0x629C,0x7B4F,0x95A5,0x9CE9,0x567A,
+0x5859,0x86E4,0x96BC,0x4F34,0x5224,0x534A,0x53CD,0x53DB,
+0x5E06,0x642C,0x6591,0x677F,0x6C3E,0x6C4E,0x7248,0x72AF,
+0x73ED,0x7554,0x7E41,0x822C,0x85E9,0x8CA9,0x7BC4,0x91C6,
+0x7169,0x9812,0x98EF,0x633D,0x6669,0x756A,0x76E4,0x78D0,
+0x8543,0x86EE,0x532A,0x5351,0x5426,0x5983,0x5E87,0x5F7C,
+0x60B2,0x6249,0x6279,0x62AB,0x6590,0x6BD4,0x6CCC,0x75B2,
+0x76AE,0x7891,0x79D8,0x7DCB,0x7F77,0x80A5,0x88AB,0x8AB9,
+0x8CBB,0x907F,0x975E,0x98DB,0x6A0B,0x7C38,0x5099,0x5C3E,
+0x5FAE,0x6787,0x6BD8,0x7435,0x7709,0x7F8E};
+
+/* page 33 0x4921-0x497E */
+static uint16 tab_jisx0208_uni33[]={
+0x9F3B,0x67CA,0x7A17,0x5339,0x758B,0x9AED,0x5F66,0x819D,
+0x83F1,0x8098,0x5F3C,0x5FC5,0x7562,0x7B46,0x903C,0x6867,
+0x59EB,0x5A9B,0x7D10,0x767E,0x8B2C,0x4FF5,0x5F6A,0x6A19,
+0x6C37,0x6F02,0x74E2,0x7968,0x8868,0x8A55,0x8C79,0x5EDF,
+0x63CF,0x75C5,0x79D2,0x82D7,0x9328,0x92F2,0x849C,0x86ED,
+0x9C2D,0x54C1,0x5F6C,0x658C,0x6D5C,0x7015,0x8CA7,0x8CD3,
+0x983B,0x654F,0x74F6,0x4E0D,0x4ED8,0x57E0,0x592B,0x5A66,
+0x5BCC,0x51A8,0x5E03,0x5E9C,0x6016,0x6276,0x6577,0x65A7,
+0x666E,0x6D6E,0x7236,0x7B26,0x8150,0x819A,0x8299,0x8B5C,
+0x8CA0,0x8CE6,0x8D74,0x961C,0x9644,0x4FAE,0x64AB,0x6B66,
+0x821E,0x8461,0x856A,0x90E8,0x5C01,0x6953,0x98A8,0x847A,
+0x8557,0x4F0F,0x526F,0x5FA9,0x5E45,0x670D};
+
+/* page 34 0x4A21-0x4A7E */
+static uint16 tab_jisx0208_uni34[]={
+0x798F,0x8179,0x8907,0x8986,0x6DF5,0x5F17,0x6255,0x6CB8,
+0x4ECF,0x7269,0x9B92,0x5206,0x543B,0x5674,0x58B3,0x61A4,
+0x626E,0x711A,0x596E,0x7C89,0x7CDE,0x7D1B,0x96F0,0x6587,
+0x805E,0x4E19,0x4F75,0x5175,0x5840,0x5E63,0x5E73,0x5F0A,
+0x67C4,0x4E26,0x853D,0x9589,0x965B,0x7C73,0x9801,0x50FB,
+0x58C1,0x7656,0x78A7,0x5225,0x77A5,0x8511,0x7B86,0x504F,
+0x5909,0x7247,0x7BC7,0x7DE8,0x8FBA,0x8FD4,0x904D,0x4FBF,
+0x52C9,0x5A29,0x5F01,0x97AD,0x4FDD,0x8217,0x92EA,0x5703,
+0x6355,0x6B69,0x752B,0x88DC,0x8F14,0x7A42,0x52DF,0x5893,
+0x6155,0x620A,0x66AE,0x6BCD,0x7C3F,0x83E9,0x5023,0x4FF8,
+0x5305,0x5446,0x5831,0x5949,0x5B9D,0x5CF0,0x5CEF,0x5D29,
+0x5E96,0x62B1,0x6367,0x653E,0x65B9,0x670B};
+
+/* page 35 0x4B21-0x4B7E */
+static uint16 tab_jisx0208_uni35[]={
+0x6CD5,0x6CE1,0x70F9,0x7832,0x7E2B,0x80DE,0x82B3,0x840C,
+0x84EC,0x8702,0x8912,0x8A2A,0x8C4A,0x90A6,0x92D2,0x98FD,
+0x9CF3,0x9D6C,0x4E4F,0x4EA1,0x508D,0x5256,0x574A,0x59A8,
+0x5E3D,0x5FD8,0x5FD9,0x623F,0x66B4,0x671B,0x67D0,0x68D2,
+0x5192,0x7D21,0x80AA,0x81A8,0x8B00,0x8C8C,0x8CBF,0x927E,
+0x9632,0x5420,0x982C,0x5317,0x50D5,0x535C,0x58A8,0x64B2,
+0x6734,0x7267,0x7766,0x7A46,0x91E6,0x52C3,0x6CA1,0x6B86,
+0x5800,0x5E4C,0x5954,0x672C,0x7FFB,0x51E1,0x76C6,0x6469,
+0x78E8,0x9B54,0x9EBB,0x57CB,0x59B9,0x6627,0x679A,0x6BCE,
+0x54E9,0x69D9,0x5E55,0x819C,0x6795,0x9BAA,0x67FE,0x9C52,
+0x685D,0x4EA6,0x4FE3,0x53C8,0x62B9,0x672B,0x6CAB,0x8FC4,
+0x4FAD,0x7E6D,0x9EBF,0x4E07,0x6162,0x6E80};
+
+/* page 36 0x4C21-0x4C7E */
+static uint16 tab_jisx0208_uni36[]={
+0x6F2B,0x8513,0x5473,0x672A,0x9B45,0x5DF3,0x7B95,0x5CAC,
+0x5BC6,0x871C,0x6E4A,0x84D1,0x7A14,0x8108,0x5999,0x7C8D,
+0x6C11,0x7720,0x52D9,0x5922,0x7121,0x725F,0x77DB,0x9727,
+0x9D61,0x690B,0x5A7F,0x5A18,0x51A5,0x540D,0x547D,0x660E,
+0x76DF,0x8FF7,0x9298,0x9CF4,0x59EA,0x725D,0x6EC5,0x514D,
+0x68C9,0x7DBF,0x7DEC,0x9762,0x9EBA,0x6478,0x6A21,0x8302,
+0x5984,0x5B5F,0x6BDB,0x731B,0x76F2,0x7DB2,0x8017,0x8499,
+0x5132,0x6728,0x9ED9,0x76EE,0x6762,0x52FF,0x9905,0x5C24,
+0x623B,0x7C7E,0x8CB0,0x554F,0x60B6,0x7D0B,0x9580,0x5301,
+0x4E5F,0x51B6,0x591C,0x723A,0x8036,0x91CE,0x5F25,0x77E2,
+0x5384,0x5F79,0x7D04,0x85AC,0x8A33,0x8E8D,0x9756,0x67F3,
+0x85AE,0x9453,0x6109,0x6108,0x6CB9,0x7652};
+
+/* page 37 0x4D21-0x4D7E */
+static uint16 tab_jisx0208_uni37[]={
+0x8AED,0x8F38,0x552F,0x4F51,0x512A,0x52C7,0x53CB,0x5BA5,
+0x5E7D,0x60A0,0x6182,0x63D6,0x6709,0x67DA,0x6E67,0x6D8C,
+0x7336,0x7337,0x7531,0x7950,0x88D5,0x8A98,0x904A,0x9091,
+0x90F5,0x96C4,0x878D,0x5915,0x4E88,0x4F59,0x4E0E,0x8A89,
+0x8F3F,0x9810,0x50AD,0x5E7C,0x5996,0x5BB9,0x5EB8,0x63DA,
+0x63FA,0x64C1,0x66DC,0x694A,0x69D8,0x6D0B,0x6EB6,0x7194,
+0x7528,0x7AAF,0x7F8A,0x8000,0x8449,0x84C9,0x8981,0x8B21,
+0x8E0A,0x9065,0x967D,0x990A,0x617E,0x6291,0x6B32,0x6C83,
+0x6D74,0x7FCC,0x7FFC,0x6DC0,0x7F85,0x87BA,0x88F8,0x6765,
+0x83B1,0x983C,0x96F7,0x6D1B,0x7D61,0x843D,0x916A,0x4E71,
+0x5375,0x5D50,0x6B04,0x6FEB,0x85CD,0x862D,0x89A7,0x5229,
+0x540F,0x5C65,0x674E,0x68A8,0x7406,0x7483};
+
+/* page 38 0x4E21-0x4E7E */
+static uint16 tab_jisx0208_uni38[]={
+0x75E2,0x88CF,0x88E1,0x91CC,0x96E2,0x9678,0x5F8B,0x7387,
+0x7ACB,0x844E,0x63A0,0x7565,0x5289,0x6D41,0x6E9C,0x7409,
+0x7559,0x786B,0x7C92,0x9686,0x7ADC,0x9F8D,0x4FB6,0x616E,
+0x65C5,0x865C,0x4E86,0x4EAE,0x50DA,0x4E21,0x51CC,0x5BEE,
+0x6599,0x6881,0x6DBC,0x731F,0x7642,0x77AD,0x7A1C,0x7CE7,
+0x826F,0x8AD2,0x907C,0x91CF,0x9675,0x9818,0x529B,0x7DD1,
+0x502B,0x5398,0x6797,0x6DCB,0x71D0,0x7433,0x81E8,0x8F2A,
+0x96A3,0x9C57,0x9E9F,0x7460,0x5841,0x6D99,0x7D2F,0x985E,
+0x4EE4,0x4F36,0x4F8B,0x51B7,0x52B1,0x5DBA,0x601C,0x73B2,
+0x793C,0x82D3,0x9234,0x96B7,0x96F6,0x970A,0x9E97,0x9F62,
+0x66A6,0x6B74,0x5217,0x52A3,0x70C8,0x88C2,0x5EC9,0x604B,
+0x6190,0x6F23,0x7149,0x7C3E,0x7DF4,0x806F};
+
+/* page 39 0x4F21-0x4F53 */
+static uint16 tab_jisx0208_uni39[]={
+0x84EE,0x9023,0x932C,0x5442,0x9B6F,0x6AD3,0x7089,0x8CC2,
+0x8DEF,0x9732,0x52B4,0x5A41,0x5ECA,0x5F04,0x6717,0x697C,
+0x6994,0x6D6A,0x6F0F,0x7262,0x72FC,0x7BED,0x8001,0x807E,
+0x874B,0x90CE,0x516D,0x9E93,0x7984,0x808B,0x9332,0x8AD6,
+0x502D,0x548C,0x8A71,0x6B6A,0x8CC4,0x8107,0x60D1,0x67A0,
+0x9DF2,0x4E99,0x4E98,0x9C10,0x8A6B,0x85C1,0x8568,0x6900,
+0x6E7E,0x7897,0x8155};
+
+/* page 40 0x5021-0x507E */
+static uint16 tab_jisx0208_uni40[]={
+0x5F0C,0x4E10,0x4E15,0x4E2A,0x4E31,0x4E36,0x4E3C,0x4E3F,
+0x4E42,0x4E56,0x4E58,0x4E82,0x4E85,0x8C6B,0x4E8A,0x8212,
+0x5F0D,0x4E8E,0x4E9E,0x4E9F,0x4EA0,0x4EA2,0x4EB0,0x4EB3,
+0x4EB6,0x4ECE,0x4ECD,0x4EC4,0x4EC6,0x4EC2,0x4ED7,0x4EDE,
+0x4EED,0x4EDF,0x4EF7,0x4F09,0x4F5A,0x4F30,0x4F5B,0x4F5D,
+0x4F57,0x4F47,0x4F76,0x4F88,0x4F8F,0x4F98,0x4F7B,0x4F69,
+0x4F70,0x4F91,0x4F6F,0x4F86,0x4F96,0x5118,0x4FD4,0x4FDF,
+0x4FCE,0x4FD8,0x4FDB,0x4FD1,0x4FDA,0x4FD0,0x4FE4,0x4FE5,
+0x501A,0x5028,0x5014,0x502A,0x5025,0x5005,0x4F1C,0x4FF6,
+0x5021,0x5029,0x502C,0x4FFE,0x4FEF,0x5011,0x5006,0x5043,
+0x5047,0x6703,0x5055,0x5050,0x5048,0x505A,0x5056,0x506C,
+0x5078,0x5080,0x509A,0x5085,0x50B4,0x50B2};
+
+/* page 41 0x5121-0x517E */
+static uint16 tab_jisx0208_uni41[]={
+0x50C9,0x50CA,0x50B3,0x50C2,0x50D6,0x50DE,0x50E5,0x50ED,
+0x50E3,0x50EE,0x50F9,0x50F5,0x5109,0x5101,0x5102,0x5116,
+0x5115,0x5114,0x511A,0x5121,0x513A,0x5137,0x513C,0x513B,
+0x513F,0x5140,0x5152,0x514C,0x5154,0x5162,0x7AF8,0x5169,
+0x516A,0x516E,0x5180,0x5182,0x56D8,0x518C,0x5189,0x518F,
+0x5191,0x5193,0x5195,0x5196,0x51A4,0x51A6,0x51A2,0x51A9,
+0x51AA,0x51AB,0x51B3,0x51B1,0x51B2,0x51B0,0x51B5,0x51BD,
+0x51C5,0x51C9,0x51DB,0x51E0,0x8655,0x51E9,0x51ED,0x51F0,
+0x51F5,0x51FE,0x5204,0x520B,0x5214,0x520E,0x5227,0x522A,
+0x522E,0x5233,0x5239,0x524F,0x5244,0x524B,0x524C,0x525E,
+0x5254,0x526A,0x5274,0x5269,0x5273,0x527F,0x527D,0x528D,
+0x5294,0x5292,0x5271,0x5288,0x5291,0x8FA8};
+
+/* page 42 0x5221-0x527E */
+static uint16 tab_jisx0208_uni42[]={
+0x8FA7,0x52AC,0x52AD,0x52BC,0x52B5,0x52C1,0x52CD,0x52D7,
+0x52DE,0x52E3,0x52E6,0x98ED,0x52E0,0x52F3,0x52F5,0x52F8,
+0x52F9,0x5306,0x5308,0x7538,0x530D,0x5310,0x530F,0x5315,
+0x531A,0x5323,0x532F,0x5331,0x5333,0x5338,0x5340,0x5346,
+0x5345,0x4E17,0x5349,0x534D,0x51D6,0x535E,0x5369,0x536E,
+0x5918,0x537B,0x5377,0x5382,0x5396,0x53A0,0x53A6,0x53A5,
+0x53AE,0x53B0,0x53B6,0x53C3,0x7C12,0x96D9,0x53DF,0x66FC,
+0x71EE,0x53EE,0x53E8,0x53ED,0x53FA,0x5401,0x543D,0x5440,
+0x542C,0x542D,0x543C,0x542E,0x5436,0x5429,0x541D,0x544E,
+0x548F,0x5475,0x548E,0x545F,0x5471,0x5477,0x5470,0x5492,
+0x547B,0x5480,0x5476,0x5484,0x5490,0x5486,0x54C7,0x54A2,
+0x54B8,0x54A5,0x54AC,0x54C4,0x54C8,0x54A8};
+
+/* page 43 0x5321-0x537E */
+static uint16 tab_jisx0208_uni43[]={
+0x54AB,0x54C2,0x54A4,0x54BE,0x54BC,0x54D8,0x54E5,0x54E6,
+0x550F,0x5514,0x54FD,0x54EE,0x54ED,0x54FA,0x54E2,0x5539,
+0x5540,0x5563,0x554C,0x552E,0x555C,0x5545,0x5556,0x5557,
+0x5538,0x5533,0x555D,0x5599,0x5580,0x54AF,0x558A,0x559F,
+0x557B,0x557E,0x5598,0x559E,0x55AE,0x557C,0x5583,0x55A9,
+0x5587,0x55A8,0x55DA,0x55C5,0x55DF,0x55C4,0x55DC,0x55E4,
+0x55D4,0x5614,0x55F7,0x5616,0x55FE,0x55FD,0x561B,0x55F9,
+0x564E,0x5650,0x71DF,0x5634,0x5636,0x5632,0x5638,0x566B,
+0x5664,0x562F,0x566C,0x566A,0x5686,0x5680,0x568A,0x56A0,
+0x5694,0x568F,0x56A5,0x56AE,0x56B6,0x56B4,0x56C2,0x56BC,
+0x56C1,0x56C3,0x56C0,0x56C8,0x56CE,0x56D1,0x56D3,0x56D7,
+0x56EE,0x56F9,0x5700,0x56FF,0x5704,0x5709};
+
+/* page 44 0x5421-0x547E */
+static uint16 tab_jisx0208_uni44[]={
+0x5708,0x570B,0x570D,0x5713,0x5718,0x5716,0x55C7,0x571C,
+0x5726,0x5737,0x5738,0x574E,0x573B,0x5740,0x574F,0x5769,
+0x57C0,0x5788,0x5761,0x577F,0x5789,0x5793,0x57A0,0x57B3,
+0x57A4,0x57AA,0x57B0,0x57C3,0x57C6,0x57D4,0x57D2,0x57D3,
+0x580A,0x57D6,0x57E3,0x580B,0x5819,0x581D,0x5872,0x5821,
+0x5862,0x584B,0x5870,0x6BC0,0x5852,0x583D,0x5879,0x5885,
+0x58B9,0x589F,0x58AB,0x58BA,0x58DE,0x58BB,0x58B8,0x58AE,
+0x58C5,0x58D3,0x58D1,0x58D7,0x58D9,0x58D8,0x58E5,0x58DC,
+0x58E4,0x58DF,0x58EF,0x58FA,0x58F9,0x58FB,0x58FC,0x58FD,
+0x5902,0x590A,0x5910,0x591B,0x68A6,0x5925,0x592C,0x592D,
+0x5932,0x5938,0x593E,0x7AD2,0x5955,0x5950,0x594E,0x595A,
+0x5958,0x5962,0x5960,0x5967,0x596C,0x5969};
+
+/* page 45 0x5521-0x557E */
+static uint16 tab_jisx0208_uni45[]={
+0x5978,0x5981,0x599D,0x4F5E,0x4FAB,0x59A3,0x59B2,0x59C6,
+0x59E8,0x59DC,0x598D,0x59D9,0x59DA,0x5A25,0x5A1F,0x5A11,
+0x5A1C,0x5A09,0x5A1A,0x5A40,0x5A6C,0x5A49,0x5A35,0x5A36,
+0x5A62,0x5A6A,0x5A9A,0x5ABC,0x5ABE,0x5ACB,0x5AC2,0x5ABD,
+0x5AE3,0x5AD7,0x5AE6,0x5AE9,0x5AD6,0x5AFA,0x5AFB,0x5B0C,
+0x5B0B,0x5B16,0x5B32,0x5AD0,0x5B2A,0x5B36,0x5B3E,0x5B43,
+0x5B45,0x5B40,0x5B51,0x5B55,0x5B5A,0x5B5B,0x5B65,0x5B69,
+0x5B70,0x5B73,0x5B75,0x5B78,0x6588,0x5B7A,0x5B80,0x5B83,
+0x5BA6,0x5BB8,0x5BC3,0x5BC7,0x5BC9,0x5BD4,0x5BD0,0x5BE4,
+0x5BE6,0x5BE2,0x5BDE,0x5BE5,0x5BEB,0x5BF0,0x5BF6,0x5BF3,
+0x5C05,0x5C07,0x5C08,0x5C0D,0x5C13,0x5C20,0x5C22,0x5C28,
+0x5C38,0x5C39,0x5C41,0x5C46,0x5C4E,0x5C53};
+
+/* page 46 0x5621-0x567E */
+static uint16 tab_jisx0208_uni46[]={
+0x5C50,0x5C4F,0x5B71,0x5C6C,0x5C6E,0x4E62,0x5C76,0x5C79,
+0x5C8C,0x5C91,0x5C94,0x599B,0x5CAB,0x5CBB,0x5CB6,0x5CBC,
+0x5CB7,0x5CC5,0x5CBE,0x5CC7,0x5CD9,0x5CE9,0x5CFD,0x5CFA,
+0x5CED,0x5D8C,0x5CEA,0x5D0B,0x5D15,0x5D17,0x5D5C,0x5D1F,
+0x5D1B,0x5D11,0x5D14,0x5D22,0x5D1A,0x5D19,0x5D18,0x5D4C,
+0x5D52,0x5D4E,0x5D4B,0x5D6C,0x5D73,0x5D76,0x5D87,0x5D84,
+0x5D82,0x5DA2,0x5D9D,0x5DAC,0x5DAE,0x5DBD,0x5D90,0x5DB7,
+0x5DBC,0x5DC9,0x5DCD,0x5DD3,0x5DD2,0x5DD6,0x5DDB,0x5DEB,
+0x5DF2,0x5DF5,0x5E0B,0x5E1A,0x5E19,0x5E11,0x5E1B,0x5E36,
+0x5E37,0x5E44,0x5E43,0x5E40,0x5E4E,0x5E57,0x5E54,0x5E5F,
+0x5E62,0x5E64,0x5E47,0x5E75,0x5E76,0x5E7A,0x9EBC,0x5E7F,
+0x5EA0,0x5EC1,0x5EC2,0x5EC8,0x5ED0,0x5ECF};
+
+/* page 47 0x5721-0x577E */
+static uint16 tab_jisx0208_uni47[]={
+0x5ED6,0x5EE3,0x5EDD,0x5EDA,0x5EDB,0x5EE2,0x5EE1,0x5EE8,
+0x5EE9,0x5EEC,0x5EF1,0x5EF3,0x5EF0,0x5EF4,0x5EF8,0x5EFE,
+0x5F03,0x5F09,0x5F5D,0x5F5C,0x5F0B,0x5F11,0x5F16,0x5F29,
+0x5F2D,0x5F38,0x5F41,0x5F48,0x5F4C,0x5F4E,0x5F2F,0x5F51,
+0x5F56,0x5F57,0x5F59,0x5F61,0x5F6D,0x5F73,0x5F77,0x5F83,
+0x5F82,0x5F7F,0x5F8A,0x5F88,0x5F91,0x5F87,0x5F9E,0x5F99,
+0x5F98,0x5FA0,0x5FA8,0x5FAD,0x5FBC,0x5FD6,0x5FFB,0x5FE4,
+0x5FF8,0x5FF1,0x5FDD,0x60B3,0x5FFF,0x6021,0x6060,0x6019,
+0x6010,0x6029,0x600E,0x6031,0x601B,0x6015,0x602B,0x6026,
+0x600F,0x603A,0x605A,0x6041,0x606A,0x6077,0x605F,0x604A,
+0x6046,0x604D,0x6063,0x6043,0x6064,0x6042,0x606C,0x606B,
+0x6059,0x6081,0x608D,0x60E7,0x6083,0x609A};
+
+/* page 48 0x5821-0x587E */
+static uint16 tab_jisx0208_uni48[]={
+0x6084,0x609B,0x6096,0x6097,0x6092,0x60A7,0x608B,0x60E1,
+0x60B8,0x60E0,0x60D3,0x60B4,0x5FF0,0x60BD,0x60C6,0x60B5,
+0x60D8,0x614D,0x6115,0x6106,0x60F6,0x60F7,0x6100,0x60F4,
+0x60FA,0x6103,0x6121,0x60FB,0x60F1,0x610D,0x610E,0x6147,
+0x613E,0x6128,0x6127,0x614A,0x613F,0x613C,0x612C,0x6134,
+0x613D,0x6142,0x6144,0x6173,0x6177,0x6158,0x6159,0x615A,
+0x616B,0x6174,0x616F,0x6165,0x6171,0x615F,0x615D,0x6153,
+0x6175,0x6199,0x6196,0x6187,0x61AC,0x6194,0x619A,0x618A,
+0x6191,0x61AB,0x61AE,0x61CC,0x61CA,0x61C9,0x61F7,0x61C8,
+0x61C3,0x61C6,0x61BA,0x61CB,0x7F79,0x61CD,0x61E6,0x61E3,
+0x61F6,0x61FA,0x61F4,0x61FF,0x61FD,0x61FC,0x61FE,0x6200,
+0x6208,0x6209,0x620D,0x620C,0x6214,0x621B};
+
+/* page 49 0x5921-0x597E */
+static uint16 tab_jisx0208_uni49[]={
+0x621E,0x6221,0x622A,0x622E,0x6230,0x6232,0x6233,0x6241,
+0x624E,0x625E,0x6263,0x625B,0x6260,0x6268,0x627C,0x6282,
+0x6289,0x627E,0x6292,0x6293,0x6296,0x62D4,0x6283,0x6294,
+0x62D7,0x62D1,0x62BB,0x62CF,0x62FF,0x62C6,0x64D4,0x62C8,
+0x62DC,0x62CC,0x62CA,0x62C2,0x62C7,0x629B,0x62C9,0x630C,
+0x62EE,0x62F1,0x6327,0x6302,0x6308,0x62EF,0x62F5,0x6350,
+0x633E,0x634D,0x641C,0x634F,0x6396,0x638E,0x6380,0x63AB,
+0x6376,0x63A3,0x638F,0x6389,0x639F,0x63B5,0x636B,0x6369,
+0x63BE,0x63E9,0x63C0,0x63C6,0x63E3,0x63C9,0x63D2,0x63F6,
+0x63C4,0x6416,0x6434,0x6406,0x6413,0x6426,0x6436,0x651D,
+0x6417,0x6428,0x640F,0x6467,0x646F,0x6476,0x644E,0x652A,
+0x6495,0x6493,0x64A5,0x64A9,0x6488,0x64BC};
+
+/* page 50 0x5A21-0x5A7E */
+static uint16 tab_jisx0208_uni50[]={
+0x64DA,0x64D2,0x64C5,0x64C7,0x64BB,0x64D8,0x64C2,0x64F1,
+0x64E7,0x8209,0x64E0,0x64E1,0x62AC,0x64E3,0x64EF,0x652C,
+0x64F6,0x64F4,0x64F2,0x64FA,0x6500,0x64FD,0x6518,0x651C,
+0x6505,0x6524,0x6523,0x652B,0x6534,0x6535,0x6537,0x6536,
+0x6538,0x754B,0x6548,0x6556,0x6555,0x654D,0x6558,0x655E,
+0x655D,0x6572,0x6578,0x6582,0x6583,0x8B8A,0x659B,0x659F,
+0x65AB,0x65B7,0x65C3,0x65C6,0x65C1,0x65C4,0x65CC,0x65D2,
+0x65DB,0x65D9,0x65E0,0x65E1,0x65F1,0x6772,0x660A,0x6603,
+0x65FB,0x6773,0x6635,0x6636,0x6634,0x661C,0x664F,0x6644,
+0x6649,0x6641,0x665E,0x665D,0x6664,0x6667,0x6668,0x665F,
+0x6662,0x6670,0x6683,0x6688,0x668E,0x6689,0x6684,0x6698,
+0x669D,0x66C1,0x66B9,0x66C9,0x66BE,0x66BC};
+
+/* page 51 0x5B21-0x5B7E */
+static uint16 tab_jisx0208_uni51[]={
+0x66C4,0x66B8,0x66D6,0x66DA,0x66E0,0x663F,0x66E6,0x66E9,
+0x66F0,0x66F5,0x66F7,0x670F,0x6716,0x671E,0x6726,0x6727,
+0x9738,0x672E,0x673F,0x6736,0x6741,0x6738,0x6737,0x6746,
+0x675E,0x6760,0x6759,0x6763,0x6764,0x6789,0x6770,0x67A9,
+0x677C,0x676A,0x678C,0x678B,0x67A6,0x67A1,0x6785,0x67B7,
+0x67EF,0x67B4,0x67EC,0x67B3,0x67E9,0x67B8,0x67E4,0x67DE,
+0x67DD,0x67E2,0x67EE,0x67B9,0x67CE,0x67C6,0x67E7,0x6A9C,
+0x681E,0x6846,0x6829,0x6840,0x684D,0x6832,0x684E,0x68B3,
+0x682B,0x6859,0x6863,0x6877,0x687F,0x689F,0x688F,0x68AD,
+0x6894,0x689D,0x689B,0x6883,0x6AAE,0x68B9,0x6874,0x68B5,
+0x68A0,0x68BA,0x690F,0x688D,0x687E,0x6901,0x68CA,0x6908,
+0x68D8,0x6922,0x6926,0x68E1,0x690C,0x68CD};
+
+/* page 52 0x5C21-0x5C7E */
+static uint16 tab_jisx0208_uni52[]={
+0x68D4,0x68E7,0x68D5,0x6936,0x6912,0x6904,0x68D7,0x68E3,
+0x6925,0x68F9,0x68E0,0x68EF,0x6928,0x692A,0x691A,0x6923,
+0x6921,0x68C6,0x6979,0x6977,0x695C,0x6978,0x696B,0x6954,
+0x697E,0x696E,0x6939,0x6974,0x693D,0x6959,0x6930,0x6961,
+0x695E,0x695D,0x6981,0x696A,0x69B2,0x69AE,0x69D0,0x69BF,
+0x69C1,0x69D3,0x69BE,0x69CE,0x5BE8,0x69CA,0x69DD,0x69BB,
+0x69C3,0x69A7,0x6A2E,0x6991,0x69A0,0x699C,0x6995,0x69B4,
+0x69DE,0x69E8,0x6A02,0x6A1B,0x69FF,0x6B0A,0x69F9,0x69F2,
+0x69E7,0x6A05,0x69B1,0x6A1E,0x69ED,0x6A14,0x69EB,0x6A0A,
+0x6A12,0x6AC1,0x6A23,0x6A13,0x6A44,0x6A0C,0x6A72,0x6A36,
+0x6A78,0x6A47,0x6A62,0x6A59,0x6A66,0x6A48,0x6A38,0x6A22,
+0x6A90,0x6A8D,0x6AA0,0x6A84,0x6AA2,0x6AA3};
+
+/* page 53 0x5D21-0x5D7E */
+static uint16 tab_jisx0208_uni53[]={
+0x6A97,0x8617,0x6ABB,0x6AC3,0x6AC2,0x6AB8,0x6AB3,0x6AAC,
+0x6ADE,0x6AD1,0x6ADF,0x6AAA,0x6ADA,0x6AEA,0x6AFB,0x6B05,
+0x8616,0x6AFA,0x6B12,0x6B16,0x9B31,0x6B1F,0x6B38,0x6B37,
+0x76DC,0x6B39,0x98EE,0x6B47,0x6B43,0x6B49,0x6B50,0x6B59,
+0x6B54,0x6B5B,0x6B5F,0x6B61,0x6B78,0x6B79,0x6B7F,0x6B80,
+0x6B84,0x6B83,0x6B8D,0x6B98,0x6B95,0x6B9E,0x6BA4,0x6BAA,
+0x6BAB,0x6BAF,0x6BB2,0x6BB1,0x6BB3,0x6BB7,0x6BBC,0x6BC6,
+0x6BCB,0x6BD3,0x6BDF,0x6BEC,0x6BEB,0x6BF3,0x6BEF,0x9EBE,
+0x6C08,0x6C13,0x6C14,0x6C1B,0x6C24,0x6C23,0x6C5E,0x6C55,
+0x6C62,0x6C6A,0x6C82,0x6C8D,0x6C9A,0x6C81,0x6C9B,0x6C7E,
+0x6C68,0x6C73,0x6C92,0x6C90,0x6CC4,0x6CF1,0x6CD3,0x6CBD,
+0x6CD7,0x6CC5,0x6CDD,0x6CAE,0x6CB1,0x6CBE};
+
+/* page 54 0x5E21-0x5E7E */
+static uint16 tab_jisx0208_uni54[]={
+0x6CBA,0x6CDB,0x6CEF,0x6CD9,0x6CEA,0x6D1F,0x884D,0x6D36,
+0x6D2B,0x6D3D,0x6D38,0x6D19,0x6D35,0x6D33,0x6D12,0x6D0C,
+0x6D63,0x6D93,0x6D64,0x6D5A,0x6D79,0x6D59,0x6D8E,0x6D95,
+0x6FE4,0x6D85,0x6DF9,0x6E15,0x6E0A,0x6DB5,0x6DC7,0x6DE6,
+0x6DB8,0x6DC6,0x6DEC,0x6DDE,0x6DCC,0x6DE8,0x6DD2,0x6DC5,
+0x6DFA,0x6DD9,0x6DE4,0x6DD5,0x6DEA,0x6DEE,0x6E2D,0x6E6E,
+0x6E2E,0x6E19,0x6E72,0x6E5F,0x6E3E,0x6E23,0x6E6B,0x6E2B,
+0x6E76,0x6E4D,0x6E1F,0x6E43,0x6E3A,0x6E4E,0x6E24,0x6EFF,
+0x6E1D,0x6E38,0x6E82,0x6EAA,0x6E98,0x6EC9,0x6EB7,0x6ED3,
+0x6EBD,0x6EAF,0x6EC4,0x6EB2,0x6ED4,0x6ED5,0x6E8F,0x6EA5,
+0x6EC2,0x6E9F,0x6F41,0x6F11,0x704C,0x6EEC,0x6EF8,0x6EFE,
+0x6F3F,0x6EF2,0x6F31,0x6EEF,0x6F32,0x6ECC};
+
+/* page 55 0x5F21-0x5F7E */
+static uint16 tab_jisx0208_uni55[]={
+0x6F3E,0x6F13,0x6EF7,0x6F86,0x6F7A,0x6F78,0x6F81,0x6F80,
+0x6F6F,0x6F5B,0x6FF3,0x6F6D,0x6F82,0x6F7C,0x6F58,0x6F8E,
+0x6F91,0x6FC2,0x6F66,0x6FB3,0x6FA3,0x6FA1,0x6FA4,0x6FB9,
+0x6FC6,0x6FAA,0x6FDF,0x6FD5,0x6FEC,0x6FD4,0x6FD8,0x6FF1,
+0x6FEE,0x6FDB,0x7009,0x700B,0x6FFA,0x7011,0x7001,0x700F,
+0x6FFE,0x701B,0x701A,0x6F74,0x701D,0x7018,0x701F,0x7030,
+0x703E,0x7032,0x7051,0x7063,0x7099,0x7092,0x70AF,0x70F1,
+0x70AC,0x70B8,0x70B3,0x70AE,0x70DF,0x70CB,0x70DD,0x70D9,
+0x7109,0x70FD,0x711C,0x7119,0x7165,0x7155,0x7188,0x7166,
+0x7162,0x714C,0x7156,0x716C,0x718F,0x71FB,0x7184,0x7195,
+0x71A8,0x71AC,0x71D7,0x71B9,0x71BE,0x71D2,0x71C9,0x71D4,
+0x71CE,0x71E0,0x71EC,0x71E7,0x71F5,0x71FC};
+
+/* page 56 0x6021-0x607E */
+static uint16 tab_jisx0208_uni56[]={
+0x71F9,0x71FF,0x720D,0x7210,0x721B,0x7228,0x722D,0x722C,
+0x7230,0x7232,0x723B,0x723C,0x723F,0x7240,0x7246,0x724B,
+0x7258,0x7274,0x727E,0x7282,0x7281,0x7287,0x7292,0x7296,
+0x72A2,0x72A7,0x72B9,0x72B2,0x72C3,0x72C6,0x72C4,0x72CE,
+0x72D2,0x72E2,0x72E0,0x72E1,0x72F9,0x72F7,0x500F,0x7317,
+0x730A,0x731C,0x7316,0x731D,0x7334,0x732F,0x7329,0x7325,
+0x733E,0x734E,0x734F,0x9ED8,0x7357,0x736A,0x7368,0x7370,
+0x7378,0x7375,0x737B,0x737A,0x73C8,0x73B3,0x73CE,0x73BB,
+0x73C0,0x73E5,0x73EE,0x73DE,0x74A2,0x7405,0x746F,0x7425,
+0x73F8,0x7432,0x743A,0x7455,0x743F,0x745F,0x7459,0x7441,
+0x745C,0x7469,0x7470,0x7463,0x746A,0x7476,0x747E,0x748B,
+0x749E,0x74A7,0x74CA,0x74CF,0x74D4,0x73F1};
+
+/* page 57 0x6121-0x617E */
+static uint16 tab_jisx0208_uni57[]={
+0x74E0,0x74E3,0x74E7,0x74E9,0x74EE,0x74F2,0x74F0,0x74F1,
+0x74F8,0x74F7,0x7504,0x7503,0x7505,0x750C,0x750E,0x750D,
+0x7515,0x7513,0x751E,0x7526,0x752C,0x753C,0x7544,0x754D,
+0x754A,0x7549,0x755B,0x7546,0x755A,0x7569,0x7564,0x7567,
+0x756B,0x756D,0x7578,0x7576,0x7586,0x7587,0x7574,0x758A,
+0x7589,0x7582,0x7594,0x759A,0x759D,0x75A5,0x75A3,0x75C2,
+0x75B3,0x75C3,0x75B5,0x75BD,0x75B8,0x75BC,0x75B1,0x75CD,
+0x75CA,0x75D2,0x75D9,0x75E3,0x75DE,0x75FE,0x75FF,0x75FC,
+0x7601,0x75F0,0x75FA,0x75F2,0x75F3,0x760B,0x760D,0x7609,
+0x761F,0x7627,0x7620,0x7621,0x7622,0x7624,0x7634,0x7630,
+0x763B,0x7647,0x7648,0x7646,0x765C,0x7658,0x7661,0x7662,
+0x7668,0x7669,0x766A,0x7667,0x766C,0x7670};
+
+/* page 58 0x6221-0x627E */
+static uint16 tab_jisx0208_uni58[]={
+0x7672,0x7676,0x7678,0x767C,0x7680,0x7683,0x7688,0x768B,
+0x768E,0x7696,0x7693,0x7699,0x769A,0x76B0,0x76B4,0x76B8,
+0x76B9,0x76BA,0x76C2,0x76CD,0x76D6,0x76D2,0x76DE,0x76E1,
+0x76E5,0x76E7,0x76EA,0x862F,0x76FB,0x7708,0x7707,0x7704,
+0x7729,0x7724,0x771E,0x7725,0x7726,0x771B,0x7737,0x7738,
+0x7747,0x775A,0x7768,0x776B,0x775B,0x7765,0x777F,0x777E,
+0x7779,0x778E,0x778B,0x7791,0x77A0,0x779E,0x77B0,0x77B6,
+0x77B9,0x77BF,0x77BC,0x77BD,0x77BB,0x77C7,0x77CD,0x77D7,
+0x77DA,0x77DC,0x77E3,0x77EE,0x77FC,0x780C,0x7812,0x7926,
+0x7820,0x792A,0x7845,0x788E,0x7874,0x7886,0x787C,0x789A,
+0x788C,0x78A3,0x78B5,0x78AA,0x78AF,0x78D1,0x78C6,0x78CB,
+0x78D4,0x78BE,0x78BC,0x78C5,0x78CA,0x78EC};
+
+/* page 59 0x6321-0x637E */
+static uint16 tab_jisx0208_uni59[]={
+0x78E7,0x78DA,0x78FD,0x78F4,0x7907,0x7912,0x7911,0x7919,
+0x792C,0x792B,0x7940,0x7960,0x7957,0x795F,0x795A,0x7955,
+0x7953,0x797A,0x797F,0x798A,0x799D,0x79A7,0x9F4B,0x79AA,
+0x79AE,0x79B3,0x79B9,0x79BA,0x79C9,0x79D5,0x79E7,0x79EC,
+0x79E1,0x79E3,0x7A08,0x7A0D,0x7A18,0x7A19,0x7A20,0x7A1F,
+0x7980,0x7A31,0x7A3B,0x7A3E,0x7A37,0x7A43,0x7A57,0x7A49,
+0x7A61,0x7A62,0x7A69,0x9F9D,0x7A70,0x7A79,0x7A7D,0x7A88,
+0x7A97,0x7A95,0x7A98,0x7A96,0x7AA9,0x7AC8,0x7AB0,0x7AB6,
+0x7AC5,0x7AC4,0x7ABF,0x9083,0x7AC7,0x7ACA,0x7ACD,0x7ACF,
+0x7AD5,0x7AD3,0x7AD9,0x7ADA,0x7ADD,0x7AE1,0x7AE2,0x7AE6,
+0x7AED,0x7AF0,0x7B02,0x7B0F,0x7B0A,0x7B06,0x7B33,0x7B18,
+0x7B19,0x7B1E,0x7B35,0x7B28,0x7B36,0x7B50};
+
+/* page 60 0x6421-0x647E */
+static uint16 tab_jisx0208_uni60[]={
+0x7B7A,0x7B04,0x7B4D,0x7B0B,0x7B4C,0x7B45,0x7B75,0x7B65,
+0x7B74,0x7B67,0x7B70,0x7B71,0x7B6C,0x7B6E,0x7B9D,0x7B98,
+0x7B9F,0x7B8D,0x7B9C,0x7B9A,0x7B8B,0x7B92,0x7B8F,0x7B5D,
+0x7B99,0x7BCB,0x7BC1,0x7BCC,0x7BCF,0x7BB4,0x7BC6,0x7BDD,
+0x7BE9,0x7C11,0x7C14,0x7BE6,0x7BE5,0x7C60,0x7C00,0x7C07,
+0x7C13,0x7BF3,0x7BF7,0x7C17,0x7C0D,0x7BF6,0x7C23,0x7C27,
+0x7C2A,0x7C1F,0x7C37,0x7C2B,0x7C3D,0x7C4C,0x7C43,0x7C54,
+0x7C4F,0x7C40,0x7C50,0x7C58,0x7C5F,0x7C64,0x7C56,0x7C65,
+0x7C6C,0x7C75,0x7C83,0x7C90,0x7CA4,0x7CAD,0x7CA2,0x7CAB,
+0x7CA1,0x7CA8,0x7CB3,0x7CB2,0x7CB1,0x7CAE,0x7CB9,0x7CBD,
+0x7CC0,0x7CC5,0x7CC2,0x7CD8,0x7CD2,0x7CDC,0x7CE2,0x9B3B,
+0x7CEF,0x7CF2,0x7CF4,0x7CF6,0x7CFA,0x7D06};
+
+/* page 61 0x6521-0x657E */
+static uint16 tab_jisx0208_uni61[]={
+0x7D02,0x7D1C,0x7D15,0x7D0A,0x7D45,0x7D4B,0x7D2E,0x7D32,
+0x7D3F,0x7D35,0x7D46,0x7D73,0x7D56,0x7D4E,0x7D72,0x7D68,
+0x7D6E,0x7D4F,0x7D63,0x7D93,0x7D89,0x7D5B,0x7D8F,0x7D7D,
+0x7D9B,0x7DBA,0x7DAE,0x7DA3,0x7DB5,0x7DC7,0x7DBD,0x7DAB,
+0x7E3D,0x7DA2,0x7DAF,0x7DDC,0x7DB8,0x7D9F,0x7DB0,0x7DD8,
+0x7DDD,0x7DE4,0x7DDE,0x7DFB,0x7DF2,0x7DE1,0x7E05,0x7E0A,
+0x7E23,0x7E21,0x7E12,0x7E31,0x7E1F,0x7E09,0x7E0B,0x7E22,
+0x7E46,0x7E66,0x7E3B,0x7E35,0x7E39,0x7E43,0x7E37,0x7E32,
+0x7E3A,0x7E67,0x7E5D,0x7E56,0x7E5E,0x7E59,0x7E5A,0x7E79,
+0x7E6A,0x7E69,0x7E7C,0x7E7B,0x7E83,0x7DD5,0x7E7D,0x8FAE,
+0x7E7F,0x7E88,0x7E89,0x7E8C,0x7E92,0x7E90,0x7E93,0x7E94,
+0x7E96,0x7E8E,0x7E9B,0x7E9C,0x7F38,0x7F3A};
+
+/* page 62 0x6621-0x667E */
+static uint16 tab_jisx0208_uni62[]={
+0x7F45,0x7F4C,0x7F4D,0x7F4E,0x7F50,0x7F51,0x7F55,0x7F54,
+0x7F58,0x7F5F,0x7F60,0x7F68,0x7F69,0x7F67,0x7F78,0x7F82,
+0x7F86,0x7F83,0x7F88,0x7F87,0x7F8C,0x7F94,0x7F9E,0x7F9D,
+0x7F9A,0x7FA3,0x7FAF,0x7FB2,0x7FB9,0x7FAE,0x7FB6,0x7FB8,
+0x8B71,0x7FC5,0x7FC6,0x7FCA,0x7FD5,0x7FD4,0x7FE1,0x7FE6,
+0x7FE9,0x7FF3,0x7FF9,0x98DC,0x8006,0x8004,0x800B,0x8012,
+0x8018,0x8019,0x801C,0x8021,0x8028,0x803F,0x803B,0x804A,
+0x8046,0x8052,0x8058,0x805A,0x805F,0x8062,0x8068,0x8073,
+0x8072,0x8070,0x8076,0x8079,0x807D,0x807F,0x8084,0x8086,
+0x8085,0x809B,0x8093,0x809A,0x80AD,0x5190,0x80AC,0x80DB,
+0x80E5,0x80D9,0x80DD,0x80C4,0x80DA,0x80D6,0x8109,0x80EF,
+0x80F1,0x811B,0x8129,0x8123,0x812F,0x814B};
+
+/* page 63 0x6721-0x677E */
+static uint16 tab_jisx0208_uni63[]={
+0x968B,0x8146,0x813E,0x8153,0x8151,0x80FC,0x8171,0x816E,
+0x8165,0x8166,0x8174,0x8183,0x8188,0x818A,0x8180,0x8182,
+0x81A0,0x8195,0x81A4,0x81A3,0x815F,0x8193,0x81A9,0x81B0,
+0x81B5,0x81BE,0x81B8,0x81BD,0x81C0,0x81C2,0x81BA,0x81C9,
+0x81CD,0x81D1,0x81D9,0x81D8,0x81C8,0x81DA,0x81DF,0x81E0,
+0x81E7,0x81FA,0x81FB,0x81FE,0x8201,0x8202,0x8205,0x8207,
+0x820A,0x820D,0x8210,0x8216,0x8229,0x822B,0x8238,0x8233,
+0x8240,0x8259,0x8258,0x825D,0x825A,0x825F,0x8264,0x8262,
+0x8268,0x826A,0x826B,0x822E,0x8271,0x8277,0x8278,0x827E,
+0x828D,0x8292,0x82AB,0x829F,0x82BB,0x82AC,0x82E1,0x82E3,
+0x82DF,0x82D2,0x82F4,0x82F3,0x82FA,0x8393,0x8303,0x82FB,
+0x82F9,0x82DE,0x8306,0x82DC,0x8309,0x82D9};
+
+/* page 64 0x6821-0x687E */
+static uint16 tab_jisx0208_uni64[]={
+0x8335,0x8334,0x8316,0x8332,0x8331,0x8340,0x8339,0x8350,
+0x8345,0x832F,0x832B,0x8317,0x8318,0x8385,0x839A,0x83AA,
+0x839F,0x83A2,0x8396,0x8323,0x838E,0x8387,0x838A,0x837C,
+0x83B5,0x8373,0x8375,0x83A0,0x8389,0x83A8,0x83F4,0x8413,
+0x83EB,0x83CE,0x83FD,0x8403,0x83D8,0x840B,0x83C1,0x83F7,
+0x8407,0x83E0,0x83F2,0x840D,0x8422,0x8420,0x83BD,0x8438,
+0x8506,0x83FB,0x846D,0x842A,0x843C,0x855A,0x8484,0x8477,
+0x846B,0x84AD,0x846E,0x8482,0x8469,0x8446,0x842C,0x846F,
+0x8479,0x8435,0x84CA,0x8462,0x84B9,0x84BF,0x849F,0x84D9,
+0x84CD,0x84BB,0x84DA,0x84D0,0x84C1,0x84C6,0x84D6,0x84A1,
+0x8521,0x84FF,0x84F4,0x8517,0x8518,0x852C,0x851F,0x8515,
+0x8514,0x84FC,0x8540,0x8563,0x8558,0x8548};
+
+/* page 65 0x6921-0x697E */
+static uint16 tab_jisx0208_uni65[]={
+0x8541,0x8602,0x854B,0x8555,0x8580,0x85A4,0x8588,0x8591,
+0x858A,0x85A8,0x856D,0x8594,0x859B,0x85EA,0x8587,0x859C,
+0x8577,0x857E,0x8590,0x85C9,0x85BA,0x85CF,0x85B9,0x85D0,
+0x85D5,0x85DD,0x85E5,0x85DC,0x85F9,0x860A,0x8613,0x860B,
+0x85FE,0x85FA,0x8606,0x8622,0x861A,0x8630,0x863F,0x864D,
+0x4E55,0x8654,0x865F,0x8667,0x8671,0x8693,0x86A3,0x86A9,
+0x86AA,0x868B,0x868C,0x86B6,0x86AF,0x86C4,0x86C6,0x86B0,
+0x86C9,0x8823,0x86AB,0x86D4,0x86DE,0x86E9,0x86EC,0x86DF,
+0x86DB,0x86EF,0x8712,0x8706,0x8708,0x8700,0x8703,0x86FB,
+0x8711,0x8709,0x870D,0x86F9,0x870A,0x8734,0x873F,0x8737,
+0x873B,0x8725,0x8729,0x871A,0x8760,0x875F,0x8778,0x874C,
+0x874E,0x8774,0x8757,0x8768,0x876E,0x8759};
+
+/* page 66 0x6A21-0x6A7E */
+static uint16 tab_jisx0208_uni66[]={
+0x8753,0x8763,0x876A,0x8805,0x87A2,0x879F,0x8782,0x87AF,
+0x87CB,0x87BD,0x87C0,0x87D0,0x96D6,0x87AB,0x87C4,0x87B3,
+0x87C7,0x87C6,0x87BB,0x87EF,0x87F2,0x87E0,0x880F,0x880D,
+0x87FE,0x87F6,0x87F7,0x880E,0x87D2,0x8811,0x8816,0x8815,
+0x8822,0x8821,0x8831,0x8836,0x8839,0x8827,0x883B,0x8844,
+0x8842,0x8852,0x8859,0x885E,0x8862,0x886B,0x8881,0x887E,
+0x889E,0x8875,0x887D,0x88B5,0x8872,0x8882,0x8897,0x8892,
+0x88AE,0x8899,0x88A2,0x888D,0x88A4,0x88B0,0x88BF,0x88B1,
+0x88C3,0x88C4,0x88D4,0x88D8,0x88D9,0x88DD,0x88F9,0x8902,
+0x88FC,0x88F4,0x88E8,0x88F2,0x8904,0x890C,0x890A,0x8913,
+0x8943,0x891E,0x8925,0x892A,0x892B,0x8941,0x8944,0x893B,
+0x8936,0x8938,0x894C,0x891D,0x8960,0x895E};
+
+/* page 67 0x6B21-0x6B7E */
+static uint16 tab_jisx0208_uni67[]={
+0x8966,0x8964,0x896D,0x896A,0x896F,0x8974,0x8977,0x897E,
+0x8983,0x8988,0x898A,0x8993,0x8998,0x89A1,0x89A9,0x89A6,
+0x89AC,0x89AF,0x89B2,0x89BA,0x89BD,0x89BF,0x89C0,0x89DA,
+0x89DC,0x89DD,0x89E7,0x89F4,0x89F8,0x8A03,0x8A16,0x8A10,
+0x8A0C,0x8A1B,0x8A1D,0x8A25,0x8A36,0x8A41,0x8A5B,0x8A52,
+0x8A46,0x8A48,0x8A7C,0x8A6D,0x8A6C,0x8A62,0x8A85,0x8A82,
+0x8A84,0x8AA8,0x8AA1,0x8A91,0x8AA5,0x8AA6,0x8A9A,0x8AA3,
+0x8AC4,0x8ACD,0x8AC2,0x8ADA,0x8AEB,0x8AF3,0x8AE7,0x8AE4,
+0x8AF1,0x8B14,0x8AE0,0x8AE2,0x8AF7,0x8ADE,0x8ADB,0x8B0C,
+0x8B07,0x8B1A,0x8AE1,0x8B16,0x8B10,0x8B17,0x8B20,0x8B33,
+0x97AB,0x8B26,0x8B2B,0x8B3E,0x8B28,0x8B41,0x8B4C,0x8B4F,
+0x8B4E,0x8B49,0x8B56,0x8B5B,0x8B5A,0x8B6B};
+
+/* page 68 0x6C21-0x6C7E */
+static uint16 tab_jisx0208_uni68[]={
+0x8B5F,0x8B6C,0x8B6F,0x8B74,0x8B7D,0x8B80,0x8B8C,0x8B8E,
+0x8B92,0x8B93,0x8B96,0x8B99,0x8B9A,0x8C3A,0x8C41,0x8C3F,
+0x8C48,0x8C4C,0x8C4E,0x8C50,0x8C55,0x8C62,0x8C6C,0x8C78,
+0x8C7A,0x8C82,0x8C89,0x8C85,0x8C8A,0x8C8D,0x8C8E,0x8C94,
+0x8C7C,0x8C98,0x621D,0x8CAD,0x8CAA,0x8CBD,0x8CB2,0x8CB3,
+0x8CAE,0x8CB6,0x8CC8,0x8CC1,0x8CE4,0x8CE3,0x8CDA,0x8CFD,
+0x8CFA,0x8CFB,0x8D04,0x8D05,0x8D0A,0x8D07,0x8D0F,0x8D0D,
+0x8D10,0x9F4E,0x8D13,0x8CCD,0x8D14,0x8D16,0x8D67,0x8D6D,
+0x8D71,0x8D73,0x8D81,0x8D99,0x8DC2,0x8DBE,0x8DBA,0x8DCF,
+0x8DDA,0x8DD6,0x8DCC,0x8DDB,0x8DCB,0x8DEA,0x8DEB,0x8DDF,
+0x8DE3,0x8DFC,0x8E08,0x8E09,0x8DFF,0x8E1D,0x8E1E,0x8E10,
+0x8E1F,0x8E42,0x8E35,0x8E30,0x8E34,0x8E4A};
+
+/* page 69 0x6D21-0x6D7E */
+static uint16 tab_jisx0208_uni69[]={
+0x8E47,0x8E49,0x8E4C,0x8E50,0x8E48,0x8E59,0x8E64,0x8E60,
+0x8E2A,0x8E63,0x8E55,0x8E76,0x8E72,0x8E7C,0x8E81,0x8E87,
+0x8E85,0x8E84,0x8E8B,0x8E8A,0x8E93,0x8E91,0x8E94,0x8E99,
+0x8EAA,0x8EA1,0x8EAC,0x8EB0,0x8EC6,0x8EB1,0x8EBE,0x8EC5,
+0x8EC8,0x8ECB,0x8EDB,0x8EE3,0x8EFC,0x8EFB,0x8EEB,0x8EFE,
+0x8F0A,0x8F05,0x8F15,0x8F12,0x8F19,0x8F13,0x8F1C,0x8F1F,
+0x8F1B,0x8F0C,0x8F26,0x8F33,0x8F3B,0x8F39,0x8F45,0x8F42,
+0x8F3E,0x8F4C,0x8F49,0x8F46,0x8F4E,0x8F57,0x8F5C,0x8F62,
+0x8F63,0x8F64,0x8F9C,0x8F9F,0x8FA3,0x8FAD,0x8FAF,0x8FB7,
+0x8FDA,0x8FE5,0x8FE2,0x8FEA,0x8FEF,0x9087,0x8FF4,0x9005,
+0x8FF9,0x8FFA,0x9011,0x9015,0x9021,0x900D,0x901E,0x9016,
+0x900B,0x9027,0x9036,0x9035,0x9039,0x8FF8};
+
+/* page 70 0x6E21-0x6E7E */
+static uint16 tab_jisx0208_uni70[]={
+0x904F,0x9050,0x9051,0x9052,0x900E,0x9049,0x903E,0x9056,
+0x9058,0x905E,0x9068,0x906F,0x9076,0x96A8,0x9072,0x9082,
+0x907D,0x9081,0x9080,0x908A,0x9089,0x908F,0x90A8,0x90AF,
+0x90B1,0x90B5,0x90E2,0x90E4,0x6248,0x90DB,0x9102,0x9112,
+0x9119,0x9132,0x9130,0x914A,0x9156,0x9158,0x9163,0x9165,
+0x9169,0x9173,0x9172,0x918B,0x9189,0x9182,0x91A2,0x91AB,
+0x91AF,0x91AA,0x91B5,0x91B4,0x91BA,0x91C0,0x91C1,0x91C9,
+0x91CB,0x91D0,0x91D6,0x91DF,0x91E1,0x91DB,0x91FC,0x91F5,
+0x91F6,0x921E,0x91FF,0x9214,0x922C,0x9215,0x9211,0x925E,
+0x9257,0x9245,0x9249,0x9264,0x9248,0x9295,0x923F,0x924B,
+0x9250,0x929C,0x9296,0x9293,0x929B,0x925A,0x92CF,0x92B9,
+0x92B7,0x92E9,0x930F,0x92FA,0x9344,0x932E};
+
+/* page 71 0x6F21-0x6F7E */
+static uint16 tab_jisx0208_uni71[]={
+0x9319,0x9322,0x931A,0x9323,0x933A,0x9335,0x933B,0x935C,
+0x9360,0x937C,0x936E,0x9356,0x93B0,0x93AC,0x93AD,0x9394,
+0x93B9,0x93D6,0x93D7,0x93E8,0x93E5,0x93D8,0x93C3,0x93DD,
+0x93D0,0x93C8,0x93E4,0x941A,0x9414,0x9413,0x9403,0x9407,
+0x9410,0x9436,0x942B,0x9435,0x9421,0x943A,0x9441,0x9452,
+0x9444,0x945B,0x9460,0x9462,0x945E,0x946A,0x9229,0x9470,
+0x9475,0x9477,0x947D,0x945A,0x947C,0x947E,0x9481,0x947F,
+0x9582,0x9587,0x958A,0x9594,0x9596,0x9598,0x9599,0x95A0,
+0x95A8,0x95A7,0x95AD,0x95BC,0x95BB,0x95B9,0x95BE,0x95CA,
+0x6FF6,0x95C3,0x95CD,0x95CC,0x95D5,0x95D4,0x95D6,0x95DC,
+0x95E1,0x95E5,0x95E2,0x9621,0x9628,0x962E,0x962F,0x9642,
+0x964C,0x964F,0x964B,0x9677,0x965C,0x965E};
+
+/* page 72 0x7021-0x707E */
+static uint16 tab_jisx0208_uni72[]={
+0x965D,0x965F,0x9666,0x9672,0x966C,0x968D,0x9698,0x9695,
+0x9697,0x96AA,0x96A7,0x96B1,0x96B2,0x96B0,0x96B4,0x96B6,
+0x96B8,0x96B9,0x96CE,0x96CB,0x96C9,0x96CD,0x894D,0x96DC,
+0x970D,0x96D5,0x96F9,0x9704,0x9706,0x9708,0x9713,0x970E,
+0x9711,0x970F,0x9716,0x9719,0x9724,0x972A,0x9730,0x9739,
+0x973D,0x973E,0x9744,0x9746,0x9748,0x9742,0x9749,0x975C,
+0x9760,0x9764,0x9766,0x9768,0x52D2,0x976B,0x9771,0x9779,
+0x9785,0x977C,0x9781,0x977A,0x9786,0x978B,0x978F,0x9790,
+0x979C,0x97A8,0x97A6,0x97A3,0x97B3,0x97B4,0x97C3,0x97C6,
+0x97C8,0x97CB,0x97DC,0x97ED,0x9F4F,0x97F2,0x7ADF,0x97F6,
+0x97F5,0x980F,0x980C,0x9838,0x9824,0x9821,0x9837,0x983D,
+0x9846,0x984F,0x984B,0x986B,0x986F,0x9870};
+
+/* page 73 0x7121-0x717E */
+static uint16 tab_jisx0208_uni73[]={
+0x9871,0x9874,0x9873,0x98AA,0x98AF,0x98B1,0x98B6,0x98C4,
+0x98C3,0x98C6,0x98E9,0x98EB,0x9903,0x9909,0x9912,0x9914,
+0x9918,0x9921,0x991D,0x991E,0x9924,0x9920,0x992C,0x992E,
+0x993D,0x993E,0x9942,0x9949,0x9945,0x9950,0x994B,0x9951,
+0x9952,0x994C,0x9955,0x9997,0x9998,0x99A5,0x99AD,0x99AE,
+0x99BC,0x99DF,0x99DB,0x99DD,0x99D8,0x99D1,0x99ED,0x99EE,
+0x99F1,0x99F2,0x99FB,0x99F8,0x9A01,0x9A0F,0x9A05,0x99E2,
+0x9A19,0x9A2B,0x9A37,0x9A45,0x9A42,0x9A40,0x9A43,0x9A3E,
+0x9A55,0x9A4D,0x9A5B,0x9A57,0x9A5F,0x9A62,0x9A65,0x9A64,
+0x9A69,0x9A6B,0x9A6A,0x9AAD,0x9AB0,0x9ABC,0x9AC0,0x9ACF,
+0x9AD1,0x9AD3,0x9AD4,0x9ADE,0x9ADF,0x9AE2,0x9AE3,0x9AE6,
+0x9AEF,0x9AEB,0x9AEE,0x9AF4,0x9AF1,0x9AF7};
+
+/* page 74 0x7221-0x727E */
+static uint16 tab_jisx0208_uni74[]={
+0x9AFB,0x9B06,0x9B18,0x9B1A,0x9B1F,0x9B22,0x9B23,0x9B25,
+0x9B27,0x9B28,0x9B29,0x9B2A,0x9B2E,0x9B2F,0x9B32,0x9B44,
+0x9B43,0x9B4F,0x9B4D,0x9B4E,0x9B51,0x9B58,0x9B74,0x9B93,
+0x9B83,0x9B91,0x9B96,0x9B97,0x9B9F,0x9BA0,0x9BA8,0x9BB4,
+0x9BC0,0x9BCA,0x9BB9,0x9BC6,0x9BCF,0x9BD1,0x9BD2,0x9BE3,
+0x9BE2,0x9BE4,0x9BD4,0x9BE1,0x9C3A,0x9BF2,0x9BF1,0x9BF0,
+0x9C15,0x9C14,0x9C09,0x9C13,0x9C0C,0x9C06,0x9C08,0x9C12,
+0x9C0A,0x9C04,0x9C2E,0x9C1B,0x9C25,0x9C24,0x9C21,0x9C30,
+0x9C47,0x9C32,0x9C46,0x9C3E,0x9C5A,0x9C60,0x9C67,0x9C76,
+0x9C78,0x9CE7,0x9CEC,0x9CF0,0x9D09,0x9D08,0x9CEB,0x9D03,
+0x9D06,0x9D2A,0x9D26,0x9DAF,0x9D23,0x9D1F,0x9D44,0x9D15,
+0x9D12,0x9D41,0x9D3F,0x9D3E,0x9D46,0x9D48};
+
+/* page 75 0x7321-0x737E */
+static uint16 tab_jisx0208_uni75[]={
+0x9D5D,0x9D5E,0x9D64,0x9D51,0x9D50,0x9D59,0x9D72,0x9D89,
+0x9D87,0x9DAB,0x9D6F,0x9D7A,0x9D9A,0x9DA4,0x9DA9,0x9DB2,
+0x9DC4,0x9DC1,0x9DBB,0x9DB8,0x9DBA,0x9DC6,0x9DCF,0x9DC2,
+0x9DD9,0x9DD3,0x9DF8,0x9DE6,0x9DED,0x9DEF,0x9DFD,0x9E1A,
+0x9E1B,0x9E1E,0x9E75,0x9E79,0x9E7D,0x9E81,0x9E88,0x9E8B,
+0x9E8C,0x9E92,0x9E95,0x9E91,0x9E9D,0x9EA5,0x9EA9,0x9EB8,
+0x9EAA,0x9EAD,0x9761,0x9ECC,0x9ECE,0x9ECF,0x9ED0,0x9ED4,
+0x9EDC,0x9EDE,0x9EDD,0x9EE0,0x9EE5,0x9EE8,0x9EEF,0x9EF4,
+0x9EF6,0x9EF7,0x9EF9,0x9EFB,0x9EFC,0x9EFD,0x9F07,0x9F08,
+0x76B7,0x9F15,0x9F21,0x9F2C,0x9F3E,0x9F4A,0x9F52,0x9F54,
+0x9F63,0x9F5F,0x9F60,0x9F61,0x9F66,0x9F67,0x9F6C,0x9F6A,
+0x9F77,0x9F72,0x9F76,0x9F95,0x9F9C,0x9FA0};
+
+/* page 76 0x7421-0x7426 */
+static uint16 tab_jisx0208_uni76[]={
+0x582F,0x69C7,0x9059,0x7464,0x51DC,0x7199};
+
+static int
+my_jisx0208_uni_onechar(int code){
+ if ((code>=0x2121)&&(code<=0x217E))
+ return(tab_jisx0208_uni0[code-0x2121]);
+ if ((code>=0x2221)&&(code<=0x227E))
+ return(tab_jisx0208_uni1[code-0x2221]);
+ if ((code>=0x2330)&&(code<=0x237A))
+ return(tab_jisx0208_uni2[code-0x2330]);
+ if ((code>=0x2421)&&(code<=0x2473))
+ return(tab_jisx0208_uni3[code-0x2421]);
+ if ((code>=0x2521)&&(code<=0x2576))
+ return(tab_jisx0208_uni4[code-0x2521]);
+ if ((code>=0x2621)&&(code<=0x2658))
+ return(tab_jisx0208_uni5[code-0x2621]);
+ if ((code>=0x2721)&&(code<=0x2771))
+ return(tab_jisx0208_uni6[code-0x2721]);
+ if ((code>=0x2821)&&(code<=0x2840))
+ return(tab_jisx0208_uni7[code-0x2821]);
+ if ((code>=0x3021)&&(code<=0x307E))
+ return(tab_jisx0208_uni8[code-0x3021]);
+ if ((code>=0x3121)&&(code<=0x317E))
+ return(tab_jisx0208_uni9[code-0x3121]);
+ if ((code>=0x3221)&&(code<=0x327E))
+ return(tab_jisx0208_uni10[code-0x3221]);
+ if ((code>=0x3321)&&(code<=0x337E))
+ return(tab_jisx0208_uni11[code-0x3321]);
+ if ((code>=0x3421)&&(code<=0x347E))
+ return(tab_jisx0208_uni12[code-0x3421]);
+ if ((code>=0x3521)&&(code<=0x357E))
+ return(tab_jisx0208_uni13[code-0x3521]);
+ if ((code>=0x3621)&&(code<=0x367E))
+ return(tab_jisx0208_uni14[code-0x3621]);
+ if ((code>=0x3721)&&(code<=0x377E))
+ return(tab_jisx0208_uni15[code-0x3721]);
+ if ((code>=0x3821)&&(code<=0x387E))
+ return(tab_jisx0208_uni16[code-0x3821]);
+ if ((code>=0x3921)&&(code<=0x397E))
+ return(tab_jisx0208_uni17[code-0x3921]);
+ if ((code>=0x3A21)&&(code<=0x3A7E))
+ return(tab_jisx0208_uni18[code-0x3A21]);
+ if ((code>=0x3B21)&&(code<=0x3B7E))
+ return(tab_jisx0208_uni19[code-0x3B21]);
+ if ((code>=0x3C21)&&(code<=0x3C7E))
+ return(tab_jisx0208_uni20[code-0x3C21]);
+ if ((code>=0x3D21)&&(code<=0x3D7E))
+ return(tab_jisx0208_uni21[code-0x3D21]);
+ if ((code>=0x3E21)&&(code<=0x3E7E))
+ return(tab_jisx0208_uni22[code-0x3E21]);
+ if ((code>=0x3F21)&&(code<=0x3F7E))
+ return(tab_jisx0208_uni23[code-0x3F21]);
+ if ((code>=0x4021)&&(code<=0x407E))
+ return(tab_jisx0208_uni24[code-0x4021]);
+ if ((code>=0x4121)&&(code<=0x417E))
+ return(tab_jisx0208_uni25[code-0x4121]);
+ if ((code>=0x4221)&&(code<=0x427E))
+ return(tab_jisx0208_uni26[code-0x4221]);
+ if ((code>=0x4321)&&(code<=0x437E))
+ return(tab_jisx0208_uni27[code-0x4321]);
+ if ((code>=0x4421)&&(code<=0x447E))
+ return(tab_jisx0208_uni28[code-0x4421]);
+ if ((code>=0x4521)&&(code<=0x457E))
+ return(tab_jisx0208_uni29[code-0x4521]);
+ if ((code>=0x4621)&&(code<=0x467E))
+ return(tab_jisx0208_uni30[code-0x4621]);
+ if ((code>=0x4721)&&(code<=0x477E))
+ return(tab_jisx0208_uni31[code-0x4721]);
+ if ((code>=0x4821)&&(code<=0x487E))
+ return(tab_jisx0208_uni32[code-0x4821]);
+ if ((code>=0x4921)&&(code<=0x497E))
+ return(tab_jisx0208_uni33[code-0x4921]);
+ if ((code>=0x4A21)&&(code<=0x4A7E))
+ return(tab_jisx0208_uni34[code-0x4A21]);
+ if ((code>=0x4B21)&&(code<=0x4B7E))
+ return(tab_jisx0208_uni35[code-0x4B21]);
+ if ((code>=0x4C21)&&(code<=0x4C7E))
+ return(tab_jisx0208_uni36[code-0x4C21]);
+ if ((code>=0x4D21)&&(code<=0x4D7E))
+ return(tab_jisx0208_uni37[code-0x4D21]);
+ if ((code>=0x4E21)&&(code<=0x4E7E))
+ return(tab_jisx0208_uni38[code-0x4E21]);
+ if ((code>=0x4F21)&&(code<=0x4F53))
+ return(tab_jisx0208_uni39[code-0x4F21]);
+ if ((code>=0x5021)&&(code<=0x507E))
+ return(tab_jisx0208_uni40[code-0x5021]);
+ if ((code>=0x5121)&&(code<=0x517E))
+ return(tab_jisx0208_uni41[code-0x5121]);
+ if ((code>=0x5221)&&(code<=0x527E))
+ return(tab_jisx0208_uni42[code-0x5221]);
+ if ((code>=0x5321)&&(code<=0x537E))
+ return(tab_jisx0208_uni43[code-0x5321]);
+ if ((code>=0x5421)&&(code<=0x547E))
+ return(tab_jisx0208_uni44[code-0x5421]);
+ if ((code>=0x5521)&&(code<=0x557E))
+ return(tab_jisx0208_uni45[code-0x5521]);
+ if ((code>=0x5621)&&(code<=0x567E))
+ return(tab_jisx0208_uni46[code-0x5621]);
+ if ((code>=0x5721)&&(code<=0x577E))
+ return(tab_jisx0208_uni47[code-0x5721]);
+ if ((code>=0x5821)&&(code<=0x587E))
+ return(tab_jisx0208_uni48[code-0x5821]);
+ if ((code>=0x5921)&&(code<=0x597E))
+ return(tab_jisx0208_uni49[code-0x5921]);
+ if ((code>=0x5A21)&&(code<=0x5A7E))
+ return(tab_jisx0208_uni50[code-0x5A21]);
+ if ((code>=0x5B21)&&(code<=0x5B7E))
+ return(tab_jisx0208_uni51[code-0x5B21]);
+ if ((code>=0x5C21)&&(code<=0x5C7E))
+ return(tab_jisx0208_uni52[code-0x5C21]);
+ if ((code>=0x5D21)&&(code<=0x5D7E))
+ return(tab_jisx0208_uni53[code-0x5D21]);
+ if ((code>=0x5E21)&&(code<=0x5E7E))
+ return(tab_jisx0208_uni54[code-0x5E21]);
+ if ((code>=0x5F21)&&(code<=0x5F7E))
+ return(tab_jisx0208_uni55[code-0x5F21]);
+ if ((code>=0x6021)&&(code<=0x607E))
+ return(tab_jisx0208_uni56[code-0x6021]);
+ if ((code>=0x6121)&&(code<=0x617E))
+ return(tab_jisx0208_uni57[code-0x6121]);
+ if ((code>=0x6221)&&(code<=0x627E))
+ return(tab_jisx0208_uni58[code-0x6221]);
+ if ((code>=0x6321)&&(code<=0x637E))
+ return(tab_jisx0208_uni59[code-0x6321]);
+ if ((code>=0x6421)&&(code<=0x647E))
+ return(tab_jisx0208_uni60[code-0x6421]);
+ if ((code>=0x6521)&&(code<=0x657E))
+ return(tab_jisx0208_uni61[code-0x6521]);
+ if ((code>=0x6621)&&(code<=0x667E))
+ return(tab_jisx0208_uni62[code-0x6621]);
+ if ((code>=0x6721)&&(code<=0x677E))
+ return(tab_jisx0208_uni63[code-0x6721]);
+ if ((code>=0x6821)&&(code<=0x687E))
+ return(tab_jisx0208_uni64[code-0x6821]);
+ if ((code>=0x6921)&&(code<=0x697E))
+ return(tab_jisx0208_uni65[code-0x6921]);
+ if ((code>=0x6A21)&&(code<=0x6A7E))
+ return(tab_jisx0208_uni66[code-0x6A21]);
+ if ((code>=0x6B21)&&(code<=0x6B7E))
+ return(tab_jisx0208_uni67[code-0x6B21]);
+ if ((code>=0x6C21)&&(code<=0x6C7E))
+ return(tab_jisx0208_uni68[code-0x6C21]);
+ if ((code>=0x6D21)&&(code<=0x6D7E))
+ return(tab_jisx0208_uni69[code-0x6D21]);
+ if ((code>=0x6E21)&&(code<=0x6E7E))
+ return(tab_jisx0208_uni70[code-0x6E21]);
+ if ((code>=0x6F21)&&(code<=0x6F7E))
+ return(tab_jisx0208_uni71[code-0x6F21]);
+ if ((code>=0x7021)&&(code<=0x707E))
+ return(tab_jisx0208_uni72[code-0x7021]);
+ if ((code>=0x7121)&&(code<=0x717E))
+ return(tab_jisx0208_uni73[code-0x7121]);
+ if ((code>=0x7221)&&(code<=0x727E))
+ return(tab_jisx0208_uni74[code-0x7221]);
+ if ((code>=0x7321)&&(code<=0x737E))
+ return(tab_jisx0208_uni75[code-0x7321]);
+ if ((code>=0x7421)&&(code<=0x7426))
+ return(tab_jisx0208_uni76[code-0x7421]);
+ return(0);
+}
+
+
+/* page 0 0x005C-0x005C */
+static uint16 tab_uni_jisx02080[]={
+0x2140};
+
+/* page 1 0x00A2-0x00B6 */
+static uint16 tab_uni_jisx02081[]={
+0x2171,0x2172, 0, 0, 0,0x2178,0x212F, 0,
+ 0, 0,0x224C, 0, 0, 0,0x216B,0x215E,
+ 0, 0,0x212D, 0,0x2279};
+
+/* page 2 0x00D7-0x00D7 */
+static uint16 tab_uni_jisx02082[]={
+0x215F};
+
+/* page 3 0x00F7-0x00F7 */
+static uint16 tab_uni_jisx02083[]={
+0x2160};
+
+/* page 4 0x0391-0x03C9 */
+static uint16 tab_uni_jisx02084[]={
+0x2621,0x2622,0x2623,0x2624,0x2625,0x2626,0x2627,0x2628,
+0x2629,0x262A,0x262B,0x262C,0x262D,0x262E,0x262F,0x2630,
+0x2631, 0,0x2632,0x2633,0x2634,0x2635,0x2636,0x2637,
+0x2638, 0, 0, 0, 0, 0, 0, 0,
+0x2641,0x2642,0x2643,0x2644,0x2645,0x2646,0x2647,0x2648,
+0x2649,0x264A,0x264B,0x264C,0x264D,0x264E,0x264F,0x2650,
+0x2651, 0,0x2652,0x2653,0x2654,0x2655,0x2656,0x2657,
+0x2658};
+
+/* page 5 0x0401-0x0451 */
+static uint16 tab_uni_jisx02085[]={
+0x2727, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x2721,
+0x2722,0x2723,0x2724,0x2725,0x2726,0x2728,0x2729,0x272A,
+0x272B,0x272C,0x272D,0x272E,0x272F,0x2730,0x2731,0x2732,
+0x2733,0x2734,0x2735,0x2736,0x2737,0x2738,0x2739,0x273A,
+0x273B,0x273C,0x273D,0x273E,0x273F,0x2740,0x2741,0x2751,
+0x2752,0x2753,0x2754,0x2755,0x2756,0x2758,0x2759,0x275A,
+0x275B,0x275C,0x275D,0x275E,0x275F,0x2760,0x2761,0x2762,
+0x2763,0x2764,0x2765,0x2766,0x2767,0x2768,0x2769,0x276A,
+0x276B,0x276C,0x276D,0x276E,0x276F,0x2770,0x2771, 0,
+0x2757};
+
+/* page 6 0x2010-0x203B */
+static uint16 tab_uni_jisx02086[]={
+0x213E, 0, 0, 0, 0,0x213D,0x2142, 0,
+0x2146,0x2147, 0, 0,0x2148,0x2149, 0, 0,
+0x2277,0x2278, 0, 0, 0,0x2145,0x2144, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x2273, 0,0x216C,0x216D, 0, 0, 0, 0,
+ 0, 0, 0,0x2228};
+
+/* page 7 0x2103-0x2103 */
+static uint16 tab_uni_jisx02087[]={
+0x216E};
+
+/* page 8 0x212B-0x212B */
+static uint16 tab_uni_jisx02088[]={
+0x2272};
+
+/* page 9 0x2190-0x2193 */
+static uint16 tab_uni_jisx02089[]={
+0x222B,0x222C,0x222A,0x222D};
+
+/* page 10 0x21D2-0x21D4 */
+static uint16 tab_uni_jisx020810[]={
+0x224D, 0,0x224E};
+
+/* page 11 0x2200-0x223D */
+static uint16 tab_uni_jisx020811[]={
+0x224F, 0,0x225F,0x2250, 0, 0, 0,0x2260,
+0x223A, 0, 0,0x223B, 0, 0, 0, 0,
+ 0, 0,0x215D, 0, 0, 0, 0, 0,
+ 0, 0,0x2265, 0, 0,0x2267,0x2167, 0,
+0x225C, 0, 0, 0, 0, 0, 0,0x224A,
+0x224B,0x2241,0x2240,0x2269,0x226A, 0, 0, 0,
+ 0, 0, 0, 0,0x2168,0x2268, 0, 0,
+ 0, 0, 0, 0, 0,0x2266};
+
+/* page 12 0x2252-0x226B */
+static uint16 tab_uni_jisx020812[]={
+0x2262, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x2162,0x2261,
+ 0, 0, 0, 0,0x2165,0x2166, 0, 0,
+0x2263,0x2264};
+
+/* page 13 0x2282-0x2287 */
+static uint16 tab_uni_jisx020813[]={
+0x223E,0x223F, 0, 0,0x223C,0x223D};
+
+/* page 14 0x22A5-0x22A5 */
+static uint16 tab_uni_jisx020814[]={
+0x225D};
+
+/* page 15 0x2312-0x2312 */
+static uint16 tab_uni_jisx020815[]={
+0x225E};
+
+/* page 16 0x2500-0x254B */
+static uint16 tab_uni_jisx020816[]={
+0x2821,0x282C,0x2822,0x282D, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x2823, 0, 0,0x282E,
+0x2824, 0, 0,0x282F,0x2826, 0, 0,0x2831,
+0x2825, 0, 0,0x2830,0x2827,0x283C, 0, 0,
+0x2837, 0, 0,0x2832,0x2829,0x283E, 0, 0,
+0x2839, 0, 0,0x2834,0x2828, 0, 0,0x2838,
+0x283D, 0, 0,0x2833,0x282A, 0, 0,0x283A,
+0x283F, 0, 0,0x2835,0x282B, 0, 0,0x283B,
+ 0, 0,0x2840, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x2836};
+
+/* page 17 0x25A0-0x25CF */
+static uint16 tab_uni_jisx020817[]={
+0x2223,0x2222, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x2225,0x2224, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x2227,0x2226, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x2221,0x217E,
+ 0, 0, 0,0x217B, 0, 0,0x217D,0x217C
+};
+
+/* page 18 0x25EF-0x25EF */
+static uint16 tab_uni_jisx020818[]={
+0x227E};
+
+/* page 19 0x2605-0x2606 */
+static uint16 tab_uni_jisx020819[]={
+0x217A,0x2179};
+
+/* page 20 0x2640-0x2642 */
+static uint16 tab_uni_jisx020820[]={
+0x216A, 0,0x2169};
+
+/* page 21 0x266A-0x266F */
+static uint16 tab_uni_jisx020821[]={
+0x2276, 0, 0,0x2275, 0,0x2274};
+
+/* page 22 0x3000-0x301C */
+static uint16 tab_uni_jisx020822[]={
+0x2121,0x2122,0x2123,0x2137, 0,0x2139,0x213A,0x213B,
+0x2152,0x2153,0x2154,0x2155,0x2156,0x2157,0x2158,0x2159,
+0x215A,0x215B,0x2229,0x222E,0x214C,0x214D, 0, 0,
+ 0, 0, 0, 0,0x2141};
+
+/* page 23 0x3041-0x30FE */
+static uint16 tab_uni_jisx020823[]={
+0x2421,0x2422,0x2423,0x2424,0x2425,0x2426,0x2427,0x2428,
+0x2429,0x242A,0x242B,0x242C,0x242D,0x242E,0x242F,0x2430,
+0x2431,0x2432,0x2433,0x2434,0x2435,0x2436,0x2437,0x2438,
+0x2439,0x243A,0x243B,0x243C,0x243D,0x243E,0x243F,0x2440,
+0x2441,0x2442,0x2443,0x2444,0x2445,0x2446,0x2447,0x2448,
+0x2449,0x244A,0x244B,0x244C,0x244D,0x244E,0x244F,0x2450,
+0x2451,0x2452,0x2453,0x2454,0x2455,0x2456,0x2457,0x2458,
+0x2459,0x245A,0x245B,0x245C,0x245D,0x245E,0x245F,0x2460,
+0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,
+0x2469,0x246A,0x246B,0x246C,0x246D,0x246E,0x246F,0x2470,
+0x2471,0x2472,0x2473, 0, 0, 0, 0, 0,
+ 0, 0,0x212B,0x212C,0x2135,0x2136, 0, 0,
+0x2521,0x2522,0x2523,0x2524,0x2525,0x2526,0x2527,0x2528,
+0x2529,0x252A,0x252B,0x252C,0x252D,0x252E,0x252F,0x2530,
+0x2531,0x2532,0x2533,0x2534,0x2535,0x2536,0x2537,0x2538,
+0x2539,0x253A,0x253B,0x253C,0x253D,0x253E,0x253F,0x2540,
+0x2541,0x2542,0x2543,0x2544,0x2545,0x2546,0x2547,0x2548,
+0x2549,0x254A,0x254B,0x254C,0x254D,0x254E,0x254F,0x2550,
+0x2551,0x2552,0x2553,0x2554,0x2555,0x2556,0x2557,0x2558,
+0x2559,0x255A,0x255B,0x255C,0x255D,0x255E,0x255F,0x2560,
+0x2561,0x2562,0x2563,0x2564,0x2565,0x2566,0x2567,0x2568,
+0x2569,0x256A,0x256B,0x256C,0x256D,0x256E,0x256F,0x2570,
+0x2571,0x2572,0x2573,0x2574,0x2575,0x2576, 0, 0,
+ 0, 0,0x2126,0x213C,0x2133,0x2134};
+
+/* page 24 0x4E00-0x5516 */
+static uint16 tab_uni_jisx020824[]={
+0x306C,0x437A, 0,0x3C37, 0, 0, 0,0x4B7C,
+0x3E66,0x3B30,0x3E65,0x323C, 0,0x4954,0x4D3F, 0,
+0x5022,0x312F, 0, 0,0x336E,0x5023,0x4024,0x5242,
+0x3556,0x4A3A, 0, 0, 0, 0,0x3E67, 0,
+ 0,0x4E3E, 0, 0, 0, 0,0x4A42, 0,
+ 0, 0,0x5024, 0, 0,0x4366, 0, 0,
+ 0,0x5025,0x367A, 0, 0, 0,0x5026, 0,
+0x345D,0x4330, 0,0x3C67,0x5027, 0, 0,0x5028,
+ 0, 0,0x5029,0x4735, 0,0x3557, 0, 0,
+ 0, 0, 0,0x4737, 0,0x4663,0x3843,0x4B33,
+ 0, 0, 0, 0, 0,0x6949,0x502A,0x3E68,
+0x502B,0x3235, 0, 0, 0,0x3665,0x3870,0x4C69,
+ 0, 0,0x5626, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4D70, 0,0x467D, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3425, 0,
+0x3535, 0,0x502C, 0, 0,0x502D,0x4E3B, 0,
+0x4D3D,0x4168,0x502F,0x3B76,0x4673, 0,0x5032, 0,
+ 0,0x313E,0x385F, 0,0x385E,0x3066, 0, 0,
+0x4F4B,0x4F4A, 0,0x3A33,0x3021, 0,0x5033,0x5034,
+0x5035,0x4B34,0x5036, 0,0x3872,0x3067,0x4B72, 0,
+0x357C, 0, 0,0x357D,0x357E,0x4462,0x4E3C, 0,
+0x5037, 0, 0,0x5038, 0, 0,0x5039, 0,
+ 0, 0,0x3F4D, 0, 0, 0, 0, 0,
+0x3D3A,0x3F4E,0x503E, 0,0x503C, 0,0x503D,0x3558,
+ 0, 0,0x3A23,0x3270, 0,0x503B,0x503A,0x4A29,
+ 0, 0, 0, 0,0x3B46,0x3B45,0x423E,0x503F,
+0x4955,0x4067, 0, 0, 0,0x2138,0x5040,0x5042,
+ 0, 0, 0,0x4265,0x4E61,0x304A, 0, 0,
+ 0, 0, 0, 0, 0,0x5041,0x323E, 0,
+0x3644, 0,0x4367, 0, 0, 0,0x376F,0x5043,
+ 0, 0, 0,0x4724, 0, 0, 0, 0,
+ 0,0x346B, 0, 0, 0, 0, 0, 0,
+ 0,0x5044,0x304B, 0, 0,0x3860,0x346C,0x497A,
+0x4832,0x3559, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3271, 0,0x5067,0x4541, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x476C,
+0x5046, 0, 0, 0,0x483C, 0,0x4E62, 0,
+0x3F2D, 0,0x3B47, 0,0x3B77,0x3240, 0, 0,
+ 0, 0, 0,0x4451, 0, 0,0x4322,0x504A,
+ 0, 0, 0, 0, 0,0x304C,0x4463,0x3D3B,
+0x3A34,0x4D24, 0,0x424E, 0,0x323F, 0,0x5049,
+ 0,0x4D3E,0x5045,0x5047,0x3A6E,0x5048,0x5524, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5050, 0, 0, 0, 0, 0,0x5053,
+0x5051, 0, 0,0x3242, 0,0x4A3B,0x504B, 0,
+ 0, 0, 0,0x504F,0x3873, 0, 0,0x3B48,
+ 0, 0, 0,0x3426, 0, 0,0x5054, 0,
+0x504C, 0, 0,0x4E63, 0,0x3B78, 0,0x504D,
+ 0,0x5052, 0, 0, 0, 0,0x5055, 0,
+0x504E, 0, 0,0x3621, 0,0x304D, 0, 0,
+0x3622,0x3241, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5525, 0,0x4B79,0x496E,0x3874,
+ 0, 0, 0, 0, 0,0x3F2F,0x4E37, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4A58,
+ 0, 0,0x3738,0x4225,0x3264, 0, 0, 0,
+ 0, 0,0x3D53, 0, 0, 0,0x5059, 0,
+0x505E,0x505C, 0, 0,0x5057, 0, 0,0x422F,
+0x505A, 0,0x505D,0x505B, 0,0x4A5D, 0,0x5058,
+ 0,0x3F2E, 0,0x4B73,0x505F,0x5060, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3D24,0x506D,
+ 0, 0, 0,0x4750, 0,0x4936,0x5068, 0,
+0x4A70, 0,0x3236, 0, 0, 0,0x506C, 0,
+ 0, 0, 0, 0, 0,0x5066,0x506F, 0,
+ 0,0x4152, 0,0x3844, 0,0x475C, 0,0x6047,
+ 0,0x506E,0x455D, 0,0x5063, 0,0x3876, 0,
+ 0,0x3875,0x5061, 0, 0, 0, 0,0x3C5A,
+ 0,0x5069, 0,0x4A6F,0x434D,0x5065,0x3771, 0,
+0x5062,0x506A,0x5064,0x4E51,0x506B,0x4F41, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3666, 0,
+ 0,0x3770, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5070, 0, 0, 0,0x5071,
+0x5075,0x304E, 0, 0, 0, 0, 0,0x4A50,
+0x5074, 0, 0, 0, 0,0x5073,0x5077, 0,
+ 0, 0,0x5076, 0,0x4464, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3772, 0, 0,
+ 0, 0, 0, 0,0x5078, 0, 0, 0,
+ 0, 0,0x3C45, 0,0x4226,0x4465,0x3676, 0,
+0x5079, 0, 0, 0, 0,0x3536, 0, 0,
+0x507A, 0, 0, 0, 0,0x507C, 0, 0,
+ 0, 0, 0, 0, 0,0x4B35, 0, 0,
+ 0,0x3766, 0, 0, 0, 0, 0, 0,
+0x3B31,0x4877,0x507B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3A45,0x4D43, 0, 0,
+ 0, 0,0x507E,0x5123,0x507D,0x3A44, 0,0x3D7D,
+ 0, 0, 0, 0, 0, 0,0x3739, 0,
+ 0, 0,0x5124, 0, 0,0x364F, 0, 0,
+ 0,0x5121,0x5122, 0, 0,0x462F, 0,0x417C,
+ 0,0x3623, 0, 0, 0,0x4B4D,0x5125, 0,
+ 0, 0,0x4E3D, 0, 0, 0,0x5126, 0,
+ 0, 0, 0,0x5129, 0,0x5127, 0,0x414E,
+ 0, 0, 0, 0, 0,0x5128,0x512A, 0,
+ 0, 0, 0, 0, 0,0x512C, 0, 0,
+ 0,0x512B, 0,0x4A48, 0, 0, 0, 0,
+0x3537,0x512E,0x512F, 0,0x322F, 0, 0, 0,
+ 0,0x512D, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3C74, 0,0x5132,0x5131,0x5130, 0,
+0x5056, 0,0x5133, 0, 0, 0, 0,0x3D7E,
+ 0,0x5134, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4D25, 0, 0, 0, 0, 0,
+ 0, 0,0x4C59, 0, 0, 0, 0,0x5136,
+ 0, 0,0x5135,0x5138,0x5137, 0, 0,0x5139,
+0x513A,0x3074, 0,0x3835,0x373B,0x3D3C,0x437B,0x3624,
+0x4068,0x3877, 0,0x396E,0x513C,0x4C48,0x4546, 0,
+0x3B79, 0,0x513B, 0,0x513D, 0, 0, 0,
+ 0, 0,0x455E, 0,0x3375, 0, 0, 0,
+ 0, 0,0x513E, 0, 0,0x467E, 0, 0,
+0x4134,0x5140,0x5141,0x482C,0x3878,0x4F3B,0x5142, 0,
+ 0,0x3626, 0, 0, 0,0x4A3C,0x4236,0x3671,
+0x4535, 0, 0, 0,0x3773, 0, 0, 0,
+0x5143, 0,0x5144, 0, 0,0x4662,0x315F, 0,
+ 0,0x5147,0x3A7D, 0,0x5146,0x3A46, 0,0x5148,
+0x666E,0x5149,0x4B41,0x514A, 0,0x514B,0x514C,0x3E69,
+ 0,0x3C4C, 0, 0, 0, 0, 0, 0,
+0x3427, 0,0x514F, 0,0x514D,0x4C3D,0x514E, 0,
+0x495A,0x5150,0x5151,0x5152,0x455F, 0, 0, 0,
+0x5156,0x5154,0x5155,0x5153,0x3A63,0x5157,0x4C6A,0x4E64,
+ 0, 0, 0, 0, 0,0x5158, 0, 0,
+ 0, 0, 0, 0,0x4028,0x5159,0x3D5A, 0,
+ 0,0x515A, 0,0x437C,0x4E3F,0x4560, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5245, 0,
+ 0, 0, 0,0x515B,0x7425,0x3645, 0, 0,
+0x515C,0x4B5E, 0, 0, 0, 0,0x3D68,0x427C,
+ 0,0x515E,0x4664, 0, 0,0x515F, 0, 0,
+0x5160,0x332E, 0, 0, 0,0x5161,0x3627, 0,
+0x464C,0x317A,0x3D50, 0, 0,0x4821,0x5162, 0,
+0x4561, 0, 0,0x3F4F,0x5163, 0,0x4A2C,0x405A,
+0x3422, 0,0x3429,0x5164, 0, 0,0x5166, 0,
+ 0,0x373A, 0, 0,0x5165, 0, 0,0x4E73,
+ 0, 0, 0, 0, 0,0x3D69, 0, 0,
+ 0, 0, 0, 0,0x483D,0x4A4C, 0,0x5167,
+ 0,0x4D78,0x5168, 0, 0, 0,0x5169, 0,
+0x457E, 0, 0,0x516A, 0, 0,0x4029,0x3A7E,
+0x3774,0x516B,0x3B49,0x396F, 0, 0, 0, 0,
+ 0, 0, 0,0x4466,0x516D, 0, 0,0x4227,
+ 0, 0,0x3A6F,0x516E,0x516F,0x4130, 0,0x516C,
+ 0, 0, 0, 0,0x5171, 0,0x4B36, 0,
+ 0, 0, 0,0x3964, 0, 0,0x5170, 0,
+ 0, 0, 0,0x3775,0x3A5E,0x476D, 0, 0,
+ 0,0x5174,0x5172, 0, 0, 0, 0,0x497B,
+0x3E6A,0x517B,0x3364,0x5175,0x5173,0x414F, 0, 0,
+ 0, 0, 0, 0, 0,0x5177, 0,0x5176,
+ 0, 0, 0,0x3344, 0, 0, 0,0x3760,
+0x517C,0x4E2D, 0, 0, 0,0x5178, 0, 0,
+ 0,0x517D,0x517A, 0,0x5179, 0, 0, 0,
+ 0, 0, 0,0x4E4F, 0, 0, 0,0x3879,
+0x3243, 0, 0,0x4E74, 0, 0, 0, 0,
+ 0,0x3D75,0x4558,0x3965,0x5222,0x5223, 0, 0,
+ 0,0x4E65, 0, 0,0x4F2B,0x5225, 0, 0,
+ 0,0x387A, 0, 0,0x5224, 0,0x332F, 0,
+ 0,0x5226, 0,0x4B56, 0,0x443C, 0,0x4D26,
+ 0,0x4A59, 0, 0, 0,0x5227, 0, 0,
+ 0, 0,0x7055, 0, 0,0x4630, 0,0x5228,
+0x342A,0x4C33, 0, 0, 0,0x3E21,0x5229,0x4A67,
+0x522D, 0,0x402A,0x522A,0x3650, 0,0x522B,0x342B,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x372E,0x522E, 0,0x522F, 0, 0,
+0x5230,0x5231,0x3C5B, 0, 0, 0,0x387B,0x4C5E,
+ 0,0x4C68,0x4677, 0, 0,0x4A71,0x5232, 0,
+0x5233, 0, 0, 0, 0,0x5235, 0,0x5237,
+0x5236, 0, 0, 0, 0,0x5238,0x323D,0x4B4C,
+ 0,0x3A7C,0x5239, 0, 0,0x4159, 0, 0,
+0x3E22,0x3629, 0,0x523A, 0, 0, 0, 0,
+ 0, 0,0x485B, 0, 0, 0, 0,0x523B,
+ 0,0x523C, 0,0x523D, 0, 0, 0, 0,
+0x523E,0x4924,0x3668,0x3065, 0, 0, 0,0x463F,
+0x523F,0x3D3D, 0,0x4069, 0,0x5241,0x5240,0x3E23,
+0x3861,0x5243,0x483E, 0, 0,0x5244, 0, 0,
+ 0,0x485C,0x4234,0x426E,0x3628, 0, 0,0x466E,
+0x4331, 0,0x476E, 0,0x4B4E, 0,0x5246, 0,
+0x406A, 0, 0, 0, 0, 0,0x3735, 0,
+ 0,0x5247, 0, 0, 0, 0,0x5248,0x312C,
+0x3075,0x346D, 0,0x4228,0x3551,0x4D71, 0,0x524B,
+0x3237, 0, 0,0x524A, 0, 0, 0,0x362A,
+ 0, 0,0x524C, 0,0x4C71, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x524D, 0,
+0x4E52, 0,0x387C, 0, 0, 0, 0,0x3836,
+0x524E, 0, 0, 0, 0,0x5250,0x524F, 0,
+0x3F5F,0x3139, 0, 0, 0,0x315E,0x5251, 0,
+0x5252, 0, 0,0x3837, 0, 0,0x5253, 0,
+ 0, 0, 0,0x356E, 0, 0, 0, 0,
+ 0, 0,0x3B32,0x5254, 0, 0, 0, 0,
+0x4B74,0x3A35,0x355A,0x4D27,0x4150,0x483F,0x3C7D, 0,
+ 0, 0, 0, 0,0x3D47, 0,0x3C68,0x3C75,
+ 0,0x3D76, 0,0x4840, 0, 0, 0,0x5257,
+ 0,0x3143,0x4151,0x387D,0x3845,0x3667, 0, 0,
+0x525B,0x4321,0x427E,0x362B,0x3E24,0x525C,0x525A,0x3244,
+0x4266,0x3C38,0x3B4B,0x3126, 0, 0,0x3370,0x3966,
+0x3B4A, 0,0x525D, 0, 0, 0, 0, 0,
+ 0,0x525E, 0,0x3549,0x3346, 0, 0, 0,
+0x3967,0x3548,0x445F,0x3125,0x4631,0x4C3E,0x3921,0x4D79,
+0x4547,0x387E, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x372F, 0,0x5267, 0,0x3663,
+0x4B4A, 0, 0, 0, 0, 0,0x485D, 0,
+ 0,0x5266, 0,0x345E,0x5261,0x5262,0x5264, 0,
+ 0, 0, 0, 0, 0, 0,0x5265, 0,
+0x355B,0x3F61, 0,0x4A2D,0x5263,0x525F,0x3863, 0,
+0x5260, 0,0x4F24, 0, 0, 0,0x4A72, 0,
+0x4468,0x3862,0x3970, 0, 0, 0,0x5268, 0,
+ 0,0x465D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x526C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3C7E, 0,0x3C76, 0, 0, 0, 0, 0,
+0x526F,0x526D, 0,0x4C23, 0,0x526A,0x5273,0x526E,
+ 0, 0, 0,0x5271,0x3846,0x4C3F, 0, 0,
+0x5272, 0, 0, 0,0x5274, 0,0x5276, 0,
+ 0, 0, 0,0x3A70,0x4F42, 0,0x526B,0x5269,
+0x5275, 0,0x5270, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5278, 0,0x5323,0x527A, 0, 0,
+0x527E, 0, 0,0x5321,0x527B, 0, 0,0x533E,
+ 0, 0,0x3A69,0x3331, 0, 0, 0, 0,
+0x5279, 0, 0, 0,0x5325,0x3076,0x5324, 0,
+0x3025,0x494A,0x5322, 0,0x527C, 0, 0,0x5277,
+0x527D,0x3A48, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5326, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3077,0x532F, 0, 0,0x5327,0x5328, 0,
+0x3E25,0x4B69, 0, 0, 0,0x532D,0x532C, 0,
+ 0, 0,0x452F, 0, 0, 0, 0, 0,
+ 0, 0,0x532E, 0, 0,0x532B, 0, 0,
+ 0, 0, 0, 0,0x3134, 0,0x3A36,0x3F30,
+ 0, 0, 0, 0, 0, 0, 0,0x5329,
+0x4562, 0, 0, 0,0x532A, 0,0x3022};
+
+/* page 25 0x552E-0x5563 */
+static uint16 tab_uni_jisx020825[]={
+0x5334,0x4D23, 0,0x3E27, 0,0x533A, 0, 0,
+ 0, 0,0x5339,0x5330, 0, 0, 0, 0,
+0x4243, 0,0x5331, 0, 0, 0,0x426F,0x5336,
+0x3E26, 0, 0, 0, 0, 0,0x5333, 0,
+ 0,0x4C64, 0, 0, 0,0x373C, 0, 0,
+0x5337,0x5338, 0, 0, 0, 0,0x5335,0x533B,
+ 0, 0, 0, 0, 0,0x5332};
+
+/* page 26 0x557B-0x576A */
+static uint16 tab_uni_jisx020826[]={
+0x5341,0x5346, 0,0x5342, 0,0x533D, 0, 0,
+0x5347,0x4131, 0, 0,0x5349, 0,0x3922,0x533F,
+0x437D, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5343,0x533C,0x342D,
+ 0,0x346E,0x3365,0x5344,0x5340, 0, 0, 0,
+ 0, 0, 0, 0,0x3776,0x534A,0x5348,0x4153,
+0x354A,0x362C, 0,0x5345, 0,0x3674, 0, 0,
+ 0, 0, 0,0x3144, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x534E,0x534C, 0,0x5427, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5351, 0, 0, 0, 0, 0,0x534B,
+ 0,0x534F, 0, 0,0x534D, 0, 0, 0,
+0x3B4C,0x5350, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5353, 0,0x5358, 0,
+ 0, 0,0x5356,0x5355, 0, 0, 0, 0,
+ 0, 0, 0,0x4332, 0, 0,0x3245, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5352, 0,0x5354,0x3E28,0x3133, 0, 0,
+0x5357, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x325E, 0,
+ 0, 0, 0, 0,0x5362, 0,0x3E7C,0x535E,
+ 0,0x535C, 0,0x535D, 0,0x535F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x313D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4139, 0,0x5359, 0,0x535A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x337A, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5361, 0, 0, 0,0x346F, 0,0x5364,
+0x5360,0x5363, 0, 0, 0, 0, 0, 0,
+ 0,0x4A2E, 0, 0, 0,0x4655, 0,0x4838,
+ 0, 0, 0, 0, 0,0x5366, 0, 0,
+ 0, 0, 0,0x5365,0x3345, 0, 0,0x5367,
+ 0, 0, 0, 0,0x536A, 0, 0, 0,
+ 0,0x5369, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5368, 0,0x4739,
+ 0, 0,0x536B, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x536C, 0, 0, 0, 0,
+ 0,0x536E, 0,0x536D, 0, 0, 0, 0,
+ 0,0x5370, 0, 0, 0,0x5373,0x5371,0x536F,
+0x5372, 0, 0, 0, 0,0x5374, 0, 0,
+ 0, 0, 0,0x5375, 0, 0,0x5376, 0,
+0x5377, 0, 0, 0,0x5378,0x5145, 0,0x3C7C,
+0x3B4D, 0, 0,0x3273, 0,0x3078, 0, 0,
+0x4344, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5379, 0,0x3A24, 0,0x304F,
+0x3F5E, 0, 0, 0, 0, 0,0x537A,0x3847,
+ 0, 0,0x3971, 0,0x537C,0x537B, 0, 0,
+0x4A60,0x537D, 0, 0, 0,0x5421,0x537E, 0,
+0x5422, 0,0x5423, 0,0x3777, 0, 0,0x3160,
+0x5424, 0, 0,0x5426, 0,0x5425, 0, 0,
+ 0,0x5428, 0, 0,0x455A, 0, 0, 0,
+ 0, 0, 0,0x5429,0x3035,0x3A5F, 0, 0,
+ 0, 0,0x373D, 0, 0,0x434F, 0, 0,
+ 0, 0, 0, 0,0x542A,0x542B, 0, 0,
+0x542D, 0, 0, 0, 0,0x542E, 0,0x3A64,
+ 0, 0, 0, 0,0x3651, 0, 0,0x4B37,
+ 0, 0, 0,0x542C,0x542F,0x3A41,0x3923, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5433, 0,
+ 0,0x3A25, 0,0x4333, 0, 0,0x5430,0x445A
+};
+
+/* page 27 0x577F-0x5A9B */
+static uint16 tab_uni_jisx020827[]={
+0x5434, 0, 0,0x3F62, 0, 0, 0, 0,
+ 0,0x5432,0x5435, 0,0x373F, 0, 0, 0,
+ 0, 0, 0, 0,0x5436, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5437, 0,0x3924,0x3340,0x5439, 0, 0,
+ 0, 0, 0,0x543A, 0, 0, 0, 0,
+ 0,0x543B, 0, 0,0x5438, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5431, 0, 0,0x543C, 0, 0,0x543D,
+ 0, 0, 0, 0,0x4B64, 0, 0,0x3E6B,
+ 0, 0, 0,0x543F,0x5440,0x543E, 0,0x5442,
+ 0, 0, 0, 0, 0,0x4738, 0, 0,
+0x3068,0x4956, 0, 0,0x5443, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3E7D, 0, 0,
+0x3C39, 0,0x475D,0x3470, 0,0x3A6B, 0, 0,
+ 0,0x4B59, 0,0x4632, 0, 0,0x3778,0x424F,
+ 0, 0, 0,0x5441,0x5444, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4244, 0,
+ 0, 0,0x5445, 0, 0, 0,0x5446, 0,
+ 0, 0,0x5448, 0, 0,0x4469, 0, 0,
+ 0, 0, 0,0x342E, 0, 0, 0, 0,
+0x7421,0x3161,0x4A73, 0, 0,0x3E6C,0x4548, 0,
+ 0, 0, 0,0x3A66, 0, 0,0x544E, 0,
+ 0,0x4A3D,0x4E5D, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3274,0x544A, 0, 0, 0,
+ 0, 0,0x413A,0x544D, 0,0x4563, 0, 0,
+0x4549,0x4564,0x4839,0x444D, 0, 0, 0,0x3A49,
+ 0, 0, 0,0x5449, 0, 0, 0, 0,
+ 0, 0,0x3176, 0,0x4536, 0, 0, 0,
+ 0,0x544B, 0,0x5447, 0, 0,0x3F50, 0,
+ 0, 0,0x544F, 0, 0, 0, 0,0x3D4E,
+ 0, 0, 0, 0,0x362D, 0,0x5450, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4A68, 0, 0, 0,
+0x417D, 0, 0, 0, 0,0x4446, 0, 0,
+0x5452, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4B4F, 0, 0,0x5453, 0, 0,0x5458,
+ 0, 0, 0, 0,0x4A2F, 0, 0, 0,
+ 0,0x5457,0x5451,0x5454,0x5456, 0, 0,0x3A26,
+ 0, 0,0x4A49, 0, 0, 0,0x5459, 0,
+0x4345, 0, 0,0x3275, 0,0x3E6D, 0, 0,
+ 0, 0,0x545B, 0,0x545A, 0,0x3968, 0,
+0x545C,0x545E,0x545D, 0, 0,0x5460, 0,0x5455,
+0x5462, 0, 0, 0, 0,0x5461,0x545F, 0,
+ 0, 0, 0, 0,0x3B4E,0x3F51, 0,0x4154,
+0x5463,0x403C,0x306D,0x4764, 0, 0, 0, 0,
+0x445B, 0,0x5465,0x5464,0x5466,0x5467,0x5468, 0,
+ 0, 0, 0,0x5469, 0, 0, 0, 0,
+ 0, 0,0x4A51,0x546A, 0, 0, 0, 0,
+0x3246,0x546B, 0, 0, 0, 0,0x4D3C,0x3330,
+ 0,0x5249,0x3D48,0x423F,0x546C,0x4C6B, 0, 0,
+ 0, 0, 0,0x4C34, 0, 0,0x546E, 0,
+0x4267, 0,0x4537,0x4240,0x4957,0x546F,0x5470,0x317B,
+ 0, 0,0x3C3A,0x5471, 0, 0, 0, 0,
+0x3050,0x5472, 0, 0, 0, 0, 0,0x5473,
+ 0, 0, 0, 0, 0,0x3162, 0, 0,
+0x3471,0x4660,0x4A74, 0, 0, 0, 0,0x5477,
+0x4155,0x5476,0x3740, 0, 0,0x4B5B,0x5475, 0,
+0x4565,0x5479, 0,0x5478, 0, 0, 0, 0,
+ 0,0x547B, 0,0x547A, 0, 0,0x317C, 0,
+0x547C,0x3E29,0x547E,0x4325, 0,0x547D, 0,0x4A33,
+ 0, 0, 0, 0,0x3D77,0x455B, 0, 0,
+ 0,0x5521, 0, 0, 0, 0,0x3925, 0,
+ 0, 0,0x5522,0x4721,0x485E,0x4C51, 0, 0,
+ 0, 0, 0,0x4725, 0, 0,0x552B, 0,
+ 0, 0, 0, 0,0x3538, 0, 0,0x4D45,
+ 0, 0,0x4C2F, 0,0x562C, 0,0x5523, 0,
+ 0, 0, 0, 0,0x5526, 0,0x4245, 0,
+ 0,0x4B38, 0, 0, 0,0x454A, 0, 0,
+ 0, 0, 0,0x5527, 0, 0, 0, 0,
+ 0, 0,0x4B65, 0,0x3A4A, 0, 0,0x3E2A,
+ 0, 0, 0, 0, 0, 0, 0,0x5528,
+ 0, 0,0x3B50, 0,0x3B4F, 0, 0, 0,
+ 0,0x3039,0x3848, 0,0x402B,0x3051, 0, 0,
+ 0, 0,0x552C,0x552D, 0,0x552A, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3138,0x342F,
+ 0,0x5529, 0,0x4C45,0x4931, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3028,
+ 0, 0, 0, 0,0x3079, 0, 0, 0,
+0x3B51, 0,0x3052, 0,0x3023, 0, 0, 0,
+ 0, 0,0x5532, 0, 0, 0, 0, 0,
+ 0, 0,0x5530, 0, 0, 0, 0, 0,
+ 0,0x4C3C, 0,0x5533, 0,0x5531, 0, 0,
+0x552F,0x3F31, 0, 0, 0, 0,0x552E, 0,
+ 0, 0,0x4A5A, 0, 0, 0, 0, 0,
+0x3864, 0, 0, 0, 0, 0,0x5537,0x5538,
+ 0, 0, 0, 0, 0,0x3E2B, 0, 0,
+ 0,0x5534,0x4F2C, 0, 0, 0, 0,0x474C,
+ 0, 0,0x5536, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3A27, 0, 0, 0, 0,
+ 0, 0, 0,0x5539, 0, 0, 0,0x4958,
+ 0, 0, 0,0x553A, 0,0x5535, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4C3B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x475E, 0, 0, 0, 0,
+ 0, 0, 0,0x553B,0x4932};
+
+/* page 28 0x5ABC-0x5D29 */
+static uint16 tab_uni_jisx020828[]={
+0x553C,0x5540,0x553D, 0, 0,0x3247,0x553F, 0,
+ 0, 0, 0, 0, 0,0x3C3B, 0,0x553E,
+0x3779, 0, 0, 0,0x554C, 0, 0, 0,
+ 0, 0,0x5545,0x5542, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4364, 0,0x5541,
+ 0, 0,0x5543, 0, 0,0x5544, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5546,0x5547,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3472, 0,0x5549,
+0x5548, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x554A, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3E6E, 0,
+ 0, 0, 0, 0, 0, 0,0x554D, 0,
+0x445C, 0, 0, 0,0x3145, 0,0x554B, 0,
+ 0, 0,0x554E, 0, 0, 0, 0, 0,
+ 0, 0,0x554F, 0,0x5552, 0, 0,0x5550,
+ 0,0x5551, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3B52,0x5553, 0, 0,
+0x3926,0x5554, 0,0x3B7A,0x4238, 0,0x5555,0x5556,
+0x3B5A,0x3927, 0,0x4C52, 0, 0, 0,0x3528,
+0x3849,0x5557,0x3358, 0, 0,0x5558, 0,0x4239,
+ 0, 0, 0, 0,0x5559,0x5623, 0,0x555A,
+ 0,0x555B, 0, 0,0x555C, 0,0x555E, 0,
+ 0, 0, 0, 0,0x555F, 0, 0,0x5560,
+ 0,0x4270, 0,0x3127,0x3C69,0x3042, 0,0x4157,
+0x3430,0x3C35, 0,0x3928, 0, 0, 0, 0,
+ 0,0x4566, 0,0x3D21,0x3431,0x4368,0x446A,0x3038,
+0x3539,0x4A75, 0,0x3C42, 0, 0,0x3552,0x406B,
+0x3C3C,0x4D28,0x5561, 0, 0, 0, 0, 0,
+ 0, 0,0x355C, 0,0x3A4B, 0, 0,0x3332,
+0x3163,0x3E2C,0x3248, 0,0x5562,0x4D46, 0, 0,
+ 0, 0, 0,0x3D49, 0, 0,0x3C64,0x5563,
+0x3473,0x4652,0x4C29,0x5564, 0,0x5565, 0, 0,
+0x4959, 0, 0, 0,0x5567, 0,0x3428,0x3677,
+0x5566, 0, 0, 0, 0, 0, 0,0x3432,
+ 0,0x3F32,0x556B,0x3B21, 0,0x3249,0x556A, 0,
+0x5568,0x556C,0x5569,0x472B,0x5C4D,0x3F33, 0,0x556D,
+ 0, 0,0x4E40, 0,0x556E, 0, 0,0x5570,
+ 0,0x437E,0x556F, 0,0x4023, 0,0x3B7B, 0,
+ 0, 0,0x4250,0x3C77, 0,0x4975,0x406C, 0,
+0x3C4D,0x5571,0x3E2D,0x5572,0x5573,0x3053,0x423A,0x3F52,
+ 0,0x5574,0x4633,0x3E2E, 0,0x3E2F, 0,0x5575,
+ 0, 0,0x406D, 0, 0, 0,0x3E30, 0,
+ 0, 0, 0, 0,0x5576, 0,0x5577, 0,
+0x4C60, 0, 0, 0,0x5578, 0, 0, 0,
+ 0,0x3646, 0, 0, 0,0x3D22, 0, 0,
+ 0, 0, 0, 0,0x5579,0x557A,0x3C5C,0x3F2C,
+0x4674,0x3F54,0x4878,0x4722,0x3649,0x557B, 0, 0,
+ 0,0x356F,0x557C, 0,0x367E, 0,0x464F,0x3230,
+ 0,0x3B53,0x557D,0x5622,0x5621,0x367D, 0,0x557E,
+ 0,0x4538, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4230, 0,0x454B,0x3C48, 0, 0,
+0x4158,0x4D7A, 0, 0, 0, 0, 0, 0,
+0x5624, 0,0x5625,0x4656, 0,0x3B33, 0, 0,
+ 0, 0,0x5627, 0, 0,0x5628, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5629, 0, 0, 0,0x3474,0x562A, 0, 0,
+0x562B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x322C, 0, 0,
+ 0, 0, 0, 0,0x413B,0x3464, 0,0x562D,
+0x4C28, 0, 0, 0, 0,0x4252, 0,0x3359,
+ 0, 0,0x562F,0x5631,0x345F, 0, 0,0x562E,
+0x5630, 0,0x5633, 0, 0, 0, 0, 0,
+ 0,0x5632, 0,0x5634, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5635, 0, 0,
+ 0, 0, 0, 0,0x463D,0x362E, 0, 0,
+ 0, 0, 0, 0,0x3265,0x5636,0x563B, 0,
+ 0,0x5639, 0,0x4A77,0x4A76, 0, 0, 0,
+ 0, 0,0x4567, 0, 0, 0,0x5638,0x3D54,
+ 0,0x5637, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3F72, 0, 0, 0,0x563C,
+ 0, 0,0x3A6A, 0, 0,0x5642, 0, 0,
+0x5643,0x563D,0x3333,0x563E,0x5647,0x5646,0x5645,0x5641,
+ 0, 0, 0,0x5640, 0, 0,0x5644, 0,
+ 0, 0, 0, 0, 0,0x4A78};
+
+/* page 29 0x5D4B-0x6BF3 */
+static uint16 tab_uni_jisx020829[]={
+0x564B,0x5648, 0,0x564A, 0,0x4D72, 0,0x5649,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x563F, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3F73, 0,
+ 0,0x564C, 0, 0,0x3A37, 0, 0, 0,
+0x564D, 0, 0,0x564E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5651,
+ 0,0x5650, 0, 0,0x564F, 0, 0, 0,
+0x4568,0x563A, 0, 0, 0,0x5657, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5653, 0, 0, 0, 0,0x5652,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5654, 0,0x5655, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5658, 0, 0,0x4E66,
+ 0,0x5659,0x5656, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x565A, 0,
+ 0,0x3460,0x565B, 0, 0, 0, 0,0x565D,
+0x565C, 0, 0,0x565E, 0, 0, 0, 0,
+0x565F, 0,0x406E,0x3D23, 0, 0,0x3D64, 0,
+0x4163, 0,0x3929,0x3A38,0x392A,0x3570, 0, 0,
+0x5660, 0, 0,0x3A39, 0, 0,0x384A,0x5661,
+0x4C26,0x4743,0x5662, 0,0x392B, 0, 0, 0,
+0x342C, 0,0x4327,0x3652, 0, 0, 0,0x3B54,
+0x495B, 0, 0,0x4841, 0, 0, 0, 0,
+0x5663,0x3475, 0, 0, 0, 0,0x5666, 0,
+ 0, 0, 0,0x4421, 0, 0,0x5665,0x5664,
+0x5667, 0,0x446B, 0, 0, 0, 0, 0,
+ 0, 0,0x3F63, 0, 0, 0, 0, 0,
+0x3B55, 0,0x404A, 0,0x4253,0x3522, 0, 0,
+0x4422, 0, 0,0x5668,0x5669,0x3E6F, 0, 0,
+ 0, 0,0x4B39, 0, 0,0x566C, 0, 0,
+0x566B,0x566A,0x497D, 0,0x5673, 0, 0, 0,
+ 0,0x4B5A, 0,0x566D, 0, 0, 0, 0,
+ 0,0x566F,0x4B6B, 0,0x566E, 0, 0, 0,
+ 0, 0, 0, 0,0x5670, 0,0x4828,0x5671,
+0x4A3E,0x5672, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3433,
+0x4A3F,0x472F,0x5674,0x5675, 0,0x392C,0x3434,0x5676,
+0x3838,0x4D44,0x4D29,0x3476,0x5678, 0,0x4423, 0,
+0x392D,0x3E31, 0, 0,0x485F, 0, 0,0x3E32,
+ 0, 0, 0, 0,0x3D78, 0, 0, 0,
+ 0, 0,0x446C,0x4A79,0x4539, 0, 0,0x392E,
+ 0,0x495C, 0, 0, 0,0x5679, 0, 0,
+ 0, 0, 0,0x4559,0x3A42, 0, 0, 0,
+0x384B, 0,0x446D, 0, 0, 0, 0, 0,
+ 0, 0,0x3043,0x3D6E,0x392F,0x4D47, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x567A,0x567B,
+0x4751, 0, 0, 0, 0,0x567C,0x4E77,0x4F2D,
+ 0, 0, 0, 0,0x567E,0x567D, 0, 0,
+0x3347, 0, 0,0x5721, 0, 0, 0,0x5724,
+0x5725, 0,0x5723, 0,0x4940,0x3E33,0x5727,0x5726,
+0x5722, 0, 0, 0, 0,0x5728,0x5729, 0,
+ 0,0x572A, 0, 0, 0,0x572D,0x572B, 0,
+0x572C,0x572E, 0,0x3164,0x446E,0x572F, 0,0x377A,
+0x3276,0x4736, 0,0x5730,0x467B, 0,0x4A5B, 0,
+0x5731,0x4F2E, 0, 0, 0, 0,0x5732,0x4A40,
+0x5735,0x5021,0x5031, 0,0x3C30,0x4675,0x5736, 0,
+0x355D,0x4424,0x307A,0x5737,0x4A26,0x3930, 0, 0,
+0x4350, 0, 0, 0,0x446F, 0, 0, 0,
+ 0, 0,0x4C6F,0x3839,0x384C, 0,0x5738, 0,
+ 0, 0,0x5739, 0,0x573F, 0,0x3C65, 0,
+ 0, 0,0x4425, 0,0x362F,0x573A, 0, 0,
+ 0,0x492B, 0,0x4346, 0, 0,0x573B, 0,
+ 0, 0, 0, 0, 0,0x573C, 0,0x3630,
+ 0,0x573D, 0,0x573E, 0, 0,0x5740, 0,
+0x4576, 0, 0,0x5741,0x5742, 0,0x5743, 0,
+ 0,0x5734,0x5733, 0, 0, 0,0x5744,0x3741,
+ 0, 0, 0,0x4927, 0, 0,0x3A4C,0x4937,
+0x4426,0x494B,0x5745, 0, 0,0x3E34,0x3146, 0,
+0x5746, 0, 0, 0,0x5747, 0,0x4C72, 0,
+ 0,0x4860, 0, 0,0x574A,0x317D,0x402C,0x5749,
+0x5748,0x3742,0x4254, 0,0x574E,0x574C, 0,0x574B,
+0x4E27,0x3865, 0, 0, 0,0x3D79,0x574D,0x454C,
+0x3D3E, 0, 0, 0,0x4640,0x5751,0x5750, 0,
+ 0, 0, 0,0x574F, 0,0x5752,0x3866, 0,
+ 0, 0, 0, 0, 0,0x5753,0x497C,0x3D5B,
+ 0, 0,0x5754,0x4879, 0, 0, 0, 0,
+0x4641,0x4427, 0, 0, 0, 0,0x4530, 0,
+ 0,0x5755,0x352B, 0, 0, 0, 0, 0,
+0x3F34, 0,0x492C, 0, 0, 0, 0, 0,
+ 0,0x3477,0x4726, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5756,0x3B56,0x4B3A,0x4B3B, 0,
+ 0,0x317E,0x575B, 0, 0,0x4369, 0, 0,
+ 0,0x5758, 0, 0, 0, 0, 0, 0,
+0x3277, 0, 0, 0, 0,0x582D,0x575A, 0,
+ 0, 0,0x4730, 0, 0,0x5759, 0, 0,
+0x5757, 0,0x397A, 0,0x575D, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5763,0x5769,0x5761, 0,0x455C,
+ 0, 0,0x5766,0x495D, 0, 0,0x5760, 0,
+0x5765,0x4E67,0x3B57, 0, 0,0x4255,0x575E, 0,
+ 0, 0,0x355E,0x5768,0x402D,0x3165,0x5762,0x3278,
+0x5767, 0, 0, 0,0x3631, 0,0x5764, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x576A,
+ 0, 0, 0, 0, 0, 0,0x576C,0x5776,
+0x5774, 0, 0,0x5771, 0, 0, 0,0x5770,
+0x4E78, 0,0x5772, 0, 0,0x3632, 0,0x3931,
+ 0, 0,0x3D7A, 0, 0, 0,0x5779,0x576B,
+ 0, 0, 0, 0,0x576F,0x575F, 0,0x327A,
+0x5773,0x5775,0x4351, 0, 0,0x3A28,0x3238,0x576D,
+0x5778,0x5777,0x3633, 0,0x4229,0x3366, 0, 0,
+ 0, 0,0x3743, 0,0x576E, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x577A, 0,
+0x577D,0x5821, 0, 0, 0, 0,0x3C3D, 0,
+0x5827,0x4470,0x577B, 0, 0, 0, 0,0x5825,
+ 0,0x3279, 0,0x5823,0x5824, 0, 0,0x577E,
+0x5822, 0, 0, 0,0x3867,0x4D2A, 0, 0,
+0x3435, 0, 0,0x3159,0x5826, 0,0x473A,0x302D,
+ 0, 0, 0, 0, 0, 0, 0,0x4861,
+0x575C,0x582C,0x5830,0x4C65, 0,0x5829, 0, 0,
+ 0,0x4569,0x582E, 0, 0, 0, 0, 0,
+ 0, 0,0x3E70,0x582F,0x4657, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4F47, 0,
+0x582B, 0, 0, 0, 0,0x5831, 0,0x397B,
+ 0,0x404B, 0, 0,0x3054,0x582A,0x5828, 0,
+0x415A, 0, 0, 0,0x577C,0x3B34, 0, 0,
+ 0, 0, 0, 0, 0,0x4246,0x583D, 0,
+0x415B,0x5838, 0,0x5835,0x5836, 0,0x3C66,0x5839,
+0x583C, 0, 0, 0, 0,0x5837,0x3D25, 0,
+0x583A, 0, 0,0x5834, 0,0x4C7C,0x4C7B, 0,
+ 0, 0,0x583E,0x583F,0x3055, 0, 0, 0,
+ 0, 0,0x5833, 0, 0, 0, 0,0x3672,
+0x3026, 0, 0, 0,0x3436, 0,0x583B, 0,
+ 0, 0, 0, 0,0x5843,0x5842, 0, 0,
+ 0,0x5847, 0, 0, 0, 0, 0, 0,
+ 0,0x5848, 0, 0, 0, 0, 0, 0,
+ 0,0x5846,0x5849,0x5841,0x5845, 0, 0,0x584A,
+ 0,0x584B, 0, 0,0x5840,0x3B7C, 0,0x5844,
+0x4256,0x3932,0x5832,0x3F35, 0, 0, 0, 0,
+0x5858, 0,0x4A69, 0, 0,0x584E,0x584F,0x5850,
+ 0, 0,0x5857, 0,0x5856, 0, 0,0x4B7D,
+0x3437, 0,0x5854, 0,0x3745,0x3334, 0, 0,
+0x5851, 0, 0,0x4E38,0x5853,0x3056,0x5855, 0,
+0x584C,0x5852,0x5859,0x3744,0x584D, 0, 0, 0,
+ 0, 0, 0,0x4D5D, 0, 0, 0,0x4D2B,
+ 0, 0, 0, 0,0x585C, 0, 0,0x5860,
+ 0, 0, 0,0x417E, 0,0x4E79,0x5861, 0,
+ 0,0x585E, 0,0x585B, 0, 0,0x585A,0x585F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4A30, 0, 0,0x4634, 0,0x3746, 0,
+0x5862,0x585D, 0,0x5863, 0, 0, 0,0x377B,
+ 0, 0, 0,0x3231, 0, 0, 0,0x586B,
+ 0, 0, 0,0x3438, 0, 0, 0, 0,
+0x5869, 0, 0,0x586A,0x3A29,0x5868,0x5866,0x5865,
+0x586C,0x5864,0x586E, 0, 0,0x327B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5870, 0, 0,0x586F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4428,
+ 0,0x5873, 0,0x5871,0x5867,0x377C, 0,0x5872,
+ 0,0x5876,0x5875,0x5877,0x5874,0x5878, 0, 0,
+ 0, 0, 0, 0, 0,0x5879,0x587A,0x4A6A,
+ 0,0x587C,0x587B,0x3D3F, 0,0x402E,0x3266,0x327C,
+ 0,0x587D, 0,0x303F, 0, 0, 0,0x404C,
+0x587E, 0,0x6C43,0x5921,0x3761, 0,0x5922, 0,
+ 0, 0, 0,0x406F, 0, 0, 0,0x5923,
+ 0, 0, 0,0x5924,0x353A,0x5925, 0,0x5926,
+0x5927,0x4257, 0, 0, 0,0x384D, 0, 0,
+0x4C61, 0, 0, 0,0x4B3C,0x3D6A,0x5928, 0,
+ 0, 0, 0, 0,0x4070,0x6E3D,0x4862, 0,
+0x3C6A, 0,0x3A4D,0x5929, 0, 0, 0, 0,
+0x4247, 0,0x4A27, 0, 0,0x4271, 0, 0,
+0x592C, 0, 0,0x592A, 0,0x592D, 0, 0,
+0x592B, 0, 0, 0, 0,0x592E, 0, 0,
+ 0, 0, 0,0x4A31, 0, 0,0x3037, 0,
+ 0, 0, 0,0x495E, 0, 0,0x4863, 0,
+ 0,0x592F, 0,0x5932,0x3E35,0x353B, 0,0x5930,
+0x5937,0x3E36, 0, 0, 0, 0,0x5931,0x4744,
+ 0, 0, 0, 0, 0, 0,0x4D5E,0x5933,
+0x5934,0x5938,0x456A,0x5935,0x3933,0x405E, 0, 0,
+0x5946,0x4834, 0,0x4272, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4864,0x5A2D, 0, 0, 0, 0,0x4A7A, 0,
+ 0, 0,0x4471, 0, 0, 0,0x4B75, 0,
+0x593B,0x3221,0x436A, 0, 0, 0, 0,0x5944,
+ 0, 0,0x4334,0x593E,0x5945,0x5940,0x5947,0x5943,
+ 0,0x5942,0x476F, 0,0x593C,0x327D,0x593A,0x3571,
+0x4273,0x5936, 0, 0,0x5939,0x3934,0x405B, 0,
+0x3E37,0x5941,0x4752, 0, 0,0x3572,0x3348, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3367,0x3F21,0x5949,0x594E, 0,0x594A, 0,
+0x377D, 0,0x594F,0x3B22,0x3969, 0, 0, 0,
+ 0, 0, 0,0x3D26,0x593D, 0,0x3B7D,0x594C,
+ 0, 0, 0, 0,0x3B58,0x594D,0x3044, 0,
+ 0,0x5948, 0, 0, 0, 0,0x4429, 0,
+ 0, 0, 0, 0, 0, 0,0x3573, 0,
+ 0, 0, 0, 0,0x3634, 0, 0, 0,
+ 0, 0, 0, 0,0x594B,0x3027, 0, 0,
+0x3A43, 0, 0, 0,0x3F36, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4472,
+ 0, 0,0x4854,0x5951,0x415E, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x422A, 0,
+ 0,0x3B2B,0x5952, 0,0x5954,0x5950, 0, 0,
+ 0, 0,0x4A61, 0,0x443D, 0, 0, 0,
+ 0,0x415C, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4A7B,0x3C4E,0x5960, 0,
+0x595F, 0, 0,0x3F78, 0, 0, 0,0x377E,
+ 0, 0, 0,0x5959,0x3E39, 0, 0,0x4668,
+0x4731, 0, 0, 0, 0,0x5957, 0, 0,
+0x415D, 0, 0, 0, 0,0x3C78,0x595C, 0,
+ 0,0x3E38, 0,0x5956,0x595B, 0, 0,0x4753,
+ 0, 0, 0,0x5955, 0,0x3721, 0, 0,
+0x335D, 0, 0, 0,0x595D,0x4E2B,0x3A4E,0x4335,
+0x595A, 0,0x405C, 0,0x3935,0x3F64,0x3166,0x413C,
+0x5958,0x3545, 0, 0, 0, 0, 0,0x3747,
+ 0,0x444F,0x595E, 0, 0, 0, 0, 0,
+0x415F, 0, 0,0x5961, 0,0x5963, 0, 0,
+0x4237,0x5969, 0,0x5964, 0, 0,0x5966, 0,
+ 0, 0, 0, 0,0x4941,0x4473, 0,0x5967,
+ 0, 0, 0,0x4D2C, 0, 0, 0,0x4D48,
+0x3439, 0, 0, 0, 0, 0,0x302E, 0,
+0x5965, 0, 0, 0, 0, 0,0x5962, 0,
+ 0, 0, 0,0x3478, 0, 0, 0, 0,
+ 0,0x3167, 0,0x5968, 0, 0, 0,0x4D49,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x596C, 0, 0, 0, 0,
+ 0, 0,0x423B, 0,0x5973, 0, 0, 0,
+0x596D, 0, 0,0x596A,0x5971, 0, 0, 0,
+ 0,0x5953, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x596E, 0,0x5972, 0, 0,
+ 0,0x4842,0x456B, 0, 0, 0, 0, 0,
+ 0,0x596B, 0,0x596F, 0, 0, 0,0x3748,
+ 0, 0, 0,0x3A71, 0, 0, 0,0x405D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5977, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4526, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5974, 0,0x4B60, 0,
+ 0, 0, 0, 0,0x5975, 0, 0, 0,
+ 0, 0, 0,0x5976, 0,0x4C4E, 0,0x4022,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3762, 0, 0, 0, 0,0x597D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3B35,
+0x597A, 0,0x5979, 0, 0, 0, 0,0x4732,
+ 0, 0, 0,0x4635, 0, 0, 0, 0,
+ 0,0x4531,0x597B, 0, 0, 0,0x597C, 0,
+0x496F, 0,0x4745,0x3B23, 0,0x4071, 0,0x4B50,
+ 0, 0, 0, 0, 0, 0,0x3349, 0,
+0x5A25,0x597E, 0, 0, 0, 0,0x4D4A,0x5A27,
+ 0, 0,0x5A23, 0,0x5A24, 0, 0, 0,
+ 0, 0,0x4160, 0, 0, 0, 0,0x5A22,
+ 0,0x593F, 0, 0, 0,0x5A26, 0,0x5A21,
+ 0, 0, 0, 0, 0,0x5A2B,0x5A2C,0x4527,
+0x5A2E, 0, 0,0x3B24,0x5A29, 0, 0, 0,
+ 0,0x353C, 0, 0,0x5A2F, 0,0x5A28,0x5A33,
+ 0,0x5A32, 0,0x5A31, 0, 0, 0,0x5A34,
+ 0, 0,0x5A36,0x3E71, 0,0x5A35, 0, 0,
+ 0, 0,0x5A39, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5A37, 0, 0,
+ 0,0x5A38,0x5970, 0, 0, 0, 0, 0,
+0x5A3B,0x5A3A, 0, 0, 0, 0, 0,0x5978,
+0x5A3C,0x5A30, 0, 0,0x3B59, 0, 0, 0,
+ 0,0x5A3D,0x5A3E,0x5A40,0x5A3F,0x5A41,0x327E, 0,
+0x3936, 0, 0,0x4A7C,0x402F, 0, 0, 0,
+ 0, 0,0x384E, 0, 0,0x5A43, 0, 0,
+ 0, 0,0x5A46, 0,0x4952, 0,0x355F, 0,
+ 0, 0,0x5A45,0x5A44,0x4754,0x5A47,0x3635, 0,
+ 0, 0,0x5A49,0x5A48, 0, 0, 0,0x343A,
+0x3B36, 0, 0,0x4658, 0, 0, 0, 0,
+ 0,0x3749, 0, 0, 0,0x3F74, 0,0x5A4A,
+ 0,0x4030,0x4528, 0,0x495F,0x5A4B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5A4C,
+0x5A4D, 0, 0, 0,0x4A38,0x555D,0x4046, 0,
+ 0,0x494C, 0,0x3A58, 0,0x4865,0x4843, 0,
+ 0, 0, 0, 0,0x454D, 0,0x4E41, 0,
+0x5A4F,0x3C50, 0, 0,0x5A50, 0,0x3036, 0,
+ 0,0x3654,0x404D, 0,0x4960, 0, 0, 0,
+0x5A51,0x3B42,0x4347, 0,0x3B5B,0x3F37, 0, 0,
+ 0, 0, 0, 0,0x5A52, 0,0x4A7D, 0,
+ 0,0x3177,0x3B5C, 0, 0, 0,0x5A55, 0,
+0x5A53,0x5A56,0x4E39,0x5A54, 0, 0, 0, 0,
+0x407B,0x5A57, 0, 0,0x4232, 0, 0,0x5A58,
+ 0, 0, 0, 0,0x347A, 0,0x5A5A, 0,
+0x5A59, 0, 0, 0, 0,0x5A5B,0x5A5C,0x347B,
+ 0, 0,0x467C,0x4336,0x356C,0x3B5D,0x4161, 0,
+ 0,0x3D5C,0x3030, 0, 0, 0,0x5A5D, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3222,
+0x5A61, 0, 0, 0, 0, 0, 0,0x3937,
+0x5A60, 0, 0,0x3A2B,0x3E3A, 0, 0,0x5A5F,
+ 0,0x3E3B, 0,0x4C40,0x3A2A, 0, 0, 0,
+0x3057,0x404E, 0, 0, 0, 0, 0, 0,
+ 0,0x5A66, 0, 0,0x4031,0x3147, 0, 0,
+ 0, 0,0x3D55, 0,0x4B66,0x3A72, 0, 0,
+ 0, 0,0x3E3C, 0,0x4027, 0, 0, 0,
+ 0,0x5A65,0x5A63,0x5A64, 0, 0, 0, 0,
+ 0,0x436B, 0, 0,0x5B26, 0,0x5A6A,0x3B7E,
+0x3938,0x5A68, 0, 0, 0, 0,0x5A69, 0,
+0x3F38, 0, 0, 0,0x5A67, 0, 0,0x3B2F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5A6C,0x5A6B,0x5A70, 0, 0,0x5A71,
+ 0,0x5A6D, 0,0x3322,0x5A6E,0x5A6F,0x4855, 0,
+ 0, 0, 0,0x4961,0x374A,0x5A72, 0, 0,
+ 0,0x4032, 0,0x3E3D, 0, 0, 0,0x4352,
+ 0, 0, 0, 0, 0, 0,0x3647, 0,
+0x5A73,0x5A77, 0, 0,0x324B,0x5A74,0x5A76, 0,
+ 0, 0, 0,0x5A75, 0, 0,0x3D6B, 0,
+ 0, 0, 0,0x4348,0x3045,0x5A78, 0, 0,
+ 0, 0,0x5A79, 0, 0, 0, 0,0x442A,
+ 0, 0, 0,0x4E71, 0, 0, 0, 0,
+0x3B43, 0, 0,0x4A6B, 0, 0, 0, 0,
+ 0,0x4B3D, 0, 0, 0,0x5B22,0x5A7B, 0,
+ 0,0x5A7E, 0,0x5A7D, 0, 0,0x5A7A, 0,
+ 0,0x5B21, 0, 0,0x465E, 0,0x5A7C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5B23, 0, 0,0x3D6C,0x5B24,
+ 0,0x4D4B,0x4778, 0, 0,0x5B25, 0, 0,
+ 0, 0, 0,0x5B27, 0, 0,0x5B28, 0,
+ 0, 0, 0, 0, 0,0x5B29, 0,0x364A,
+0x3148,0x3939,0x5B2A, 0,0x5B2B,0x3D71,0x4162, 0,
+ 0,0x5258,0x413E,0x413D,0x4258,0x3A47, 0, 0,
+0x5072, 0, 0, 0, 0,0x376E,0x4D2D, 0,
+0x4A7E, 0,0x497E, 0,0x5B2C, 0, 0, 0,
+ 0,0x3A73,0x443F,0x5B2D,0x4F2F, 0, 0, 0,
+0x4B3E, 0,0x442B,0x5B2E,0x347C, 0, 0, 0,
+ 0, 0, 0,0x5B2F,0x5B30,0x4C5A, 0,0x4C24,
+0x4B76,0x4B5C,0x3B25,0x5B32, 0, 0,0x3C6B, 0,
+ 0,0x4B51, 0,0x5B34,0x5B37,0x5B36, 0,0x3479,
+ 0, 0,0x3560, 0,0x5B33, 0,0x5B35, 0,
+ 0, 0, 0,0x5B38, 0, 0,0x3F79, 0,
+ 0, 0, 0,0x4D7B,0x3049,0x3A60,0x423C, 0,
+0x3C5D, 0, 0,0x3E73, 0, 0,0x5B3B, 0,
+ 0,0x454E, 0,0x5B39,0x422B,0x5B3A,0x3E72,0x4C5D,
+0x5B3C,0x5B3D,0x4D68, 0, 0, 0, 0,0x5B42,
+ 0, 0,0x393A, 0,0x4755,0x5B3F,0x456C,0x5A5E,
+0x5A62, 0,0x354F, 0,0x4747, 0, 0, 0,
+ 0,0x5B41, 0,0x3E3E,0x4844, 0, 0, 0,
+ 0, 0,0x5B47, 0,0x487A, 0,0x5B3E, 0,
+0x5B44,0x5B43, 0, 0, 0,0x404F, 0, 0,
+ 0, 0,0x4B6D, 0,0x4E53, 0, 0,0x4B67,
+ 0,0x324C,0x3B5E, 0, 0,0x4F48,0x5B46,0x3F75,
+ 0, 0, 0,0x5B45, 0, 0,0x5B40, 0,
+ 0, 0, 0, 0,0x384F, 0, 0, 0,
+0x5B4C,0x5B4A, 0,0x324D,0x5B48,0x5B4E,0x5B54, 0,
+ 0, 0, 0, 0, 0, 0,0x4248, 0,
+ 0,0x4A41, 0,0x5B56, 0, 0, 0,0x4922,
+ 0, 0, 0,0x5B55,0x4770,0x4B3F,0x343B, 0,
+0x4077,0x3D40, 0, 0, 0,0x4453, 0,0x4D2E,
+ 0, 0,0x5B51,0x5B50, 0, 0, 0,0x5B52,
+ 0,0x5B4F, 0, 0,0x5B57, 0,0x5B4D, 0,
+ 0,0x5B4B, 0,0x5B53,0x5B49, 0,0x436C, 0,
+0x4C78,0x3C46,0x3A74, 0, 0, 0, 0, 0,
+0x3A3A, 0, 0,0x4B6F,0x3341, 0, 0,0x444E,
+0x464A,0x3149, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4072, 0, 0,0x4034,0x372A, 0, 0, 0,
+ 0, 0, 0,0x5B59, 0, 0,0x393B,0x337C,
+ 0, 0, 0, 0, 0, 0,0x5B5B,0x3374,
+0x5B61, 0, 0, 0, 0, 0, 0,0x5B5E,
+ 0,0x4073, 0, 0, 0,0x334B,0x3A2C, 0,
+ 0,0x334A,0x3A4F, 0, 0,0x5B5C,0x3765,0x374B,
+0x456D, 0, 0,0x5B5A, 0,0x3046, 0, 0,
+ 0, 0,0x5B5D,0x5B5F, 0,0x364D,0x372C, 0,
+0x343C,0x354B, 0, 0, 0, 0,0x5B62, 0,
+ 0,0x3A79,0x4B71, 0,0x3B37, 0, 0, 0,
+0x5B63, 0, 0, 0,0x4930, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5B6F, 0,0x3233,0x5B64, 0, 0, 0,
+ 0, 0, 0,0x5B75,0x5B65, 0,0x4E42, 0,
+0x5B6C, 0,0x475F, 0, 0, 0, 0, 0,
+ 0, 0,0x5B74, 0,0x5B67, 0, 0, 0,
+0x3034,0x5B69, 0, 0,0x393C, 0, 0, 0,
+0x5B6B, 0,0x5B6A, 0,0x5B66,0x5B71, 0,0x3E3F,
+ 0, 0, 0,0x546D,0x3868,0x4D7C, 0, 0,
+ 0, 0,0x5B68, 0,0x4474,0x3323,0x3A2D, 0,
+0x5B60, 0,0x5B70,0x3361, 0, 0,0x5B6E,0x5B72,
+ 0,0x456E, 0, 0, 0, 0, 0, 0,
+ 0,0x347E, 0,0x5C32, 0, 0,0x4C49,0x5B77,
+0x347D, 0,0x5B7E, 0, 0, 0, 0,0x4B40,
+ 0,0x5C21,0x5C23, 0,0x5C27,0x5B79, 0,0x432A,
+ 0, 0, 0, 0,0x456F,0x5C2B,0x5B7C, 0,
+0x5C28, 0, 0, 0,0x5C22, 0, 0, 0,
+ 0, 0, 0,0x3F39,0x5C2C, 0, 0,0x4033,
+ 0, 0, 0, 0, 0, 0,0x5C2A,0x343D,
+ 0, 0, 0, 0, 0,0x4F50,0x5B76, 0,
+ 0,0x5C26,0x3058, 0, 0,0x5B78, 0, 0,
+0x4C3A,0x5B7D,0x3F22,0x4447,0x5B73, 0, 0,0x5C25,
+ 0, 0, 0, 0, 0, 0,0x3F7A,0x5C2F,
+0x3371,0x3821, 0, 0, 0, 0,0x5C31,0x5B7A,
+0x5C30, 0,0x5C29,0x5B7B, 0,0x5C2D, 0,0x5C2E,
+ 0, 0, 0, 0, 0,0x5C3F, 0, 0,
+ 0,0x464E, 0,0x5C24, 0, 0,0x5C3B, 0,
+ 0, 0,0x5C3D, 0,0x4458, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4D4C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4976,0x5C38,0x424A, 0, 0, 0,0x5C3E,0x413F,
+ 0,0x5C35,0x5C42,0x5C41, 0,0x466F,0x5C40,0x466A,
+ 0, 0, 0, 0, 0, 0, 0,0x5C44,
+0x5C37, 0,0x3648,0x5C3A,0x3D5D, 0, 0, 0,
+0x4760,0x5C3C,0x364B, 0,0x5C34,0x5C36,0x5C33, 0,
+ 0,0x4F30,0x335A,0x5C39, 0, 0,0x5C43,0x3335,
+ 0, 0, 0, 0, 0, 0, 0,0x3A67,
+ 0, 0, 0,0x315D, 0, 0,0x5C54, 0,
+ 0,0x4F31,0x5C57, 0, 0, 0, 0, 0,
+0x3F3A,0x5C56, 0, 0, 0,0x5C55, 0, 0,
+ 0, 0, 0, 0,0x5C52, 0, 0, 0,
+ 0, 0, 0,0x5C46, 0, 0,0x5C63,0x5C45,
+ 0,0x5C58, 0, 0, 0, 0, 0, 0,
+0x5C50, 0, 0,0x5C4B,0x5C48, 0,0x5C49, 0,
+0x5C51, 0, 0, 0,0x7422, 0, 0,0x5C4E,
+0x393D,0x4448,0x4164,0x5C4C, 0,0x5C47, 0, 0,
+0x5C4A, 0, 0, 0, 0,0x4D4D,0x4B6A, 0,
+ 0, 0,0x5C4F,0x5C59, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5C61,0x5C5A, 0, 0,
+0x5C67, 0,0x5C65, 0, 0, 0, 0,0x5C60,
+ 0, 0, 0, 0, 0, 0,0x5C5F, 0,
+0x4450, 0,0x4165, 0,0x5C5D, 0, 0,0x5C5B,
+ 0, 0,0x5C62, 0, 0, 0, 0,0x5C68,
+0x4875,0x5C6E, 0, 0, 0, 0, 0,0x5C69,
+0x5C6C,0x5C66, 0, 0,0x4374, 0,0x4938, 0,
+0x5C5C, 0, 0,0x5C64,0x3E40, 0,0x4C4F,0x5C78,
+0x5C6B, 0, 0, 0, 0, 0,0x3822,0x3223,
+0x335F, 0, 0,0x5C53, 0, 0, 0, 0,
+ 0, 0,0x3E41,0x5C70, 0,0x5C77,0x3C79,0x3372,
+ 0, 0,0x432E, 0, 0, 0, 0, 0,
+ 0,0x5C6D, 0, 0,0x5C72,0x5C76, 0, 0,
+0x3636, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x354C,0x5C74, 0,
+ 0, 0, 0, 0,0x3521, 0,0x464B,0x5C73,
+ 0, 0, 0,0x5C75, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5C6F,
+ 0, 0, 0, 0, 0,0x5C71, 0, 0,
+ 0, 0, 0, 0,0x3360,0x4349, 0, 0,
+ 0,0x5C7C, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5C7A,0x3869, 0,0x5C79, 0, 0,
+ 0, 0, 0, 0,0x5D21, 0, 0, 0,
+ 0,0x5B58, 0, 0, 0,0x5C7B, 0,0x5C7D,
+0x5C7E, 0, 0, 0, 0, 0, 0,0x5D2C,
+ 0,0x5D28, 0,0x5B6D, 0, 0, 0, 0,
+0x5D27, 0, 0, 0, 0,0x5D26, 0, 0,
+0x5D23, 0, 0, 0, 0, 0,0x5C6A,0x5D25,
+0x5D24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5D2A, 0,
+0x4F26, 0, 0, 0, 0, 0, 0,0x5D2D,
+0x367B, 0, 0,0x5D29,0x5D2B, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4827, 0,0x5D2E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5D32,
+0x5D2F, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4D73,0x5D30, 0, 0, 0, 0,0x5C5E,
+ 0, 0, 0, 0, 0, 0, 0,0x5D33,
+ 0, 0, 0,0x5D34, 0, 0, 0, 0,
+ 0, 0,0x3135, 0,0x5D36,0x3767,0x3C21, 0,
+0x3655, 0, 0, 0,0x3224, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4D5F,
+ 0, 0, 0, 0,0x5D38,0x5D37,0x5D3A,0x353D,
+ 0, 0,0x3656,0x343E, 0, 0, 0, 0,
+0x5D3D, 0, 0, 0,0x5D3C, 0,0x5D3E, 0,
+ 0,0x324E, 0,0x4337, 0,0x5D3F, 0, 0,
+0x343F,0x5D41, 0, 0, 0, 0,0x5D40, 0,
+0x5D42, 0, 0, 0,0x5D43, 0,0x5D44,0x3B5F,
+0x4035,0x3A21, 0,0x4970, 0, 0,0x4A62,0x4F44,
+ 0, 0, 0, 0,0x3B75, 0, 0, 0,
+0x3A50,0x4E72, 0, 0, 0,0x5D45,0x5D46, 0,
+0x3B60, 0, 0, 0,0x5D47,0x5D48, 0, 0,
+0x5D4A,0x5D49, 0,0x4B58, 0, 0,0x3D5E,0x3C6C,
+0x3B44, 0,0x5D4B, 0, 0, 0, 0, 0,
+ 0, 0,0x5D4D,0x3F23, 0,0x5D4C, 0, 0,
+ 0, 0, 0,0x5D4E, 0, 0, 0, 0,
+ 0,0x5D4F, 0, 0, 0, 0, 0,0x5D50,
+0x5D51, 0, 0, 0,0x5D52, 0,0x5D54,0x5D53,
+0x5D55,0x3225,0x434A, 0,0x5D56, 0, 0,0x3B26,
+0x334C,0x5D57, 0, 0,0x4542,0x544C, 0, 0,
+ 0, 0,0x3523,0x5D58, 0, 0, 0, 0,
+0x5D59, 0,0x4A6C,0x4B68, 0, 0, 0,0x4647,
+0x5D5A,0x4866, 0, 0, 0,0x487B, 0, 0,
+0x4C53, 0, 0, 0,0x5D5B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5D5D,0x5D5C, 0, 0,0x5D5F, 0, 0, 0,
+0x5D5E};
+
+/* page 30 0x6C08-0x6CF3 */
+static uint16 tab_uni_jisx020830[]={
+0x5D61, 0, 0, 0, 0, 0, 0,0x3B61,
+ 0,0x4C31, 0,0x5D62,0x5D63, 0, 0,0x3524,
+ 0, 0, 0,0x5D64, 0, 0, 0, 0,
+ 0, 0, 0,0x5D66,0x5D65, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3F65, 0, 0,0x4939,
+0x314A, 0, 0, 0, 0, 0,0x4845, 0,
+0x4475,0x3D41,0x3561, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4846, 0,
+0x3C2E, 0, 0, 0, 0,0x5D68, 0,0x3440,
+ 0, 0,0x3178, 0, 0,0x4672,0x5D67,0x393E,
+0x4353, 0,0x5D69, 0, 0, 0, 0, 0,
+0x5D71, 0,0x5D6A, 0, 0, 0, 0, 0,
+0x4241, 0,0x3562,0x5D72, 0, 0, 0, 0,
+ 0, 0,0x3768, 0, 0,0x3525,0x5D70, 0,
+ 0,0x5D6E,0x5D6B,0x4D60, 0, 0, 0, 0,
+0x4440, 0, 0, 0,0x4659,0x5D6C, 0, 0,
+0x5D74, 0,0x5D73,0x3723, 0, 0,0x322D, 0,
+ 0,0x3A3B,0x5D6D,0x5D6F, 0, 0, 0, 0,
+ 0,0x4B57,0x4274, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4B77, 0, 0,0x5D7C, 0,
+ 0,0x5D7D, 0,0x324F, 0, 0, 0, 0,
+0x4A28,0x4C7D,0x5E21,0x3C23,0x3E42,0x5D78,0x5D7E,0x3168,
+ 0,0x3637, 0, 0,0x5D75,0x5D7A, 0, 0,
+ 0,0x4074,0x4771, 0,0x4867, 0, 0, 0,
+ 0, 0, 0,0x5D77, 0,0x4B21, 0,0x5D79,
+ 0,0x5E24, 0,0x5E22, 0,0x5D7B, 0, 0,
+ 0,0x4B22,0x4748,0x3563, 0,0x4525, 0, 0,
+0x436D, 0,0x5E25, 0, 0, 0, 0,0x5E23,
+0x4259,0x5D76, 0,0x314B};
+
+/* page 31 0x6D0B-0x7409 */
+static uint16 tab_uni_jisx020831[]={
+0x4D4E,0x5E30, 0, 0, 0, 0, 0,0x5E2F,
+ 0, 0, 0, 0,0x4076, 0,0x5E2C, 0,
+0x4D6C, 0, 0,0x4636,0x5E26, 0, 0, 0,
+ 0, 0,0x4445, 0, 0, 0,0x314C,0x393F,
+0x5E29, 0, 0, 0, 0, 0, 0,0x3D27,
+0x5E2E, 0,0x5E2D,0x5E28, 0,0x5E2B, 0, 0,
+0x3368, 0,0x5E2A,0x4749, 0, 0,0x4E2E, 0,
+ 0,0x3E74,0x4075, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5E36,0x5E34,
+ 0,0x494D, 0, 0, 0, 0, 0, 0,
+0x5E31,0x5E33, 0,0x313A, 0, 0,0x3940,0x4F32,
+ 0,0x333D, 0,0x4962, 0, 0, 0, 0,
+ 0,0x4D61, 0, 0,0x3324,0x3F3B,0x5E35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5E3A, 0, 0,0x3E43, 0, 0,
+ 0,0x4D30, 0,0x5E37, 0, 0, 0, 0,
+0x5E32, 0,0x5E38, 0, 0, 0,0x4E5E, 0,
+0x4573,0x4642, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3336, 0, 0,0x3155,
+ 0, 0,0x5E3E, 0, 0,0x5E41, 0, 0,
+ 0,0x4E43, 0, 0, 0,0x4D64, 0, 0,
+ 0, 0,0x5E48,0x5E42,0x5E3F, 0, 0, 0,
+0x4E54,0x5E45, 0, 0, 0, 0,0x3D4A,0x5E47,
+ 0, 0,0x5E4C, 0, 0,0x4571,0x5E4A, 0,
+ 0, 0, 0,0x5E44, 0, 0,0x4338, 0,
+ 0,0x5E4B, 0,0x5E40, 0,0x5E46, 0,0x5E4D,
+0x307C,0x5E43, 0,0x5E4E, 0, 0,0x3F3C, 0,
+0x3D5F, 0,0x4A25, 0,0x3A2E, 0,0x5E3B,0x5E49,
+0x453A, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4036, 0,0x3369,0x3A51,0x3E44,0x5E3D,
+0x3D42, 0, 0, 0, 0, 0, 0, 0,
+0x374C, 0,0x5E3C, 0, 0, 0,0x5E52,0x3D6D,
+0x383A, 0,0x5E61, 0,0x5E5B,0x3574,0x454F, 0,
+0x5E56,0x5E5F,0x302F,0x3132, 0, 0,0x3239, 0,
+0x5E58,0x422C,0x5E4F,0x5E51,0x3941, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5E62, 0,0x5E5D,
+ 0, 0, 0,0x5E55, 0, 0, 0, 0,
+0x5E5C, 0, 0, 0, 0, 0, 0,0x4C2B,
+ 0, 0,0x5E5A,0x5E5E, 0, 0, 0, 0,
+ 0, 0, 0,0x3850, 0,0x3E45, 0, 0,
+0x4339, 0, 0, 0,0x5E54, 0, 0, 0,
+ 0, 0, 0, 0,0x4D2F, 0, 0, 0,
+0x5E57, 0, 0,0x5E50,0x4572, 0, 0,0x5E53,
+ 0, 0, 0,0x5E59, 0, 0, 0, 0,
+ 0, 0, 0,0x4F51,0x3C3E,0x4B7E, 0,0x5E63,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x482E, 0, 0,0x5E6F,0x383B, 0, 0,
+ 0, 0, 0,0x3D60, 0,0x5E65, 0, 0,
+ 0,0x4E2F,0x3942, 0,0x5E72, 0, 0,0x306E,
+ 0, 0,0x5E70, 0, 0, 0, 0,0x5E64,
+ 0, 0, 0, 0,0x5E6A, 0, 0,0x5E6C,
+ 0, 0, 0,0x4D4F,0x5E67, 0, 0,0x452E,
+ 0, 0,0x5E69, 0, 0, 0, 0,0x5E71,
+ 0,0x5E6B,0x4C47, 0, 0, 0,0x5E66, 0,
+0x3C22,0x5E7E, 0, 0, 0, 0,0x336A, 0,
+0x5E68,0x5E6D,0x5E6E, 0, 0, 0, 0, 0,
+ 0, 0,0x426C,0x425A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5E76, 0, 0,0x5E7C, 0, 0,0x5E7A,
+ 0,0x4529, 0, 0,0x5F23,0x5E77, 0, 0,
+ 0, 0, 0,0x5E78,0x5E60, 0,0x3579,0x493A,
+ 0, 0, 0,0x3C3F, 0, 0,0x3977, 0,
+ 0, 0, 0, 0,0x4F33, 0,0x5E74, 0,
+0x5F22,0x3169,0x4166, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4779, 0,0x3441,
+0x4E7A, 0, 0, 0, 0, 0, 0, 0,
+0x4C21,0x4452, 0, 0, 0, 0,0x5E7B,0x5E7D,
+ 0, 0, 0, 0, 0,0x4132, 0, 0,
+ 0, 0, 0,0x5F21,0x5E79, 0,0x5E73, 0,
+ 0, 0,0x3443, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3769, 0, 0, 0,0x5F2F, 0, 0,
+0x5F2A,0x4078, 0, 0,0x3363, 0, 0, 0,
+ 0,0x3D61, 0,0x5F33, 0, 0, 0, 0,
+ 0, 0,0x5F2C,0x442C,0x5F29,0x4459, 0, 0,
+ 0,0x5F4C, 0, 0, 0,0x5F26, 0,0x5F25,
+ 0,0x5F2E, 0, 0, 0,0x5F28,0x5F27,0x5F2D,
+ 0,0x4021, 0,0x5F24, 0, 0, 0, 0,
+ 0, 0, 0,0x5F30, 0, 0,0x5F31, 0,
+ 0, 0, 0, 0,0x3442, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5F36, 0,
+0x5F35,0x5F37, 0, 0, 0, 0, 0,0x5F3A,
+ 0, 0, 0, 0, 0, 0,0x4543, 0,
+0x5F34, 0, 0, 0, 0, 0,0x5F38, 0,
+ 0, 0, 0, 0, 0,0x3763,0x4279,0x5F32,
+0x473B, 0, 0,0x5F39, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5F3E,0x5F3C, 0, 0,0x5F3F, 0, 0,
+0x5F42, 0, 0, 0,0x5F3B,0x396A,0x4728, 0,
+ 0,0x5E39, 0, 0, 0, 0, 0, 0,
+0x4D74,0x5F3D, 0,0x5F41,0x4275, 0,0x5F40, 0,
+0x5F2B, 0, 0,0x6F69, 0, 0, 0,0x5F45,
+ 0, 0, 0,0x5F49, 0, 0,0x5F47, 0,
+ 0, 0, 0, 0, 0, 0,0x5F43, 0,
+0x5F44, 0, 0, 0,0x5F48, 0,0x5F46, 0,
+ 0, 0,0x494E, 0, 0,0x5F4E, 0,0x5F4B,
+0x5F4A, 0,0x5F4D,0x4654,0x5F4F, 0, 0, 0,
+ 0, 0, 0,0x4375,0x426D, 0, 0, 0,
+ 0,0x4025, 0, 0, 0,0x5F50, 0,0x5F52,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5F51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5E75, 0, 0, 0, 0,0x5F53, 0,
+ 0, 0, 0, 0, 0,0x4667, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5F54, 0, 0, 0, 0, 0, 0, 0,
+0x3250, 0, 0, 0,0x4574,0x3325, 0, 0,
+ 0, 0, 0, 0, 0,0x3564, 0, 0,
+ 0,0x3C5E,0x3A52, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4F27,0x3F66,
+ 0, 0, 0,0x316A, 0, 0, 0,0x5F56,
+ 0, 0, 0, 0, 0, 0,0x5F55, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5F59,0x433A,0x5F5C,0x5F57, 0, 0, 0,
+0x5F5B, 0, 0, 0, 0,0x5F5A,0x4540,0x3059,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4E75, 0, 0,
+0x5F5E, 0, 0, 0,0x3128, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5F60, 0,
+ 0, 0,0x5F5F, 0,0x5F5D, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5F58, 0,
+ 0, 0, 0, 0, 0, 0,0x4B23, 0,
+ 0, 0,0x5F62, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5F61, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x316B, 0, 0, 0, 0,0x5F64,0x4A32,
+ 0,0x5F63, 0, 0, 0, 0,0x4C35, 0,
+ 0, 0, 0,0x3E47, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4133, 0, 0, 0, 0,
+ 0,0x3E46, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4E7B, 0,
+ 0,0x5F6A, 0,0x4079, 0, 0, 0, 0,
+ 0, 0,0x5F66,0x5F6B, 0, 0,0x316C, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5F69,
+ 0,0x4761,0x5F65,0x5F68,0x3E48, 0,0x4851, 0,
+ 0,0x5F6C, 0,0x3C51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x407A, 0, 0, 0, 0, 0,
+ 0,0x5F6F, 0, 0, 0,0x5F67, 0,0x3727,
+ 0, 0, 0, 0,0x5F6D, 0, 0, 0,
+ 0,0x4D50,0x5F70, 0, 0, 0,0x7426, 0,
+ 0, 0, 0, 0,0x3D4F, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5F71, 0, 0,
+ 0,0x5F72, 0, 0, 0, 0,0x472E, 0,
+ 0, 0, 0, 0, 0, 0,0x5F74, 0,
+ 0, 0, 0,0x5F75, 0, 0, 0, 0,
+0x4733, 0, 0, 0, 0,0x4575,0x5F77, 0,
+ 0, 0, 0,0x5F79, 0,0x4E55, 0,0x5F76,
+ 0,0x5F78,0x316D, 0,0x5F73, 0, 0, 0,
+ 0, 0, 0, 0,0x535B,0x5F7A, 0, 0,
+ 0, 0,0x4167,0x3B38,0x5F7C, 0, 0, 0,
+ 0,0x5F7B,0x3F24,0x5259, 0, 0, 0, 0,
+ 0, 0,0x5F7D, 0, 0, 0,0x6021, 0,
+0x5F6E,0x5F7E, 0, 0,0x6022, 0, 0, 0,
+ 0, 0, 0,0x477A, 0, 0, 0, 0,
+ 0, 0,0x6023, 0, 0,0x6024, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6025, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6026, 0,0x445E,
+ 0,0x6028,0x6027, 0, 0,0x6029, 0,0x602A,
+ 0, 0,0x3C5F,0x4963, 0, 0, 0,0x4C6C,
+0x602B,0x602C,0x4156,0x3C24,0x602D,0x602E, 0, 0,
+ 0, 0, 0,0x602F,0x4A52,0x4847, 0, 0,
+0x6030,0x4757, 0, 0, 0, 0, 0,0x442D,
+ 0, 0, 0, 0, 0,0x6031,0x3267, 0,
+0x356D, 0,0x4C46, 0,0x4C36, 0,0x3234,0x4F34,
+ 0, 0, 0, 0,0x4B52, 0,0x4A2A, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4037,
+ 0,0x6032, 0, 0, 0, 0,0x4643, 0,
+ 0, 0,0x3823,0x6033, 0,0x3A54,0x6035,0x6034,
+ 0, 0, 0, 0,0x6036, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6037,
+ 0, 0, 0,0x6038, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x353E, 0,0x6039,
+ 0, 0, 0, 0,0x603A, 0, 0, 0,
+ 0,0x3824, 0, 0,0x4848, 0, 0,0x603C,
+ 0, 0, 0,0x3E75, 0, 0,0x603B, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3638,
+0x603D,0x603F, 0,0x603E, 0, 0, 0, 0,
+ 0, 0, 0,0x6040, 0,0x3851, 0,0x6041,
+ 0, 0, 0, 0,0x3669, 0,0x4140, 0,
+0x397D, 0, 0, 0, 0,0x6043,0x6044,0x6042,
+ 0, 0, 0, 0, 0, 0,0x3C6D, 0,
+ 0,0x4648,0x3639, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6046,0x432C,0x6045, 0,
+ 0,0x4F35,0x4762, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6049,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x604B,0x6048, 0, 0, 0,
+0x4C54,0x604A,0x604C, 0,0x4E44, 0, 0, 0,
+ 0, 0,0x6050, 0, 0, 0,0x604F,0x4376,
+0x472D, 0, 0,0x3825,0x604E, 0, 0, 0,
+ 0,0x604D, 0,0x4D31,0x4D32, 0, 0, 0,
+ 0, 0, 0,0x6051,0x316E, 0, 0, 0,
+ 0,0x3976,0x3B62, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6052,0x6053, 0, 0, 0,
+ 0, 0, 0, 0,0x6055, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3D43, 0, 0, 0, 0,0x6057, 0,0x6056,
+ 0, 0, 0, 0, 0,0x6058, 0,0x334D,
+ 0, 0,0x605A, 0, 0,0x6059, 0,0x605C,
+0x605B, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x383C, 0, 0,0x4E28, 0,0x364C, 0,
+0x3226, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x366A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3461, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4E68,
+0x605E, 0, 0, 0, 0, 0, 0, 0,
+0x6060, 0, 0, 0, 0,0x6061, 0,0x3251,
+ 0, 0, 0, 0, 0,0x605D, 0,0x3B39,
+ 0, 0,0x4441,0x605F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6064, 0,0x3C6E, 0, 0,
+ 0, 0,0x6062, 0, 0, 0, 0,0x373E,
+ 0, 0,0x4849,0x6063, 0, 0,0x607E, 0,
+ 0, 0, 0, 0, 0,0x6069, 0, 0,
+ 0, 0, 0,0x383D, 0, 0, 0, 0,
+0x3565, 0,0x6066,0x4D7D, 0, 0,0x4E30};
+
+/* page 32 0x7422-0x7845 */
+static uint16 tab_uni_jisx020832[]={
+0x4276, 0, 0,0x6068, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x606A,0x4E56,0x3657,0x487C,0x474A, 0, 0, 0,
+0x606B, 0, 0, 0, 0,0x606D, 0,0x6070,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x606C, 0, 0, 0,0x606F,
+0x386A,0x314D,0x6071, 0,0x3F70,0x606E,0x4E5C, 0,
+ 0,0x6074,0x7424, 0, 0, 0, 0,0x6072,
+0x6075, 0, 0, 0, 0,0x6067,0x6073, 0,
+ 0,0x3A3C, 0, 0,0x6076, 0, 0, 0,
+ 0, 0, 0, 0,0x6077, 0, 0, 0,
+ 0,0x4D7E, 0, 0, 0, 0, 0, 0,
+ 0,0x6078, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6079, 0, 0, 0,
+0x6065, 0, 0, 0, 0,0x607A, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3444, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3C25, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x607B, 0, 0, 0, 0,0x607C, 0, 0,
+ 0, 0,0x607D, 0, 0, 0, 0, 0,
+ 0, 0,0x313B, 0, 0, 0,0x6121, 0,
+0x493B,0x6122, 0, 0,0x3424,0x6123, 0,0x6124,
+ 0, 0, 0, 0,0x6125, 0,0x6127,0x6128,
+0x6126, 0, 0, 0,0x4953,0x612A,0x6129, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x612C,0x612B,0x612D, 0, 0, 0, 0,
+ 0, 0,0x612E,0x6130,0x612F, 0, 0,0x3979,
+ 0,0x6132, 0,0x6131, 0, 0,0x3445, 0,
+0x3F53, 0,0x453C, 0,0x6133,0x4038, 0, 0,
+ 0,0x3B3A, 0,0x3179,0x6134, 0,0x4D51, 0,
+ 0,0x4A63,0x6135, 0, 0, 0,0x4544,0x4D33,
+0x3943,0x3F3D, 0, 0, 0,0x434B,0x5234, 0,
+0x442E,0x3268,0x6136, 0, 0, 0, 0, 0,
+ 0, 0,0x6137, 0,0x613C, 0, 0,0x613A,
+0x6139,0x5A42,0x3326,0x6138, 0,0x305A, 0,0x482A,
+ 0, 0,0x484A, 0, 0, 0, 0,0x4E31,
+0x613D,0x613B,0x435C,0x4026, 0, 0,0x482B, 0,
+0x492D, 0,0x613F,0x4E2C,0x374D,0x6140, 0,0x613E,
+0x4856,0x6141, 0,0x6142, 0, 0,0x305B, 0,
+ 0,0x3E76,0x6147, 0,0x6144,0x466D,0x6143, 0,
+ 0, 0, 0, 0, 0,0x3526, 0, 0,
+0x614A, 0, 0, 0,0x6145,0x6146, 0,0x6149,
+0x6148,0x4925, 0, 0,0x4142,0x4141, 0,0x353F,
+ 0, 0,0x614B, 0, 0, 0, 0, 0,
+0x614C, 0, 0,0x614D, 0, 0, 0, 0,
+ 0,0x614F, 0,0x614E, 0, 0, 0, 0,
+ 0,0x3156, 0, 0, 0, 0, 0,0x6157,
+0x4868,0x6151, 0,0x6153, 0, 0,0x6155,0x3F3E,
+ 0, 0,0x6156,0x6154,0x3C40, 0, 0, 0,
+0x6150,0x6152, 0,0x4942, 0,0x3E49, 0, 0,
+0x6159, 0, 0,0x6158, 0, 0, 0, 0,
+0x615A, 0,0x3C26,0x3A2F, 0, 0,0x4577,0x615B,
+ 0,0x444B, 0, 0,0x615D, 0, 0, 0,
+0x4E21,0x615C, 0, 0, 0, 0, 0,0x4169,
+ 0, 0, 0, 0, 0, 0,0x6162, 0,
+0x6164,0x6165,0x4354, 0, 0, 0, 0, 0,
+0x6163, 0,0x6160, 0,0x615E,0x615F, 0,0x6161,
+ 0, 0, 0, 0, 0, 0, 0,0x6168,
+ 0,0x6166, 0,0x6167, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6169,0x616B,0x616C,
+0x616D, 0,0x616E, 0, 0,0x616A, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6170, 0,
+ 0, 0,0x616F, 0, 0, 0, 0, 0,
+ 0,0x6171, 0, 0, 0, 0, 0, 0,
+0x4E45, 0, 0, 0,0x6174,0x6172,0x6173, 0,
+ 0, 0,0x3462, 0, 0, 0, 0, 0,
+0x4C7E, 0, 0, 0,0x4A4A, 0,0x6176, 0,
+ 0, 0,0x6175, 0, 0, 0, 0,0x6177,
+0x6178, 0, 0, 0, 0,0x617C,0x6179,0x617A,
+0x617B, 0,0x617D, 0, 0, 0,0x617E, 0,
+0x6221, 0, 0, 0,0x6222, 0,0x6223, 0,
+0x482F,0x4550,0x6224,0x4772,0x4934, 0,0x6225, 0,
+ 0,0x6226,0x452A, 0,0x3327,0x3944,0x6227, 0,
+ 0,0x6228, 0, 0,0x6229, 0,0x3B29, 0,
+ 0,0x622B, 0, 0,0x622A, 0, 0,0x622C,
+0x622D, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4869, 0,0x622E, 0,
+ 0, 0,0x622F, 0, 0,0x7369,0x6230,0x6231,
+0x6232, 0, 0, 0, 0,0x3B2E, 0, 0,
+0x6233,0x4756, 0, 0,0x4B5F, 0,0x314E, 0,
+0x3157, 0, 0,0x6234, 0, 0, 0, 0,
+0x6236, 0, 0, 0,0x6235,0x4570, 0, 0,
+ 0,0x4039,0x5D39, 0,0x6237,0x4C41, 0,0x6238,
+ 0,0x3446,0x4857,0x6239, 0,0x623A, 0, 0,
+0x623B, 0, 0, 0,0x4C5C, 0, 0, 0,
+0x4C55, 0,0x443E, 0, 0, 0,0x416A, 0,
+ 0,0x623D, 0, 0,0x3D62, 0, 0,0x3E4A,
+ 0, 0,0x6240, 0, 0,0x623F,0x623E,0x487D,
+ 0,0x3447,0x3829, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6246, 0, 0,0x6243,0x3F3F,0x4C32, 0,
+ 0, 0,0x6242,0x6244,0x6245, 0, 0,0x6241,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6247,0x6248, 0,
+0x442F, 0,0x3463, 0, 0, 0,0x4365, 0,
+ 0, 0, 0, 0, 0,0x6249, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x624A,0x624D, 0, 0, 0, 0, 0,0x3F67,
+ 0,0x4644, 0,0x624E,0x4B53, 0,0x624B, 0,
+ 0,0x624C, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6251,
+ 0, 0, 0, 0,0x6250,0x624F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6253, 0, 0,0x6252, 0, 0,0x6254,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6256, 0,0x6255, 0,
+ 0, 0, 0,0x4A4D, 0, 0, 0, 0,
+ 0, 0,0x3D56,0x4E46, 0, 0,0x6257, 0,
+ 0,0x4637, 0, 0,0x6258, 0, 0,0x6259,
+ 0,0x625D,0x625B,0x625C, 0,0x625A, 0, 0,
+ 0, 0, 0, 0, 0,0x625E, 0, 0,
+ 0, 0, 0,0x625F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6260, 0, 0,
+0x6261,0x4C37,0x6262, 0, 0, 0, 0, 0,
+0x4C70,0x6263, 0,0x434E, 0,0x476A, 0,0x366B,
+ 0, 0, 0,0x433B,0x6264,0x363A, 0, 0,
+ 0,0x4050, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6265, 0, 0, 0, 0, 0,
+0x3A3D, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6266, 0, 0, 0, 0, 0,
+0x6267, 0,0x3826,0x3A55, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6269, 0,
+ 0, 0, 0,0x4556,0x3A56,0x354E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4B24, 0,0x474B, 0, 0, 0, 0, 0,
+0x4557, 0, 0, 0, 0,0x395C, 0, 0,
+ 0, 0, 0,0x626B};
+
+/* page 33 0x785D-0x7E9C */
+static uint16 tab_uni_jisx020833[]={
+0x3E4B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4E32,0x3945,
+ 0, 0,0x3827, 0, 0,0x4823, 0,0x626D,
+ 0, 0, 0, 0, 0, 0, 0,0x626F,
+ 0, 0, 0, 0,0x386B, 0, 0, 0,
+ 0,0x626E,0x4476, 0, 0, 0, 0,0x6271,
+0x3337,0x626C, 0, 0,0x486A, 0,0x3130, 0,
+0x3A6C, 0,0x4F52, 0, 0,0x6270, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6272, 0,
+ 0, 0,0x4A4B, 0,0x4059,0x6274, 0, 0,
+ 0, 0,0x6275, 0, 0, 0, 0, 0,
+0x6273, 0, 0, 0, 0,0x334E, 0,0x627B,
+ 0,0x627A, 0, 0,0x3C27, 0, 0, 0,
+0x627C,0x6277, 0, 0, 0,0x627D,0x6278, 0,
+ 0, 0, 0,0x4858,0x6276, 0, 0,0x6279,
+ 0, 0, 0, 0, 0,0x6322, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6321,0x4B61, 0, 0, 0,0x627E,
+ 0, 0,0x306B, 0, 0, 0, 0,0x6324,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6323, 0, 0, 0,0x3E4C, 0, 0, 0,
+ 0, 0,0x6325, 0, 0, 0, 0, 0,
+ 0,0x4143, 0, 0,0x6327,0x6326, 0, 0,
+ 0, 0, 0, 0,0x6328, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6268, 0, 0, 0,0x626A,0x632A,0x6329,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3C28, 0,0x4E69,
+ 0,0x3C52, 0,0x632B,0x3737, 0, 0, 0,
+ 0, 0,0x3540,0x3527,0x3B63, 0, 0, 0,
+ 0, 0, 0,0x4D34, 0, 0,0x6331, 0,
+0x6330,0x4144,0x632D, 0, 0,0x632F, 0, 0,
+0x3D4B,0x3F40,0x632E,0x632C, 0,0x472A, 0, 0,
+0x3E4D, 0, 0,0x493C, 0, 0, 0, 0,
+0x3A57, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4578, 0, 0,0x6332, 0, 0,
+ 0, 0,0x6333,0x6349,0x3658, 0, 0,0x4F3D,
+0x4135, 0, 0, 0, 0,0x6334, 0, 0,
+0x3252,0x4477,0x4A21, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6335, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x357A,0x6336, 0, 0,0x6338, 0, 0,
+ 0,0x6339, 0,0x4729, 0, 0,0x633A, 0,
+ 0, 0, 0, 0,0x633B,0x633C, 0, 0,
+0x3659,0x3253,0x4645,0x3D28,0x3B64, 0, 0, 0,
+ 0, 0, 0, 0,0x633D, 0,0x3D29, 0,
+ 0, 0, 0, 0,0x324A,0x4943, 0, 0,
+0x633E, 0, 0,0x486B, 0, 0, 0, 0,
+ 0, 0,0x4145, 0,0x6341, 0,0x6342,0x4769,
+ 0,0x3F41,0x633F, 0,0x4361, 0, 0,0x6340,
+ 0, 0, 0,0x3E4E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x305C, 0,
+ 0, 0, 0,0x3529, 0, 0, 0, 0,
+ 0, 0, 0,0x6343, 0, 0,0x4478, 0,
+0x6344,0x4047, 0, 0, 0, 0, 0,0x4C2D,
+ 0, 0,0x4923,0x6345,0x6346,0x4355, 0,0x4E47,
+ 0, 0,0x6348,0x6347, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3C6F, 0, 0,0x634A,0x3070, 0, 0,
+ 0, 0,0x634D, 0, 0, 0,0x634B,0x3254,
+0x374E,0x634C,0x3946,0x3972, 0,0x4A66,0x634E, 0,
+ 0,0x4B54, 0, 0,0x6350, 0, 0, 0,
+0x4051,0x314F,0x323A,0x302C, 0, 0, 0, 0,
+ 0, 0,0x634F, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6351,0x6352,0x3E77, 0,
+ 0, 0, 0, 0,0x6353, 0,0x334F, 0,
+ 0, 0, 0,0x6355, 0, 0, 0,0x376A,
+ 0,0x3566, 0, 0,0x6356,0x3675, 0, 0,
+0x6357, 0,0x407C, 0,0x464D, 0,0x4060,0x3A75,
+ 0, 0, 0,0x6358, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4362,0x416B, 0,
+0x635A,0x635C,0x6359,0x635B, 0, 0, 0, 0,
+ 0, 0,0x3722, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x635D,0x3726, 0, 0,
+ 0,0x3567,0x4D52,0x635F, 0, 0, 0, 0,
+ 0,0x6360, 0, 0, 0,0x312E, 0, 0,
+ 0, 0,0x6363, 0, 0, 0,0x3376,0x6362,
+0x6361, 0,0x6365,0x635E, 0,0x6366,0x4E29, 0,
+0x6367, 0,0x6368, 0, 0,0x5474,0x636A, 0,
+0x6369, 0, 0, 0,0x636B,0x636C, 0,0x4E35,
+0x636D, 0,0x706F,0x3E4F,0x636E,0x636F,0x3D57, 0,
+0x4638,0x6370, 0, 0, 0,0x4328, 0, 0,
+0x6371, 0,0x433C,0x6372, 0, 0, 0, 0,
+ 0,0x3625, 0,0x513F,0x435D,0x3C33, 0, 0,
+ 0, 0,0x3448, 0, 0,0x6373, 0,0x6422,
+ 0,0x6376, 0,0x3568, 0,0x6375,0x6424, 0,
+ 0, 0,0x6374, 0,0x3E50, 0, 0, 0,
+ 0, 0, 0,0x6378,0x6379, 0,0x452B, 0,
+ 0,0x637A, 0,0x335E, 0, 0, 0, 0,
+0x3F5A,0x4964, 0,0x637C, 0, 0, 0,0x4268,
+ 0, 0, 0, 0, 0, 0,0x6377, 0,
+0x637B,0x637D, 0, 0,0x3A7B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6426,0x492E, 0,0x4826,0x4579, 0,0x365A,0x6425,
+0x6423, 0,0x4835,0x637E,0x435E,0x457B, 0,0x457A,
+ 0,0x3A76, 0, 0, 0, 0, 0, 0,
+0x6438, 0, 0, 0, 0, 0, 0, 0,
+0x6428, 0,0x642A, 0, 0, 0, 0,0x642D,
+ 0,0x642E, 0,0x642B,0x642C, 0, 0,0x6429,
+0x6427, 0, 0, 0, 0,0x6421, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4A4F,0x3255, 0, 0, 0,0x6435, 0,
+0x6432, 0,0x6437, 0, 0,0x6436, 0,0x4773,
+0x4C27, 0,0x3B3B,0x6430,0x6439,0x6434, 0,0x6433,
+0x642F, 0,0x6431, 0,0x3449, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x433D, 0, 0,
+0x407D, 0, 0, 0,0x4822, 0, 0,0x643E,
+ 0, 0, 0,0x4824, 0, 0, 0, 0,
+ 0, 0, 0,0x4061,0x643B, 0, 0,0x484F,
+ 0,0x643F,0x4A53, 0,0x435B, 0,0x643A,0x643C,
+ 0, 0,0x643D, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6440, 0, 0,0x3C44, 0, 0, 0,0x4646,
+0x6445,0x6444, 0, 0,0x6441, 0, 0, 0,
+0x4F36, 0, 0, 0, 0, 0,0x644A, 0,
+ 0,0x644E,0x644B, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6447, 0, 0, 0, 0,
+ 0, 0,0x6448, 0, 0, 0, 0, 0,
+0x644D, 0, 0, 0,0x6442,0x5255,0x6449,0x6443,
+ 0, 0,0x644C, 0, 0, 0, 0, 0,
+ 0, 0,0x6452, 0,0x344A, 0,0x644F, 0,
+ 0, 0,0x6450, 0, 0,0x6451,0x6454, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6453,0x4876, 0, 0, 0, 0,
+0x6455,0x4E7C,0x4A6D,0x645A, 0, 0,0x6457, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6456,
+0x4052, 0,0x6459,0x645B, 0, 0, 0,0x6458,
+ 0,0x645F, 0,0x645C, 0, 0, 0, 0,
+ 0, 0,0x645D,0x6446, 0, 0, 0,0x645E,
+0x6460, 0, 0, 0, 0, 0, 0,0x6461,
+ 0, 0, 0, 0, 0, 0,0x4A46, 0,
+0x6462, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4C62, 0, 0,0x364E,0x3729,0x6463, 0,
+ 0, 0, 0, 0,0x4A34, 0,0x3F68, 0,
+0x4C30, 0, 0,0x6464, 0,0x4E33, 0, 0,
+0x4774, 0,0x4146,0x4734, 0, 0,0x3D4D, 0,
+ 0, 0,0x3040, 0,0x6469,0x6467, 0,0x6465,
+0x3421, 0,0x3E51,0x646A, 0, 0,0x6468, 0,
+0x6466,0x646E, 0, 0,0x646D,0x646C,0x646B, 0,
+ 0, 0, 0, 0,0x646F, 0, 0, 0,
+0x6470,0x403A, 0,0x6471, 0,0x6473, 0, 0,
+0x6472, 0, 0, 0, 0,0x3852, 0, 0,
+ 0,0x4138, 0, 0, 0,0x6475, 0, 0,
+ 0,0x457C, 0,0x6474, 0, 0, 0,0x6476,
+ 0,0x4A35,0x416C,0x3947, 0,0x6477, 0, 0,
+ 0, 0,0x4E48, 0, 0, 0, 0, 0,
+ 0, 0,0x6479, 0, 0,0x647A, 0,0x647B,
+ 0,0x647C, 0,0x3B65, 0,0x647D,0x374F, 0,
+ 0,0x356A, 0,0x352A, 0,0x6521, 0,0x4C73,
+0x3948,0x647E, 0, 0, 0,0x6524,0x4C66, 0,
+0x473C, 0, 0,0x4933, 0, 0, 0,0x3D63,
+0x6523, 0,0x3C53,0x3949,0x3B66,0x3569,0x4A36,0x6522,
+ 0, 0, 0,0x4147,0x4B42,0x3A77, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3B67,0x445D,
+ 0,0x6527,0x4E5F,0x3A59, 0,0x6528,0x3F42, 0,
+0x652A, 0, 0, 0,0x3E52,0x3A30, 0, 0,
+ 0, 0,0x6529, 0, 0,0x3D2A,0x383E,0x4148,
+0x6525,0x652B, 0, 0, 0, 0,0x6526,0x3750,
+ 0,0x652E,0x6532,0x376B, 0, 0, 0, 0,
+ 0,0x652D, 0, 0, 0, 0,0x6536, 0,
+ 0,0x394A, 0, 0,0x4D6D,0x303C,0x6533, 0,
+ 0,0x356B, 0,0x6530, 0, 0, 0, 0,
+ 0,0x6531, 0, 0,0x457D,0x652F,0x652C, 0,
+0x3328,0x4064, 0, 0,0x3828, 0, 0, 0,
+0x6538, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6535, 0, 0, 0,
+ 0, 0,0x6537, 0, 0, 0,0x6534, 0,
+ 0, 0, 0, 0,0x3751,0x4233,0x6539,0x416E,
+ 0, 0,0x6546, 0, 0,0x6542,0x653C, 0,
+ 0, 0, 0, 0, 0, 0,0x6540,0x3C7A,
+0x305D,0x653B,0x6543,0x6547,0x394B,0x4C56, 0,0x4456,
+0x653D, 0, 0,0x6545, 0,0x653A,0x433E, 0,
+0x653F,0x303D,0x4C4A, 0, 0, 0, 0, 0,
+ 0, 0,0x653E, 0, 0,0x365B,0x486C, 0,
+ 0, 0,0x416D, 0,0x4E50,0x3D6F, 0, 0,
+0x656E, 0, 0,0x6548, 0,0x407E, 0,0x6544,
+0x6549,0x654B, 0,0x4479,0x654E, 0, 0,0x654A,
+ 0, 0, 0,0x4A54,0x344B, 0, 0,0x4C4B,
+ 0, 0,0x305E, 0, 0,0x654D, 0,0x4E7D,
+ 0, 0, 0, 0, 0, 0,0x654C, 0,
+ 0, 0, 0, 0,0x316F, 0, 0,0x466C,
+0x654F, 0, 0, 0,0x6556,0x6550,0x6557, 0,
+ 0, 0, 0, 0, 0,0x6553, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x477B, 0,
+ 0,0x3C4A,0x6555, 0,0x6552,0x6558,0x6551, 0,
+ 0,0x3D44, 0, 0, 0, 0,0x4B25, 0,
+ 0,0x3D4C, 0, 0,0x6554,0x6560, 0, 0,
+0x655C, 0,0x655F, 0,0x655D,0x6561,0x655B, 0,
+0x6541,0x4053, 0, 0,0x484B, 0,0x655E, 0,
+ 0,0x6559, 0, 0, 0,0x4121,0x3752, 0,
+0x3D2B, 0, 0, 0, 0, 0, 0,0x3F25,
+0x4136,0x6564, 0, 0,0x6566,0x6567, 0, 0,
+0x6563,0x6565, 0, 0, 0, 0, 0, 0,
+ 0,0x655A,0x6562, 0,0x656A,0x6569, 0, 0,
+0x4B7A, 0, 0,0x372B, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6568, 0,0x656C,0x656B,
+0x656F, 0,0x6571, 0, 0,0x3B3C,0x656D, 0,
+ 0, 0, 0,0x6572,0x6573, 0, 0,0x6574,
+ 0,0x657A,0x453B,0x6576, 0,0x6575,0x6577,0x6578,
+ 0,0x6579, 0, 0, 0, 0,0x657B,0x657C
+};
+
+/* page 34 0x7F36-0x8358 */
+static uint16 tab_uni_jisx020834[]={
+0x344C, 0,0x657D, 0,0x657E, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6621,
+ 0, 0, 0, 0, 0, 0,0x6622,0x6623,
+0x6624, 0,0x6625,0x6626, 0, 0,0x6628,0x6627,
+ 0, 0,0x6629, 0, 0, 0, 0, 0,
+ 0,0x662A,0x662B, 0, 0, 0, 0, 0,
+ 0,0x662E,0x662C,0x662D,0x3A61,0x3753, 0, 0,
+0x4356, 0,0x4833, 0,0x3D70, 0, 0,0x474D,
+ 0,0x486D,0x662F,0x586D, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6630,0x6632, 0,0x4D65,
+0x6631,0x6634,0x6633, 0,0x4D53, 0,0x6635, 0,
+0x487E, 0, 0, 0, 0, 0,0x6636, 0,
+ 0, 0, 0, 0,0x6639, 0, 0,0x6638,
+0x6637, 0, 0, 0, 0,0x663A,0x3732, 0,
+ 0, 0,0x4122,0x3541, 0, 0, 0, 0,
+0x663E,0x663B, 0, 0,0x663C, 0, 0, 0,
+0x663F, 0,0x6640,0x663D, 0, 0, 0,0x3129,
+ 0, 0, 0,0x3227, 0, 0, 0,0x6642,
+0x6643, 0, 0, 0,0x6644, 0,0x4D62, 0,
+ 0, 0, 0, 0,0x3D2C, 0,0x6646,0x6645,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3F69,0x6647, 0, 0, 0, 0,
+0x6648, 0, 0,0x6649, 0,0x3465, 0, 0,
+ 0, 0,0x344D, 0, 0,0x664A, 0, 0,
+ 0, 0, 0,0x664B, 0,0x4B5D,0x4D63, 0,
+ 0, 0,0x4D54,0x4F37, 0,0x394D,0x664E,0x3C54,
+0x664D, 0, 0, 0, 0,0x664F,0x3C29, 0,
+ 0, 0,0x4251, 0,0x6650, 0, 0,0x394C,
+ 0,0x4C57,0x6651,0x6652, 0, 0,0x6653, 0,
+ 0, 0, 0,0x6654, 0, 0, 0, 0,
+ 0, 0,0x6655, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3C2A, 0, 0,
+0x4C6D, 0, 0, 0, 0,0x6657, 0,0x433F,
+ 0,0x6656, 0, 0, 0, 0, 0, 0,
+0x6659, 0, 0, 0,0x6658, 0, 0, 0,
+ 0, 0, 0, 0,0x665A, 0, 0, 0,
+0x403B, 0,0x665B, 0,0x665C, 0, 0, 0,
+0x4A39,0x665D, 0,0x416F,0x665E, 0, 0, 0,
+ 0, 0,0x665F, 0, 0, 0, 0, 0,
+ 0,0x4E7E,0x6662, 0,0x6661,0x6660,0x4430, 0,
+0x6663,0x3F26, 0,0x6664, 0, 0, 0,0x6665,
+0x4F38,0x6666, 0, 0, 0, 0,0x6667,0x6669,
+0x6668,0x4825, 0,0x4679, 0,0x4F3E,0x4829, 0,
+ 0, 0, 0, 0, 0,0x666B, 0, 0,
+0x3E53, 0,0x492A, 0,0x666C,0x666A, 0,0x344E,
+ 0, 0, 0,0x3854,0x3B68, 0, 0,0x486E,
+ 0, 0, 0,0x382A,0x4B43, 0,0x666F,0x666D,
+ 0,0x394E, 0,0x394F,0x3069, 0,0x3A68, 0,
+ 0, 0, 0, 0,0x4759, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x305F,0x6674, 0,
+0x4340, 0, 0, 0, 0, 0,0x4758, 0,
+0x425B, 0, 0, 0, 0, 0, 0, 0,
+0x6676, 0, 0,0x6672,0x6675,0x6670, 0,0x6673,
+0x4B26, 0, 0,0x3855, 0, 0,0x307D,0x6671,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6678, 0,0x6679, 0, 0,0x4639, 0,
+ 0, 0,0x363B, 0, 0, 0,0x6726,0x473D,
+ 0, 0, 0, 0,0x3B69, 0, 0,0x363C,
+0x4048,0x4F46,0x4C2E,0x6677,0x4054, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3553,0x667A, 0, 0,
+ 0, 0, 0, 0, 0,0x667C, 0, 0,
+ 0, 0, 0,0x667B, 0, 0, 0, 0,
+ 0,0x667D, 0,0x4326, 0,0x473E, 0, 0,
+ 0, 0, 0,0x4431, 0, 0, 0, 0,
+0x6723, 0, 0, 0, 0, 0, 0, 0,
+0x6722, 0, 0, 0, 0,0x667E, 0, 0,
+0x3F55, 0,0x4965,0x6725, 0,0x6724,0x3950,0x4F53,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6735, 0, 0, 0, 0, 0,0x6729,
+0x672A, 0, 0, 0, 0,0x3C70, 0, 0,
+0x6728, 0,0x3978,0x6727, 0, 0,0x672B, 0,
+ 0, 0,0x4432,0x4A22,0x4123, 0, 0, 0,
+ 0,0x425C,0x672F, 0,0x6730,0x672C, 0, 0,
+ 0, 0,0x672D, 0,0x672E, 0, 0, 0,
+ 0,0x3951, 0, 0, 0,0x6736, 0,0x6732,
+ 0, 0, 0, 0,0x4966, 0,0x4B6C,0x4928,
+ 0, 0,0x6731, 0, 0,0x6734,0x6733, 0,
+ 0, 0,0x4B44,0x6737, 0, 0, 0, 0,
+ 0, 0,0x6738, 0, 0,0x4137, 0,0x6739,
+ 0, 0,0x673B, 0,0x673F, 0, 0,0x673C,
+0x673A,0x473F,0x673D, 0,0x673E, 0, 0, 0,
+0x3232, 0,0x6745,0x6740, 0, 0, 0,0x6741,
+ 0, 0, 0,0x6742, 0,0x4221, 0, 0,
+ 0, 0,0x6744,0x6743,0x6746, 0, 0, 0,
+ 0,0x6747,0x6748, 0, 0,0x3F43, 0,0x3269,
+ 0,0x6749,0x4E57, 0,0x3C2B, 0, 0,0x3D2D,
+ 0, 0, 0, 0, 0,0x3B6A,0x4357, 0,
+ 0, 0, 0, 0,0x674A,0x674B,0x3131, 0,
+0x674C, 0, 0,0x674D,0x674E, 0, 0,0x674F,
+ 0,0x6750,0x363D,0x5A2A,0x6751, 0,0x4065,0x6752,
+0x3C4B, 0,0x6753, 0,0x5030, 0, 0, 0,
+0x6754,0x4A5E,0x345C, 0, 0,0x4124,0x3D58, 0,
+0x4971,0x3D2E, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6755,0x3952,0x6756,0x484C, 0,
+0x6764, 0, 0, 0, 0,0x6758, 0,0x4249,
+0x4775,0x383F,0x6757,0x4125, 0, 0, 0, 0,
+ 0, 0,0x6759, 0, 0, 0, 0, 0,
+ 0,0x447A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x675B,0x675A,0x675D, 0, 0,0x675C,
+ 0,0x675E, 0, 0,0x6760, 0,0x675F, 0,
+0x344F, 0,0x6761, 0,0x6762,0x6763, 0, 0,
+0x3A31,0x4E49, 0,0x6765,0x3F27, 0, 0, 0,
+0x3170,0x6766,0x6767, 0, 0, 0, 0, 0,
+0x6768, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3072, 0,0x6769,
+ 0, 0, 0, 0,0x676A, 0, 0, 0,
+ 0, 0, 0,0x4967, 0, 0, 0,0x3C47,
+ 0,0x676C, 0, 0, 0, 0, 0,0x3329,
+0x3032, 0, 0, 0, 0,0x676B,0x676E,0x474E,
+ 0,0x3F44, 0,0x3256, 0,0x4B27, 0, 0,
+ 0, 0,0x375D,0x365C, 0,0x676D, 0,0x326A,
+ 0, 0, 0, 0, 0, 0, 0,0x3423,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3171,0x6772,0x4E6A,0x425D, 0,
+ 0,0x4944, 0,0x677E, 0,0x3257,0x677C, 0,
+0x677A,0x6771, 0,0x676F, 0,0x6770, 0,0x3C63,
+0x366C,0x4377, 0, 0, 0,0x4651, 0, 0,
+ 0, 0, 0,0x3151, 0,0x6774,0x6773, 0,
+ 0, 0, 0,0x6779,0x6775,0x6778, 0, 0,
+ 0, 0, 0, 0,0x4C50,0x6777,0x3258,0x337D,
+0x677B, 0, 0,0x677D, 0, 0, 0, 0,
+0x3754, 0, 0, 0, 0, 0, 0, 0,
+0x6823,0x682C,0x682D, 0, 0, 0,0x302B, 0,
+ 0, 0, 0, 0, 0,0x6834, 0, 0,
+ 0, 0,0x3071, 0, 0,0x682B, 0, 0,
+ 0,0x682A, 0,0x6825,0x6824, 0,0x6822,0x6821,
+0x4363, 0,0x427B,0x6827, 0, 0, 0, 0,
+ 0, 0,0x6826, 0, 0, 0, 0,0x6829,
+ 0, 0, 0,0x4170,0x3755, 0, 0, 0,
+ 0,0x3141,0x6828, 0,0x3953, 0, 0, 0,
+ 0, 0,0x4171};
+
+/* page 35 0x8373-0x8B9A */
+static uint16 tab_uni_jisx020835[]={
+0x683A, 0,0x683B, 0,0x3259, 0, 0, 0,
+0x322E,0x6838, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x682E, 0,0x6836, 0,0x683D,0x6837,
+ 0, 0, 0,0x6835, 0, 0, 0, 0,
+0x6776, 0, 0,0x6833, 0, 0, 0,0x682F,
+ 0, 0, 0,0x3450,0x6831,0x683C, 0,0x6832,
+ 0, 0, 0, 0, 0,0x683E, 0,0x6830,
+0x477C, 0, 0, 0, 0, 0,0x4D69, 0,
+ 0, 0,0x6839, 0, 0, 0, 0, 0,
+ 0, 0,0x684F, 0, 0, 0,0x6847, 0,
+ 0, 0,0x3F7B, 0, 0, 0, 0,0x3546,
+ 0,0x365D, 0,0x6842, 0, 0, 0, 0,
+0x325B, 0, 0,0x3E54, 0,0x6845, 0, 0,
+ 0,0x3A5A, 0, 0,0x4551,0x684A, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4A6E, 0,
+0x6841, 0, 0, 0,0x325A,0x3856,0x4929,0x684B,
+ 0,0x683F, 0, 0,0x6848, 0, 0, 0,
+0x6852, 0,0x6843, 0, 0, 0, 0, 0,
+0x6844,0x463A, 0, 0,0x6849, 0, 0, 0,
+0x6846,0x4B28,0x684C,0x3060, 0, 0, 0, 0,
+0x6840, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x684E, 0,0x684D,
+ 0, 0, 0, 0, 0, 0,0x476B,0x6854,
+ 0,0x685F, 0, 0, 0, 0,0x337E, 0,
+ 0, 0,0x6862, 0, 0,0x6850, 0, 0,
+ 0,0x6855,0x4D6E, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x685E, 0, 0,0x4D55, 0,
+ 0, 0, 0,0x4E2A, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4378, 0, 0, 0,
+0x336B, 0, 0, 0, 0, 0,0x4972,0x6864,
+0x4621, 0, 0,0x3031, 0, 0,0x685D, 0,
+0x6859,0x4172,0x6853,0x685B,0x6860, 0,0x472C, 0,
+ 0, 0,0x302A, 0,0x6858, 0,0x6861,0x4978,
+ 0, 0, 0, 0, 0, 0, 0,0x685C,
+ 0,0x6857, 0, 0, 0, 0, 0, 0,
+0x3E55, 0, 0, 0, 0,0x3D2F, 0, 0,
+ 0,0x3C2C, 0, 0, 0, 0,0x4C58, 0,
+ 0,0x4947, 0, 0,0x6867, 0,0x6870, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x685A, 0, 0, 0, 0,0x3377,
+ 0, 0, 0, 0, 0,0x3E78,0x6865, 0,
+0x686A,0x4173, 0, 0,0x6866, 0,0x686D, 0,
+ 0,0x435F, 0,0x686E, 0, 0,0x4D56,0x6863,
+0x3338, 0,0x6869, 0, 0,0x686C,0x4C2C, 0,
+ 0, 0, 0,0x686F, 0, 0,0x6868,0x686B,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4B29, 0,0x4F21, 0, 0, 0, 0,
+ 0,0x6873, 0, 0, 0, 0, 0, 0,
+ 0,0x687A, 0, 0,0x6872,0x3C43, 0, 0,
+ 0, 0, 0,0x6851, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4A4E, 0,
+0x4C22,0x6879,0x6878, 0,0x6874,0x6875, 0,0x3136,
+ 0, 0, 0, 0,0x6877, 0,0x6871, 0,
+ 0, 0, 0,0x4455, 0, 0, 0, 0,
+ 0,0x6876,0x307E, 0, 0, 0, 0, 0,
+ 0, 0,0x4222, 0, 0, 0, 0, 0,
+ 0, 0,0x4A43, 0, 0,0x687B,0x6921, 0,
+0x4859, 0, 0, 0, 0,0x687E,0x3E56,0x3C49,
+0x6923, 0, 0,0x363E, 0, 0, 0, 0,
+ 0, 0,0x6924, 0,0x4979,0x687D, 0,0x6856,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x687C, 0, 0, 0, 0,0x4F4F,0x4622,0x4973,
+ 0, 0,0x692B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6931, 0, 0, 0,
+ 0, 0, 0,0x6932, 0,0x6925, 0, 0,
+ 0,0x4776, 0, 0,0x692F,0x6927, 0,0x6929,
+ 0, 0, 0, 0, 0,0x6933,0x6928, 0,
+ 0,0x692C, 0, 0,0x3172, 0,0x4665, 0,
+0x692D,0x6930, 0, 0, 0, 0, 0, 0,
+ 0,0x6926, 0,0x4126, 0,0x692A,0x3B27,0x3F45,
+0x3730,0x4C74, 0,0x4C79,0x3D72, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6937,0x6935,
+ 0, 0, 0, 0, 0, 0,0x4F4E, 0,
+ 0, 0, 0, 0, 0, 0,0x6934, 0,
+ 0, 0,0x4D75, 0,0x6936,0x6938, 0, 0,
+ 0, 0,0x6939, 0, 0, 0, 0, 0,
+ 0,0x693C,0x693A, 0, 0, 0, 0, 0,
+ 0,0x4623,0x693B, 0, 0, 0,0x484D,0x692E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3D73, 0,0x693D,0x6942,
+0x4174, 0, 0,0x6941, 0, 0, 0,0x6922,
+ 0, 0, 0,0x6943,0x4149, 0, 0,0x693E,
+0x6940, 0, 0, 0, 0, 0, 0, 0,
+0x693F, 0, 0,0x5D31,0x5D22, 0, 0,0x6945,
+ 0, 0, 0, 0, 0, 0, 0,0x6944,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4D76, 0,0x623C,0x6946, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6947, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6948,0x3857, 0,0x3554, 0, 0,
+ 0,0x694A,0x515D, 0, 0, 0, 0,0x3575,
+ 0,0x4E3A, 0,0x3673,0x694B, 0, 0, 0,
+ 0, 0, 0, 0,0x694C, 0, 0, 0,
+0x436E, 0, 0, 0, 0, 0,0x694D, 0,
+ 0, 0, 0, 0, 0, 0,0x467A, 0,
+0x303A, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3263,
+0x6952,0x6953, 0, 0, 0, 0, 0, 0,
+0x694E, 0,0x3B3D, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x694F,0x4742, 0, 0, 0, 0,0x6950,0x6951,
+0x695B, 0, 0, 0,0x6955,0x6958, 0, 0,
+ 0, 0, 0,0x6954, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6956, 0,0x6957,0x3C58, 0,0x6959, 0,
+0x4341, 0,0x3756,0x3342, 0, 0, 0, 0,
+ 0,0x695C, 0, 0, 0, 0,0x333F, 0,
+0x6961, 0, 0,0x695D,0x6960, 0, 0, 0,
+ 0,0x483A, 0, 0, 0, 0,0x695E, 0,
+ 0,0x695F,0x4948,0x485A,0x6962, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x427D,0x696C, 0,
+0x6968, 0, 0,0x326B, 0,0x6966, 0,0x4B2A,
+0x6967, 0, 0,0x6964, 0,0x6965,0x696A,0x696D,
+ 0, 0,0x696B, 0, 0, 0,0x6969,0x6963,
+ 0, 0, 0, 0, 0,0x4358, 0,0x6974,
+ 0,0x4C2A, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6972, 0, 0, 0,0x6973, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x696E, 0, 0,0x6970, 0, 0, 0,
+0x6971, 0, 0, 0,0x696F, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4066, 0,
+0x4F39,0x6978, 0,0x6979, 0, 0, 0, 0,
+0x6A21, 0,0x3F2A, 0,0x697B, 0,0x697E, 0,
+ 0, 0, 0, 0,0x6976,0x6975, 0, 0,
+0x6A22, 0, 0,0x325C, 0,0x697C, 0,0x6A23,
+ 0, 0, 0,0x697D, 0, 0, 0, 0,
+ 0,0x697A, 0,0x4433, 0,0x6977, 0, 0,
+ 0, 0, 0, 0,0x4768, 0, 0,0x6A27,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4D3B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6A26, 0, 0,0x6A25,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6A2E, 0, 0, 0,0x6A28, 0, 0, 0,
+0x6A30, 0, 0, 0, 0, 0, 0,0x4D66,
+0x6A33, 0,0x6A2A, 0, 0,0x6A2B, 0, 0,
+ 0,0x6A2F, 0,0x6A32,0x6A31, 0, 0, 0,
+0x6A29, 0, 0, 0, 0,0x6A2C, 0,0x6A3D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6A36, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6A34, 0, 0,0x6A35,
+ 0, 0, 0,0x6A3A,0x6A3B, 0,0x332A, 0,
+0x3542, 0, 0,0x6A39, 0, 0, 0, 0,
+ 0, 0,0x6A24, 0, 0, 0, 0, 0,
+ 0, 0,0x6A38,0x6A3C,0x6A37, 0,0x6A3E, 0,
+ 0, 0,0x6A40,0x6A3F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6A42,0x6A41,
+0x695A, 0, 0, 0,0x6A46, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6A43, 0,
+ 0, 0, 0,0x6A44, 0, 0,0x6A45, 0,
+0x6A47, 0, 0, 0, 0,0x376C, 0,0x6A49,
+ 0,0x6A48, 0,0x3D30, 0, 0, 0, 0,
+ 0,0x3954,0x5E27, 0, 0, 0, 0,0x6A4A,
+0x3D51, 0, 0, 0,0x3339, 0,0x6A4B, 0,
+0x3152, 0,0x3E57,0x6A4C, 0, 0,0x3955,0x6A4D,
+0x3061, 0, 0, 0, 0,0x493D, 0, 0,
+0x6A4E, 0, 0, 0, 0,0x3F6A, 0,0x6A55,
+ 0, 0,0x6A52, 0,0x436F, 0, 0, 0,
+ 0, 0,0x6A53,0x6A50,0x365E, 0,0x6A4F,0x6A56,
+ 0, 0, 0, 0, 0,0x3736, 0, 0,
+0x425E, 0,0x6A5C, 0, 0, 0, 0,0x6A58,
+ 0, 0, 0,0x4235,0x6A57, 0,0x6A5A, 0,
+ 0, 0, 0,0x6A51, 0, 0, 0,0x6A5B,
+ 0,0x6A5D, 0, 0, 0, 0, 0, 0,
+0x486F, 0, 0,0x6A59, 0,0x6A5E,0x6A60, 0,
+ 0,0x3853,0x6A54, 0,0x3041, 0, 0, 0,
+ 0, 0, 0, 0,0x6A5F, 0,0x3A5B,0x4E76,
+0x6A61,0x6A62,0x4175, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4E22, 0, 0, 0,
+ 0,0x6A63,0x4D35, 0, 0,0x6A64,0x6A65, 0,
+ 0,0x4A64,0x6A66, 0,0x3A40, 0,0x4E23, 0,
+ 0, 0, 0, 0, 0,0x6A6B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6A6C,
+0x3E58,0x6A6A, 0, 0, 0,0x4D67,0x6A67, 0,
+ 0,0x6A69,0x403D,0x3F7E, 0, 0, 0,0x6A68,
+ 0,0x6A6D, 0, 0,0x4A23, 0, 0,0x6A6F,
+ 0,0x6A6E, 0, 0, 0,0x336C, 0,0x4B2B,
+0x6A70, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6A7C,0x6A72, 0, 0, 0, 0,
+ 0, 0,0x6A73, 0, 0, 0, 0,0x6A74,
+0x6A75, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6A79, 0,0x6A7A, 0, 0,
+0x6A78, 0, 0, 0, 0, 0,0x6A76, 0,
+0x6A71,0x6A77, 0, 0, 0, 0, 0, 0,
+ 0,0x6A7B,0x7037, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3228, 0, 0, 0, 0,
+ 0, 0, 0,0x6A7E,0x365F,0x6A7D, 0, 0,
+ 0,0x6B22, 0,0x6B21, 0, 0, 0,0x6B24,
+ 0, 0,0x6B23, 0,0x6B25, 0, 0,0x3D31,
+ 0,0x6B26, 0, 0,0x6B27, 0, 0, 0,
+ 0, 0, 0,0x6B28,0x403E, 0,0x4D57, 0,
+0x6B29, 0, 0,0x4A24,0x4746,0x6B2A, 0,0x6B2B,
+0x382B, 0, 0, 0,0x352C, 0, 0, 0,
+0x6B2C, 0, 0,0x3B6B,0x4741,0x6B2D, 0,0x3350,
+ 0, 0, 0, 0, 0, 0,0x6B2E, 0,
+ 0, 0, 0,0x6B30,0x4D77, 0,0x6B2F,0x3F46,
+ 0,0x6B31, 0, 0,0x6B32, 0, 0,0x6B33,
+0x3451, 0, 0, 0, 0, 0, 0,0x6B34,
+ 0, 0,0x6B35, 0,0x6B36,0x6B37, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3351,
+ 0, 0, 0, 0, 0, 0, 0,0x6B38,
+ 0,0x6B39,0x6B3A, 0, 0, 0, 0, 0,
+0x3272, 0, 0,0x3F28,0x6B3B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6B3C, 0, 0, 0,0x6B3D, 0, 0,
+ 0, 0, 0, 0, 0,0x3840, 0,0x447B,
+0x6B3E, 0, 0, 0, 0,0x3757, 0,0x3F56,
+ 0,0x6B41, 0,0x4624, 0,0x6B40, 0, 0,
+0x3731, 0, 0,0x6B3F,0x4277,0x352D, 0, 0,
+0x6B42, 0,0x6B43, 0,0x3E59, 0, 0, 0,
+0x376D, 0,0x6B44, 0, 0, 0, 0,0x4B2C,
+ 0, 0,0x405F, 0, 0, 0,0x3576, 0,
+0x4C75,0x414A, 0,0x6B45, 0, 0, 0,0x3F47,
+0x4370,0x3E5A, 0, 0, 0, 0,0x6B46, 0,
+ 0, 0, 0,0x6B49, 0,0x6B4A, 0, 0,
+ 0, 0, 0, 0, 0,0x3A3E,0x4242,0x6B48,
+ 0,0x3E5B,0x493E, 0, 0, 0, 0, 0,
+0x6B47, 0, 0,0x3B6C, 0,0x3153, 0,0x6B4E,
+0x3758, 0, 0,0x3B6E, 0, 0,0x3B6D, 0,
+0x4F4D,0x6B4D,0x6B4C,0x4127, 0,0x354D,0x4F43,0x333A,
+0x3E5C, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6B4B, 0, 0, 0, 0, 0,0x6B50,
+ 0,0x6B51,0x6B4F, 0,0x3858, 0,0x4D40, 0,
+ 0,0x3B6F,0x4727, 0, 0, 0,0x6B54, 0,
+0x4040, 0,0x4342, 0, 0,0x4D36, 0,0x6B57,
+ 0, 0, 0,0x386C, 0,0x403F,0x6B53, 0,
+0x6B58,0x386D,0x6B55,0x6B56, 0,0x6B52, 0, 0,
+ 0,0x4062,0x4649, 0, 0,0x432F, 0,0x325D,
+ 0, 0, 0, 0, 0, 0,0x4870, 0,
+ 0,0x3543, 0, 0,0x4434, 0, 0,0x6B5B,
+ 0,0x6B59, 0, 0,0x434C, 0, 0, 0,
+0x4041,0x3452,0x6B5A, 0,0x3F5B, 0, 0,0x4E4A,
+ 0, 0, 0,0x4F40, 0, 0, 0,0x6B5C,
+0x6B67,0x4435, 0,0x6B66, 0,0x6B63,0x6B6B,0x6B64,
+ 0,0x6B60, 0,0x447C,0x6B5F, 0, 0, 0,
+0x6B5D, 0,0x4D21,0x3B70, 0, 0,0x6B61, 0,
+0x6B5E, 0, 0, 0,0x6B65,0x3D74, 0,0x3841,
+ 0, 0, 0,0x427A, 0,0x4B45,0x315A,0x3062,
+ 0,0x4625, 0, 0,0x6B69, 0, 0, 0,
+ 0,0x6B68, 0,0x4666, 0,0x6B6D, 0, 0,
+ 0,0x6B62, 0,0x6B6C,0x6B6E, 0,0x382C,0x6B6A,
+0x3956, 0,0x3C55, 0, 0,0x6B6F,0x4D58, 0,
+ 0, 0, 0,0x6B72, 0,0x6B75, 0, 0,
+0x6B73,0x4935, 0, 0, 0, 0, 0, 0,
+0x6B70, 0, 0, 0, 0, 0,0x3660, 0,
+ 0, 0, 0,0x6B74, 0, 0,0x6B76, 0,
+ 0, 0, 0, 0, 0, 0,0x6B7A, 0,
+ 0,0x6B77, 0,0x6B79,0x6B78, 0, 0, 0,
+ 0, 0, 0,0x6B7B, 0,0x3C31, 0,0x6B7D,
+0x6B7C,0x4968, 0, 0,0x6C21, 0, 0, 0,
+ 0, 0, 0,0x3759, 0, 0, 0, 0,
+0x6B7E,0x6C22, 0, 0,0x6C23,0x3544,0x6641,0x3E79,
+ 0,0x6C24, 0, 0,0x386E, 0, 0, 0,
+ 0, 0,0x6C25, 0, 0,0x6C26, 0, 0,
+0x3B3E, 0, 0, 0, 0, 0, 0,0x5A4E,
+ 0,0x6C27, 0,0x6C28, 0,0x3D32, 0,0x6C29,
+0x6C2A, 0, 0,0x6C2B, 0, 0,0x6C2C,0x6C2D
+};
+
+/* page 36 0x8C37-0x8D16 */
+static uint16 tab_uni_jisx020836[]={
+0x432B, 0, 0,0x6C2E, 0, 0, 0, 0,
+0x6C30, 0,0x6C2F, 0, 0, 0, 0,0x4626,
+ 0,0x6C31, 0,0x4B2D, 0,0x6C32, 0,0x6C33,
+ 0,0x6C34, 0, 0, 0, 0,0x6C35, 0,
+ 0, 0, 0,0x465A, 0, 0, 0, 0,
+ 0, 0,0x3E5D,0x6C36, 0, 0, 0, 0,
+ 0, 0, 0,0x396B,0x502E,0x6C37, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6C38,0x493F,0x6C39, 0,0x6C41, 0, 0,
+ 0, 0, 0,0x6C3A, 0, 0,0x6C3C, 0,
+ 0, 0,0x6C3B,0x6C3D, 0,0x4B46,0x6C3E,0x6C3F,
+ 0, 0, 0, 0, 0,0x6C40, 0, 0,
+ 0,0x6C42, 0, 0, 0, 0,0x332D,0x4467,
+ 0,0x4969,0x3A62,0x3957, 0, 0, 0, 0,
+0x494F,0x325F,0x484E,0x6C45,0x3453,0x4055,0x6C44,0x6C49,
+0x4379,0x4C63, 0,0x6C47,0x6C48,0x352E, 0,0x6C4A,
+0x4763,0x425F, 0, 0,0x4871,0x453D,0x6C46, 0,
+0x4B47,0x326C,0x6C4C,0x4F28,0x4442,0x4F45, 0, 0,
+0x3B71,0x6C4B, 0,0x4231, 0, 0,0x6C5C,0x4128,
+ 0, 0,0x4678, 0,0x4950, 0, 0, 0,
+ 0, 0, 0,0x6C4F,0x3B3F,0x3B72, 0,0x3E5E,
+ 0,0x4765, 0,0x382D,0x6C4E,0x6C4D, 0,0x496A,
+ 0, 0, 0,0x3C41, 0, 0,0x4552, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6C51,0x6C52,0x3958,0x6C50, 0,
+ 0, 0, 0, 0, 0,0x6C53,0x6C54, 0,
+0x6C56,0x4223, 0,0x6C55,0x3466, 0,0x6C58, 0,
+0x6C57,0x6C59, 0, 0,0x6C5B,0x6C5D, 0,0x6C5E
+};
+
+/* page 37 0x8D64-0x8F64 */
+static uint16 tab_uni_jisx020837[]={
+0x4056, 0,0x3C4F,0x6C5F, 0, 0, 0,0x3352,
+ 0,0x6C60, 0, 0,0x4176,0x6C61, 0,0x6C62,
+0x496B, 0, 0,0x352F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6C63, 0, 0,
+ 0,0x4436, 0, 0, 0, 0,0x315B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6C64, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3C71,
+ 0, 0, 0, 0,0x3F76, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x422D,
+ 0, 0, 0, 0, 0, 0,0x6C67, 0,
+ 0, 0,0x6C66, 0, 0, 0,0x6C65, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6C6D,
+0x6C6B, 0, 0,0x6C68, 0, 0, 0, 0,
+ 0, 0,0x6C6A, 0, 0, 0,0x6C69,0x6C6C,
+ 0,0x3577, 0,0x6C70, 0,0x4057, 0,0x6C71,
+ 0, 0, 0, 0,0x3859, 0,0x6C6E,0x6C6F,
+ 0, 0, 0,0x4F29, 0, 0, 0,0x4437,
+ 0,0x4129, 0, 0, 0, 0, 0, 0,
+0x6C72, 0, 0,0x6C75, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6C73,0x6C74,0x4D59, 0,
+ 0, 0, 0,0x4627,0x6C78, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6C76,0x6C77,0x6C79, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6D29, 0,
+ 0, 0, 0, 0,0x6C7C, 0, 0, 0,
+0x6C7D,0x6C7B, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6C7A, 0,
+0x447D, 0, 0,0x6D21,0x6D25,0x6D22,0x6C7E, 0,
+0x6D23, 0, 0, 0,0x6D24, 0, 0, 0,
+ 0,0x6D2B, 0, 0, 0,0x6D26, 0, 0,
+ 0, 0, 0,0x4058,0x6D28, 0, 0,0x6D2A,
+0x6D27, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6D2D, 0,
+0x3D33, 0,0x6D2C, 0, 0, 0, 0, 0,
+0x6D2E, 0, 0, 0, 0,0x6D2F, 0, 0,
+0x6D32,0x6D31, 0,0x6D30, 0, 0,0x6D34,0x6D33,
+ 0,0x4C76, 0, 0, 0,0x6D36, 0,0x6D35,
+0x6D37, 0, 0, 0, 0,0x6D38, 0, 0,
+ 0, 0, 0, 0, 0,0x6D3A, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6D39,0x3F48,
+0x6D3B, 0, 0,0x366D,0x6D3C,0x6D3E, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6D3F, 0, 0, 0, 0, 0,
+ 0,0x6D40,0x6D3D, 0,0x6D41, 0,0x3C56,0x6D42,
+0x3530,0x3733, 0, 0, 0, 0,0x382E, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6D43,
+ 0, 0, 0,0x4670, 0, 0,0x453E,0x6D44,
+ 0, 0, 0, 0, 0, 0, 0,0x6D47,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3C34, 0, 0,0x6D46,
+0x6D45,0x375A,0x6D48, 0, 0, 0, 0,0x3353,
+ 0,0x6D4A, 0, 0, 0,0x3A5C,0x6D49, 0,
+0x6D52, 0, 0, 0, 0, 0,0x6D4C,0x6D4E,
+0x4A65,0x6D4B, 0, 0, 0,0x6D4D, 0,0x6D51,
+0x6D4F,0x3531, 0,0x6D50, 0, 0, 0, 0,
+ 0, 0,0x6D53, 0, 0,0x475A,0x4E58, 0,
+ 0, 0, 0,0x3D34, 0, 0, 0,0x6D54,
+ 0, 0, 0, 0,0x4D22,0x6D56, 0,0x6D55,
+ 0, 0,0x6D59,0x4D41, 0, 0,0x6D58, 0,
+0x336D,0x6D57,0x6D5C, 0, 0,0x6D5B, 0, 0,
+0x6D5A,0x4532,0x6D5D, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6D5E, 0, 0, 0, 0,
+0x6D5F, 0, 0,0x396C, 0,0x3725,0x6D60,0x6D61,
+0x6D62};
+
+/* page 38 0x8F9B-0x9132 */
+static uint16 tab_uni_jisx020838[]={
+0x3F49,0x6D63, 0,0x3C2D,0x6D64, 0, 0, 0,
+0x6D65, 0, 0, 0,0x5221,0x517E, 0, 0,
+ 0, 0,0x6D66,0x6570,0x6D67,0x4324,0x3F2B,0x4740,
+ 0, 0, 0, 0,0x6D68, 0, 0,0x4A55,
+0x4454,0x397E, 0, 0,0x4329, 0, 0,0x312A,
+ 0,0x4B78,0x3F57, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x375E, 0, 0,0x3661, 0,
+ 0,0x4A56, 0, 0, 0, 0, 0,0x6D69,
+ 0, 0, 0, 0, 0, 0, 0,0x6D6B,
+ 0, 0,0x6D6A,0x3260, 0, 0,0x4676,0x6D6C,
+0x4777, 0,0x4533, 0,0x6D6D,0x3D52, 0, 0,
+ 0,0x6D6F, 0, 0,0x4C42,0x6D7E,0x6D71,0x6D72,
+ 0, 0,0x4449, 0, 0,0x4260,0x4177, 0,
+0x4628, 0,0x6D70,0x3555, 0, 0, 0, 0,
+0x6D79, 0,0x6D76,0x6E25,0x4629,0x4360,0x6D73, 0,
+0x447E,0x4553,0x6D74,0x6D78,0x3F60, 0,0x4767,0x444C,
+ 0, 0,0x4042,0x6D77,0x422E,0x4224,0x6D75,0x3029,
+0x4F22, 0, 0, 0,0x6D7A, 0, 0, 0,
+ 0, 0, 0,0x4261, 0, 0,0x3D35,0x3F4A,
+ 0, 0,0x6D7C,0x6D7B, 0,0x306F,0x6D7D, 0,
+ 0,0x492F, 0,0x6E27, 0, 0,0x465B,0x3F6B,
+ 0, 0,0x4359, 0,0x3678, 0,0x6E26,0x4D37,
+0x313F, 0,0x4A57,0x3261,0x6E21,0x6E22,0x6E23,0x6E24,
+0x463B,0x4323,0x3063,0x6E28, 0,0x6E29,0x7423, 0,
+ 0,0x423D, 0,0x6E2A, 0,0x3173,0x414C, 0,
+0x382F, 0,0x4D5A, 0, 0,0x6E2B,0x452C, 0,
+ 0, 0,0x4178,0x3C57,0x6E2C, 0, 0,0x6E2F,
+ 0, 0,0x3D65,0x6E2D,0x412B,0x412A, 0,0x3064,
+ 0,0x4E4B,0x6E31, 0,0x4872,0x6E33,0x6E32,0x6E30,
+0x6364,0x3454, 0, 0,0x6D6E, 0,0x6E35,0x6E34,
+ 0, 0, 0, 0,0x6E36, 0,0x4D38, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4661, 0, 0,0x4B2E, 0,0x6E37, 0,0x3C59,
+ 0, 0, 0, 0,0x6E38, 0,0x6E39, 0,
+ 0, 0,0x6E3A, 0, 0,0x4521, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x306A, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3959,
+ 0, 0, 0,0x4F3A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6E3E, 0, 0, 0, 0, 0,0x3734,0x6E3B,
+ 0,0x6E3C, 0, 0, 0,0x4974, 0, 0,
+ 0, 0,0x3354, 0, 0, 0, 0, 0,
+ 0, 0,0x4D39, 0,0x363F, 0, 0, 0,
+ 0, 0,0x4554, 0, 0, 0, 0,0x6E3F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6E40,
+ 0, 0, 0, 0, 0, 0,0x6E41, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4522, 0, 0,0x6E43, 0,0x6E42
+};
+
+/* page 39 0x9149-0x92B9 */
+static uint16 tab_uni_jisx020839[]={
+0x4653,0x6E44,0x3D36,0x3C60,0x475B,0x4371, 0, 0,
+ 0,0x3C72, 0,0x3F6C, 0,0x6E45, 0,0x6E46,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3F5D,0x6E47, 0,0x6E48, 0, 0, 0,
+0x6E49,0x4D6F, 0,0x3D37, 0, 0, 0, 0,
+ 0,0x6E4B,0x6E4A, 0,0x395A, 0,0x3973,0x3B40,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6E4E, 0, 0, 0, 0,0x3D66, 0,
+0x6E4D, 0,0x6E4C, 0,0x4269, 0, 0,0x386F,
+ 0,0x4043, 0, 0, 0, 0,0x4830, 0,
+ 0, 0, 0,0x3D39, 0, 0, 0, 0,
+ 0,0x6E4F, 0,0x3E5F, 0, 0, 0, 0,
+ 0,0x6E52,0x6E50, 0, 0, 0,0x6E51, 0,
+ 0, 0, 0,0x6E54,0x6E53, 0, 0,0x3E7A,
+ 0,0x6E55, 0, 0, 0, 0, 0,0x6E56,
+0x6E57, 0, 0, 0, 0,0x4850,0x3A53,0x3C61,
+0x6E58, 0,0x6E59,0x4E24,0x3D45,0x4C6E,0x4E4C,0x6E5A,
+0x3662, 0, 0, 0, 0,0x6E5B, 0,0x4523,
+ 0, 0,0x6E5E,0x3378,0x3F4B, 0,0x6E5C, 0,
+0x6E5D, 0,0x4460, 0, 0,0x4B55,0x367C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6E60,0x6E61, 0, 0,
+ 0, 0, 0,0x6E5F, 0, 0,0x6E63, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x465F,0x3343, 0, 0,
+0x6E67, 0, 0,0x6E64,0x6E66, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6E62, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6F4F, 0, 0,0x6E65, 0, 0, 0, 0,
+ 0, 0, 0,0x4E6B, 0, 0,0x385A, 0,
+ 0, 0, 0, 0, 0, 0,0x6E6F, 0,
+ 0, 0, 0,0x4534,0x6E6A, 0, 0,0x6E6D,
+0x6E6B, 0,0x6E70, 0, 0, 0, 0,0x6E71,
+ 0, 0, 0, 0, 0, 0,0x6E69, 0,
+ 0,0x6E76,0x3174, 0, 0,0x6E68, 0, 0,
+ 0,0x482D, 0,0x6E6C, 0,0x3E60, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x395B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4B48, 0,0x3664,
+ 0, 0,0x3D46, 0,0x463C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x412D, 0,0x6E74, 0,0x6E6E,0x6E73, 0,0x4C43,
+ 0,0x4438,0x6E75,0x6E72, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x412C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6E79, 0,
+0x6E78};
+
+/* page 40 0x92CF-0x93E8 */
+static uint16 tab_uni_jisx020840[]={
+0x6E77, 0, 0,0x4B2F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3D7B, 0, 0,
+ 0, 0,0x6E7A,0x4A5F, 0, 0,0x3154, 0,
+ 0, 0, 0,0x4946,0x4372, 0, 0, 0,
+ 0,0x3578, 0,0x6E7C, 0,0x395D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3B2C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6E7B,0x3F6D, 0, 0, 0, 0, 0, 0,
+ 0,0x3F6E,0x6F21,0x6F23, 0, 0, 0, 0,
+ 0,0x3E7B, 0,0x6F22,0x6F24, 0, 0,0x3653,
+ 0,0x4945, 0, 0,0x3C62,0x4F23, 0,0x6E7E,
+0x3A78, 0, 0,0x4F3F, 0, 0,0x6F26, 0,
+ 0, 0, 0,0x6F25,0x6F27, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6E7D, 0, 0,
+ 0, 0, 0, 0,0x4669, 0,0x4555, 0,
+ 0, 0, 0, 0, 0,0x4457, 0,0x6F2C,
+ 0, 0, 0, 0,0x4343,0x6F28, 0, 0,
+ 0,0x6F29, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x372D, 0,0x6F2B,
+ 0, 0, 0, 0, 0, 0,0x3830, 0,
+ 0, 0, 0, 0, 0,0x6F2A, 0,0x3E61,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3379, 0, 0,
+ 0, 0, 0, 0, 0,0x6F30, 0,0x3A3F,
+0x4179, 0, 0,0x444A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x333B, 0, 0, 0, 0,0x6F2E,0x6F2F,0x4443,
+ 0,0x6F2D, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6F31, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6F37, 0, 0, 0,
+ 0,0x6F3A, 0, 0, 0, 0, 0, 0,
+ 0,0x6F39,0x452D, 0, 0, 0, 0,0x6F32,
+0x6F33,0x6F36, 0, 0, 0, 0,0x6F38, 0,
+ 0, 0,0x3640, 0, 0,0x6F3B,0x6F35, 0,
+ 0,0x6F34};
+
+/* page 41 0x9403-0x9481 */
+static uint16 tab_uni_jisx020841[]={
+0x6F3F, 0, 0, 0,0x6F40, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6F41, 0, 0,
+0x6F3E,0x6F3D, 0, 0, 0,0x3E62,0x462A,0x6F3C,
+ 0, 0, 0, 0, 0, 0,0x6F45, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6F43, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6F44,0x6F42, 0,0x4278, 0,0x6F46,
+ 0, 0, 0, 0, 0, 0,0x6F47, 0,
+ 0,0x6F49, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3455,0x6F48,
+0x4C7A, 0, 0, 0, 0, 0, 0,0x6F54,
+0x6F4A, 0, 0,0x6F4D, 0,0x6F4B, 0,0x6F4C,
+ 0, 0, 0, 0, 0, 0, 0,0x6F4E,
+ 0, 0, 0, 0, 0,0x6F50, 0, 0,
+ 0, 0,0x6F51, 0,0x6F52, 0, 0, 0,
+ 0,0x6F55,0x6F53,0x6F56,0x6F58, 0,0x6F57};
+
+/* page 42 0x9577-0x95E5 */
+static uint16 tab_uni_jisx020842[]={
+0x4439, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4C67, 0,0x6F59,0x412E, 0, 0, 0,
+0x6F5A, 0,0x4A44,0x6F5B,0x332B, 0, 0, 0,
+0x313C, 0,0x3457, 0,0x3456,0x6F5C, 0,0x6F5D,
+ 0,0x6F5E,0x6F5F, 0, 0, 0, 0, 0,
+ 0,0x6F60, 0,0x3458,0x3355,0x395E,0x4836, 0,
+0x6F62,0x6F61, 0, 0, 0, 0,0x6F63, 0,
+ 0, 0, 0,0x315C, 0, 0, 0, 0,
+ 0, 0,0x6F66, 0,0x6F65,0x6F64, 0,0x6F67,
+ 0, 0, 0, 0,0x6F6A, 0, 0, 0,
+0x3047, 0, 0,0x6F68, 0,0x6F6C,0x6F6B, 0,
+ 0, 0, 0, 0, 0,0x6F6E,0x6F6D,0x6F6F,
+ 0,0x462E, 0, 0, 0,0x6F70, 0, 0,
+ 0, 0,0x6F71,0x6F73, 0, 0,0x6F72};
+
+/* page 43 0x961C-0x9874 */
+static uint16 tab_uni_jisx020843[]={
+0x496C, 0, 0, 0, 0,0x6F74, 0, 0,
+ 0, 0, 0, 0,0x6F75, 0,0x3A65, 0,
+ 0, 0,0x6F76,0x6F77, 0, 0,0x4B49, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x414B,
+ 0, 0, 0,0x3024,0x424B, 0,0x6F78, 0,
+0x496D, 0, 0, 0, 0, 0, 0,0x6F7B,
+0x6F79,0x395F, 0,0x6F7A,0x3842, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4A45,
+0x6F7D,0x7021,0x6F7E,0x7022, 0, 0,0x3121,0x3F58,
+0x3D7C,0x3459,0x7023, 0, 0, 0,0x4766, 0,
+0x7025, 0, 0, 0,0x3122, 0,0x7024,0x4444,
+ 0,0x4E4D,0x462B,0x6F7C,0x4E26, 0,0x3831, 0,
+ 0,0x4D5B, 0, 0, 0, 0, 0, 0,
+ 0,0x3679,0x4E34, 0,0x3728, 0,0x4262,0x6721,
+ 0,0x7026,0x332C,0x3F6F, 0, 0, 0, 0,
+0x3356,0x7028, 0,0x7029,0x7027,0x3764, 0,0x3A5D,
+0x3E63, 0, 0, 0,0x3123, 0, 0,0x4E59,
+ 0, 0, 0,0x702B,0x6E2E, 0,0x702A, 0,
+ 0, 0, 0, 0,0x702E,0x702C,0x702D, 0,
+0x702F, 0,0x7030,0x4E6C,0x7031,0x7032, 0,0x4049,
+0x483B, 0, 0, 0,0x3F7D,0x3467, 0, 0,
+0x4D3A,0x326D,0x3D38,0x385B, 0,0x7035, 0,0x7034,
+0x3B73,0x7036,0x7033, 0, 0,0x3B28, 0, 0,
+ 0,0x703A,0x6A2D, 0, 0,0x5256, 0,0x3F77,
+0x7038, 0, 0, 0, 0, 0,0x4E25,0x4671,
+ 0, 0, 0, 0,0x312B, 0,0x4063,0x3C36,
+ 0, 0, 0, 0,0x4A37, 0,0x3140, 0,
+ 0, 0,0x4E6D,0x4D6B, 0,0x703B, 0,0x4545,
+ 0, 0, 0, 0,0x3C7B, 0, 0, 0,
+0x703C, 0,0x703D,0x3F4C,0x703E, 0,0x4E6E, 0,
+ 0,0x7039,0x7040,0x7042, 0,0x7041, 0,0x703F,
+ 0, 0,0x7043, 0, 0,0x7044, 0, 0,
+0x417A, 0,0x3262, 0, 0, 0, 0, 0,
+0x7045, 0, 0,0x4C38, 0, 0,0x7046, 0,
+ 0, 0, 0, 0,0x7047, 0,0x4F2A, 0,
+ 0, 0, 0, 0,0x5B31,0x7048, 0, 0,
+ 0,0x7049,0x704A, 0, 0, 0,0x704E, 0,
+0x704B, 0,0x704C, 0,0x704D,0x704F, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4044, 0,
+ 0, 0,0x4C77, 0, 0,0x4045, 0, 0,
+0x7050, 0,0x4873, 0,0x7051,0x7353,0x4C4C, 0,
+0x7052, 0,0x7053, 0,0x7054,0x3357, 0,0x7056,
+ 0,0x3F59, 0, 0, 0,0x7057, 0, 0,
+0x3724, 0, 0, 0, 0,0x7058,0x705C, 0,
+0x705A, 0, 0, 0, 0,0x705B, 0, 0,
+0x3373,0x7059,0x705D, 0, 0, 0, 0,0x705E,
+ 0,0x3048, 0,0x705F,0x7060, 0, 0, 0,
+ 0, 0, 0, 0,0x3E64, 0, 0, 0,
+0x7061, 0, 0, 0,0x3547, 0, 0,0x7064,
+ 0, 0,0x7063, 0,0x7062, 0, 0,0x6B71,
+ 0,0x4A5C, 0, 0, 0, 0, 0,0x7065,
+0x7066, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x7067,
+ 0, 0,0x7068, 0,0x7069, 0, 0,0x706A,
+ 0, 0, 0, 0, 0, 0, 0,0x345A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x706B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x706C,0x4723, 0, 0, 0,0x706E,0x323B,
+ 0,0x7071,0x7070, 0, 0, 0, 0,0x3124,
+ 0, 0, 0,0x3641, 0,0x4A47,0x443A,0x3A22,
+ 0,0x3960,0x3D67, 0,0x3F5C, 0, 0, 0,
+0x7073, 0, 0,0x7072,0x4D42,0x3468,0x4852,0x465C,
+ 0, 0, 0,0x3F7C,0x4E4E, 0,0x375B, 0,
+ 0, 0, 0, 0, 0,0x7076, 0, 0,
+0x7075, 0, 0, 0, 0, 0, 0, 0,
+0x4B4B,0x462C, 0, 0, 0, 0, 0, 0,
+0x3150, 0, 0,0x7077,0x7074, 0, 0,0x4951,
+0x4D6A,0x7078, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x7079, 0, 0, 0, 0,0x707B,
+0x426A,0x335B,0x335C,0x707A, 0, 0, 0, 0,
+0x3469,0x3832, 0, 0,0x346A, 0, 0,0x453F,
+ 0, 0,0x4E60, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x385C, 0, 0, 0,0x707C,
+ 0, 0, 0,0x707D,0x707E,0x7121, 0,0x7123,
+0x7122};
+
+/* page 44 0x98A8-0x98C6 */
+static uint16 tab_uni_jisx020844[]={
+0x4977, 0,0x7124, 0, 0, 0, 0,0x7125,
+ 0,0x7126, 0, 0, 0, 0,0x7127, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x7129,0x7128, 0,0x712A};
+
+/* page 45 0x98DB-0x9957 */
+static uint16 tab_uni_jisx020845[]={
+0x4874,0x664C, 0, 0,0x3F29, 0, 0,0x3532,
+ 0, 0, 0, 0, 0, 0,0x712B, 0,
+0x712C, 0,0x522C,0x5D3B,0x4853, 0, 0,0x307B,
+ 0,0x303B, 0, 0, 0, 0, 0, 0,
+ 0,0x3B74,0x4B30,0x3E7E, 0, 0, 0, 0,
+0x712D, 0,0x4C5F, 0, 0, 0,0x712E,0x4D5C,
+ 0,0x3142, 0, 0, 0,0x3B41, 0,0x712F,
+0x326E,0x7130, 0, 0, 0,0x7131, 0, 0,
+ 0, 0,0x7133,0x7134, 0,0x7136,0x7132, 0,
+ 0,0x7135, 0, 0, 0,0x345B, 0, 0,
+ 0,0x7137, 0,0x7138, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x7139,0x713A, 0, 0, 0,0x713B,
+ 0, 0,0x713D, 0, 0, 0,0x713C, 0,
+0x713F,0x7142, 0, 0, 0,0x713E,0x7140,0x7141,
+ 0, 0,0x7143, 0,0x3642};
+
+/* page 46 0x9996-0x9A6B */
+static uint16 tab_uni_jisx020846[]={
+0x3C73,0x7144,0x7145,0x3961, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x7146,
+ 0, 0,0x333E, 0, 0, 0,0x474F,0x7147,
+0x7148, 0, 0, 0, 0,0x435A,0x466B, 0,
+ 0, 0, 0, 0, 0, 0,0x7149, 0,
+ 0, 0, 0,0x477D, 0, 0,0x424C,0x3158,
+0x366E, 0,0x366F, 0, 0, 0, 0, 0,
+ 0, 0,0x4373,0x714E,0x3670, 0, 0,0x326F,
+ 0, 0,0x714D, 0, 0,0x714B, 0,0x714C,
+ 0,0x714A, 0, 0,0x7158, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x714F,
+0x7150, 0, 0,0x7151,0x7152, 0, 0, 0,
+ 0, 0,0x7154, 0, 0,0x7153, 0, 0,
+ 0,0x3D59, 0,0x7155, 0, 0, 0,0x7157,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3533,0x7156, 0, 0,0x417B,0x3833, 0, 0,
+ 0, 0, 0,0x7159, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x424D, 0, 0,0x715A, 0, 0,
+ 0, 0,0x462D, 0, 0, 0, 0, 0,
+ 0,0x715B, 0, 0, 0, 0, 0, 0,
+0x7160, 0,0x715E, 0,0x715D,0x715F, 0,0x715C,
+ 0, 0, 0, 0, 0, 0, 0,0x7162,
+ 0, 0, 0, 0, 0, 0, 0,0x7161,
+ 0,0x7164, 0, 0,0x3643,0x7163, 0, 0,
+ 0,0x7165, 0, 0,0x7166, 0,0x7168,0x7167,
+ 0, 0, 0,0x7169,0x716B,0x716A};
+
+/* page 47 0x9AA8-0x9B5A */
+static uint16 tab_uni_jisx020847[]={
+0x397C, 0, 0, 0, 0,0x716C, 0, 0,
+0x716D, 0, 0, 0, 0, 0, 0, 0,
+0x333C, 0, 0, 0,0x716E, 0, 0, 0,
+0x716F, 0, 0, 0,0x3F71, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x7170,
+ 0,0x7171, 0,0x7172,0x7173, 0, 0, 0,
+0x3962, 0, 0, 0, 0, 0,0x7174,0x7175,
+ 0, 0,0x7176,0x7177, 0, 0,0x7178, 0,
+ 0, 0,0x4831,0x717A, 0,0x4926,0x717B,0x7179,
+ 0,0x717D, 0, 0,0x717C, 0, 0,0x717E,
+ 0, 0, 0,0x7221, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7222, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x7223, 0,0x7224, 0, 0, 0, 0,0x7225,
+ 0, 0,0x7226,0x7227, 0,0x7228, 0,0x7229,
+0x722A,0x722B,0x722C, 0, 0, 0,0x722D,0x722E,
+ 0,0x5D35,0x722F, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6478,0x3534, 0, 0, 0,
+ 0,0x3321,0x3A32,0x7231,0x7230,0x4C25, 0, 0,
+ 0, 0, 0, 0, 0,0x7233,0x7234,0x7232,
+ 0,0x7235, 0, 0,0x4B62, 0, 0, 0,
+0x7236, 0,0x357B};
+
+/* page 48 0x9B6F-0x9C78 */
+static uint16 tab_uni_jisx020848[]={
+0x4F25, 0, 0, 0, 0,0x7237, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x7239, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x303E,
+ 0, 0,0x723A,0x4A2B,0x7238, 0, 0,0x723B,
+0x723C, 0, 0, 0, 0, 0, 0, 0,
+0x723D,0x723E, 0, 0, 0, 0, 0, 0,
+ 0,0x723F, 0,0x4B6E,0x3B2D, 0,0x3A7A,0x412F,
+ 0, 0, 0, 0, 0,0x7240, 0, 0,
+ 0, 0,0x7243, 0, 0, 0, 0, 0,
+ 0,0x7241, 0, 0, 0, 0, 0,0x7244,
+ 0, 0,0x3871,0x7242, 0, 0, 0, 0,
+0x7245, 0,0x7246,0x7247, 0,0x724B, 0,0x3B2A,
+ 0, 0, 0, 0,0x4264, 0, 0, 0,
+ 0, 0,0x724C,0x7249,0x7248,0x724A, 0, 0,
+ 0,0x375F, 0, 0, 0, 0, 0, 0,
+ 0,0x7250,0x724F,0x724E, 0, 0,0x3033, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x725A, 0,0x7256,
+ 0,0x7257,0x7253,0x7259, 0,0x7255,0x3362, 0,
+ 0,0x4F4C, 0,0x7258,0x7254,0x7252,0x7251, 0,
+ 0, 0, 0, 0,0x725C, 0, 0, 0,
+ 0, 0,0x725F, 0, 0,0x725E,0x725D, 0,
+ 0, 0, 0, 0, 0, 0,0x4949,0x725B,
+0x3073,0x7260, 0,0x7262, 0, 0, 0, 0,
+ 0, 0,0x336F,0x724D,0x3137, 0, 0,0x7264,
+ 0, 0, 0, 0, 0, 0, 0,0x7263,
+0x7261,0x432D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4B70, 0, 0, 0, 0,
+0x4E5A, 0, 0,0x7265, 0, 0, 0, 0,
+ 0,0x7266, 0, 0, 0, 0, 0, 0,
+0x7267, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x7268,
+ 0,0x7269};
+
+/* page 49 0x9CE5-0x9DFD */
+static uint16 tab_uni_jisx020849[]={
+0x443B, 0,0x726A, 0,0x4837, 0,0x726F,0x726B,
+ 0, 0, 0,0x726C, 0, 0,0x4B31,0x4C44,
+ 0,0x4650, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x7270, 0,
+ 0,0x7271,0x463E,0x726E,0x726D, 0, 0, 0,
+ 0,0x322A, 0, 0, 0,0x7279, 0, 0,
+0x7278, 0, 0, 0, 0, 0,0x3175, 0,
+ 0, 0,0x7276, 0, 0, 0,0x7275, 0,
+ 0,0x7273, 0,0x337B, 0,0x7272,0x3C32,0x3229,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3963, 0,
+ 0,0x727C,0x727B, 0,0x727A, 0, 0,0x7277,
+ 0,0x727D, 0,0x727E, 0, 0, 0, 0,
+ 0, 0, 0,0x7325,0x7324, 0, 0, 0,
+ 0, 0, 0, 0,0x7326, 0, 0,0x312D,
+0x7321,0x7322, 0,0x3974,0x4C39, 0, 0,0x7323,
+ 0, 0, 0, 0, 0, 0, 0,0x4B32,
+ 0, 0,0x732B, 0, 0,0x7327, 0, 0,
+ 0, 0, 0, 0, 0,0x732C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x7329, 0,0x7328, 0, 0, 0,
+ 0, 0,0x375C, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x732D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x732E,
+ 0, 0, 0, 0,0x732F, 0,0x732A, 0,
+ 0, 0,0x7274, 0, 0,0x7330, 0,0x4461,
+ 0, 0, 0,0x7334, 0,0x7335,0x7333, 0,
+ 0, 0, 0, 0,0x7332,0x7338, 0,0x7331,
+ 0,0x7336, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x7337, 0, 0, 0,0x733A, 0,
+ 0, 0, 0, 0,0x7339, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x733C, 0, 0, 0, 0, 0, 0,
+0x733D, 0,0x733E, 0, 0,0x4F49, 0, 0,
+ 0, 0, 0,0x733B,0x426B,0x3A6D, 0, 0,
+0x733F};
+
+/* page 50 0x9E1A-0x9E1E */
+static uint16 tab_uni_jisx020850[]={
+0x7340,0x7341, 0, 0,0x7342};
+
+/* page 51 0x9E75-0x9F77 */
+static uint16 tab_uni_jisx020851[]={
+0x7343, 0, 0,0x3834,0x7344, 0, 0, 0,
+0x7345, 0,0x3C2F, 0,0x7346, 0, 0, 0,
+ 0, 0, 0,0x7347, 0, 0,0x7348,0x7349,
+ 0, 0, 0, 0,0x734C,0x734A,0x4F3C, 0,
+0x734B, 0,0x4E6F, 0, 0, 0, 0, 0,
+0x734D, 0,0x4E5B, 0, 0, 0, 0, 0,
+0x734E,0x477E, 0, 0,0x734F,0x7351, 0, 0,
+0x7352, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x7350,0x396D,0x4C4D,0x4B63,0x5677,
+ 0,0x5D60,0x4B7B, 0, 0, 0, 0,0x322B,
+ 0, 0, 0, 0, 0, 0, 0,0x7354,
+0x3550,0x7355,0x7356,0x7357, 0,0x3975, 0,0x7358,
+ 0, 0, 0,0x6054,0x4C5B, 0,0x4263,0x7359,
+0x735B,0x735A, 0,0x735C, 0, 0, 0, 0,
+0x735D, 0, 0,0x735E, 0, 0, 0, 0,
+ 0, 0,0x735F, 0, 0, 0, 0,0x7360,
+ 0,0x7361,0x7362, 0,0x7363, 0,0x7364,0x7365,
+0x7366, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x7367,0x7368, 0, 0, 0, 0,
+ 0,0x4524, 0, 0, 0, 0,0x385D, 0,
+0x736A, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x414D,0x736B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x736C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4921, 0,
+ 0,0x736D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x736E,0x6337, 0,
+ 0,0x6C5A,0x706D, 0, 0,0x736F, 0,0x7370,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x7372,0x7373,0x7374,0x4E70,0x7371, 0,
+ 0,0x7375,0x7376, 0, 0,0x7378, 0,0x7377,
+ 0, 0, 0, 0, 0,0x737A, 0, 0,
+ 0,0x737B,0x7379};
+
+/* page 52 0x9F8D-0x9FA0 */
+static uint16 tab_uni_jisx020852[]={
+0x4E36, 0, 0, 0, 0, 0, 0, 0,
+0x737C, 0, 0, 0, 0, 0, 0,0x737D,
+0x6354, 0, 0,0x737E};
+
+/* page 53 0xFF01-0xFF5D */
+static uint16 tab_uni_jisx020853[]={
+0x212A, 0,0x2174,0x2170,0x2173,0x2175, 0,0x214A,
+0x214B,0x2176,0x215C,0x2124, 0,0x2125,0x213F,0x2330,
+0x2331,0x2332,0x2333,0x2334,0x2335,0x2336,0x2337,0x2338,
+0x2339,0x2127,0x2128,0x2163,0x2161,0x2164,0x2129,0x2177,
+0x2341,0x2342,0x2343,0x2344,0x2345,0x2346,0x2347,0x2348,
+0x2349,0x234A,0x234B,0x234C,0x234D,0x234E,0x234F,0x2350,
+0x2351,0x2352,0x2353,0x2354,0x2355,0x2356,0x2357,0x2358,
+0x2359,0x235A,0x214E, 0,0x214F,0x2130,0x2132,0x212E,
+0x2361,0x2362,0x2363,0x2364,0x2365,0x2366,0x2367,0x2368,
+0x2369,0x236A,0x236B,0x236C,0x236D,0x236E,0x236F,0x2370,
+0x2371,0x2372,0x2373,0x2374,0x2375,0x2376,0x2377,0x2378,
+0x2379,0x237A,0x2150,0x2143,0x2151};
+
+/* page 54 0xFFE3-0xFFE5 */
+static uint16 tab_uni_jisx020854[]={
+0x2131, 0,0x216F};
+
+static int
+my_uni_jisx0208_onechar(int code){
+ if ((code>=0x005C)&&(code<=0x005C))
+ return(tab_uni_jisx02080[code-0x005C]);
+ if ((code>=0x00A2)&&(code<=0x00B6))
+ return(tab_uni_jisx02081[code-0x00A2]);
+ if ((code>=0x00D7)&&(code<=0x00D7))
+ return(tab_uni_jisx02082[code-0x00D7]);
+ if ((code>=0x00F7)&&(code<=0x00F7))
+ return(tab_uni_jisx02083[code-0x00F7]);
+ if ((code>=0x0391)&&(code<=0x03C9))
+ return(tab_uni_jisx02084[code-0x0391]);
+ if ((code>=0x0401)&&(code<=0x0451))
+ return(tab_uni_jisx02085[code-0x0401]);
+ if ((code>=0x2010)&&(code<=0x203B))
+ return(tab_uni_jisx02086[code-0x2010]);
+ if ((code>=0x2103)&&(code<=0x2103))
+ return(tab_uni_jisx02087[code-0x2103]);
+ if ((code>=0x212B)&&(code<=0x212B))
+ return(tab_uni_jisx02088[code-0x212B]);
+ if ((code>=0x2190)&&(code<=0x2193))
+ return(tab_uni_jisx02089[code-0x2190]);
+ if ((code>=0x21D2)&&(code<=0x21D4))
+ return(tab_uni_jisx020810[code-0x21D2]);
+ if ((code>=0x2200)&&(code<=0x223D))
+ return(tab_uni_jisx020811[code-0x2200]);
+ if ((code>=0x2252)&&(code<=0x226B))
+ return(tab_uni_jisx020812[code-0x2252]);
+ if ((code>=0x2282)&&(code<=0x2287))
+ return(tab_uni_jisx020813[code-0x2282]);
+ if ((code>=0x22A5)&&(code<=0x22A5))
+ return(tab_uni_jisx020814[code-0x22A5]);
+ if ((code>=0x2312)&&(code<=0x2312))
+ return(tab_uni_jisx020815[code-0x2312]);
+ if ((code>=0x2500)&&(code<=0x254B))
+ return(tab_uni_jisx020816[code-0x2500]);
+ if ((code>=0x25A0)&&(code<=0x25CF))
+ return(tab_uni_jisx020817[code-0x25A0]);
+ if ((code>=0x25EF)&&(code<=0x25EF))
+ return(tab_uni_jisx020818[code-0x25EF]);
+ if ((code>=0x2605)&&(code<=0x2606))
+ return(tab_uni_jisx020819[code-0x2605]);
+ if ((code>=0x2640)&&(code<=0x2642))
+ return(tab_uni_jisx020820[code-0x2640]);
+ if ((code>=0x266A)&&(code<=0x266F))
+ return(tab_uni_jisx020821[code-0x266A]);
+ if ((code>=0x3000)&&(code<=0x301C))
+ return(tab_uni_jisx020822[code-0x3000]);
+ if ((code>=0x3041)&&(code<=0x30FE))
+ return(tab_uni_jisx020823[code-0x3041]);
+ if ((code>=0x4E00)&&(code<=0x5516))
+ return(tab_uni_jisx020824[code-0x4E00]);
+ if ((code>=0x552E)&&(code<=0x5563))
+ return(tab_uni_jisx020825[code-0x552E]);
+ if ((code>=0x557B)&&(code<=0x576A))
+ return(tab_uni_jisx020826[code-0x557B]);
+ if ((code>=0x577F)&&(code<=0x5A9B))
+ return(tab_uni_jisx020827[code-0x577F]);
+ if ((code>=0x5ABC)&&(code<=0x5D29))
+ return(tab_uni_jisx020828[code-0x5ABC]);
+ if ((code>=0x5D4B)&&(code<=0x6BF3))
+ return(tab_uni_jisx020829[code-0x5D4B]);
+ if ((code>=0x6C08)&&(code<=0x6CF3))
+ return(tab_uni_jisx020830[code-0x6C08]);
+ if ((code>=0x6D0B)&&(code<=0x7409))
+ return(tab_uni_jisx020831[code-0x6D0B]);
+ if ((code>=0x7422)&&(code<=0x7845))
+ return(tab_uni_jisx020832[code-0x7422]);
+ if ((code>=0x785D)&&(code<=0x7E9C))
+ return(tab_uni_jisx020833[code-0x785D]);
+ if ((code>=0x7F36)&&(code<=0x8358))
+ return(tab_uni_jisx020834[code-0x7F36]);
+ if ((code>=0x8373)&&(code<=0x8B9A))
+ return(tab_uni_jisx020835[code-0x8373]);
+ if ((code>=0x8C37)&&(code<=0x8D16))
+ return(tab_uni_jisx020836[code-0x8C37]);
+ if ((code>=0x8D64)&&(code<=0x8F64))
+ return(tab_uni_jisx020837[code-0x8D64]);
+ if ((code>=0x8F9B)&&(code<=0x9132))
+ return(tab_uni_jisx020838[code-0x8F9B]);
+ if ((code>=0x9149)&&(code<=0x92B9))
+ return(tab_uni_jisx020839[code-0x9149]);
+ if ((code>=0x92CF)&&(code<=0x93E8))
+ return(tab_uni_jisx020840[code-0x92CF]);
+ if ((code>=0x9403)&&(code<=0x9481))
+ return(tab_uni_jisx020841[code-0x9403]);
+ if ((code>=0x9577)&&(code<=0x95E5))
+ return(tab_uni_jisx020842[code-0x9577]);
+ if ((code>=0x961C)&&(code<=0x9874))
+ return(tab_uni_jisx020843[code-0x961C]);
+ if ((code>=0x98A8)&&(code<=0x98C6))
+ return(tab_uni_jisx020844[code-0x98A8]);
+ if ((code>=0x98DB)&&(code<=0x9957))
+ return(tab_uni_jisx020845[code-0x98DB]);
+ if ((code>=0x9996)&&(code<=0x9A6B))
+ return(tab_uni_jisx020846[code-0x9996]);
+ if ((code>=0x9AA8)&&(code<=0x9B5A))
+ return(tab_uni_jisx020847[code-0x9AA8]);
+ if ((code>=0x9B6F)&&(code<=0x9C78))
+ return(tab_uni_jisx020848[code-0x9B6F]);
+ if ((code>=0x9CE5)&&(code<=0x9DFD))
+ return(tab_uni_jisx020849[code-0x9CE5]);
+ if ((code>=0x9E1A)&&(code<=0x9E1E))
+ return(tab_uni_jisx020850[code-0x9E1A]);
+ if ((code>=0x9E75)&&(code<=0x9F77))
+ return(tab_uni_jisx020851[code-0x9E75]);
+ if ((code>=0x9F8D)&&(code<=0x9FA0))
+ return(tab_uni_jisx020852[code-0x9F8D]);
+ if ((code>=0xFF01)&&(code<=0xFF5D))
+ return(tab_uni_jisx020853[code-0xFF01]);
+ if ((code>=0xFFE3)&&(code<=0xFFE5))
+ return(tab_uni_jisx020854[code-0xFFE3]);
+ return(0);
+}
+
+
+
+/* page 0 0x007E-0x007E */
+static uint16 tab_uni_jisx02120[]={
+0x2237};
+
+/* page 1 0x00A1-0x017E */
+static uint16 tab_uni_jisx02121[]={
+0x2242, 0, 0,0x2270, 0,0x2243, 0, 0,
+0x226D,0x226C, 0, 0, 0,0x226E,0x2234, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x2231,
+ 0,0x226B, 0, 0, 0, 0,0x2244,0x2A22,
+0x2A21,0x2A24,0x2A2A,0x2A23,0x2A29,0x2921,0x2A2E,0x2A32,
+0x2A31,0x2A34,0x2A33,0x2A40,0x2A3F,0x2A42,0x2A41, 0,
+0x2A50,0x2A52,0x2A51,0x2A54,0x2A58,0x2A53, 0,0x292C,
+0x2A63,0x2A62,0x2A65,0x2A64,0x2A72,0x2930,0x294E,0x2B22,
+0x2B21,0x2B24,0x2B2A,0x2B23,0x2B29,0x2941,0x2B2E,0x2B32,
+0x2B31,0x2B34,0x2B33,0x2B40,0x2B3F,0x2B42,0x2B41,0x2943,
+0x2B50,0x2B52,0x2B51,0x2B54,0x2B58,0x2B53, 0,0x294C,
+0x2B63,0x2B62,0x2B65,0x2B64,0x2B72,0x2950,0x2B73,0x2A27,
+0x2B27,0x2A25,0x2B25,0x2A28,0x2B28,0x2A2B,0x2B2B,0x2A2C,
+0x2B2C,0x2A2F,0x2B2F,0x2A2D,0x2B2D,0x2A30,0x2B30,0x2922,
+0x2942,0x2A37,0x2B37, 0, 0,0x2A36,0x2B36,0x2A38,
+0x2B38,0x2A35,0x2B35,0x2A3A,0x2B3A,0x2A3B,0x2B3B,0x2A3D,
+0x2B3D,0x2A3C, 0,0x2A3E,0x2B3E,0x2924,0x2944,0x2A47,
+0x2B47,0x2A45,0x2B45, 0, 0,0x2A46,0x2B46,0x2A44,
+0x2945,0x2926,0x2946,0x2A48,0x2B48,0x2A49,0x2B49,0x2947,
+0x2A4A,0x2B4A,0x2A4C,0x2B4C,0x2A4B,0x2B4B,0x2929,0x2949,
+0x2928,0x2948,0x2A4D,0x2B4D,0x2A4F,0x2B4F,0x2A4E,0x2B4E,
+0x294A,0x292B,0x294B,0x2A57,0x2B57, 0, 0,0x2A56,
+0x2B56,0x292D,0x294D,0x2A59,0x2B59,0x2A5B,0x2B5B,0x2A5A,
+0x2B5A,0x2A5C,0x2B5C,0x2A5D,0x2B5D,0x2A5F,0x2B5F,0x2A5E,
+0x2B5E,0x2A61,0x2B61,0x2A60,0x2B60,0x292F,0x294F,0x2A6C,
+0x2B6C,0x2A69,0x2B69,0x2A66,0x2B66,0x2A6B,0x2B6B,0x2A68,
+0x2B68,0x2A6A,0x2B6A,0x2A71,0x2B71,0x2A74,0x2B74,0x2A73,
+0x2A75,0x2B75,0x2A77,0x2B77,0x2A76,0x2B76};
+
+/* page 2 0x01CD-0x01DC */
+static uint16 tab_uni_jisx02122[]={
+0x2A26,0x2B26,0x2A43,0x2B43,0x2A55,0x2B55,0x2A67,0x2B67,
+0x2A70,0x2B70,0x2A6D,0x2B6D,0x2A6F,0x2B6F,0x2A6E,0x2B6E
+};
+
+/* page 3 0x01F5-0x01F5 */
+static uint16 tab_uni_jisx02123[]={
+0x2B39};
+
+/* page 4 0x02C7-0x02DD */
+static uint16 tab_uni_jisx02124[]={
+0x2230, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x222F,0x2232,0x2236,0x2235, 0,0x2233};
+
+/* page 5 0x0384-0x0390 */
+static uint16 tab_uni_jisx02125[]={
+0x2238,0x2239,0x2661, 0,0x2662,0x2663,0x2664, 0,
+0x2667, 0,0x2669,0x266C,0x2676};
+
+/* page 6 0x03AA-0x03CE */
+static uint16 tab_uni_jisx02126[]={
+0x2665,0x266A,0x2671,0x2672,0x2673,0x2674,0x267B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x2678, 0, 0, 0, 0, 0, 0, 0,
+0x2675,0x267A,0x2677,0x2679,0x267C};
+
+/* page 7 0x0402-0x040F */
+static uint16 tab_uni_jisx02127[]={
+0x2742,0x2743,0x2744,0x2745,0x2746,0x2747,0x2748,0x2749,
+0x274A,0x274B,0x274C, 0,0x274D,0x274E};
+
+/* page 8 0x0452-0x045F */
+static uint16 tab_uni_jisx02128[]={
+0x2772,0x2773,0x2774,0x2775,0x2776,0x2777,0x2778,0x2779,
+0x277A,0x277B,0x277C, 0,0x277D,0x277E};
+
+/* page 9 0x2116-0x2122 */
+static uint16 tab_uni_jisx02129[]={
+0x2271, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x226F};
+
+/* page 10 0x4E02-0x4F19 */
+static uint16 tab_uni_jisx021210[]={
+0x3021, 0,0x3022,0x3023, 0, 0, 0, 0,
+ 0, 0,0x3024, 0, 0, 0, 0, 0,
+0x3025, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3026, 0, 0,
+ 0,0x3027,0x3028, 0, 0, 0,0x3029, 0,
+ 0,0x302A, 0, 0,0x302B,0x302C,0x302D, 0,
+ 0, 0, 0,0x302E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x302F,0x3030,
+ 0, 0,0x3031, 0, 0,0x3032, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3033,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3034, 0,0x3035, 0, 0, 0, 0, 0,
+ 0,0x3036, 0, 0, 0, 0,0x3037,0x3038,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3039,0x303A, 0, 0, 0,0x303B,
+ 0, 0, 0, 0, 0,0x303C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x303D, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x303E,0x303F, 0, 0,
+ 0, 0, 0,0x3040, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3041, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3042,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3043, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3044, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3045,0x3046, 0, 0, 0, 0,0x3047,0x3048,
+0x3049, 0, 0, 0, 0, 0,0x304A, 0,
+ 0, 0, 0, 0, 0,0x304B, 0,0x304C,
+ 0,0x304D, 0,0x304E, 0, 0, 0, 0,
+ 0, 0, 0,0x304F,0x3050,0x3051,0x3052, 0,
+0x3053,0x3054, 0, 0, 0, 0,0x3055, 0,
+ 0,0x3056,0x3057, 0, 0, 0, 0, 0,
+0x3058, 0, 0,0x3059,0x305A,0x305B, 0,0x305C
+};
+
+/* page 11 0x4F2E-0x5166 */
+static uint16 tab_uni_jisx021211[]={
+0x305D, 0, 0,0x305E, 0,0x3060, 0,0x3061,
+ 0,0x3062, 0,0x3063, 0,0x3064, 0, 0,
+0x3065, 0,0x3066, 0,0x3067, 0, 0, 0,
+ 0, 0,0x3068,0x3069, 0,0x306A,0x306B, 0,
+ 0, 0, 0, 0,0x306C, 0,0x306D, 0,
+0x306E, 0,0x306F, 0, 0, 0, 0, 0,
+ 0,0x3070,0x305F, 0, 0,0x3071, 0, 0,
+ 0, 0, 0, 0,0x3072, 0,0x3073, 0,
+0x3074, 0, 0,0x3075, 0, 0, 0, 0,
+ 0,0x3076,0x3077,0x3078,0x3079, 0, 0,0x307A,
+0x307B, 0, 0,0x307C,0x307D, 0,0x307E,0x3121,
+ 0, 0, 0,0x3122,0x3123, 0,0x3124, 0,
+0x3125, 0,0x3126, 0,0x3127,0x3128,0x3129, 0,
+ 0,0x312A, 0,0x312B,0x312C, 0, 0, 0,
+0x312D,0x312E, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x312F, 0, 0, 0,
+ 0,0x3130, 0,0x3131, 0,0x3132,0x3133,0x3134,
+0x3135, 0,0x3136,0x3137, 0, 0, 0,0x3138,
+0x3139, 0,0x313A,0x313B, 0,0x313C,0x313D,0x313E,
+ 0,0x313F, 0, 0,0x3140, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3141, 0,
+ 0, 0,0x3142, 0,0x3143, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3144, 0,0x3145, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3146,0x3147,
+ 0,0x3148,0x3149,0x314A, 0, 0,0x314B, 0,
+ 0,0x314C, 0, 0,0x314D, 0,0x314E, 0,
+0x314F, 0,0x3150, 0, 0,0x3151, 0, 0,
+ 0,0x3152,0x3153, 0, 0,0x3154,0x3155,0x3156,
+0x3157, 0, 0, 0,0x3158, 0, 0, 0,
+ 0,0x3159, 0, 0, 0, 0, 0, 0,
+0x315A, 0,0x315B, 0,0x315C,0x315D, 0,0x315E,
+ 0, 0, 0, 0, 0,0x3176, 0, 0,
+ 0, 0,0x315F,0x3160,0x3161, 0, 0,0x3162,
+0x3163, 0, 0, 0,0x3164, 0,0x3165, 0,
+0x3166, 0, 0,0x3167,0x3168,0x3169, 0, 0,
+ 0,0x316A, 0,0x316B, 0, 0, 0, 0,
+ 0,0x316C,0x316D, 0,0x316E,0x316F, 0, 0,
+0x3170,0x3171, 0, 0,0x3172, 0, 0,0x3173,
+ 0, 0,0x3174,0x3175, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3177, 0,0x3178,0x3179, 0,
+0x317A, 0, 0, 0,0x317B, 0, 0, 0,
+0x317C,0x317D,0x317E, 0,0x3221,0x3222,0x3223, 0,
+0x3224, 0, 0, 0, 0,0x3225,0x3226, 0,
+0x3227,0x3228,0x3229,0x322A,0x322B, 0, 0, 0,
+ 0, 0, 0, 0,0x322C, 0, 0, 0,
+ 0,0x322D,0x322E, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x322F,0x3230, 0, 0,0x3231,
+ 0, 0,0x3232, 0, 0,0x3233,0x3234, 0,
+ 0,0x3235, 0, 0, 0, 0,0x3236, 0,
+0x3237, 0,0x3238, 0, 0,0x3239,0x323A, 0,
+ 0, 0,0x323B, 0, 0, 0,0x323C,0x323D,
+ 0,0x323E, 0, 0,0x323F, 0,0x3240, 0,
+0x3241, 0,0x3242,0x3243, 0, 0, 0, 0,
+ 0,0x3244, 0,0x3245,0x3251, 0, 0, 0,
+0x3246, 0, 0, 0,0x3247, 0, 0, 0,
+0x3248, 0, 0, 0, 0,0x3249, 0, 0,
+0x324A,0x324B,0x324C, 0, 0,0x324D,0x324E,0x324F,
+0x3250, 0,0x3252, 0, 0, 0, 0, 0,
+ 0,0x3253, 0,0x3254, 0,0x3255,0x3256,0x3257,
+0x3258, 0, 0, 0, 0,0x3259, 0, 0,
+ 0,0x325A,0x325B, 0, 0, 0,0x325C,0x325D,
+ 0,0x325E, 0,0x325F, 0,0x3260,0x3261,0x3262,
+ 0, 0,0x3263,0x3264, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3265, 0, 0, 0,
+ 0, 0, 0, 0,0x3266, 0, 0, 0,
+ 0,0x3267, 0, 0, 0,0x3268, 0,0x3269,
+ 0,0x326A,0x326B, 0, 0, 0, 0, 0,
+ 0,0x326C, 0, 0, 0, 0,0x326D, 0,
+0x326E};
+
+/* page 12 0x517E-0x5515 */
+static uint16 tab_uni_jisx021212[]={
+0x326F, 0, 0, 0, 0,0x3270,0x3271, 0,
+ 0, 0, 0, 0, 0,0x3272, 0, 0,
+0x3273, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3274, 0, 0, 0, 0,0x3275,
+ 0, 0, 0,0x3276, 0,0x3277, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3278,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3279, 0,0x327A, 0,0x327B, 0,
+0x327C,0x327D, 0, 0,0x327E, 0, 0, 0,
+ 0, 0,0x3321, 0, 0, 0, 0, 0,
+ 0,0x3322, 0,0x3323,0x3324,0x3325, 0,0x3326,
+ 0, 0,0x3327, 0, 0, 0, 0, 0,
+0x3328, 0, 0, 0,0x3329, 0, 0,0x332A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x332B, 0, 0, 0,0x332C,0x332D,0x332E, 0,
+ 0,0x332F, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3330,0x3331, 0, 0,0x3332,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3333,0x3334, 0,0x3335,
+0x3336, 0,0x3337, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3338, 0, 0, 0,
+ 0, 0,0x3339, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x333A,0x333B, 0, 0,0x333C,
+ 0, 0, 0, 0, 0, 0,0x333D, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x333E,
+ 0, 0, 0,0x333F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3340,
+ 0,0x3341,0x3342, 0,0x3343, 0,0x3344, 0,
+ 0,0x3345,0x3346,0x3347, 0, 0, 0, 0,
+0x3348, 0, 0, 0, 0, 0, 0, 0,
+0x3349, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x334A,0x334B,0x334C, 0, 0, 0, 0,
+ 0, 0,0x334D, 0,0x334E, 0, 0,0x334F,
+ 0, 0, 0, 0,0x3350, 0,0x3351, 0,
+ 0, 0, 0, 0, 0,0x3352, 0,0x3353,
+0x3354,0x3355,0x3356, 0,0x3357, 0,0x3358, 0,
+ 0, 0, 0, 0, 0, 0,0x3359,0x335A,
+0x335B,0x335C, 0, 0, 0, 0, 0, 0,
+ 0,0x335D,0x335E, 0, 0, 0, 0, 0,
+0x335F,0x3360,0x3361, 0,0x3362,0x3363, 0,0x3364,
+ 0, 0,0x3365, 0, 0, 0,0x3366, 0,
+0x3367, 0,0x3368, 0, 0, 0,0x3369, 0,
+ 0,0x336A, 0,0x336B, 0, 0,0x336C, 0,
+0x336D, 0, 0, 0, 0,0x336E,0x336F, 0,
+ 0, 0, 0,0x3370, 0, 0, 0,0x3371,
+ 0, 0,0x3372,0x3373,0x3374, 0,0x3375, 0,
+ 0, 0,0x3376,0x3377, 0, 0,0x3378, 0,
+0x3379,0x337A, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x337B, 0, 0,0x337C, 0, 0,
+ 0, 0, 0, 0,0x337D,0x337E,0x3421, 0,
+ 0, 0, 0,0x3422, 0,0x3423, 0, 0,
+ 0, 0,0x3424, 0, 0,0x3425,0x3426, 0,
+0x3427,0x3428, 0, 0, 0, 0, 0,0x3429,
+ 0,0x342A,0x342B,0x342C, 0,0x342D,0x342E,0x342F,
+ 0, 0,0x3430, 0,0x3431, 0, 0,0x3432,
+ 0, 0, 0, 0, 0, 0,0x3433,0x3434,
+0x3435, 0, 0, 0,0x3436, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3438,0x3437, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3439, 0,0x343A, 0, 0,
+ 0, 0, 0,0x343B, 0,0x343C, 0,0x343D,
+ 0, 0, 0, 0, 0, 0,0x343E,0x343F,
+ 0, 0, 0, 0,0x3440, 0, 0, 0,
+ 0, 0, 0,0x3441, 0, 0, 0, 0,
+0x3442, 0, 0, 0, 0,0x3443, 0, 0,
+ 0,0x3444,0x3445, 0, 0, 0, 0, 0,
+0x3446, 0, 0, 0, 0,0x3447,0x3448, 0,
+ 0, 0, 0,0x3449, 0, 0, 0,0x344A,
+ 0, 0, 0,0x344B, 0, 0,0x344C, 0,
+ 0, 0, 0, 0,0x344D,0x344E, 0, 0,
+ 0,0x344F, 0, 0,0x3450, 0,0x3451,0x3452,
+ 0,0x3453,0x3454, 0,0x3455, 0, 0,0x3456,
+ 0, 0,0x3457, 0, 0, 0, 0,0x3458,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3459, 0, 0,0x345A,0x345B, 0,0x345C,
+ 0, 0, 0, 0,0x345D, 0, 0,0x345E,
+0x345F, 0,0x3460, 0, 0, 0, 0, 0,
+0x3461,0x3462, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3463,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3464, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3465, 0, 0,
+ 0, 0, 0, 0,0x3466, 0, 0, 0,
+ 0, 0, 0,0x3467, 0, 0, 0, 0,
+ 0,0x3468,0x3469, 0,0x346A, 0, 0, 0,
+ 0,0x346B, 0,0x346C, 0, 0,0x346D,0x346E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x346F,0x3470, 0,
+ 0,0x3471, 0, 0, 0, 0, 0,0x3472,
+ 0,0x3473, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3474, 0, 0, 0,0x3475, 0,0x3476, 0,
+0x3477,0x3478, 0,0x3479, 0,0x347A, 0,0x347B,
+0x347C, 0, 0, 0, 0, 0,0x347D, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x347E, 0,0x3521, 0,0x3522, 0,0x3523,
+ 0, 0,0x3524,0x3525, 0, 0, 0,0x3526,
+ 0, 0, 0,0x3527, 0, 0, 0,0x3528,
+0x3529, 0, 0, 0, 0, 0,0x352A, 0,
+ 0,0x352B, 0,0x352C, 0, 0, 0, 0,
+0x352D,0x352E, 0,0x352F,0x3530, 0, 0,0x3531,
+0x3532, 0, 0,0x3533, 0, 0, 0, 0,
+ 0,0x3534, 0,0x3535,0x3536,0x3537, 0, 0,
+ 0,0x3538, 0, 0, 0, 0, 0, 0,
+0x3539, 0, 0, 0,0x353A, 0, 0,0x353B,
+0x353C, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x353D, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x353E, 0,0x353F, 0,
+ 0,0x3540, 0, 0, 0, 0, 0, 0,
+0x3541, 0, 0, 0, 0, 0,0x3542, 0,
+0x3543,0x3544,0x3545,0x3546, 0, 0, 0,0x3547,
+ 0, 0,0x3548,0x3549, 0, 0,0x354A,0x354B,
+0x354C, 0, 0, 0, 0, 0, 0,0x354D
+};
+
+/* page 13 0x552A-0x5566 */
+static uint16 tab_uni_jisx021213[]={
+0x354E,0x354F, 0, 0, 0, 0, 0, 0,
+0x3550, 0, 0,0x3551,0x3552, 0, 0, 0,
+ 0,0x3553,0x3554,0x3555, 0, 0, 0,0x3556,
+ 0, 0, 0, 0, 0,0x3557, 0,0x3558,
+0x3559, 0, 0,0x355A, 0, 0,0x355B,0x355C,
+ 0, 0, 0, 0, 0, 0,0x355D, 0,
+0x355E,0x355F, 0, 0,0x3560, 0,0x3561,0x3562,
+ 0, 0,0x3563, 0,0x3564};
+
+/* page 14 0x557F-0x5C36 */
+static uint16 tab_uni_jisx021214[]={
+0x3565, 0,0x3566,0x3567, 0, 0, 0,0x3568,
+ 0,0x3569, 0, 0, 0, 0, 0,0x356A,
+0x356B, 0,0x356C,0x356D,0x356E,0x356F, 0, 0,
+0x3570, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3571,0x3572, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3573, 0,
+ 0, 0, 0,0x3574, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3575, 0,0x3576, 0,0x3577, 0, 0,0x3578,
+ 0, 0,0x3579, 0,0x357A,0x357B, 0,0x357C,
+ 0, 0,0x357D,0x357E,0x3621, 0, 0, 0,
+0x3622,0x3623, 0, 0,0x3624, 0, 0,0x3625,
+ 0, 0, 0,0x3626, 0, 0, 0, 0,
+ 0, 0,0x3627, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3628,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3629, 0, 0, 0, 0, 0,0x362A, 0,
+ 0,0x362B, 0,0x362C, 0, 0,0x362D,0x362E,
+0x362F,0x3630,0x3631,0x3632, 0, 0, 0, 0,
+ 0, 0,0x3633, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3634, 0, 0,
+ 0,0x3635, 0, 0,0x3636, 0,0x3637, 0,
+0x3638, 0,0x3639, 0,0x363A,0x363B,0x363C, 0,
+0x363D,0x363E,0x363F, 0,0x3640,0x3641, 0,0x3642,
+ 0, 0,0x3643, 0,0x3644, 0,0x3645, 0,
+0x3646, 0, 0, 0, 0,0x3647, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3648,
+ 0,0x3649,0x364A,0x364B,0x364C, 0, 0,0x364D,
+ 0, 0,0x364E, 0, 0, 0,0x364F, 0,
+0x3650, 0,0x3651,0x3652, 0, 0,0x3653, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3654,0x3655, 0,
+ 0,0x3656, 0, 0,0x3657,0x3658, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3659, 0,
+ 0, 0,0x365A,0x365B, 0, 0,0x365C,0x365D,
+0x365E, 0, 0, 0, 0, 0, 0,0x365F,
+0x3660,0x3661,0x3662, 0,0x3663,0x3664,0x3665, 0,
+ 0, 0,0x3666, 0,0x3667, 0, 0, 0,
+0x3668, 0, 0, 0, 0, 0, 0,0x3669,
+ 0, 0, 0, 0, 0, 0,0x366A, 0,
+ 0, 0,0x366B,0x366C,0x366D,0x3670,0x3671, 0,
+0x366E,0x366F, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3672, 0, 0,0x3673,0x3674, 0,
+0x3675, 0,0x3676, 0, 0,0x3677,0x3678,0x3679,
+0x367A,0x367B, 0, 0,0x367D, 0,0x367E, 0,
+ 0, 0,0x367C, 0, 0, 0, 0,0x3721,
+0x3722, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3723,0x3724, 0, 0, 0, 0,
+0x3725, 0, 0,0x3726, 0,0x3727, 0, 0,
+ 0, 0,0x3728, 0, 0, 0,0x3729, 0,
+ 0, 0, 0,0x372A,0x372B, 0,0x372C, 0,
+ 0,0x372D, 0,0x372E,0x372F,0x3730,0x3731, 0,
+ 0, 0,0x3732,0x3733, 0,0x3734, 0,0x3735,
+0x3736, 0, 0, 0,0x3737,0x3738, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3739,0x373A,
+0x373B, 0, 0, 0, 0, 0,0x373C,0x373D,
+ 0, 0, 0, 0, 0,0x373E,0x373F, 0,
+ 0, 0, 0,0x3740, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3741, 0, 0,0x3742, 0,
+0x3743,0x3744, 0, 0,0x3745, 0,0x3746,0x3747,
+0x3748,0x3749,0x374A, 0,0x374B,0x374C,0x374D, 0,
+0x374E, 0,0x374F,0x3750,0x3751,0x3752, 0,0x3753,
+ 0, 0,0x3754, 0,0x3755, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3756, 0, 0,
+ 0, 0, 0, 0, 0,0x3757,0x3760, 0,
+0x3758, 0,0x3759,0x375A, 0,0x375B,0x375C,0x375D,
+0x375E, 0,0x375F, 0, 0, 0, 0, 0,
+0x3761,0x3762,0x3763, 0, 0,0x3764, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3765, 0, 0, 0, 0,0x3766, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3767,0x3768, 0, 0, 0,0x3769, 0, 0,
+0x376A, 0, 0, 0, 0, 0,0x376B, 0,
+ 0, 0, 0, 0, 0, 0,0x376C,0x376D,
+ 0, 0,0x377E, 0, 0,0x376E, 0,0x376F,
+0x3770, 0,0x3771, 0, 0, 0,0x3772, 0,
+ 0,0x3773, 0, 0, 0, 0,0x3774,0x3775,
+ 0,0x3776, 0, 0, 0, 0,0x3777,0x3778,
+0x3779, 0, 0, 0,0x377A,0x377B, 0, 0,
+ 0,0x377C,0x377D, 0, 0,0x3821,0x3822, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3823, 0, 0,0x3824,
+0x3825,0x3826, 0, 0, 0, 0, 0,0x3827,
+0x3828, 0, 0, 0, 0, 0,0x3829, 0,
+ 0, 0, 0,0x382A, 0, 0, 0, 0,
+ 0, 0,0x382B, 0, 0, 0, 0, 0,
+0x382C, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x382D, 0, 0,0x382E,0x382F, 0,
+0x3830,0x3831, 0, 0, 0, 0,0x3832, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3833, 0,0x3834, 0, 0,0x3835, 0, 0,
+0x3836,0x3837, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3838, 0, 0, 0,0x3839, 0, 0,
+0x383A,0x383B,0x383C, 0, 0, 0, 0, 0,
+0x383D,0x383E,0x383F,0x3840, 0,0x3841,0x3842, 0,
+0x3843,0x3844, 0, 0, 0,0x3845, 0,0x3846,
+ 0, 0, 0, 0, 0, 0,0x3847, 0,
+ 0,0x3848,0x3849,0x384A, 0, 0, 0,0x384B,
+ 0, 0,0x384C, 0, 0, 0, 0, 0,
+ 0, 0,0x384D,0x384E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3850, 0, 0,
+ 0, 0, 0,0x3851, 0,0x384F, 0, 0,
+ 0,0x3852, 0, 0, 0, 0,0x3853,0x3854,
+ 0,0x3855, 0,0x3856, 0,0x3857, 0,0x3858,
+ 0, 0, 0,0x3859, 0, 0,0x385A, 0,
+ 0, 0,0x385B,0x385C, 0, 0, 0, 0,
+ 0, 0,0x385D, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x385E, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x385F,0x3860,
+ 0, 0, 0, 0,0x3861,0x3862, 0, 0,
+ 0, 0, 0,0x3863,0x3864,0x3865, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3867, 0,
+ 0, 0,0x3868, 0,0x3869,0x386A, 0, 0,
+ 0,0x386B, 0, 0, 0, 0, 0, 0,
+0x386C,0x386D, 0, 0,0x386E, 0,0x386F,0x3870,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3871, 0, 0, 0,0x3872, 0, 0,0x3873,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3874,0x3875, 0, 0, 0,
+ 0, 0,0x3876, 0,0x3877, 0,0x3878,0x3879,
+0x387A, 0,0x387B, 0,0x387C, 0, 0, 0,
+ 0, 0, 0, 0,0x387D, 0,0x387E, 0,
+0x3921, 0, 0,0x3922, 0, 0,0x3923,0x3924,
+ 0, 0,0x3925, 0,0x3926,0x3927, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3928,0x3929, 0,0x392A,
+ 0, 0, 0,0x392B, 0, 0,0x392C, 0,
+0x392D, 0, 0, 0, 0, 0, 0, 0,
+0x392E, 0, 0, 0, 0,0x392F, 0, 0,
+0x3930, 0, 0, 0, 0, 0,0x3931,0x3932,
+0x3933,0x3934, 0, 0,0x3935, 0, 0, 0,
+0x3936, 0, 0,0x3937, 0,0x3938, 0, 0,
+ 0, 0,0x3939, 0,0x393A,0x393B, 0, 0,
+ 0,0x393C, 0,0x393D, 0, 0,0x393E, 0,
+ 0, 0, 0,0x393F, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3940,0x3941,
+0x3942, 0, 0, 0,0x3943,0x3944, 0, 0,
+0x3945, 0, 0, 0, 0, 0, 0,0x3946,
+0x3947, 0,0x3948,0x3949, 0,0x394A, 0, 0,
+0x394B, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x394C, 0, 0, 0,0x394D, 0, 0,
+ 0, 0, 0, 0, 0,0x394E,0x394F,0x3950,
+ 0, 0, 0,0x3951,0x3952, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3953,
+ 0, 0, 0, 0,0x3954,0x3955, 0, 0,
+0x3956,0x3957, 0,0x3958, 0, 0,0x3959, 0,
+ 0,0x395A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x395B,0x395C, 0,
+0x395D,0x395E, 0, 0, 0,0x395F, 0, 0,
+ 0,0x3960, 0, 0, 0, 0,0x3961, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3962,
+ 0, 0, 0, 0,0x3963, 0,0x3964, 0,
+0x3965, 0, 0, 0, 0, 0,0x3966, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3967, 0, 0,0x3968,0x3969, 0, 0,0x396A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x396B, 0, 0, 0,
+ 0,0x396C, 0, 0,0x396D, 0, 0,0x396E,
+ 0, 0,0x396F, 0, 0,0x3970, 0,0x3971,
+0x3972,0x3973, 0,0x3974, 0, 0, 0, 0,
+0x3975, 0, 0, 0, 0,0x3976, 0, 0,
+ 0, 0,0x3977,0x3978,0x3979, 0,0x397A, 0,
+ 0,0x397B, 0,0x397C,0x397D, 0, 0, 0,
+0x397E, 0, 0, 0, 0,0x3A21, 0,0x3A22,
+ 0,0x3A23, 0, 0, 0, 0, 0, 0,
+0x3A24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3A25, 0,0x3A26, 0, 0,
+ 0,0x3A27, 0, 0, 0, 0,0x3A28, 0,
+ 0, 0, 0,0x3A29, 0, 0, 0,0x3A2A,
+ 0, 0, 0, 0, 0, 0,0x3A2B,0x3A2C,
+ 0, 0, 0, 0, 0, 0,0x3A2D, 0,
+ 0,0x3A2E,0x3A2F, 0, 0, 0, 0, 0,
+ 0,0x3A30, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3A31, 0,0x3A33, 0,0x3A34, 0,0x3A35, 0,
+ 0, 0,0x3A36, 0, 0, 0,0x3A37, 0,
+ 0, 0, 0, 0, 0, 0,0x3A38, 0,
+ 0, 0, 0, 0, 0,0x3A32, 0, 0,
+ 0,0x3A39, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3A3A, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3A3B,0x3A3C, 0, 0,
+ 0, 0, 0,0x3A3D, 0, 0, 0,0x3A3E,
+ 0, 0, 0, 0, 0, 0, 0,0x3A3F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3A40, 0, 0, 0, 0, 0,0x3A41,
+0x3A42, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3A43,0x3A44,0x3A45,
+0x3A46, 0,0x3A47, 0, 0,0x3A48, 0,0x3A49,
+ 0, 0, 0,0x3A4A, 0, 0, 0,0x3A4B,
+ 0,0x3A4C,0x3A4D, 0,0x3A4E,0x3A4F, 0,0x3A50,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3A51,0x3A52, 0, 0,0x3A53,0x3A54, 0,
+0x3A55, 0,0x3A56,0x3A57, 0, 0, 0, 0,
+0x3A58, 0, 0,0x3A59, 0,0x3A5A, 0, 0,
+ 0,0x3A5B,0x3A5C, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3A5D, 0,
+0x3A5E, 0, 0, 0, 0, 0, 0,0x3A5F,
+0x3A60,0x3A61,0x3A62,0x3A63, 0, 0, 0, 0,
+ 0,0x3A64, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3A65, 0,0x3A66, 0, 0,0x3A67, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3A68, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3A69, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3A6A, 0, 0, 0, 0, 0, 0,0x3A6B,
+0x3A6C, 0, 0, 0,0x3A6D, 0, 0,0x3A6E,
+ 0, 0,0x3A6F, 0,0x3A70,0x3A71, 0,0x3A72,
+ 0,0x3A73, 0,0x3A74, 0, 0,0x3A75,0x3A76
+};
+
+/* page 15 0x5C59-0x5EEB */
+static uint16 tab_uni_jisx021215[]={
+0x3A77,0x3A78, 0,0x3A79, 0, 0, 0, 0,
+ 0,0x3A7A,0x3A7B, 0, 0, 0,0x3A7C,0x3A7D,
+0x3A7E, 0, 0, 0,0x3B21, 0, 0,0x3B22,
+ 0, 0, 0,0x3B23,0x3B24, 0, 0, 0,
+ 0,0x3B25,0x3B26,0x3B27,0x3B28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3B29,0x3B2A,
+ 0,0x3B2B, 0, 0, 0, 0,0x3B2C, 0,
+ 0,0x3B2D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3B2E, 0,0x3B2F,0x3B30,
+ 0,0x3B31,0x3B32, 0, 0,0x3B33, 0, 0,
+ 0,0x3B34, 0, 0, 0, 0, 0, 0,
+ 0,0x3B35, 0,0x3B36,0x3B37, 0, 0, 0,
+ 0,0x3B38, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3B39, 0,0x3B3A, 0, 0, 0, 0, 0,
+ 0,0x3B3B, 0, 0, 0, 0,0x3B3D, 0,
+ 0, 0, 0, 0,0x3B3C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3B3E, 0, 0,
+0x3B3F,0x3B40, 0,0x3B41, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3B42, 0, 0, 0, 0,0x3B43, 0, 0,
+ 0, 0, 0, 0,0x3B44, 0, 0, 0,
+ 0,0x3B45, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3B47,0x3B48, 0,0x3B49,0x3B4A, 0,
+ 0, 0,0x3B46, 0, 0, 0, 0, 0,
+0x3B4B, 0, 0,0x3B4C, 0, 0, 0, 0,
+0x3B4D, 0, 0, 0,0x3B4E, 0,0x3B4F, 0,
+ 0,0x3B50,0x3B51, 0, 0,0x3B52, 0,0x3B53,
+ 0,0x3B57, 0, 0, 0, 0, 0, 0,
+0x3B55, 0, 0, 0,0x3B54, 0, 0, 0,
+0x3B56, 0, 0, 0, 0, 0,0x3B58,0x3B59,
+0x3B5A,0x3B5B, 0,0x3B5C, 0, 0, 0, 0,
+ 0,0x3B5D, 0, 0,0x3B5E, 0, 0,0x3B5F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3B60,0x3B61, 0, 0, 0,0x3B62,0x3B63, 0,
+0x3B64, 0,0x3B65, 0, 0, 0, 0,0x3B66,
+ 0,0x3B67, 0, 0, 0, 0, 0, 0,
+ 0,0x3B68,0x3B69,0x3B6A,0x3B6B, 0, 0, 0,
+0x3B6C, 0,0x3B6D, 0, 0, 0,0x3B6E,0x3B6F,
+ 0, 0, 0, 0, 0, 0,0x3B70, 0,
+ 0, 0,0x3B71, 0, 0, 0, 0,0x3B72,
+ 0,0x6674, 0,0x3B73, 0, 0, 0,0x3B74,
+0x3B75, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3B76, 0, 0, 0,0x3B77, 0,
+ 0, 0,0x3B78, 0, 0,0x3B7A, 0,0x3B79,
+ 0, 0, 0, 0, 0, 0, 0,0x3B7B,
+0x3B7C, 0, 0, 0, 0, 0, 0,0x3B7D,
+ 0, 0, 0,0x3B7E, 0, 0, 0, 0,
+0x3C21, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3C22,
+0x3C23, 0, 0, 0, 0, 0, 0,0x3C24,
+ 0, 0, 0, 0, 0, 0,0x3C25, 0,
+ 0, 0, 0, 0,0x3C26, 0, 0, 0,
+ 0,0x3C27, 0,0x3C28,0x3C29, 0, 0,0x3C2A,
+ 0, 0, 0, 0, 0, 0,0x3C2B,0x3C2C,
+ 0, 0, 0, 0, 0, 0, 0,0x3C2E,
+ 0, 0, 0, 0, 0,0x3C2D, 0, 0,
+ 0,0x3C2F, 0, 0,0x3C30, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3C31, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3C34, 0,0x3C32, 0, 0, 0, 0,0x3C33,
+0x3C35, 0, 0, 0, 0,0x3C36, 0,0x3C37,
+ 0, 0,0x3C38,0x3C39, 0,0x3C3A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3C3B,
+ 0,0x3C3C,0x3C3D,0x3C3E,0x3C3F,0x3C40, 0,0x3C41,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3C42,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3C43, 0, 0,0x3C44, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x3C45, 0,0x3C46,0x3C47, 0, 0,0x3C48,
+ 0,0x3C49, 0,0x3C4A, 0, 0, 0, 0,
+0x3C4B, 0,0x3C4C, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3C4D,0x3C4E,0x3C4F, 0,
+ 0, 0, 0, 0, 0,0x3C50, 0, 0,
+ 0, 0,0x3C52,0x3C51, 0,0x3C53, 0, 0,
+0x3C54,0x3C55, 0,0x3C56,0x3C57, 0, 0, 0,
+ 0, 0, 0,0x3C58, 0,0x3C59, 0, 0,
+ 0, 0, 0, 0,0x3C5A, 0, 0, 0,
+ 0, 0,0x3C5B};
+
+/* page 16 0x5F02-0x6149 */
+static uint16 tab_uni_jisx021216[]={
+0x3C5C, 0, 0, 0,0x3C5D,0x3C5E,0x3C5F, 0,
+ 0, 0, 0, 0,0x3C60, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3C61,
+ 0, 0,0x3C62,0x3C63, 0, 0, 0,0x3C64,
+0x3C65,0x3C66,0x3C67, 0, 0, 0,0x3C68, 0,
+ 0,0x3C69,0x3C6A, 0,0x3C6B, 0,0x3C6C, 0,
+ 0, 0,0x3C6D, 0,0x3C6E, 0, 0, 0,
+ 0,0x3C6F, 0,0x3C70, 0,0x3C71,0x3C72, 0,
+ 0, 0,0x3C73,0x3C74, 0,0x3C75, 0, 0,
+ 0, 0, 0,0x3C76, 0, 0,0x3C77, 0,
+ 0, 0,0x3C78, 0, 0, 0,0x3C79, 0,
+ 0,0x3C7A, 0, 0, 0, 0,0x3C7B, 0,
+ 0,0x3C7C,0x3C7D, 0, 0,0x3C7E, 0, 0,
+ 0, 0, 0, 0, 0,0x3D21, 0, 0,
+0x3D22, 0,0x3D23,0x3D24, 0, 0,0x3D25, 0,
+0x3D26, 0, 0,0x3D27,0x3D28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3D29,
+ 0, 0, 0,0x3D2A, 0,0x3D2B, 0, 0,
+ 0, 0, 0, 0,0x3D2C, 0, 0, 0,
+ 0, 0,0x3D2D,0x3D2E, 0, 0, 0, 0,
+0x3D2F, 0,0x3D32, 0, 0,0x3D30, 0, 0,
+ 0,0x3D31,0x3D33, 0, 0,0x3D34,0x3D35,0x3D36,
+ 0, 0, 0, 0, 0, 0,0x3D37, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3D38, 0, 0,0x3D39,0x3D3A,0x3D3B,
+ 0,0x3D3C, 0, 0, 0, 0,0x3D3D,0x3D3E,
+0x3D3F,0x3D40,0x3D41, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3D42, 0, 0,0x3D43,
+0x3D44, 0, 0, 0, 0, 0,0x3D45,0x3D46,
+0x3D47, 0,0x3D48,0x3D49,0x3D4A,0x3D4B, 0, 0,
+0x3D4C,0x3D4D, 0, 0,0x3D4E, 0, 0, 0,
+0x3D4F, 0,0x3D50, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3D51, 0, 0,
+0x3D52, 0, 0,0x3D53, 0, 0, 0, 0,
+ 0,0x3D54,0x3D55, 0, 0,0x3D56,0x3D57, 0,
+0x3D58, 0, 0, 0, 0,0x3D59, 0, 0,
+ 0, 0,0x3D5A, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3D5B, 0, 0, 0, 0,
+ 0,0x3D5C, 0,0x3D5D, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3D5E, 0,
+ 0, 0, 0, 0, 0,0x3D5F,0x3D60,0x3D61,
+ 0, 0,0x3D62, 0, 0, 0, 0,0x3D63,
+ 0, 0,0x3D64, 0,0x3D65,0x3D66, 0, 0,
+ 0, 0, 0,0x3D67, 0, 0, 0,0x3D68,
+ 0, 0, 0, 0, 0,0x3D69, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3D6A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3D6B,0x3D6C, 0, 0,
+0x3D6D, 0, 0, 0,0x3D6E, 0,0x3D6F, 0,
+0x3D70, 0, 0, 0,0x3D71, 0, 0,0x3D72,
+ 0,0x3D73, 0,0x3D74, 0, 0,0x3D75, 0,
+ 0, 0, 0,0x3D76,0x3D77, 0, 0, 0,
+0x3D78, 0,0x3D79,0x3D7A, 0, 0,0x3D7B, 0,
+ 0, 0, 0, 0, 0, 0,0x3D7C,0x3D7D,
+ 0, 0, 0, 0, 0,0x3D7E, 0, 0,
+ 0,0x3E21, 0, 0,0x3E22, 0, 0, 0,
+0x3E23, 0,0x3E24, 0, 0, 0,0x3E25,0x3E26,
+0x3E27,0x3E28, 0, 0,0x3E29,0x3E2A, 0, 0,
+ 0, 0,0x3E2B,0x3E2C, 0, 0, 0,0x3E2D,
+ 0,0x3E2E, 0,0x3E2F,0x3E30, 0, 0, 0,
+0x3E31, 0, 0,0x3E32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3E33, 0, 0,0x3E34, 0, 0,0x3E35, 0,
+ 0, 0,0x3E36,0x3E37, 0, 0, 0, 0,
+0x3E38, 0, 0, 0, 0,0x3E39, 0, 0,
+0x3E3A, 0,0x3E3B, 0, 0, 0,0x3E3C,0x3E3D,
+0x3E3E,0x3E3F,0x3E40, 0,0x3E41,0x3E42, 0,0x3E43,
+ 0, 0,0x3E44, 0,0x3E45, 0, 0, 0,
+0x3E46, 0, 0, 0, 0, 0, 0, 0,
+0x3E47,0x3E48, 0, 0, 0, 0,0x3E49,0x3E4A,
+ 0, 0, 0,0x3E4B,0x3E4C,0x3E4D, 0,0x3E4E,
+ 0, 0, 0, 0, 0, 0, 0,0x3E4F,
+ 0, 0, 0,0x3E50,0x3E51, 0, 0,0x3E52
+};
+
+/* page 17 0x615E-0x6290 */
+static uint16 tab_uni_jisx021217[]={
+0x3E53, 0,0x3E54, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x3E55, 0,
+ 0, 0, 0, 0,0x3E56, 0, 0, 0,
+ 0, 0,0x3E57, 0, 0,0x3E58,0x3E59, 0,
+ 0,0x3E5A,0x3E5B,0x3E5C, 0,0x3E5D,0x3E5E, 0,
+ 0, 0, 0, 0, 0,0x3E5F, 0,0x3E60,
+ 0, 0, 0, 0,0x3E61,0x3E62, 0, 0,
+ 0,0x3E63,0x3E64, 0, 0, 0,0x3E65,0x3E66,
+ 0,0x3E67,0x3E68, 0, 0, 0, 0,0x3E69,
+ 0, 0,0x3E6A, 0,0x3E6B, 0, 0,0x3E6C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x3E6D,0x3E6E, 0, 0,0x3E6F, 0,
+ 0, 0,0x3E70,0x3E71,0x3E72, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3E73,0x3E74, 0, 0, 0, 0, 0,0x3E75,
+ 0, 0, 0, 0, 0, 0,0x3E76,0x3E77,
+0x3E78,0x3E79, 0,0x3E7A,0x3E7B, 0, 0,0x3E7E,
+ 0,0x3E7C, 0,0x3E7D, 0, 0,0x3F21,0x3F22,
+ 0,0x3F23, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3F24, 0,0x3F25,0x3F26, 0,
+ 0,0x3F27, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3F28, 0,0x3F29,
+ 0, 0, 0, 0, 0, 0,0x3F2A, 0,
+ 0, 0,0x3F2B, 0,0x3F2C,0x3F2D, 0, 0,
+ 0,0x3F2E, 0,0x3F2F, 0,0x3F30, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3F31, 0, 0, 0,0x3F32,
+ 0, 0, 0, 0,0x3F33,0x3F34,0x3F35, 0,
+0x3F36, 0, 0, 0, 0, 0,0x3F37, 0,
+ 0, 0,0x3F38,0x3F39,0x3F3A, 0,0x3F3B, 0,
+0x3F3C, 0, 0, 0,0x3F3D, 0,0x3F3E, 0,
+ 0, 0, 0, 0, 0, 0,0x3F3F, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3F40,
+ 0,0x3F41, 0, 0, 0,0x3F42, 0, 0,
+ 0, 0, 0, 0,0x3F43, 0, 0,0x3F44,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3F45,
+0x3F46,0x3F47,0x3F48};
+
+/* page 18 0x62A6-0x679B */
+static uint16 tab_uni_jisx021218[]={
+0x3F49, 0,0x3F4A, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x3F4B, 0, 0,
+0x3F4C,0x3F4D, 0, 0,0x3F4E, 0, 0, 0,
+0x3F4F,0x3F50, 0, 0, 0, 0,0x3F51, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x3F52, 0, 0, 0, 0, 0, 0,0x3F53,
+0x3F54, 0, 0, 0,0x3F55, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x3F56, 0, 0, 0,
+ 0, 0, 0, 0,0x3F57, 0,0x3F58, 0,
+ 0, 0, 0, 0, 0, 0,0x3F59,0x3F5A,
+ 0, 0, 0, 0, 0,0x3F5B,0x3F5C, 0,
+ 0, 0, 0, 0,0x3F5D,0x3F5E, 0,0x3F5F,
+ 0, 0,0x3F60, 0, 0,0x3F61, 0, 0,
+0x3F62, 0,0x3F63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x3F64,0x3F65, 0, 0,0x3F66,
+ 0, 0, 0, 0, 0, 0, 0,0x3F67,
+0x3F68, 0, 0,0x3F69, 0, 0,0x3F6A, 0,
+ 0, 0, 0,0x3F6B,0x3F6C,0x3F6D,0x3F6E, 0,
+0x3F6F, 0, 0, 0,0x3F70,0x3F71, 0, 0,
+0x3F72, 0, 0, 0,0x3F73,0x3F74,0x3F75, 0,
+ 0, 0,0x3F76, 0, 0,0x3F77, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x3F78,
+0x3F79, 0, 0, 0, 0, 0,0x3F7A,0x3F7B,
+ 0, 0, 0,0x3F7C, 0, 0,0x3F7D,0x3F7E,
+ 0, 0,0x4021, 0, 0, 0,0x4022,0x4023,
+ 0,0x4024, 0, 0,0x4025, 0,0x4026, 0,
+ 0,0x4027, 0, 0,0x4028, 0, 0, 0,
+ 0, 0,0x4029, 0, 0, 0,0x402A,0x402B,
+ 0, 0, 0,0x402C,0x402D, 0, 0, 0,
+0x402E, 0, 0, 0, 0, 0,0x402F, 0,
+0x4030, 0, 0, 0, 0, 0, 0,0x4031,
+0x4032,0x4033, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4034,
+ 0, 0, 0,0x4035, 0, 0, 0,0x4036,
+ 0, 0,0x4037, 0, 0, 0, 0, 0,
+0x4038, 0, 0,0x4039, 0,0x403A,0x403B,0x403C,
+ 0, 0, 0, 0, 0, 0,0x403D, 0,
+ 0, 0,0x403E, 0, 0, 0, 0,0x403F,
+ 0, 0, 0, 0,0x4040, 0,0x4041, 0,
+ 0, 0, 0, 0,0x4042,0x4043, 0,0x4044,
+ 0, 0,0x4045,0x4046, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4047,0x4048, 0, 0, 0,
+ 0, 0,0x4049, 0,0x404A, 0,0x404B, 0,
+ 0, 0,0x404C, 0, 0, 0, 0, 0,
+0x404D, 0,0x404E, 0,0x404F, 0,0x4050,0x4051,
+ 0, 0, 0,0x4052,0x4053, 0, 0, 0,
+ 0,0x4054,0x4055, 0, 0, 0, 0,0x4056,
+ 0, 0, 0, 0, 0, 0, 0,0x4057,
+ 0,0x4058, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4059, 0, 0,
+ 0,0x405A, 0,0x405B,0x405C,0x405D,0x405E, 0,
+ 0, 0, 0, 0,0x405F,0x4060,0x4061,0x4062,
+ 0,0x4063,0x4064,0x4065, 0,0x4066, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4067,
+ 0, 0, 0, 0, 0,0x4068,0x4069, 0,
+ 0, 0, 0, 0, 0,0x406A, 0,0x406B,
+ 0, 0, 0, 0, 0, 0, 0,0x406C,
+ 0,0x406D, 0, 0, 0, 0, 0, 0,
+ 0,0x406E,0x406F,0x4070, 0, 0, 0, 0,
+ 0, 0,0x4071,0x4072, 0,0x4073, 0,0x4074,
+ 0,0x4075, 0,0x4076, 0,0x4077, 0, 0,
+0x4078, 0,0x4079, 0, 0, 0,0x407A, 0,
+ 0, 0, 0, 0, 0,0x407B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x407C,
+0x407D,0x407E, 0, 0, 0, 0,0x4121, 0,
+ 0, 0, 0,0x4122,0x4123,0x4124,0x4125, 0,
+0x4126, 0,0x4127,0x4128, 0, 0, 0,0x4129,
+ 0,0x412A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x412B,0x412C,
+ 0, 0, 0,0x412D,0x412E, 0, 0,0x412F,
+ 0, 0,0x4130, 0, 0, 0, 0,0x4131,
+ 0,0x4132, 0, 0, 0,0x4133, 0, 0,
+ 0,0x4134, 0,0x4135, 0, 0,0x4136, 0,
+ 0, 0,0x4137,0x4138,0x4139, 0, 0, 0,
+ 0,0x413A, 0, 0, 0,0x413B,0x413C, 0,
+0x413D, 0, 0,0x413E, 0,0x413F, 0, 0,
+0x4140,0x4141, 0, 0,0x4142, 0, 0, 0,
+0x4143, 0, 0,0x4144, 0, 0, 0, 0,
+0x4145, 0, 0,0x4146, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4147, 0,0x4148,0x4149,
+ 0, 0, 0, 0, 0,0x414A, 0, 0,
+ 0,0x414B, 0,0x414C, 0, 0, 0, 0,
+ 0, 0,0x414D, 0,0x414E, 0,0x414F, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4150,0x4151, 0, 0, 0, 0, 0,
+ 0,0x4152, 0, 0, 0,0x4153, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4154, 0, 0,0x4155,
+ 0, 0, 0,0x4156, 0, 0, 0,0x4157,
+ 0, 0, 0, 0,0x4158, 0, 0, 0,
+ 0, 0, 0, 0,0x4159, 0, 0,0x415A,
+ 0, 0,0x415B, 0, 0, 0, 0,0x415C,
+ 0, 0,0x415D, 0, 0,0x415E, 0, 0,
+0x415F, 0, 0, 0, 0, 0, 0, 0,
+0x4160, 0, 0, 0,0x4161,0x4162,0x4163, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4164, 0, 0,0x4165, 0, 0, 0,
+ 0, 0,0x4166,0x4167, 0, 0, 0, 0,
+0x4168, 0,0x4169, 0, 0, 0,0x416A, 0,
+0x416B, 0,0x416C, 0, 0, 0, 0, 0,
+ 0,0x416D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x416E, 0,0x416F, 0,0x4170,0x4171,
+ 0, 0, 0,0x4172, 0, 0, 0, 0,
+0x4173,0x4174,0x4175, 0, 0, 0,0x4176, 0,
+ 0, 0,0x4177,0x4178, 0, 0, 0,0x4179,
+ 0, 0, 0,0x417A,0x417B, 0, 0,0x417C,
+0x417D, 0, 0, 0, 0, 0, 0,0x417E,
+0x4221, 0, 0,0x4222,0x4223,0x4224,0x4225, 0,
+0x4226, 0, 0,0x4227,0x4228,0x4229,0x422A, 0,
+0x422B, 0,0x422C,0x422D, 0,0x422E, 0, 0,
+ 0,0x4230, 0,0x422F, 0, 0, 0, 0,
+ 0, 0,0x4231, 0, 0, 0, 0,0x4232,
+0x4233, 0, 0, 0,0x4234, 0,0x4235, 0,
+0x4237, 0, 0,0x4236, 0, 0, 0, 0,
+ 0,0x4238,0x4239,0x423A, 0,0x423B,0x423C, 0,
+ 0, 0,0x423D,0x423E, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4240,0x4241,0x4242, 0,
+ 0, 0, 0, 0, 0,0x4244, 0,0x4245,
+ 0,0x4247,0x4248,0x4249, 0,0x424A,0x424C, 0,
+0x4243,0x4246,0x424B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x424D,0x424E,0x424F,
+ 0, 0,0x4250, 0,0x4251, 0, 0, 0,
+ 0, 0, 0,0x4252,0x4253,0x4254,0x4255, 0,
+ 0,0x4256,0x4257, 0, 0, 0,0x4258, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4259,
+ 0, 0, 0,0x425A,0x425B, 0, 0,0x425C,
+ 0, 0, 0, 0, 0,0x425D, 0, 0,
+ 0,0x425E,0x425F, 0,0x4260,0x4261, 0, 0,
+ 0, 0,0x4262, 0, 0, 0,0x4263, 0,
+0x4264,0x4265, 0, 0, 0, 0,0x4266, 0,
+ 0, 0, 0, 0, 0,0x4267, 0, 0,
+ 0,0x4268, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4269, 0, 0,0x426A,0x426B, 0,
+0x426C, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x426D,0x423F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x426E,
+ 0,0x426F, 0, 0, 0, 0, 0, 0,
+0x4270, 0, 0, 0, 0,0x4271, 0, 0,
+ 0, 0, 0,0x4272, 0, 0,0x4273, 0,
+ 0, 0,0x4274, 0,0x4275, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4276, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4277, 0, 0, 0, 0, 0, 0,0x4278,
+ 0,0x4279,0x427A, 0, 0, 0,0x427B, 0,
+ 0, 0, 0, 0, 0, 0,0x427C,0x427D,
+ 0, 0, 0, 0, 0, 0, 0,0x427E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4321, 0, 0, 0, 0, 0,0x4322, 0,
+0x4323, 0, 0, 0, 0, 0,0x4324, 0,
+0x4325, 0, 0, 0, 0,0x4326, 0, 0,
+ 0, 0, 0,0x4327, 0, 0,0x4328, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4329,0x432A, 0,0x432B, 0,0x432C, 0, 0,
+0x432D, 0,0x432E,0x432F, 0,0x4330};
+
+/* page 19 0x67B0-0x67F9 */
+static uint16 tab_uni_jisx021219[]={
+0x4331,0x4332,0x4333, 0, 0,0x4334, 0, 0,
+ 0, 0, 0,0x4335,0x4336,0x4337, 0, 0,
+0x4339, 0,0x433A,0x433B, 0,0x433C, 0, 0,
+0x433D,0x433E, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x433F, 0, 0, 0, 0,0x4340,
+ 0,0x4341, 0, 0,0x4342, 0, 0, 0,
+ 0,0x4343, 0, 0, 0, 0,0x4344, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4345, 0,0x4346, 0, 0, 0,0x4347,0x4348,
+ 0,0x4338};
+
+/* page 20 0x6814-0x6917 */
+static uint16 tab_uni_jisx021220[]={
+0x434A, 0, 0, 0, 0,0x434B, 0, 0,
+ 0,0x434C, 0,0x434D, 0, 0, 0, 0,
+ 0, 0, 0,0x434F,0x434E, 0, 0, 0,
+0x4350,0x4351, 0,0x4352,0x4353,0x4354, 0,0x4355,
+ 0, 0, 0, 0, 0, 0, 0,0x4356,
+ 0, 0, 0,0x4357, 0, 0, 0, 0,
+0x4358,0x4359, 0, 0, 0, 0,0x435A, 0,
+0x435B, 0, 0, 0, 0, 0,0x4349, 0,
+ 0,0x435C, 0,0x435D,0x435E, 0, 0,0x435F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4360,
+ 0, 0,0x4361,0x4362,0x4363,0x4364,0x4365, 0,
+ 0,0x4366, 0, 0, 0,0x4367,0x4368,0x4369,
+0x436A, 0, 0, 0, 0, 0,0x436B, 0,
+0x436C, 0,0x436D, 0,0x436E, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x436F, 0,0x4370, 0,0x4371, 0,
+0x4372, 0, 0, 0, 0,0x4373, 0,0x4374,
+ 0,0x4375, 0, 0, 0,0x4376,0x4377, 0,
+ 0, 0,0x4378, 0, 0, 0,0x4379, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x437A,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x437B, 0, 0,0x437C, 0, 0, 0,
+0x437D, 0, 0,0x437E,0x4421,0x4422, 0,0x4423,
+ 0, 0,0x4424, 0, 0,0x4425, 0, 0,
+0x4426,0x4427, 0, 0, 0, 0, 0, 0,
+ 0,0x4428, 0, 0,0x4429, 0,0x442A,0x442B,
+0x442C,0x442D, 0, 0,0x442E,0x442F, 0, 0,
+ 0,0x4430,0x4431, 0, 0, 0, 0,0x4432,
+0x4433,0x4434, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4435, 0, 0,0x4436,0x4437, 0,
+ 0, 0, 0, 0,0x4438,0x4439, 0,0x443A,
+ 0, 0,0x443B,0x443C};
+
+/* page 21 0x6931-0x6D3F */
+static uint16 tab_uni_jisx021221[]={
+0x443D, 0,0x443E, 0,0x443F, 0, 0,0x4440,
+ 0, 0,0x4441, 0, 0, 0, 0, 0,
+ 0,0x4442, 0, 0,0x4443, 0, 0, 0,
+0x4444, 0, 0, 0, 0,0x4445, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4446, 0,
+ 0, 0,0x4447, 0, 0, 0, 0, 0,
+ 0, 0,0x4448,0x4449,0x444A,0x444B, 0,0x444C,
+0x444D, 0, 0,0x444E, 0, 0, 0,0x444F,
+0x4450,0x4451, 0, 0, 0, 0, 0, 0,
+ 0,0x4452,0x4453, 0, 0, 0,0x4454,0x4455,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4456, 0, 0, 0,
+ 0,0x4457, 0, 0, 0,0x4458, 0,0x4459,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x445A, 0, 0, 0,0x445B,0x445C, 0,0x445D,
+ 0, 0,0x445E, 0,0x445F, 0,0x4460, 0,
+ 0, 0, 0, 0, 0, 0,0x4461,0x4462,
+ 0,0x4463, 0,0x4464, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4465, 0, 0,0x4466,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4467, 0, 0, 0, 0,0x4468,0x4469, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x446A, 0, 0,0x446B, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x446C,0x446D, 0,
+0x446E, 0,0x446F, 0,0x4470, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4471, 0,0x4472,
+0x4473, 0,0x4474, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4475, 0,
+0x4476, 0, 0, 0,0x4477, 0, 0, 0,
+ 0,0x4478, 0, 0,0x4479, 0, 0,0x447A,
+ 0, 0, 0,0x447B, 0, 0, 0,0x447C,
+ 0, 0, 0, 0, 0, 0, 0,0x447D,
+ 0,0x447E, 0,0x4521, 0, 0,0x4522, 0,
+ 0, 0,0x4523, 0, 0,0x4524,0x4525, 0,
+ 0, 0, 0, 0,0x4526,0x4527, 0, 0,
+0x4528,0x4529, 0, 0, 0,0x452A, 0,0x452B,
+0x452C,0x452D, 0, 0,0x452E,0x452F, 0, 0,
+ 0, 0,0x4530, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4531, 0, 0,0x4532, 0,
+ 0,0x4533, 0, 0, 0, 0, 0, 0,
+0x4534, 0,0x4535, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4536, 0, 0,
+0x4537, 0,0x4538, 0, 0,0x4539,0x453A, 0,
+0x453B, 0,0x453C, 0, 0, 0, 0, 0,
+0x453D, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x453E, 0,0x453F,0x4540,0x4541, 0,
+ 0, 0, 0, 0,0x4542, 0, 0, 0,
+ 0, 0,0x4543, 0, 0, 0,0x4544,0x4545,
+0x4546, 0, 0,0x4547, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4548,0x4549,0x454A, 0,
+ 0, 0, 0, 0, 0,0x454B, 0,0x454D,
+0x454C, 0, 0,0x454E, 0, 0, 0,0x454F,
+ 0, 0, 0,0x4550,0x4551,0x4552, 0, 0,
+ 0, 0, 0,0x4553,0x4554, 0, 0, 0,
+ 0, 0, 0,0x4555, 0, 0,0x4556, 0,
+ 0, 0, 0,0x4557, 0, 0, 0,0x4558,
+0x4559,0x455A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x455B,0x455C, 0, 0, 0,
+ 0,0x455D,0x455E, 0, 0,0x455F,0x4560, 0,
+0x4561, 0, 0, 0, 0, 0,0x4562,0x4563,
+0x4564, 0, 0, 0, 0, 0,0x4565, 0,
+ 0, 0,0x4566, 0, 0,0x4567, 0, 0,
+ 0, 0, 0,0x4568, 0, 0, 0,0x4569,
+ 0, 0,0x456A,0x456B, 0, 0,0x456C, 0,
+ 0, 0, 0, 0,0x456D,0x456E, 0, 0,
+ 0, 0,0x456F, 0, 0, 0,0x4570, 0,
+ 0, 0, 0, 0, 0,0x4571, 0, 0,
+ 0,0x4572, 0, 0,0x4573, 0, 0, 0,
+ 0,0x4574, 0, 0, 0,0x4575, 0,0x4576,
+ 0, 0, 0, 0,0x4577, 0, 0,0x4578,
+ 0, 0, 0, 0, 0, 0,0x4579, 0,
+ 0, 0,0x457A, 0, 0,0x457B, 0,0x457C,
+ 0, 0, 0, 0,0x457D, 0, 0, 0,
+ 0, 0, 0, 0,0x457E,0x4621, 0, 0,
+ 0,0x4622, 0, 0,0x4623, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4624, 0,
+ 0, 0,0x4625, 0, 0, 0,0x4626,0x4627,
+ 0,0x4628,0x4629, 0, 0, 0, 0,0x462A,
+0x462B, 0, 0,0x462C,0x462D,0x462E, 0,0x462F,
+ 0, 0, 0, 0, 0, 0, 0,0x4630,
+0x4631, 0, 0, 0,0x4632,0x4633, 0, 0,
+ 0, 0,0x4634,0x4635, 0, 0, 0, 0,
+0x4636, 0, 0,0x4637, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4638, 0, 0,
+ 0,0x4639, 0, 0, 0, 0, 0, 0,
+0x463A, 0,0x463B, 0, 0,0x463C,0x463D, 0,
+ 0, 0, 0, 0, 0,0x463E, 0, 0,
+0x463F, 0, 0, 0, 0, 0,0x4640, 0,
+0x4641, 0, 0, 0, 0, 0,0x4642, 0,
+ 0,0x4643, 0,0x4644,0x4645, 0, 0, 0,
+0x4646, 0, 0, 0,0x4647,0x4648, 0,0x4649,
+ 0,0x464A, 0, 0, 0, 0, 0, 0,
+0x464B, 0, 0, 0, 0, 0,0x464C, 0,
+ 0, 0, 0, 0, 0,0x464D,0x464E,0x464F,
+ 0, 0, 0,0x4650, 0,0x4651, 0, 0,
+ 0, 0,0x4652, 0,0x4653,0x4654, 0, 0,
+ 0,0x4655,0x4656, 0, 0, 0,0x4657, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4658,0x4659, 0,0x465A, 0,0x465B, 0,
+ 0,0x465C, 0,0x465D, 0, 0, 0, 0,
+0x465E, 0,0x465F,0x4660, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4736, 0,
+ 0, 0,0x4661, 0,0x4662, 0,0x4663, 0,
+ 0, 0, 0,0x4664, 0,0x4665, 0,0x4666,
+0x4667, 0,0x4668, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4669,0x466A,0x466B, 0,
+0x466C, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x466D,0x466E, 0,0x466F,0x4670,
+ 0, 0, 0,0x4671, 0, 0,0x4672, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4673,
+ 0,0x4674, 0,0x4675, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4676, 0, 0, 0,0x4677, 0, 0,
+ 0, 0, 0, 0,0x4678, 0,0x4679,0x467A,
+0x467B,0x467C, 0,0x467D, 0,0x467E, 0, 0,
+ 0,0x4721, 0,0x4722, 0, 0, 0,0x4723,
+ 0, 0, 0, 0, 0, 0,0x4724, 0,
+0x4725, 0,0x4726,0x4727, 0,0x4728, 0, 0,
+ 0,0x4729, 0,0x472A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x472B, 0, 0,0x472C, 0,
+ 0,0x472D, 0, 0, 0,0x472E,0x472F, 0,
+0x4730, 0,0x4731, 0, 0, 0, 0, 0,
+ 0,0x4732, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4733,0x4734,0x4735,
+ 0, 0, 0, 0, 0,0x4737,0x4738, 0,
+0x4739, 0, 0, 0, 0, 0, 0, 0,
+0x473A, 0, 0,0x473B, 0, 0,0x473C};
+
+/* page 22 0x6D57-0x6E04 */
+static uint16 tab_uni_jisx021222[]={
+0x473D, 0, 0, 0, 0, 0, 0,0x473E,
+0x473F, 0,0x4740, 0, 0, 0,0x4741, 0,
+0x4742, 0, 0, 0, 0, 0, 0, 0,
+0x4743,0x4744, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4745, 0, 0,
+ 0, 0, 0,0x4746, 0, 0, 0, 0,
+0x4747, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4748,0x4749, 0,0x474A, 0,0x474B,
+0x474C,0x474D, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x474E, 0,0x474F, 0, 0,
+ 0, 0, 0, 0, 0,0x4750, 0, 0,
+0x4751, 0,0x4752, 0, 0, 0,0x4753, 0,
+0x4754, 0, 0, 0, 0,0x4755, 0, 0,
+ 0,0x4756, 0,0x4757, 0, 0, 0,0x4758,
+0x4759, 0, 0, 0, 0, 0, 0,0x475A,
+ 0, 0, 0, 0,0x475B, 0,0x475C, 0,
+0x475D,0x475E, 0,0x475F, 0, 0,0x4760, 0,
+ 0, 0,0x4761, 0, 0, 0, 0, 0,
+0x4762,0x4763, 0, 0, 0,0x4764, 0,0x4765,
+ 0, 0, 0, 0, 0,0x4766, 0, 0,
+ 0,0x4767, 0, 0, 0,0x4768};
+
+/* page 23 0x6E1E-0x6ECF */
+static uint16 tab_uni_jisx021223[]={
+0x4769, 0, 0, 0,0x476A, 0, 0, 0,
+ 0,0x476B, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x476C, 0, 0, 0,
+0x476D, 0, 0,0x476E, 0,0x476F,0x4770, 0,
+ 0, 0, 0, 0, 0, 0,0x4771,0x4772,
+ 0, 0,0x4773,0x4774, 0,0x4775, 0, 0,
+ 0,0x4776, 0,0x4777,0x4778,0x4779,0x477A, 0,
+ 0,0x477B, 0, 0, 0, 0,0x477C,0x477D,
+0x477E, 0, 0, 0,0x4821,0x4822, 0, 0,
+ 0, 0,0x4823, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4824, 0, 0,
+ 0, 0, 0, 0, 0,0x4825, 0,0x4826,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4827,
+ 0, 0, 0, 0, 0,0x4828, 0, 0,
+ 0, 0, 0,0x4829, 0, 0, 0, 0,
+ 0, 0,0x482A, 0, 0, 0, 0, 0,
+ 0,0x482B, 0, 0, 0, 0, 0,0x482C,
+0x482D, 0, 0,0x482E, 0,0x482F, 0, 0,
+ 0, 0, 0, 0, 0,0x4830, 0, 0,
+ 0,0x4831,0x4832,0x4833, 0,0x4834, 0, 0,
+ 0,0x4835,0x4836, 0,0x4837, 0, 0,0x4838,
+0x4839,0x483A};
+
+/* page 24 0x6EEB-0x70E4 */
+static uint16 tab_uni_jisx021224[]={
+0x483B, 0,0x483C,0x483D, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x483E, 0,
+0x483F, 0,0x4840, 0, 0, 0, 0, 0,
+ 0,0x4841, 0, 0, 0,0x4842, 0,0x4843,
+ 0,0x4844,0x4845, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4846, 0,0x4847, 0,0x4848,
+0x4849, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x484A, 0, 0,0x484B,0x484C,
+ 0, 0,0x4853, 0,0x484D,0x484E, 0, 0,
+0x484F, 0, 0,0x4850, 0, 0, 0, 0,
+0x4851,0x4852, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4854, 0,0x4855,0x4856,
+0x4857, 0, 0, 0,0x4858, 0,0x4859,0x485A,
+ 0, 0,0x485B,0x485C, 0, 0,0x485D,0x485E,
+ 0, 0, 0, 0, 0,0x485F, 0, 0,
+ 0,0x4860, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4861,0x4862, 0, 0, 0, 0,
+0x4863, 0, 0, 0,0x4864,0x4865, 0, 0,
+0x4866,0x4867,0x4868, 0, 0,0x4869, 0,0x486A,
+0x486B,0x486C, 0,0x486D, 0, 0, 0,0x486E,
+ 0, 0, 0, 0,0x486F,0x4870, 0, 0,
+ 0, 0,0x4871,0x4872,0x4873,0x4874, 0, 0,
+ 0, 0, 0,0x4875,0x4876,0x4877, 0, 0,
+ 0, 0,0x4878,0x4879, 0, 0, 0, 0,
+ 0,0x487A, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x487B, 0,0x487C,0x487D, 0,0x487E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4921,
+ 0, 0, 0,0x4922, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4923,0x4924, 0,
+ 0, 0, 0, 0, 0,0x4925, 0, 0,
+ 0, 0,0x4926, 0, 0, 0,0x4927, 0,
+ 0,0x4928,0x4929, 0, 0,0x492A, 0, 0,
+ 0, 0,0x492B,0x492C,0x492D, 0, 0, 0,
+ 0, 0,0x492E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x492F, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4930, 0, 0,
+0x4931, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4932, 0, 0, 0,
+ 0,0x4933, 0, 0,0x4934, 0,0x4935, 0,
+ 0,0x4936, 0, 0, 0, 0, 0, 0,
+0x4937,0x4938, 0, 0, 0,0x4939,0x493A,0x493B,
+0x493C, 0, 0,0x4941, 0, 0, 0, 0,
+ 0,0x493D,0x493E, 0, 0, 0, 0, 0,
+ 0, 0,0x493F,0x4940, 0, 0, 0, 0,
+ 0,0x4942,0x4943, 0, 0, 0, 0, 0,
+ 0,0x4944, 0,0x4945, 0, 0, 0, 0,
+ 0, 0,0x4946,0x4947, 0, 0, 0, 0,
+ 0, 0, 0,0x4948, 0, 0,0x4949, 0,
+ 0, 0,0x494A,0x494B, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x494C,0x494D,0x494E,0x494F,0x4950, 0, 0,
+0x4951, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4952, 0, 0, 0, 0, 0, 0,
+0x4953, 0, 0, 0, 0,0x4954,0x4955, 0,
+ 0,0x4956, 0, 0,0x4957, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4958,
+ 0, 0, 0, 0, 0, 0,0x4959, 0,
+0x495A,0x495B,0x495C,0x495D, 0,0x495E, 0, 0,
+ 0,0x495F, 0, 0, 0, 0, 0, 0,
+ 0,0x4960};
+
+/* page 25 0x70FA-0x71DC */
+static uint16 tab_uni_jisx021225[]={
+0x4961, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4962,0x4963,0x4964,0x4965,0x4966, 0, 0,
+ 0,0x4967,0x4968, 0, 0,0x4969, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x496A, 0,0x496B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x496C, 0,0x496D, 0,0x496E,0x496F,0x4970,
+ 0, 0, 0, 0, 0, 0,0x4971, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4972,
+ 0, 0, 0,0x4973,0x4974,0x4975, 0, 0,
+0x4976,0x4977, 0, 0, 0, 0,0x4978, 0,
+0x4979, 0, 0, 0, 0,0x497A, 0, 0,
+0x497B, 0,0x497C, 0,0x497D, 0,0x497E, 0,
+ 0, 0, 0, 0, 0, 0,0x4A21, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4A22,
+ 0, 0, 0, 0, 0, 0,0x4A23, 0,
+ 0, 0, 0,0x4A24, 0,0x4A25, 0, 0,
+ 0, 0,0x4A26, 0, 0, 0, 0, 0,
+0x4A27, 0, 0, 0, 0, 0, 0, 0,
+0x4A28,0x4A29, 0, 0, 0, 0,0x4A2A, 0,
+0x4A2B, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4A2C,0x4A2D, 0,
+0x4A2E,0x4A2F, 0, 0, 0, 0, 0, 0,
+0x4A30, 0, 0, 0, 0,0x4A31,0x4A32,0x4A33,
+ 0, 0,0x4A34, 0, 0, 0, 0, 0,
+ 0,0x4A35,0x4A36, 0, 0, 0, 0, 0,
+ 0,0x4A37, 0, 0,0x4A38, 0, 0,0x4A39,
+0x4A3A, 0,0x4A3B};
+
+/* page 26 0x71F8-0x7E9E */
+static uint16 tab_uni_jisx021226[]={
+0x4A3C, 0, 0, 0, 0, 0,0x4A3D, 0,
+0x4A3E, 0, 0, 0, 0, 0, 0,0x4A3F,
+0x4A40,0x4A41, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4A42, 0, 0, 0,0x4A43,
+ 0, 0,0x4A44, 0, 0,0x4A45, 0,0x4A46,
+ 0, 0, 0, 0,0x4A47, 0, 0, 0,
+ 0, 0, 0,0x4A48, 0, 0, 0,0x4A49,
+ 0, 0, 0, 0,0x4A4A, 0, 0, 0,
+0x4A4B,0x4A4C, 0, 0, 0, 0, 0, 0,
+ 0,0x4A4D,0x4A4E,0x4A4F, 0,0x4A50, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4A51,0x4A52,
+0x4A53, 0, 0,0x4A54, 0,0x4A55,0x4A56, 0,
+ 0, 0,0x4A57, 0,0x4A58, 0,0x4A59, 0,
+0x4A5A, 0, 0,0x4A5B, 0, 0, 0, 0,
+0x4A5C, 0, 0,0x4A5D, 0, 0,0x4A5E,0x4A5F,
+ 0,0x4A60, 0, 0, 0, 0, 0,0x4A61,
+0x4A62, 0, 0,0x4A63,0x4A64, 0, 0,0x4A65,
+ 0, 0, 0, 0,0x4A66, 0, 0, 0,
+ 0,0x4A67, 0, 0, 0,0x4A68,0x4A69, 0,
+ 0, 0, 0,0x4A6A, 0, 0, 0, 0,
+ 0, 0, 0,0x4A6B, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4A6C, 0, 0, 0, 0,0x4A6D,0x4A6E, 0,
+ 0,0x4A6F, 0, 0,0x4A70, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4A71, 0,
+ 0,0x4A72, 0, 0, 0, 0, 0,0x4A73,
+ 0,0x4A74, 0, 0,0x4A75, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4A76,0x4A77, 0,
+0x4A78, 0, 0, 0, 0, 0, 0,0x4A79,
+ 0, 0, 0, 0, 0,0x4A7A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4A7B,0x4A7C, 0, 0, 0,
+ 0, 0,0x4A7D,0x4A7E, 0, 0,0x4B21, 0,
+ 0, 0,0x4B22, 0,0x4B23,0x4B24, 0,0x4B25,
+ 0, 0, 0,0x4B26, 0,0x4B27, 0, 0,
+ 0, 0,0x4B28,0x4B29, 0, 0, 0, 0,
+0x4B2A,0x4B2B, 0, 0, 0, 0,0x4B2C, 0,
+ 0, 0,0x4B2D, 0,0x4B2E, 0, 0,0x4B2F,
+0x4B30, 0, 0, 0,0x4B31, 0, 0, 0,
+ 0,0x4B32,0x4B33, 0, 0,0x4B34, 0, 0,
+ 0, 0,0x4B35,0x4B36, 0,0x4B37, 0, 0,
+ 0, 0, 0,0x4B38, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4B39, 0, 0,
+0x4B3A, 0,0x4B3B, 0, 0, 0,0x4B3C, 0,
+0x4B3D, 0, 0, 0, 0,0x4B3E,0x4B3F,0x4B40,
+0x4B41, 0, 0, 0, 0, 0,0x4B42,0x4B43,
+ 0,0x4B44, 0,0x4B45,0x4B46, 0,0x4B47,0x4B48,
+ 0,0x4B49, 0, 0, 0, 0, 0,0x4B4A,
+ 0,0x4B4B, 0, 0,0x4B4C, 0, 0, 0,
+0x4B4D,0x4B4E, 0,0x4B4F, 0,0x4B50,0x4B51, 0,
+ 0, 0, 0, 0, 0, 0,0x4B52, 0,
+0x4B53, 0, 0,0x4B54, 0,0x4B55, 0,0x4B56,
+0x4B57, 0, 0, 0,0x4B58, 0,0x4B59,0x4B5A,
+0x4B5B, 0,0x4B5C, 0, 0,0x4B5D,0x4B5E, 0,
+ 0, 0,0x4B5F,0x4B60, 0,0x4B61, 0, 0,
+ 0, 0, 0, 0, 0,0x4B62, 0,0x4B63,
+ 0,0x4B64, 0, 0,0x4B65,0x4B66, 0,0x4B67,
+ 0, 0, 0, 0, 0,0x4B68,0x4B69, 0,
+ 0,0x4B6A, 0,0x4B6B,0x4B6C, 0, 0,0x4B6D,
+ 0, 0,0x4B6E,0x4B6F, 0, 0,0x4B70, 0,
+ 0,0x4B71, 0, 0, 0,0x4B72, 0, 0,
+ 0,0x4B73, 0,0x4B74, 0, 0,0x4B75,0x4B76,
+ 0,0x4B77, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4B78,0x4B79, 0,0x4B7A,
+ 0,0x4B7B,0x4B7C,0x4B7D, 0,0x4B7E, 0,0x4C21,
+0x4C22,0x4C23, 0, 0,0x4C24, 0, 0,0x4C25,
+ 0, 0,0x4C26, 0, 0, 0, 0, 0,
+ 0,0x4C27, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4C28,0x4C29, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4C2A, 0,0x4C2B, 0,
+0x4C2C,0x4C2D,0x4C2E,0x4C2F,0x4C30,0x4C31,0x4C32,0x4C33,
+0x4C34,0x4C35, 0, 0, 0, 0, 0, 0,
+ 0,0x4C36, 0, 0, 0, 0, 0, 0,
+0x4C37, 0, 0,0x4C38,0x4C39, 0,0x4C3A,0x4C3B,
+ 0, 0, 0,0x4C3C, 0,0x4C3D, 0, 0,
+ 0,0x4C3E,0x4C3F, 0, 0, 0, 0,0x4C40,
+ 0, 0, 0, 0, 0,0x4C41, 0, 0,
+ 0, 0,0x4C42, 0, 0, 0,0x4C43,0x4C44,
+0x4C45, 0, 0,0x4C46, 0,0x4C47,0x4C48, 0,
+ 0,0x4C49,0x4C4A, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4C4B,0x4C4C, 0, 0, 0,0x4C4D,0x4C4E,0x4C4F,
+ 0,0x4C50, 0, 0, 0, 0, 0,0x4C51,
+0x4C52,0x4C53,0x4C54, 0, 0, 0, 0, 0,
+0x4C55,0x4C56,0x4C57, 0,0x4C58, 0, 0,0x4C59,
+0x4C5A,0x4C5B, 0,0x4C5C, 0, 0,0x4C5D, 0,
+0x4C5E,0x4C5F,0x4C60,0x4C61, 0, 0,0x4C62,0x4C63,
+ 0,0x4C64,0x4C65, 0, 0,0x4C66, 0, 0,
+ 0,0x4C67, 0,0x4C68, 0, 0, 0,0x4C69,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4C6A,0x4C6B, 0, 0,0x4C6C, 0, 0, 0,
+0x4C6D, 0, 0,0x4C6E, 0, 0, 0, 0,
+0x4C6F, 0,0x4C70,0x4C71, 0, 0,0x4C72,0x4C73,
+ 0, 0, 0, 0,0x4C74, 0, 0, 0,
+0x4C75, 0,0x4C76,0x4C77, 0, 0, 0,0x4C78,
+ 0, 0, 0, 0,0x4C79, 0, 0, 0,
+ 0, 0,0x4C7A,0x4C7B,0x4C7C, 0, 0,0x4C7D,
+ 0, 0, 0, 0, 0, 0,0x4C7E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4D21, 0, 0, 0,0x4D22,0x4D23,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4D24,0x4D25, 0, 0,0x4D26, 0, 0,0x4D27,
+ 0,0x4D28,0x4D29, 0, 0, 0, 0,0x4D2A,
+ 0, 0, 0, 0, 0, 0,0x4D2B, 0,
+ 0,0x4D2C, 0, 0, 0,0x4D2D,0x4D2E,0x4D2F,
+0x4D30, 0, 0,0x4D31, 0, 0, 0,0x4D32,
+0x4D33, 0, 0, 0, 0, 0,0x4D34, 0,
+0x4D35, 0,0x4D36, 0, 0, 0, 0,0x4D37,
+ 0, 0, 0, 0, 0, 0,0x4D38,0x4D39,
+ 0,0x4D3A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x4D3B,
+ 0,0x4D3C, 0, 0, 0, 0, 0, 0,
+ 0,0x4D3D,0x4D3E,0x4D3F,0x4D40,0x4D41,0x4D42, 0,
+ 0,0x4D43, 0, 0, 0,0x4D44, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x4D45, 0,0x4D46,0x4D47, 0,0x4D48, 0, 0,
+ 0,0x4D49, 0, 0,0x4D4A, 0, 0, 0,
+ 0, 0,0x4D4B, 0,0x4D4C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4D4D, 0, 0, 0,
+ 0, 0,0x4D4E, 0, 0, 0, 0,0x4D4F,
+0x4D50,0x4D51, 0, 0,0x4D52, 0,0x4D53, 0,
+ 0, 0, 0, 0,0x4D54, 0,0x4D55,0x4D56,
+ 0, 0, 0, 0, 0, 0, 0,0x4D57,
+ 0, 0, 0, 0,0x4D58, 0, 0,0x4D59,
+0x4D5A,0x4D5B, 0, 0,0x4D5C, 0, 0,0x4D5D,
+ 0, 0, 0, 0,0x4D5E, 0,0x4D5F,0x4D60,
+ 0,0x4D61, 0, 0, 0, 0, 0, 0,
+ 0,0x4D62, 0, 0, 0, 0, 0, 0,
+0x4D63, 0,0x4D64,0x4D65,0x4D66, 0, 0,0x4D67,
+0x4D68, 0,0x4D69, 0,0x4D6A, 0, 0,0x4D6B,
+ 0, 0,0x4D6C,0x4D6D, 0,0x4D6E,0x4D6F, 0,
+ 0,0x4D70, 0,0x4D71,0x4D72,0x4D73,0x4D74, 0,
+ 0, 0, 0,0x4D75, 0,0x4D76,0x4D77, 0,
+ 0,0x4D78, 0, 0, 0,0x4D79, 0, 0,
+ 0, 0,0x4D7A,0x4D7B, 0,0x4D7C, 0, 0,
+0x4D7D,0x4D7E,0x4E21, 0,0x4E22, 0, 0, 0,
+0x4E24,0x4E25, 0,0x4E26,0x4E27,0x4E28, 0, 0,
+ 0,0x4E29,0x4E23,0x4E2A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4E2B, 0, 0,
+ 0,0x4E2C, 0, 0, 0, 0, 0,0x4E2D,
+ 0, 0, 0, 0,0x4E2E,0x4E2F, 0, 0,
+ 0, 0, 0, 0, 0,0x4E30,0x4E31,0x4E32,
+ 0,0x4E33, 0, 0,0x4E34, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x4E35, 0, 0, 0,0x4E36, 0, 0,
+ 0, 0, 0, 0,0x4E37,0x4E38, 0, 0,
+ 0, 0, 0, 0, 0,0x4E39, 0, 0,
+ 0, 0, 0,0x4E3A,0x4E3B,0x4E3C, 0,0x4E3D,
+0x4E3E, 0,0x4E3F,0x4E40,0x4E41,0x4E42,0x4E43,0x4E44,
+0x4E45, 0,0x4E46, 0, 0,0x4E47, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4E48, 0, 0,
+ 0,0x4E49, 0, 0, 0,0x4E4A, 0, 0,
+ 0,0x4E4B, 0,0x4E4C,0x4E4D, 0,0x4E4E, 0,
+ 0, 0, 0, 0,0x4E4F, 0, 0, 0,
+ 0,0x4E50, 0, 0, 0, 0, 0, 0,
+0x4E51, 0, 0, 0, 0, 0,0x4E52, 0,
+0x4E53, 0, 0, 0,0x4E54, 0, 0, 0,
+0x4E55,0x4E56, 0, 0, 0, 0,0x4E57, 0,
+ 0,0x4E58, 0, 0,0x4E59, 0, 0, 0,
+0x4E5A, 0, 0, 0, 0, 0,0x4E5B, 0,
+ 0, 0,0x4E5C, 0, 0, 0,0x4E5D, 0,
+ 0, 0,0x4E5E, 0,0x4E5F,0x4E60, 0,0x4E61,
+ 0,0x4E62,0x4E63, 0,0x4E64, 0, 0, 0,
+ 0, 0,0x4E65, 0, 0, 0, 0, 0,
+0x4E66, 0, 0, 0, 0,0x4E67,0x4E68,0x4E69,
+ 0, 0, 0, 0,0x4E6A,0x4E6B,0x4E6C, 0,
+ 0,0x4E6D, 0, 0, 0,0x4E6E,0x4E6F, 0,
+ 0, 0,0x4E70, 0, 0,0x4E71,0x4E72, 0,
+ 0, 0,0x4E73, 0, 0,0x4E74,0x4E75,0x4E76,
+ 0, 0,0x4E77, 0, 0, 0,0x4E78,0x4E79,
+ 0, 0, 0, 0,0x4E7A, 0,0x4E7B,0x4E7C,
+0x4E7D, 0,0x4E7E, 0,0x4F21, 0, 0,0x4F22,
+ 0, 0,0x4F23, 0,0x4F24, 0, 0, 0,
+0x4F25, 0,0x4F26,0x4F27,0x4F28, 0, 0, 0,
+ 0, 0,0x4F29, 0, 0,0x4F2A, 0, 0,
+0x4F2B, 0, 0, 0,0x4F2C, 0, 0, 0,
+ 0, 0, 0, 0,0x4F2D,0x4F2E, 0, 0,
+ 0, 0, 0, 0,0x4F2F,0x4F30,0x4F31, 0,
+ 0, 0,0x4F32, 0, 0, 0, 0,0x4F33,
+ 0, 0,0x4F34, 0, 0, 0, 0,0x4F35,
+ 0, 0,0x4F36, 0, 0, 0,0x4F37,0x4F38,
+ 0,0x4F39, 0, 0, 0,0x4F3A, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x4F3B, 0,
+ 0, 0, 0,0x4F3C, 0, 0, 0, 0,
+ 0,0x4F3D, 0, 0, 0, 0, 0, 0,
+ 0,0x4F3E,0x4F3F, 0, 0,0x4F40, 0, 0,
+ 0,0x4F41, 0, 0, 0, 0,0x4F42,0x4F43,
+0x4F44, 0, 0, 0,0x4F45, 0,0x4F46, 0,
+ 0, 0,0x4F47, 0,0x4F48, 0, 0, 0,
+0x4F49,0x4F4A, 0, 0,0x4F4B, 0, 0, 0,
+0x4F4C, 0, 0,0x4F4D, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4F4E,0x4F4F, 0,
+ 0,0x4F50, 0, 0, 0,0x4F51,0x4F52, 0,
+ 0,0x4F53, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4F54, 0, 0,
+ 0,0x4F55,0x4F56,0x4F57, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x4F58,0x4F59, 0,
+0x4F5A, 0, 0, 0, 0,0x4F5B, 0,0x4F5C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x4F5D,0x4F5E, 0, 0,0x4F5F,
+0x4F60, 0, 0, 0,0x4F61, 0,0x4F62, 0,
+ 0, 0,0x4F63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x4F64, 0,0x4F65, 0,
+0x4F66,0x4F67, 0,0x4F68,0x4F69, 0, 0, 0,
+0x4F6A, 0,0x4F6B, 0, 0, 0,0x4F6C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4F6D, 0, 0, 0,0x4F6E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x4F6F, 0, 0, 0, 0,0x4F70,
+ 0, 0, 0, 0,0x4F71, 0, 0, 0,
+0x4F72, 0, 0, 0, 0,0x4F74,0x4F75,0x4F76,
+ 0,0x4F73, 0, 0,0x4F77, 0, 0, 0,
+0x4F78, 0, 0, 0,0x4F79,0x4F7A, 0, 0,
+0x4F7B,0x4F7C,0x4F7D,0x4F7E, 0, 0, 0, 0,
+ 0, 0, 0,0x5021, 0,0x5022, 0,0x5023,
+ 0, 0, 0, 0, 0, 0, 0,0x5024,
+0x5025,0x5026, 0, 0,0x5027, 0,0x5028, 0,
+ 0, 0,0x5029,0x502A, 0,0x502B,0x502C, 0,
+ 0, 0, 0,0x502E, 0, 0, 0,0x502F,
+0x5030,0x5031, 0, 0,0x502D, 0,0x5032, 0,
+ 0, 0,0x5033, 0, 0, 0, 0, 0,
+ 0, 0,0x5034,0x5035, 0, 0,0x5037,0x5038,
+ 0, 0,0x5039,0x503A, 0, 0, 0,0x503B,
+0x5036, 0, 0, 0, 0, 0,0x503C, 0,
+ 0, 0, 0, 0,0x503D, 0, 0, 0,
+0x503E, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x503F, 0,0x5040, 0,0x5041,0x5042,
+0x5043, 0, 0, 0, 0,0x5044, 0,0x5045,
+ 0,0x5046, 0, 0, 0,0x5047, 0, 0,
+ 0,0x5048, 0, 0,0x5049,0x504A, 0, 0,
+ 0, 0, 0,0x504B, 0,0x504C, 0,0x504D,
+ 0, 0, 0, 0,0x504E,0x504F,0x5050, 0,
+ 0, 0,0x5051,0x5052, 0, 0, 0,0x5053,
+ 0,0x5054, 0, 0,0x5055, 0, 0, 0,
+0x5056, 0, 0,0x5057,0x5058, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5059,
+ 0,0x505A, 0,0x505B, 0, 0, 0, 0,
+ 0, 0,0x505C, 0, 0, 0, 0, 0,
+ 0,0x505D, 0,0x505E,0x505F, 0,0x5060, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5061,0x5062, 0, 0, 0,
+ 0,0x5063, 0,0x5064,0x5065,0x5066,0x5067, 0,
+0x5068, 0, 0,0x5069,0x506A, 0, 0, 0,
+ 0,0x506B, 0, 0, 0, 0, 0, 0,
+0x506C,0x506D, 0,0x506E, 0, 0, 0,0x506F,
+ 0,0x5070, 0, 0,0x5071, 0, 0, 0,
+0x5072, 0, 0,0x5073, 0, 0, 0, 0,
+ 0, 0,0x5074, 0,0x5075, 0, 0,0x5076,
+0x5077, 0,0x5078, 0, 0, 0, 0,0x5079,
+ 0, 0, 0, 0,0x507A, 0,0x507B, 0,
+ 0, 0,0x507C, 0, 0,0x507D,0x507E, 0,
+0x5121, 0,0x5122, 0, 0,0x5123, 0, 0,
+ 0, 0,0x5124,0x5125, 0,0x5126, 0, 0,
+ 0,0x5127, 0, 0, 0, 0, 0, 0,
+0x5128, 0, 0, 0,0x5129, 0, 0, 0,
+ 0, 0,0x512A,0x512B, 0, 0, 0,0x512C,
+ 0,0x512D,0x512E, 0,0x512F, 0, 0, 0,
+ 0,0x5130, 0, 0, 0,0x5131, 0, 0,
+ 0, 0, 0,0x5132, 0, 0,0x5133, 0,
+ 0,0x5134, 0, 0, 0, 0, 0,0x5135,
+ 0, 0, 0,0x5136, 0,0x5137, 0,0x5138,
+0x5139, 0, 0, 0,0x513A,0x513B, 0, 0,
+0x513C,0x513D,0x513E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x513F,0x5140, 0,0x5141,
+0x5142, 0, 0, 0,0x5143, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5144,0x5145, 0,
+ 0,0x5146, 0, 0,0x5147,0x5148, 0,0x5149,
+0x514A, 0, 0, 0, 0,0x514B, 0,0x514C,
+ 0, 0,0x514D, 0, 0,0x514E, 0, 0,
+ 0, 0, 0, 0, 0,0x514F, 0, 0,
+0x5150, 0, 0, 0, 0, 0,0x5151, 0,
+0x5152, 0,0x5153, 0, 0,0x5154,0x5155, 0,
+ 0, 0,0x5156,0x5157, 0, 0, 0, 0,
+0x5158,0x5159, 0, 0,0x515A, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x515B, 0,
+0x515C, 0, 0,0x515D, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x515E, 0, 0, 0,
+ 0, 0, 0,0x515F, 0,0x5160, 0, 0,
+ 0,0x5161, 0,0x5162,0x5163, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5164, 0,
+ 0,0x5165, 0, 0,0x5166, 0,0x5167, 0,
+ 0,0x5168, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5169, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x516A,0x516B, 0,0x516C,0x516D, 0, 0, 0,
+ 0,0x516E, 0, 0,0x516F, 0, 0, 0,
+ 0, 0, 0,0x5170, 0,0x5171,0x5172, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5173,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5174, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5175,
+ 0, 0, 0,0x5176, 0, 0, 0,0x5177,
+ 0,0x5178,0x5179,0x517A, 0,0x517B,0x517C,0x517D,
+0x517E,0x5221, 0, 0,0x5222, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5223, 0,0x5224,
+0x5225,0x5226, 0, 0, 0, 0, 0,0x5227,
+ 0, 0, 0, 0, 0, 0,0x5228, 0,
+ 0, 0, 0, 0, 0,0x5229, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x522A, 0, 0, 0,0x522B, 0,0x522C, 0,
+ 0,0x522D,0x522E, 0, 0,0x522F, 0,0x5230,
+ 0, 0,0x5231,0x5232, 0, 0, 0,0x5233,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5234, 0, 0, 0,
+ 0,0x5235, 0, 0, 0, 0,0x5236, 0,
+0x5237,0x5238, 0, 0, 0, 0,0x5239, 0,
+ 0, 0, 0,0x523A, 0, 0,0x523B, 0,
+0x523C, 0, 0, 0, 0,0x523D, 0, 0,
+ 0, 0, 0, 0,0x523E, 0, 0,0x523F,
+0x5240, 0,0x5241, 0, 0,0x5242,0x5243, 0,
+ 0, 0,0x5244,0x5245,0x5246,0x5247, 0, 0,
+ 0, 0,0x5248, 0, 0,0x5249, 0, 0,
+0x524A, 0,0x524B, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x524C, 0,0x524D,0x524E,
+ 0,0x524F,0x5250,0x5251, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5252, 0,0x5253, 0, 0, 0, 0, 0,
+ 0, 0,0x5254, 0,0x5255,0x5256, 0, 0,
+0x5257,0x5258,0x5259, 0,0x525A, 0,0x525B, 0,
+ 0,0x525C,0x525D,0x525E,0x525F, 0,0x5260, 0,
+ 0,0x5261, 0,0x5262,0x5263, 0,0x5264,0x5265,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5266, 0,0x5267, 0, 0, 0, 0,
+0x5268, 0, 0, 0, 0,0x5269,0x526A, 0,
+0x526B, 0, 0, 0,0x526C, 0, 0, 0,
+ 0,0x526D, 0,0x526E,0x526F, 0,0x5270, 0,
+ 0,0x5271,0x5272, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5273, 0,
+ 0, 0,0x5274, 0, 0, 0, 0, 0,
+ 0,0x5276,0x5277,0x5278, 0,0x5275, 0, 0,
+ 0,0x5279,0x527A,0x527B,0x527C,0x527D,0x527E, 0,
+ 0,0x5321, 0,0x5322, 0, 0, 0,0x5323,
+ 0,0x5324, 0, 0, 0,0x5325,0x5326, 0,
+0x5327, 0,0x5328, 0, 0, 0, 0, 0,
+ 0,0x5329, 0, 0,0x532A,0x532B, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x532C,0x532D,
+ 0, 0, 0, 0, 0, 0, 0,0x532E,
+ 0, 0, 0, 0,0x532F, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5330, 0,
+0x5331, 0, 0, 0, 0, 0,0x5332, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5333, 0, 0, 0, 0, 0,0x5334,0x5335,
+ 0, 0,0x5336,0x5337,0x5338, 0, 0,0x5339,
+ 0, 0, 0, 0,0x533A, 0, 0,0x533B,
+0x533C,0x533D, 0, 0, 0,0x533E, 0,0x533F,
+ 0, 0, 0,0x5340,0x5341,0x5342, 0,0x5343,
+ 0,0x5344,0x5345, 0, 0,0x5346, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5347, 0,
+ 0,0x5348, 0,0x5349, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x534A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x534B, 0, 0, 0,0x534C,
+0x534D,0x534E, 0, 0, 0, 0, 0,0x534F,
+ 0,0x5350,0x5351,0x5352, 0, 0,0x5353, 0,
+ 0, 0, 0, 0, 0,0x5354,0x5355, 0,
+ 0, 0, 0,0x5356, 0, 0,0x5357, 0,
+ 0, 0,0x5358, 0, 0,0x5359, 0, 0,
+ 0,0x535A, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x535B,0x535C,0x535D, 0,
+0x535E,0x535F, 0, 0, 0, 0, 0,0x5360,
+0x5361, 0, 0, 0, 0,0x5362, 0, 0,
+ 0,0x5363, 0,0x5364, 0, 0, 0,0x5365,
+ 0,0x5366,0x5367, 0,0x5368,0x5369, 0, 0,
+ 0, 0, 0, 0, 0,0x536A, 0,0x536B,
+ 0, 0,0x536C, 0, 0, 0, 0, 0,
+0x536D, 0, 0, 0, 0, 0, 0, 0,
+0x536E, 0,0x536F,0x5370, 0, 0, 0,0x5371,
+ 0,0x5372,0x5373,0x5374, 0,0x5375,0x5376, 0,
+0x5377, 0, 0,0x5378,0x5379,0x537A, 0, 0,
+ 0,0x537B, 0, 0, 0, 0,0x537C,0x537D,
+ 0, 0, 0, 0, 0,0x537E,0x5421, 0,
+ 0, 0, 0, 0, 0, 0,0x5422,0x5423,
+ 0, 0,0x5424, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5425, 0, 0,0x5426,0x5427,
+ 0,0x5428, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5429,0x542A,0x542B,0x542C,0x542D, 0,
+ 0, 0, 0, 0,0x542E,0x542F,0x5430, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5431,
+ 0,0x5432, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5434, 0, 0,0x5435,0x5436, 0,
+ 0, 0,0x5437,0x5438, 0,0x5439, 0, 0,
+ 0,0x543A, 0, 0, 0,0x543B,0x543C, 0,
+ 0,0x543D,0x543E, 0, 0, 0, 0, 0,
+0x5433, 0, 0, 0, 0, 0, 0, 0,
+0x543F, 0, 0, 0, 0, 0, 0, 0,
+0x5440,0x5441, 0, 0, 0,0x5442, 0,0x5443,
+ 0, 0, 0, 0,0x5444,0x5445, 0, 0,
+0x5446, 0, 0, 0, 0, 0, 0,0x5447,
+0x5448, 0, 0, 0,0x5449,0x544A, 0,0x544B,
+ 0, 0, 0,0x544C, 0, 0,0x544D, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x544E,
+ 0, 0, 0, 0,0x544F,0x5450, 0,0x5451,
+ 0, 0, 0, 0, 0, 0,0x5452, 0,
+0x5453, 0,0x5454, 0, 0, 0, 0, 0,
+0x5455, 0, 0, 0, 0, 0, 0,0x5456,
+ 0,0x5457,0x5458, 0, 0,0x5459, 0, 0,
+ 0, 0, 0,0x545A, 0, 0,0x545B,0x545C,
+ 0, 0, 0,0x545D, 0, 0, 0, 0,
+0x545E, 0, 0, 0, 0, 0,0x545F, 0,
+ 0,0x5460, 0, 0, 0, 0,0x5461,0x5462,
+ 0, 0,0x5463, 0, 0,0x5464, 0, 0,
+ 0,0x5465, 0, 0, 0,0x5466, 0, 0,
+0x5467, 0,0x5468, 0, 0,0x5469,0x546A};
+
+/* page 27 0x7F3B-0x8044 */
+static uint16 tab_uni_jisx021227[]={
+0x546C,0x546B,0x546D,0x546E,0x546F, 0, 0, 0,
+0x5470,0x5471, 0, 0,0x5472, 0, 0, 0,
+ 0, 0, 0, 0,0x5473, 0, 0,0x5474,
+0x5475, 0, 0, 0, 0, 0, 0, 0,
+0x5476,0x5477,0x5478, 0, 0, 0,0x5479, 0,
+0x547A,0x547B,0x547C,0x547D, 0, 0, 0, 0,
+ 0, 0,0x547E, 0, 0, 0,0x5521, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5522,0x5523,0x5524,0x5525, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5526, 0,0x5527, 0,0x5528,0x5529,0x552A, 0,
+ 0, 0, 0,0x552B,0x552C, 0, 0, 0,
+ 0,0x552D, 0, 0, 0, 0,0x552E,0x552F,
+ 0, 0, 0,0x5530, 0, 0, 0,0x5531,
+ 0, 0,0x5532, 0, 0, 0, 0, 0,
+ 0,0x5533, 0, 0, 0, 0, 0, 0,
+ 0,0x5534, 0, 0,0x5535,0x5536, 0, 0,
+0x5537, 0, 0, 0, 0,0x5538, 0, 0,
+ 0, 0, 0,0x5539,0x553A, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x553B, 0, 0, 0,0x553C, 0, 0, 0,
+0x553D, 0,0x553E, 0, 0,0x553F, 0, 0,
+ 0,0x5540, 0,0x5541,0x5542, 0, 0,0x5543,
+ 0, 0, 0, 0, 0, 0, 0,0x5544,
+ 0, 0,0x5545,0x5546,0x5547, 0, 0, 0,
+ 0, 0, 0, 0,0x5548,0x5549, 0,0x554A,
+ 0, 0,0x554B,0x554C,0x554D, 0,0x554E, 0,
+0x554F,0x5550, 0,0x5551, 0, 0, 0, 0,
+ 0, 0,0x5552,0x5553,0x5554,0x5555, 0, 0,
+ 0,0x5556, 0,0x5557, 0, 0, 0, 0,
+ 0,0x5558, 0,0x5559, 0,0x555A, 0, 0,
+ 0,0x555B,0x555C, 0,0x555D, 0,0x555E,0x555F,
+ 0,0x5560, 0,0x5561, 0,0x5562, 0, 0,
+ 0,0x5563};
+
+/* page 28 0x8060-0x8357 */
+static uint16 tab_uni_jisx021228[]={
+0x5564, 0, 0, 0,0x5565, 0,0x5566, 0,
+ 0, 0, 0, 0, 0,0x5567, 0, 0,
+ 0,0x5568, 0, 0, 0,0x5569, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x556A, 0, 0, 0, 0, 0, 0,
+0x556B, 0, 0, 0, 0, 0,0x556C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x556D, 0,0x556E, 0,
+ 0, 0, 0, 0, 0, 0,0x556F,0x5570,
+ 0, 0, 0,0x5571, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5572,0x5573, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5574, 0, 0, 0, 0,0x5575, 0,0x5576,
+ 0, 0,0x5577, 0,0x5578,0x5579, 0,0x557A,
+0x557B, 0, 0, 0, 0, 0, 0, 0,
+0x557C, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x557D,0x557E, 0,
+0x5621, 0,0x5622,0x5623, 0, 0,0x5624, 0,
+ 0,0x5625,0x5626, 0, 0, 0,0x5627, 0,
+ 0, 0, 0,0x5628, 0, 0, 0, 0,
+ 0, 0, 0,0x5629, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x562A,0x562B,
+0x562C, 0, 0, 0,0x562D, 0,0x562E, 0,
+0x562F, 0, 0, 0,0x5630, 0, 0,0x5631,
+ 0, 0, 0, 0,0x5632, 0, 0, 0,
+0x5633, 0, 0, 0, 0,0x5634, 0, 0,
+ 0, 0,0x5635, 0,0x5636, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5637, 0,0x5638,
+ 0, 0,0x5639, 0,0x563A, 0, 0, 0,
+ 0, 0,0x563B, 0, 0, 0, 0,0x563C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x563D,0x563E, 0, 0, 0, 0, 0,0x563F,
+0x5640,0x5641, 0, 0, 0,0x5642, 0,0x5643,
+ 0, 0, 0, 0, 0, 0, 0,0x5644,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5645, 0, 0,0x5647,0x5648,0x5649, 0,
+ 0, 0, 0,0x564A, 0, 0,0x564B, 0,
+0x5646, 0, 0, 0, 0, 0,0x564C, 0,
+0x564D, 0, 0,0x564E, 0, 0,0x564F, 0,
+ 0, 0,0x5650, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5651, 0,
+ 0, 0,0x5652, 0,0x5653, 0, 0, 0,
+ 0, 0, 0,0x5654, 0, 0, 0, 0,
+ 0, 0, 0,0x5656, 0,0x5657, 0, 0,
+ 0, 0,0x5658,0x5655, 0, 0,0x5659,0x565A,
+ 0, 0, 0, 0, 0,0x565B, 0,0x565C,
+ 0, 0, 0,0x565D, 0,0x565E,0x565F, 0,
+ 0,0x5660, 0, 0,0x5661, 0, 0, 0,
+ 0, 0, 0,0x5662,0x5663, 0, 0, 0,
+0x5664,0x5665,0x5666, 0, 0,0x5667,0x5668, 0,
+0x5669,0x566A, 0, 0, 0,0x566B, 0,0x566C,
+0x566D, 0, 0,0x566E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x566F,
+ 0, 0, 0,0x5670,0x5671, 0, 0, 0,
+ 0,0x5672,0x5673, 0, 0,0x5674, 0, 0,
+ 0,0x5675,0x5676, 0, 0, 0, 0, 0,
+0x5677, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5678, 0,0x5679, 0, 0, 0,
+ 0, 0,0x567A, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x567B,0x567C,0x567D,0x567E, 0,
+ 0, 0, 0,0x5721, 0, 0,0x5722,0x5723,
+ 0,0x5724, 0, 0, 0, 0,0x5725, 0,
+ 0, 0, 0, 0,0x5726, 0, 0, 0,
+0x5727, 0, 0,0x5728, 0, 0, 0,0x5729,
+ 0, 0, 0, 0, 0,0x572A, 0, 0,
+ 0, 0, 0, 0,0x572B, 0, 0, 0,
+ 0, 0, 0,0x572C, 0,0x572D, 0,0x572E,
+0x572F,0x5730, 0,0x5731,0x5732, 0, 0,0x5733,
+ 0,0x5734,0x5735, 0, 0, 0,0x5736, 0,
+ 0,0x5737, 0, 0,0x5738, 0,0x5739, 0,
+0x573A, 0,0x573B,0x573C, 0, 0, 0, 0,
+0x573D,0x573E, 0,0x573F,0x5740, 0, 0,0x5741,
+0x5742,0x5743,0x5744, 0, 0, 0,0x5745, 0,
+0x5746, 0,0x5747, 0,0x5748, 0, 0,0x5749,
+ 0, 0,0x574A, 0,0x574B, 0,0x574C,0x574D,
+ 0, 0, 0, 0, 0, 0,0x574E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x574F, 0, 0, 0, 0,0x5750, 0, 0,
+ 0, 0,0x5751, 0, 0, 0, 0, 0,
+0x5752, 0,0x5753, 0,0x5754, 0, 0, 0,
+0x5755, 0,0x5756, 0, 0,0x5757, 0,0x5758,
+ 0, 0, 0, 0, 0, 0,0x5759,0x575A,
+ 0, 0, 0, 0, 0,0x575B,0x575C, 0,
+0x575D,0x575E, 0, 0, 0, 0, 0,0x575F,
+0x5760, 0,0x5761,0x5762, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5764, 0,0x5765,0x5766,0x5767,
+ 0,0x5768,0x5769, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x576A,0x576B,0x576C, 0,
+0x576D, 0, 0,0x576E, 0, 0, 0,0x576F,
+ 0, 0,0x5770, 0,0x5771,0x5772, 0, 0,
+ 0, 0,0x5773,0x5774,0x5775, 0, 0,0x5776,
+ 0, 0, 0, 0, 0,0x5777,0x5778, 0,
+ 0,0x5779, 0,0x583E,0x5763,0x577A,0x577B,0x577C
+};
+
+/* page 29 0x8370-0x8419 */
+static uint16 tab_uni_jisx021229[]={
+0x577D, 0, 0, 0, 0, 0, 0, 0,
+0x577E, 0, 0, 0, 0,0x5821, 0,0x5822,
+0x5823, 0,0x5824, 0,0x5825, 0,0x5826, 0,
+ 0, 0, 0, 0, 0,0x5827, 0, 0,
+ 0, 0,0x5828, 0,0x5829,0x582A, 0, 0,
+0x582B,0x582C, 0,0x582D,0x582E,0x582F, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5830,0x5831,
+ 0,0x5832, 0, 0,0x5833,0x584C, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5834,0x5835,
+0x5836, 0, 0, 0, 0, 0, 0,0x5837,
+ 0,0x5838, 0, 0, 0, 0, 0,0x5839,
+0x583A,0x583B, 0, 0,0x583C, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x583D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x583F, 0,0x5840, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x5841, 0,
+0x5842,0x5843, 0, 0,0x5844, 0, 0, 0,
+ 0,0x5845, 0, 0, 0, 0,0x5846, 0,
+ 0, 0,0x5847, 0, 0, 0, 0,0x5848,
+ 0,0x5849, 0, 0, 0,0x584A, 0, 0,
+ 0,0x584B};
+
+/* page 30 0x842F-0x8880 */
+static uint16 tab_uni_jisx021230[]={
+0x584D, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x584E, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x584F, 0,
+0x5850,0x5851, 0,0x5852, 0, 0,0x5853, 0,
+0x5854, 0,0x5855,0x5856, 0, 0, 0,0x5857,
+ 0,0x5858,0x5859,0x585A, 0,0x585B, 0, 0,
+ 0,0x585C, 0, 0, 0,0x585D,0x585E, 0,
+0x585F, 0, 0,0x5860, 0, 0, 0, 0,
+ 0,0x5861, 0, 0,0x5862,0x5863, 0,0x5864,
+ 0,0x5865, 0, 0, 0,0x5866,0x5867, 0,
+ 0, 0,0x5868, 0, 0, 0,0x5869, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x586A,0x586B, 0,0x586C, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x586D,
+ 0, 0, 0, 0, 0, 0, 0,0x586E,
+ 0,0x586F,0x5870,0x5871, 0, 0, 0, 0,
+0x5872, 0,0x5873, 0, 0,0x5874, 0, 0,
+ 0, 0, 0,0x5875, 0, 0,0x5876,0x5877,
+ 0,0x5878, 0,0x5879, 0, 0, 0, 0,
+0x587A,0x587B, 0, 0, 0,0x587C, 0, 0,
+0x587D, 0, 0, 0,0x587E, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5921, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5922, 0, 0,0x5923, 0, 0, 0, 0,
+0x5924,0x5925,0x5926,0x5927, 0, 0, 0, 0,
+0x5928, 0, 0,0x592A,0x592B, 0,0x592C, 0,
+ 0, 0, 0,0x592D,0x592E, 0, 0, 0,
+0x592F, 0, 0, 0, 0,0x5930, 0,0x5931,
+ 0,0x5932, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x5933, 0,0x5934,
+ 0, 0, 0,0x5935,0x5936,0x5937,0x5938, 0,
+0x5939, 0, 0,0x593A,0x593B, 0, 0, 0,
+0x593C, 0, 0,0x5929,0x593D,0x593E, 0,0x593F,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5940, 0, 0, 0, 0, 0, 0,0x5941,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5942,0x5943,0x5944,0x5945,0x5946, 0, 0,0x5947,
+ 0, 0,0x5948, 0, 0,0x5949,0x594A,0x594B,
+0x594C,0x594D,0x594E,0x594F, 0,0x5950, 0, 0,
+ 0, 0, 0, 0,0x5951, 0, 0, 0,
+0x5952, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5953,0x5954,0x5955, 0,0x5956, 0,
+0x5957, 0,0x5958, 0, 0, 0,0x5959,0x595A,
+ 0, 0,0x595B, 0,0x595C,0x595D, 0, 0,
+0x595E, 0, 0, 0,0x595F, 0, 0, 0,
+ 0,0x5960, 0, 0, 0, 0,0x5961, 0,
+0x5962,0x5963, 0,0x5964, 0, 0,0x5965, 0,
+0x5966, 0, 0, 0, 0, 0,0x5974, 0,
+ 0, 0, 0, 0, 0,0x5967, 0,0x5968,
+0x5969,0x596A, 0, 0, 0,0x596B,0x596C,0x596D,
+0x596E, 0, 0,0x596F, 0, 0, 0, 0,
+0x5970, 0, 0,0x5971,0x5972, 0, 0,0x5973,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5975, 0,0x5976, 0, 0, 0, 0,
+0x5977,0x5978, 0, 0, 0, 0, 0,0x5979,
+ 0,0x597A, 0, 0, 0, 0,0x597B, 0,
+ 0, 0, 0, 0,0x597C, 0, 0,0x597D,
+ 0, 0, 0, 0, 0,0x597E, 0, 0,
+0x5A21,0x5A22, 0, 0, 0,0x5A23,0x5A24, 0,
+ 0, 0, 0, 0, 0, 0,0x5A25,0x5A26,
+ 0,0x5A27,0x5A28,0x5A29, 0, 0, 0, 0,
+ 0,0x5A2A,0x5A2B, 0,0x5A2C, 0, 0,0x5A2D,
+ 0, 0,0x5A2E, 0, 0, 0, 0, 0,
+0x5A2F, 0,0x5A30, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5A31,
+ 0,0x5A32, 0,0x5A33, 0,0x5A34,0x5A35, 0,
+ 0,0x5A36,0x3866,0x5A37, 0, 0, 0,0x5A38,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5A39,0x5A3A, 0, 0,0x5A3B,
+0x5A3C,0x5A3D,0x5A3E, 0, 0, 0,0x5A3F, 0,
+ 0,0x5A40,0x5A41,0x5A42,0x5A43,0x5A44, 0, 0,
+ 0, 0,0x5A45, 0, 0,0x5A46, 0, 0,
+0x5A47, 0, 0, 0, 0, 0,0x5A48,0x5A49,
+0x5A4A, 0, 0,0x5A4B, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5A6D, 0, 0, 0, 0,0x5A4C, 0,
+ 0, 0,0x5A4D, 0, 0, 0, 0,0x5A4E,
+ 0,0x5A4F, 0,0x5A50, 0,0x5A51, 0, 0,
+ 0, 0,0x5A52, 0, 0, 0, 0,0x5A53,
+0x5A54,0x5A55, 0, 0, 0, 0,0x5A56, 0,
+ 0, 0,0x5A57, 0,0x5A58,0x5A59,0x5A5A, 0,
+0x5A5B,0x5A5C,0x5A5D, 0, 0, 0, 0, 0,
+0x5A5E,0x5A5F,0x5A60, 0,0x5A61, 0,0x5A62, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5A63,0x5A64, 0, 0,0x5A65, 0,
+0x5A66, 0, 0,0x5A67, 0,0x5A68, 0, 0,
+ 0,0x5A69, 0, 0,0x5A6A, 0,0x5A6B, 0,
+0x5A6C, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5A6E, 0,0x5A6F,0x5A70, 0,
+ 0, 0, 0, 0, 0,0x5A71,0x5A72, 0,
+0x5A73, 0, 0, 0,0x5A74, 0, 0,0x5A75,
+0x5A76,0x5A77, 0, 0,0x5A78,0x5A79, 0, 0,
+ 0, 0,0x5A7A, 0, 0, 0, 0,0x5A7B,
+0x5A7C, 0,0x5A7D, 0,0x5A7E, 0, 0, 0,
+ 0,0x5B21, 0, 0, 0, 0, 0,0x5B22,
+0x5B23, 0,0x5B24,0x5B25, 0, 0, 0, 0,
+ 0, 0,0x5B26,0x5B27, 0,0x5B28,0x5B29,0x5B2A,
+ 0,0x5B2B, 0, 0,0x5B2C, 0,0x5B2D, 0,
+ 0, 0, 0, 0, 0, 0,0x5B2E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5B2F, 0, 0, 0, 0,0x5B30, 0,
+ 0, 0,0x5B31, 0, 0,0x5B32,0x5B33, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5B34, 0,0x5B35,0x5B36, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5B37, 0, 0, 0,
+ 0, 0, 0, 0,0x5B38,0x5B39,0x5B3A,0x5B3B,
+0x5B3C,0x5B3D,0x5B3E, 0,0x5B3F,0x5B40, 0, 0,
+ 0,0x5B41, 0, 0,0x5B42, 0,0x5B43, 0,
+0x5B44,0x5B45,0x5B46, 0, 0, 0, 0,0x5B47,
+ 0,0x5B48, 0, 0,0x5B49, 0, 0, 0,
+0x5B4A, 0, 0, 0, 0,0x5B4B,0x5B4C,0x5B4D,
+ 0, 0,0x5B4E, 0, 0, 0,0x5B4F, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5B50,
+0x5B51, 0,0x5B52, 0, 0, 0, 0, 0,
+ 0,0x5B53,0x5B54,0x5B55, 0, 0, 0,0x5B56,
+ 0, 0, 0, 0, 0, 0,0x5B57,0x5B58,
+ 0, 0,0x5B59,0x5B5A, 0,0x5B5B, 0, 0,
+0x5B5C, 0, 0,0x5B5D,0x5B5E,0x5B5F, 0, 0,
+ 0, 0, 0,0x5B60,0x5B61, 0,0x5B62, 0,
+ 0, 0,0x5B63, 0,0x5B64, 0, 0, 0,
+ 0,0x5B65, 0,0x5B66, 0, 0, 0, 0,
+0x5B67, 0,0x5B68, 0,0x5B69, 0, 0,0x5B6A,
+ 0, 0,0x5B6B,0x5B6C,0x5B6D, 0, 0, 0,
+ 0,0x5B6E, 0,0x5B70,0x5B71,0x5B72, 0, 0,
+ 0,0x5B73,0x5B6F,0x5B74,0x5B75,0x5B76, 0,0x5B77,
+0x5B78, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5B79, 0, 0, 0, 0,0x5B7A,0x5B7B,
+ 0,0x5B7C, 0,0x5B7D, 0, 0,0x5B7E, 0,
+ 0, 0, 0,0x5C21, 0,0x5C22, 0, 0,
+ 0, 0,0x5C23, 0,0x5C24, 0,0x5C25, 0,
+ 0,0x5C26,0x5C27,0x5C28,0x5C29, 0, 0,0x5C2A,
+ 0, 0,0x5C2B, 0, 0, 0,0x5C2C,0x5C2D,
+ 0,0x5C2E, 0,0x5C2F, 0,0x5C30, 0, 0,
+0x5C31,0x5C32, 0, 0, 0,0x5C33, 0, 0,
+ 0, 0,0x5C34, 0, 0, 0, 0, 0,
+ 0, 0,0x5C35, 0, 0, 0, 0, 0,
+ 0, 0,0x5C36, 0,0x5C37, 0, 0, 0,
+ 0,0x5C38};
+
+/* page 31 0x8898-0x89BC */
+static uint16 tab_uni_jisx021231[]={
+0x5C39, 0,0x5C3A,0x5C3B,0x5C3C, 0, 0,0x5C3D,
+0x5C3E, 0, 0, 0, 0, 0, 0, 0,
+0x5C3F, 0,0x5C40, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5C41, 0, 0,0x5C42,0x5C43, 0,
+0x5C44, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5C45,0x5C46,0x5C47,0x5C48,0x5C49, 0,
+ 0,0x5C4A,0x5C4B,0x5C4C, 0, 0, 0, 0,
+ 0, 0, 0,0x5C4D, 0, 0,0x5C4E, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5C4F,
+ 0, 0, 0, 0, 0, 0, 0,0x5C50,
+0x5C51,0x5C52, 0, 0, 0,0x5C53, 0,0x5C54,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5C55, 0, 0, 0, 0,0x5C56, 0,
+ 0, 0, 0, 0, 0,0x5C57,0x5C58,0x5C59,
+ 0, 0, 0, 0, 0,0x5C5A,0x5C5B, 0,
+0x5C5C,0x5C5D,0x5C5E, 0,0x5C5F, 0, 0, 0,
+0x5C60, 0, 0, 0, 0, 0,0x5C61,0x5C62,
+0x5C63, 0, 0, 0, 0, 0, 0, 0,
+0x5C64,0x5C65,0x5C66, 0, 0,0x5C67, 0, 0,
+ 0,0x5C68,0x5C69, 0, 0, 0,0x5C6A, 0,
+0x5C6B, 0,0x5C6C, 0, 0,0x5C6D,0x5C6E, 0,
+ 0,0x5C6F, 0, 0, 0, 0, 0,0x5C70,
+ 0, 0,0x5C71, 0, 0, 0, 0,0x5C72,
+ 0, 0,0x5C73,0x5C74,0x5C75, 0, 0, 0,
+ 0,0x5C76,0x5C77,0x5C78, 0, 0, 0, 0,
+ 0, 0, 0,0x5C79, 0, 0,0x5C7A, 0,
+0x5C7B, 0, 0,0x5C7C, 0,0x5C7D, 0, 0,
+ 0, 0,0x5C7E,0x5D21,0x5D22,0x5D23, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5D24, 0, 0, 0,0x5D25, 0, 0,
+0x5D26, 0, 0, 0,0x5D27,0x5D28, 0, 0,
+ 0, 0, 0,0x5D29,0x5D2A, 0, 0,0x5D2B,
+0x5D2C, 0, 0, 0, 0,0x5D2D, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5D2E, 0, 0, 0,0x5D2F,0x5D30,0x5D31,0x5D32,
+ 0, 0, 0, 0,0x5D33};
+
+/* page 32 0x89D4-0x8B9F */
+static uint16 tab_uni_jisx021232[]={
+0x5D34,0x5D35,0x5D36,0x5D37,0x5D38, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5D39, 0, 0, 0,0x5D3A, 0,0x5D3B,
+ 0,0x5D3C, 0, 0, 0,0x5D3D, 0,0x5D3E,
+ 0, 0,0x5D3F, 0, 0,0x5D40, 0, 0,
+ 0,0x5D41, 0,0x5D42, 0, 0, 0, 0,
+0x5D43,0x5D44, 0,0x5D45, 0, 0, 0, 0,
+ 0, 0, 0,0x5D46, 0,0x5D47,0x5D48, 0,
+0x5D49,0x5D4A, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5D4B, 0,0x5D4C, 0,0x5D4D, 0,
+0x5D4E, 0,0x5D4F, 0, 0, 0, 0,0x5D50,
+0x5D51, 0, 0,0x5D52, 0, 0, 0, 0,
+ 0,0x5D53, 0,0x5D54, 0, 0, 0, 0,
+ 0,0x5D55,0x5D56, 0,0x5D57, 0, 0,0x5D58,
+ 0,0x5D59, 0,0x5D5A, 0,0x5D5B, 0, 0,
+ 0,0x5D5C,0x5D5D, 0, 0, 0, 0,0x5D5E,
+ 0, 0,0x5D5F,0x5D60,0x5D61, 0, 0, 0,
+0x5D62,0x5D63, 0, 0, 0,0x5D64, 0, 0,
+ 0,0x5D65, 0,0x5D66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5D67,0x5D68,0x5D69, 0,0x5D6A,0x5D6B,0x5D6C,
+ 0, 0,0x5D6D,0x5D6E,0x5D6F, 0, 0,0x5D70,
+ 0, 0,0x5D71, 0, 0, 0, 0,0x5D72,
+ 0, 0, 0,0x5D73,0x5D74, 0,0x5D75, 0,
+ 0, 0,0x5D76,0x5D77, 0,0x5D78, 0, 0,
+ 0, 0, 0,0x5D79, 0, 0, 0, 0,
+ 0, 0, 0,0x5D7A, 0,0x5D7B, 0, 0,
+ 0, 0,0x5D7C,0x5D7D, 0, 0, 0,0x5D7E,
+ 0, 0,0x5E21,0x5E22, 0, 0, 0,0x5E23,
+ 0, 0,0x5E24, 0, 0, 0, 0,0x5E25,
+ 0, 0,0x5E26, 0,0x5E27,0x5E28,0x5E29, 0,
+ 0, 0, 0, 0, 0,0x5E2A, 0,0x5E2B,
+0x5E2C,0x5E2D, 0,0x5E2E, 0, 0, 0, 0,
+ 0,0x5E2F, 0,0x5E30, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5E31, 0, 0, 0,0x5E32, 0, 0, 0,
+0x5E33,0x5E34,0x5E35, 0, 0, 0, 0, 0,
+0x5E36, 0, 0,0x5E37, 0, 0, 0, 0,
+ 0,0x5E38,0x5E39, 0, 0, 0,0x5E3F,0x5E3A,
+ 0, 0, 0, 0, 0,0x5E3B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5E3C, 0,0x5E3D,0x5E3E, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5E40, 0, 0,0x5E41, 0, 0, 0,
+ 0, 0, 0,0x5E42, 0, 0, 0, 0,
+0x5E43, 0, 0, 0, 0, 0,0x5E44,0x5E45,
+0x5E46,0x5E47,0x5E48, 0,0x5E49, 0, 0, 0,
+ 0,0x5E4E, 0, 0, 0, 0,0x5E4A,0x5E4B,
+0x5E4C, 0, 0, 0, 0,0x5E4D, 0, 0,
+ 0, 0,0x5E4F, 0, 0, 0, 0,0x5E50,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5E51, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5E52, 0,0x5E53,0x5E54, 0, 0,
+0x5E55, 0,0x5E56, 0, 0,0x5E57, 0, 0,
+0x5E58,0x5E59, 0, 0, 0, 0, 0,0x5E5A,
+ 0,0x5E5B, 0,0x5E5C, 0, 0, 0, 0,
+0x5E5D,0x5E5E, 0, 0, 0, 0, 0, 0,
+0x5E5F, 0,0x5E60,0x5E61};
+
+/* page 33 0x8C38-0x8CA4 */
+static uint16 tab_uni_jisx021233[]={
+0x5E62,0x5E63, 0, 0, 0,0x5E64,0x5E65, 0,
+ 0, 0, 0, 0, 0,0x5E66, 0,0x5E67,
+ 0,0x5E68, 0,0x5E69, 0, 0, 0,0x5E6A,
+ 0,0x5E6B, 0,0x5E6C,0x5E6D, 0, 0,0x5E6E,
+0x5E6F,0x5E72, 0,0x5E70, 0,0x5E71, 0, 0,
+ 0, 0, 0,0x5E73,0x5E74, 0,0x5E75, 0,
+0x5E76,0x5E77, 0, 0, 0,0x5E78, 0, 0,
+ 0, 0, 0,0x5E79, 0,0x5E7A,0x5E7B, 0,
+ 0, 0, 0,0x5E7C, 0, 0,0x5E7D, 0,
+ 0, 0, 0, 0, 0, 0,0x5E7E,0x5F21,
+ 0, 0, 0,0x5F22, 0, 0, 0, 0,
+0x5F23, 0,0x5F24,0x5F25, 0, 0, 0, 0,
+ 0,0x5F26, 0,0x5F27,0x5F28, 0, 0, 0,
+ 0, 0, 0, 0,0x5F29};
+
+/* page 34 0x8CB9-0x8D1B */
+static uint16 tab_uni_jisx021234[]={
+0x5F2A,0x5F2B, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x5F2C,0x5F2D, 0, 0,
+0x5F2E, 0,0x5F2F, 0, 0, 0,0x5F30, 0,
+ 0, 0, 0, 0,0x5F32,0x5F31, 0, 0,
+0x5F33, 0, 0, 0,0x5F34, 0, 0, 0,
+0x5F35, 0, 0, 0, 0, 0, 0,0x5F36,
+ 0, 0, 0,0x5F37, 0, 0,0x5F38,0x5F39,
+ 0,0x5F3A, 0, 0,0x5F3B, 0,0x5F3C,0x5F3D,
+ 0, 0, 0, 0, 0,0x5F3E,0x5F3F, 0,
+0x5F40, 0,0x5F41, 0, 0, 0, 0, 0,
+0x5F42, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5F43, 0, 0, 0, 0,0x5F44, 0,
+ 0, 0,0x5F45};
+
+/* page 35 0x8D65-0x8F65 */
+static uint16 tab_uni_jisx021235[]={
+0x5F46, 0, 0, 0,0x5F47, 0, 0,0x5F48,
+ 0,0x5F49, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x5F4A, 0, 0,0x5F4B, 0,0x5F4C,
+ 0, 0, 0,0x5F4D, 0, 0, 0, 0,
+0x5F4E, 0, 0,0x5F4F,0x5F50, 0, 0, 0,
+0x5F51, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x5F52,0x5F53,0x5F54, 0, 0, 0, 0,
+ 0,0x5F55, 0, 0, 0, 0,0x5F56,0x5F57,
+ 0, 0,0x5F58, 0, 0,0x5F59, 0, 0,
+0x5F5A, 0,0x5F5B, 0,0x5F5C, 0,0x5F5D,0x5F6F,
+ 0, 0, 0,0x5F5E, 0, 0, 0, 0,
+0x5F5F,0x5F60,0x5F61,0x5F62, 0,0x5F63, 0, 0,
+ 0,0x5F64, 0, 0,0x5F65, 0, 0,0x5F66,
+0x5F67, 0,0x5F68, 0,0x5F69, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x5F6A,
+0x5F6B, 0,0x5F6C, 0, 0, 0, 0,0x5F6D,
+ 0, 0, 0,0x5F6E,0x5F70,0x5F71, 0,0x5F72,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x5F73, 0, 0, 0,0x5F74, 0, 0,0x5F75,
+0x5F76,0x5F77, 0, 0, 0, 0,0x5F78, 0,
+ 0, 0, 0, 0,0x5F79, 0, 0,0x5F7A,
+ 0,0x5F7B, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x5F7C,0x5F7D,0x5F7E,0x6021, 0,
+ 0,0x6022,0x6023, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6024, 0,0x6025, 0,
+ 0,0x6026,0x6027,0x6028,0x6029, 0, 0, 0,
+0x602A, 0, 0,0x602B,0x602C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x602D, 0,
+0x602E,0x602F,0x6030, 0, 0, 0, 0,0x6031,
+ 0, 0, 0, 0, 0, 0,0x6032,0x6033,
+0x6034,0x6035, 0, 0,0x6036,0x6037, 0, 0,
+ 0, 0, 0, 0,0x6038, 0, 0,0x6039,
+0x603A, 0,0x603B,0x603C,0x603D, 0, 0, 0,
+ 0, 0, 0, 0,0x603E,0x603F,0x6040, 0,
+ 0, 0, 0, 0, 0,0x6041,0x6042, 0,
+ 0, 0, 0, 0,0x6043, 0, 0, 0,
+ 0, 0, 0,0x6044, 0,0x6045, 0, 0,
+0x6046, 0, 0, 0, 0,0x6047,0x6048, 0,
+0x6049,0x604A, 0, 0, 0,0x604B, 0, 0,
+ 0, 0,0x604C, 0,0x604D, 0, 0, 0,
+0x604E,0x604F, 0, 0, 0, 0,0x6050, 0,
+0x6051, 0, 0, 0, 0,0x6052,0x6053, 0,
+ 0, 0, 0,0x6054,0x6055, 0,0x6056,0x6057,
+ 0, 0,0x6058, 0, 0, 0, 0, 0,
+ 0, 0,0x6059, 0,0x605A, 0, 0,0x605B,
+ 0, 0, 0, 0, 0, 0, 0,0x605C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x605D, 0, 0, 0, 0,
+0x6064,0x605E, 0,0x605F,0x6060, 0, 0, 0,
+ 0, 0,0x6061, 0,0x6062,0x6063, 0, 0,
+ 0, 0, 0,0x6065, 0,0x6066, 0, 0,
+ 0, 0,0x6067,0x6068, 0, 0, 0, 0,
+ 0, 0,0x6069,0x606A, 0, 0, 0, 0,
+ 0,0x606B,0x606C,0x606D, 0, 0, 0, 0,
+ 0,0x606E, 0,0x606F,0x6070, 0,0x6071, 0,
+0x6072, 0,0x6073,0x6074, 0, 0, 0,0x6075,
+0x6076,0x6077, 0, 0, 0, 0, 0,0x6078,
+0x6079,0x607A,0x607B, 0, 0,0x607C, 0, 0,
+ 0, 0, 0,0x607D,0x607E, 0,0x6121, 0,
+ 0, 0,0x6122, 0, 0, 0, 0, 0,
+ 0, 0,0x6123, 0,0x6124,0x6125,0x6126,0x6127,
+0x6128, 0, 0,0x6129, 0, 0, 0, 0,
+0x612A,0x612B, 0, 0, 0, 0, 0, 0,
+0x612C};
+
+/* page 36 0x8F9D-0x9484 */
+static uint16 tab_uni_jisx021236[]={
+0x612D, 0, 0,0x612E,0x612F, 0, 0,0x6130,
+0x6131,0x6132, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6133,0x6134, 0,0x6135, 0, 0, 0, 0,
+ 0,0x6136, 0,0x6137,0x6138, 0, 0, 0,
+ 0,0x6139, 0, 0, 0,0x613A,0x613B, 0,
+0x613C, 0, 0,0x613D, 0,0x613E,0x613F, 0,
+0x6140, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6141, 0, 0,0x6142,0x6143,
+ 0, 0, 0,0x6144, 0, 0, 0, 0,
+ 0,0x6145, 0, 0,0x6146, 0, 0, 0,
+0x6147,0x6148, 0, 0, 0, 0,0x6149, 0,
+ 0,0x614A, 0, 0, 0,0x614B, 0,0x614C,
+ 0, 0, 0,0x614D, 0, 0, 0,0x614E,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x614F, 0, 0,0x6150, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6151,0x6152,0x6154, 0,0x6155,
+0x6156, 0,0x6153, 0, 0, 0,0x6157,0x6158,
+ 0, 0,0x6159, 0, 0, 0, 0, 0,
+ 0, 0,0x615A, 0, 0, 0,0x615B,0x615C,
+ 0, 0, 0, 0, 0, 0, 0,0x615D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x615E, 0,
+0x615F, 0, 0, 0, 0,0x6160, 0, 0,
+ 0,0x6161,0x6162, 0, 0, 0, 0,0x6163,
+ 0, 0, 0,0x6164, 0, 0, 0,0x6165,
+ 0, 0, 0, 0,0x6166, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6167, 0, 0,0x6168, 0, 0,0x6169,0x616A,
+ 0,0x616B, 0,0x616C, 0, 0, 0, 0,
+0x616D, 0,0x616E,0x616F,0x6170, 0,0x6171, 0,
+ 0, 0, 0,0x6172,0x6173,0x6174, 0, 0,
+0x6175, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6176, 0,0x6177,0x6178,0x6179,
+ 0,0x617A, 0, 0, 0, 0, 0, 0,
+0x617B,0x617D, 0, 0, 0, 0,0x617E,0x6221,
+0x6222, 0,0x6223,0x6224, 0, 0, 0,0x617C,
+ 0, 0, 0, 0, 0,0x622D, 0, 0,
+0x6225, 0,0x6226,0x6227,0x6228, 0, 0,0x6229,
+0x622A, 0,0x622B, 0, 0, 0, 0, 0,
+0x622C, 0, 0, 0, 0, 0,0x622F, 0,
+ 0, 0,0x6230,0x6231, 0, 0, 0,0x6232,
+ 0,0x622E, 0, 0, 0, 0, 0, 0,
+ 0,0x6233,0x6234,0x6235, 0, 0, 0,0x6236,
+0x6237,0x6238, 0,0x6239, 0, 0, 0, 0,
+0x623A, 0, 0,0x623B, 0, 0, 0,0x623C,
+ 0,0x623D,0x623E,0x623F, 0,0x6240, 0,0x6241,
+ 0,0x6242, 0,0x6243, 0,0x6245,0x6246, 0,
+0x6244, 0,0x6247, 0,0x6248, 0, 0, 0,
+ 0,0x6249,0x624A, 0,0x624B, 0, 0,0x624C,
+ 0,0x624D,0x624E, 0,0x624F,0x6250, 0,0x6251,
+0x6252, 0, 0, 0, 0, 0,0x6253, 0,
+ 0, 0,0x6254,0x6255, 0, 0, 0, 0,
+ 0, 0,0x6256, 0, 0, 0,0x6257, 0,
+ 0, 0,0x6258, 0,0x6259,0x625A,0x625B, 0,
+ 0, 0, 0, 0,0x625C, 0, 0,0x625D,
+ 0, 0,0x625E, 0, 0, 0, 0, 0,
+0x625F, 0, 0, 0, 0, 0, 0,0x6260,
+ 0, 0, 0, 0,0x6261,0x6262,0x6263, 0,
+ 0, 0, 0, 0,0x6264, 0,0x6265, 0,
+0x6266,0x6267, 0, 0, 0,0x6268, 0, 0,
+ 0,0x6269, 0, 0,0x626A, 0,0x626B,0x626C,
+0x626D, 0, 0,0x626E, 0, 0, 0, 0,
+ 0,0x626F, 0, 0,0x6270, 0, 0, 0,
+ 0,0x6271, 0,0x6272, 0, 0, 0,0x6273,
+0x6274,0x6275, 0,0x6276,0x6277,0x6278,0x6279, 0,
+ 0,0x627A, 0, 0, 0, 0,0x627B,0x627C,
+0x627D, 0,0x627E, 0, 0,0x6321,0x6322, 0,
+0x6323, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6324,0x6325,
+ 0, 0,0x6326, 0,0x6327,0x6328, 0, 0,
+ 0,0x6329, 0, 0, 0, 0, 0,0x632A,
+0x632B, 0, 0, 0,0x632C,0x632D, 0,0x632E,
+0x632F,0x6330,0x6331,0x6332,0x6333, 0, 0, 0,
+ 0, 0,0x6334, 0,0x6335, 0,0x6336, 0,
+0x6337, 0, 0,0x6338,0x6339, 0, 0,0x633A,
+0x633B,0x633C,0x633D, 0,0x633E,0x633F, 0,0x6340,
+ 0, 0, 0,0x6341, 0,0x6342,0x6343, 0,
+ 0,0x6344, 0,0x6345, 0, 0, 0,0x6346,
+0x6347, 0, 0, 0, 0, 0,0x6348,0x6349,
+0x634A,0x634B, 0,0x634C, 0, 0, 0, 0,
+ 0,0x634D,0x634E,0x634F, 0, 0,0x6350, 0,
+0x6351,0x6352, 0,0x6353,0x6354,0x6355, 0,0x6356,
+ 0,0x6357, 0,0x6358, 0,0x6359,0x635A, 0,
+ 0,0x635B,0x635C, 0, 0,0x635D, 0, 0,
+0x635E,0x635F,0x6360, 0,0x6361, 0, 0, 0,
+ 0, 0, 0,0x6362,0x6363, 0, 0,0x6364,
+0x6365, 0, 0,0x6366,0x6367, 0, 0, 0,
+0x6368, 0,0x6369,0x636A,0x636B, 0, 0, 0,
+ 0,0x636C,0x636D,0x636E, 0, 0, 0, 0,
+0x636F,0x6370,0x6371,0x6372,0x6373, 0,0x6374,0x6375,
+0x6376, 0,0x6377, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6378,0x6379,0x637A, 0, 0,
+0x637B,0x637C, 0, 0, 0,0x637D, 0, 0,
+ 0, 0,0x637E, 0,0x6421, 0, 0, 0,
+ 0, 0,0x6422,0x6423, 0, 0, 0,0x6424,
+0x6425, 0,0x6426,0x6427, 0, 0,0x6428, 0,
+ 0, 0,0x6429, 0, 0,0x642A, 0, 0,
+ 0,0x642B, 0,0x642C, 0,0x642D,0x642E,0x642F,
+0x6430, 0,0x6431,0x6432,0x6433,0x6434,0x6435, 0,
+0x6436,0x6437,0x6438,0x6439, 0, 0,0x643A,0x643B,
+0x643C,0x643D, 0,0x643E, 0, 0,0x643F, 0,
+0x6440, 0,0x6441,0x6442,0x6443, 0, 0,0x6444,
+0x6445, 0,0x6446,0x6447,0x6448, 0,0x6449, 0,
+0x644A, 0,0x644B,0x644C, 0, 0, 0,0x644D,
+ 0,0x644E, 0,0x644F, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6450, 0,0x6451, 0,
+ 0, 0,0x6452,0x6453, 0,0x6454, 0, 0,
+ 0, 0, 0,0x6455, 0, 0, 0, 0,
+0x6456, 0, 0, 0,0x6457, 0, 0,0x6458,
+0x6459, 0, 0, 0, 0, 0, 0,0x645A,
+0x645B,0x645C,0x645D, 0,0x645E, 0, 0,0x645F,
+0x6460, 0,0x6461, 0,0x6462,0x6463, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6464,0x6465,
+ 0,0x6466,0x6467, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6468,0x6469,0x646A, 0, 0, 0,
+ 0, 0, 0,0x646B,0x646C,0x646D, 0, 0,
+0x646E, 0,0x646F,0x6470, 0,0x6471, 0, 0,
+ 0,0x6472, 0, 0, 0, 0, 0,0x6473,
+0x6474, 0,0x6475, 0,0x6476,0x6477, 0, 0,
+0x6478, 0,0x6479,0x647A,0x647B, 0,0x647C,0x647D,
+ 0,0x647E, 0, 0, 0,0x6521, 0, 0,
+0x6522, 0,0x6523,0x6524,0x6525,0x6526, 0, 0,
+ 0, 0, 0,0x6527, 0,0x6528,0x6529, 0,
+0x652A, 0,0x652B, 0, 0,0x652C, 0, 0,
+0x652D, 0, 0,0x652E, 0, 0,0x652F, 0,
+ 0,0x6530, 0, 0,0x6531, 0,0x6532,0x6533,
+ 0,0x6534, 0,0x6535,0x653B, 0,0x6536, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x6537,
+0x6538,0x6539, 0, 0, 0,0x653A, 0, 0,
+ 0, 0, 0, 0,0x653C, 0, 0,0x653D,
+0x653E,0x653F,0x6540, 0,0x6541,0x6542,0x6543,0x6544,
+0x6545, 0, 0, 0, 0, 0,0x6546, 0,
+ 0, 0, 0, 0,0x6547, 0, 0,0x6548,
+ 0,0x6549,0x654A, 0, 0,0x654B, 0, 0,
+ 0,0x654C,0x654D, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x654F,0x6550,0x654E,0x6551,0x6552, 0,
+0x6553, 0, 0, 0,0x6554,0x6555, 0,0x6556,
+ 0, 0, 0,0x6557,0x6558, 0, 0, 0,
+0x6559,0x655A,0x655B, 0, 0, 0, 0, 0,
+0x655C,0x655D,0x655E, 0, 0, 0, 0, 0,
+ 0, 0,0x655F, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6560,0x6561, 0,0x6562,0x6563,0x6564,0x6565,
+ 0, 0, 0, 0, 0, 0,0x6566, 0,
+0x6568, 0,0x6567, 0, 0, 0,0x6569, 0,
+0x656A, 0, 0,0x656B, 0,0x656C, 0,0x656D,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x656E, 0, 0, 0,0x656F, 0, 0,0x6570,
+ 0, 0,0x6571, 0,0x6572, 0,0x6573, 0,
+ 0, 0, 0,0x6574, 0, 0,0x6575, 0,
+0x6576,0x6577,0x6578, 0,0x6579,0x657A, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x657C,0x657B
+};
+
+/* page 37 0x9578-0x95E6 */
+static uint16 tab_uni_jisx021237[]={
+0x657D,0x657E, 0, 0, 0, 0,0x6621, 0,
+ 0, 0, 0, 0,0x6622, 0, 0, 0,
+0x6623, 0, 0, 0,0x6624,0x6625,0x6626, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6627,0x6628,0x6629,
+ 0,0x662A, 0, 0, 0, 0,0x662B, 0,
+ 0,0x662C, 0,0x662D,0x662E, 0, 0, 0,
+ 0, 0, 0, 0,0x662F, 0,0x6630, 0,
+ 0, 0,0x6631, 0, 0,0x6632, 0,0x6633,
+ 0, 0, 0, 0, 0, 0,0x6634, 0,
+0x6635,0x6636, 0,0x6637, 0, 0, 0, 0,
+0x6638,0x6639,0x663A,0x663B, 0, 0, 0, 0,
+ 0,0x663C,0x663D, 0, 0,0x663E,0x663F,0x6640,
+0x6641, 0, 0, 0,0x6642, 0,0x6643};
+
+/* page 38 0x961D-0x986C */
+static uint16 tab_uni_jisx021238[]={
+0x6644,0x6645, 0, 0, 0,0x6646, 0,0x6647,
+0x6648,0x6649, 0, 0, 0, 0, 0,0x664A,
+ 0, 0, 0, 0,0x664B, 0,0x664C, 0,
+ 0, 0,0x664D,0x664E,0x664F,0x6650, 0,0x6651,
+0x6652, 0, 0, 0,0x6653, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6654, 0,0x6655,
+ 0,0x6656,0x6657,0x6658, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6659, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x665A, 0, 0, 0, 0, 0,0x665B,
+ 0, 0, 0, 0, 0, 0,0x665C,0x665D,
+ 0,0x665E,0x665F, 0,0x6660,0x6661,0x6662,0x6663,
+ 0, 0, 0, 0,0x6664, 0, 0, 0,
+ 0, 0, 0, 0,0x6665, 0, 0, 0,
+ 0,0x6666, 0, 0, 0,0x6667, 0, 0,
+0x6668, 0,0x6669, 0, 0, 0, 0,0x666A,
+0x666B,0x666C, 0, 0,0x666D, 0, 0, 0,
+ 0,0x666E,0x666F, 0, 0, 0,0x6670, 0,
+ 0, 0, 0, 0, 0,0x6671, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6672, 0, 0,
+ 0, 0, 0, 0, 0,0x6673, 0, 0,
+ 0, 0, 0,0x6675, 0,0x6676, 0, 0,
+0x6677,0x6678,0x6679, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x667A, 0, 0, 0,
+ 0, 0,0x667B, 0,0x667C, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x667D, 0, 0,
+ 0, 0, 0, 0, 0,0x667E,0x6721, 0,
+0x6722, 0, 0, 0,0x6723, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6724,0x6725, 0,
+0x6726, 0, 0, 0,0x6727,0x6728,0x6729, 0,
+ 0, 0, 0,0x672A, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x672B, 0,0x672C, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x672D, 0,0x672E, 0,
+ 0, 0, 0, 0, 0,0x672F, 0, 0,
+ 0,0x6730,0x6731, 0, 0, 0, 0, 0,
+0x6732, 0,0x6733,0x6734, 0,0x6735,0x6736, 0,
+ 0, 0, 0, 0, 0, 0,0x6737, 0,
+ 0, 0,0x6738, 0, 0,0x6739, 0, 0,
+ 0,0x673A, 0, 0, 0, 0,0x673B, 0,
+ 0,0x673C,0x673D,0x673E, 0, 0,0x673F, 0,
+0x6740, 0,0x6741,0x6742, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6743, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6744,0x6745,0x6746, 0,0x6747,0x6748, 0, 0,
+ 0,0x6749,0x674A, 0, 0,0x674B, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,0x674C,
+ 0,0x674D, 0, 0,0x674E,0x674F, 0, 0,
+0x6750,0x6751, 0,0x6752,0x6753,0x6754, 0,0x6755,
+ 0,0x6756,0x6757, 0,0x6758, 0, 0,0x6759,
+0x675A, 0,0x675B, 0,0x675C,0x675D, 0,0x675E,
+0x675F,0x6760, 0,0x6761,0x6762, 0, 0,0x6763,
+ 0, 0,0x6764,0x6765,0x6766, 0,0x676A, 0,
+0x6767,0x6768, 0,0x6769,0x676B, 0, 0,0x676C,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x676D, 0,0x676E, 0, 0,0x676F,
+ 0, 0,0x6770,0x6771, 0,0x6772, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x6773, 0, 0,0x6774, 0, 0,
+0x6776,0x6777, 0, 0, 0, 0, 0,0x6778,
+ 0,0x6779, 0, 0,0x6775, 0, 0,0x677A,
+ 0,0x677B, 0,0x677C, 0, 0,0x677D, 0,
+0x6828,0x677E, 0, 0, 0, 0,0x6821, 0,
+ 0,0x6822,0x6823,0x6824, 0,0x6825,0x6826, 0,
+0x6827, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6829, 0, 0, 0, 0, 0,0x682A,
+ 0, 0,0x682B, 0, 0,0x682C, 0, 0,
+ 0, 0, 0, 0,0x682D,0x682E,0x682F, 0,
+ 0,0x6830,0x6831, 0,0x6832,0x6833, 0, 0,
+ 0, 0, 0, 0, 0,0x6834,0x6835, 0,
+0x6836,0x6837, 0, 0, 0,0x6838, 0,0x6839
+};
+
+/* page 39 0x98AB-0x98CC */
+static uint16 tab_uni_jisx021239[]={
+0x683A, 0,0x683B,0x683C, 0,0x683D, 0, 0,
+ 0,0x683E, 0, 0,0x683F,0x6840, 0,0x6841,
+0x6842, 0, 0, 0,0x6843, 0, 0,0x6844,
+ 0, 0,0x6845, 0, 0,0x6846, 0, 0,
+ 0,0x6847};
+
+/* page 40 0x98E1-0x9960 */
+static uint16 tab_uni_jisx021240[]={
+0x6848, 0,0x6849, 0,0x684A,0x684B,0x684C, 0,
+ 0,0x684D, 0, 0, 0, 0, 0, 0,
+ 0, 0,0x684E, 0, 0,0x684F, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6850, 0, 0, 0, 0,0x6851,0x6852,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6853, 0, 0, 0,0x6854,0x6855,0x6856, 0,
+ 0,0x6857,0x6858,0x6859, 0, 0,0x685A, 0,
+ 0,0x685B, 0, 0, 0,0x685C,0x685D, 0,
+ 0, 0,0x685E, 0, 0, 0, 0, 0,
+0x685F,0x6860,0x6861,0x6862,0x6863, 0, 0, 0,
+0x6864,0x6865,0x6866,0x6867, 0, 0, 0,0x6868,
+0x6869, 0, 0, 0, 0,0x686A,0x686B,0x686C,
+ 0, 0, 0, 0,0x686D,0x686E, 0, 0,
+ 0, 0, 0,0x686F, 0, 0, 0,0x6870,
+0x6871, 0,0x6872,0x6873, 0,0x6874,0x6875,0x6876
+};
+
+/* page 41 0x999B-0x9A5D */
+static uint16 tab_uni_jisx021241[]={
+0x6877, 0,0x6878, 0,0x6879, 0, 0, 0,
+ 0, 0, 0,0x687A, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x687B,0x687C,0x687D,
+ 0, 0,0x687E, 0, 0, 0,0x6921,0x6922,
+ 0, 0,0x6923, 0,0x6924, 0, 0, 0,
+0x6925, 0, 0, 0, 0, 0,0x6926, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6927,0x6928, 0, 0, 0, 0,0x6929,0x692A,
+ 0,0x692B, 0,0x692C, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x692D, 0, 0,0x692E,
+0x692F,0x6930, 0, 0, 0,0x6931, 0, 0,
+ 0,0x6932,0x6933, 0, 0, 0,0x6934, 0,
+ 0, 0,0x6935,0x6936, 0, 0, 0,0x6937,
+0x6938,0x6939, 0, 0, 0, 0, 0, 0,
+0x693A,0x693B, 0, 0, 0,0x693C,0x693D, 0,
+ 0, 0, 0,0x693E, 0, 0, 0, 0,
+ 0, 0, 0,0x693F, 0,0x6940, 0,0x6941,
+0x6942,0x6943, 0, 0,0x6944, 0, 0, 0,
+ 0, 0,0x6945,0x6946, 0, 0, 0, 0,
+0x6947, 0,0x6948,0x6949, 0,0x694A, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x694C, 0,
+ 0,0x694D, 0, 0,0x694B, 0, 0,0x694E,
+0x694F,0x6950, 0,0x6951, 0, 0,0x6952, 0,
+ 0,0x6953, 0,0x6954, 0, 0, 0, 0,
+ 0, 0,0x6955};
+
+/* page 42 0x9AAA-0x9C7B */
+static uint16 tab_uni_jisx021242[]={
+0x6956, 0,0x6957, 0,0x6958,0x6959, 0, 0,
+0x695A, 0,0x695B,0x695C,0x695D, 0, 0,0x695E,
+ 0,0x695F, 0, 0,0x6960,0x6961, 0,0x6962,
+ 0,0x6963, 0, 0,0x6964, 0,0x6965, 0,
+ 0, 0, 0, 0,0x6966, 0,0x6967, 0,
+0x6968, 0, 0,0x6969,0x696A,0x696B, 0, 0,
+ 0,0x696C,0x696D, 0, 0, 0,0x696E, 0,
+ 0, 0,0x696F,0x6970, 0,0x6971, 0,0x6972,
+ 0, 0,0x6973, 0, 0, 0, 0, 0,
+0x6974,0x6975, 0,0x6976, 0, 0, 0,0x6977,
+0x6978, 0, 0,0x6979, 0,0x697A,0x697B,0x697C,
+0x697D,0x697E,0x6A21,0x6A22, 0, 0,0x6A23,0x6A24,
+ 0,0x6A25,0x6A26,0x6A27,0x6A28, 0,0x6A29, 0,
+0x6A2A, 0, 0, 0,0x6A2B, 0, 0,0x6A2C,
+ 0,0x6A2D,0x6A2E, 0, 0, 0,0x6A2F, 0,
+ 0, 0, 0, 0,0x6A30, 0, 0, 0,
+ 0,0x6A31, 0,0x6A32, 0, 0, 0, 0,
+ 0,0x6A33,0x6A34,0x6A35, 0,0x6A36, 0,0x6A37,
+0x6A38, 0, 0,0x6A39, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6A3A, 0,
+ 0,0x6A3B,0x6A3C, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6A3D,0x6A3E,0x6A3F, 0, 0,
+ 0,0x6A40, 0, 0,0x6A41, 0, 0,0x6A42,
+ 0,0x6A43, 0,0x6A44,0x6A45, 0,0x6A46, 0,
+0x6A47,0x6A48,0x6A49,0x6A4A,0x6A4B, 0, 0, 0,
+ 0,0x6A4C, 0,0x6A4D, 0,0x6A4E,0x6A4F,0x6A50,
+ 0, 0, 0, 0, 0,0x6A51,0x6A52, 0,
+ 0, 0,0x6A53,0x6A54,0x6A55,0x6A56, 0,0x6A57,
+0x6A58,0x6A59, 0,0x6A5A, 0,0x6A5B,0x6A5C, 0,
+ 0, 0,0x6A5D, 0, 0, 0, 0, 0,
+0x6A5E, 0, 0,0x6A5F,0x6A60, 0, 0, 0,
+ 0, 0, 0, 0,0x6A61,0x6A62, 0,0x6A63,
+ 0, 0,0x6A64, 0, 0, 0,0x6A65,0x6A66,
+0x6A67, 0, 0, 0, 0,0x6A68,0x6A69, 0,
+ 0,0x6A6A,0x6A6B, 0,0x6A6C,0x6A6D, 0,0x6A6E,
+ 0, 0, 0, 0, 0,0x6A6F,0x6A70, 0,
+ 0, 0, 0, 0,0x6A71, 0,0x6A72, 0,
+ 0, 0, 0, 0, 0,0x6A73,0x6A74, 0,
+ 0, 0, 0,0x6A75, 0,0x6A76, 0, 0,
+ 0, 0, 0,0x6A77, 0,0x6A78, 0, 0,
+0x6A79,0x6A7A, 0, 0, 0,0x6A7B, 0, 0,
+ 0,0x6A7C, 0, 0, 0,0x6A7D,0x6A7E,0x6B21,
+0x6B22, 0, 0,0x6B23, 0,0x6B24,0x6B25, 0,
+0x6B26, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6B27, 0, 0, 0,0x6B28, 0,0x6B29,
+ 0, 0, 0, 0,0x6B2A, 0,0x6B2B,0x6B2C,
+0x6B2D, 0,0x6B2E, 0,0x6B2F, 0, 0, 0,
+0x6B30,0x6B31, 0, 0,0x6B32,0x6B33,0x6B34,0x6B35,
+0x6B36, 0, 0, 0, 0, 0, 0,0x6B37,
+ 0, 0, 0,0x6B38,0x6B39,0x6B3A, 0, 0,
+ 0, 0, 0,0x6B3B, 0, 0, 0,0x6B3C,
+ 0,0x6B3D,0x6B3E,0x6B3F, 0, 0, 0,0x6B40,
+0x6B41, 0, 0, 0,0x6B42,0x6B43,0x6B44, 0,
+ 0,0x6B45,0x6B46, 0,0x6B47, 0,0x6B48, 0,
+ 0,0x6B49,0x6B50,0x6B4A,0x6B4B,0x6B4C, 0, 0,
+ 0,0x6B4D, 0, 0, 0, 0,0x6B52,0x6B4E,
+0x6B4F,0x6B51, 0, 0,0x6B53, 0,0x6B54, 0,
+0x6B55, 0, 0,0x6B56, 0,0x6B57, 0, 0,
+ 0,0x6B58};
+
+/* page 43 0x9CE6-0x9E1D */
+static uint16 tab_uni_jisx021243[]={
+0x6B59, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6B5A, 0, 0, 0,
+ 0,0x6B5B, 0,0x6B5C, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6B5E, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6B5D, 0, 0,
+ 0, 0, 0,0x6B5F, 0, 0, 0, 0,
+ 0,0x6B60,0x6B61, 0, 0, 0,0x6B62,0x6B63,
+0x6B64, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6B65,0x6B66, 0,0x6B67,0x6B68,0x6B69, 0,
+ 0, 0, 0, 0,0x6B6A, 0,0x6B6B,0x6B6D,
+ 0, 0, 0, 0,0x6B6E,0x6B6F, 0,0x6B6C,
+ 0,0x6B70, 0, 0,0x6B71, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6B72,0x6B73, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6B74, 0, 0,0x6B76,0x6B75, 0,0x6B77,
+ 0, 0, 0,0x6B78,0x6B79,0x6B7A, 0, 0,
+ 0, 0,0x6B7B, 0, 0, 0, 0, 0,
+0x6B7C,0x6B7D, 0, 0, 0,0x6B7E,0x6C21, 0,
+0x6C22, 0, 0, 0, 0,0x6C23,0x6C24, 0,
+0x6C25, 0, 0, 0,0x6C26, 0, 0,0x6C27,
+0x6C28, 0, 0, 0,0x6C29,0x6C2A, 0,0x6C2B,
+0x6C2C,0x6C2D,0x6C2E, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6C2F, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6C30, 0,0x6C31, 0,
+0x6C32, 0, 0,0x6C33, 0, 0, 0,0x6C34,
+ 0, 0, 0,0x6C35, 0, 0,0x6C36, 0,
+ 0,0x6C37, 0, 0, 0,0x6C38, 0, 0,
+ 0,0x6C39, 0,0x6C3A,0x6C3B, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6C3C,0x6C3D,
+0x6C3E,0x6C3F, 0, 0,0x6C40, 0, 0, 0,
+0x6C41,0x6C42,0x6C43, 0, 0, 0, 0,0x6C44,
+ 0,0x6C45, 0,0x6C46, 0,0x6C47, 0, 0,
+0x6C48, 0,0x6C49, 0, 0,0x6C4A,0x6C4B, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x6C4C, 0, 0, 0,0x6C4E, 0, 0, 0,
+ 0,0x6C4F, 0, 0,0x6C4D, 0, 0, 0,
+0x6C50, 0,0x6C51,0x6C52,0x6C53, 0, 0,0x6C54,
+0x6C55, 0, 0,0x6C56, 0, 0,0x6C57,0x6C58
+};
+
+/* page 44 0x9E7A-0x9FA5 */
+static uint16 tab_uni_jisx021244[]={
+0x6C59,0x6C5A,0x6C5B, 0, 0, 0,0x6C5C, 0,
+0x6C5D,0x6C5E,0x6C5F,0x6C60, 0,0x6C61, 0, 0,
+ 0, 0, 0, 0,0x6C62,0x6C63, 0, 0,
+ 0, 0, 0, 0,0x6C64, 0,0x6C65, 0,
+ 0,0x6C66, 0, 0,0x6C67, 0, 0, 0,
+ 0, 0,0x6C68, 0, 0, 0,0x6C69, 0,
+ 0, 0,0x6C6A, 0,0x6C6B,0x6C6C,0x6C6D, 0,
+ 0,0x6C6E,0x6C6F,0x6C70, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,0x6C71, 0,0x6C72, 0,
+ 0,0x6C73, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x6C74, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6C75, 0, 0,
+ 0, 0,0x6C76, 0, 0,0x6C77, 0, 0,
+ 0, 0,0x6C78,0x6C79,0x6C7A, 0,0x6C7B,0x6C7C,
+0x6C7D, 0, 0,0x6C7E, 0, 0,0x6D21, 0,
+ 0, 0, 0, 0, 0,0x6D22, 0, 0,
+0x6D23,0x6D24, 0, 0, 0, 0, 0,0x6D25,
+ 0, 0, 0, 0, 0,0x6D26,0x6D27,0x6D28,
+0x6D29, 0,0x6D2A, 0,0x6D2B,0x6D2C, 0,0x6D2D,
+0x6D2E,0x6D2F, 0, 0, 0,0x6D30, 0, 0,
+0x6D31, 0, 0, 0,0x6D32, 0, 0, 0,
+0x6D33,0x6D34, 0, 0, 0,0x6D35, 0,0x6D36,
+0x6D37, 0,0x6D38, 0, 0,0x6D39, 0,0x6D3A,
+0x6D3B, 0,0x6D3C,0x6D3D, 0,0x6D3E, 0,0x6D3F,
+ 0,0x6D40,0x6D41,0x6D42,0x6D43,0x6D44, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,0x6D45, 0,0x6D46,0x6D47,0x6D48,0x6D49, 0,
+0x6D4A, 0, 0,0x6D4B,0x6D4C, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,0x6D4D,0x6D4E,
+ 0, 0, 0,0x6D4F,0x6D50,0x6D51,0x6D52,0x6D53,
+ 0,0x6D54, 0,0x6D55, 0, 0, 0, 0,
+0x6D56, 0, 0,0x6D57, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,0x6D58,0x6D59,0x6D5A,
+0x6D5B, 0,0x6D5C, 0,0x6D5D,0x6D5E, 0, 0,
+ 0, 0, 0, 0,0x6D5F, 0, 0,0x6D60,
+0x6D61,0x6D62, 0,0x6D63};
+
+static int
+my_uni_jisx0212_onechar(int code){
+ if ((code>=0x007E)&&(code<=0x007E))
+ return(tab_uni_jisx02120[code-0x007E]);
+ if ((code>=0x00A1)&&(code<=0x017E))
+ return(tab_uni_jisx02121[code-0x00A1]);
+ if ((code>=0x01CD)&&(code<=0x01DC))
+ return(tab_uni_jisx02122[code-0x01CD]);
+ if ((code>=0x01F5)&&(code<=0x01F5))
+ return(tab_uni_jisx02123[code-0x01F5]);
+ if ((code>=0x02C7)&&(code<=0x02DD))
+ return(tab_uni_jisx02124[code-0x02C7]);
+ if ((code>=0x0384)&&(code<=0x0390))
+ return(tab_uni_jisx02125[code-0x0384]);
+ if ((code>=0x03AA)&&(code<=0x03CE))
+ return(tab_uni_jisx02126[code-0x03AA]);
+ if ((code>=0x0402)&&(code<=0x040F))
+ return(tab_uni_jisx02127[code-0x0402]);
+ if ((code>=0x0452)&&(code<=0x045F))
+ return(tab_uni_jisx02128[code-0x0452]);
+ if ((code>=0x2116)&&(code<=0x2122))
+ return(tab_uni_jisx02129[code-0x2116]);
+ if ((code>=0x4E02)&&(code<=0x4F19))
+ return(tab_uni_jisx021210[code-0x4E02]);
+ if ((code>=0x4F2E)&&(code<=0x5166))
+ return(tab_uni_jisx021211[code-0x4F2E]);
+ if ((code>=0x517E)&&(code<=0x5515))
+ return(tab_uni_jisx021212[code-0x517E]);
+ if ((code>=0x552A)&&(code<=0x5566))
+ return(tab_uni_jisx021213[code-0x552A]);
+ if ((code>=0x557F)&&(code<=0x5C36))
+ return(tab_uni_jisx021214[code-0x557F]);
+ if ((code>=0x5C59)&&(code<=0x5EEB))
+ return(tab_uni_jisx021215[code-0x5C59]);
+ if ((code>=0x5F02)&&(code<=0x6149))
+ return(tab_uni_jisx021216[code-0x5F02]);
+ if ((code>=0x615E)&&(code<=0x6290))
+ return(tab_uni_jisx021217[code-0x615E]);
+ if ((code>=0x62A6)&&(code<=0x679B))
+ return(tab_uni_jisx021218[code-0x62A6]);
+ if ((code>=0x67B0)&&(code<=0x67F9))
+ return(tab_uni_jisx021219[code-0x67B0]);
+ if ((code>=0x6814)&&(code<=0x6917))
+ return(tab_uni_jisx021220[code-0x6814]);
+ if ((code>=0x6931)&&(code<=0x6D3F))
+ return(tab_uni_jisx021221[code-0x6931]);
+ if ((code>=0x6D57)&&(code<=0x6E04))
+ return(tab_uni_jisx021222[code-0x6D57]);
+ if ((code>=0x6E1E)&&(code<=0x6ECF))
+ return(tab_uni_jisx021223[code-0x6E1E]);
+ if ((code>=0x6EEB)&&(code<=0x70E4))
+ return(tab_uni_jisx021224[code-0x6EEB]);
+ if ((code>=0x70FA)&&(code<=0x71DC))
+ return(tab_uni_jisx021225[code-0x70FA]);
+ if ((code>=0x71F8)&&(code<=0x7E9E))
+ return(tab_uni_jisx021226[code-0x71F8]);
+ if ((code>=0x7F3B)&&(code<=0x8044))
+ return(tab_uni_jisx021227[code-0x7F3B]);
+ if ((code>=0x8060)&&(code<=0x8357))
+ return(tab_uni_jisx021228[code-0x8060]);
+ if ((code>=0x8370)&&(code<=0x8419))
+ return(tab_uni_jisx021229[code-0x8370]);
+ if ((code>=0x842F)&&(code<=0x8880))
+ return(tab_uni_jisx021230[code-0x842F]);
+ if ((code>=0x8898)&&(code<=0x89BC))
+ return(tab_uni_jisx021231[code-0x8898]);
+ if ((code>=0x89D4)&&(code<=0x8B9F))
+ return(tab_uni_jisx021232[code-0x89D4]);
+ if ((code>=0x8C38)&&(code<=0x8CA4))
+ return(tab_uni_jisx021233[code-0x8C38]);
+ if ((code>=0x8CB9)&&(code<=0x8D1B))
+ return(tab_uni_jisx021234[code-0x8CB9]);
+ if ((code>=0x8D65)&&(code<=0x8F65))
+ return(tab_uni_jisx021235[code-0x8D65]);
+ if ((code>=0x8F9D)&&(code<=0x9484))
+ return(tab_uni_jisx021236[code-0x8F9D]);
+ if ((code>=0x9578)&&(code<=0x95E6))
+ return(tab_uni_jisx021237[code-0x9578]);
+ if ((code>=0x961D)&&(code<=0x986C))
+ return(tab_uni_jisx021238[code-0x961D]);
+ if ((code>=0x98AB)&&(code<=0x98CC))
+ return(tab_uni_jisx021239[code-0x98AB]);
+ if ((code>=0x98E1)&&(code<=0x9960))
+ return(tab_uni_jisx021240[code-0x98E1]);
+ if ((code>=0x999B)&&(code<=0x9A5D))
+ return(tab_uni_jisx021241[code-0x999B]);
+ if ((code>=0x9AAA)&&(code<=0x9C7B))
+ return(tab_uni_jisx021242[code-0x9AAA]);
+ if ((code>=0x9CE6)&&(code<=0x9E1D))
+ return(tab_uni_jisx021243[code-0x9CE6]);
+ if ((code>=0x9E7A)&&(code<=0x9FA5))
+ return(tab_uni_jisx021244[code-0x9E7A]);
+ return(0);
+}
+
+
+/* page 0 0x222F-0x2244 */
+static uint16 tab_jisx0212_uni0[]={
+0x02D8,0x02C7,0x00B8,0x02D9,0x02DD,0x00AF,0x02DB,0x02DA,
+0x007E,0x0384,0x0385, 0, 0, 0, 0, 0,
+ 0, 0, 0,0x00A1,0x00A6,0x00BF};
+
+/* page 1 0x226B-0x2271 */
+static uint16 tab_jisx0212_uni1[]={
+0x00BA,0x00AA,0x00A9,0x00AE,0x2122,0x00A4,0x2116};
+
+/* page 2 0x2661-0x267C */
+static uint16 tab_jisx0212_uni2[]={
+0x0386,0x0388,0x0389,0x038A,0x03AA, 0,0x038C, 0,
+0x038E,0x03AB, 0,0x038F, 0, 0, 0, 0,
+0x03AC,0x03AD,0x03AE,0x03AF,0x03CA,0x0390,0x03CC,0x03C2,
+0x03CD,0x03CB,0x03B0,0x03CE};
+
+/* page 3 0x2742-0x274E */
+static uint16 tab_jisx0212_uni3[]={
+0x0402,0x0403,0x0404,0x0405,0x0406,0x0407,0x0408,0x0409,
+0x040A,0x040B,0x040C,0x040E,0x040F};
+
+/* page 4 0x2772-0x277E */
+static uint16 tab_jisx0212_uni4[]={
+0x0452,0x0453,0x0454,0x0455,0x0456,0x0457,0x0458,0x0459,
+0x045A,0x045B,0x045C,0x045E,0x045F};
+
+/* page 5 0x2921-0x2950 */
+static uint16 tab_jisx0212_uni5[]={
+0x00C6,0x0110, 0,0x0126, 0,0x0132, 0,0x0141,
+0x013F, 0,0x014A,0x00D8,0x0152, 0,0x0166,0x00DE,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x00E6,0x0111,0x00F0,0x0127,0x0131,0x0133,0x0138,0x0142,
+0x0140,0x0149,0x014B,0x00F8,0x0153,0x00DF,0x0167,0x00FE
+};
+
+/* page 6 0x2A21-0x2A77 */
+static uint16 tab_jisx0212_uni6[]={
+0x00C1,0x00C0,0x00C4,0x00C2,0x0102,0x01CD,0x0100,0x0104,
+0x00C5,0x00C3,0x0106,0x0108,0x010C,0x00C7,0x010A,0x010E,
+0x00C9,0x00C8,0x00CB,0x00CA,0x011A,0x0116,0x0112,0x0118,
+ 0,0x011C,0x011E,0x0122,0x0120,0x0124,0x00CD,0x00CC,
+0x00CF,0x00CE,0x01CF,0x0130,0x012A,0x012E,0x0128,0x0134,
+0x0136,0x0139,0x013D,0x013B,0x0143,0x0147,0x0145,0x00D1,
+0x00D3,0x00D2,0x00D6,0x00D4,0x01D1,0x0150,0x014C,0x00D5,
+0x0154,0x0158,0x0156,0x015A,0x015C,0x0160,0x015E,0x0164,
+0x0162,0x00DA,0x00D9,0x00DC,0x00DB,0x016C,0x01D3,0x0170,
+0x016A,0x0172,0x016E,0x0168,0x01D7,0x01DB,0x01D9,0x01D5,
+0x0174,0x00DD,0x0178,0x0176,0x0179,0x017D,0x017B};
+
+/* page 7 0x2B21-0x2B77 */
+static uint16 tab_jisx0212_uni7[]={
+0x00E1,0x00E0,0x00E4,0x00E2,0x0103,0x01CE,0x0101,0x0105,
+0x00E5,0x00E3,0x0107,0x0109,0x010D,0x00E7,0x010B,0x010F,
+0x00E9,0x00E8,0x00EB,0x00EA,0x011B,0x0117,0x0113,0x0119,
+0x01F5,0x011D,0x011F, 0,0x0121,0x0125,0x00ED,0x00EC,
+0x00EF,0x00EE,0x01D0, 0,0x012B,0x012F,0x0129,0x0135,
+0x0137,0x013A,0x013E,0x013C,0x0144,0x0148,0x0146,0x00F1,
+0x00F3,0x00F2,0x00F6,0x00F4,0x01D2,0x0151,0x014D,0x00F5,
+0x0155,0x0159,0x0157,0x015B,0x015D,0x0161,0x015F,0x0165,
+0x0163,0x00FA,0x00F9,0x00FC,0x00FB,0x016D,0x01D4,0x0171,
+0x016B,0x0173,0x016F,0x0169,0x01D8,0x01DC,0x01DA,0x01D6,
+0x0175,0x00FD,0x00FF,0x0177,0x017A,0x017E,0x017C};
+
+/* page 8 0x3021-0x307E */
+static uint16 tab_jisx0212_uni8[]={
+0x4E02,0x4E04,0x4E05,0x4E0C,0x4E12,0x4E1F,0x4E23,0x4E24,
+0x4E28,0x4E2B,0x4E2E,0x4E2F,0x4E30,0x4E35,0x4E40,0x4E41,
+0x4E44,0x4E47,0x4E51,0x4E5A,0x4E5C,0x4E63,0x4E68,0x4E69,
+0x4E74,0x4E75,0x4E79,0x4E7F,0x4E8D,0x4E96,0x4E97,0x4E9D,
+0x4EAF,0x4EB9,0x4EC3,0x4ED0,0x4EDA,0x4EDB,0x4EE0,0x4EE1,
+0x4EE2,0x4EE8,0x4EEF,0x4EF1,0x4EF3,0x4EF5,0x4EFD,0x4EFE,
+0x4EFF,0x4F00,0x4F02,0x4F03,0x4F08,0x4F0B,0x4F0C,0x4F12,
+0x4F15,0x4F16,0x4F17,0x4F19,0x4F2E,0x4F31,0x4F60,0x4F33,
+0x4F35,0x4F37,0x4F39,0x4F3B,0x4F3E,0x4F40,0x4F42,0x4F48,
+0x4F49,0x4F4B,0x4F4C,0x4F52,0x4F54,0x4F56,0x4F58,0x4F5F,
+0x4F63,0x4F6A,0x4F6C,0x4F6E,0x4F71,0x4F77,0x4F78,0x4F79,
+0x4F7A,0x4F7D,0x4F7E,0x4F81,0x4F82,0x4F84};
+
+/* page 9 0x3121-0x317E */
+static uint16 tab_jisx0212_uni9[]={
+0x4F85,0x4F89,0x4F8A,0x4F8C,0x4F8E,0x4F90,0x4F92,0x4F93,
+0x4F94,0x4F97,0x4F99,0x4F9A,0x4F9E,0x4F9F,0x4FB2,0x4FB7,
+0x4FB9,0x4FBB,0x4FBC,0x4FBD,0x4FBE,0x4FC0,0x4FC1,0x4FC5,
+0x4FC6,0x4FC8,0x4FC9,0x4FCB,0x4FCC,0x4FCD,0x4FCF,0x4FD2,
+0x4FDC,0x4FE0,0x4FE2,0x4FF0,0x4FF2,0x4FFC,0x4FFD,0x4FFF,
+0x5000,0x5001,0x5004,0x5007,0x500A,0x500C,0x500E,0x5010,
+0x5013,0x5017,0x5018,0x501B,0x501C,0x501D,0x501E,0x5022,
+0x5027,0x502E,0x5030,0x5032,0x5033,0x5035,0x5040,0x5041,
+0x5042,0x5045,0x5046,0x504A,0x504C,0x504E,0x5051,0x5052,
+0x5053,0x5057,0x5059,0x505F,0x5060,0x5062,0x5063,0x5066,
+0x5067,0x506A,0x506D,0x5070,0x5071,0x503B,0x5081,0x5083,
+0x5084,0x5086,0x508A,0x508E,0x508F,0x5090};
+
+/* page 10 0x3221-0x327E */
+static uint16 tab_jisx0212_uni10[]={
+0x5092,0x5093,0x5094,0x5096,0x509B,0x509C,0x509E,0x509F,
+0x50A0,0x50A1,0x50A2,0x50AA,0x50AF,0x50B0,0x50B9,0x50BA,
+0x50BD,0x50C0,0x50C3,0x50C4,0x50C7,0x50CC,0x50CE,0x50D0,
+0x50D3,0x50D4,0x50D8,0x50DC,0x50DD,0x50DF,0x50E2,0x50E4,
+0x50E6,0x50E8,0x50E9,0x50EF,0x50F1,0x50F6,0x50FA,0x50FE,
+0x5103,0x5106,0x5107,0x5108,0x510B,0x510C,0x510D,0x510E,
+0x50F2,0x5110,0x5117,0x5119,0x511B,0x511C,0x511D,0x511E,
+0x5123,0x5127,0x5128,0x512C,0x512D,0x512F,0x5131,0x5133,
+0x5134,0x5135,0x5138,0x5139,0x5142,0x514A,0x514F,0x5153,
+0x5155,0x5157,0x5158,0x515F,0x5164,0x5166,0x517E,0x5183,
+0x5184,0x518B,0x518E,0x5198,0x519D,0x51A1,0x51A3,0x51AD,
+0x51B8,0x51BA,0x51BC,0x51BE,0x51BF,0x51C2};
+
+/* page 11 0x3321-0x337E */
+static uint16 tab_jisx0212_uni11[]={
+0x51C8,0x51CF,0x51D1,0x51D2,0x51D3,0x51D5,0x51D8,0x51DE,
+0x51E2,0x51E5,0x51EE,0x51F2,0x51F3,0x51F4,0x51F7,0x5201,
+0x5202,0x5205,0x5212,0x5213,0x5215,0x5216,0x5218,0x5222,
+0x5228,0x5231,0x5232,0x5235,0x523C,0x5245,0x5249,0x5255,
+0x5257,0x5258,0x525A,0x525C,0x525F,0x5260,0x5261,0x5266,
+0x526E,0x5277,0x5278,0x5279,0x5280,0x5282,0x5285,0x528A,
+0x528C,0x5293,0x5295,0x5296,0x5297,0x5298,0x529A,0x529C,
+0x52A4,0x52A5,0x52A6,0x52A7,0x52AF,0x52B0,0x52B6,0x52B7,
+0x52B8,0x52BA,0x52BB,0x52BD,0x52C0,0x52C4,0x52C6,0x52C8,
+0x52CC,0x52CF,0x52D1,0x52D4,0x52D6,0x52DB,0x52DC,0x52E1,
+0x52E5,0x52E8,0x52E9,0x52EA,0x52EC,0x52F0,0x52F1,0x52F4,
+0x52F6,0x52F7,0x5300,0x5303,0x530A,0x530B};
+
+/* page 12 0x3421-0x347E */
+static uint16 tab_jisx0212_uni12[]={
+0x530C,0x5311,0x5313,0x5318,0x531B,0x531C,0x531E,0x531F,
+0x5325,0x5327,0x5328,0x5329,0x532B,0x532C,0x532D,0x5330,
+0x5332,0x5335,0x533C,0x533D,0x533E,0x5342,0x534C,0x534B,
+0x5359,0x535B,0x5361,0x5363,0x5365,0x536C,0x536D,0x5372,
+0x5379,0x537E,0x5383,0x5387,0x5388,0x538E,0x5393,0x5394,
+0x5399,0x539D,0x53A1,0x53A4,0x53AA,0x53AB,0x53AF,0x53B2,
+0x53B4,0x53B5,0x53B7,0x53B8,0x53BA,0x53BD,0x53C0,0x53C5,
+0x53CF,0x53D2,0x53D3,0x53D5,0x53DA,0x53DD,0x53DE,0x53E0,
+0x53E6,0x53E7,0x53F5,0x5402,0x5413,0x541A,0x5421,0x5427,
+0x5428,0x542A,0x542F,0x5431,0x5434,0x5435,0x5443,0x5444,
+0x5447,0x544D,0x544F,0x545E,0x5462,0x5464,0x5466,0x5467,
+0x5469,0x546B,0x546D,0x546E,0x5474,0x547F};
+
+/* page 13 0x3521-0x357E */
+static uint16 tab_jisx0212_uni13[]={
+0x5481,0x5483,0x5485,0x5488,0x5489,0x548D,0x5491,0x5495,
+0x5496,0x549C,0x549F,0x54A1,0x54A6,0x54A7,0x54A9,0x54AA,
+0x54AD,0x54AE,0x54B1,0x54B7,0x54B9,0x54BA,0x54BB,0x54BF,
+0x54C6,0x54CA,0x54CD,0x54CE,0x54E0,0x54EA,0x54EC,0x54EF,
+0x54F6,0x54FC,0x54FE,0x54FF,0x5500,0x5501,0x5505,0x5508,
+0x5509,0x550C,0x550D,0x550E,0x5515,0x552A,0x552B,0x5532,
+0x5535,0x5536,0x553B,0x553C,0x553D,0x5541,0x5547,0x5549,
+0x554A,0x554D,0x5550,0x5551,0x5558,0x555A,0x555B,0x555E,
+0x5560,0x5561,0x5564,0x5566,0x557F,0x5581,0x5582,0x5586,
+0x5588,0x558E,0x558F,0x5591,0x5592,0x5593,0x5594,0x5597,
+0x55A3,0x55A4,0x55AD,0x55B2,0x55BF,0x55C1,0x55C3,0x55C6,
+0x55C9,0x55CB,0x55CC,0x55CE,0x55D1,0x55D2};
+
+/* page 14 0x3621-0x367E */
+static uint16 tab_jisx0212_uni14[]={
+0x55D3,0x55D7,0x55D8,0x55DB,0x55DE,0x55E2,0x55E9,0x55F6,
+0x55FF,0x5605,0x5608,0x560A,0x560D,0x560E,0x560F,0x5610,
+0x5611,0x5612,0x5619,0x562C,0x5630,0x5633,0x5635,0x5637,
+0x5639,0x563B,0x563C,0x563D,0x563F,0x5640,0x5641,0x5643,
+0x5644,0x5646,0x5649,0x564B,0x564D,0x564F,0x5654,0x565E,
+0x5660,0x5661,0x5662,0x5663,0x5666,0x5669,0x566D,0x566F,
+0x5671,0x5672,0x5675,0x5684,0x5685,0x5688,0x568B,0x568C,
+0x5695,0x5699,0x569A,0x569D,0x569E,0x569F,0x56A6,0x56A7,
+0x56A8,0x56A9,0x56AB,0x56AC,0x56AD,0x56B1,0x56B3,0x56B7,
+0x56BE,0x56C5,0x56C9,0x56CA,0x56CB,0x56CF,0x56D0,0x56CC,
+0x56CD,0x56D9,0x56DC,0x56DD,0x56DF,0x56E1,0x56E4,0x56E5,
+0x56E6,0x56E7,0x56E8,0x56F1,0x56EB,0x56ED};
+
+/* page 15 0x3721-0x377E */
+static uint16 tab_jisx0212_uni15[]={
+0x56F6,0x56F7,0x5701,0x5702,0x5707,0x570A,0x570C,0x5711,
+0x5715,0x571A,0x571B,0x571D,0x5720,0x5722,0x5723,0x5724,
+0x5725,0x5729,0x572A,0x572C,0x572E,0x572F,0x5733,0x5734,
+0x573D,0x573E,0x573F,0x5745,0x5746,0x574C,0x574D,0x5752,
+0x5762,0x5765,0x5767,0x5768,0x576B,0x576D,0x576E,0x576F,
+0x5770,0x5771,0x5773,0x5774,0x5775,0x5777,0x5779,0x577A,
+0x577B,0x577C,0x577E,0x5781,0x5783,0x578C,0x5794,0x5797,
+0x5799,0x579A,0x579C,0x579D,0x579E,0x579F,0x57A1,0x5795,
+0x57A7,0x57A8,0x57A9,0x57AC,0x57B8,0x57BD,0x57C7,0x57C8,
+0x57CC,0x57CF,0x57D5,0x57DD,0x57DE,0x57E4,0x57E6,0x57E7,
+0x57E9,0x57ED,0x57F0,0x57F5,0x57F6,0x57F8,0x57FD,0x57FE,
+0x57FF,0x5803,0x5804,0x5808,0x5809,0x57E1};
+
+/* page 16 0x3821-0x387E */
+static uint16 tab_jisx0212_uni16[]={
+0x580C,0x580D,0x581B,0x581E,0x581F,0x5820,0x5826,0x5827,
+0x582D,0x5832,0x5839,0x583F,0x5849,0x584C,0x584D,0x584F,
+0x5850,0x5855,0x585F,0x5861,0x5864,0x5867,0x5868,0x5878,
+0x587C,0x587F,0x5880,0x5881,0x5887,0x5888,0x5889,0x588A,
+0x588C,0x588D,0x588F,0x5890,0x5894,0x5896,0x589D,0x58A0,
+0x58A1,0x58A2,0x58A6,0x58A9,0x58B1,0x58B2,0x58C4,0x58BC,
+0x58C2,0x58C8,0x58CD,0x58CE,0x58D0,0x58D2,0x58D4,0x58D6,
+0x58DA,0x58DD,0x58E1,0x58E2,0x58E9,0x58F3,0x5905,0x5906,
+0x590B,0x590C,0x5912,0x5913,0x5914,0x8641,0x591D,0x5921,
+0x5923,0x5924,0x5928,0x592F,0x5930,0x5933,0x5935,0x5936,
+0x593F,0x5943,0x5946,0x5952,0x5953,0x5959,0x595B,0x595D,
+0x595E,0x595F,0x5961,0x5963,0x596B,0x596D};
+
+/* page 17 0x3921-0x397E */
+static uint16 tab_jisx0212_uni17[]={
+0x596F,0x5972,0x5975,0x5976,0x5979,0x597B,0x597C,0x598B,
+0x598C,0x598E,0x5992,0x5995,0x5997,0x599F,0x59A4,0x59A7,
+0x59AD,0x59AE,0x59AF,0x59B0,0x59B3,0x59B7,0x59BA,0x59BC,
+0x59C1,0x59C3,0x59C4,0x59C8,0x59CA,0x59CD,0x59D2,0x59DD,
+0x59DE,0x59DF,0x59E3,0x59E4,0x59E7,0x59EE,0x59EF,0x59F1,
+0x59F2,0x59F4,0x59F7,0x5A00,0x5A04,0x5A0C,0x5A0D,0x5A0E,
+0x5A12,0x5A13,0x5A1E,0x5A23,0x5A24,0x5A27,0x5A28,0x5A2A,
+0x5A2D,0x5A30,0x5A44,0x5A45,0x5A47,0x5A48,0x5A4C,0x5A50,
+0x5A55,0x5A5E,0x5A63,0x5A65,0x5A67,0x5A6D,0x5A77,0x5A7A,
+0x5A7B,0x5A7E,0x5A8B,0x5A90,0x5A93,0x5A96,0x5A99,0x5A9C,
+0x5A9E,0x5A9F,0x5AA0,0x5AA2,0x5AA7,0x5AAC,0x5AB1,0x5AB2,
+0x5AB3,0x5AB5,0x5AB8,0x5ABA,0x5ABB,0x5ABF};
+
+/* page 18 0x3A21-0x3A7E */
+static uint16 tab_jisx0212_uni18[]={
+0x5AC4,0x5AC6,0x5AC8,0x5ACF,0x5ADA,0x5ADC,0x5AE0,0x5AE5,
+0x5AEA,0x5AEE,0x5AF5,0x5AF6,0x5AFD,0x5B00,0x5B01,0x5B08,
+0x5B17,0x5B34,0x5B19,0x5B1B,0x5B1D,0x5B21,0x5B25,0x5B2D,
+0x5B38,0x5B41,0x5B4B,0x5B4C,0x5B52,0x5B56,0x5B5E,0x5B68,
+0x5B6E,0x5B6F,0x5B7C,0x5B7D,0x5B7E,0x5B7F,0x5B81,0x5B84,
+0x5B86,0x5B8A,0x5B8E,0x5B90,0x5B91,0x5B93,0x5B94,0x5B96,
+0x5BA8,0x5BA9,0x5BAC,0x5BAD,0x5BAF,0x5BB1,0x5BB2,0x5BB7,
+0x5BBA,0x5BBC,0x5BC0,0x5BC1,0x5BCD,0x5BCF,0x5BD6,0x5BD7,
+0x5BD8,0x5BD9,0x5BDA,0x5BE0,0x5BEF,0x5BF1,0x5BF4,0x5BFD,
+0x5C0C,0x5C17,0x5C1E,0x5C1F,0x5C23,0x5C26,0x5C29,0x5C2B,
+0x5C2C,0x5C2E,0x5C30,0x5C32,0x5C35,0x5C36,0x5C59,0x5C5A,
+0x5C5C,0x5C62,0x5C63,0x5C67,0x5C68,0x5C69};
+
+/* page 19 0x3B21-0x3B7E */
+static uint16 tab_jisx0212_uni19[]={
+0x5C6D,0x5C70,0x5C74,0x5C75,0x5C7A,0x5C7B,0x5C7C,0x5C7D,
+0x5C87,0x5C88,0x5C8A,0x5C8F,0x5C92,0x5C9D,0x5C9F,0x5CA0,
+0x5CA2,0x5CA3,0x5CA6,0x5CAA,0x5CB2,0x5CB4,0x5CB5,0x5CBA,
+0x5CC9,0x5CCB,0x5CD2,0x5CDD,0x5CD7,0x5CEE,0x5CF1,0x5CF2,
+0x5CF4,0x5D01,0x5D06,0x5D0D,0x5D12,0x5D2B,0x5D23,0x5D24,
+0x5D26,0x5D27,0x5D31,0x5D34,0x5D39,0x5D3D,0x5D3F,0x5D42,
+0x5D43,0x5D46,0x5D48,0x5D55,0x5D51,0x5D59,0x5D4A,0x5D5F,
+0x5D60,0x5D61,0x5D62,0x5D64,0x5D6A,0x5D6D,0x5D70,0x5D79,
+0x5D7A,0x5D7E,0x5D7F,0x5D81,0x5D83,0x5D88,0x5D8A,0x5D92,
+0x5D93,0x5D94,0x5D95,0x5D99,0x5D9B,0x5D9F,0x5DA0,0x5DA7,
+0x5DAB,0x5DB0,0x5DB4,0x5DB8,0x5DB9,0x5DC3,0x5DC7,0x5DCB,
+0x5DD0,0x5DCE,0x5DD8,0x5DD9,0x5DE0,0x5DE4};
+
+/* page 20 0x3C21-0x3C7E */
+static uint16 tab_jisx0212_uni20[]={
+0x5DE9,0x5DF8,0x5DF9,0x5E00,0x5E07,0x5E0D,0x5E12,0x5E14,
+0x5E15,0x5E18,0x5E1F,0x5E20,0x5E2E,0x5E28,0x5E32,0x5E35,
+0x5E3E,0x5E4B,0x5E50,0x5E49,0x5E51,0x5E56,0x5E58,0x5E5B,
+0x5E5C,0x5E5E,0x5E68,0x5E6A,0x5E6B,0x5E6C,0x5E6D,0x5E6E,
+0x5E70,0x5E80,0x5E8B,0x5E8E,0x5EA2,0x5EA4,0x5EA5,0x5EA8,
+0x5EAA,0x5EAC,0x5EB1,0x5EB3,0x5EBD,0x5EBE,0x5EBF,0x5EC6,
+0x5ECC,0x5ECB,0x5ECE,0x5ED1,0x5ED2,0x5ED4,0x5ED5,0x5EDC,
+0x5EDE,0x5EE5,0x5EEB,0x5F02,0x5F06,0x5F07,0x5F08,0x5F0E,
+0x5F19,0x5F1C,0x5F1D,0x5F21,0x5F22,0x5F23,0x5F24,0x5F28,
+0x5F2B,0x5F2C,0x5F2E,0x5F30,0x5F34,0x5F36,0x5F3B,0x5F3D,
+0x5F3F,0x5F40,0x5F44,0x5F45,0x5F47,0x5F4D,0x5F50,0x5F54,
+0x5F58,0x5F5B,0x5F60,0x5F63,0x5F64,0x5F67};
+
+/* page 21 0x3D21-0x3D7E */
+static uint16 tab_jisx0212_uni21[]={
+0x5F6F,0x5F72,0x5F74,0x5F75,0x5F78,0x5F7A,0x5F7D,0x5F7E,
+0x5F89,0x5F8D,0x5F8F,0x5F96,0x5F9C,0x5F9D,0x5FA2,0x5FA7,
+0x5FAB,0x5FA4,0x5FAC,0x5FAF,0x5FB0,0x5FB1,0x5FB8,0x5FC4,
+0x5FC7,0x5FC8,0x5FC9,0x5FCB,0x5FD0,0x5FD1,0x5FD2,0x5FD3,
+0x5FD4,0x5FDE,0x5FE1,0x5FE2,0x5FE8,0x5FE9,0x5FEA,0x5FEC,
+0x5FED,0x5FEE,0x5FEF,0x5FF2,0x5FF3,0x5FF6,0x5FFA,0x5FFC,
+0x6007,0x600A,0x600D,0x6013,0x6014,0x6017,0x6018,0x601A,
+0x601F,0x6024,0x602D,0x6033,0x6035,0x6040,0x6047,0x6048,
+0x6049,0x604C,0x6051,0x6054,0x6056,0x6057,0x605D,0x6061,
+0x6067,0x6071,0x607E,0x607F,0x6082,0x6086,0x6088,0x608A,
+0x608E,0x6091,0x6093,0x6095,0x6098,0x609D,0x609E,0x60A2,
+0x60A4,0x60A5,0x60A8,0x60B0,0x60B1,0x60B7};
+
+/* page 22 0x3E21-0x3E7E */
+static uint16 tab_jisx0212_uni22[]={
+0x60BB,0x60BE,0x60C2,0x60C4,0x60C8,0x60C9,0x60CA,0x60CB,
+0x60CE,0x60CF,0x60D4,0x60D5,0x60D9,0x60DB,0x60DD,0x60DE,
+0x60E2,0x60E5,0x60F2,0x60F5,0x60F8,0x60FC,0x60FD,0x6102,
+0x6107,0x610A,0x610C,0x6110,0x6111,0x6112,0x6113,0x6114,
+0x6116,0x6117,0x6119,0x611C,0x611E,0x6122,0x612A,0x612B,
+0x6130,0x6131,0x6135,0x6136,0x6137,0x6139,0x6141,0x6145,
+0x6146,0x6149,0x615E,0x6160,0x616C,0x6172,0x6178,0x617B,
+0x617C,0x617F,0x6180,0x6181,0x6183,0x6184,0x618B,0x618D,
+0x6192,0x6193,0x6197,0x6198,0x619C,0x619D,0x619F,0x61A0,
+0x61A5,0x61A8,0x61AA,0x61AD,0x61B8,0x61B9,0x61BC,0x61C0,
+0x61C1,0x61C2,0x61CE,0x61CF,0x61D5,0x61DC,0x61DD,0x61DE,
+0x61DF,0x61E1,0x61E2,0x61E7,0x61E9,0x61E5};
+
+/* page 23 0x3F21-0x3F7E */
+static uint16 tab_jisx0212_uni23[]={
+0x61EC,0x61ED,0x61EF,0x6201,0x6203,0x6204,0x6207,0x6213,
+0x6215,0x621C,0x6220,0x6222,0x6223,0x6227,0x6229,0x622B,
+0x6239,0x623D,0x6242,0x6243,0x6244,0x6246,0x624C,0x6250,
+0x6251,0x6252,0x6254,0x6256,0x625A,0x625C,0x6264,0x626D,
+0x626F,0x6273,0x627A,0x627D,0x628D,0x628E,0x628F,0x6290,
+0x62A6,0x62A8,0x62B3,0x62B6,0x62B7,0x62BA,0x62BE,0x62BF,
+0x62C4,0x62CE,0x62D5,0x62D6,0x62DA,0x62EA,0x62F2,0x62F4,
+0x62FC,0x62FD,0x6303,0x6304,0x630A,0x630B,0x630D,0x6310,
+0x6313,0x6316,0x6318,0x6329,0x632A,0x632D,0x6335,0x6336,
+0x6339,0x633C,0x6341,0x6342,0x6343,0x6344,0x6346,0x634A,
+0x634B,0x634E,0x6352,0x6353,0x6354,0x6358,0x635B,0x6365,
+0x6366,0x636C,0x636D,0x6371,0x6374,0x6375};
+
+/* page 24 0x4021-0x407E */
+static uint16 tab_jisx0212_uni24[]={
+0x6378,0x637C,0x637D,0x637F,0x6382,0x6384,0x6387,0x638A,
+0x6390,0x6394,0x6395,0x6399,0x639A,0x639E,0x63A4,0x63A6,
+0x63AD,0x63AE,0x63AF,0x63BD,0x63C1,0x63C5,0x63C8,0x63CE,
+0x63D1,0x63D3,0x63D4,0x63D5,0x63DC,0x63E0,0x63E5,0x63EA,
+0x63EC,0x63F2,0x63F3,0x63F5,0x63F8,0x63F9,0x6409,0x640A,
+0x6410,0x6412,0x6414,0x6418,0x641E,0x6420,0x6422,0x6424,
+0x6425,0x6429,0x642A,0x642F,0x6430,0x6435,0x643D,0x643F,
+0x644B,0x644F,0x6451,0x6452,0x6453,0x6454,0x645A,0x645B,
+0x645C,0x645D,0x645F,0x6460,0x6461,0x6463,0x646D,0x6473,
+0x6474,0x647B,0x647D,0x6485,0x6487,0x648F,0x6490,0x6491,
+0x6498,0x6499,0x649B,0x649D,0x649F,0x64A1,0x64A3,0x64A6,
+0x64A8,0x64AC,0x64B3,0x64BD,0x64BE,0x64BF};
+
+/* page 25 0x4121-0x417E */
+static uint16 tab_jisx0212_uni25[]={
+0x64C4,0x64C9,0x64CA,0x64CB,0x64CC,0x64CE,0x64D0,0x64D1,
+0x64D5,0x64D7,0x64E4,0x64E5,0x64E9,0x64EA,0x64ED,0x64F0,
+0x64F5,0x64F7,0x64FB,0x64FF,0x6501,0x6504,0x6508,0x6509,
+0x650A,0x650F,0x6513,0x6514,0x6516,0x6519,0x651B,0x651E,
+0x651F,0x6522,0x6526,0x6529,0x652E,0x6531,0x653A,0x653C,
+0x653D,0x6543,0x6547,0x6549,0x6550,0x6552,0x6554,0x655F,
+0x6560,0x6567,0x656B,0x657A,0x657D,0x6581,0x6585,0x658A,
+0x6592,0x6595,0x6598,0x659D,0x65A0,0x65A3,0x65A6,0x65AE,
+0x65B2,0x65B3,0x65B4,0x65BF,0x65C2,0x65C8,0x65C9,0x65CE,
+0x65D0,0x65D4,0x65D6,0x65D8,0x65DF,0x65F0,0x65F2,0x65F4,
+0x65F5,0x65F9,0x65FE,0x65FF,0x6600,0x6604,0x6608,0x6609,
+0x660D,0x6611,0x6612,0x6615,0x6616,0x661D};
+
+/* page 26 0x4221-0x427E */
+static uint16 tab_jisx0212_uni26[]={
+0x661E,0x6621,0x6622,0x6623,0x6624,0x6626,0x6629,0x662A,
+0x662B,0x662C,0x662E,0x6630,0x6631,0x6633,0x6639,0x6637,
+0x6640,0x6645,0x6646,0x664A,0x664C,0x6651,0x664E,0x6657,
+0x6658,0x6659,0x665B,0x665C,0x6660,0x6661,0x66FB,0x666A,
+0x666B,0x666C,0x667E,0x6673,0x6675,0x667F,0x6677,0x6678,
+0x6679,0x667B,0x6680,0x667C,0x668B,0x668C,0x668D,0x6690,
+0x6692,0x6699,0x669A,0x669B,0x669C,0x669F,0x66A0,0x66A4,
+0x66AD,0x66B1,0x66B2,0x66B5,0x66BB,0x66BF,0x66C0,0x66C2,
+0x66C3,0x66C8,0x66CC,0x66CE,0x66CF,0x66D4,0x66DB,0x66DF,
+0x66E8,0x66EB,0x66EC,0x66EE,0x66FA,0x6705,0x6707,0x670E,
+0x6713,0x6719,0x671C,0x6720,0x6722,0x6733,0x673E,0x6745,
+0x6747,0x6748,0x674C,0x6754,0x6755,0x675D};
+
+/* page 27 0x4321-0x437E */
+static uint16 tab_jisx0212_uni27[]={
+0x6766,0x676C,0x676E,0x6774,0x6776,0x677B,0x6781,0x6784,
+0x678E,0x678F,0x6791,0x6793,0x6796,0x6798,0x6799,0x679B,
+0x67B0,0x67B1,0x67B2,0x67B5,0x67BB,0x67BC,0x67BD,0x67F9,
+0x67C0,0x67C2,0x67C3,0x67C5,0x67C8,0x67C9,0x67D2,0x67D7,
+0x67D9,0x67DC,0x67E1,0x67E6,0x67F0,0x67F2,0x67F6,0x67F7,
+0x6852,0x6814,0x6819,0x681D,0x681F,0x6828,0x6827,0x682C,
+0x682D,0x682F,0x6830,0x6831,0x6833,0x683B,0x683F,0x6844,
+0x6845,0x684A,0x684C,0x6855,0x6857,0x6858,0x685B,0x686B,
+0x686E,0x686F,0x6870,0x6871,0x6872,0x6875,0x6879,0x687A,
+0x687B,0x687C,0x6882,0x6884,0x6886,0x6888,0x6896,0x6898,
+0x689A,0x689C,0x68A1,0x68A3,0x68A5,0x68A9,0x68AA,0x68AE,
+0x68B2,0x68BB,0x68C5,0x68C8,0x68CC,0x68CF};
+
+/* page 28 0x4421-0x447E */
+static uint16 tab_jisx0212_uni28[]={
+0x68D0,0x68D1,0x68D3,0x68D6,0x68D9,0x68DC,0x68DD,0x68E5,
+0x68E8,0x68EA,0x68EB,0x68EC,0x68ED,0x68F0,0x68F1,0x68F5,
+0x68F6,0x68FB,0x68FC,0x68FD,0x6906,0x6909,0x690A,0x6910,
+0x6911,0x6913,0x6916,0x6917,0x6931,0x6933,0x6935,0x6938,
+0x693B,0x6942,0x6945,0x6949,0x694E,0x6957,0x695B,0x6963,
+0x6964,0x6965,0x6966,0x6968,0x6969,0x696C,0x6970,0x6971,
+0x6972,0x697A,0x697B,0x697F,0x6980,0x698D,0x6992,0x6996,
+0x6998,0x69A1,0x69A5,0x69A6,0x69A8,0x69AB,0x69AD,0x69AF,
+0x69B7,0x69B8,0x69BA,0x69BC,0x69C5,0x69C8,0x69D1,0x69D6,
+0x69D7,0x69E2,0x69E5,0x69EE,0x69EF,0x69F1,0x69F3,0x69F5,
+0x69FE,0x6A00,0x6A01,0x6A03,0x6A0F,0x6A11,0x6A15,0x6A1A,
+0x6A1D,0x6A20,0x6A24,0x6A28,0x6A30,0x6A32};
+
+/* page 29 0x4521-0x457E */
+static uint16 tab_jisx0212_uni29[]={
+0x6A34,0x6A37,0x6A3B,0x6A3E,0x6A3F,0x6A45,0x6A46,0x6A49,
+0x6A4A,0x6A4E,0x6A50,0x6A51,0x6A52,0x6A55,0x6A56,0x6A5B,
+0x6A64,0x6A67,0x6A6A,0x6A71,0x6A73,0x6A7E,0x6A81,0x6A83,
+0x6A86,0x6A87,0x6A89,0x6A8B,0x6A91,0x6A9B,0x6A9D,0x6A9E,
+0x6A9F,0x6AA5,0x6AAB,0x6AAF,0x6AB0,0x6AB1,0x6AB4,0x6ABD,
+0x6ABE,0x6ABF,0x6AC6,0x6AC9,0x6AC8,0x6ACC,0x6AD0,0x6AD4,
+0x6AD5,0x6AD6,0x6ADC,0x6ADD,0x6AE4,0x6AE7,0x6AEC,0x6AF0,
+0x6AF1,0x6AF2,0x6AFC,0x6AFD,0x6B02,0x6B03,0x6B06,0x6B07,
+0x6B09,0x6B0F,0x6B10,0x6B11,0x6B17,0x6B1B,0x6B1E,0x6B24,
+0x6B28,0x6B2B,0x6B2C,0x6B2F,0x6B35,0x6B36,0x6B3B,0x6B3F,
+0x6B46,0x6B4A,0x6B4D,0x6B52,0x6B56,0x6B58,0x6B5D,0x6B60,
+0x6B67,0x6B6B,0x6B6E,0x6B70,0x6B75,0x6B7D};
+
+/* page 30 0x4621-0x467E */
+static uint16 tab_jisx0212_uni30[]={
+0x6B7E,0x6B82,0x6B85,0x6B97,0x6B9B,0x6B9F,0x6BA0,0x6BA2,
+0x6BA3,0x6BA8,0x6BA9,0x6BAC,0x6BAD,0x6BAE,0x6BB0,0x6BB8,
+0x6BB9,0x6BBD,0x6BBE,0x6BC3,0x6BC4,0x6BC9,0x6BCC,0x6BD6,
+0x6BDA,0x6BE1,0x6BE3,0x6BE6,0x6BE7,0x6BEE,0x6BF1,0x6BF7,
+0x6BF9,0x6BFF,0x6C02,0x6C04,0x6C05,0x6C09,0x6C0D,0x6C0E,
+0x6C10,0x6C12,0x6C19,0x6C1F,0x6C26,0x6C27,0x6C28,0x6C2C,
+0x6C2E,0x6C33,0x6C35,0x6C36,0x6C3A,0x6C3B,0x6C3F,0x6C4A,
+0x6C4B,0x6C4D,0x6C4F,0x6C52,0x6C54,0x6C59,0x6C5B,0x6C5C,
+0x6C6B,0x6C6D,0x6C6F,0x6C74,0x6C76,0x6C78,0x6C79,0x6C7B,
+0x6C85,0x6C86,0x6C87,0x6C89,0x6C94,0x6C95,0x6C97,0x6C98,
+0x6C9C,0x6C9F,0x6CB0,0x6CB2,0x6CB4,0x6CC2,0x6CC6,0x6CCD,
+0x6CCF,0x6CD0,0x6CD1,0x6CD2,0x6CD4,0x6CD6};
+
+/* page 31 0x4721-0x477E */
+static uint16 tab_jisx0212_uni31[]={
+0x6CDA,0x6CDC,0x6CE0,0x6CE7,0x6CE9,0x6CEB,0x6CEC,0x6CEE,
+0x6CF2,0x6CF4,0x6D04,0x6D07,0x6D0A,0x6D0E,0x6D0F,0x6D11,
+0x6D13,0x6D1A,0x6D26,0x6D27,0x6D28,0x6C67,0x6D2E,0x6D2F,
+0x6D31,0x6D39,0x6D3C,0x6D3F,0x6D57,0x6D5E,0x6D5F,0x6D61,
+0x6D65,0x6D67,0x6D6F,0x6D70,0x6D7C,0x6D82,0x6D87,0x6D91,
+0x6D92,0x6D94,0x6D96,0x6D97,0x6D98,0x6DAA,0x6DAC,0x6DB4,
+0x6DB7,0x6DB9,0x6DBD,0x6DBF,0x6DC4,0x6DC8,0x6DCA,0x6DCE,
+0x6DCF,0x6DD6,0x6DDB,0x6DDD,0x6DDF,0x6DE0,0x6DE2,0x6DE5,
+0x6DE9,0x6DEF,0x6DF0,0x6DF4,0x6DF6,0x6DFC,0x6E00,0x6E04,
+0x6E1E,0x6E22,0x6E27,0x6E32,0x6E36,0x6E39,0x6E3B,0x6E3C,
+0x6E44,0x6E45,0x6E48,0x6E49,0x6E4B,0x6E4F,0x6E51,0x6E52,
+0x6E53,0x6E54,0x6E57,0x6E5C,0x6E5D,0x6E5E};
+
+/* page 32 0x4821-0x487E */
+static uint16 tab_jisx0212_uni32[]={
+0x6E62,0x6E63,0x6E68,0x6E73,0x6E7B,0x6E7D,0x6E8D,0x6E93,
+0x6E99,0x6EA0,0x6EA7,0x6EAD,0x6EAE,0x6EB1,0x6EB3,0x6EBB,
+0x6EBF,0x6EC0,0x6EC1,0x6EC3,0x6EC7,0x6EC8,0x6ECA,0x6ECD,
+0x6ECE,0x6ECF,0x6EEB,0x6EED,0x6EEE,0x6EF9,0x6EFB,0x6EFD,
+0x6F04,0x6F08,0x6F0A,0x6F0C,0x6F0D,0x6F16,0x6F18,0x6F1A,
+0x6F1B,0x6F26,0x6F29,0x6F2A,0x6F2F,0x6F30,0x6F33,0x6F36,
+0x6F3B,0x6F3C,0x6F2D,0x6F4F,0x6F51,0x6F52,0x6F53,0x6F57,
+0x6F59,0x6F5A,0x6F5D,0x6F5E,0x6F61,0x6F62,0x6F68,0x6F6C,
+0x6F7D,0x6F7E,0x6F83,0x6F87,0x6F88,0x6F8B,0x6F8C,0x6F8D,
+0x6F90,0x6F92,0x6F93,0x6F94,0x6F96,0x6F9A,0x6F9F,0x6FA0,
+0x6FA5,0x6FA6,0x6FA7,0x6FA8,0x6FAE,0x6FAF,0x6FB0,0x6FB5,
+0x6FB6,0x6FBC,0x6FC5,0x6FC7,0x6FC8,0x6FCA};
+
+/* page 33 0x4921-0x497E */
+static uint16 tab_jisx0212_uni33[]={
+0x6FDA,0x6FDE,0x6FE8,0x6FE9,0x6FF0,0x6FF5,0x6FF9,0x6FFC,
+0x6FFD,0x7000,0x7005,0x7006,0x7007,0x700D,0x7017,0x7020,
+0x7023,0x702F,0x7034,0x7037,0x7039,0x703C,0x7043,0x7044,
+0x7048,0x7049,0x704A,0x704B,0x7054,0x7055,0x705D,0x705E,
+0x704E,0x7064,0x7065,0x706C,0x706E,0x7075,0x7076,0x707E,
+0x7081,0x7085,0x7086,0x7094,0x7095,0x7096,0x7097,0x7098,
+0x709B,0x70A4,0x70AB,0x70B0,0x70B1,0x70B4,0x70B7,0x70CA,
+0x70D1,0x70D3,0x70D4,0x70D5,0x70D6,0x70D8,0x70DC,0x70E4,
+0x70FA,0x7103,0x7104,0x7105,0x7106,0x7107,0x710B,0x710C,
+0x710F,0x711E,0x7120,0x712B,0x712D,0x712F,0x7130,0x7131,
+0x7138,0x7141,0x7145,0x7146,0x7147,0x714A,0x714B,0x7150,
+0x7152,0x7157,0x715A,0x715C,0x715E,0x7160};
+
+/* page 34 0x4A21-0x4A7E */
+static uint16 tab_jisx0212_uni34[]={
+0x7168,0x7179,0x7180,0x7185,0x7187,0x718C,0x7192,0x719A,
+0x719B,0x71A0,0x71A2,0x71AF,0x71B0,0x71B2,0x71B3,0x71BA,
+0x71BF,0x71C0,0x71C1,0x71C4,0x71CB,0x71CC,0x71D3,0x71D6,
+0x71D9,0x71DA,0x71DC,0x71F8,0x71FE,0x7200,0x7207,0x7208,
+0x7209,0x7213,0x7217,0x721A,0x721D,0x721F,0x7224,0x722B,
+0x722F,0x7234,0x7238,0x7239,0x7241,0x7242,0x7243,0x7245,
+0x724E,0x724F,0x7250,0x7253,0x7255,0x7256,0x725A,0x725C,
+0x725E,0x7260,0x7263,0x7268,0x726B,0x726E,0x726F,0x7271,
+0x7277,0x7278,0x727B,0x727C,0x727F,0x7284,0x7289,0x728D,
+0x728E,0x7293,0x729B,0x72A8,0x72AD,0x72AE,0x72B1,0x72B4,
+0x72BE,0x72C1,0x72C7,0x72C9,0x72CC,0x72D5,0x72D6,0x72D8,
+0x72DF,0x72E5,0x72F3,0x72F4,0x72FA,0x72FB};
+
+/* page 35 0x4B21-0x4B7E */
+static uint16 tab_jisx0212_uni35[]={
+0x72FE,0x7302,0x7304,0x7305,0x7307,0x730B,0x730D,0x7312,
+0x7313,0x7318,0x7319,0x731E,0x7322,0x7324,0x7327,0x7328,
+0x732C,0x7331,0x7332,0x7335,0x733A,0x733B,0x733D,0x7343,
+0x734D,0x7350,0x7352,0x7356,0x7358,0x735D,0x735E,0x735F,
+0x7360,0x7366,0x7367,0x7369,0x736B,0x736C,0x736E,0x736F,
+0x7371,0x7377,0x7379,0x737C,0x7380,0x7381,0x7383,0x7385,
+0x7386,0x738E,0x7390,0x7393,0x7395,0x7397,0x7398,0x739C,
+0x739E,0x739F,0x73A0,0x73A2,0x73A5,0x73A6,0x73AA,0x73AB,
+0x73AD,0x73B5,0x73B7,0x73B9,0x73BC,0x73BD,0x73BF,0x73C5,
+0x73C6,0x73C9,0x73CB,0x73CC,0x73CF,0x73D2,0x73D3,0x73D6,
+0x73D9,0x73DD,0x73E1,0x73E3,0x73E6,0x73E7,0x73E9,0x73F4,
+0x73F5,0x73F7,0x73F9,0x73FA,0x73FB,0x73FD};
+
+/* page 36 0x4C21-0x4C7E */
+static uint16 tab_jisx0212_uni36[]={
+0x73FF,0x7400,0x7401,0x7404,0x7407,0x740A,0x7411,0x741A,
+0x741B,0x7424,0x7426,0x7428,0x7429,0x742A,0x742B,0x742C,
+0x742D,0x742E,0x742F,0x7430,0x7431,0x7439,0x7440,0x7443,
+0x7444,0x7446,0x7447,0x744B,0x744D,0x7451,0x7452,0x7457,
+0x745D,0x7462,0x7466,0x7467,0x7468,0x746B,0x746D,0x746E,
+0x7471,0x7472,0x7480,0x7481,0x7485,0x7486,0x7487,0x7489,
+0x748F,0x7490,0x7491,0x7492,0x7498,0x7499,0x749A,0x749C,
+0x749F,0x74A0,0x74A1,0x74A3,0x74A6,0x74A8,0x74A9,0x74AA,
+0x74AB,0x74AE,0x74AF,0x74B1,0x74B2,0x74B5,0x74B9,0x74BB,
+0x74BF,0x74C8,0x74C9,0x74CC,0x74D0,0x74D3,0x74D8,0x74DA,
+0x74DB,0x74DE,0x74DF,0x74E4,0x74E8,0x74EA,0x74EB,0x74EF,
+0x74F4,0x74FA,0x74FB,0x74FC,0x74FF,0x7506};
+
+/* page 37 0x4D21-0x4D7E */
+static uint16 tab_jisx0212_uni37[]={
+0x7512,0x7516,0x7517,0x7520,0x7521,0x7524,0x7527,0x7529,
+0x752A,0x752F,0x7536,0x7539,0x753D,0x753E,0x753F,0x7540,
+0x7543,0x7547,0x7548,0x754E,0x7550,0x7552,0x7557,0x755E,
+0x755F,0x7561,0x756F,0x7571,0x7579,0x757A,0x757B,0x757C,
+0x757D,0x757E,0x7581,0x7585,0x7590,0x7592,0x7593,0x7595,
+0x7599,0x759C,0x75A2,0x75A4,0x75B4,0x75BA,0x75BF,0x75C0,
+0x75C1,0x75C4,0x75C6,0x75CC,0x75CE,0x75CF,0x75D7,0x75DC,
+0x75DF,0x75E0,0x75E1,0x75E4,0x75E7,0x75EC,0x75EE,0x75EF,
+0x75F1,0x75F9,0x7600,0x7602,0x7603,0x7604,0x7607,0x7608,
+0x760A,0x760C,0x760F,0x7612,0x7613,0x7615,0x7616,0x7619,
+0x761B,0x761C,0x761D,0x761E,0x7623,0x7625,0x7626,0x7629,
+0x762D,0x7632,0x7633,0x7635,0x7638,0x7639};
+
+/* page 38 0x4E21-0x4E7E */
+static uint16 tab_jisx0212_uni38[]={
+0x763A,0x763C,0x764A,0x7640,0x7641,0x7643,0x7644,0x7645,
+0x7649,0x764B,0x7655,0x7659,0x765F,0x7664,0x7665,0x766D,
+0x766E,0x766F,0x7671,0x7674,0x7681,0x7685,0x768C,0x768D,
+0x7695,0x769B,0x769C,0x769D,0x769F,0x76A0,0x76A2,0x76A3,
+0x76A4,0x76A5,0x76A6,0x76A7,0x76A8,0x76AA,0x76AD,0x76BD,
+0x76C1,0x76C5,0x76C9,0x76CB,0x76CC,0x76CE,0x76D4,0x76D9,
+0x76E0,0x76E6,0x76E8,0x76EC,0x76F0,0x76F1,0x76F6,0x76F9,
+0x76FC,0x7700,0x7706,0x770A,0x770E,0x7712,0x7714,0x7715,
+0x7717,0x7719,0x771A,0x771C,0x7722,0x7728,0x772D,0x772E,
+0x772F,0x7734,0x7735,0x7736,0x7739,0x773D,0x773E,0x7742,
+0x7745,0x7746,0x774A,0x774D,0x774E,0x774F,0x7752,0x7756,
+0x7757,0x775C,0x775E,0x775F,0x7760,0x7762};
+
+/* page 39 0x4F21-0x4F7E */
+static uint16 tab_jisx0212_uni39[]={
+0x7764,0x7767,0x776A,0x776C,0x7770,0x7772,0x7773,0x7774,
+0x777A,0x777D,0x7780,0x7784,0x778C,0x778D,0x7794,0x7795,
+0x7796,0x779A,0x779F,0x77A2,0x77A7,0x77AA,0x77AE,0x77AF,
+0x77B1,0x77B5,0x77BE,0x77C3,0x77C9,0x77D1,0x77D2,0x77D5,
+0x77D9,0x77DE,0x77DF,0x77E0,0x77E4,0x77E6,0x77EA,0x77EC,
+0x77F0,0x77F1,0x77F4,0x77F8,0x77FB,0x7805,0x7806,0x7809,
+0x780D,0x780E,0x7811,0x781D,0x7821,0x7822,0x7823,0x782D,
+0x782E,0x7830,0x7835,0x7837,0x7843,0x7844,0x7847,0x7848,
+0x784C,0x784E,0x7852,0x785C,0x785E,0x7860,0x7861,0x7863,
+0x7864,0x7868,0x786A,0x786E,0x787A,0x787E,0x788A,0x788F,
+0x7894,0x7898,0x78A1,0x789D,0x789E,0x789F,0x78A4,0x78A8,
+0x78AC,0x78AD,0x78B0,0x78B1,0x78B2,0x78B3};
+
+/* page 40 0x5021-0x507E */
+static uint16 tab_jisx0212_uni40[]={
+0x78BB,0x78BD,0x78BF,0x78C7,0x78C8,0x78C9,0x78CC,0x78CE,
+0x78D2,0x78D3,0x78D5,0x78D6,0x78E4,0x78DB,0x78DF,0x78E0,
+0x78E1,0x78E6,0x78EA,0x78F2,0x78F3,0x7900,0x78F6,0x78F7,
+0x78FA,0x78FB,0x78FF,0x7906,0x790C,0x7910,0x791A,0x791C,
+0x791E,0x791F,0x7920,0x7925,0x7927,0x7929,0x792D,0x7931,
+0x7934,0x7935,0x793B,0x793D,0x793F,0x7944,0x7945,0x7946,
+0x794A,0x794B,0x794F,0x7951,0x7954,0x7958,0x795B,0x795C,
+0x7967,0x7969,0x796B,0x7972,0x7979,0x797B,0x797C,0x797E,
+0x798B,0x798C,0x7991,0x7993,0x7994,0x7995,0x7996,0x7998,
+0x799B,0x799C,0x79A1,0x79A8,0x79A9,0x79AB,0x79AF,0x79B1,
+0x79B4,0x79B8,0x79BB,0x79C2,0x79C4,0x79C7,0x79C8,0x79CA,
+0x79CF,0x79D4,0x79D6,0x79DA,0x79DD,0x79DE};
+
+/* page 41 0x5121-0x517E */
+static uint16 tab_jisx0212_uni41[]={
+0x79E0,0x79E2,0x79E5,0x79EA,0x79EB,0x79ED,0x79F1,0x79F8,
+0x79FC,0x7A02,0x7A03,0x7A07,0x7A09,0x7A0A,0x7A0C,0x7A11,
+0x7A15,0x7A1B,0x7A1E,0x7A21,0x7A27,0x7A2B,0x7A2D,0x7A2F,
+0x7A30,0x7A34,0x7A35,0x7A38,0x7A39,0x7A3A,0x7A44,0x7A45,
+0x7A47,0x7A48,0x7A4C,0x7A55,0x7A56,0x7A59,0x7A5C,0x7A5D,
+0x7A5F,0x7A60,0x7A65,0x7A67,0x7A6A,0x7A6D,0x7A75,0x7A78,
+0x7A7E,0x7A80,0x7A82,0x7A85,0x7A86,0x7A8A,0x7A8B,0x7A90,
+0x7A91,0x7A94,0x7A9E,0x7AA0,0x7AA3,0x7AAC,0x7AB3,0x7AB5,
+0x7AB9,0x7ABB,0x7ABC,0x7AC6,0x7AC9,0x7ACC,0x7ACE,0x7AD1,
+0x7ADB,0x7AE8,0x7AE9,0x7AEB,0x7AEC,0x7AF1,0x7AF4,0x7AFB,
+0x7AFD,0x7AFE,0x7B07,0x7B14,0x7B1F,0x7B23,0x7B27,0x7B29,
+0x7B2A,0x7B2B,0x7B2D,0x7B2E,0x7B2F,0x7B30};
+
+/* page 42 0x5221-0x527E */
+static uint16 tab_jisx0212_uni42[]={
+0x7B31,0x7B34,0x7B3D,0x7B3F,0x7B40,0x7B41,0x7B47,0x7B4E,
+0x7B55,0x7B60,0x7B64,0x7B66,0x7B69,0x7B6A,0x7B6D,0x7B6F,
+0x7B72,0x7B73,0x7B77,0x7B84,0x7B89,0x7B8E,0x7B90,0x7B91,
+0x7B96,0x7B9B,0x7B9E,0x7BA0,0x7BA5,0x7BAC,0x7BAF,0x7BB0,
+0x7BB2,0x7BB5,0x7BB6,0x7BBA,0x7BBB,0x7BBC,0x7BBD,0x7BC2,
+0x7BC5,0x7BC8,0x7BCA,0x7BD4,0x7BD6,0x7BD7,0x7BD9,0x7BDA,
+0x7BDB,0x7BE8,0x7BEA,0x7BF2,0x7BF4,0x7BF5,0x7BF8,0x7BF9,
+0x7BFA,0x7BFC,0x7BFE,0x7C01,0x7C02,0x7C03,0x7C04,0x7C06,
+0x7C09,0x7C0B,0x7C0C,0x7C0E,0x7C0F,0x7C19,0x7C1B,0x7C20,
+0x7C25,0x7C26,0x7C28,0x7C2C,0x7C31,0x7C33,0x7C34,0x7C36,
+0x7C39,0x7C3A,0x7C46,0x7C4A,0x7C55,0x7C51,0x7C52,0x7C53,
+0x7C59,0x7C5A,0x7C5B,0x7C5C,0x7C5D,0x7C5E};
+
+/* page 43 0x5321-0x537E */
+static uint16 tab_jisx0212_uni43[]={
+0x7C61,0x7C63,0x7C67,0x7C69,0x7C6D,0x7C6E,0x7C70,0x7C72,
+0x7C79,0x7C7C,0x7C7D,0x7C86,0x7C87,0x7C8F,0x7C94,0x7C9E,
+0x7CA0,0x7CA6,0x7CB0,0x7CB6,0x7CB7,0x7CBA,0x7CBB,0x7CBC,
+0x7CBF,0x7CC4,0x7CC7,0x7CC8,0x7CC9,0x7CCD,0x7CCF,0x7CD3,
+0x7CD4,0x7CD5,0x7CD7,0x7CD9,0x7CDA,0x7CDD,0x7CE6,0x7CE9,
+0x7CEB,0x7CF5,0x7D03,0x7D07,0x7D08,0x7D09,0x7D0F,0x7D11,
+0x7D12,0x7D13,0x7D16,0x7D1D,0x7D1E,0x7D23,0x7D26,0x7D2A,
+0x7D2D,0x7D31,0x7D3C,0x7D3D,0x7D3E,0x7D40,0x7D41,0x7D47,
+0x7D48,0x7D4D,0x7D51,0x7D53,0x7D57,0x7D59,0x7D5A,0x7D5C,
+0x7D5D,0x7D65,0x7D67,0x7D6A,0x7D70,0x7D78,0x7D7A,0x7D7B,
+0x7D7F,0x7D81,0x7D82,0x7D83,0x7D85,0x7D86,0x7D88,0x7D8B,
+0x7D8C,0x7D8D,0x7D91,0x7D96,0x7D97,0x7D9D};
+
+/* page 44 0x5421-0x547E */
+static uint16 tab_jisx0212_uni44[]={
+0x7D9E,0x7DA6,0x7DA7,0x7DAA,0x7DB3,0x7DB6,0x7DB7,0x7DB9,
+0x7DC2,0x7DC3,0x7DC4,0x7DC5,0x7DC6,0x7DCC,0x7DCD,0x7DCE,
+0x7DD7,0x7DD9,0x7E00,0x7DE2,0x7DE5,0x7DE6,0x7DEA,0x7DEB,
+0x7DED,0x7DF1,0x7DF5,0x7DF6,0x7DF9,0x7DFA,0x7E08,0x7E10,
+0x7E11,0x7E15,0x7E17,0x7E1C,0x7E1D,0x7E20,0x7E27,0x7E28,
+0x7E2C,0x7E2D,0x7E2F,0x7E33,0x7E36,0x7E3F,0x7E44,0x7E45,
+0x7E47,0x7E4E,0x7E50,0x7E52,0x7E58,0x7E5F,0x7E61,0x7E62,
+0x7E65,0x7E6B,0x7E6E,0x7E6F,0x7E73,0x7E78,0x7E7E,0x7E81,
+0x7E86,0x7E87,0x7E8A,0x7E8D,0x7E91,0x7E95,0x7E98,0x7E9A,
+0x7E9D,0x7E9E,0x7F3C,0x7F3B,0x7F3D,0x7F3E,0x7F3F,0x7F43,
+0x7F44,0x7F47,0x7F4F,0x7F52,0x7F53,0x7F5B,0x7F5C,0x7F5D,
+0x7F61,0x7F63,0x7F64,0x7F65,0x7F66,0x7F6D};
+
+/* page 45 0x5521-0x557E */
+static uint16 tab_jisx0212_uni45[]={
+0x7F71,0x7F7D,0x7F7E,0x7F7F,0x7F80,0x7F8B,0x7F8D,0x7F8F,
+0x7F90,0x7F91,0x7F96,0x7F97,0x7F9C,0x7FA1,0x7FA2,0x7FA6,
+0x7FAA,0x7FAD,0x7FB4,0x7FBC,0x7FBF,0x7FC0,0x7FC3,0x7FC8,
+0x7FCE,0x7FCF,0x7FDB,0x7FDF,0x7FE3,0x7FE5,0x7FE8,0x7FEC,
+0x7FEE,0x7FEF,0x7FF2,0x7FFA,0x7FFD,0x7FFE,0x7FFF,0x8007,
+0x8008,0x800A,0x800D,0x800E,0x800F,0x8011,0x8013,0x8014,
+0x8016,0x801D,0x801E,0x801F,0x8020,0x8024,0x8026,0x802C,
+0x802E,0x8030,0x8034,0x8035,0x8037,0x8039,0x803A,0x803C,
+0x803E,0x8040,0x8044,0x8060,0x8064,0x8066,0x806D,0x8071,
+0x8075,0x8081,0x8088,0x808E,0x809C,0x809E,0x80A6,0x80A7,
+0x80AB,0x80B8,0x80B9,0x80C8,0x80CD,0x80CF,0x80D2,0x80D4,
+0x80D5,0x80D7,0x80D8,0x80E0,0x80ED,0x80EE};
+
+/* page 46 0x5621-0x567E */
+static uint16 tab_jisx0212_uni46[]={
+0x80F0,0x80F2,0x80F3,0x80F6,0x80F9,0x80FA,0x80FE,0x8103,
+0x810B,0x8116,0x8117,0x8118,0x811C,0x811E,0x8120,0x8124,
+0x8127,0x812C,0x8130,0x8135,0x813A,0x813C,0x8145,0x8147,
+0x814A,0x814C,0x8152,0x8157,0x8160,0x8161,0x8167,0x8168,
+0x8169,0x816D,0x816F,0x8177,0x8181,0x8190,0x8184,0x8185,
+0x8186,0x818B,0x818E,0x8196,0x8198,0x819B,0x819E,0x81A2,
+0x81AE,0x81B2,0x81B4,0x81BB,0x81CB,0x81C3,0x81C5,0x81CA,
+0x81CE,0x81CF,0x81D5,0x81D7,0x81DB,0x81DD,0x81DE,0x81E1,
+0x81E4,0x81EB,0x81EC,0x81F0,0x81F1,0x81F2,0x81F5,0x81F6,
+0x81F8,0x81F9,0x81FD,0x81FF,0x8200,0x8203,0x820F,0x8213,
+0x8214,0x8219,0x821A,0x821D,0x8221,0x8222,0x8228,0x8232,
+0x8234,0x823A,0x8243,0x8244,0x8245,0x8246};
+
+/* page 47 0x5721-0x577E */
+static uint16 tab_jisx0212_uni47[]={
+0x824B,0x824E,0x824F,0x8251,0x8256,0x825C,0x8260,0x8263,
+0x8267,0x826D,0x8274,0x827B,0x827D,0x827F,0x8280,0x8281,
+0x8283,0x8284,0x8287,0x8289,0x828A,0x828E,0x8291,0x8294,
+0x8296,0x8298,0x829A,0x829B,0x82A0,0x82A1,0x82A3,0x82A4,
+0x82A7,0x82A8,0x82A9,0x82AA,0x82AE,0x82B0,0x82B2,0x82B4,
+0x82B7,0x82BA,0x82BC,0x82BE,0x82BF,0x82C6,0x82D0,0x82D5,
+0x82DA,0x82E0,0x82E2,0x82E4,0x82E8,0x82EA,0x82ED,0x82EF,
+0x82F6,0x82F7,0x82FD,0x82FE,0x8300,0x8301,0x8307,0x8308,
+0x830A,0x830B,0x8354,0x831B,0x831D,0x831E,0x831F,0x8321,
+0x8322,0x832C,0x832D,0x832E,0x8330,0x8333,0x8337,0x833A,
+0x833C,0x833D,0x8342,0x8343,0x8344,0x8347,0x834D,0x834E,
+0x8351,0x8355,0x8356,0x8357,0x8370,0x8378};
+
+/* page 48 0x5821-0x587E */
+static uint16 tab_jisx0212_uni48[]={
+0x837D,0x837F,0x8380,0x8382,0x8384,0x8386,0x838D,0x8392,
+0x8394,0x8395,0x8398,0x8399,0x839B,0x839C,0x839D,0x83A6,
+0x83A7,0x83A9,0x83AC,0x83BE,0x83BF,0x83C0,0x83C7,0x83C9,
+0x83CF,0x83D0,0x83D1,0x83D4,0x83DD,0x8353,0x83E8,0x83EA,
+0x83F6,0x83F8,0x83F9,0x83FC,0x8401,0x8406,0x840A,0x840F,
+0x8411,0x8415,0x8419,0x83AD,0x842F,0x8439,0x8445,0x8447,
+0x8448,0x844A,0x844D,0x844F,0x8451,0x8452,0x8456,0x8458,
+0x8459,0x845A,0x845C,0x8460,0x8464,0x8465,0x8467,0x846A,
+0x8470,0x8473,0x8474,0x8476,0x8478,0x847C,0x847D,0x8481,
+0x8485,0x8492,0x8493,0x8495,0x849E,0x84A6,0x84A8,0x84A9,
+0x84AA,0x84AF,0x84B1,0x84B4,0x84BA,0x84BD,0x84BE,0x84C0,
+0x84C2,0x84C7,0x84C8,0x84CC,0x84CF,0x84D3};
+
+/* page 49 0x5921-0x597E */
+static uint16 tab_jisx0212_uni49[]={
+0x84DC,0x84E7,0x84EA,0x84EF,0x84F0,0x84F1,0x84F2,0x84F7,
+0x8532,0x84FA,0x84FB,0x84FD,0x8502,0x8503,0x8507,0x850C,
+0x850E,0x8510,0x851C,0x851E,0x8522,0x8523,0x8524,0x8525,
+0x8527,0x852A,0x852B,0x852F,0x8533,0x8534,0x8536,0x853F,
+0x8546,0x854F,0x8550,0x8551,0x8552,0x8553,0x8556,0x8559,
+0x855C,0x855D,0x855E,0x855F,0x8560,0x8561,0x8562,0x8564,
+0x856B,0x856F,0x8579,0x857A,0x857B,0x857D,0x857F,0x8581,
+0x8585,0x8586,0x8589,0x858B,0x858C,0x858F,0x8593,0x8598,
+0x859D,0x859F,0x85A0,0x85A2,0x85A5,0x85A7,0x85B4,0x85B6,
+0x85B7,0x85B8,0x85BC,0x85BD,0x85BE,0x85BF,0x85C2,0x85C7,
+0x85CA,0x85CB,0x85CE,0x85AD,0x85D8,0x85DA,0x85DF,0x85E0,
+0x85E6,0x85E8,0x85ED,0x85F3,0x85F6,0x85FC};
+
+/* page 50 0x5A21-0x5A7E */
+static uint16 tab_jisx0212_uni50[]={
+0x85FF,0x8600,0x8604,0x8605,0x860D,0x860E,0x8610,0x8611,
+0x8612,0x8618,0x8619,0x861B,0x861E,0x8621,0x8627,0x8629,
+0x8636,0x8638,0x863A,0x863C,0x863D,0x8640,0x8642,0x8646,
+0x8652,0x8653,0x8656,0x8657,0x8658,0x8659,0x865D,0x8660,
+0x8661,0x8662,0x8663,0x8664,0x8669,0x866C,0x866F,0x8675,
+0x8676,0x8677,0x867A,0x868D,0x8691,0x8696,0x8698,0x869A,
+0x869C,0x86A1,0x86A6,0x86A7,0x86A8,0x86AD,0x86B1,0x86B3,
+0x86B4,0x86B5,0x86B7,0x86B8,0x86B9,0x86BF,0x86C0,0x86C1,
+0x86C3,0x86C5,0x86D1,0x86D2,0x86D5,0x86D7,0x86DA,0x86DC,
+0x86E0,0x86E3,0x86E5,0x86E7,0x8688,0x86FA,0x86FC,0x86FD,
+0x8704,0x8705,0x8707,0x870B,0x870E,0x870F,0x8710,0x8713,
+0x8714,0x8719,0x871E,0x871F,0x8721,0x8723};
+
+/* page 51 0x5B21-0x5B7E */
+static uint16 tab_jisx0212_uni51[]={
+0x8728,0x872E,0x872F,0x8731,0x8732,0x8739,0x873A,0x873C,
+0x873D,0x873E,0x8740,0x8743,0x8745,0x874D,0x8758,0x875D,
+0x8761,0x8764,0x8765,0x876F,0x8771,0x8772,0x877B,0x8783,
+0x8784,0x8785,0x8786,0x8787,0x8788,0x8789,0x878B,0x878C,
+0x8790,0x8793,0x8795,0x8797,0x8798,0x8799,0x879E,0x87A0,
+0x87A3,0x87A7,0x87AC,0x87AD,0x87AE,0x87B1,0x87B5,0x87BE,
+0x87BF,0x87C1,0x87C8,0x87C9,0x87CA,0x87CE,0x87D5,0x87D6,
+0x87D9,0x87DA,0x87DC,0x87DF,0x87E2,0x87E3,0x87E4,0x87EA,
+0x87EB,0x87ED,0x87F1,0x87F3,0x87F8,0x87FA,0x87FF,0x8801,
+0x8803,0x8806,0x8809,0x880A,0x880B,0x8810,0x8819,0x8812,
+0x8813,0x8814,0x8818,0x881A,0x881B,0x881C,0x881E,0x881F,
+0x8828,0x882D,0x882E,0x8830,0x8832,0x8835};
+
+/* page 52 0x5C21-0x5C7E */
+static uint16 tab_jisx0212_uni52[]={
+0x883A,0x883C,0x8841,0x8843,0x8845,0x8848,0x8849,0x884A,
+0x884B,0x884E,0x8851,0x8855,0x8856,0x8858,0x885A,0x885C,
+0x885F,0x8860,0x8864,0x8869,0x8871,0x8879,0x887B,0x8880,
+0x8898,0x889A,0x889B,0x889C,0x889F,0x88A0,0x88A8,0x88AA,
+0x88BA,0x88BD,0x88BE,0x88C0,0x88CA,0x88CB,0x88CC,0x88CD,
+0x88CE,0x88D1,0x88D2,0x88D3,0x88DB,0x88DE,0x88E7,0x88EF,
+0x88F0,0x88F1,0x88F5,0x88F7,0x8901,0x8906,0x890D,0x890E,
+0x890F,0x8915,0x8916,0x8918,0x8919,0x891A,0x891C,0x8920,
+0x8926,0x8927,0x8928,0x8930,0x8931,0x8932,0x8935,0x8939,
+0x893A,0x893E,0x8940,0x8942,0x8945,0x8946,0x8949,0x894F,
+0x8952,0x8957,0x895A,0x895B,0x895C,0x8961,0x8962,0x8963,
+0x896B,0x896E,0x8970,0x8973,0x8975,0x897A};
+
+/* page 53 0x5D21-0x5D7E */
+static uint16 tab_jisx0212_uni53[]={
+0x897B,0x897C,0x897D,0x8989,0x898D,0x8990,0x8994,0x8995,
+0x899B,0x899C,0x899F,0x89A0,0x89A5,0x89B0,0x89B4,0x89B5,
+0x89B6,0x89B7,0x89BC,0x89D4,0x89D5,0x89D6,0x89D7,0x89D8,
+0x89E5,0x89E9,0x89EB,0x89ED,0x89F1,0x89F3,0x89F6,0x89F9,
+0x89FD,0x89FF,0x8A04,0x8A05,0x8A07,0x8A0F,0x8A11,0x8A12,
+0x8A14,0x8A15,0x8A1E,0x8A20,0x8A22,0x8A24,0x8A26,0x8A2B,
+0x8A2C,0x8A2F,0x8A35,0x8A37,0x8A3D,0x8A3E,0x8A40,0x8A43,
+0x8A45,0x8A47,0x8A49,0x8A4D,0x8A4E,0x8A53,0x8A56,0x8A57,
+0x8A58,0x8A5C,0x8A5D,0x8A61,0x8A65,0x8A67,0x8A75,0x8A76,
+0x8A77,0x8A79,0x8A7A,0x8A7B,0x8A7E,0x8A7F,0x8A80,0x8A83,
+0x8A86,0x8A8B,0x8A8F,0x8A90,0x8A92,0x8A96,0x8A97,0x8A99,
+0x8A9F,0x8AA7,0x8AA9,0x8AAE,0x8AAF,0x8AB3};
+
+/* page 54 0x5E21-0x5E7E */
+static uint16 tab_jisx0212_uni54[]={
+0x8AB6,0x8AB7,0x8ABB,0x8ABE,0x8AC3,0x8AC6,0x8AC8,0x8AC9,
+0x8ACA,0x8AD1,0x8AD3,0x8AD4,0x8AD5,0x8AD7,0x8ADD,0x8ADF,
+0x8AEC,0x8AF0,0x8AF4,0x8AF5,0x8AF6,0x8AFC,0x8AFF,0x8B05,
+0x8B06,0x8B0B,0x8B11,0x8B1C,0x8B1E,0x8B1F,0x8B0A,0x8B2D,
+0x8B30,0x8B37,0x8B3C,0x8B42,0x8B43,0x8B44,0x8B45,0x8B46,
+0x8B48,0x8B52,0x8B53,0x8B54,0x8B59,0x8B4D,0x8B5E,0x8B63,
+0x8B6D,0x8B76,0x8B78,0x8B79,0x8B7C,0x8B7E,0x8B81,0x8B84,
+0x8B85,0x8B8B,0x8B8D,0x8B8F,0x8B94,0x8B95,0x8B9C,0x8B9E,
+0x8B9F,0x8C38,0x8C39,0x8C3D,0x8C3E,0x8C45,0x8C47,0x8C49,
+0x8C4B,0x8C4F,0x8C51,0x8C53,0x8C54,0x8C57,0x8C58,0x8C5B,
+0x8C5D,0x8C59,0x8C63,0x8C64,0x8C66,0x8C68,0x8C69,0x8C6D,
+0x8C73,0x8C75,0x8C76,0x8C7B,0x8C7E,0x8C86};
+
+/* page 55 0x5F21-0x5F7E */
+static uint16 tab_jisx0212_uni55[]={
+0x8C87,0x8C8B,0x8C90,0x8C92,0x8C93,0x8C99,0x8C9B,0x8C9C,
+0x8CA4,0x8CB9,0x8CBA,0x8CC5,0x8CC6,0x8CC9,0x8CCB,0x8CCF,
+0x8CD6,0x8CD5,0x8CD9,0x8CDD,0x8CE1,0x8CE8,0x8CEC,0x8CEF,
+0x8CF0,0x8CF2,0x8CF5,0x8CF7,0x8CF8,0x8CFE,0x8CFF,0x8D01,
+0x8D03,0x8D09,0x8D12,0x8D17,0x8D1B,0x8D65,0x8D69,0x8D6C,
+0x8D6E,0x8D7F,0x8D82,0x8D84,0x8D88,0x8D8D,0x8D90,0x8D91,
+0x8D95,0x8D9E,0x8D9F,0x8DA0,0x8DA6,0x8DAB,0x8DAC,0x8DAF,
+0x8DB2,0x8DB5,0x8DB7,0x8DB9,0x8DBB,0x8DC0,0x8DC5,0x8DC6,
+0x8DC7,0x8DC8,0x8DCA,0x8DCE,0x8DD1,0x8DD4,0x8DD5,0x8DD7,
+0x8DD9,0x8DE4,0x8DE5,0x8DE7,0x8DEC,0x8DF0,0x8DBC,0x8DF1,
+0x8DF2,0x8DF4,0x8DFD,0x8E01,0x8E04,0x8E05,0x8E06,0x8E0B,
+0x8E11,0x8E14,0x8E16,0x8E20,0x8E21,0x8E22};
+
+/* page 56 0x6021-0x607E */
+static uint16 tab_jisx0212_uni56[]={
+0x8E23,0x8E26,0x8E27,0x8E31,0x8E33,0x8E36,0x8E37,0x8E38,
+0x8E39,0x8E3D,0x8E40,0x8E41,0x8E4B,0x8E4D,0x8E4E,0x8E4F,
+0x8E54,0x8E5B,0x8E5C,0x8E5D,0x8E5E,0x8E61,0x8E62,0x8E69,
+0x8E6C,0x8E6D,0x8E6F,0x8E70,0x8E71,0x8E79,0x8E7A,0x8E7B,
+0x8E82,0x8E83,0x8E89,0x8E90,0x8E92,0x8E95,0x8E9A,0x8E9B,
+0x8E9D,0x8E9E,0x8EA2,0x8EA7,0x8EA9,0x8EAD,0x8EAE,0x8EB3,
+0x8EB5,0x8EBA,0x8EBB,0x8EC0,0x8EC1,0x8EC3,0x8EC4,0x8EC7,
+0x8ECF,0x8ED1,0x8ED4,0x8EDC,0x8EE8,0x8EEE,0x8EF0,0x8EF1,
+0x8EF7,0x8EF9,0x8EFA,0x8EED,0x8F00,0x8F02,0x8F07,0x8F08,
+0x8F0F,0x8F10,0x8F16,0x8F17,0x8F18,0x8F1E,0x8F20,0x8F21,
+0x8F23,0x8F25,0x8F27,0x8F28,0x8F2C,0x8F2D,0x8F2E,0x8F34,
+0x8F35,0x8F36,0x8F37,0x8F3A,0x8F40,0x8F41};
+
+/* page 57 0x6121-0x617E */
+static uint16 tab_jisx0212_uni57[]={
+0x8F43,0x8F47,0x8F4F,0x8F51,0x8F52,0x8F53,0x8F54,0x8F55,
+0x8F58,0x8F5D,0x8F5E,0x8F65,0x8F9D,0x8FA0,0x8FA1,0x8FA4,
+0x8FA5,0x8FA6,0x8FB5,0x8FB6,0x8FB8,0x8FBE,0x8FC0,0x8FC1,
+0x8FC6,0x8FCA,0x8FCB,0x8FCD,0x8FD0,0x8FD2,0x8FD3,0x8FD5,
+0x8FE0,0x8FE3,0x8FE4,0x8FE8,0x8FEE,0x8FF1,0x8FF5,0x8FF6,
+0x8FFB,0x8FFE,0x9002,0x9004,0x9008,0x900C,0x9018,0x901B,
+0x9028,0x9029,0x902F,0x902A,0x902C,0x902D,0x9033,0x9034,
+0x9037,0x903F,0x9043,0x9044,0x904C,0x905B,0x905D,0x9062,
+0x9066,0x9067,0x906C,0x9070,0x9074,0x9079,0x9085,0x9088,
+0x908B,0x908C,0x908E,0x9090,0x9095,0x9097,0x9098,0x9099,
+0x909B,0x90A0,0x90A1,0x90A2,0x90A5,0x90B0,0x90B2,0x90B3,
+0x90B4,0x90B6,0x90BD,0x90CC,0x90BE,0x90C3};
+
+/* page 58 0x6221-0x627E */
+static uint16 tab_jisx0212_uni58[]={
+0x90C4,0x90C5,0x90C7,0x90C8,0x90D5,0x90D7,0x90D8,0x90D9,
+0x90DC,0x90DD,0x90DF,0x90E5,0x90D2,0x90F6,0x90EB,0x90EF,
+0x90F0,0x90F4,0x90FE,0x90FF,0x9100,0x9104,0x9105,0x9106,
+0x9108,0x910D,0x9110,0x9114,0x9116,0x9117,0x9118,0x911A,
+0x911C,0x911E,0x9120,0x9125,0x9122,0x9123,0x9127,0x9129,
+0x912E,0x912F,0x9131,0x9134,0x9136,0x9137,0x9139,0x913A,
+0x913C,0x913D,0x9143,0x9147,0x9148,0x914F,0x9153,0x9157,
+0x9159,0x915A,0x915B,0x9161,0x9164,0x9167,0x916D,0x9174,
+0x9179,0x917A,0x917B,0x9181,0x9183,0x9185,0x9186,0x918A,
+0x918E,0x9191,0x9193,0x9194,0x9195,0x9198,0x919E,0x91A1,
+0x91A6,0x91A8,0x91AC,0x91AD,0x91AE,0x91B0,0x91B1,0x91B2,
+0x91B3,0x91B6,0x91BB,0x91BC,0x91BD,0x91BF};
+
+/* page 59 0x6321-0x637E */
+static uint16 tab_jisx0212_uni59[]={
+0x91C2,0x91C3,0x91C5,0x91D3,0x91D4,0x91D7,0x91D9,0x91DA,
+0x91DE,0x91E4,0x91E5,0x91E9,0x91EA,0x91EC,0x91ED,0x91EE,
+0x91EF,0x91F0,0x91F1,0x91F7,0x91F9,0x91FB,0x91FD,0x9200,
+0x9201,0x9204,0x9205,0x9206,0x9207,0x9209,0x920A,0x920C,
+0x9210,0x9212,0x9213,0x9216,0x9218,0x921C,0x921D,0x9223,
+0x9224,0x9225,0x9226,0x9228,0x922E,0x922F,0x9230,0x9233,
+0x9235,0x9236,0x9238,0x9239,0x923A,0x923C,0x923E,0x9240,
+0x9242,0x9243,0x9246,0x9247,0x924A,0x924D,0x924E,0x924F,
+0x9251,0x9258,0x9259,0x925C,0x925D,0x9260,0x9261,0x9265,
+0x9267,0x9268,0x9269,0x926E,0x926F,0x9270,0x9275,0x9276,
+0x9277,0x9278,0x9279,0x927B,0x927C,0x927D,0x927F,0x9288,
+0x9289,0x928A,0x928D,0x928E,0x9292,0x9297};
+
+/* page 60 0x6421-0x647E */
+static uint16 tab_jisx0212_uni60[]={
+0x9299,0x929F,0x92A0,0x92A4,0x92A5,0x92A7,0x92A8,0x92AB,
+0x92AF,0x92B2,0x92B6,0x92B8,0x92BA,0x92BB,0x92BC,0x92BD,
+0x92BF,0x92C0,0x92C1,0x92C2,0x92C3,0x92C5,0x92C6,0x92C7,
+0x92C8,0x92CB,0x92CC,0x92CD,0x92CE,0x92D0,0x92D3,0x92D5,
+0x92D7,0x92D8,0x92D9,0x92DC,0x92DD,0x92DF,0x92E0,0x92E1,
+0x92E3,0x92E5,0x92E7,0x92E8,0x92EC,0x92EE,0x92F0,0x92F9,
+0x92FB,0x92FF,0x9300,0x9302,0x9308,0x930D,0x9311,0x9314,
+0x9315,0x931C,0x931D,0x931E,0x931F,0x9321,0x9324,0x9325,
+0x9327,0x9329,0x932A,0x9333,0x9334,0x9336,0x9337,0x9347,
+0x9348,0x9349,0x9350,0x9351,0x9352,0x9355,0x9357,0x9358,
+0x935A,0x935E,0x9364,0x9365,0x9367,0x9369,0x936A,0x936D,
+0x936F,0x9370,0x9371,0x9373,0x9374,0x9376};
+
+/* page 61 0x6521-0x657E */
+static uint16 tab_jisx0212_uni61[]={
+0x937A,0x937D,0x937F,0x9380,0x9381,0x9382,0x9388,0x938A,
+0x938B,0x938D,0x938F,0x9392,0x9395,0x9398,0x939B,0x939E,
+0x93A1,0x93A3,0x93A4,0x93A6,0x93A8,0x93AB,0x93B4,0x93B5,
+0x93B6,0x93BA,0x93A9,0x93C1,0x93C4,0x93C5,0x93C6,0x93C7,
+0x93C9,0x93CA,0x93CB,0x93CC,0x93CD,0x93D3,0x93D9,0x93DC,
+0x93DE,0x93DF,0x93E2,0x93E6,0x93E7,0x93F9,0x93F7,0x93F8,
+0x93FA,0x93FB,0x93FD,0x9401,0x9402,0x9404,0x9408,0x9409,
+0x940D,0x940E,0x940F,0x9415,0x9416,0x9417,0x941F,0x942E,
+0x942F,0x9431,0x9432,0x9433,0x9434,0x943B,0x943F,0x943D,
+0x9443,0x9445,0x9448,0x944A,0x944C,0x9455,0x9459,0x945C,
+0x945F,0x9461,0x9463,0x9468,0x946B,0x946D,0x946E,0x946F,
+0x9471,0x9472,0x9484,0x9483,0x9578,0x9579};
+
+/* page 62 0x6621-0x667E */
+static uint16 tab_jisx0212_uni62[]={
+0x957E,0x9584,0x9588,0x958C,0x958D,0x958E,0x959D,0x959E,
+0x959F,0x95A1,0x95A6,0x95A9,0x95AB,0x95AC,0x95B4,0x95B6,
+0x95BA,0x95BD,0x95BF,0x95C6,0x95C8,0x95C9,0x95CB,0x95D0,
+0x95D1,0x95D2,0x95D3,0x95D9,0x95DA,0x95DD,0x95DE,0x95DF,
+0x95E0,0x95E4,0x95E6,0x961D,0x961E,0x9622,0x9624,0x9625,
+0x9626,0x962C,0x9631,0x9633,0x9637,0x9638,0x9639,0x963A,
+0x963C,0x963D,0x9641,0x9652,0x9654,0x9656,0x9657,0x9658,
+0x9661,0x966E,0x9674,0x967B,0x967C,0x967E,0x967F,0x9681,
+0x9682,0x9683,0x9684,0x9689,0x9691,0x9696,0x969A,0x969D,
+0x969F,0x96A4,0x96A5,0x96A6,0x96A9,0x96AE,0x96AF,0x96B3,
+0x96BA,0x96CA,0x96D2,0x5DB2,0x96D8,0x96DA,0x96DD,0x96DE,
+0x96DF,0x96E9,0x96EF,0x96F1,0x96FA,0x9702};
+
+/* page 63 0x6721-0x677E */
+static uint16 tab_jisx0212_uni63[]={
+0x9703,0x9705,0x9709,0x971A,0x971B,0x971D,0x9721,0x9722,
+0x9723,0x9728,0x9731,0x9733,0x9741,0x9743,0x974A,0x974E,
+0x974F,0x9755,0x9757,0x9758,0x975A,0x975B,0x9763,0x9767,
+0x976A,0x976E,0x9773,0x9776,0x9777,0x9778,0x977B,0x977D,
+0x977F,0x9780,0x9789,0x9795,0x9796,0x9797,0x9799,0x979A,
+0x979E,0x979F,0x97A2,0x97AC,0x97AE,0x97B1,0x97B2,0x97B5,
+0x97B6,0x97B8,0x97B9,0x97BA,0x97BC,0x97BE,0x97BF,0x97C1,
+0x97C4,0x97C5,0x97C7,0x97C9,0x97CA,0x97CC,0x97CD,0x97CE,
+0x97D0,0x97D1,0x97D4,0x97D7,0x97D8,0x97D9,0x97DD,0x97DE,
+0x97E0,0x97DB,0x97E1,0x97E4,0x97EF,0x97F1,0x97F4,0x97F7,
+0x97F8,0x97FA,0x9807,0x980A,0x9819,0x980D,0x980E,0x9814,
+0x9816,0x981C,0x981E,0x9820,0x9823,0x9826};
+
+/* page 64 0x6821-0x687E */
+static uint16 tab_jisx0212_uni64[]={
+0x982B,0x982E,0x982F,0x9830,0x9832,0x9833,0x9835,0x9825,
+0x983E,0x9844,0x9847,0x984A,0x9851,0x9852,0x9853,0x9856,
+0x9857,0x9859,0x985A,0x9862,0x9863,0x9865,0x9866,0x986A,
+0x986C,0x98AB,0x98AD,0x98AE,0x98B0,0x98B4,0x98B7,0x98B8,
+0x98BA,0x98BB,0x98BF,0x98C2,0x98C5,0x98C8,0x98CC,0x98E1,
+0x98E3,0x98E5,0x98E6,0x98E7,0x98EA,0x98F3,0x98F6,0x9902,
+0x9907,0x9908,0x9911,0x9915,0x9916,0x9917,0x991A,0x991B,
+0x991C,0x991F,0x9922,0x9926,0x9927,0x992B,0x9931,0x9932,
+0x9933,0x9934,0x9935,0x9939,0x993A,0x993B,0x993C,0x9940,
+0x9941,0x9946,0x9947,0x9948,0x994D,0x994E,0x9954,0x9958,
+0x9959,0x995B,0x995C,0x995E,0x995F,0x9960,0x999B,0x999D,
+0x999F,0x99A6,0x99B0,0x99B1,0x99B2,0x99B5};
+
+/* page 65 0x6921-0x697E */
+static uint16 tab_jisx0212_uni65[]={
+0x99B9,0x99BA,0x99BD,0x99BF,0x99C3,0x99C9,0x99D3,0x99D4,
+0x99D9,0x99DA,0x99DC,0x99DE,0x99E7,0x99EA,0x99EB,0x99EC,
+0x99F0,0x99F4,0x99F5,0x99F9,0x99FD,0x99FE,0x9A02,0x9A03,
+0x9A04,0x9A0B,0x9A0C,0x9A10,0x9A11,0x9A16,0x9A1E,0x9A20,
+0x9A22,0x9A23,0x9A24,0x9A27,0x9A2D,0x9A2E,0x9A33,0x9A35,
+0x9A36,0x9A38,0x9A47,0x9A41,0x9A44,0x9A4A,0x9A4B,0x9A4C,
+0x9A4E,0x9A51,0x9A54,0x9A56,0x9A5D,0x9AAA,0x9AAC,0x9AAE,
+0x9AAF,0x9AB2,0x9AB4,0x9AB5,0x9AB6,0x9AB9,0x9ABB,0x9ABE,
+0x9ABF,0x9AC1,0x9AC3,0x9AC6,0x9AC8,0x9ACE,0x9AD0,0x9AD2,
+0x9AD5,0x9AD6,0x9AD7,0x9ADB,0x9ADC,0x9AE0,0x9AE4,0x9AE5,
+0x9AE7,0x9AE9,0x9AEC,0x9AF2,0x9AF3,0x9AF5,0x9AF9,0x9AFA,
+0x9AFD,0x9AFF,0x9B00,0x9B01,0x9B02,0x9B03};
+
+/* page 66 0x6A21-0x6A7E */
+static uint16 tab_jisx0212_uni66[]={
+0x9B04,0x9B05,0x9B08,0x9B09,0x9B0B,0x9B0C,0x9B0D,0x9B0E,
+0x9B10,0x9B12,0x9B16,0x9B19,0x9B1B,0x9B1C,0x9B20,0x9B26,
+0x9B2B,0x9B2D,0x9B33,0x9B34,0x9B35,0x9B37,0x9B39,0x9B3A,
+0x9B3D,0x9B48,0x9B4B,0x9B4C,0x9B55,0x9B56,0x9B57,0x9B5B,
+0x9B5E,0x9B61,0x9B63,0x9B65,0x9B66,0x9B68,0x9B6A,0x9B6B,
+0x9B6C,0x9B6D,0x9B6E,0x9B73,0x9B75,0x9B77,0x9B78,0x9B79,
+0x9B7F,0x9B80,0x9B84,0x9B85,0x9B86,0x9B87,0x9B89,0x9B8A,
+0x9B8B,0x9B8D,0x9B8F,0x9B90,0x9B94,0x9B9A,0x9B9D,0x9B9E,
+0x9BA6,0x9BA7,0x9BA9,0x9BAC,0x9BB0,0x9BB1,0x9BB2,0x9BB7,
+0x9BB8,0x9BBB,0x9BBC,0x9BBE,0x9BBF,0x9BC1,0x9BC7,0x9BC8,
+0x9BCE,0x9BD0,0x9BD7,0x9BD8,0x9BDD,0x9BDF,0x9BE5,0x9BE7,
+0x9BEA,0x9BEB,0x9BEF,0x9BF3,0x9BF7,0x9BF8};
+
+/* page 67 0x6B21-0x6B7E */
+static uint16 tab_jisx0212_uni67[]={
+0x9BF9,0x9BFA,0x9BFD,0x9BFF,0x9C00,0x9C02,0x9C0B,0x9C0F,
+0x9C11,0x9C16,0x9C18,0x9C19,0x9C1A,0x9C1C,0x9C1E,0x9C22,
+0x9C23,0x9C26,0x9C27,0x9C28,0x9C29,0x9C2A,0x9C31,0x9C35,
+0x9C36,0x9C37,0x9C3D,0x9C41,0x9C43,0x9C44,0x9C45,0x9C49,
+0x9C4A,0x9C4E,0x9C4F,0x9C50,0x9C53,0x9C54,0x9C56,0x9C58,
+0x9C5B,0x9C5D,0x9C5E,0x9C5F,0x9C63,0x9C69,0x9C6A,0x9C5C,
+0x9C6B,0x9C68,0x9C6E,0x9C70,0x9C72,0x9C75,0x9C77,0x9C7B,
+0x9CE6,0x9CF2,0x9CF7,0x9CF9,0x9D0B,0x9D02,0x9D11,0x9D17,
+0x9D18,0x9D1C,0x9D1D,0x9D1E,0x9D2F,0x9D30,0x9D32,0x9D33,
+0x9D34,0x9D3A,0x9D3C,0x9D45,0x9D3D,0x9D42,0x9D43,0x9D47,
+0x9D4A,0x9D53,0x9D54,0x9D5F,0x9D63,0x9D62,0x9D65,0x9D69,
+0x9D6A,0x9D6B,0x9D70,0x9D76,0x9D77,0x9D7B};
+
+/* page 68 0x6C21-0x6C7E */
+static uint16 tab_jisx0212_uni68[]={
+0x9D7C,0x9D7E,0x9D83,0x9D84,0x9D86,0x9D8A,0x9D8D,0x9D8E,
+0x9D92,0x9D93,0x9D95,0x9D96,0x9D97,0x9D98,0x9DA1,0x9DAA,
+0x9DAC,0x9DAE,0x9DB1,0x9DB5,0x9DB9,0x9DBC,0x9DBF,0x9DC3,
+0x9DC7,0x9DC9,0x9DCA,0x9DD4,0x9DD5,0x9DD6,0x9DD7,0x9DDA,
+0x9DDE,0x9DDF,0x9DE0,0x9DE5,0x9DE7,0x9DE9,0x9DEB,0x9DEE,
+0x9DF0,0x9DF3,0x9DF4,0x9DFE,0x9E0A,0x9E02,0x9E07,0x9E0E,
+0x9E10,0x9E11,0x9E12,0x9E15,0x9E16,0x9E19,0x9E1C,0x9E1D,
+0x9E7A,0x9E7B,0x9E7C,0x9E80,0x9E82,0x9E83,0x9E84,0x9E85,
+0x9E87,0x9E8E,0x9E8F,0x9E96,0x9E98,0x9E9B,0x9E9E,0x9EA4,
+0x9EA8,0x9EAC,0x9EAE,0x9EAF,0x9EB0,0x9EB3,0x9EB4,0x9EB5,
+0x9EC6,0x9EC8,0x9ECB,0x9ED5,0x9EDF,0x9EE4,0x9EE7,0x9EEC,
+0x9EED,0x9EEE,0x9EF0,0x9EF1,0x9EF2,0x9EF5};
+
+/* page 69 0x6D21-0x6D63 */
+static uint16 tab_jisx0212_uni69[]={
+0x9EF8,0x9EFF,0x9F02,0x9F03,0x9F09,0x9F0F,0x9F10,0x9F11,
+0x9F12,0x9F14,0x9F16,0x9F17,0x9F19,0x9F1A,0x9F1B,0x9F1F,
+0x9F22,0x9F26,0x9F2A,0x9F2B,0x9F2F,0x9F31,0x9F32,0x9F34,
+0x9F37,0x9F39,0x9F3A,0x9F3C,0x9F3D,0x9F3F,0x9F41,0x9F43,
+0x9F44,0x9F45,0x9F46,0x9F47,0x9F53,0x9F55,0x9F56,0x9F57,
+0x9F58,0x9F5A,0x9F5D,0x9F5E,0x9F68,0x9F69,0x9F6D,0x9F6E,
+0x9F6F,0x9F70,0x9F71,0x9F73,0x9F75,0x9F7A,0x9F7D,0x9F8F,
+0x9F90,0x9F91,0x9F92,0x9F94,0x9F96,0x9F97,0x9F9E,0x9FA1,
+0x9FA2,0x9FA3,0x9FA5};
+
+static int
+my_jisx0212_uni_onechar(int code){
+ if ((code>=0x222F)&&(code<=0x2244))
+ return(tab_jisx0212_uni0[code-0x222F]);
+ if ((code>=0x226B)&&(code<=0x2271))
+ return(tab_jisx0212_uni1[code-0x226B]);
+ if ((code>=0x2661)&&(code<=0x267C))
+ return(tab_jisx0212_uni2[code-0x2661]);
+ if ((code>=0x2742)&&(code<=0x274E))
+ return(tab_jisx0212_uni3[code-0x2742]);
+ if ((code>=0x2772)&&(code<=0x277E))
+ return(tab_jisx0212_uni4[code-0x2772]);
+ if ((code>=0x2921)&&(code<=0x2950))
+ return(tab_jisx0212_uni5[code-0x2921]);
+ if ((code>=0x2A21)&&(code<=0x2A77))
+ return(tab_jisx0212_uni6[code-0x2A21]);
+ if ((code>=0x2B21)&&(code<=0x2B77))
+ return(tab_jisx0212_uni7[code-0x2B21]);
+ if ((code>=0x3021)&&(code<=0x307E))
+ return(tab_jisx0212_uni8[code-0x3021]);
+ if ((code>=0x3121)&&(code<=0x317E))
+ return(tab_jisx0212_uni9[code-0x3121]);
+ if ((code>=0x3221)&&(code<=0x327E))
+ return(tab_jisx0212_uni10[code-0x3221]);
+ if ((code>=0x3321)&&(code<=0x337E))
+ return(tab_jisx0212_uni11[code-0x3321]);
+ if ((code>=0x3421)&&(code<=0x347E))
+ return(tab_jisx0212_uni12[code-0x3421]);
+ if ((code>=0x3521)&&(code<=0x357E))
+ return(tab_jisx0212_uni13[code-0x3521]);
+ if ((code>=0x3621)&&(code<=0x367E))
+ return(tab_jisx0212_uni14[code-0x3621]);
+ if ((code>=0x3721)&&(code<=0x377E))
+ return(tab_jisx0212_uni15[code-0x3721]);
+ if ((code>=0x3821)&&(code<=0x387E))
+ return(tab_jisx0212_uni16[code-0x3821]);
+ if ((code>=0x3921)&&(code<=0x397E))
+ return(tab_jisx0212_uni17[code-0x3921]);
+ if ((code>=0x3A21)&&(code<=0x3A7E))
+ return(tab_jisx0212_uni18[code-0x3A21]);
+ if ((code>=0x3B21)&&(code<=0x3B7E))
+ return(tab_jisx0212_uni19[code-0x3B21]);
+ if ((code>=0x3C21)&&(code<=0x3C7E))
+ return(tab_jisx0212_uni20[code-0x3C21]);
+ if ((code>=0x3D21)&&(code<=0x3D7E))
+ return(tab_jisx0212_uni21[code-0x3D21]);
+ if ((code>=0x3E21)&&(code<=0x3E7E))
+ return(tab_jisx0212_uni22[code-0x3E21]);
+ if ((code>=0x3F21)&&(code<=0x3F7E))
+ return(tab_jisx0212_uni23[code-0x3F21]);
+ if ((code>=0x4021)&&(code<=0x407E))
+ return(tab_jisx0212_uni24[code-0x4021]);
+ if ((code>=0x4121)&&(code<=0x417E))
+ return(tab_jisx0212_uni25[code-0x4121]);
+ if ((code>=0x4221)&&(code<=0x427E))
+ return(tab_jisx0212_uni26[code-0x4221]);
+ if ((code>=0x4321)&&(code<=0x437E))
+ return(tab_jisx0212_uni27[code-0x4321]);
+ if ((code>=0x4421)&&(code<=0x447E))
+ return(tab_jisx0212_uni28[code-0x4421]);
+ if ((code>=0x4521)&&(code<=0x457E))
+ return(tab_jisx0212_uni29[code-0x4521]);
+ if ((code>=0x4621)&&(code<=0x467E))
+ return(tab_jisx0212_uni30[code-0x4621]);
+ if ((code>=0x4721)&&(code<=0x477E))
+ return(tab_jisx0212_uni31[code-0x4721]);
+ if ((code>=0x4821)&&(code<=0x487E))
+ return(tab_jisx0212_uni32[code-0x4821]);
+ if ((code>=0x4921)&&(code<=0x497E))
+ return(tab_jisx0212_uni33[code-0x4921]);
+ if ((code>=0x4A21)&&(code<=0x4A7E))
+ return(tab_jisx0212_uni34[code-0x4A21]);
+ if ((code>=0x4B21)&&(code<=0x4B7E))
+ return(tab_jisx0212_uni35[code-0x4B21]);
+ if ((code>=0x4C21)&&(code<=0x4C7E))
+ return(tab_jisx0212_uni36[code-0x4C21]);
+ if ((code>=0x4D21)&&(code<=0x4D7E))
+ return(tab_jisx0212_uni37[code-0x4D21]);
+ if ((code>=0x4E21)&&(code<=0x4E7E))
+ return(tab_jisx0212_uni38[code-0x4E21]);
+ if ((code>=0x4F21)&&(code<=0x4F7E))
+ return(tab_jisx0212_uni39[code-0x4F21]);
+ if ((code>=0x5021)&&(code<=0x507E))
+ return(tab_jisx0212_uni40[code-0x5021]);
+ if ((code>=0x5121)&&(code<=0x517E))
+ return(tab_jisx0212_uni41[code-0x5121]);
+ if ((code>=0x5221)&&(code<=0x527E))
+ return(tab_jisx0212_uni42[code-0x5221]);
+ if ((code>=0x5321)&&(code<=0x537E))
+ return(tab_jisx0212_uni43[code-0x5321]);
+ if ((code>=0x5421)&&(code<=0x547E))
+ return(tab_jisx0212_uni44[code-0x5421]);
+ if ((code>=0x5521)&&(code<=0x557E))
+ return(tab_jisx0212_uni45[code-0x5521]);
+ if ((code>=0x5621)&&(code<=0x567E))
+ return(tab_jisx0212_uni46[code-0x5621]);
+ if ((code>=0x5721)&&(code<=0x577E))
+ return(tab_jisx0212_uni47[code-0x5721]);
+ if ((code>=0x5821)&&(code<=0x587E))
+ return(tab_jisx0212_uni48[code-0x5821]);
+ if ((code>=0x5921)&&(code<=0x597E))
+ return(tab_jisx0212_uni49[code-0x5921]);
+ if ((code>=0x5A21)&&(code<=0x5A7E))
+ return(tab_jisx0212_uni50[code-0x5A21]);
+ if ((code>=0x5B21)&&(code<=0x5B7E))
+ return(tab_jisx0212_uni51[code-0x5B21]);
+ if ((code>=0x5C21)&&(code<=0x5C7E))
+ return(tab_jisx0212_uni52[code-0x5C21]);
+ if ((code>=0x5D21)&&(code<=0x5D7E))
+ return(tab_jisx0212_uni53[code-0x5D21]);
+ if ((code>=0x5E21)&&(code<=0x5E7E))
+ return(tab_jisx0212_uni54[code-0x5E21]);
+ if ((code>=0x5F21)&&(code<=0x5F7E))
+ return(tab_jisx0212_uni55[code-0x5F21]);
+ if ((code>=0x6021)&&(code<=0x607E))
+ return(tab_jisx0212_uni56[code-0x6021]);
+ if ((code>=0x6121)&&(code<=0x617E))
+ return(tab_jisx0212_uni57[code-0x6121]);
+ if ((code>=0x6221)&&(code<=0x627E))
+ return(tab_jisx0212_uni58[code-0x6221]);
+ if ((code>=0x6321)&&(code<=0x637E))
+ return(tab_jisx0212_uni59[code-0x6321]);
+ if ((code>=0x6421)&&(code<=0x647E))
+ return(tab_jisx0212_uni60[code-0x6421]);
+ if ((code>=0x6521)&&(code<=0x657E))
+ return(tab_jisx0212_uni61[code-0x6521]);
+ if ((code>=0x6621)&&(code<=0x667E))
+ return(tab_jisx0212_uni62[code-0x6621]);
+ if ((code>=0x6721)&&(code<=0x677E))
+ return(tab_jisx0212_uni63[code-0x6721]);
+ if ((code>=0x6821)&&(code<=0x687E))
+ return(tab_jisx0212_uni64[code-0x6821]);
+ if ((code>=0x6921)&&(code<=0x697E))
+ return(tab_jisx0212_uni65[code-0x6921]);
+ if ((code>=0x6A21)&&(code<=0x6A7E))
+ return(tab_jisx0212_uni66[code-0x6A21]);
+ if ((code>=0x6B21)&&(code<=0x6B7E))
+ return(tab_jisx0212_uni67[code-0x6B21]);
+ if ((code>=0x6C21)&&(code<=0x6C7E))
+ return(tab_jisx0212_uni68[code-0x6C21]);
+ if ((code>=0x6D21)&&(code<=0x6D63))
+ return(tab_jisx0212_uni69[code-0x6D21]);
+ return(0);
+}
+
+
+
+/*
+ EUC-JP encoding subcomponents:
+ [x00-x7F] # ASCII/JIS-Roman (one-byte/character)
+ [x8E][xA0-xDF] # half-width katakana (two bytes/char)
+ [x8F][xA1-xFE][xA1-xFE] # JIS X 0212-1990 (three bytes/char)
+ [xA1-xFE][xA1-xFE] # JIS X 0208:1997 (two bytes/char)
+*/
+
+int
+my_mb_wc_euc_jp(CHARSET_INFO *cs,my_wc_t *pwc, const uchar *s, const uchar *e)
+{
+ int c1,c2,c3;
+
+ if (s>e)
+ return MY_CS_TOOFEW(0);
+
+ c1=s[0];
+
+ /* Ascii code set */
+ if (c1<=0x7F)
+ {
+ *pwc=c1;
+ return 1;
+ }
+
+ if (s+2>e)
+ return MY_CS_TOOFEW(0);
+
+ c2=s[1];
+
+
+ /* JIS X 0208 code set */
+ if (c1>=0xA1 && c1<=0xFE)
+ {
+ if (c2 < 0xA1 || c2 >0xFE)
+ return MY_CS_ILSEQ;
+
+ if (c1 < 0xF5)
+ {
+ pwc[0]=my_jisx0208_uni_onechar( ((c1-0x80) << 8) + (c2-0x80));
+ if (!pwc[0])
+ return MY_CS_ILSEQ;
+ }
+ else
+ {
+ /* User defined range */
+ pwc[0]=0xE000 + 94*(c1-0xF5) +(c2-0xA1);
+ }
+ return 2;
+ }
+
+ /* JIS X 0201 code set (Half Width Tatakana) */
+ if (c1==0x8E)
+ {
+ int ret;
+
+ if (c2<0xA1 || c2>0xDF)
+ return MY_CS_ILSEQ;
+
+ ret = my_mb_wc_jisx0201(cs,pwc,s+1,e);
+ if (ret!=1)
+ return ret;
+ return 2;
+ }
+
+ /* JIS X 0212 code set */
+ if (c1==0x8F)
+ {
+ if (c2<0xA1 || c2>=0xFF)
+ return MY_CS_ILSEQ;
+
+ if (s+3>e)
+ return MY_CS_TOOFEW(0);
+
+ c3=s[2];
+ if (c3 < 0xA1 || c3>=0xFF)
+ return MY_CS_ILSEQ;
+
+ if (c2<0xF5)
+ {
+ pwc[0]=my_jisx0212_uni_onechar((c2-0x80)*256 + (c3-0x80));
+ if (!pwc)
+ return MY_CS_ILSEQ;
+ }
+ else
+ {
+ /* User defined range */
+ pwc[0]= 0xE3AC + 94*(c2-0xF5) + (c3-0xA1);
+ }
+ return 3;
+ }
+
+ return MY_CS_ILSEQ;
+}
+
+int
+my_wc_mb_euc_jp(CHARSET_INFO *c,my_wc_t wc, unsigned char *s, unsigned char *e)
+{
+ unsigned char buf[2];
+ unsigned char c1;
+ int ret,jp;
+
+ if (wc<0x80)
+ {
+ if (s>e)
+ return MY_CS_TOOSMALL;
+
+ *s=wc;
+ return 1;
+ }
+
+ if ((jp=my_uni_jisx0208_onechar(wc)))
+ {
+ if (s+2>e)
+ return MY_CS_TOOSMALL;
+
+ jp+=0x8080;
+ s[0]=jp>>8;
+ s[1]=jp&0xFF;
+ return 2;
+ }
+
+ ret=my_wc_mb_jisx0201(c,wc,buf,buf+2);
+ if (ret==1)
+ {
+ if (s+1>e)
+ return MY_CS_TOOSMALL;
+
+ s[0]=0x8E;
+ s[1]=buf[0];
+ return 1;
+ }
+
+
+ if ((jp=my_uni_jisx0212_onechar(wc)))
+ {
+ if (s+2>e)
+ return MY_CS_TOOSMALL;
+
+ jp+=0x8080;
+ s[0]=0x8F;
+ s[1]=jp>>8;
+ s[2]=jp&0xFF;
+ return 3;
+ }
+
+
+ /* User defined range */
+ if (wc>=0xE000 && wc<0xE3AC)
+ {
+ if (s+2>e)
+ return MY_CS_TOOSMALL;
+
+ c1=((unsigned)(wc-0xE000)/94)+0xF5;
+ s[0]=c1;
+ c1=((unsigned)(wc-0xE000)%94)+0xa1;
+ s[1]=c1;
+ return 2;
+ }
+
+
+ /* User defined range */
+ if (wc>=0xE3AC && wc<0xE758)
+ {
+ if (s+3>e)
+ return MY_CS_TOOSMALL;
+
+ s[0]=0x8F;
+ c1=((unsigned)(wc-0xE3AC)/94)+0xF5;
+ s[1]=c1;
+ c1=((unsigned)(wc-0xE3AC)%94)+0xa1;
+ s[2]=c1;
+ return 3;
+ }
+
+ return MY_CS_ILUNI;
+}
+
+
+#endif
diff --git a/strings/ctype-utf8.c b/strings/ctype-utf8.c
new file mode 100644
index 00000000000..ab2a2db9acc
--- /dev/null
+++ b/strings/ctype-utf8.c
@@ -0,0 +1,1960 @@
+/* Copyright (C) 2000 MySQL AB
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ MA 02111-1307, USA */
+
+/* UTF8 according RFC 2279 */
+/* Written by Alexander Barkov <bar@udm.net> */
+
+#include <my_global.h>
+#include <m_ctype.h>
+
+#ifdef HAVE_CHARSET_utf8
+#define HAVE_UNIDATA
+#endif
+
+#ifdef HAVE_UNIDATA
+
+static MY_UNICASE_INFO plane00[]={
+ {0x0000,0x0000,0x0000}, {0x0001,0x0001,0x0001},
+ {0x0002,0x0002,0x0002}, {0x0003,0x0003,0x0003},
+ {0x0004,0x0004,0x0004}, {0x0005,0x0005,0x0005},
+ {0x0006,0x0006,0x0006}, {0x0007,0x0007,0x0007},
+ {0x0008,0x0008,0x0008}, {0x0009,0x0009,0x0009},
+ {0x000A,0x000A,0x000A}, {0x000B,0x000B,0x000B},
+ {0x000C,0x000C,0x000C}, {0x000D,0x000D,0x000D},
+ {0x000E,0x000E,0x000E}, {0x000F,0x000F,0x000F},
+ {0x0010,0x0010,0x0010}, {0x0011,0x0011,0x0011},
+ {0x0012,0x0012,0x0012}, {0x0013,0x0013,0x0013},
+ {0x0014,0x0014,0x0014}, {0x0015,0x0015,0x0015},
+ {0x0016,0x0016,0x0016}, {0x0017,0x0017,0x0017},
+ {0x0018,0x0018,0x0018}, {0x0019,0x0019,0x0019},
+ {0x001A,0x001A,0x001A}, {0x001B,0x001B,0x001B},
+ {0x001C,0x001C,0x001C}, {0x001D,0x001D,0x001D},
+ {0x001E,0x001E,0x001E}, {0x001F,0x001F,0x001F},
+ {0x0020,0x0020,0x0020}, {0x0021,0x0021,0x0021},
+ {0x0022,0x0022,0x0022}, {0x0023,0x0023,0x0023},
+ {0x0024,0x0024,0x0024}, {0x0025,0x0025,0x0025},
+ {0x0026,0x0026,0x0026}, {0x0027,0x0027,0x0027},
+ {0x0028,0x0028,0x0028}, {0x0029,0x0029,0x0029},
+ {0x002A,0x002A,0x002A}, {0x002B,0x002B,0x002B},
+ {0x002C,0x002C,0x002C}, {0x002D,0x002D,0x002D},
+ {0x002E,0x002E,0x002E}, {0x002F,0x002F,0x002F},
+ {0x0030,0x0030,0x0030}, {0x0031,0x0031,0x0031},
+ {0x0032,0x0032,0x0032}, {0x0033,0x0033,0x0033},
+ {0x0034,0x0034,0x0034}, {0x0035,0x0035,0x0035},
+ {0x0036,0x0036,0x0036}, {0x0037,0x0037,0x0037},
+ {0x0038,0x0038,0x0038}, {0x0039,0x0039,0x0039},
+ {0x003A,0x003A,0x003A}, {0x003B,0x003B,0x003B},
+ {0x003C,0x003C,0x003C}, {0x003D,0x003D,0x003D},
+ {0x003E,0x003E,0x003E}, {0x003F,0x003F,0x003F},
+ {0x0040,0x0040,0x0040}, {0x0041,0x0061,0x0041},
+ {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043},
+ {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045},
+ {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047},
+ {0x0048,0x0068,0x0048}, {0x0049,0x0069,0x0049},
+ {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B},
+ {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D},
+ {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F},
+ {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051},
+ {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053},
+ {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055},
+ {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057},
+ {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059},
+ {0x005A,0x007A,0x005A}, {0x005B,0x005B,0x005B},
+ {0x005C,0x005C,0x005C}, {0x005D,0x005D,0x005D},
+ {0x005E,0x005E,0x005E}, {0x005F,0x005F,0x005F},
+ {0x0060,0x0060,0x0060}, {0x0041,0x0061,0x0041},
+ {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043},
+ {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045},
+ {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047},
+ {0x0048,0x0068,0x0048}, {0x0049,0x0069,0x0049},
+ {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B},
+ {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D},
+ {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F},
+ {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051},
+ {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053},
+ {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055},
+ {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057},
+ {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059},
+ {0x005A,0x007A,0x005A}, {0x007B,0x007B,0x007B},
+ {0x007C,0x007C,0x007C}, {0x007D,0x007D,0x007D},
+ {0x007E,0x007E,0x007E}, {0x007F,0x007F,0x007F},
+ {0x0080,0x0080,0x0080}, {0x0081,0x0081,0x0081},
+ {0x0082,0x0082,0x0082}, {0x0083,0x0083,0x0083},
+ {0x0084,0x0084,0x0084}, {0x0085,0x0085,0x0085},
+ {0x0086,0x0086,0x0086}, {0x0087,0x0087,0x0087},
+ {0x0088,0x0088,0x0088}, {0x0089,0x0089,0x0089},
+ {0x008A,0x008A,0x008A}, {0x008B,0x008B,0x008B},
+ {0x008C,0x008C,0x008C}, {0x008D,0x008D,0x008D},
+ {0x008E,0x008E,0x008E}, {0x008F,0x008F,0x008F},
+ {0x0090,0x0090,0x0090}, {0x0091,0x0091,0x0091},
+ {0x0092,0x0092,0x0092}, {0x0093,0x0093,0x0093},
+ {0x0094,0x0094,0x0094}, {0x0095,0x0095,0x0095},
+ {0x0096,0x0096,0x0096}, {0x0097,0x0097,0x0097},
+ {0x0098,0x0098,0x0098}, {0x0099,0x0099,0x0099},
+ {0x009A,0x009A,0x009A}, {0x009B,0x009B,0x009B},
+ {0x009C,0x009C,0x009C}, {0x009D,0x009D,0x009D},
+ {0x009E,0x009E,0x009E}, {0x009F,0x009F,0x009F},
+ {0x00A0,0x00A0,0x00A0}, {0x00A1,0x00A1,0x00A1},
+ {0x00A2,0x00A2,0x00A2}, {0x00A3,0x00A3,0x00A3},
+ {0x00A4,0x00A4,0x00A4}, {0x00A5,0x00A5,0x00A5},
+ {0x00A6,0x00A6,0x00A6}, {0x00A7,0x00A7,0x00A7},
+ {0x00A8,0x00A8,0x00A8}, {0x00A9,0x00A9,0x00A9},
+ {0x00AA,0x00AA,0x00AA}, {0x00AB,0x00AB,0x00AB},
+ {0x00AC,0x00AC,0x00AC}, {0x00AD,0x00AD,0x00AD},
+ {0x00AE,0x00AE,0x00AE}, {0x00AF,0x00AF,0x00AF},
+ {0x00B0,0x00B0,0x00B0}, {0x00B1,0x00B1,0x00B1},
+ {0x00B2,0x00B2,0x00B2}, {0x00B3,0x00B3,0x00B3},
+ {0x00B4,0x00B4,0x00B4}, {0x039C,0x00B5,0x039C},
+ {0x00B6,0x00B6,0x00B6}, {0x00B7,0x00B7,0x00B7},
+ {0x00B8,0x00B8,0x00B8}, {0x00B9,0x00B9,0x00B9},
+ {0x00BA,0x00BA,0x00BA}, {0x00BB,0x00BB,0x00BB},
+ {0x00BC,0x00BC,0x00BC}, {0x00BD,0x00BD,0x00BD},
+ {0x00BE,0x00BE,0x00BE}, {0x00BF,0x00BF,0x00BF},
+ {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041},
+ {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041},
+ {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041},
+ {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043},
+ {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045},
+ {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045},
+ {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049},
+ {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049},
+ {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E},
+ {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F},
+ {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F},
+ {0x00D6,0x00F6,0x004F}, {0x00D7,0x00D7,0x00D7},
+ {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055},
+ {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055},
+ {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059},
+ {0x00DE,0x00FE,0x00DE}, {0x00DF,0x00DF,0x00DF},
+ {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041},
+ {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041},
+ {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041},
+ {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043},
+ {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045},
+ {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045},
+ {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049},
+ {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049},
+ {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E},
+ {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F},
+ {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F},
+ {0x00D6,0x00F6,0x004F}, {0x00F7,0x00F7,0x00F7},
+ {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055},
+ {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055},
+ {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059},
+ {0x00DE,0x00FE,0x00DE}, {0x0178,0x00FF,0x0059}
+};
+
+static MY_UNICASE_INFO plane01[]={
+ {0x0100,0x0101,0x0041}, {0x0100,0x0101,0x0041},
+ {0x0102,0x0103,0x0041}, {0x0102,0x0103,0x0041},
+ {0x0104,0x0105,0x0041}, {0x0104,0x0105,0x0041},
+ {0x0106,0x0107,0x0043}, {0x0106,0x0107,0x0043},
+ {0x0108,0x0109,0x0043}, {0x0108,0x0109,0x0043},
+ {0x010A,0x010B,0x0043}, {0x010A,0x010B,0x0043},
+ {0x010C,0x010D,0x0043}, {0x010C,0x010D,0x0043},
+ {0x010E,0x010F,0x0044}, {0x010E,0x010F,0x0044},
+ {0x0110,0x0111,0x0110}, {0x0110,0x0111,0x0110},
+ {0x0112,0x0113,0x0045}, {0x0112,0x0113,0x0045},
+ {0x0114,0x0115,0x0045}, {0x0114,0x0115,0x0045},
+ {0x0116,0x0117,0x0045}, {0x0116,0x0117,0x0045},
+ {0x0118,0x0119,0x0045}, {0x0118,0x0119,0x0045},
+ {0x011A,0x011B,0x0045}, {0x011A,0x011B,0x0045},
+ {0x011C,0x011D,0x0047}, {0x011C,0x011D,0x0047},
+ {0x011E,0x011F,0x0047}, {0x011E,0x011F,0x0047},
+ {0x0120,0x0121,0x0047}, {0x0120,0x0121,0x0047},
+ {0x0122,0x0123,0x0047}, {0x0122,0x0123,0x0047},
+ {0x0124,0x0125,0x0048}, {0x0124,0x0125,0x0048},
+ {0x0126,0x0127,0x0126}, {0x0126,0x0127,0x0126},
+ {0x0128,0x0129,0x0049}, {0x0128,0x0129,0x0049},
+ {0x012A,0x012B,0x0049}, {0x012A,0x012B,0x0049},
+ {0x012C,0x012D,0x0049}, {0x012C,0x012D,0x0049},
+ {0x012E,0x012F,0x0049}, {0x012E,0x012F,0x0049},
+ {0x0130,0x0069,0x0049}, {0x0049,0x0131,0x0049},
+ {0x0132,0x0133,0x0132}, {0x0132,0x0133,0x0132},
+ {0x0134,0x0135,0x004A}, {0x0134,0x0135,0x004A},
+ {0x0136,0x0137,0x004B}, {0x0136,0x0137,0x004B},
+ {0x0138,0x0138,0x0138}, {0x0139,0x013A,0x004C},
+ {0x0139,0x013A,0x004C}, {0x013B,0x013C,0x004C},
+ {0x013B,0x013C,0x004C}, {0x013D,0x013E,0x004C},
+ {0x013D,0x013E,0x004C}, {0x013F,0x0140,0x013F},
+ {0x013F,0x0140,0x013F}, {0x0141,0x0142,0x0141},
+ {0x0141,0x0142,0x0141}, {0x0143,0x0144,0x004E},
+ {0x0143,0x0144,0x004E}, {0x0145,0x0146,0x004E},
+ {0x0145,0x0146,0x004E}, {0x0147,0x0148,0x004E},
+ {0x0147,0x0148,0x004E}, {0x0149,0x0149,0x0149},
+ {0x014A,0x014B,0x014A}, {0x014A,0x014B,0x014A},
+ {0x014C,0x014D,0x004F}, {0x014C,0x014D,0x004F},
+ {0x014E,0x014F,0x004F}, {0x014E,0x014F,0x004F},
+ {0x0150,0x0151,0x004F}, {0x0150,0x0151,0x004F},
+ {0x0152,0x0153,0x0152}, {0x0152,0x0153,0x0152},
+ {0x0154,0x0155,0x0052}, {0x0154,0x0155,0x0052},
+ {0x0156,0x0157,0x0052}, {0x0156,0x0157,0x0052},
+ {0x0158,0x0159,0x0052}, {0x0158,0x0159,0x0052},
+ {0x015A,0x015B,0x0053}, {0x015A,0x015B,0x0053},
+ {0x015C,0x015D,0x0053}, {0x015C,0x015D,0x0053},
+ {0x015E,0x015F,0x0053}, {0x015E,0x015F,0x0053},
+ {0x0160,0x0161,0x0053}, {0x0160,0x0161,0x0053},
+ {0x0162,0x0163,0x0054}, {0x0162,0x0163,0x0054},
+ {0x0164,0x0165,0x0054}, {0x0164,0x0165,0x0054},
+ {0x0166,0x0167,0x0166}, {0x0166,0x0167,0x0166},
+ {0x0168,0x0169,0x0055}, {0x0168,0x0169,0x0055},
+ {0x016A,0x016B,0x0055}, {0x016A,0x016B,0x0055},
+ {0x016C,0x016D,0x0055}, {0x016C,0x016D,0x0055},
+ {0x016E,0x016F,0x0055}, {0x016E,0x016F,0x0055},
+ {0x0170,0x0171,0x0055}, {0x0170,0x0171,0x0055},
+ {0x0172,0x0173,0x0055}, {0x0172,0x0173,0x0055},
+ {0x0174,0x0175,0x0057}, {0x0174,0x0175,0x0057},
+ {0x0176,0x0177,0x0059}, {0x0176,0x0177,0x0059},
+ {0x0178,0x00FF,0x0059}, {0x0179,0x017A,0x005A},
+ {0x0179,0x017A,0x005A}, {0x017B,0x017C,0x005A},
+ {0x017B,0x017C,0x005A}, {0x017D,0x017E,0x005A},
+ {0x017D,0x017E,0x005A}, {0x0053,0x017F,0x0053},
+ {0x0180,0x0180,0x0180}, {0x0181,0x0253,0x0181},
+ {0x0182,0x0183,0x0182}, {0x0182,0x0183,0x0182},
+ {0x0184,0x0185,0x0184}, {0x0184,0x0185,0x0184},
+ {0x0186,0x0254,0x0186}, {0x0187,0x0188,0x0187},
+ {0x0187,0x0188,0x0187}, {0x0189,0x0256,0x0189},
+ {0x018A,0x0257,0x018A}, {0x018B,0x018C,0x018B},
+ {0x018B,0x018C,0x018B}, {0x018D,0x018D,0x018D},
+ {0x018E,0x01DD,0x018E}, {0x018F,0x0259,0x018F},
+ {0x0190,0x025B,0x0190}, {0x0191,0x0192,0x0191},
+ {0x0191,0x0192,0x0191}, {0x0193,0x0260,0x0193},
+ {0x0194,0x0263,0x0194}, {0x01F6,0x0195,0x01F6},
+ {0x0196,0x0269,0x0196}, {0x0197,0x0268,0x0197},
+ {0x0198,0x0199,0x0198}, {0x0198,0x0199,0x0198},
+ {0x019A,0x019A,0x019A}, {0x019B,0x019B,0x019B},
+ {0x019C,0x026F,0x019C}, {0x019D,0x0272,0x019D},
+ {0x019E,0x019E,0x019E}, {0x019F,0x0275,0x019F},
+ {0x01A0,0x01A1,0x004F}, {0x01A0,0x01A1,0x004F},
+ {0x01A2,0x01A3,0x01A2}, {0x01A2,0x01A3,0x01A2},
+ {0x01A4,0x01A5,0x01A4}, {0x01A4,0x01A5,0x01A4},
+ {0x01A6,0x0280,0x01A6}, {0x01A7,0x01A8,0x01A7},
+ {0x01A7,0x01A8,0x01A7}, {0x01A9,0x0283,0x01A9},
+ {0x01AA,0x01AA,0x01AA}, {0x01AB,0x01AB,0x01AB},
+ {0x01AC,0x01AD,0x01AC}, {0x01AC,0x01AD,0x01AC},
+ {0x01AE,0x0288,0x01AE}, {0x01AF,0x01B0,0x0055},
+ {0x01AF,0x01B0,0x0055}, {0x01B1,0x028A,0x01B1},
+ {0x01B2,0x028B,0x01B2}, {0x01B3,0x01B4,0x01B3},
+ {0x01B3,0x01B4,0x01B3}, {0x01B5,0x01B6,0x01B5},
+ {0x01B5,0x01B6,0x01B5}, {0x01B7,0x0292,0x01B7},
+ {0x01B8,0x01B9,0x01B8}, {0x01B8,0x01B9,0x01B8},
+ {0x01BA,0x01BA,0x01BA}, {0x01BB,0x01BB,0x01BB},
+ {0x01BC,0x01BD,0x01BC}, {0x01BC,0x01BD,0x01BC},
+ {0x01BE,0x01BE,0x01BE}, {0x01F7,0x01BF,0x01F7},
+ {0x01C0,0x01C0,0x01C0}, {0x01C1,0x01C1,0x01C1},
+ {0x01C2,0x01C2,0x01C2}, {0x01C3,0x01C3,0x01C3},
+ {0x01C4,0x01C6,0x01C4}, {0x01C4,0x01C6,0x01C4},
+ {0x01C4,0x01C6,0x01C4}, {0x01C7,0x01C9,0x01C7},
+ {0x01C7,0x01C9,0x01C7}, {0x01C7,0x01C9,0x01C7},
+ {0x01CA,0x01CC,0x01CA}, {0x01CA,0x01CC,0x01CA},
+ {0x01CA,0x01CC,0x01CA}, {0x01CD,0x01CE,0x0041},
+ {0x01CD,0x01CE,0x0041}, {0x01CF,0x01D0,0x0049},
+ {0x01CF,0x01D0,0x0049}, {0x01D1,0x01D2,0x004F},
+ {0x01D1,0x01D2,0x004F}, {0x01D3,0x01D4,0x0055},
+ {0x01D3,0x01D4,0x0055}, {0x01D5,0x01D6,0x0055},
+ {0x01D5,0x01D6,0x0055}, {0x01D7,0x01D8,0x0055},
+ {0x01D7,0x01D8,0x0055}, {0x01D9,0x01DA,0x0055},
+ {0x01D9,0x01DA,0x0055}, {0x01DB,0x01DC,0x0055},
+ {0x01DB,0x01DC,0x0055}, {0x018E,0x01DD,0x018E},
+ {0x01DE,0x01DF,0x0041}, {0x01DE,0x01DF,0x0041},
+ {0x01E0,0x01E1,0x0041}, {0x01E0,0x01E1,0x0041},
+ {0x01E2,0x01E3,0x00C6}, {0x01E2,0x01E3,0x00C6},
+ {0x01E4,0x01E5,0x01E4}, {0x01E4,0x01E5,0x01E4},
+ {0x01E6,0x01E7,0x0047}, {0x01E6,0x01E7,0x0047},
+ {0x01E8,0x01E9,0x004B}, {0x01E8,0x01E9,0x004B},
+ {0x01EA,0x01EB,0x004F}, {0x01EA,0x01EB,0x004F},
+ {0x01EC,0x01ED,0x004F}, {0x01EC,0x01ED,0x004F},
+ {0x01EE,0x01EF,0x01B7}, {0x01EE,0x01EF,0x01B7},
+ {0x01F0,0x01F0,0x004A}, {0x01F1,0x01F3,0x01F1},
+ {0x01F1,0x01F3,0x01F1}, {0x01F1,0x01F3,0x01F1},
+ {0x01F4,0x01F5,0x0047}, {0x01F4,0x01F5,0x0047},
+ {0x01F6,0x0195,0x01F6}, {0x01F7,0x01BF,0x01F7},
+ {0x01F8,0x01F9,0x004E}, {0x01F8,0x01F9,0x004E},
+ {0x01FA,0x01FB,0x0041}, {0x01FA,0x01FB,0x0041},
+ {0x01FC,0x01FD,0x00C6}, {0x01FC,0x01FD,0x00C6},
+ {0x01FE,0x01FF,0x00D8}, {0x01FE,0x01FF,0x00D8}
+};
+
+static MY_UNICASE_INFO plane02[]={
+ {0x0200,0x0201,0x0041}, {0x0200,0x0201,0x0041},
+ {0x0202,0x0203,0x0041}, {0x0202,0x0203,0x0041},
+ {0x0204,0x0205,0x0045}, {0x0204,0x0205,0x0045},
+ {0x0206,0x0207,0x0045}, {0x0206,0x0207,0x0045},
+ {0x0208,0x0209,0x0049}, {0x0208,0x0209,0x0049},
+ {0x020A,0x020B,0x0049}, {0x020A,0x020B,0x0049},
+ {0x020C,0x020D,0x004F}, {0x020C,0x020D,0x004F},
+ {0x020E,0x020F,0x004F}, {0x020E,0x020F,0x004F},
+ {0x0210,0x0211,0x0052}, {0x0210,0x0211,0x0052},
+ {0x0212,0x0213,0x0052}, {0x0212,0x0213,0x0052},
+ {0x0214,0x0215,0x0055}, {0x0214,0x0215,0x0055},
+ {0x0216,0x0217,0x0055}, {0x0216,0x0217,0x0055},
+ {0x0218,0x0219,0x0053}, {0x0218,0x0219,0x0053},
+ {0x021A,0x021B,0x0054}, {0x021A,0x021B,0x0054},
+ {0x021C,0x021D,0x021C}, {0x021C,0x021D,0x021C},
+ {0x021E,0x021F,0x0048}, {0x021E,0x021F,0x0048},
+ {0x0220,0x0220,0x0220}, {0x0221,0x0221,0x0221},
+ {0x0222,0x0223,0x0222}, {0x0222,0x0223,0x0222},
+ {0x0224,0x0225,0x0224}, {0x0224,0x0225,0x0224},
+ {0x0226,0x0227,0x0041}, {0x0226,0x0227,0x0041},
+ {0x0228,0x0229,0x0045}, {0x0228,0x0229,0x0045},
+ {0x022A,0x022B,0x004F}, {0x022A,0x022B,0x004F},
+ {0x022C,0x022D,0x004F}, {0x022C,0x022D,0x004F},
+ {0x022E,0x022F,0x004F}, {0x022E,0x022F,0x004F},
+ {0x0230,0x0231,0x004F}, {0x0230,0x0231,0x004F},
+ {0x0232,0x0233,0x0059}, {0x0232,0x0233,0x0059},
+ {0x0234,0x0234,0x0234}, {0x0235,0x0235,0x0235},
+ {0x0236,0x0236,0x0236}, {0x0237,0x0237,0x0237},
+ {0x0238,0x0238,0x0238}, {0x0239,0x0239,0x0239},
+ {0x023A,0x023A,0x023A}, {0x023B,0x023B,0x023B},
+ {0x023C,0x023C,0x023C}, {0x023D,0x023D,0x023D},
+ {0x023E,0x023E,0x023E}, {0x023F,0x023F,0x023F},
+ {0x0240,0x0240,0x0240}, {0x0241,0x0241,0x0241},
+ {0x0242,0x0242,0x0242}, {0x0243,0x0243,0x0243},
+ {0x0244,0x0244,0x0244}, {0x0245,0x0245,0x0245},
+ {0x0246,0x0246,0x0246}, {0x0247,0x0247,0x0247},
+ {0x0248,0x0248,0x0248}, {0x0249,0x0249,0x0249},
+ {0x024A,0x024A,0x024A}, {0x024B,0x024B,0x024B},
+ {0x024C,0x024C,0x024C}, {0x024D,0x024D,0x024D},
+ {0x024E,0x024E,0x024E}, {0x024F,0x024F,0x024F},
+ {0x0250,0x0250,0x0250}, {0x0251,0x0251,0x0251},
+ {0x0252,0x0252,0x0252}, {0x0181,0x0253,0x0181},
+ {0x0186,0x0254,0x0186}, {0x0255,0x0255,0x0255},
+ {0x0189,0x0256,0x0189}, {0x018A,0x0257,0x018A},
+ {0x0258,0x0258,0x0258}, {0x018F,0x0259,0x018F},
+ {0x025A,0x025A,0x025A}, {0x0190,0x025B,0x0190},
+ {0x025C,0x025C,0x025C}, {0x025D,0x025D,0x025D},
+ {0x025E,0x025E,0x025E}, {0x025F,0x025F,0x025F},
+ {0x0193,0x0260,0x0193}, {0x0261,0x0261,0x0261},
+ {0x0262,0x0262,0x0262}, {0x0194,0x0263,0x0194},
+ {0x0264,0x0264,0x0264}, {0x0265,0x0265,0x0265},
+ {0x0266,0x0266,0x0266}, {0x0267,0x0267,0x0267},
+ {0x0197,0x0268,0x0197}, {0x0196,0x0269,0x0196},
+ {0x026A,0x026A,0x026A}, {0x026B,0x026B,0x026B},
+ {0x026C,0x026C,0x026C}, {0x026D,0x026D,0x026D},
+ {0x026E,0x026E,0x026E}, {0x019C,0x026F,0x019C},
+ {0x0270,0x0270,0x0270}, {0x0271,0x0271,0x0271},
+ {0x019D,0x0272,0x019D}, {0x0273,0x0273,0x0273},
+ {0x0274,0x0274,0x0274}, {0x019F,0x0275,0x019F},
+ {0x0276,0x0276,0x0276}, {0x0277,0x0277,0x0277},
+ {0x0278,0x0278,0x0278}, {0x0279,0x0279,0x0279},
+ {0x027A,0x027A,0x027A}, {0x027B,0x027B,0x027B},
+ {0x027C,0x027C,0x027C}, {0x027D,0x027D,0x027D},
+ {0x027E,0x027E,0x027E}, {0x027F,0x027F,0x027F},
+ {0x01A6,0x0280,0x01A6}, {0x0281,0x0281,0x0281},
+ {0x0282,0x0282,0x0282}, {0x01A9,0x0283,0x01A9},
+ {0x0284,0x0284,0x0284}, {0x0285,0x0285,0x0285},
+ {0x0286,0x0286,0x0286}, {0x0287,0x0287,0x0287},
+ {0x01AE,0x0288,0x01AE}, {0x0289,0x0289,0x0289},
+ {0x01B1,0x028A,0x01B1}, {0x01B2,0x028B,0x01B2},
+ {0x028C,0x028C,0x028C}, {0x028D,0x028D,0x028D},
+ {0x028E,0x028E,0x028E}, {0x028F,0x028F,0x028F},
+ {0x0290,0x0290,0x0290}, {0x0291,0x0291,0x0291},
+ {0x01B7,0x0292,0x01B7}, {0x0293,0x0293,0x0293},
+ {0x0294,0x0294,0x0294}, {0x0295,0x0295,0x0295},
+ {0x0296,0x0296,0x0296}, {0x0297,0x0297,0x0297},
+ {0x0298,0x0298,0x0298}, {0x0299,0x0299,0x0299},
+ {0x029A,0x029A,0x029A}, {0x029B,0x029B,0x029B},
+ {0x029C,0x029C,0x029C}, {0x029D,0x029D,0x029D},
+ {0x029E,0x029E,0x029E}, {0x029F,0x029F,0x029F},
+ {0x02A0,0x02A0,0x02A0}, {0x02A1,0x02A1,0x02A1},
+ {0x02A2,0x02A2,0x02A2}, {0x02A3,0x02A3,0x02A3},
+ {0x02A4,0x02A4,0x02A4}, {0x02A5,0x02A5,0x02A5},
+ {0x02A6,0x02A6,0x02A6}, {0x02A7,0x02A7,0x02A7},
+ {0x02A8,0x02A8,0x02A8}, {0x02A9,0x02A9,0x02A9},
+ {0x02AA,0x02AA,0x02AA}, {0x02AB,0x02AB,0x02AB},
+ {0x02AC,0x02AC,0x02AC}, {0x02AD,0x02AD,0x02AD},
+ {0x02AE,0x02AE,0x02AE}, {0x02AF,0x02AF,0x02AF},
+ {0x02B0,0x02B0,0x02B0}, {0x02B1,0x02B1,0x02B1},
+ {0x02B2,0x02B2,0x02B2}, {0x02B3,0x02B3,0x02B3},
+ {0x02B4,0x02B4,0x02B4}, {0x02B5,0x02B5,0x02B5},
+ {0x02B6,0x02B6,0x02B6}, {0x02B7,0x02B7,0x02B7},
+ {0x02B8,0x02B8,0x02B8}, {0x02B9,0x02B9,0x02B9},
+ {0x02BA,0x02BA,0x02BA}, {0x02BB,0x02BB,0x02BB},
+ {0x02BC,0x02BC,0x02BC}, {0x02BD,0x02BD,0x02BD},
+ {0x02BE,0x02BE,0x02BE}, {0x02BF,0x02BF,0x02BF},
+ {0x02C0,0x02C0,0x02C0}, {0x02C1,0x02C1,0x02C1},
+ {0x02C2,0x02C2,0x02C2}, {0x02C3,0x02C3,0x02C3},
+ {0x02C4,0x02C4,0x02C4}, {0x02C5,0x02C5,0x02C5},
+ {0x02C6,0x02C6,0x02C6}, {0x02C7,0x02C7,0x02C7},
+ {0x02C8,0x02C8,0x02C8}, {0x02C9,0x02C9,0x02C9},
+ {0x02CA,0x02CA,0x02CA}, {0x02CB,0x02CB,0x02CB},
+ {0x02CC,0x02CC,0x02CC}, {0x02CD,0x02CD,0x02CD},
+ {0x02CE,0x02CE,0x02CE}, {0x02CF,0x02CF,0x02CF},
+ {0x02D0,0x02D0,0x02D0}, {0x02D1,0x02D1,0x02D1},
+ {0x02D2,0x02D2,0x02D2}, {0x02D3,0x02D3,0x02D3},
+ {0x02D4,0x02D4,0x02D4}, {0x02D5,0x02D5,0x02D5},
+ {0x02D6,0x02D6,0x02D6}, {0x02D7,0x02D7,0x02D7},
+ {0x02D8,0x02D8,0x02D8}, {0x02D9,0x02D9,0x02D9},
+ {0x02DA,0x02DA,0x02DA}, {0x02DB,0x02DB,0x02DB},
+ {0x02DC,0x02DC,0x02DC}, {0x02DD,0x02DD,0x02DD},
+ {0x02DE,0x02DE,0x02DE}, {0x02DF,0x02DF,0x02DF},
+ {0x02E0,0x02E0,0x02E0}, {0x02E1,0x02E1,0x02E1},
+ {0x02E2,0x02E2,0x02E2}, {0x02E3,0x02E3,0x02E3},
+ {0x02E4,0x02E4,0x02E4}, {0x02E5,0x02E5,0x02E5},
+ {0x02E6,0x02E6,0x02E6}, {0x02E7,0x02E7,0x02E7},
+ {0x02E8,0x02E8,0x02E8}, {0x02E9,0x02E9,0x02E9},
+ {0x02EA,0x02EA,0x02EA}, {0x02EB,0x02EB,0x02EB},
+ {0x02EC,0x02EC,0x02EC}, {0x02ED,0x02ED,0x02ED},
+ {0x02EE,0x02EE,0x02EE}, {0x02EF,0x02EF,0x02EF},
+ {0x02F0,0x02F0,0x02F0}, {0x02F1,0x02F1,0x02F1},
+ {0x02F2,0x02F2,0x02F2}, {0x02F3,0x02F3,0x02F3},
+ {0x02F4,0x02F4,0x02F4}, {0x02F5,0x02F5,0x02F5},
+ {0x02F6,0x02F6,0x02F6}, {0x02F7,0x02F7,0x02F7},
+ {0x02F8,0x02F8,0x02F8}, {0x02F9,0x02F9,0x02F9},
+ {0x02FA,0x02FA,0x02FA}, {0x02FB,0x02FB,0x02FB},
+ {0x02FC,0x02FC,0x02FC}, {0x02FD,0x02FD,0x02FD},
+ {0x02FE,0x02FE,0x02FE}, {0x02FF,0x02FF,0x02FF}
+};
+
+static MY_UNICASE_INFO plane03[]={
+ {0x0300,0x0300,0x0300}, {0x0301,0x0301,0x0301},
+ {0x0302,0x0302,0x0302}, {0x0303,0x0303,0x0303},
+ {0x0304,0x0304,0x0304}, {0x0305,0x0305,0x0305},
+ {0x0306,0x0306,0x0306}, {0x0307,0x0307,0x0307},
+ {0x0308,0x0308,0x0308}, {0x0309,0x0309,0x0309},
+ {0x030A,0x030A,0x030A}, {0x030B,0x030B,0x030B},
+ {0x030C,0x030C,0x030C}, {0x030D,0x030D,0x030D},
+ {0x030E,0x030E,0x030E}, {0x030F,0x030F,0x030F},
+ {0x0310,0x0310,0x0310}, {0x0311,0x0311,0x0311},
+ {0x0312,0x0312,0x0312}, {0x0313,0x0313,0x0313},
+ {0x0314,0x0314,0x0314}, {0x0315,0x0315,0x0315},
+ {0x0316,0x0316,0x0316}, {0x0317,0x0317,0x0317},
+ {0x0318,0x0318,0x0318}, {0x0319,0x0319,0x0319},
+ {0x031A,0x031A,0x031A}, {0x031B,0x031B,0x031B},
+ {0x031C,0x031C,0x031C}, {0x031D,0x031D,0x031D},
+ {0x031E,0x031E,0x031E}, {0x031F,0x031F,0x031F},
+ {0x0320,0x0320,0x0320}, {0x0321,0x0321,0x0321},
+ {0x0322,0x0322,0x0322}, {0x0323,0x0323,0x0323},
+ {0x0324,0x0324,0x0324}, {0x0325,0x0325,0x0325},
+ {0x0326,0x0326,0x0326}, {0x0327,0x0327,0x0327},
+ {0x0328,0x0328,0x0328}, {0x0329,0x0329,0x0329},
+ {0x032A,0x032A,0x032A}, {0x032B,0x032B,0x032B},
+ {0x032C,0x032C,0x032C}, {0x032D,0x032D,0x032D},
+ {0x032E,0x032E,0x032E}, {0x032F,0x032F,0x032F},
+ {0x0330,0x0330,0x0330}, {0x0331,0x0331,0x0331},
+ {0x0332,0x0332,0x0332}, {0x0333,0x0333,0x0333},
+ {0x0334,0x0334,0x0334}, {0x0335,0x0335,0x0335},
+ {0x0336,0x0336,0x0336}, {0x0337,0x0337,0x0337},
+ {0x0338,0x0338,0x0338}, {0x0339,0x0339,0x0339},
+ {0x033A,0x033A,0x033A}, {0x033B,0x033B,0x033B},
+ {0x033C,0x033C,0x033C}, {0x033D,0x033D,0x033D},
+ {0x033E,0x033E,0x033E}, {0x033F,0x033F,0x033F},
+ {0x0340,0x0340,0x0340}, {0x0341,0x0341,0x0341},
+ {0x0342,0x0342,0x0342}, {0x0343,0x0343,0x0343},
+ {0x0344,0x0344,0x0344}, {0x0399,0x0345,0x0399},
+ {0x0346,0x0346,0x0346}, {0x0347,0x0347,0x0347},
+ {0x0348,0x0348,0x0348}, {0x0349,0x0349,0x0349},
+ {0x034A,0x034A,0x034A}, {0x034B,0x034B,0x034B},
+ {0x034C,0x034C,0x034C}, {0x034D,0x034D,0x034D},
+ {0x034E,0x034E,0x034E}, {0x034F,0x034F,0x034F},
+ {0x0350,0x0350,0x0350}, {0x0351,0x0351,0x0351},
+ {0x0352,0x0352,0x0352}, {0x0353,0x0353,0x0353},
+ {0x0354,0x0354,0x0354}, {0x0355,0x0355,0x0355},
+ {0x0356,0x0356,0x0356}, {0x0357,0x0357,0x0357},
+ {0x0358,0x0358,0x0358}, {0x0359,0x0359,0x0359},
+ {0x035A,0x035A,0x035A}, {0x035B,0x035B,0x035B},
+ {0x035C,0x035C,0x035C}, {0x035D,0x035D,0x035D},
+ {0x035E,0x035E,0x035E}, {0x035F,0x035F,0x035F},
+ {0x0360,0x0360,0x0360}, {0x0361,0x0361,0x0361},
+ {0x0362,0x0362,0x0362}, {0x0363,0x0363,0x0363},
+ {0x0364,0x0364,0x0364}, {0x0365,0x0365,0x0365},
+ {0x0366,0x0366,0x0366}, {0x0367,0x0367,0x0367},
+ {0x0368,0x0368,0x0368}, {0x0369,0x0369,0x0369},
+ {0x036A,0x036A,0x036A}, {0x036B,0x036B,0x036B},
+ {0x036C,0x036C,0x036C}, {0x036D,0x036D,0x036D},
+ {0x036E,0x036E,0x036E}, {0x036F,0x036F,0x036F},
+ {0x0370,0x0370,0x0370}, {0x0371,0x0371,0x0371},
+ {0x0372,0x0372,0x0372}, {0x0373,0x0373,0x0373},
+ {0x0374,0x0374,0x0374}, {0x0375,0x0375,0x0375},
+ {0x0376,0x0376,0x0376}, {0x0377,0x0377,0x0377},
+ {0x0378,0x0378,0x0378}, {0x0379,0x0379,0x0379},
+ {0x037A,0x037A,0x037A}, {0x037B,0x037B,0x037B},
+ {0x037C,0x037C,0x037C}, {0x037D,0x037D,0x037D},
+ {0x037E,0x037E,0x037E}, {0x037F,0x037F,0x037F},
+ {0x0380,0x0380,0x0380}, {0x0381,0x0381,0x0381},
+ {0x0382,0x0382,0x0382}, {0x0383,0x0383,0x0383},
+ {0x0384,0x0384,0x0384}, {0x0385,0x0385,0x0385},
+ {0x0386,0x03AC,0x0391}, {0x0387,0x0387,0x0387},
+ {0x0388,0x03AD,0x0395}, {0x0389,0x03AE,0x0397},
+ {0x038A,0x03AF,0x0399}, {0x038B,0x038B,0x038B},
+ {0x038C,0x03CC,0x039F}, {0x038D,0x038D,0x038D},
+ {0x038E,0x03CD,0x03A5}, {0x038F,0x03CE,0x03A9},
+ {0x0390,0x0390,0x0399}, {0x0391,0x03B1,0x0391},
+ {0x0392,0x03B2,0x0392}, {0x0393,0x03B3,0x0393},
+ {0x0394,0x03B4,0x0394}, {0x0395,0x03B5,0x0395},
+ {0x0396,0x03B6,0x0396}, {0x0397,0x03B7,0x0397},
+ {0x0398,0x03B8,0x0398}, {0x0399,0x03B9,0x0399},
+ {0x039A,0x03BA,0x039A}, {0x039B,0x03BB,0x039B},
+ {0x039C,0x03BC,0x039C}, {0x039D,0x03BD,0x039D},
+ {0x039E,0x03BE,0x039E}, {0x039F,0x03BF,0x039F},
+ {0x03A0,0x03C0,0x03A0}, {0x03A1,0x03C1,0x03A1},
+ {0x03A2,0x03A2,0x03A2}, {0x03A3,0x03C3,0x03A3},
+ {0x03A4,0x03C4,0x03A4}, {0x03A5,0x03C5,0x03A5},
+ {0x03A6,0x03C6,0x03A6}, {0x03A7,0x03C7,0x03A7},
+ {0x03A8,0x03C8,0x03A8}, {0x03A9,0x03C9,0x03A9},
+ {0x03AA,0x03CA,0x0399}, {0x03AB,0x03CB,0x03A5},
+ {0x0386,0x03AC,0x0391}, {0x0388,0x03AD,0x0395},
+ {0x0389,0x03AE,0x0397}, {0x038A,0x03AF,0x0399},
+ {0x03B0,0x03B0,0x03A5}, {0x0391,0x03B1,0x0391},
+ {0x0392,0x03B2,0x0392}, {0x0393,0x03B3,0x0393},
+ {0x0394,0x03B4,0x0394}, {0x0395,0x03B5,0x0395},
+ {0x0396,0x03B6,0x0396}, {0x0397,0x03B7,0x0397},
+ {0x0398,0x03B8,0x0398}, {0x0399,0x03B9,0x0399},
+ {0x039A,0x03BA,0x039A}, {0x039B,0x03BB,0x039B},
+ {0x039C,0x03BC,0x039C}, {0x039D,0x03BD,0x039D},
+ {0x039E,0x03BE,0x039E}, {0x039F,0x03BF,0x039F},
+ {0x03A0,0x03C0,0x03A0}, {0x03A1,0x03C1,0x03A1},
+ {0x03A3,0x03C2,0x03A3}, {0x03A3,0x03C3,0x03A3},
+ {0x03A4,0x03C4,0x03A4}, {0x03A5,0x03C5,0x03A5},
+ {0x03A6,0x03C6,0x03A6}, {0x03A7,0x03C7,0x03A7},
+ {0x03A8,0x03C8,0x03A8}, {0x03A9,0x03C9,0x03A9},
+ {0x03AA,0x03CA,0x0399}, {0x03AB,0x03CB,0x03A5},
+ {0x038C,0x03CC,0x039F}, {0x038E,0x03CD,0x03A5},
+ {0x038F,0x03CE,0x03A9}, {0x03CF,0x03CF,0x03CF},
+ {0x0392,0x03D0,0x0392}, {0x0398,0x03D1,0x0398},
+ {0x03D2,0x03D2,0x03D2}, {0x03D3,0x03D3,0x03D2},
+ {0x03D4,0x03D4,0x03D2}, {0x03A6,0x03D5,0x03A6},
+ {0x03A0,0x03D6,0x03A0}, {0x03D7,0x03D7,0x03D7},
+ {0x03D8,0x03D8,0x03D8}, {0x03D9,0x03D9,0x03D9},
+ {0x03DA,0x03DB,0x03DA}, {0x03DA,0x03DB,0x03DA},
+ {0x03DC,0x03DD,0x03DC}, {0x03DC,0x03DD,0x03DC},
+ {0x03DE,0x03DF,0x03DE}, {0x03DE,0x03DF,0x03DE},
+ {0x03E0,0x03E1,0x03E0}, {0x03E0,0x03E1,0x03E0},
+ {0x03E2,0x03E3,0x03E2}, {0x03E2,0x03E3,0x03E2},
+ {0x03E4,0x03E5,0x03E4}, {0x03E4,0x03E5,0x03E4},
+ {0x03E6,0x03E7,0x03E6}, {0x03E6,0x03E7,0x03E6},
+ {0x03E8,0x03E9,0x03E8}, {0x03E8,0x03E9,0x03E8},
+ {0x03EA,0x03EB,0x03EA}, {0x03EA,0x03EB,0x03EA},
+ {0x03EC,0x03ED,0x03EC}, {0x03EC,0x03ED,0x03EC},
+ {0x03EE,0x03EF,0x03EE}, {0x03EE,0x03EF,0x03EE},
+ {0x039A,0x03F0,0x039A}, {0x03A1,0x03F1,0x03A1},
+ {0x03A3,0x03F2,0x03A3}, {0x03F3,0x03F3,0x03F3},
+ {0x03F4,0x03F4,0x03F4}, {0x03F5,0x03F5,0x03F5},
+ {0x03F6,0x03F6,0x03F6}, {0x03F7,0x03F7,0x03F7},
+ {0x03F8,0x03F8,0x03F8}, {0x03F9,0x03F9,0x03F9},
+ {0x03FA,0x03FA,0x03FA}, {0x03FB,0x03FB,0x03FB},
+ {0x03FC,0x03FC,0x03FC}, {0x03FD,0x03FD,0x03FD},
+ {0x03FE,0x03FE,0x03FE}, {0x03FF,0x03FF,0x03FF}
+};
+
+static MY_UNICASE_INFO plane04[]={
+ {0x0400,0x0450,0x0415}, {0x0401,0x0451,0x0415},
+ {0x0402,0x0452,0x0402}, {0x0403,0x0453,0x0413},
+ {0x0404,0x0454,0x0404}, {0x0405,0x0455,0x0405},
+ {0x0406,0x0456,0x0406}, {0x0407,0x0457,0x0406},
+ {0x0408,0x0458,0x0408}, {0x0409,0x0459,0x0409},
+ {0x040A,0x045A,0x040A}, {0x040B,0x045B,0x040B},
+ {0x040C,0x045C,0x041A}, {0x040D,0x045D,0x0418},
+ {0x040E,0x045E,0x0423}, {0x040F,0x045F,0x040F},
+ {0x0410,0x0430,0x0410}, {0x0411,0x0431,0x0411},
+ {0x0412,0x0432,0x0412}, {0x0413,0x0433,0x0413},
+ {0x0414,0x0434,0x0414}, {0x0415,0x0435,0x0415},
+ {0x0416,0x0436,0x0416}, {0x0417,0x0437,0x0417},
+ {0x0418,0x0438,0x0418}, {0x0419,0x0439,0x0418},
+ {0x041A,0x043A,0x041A}, {0x041B,0x043B,0x041B},
+ {0x041C,0x043C,0x041C}, {0x041D,0x043D,0x041D},
+ {0x041E,0x043E,0x041E}, {0x041F,0x043F,0x041F},
+ {0x0420,0x0440,0x0420}, {0x0421,0x0441,0x0421},
+ {0x0422,0x0442,0x0422}, {0x0423,0x0443,0x0423},
+ {0x0424,0x0444,0x0424}, {0x0425,0x0445,0x0425},
+ {0x0426,0x0446,0x0426}, {0x0427,0x0447,0x0427},
+ {0x0428,0x0448,0x0428}, {0x0429,0x0449,0x0429},
+ {0x042A,0x044A,0x042A}, {0x042B,0x044B,0x042B},
+ {0x042C,0x044C,0x042C}, {0x042D,0x044D,0x042D},
+ {0x042E,0x044E,0x042E}, {0x042F,0x044F,0x042F},
+ {0x0410,0x0430,0x0410}, {0x0411,0x0431,0x0411},
+ {0x0412,0x0432,0x0412}, {0x0413,0x0433,0x0413},
+ {0x0414,0x0434,0x0414}, {0x0415,0x0435,0x0415},
+ {0x0416,0x0436,0x0416}, {0x0417,0x0437,0x0417},
+ {0x0418,0x0438,0x0418}, {0x0419,0x0439,0x0418},
+ {0x041A,0x043A,0x041A}, {0x041B,0x043B,0x041B},
+ {0x041C,0x043C,0x041C}, {0x041D,0x043D,0x041D},
+ {0x041E,0x043E,0x041E}, {0x041F,0x043F,0x041F},
+ {0x0420,0x0440,0x0420}, {0x0421,0x0441,0x0421},
+ {0x0422,0x0442,0x0422}, {0x0423,0x0443,0x0423},
+ {0x0424,0x0444,0x0424}, {0x0425,0x0445,0x0425},
+ {0x0426,0x0446,0x0426}, {0x0427,0x0447,0x0427},
+ {0x0428,0x0448,0x0428}, {0x0429,0x0449,0x0429},
+ {0x042A,0x044A,0x042A}, {0x042B,0x044B,0x042B},
+ {0x042C,0x044C,0x042C}, {0x042D,0x044D,0x042D},
+ {0x042E,0x044E,0x042E}, {0x042F,0x044F,0x042F},
+ {0x0400,0x0450,0x0415}, {0x0401,0x0451,0x0415},
+ {0x0402,0x0452,0x0402}, {0x0403,0x0453,0x0413},
+ {0x0404,0x0454,0x0404}, {0x0405,0x0455,0x0405},
+ {0x0406,0x0456,0x0406}, {0x0407,0x0457,0x0406},
+ {0x0408,0x0458,0x0408}, {0x0409,0x0459,0x0409},
+ {0x040A,0x045A,0x040A}, {0x040B,0x045B,0x040B},
+ {0x040C,0x045C,0x041A}, {0x040D,0x045D,0x0418},
+ {0x040E,0x045E,0x0423}, {0x040F,0x045F,0x040F},
+ {0x0460,0x0461,0x0460}, {0x0460,0x0461,0x0460},
+ {0x0462,0x0463,0x0462}, {0x0462,0x0463,0x0462},
+ {0x0464,0x0465,0x0464}, {0x0464,0x0465,0x0464},
+ {0x0466,0x0467,0x0466}, {0x0466,0x0467,0x0466},
+ {0x0468,0x0469,0x0468}, {0x0468,0x0469,0x0468},
+ {0x046A,0x046B,0x046A}, {0x046A,0x046B,0x046A},
+ {0x046C,0x046D,0x046C}, {0x046C,0x046D,0x046C},
+ {0x046E,0x046F,0x046E}, {0x046E,0x046F,0x046E},
+ {0x0470,0x0471,0x0470}, {0x0470,0x0471,0x0470},
+ {0x0472,0x0473,0x0472}, {0x0472,0x0473,0x0472},
+ {0x0474,0x0475,0x0474}, {0x0474,0x0475,0x0474},
+ {0x0476,0x0477,0x0474}, {0x0476,0x0477,0x0474},
+ {0x0478,0x0479,0x0478}, {0x0478,0x0479,0x0478},
+ {0x047A,0x047B,0x047A}, {0x047A,0x047B,0x047A},
+ {0x047C,0x047D,0x047C}, {0x047C,0x047D,0x047C},
+ {0x047E,0x047F,0x047E}, {0x047E,0x047F,0x047E},
+ {0x0480,0x0481,0x0480}, {0x0480,0x0481,0x0480},
+ {0x0482,0x0482,0x0482}, {0x0483,0x0483,0x0483},
+ {0x0484,0x0484,0x0484}, {0x0485,0x0485,0x0485},
+ {0x0486,0x0486,0x0486}, {0x0487,0x0487,0x0487},
+ {0x0488,0x0488,0x0488}, {0x0489,0x0489,0x0489},
+ {0x048A,0x048A,0x048A}, {0x048B,0x048B,0x048B},
+ {0x048C,0x048D,0x048C}, {0x048C,0x048D,0x048C},
+ {0x048E,0x048F,0x048E}, {0x048E,0x048F,0x048E},
+ {0x0490,0x0491,0x0490}, {0x0490,0x0491,0x0490},
+ {0x0492,0x0493,0x0492}, {0x0492,0x0493,0x0492},
+ {0x0494,0x0495,0x0494}, {0x0494,0x0495,0x0494},
+ {0x0496,0x0497,0x0496}, {0x0496,0x0497,0x0496},
+ {0x0498,0x0499,0x0498}, {0x0498,0x0499,0x0498},
+ {0x049A,0x049B,0x049A}, {0x049A,0x049B,0x049A},
+ {0x049C,0x049D,0x049C}, {0x049C,0x049D,0x049C},
+ {0x049E,0x049F,0x049E}, {0x049E,0x049F,0x049E},
+ {0x04A0,0x04A1,0x04A0}, {0x04A0,0x04A1,0x04A0},
+ {0x04A2,0x04A3,0x04A2}, {0x04A2,0x04A3,0x04A2},
+ {0x04A4,0x04A5,0x04A4}, {0x04A4,0x04A5,0x04A4},
+ {0x04A6,0x04A7,0x04A6}, {0x04A6,0x04A7,0x04A6},
+ {0x04A8,0x04A9,0x04A8}, {0x04A8,0x04A9,0x04A8},
+ {0x04AA,0x04AB,0x04AA}, {0x04AA,0x04AB,0x04AA},
+ {0x04AC,0x04AD,0x04AC}, {0x04AC,0x04AD,0x04AC},
+ {0x04AE,0x04AF,0x04AE}, {0x04AE,0x04AF,0x04AE},
+ {0x04B0,0x04B1,0x04B0}, {0x04B0,0x04B1,0x04B0},
+ {0x04B2,0x04B3,0x04B2}, {0x04B2,0x04B3,0x04B2},
+ {0x04B4,0x04B5,0x04B4}, {0x04B4,0x04B5,0x04B4},
+ {0x04B6,0x04B7,0x04B6}, {0x04B6,0x04B7,0x04B6},
+ {0x04B8,0x04B9,0x04B8}, {0x04B8,0x04B9,0x04B8},
+ {0x04BA,0x04BB,0x04BA}, {0x04BA,0x04BB,0x04BA},
+ {0x04BC,0x04BD,0x04BC}, {0x04BC,0x04BD,0x04BC},
+ {0x04BE,0x04BF,0x04BE}, {0x04BE,0x04BF,0x04BE},
+ {0x04C0,0x04C0,0x04C0}, {0x04C1,0x04C2,0x0416},
+ {0x04C1,0x04C2,0x0416}, {0x04C3,0x04C4,0x04C3},
+ {0x04C3,0x04C4,0x04C3}, {0x04C5,0x04C5,0x04C5},
+ {0x04C6,0x04C6,0x04C6}, {0x04C7,0x04C8,0x04C7},
+ {0x04C7,0x04C8,0x04C7}, {0x04C9,0x04C9,0x04C9},
+ {0x04CA,0x04CA,0x04CA}, {0x04CB,0x04CC,0x04CB},
+ {0x04CB,0x04CC,0x04CB}, {0x04CD,0x04CD,0x04CD},
+ {0x04CE,0x04CE,0x04CE}, {0x04CF,0x04CF,0x04CF},
+ {0x04D0,0x04D1,0x0410}, {0x04D0,0x04D1,0x0410},
+ {0x04D2,0x04D3,0x0410}, {0x04D2,0x04D3,0x0410},
+ {0x04D4,0x04D5,0x04D4}, {0x04D4,0x04D5,0x04D4},
+ {0x04D6,0x04D7,0x0415}, {0x04D6,0x04D7,0x0415},
+ {0x04D8,0x04D9,0x04D8}, {0x04D8,0x04D9,0x04D8},
+ {0x04DA,0x04DB,0x04D8}, {0x04DA,0x04DB,0x04D8},
+ {0x04DC,0x04DD,0x0416}, {0x04DC,0x04DD,0x0416},
+ {0x04DE,0x04DF,0x0417}, {0x04DE,0x04DF,0x0417},
+ {0x04E0,0x04E1,0x04E0}, {0x04E0,0x04E1,0x04E0},
+ {0x04E2,0x04E3,0x0418}, {0x04E2,0x04E3,0x0418},
+ {0x04E4,0x04E5,0x0418}, {0x04E4,0x04E5,0x0418},
+ {0x04E6,0x04E7,0x041E}, {0x04E6,0x04E7,0x041E},
+ {0x04E8,0x04E9,0x04E8}, {0x04E8,0x04E9,0x04E8},
+ {0x04EA,0x04EB,0x04E8}, {0x04EA,0x04EB,0x04E8},
+ {0x04EC,0x04ED,0x042D}, {0x04EC,0x04ED,0x042D},
+ {0x04EE,0x04EF,0x0423}, {0x04EE,0x04EF,0x0423},
+ {0x04F0,0x04F1,0x0423}, {0x04F0,0x04F1,0x0423},
+ {0x04F2,0x04F3,0x0423}, {0x04F2,0x04F3,0x0423},
+ {0x04F4,0x04F5,0x0427}, {0x04F4,0x04F5,0x0427},
+ {0x04F6,0x04F6,0x04F6}, {0x04F7,0x04F7,0x04F7},
+ {0x04F8,0x04F9,0x042B}, {0x04F8,0x04F9,0x042B},
+ {0x04FA,0x04FA,0x04FA}, {0x04FB,0x04FB,0x04FB},
+ {0x04FC,0x04FC,0x04FC}, {0x04FD,0x04FD,0x04FD},
+ {0x04FE,0x04FE,0x04FE}, {0x04FF,0x04FF,0x04FF}
+};
+
+static MY_UNICASE_INFO plane05[]={
+ {0x0500,0x0500,0x0500}, {0x0501,0x0501,0x0501},
+ {0x0502,0x0502,0x0502}, {0x0503,0x0503,0x0503},
+ {0x0504,0x0504,0x0504}, {0x0505,0x0505,0x0505},
+ {0x0506,0x0506,0x0506}, {0x0507,0x0507,0x0507},
+ {0x0508,0x0508,0x0508}, {0x0509,0x0509,0x0509},
+ {0x050A,0x050A,0x050A}, {0x050B,0x050B,0x050B},
+ {0x050C,0x050C,0x050C}, {0x050D,0x050D,0x050D},
+ {0x050E,0x050E,0x050E}, {0x050F,0x050F,0x050F},
+ {0x0510,0x0510,0x0510}, {0x0511,0x0511,0x0511},
+ {0x0512,0x0512,0x0512}, {0x0513,0x0513,0x0513},
+ {0x0514,0x0514,0x0514}, {0x0515,0x0515,0x0515},
+ {0x0516,0x0516,0x0516}, {0x0517,0x0517,0x0517},
+ {0x0518,0x0518,0x0518}, {0x0519,0x0519,0x0519},
+ {0x051A,0x051A,0x051A}, {0x051B,0x051B,0x051B},
+ {0x051C,0x051C,0x051C}, {0x051D,0x051D,0x051D},
+ {0x051E,0x051E,0x051E}, {0x051F,0x051F,0x051F},
+ {0x0520,0x0520,0x0520}, {0x0521,0x0521,0x0521},
+ {0x0522,0x0522,0x0522}, {0x0523,0x0523,0x0523},
+ {0x0524,0x0524,0x0524}, {0x0525,0x0525,0x0525},
+ {0x0526,0x0526,0x0526}, {0x0527,0x0527,0x0527},
+ {0x0528,0x0528,0x0528}, {0x0529,0x0529,0x0529},
+ {0x052A,0x052A,0x052A}, {0x052B,0x052B,0x052B},
+ {0x052C,0x052C,0x052C}, {0x052D,0x052D,0x052D},
+ {0x052E,0x052E,0x052E}, {0x052F,0x052F,0x052F},
+ {0x0530,0x0530,0x0530}, {0x0531,0x0561,0x0531},
+ {0x0532,0x0562,0x0532}, {0x0533,0x0563,0x0533},
+ {0x0534,0x0564,0x0534}, {0x0535,0x0565,0x0535},
+ {0x0536,0x0566,0x0536}, {0x0537,0x0567,0x0537},
+ {0x0538,0x0568,0x0538}, {0x0539,0x0569,0x0539},
+ {0x053A,0x056A,0x053A}, {0x053B,0x056B,0x053B},
+ {0x053C,0x056C,0x053C}, {0x053D,0x056D,0x053D},
+ {0x053E,0x056E,0x053E}, {0x053F,0x056F,0x053F},
+ {0x0540,0x0570,0x0540}, {0x0541,0x0571,0x0541},
+ {0x0542,0x0572,0x0542}, {0x0543,0x0573,0x0543},
+ {0x0544,0x0574,0x0544}, {0x0545,0x0575,0x0545},
+ {0x0546,0x0576,0x0546}, {0x0547,0x0577,0x0547},
+ {0x0548,0x0578,0x0548}, {0x0549,0x0579,0x0549},
+ {0x054A,0x057A,0x054A}, {0x054B,0x057B,0x054B},
+ {0x054C,0x057C,0x054C}, {0x054D,0x057D,0x054D},
+ {0x054E,0x057E,0x054E}, {0x054F,0x057F,0x054F},
+ {0x0550,0x0580,0x0550}, {0x0551,0x0581,0x0551},
+ {0x0552,0x0582,0x0552}, {0x0553,0x0583,0x0553},
+ {0x0554,0x0584,0x0554}, {0x0555,0x0585,0x0555},
+ {0x0556,0x0586,0x0556}, {0x0557,0x0557,0x0557},
+ {0x0558,0x0558,0x0558}, {0x0559,0x0559,0x0559},
+ {0x055A,0x055A,0x055A}, {0x055B,0x055B,0x055B},
+ {0x055C,0x055C,0x055C}, {0x055D,0x055D,0x055D},
+ {0x055E,0x055E,0x055E}, {0x055F,0x055F,0x055F},
+ {0x0560,0x0560,0x0560}, {0x0531,0x0561,0x0531},
+ {0x0532,0x0562,0x0532}, {0x0533,0x0563,0x0533},
+ {0x0534,0x0564,0x0534}, {0x0535,0x0565,0x0535},
+ {0x0536,0x0566,0x0536}, {0x0537,0x0567,0x0537},
+ {0x0538,0x0568,0x0538}, {0x0539,0x0569,0x0539},
+ {0x053A,0x056A,0x053A}, {0x053B,0x056B,0x053B},
+ {0x053C,0x056C,0x053C}, {0x053D,0x056D,0x053D},
+ {0x053E,0x056E,0x053E}, {0x053F,0x056F,0x053F},
+ {0x0540,0x0570,0x0540}, {0x0541,0x0571,0x0541},
+ {0x0542,0x0572,0x0542}, {0x0543,0x0573,0x0543},
+ {0x0544,0x0574,0x0544}, {0x0545,0x0575,0x0545},
+ {0x0546,0x0576,0x0546}, {0x0547,0x0577,0x0547},
+ {0x0548,0x0578,0x0548}, {0x0549,0x0579,0x0549},
+ {0x054A,0x057A,0x054A}, {0x054B,0x057B,0x054B},
+ {0x054C,0x057C,0x054C}, {0x054D,0x057D,0x054D},
+ {0x054E,0x057E,0x054E}, {0x054F,0x057F,0x054F},
+ {0x0550,0x0580,0x0550}, {0x0551,0x0581,0x0551},
+ {0x0552,0x0582,0x0552}, {0x0553,0x0583,0x0553},
+ {0x0554,0x0584,0x0554}, {0x0555,0x0585,0x0555},
+ {0x0556,0x0586,0x0556}, {0x0587,0x0587,0x0587},
+ {0x0588,0x0588,0x0588}, {0x0589,0x0589,0x0589},
+ {0x058A,0x058A,0x058A}, {0x058B,0x058B,0x058B},
+ {0x058C,0x058C,0x058C}, {0x058D,0x058D,0x058D},
+ {0x058E,0x058E,0x058E}, {0x058F,0x058F,0x058F},
+ {0x0590,0x0590,0x0590}, {0x0591,0x0591,0x0591},
+ {0x0592,0x0592,0x0592}, {0x0593,0x0593,0x0593},
+ {0x0594,0x0594,0x0594}, {0x0595,0x0595,0x0595},
+ {0x0596,0x0596,0x0596}, {0x0597,0x0597,0x0597},
+ {0x0598,0x0598,0x0598}, {0x0599,0x0599,0x0599},
+ {0x059A,0x059A,0x059A}, {0x059B,0x059B,0x059B},
+ {0x059C,0x059C,0x059C}, {0x059D,0x059D,0x059D},
+ {0x059E,0x059E,0x059E}, {0x059F,0x059F,0x059F},
+ {0x05A0,0x05A0,0x05A0}, {0x05A1,0x05A1,0x05A1},
+ {0x05A2,0x05A2,0x05A2}, {0x05A3,0x05A3,0x05A3},
+ {0x05A4,0x05A4,0x05A4}, {0x05A5,0x05A5,0x05A5},
+ {0x05A6,0x05A6,0x05A6}, {0x05A7,0x05A7,0x05A7},
+ {0x05A8,0x05A8,0x05A8}, {0x05A9,0x05A9,0x05A9},
+ {0x05AA,0x05AA,0x05AA}, {0x05AB,0x05AB,0x05AB},
+ {0x05AC,0x05AC,0x05AC}, {0x05AD,0x05AD,0x05AD},
+ {0x05AE,0x05AE,0x05AE}, {0x05AF,0x05AF,0x05AF},
+ {0x05B0,0x05B0,0x05B0}, {0x05B1,0x05B1,0x05B1},
+ {0x05B2,0x05B2,0x05B2}, {0x05B3,0x05B3,0x05B3},
+ {0x05B4,0x05B4,0x05B4}, {0x05B5,0x05B5,0x05B5},
+ {0x05B6,0x05B6,0x05B6}, {0x05B7,0x05B7,0x05B7},
+ {0x05B8,0x05B8,0x05B8}, {0x05B9,0x05B9,0x05B9},
+ {0x05BA,0x05BA,0x05BA}, {0x05BB,0x05BB,0x05BB},
+ {0x05BC,0x05BC,0x05BC}, {0x05BD,0x05BD,0x05BD},
+ {0x05BE,0x05BE,0x05BE}, {0x05BF,0x05BF,0x05BF},
+ {0x05C0,0x05C0,0x05C0}, {0x05C1,0x05C1,0x05C1},
+ {0x05C2,0x05C2,0x05C2}, {0x05C3,0x05C3,0x05C3},
+ {0x05C4,0x05C4,0x05C4}, {0x05C5,0x05C5,0x05C5},
+ {0x05C6,0x05C6,0x05C6}, {0x05C7,0x05C7,0x05C7},
+ {0x05C8,0x05C8,0x05C8}, {0x05C9,0x05C9,0x05C9},
+ {0x05CA,0x05CA,0x05CA}, {0x05CB,0x05CB,0x05CB},
+ {0x05CC,0x05CC,0x05CC}, {0x05CD,0x05CD,0x05CD},
+ {0x05CE,0x05CE,0x05CE}, {0x05CF,0x05CF,0x05CF},
+ {0x05D0,0x05D0,0x05D0}, {0x05D1,0x05D1,0x05D1},
+ {0x05D2,0x05D2,0x05D2}, {0x05D3,0x05D3,0x05D3},
+ {0x05D4,0x05D4,0x05D4}, {0x05D5,0x05D5,0x05D5},
+ {0x05D6,0x05D6,0x05D6}, {0x05D7,0x05D7,0x05D7},
+ {0x05D8,0x05D8,0x05D8}, {0x05D9,0x05D9,0x05D9},
+ {0x05DA,0x05DA,0x05DA}, {0x05DB,0x05DB,0x05DB},
+ {0x05DC,0x05DC,0x05DC}, {0x05DD,0x05DD,0x05DD},
+ {0x05DE,0x05DE,0x05DE}, {0x05DF,0x05DF,0x05DF},
+ {0x05E0,0x05E0,0x05E0}, {0x05E1,0x05E1,0x05E1},
+ {0x05E2,0x05E2,0x05E2}, {0x05E3,0x05E3,0x05E3},
+ {0x05E4,0x05E4,0x05E4}, {0x05E5,0x05E5,0x05E5},
+ {0x05E6,0x05E6,0x05E6}, {0x05E7,0x05E7,0x05E7},
+ {0x05E8,0x05E8,0x05E8}, {0x05E9,0x05E9,0x05E9},
+ {0x05EA,0x05EA,0x05EA}, {0x05EB,0x05EB,0x05EB},
+ {0x05EC,0x05EC,0x05EC}, {0x05ED,0x05ED,0x05ED},
+ {0x05EE,0x05EE,0x05EE}, {0x05EF,0x05EF,0x05EF},
+ {0x05F0,0x05F0,0x05F0}, {0x05F1,0x05F1,0x05F1},
+ {0x05F2,0x05F2,0x05F2}, {0x05F3,0x05F3,0x05F3},
+ {0x05F4,0x05F4,0x05F4}, {0x05F5,0x05F5,0x05F5},
+ {0x05F6,0x05F6,0x05F6}, {0x05F7,0x05F7,0x05F7},
+ {0x05F8,0x05F8,0x05F8}, {0x05F9,0x05F9,0x05F9},
+ {0x05FA,0x05FA,0x05FA}, {0x05FB,0x05FB,0x05FB},
+ {0x05FC,0x05FC,0x05FC}, {0x05FD,0x05FD,0x05FD},
+ {0x05FE,0x05FE,0x05FE}, {0x05FF,0x05FF,0x05FF}
+};
+
+static MY_UNICASE_INFO plane1E[]={
+ {0x1E00,0x1E01,0x0041}, {0x1E00,0x1E01,0x0041},
+ {0x1E02,0x1E03,0x0042}, {0x1E02,0x1E03,0x0042},
+ {0x1E04,0x1E05,0x0042}, {0x1E04,0x1E05,0x0042},
+ {0x1E06,0x1E07,0x0042}, {0x1E06,0x1E07,0x0042},
+ {0x1E08,0x1E09,0x0043}, {0x1E08,0x1E09,0x0043},
+ {0x1E0A,0x1E0B,0x0044}, {0x1E0A,0x1E0B,0x0044},
+ {0x1E0C,0x1E0D,0x0044}, {0x1E0C,0x1E0D,0x0044},
+ {0x1E0E,0x1E0F,0x0044}, {0x1E0E,0x1E0F,0x0044},
+ {0x1E10,0x1E11,0x0044}, {0x1E10,0x1E11,0x0044},
+ {0x1E12,0x1E13,0x0044}, {0x1E12,0x1E13,0x0044},
+ {0x1E14,0x1E15,0x0045}, {0x1E14,0x1E15,0x0045},
+ {0x1E16,0x1E17,0x0045}, {0x1E16,0x1E17,0x0045},
+ {0x1E18,0x1E19,0x0045}, {0x1E18,0x1E19,0x0045},
+ {0x1E1A,0x1E1B,0x0045}, {0x1E1A,0x1E1B,0x0045},
+ {0x1E1C,0x1E1D,0x0045}, {0x1E1C,0x1E1D,0x0045},
+ {0x1E1E,0x1E1F,0x0046}, {0x1E1E,0x1E1F,0x0046},
+ {0x1E20,0x1E21,0x0047}, {0x1E20,0x1E21,0x0047},
+ {0x1E22,0x1E23,0x0048}, {0x1E22,0x1E23,0x0048},
+ {0x1E24,0x1E25,0x0048}, {0x1E24,0x1E25,0x0048},
+ {0x1E26,0x1E27,0x0048}, {0x1E26,0x1E27,0x0048},
+ {0x1E28,0x1E29,0x0048}, {0x1E28,0x1E29,0x0048},
+ {0x1E2A,0x1E2B,0x0048}, {0x1E2A,0x1E2B,0x0048},
+ {0x1E2C,0x1E2D,0x0049}, {0x1E2C,0x1E2D,0x0049},
+ {0x1E2E,0x1E2F,0x0049}, {0x1E2E,0x1E2F,0x0049},
+ {0x1E30,0x1E31,0x004B}, {0x1E30,0x1E31,0x004B},
+ {0x1E32,0x1E33,0x004B}, {0x1E32,0x1E33,0x004B},
+ {0x1E34,0x1E35,0x004B}, {0x1E34,0x1E35,0x004B},
+ {0x1E36,0x1E37,0x004C}, {0x1E36,0x1E37,0x004C},
+ {0x1E38,0x1E39,0x004C}, {0x1E38,0x1E39,0x004C},
+ {0x1E3A,0x1E3B,0x004C}, {0x1E3A,0x1E3B,0x004C},
+ {0x1E3C,0x1E3D,0x004C}, {0x1E3C,0x1E3D,0x004C},
+ {0x1E3E,0x1E3F,0x004D}, {0x1E3E,0x1E3F,0x004D},
+ {0x1E40,0x1E41,0x004D}, {0x1E40,0x1E41,0x004D},
+ {0x1E42,0x1E43,0x004D}, {0x1E42,0x1E43,0x004D},
+ {0x1E44,0x1E45,0x004E}, {0x1E44,0x1E45,0x004E},
+ {0x1E46,0x1E47,0x004E}, {0x1E46,0x1E47,0x004E},
+ {0x1E48,0x1E49,0x004E}, {0x1E48,0x1E49,0x004E},
+ {0x1E4A,0x1E4B,0x004E}, {0x1E4A,0x1E4B,0x004E},
+ {0x1E4C,0x1E4D,0x004F}, {0x1E4C,0x1E4D,0x004F},
+ {0x1E4E,0x1E4F,0x004F}, {0x1E4E,0x1E4F,0x004F},
+ {0x1E50,0x1E51,0x004F}, {0x1E50,0x1E51,0x004F},
+ {0x1E52,0x1E53,0x004F}, {0x1E52,0x1E53,0x004F},
+ {0x1E54,0x1E55,0x0050}, {0x1E54,0x1E55,0x0050},
+ {0x1E56,0x1E57,0x0050}, {0x1E56,0x1E57,0x0050},
+ {0x1E58,0x1E59,0x0052}, {0x1E58,0x1E59,0x0052},
+ {0x1E5A,0x1E5B,0x0052}, {0x1E5A,0x1E5B,0x0052},
+ {0x1E5C,0x1E5D,0x0052}, {0x1E5C,0x1E5D,0x0052},
+ {0x1E5E,0x1E5F,0x0052}, {0x1E5E,0x1E5F,0x0052},
+ {0x1E60,0x1E61,0x0053}, {0x1E60,0x1E61,0x0053},
+ {0x1E62,0x1E63,0x0053}, {0x1E62,0x1E63,0x0053},
+ {0x1E64,0x1E65,0x0053}, {0x1E64,0x1E65,0x0053},
+ {0x1E66,0x1E67,0x0053}, {0x1E66,0x1E67,0x0053},
+ {0x1E68,0x1E69,0x0053}, {0x1E68,0x1E69,0x0053},
+ {0x1E6A,0x1E6B,0x0054}, {0x1E6A,0x1E6B,0x0054},
+ {0x1E6C,0x1E6D,0x0054}, {0x1E6C,0x1E6D,0x0054},
+ {0x1E6E,0x1E6F,0x0054}, {0x1E6E,0x1E6F,0x0054},
+ {0x1E70,0x1E71,0x0054}, {0x1E70,0x1E71,0x0054},
+ {0x1E72,0x1E73,0x0055}, {0x1E72,0x1E73,0x0055},
+ {0x1E74,0x1E75,0x0055}, {0x1E74,0x1E75,0x0055},
+ {0x1E76,0x1E77,0x0055}, {0x1E76,0x1E77,0x0055},
+ {0x1E78,0x1E79,0x0055}, {0x1E78,0x1E79,0x0055},
+ {0x1E7A,0x1E7B,0x0055}, {0x1E7A,0x1E7B,0x0055},
+ {0x1E7C,0x1E7D,0x0056}, {0x1E7C,0x1E7D,0x0056},
+ {0x1E7E,0x1E7F,0x0056}, {0x1E7E,0x1E7F,0x0056},
+ {0x1E80,0x1E81,0x0057}, {0x1E80,0x1E81,0x0057},
+ {0x1E82,0x1E83,0x0057}, {0x1E82,0x1E83,0x0057},
+ {0x1E84,0x1E85,0x0057}, {0x1E84,0x1E85,0x0057},
+ {0x1E86,0x1E87,0x0057}, {0x1E86,0x1E87,0x0057},
+ {0x1E88,0x1E89,0x0057}, {0x1E88,0x1E89,0x0057},
+ {0x1E8A,0x1E8B,0x0058}, {0x1E8A,0x1E8B,0x0058},
+ {0x1E8C,0x1E8D,0x0058}, {0x1E8C,0x1E8D,0x0058},
+ {0x1E8E,0x1E8F,0x0059}, {0x1E8E,0x1E8F,0x0059},
+ {0x1E90,0x1E91,0x005A}, {0x1E90,0x1E91,0x005A},
+ {0x1E92,0x1E93,0x005A}, {0x1E92,0x1E93,0x005A},
+ {0x1E94,0x1E95,0x005A}, {0x1E94,0x1E95,0x005A},
+ {0x1E96,0x1E96,0x0048}, {0x1E97,0x1E97,0x0054},
+ {0x1E98,0x1E98,0x0057}, {0x1E99,0x1E99,0x0059},
+ {0x1E9A,0x1E9A,0x1E9A}, {0x1E60,0x1E9B,0x0053},
+ {0x1E9C,0x1E9C,0x1E9C}, {0x1E9D,0x1E9D,0x1E9D},
+ {0x1E9E,0x1E9E,0x1E9E}, {0x1E9F,0x1E9F,0x1E9F},
+ {0x1EA0,0x1EA1,0x0041}, {0x1EA0,0x1EA1,0x0041},
+ {0x1EA2,0x1EA3,0x0041}, {0x1EA2,0x1EA3,0x0041},
+ {0x1EA4,0x1EA5,0x0041}, {0x1EA4,0x1EA5,0x0041},
+ {0x1EA6,0x1EA7,0x0041}, {0x1EA6,0x1EA7,0x0041},
+ {0x1EA8,0x1EA9,0x0041}, {0x1EA8,0x1EA9,0x0041},
+ {0x1EAA,0x1EAB,0x0041}, {0x1EAA,0x1EAB,0x0041},
+ {0x1EAC,0x1EAD,0x0041}, {0x1EAC,0x1EAD,0x0041},
+ {0x1EAE,0x1EAF,0x0041}, {0x1EAE,0x1EAF,0x0041},
+ {0x1EB0,0x1EB1,0x0041}, {0x1EB0,0x1EB1,0x0041},
+ {0x1EB2,0x1EB3,0x0041}, {0x1EB2,0x1EB3,0x0041},
+ {0x1EB4,0x1EB5,0x0041}, {0x1EB4,0x1EB5,0x0041},
+ {0x1EB6,0x1EB7,0x0041}, {0x1EB6,0x1EB7,0x0041},
+ {0x1EB8,0x1EB9,0x0045}, {0x1EB8,0x1EB9,0x0045},
+ {0x1EBA,0x1EBB,0x0045}, {0x1EBA,0x1EBB,0x0045},
+ {0x1EBC,0x1EBD,0x0045}, {0x1EBC,0x1EBD,0x0045},
+ {0x1EBE,0x1EBF,0x0045}, {0x1EBE,0x1EBF,0x0045},
+ {0x1EC0,0x1EC1,0x0045}, {0x1EC0,0x1EC1,0x0045},
+ {0x1EC2,0x1EC3,0x0045}, {0x1EC2,0x1EC3,0x0045},
+ {0x1EC4,0x1EC5,0x0045}, {0x1EC4,0x1EC5,0x0045},
+ {0x1EC6,0x1EC7,0x0045}, {0x1EC6,0x1EC7,0x0045},
+ {0x1EC8,0x1EC9,0x0049}, {0x1EC8,0x1EC9,0x0049},
+ {0x1ECA,0x1ECB,0x0049}, {0x1ECA,0x1ECB,0x0049},
+ {0x1ECC,0x1ECD,0x004F}, {0x1ECC,0x1ECD,0x004F},
+ {0x1ECE,0x1ECF,0x004F}, {0x1ECE,0x1ECF,0x004F},
+ {0x1ED0,0x1ED1,0x004F}, {0x1ED0,0x1ED1,0x004F},
+ {0x1ED2,0x1ED3,0x004F}, {0x1ED2,0x1ED3,0x004F},
+ {0x1ED4,0x1ED5,0x004F}, {0x1ED4,0x1ED5,0x004F},
+ {0x1ED6,0x1ED7,0x004F}, {0x1ED6,0x1ED7,0x004F},
+ {0x1ED8,0x1ED9,0x004F}, {0x1ED8,0x1ED9,0x004F},
+ {0x1EDA,0x1EDB,0x004F}, {0x1EDA,0x1EDB,0x004F},
+ {0x1EDC,0x1EDD,0x004F}, {0x1EDC,0x1EDD,0x004F},
+ {0x1EDE,0x1EDF,0x004F}, {0x1EDE,0x1EDF,0x004F},
+ {0x1EE0,0x1EE1,0x004F}, {0x1EE0,0x1EE1,0x004F},
+ {0x1EE2,0x1EE3,0x004F}, {0x1EE2,0x1EE3,0x004F},
+ {0x1EE4,0x1EE5,0x0055}, {0x1EE4,0x1EE5,0x0055},
+ {0x1EE6,0x1EE7,0x0055}, {0x1EE6,0x1EE7,0x0055},
+ {0x1EE8,0x1EE9,0x0055}, {0x1EE8,0x1EE9,0x0055},
+ {0x1EEA,0x1EEB,0x0055}, {0x1EEA,0x1EEB,0x0055},
+ {0x1EEC,0x1EED,0x0055}, {0x1EEC,0x1EED,0x0055},
+ {0x1EEE,0x1EEF,0x0055}, {0x1EEE,0x1EEF,0x0055},
+ {0x1EF0,0x1EF1,0x0055}, {0x1EF0,0x1EF1,0x0055},
+ {0x1EF2,0x1EF3,0x0059}, {0x1EF2,0x1EF3,0x0059},
+ {0x1EF4,0x1EF5,0x0059}, {0x1EF4,0x1EF5,0x0059},
+ {0x1EF6,0x1EF7,0x0059}, {0x1EF6,0x1EF7,0x0059},
+ {0x1EF8,0x1EF9,0x0059}, {0x1EF8,0x1EF9,0x0059},
+ {0x1EFA,0x1EFA,0x1EFA}, {0x1EFB,0x1EFB,0x1EFB},
+ {0x1EFC,0x1EFC,0x1EFC}, {0x1EFD,0x1EFD,0x1EFD},
+ {0x1EFE,0x1EFE,0x1EFE}, {0x1EFF,0x1EFF,0x1EFF}
+};
+
+static MY_UNICASE_INFO plane1F[]={
+ {0x1F08,0x1F00,0x0391}, {0x1F09,0x1F01,0x0391},
+ {0x1F0A,0x1F02,0x0391}, {0x1F0B,0x1F03,0x0391},
+ {0x1F0C,0x1F04,0x0391}, {0x1F0D,0x1F05,0x0391},
+ {0x1F0E,0x1F06,0x0391}, {0x1F0F,0x1F07,0x0391},
+ {0x1F08,0x1F00,0x0391}, {0x1F09,0x1F01,0x0391},
+ {0x1F0A,0x1F02,0x0391}, {0x1F0B,0x1F03,0x0391},
+ {0x1F0C,0x1F04,0x0391}, {0x1F0D,0x1F05,0x0391},
+ {0x1F0E,0x1F06,0x0391}, {0x1F0F,0x1F07,0x0391},
+ {0x1F18,0x1F10,0x0395}, {0x1F19,0x1F11,0x0395},
+ {0x1F1A,0x1F12,0x0395}, {0x1F1B,0x1F13,0x0395},
+ {0x1F1C,0x1F14,0x0395}, {0x1F1D,0x1F15,0x0395},
+ {0x1F16,0x1F16,0x1F16}, {0x1F17,0x1F17,0x1F17},
+ {0x1F18,0x1F10,0x0395}, {0x1F19,0x1F11,0x0395},
+ {0x1F1A,0x1F12,0x0395}, {0x1F1B,0x1F13,0x0395},
+ {0x1F1C,0x1F14,0x0395}, {0x1F1D,0x1F15,0x0395},
+ {0x1F1E,0x1F1E,0x1F1E}, {0x1F1F,0x1F1F,0x1F1F},
+ {0x1F28,0x1F20,0x0397}, {0x1F29,0x1F21,0x0397},
+ {0x1F2A,0x1F22,0x0397}, {0x1F2B,0x1F23,0x0397},
+ {0x1F2C,0x1F24,0x0397}, {0x1F2D,0x1F25,0x0397},
+ {0x1F2E,0x1F26,0x0397}, {0x1F2F,0x1F27,0x0397},
+ {0x1F28,0x1F20,0x0397}, {0x1F29,0x1F21,0x0397},
+ {0x1F2A,0x1F22,0x0397}, {0x1F2B,0x1F23,0x0397},
+ {0x1F2C,0x1F24,0x0397}, {0x1F2D,0x1F25,0x0397},
+ {0x1F2E,0x1F26,0x0397}, {0x1F2F,0x1F27,0x0397},
+ {0x1F38,0x1F30,0x0399}, {0x1F39,0x1F31,0x0399},
+ {0x1F3A,0x1F32,0x0399}, {0x1F3B,0x1F33,0x0399},
+ {0x1F3C,0x1F34,0x0399}, {0x1F3D,0x1F35,0x0399},
+ {0x1F3E,0x1F36,0x0399}, {0x1F3F,0x1F37,0x0399},
+ {0x1F38,0x1F30,0x0399}, {0x1F39,0x1F31,0x0399},
+ {0x1F3A,0x1F32,0x0399}, {0x1F3B,0x1F33,0x0399},
+ {0x1F3C,0x1F34,0x0399}, {0x1F3D,0x1F35,0x0399},
+ {0x1F3E,0x1F36,0x0399}, {0x1F3F,0x1F37,0x0399},
+ {0x1F48,0x1F40,0x039F}, {0x1F49,0x1F41,0x039F},
+ {0x1F4A,0x1F42,0x039F}, {0x1F4B,0x1F43,0x039F},
+ {0x1F4C,0x1F44,0x039F}, {0x1F4D,0x1F45,0x039F},
+ {0x1F46,0x1F46,0x1F46}, {0x1F47,0x1F47,0x1F47},
+ {0x1F48,0x1F40,0x039F}, {0x1F49,0x1F41,0x039F},
+ {0x1F4A,0x1F42,0x039F}, {0x1F4B,0x1F43,0x039F},
+ {0x1F4C,0x1F44,0x039F}, {0x1F4D,0x1F45,0x039F},
+ {0x1F4E,0x1F4E,0x1F4E}, {0x1F4F,0x1F4F,0x1F4F},
+ {0x1F50,0x1F50,0x03A5}, {0x1F59,0x1F51,0x03A5},
+ {0x1F52,0x1F52,0x03A5}, {0x1F5B,0x1F53,0x03A5},
+ {0x1F54,0x1F54,0x03A5}, {0x1F5D,0x1F55,0x03A5},
+ {0x1F56,0x1F56,0x03A5}, {0x1F5F,0x1F57,0x03A5},
+ {0x1F58,0x1F58,0x1F58}, {0x1F59,0x1F51,0x03A5},
+ {0x1F5A,0x1F5A,0x1F5A}, {0x1F5B,0x1F53,0x03A5},
+ {0x1F5C,0x1F5C,0x1F5C}, {0x1F5D,0x1F55,0x03A5},
+ {0x1F5E,0x1F5E,0x1F5E}, {0x1F5F,0x1F57,0x03A5},
+ {0x1F68,0x1F60,0x03A9}, {0x1F69,0x1F61,0x03A9},
+ {0x1F6A,0x1F62,0x03A9}, {0x1F6B,0x1F63,0x03A9},
+ {0x1F6C,0x1F64,0x03A9}, {0x1F6D,0x1F65,0x03A9},
+ {0x1F6E,0x1F66,0x03A9}, {0x1F6F,0x1F67,0x03A9},
+ {0x1F68,0x1F60,0x03A9}, {0x1F69,0x1F61,0x03A9},
+ {0x1F6A,0x1F62,0x03A9}, {0x1F6B,0x1F63,0x03A9},
+ {0x1F6C,0x1F64,0x03A9}, {0x1F6D,0x1F65,0x03A9},
+ {0x1F6E,0x1F66,0x03A9}, {0x1F6F,0x1F67,0x03A9},
+ {0x1FBA,0x1F70,0x0391}, {0x1FBB,0x1F71,0x1FBB},
+ {0x1FC8,0x1F72,0x0395}, {0x1FC9,0x1F73,0x1FC9},
+ {0x1FCA,0x1F74,0x0397}, {0x1FCB,0x1F75,0x1FCB},
+ {0x1FDA,0x1F76,0x0399}, {0x1FDB,0x1F77,0x1FDB},
+ {0x1FF8,0x1F78,0x039F}, {0x1FF9,0x1F79,0x1FF9},
+ {0x1FEA,0x1F7A,0x03A5}, {0x1FEB,0x1F7B,0x1FEB},
+ {0x1FFA,0x1F7C,0x03A9}, {0x1FFB,0x1F7D,0x1FFB},
+ {0x1F7E,0x1F7E,0x1F7E}, {0x1F7F,0x1F7F,0x1F7F},
+ {0x1F88,0x1F80,0x0391}, {0x1F89,0x1F81,0x0391},
+ {0x1F8A,0x1F82,0x0391}, {0x1F8B,0x1F83,0x0391},
+ {0x1F8C,0x1F84,0x0391}, {0x1F8D,0x1F85,0x0391},
+ {0x1F8E,0x1F86,0x0391}, {0x1F8F,0x1F87,0x0391},
+ {0x1F88,0x1F80,0x0391}, {0x1F89,0x1F81,0x0391},
+ {0x1F8A,0x1F82,0x0391}, {0x1F8B,0x1F83,0x0391},
+ {0x1F8C,0x1F84,0x0391}, {0x1F8D,0x1F85,0x0391},
+ {0x1F8E,0x1F86,0x0391}, {0x1F8F,0x1F87,0x0391},
+ {0x1F98,0x1F90,0x0397}, {0x1F99,0x1F91,0x0397},
+ {0x1F9A,0x1F92,0x0397}, {0x1F9B,0x1F93,0x0397},
+ {0x1F9C,0x1F94,0x0397}, {0x1F9D,0x1F95,0x0397},
+ {0x1F9E,0x1F96,0x0397}, {0x1F9F,0x1F97,0x0397},
+ {0x1F98,0x1F90,0x0397}, {0x1F99,0x1F91,0x0397},
+ {0x1F9A,0x1F92,0x0397}, {0x1F9B,0x1F93,0x0397},
+ {0x1F9C,0x1F94,0x0397}, {0x1F9D,0x1F95,0x0397},
+ {0x1F9E,0x1F96,0x0397}, {0x1F9F,0x1F97,0x0397},
+ {0x1FA8,0x1FA0,0x03A9}, {0x1FA9,0x1FA1,0x03A9},
+ {0x1FAA,0x1FA2,0x03A9}, {0x1FAB,0x1FA3,0x03A9},
+ {0x1FAC,0x1FA4,0x03A9}, {0x1FAD,0x1FA5,0x03A9},
+ {0x1FAE,0x1FA6,0x03A9}, {0x1FAF,0x1FA7,0x03A9},
+ {0x1FA8,0x1FA0,0x03A9}, {0x1FA9,0x1FA1,0x03A9},
+ {0x1FAA,0x1FA2,0x03A9}, {0x1FAB,0x1FA3,0x03A9},
+ {0x1FAC,0x1FA4,0x03A9}, {0x1FAD,0x1FA5,0x03A9},
+ {0x1FAE,0x1FA6,0x03A9}, {0x1FAF,0x1FA7,0x03A9},
+ {0x1FB8,0x1FB0,0x0391}, {0x1FB9,0x1FB1,0x0391},
+ {0x1FB2,0x1FB2,0x0391}, {0x1FBC,0x1FB3,0x0391},
+ {0x1FB4,0x1FB4,0x0391}, {0x1FB5,0x1FB5,0x1FB5},
+ {0x1FB6,0x1FB6,0x0391}, {0x1FB7,0x1FB7,0x0391},
+ {0x1FB8,0x1FB0,0x0391}, {0x1FB9,0x1FB1,0x0391},
+ {0x1FBA,0x1F70,0x0391}, {0x1FBB,0x1F71,0x1FBB},
+ {0x1FBC,0x1FB3,0x0391}, {0x1FBD,0x1FBD,0x1FBD},
+ {0x0399,0x1FBE,0x0399}, {0x1FBF,0x1FBF,0x1FBF},
+ {0x1FC0,0x1FC0,0x1FC0}, {0x1FC1,0x1FC1,0x1FC1},
+ {0x1FC2,0x1FC2,0x0397}, {0x1FCC,0x1FC3,0x0397},
+ {0x1FC4,0x1FC4,0x0397}, {0x1FC5,0x1FC5,0x1FC5},
+ {0x1FC6,0x1FC6,0x0397}, {0x1FC7,0x1FC7,0x0397},
+ {0x1FC8,0x1F72,0x0395}, {0x1FC9,0x1F73,0x1FC9},
+ {0x1FCA,0x1F74,0x0397}, {0x1FCB,0x1F75,0x1FCB},
+ {0x1FCC,0x1FC3,0x0397}, {0x1FCD,0x1FCD,0x1FCD},
+ {0x1FCE,0x1FCE,0x1FCE}, {0x1FCF,0x1FCF,0x1FCF},
+ {0x1FD8,0x1FD0,0x0399}, {0x1FD9,0x1FD1,0x0399},
+ {0x1FD2,0x1FD2,0x0399}, {0x1FD3,0x1FD3,0x1FD3},
+ {0x1FD4,0x1FD4,0x1FD4}, {0x1FD5,0x1FD5,0x1FD5},
+ {0x1FD6,0x1FD6,0x0399}, {0x1FD7,0x1FD7,0x0399},
+ {0x1FD8,0x1FD0,0x0399}, {0x1FD9,0x1FD1,0x0399},
+ {0x1FDA,0x1F76,0x0399}, {0x1FDB,0x1F77,0x1FDB},
+ {0x1FDC,0x1FDC,0x1FDC}, {0x1FDD,0x1FDD,0x1FDD},
+ {0x1FDE,0x1FDE,0x1FDE}, {0x1FDF,0x1FDF,0x1FDF},
+ {0x1FE8,0x1FE0,0x03A5}, {0x1FE9,0x1FE1,0x03A5},
+ {0x1FE2,0x1FE2,0x03A5}, {0x1FE3,0x1FE3,0x1FE3},
+ {0x1FE4,0x1FE4,0x03A1}, {0x1FEC,0x1FE5,0x03A1},
+ {0x1FE6,0x1FE6,0x03A5}, {0x1FE7,0x1FE7,0x03A5},
+ {0x1FE8,0x1FE0,0x03A5}, {0x1FE9,0x1FE1,0x03A5},
+ {0x1FEA,0x1F7A,0x03A5}, {0x1FEB,0x1F7B,0x1FEB},
+ {0x1FEC,0x1FE5,0x03A1}, {0x1FED,0x1FED,0x1FED},
+ {0x1FEE,0x1FEE,0x1FEE}, {0x1FEF,0x1FEF,0x1FEF},
+ {0x1FF0,0x1FF0,0x1FF0}, {0x1FF1,0x1FF1,0x1FF1},
+ {0x1FF2,0x1FF2,0x03A9}, {0x1FFC,0x1FF3,0x03A9},
+ {0x1FF4,0x1FF4,0x03A9}, {0x1FF5,0x1FF5,0x1FF5},
+ {0x1FF6,0x1FF6,0x03A9}, {0x1FF7,0x1FF7,0x03A9},
+ {0x1FF8,0x1F78,0x039F}, {0x1FF9,0x1F79,0x1FF9},
+ {0x1FFA,0x1F7C,0x03A9}, {0x1FFB,0x1F7D,0x1FFB},
+ {0x1FFC,0x1FF3,0x03A9}, {0x1FFD,0x1FFD,0x1FFD},
+ {0x1FFE,0x1FFE,0x1FFE}, {0x1FFF,0x1FFF,0x1FFF}
+};
+
+static MY_UNICASE_INFO plane21[]={
+ {0x2100,0x2100,0x2100}, {0x2101,0x2101,0x2101},
+ {0x2102,0x2102,0x2102}, {0x2103,0x2103,0x2103},
+ {0x2104,0x2104,0x2104}, {0x2105,0x2105,0x2105},
+ {0x2106,0x2106,0x2106}, {0x2107,0x2107,0x2107},
+ {0x2108,0x2108,0x2108}, {0x2109,0x2109,0x2109},
+ {0x210A,0x210A,0x210A}, {0x210B,0x210B,0x210B},
+ {0x210C,0x210C,0x210C}, {0x210D,0x210D,0x210D},
+ {0x210E,0x210E,0x210E}, {0x210F,0x210F,0x210F},
+ {0x2110,0x2110,0x2110}, {0x2111,0x2111,0x2111},
+ {0x2112,0x2112,0x2112}, {0x2113,0x2113,0x2113},
+ {0x2114,0x2114,0x2114}, {0x2115,0x2115,0x2115},
+ {0x2116,0x2116,0x2116}, {0x2117,0x2117,0x2117},
+ {0x2118,0x2118,0x2118}, {0x2119,0x2119,0x2119},
+ {0x211A,0x211A,0x211A}, {0x211B,0x211B,0x211B},
+ {0x211C,0x211C,0x211C}, {0x211D,0x211D,0x211D},
+ {0x211E,0x211E,0x211E}, {0x211F,0x211F,0x211F},
+ {0x2120,0x2120,0x2120}, {0x2121,0x2121,0x2121},
+ {0x2122,0x2122,0x2122}, {0x2123,0x2123,0x2123},
+ {0x2124,0x2124,0x2124}, {0x2125,0x2125,0x2125},
+ {0x2126,0x03C9,0x2126}, {0x2127,0x2127,0x2127},
+ {0x2128,0x2128,0x2128}, {0x2129,0x2129,0x2129},
+ {0x212A,0x006B,0x212A}, {0x212B,0x00E5,0x212B},
+ {0x212C,0x212C,0x212C}, {0x212D,0x212D,0x212D},
+ {0x212E,0x212E,0x212E}, {0x212F,0x212F,0x212F},
+ {0x2130,0x2130,0x2130}, {0x2131,0x2131,0x2131},
+ {0x2132,0x2132,0x2132}, {0x2133,0x2133,0x2133},
+ {0x2134,0x2134,0x2134}, {0x2135,0x2135,0x2135},
+ {0x2136,0x2136,0x2136}, {0x2137,0x2137,0x2137},
+ {0x2138,0x2138,0x2138}, {0x2139,0x2139,0x2139},
+ {0x213A,0x213A,0x213A}, {0x213B,0x213B,0x213B},
+ {0x213C,0x213C,0x213C}, {0x213D,0x213D,0x213D},
+ {0x213E,0x213E,0x213E}, {0x213F,0x213F,0x213F},
+ {0x2140,0x2140,0x2140}, {0x2141,0x2141,0x2141},
+ {0x2142,0x2142,0x2142}, {0x2143,0x2143,0x2143},
+ {0x2144,0x2144,0x2144}, {0x2145,0x2145,0x2145},
+ {0x2146,0x2146,0x2146}, {0x2147,0x2147,0x2147},
+ {0x2148,0x2148,0x2148}, {0x2149,0x2149,0x2149},
+ {0x214A,0x214A,0x214A}, {0x214B,0x214B,0x214B},
+ {0x214C,0x214C,0x214C}, {0x214D,0x214D,0x214D},
+ {0x214E,0x214E,0x214E}, {0x214F,0x214F,0x214F},
+ {0x2150,0x2150,0x2150}, {0x2151,0x2151,0x2151},
+ {0x2152,0x2152,0x2152}, {0x2153,0x2153,0x2153},
+ {0x2154,0x2154,0x2154}, {0x2155,0x2155,0x2155},
+ {0x2156,0x2156,0x2156}, {0x2157,0x2157,0x2157},
+ {0x2158,0x2158,0x2158}, {0x2159,0x2159,0x2159},
+ {0x215A,0x215A,0x215A}, {0x215B,0x215B,0x215B},
+ {0x215C,0x215C,0x215C}, {0x215D,0x215D,0x215D},
+ {0x215E,0x215E,0x215E}, {0x215F,0x215F,0x215F},
+ {0x2160,0x2170,0x2160}, {0x2161,0x2171,0x2161},
+ {0x2162,0x2172,0x2162}, {0x2163,0x2173,0x2163},
+ {0x2164,0x2174,0x2164}, {0x2165,0x2175,0x2165},
+ {0x2166,0x2176,0x2166}, {0x2167,0x2177,0x2167},
+ {0x2168,0x2178,0x2168}, {0x2169,0x2179,0x2169},
+ {0x216A,0x217A,0x216A}, {0x216B,0x217B,0x216B},
+ {0x216C,0x217C,0x216C}, {0x216D,0x217D,0x216D},
+ {0x216E,0x217E,0x216E}, {0x216F,0x217F,0x216F},
+ {0x2160,0x2170,0x2160}, {0x2161,0x2171,0x2161},
+ {0x2162,0x2172,0x2162}, {0x2163,0x2173,0x2163},
+ {0x2164,0x2174,0x2164}, {0x2165,0x2175,0x2165},
+ {0x2166,0x2176,0x2166}, {0x2167,0x2177,0x2167},
+ {0x2168,0x2178,0x2168}, {0x2169,0x2179,0x2169},
+ {0x216A,0x217A,0x216A}, {0x216B,0x217B,0x216B},
+ {0x216C,0x217C,0x216C}, {0x216D,0x217D,0x216D},
+ {0x216E,0x217E,0x216E}, {0x216F,0x217F,0x216F},
+ {0x2180,0x2180,0x2180}, {0x2181,0x2181,0x2181},
+ {0x2182,0x2182,0x2182}, {0x2183,0x2183,0x2183},
+ {0x2184,0x2184,0x2184}, {0x2185,0x2185,0x2185},
+ {0x2186,0x2186,0x2186}, {0x2187,0x2187,0x2187},
+ {0x2188,0x2188,0x2188}, {0x2189,0x2189,0x2189},
+ {0x218A,0x218A,0x218A}, {0x218B,0x218B,0x218B},
+ {0x218C,0x218C,0x218C}, {0x218D,0x218D,0x218D},
+ {0x218E,0x218E,0x218E}, {0x218F,0x218F,0x218F},
+ {0x2190,0x2190,0x2190}, {0x2191,0x2191,0x2191},
+ {0x2192,0x2192,0x2192}, {0x2193,0x2193,0x2193},
+ {0x2194,0x2194,0x2194}, {0x2195,0x2195,0x2195},
+ {0x2196,0x2196,0x2196}, {0x2197,0x2197,0x2197},
+ {0x2198,0x2198,0x2198}, {0x2199,0x2199,0x2199},
+ {0x219A,0x219A,0x219A}, {0x219B,0x219B,0x219B},
+ {0x219C,0x219C,0x219C}, {0x219D,0x219D,0x219D},
+ {0x219E,0x219E,0x219E}, {0x219F,0x219F,0x219F},
+ {0x21A0,0x21A0,0x21A0}, {0x21A1,0x21A1,0x21A1},
+ {0x21A2,0x21A2,0x21A2}, {0x21A3,0x21A3,0x21A3},
+ {0x21A4,0x21A4,0x21A4}, {0x21A5,0x21A5,0x21A5},
+ {0x21A6,0x21A6,0x21A6}, {0x21A7,0x21A7,0x21A7},
+ {0x21A8,0x21A8,0x21A8}, {0x21A9,0x21A9,0x21A9},
+ {0x21AA,0x21AA,0x21AA}, {0x21AB,0x21AB,0x21AB},
+ {0x21AC,0x21AC,0x21AC}, {0x21AD,0x21AD,0x21AD},
+ {0x21AE,0x21AE,0x21AE}, {0x21AF,0x21AF,0x21AF},
+ {0x21B0,0x21B0,0x21B0}, {0x21B1,0x21B1,0x21B1},
+ {0x21B2,0x21B2,0x21B2}, {0x21B3,0x21B3,0x21B3},
+ {0x21B4,0x21B4,0x21B4}, {0x21B5,0x21B5,0x21B5},
+ {0x21B6,0x21B6,0x21B6}, {0x21B7,0x21B7,0x21B7},
+ {0x21B8,0x21B8,0x21B8}, {0x21B9,0x21B9,0x21B9},
+ {0x21BA,0x21BA,0x21BA}, {0x21BB,0x21BB,0x21BB},
+ {0x21BC,0x21BC,0x21BC}, {0x21BD,0x21BD,0x21BD},
+ {0x21BE,0x21BE,0x21BE}, {0x21BF,0x21BF,0x21BF},
+ {0x21C0,0x21C0,0x21C0}, {0x21C1,0x21C1,0x21C1},
+ {0x21C2,0x21C2,0x21C2}, {0x21C3,0x21C3,0x21C3},
+ {0x21C4,0x21C4,0x21C4}, {0x21C5,0x21C5,0x21C5},
+ {0x21C6,0x21C6,0x21C6}, {0x21C7,0x21C7,0x21C7},
+ {0x21C8,0x21C8,0x21C8}, {0x21C9,0x21C9,0x21C9},
+ {0x21CA,0x21CA,0x21CA}, {0x21CB,0x21CB,0x21CB},
+ {0x21CC,0x21CC,0x21CC}, {0x21CD,0x21CD,0x21CD},
+ {0x21CE,0x21CE,0x21CE}, {0x21CF,0x21CF,0x21CF},
+ {0x21D0,0x21D0,0x21D0}, {0x21D1,0x21D1,0x21D1},
+ {0x21D2,0x21D2,0x21D2}, {0x21D3,0x21D3,0x21D3},
+ {0x21D4,0x21D4,0x21D4}, {0x21D5,0x21D5,0x21D5},
+ {0x21D6,0x21D6,0x21D6}, {0x21D7,0x21D7,0x21D7},
+ {0x21D8,0x21D8,0x21D8}, {0x21D9,0x21D9,0x21D9},
+ {0x21DA,0x21DA,0x21DA}, {0x21DB,0x21DB,0x21DB},
+ {0x21DC,0x21DC,0x21DC}, {0x21DD,0x21DD,0x21DD},
+ {0x21DE,0x21DE,0x21DE}, {0x21DF,0x21DF,0x21DF},
+ {0x21E0,0x21E0,0x21E0}, {0x21E1,0x21E1,0x21E1},
+ {0x21E2,0x21E2,0x21E2}, {0x21E3,0x21E3,0x21E3},
+ {0x21E4,0x21E4,0x21E4}, {0x21E5,0x21E5,0x21E5},
+ {0x21E6,0x21E6,0x21E6}, {0x21E7,0x21E7,0x21E7},
+ {0x21E8,0x21E8,0x21E8}, {0x21E9,0x21E9,0x21E9},
+ {0x21EA,0x21EA,0x21EA}, {0x21EB,0x21EB,0x21EB},
+ {0x21EC,0x21EC,0x21EC}, {0x21ED,0x21ED,0x21ED},
+ {0x21EE,0x21EE,0x21EE}, {0x21EF,0x21EF,0x21EF},
+ {0x21F0,0x21F0,0x21F0}, {0x21F1,0x21F1,0x21F1},
+ {0x21F2,0x21F2,0x21F2}, {0x21F3,0x21F3,0x21F3},
+ {0x21F4,0x21F4,0x21F4}, {0x21F5,0x21F5,0x21F5},
+ {0x21F6,0x21F6,0x21F6}, {0x21F7,0x21F7,0x21F7},
+ {0x21F8,0x21F8,0x21F8}, {0x21F9,0x21F9,0x21F9},
+ {0x21FA,0x21FA,0x21FA}, {0x21FB,0x21FB,0x21FB},
+ {0x21FC,0x21FC,0x21FC}, {0x21FD,0x21FD,0x21FD},
+ {0x21FE,0x21FE,0x21FE}, {0x21FF,0x21FF,0x21FF}
+};
+
+static MY_UNICASE_INFO plane24[]={
+ {0x2400,0x2400,0x2400}, {0x2401,0x2401,0x2401},
+ {0x2402,0x2402,0x2402}, {0x2403,0x2403,0x2403},
+ {0x2404,0x2404,0x2404}, {0x2405,0x2405,0x2405},
+ {0x2406,0x2406,0x2406}, {0x2407,0x2407,0x2407},
+ {0x2408,0x2408,0x2408}, {0x2409,0x2409,0x2409},
+ {0x240A,0x240A,0x240A}, {0x240B,0x240B,0x240B},
+ {0x240C,0x240C,0x240C}, {0x240D,0x240D,0x240D},
+ {0x240E,0x240E,0x240E}, {0x240F,0x240F,0x240F},
+ {0x2410,0x2410,0x2410}, {0x2411,0x2411,0x2411},
+ {0x2412,0x2412,0x2412}, {0x2413,0x2413,0x2413},
+ {0x2414,0x2414,0x2414}, {0x2415,0x2415,0x2415},
+ {0x2416,0x2416,0x2416}, {0x2417,0x2417,0x2417},
+ {0x2418,0x2418,0x2418}, {0x2419,0x2419,0x2419},
+ {0x241A,0x241A,0x241A}, {0x241B,0x241B,0x241B},
+ {0x241C,0x241C,0x241C}, {0x241D,0x241D,0x241D},
+ {0x241E,0x241E,0x241E}, {0x241F,0x241F,0x241F},
+ {0x2420,0x2420,0x2420}, {0x2421,0x2421,0x2421},
+ {0x2422,0x2422,0x2422}, {0x2423,0x2423,0x2423},
+ {0x2424,0x2424,0x2424}, {0x2425,0x2425,0x2425},
+ {0x2426,0x2426,0x2426}, {0x2427,0x2427,0x2427},
+ {0x2428,0x2428,0x2428}, {0x2429,0x2429,0x2429},
+ {0x242A,0x242A,0x242A}, {0x242B,0x242B,0x242B},
+ {0x242C,0x242C,0x242C}, {0x242D,0x242D,0x242D},
+ {0x242E,0x242E,0x242E}, {0x242F,0x242F,0x242F},
+ {0x2430,0x2430,0x2430}, {0x2431,0x2431,0x2431},
+ {0x2432,0x2432,0x2432}, {0x2433,0x2433,0x2433},
+ {0x2434,0x2434,0x2434}, {0x2435,0x2435,0x2435},
+ {0x2436,0x2436,0x2436}, {0x2437,0x2437,0x2437},
+ {0x2438,0x2438,0x2438}, {0x2439,0x2439,0x2439},
+ {0x243A,0x243A,0x243A}, {0x243B,0x243B,0x243B},
+ {0x243C,0x243C,0x243C}, {0x243D,0x243D,0x243D},
+ {0x243E,0x243E,0x243E}, {0x243F,0x243F,0x243F},
+ {0x2440,0x2440,0x2440}, {0x2441,0x2441,0x2441},
+ {0x2442,0x2442,0x2442}, {0x2443,0x2443,0x2443},
+ {0x2444,0x2444,0x2444}, {0x2445,0x2445,0x2445},
+ {0x2446,0x2446,0x2446}, {0x2447,0x2447,0x2447},
+ {0x2448,0x2448,0x2448}, {0x2449,0x2449,0x2449},
+ {0x244A,0x244A,0x244A}, {0x244B,0x244B,0x244B},
+ {0x244C,0x244C,0x244C}, {0x244D,0x244D,0x244D},
+ {0x244E,0x244E,0x244E}, {0x244F,0x244F,0x244F},
+ {0x2450,0x2450,0x2450}, {0x2451,0x2451,0x2451},
+ {0x2452,0x2452,0x2452}, {0x2453,0x2453,0x2453},
+ {0x2454,0x2454,0x2454}, {0x2455,0x2455,0x2455},
+ {0x2456,0x2456,0x2456}, {0x2457,0x2457,0x2457},
+ {0x2458,0x2458,0x2458}, {0x2459,0x2459,0x2459},
+ {0x245A,0x245A,0x245A}, {0x245B,0x245B,0x245B},
+ {0x245C,0x245C,0x245C}, {0x245D,0x245D,0x245D},
+ {0x245E,0x245E,0x245E}, {0x245F,0x245F,0x245F},
+ {0x2460,0x2460,0x2460}, {0x2461,0x2461,0x2461},
+ {0x2462,0x2462,0x2462}, {0x2463,0x2463,0x2463},
+ {0x2464,0x2464,0x2464}, {0x2465,0x2465,0x2465},
+ {0x2466,0x2466,0x2466}, {0x2467,0x2467,0x2467},
+ {0x2468,0x2468,0x2468}, {0x2469,0x2469,0x2469},
+ {0x246A,0x246A,0x246A}, {0x246B,0x246B,0x246B},
+ {0x246C,0x246C,0x246C}, {0x246D,0x246D,0x246D},
+ {0x246E,0x246E,0x246E}, {0x246F,0x246F,0x246F},
+ {0x2470,0x2470,0x2470}, {0x2471,0x2471,0x2471},
+ {0x2472,0x2472,0x2472}, {0x2473,0x2473,0x2473},
+ {0x2474,0x2474,0x2474}, {0x2475,0x2475,0x2475},
+ {0x2476,0x2476,0x2476}, {0x2477,0x2477,0x2477},
+ {0x2478,0x2478,0x2478}, {0x2479,0x2479,0x2479},
+ {0x247A,0x247A,0x247A}, {0x247B,0x247B,0x247B},
+ {0x247C,0x247C,0x247C}, {0x247D,0x247D,0x247D},
+ {0x247E,0x247E,0x247E}, {0x247F,0x247F,0x247F},
+ {0x2480,0x2480,0x2480}, {0x2481,0x2481,0x2481},
+ {0x2482,0x2482,0x2482}, {0x2483,0x2483,0x2483},
+ {0x2484,0x2484,0x2484}, {0x2485,0x2485,0x2485},
+ {0x2486,0x2486,0x2486}, {0x2487,0x2487,0x2487},
+ {0x2488,0x2488,0x2488}, {0x2489,0x2489,0x2489},
+ {0x248A,0x248A,0x248A}, {0x248B,0x248B,0x248B},
+ {0x248C,0x248C,0x248C}, {0x248D,0x248D,0x248D},
+ {0x248E,0x248E,0x248E}, {0x248F,0x248F,0x248F},
+ {0x2490,0x2490,0x2490}, {0x2491,0x2491,0x2491},
+ {0x2492,0x2492,0x2492}, {0x2493,0x2493,0x2493},
+ {0x2494,0x2494,0x2494}, {0x2495,0x2495,0x2495},
+ {0x2496,0x2496,0x2496}, {0x2497,0x2497,0x2497},
+ {0x2498,0x2498,0x2498}, {0x2499,0x2499,0x2499},
+ {0x249A,0x249A,0x249A}, {0x249B,0x249B,0x249B},
+ {0x249C,0x249C,0x249C}, {0x249D,0x249D,0x249D},
+ {0x249E,0x249E,0x249E}, {0x249F,0x249F,0x249F},
+ {0x24A0,0x24A0,0x24A0}, {0x24A1,0x24A1,0x24A1},
+ {0x24A2,0x24A2,0x24A2}, {0x24A3,0x24A3,0x24A3},
+ {0x24A4,0x24A4,0x24A4}, {0x24A5,0x24A5,0x24A5},
+ {0x24A6,0x24A6,0x24A6}, {0x24A7,0x24A7,0x24A7},
+ {0x24A8,0x24A8,0x24A8}, {0x24A9,0x24A9,0x24A9},
+ {0x24AA,0x24AA,0x24AA}, {0x24AB,0x24AB,0x24AB},
+ {0x24AC,0x24AC,0x24AC}, {0x24AD,0x24AD,0x24AD},
+ {0x24AE,0x24AE,0x24AE}, {0x24AF,0x24AF,0x24AF},
+ {0x24B0,0x24B0,0x24B0}, {0x24B1,0x24B1,0x24B1},
+ {0x24B2,0x24B2,0x24B2}, {0x24B3,0x24B3,0x24B3},
+ {0x24B4,0x24B4,0x24B4}, {0x24B5,0x24B5,0x24B5},
+ {0x24B6,0x24D0,0x24B6}, {0x24B7,0x24D1,0x24B7},
+ {0x24B8,0x24D2,0x24B8}, {0x24B9,0x24D3,0x24B9},
+ {0x24BA,0x24D4,0x24BA}, {0x24BB,0x24D5,0x24BB},
+ {0x24BC,0x24D6,0x24BC}, {0x24BD,0x24D7,0x24BD},
+ {0x24BE,0x24D8,0x24BE}, {0x24BF,0x24D9,0x24BF},
+ {0x24C0,0x24DA,0x24C0}, {0x24C1,0x24DB,0x24C1},
+ {0x24C2,0x24DC,0x24C2}, {0x24C3,0x24DD,0x24C3},
+ {0x24C4,0x24DE,0x24C4}, {0x24C5,0x24DF,0x24C5},
+ {0x24C6,0x24E0,0x24C6}, {0x24C7,0x24E1,0x24C7},
+ {0x24C8,0x24E2,0x24C8}, {0x24C9,0x24E3,0x24C9},
+ {0x24CA,0x24E4,0x24CA}, {0x24CB,0x24E5,0x24CB},
+ {0x24CC,0x24E6,0x24CC}, {0x24CD,0x24E7,0x24CD},
+ {0x24CE,0x24E8,0x24CE}, {0x24CF,0x24E9,0x24CF},
+ {0x24B6,0x24D0,0x24B6}, {0x24B7,0x24D1,0x24B7},
+ {0x24B8,0x24D2,0x24B8}, {0x24B9,0x24D3,0x24B9},
+ {0x24BA,0x24D4,0x24BA}, {0x24BB,0x24D5,0x24BB},
+ {0x24BC,0x24D6,0x24BC}, {0x24BD,0x24D7,0x24BD},
+ {0x24BE,0x24D8,0x24BE}, {0x24BF,0x24D9,0x24BF},
+ {0x24C0,0x24DA,0x24C0}, {0x24C1,0x24DB,0x24C1},
+ {0x24C2,0x24DC,0x24C2}, {0x24C3,0x24DD,0x24C3},
+ {0x24C4,0x24DE,0x24C4}, {0x24C5,0x24DF,0x24C5},
+ {0x24C6,0x24E0,0x24C6}, {0x24C7,0x24E1,0x24C7},
+ {0x24C8,0x24E2,0x24C8}, {0x24C9,0x24E3,0x24C9},
+ {0x24CA,0x24E4,0x24CA}, {0x24CB,0x24E5,0x24CB},
+ {0x24CC,0x24E6,0x24CC}, {0x24CD,0x24E7,0x24CD},
+ {0x24CE,0x24E8,0x24CE}, {0x24CF,0x24E9,0x24CF},
+ {0x24EA,0x24EA,0x24EA}, {0x24EB,0x24EB,0x24EB},
+ {0x24EC,0x24EC,0x24EC}, {0x24ED,0x24ED,0x24ED},
+ {0x24EE,0x24EE,0x24EE}, {0x24EF,0x24EF,0x24EF},
+ {0x24F0,0x24F0,0x24F0}, {0x24F1,0x24F1,0x24F1},
+ {0x24F2,0x24F2,0x24F2}, {0x24F3,0x24F3,0x24F3},
+ {0x24F4,0x24F4,0x24F4}, {0x24F5,0x24F5,0x24F5},
+ {0x24F6,0x24F6,0x24F6}, {0x24F7,0x24F7,0x24F7},
+ {0x24F8,0x24F8,0x24F8}, {0x24F9,0x24F9,0x24F9},
+ {0x24FA,0x24FA,0x24FA}, {0x24FB,0x24FB,0x24FB},
+ {0x24FC,0x24FC,0x24FC}, {0x24FD,0x24FD,0x24FD},
+ {0x24FE,0x24FE,0x24FE}, {0x24FF,0x24FF,0x24FF}
+};
+
+static MY_UNICASE_INFO planeFF[]={
+ {0xFF00,0xFF00,0xFF00}, {0xFF01,0xFF01,0xFF01},
+ {0xFF02,0xFF02,0xFF02}, {0xFF03,0xFF03,0xFF03},
+ {0xFF04,0xFF04,0xFF04}, {0xFF05,0xFF05,0xFF05},
+ {0xFF06,0xFF06,0xFF06}, {0xFF07,0xFF07,0xFF07},
+ {0xFF08,0xFF08,0xFF08}, {0xFF09,0xFF09,0xFF09},
+ {0xFF0A,0xFF0A,0xFF0A}, {0xFF0B,0xFF0B,0xFF0B},
+ {0xFF0C,0xFF0C,0xFF0C}, {0xFF0D,0xFF0D,0xFF0D},
+ {0xFF0E,0xFF0E,0xFF0E}, {0xFF0F,0xFF0F,0xFF0F},
+ {0xFF10,0xFF10,0xFF10}, {0xFF11,0xFF11,0xFF11},
+ {0xFF12,0xFF12,0xFF12}, {0xFF13,0xFF13,0xFF13},
+ {0xFF14,0xFF14,0xFF14}, {0xFF15,0xFF15,0xFF15},
+ {0xFF16,0xFF16,0xFF16}, {0xFF17,0xFF17,0xFF17},
+ {0xFF18,0xFF18,0xFF18}, {0xFF19,0xFF19,0xFF19},
+ {0xFF1A,0xFF1A,0xFF1A}, {0xFF1B,0xFF1B,0xFF1B},
+ {0xFF1C,0xFF1C,0xFF1C}, {0xFF1D,0xFF1D,0xFF1D},
+ {0xFF1E,0xFF1E,0xFF1E}, {0xFF1F,0xFF1F,0xFF1F},
+ {0xFF20,0xFF20,0xFF20}, {0xFF21,0xFF41,0xFF21},
+ {0xFF22,0xFF42,0xFF22}, {0xFF23,0xFF43,0xFF23},
+ {0xFF24,0xFF44,0xFF24}, {0xFF25,0xFF45,0xFF25},
+ {0xFF26,0xFF46,0xFF26}, {0xFF27,0xFF47,0xFF27},
+ {0xFF28,0xFF48,0xFF28}, {0xFF29,0xFF49,0xFF29},
+ {0xFF2A,0xFF4A,0xFF2A}, {0xFF2B,0xFF4B,0xFF2B},
+ {0xFF2C,0xFF4C,0xFF2C}, {0xFF2D,0xFF4D,0xFF2D},
+ {0xFF2E,0xFF4E,0xFF2E}, {0xFF2F,0xFF4F,0xFF2F},
+ {0xFF30,0xFF50,0xFF30}, {0xFF31,0xFF51,0xFF31},
+ {0xFF32,0xFF52,0xFF32}, {0xFF33,0xFF53,0xFF33},
+ {0xFF34,0xFF54,0xFF34}, {0xFF35,0xFF55,0xFF35},
+ {0xFF36,0xFF56,0xFF36}, {0xFF37,0xFF57,0xFF37},
+ {0xFF38,0xFF58,0xFF38}, {0xFF39,0xFF59,0xFF39},
+ {0xFF3A,0xFF5A,0xFF3A}, {0xFF3B,0xFF3B,0xFF3B},
+ {0xFF3C,0xFF3C,0xFF3C}, {0xFF3D,0xFF3D,0xFF3D},
+ {0xFF3E,0xFF3E,0xFF3E}, {0xFF3F,0xFF3F,0xFF3F},
+ {0xFF40,0xFF40,0xFF40}, {0xFF21,0xFF41,0xFF21},
+ {0xFF22,0xFF42,0xFF22}, {0xFF23,0xFF43,0xFF23},
+ {0xFF24,0xFF44,0xFF24}, {0xFF25,0xFF45,0xFF25},
+ {0xFF26,0xFF46,0xFF26}, {0xFF27,0xFF47,0xFF27},
+ {0xFF28,0xFF48,0xFF28}, {0xFF29,0xFF49,0xFF29},
+ {0xFF2A,0xFF4A,0xFF2A}, {0xFF2B,0xFF4B,0xFF2B},
+ {0xFF2C,0xFF4C,0xFF2C}, {0xFF2D,0xFF4D,0xFF2D},
+ {0xFF2E,0xFF4E,0xFF2E}, {0xFF2F,0xFF4F,0xFF2F},
+ {0xFF30,0xFF50,0xFF30}, {0xFF31,0xFF51,0xFF31},
+ {0xFF32,0xFF52,0xFF32}, {0xFF33,0xFF53,0xFF33},
+ {0xFF34,0xFF54,0xFF34}, {0xFF35,0xFF55,0xFF35},
+ {0xFF36,0xFF56,0xFF36}, {0xFF37,0xFF57,0xFF37},
+ {0xFF38,0xFF58,0xFF38}, {0xFF39,0xFF59,0xFF39},
+ {0xFF3A,0xFF5A,0xFF3A}, {0xFF5B,0xFF5B,0xFF5B},
+ {0xFF5C,0xFF5C,0xFF5C}, {0xFF5D,0xFF5D,0xFF5D},
+ {0xFF5E,0xFF5E,0xFF5E}, {0xFF5F,0xFF5F,0xFF5F},
+ {0xFF60,0xFF60,0xFF60}, {0xFF61,0xFF61,0xFF61},
+ {0xFF62,0xFF62,0xFF62}, {0xFF63,0xFF63,0xFF63},
+ {0xFF64,0xFF64,0xFF64}, {0xFF65,0xFF65,0xFF65},
+ {0xFF66,0xFF66,0xFF66}, {0xFF67,0xFF67,0xFF67},
+ {0xFF68,0xFF68,0xFF68}, {0xFF69,0xFF69,0xFF69},
+ {0xFF6A,0xFF6A,0xFF6A}, {0xFF6B,0xFF6B,0xFF6B},
+ {0xFF6C,0xFF6C,0xFF6C}, {0xFF6D,0xFF6D,0xFF6D},
+ {0xFF6E,0xFF6E,0xFF6E}, {0xFF6F,0xFF6F,0xFF6F},
+ {0xFF70,0xFF70,0xFF70}, {0xFF71,0xFF71,0xFF71},
+ {0xFF72,0xFF72,0xFF72}, {0xFF73,0xFF73,0xFF73},
+ {0xFF74,0xFF74,0xFF74}, {0xFF75,0xFF75,0xFF75},
+ {0xFF76,0xFF76,0xFF76}, {0xFF77,0xFF77,0xFF77},
+ {0xFF78,0xFF78,0xFF78}, {0xFF79,0xFF79,0xFF79},
+ {0xFF7A,0xFF7A,0xFF7A}, {0xFF7B,0xFF7B,0xFF7B},
+ {0xFF7C,0xFF7C,0xFF7C}, {0xFF7D,0xFF7D,0xFF7D},
+ {0xFF7E,0xFF7E,0xFF7E}, {0xFF7F,0xFF7F,0xFF7F},
+ {0xFF80,0xFF80,0xFF80}, {0xFF81,0xFF81,0xFF81},
+ {0xFF82,0xFF82,0xFF82}, {0xFF83,0xFF83,0xFF83},
+ {0xFF84,0xFF84,0xFF84}, {0xFF85,0xFF85,0xFF85},
+ {0xFF86,0xFF86,0xFF86}, {0xFF87,0xFF87,0xFF87},
+ {0xFF88,0xFF88,0xFF88}, {0xFF89,0xFF89,0xFF89},
+ {0xFF8A,0xFF8A,0xFF8A}, {0xFF8B,0xFF8B,0xFF8B},
+ {0xFF8C,0xFF8C,0xFF8C}, {0xFF8D,0xFF8D,0xFF8D},
+ {0xFF8E,0xFF8E,0xFF8E}, {0xFF8F,0xFF8F,0xFF8F},
+ {0xFF90,0xFF90,0xFF90}, {0xFF91,0xFF91,0xFF91},
+ {0xFF92,0xFF92,0xFF92}, {0xFF93,0xFF93,0xFF93},
+ {0xFF94,0xFF94,0xFF94}, {0xFF95,0xFF95,0xFF95},
+ {0xFF96,0xFF96,0xFF96}, {0xFF97,0xFF97,0xFF97},
+ {0xFF98,0xFF98,0xFF98}, {0xFF99,0xFF99,0xFF99},
+ {0xFF9A,0xFF9A,0xFF9A}, {0xFF9B,0xFF9B,0xFF9B},
+ {0xFF9C,0xFF9C,0xFF9C}, {0xFF9D,0xFF9D,0xFF9D},
+ {0xFF9E,0xFF9E,0xFF9E}, {0xFF9F,0xFF9F,0xFF9F},
+ {0xFFA0,0xFFA0,0xFFA0}, {0xFFA1,0xFFA1,0xFFA1},
+ {0xFFA2,0xFFA2,0xFFA2}, {0xFFA3,0xFFA3,0xFFA3},
+ {0xFFA4,0xFFA4,0xFFA4}, {0xFFA5,0xFFA5,0xFFA5},
+ {0xFFA6,0xFFA6,0xFFA6}, {0xFFA7,0xFFA7,0xFFA7},
+ {0xFFA8,0xFFA8,0xFFA8}, {0xFFA9,0xFFA9,0xFFA9},
+ {0xFFAA,0xFFAA,0xFFAA}, {0xFFAB,0xFFAB,0xFFAB},
+ {0xFFAC,0xFFAC,0xFFAC}, {0xFFAD,0xFFAD,0xFFAD},
+ {0xFFAE,0xFFAE,0xFFAE}, {0xFFAF,0xFFAF,0xFFAF},
+ {0xFFB0,0xFFB0,0xFFB0}, {0xFFB1,0xFFB1,0xFFB1},
+ {0xFFB2,0xFFB2,0xFFB2}, {0xFFB3,0xFFB3,0xFFB3},
+ {0xFFB4,0xFFB4,0xFFB4}, {0xFFB5,0xFFB5,0xFFB5},
+ {0xFFB6,0xFFB6,0xFFB6}, {0xFFB7,0xFFB7,0xFFB7},
+ {0xFFB8,0xFFB8,0xFFB8}, {0xFFB9,0xFFB9,0xFFB9},
+ {0xFFBA,0xFFBA,0xFFBA}, {0xFFBB,0xFFBB,0xFFBB},
+ {0xFFBC,0xFFBC,0xFFBC}, {0xFFBD,0xFFBD,0xFFBD},
+ {0xFFBE,0xFFBE,0xFFBE}, {0xFFBF,0xFFBF,0xFFBF},
+ {0xFFC0,0xFFC0,0xFFC0}, {0xFFC1,0xFFC1,0xFFC1},
+ {0xFFC2,0xFFC2,0xFFC2}, {0xFFC3,0xFFC3,0xFFC3},
+ {0xFFC4,0xFFC4,0xFFC4}, {0xFFC5,0xFFC5,0xFFC5},
+ {0xFFC6,0xFFC6,0xFFC6}, {0xFFC7,0xFFC7,0xFFC7},
+ {0xFFC8,0xFFC8,0xFFC8}, {0xFFC9,0xFFC9,0xFFC9},
+ {0xFFCA,0xFFCA,0xFFCA}, {0xFFCB,0xFFCB,0xFFCB},
+ {0xFFCC,0xFFCC,0xFFCC}, {0xFFCD,0xFFCD,0xFFCD},
+ {0xFFCE,0xFFCE,0xFFCE}, {0xFFCF,0xFFCF,0xFFCF},
+ {0xFFD0,0xFFD0,0xFFD0}, {0xFFD1,0xFFD1,0xFFD1},
+ {0xFFD2,0xFFD2,0xFFD2}, {0xFFD3,0xFFD3,0xFFD3},
+ {0xFFD4,0xFFD4,0xFFD4}, {0xFFD5,0xFFD5,0xFFD5},
+ {0xFFD6,0xFFD6,0xFFD6}, {0xFFD7,0xFFD7,0xFFD7},
+ {0xFFD8,0xFFD8,0xFFD8}, {0xFFD9,0xFFD9,0xFFD9},
+ {0xFFDA,0xFFDA,0xFFDA}, {0xFFDB,0xFFDB,0xFFDB},
+ {0xFFDC,0xFFDC,0xFFDC}, {0xFFDD,0xFFDD,0xFFDD},
+ {0xFFDE,0xFFDE,0xFFDE}, {0xFFDF,0xFFDF,0xFFDF},
+ {0xFFE0,0xFFE0,0xFFE0}, {0xFFE1,0xFFE1,0xFFE1},
+ {0xFFE2,0xFFE2,0xFFE2}, {0xFFE3,0xFFE3,0xFFE3},
+ {0xFFE4,0xFFE4,0xFFE4}, {0xFFE5,0xFFE5,0xFFE5},
+ {0xFFE6,0xFFE6,0xFFE6}, {0xFFE7,0xFFE7,0xFFE7},
+ {0xFFE8,0xFFE8,0xFFE8}, {0xFFE9,0xFFE9,0xFFE9},
+ {0xFFEA,0xFFEA,0xFFEA}, {0xFFEB,0xFFEB,0xFFEB},
+ {0xFFEC,0xFFEC,0xFFEC}, {0xFFED,0xFFED,0xFFED},
+ {0xFFEE,0xFFEE,0xFFEE}, {0xFFEF,0xFFEF,0xFFEF},
+ {0xFFF0,0xFFF0,0xFFF0}, {0xFFF1,0xFFF1,0xFFF1},
+ {0xFFF2,0xFFF2,0xFFF2}, {0xFFF3,0xFFF3,0xFFF3},
+ {0xFFF4,0xFFF4,0xFFF4}, {0xFFF5,0xFFF5,0xFFF5},
+ {0xFFF6,0xFFF6,0xFFF6}, {0xFFF7,0xFFF7,0xFFF7},
+ {0xFFF8,0xFFF8,0xFFF8}, {0xFFF9,0xFFF9,0xFFF9},
+ {0xFFFA,0xFFFA,0xFFFA}, {0xFFFB,0xFFFB,0xFFFB},
+ {0xFFFC,0xFFFC,0xFFFC}, {0xFFFD,0xFFFD,0xFFFD},
+ {0xFFFE,0xFFFE,0xFFFE}, {0xFFFF,0xFFFF,0xFFFF}
+};
+
+static MY_UNICASE_INFO *uni_plane[256]={
+ plane00, plane01, plane02, plane03, plane04, plane05, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, plane1E, plane1F,
+ NULL, plane21, NULL, NULL, plane24, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, planeFF
+
+};
+
+#endif
+
+
+
+#ifdef HAVE_CHARSET_utf8
+
+/* These arrays are taken from usa7 implementation */
+
+uchar ctype_utf8[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+uchar to_lower_utf8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+uchar to_upper_utf8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+
+int my_utf8_uni (CHARSET_INFO *cs __attribute__((unused)) ,
+ my_wc_t * pwc, const uchar *s, const uchar *e)
+{
+ unsigned char c = s[0];
+
+ if (c < 0x80)
+ {
+ *pwc = c;
+ return 1;
+ }
+ else if (c < 0xc2)
+ return MY_CS_ILSEQ;
+ else if (c < 0xe0)
+ {
+ if (s+2 > e) /* We need 2 characters */
+ return MY_CS_TOOFEW(0);
+
+ if (!((s[1] ^ 0x80) < 0x40))
+ return MY_CS_ILSEQ;
+
+ *pwc = ((my_wc_t) (c & 0x1f) << 6) | (my_wc_t) (s[1] ^ 0x80);
+ return 2;
+ }
+ else if (c < 0xf0)
+ {
+ if (s+3 > e) /* We need 3 characters */
+ return MY_CS_TOOFEW(0);
+
+ if (!((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40 && (c >= 0xe1 || s[1] >= 0xa0)))
+ return MY_CS_ILSEQ;
+
+ *pwc = ((my_wc_t) (c & 0x0f) << 12) |
+ ((my_wc_t) (s[1] ^ 0x80) << 6) |
+ (my_wc_t) (s[2] ^ 0x80);
+
+ return 3;
+
+#ifdef UNICODE_32BIT
+
+ }
+ else if (c < 0xf8 && sizeof(my_wc_t)*8 >= 32)
+ {
+ if (s+4 > e) /* We need 4 characters */
+ return MY_CS_TOOFEW(0);
+
+ if (!((s[1] ^ 0x80) < 0x40 &&
+ (s[2] ^ 0x80) < 0x40 &&
+ (s[3] ^ 0x80) < 0x40 &&
+ (c >= 0xf1 || s[1] >= 0x90)))
+ return MY_CS_ILSEQ;
+
+ *pwc = ((my_wc_t) (c & 0x07) << 18) |
+ ((my_wc_t) (s[1] ^ 0x80) << 12) |
+ ((my_wc_t) (s[2] ^ 0x80) << 6) |
+ (my_wc_t) (s[3] ^ 0x80);
+
+ return 4;
+ }
+ else if (c < 0xfc && sizeof(my_wc_t)*8 >= 32)
+ {
+ if (s+5 >e) /* We need 5 characters */
+ return MY_CS_TOOFEW(0);
+
+ if (!((s[1] ^ 0x80) < 0x40 &&
+ (s[2] ^ 0x80) < 0x40 &&
+ (s[3] ^ 0x80) < 0x40 &&
+ (s[4] ^ 0x80) < 0x40 &&
+ (c >= 0xf9 || s[1] >= 0x88)))
+ return MY_CS_ILSEQ;
+
+ *pwc = ((my_wc_t) (c & 0x03) << 24) |
+ ((my_wc_t) (s[1] ^ 0x80) << 18) |
+ ((my_wc_t) (s[2] ^ 0x80) << 12) |
+ ((my_wc_t) (s[3] ^ 0x80) << 6) |
+ (my_wc_t) (s[4] ^ 0x80);
+ return 5;
+ }
+ else if (c < 0xfe && sizeof(my_wc_t)*8 >= 32)
+ {
+ if ( s+6 >e ) /* We need 6 characters */
+ return MY_CS_TOOFEW(0);
+
+ if (!((s[1] ^ 0x80) < 0x40 &&
+ (s[2] ^ 0x80) < 0x40 &&
+ (s[3] ^ 0x80) < 0x40 &&
+ (s[4] ^ 0x80) < 0x40 &&
+ (s[5] ^ 0x80) < 0x40 &&
+ (c >= 0xfd || s[1] >= 0x84)))
+ return MY_CS_ILSEQ;
+
+ *pwc = ((my_wc_t) (c & 0x01) << 30)
+ | ((my_wc_t) (s[1] ^ 0x80) << 24)
+ | ((my_wc_t) (s[2] ^ 0x80) << 18)
+ | ((my_wc_t) (s[3] ^ 0x80) << 12)
+ | ((my_wc_t) (s[4] ^ 0x80) << 6)
+ | (my_wc_t) (s[5] ^ 0x80);
+ return 6;
+#endif
+ } else
+ return MY_CS_ILSEQ;
+}
+
+int my_uni_utf8 (CHARSET_INFO *cs __attribute__((unused)) ,
+ my_wc_t wc, uchar *r, uchar *e)
+{
+ int count;
+
+ if (wc < 0x80)
+ count = 1;
+ else if (wc < 0x800)
+ count = 2;
+ else if (wc < 0x10000)
+ count = 3;
+#ifdef UNICODE_32BIT
+ else if (wc < 0x200000)
+ count = 4;
+ else if (wc < 0x4000000)
+ count = 5;
+ else if (wc <= 0x7fffffff)
+ count = 6;
+#endif
+ else return MY_CS_ILUNI;
+
+ /*
+ e is a character after the string r, not the last character of it.
+ Because of it (r+count > e), not (r+count-1 >e )
+ */
+ if ( r+count > e )
+ return MY_CS_TOOSMALL;
+
+ switch (count) {
+ /* Fall through all cases!!! */
+#ifdef UNICODE_32BIT
+ case 6: r[5] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x4000000;
+ case 5: r[4] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x200000;
+ case 4: r[3] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x10000;
+#endif
+ case 3: r[2] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x800;
+ case 2: r[1] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0xc0;
+ case 1: r[0] = wc;
+ }
+ return count;
+}
+
+
+void my_caseup_utf8(CHARSET_INFO *cs, char *s, uint slen)
+{
+ my_wc_t wc;
+ int res;
+ char *e=s+slen;
+
+ while ((s < e) && (res=my_utf8_uni(cs,&wc, (uchar *)s, (uchar*)e))>0 )
+ {
+ int plane = (wc>>8) & 0xFF;
+ wc = uni_plane[plane] ? uni_plane[plane][wc & 0xFF].toupper : wc;
+ if (res != my_uni_utf8(cs,wc,(uchar*)s,(uchar*)e))
+ break;
+ s+=res;
+ }
+}
+
+void my_caseup_str_utf8(CHARSET_INFO * cs, char * s)
+{
+ my_caseup_utf8(cs, s, strlen(s));
+}
+
+
+void my_casedn_utf8(CHARSET_INFO *cs, char *s, uint slen)
+{
+ my_wc_t wc;
+ int res;
+ char *e=s+slen;
+
+ while ((s < e) && (res=my_utf8_uni(cs, &wc, (uchar*)s, (uchar*)e))>0)
+ {
+ int plane = (wc>>8) & 0xFF;
+ wc = uni_plane[plane] ? uni_plane[plane][wc & 0xFF].tolower : wc;
+ if (res != my_uni_utf8(cs, wc, (uchar*)s, (uchar*)e))
+ {
+ break;
+ }
+ s+=res;
+ }
+}
+
+void my_casedn_str_utf8(CHARSET_INFO *cs, char * s)
+{
+ my_casedn_utf8(cs, s, strlen(s));
+}
+
+
+int my_strnncoll_utf8(CHARSET_INFO *cs,
+ const uchar *s, uint slen, const uchar *t, uint tlen)
+{
+ int s_res,t_res;
+ my_wc_t s_wc,t_wc;
+ const uchar *se=s+slen;
+ const uchar *te=t+tlen;
+
+ while ( s < se && t < te )
+ {
+ int plane;
+ s_res=my_utf8_uni(cs,&s_wc, s, se);
+ t_res=my_utf8_uni(cs,&t_wc, t, te);
+
+ if ( s_res <= 0 || t_res <= 0 )
+ {
+ /* Incorrect string, compare by char value */
+ return ((int)s[0]-(int)t[0]);
+ }
+
+ plane=(s_wc>>8) & 0xFF;
+ s_wc = uni_plane[plane] ? uni_plane[plane][s_wc & 0xFF].sort : s_wc;
+ plane=(t_wc>>8) & 0xFF;
+ t_wc = uni_plane[plane] ? uni_plane[plane][t_wc & 0xFF].sort : t_wc;
+ if ( s_wc != t_wc )
+ {
+ return ((int) s_wc) - ((int) t_wc);
+ }
+
+ s+=s_res;
+ t+=t_res;
+ }
+ return ( (se-s) - (te-t) );
+}
+
+int my_strncasecmp_utf8(CHARSET_INFO *cs,
+ const char *s, const char *t, uint len)
+{
+ int s_res,t_res;
+ my_wc_t s_wc,t_wc;
+ const char *se=s+len;
+ const char *te=t+len;
+
+ while ( s < se && t < te )
+ {
+ int plane;
+
+ s_res=my_utf8_uni(cs,&s_wc, (const uchar*)s, (const uchar*)se);
+ t_res=my_utf8_uni(cs,&t_wc, (const uchar*)t, (const uchar*)te);
+
+ if ( s_res <= 0 || t_res <= 0 )
+ {
+ /* Incorrect string, compare by char value */
+ return ((int)s[0]-(int)t[0]);
+ }
+
+ plane=(s_wc>>8) & 0xFF;
+ s_wc = uni_plane[plane] ? uni_plane[plane][s_wc & 0xFF].tolower : s_wc;
+
+ plane=(t_wc>>8) & 0xFF;
+ t_wc = uni_plane[plane] ? uni_plane[plane][t_wc & 0xFF].tolower : t_wc;
+
+ if ( s_wc != t_wc )
+ return ((int) s_wc) - ((int) t_wc);
+
+ s+=s_res;
+ t+=t_res;
+ }
+ return ( (se-s) - (te-t) );
+}
+
+int my_strcasecmp_utf8(CHARSET_INFO *cs, const char *s, const char *t)
+{
+ uint s_len=strlen(s);
+ uint t_len=strlen(t);
+ uint len = (s_len > t_len) ? s_len : t_len;
+ return my_strncasecmp_utf8(cs, s, t, len);
+}
+
+int my_strnxfrm_utf8(CHARSET_INFO *cs,
+ uchar *dst, uint dstlen, const uchar *src, uint srclen)
+{
+ my_wc_t wc;
+ int res;
+ int plane;
+ uchar *de = dst + dstlen;
+ const uchar *se = src + srclen;
+ const uchar *dst_orig = dst;
+
+ while( src < se && dst < de )
+ {
+ if ((res=my_utf8_uni(cs,&wc, src, se))<0)
+ {
+ break;
+ }
+ src+=res;
+ srclen-=res;
+
+ plane=(wc>>8) & 0xFF;
+ wc = uni_plane[plane] ? uni_plane[plane][wc & 0xFF].sort : wc;
+
+ if ((res=my_uni_utf8(cs,wc,dst,de)) <0)
+ {
+ break;
+ }
+ dst+=res;
+ }
+ return dst - dst_orig;
+}
+
+int my_ismbchar_utf8(CHARSET_INFO *cs,const char *b, const char *e)
+{
+ my_wc_t wc;
+ int res=my_utf8_uni(cs,&wc, (const uchar*)b, (const uchar*)e);
+ return (res>1) ? res : 0;
+}
+
+my_bool my_ismbhead_utf8(CHARSET_INFO *cs __attribute__((unused)) , uint ch)
+{
+ return ( ch >= 0xc2 );
+}
+
+int my_mbcharlen_utf8(CHARSET_INFO *cs __attribute__((unused)) , uint c)
+{
+ if (c < 0x80)
+ return 1;
+ else if (c < 0xc2)
+ return 0; /* Illegal mb head */
+ else if (c < 0xe0)
+ return 2;
+ else if (c < 0xf0)
+ return 3;
+#ifdef UNICODE_32BIT
+ else if (c < 0xf8)
+ return 4;
+ else if (c < 0xfc)
+ return 5;
+ else if (c < 0xfe)
+ return 6;
+#endif
+ return 0; /* Illegal mb head */;
+}
+
+#ifdef MY_TEST_UTF8
+
+#include <stdio.h>
+
+static void test_mb(CHARSET_INFO *cs, uchar *s)
+{
+ while(*s)
+ {
+ if(my_ismbhead_utf8(cs,*s))
+ {
+ int len=my_mbcharlen_utf8(cs,*s);
+ while(len--)
+ {
+ printf("%c",*s);
+ s++;
+ }
+ printf("\n");
+ }
+ else
+ {
+ printf("%c\n",*s);
+ s++;
+ }
+ }
+}
+
+int main()
+{
+ char str[1024]=" utf8 test проба ПЕРА по-РУССКИ";
+ CHARSET_INFO *cs;
+
+ test_mb(cs,(uchar*)str);
+
+ printf("orig :'%s'\n",str);
+
+ my_caseup_utf8(cs,str,15);
+ printf("caseup :'%s'\n",str);
+
+ my_caseup_str_utf8(cs,str);
+ printf("caseup_str:'%s'\n",str);
+
+ my_casedn_utf8(cs,str,15);
+ printf("casedn :'%s'\n",str);
+
+ my_casedn_str_utf8(cs,str);
+ printf("casedn_str:'%s'\n",str);
+
+ return 0;
+}
+
+#endif
+
+#endif
diff --git a/strings/ctype.c b/strings/ctype.c
index 8e3571b1b88..37f9b9bbcb9 100644
--- a/strings/ctype.c
+++ b/strings/ctype.c
@@ -20,13 +20,3810 @@
#include <m_string.h>
#endif
-/* generated by make, using conf_to_src */
-#include "ctype_extra_sources.c"
+#if defined(HAVE_CHARSET_latin1)||defined(HAVE_CHARSET_latin1_de)||\
+defined(HAVE_CHARSET_danish)||defined(HAVE_CHARSET_german1)
+
+static uint16 tab_8859_1_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
+0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
+0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
+0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
+0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
+0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
+0x00D0,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,
+0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x00DD,0x00DE,0x00DF,
+0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
+0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
+0x00F0,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,
+0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x00FD,0x00FE,0x00FF
+};
+
+static uchar tab_uni_8859_1_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
+0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
+0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
+0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
+0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
+0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};
+
+static MY_UNI_IDX idx_uni_8859_1[]={
+ {0x0000,0x00FF,tab_uni_8859_1_plane00},
+ {0,0,NULL}
+};
+#endif
+
+#if defined(HAVE_CHARSET_latin2)||defined(HAVE_CHARSET_croat)||\
+defined(HAVE_CHARSET_hungarian)||defined(HAVE_CHARSET_czech)
+
+static uint16 tab_8859_2_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x00A0,0x0104,0x02D8,0x0141,0x00A4,0x013D,0x015A,0x00A7,
+0x00A8,0x0160,0x015E,0x0164,0x0179,0x00AD,0x017D,0x017B,
+0x00B0,0x0105,0x02DB,0x0142,0x00B4,0x013E,0x015B,0x02C7,
+0x00B8,0x0161,0x015F,0x0165,0x017A,0x02DD,0x017E,0x017C,
+0x0154,0x00C1,0x00C2,0x0102,0x00C4,0x0139,0x0106,0x00C7,
+0x010C,0x00C9,0x0118,0x00CB,0x011A,0x00CD,0x00CE,0x010E,
+0x0110,0x0143,0x0147,0x00D3,0x00D4,0x0150,0x00D6,0x00D7,
+0x0158,0x016E,0x00DA,0x0170,0x00DC,0x00DD,0x0162,0x00DF,
+0x0155,0x00E1,0x00E2,0x0103,0x00E4,0x013A,0x0107,0x00E7,
+0x010D,0x00E9,0x0119,0x00EB,0x011B,0x00ED,0x00EE,0x010F,
+0x0111,0x0144,0x0148,0x00F3,0x00F4,0x0151,0x00F6,0x00F7,
+0x0159,0x016F,0x00FA,0x0171,0x00FC,0x00FD,0x0163,0x02D9
+};
+
+
+/* 0000-00FD , 254 chars */
+static uchar tab_uni_8859_2_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xA0,0x00,0x00,0x00,0xA4,0x00,0x00,0xA7,0xA8,0x00,0x00,0x00,0x00,0xAD,0x00,0x00,
+0xB0,0x00,0x00,0x00,0xB4,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0xC1,0xC2,0x00,0xC4,0x00,0x00,0xC7,0x00,0xC9,0x00,0xCB,0x00,0xCD,0xCE,0x00,
+0x00,0x00,0x00,0xD3,0xD4,0x00,0xD6,0xD7,0x00,0x00,0xDA,0x00,0xDC,0xDD,0x00,0xDF,
+0x00,0xE1,0xE2,0x00,0xE4,0x00,0x00,0xE7,0x00,0xE9,0x00,0xEB,0x00,0xED,0xEE,0x00,
+0x00,0x00,0x00,0xF3,0xF4,0x00,0xF6,0xF7,0x00,0x00,0xFA,0x00,0xFC,0xFD};
+
+/* 0102-017E , 125 chars */
+static uchar tab_uni_8859_2_plane01[]={
+0xC3,0xE3,0xA1,0xB1,0xC6,0xE6,0x00,0x00,0x00,0x00,0xC8,0xE8,0xCF,0xEF,0xD0,0xF0,
+0x00,0x00,0x00,0x00,0x00,0x00,0xCA,0xEA,0xCC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC5,0xE5,0x00,0x00,0xA5,0xB5,0x00,0x00,0xA3,
+0xB3,0xD1,0xF1,0x00,0x00,0xD2,0xF2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD5,0xF5,
+0x00,0x00,0xC0,0xE0,0x00,0x00,0xD8,0xF8,0xA6,0xB6,0x00,0x00,0xAA,0xBA,0xA9,0xB9,
+0xDE,0xFE,0xAB,0xBB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD9,0xF9,0xDB,0xFB,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0xBC,0xAF,0xBF,0xAE,0xBE};
+
+/* 02C7-02DD , 23 chars */
+static uchar tab_uni_8859_2_plane02[]={
+0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0xA2,0xFF,0x00,0xB2,0x00,0xBD};
+
+static MY_UNI_IDX idx_uni_8859_2[]={
+ {0x0000,0x00FD,tab_uni_8859_2_plane00},
+ {0x0102,0x017E,tab_uni_8859_2_plane01},
+ {0x02C7,0x02DD,tab_uni_8859_2_plane02},
+ {0,0,NULL}
+};
+#endif
+
+#if defined(HAVE_CHARSET_cp1251) || defined(HAVE_CHARSET_win1251) || defined(HAVE_CHARSET_win1251ukr)
+static uint16 tab_cp1251_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
+0x0402,0x0403,0x201A,0x0453,0x201E,0x2026,0x2020,0x2021,
+ 0,0x2030,0x0409,0x2039,0x040A,0x040C,0x040B,0x040F,
+0x0452,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
+ 0,0x2122,0x0459,0x203A,0x045A,0x045C,0x045B,0x045F,
+0x00A0,0x040E,0x045E,0x0408,0x00A4,0x0490,0x00A6,0x00A7,
+0x0401,0x00A9,0x0404,0x00AB,0x00AC,0x00AD,0x00AE,0x0407,
+0x00B0,0x00B1,0x0406,0x0456,0x0491,0x00B5,0x00B6,0x00B7,
+0x0451,0x2116,0x0454,0x00BB,0x0458,0x0405,0x0455,0x0457,
+0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
+0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,0x041F,
+0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
+0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,0x042F,
+0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
+0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,0x043F,
+0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
+0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,0x044F
+};
+
+/* 0000-00BB , 188 chars */
+static uchar tab_uni_cp1251_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xA0,0x00,0x00,0x00,0xA4,0x00,0xA6,0xA7,0x00,0xA9,0x00,0xAB,0xAC,0xAD,0xAE,0x00,
+0xB0,0xB1,0x00,0x00,0x00,0xB5,0xB6,0xB7,0x00,0x00,0x00,0xBB};
+
+/* 0401-0491 , 145 chars */
+static uchar tab_uni_cp1251_plane04[]={
+0xA8,0x80,0x81,0xAA,0xBD,0xB2,0xAF,0xA3,0x8A,0x8C,0x8E,0x8D,0x00,0xA1,0x8F,0xC0,
+0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,
+0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,
+0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,
+0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,0x00,
+0xB8,0x90,0x83,0xBA,0xBE,0xB3,0xBF,0xBC,0x9A,0x9C,0x9E,0x9D,0x00,0xA2,0x9F,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,
+0xB4};
+
+/* 2013-203A , 40 chars */
+static uchar tab_uni_cp1251_plane20[]={
+0x96,0x97,0x00,0x00,0x00,0x91,0x92,0x82,0x00,0x93,0x94,0x84,0x00,0x86,0x87,0x95,
+0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x89,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x9B};
+
+/* 2116-2122 , 13 chars */
+static uchar tab_uni_cp1251_plane21[]={
+0xB9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x99};
+
+static MY_UNI_IDX idx_uni_cp1251[]={
+ {0x0000,0x00BB,tab_uni_cp1251_plane00},
+ {0x0401,0x0491,tab_uni_cp1251_plane04},
+ {0x2013,0x203A,tab_uni_cp1251_plane20},
+ {0x2116,0x2122,tab_uni_cp1251_plane21},
+ {0,0,NULL}
+};
+#endif
+
+
+
+#ifdef HAVE_CHARSET_armscii8
+static uchar ctype_armscii8[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
+ 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
+ 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
+ 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
+ 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 16, 16
+};
+
+static uchar to_lower_armscii8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,184,169,170,171,172,173,174,175,
+ 176,177,179,179,181,181,183,183,185,185,187,187,189,189,191,191,
+ 193,193,195,195,197,197,199,199,201,201,203,203,205,205,207,207,
+ 209,209,211,211,213,213,215,215,217,217,219,219,221,221,223,223,
+ 225,225,227,227,229,229,231,231,233,233,235,235,237,237,239,239,
+ 241,241,243,243,245,245,247,247,249,249,251,251,253,253,254,255
+};
+
+static uchar to_upper_armscii8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,178,180,180,182,182,184,184,186,186,188,188,190,190,
+ 192,192,194,194,196,196,198,198,200,200,202,202,204,204,206,206,
+ 208,208,210,210,212,212,214,214,216,216,218,218,220,220,222,222,
+ 224,224,226,226,228,228,230,230,232,232,234,234,236,236,238,238,
+ 240,240,242,242,244,244,246,246,248,248,250,250,252,252,254,255
+};
+
+static uchar sort_order_armscii8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uint16 tab_armscii_8_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
+0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
+0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
+0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
+0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
+0x00A0,0x2741,0x00A7,0x0589,0x0029,0x0028,0x00BB,0x00AB,
+0x2014,0x002E,0x055D,0x002C,0x002D,0x055F,0x2026,0x055C,
+0x055B,0x055E,0x0531,0x0561,0x0532,0x0562,0x0533,0x0563,
+0x0534,0x0564,0x0535,0x0565,0x0536,0x0566,0x0537,0x0567,
+0x0538,0x0568,0x0539,0x0569,0x053A,0x056A,0x053B,0x056B,
+0x053C,0x056C,0x053D,0x056D,0x053E,0x056E,0x053F,0x056F,
+0x0540,0x0570,0x0541,0x0571,0x0542,0x0572,0x0543,0x0573,
+0x0544,0x0574,0x0545,0x0575,0x0546,0x0576,0x0547,0x0577,
+0x0548,0x0578,0x0549,0x0579,0x054A,0x057A,0x054B,0x057B,
+0x054C,0x057C,0x054D,0x057D,0x054E,0x057E,0x054F,0x057F,
+0x0550,0x0580,0x0551,0x0581,0x0552,0x0582,0x0553,0x0583,
+0x0554,0x0584,0x0555,0x0585,0x0556,0x0586,0x2019,0x0027
+};
+
+
+/* 0000-00BB , 188 chars */
+static uchar tab_uni_armscii_8_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0xFF,0xA5,0xA4,0x2A,0x2B,0xAB,0xAC,0xA9,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
+0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
+0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
+0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xA7,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6};
+
+/* 0531-0589 , 89 chars */
+static uchar tab_uni_armscii_8_plane05[]={
+0xB2,0xB4,0xB6,0xB8,0xBA,0xBC,0xBE,0xC0,0xC2,0xC4,0xC6,0xC8,0xCA,0xCC,0xCE,0xD0,
+0xD2,0xD4,0xD6,0xD8,0xDA,0xDC,0xDE,0xE0,0xE2,0xE4,0xE6,0xE8,0xEA,0xEC,0xEE,0xF0,
+0xF2,0xF4,0xF6,0xF8,0xFA,0xFC,0x00,0x00,0x00,0x00,0xB0,0xAF,0xAA,0xB1,0xAD,0x00,
+0xB3,0xB5,0xB7,0xB9,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,0xC9,0xCB,0xCD,0xCF,0xD1,
+0xD3,0xD5,0xD7,0xD9,0xDB,0xDD,0xDF,0xE1,0xE3,0xE5,0xE7,0xE9,0xEB,0xED,0xEF,0xF1,
+0xF3,0xF5,0xF7,0xF9,0xFB,0xFD,0x00,0x00,0xA3};
+
+/* 2014-2026 , 19 chars */
+static uchar tab_uni_armscii_8_plane20[]={
+0xA8,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xAE};
+
+/* 2741-2741 , 1 chars */
+static uchar tab_uni_armscii_8_plane27[]={
+0xA1};
+
+
+static MY_UNI_IDX idx_uni_armscii_8[]={
+ {0x0000,0x00BB,tab_uni_armscii_8_plane00},
+ {0x0531,0x0589,tab_uni_armscii_8_plane05},
+ {0x2014,0x2026,tab_uni_armscii_8_plane20},
+ {0x2741,0x2741,tab_uni_armscii_8_plane27},
+ {0,0,NULL}
+};
+
+#endif
+
+
+#ifdef HAVE_CHARSET_cp1251
+
+/* The cp1251 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_cp1251[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_cp1251[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,184,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_cp1251[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,168,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223
+};
+
+static uchar sort_order_cp1251[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,124,125,126,127,128,
+ 129, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,130,131,132,133,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,255, 97,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,255, 97,255,255,255,255,255,255,255,
+ 91, 92, 93, 94, 95, 96, 98, 99,100,101,102,103,104,105,106,107,
+ 108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,
+ 91, 92, 93, 94, 95, 96, 98, 99,100,101,102,103,104,105,106,107,
+ 108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123
+};
+
+#endif
+
+
+#ifdef HAVE_CHARSET_cp1257
+
+/* The cp1257 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_cp1257[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
+ 2, 2, 0, 0, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 2, 0
+};
+
+static uchar to_lower_cp1257[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,194,195,196,197,230,199,232,201,202,235,204,205,206,207,
+ 240,209,210,211,212,213,214,215,248,217,218,251,220,221,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_cp1257[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,226,227,228,229,198,231,200,233,234,203,236,237,238,239,
+ 208,241,242,243,244,245,246,247,216,249,250,219,252,253,222,255
+};
+
+static uchar sort_order_cp1257[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 67, 68, 70, 71, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 91, 92, 95, 96, 97, 78,255, 98, 99,100,101,102,
+ 103, 65, 67, 68, 70, 71, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 91, 92, 95, 96, 97, 78,255,104,105,106,107,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 66, 79,255,255,255,255, 72,255, 69,255,255, 73,255,255,255,255,
+ 90,255,255,255,255,255,255,255, 94,255,255, 93,255,255,255,255,
+ 255, 79,255,255,255,255, 72,255, 69,255,255, 73,255,255,255,255,
+ 90,255,255,255,255,255,255,255, 94,255,255, 93,255,255,255,255
+};
+
+static uint16 tab_cp1257_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
+0x20AC, 0,0x201A, 0,0x201E,0x2026,0x2020,0x2021,
+ 0,0x2030, 0,0x2039, 0,0x00A8,0x02C7,0x00B8,
+ 0,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
+ 0,0x2122, 0,0x203A, 0,0x00AF,0x02DB, 0,
+0x00A0, 0,0x00A2,0x00A3,0x00A4, 0,0x00A6,0x00A7,
+0x00D8,0x00A9,0x0156,0x00AB,0x00AC,0x00AD,0x00AE,0x00C6,
+0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
+0x00F8,0x00B9,0x0157,0x00BB,0x00BC,0x00BD,0x00BE,0x00E6,
+0x0104,0x012E,0x0100,0x0106,0x00C4,0x00C5,0x0118,0x0112,
+0x010C,0x00C9,0x0179,0x0116,0x0122,0x0136,0x012A,0x013B,
+0x0160,0x0143,0x0145,0x00D3,0x014C,0x00D5,0x00D6,0x00D7,
+0x0172,0x0141,0x015A,0x016A,0x00DC,0x017B,0x017D,0x00DF,
+0x0105,0x012F,0x0101,0x0107,0x00E4,0x00E5,0x0119,0x0113,
+0x010D,0x00E9,0x017A,0x0117,0x0123,0x0137,0x012B,0x013C,
+0x0161,0x0144,0x0146,0x00F3,0x014D,0x00F5,0x00F6,0x00F7,
+0x0173,0x0142,0x015B,0x016B,0x00FC,0x017C,0x017E,0x02D9
+};
+
+
+/* 0000-00FC , 253 chars */
+static uchar tab_uni_cp1257_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xA0,0x00,0xA2,0xA3,0xA4,0x00,0xA6,0xA7,0x8D,0xA9,0x00,0xAB,0xAC,0xAD,0xAE,0x9D,
+0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0x8F,0xB9,0x00,0xBB,0xBC,0xBD,0xBE,0x00,
+0x00,0x00,0x00,0x00,0xC4,0xC5,0xAF,0x00,0x00,0xC9,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0xD3,0x00,0xD5,0xD6,0xD7,0xA8,0x00,0x00,0x00,0xDC,0x00,0x00,0xDF,
+0x00,0x00,0x00,0x00,0xE4,0xE5,0xBF,0x00,0x00,0xE9,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0xF3,0x00,0xF5,0xF6,0xF7,0xB8,0x00,0x00,0x00,0xFC};
+
+/* 0100-017E , 127 chars */
+static uchar tab_uni_cp1257_plane01[]={
+0xC2,0xE2,0x00,0x00,0xC0,0xE0,0xC3,0xE3,0x00,0x00,0x00,0x00,0xC8,0xE8,0x00,0x00,
+0x00,0x00,0xC7,0xE7,0x00,0x00,0xCB,0xEB,0xC6,0xE6,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xCC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0xCE,0xEE,0x00,0x00,0xC1,0xE1,
+0x00,0x00,0x00,0x00,0x00,0x00,0xCD,0xED,0x00,0x00,0x00,0xCF,0xEF,0x00,0x00,0x00,
+0x00,0xD9,0xF9,0xD1,0xF1,0xD2,0xF2,0x00,0x00,0x00,0x00,0x00,0xD4,0xF4,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xBA,0x00,0x00,0xDA,0xFA,0x00,0x00,0x00,0x00,
+0xD0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDB,0xFB,0x00,0x00,0x00,0x00,
+0x00,0x00,0xD8,0xF8,0x00,0x00,0x00,0x00,0x00,0xCA,0xEA,0xDD,0xFD,0xDE,0xFE};
+
+/* 2013-20AC , 154 chars */
+static uchar tab_uni_cp1257_plane20[]={
+0x96,0x97,0x00,0x00,0x00,0x91,0x92,0x82,0x00,0x93,0x94,0x84,0x00,0x86,0x87,0x95,
+0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x89,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80};
+
+/* 02C7-02DB , 21 chars */
+static uchar tab_uni_cp1257_plane02[]={
+0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xFF,0x00,0x9E};
+
+/* 2122-2122 , 1 chars */
+static uchar tab_uni_cp1257_plane21[]={
+0x99};
+
+static MY_UNI_IDX idx_uni_cp1257[]={
+ {0x0000,0x00FC,tab_uni_cp1257_plane00},
+ {0x0100,0x017E,tab_uni_cp1257_plane01},
+ {0x2013,0x20AC,tab_uni_cp1257_plane20},
+ {0x02C7,0x02DB,tab_uni_cp1257_plane02},
+ {0x2122,0x2122,tab_uni_cp1257_plane21},
+ {0,0,NULL}
+};
+
+#endif
+
+
+#ifdef HAVE_CHARSET_croat
+
+/* The croat character set. Generated by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_croat[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_croat[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,154,139,140,141,158,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_croat[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,138,155,156,157,142,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255
+};
+
+static uchar sort_order_croat[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137, 87,139,140,141, 95,143,
+ 144,145,146,147,148,149,150,151,152,153, 87,155,156,157, 95,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 65, 65, 65, 65, 92, 91, 69, 67, 68, 69, 69, 69, 73, 73, 73, 73,
+ 71, 78, 79, 79, 79, 79, 93,215,216, 85, 85, 85, 89, 89,222,223,
+ 65, 65, 65, 65, 92, 91, 69, 67, 68, 69, 69, 69, 73, 73, 73, 73,
+ 71, 78, 79, 79, 79, 79, 93,247,216, 85, 85, 85, 89, 89,222,255
+};
+#endif
+
+
+#ifdef HAVE_CHARSET_danish
+
+/* The danish character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_danish[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_danish[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_danish[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255
+};
+
+static uchar sort_order_danish[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 65, 65, 65, 65, 91, 93, 91, 67, 69, 69, 69, 69, 73, 73, 73, 73,
+ 68, 78, 79, 79, 79, 79, 92,215, 92, 85, 85, 85, 89, 89,222,223,
+ 65, 65, 65, 65, 91, 93, 91, 67, 69, 69, 69, 69, 73, 73, 73, 73,
+ 68, 78, 79, 79, 79, 79, 92,247, 92, 85, 85, 85, 89, 89,222,255
+};
+#endif
+
+
+
+#ifdef HAVE_CHARSET_dec8
+
+/* The dec8 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_dec8[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_dec8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_dec8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255
+};
+
+static uchar sort_order_dec8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 65, 65, 65, 65, 92, 91, 92, 67, 69, 69, 69, 69, 73, 73, 73, 73,
+ 68, 78, 79, 79, 79, 79, 93,215,216, 85, 85, 85, 89, 89,222,223,
+ 65, 65, 65, 65, 92, 91, 92, 67, 69, 69, 69, 69, 73, 73, 73, 73,
+ 68, 78, 79, 79, 79, 79, 93,247,216, 85, 85, 85, 89, 89,222,255
+};
+#endif
+
+
+#ifdef HAVE_CHARSET_dos
+
+/* The dos character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_dos[] = {
+ 0,
+ 32, 48, 48, 48, 48, 48, 48, 32, 32, 40, 40, 40, 40, 40, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 48, 48, 48, 48, 48,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 48,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1,
+ 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 16, 16, 16, 16, 16,
+ 2, 2, 2, 2, 2, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 32
+};
+
+static uchar to_lower_dos[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 135,129,130,131,132,133,134,135,136,137,138,139,140,141,132,134,
+ 130,145,145,147,148,149,150,151,152,148,129,155,156,157,158,159,
+ 160,161,162,163,164,164,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_dos[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,154,144, 65,142, 65,143,128, 69, 69, 69, 73, 73, 73,142,143,
+ 144,146,146, 79,153, 79, 85, 85, 89,153,154,155,156,157,158,159,
+ 65, 73, 79, 85,165,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar sort_order_dos[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 67, 89, 69, 65, 92, 65, 91, 67, 69, 69, 69, 73, 73, 73, 92, 91,
+ 69, 92, 92, 79, 93, 79, 85, 85, 89, 93, 89, 36, 36, 36, 36, 36,
+ 65, 73, 79, 85, 78, 78,166,167, 63,169,170,171,172, 33, 34, 34,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+#endif
+
+#ifdef HAVE_CHARSET_estonia
+
+/* The estonia character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_estonia[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_estonia[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,184,169,186,171,172,173,174,191,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_estonia[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,168,185,170,187,188,189,190,175,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255
+};
+
+static uchar sort_order_estonia[] = {
+ 0, 2, 3, 4, 5, 6, 7, 8, 9, 46, 47, 48, 49, 50, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 44, 51, 52, 53, 54, 55, 56, 39, 57, 58, 59, 93, 60, 40, 61, 62,
+ 118,122,124,126,128,129,130,131,132,133, 63, 64, 94, 95, 96, 65,
+ 66,134,144,146,152,154,164,166,170,172,178,180,184,190,192,198,
+ 206,208,210,214,229,232,238,240,250,252,221, 67, 68, 69, 70, 71,
+ 72,135,145,147,153,155,165,167,171,173,179,181,185,191,193,199,
+ 207,209,211,215,230,233,239,241,251,253,222, 73, 74, 75, 76, 28,
+ 1, 29, 87, 30, 90,116,113,114, 31,117, 32, 91, 33, 78, 82, 81,
+ 34, 85, 86, 88, 89,115, 42, 43, 35,231, 36, 92, 37, 79, 84, 38,
+ 45,254,102,103,104,255, 77,105,204,106,212, 98,107, 41,108,142,
+ 109, 97,125,127, 80,110,111,112,205,123,213, 99,119,120,121,143,
+ 140,176,136,148,244,138,162,160,150,156,223,158,168,182,174,186,
+ 219,194,196,200,202,242,246,100,236,188,216,234,248,225,227,218,
+ 141,177,137,149,245,139,163,161,151,157,224,159,169,183,175,187,
+ 220,195,197,201,203,243,247,101,237,189,217,235,249,226,228, 83
+};
+#endif
+
+#ifdef HAVE_CHARSET_german1
+
+/* The german1 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_german1[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_german1[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_german1[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255
+};
+
+static uchar sort_order_german1[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 65, 65, 65, 65, 65, 65, 65, 67, 69, 69, 69, 69, 73, 73, 73, 73,
+ 208, 78, 79, 79, 79, 79, 79,215, 79, 85, 85, 85, 85, 89,222, 83,
+ 65, 65, 65, 65, 65, 65, 65, 67, 69, 69, 69, 69, 73, 73, 73, 73,
+ 208, 78, 79, 79, 79, 79, 79,247, 79, 85, 85, 85, 85, 89,222,255
+};
+#endif
+
+#ifdef HAVE_CHARSET_greek
+
+/* The greek character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_greek[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 16, 16, 16, 0, 0, 16, 16, 16, 16, 0, 16, 16, 16, 0, 16,
+ 16, 16, 16, 16, 16, 16, 1, 16, 1, 1, 1, 16, 1, 16, 1, 1,
+ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0
+};
+
+static uchar to_lower_greek[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,220,183,221,222,223,187,252,189,253,254,
+ 192,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,210,243,244,245,246,247,248,249,250,251,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_greek[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 218,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,193,197,199,201,
+ 219,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,211,211,212,213,214,215,216,217,218,219,207,213,217,255
+};
+
+static uchar sort_order_greek[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,193,183,197,199,201,187,207,189,213,217,
+ 201,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,201,213,193,197,199,201,
+ 213,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,211,211,212,213,214,215,216,217,201,213,207,213,217,255
+};
+#endif
+
+#ifdef HAVE_CHARSET_hebrew
+
+/* The hebrew character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_hebrew[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0
+};
+
+static uchar to_lower_hebrew[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_hebrew[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar sort_order_hebrew[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+#endif
+
+#ifdef HAVE_CHARSET_hp8
+
+/* The hp8 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_hp8[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 32, 32, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 2, 16, 16, 16, 16, 16, 16, 2, 16, 2, 2,
+ 1, 16, 16, 1, 2, 16, 16, 2, 1, 16, 1, 1, 1, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 32, 32, 32, 32, 16, 16, 16, 16, 16, 16, 16, 16, 16, 32
+};
+
+static uchar to_lower_hp8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,200,192,201,193,205,209,221,168,169,170,171,172,203,195,175,
+ 176,178,178,179,181,181,183,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 212,209,214,215,212,213,214,215,204,217,206,207,197,221,222,194,
+ 196,226,226,228,228,213,217,198,202,234,234,236,236,199,239,239,
+ 241,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_hp8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,177,179,180,180,182,182,184,185,186,187,188,189,190,191,
+ 162,164,223,174,224,220,231,237,161,163,232,173,216,165,218,219,
+ 208,166,210,211,208,229,210,211,216,230,218,219,220,167,222,223,
+ 224,225,225,227,227,229,230,231,232,233,233,235,235,237,238,238,
+ 240,240,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar sort_order_hp8[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 91, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+#endif
+
+#ifdef HAVE_CHARSET_hungarian
+
+/* The hungarian character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_hungarian[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 72,
+ 1, 16, 1, 16, 1, 1, 16, 0, 0, 1, 1, 1, 1, 16, 1, 1,
+ 16, 2, 16, 2, 16, 2, 2, 16, 16, 2, 2, 2, 2, 16, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 16, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 16,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 16
+};
+
+static uchar to_lower_hungarian[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,139,139,161,161,142,160,
+ 130,145,146,147,148,162,150,163,150,148,129,155,156,157,158,159,
+ 160,161,162,163,181,182,166,147,168,185,186,187,188,173,190,191,
+ 176,177,178,179,180,225,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 208,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223,
+ 162,225,226,227,228,229,230,231,232,233,234,150,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_hungarian[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,154,144,131,132,133,134,135,136,137,138,138,140,141,142,143,
+ 144,145,146,167,153,149,152,151,152,153,154,155,156,157,158,159,
+ 143,141,149,151,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,160,178,162,180,181,165,183,184,169,170,171,172,189,174,175,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,193,194,195,196,197,198,199,200,201,202,235,204,205,206,207,
+ 240,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255
+};
+
+static uchar sort_order_hungarian[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 71, 72, 76, 78, 83, 84, 85, 86, 90, 91, 92, 96, 97,100,
+ 105,106,107,110,114,117,122,123,124,125,127,131,132,133,134,135,
+ 136, 65, 71, 72, 76, 78, 83, 84, 85, 86, 90, 91, 92, 96, 97,100,
+ 105,106,107,110,114,117,122,123,124,125,127,137,138,139,140, 0,
+ 1,120, 78, 4, 5, 6, 7, 8, 9, 10,103,103, 86, 86, 15, 65,
+ 78, 18, 19,103,103,100,120,117,120,103,120, 28, 29, 30, 31,255,
+ 65, 86,100,117, 94,111,255,103,255,112,113,115,128,255,129,130,
+ 255, 66,255, 93,255, 65,111,255,255,112,113,115,128,255,129,130,
+ 108, 65, 68, 69, 70, 95, 73, 75, 74, 78, 81, 82, 80, 86, 87, 77,
+ 255, 98, 99,100,102,103,103,255,109,119,117,120,120,126,116,255,
+ 100, 65, 68, 69, 70, 95, 73, 75, 74, 78, 81,120, 80, 86, 88, 77,
+ 255, 98, 99,100,102,103,103,255,109,119,117,120,120,126,116,255
+};
+#endif
+
+#ifdef HAVE_CHARSET_koi8_ru
+
+/* The koi8_ru character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_koi8_ru[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 2, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
+};
+
+static uchar to_lower_koi8_ru[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,163,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223
+};
+
+static uchar to_upper_koi8_ru[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,179,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar sort_order_koi8_ru[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,229,163,164,165,166,167,168,169,170,171,172,173,174,
+ 175,176,177,229,178,179,180,181,182,183,184,185,186,187,188,189,
+ 254,223,224,246,227,228,244,226,245,232,233,234,235,236,237,238,
+ 239,255,240,241,242,243,230,225,252,251,231,248,253,249,247,250,
+ 254,223,224,246,227,228,244,226,245,232,233,234,235,236,237,238,
+ 239,255,240,241,242,243,230,225,252,251,231,248,253,249,247,250
+};
+
+static uint16 tab_koi8_r_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
+0x2500,0x2502,0x250C,0x2510,0x2514,0x2518,0x251C,0x2524,
+0x252C,0x2534,0x253C,0x2580,0x2584,0x2588,0x258C,0x2590,
+0x2591,0x2592,0x2593,0x2320,0x25A0,0x2219,0x221A,0x2248,
+0x2264,0x2265,0x00A0,0x2321,0x00B0,0x00B2,0x00B7,0x00F7,
+0x2550,0x2551,0x2552,0x0451,0x2553,0x2554,0x2555,0x2556,
+0x2557,0x2558,0x2559,0x255A,0x255B,0x255C,0x255D,0x255E,
+0x255F,0x2560,0x2561,0x0401,0x2562,0x2563,0x2564,0x2565,
+0x2566,0x2567,0x2568,0x2569,0x256A,0x256B,0x256C,0x00A9,
+0x044E,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
+0x0445,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
+0x043F,0x044F,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
+0x044C,0x044B,0x0437,0x0448,0x044D,0x0449,0x0447,0x044A,
+0x042E,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
+0x0425,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
+0x041F,0x042F,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
+0x042C,0x042B,0x0417,0x0428,0x042D,0x0429,0x0427,0x042A
+};
+
+
+/* 0000-00F7 , 248 chars */
+static uchar tab_uni_koi8_r_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x9A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,0x00,0x00,0x00,
+0x9C,0x00,0x9D,0x00,0x00,0x00,0x00,0x9E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9F};
+
+/* 0401-0451 , 81 chars */
+static uchar tab_uni_koi8_r_plane04[]={
+0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE1,
+0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF2,
+0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1,0xC1,
+0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD2,
+0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1,0x00,
+0xA3};
+
+/* 2500-25A0 , 161 chars */
+static uchar tab_uni_koi8_r_plane25[]={
+0x80,0x00,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x00,
+0x83,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x86,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xA0,0xA1,0xA2,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,
+0xB1,0xB2,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x8B,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+0x8F,0x90,0x91,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x94};
+
+/* 2219-2265 , 77 chars */
+static uchar tab_uni_koi8_r_plane22[]={
+0x95,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x97,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x99};
+
+/* 2320-2321 , 2 chars */
+static uchar tab_uni_koi8_r_plane23[]={
+0x93,0x9B};
+
+
+static MY_UNI_IDX idx_uni_koi8_r[]={
+ {0x0000,0x00F7,tab_uni_koi8_r_plane00},
+ {0x0401,0x0451,tab_uni_koi8_r_plane04},
+ {0x2500,0x25A0,tab_uni_koi8_r_plane25},
+ {0x2219,0x2265,tab_uni_koi8_r_plane22},
+ {0x2320,0x2321,tab_uni_koi8_r_plane23},
+ {0,0,NULL}
+};
+
+#endif
+
+#ifdef HAVE_CHARSET_koi8_ukr
+
+/* The koi8_ukr character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_koi8_ukr[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 2, 2, 16, 2, 2, 16, 16, 16, 16, 16, 2, 16, 16,
+ 16, 16, 16, 1, 1, 16, 1, 1, 16, 16, 16, 16, 16, 1, 16, 16,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
+};
+
+static uchar to_lower_koi8_ukr[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 32, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32,163,164, 32,166,167, 32, 32, 32, 32, 32,173, 32, 32,
+ 32, 32, 32,163,164, 32,166,167, 32, 32, 32, 32, 32,173, 32, 32,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223
+};
+
+static uchar to_upper_koi8_ukr[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 32, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32,179,180, 32,182,183, 32, 32, 32, 32, 32,189, 32, 32,
+ 32, 32, 32,179,180, 32,182,183, 32, 32, 32, 32, 32,189, 32, 32,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar sort_order_koi8_ukr[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 32, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,
+ 181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,
+ 197,198,199,136,135,200,140,141,201,202,203,204,205,132,206,207,
+ 208,209,210,136,135,211,140,141,212,213,214,215,216,132,217,218,
+ 163,128,129,155,133,134,153,131,154,139,142,143,144,145,146,147,
+ 148,164,149,150,151,152,137,130,161,160,138,157,162,158,156,159,
+ 163,128,129,155,133,134,153,131,154,139,142,143,144,145,146,147,
+ 148,164,149,150,151,152,137,130,161,160,138,157,162,158,156,159
+};
+
+static uint16 tab_koi8_u_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
+0x2500,0x2502,0x250C,0x2510,0x2514,0x2518,0x251C,0x2524,
+0x252C,0x2534,0x253C,0x2580,0x2584,0x2588,0x258C,0x2590,
+0x2591,0x2592,0x2593,0x2320,0x25A0,0x2022,0x221A,0x2248,
+0x2264,0x2265,0x00A0,0x2321,0x00B0,0x00B2,0x00B7,0x00F7,
+0x2550,0x2551,0x2552,0x0451,0x0454,0x2554,0x0456,0x0457,
+0x2557,0x2558,0x2559,0x255A,0x255B,0x0491,0x255D,0x255E,
+0x255F,0x2560,0x2561,0x0401,0x0404,0x2563,0x0406,0x0407,
+0x2566,0x2567,0x2568,0x2569,0x256A,0x0490,0x256C,0x00A9,
+0x044E,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
+0x0445,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
+0x043F,0x044F,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
+0x044C,0x044B,0x0437,0x0448,0x044D,0x0449,0x0447,0x044A,
+0x042E,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
+0x0425,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
+0x041F,0x042F,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
+0x042C,0x042B,0x0417,0x0428,0x042D,0x0429,0x0427,0x042A
+};
+
+
+/* 0000-00F7 , 248 chars */
+static uchar tab_uni_koi8_u_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x9A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,0x00,0x00,0x00,
+0x9C,0x00,0x9D,0x00,0x00,0x00,0x00,0x9E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9F};
+
+/* 0401-0491 , 145 chars */
+static uchar tab_uni_koi8_u_plane04[]={
+0xB3,0x00,0x00,0xB4,0x00,0xB6,0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE1,
+0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF2,
+0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1,0xC1,
+0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD2,
+0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1,0x00,
+0xA3,0x00,0x00,0xA4,0x00,0xA6,0xA7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBD,
+0xAD};
+
+/* 2500-25A0 , 161 chars */
+static uchar tab_uni_koi8_u_plane25[]={
+0x80,0x00,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x00,
+0x83,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x86,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xA0,0xA1,0xA2,0x00,0xA5,0x00,0x00,0xA8,0xA9,0xAA,0xAB,0xAC,0x00,0xAE,0xAF,0xB0,
+0xB1,0xB2,0x00,0xB5,0x00,0x00,0xB8,0xB9,0xBA,0xBB,0xBC,0x00,0xBE,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x8B,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+0x8F,0x90,0x91,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x94};
+
+/* 221A-2265 , 76 chars */
+static uchar tab_uni_koi8_u_plane22[]={
+0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x97,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x99};
+
+/* 2320-2321 , 2 chars */
+static uchar tab_uni_koi8_u_plane23[]={
+0x93,0x9B};
+
+/* 2022-2022 , 1 chars */
+static uchar tab_uni_koi8_u_plane20[]={
+0x95};
+
+
+static MY_UNI_IDX idx_uni_koi8_u[]={
+ {0x0000,0x00F7,tab_uni_koi8_u_plane00},
+ {0x0401,0x0491,tab_uni_koi8_u_plane04},
+ {0x2500,0x25A0,tab_uni_koi8_u_plane25},
+ {0x221A,0x2265,tab_uni_koi8_u_plane22},
+ {0x2320,0x2321,tab_uni_koi8_u_plane23},
+ {0x2022,0x2022,tab_uni_koi8_u_plane20},
+ {0,0,NULL}
+};
+
+#endif
+
+#ifdef HAVE_CHARSET_latin1
+
+/* The latin1 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_latin1[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_latin1[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_latin1[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255
+};
+
+static uchar sort_order_latin1[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 65, 65, 65, 65, 92, 91, 92, 67, 69, 69, 69, 69, 73, 73, 73, 73,
+ 68, 78, 79, 79, 79, 79, 93,215,216, 85, 85, 85, 89, 89,222,223,
+ 65, 65, 65, 65, 92, 91, 92, 67, 69, 69, 69, 69, 73, 73, 73, 73,
+ 68, 78, 79, 79, 79, 79, 93,247,216, 85, 85, 85, 89, 89,222,255
+};
+#endif
+
+#ifdef HAVE_CHARSET_latin2
+
+/* The latin2 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_latin2[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 1, 16, 1, 16, 1, 1, 16, 16, 1, 1, 1, 1, 16, 1, 1,
+ 16, 2, 16, 2, 16, 2, 2, 16, 16, 2, 2, 2, 2, 16, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 16, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 16,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 16
+};
+
+static uchar to_lower_latin2[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,177,162,179,164,181,182,167,168,185,186,187,188,173,190,191,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 208,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_latin2[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,161,178,163,180,165,166,183,184,169,170,171,172,189,174,175,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 240,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255
+};
+
+static uchar sort_order_latin2[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 68, 69, 72, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 86,
+ 88, 89, 90, 91, 94, 95, 96, 97, 98, 99,100,104,105,106,107,108,
+ 109, 65, 68, 69, 72, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 86,
+ 88, 89, 90, 91, 94, 95, 96, 97, 98, 99,100,110,111,112,113,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 255, 66,255, 82,255, 81, 92,255,255, 93, 91, 94,101,255,103,102,
+ 255, 66,255, 82,255, 81, 92,255,255, 93, 91, 94,101,255,103,102,
+ 90, 67, 67, 67, 67, 81, 70, 69, 71, 73, 74, 73, 73, 78, 78, 72,
+ 255, 85, 84, 87, 86, 86, 86,255, 90, 95, 95, 95, 95, 99, 94,255,
+ 90, 67, 67, 67, 67, 81, 70, 69, 71, 73, 74, 73, 73, 78, 78, 72,
+ 255, 85, 84, 87, 86, 86, 86,255, 90, 95, 95, 95, 95, 99, 94,255
+};
+#endif
+
+#ifdef HAVE_CHARSET_latin5
+
+/* The latin5 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_latin5[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_latin5[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,253,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,215,248,249,250,251,252,105,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_latin5[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72,221, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,247,216,217,218,219,220, 73,222,255
+};
+
+static uchar sort_order_latin5[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 69, 70, 71, 72, 74, 75, 77, 78, 79, 80, 81, 82,
+ 84, 85, 86, 87, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99,100,101,
+ 102, 65, 66, 67, 69, 70, 71, 72, 74, 76, 77, 78, 79, 80, 81, 82,
+ 84, 85, 86, 87, 89, 90, 92, 93, 94, 95, 96,135,136,137,138,139,
+ 140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,
+ 156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,
+ 172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,
+ 188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,
+ 204,205,206,207,208,209,210, 68,211,212,213,214,215,216,217,218,
+ 73,219,220,221,222,223, 83,224,225,226,227,228, 91, 76, 88,229,
+ 204,205,206,207,208,209,210, 68,211,212,213,214,215,216,217,218,
+ 73,219,220,221,222,223, 83,250,225,226,227,228, 91, 75, 88,255
+};
+
+static uint16 tab_8859_9_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
+0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
+0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
+0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
+0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
+0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
+0x011E,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,
+0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x0130,0x015E,0x00DF,
+0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
+0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
+0x011F,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,
+0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x0131,0x015F,0x00FF
+};
+
+
+/* 0000-00FF , 256 chars */
+static uchar tab_uni_8859_9_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
+0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
+0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
+0x00,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0x00,0x00,0xDF,
+0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
+0x00,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0x00,0x00,0xFF};
+
+/* 011E-015F , 66 chars */
+static uchar tab_uni_8859_9_plane01[]={
+0xD0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xDD,0xFD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xDE,0xFE};
+
+
+static MY_UNI_IDX idx_uni_8859_9[]={
+ {0x0000,0x00FF,tab_uni_8859_9_plane00},
+ {0x011E,0x015F,tab_uni_8859_9_plane01},
+ {0,0,NULL}
+};
+
+#endif
+
+#ifdef HAVE_CHARSET_swe7
+
+/* The swe7 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_swe7[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 1,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16,
+ 1,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+static uchar to_lower_swe7[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_swe7[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar sort_order_swe7[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 69, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 91, 89, 95,
+ 69, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 91, 89,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+#endif
+
+#ifdef HAVE_CHARSET_usa7
+
+/* The usa7 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_usa7[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+static uchar to_lower_usa7[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_usa7[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar sort_order_usa7[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 91, 94, 95,
+ 69, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125, 89,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uint16 tab_us_ascii_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+
+/* 0000-007E , 127 chars */
+static uchar tab_uni_us_ascii_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E};
+
+
+static MY_UNI_IDX idx_uni_us_ascii[]={
+ {0x0000,0x007E,tab_uni_us_ascii_plane00},
+ {0,0,NULL}
+};
+
+#endif
+
+#ifdef HAVE_CHARSET_win1250
+
+/* The win1250 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_win1250[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 32, 32, 16, 32, 16, 16, 16, 16, 32, 16, 1, 16, 1, 1, 1, 1,
+ 32, 16, 16, 16, 16, 16, 16, 16, 32, 16, 2, 16, 2, 2, 2, 2,
+ 72, 16, 16, 1, 16, 1, 16, 1, 16, 16, 1, 16, 16, 16, 16, 1,
+ 16, 16, 16, 2, 16, 16, 16, 16, 16, 2, 2, 16, 1, 16, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 16
+};
+
+static uchar to_lower_win1250[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,154,139,156,157,158,159,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,179,164,185,166,223,168,169,186,171,172,173,174,191,
+ 176,177,178,179,180,181,182,183,184,185,186,187,190,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_win1250[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,138,155,140,141,142,143,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,163,180,181,182,183,184,165,170,187,188,189,188,175,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,167,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,247,216,217,218,219,220,221,222,255
+};
+
+static uchar sort_order_win1250[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 85,
+ 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 99,100,101,102,103,
+ 104, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 85,
+ 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137, 90,139, 90, 91, 98, 98,
+ 144,145,146,147,148,149,150,151,152,153, 90,155, 90, 91, 98, 98,
+ 32,161,162, 80,164, 65,166, 89,168,169, 89,171,172,173,174, 98,
+ 176,177,178, 80,180,181,182,183,184, 65, 89,187, 80,189, 80, 98,
+ 88, 65, 65, 65, 65, 80, 69, 67, 68, 73, 73, 73, 73, 77, 77, 70,
+ 71, 83, 83, 85, 85, 85, 85,215, 88, 92, 92, 92, 92, 96, 91, 89,
+ 88, 65, 65, 65, 65, 80, 69, 67, 68, 73, 73, 73, 73, 77, 77, 70,
+ 71, 83, 83, 85, 85, 85, 85,247, 88, 92, 92, 92, 92, 96, 91,255
+};
+
+static uint16 tab_cp1250_uni[256]={
+ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
+0x20AC, 0,0x201A, 0,0x201E,0x2026,0x2020,0x2021,
+ 0,0x2030,0x0160,0x2039,0x015A,0x0164,0x017D,0x0179,
+ 0,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
+ 0,0x2122,0x0161,0x203A,0x015B,0x0165,0x017E,0x017A,
+0x00A0,0x02C7,0x02D8,0x0141,0x00A4,0x0104,0x00A6,0x00A7,
+0x00A8,0x00A9,0x015E,0x00AB,0x00AC,0x00AD,0x00AE,0x017B,
+0x00B0,0x00B1,0x02DB,0x0142,0x00B4,0x00B5,0x00B6,0x00B7,
+0x00B8,0x0105,0x015F,0x00BB,0x013D,0x02DD,0x013E,0x017C,
+0x0154,0x00C1,0x00C2,0x0102,0x00C4,0x0139,0x0106,0x00C7,
+0x010C,0x00C9,0x0118,0x00CB,0x011A,0x00CD,0x00CE,0x010E,
+0x0110,0x0143,0x0147,0x00D3,0x00D4,0x0150,0x00D6,0x00D7,
+0x0158,0x016E,0x00DA,0x0170,0x00DC,0x00DD,0x0162,0x00DF,
+0x0155,0x00E1,0x00E2,0x0103,0x00E4,0x013A,0x0107,0x00E7,
+0x010D,0x00E9,0x0119,0x00EB,0x011B,0x00ED,0x00EE,0x010F,
+0x0111,0x0144,0x0148,0x00F3,0x00F4,0x0151,0x00F6,0x00F7,
+0x0159,0x016F,0x00FA,0x0171,0x00FC,0x00FD,0x0163,0x02D9
+};
+
+
+/* 0000-00FD , 254 chars */
+static uchar tab_uni_cp1250_plane00[]={
+0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xA0,0x00,0x00,0x00,0xA4,0x00,0xA6,0xA7,0xA8,0xA9,0x00,0xAB,0xAC,0xAD,0xAE,0x00,
+0xB0,0xB1,0x00,0x00,0xB4,0xB5,0xB6,0xB7,0xB8,0x00,0x00,0xBB,0x00,0x00,0x00,0x00,
+0x00,0xC1,0xC2,0x00,0xC4,0x00,0x00,0xC7,0x00,0xC9,0x00,0xCB,0x00,0xCD,0xCE,0x00,
+0x00,0x00,0x00,0xD3,0xD4,0x00,0xD6,0xD7,0x00,0x00,0xDA,0x00,0xDC,0xDD,0x00,0xDF,
+0x00,0xE1,0xE2,0x00,0xE4,0x00,0x00,0xE7,0x00,0xE9,0x00,0xEB,0x00,0xED,0xEE,0x00,
+0x00,0x00,0x00,0xF3,0xF4,0x00,0xF6,0xF7,0x00,0x00,0xFA,0x00,0xFC,0xFD};
+
+/* 0102-017E , 125 chars */
+static uchar tab_uni_cp1250_plane01[]={
+0xC3,0xE3,0xA5,0xB9,0xC6,0xE6,0x00,0x00,0x00,0x00,0xC8,0xE8,0xCF,0xEF,0xD0,0xF0,
+0x00,0x00,0x00,0x00,0x00,0x00,0xCA,0xEA,0xCC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC5,0xE5,0x00,0x00,0xBC,0xBE,0x00,0x00,0xA3,
+0xB3,0xD1,0xF1,0x00,0x00,0xD2,0xF2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD5,0xF5,
+0x00,0x00,0xC0,0xE0,0x00,0x00,0xD8,0xF8,0x8C,0x9C,0x00,0x00,0xAA,0xBA,0x8A,0x9A,
+0xDE,0xFE,0x8D,0x9D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD9,0xF9,0xDB,0xFB,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8F,0x9F,0xAF,0xBF,0x8E,0x9E};
+
+/* 2013-20AC , 154 chars */
+static uchar tab_uni_cp1250_plane20[]={
+0x96,0x97,0x00,0x00,0x00,0x91,0x92,0x82,0x00,0x93,0x94,0x84,0x00,0x86,0x87,0x95,
+0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x89,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80};
+
+/* 02C7-02DD , 23 chars */
+static uchar tab_uni_cp1250_plane02[]={
+0xA1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0xA2,0xFF,0x00,0xB2,0x00,0xBD};
+
+/* 2122-2122 , 1 chars */
+static uchar tab_uni_cp1250_plane21[]={
+0x99};
+
+
+static MY_UNI_IDX idx_uni_cp1250[]={
+ {0x0000,0x00FD,tab_uni_cp1250_plane00},
+ {0x0102,0x017E,tab_uni_cp1250_plane01},
+ {0x2013,0x20AC,tab_uni_cp1250_plane20},
+ {0x02C7,0x02DD,tab_uni_cp1250_plane02},
+ {0x2122,0x2122,tab_uni_cp1250_plane21},
+ {0,0,NULL}
+};
+
+#endif
+
+#ifdef HAVE_CHARSET_win1251
+
+/* The win1251 character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_win1251[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 2, 16, 16, 16, 16, 16, 16, 16,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_win1251[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,184,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,245,247,248,249,250,251,252,253,254,255,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar to_upper_win1251[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,168,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,213,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223
+};
+
+static uchar sort_order_win1251[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,198,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,198,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 192,193,194,195,196,197,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224
+};
+#endif
+
+#ifdef HAVE_CHARSET_win1251ukr
+
+/* The win1251ukr character set. Generated automatically by
+ * the ./conf_to_src program
+ */
+
+static uchar ctype_win1251ukr[] = {
+ 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
+ 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
+ 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 1, 16, 1, 16, 16, 16, 16, 1,
+ 16, 16, 1, 2, 16, 16, 16, 16, 2, 16, 2, 16, 16, 16, 16, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+};
+
+static uchar to_lower_win1251ukr[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
+ 32, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32,165, 32, 32,168, 32,170, 32, 32, 32, 32,175,
+ 32, 32,178,178,165, 32, 32, 32,168, 32,170, 32, 32, 32, 32,175,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223
+};
+
+static uchar to_upper_win1251ukr[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 32, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32,180, 32, 32,184, 32,186, 32, 32, 32, 32,191,
+ 32, 32,179,179,180, 32, 32, 32,184, 32,186, 32, 32, 32, 32,191,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
+};
+
+static uchar sort_order_win1251ukr[] = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 32, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
+ 165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,
+ 181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,
+ 197,198,199,200,201,132,202,203,136,204,135,205,206,207,208,141,
+ 209,210,140,140,132,211,212,213,136,214,135,215,216,217,218,141,
+ 128,129,130,131,133,134,137,138,139,142,143,144,145,146,147,148,
+ 149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,
+ 128,129,130,131,133,134,137,138,139,142,143,144,145,146,147,148,
+ 149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164
+};
+#endif
+
+
+
+CHARSET_INFO compiled_charsets[] = {
+
+#ifdef HAVE_CHARSET_latin1
+ {
+ 8, /* number */
+ "latin1", /* name */
+ ctype_latin1,
+ to_lower_latin1,
+ to_upper_latin1,
+ sort_order_latin1,
+ tab_8859_1_uni, /* tab_to_uni */
+ idx_uni_8859_1, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_big5
+ {
+ 1, /* number */
+ "big5", /* name */
+ ctype_big5,
+ to_lower_big5,
+ to_upper_big5,
+ sort_order_big5,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 1, /* strxfrm_multiply */
+ my_strnncoll_big5,
+ my_strnxfrm_big5,
+ my_like_range_big5,
+ 2, /* mbmaxlen */
+ ismbchar_big5,
+ ismbhead_big5,
+ mbcharlen_big5,
+ my_mb_wc_big5, /* mb_wc */
+ my_wc_mb_big5, /* wc_mb */
+ my_caseup_str_mb,
+ my_casedn_str_mb,
+ my_caseup_mb,
+ my_casedn_mb,
+ my_strcasecmp_mb,
+ my_strncasecmp_mb,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_cp1251
+ {
+ 14, /* number */
+ "cp1251", /* name */
+ ctype_cp1251,
+ to_lower_cp1251,
+ to_upper_cp1251,
+ sort_order_cp1251,
+ tab_cp1251_uni, /* tab_to_uni */
+ idx_uni_cp1251, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_cp1257
+ {
+ 29, /* number */
+ "cp1257", /* name */
+ ctype_cp1257,
+ to_lower_cp1257,
+ to_upper_cp1257,
+ sort_order_cp1257,
+ tab_cp1257_uni, /* tab_to_uni */
+ idx_uni_cp1257, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_croat
+ {
+ 27, /* number */
+ "croat", /* name */
+ ctype_croat,
+ to_lower_croat,
+ to_upper_croat,
+ sort_order_croat,
+ tab_8859_2_uni, /* tab_to_uni */
+ idx_uni_8859_2, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_czech
+ {
+ 2, /* number */
+ "czech", /* name */
+ ctype_czech,
+ to_lower_czech,
+ to_upper_czech,
+ sort_order_czech,
+ tab_8859_2_uni, /* tab_to_uni */
+ idx_uni_8859_2, /* tab_from_uni */
+ 4, /* strxfrm_multiply */
+ my_strnncoll_czech,
+ my_strnxfrm_czech,
+ my_like_range_czech,
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_danish
+ {
+ 15, /* number */
+ "danish", /* name */
+ ctype_danish,
+ to_lower_danish,
+ to_upper_danish,
+ sort_order_danish,
+ tab_8859_1_uni, /* tab_to_uni */
+ idx_uni_8859_1, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_dec8
+ {
+ 3, /* number */
+ "dec8", /* name */
+ ctype_dec8,
+ to_lower_dec8,
+ to_upper_dec8,
+ sort_order_dec8,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_dos
+ {
+ 4, /* number */
+ "dos", /* name */
+ ctype_dos,
+ to_lower_dos,
+ to_upper_dos,
+ sort_order_dos,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_estonia
+ {
+ 20, /* number */
+ "estonia", /* name */
+ ctype_estonia,
+ to_lower_estonia,
+ to_upper_estonia,
+ sort_order_estonia,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_euc_kr
+ {
+ 19, /* number */
+ "euc_kr", /* name */
+ ctype_euc_kr,
+ to_lower_euc_kr,
+ to_upper_euc_kr,
+ sort_order_euc_kr,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 2, /* mbmaxlen */
+ ismbchar_euc_kr,
+ ismbhead_euc_kr,
+ mbcharlen_euc_kr,
+ my_mb_wc_euc_kr, /* mb_wc */
+ my_wc_mb_euc_kr, /* wc_mb */
+ my_caseup_str_mb,
+ my_casedn_str_mb,
+ my_caseup_mb,
+ my_casedn_mb,
+ my_strcasecmp_mb,
+ my_strncasecmp_mb,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_gb2312
+ {
+ 24, /* number */
+ "gb2312", /* name */
+ ctype_gb2312,
+ to_lower_gb2312,
+ to_upper_gb2312,
+ sort_order_gb2312,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 2, /* mbmaxlen */
+ ismbchar_gb2312,
+ ismbhead_gb2312,
+ mbcharlen_gb2312,
+ my_mb_wc_gb2312, /* mb_wc */
+ my_wc_mb_gb2312, /* wc_mb */
+ my_caseup_str_mb,
+ my_casedn_str_mb,
+ my_caseup_mb,
+ my_casedn_mb,
+ my_strcasecmp_mb,
+ my_strncasecmp_mb,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_gbk
+ {
+ 28, /* number */
+ "gbk", /* name */
+ ctype_gbk,
+ to_lower_gbk,
+ to_upper_gbk,
+ sort_order_gbk,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 1, /* strxfrm_multiply */
+ my_strnncoll_gbk,
+ my_strnxfrm_gbk,
+ my_like_range_gbk,
+ 2, /* mbmaxlen */
+ ismbchar_gbk,
+ ismbhead_gbk,
+ mbcharlen_gbk,
+ my_mb_wc_gbk, /* mb_wc */
+ my_wc_mb_gbk, /* wc_mb */
+ my_caseup_str_mb,
+ my_casedn_str_mb,
+ my_caseup_mb,
+ my_casedn_mb,
+ my_strcasecmp_mb,
+ my_strncasecmp_mb,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_german1
+ {
+ 5, /* number */
+ "german1", /* name */
+ ctype_german1,
+ to_lower_german1,
+ to_upper_german1,
+ sort_order_german1,
+ tab_8859_1_uni, /* tab_to_uni */
+ idx_uni_8859_1, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_greek
+ {
+ 25, /* number */
+ "greek", /* name */
+ ctype_greek,
+ to_lower_greek,
+ to_upper_greek,
+ sort_order_greek,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_hebrew
+ {
+ 16, /* number */
+ "hebrew", /* name */
+ ctype_hebrew,
+ to_lower_hebrew,
+ to_upper_hebrew,
+ sort_order_hebrew,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_hp8
+ {
+ 6, /* number */
+ "hp8", /* name */
+ ctype_hp8,
+ to_lower_hp8,
+ to_upper_hp8,
+ sort_order_hp8,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_hungarian
+ {
+ 21, /* number */
+ "hungarian", /* name */
+ ctype_hungarian,
+ to_lower_hungarian,
+ to_upper_hungarian,
+ sort_order_hungarian,
+ tab_8859_2_uni, /* tab_to_uni */
+ idx_uni_8859_2, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_koi8_ru
+ {
+ 7, /* number */
+ "koi8_ru", /* name */
+ ctype_koi8_ru,
+ to_lower_koi8_ru,
+ to_upper_koi8_ru,
+ sort_order_koi8_ru,
+ tab_koi8_r_uni, /* tab_to_uni */
+ idx_uni_koi8_r, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_koi8_ukr
+ {
+ 22, /* number */
+ "koi8_ukr", /* name */
+ ctype_koi8_ukr,
+ to_lower_koi8_ukr,
+ to_upper_koi8_ukr,
+ sort_order_koi8_ukr,
+ tab_koi8_u_uni, /* tab_to_uni */
+ idx_uni_koi8_u, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_latin1_de
+ {
+ 31, /* number */
+ "latin1_de", /* name */
+ ctype_latin1_de,
+ to_lower_latin1_de,
+ to_upper_latin1_de,
+ sort_order_latin1_de,
+ tab_8859_1_uni, /* tab_to_uni */
+ idx_uni_8859_1, /* tab_from_uni */
+ 2, /* strxfrm_multiply */
+ my_strnncoll_latin1_de,
+ my_strnxfrm_latin1_de,
+ my_like_range_latin1_de,
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_latin2
+ {
+ 9, /* number */
+ "latin2", /* name */
+ ctype_latin2,
+ to_lower_latin2,
+ to_upper_latin2,
+ sort_order_latin2,
+ tab_8859_2_uni, /* tab_to_uni */
+ idx_uni_8859_2, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_latin5
+ {
+ 30, /* number */
+ "latin5", /* name */
+ ctype_latin5,
+ to_lower_latin5,
+ to_upper_latin5,
+ sort_order_latin5,
+ tab_8859_9_uni, /* tab_to_uni */
+ idx_uni_8859_9, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_sjis
+ {
+ 13, /* number */
+ "sjis", /* name */
+ ctype_sjis,
+ to_lower_sjis,
+ to_upper_sjis,
+ sort_order_sjis,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 1, /* strxfrm_multiply */
+ my_strnncoll_sjis,
+ my_strnxfrm_sjis,
+ my_like_range_sjis,
+ 2, /* mbmaxlen */
+ ismbchar_sjis,
+ ismbhead_sjis,
+ mbcharlen_sjis,
+ my_mb_wc_sjis, /* mb_wc */
+ my_wc_mb_sjis, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_swe7
+ {
+ 10, /* number */
+ "swe7", /* name */
+ ctype_swe7,
+ to_lower_swe7,
+ to_upper_swe7,
+ sort_order_swe7,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_tis620
+ {
+ 18, /* number */
+ "tis620", /* name */
+ ctype_tis620,
+ to_lower_tis620,
+ to_upper_tis620,
+ sort_order_tis620,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 4, /* strxfrm_multiply */
+ my_strnncoll_tis620,
+ my_strnxfrm_tis620,
+ my_like_range_tis620,
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_ujis
+ {
+ 12, /* number */
+ "ujis", /* name */
+ ctype_ujis,
+ to_lower_ujis,
+ to_upper_ujis,
+ sort_order_ujis,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 3, /* mbmaxlen */
+ ismbchar_ujis,
+ ismbhead_ujis,
+ mbcharlen_ujis,
+ my_mb_wc_euc_jp, /* mb_wc */
+ my_wc_mb_euc_jp, /* wc_mb */
+ my_caseup_str_mb,
+ my_casedn_str_mb,
+ my_caseup_mb,
+ my_casedn_mb,
+ my_strcasecmp_mb,
+ my_strncasecmp_mb,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_utf8
+ {
+ 33, /* number */
+ "utf8", /* name */
+ ctype_utf8, /* ctype */
+ to_lower_utf8, /* to_lower */
+ to_upper_utf8, /* to_upper */
+ to_upper_utf8, /* sort_order */
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 1, /* strxfrm_multiply */
+ my_strnncoll_utf8, /* strnncoll */
+ my_strnxfrm_utf8, /* strnxfrm */
+ NULL, /* like_range */
+ 6, /* mbmaxlen */
+ my_ismbchar_utf8, /* ismbchar */
+ my_ismbhead_utf8, /* ismbhead */
+ my_mbcharlen_utf8, /* mbcharlen */
+ my_utf8_uni, /* mb_wc */
+ my_uni_utf8, /* wc_mb */
+ my_caseup_str_utf8,
+ my_casedn_str_utf8,
+ my_caseup_utf8,
+ my_casedn_utf8,
+ my_strcasecmp_utf8,
+ my_strncasecmp_utf8,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_usa7
+ {
+ 11, /* number */
+ "usa7", /* name */
+ ctype_usa7,
+ to_lower_usa7,
+ to_upper_usa7,
+ sort_order_usa7,
+ tab_us_ascii_uni, /* tab_to_uni */
+ idx_uni_us_ascii, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_win1250
+ {
+ 26, /* number */
+ "win1250", /* name */
+ ctype_win1250,
+ to_lower_win1250,
+ to_upper_win1250,
+ sort_order_win1250,
+ tab_cp1250_uni, /* tab_to_uni */
+ idx_uni_cp1250, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_win1251ukr
+ {
+ 23, /* number */
+ "win1251ukr", /* name */
+ ctype_win1251ukr,
+ to_lower_win1251ukr,
+ to_upper_win1251ukr,
+ sort_order_win1251ukr,
+ tab_cp1251_uni, /* tab_to_uni */
+ idx_uni_cp1251, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_armscii8
+ {
+ 32, /* number */
+ "armscii8", /* name */
+ ctype_armscii8,
+ to_lower_armscii8,
+ to_upper_armscii8,
+ sort_order_armscii8,
+ tab_armscii_8_uni, /* tab_to_uni */
+ idx_uni_armscii_8, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+#ifdef HAVE_CHARSET_win1251
+ {
+ 17, /* number */
+ "win1251", /* name */
+ ctype_win1251,
+ to_lower_win1251,
+ to_upper_win1251,
+ sort_order_win1251,
+ tab_cp1251_uni, /* tab_to_uni */
+ idx_uni_cp1251, /* tab_from_uni */
+ 0, /* strxfrm_multiply */
+ NULL, /* strnncoll */
+ NULL, /* strnxfrm */
+ NULL, /* like_range */
+ 0, /* mbmaxlen */
+ NULL, /* ismbchar */
+ NULL, /* ismbhead */
+ NULL, /* mbcharlen */
+ my_mb_wc_8bit, /* mb_wc */
+ my_wc_mb_8bit, /* wc_mb */
+ my_caseup_str_8bit,
+ my_casedn_str_8bit,
+ my_caseup_8bit,
+ my_casedn_8bit,
+ my_strcasecmp_8bit,
+ my_strncasecmp_8bit,
+ 0
+ },
+#endif
+
+ {
+ 0, /* end-of-list marker */
+ NullS,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ 0,
+ NULL,
+ NULL,
+ NULL,
+ 0,
+ NULL,
+ NULL,
+ NULL,
+
+ NULL, /* mb_wc */
+ NULL, /* wc_mb */
+
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ 0
+ }
+};
-/* generated by configure */
-#include "ctype_autoconf.c"
CHARSET_INFO *default_charset_info = &compiled_charsets[0];
+CHARSET_INFO *system_charset_info = &compiled_charsets[0];
CHARSET_INFO *find_compiled_charset(uint cs_number)
{
diff --git a/strings/str2int.c b/strings/str2int.c
index 58669287473..d7e6bb9aabc 100644
--- a/strings/str2int.c
+++ b/strings/str2int.c
@@ -98,7 +98,7 @@ char *str2int(register const char *src, register int radix, long int lower,
converted value (and the scale!) as *negative* numbers,
so the sign is the opposite of what you might expect.
*/
- while (isspace(*src)) src++;
+ while (my_isspace(system_charset_info,*src)) src++;
sign = -1;
if (*src == '+') src++; else
if (*src == '-') src++, sign = 1;
diff --git a/strings/strto.c b/strings/strto.c
index 84dccbcbeb8..9af101296a3 100644
--- a/strings/strto.c
+++ b/strings/strto.c
@@ -95,7 +95,7 @@ function (const char *nptr,char **endptr,int base)
s = nptr;
/* Skip white space. */
- while (isspace (*s))
+ while (my_isspace (system_charset_info, *s))
++s;
if (*s == '\0')
{
@@ -116,7 +116,7 @@ function (const char *nptr,char **endptr,int base)
else
negative = 0;
- if (base == 16 && s[0] == '0' && toupper (s[1]) == 'X')
+ if (base == 16 && s[0] == '0' && my_toupper (system_charset_info, s[1]) == 'X')
s += 2;
/* If BASE is zero, figure it out ourselves. */
@@ -124,7 +124,7 @@ function (const char *nptr,char **endptr,int base)
{
if (*s == '0')
{
- if (toupper (s[1]) == 'X')
+ if (my_toupper (system_charset_into, s[1]) == 'X')
{
s += 2;
base = 16;
@@ -146,10 +146,10 @@ function (const char *nptr,char **endptr,int base)
i = 0;
for (c = *s; c != '\0'; c = *++s)
{
- if (isdigit (c))
+ if (my_isdigit (system_charset_info, c))
c -= '0';
- else if (isalpha (c))
- c = toupper (c) - 'A' + 10;
+ else if (my_isalpha (system_charset_info, c))
+ c = my_toupper (system_charset_into, c) - 'A' + 10;
else
break;
if (c >= base)
diff --git a/tools/mysqlmanager.c b/tools/mysqlmanager.c
index bd43c6bc0ec..536b76a1351 100644
--- a/tools/mysqlmanager.c
+++ b/tools/mysqlmanager.c
@@ -402,8 +402,8 @@ static int exec_line(struct manager_thd* thd,char* buf,char* buf_end)
{
char* p=buf;
struct manager_cmd* cmd;
- for (;p<buf_end && !isspace(*p);p++)
- *p=tolower(*p);
+ for (;p<buf_end && !my_isspace(system_charset_info,*p);p++)
+ *p=my_tolower(system_charset_info,*p);
log_info("Command '%s'", buf);
if (!(cmd=lookup_cmd(buf,(int)(p-buf))))
{
@@ -413,7 +413,7 @@ static int exec_line(struct manager_thd* thd,char* buf,char* buf_end)
thd->fatal=1;
return 1;
}
- for (;p<buf_end && isspace(*p);p++);
+ for (;p<buf_end && my_isspace(system_charset_info,*p);p++);
return cmd->handler_func(thd,p,buf_end);
}
@@ -691,7 +691,7 @@ HANDLE_DECL(handle_query)
int num_fields,i,ident_len;
char* ident,*query;
query=ident=args_start;
- while (!isspace(*query))
+ while (!my_isspace(system_charset_info,*query))
query++;
if (query == ident)
{
@@ -699,7 +699,7 @@ HANDLE_DECL(handle_query)
goto err;
}
ident_len=(int)(query-ident);
- while (query<args_end && isspace(*query))
+ while (query<args_end && my_isspace(system_charset_info,*query))
query++;
if (query == args_end)
{
@@ -976,7 +976,7 @@ static int authenticate(struct manager_thd* thd)
for (buf=thd->cmd_buf,p=thd->user,p_end=p+MAX_USER_NAME;
buf<buf_end && (c=*buf) && p<p_end; buf++,p++)
{
- if (isspace(c))
+ if (my_isspace(system_charset_info,c))
{
*p=0;
break;
@@ -989,7 +989,7 @@ static int authenticate(struct manager_thd* thd)
if (!(u=(struct manager_user*)hash_search(&user_hash,thd->user,
(uint)(p-thd->user))))
return 1;
- for (;isspace(*buf) && buf<buf_end;buf++) /* empty */;
+ for (;my_isspace(system_charset_info,*buf) && buf<buf_end;buf++) /* empty */;
my_MD5Init(&context);
my_MD5Update(&context,(uchar*) buf,(uint)(buf_end-buf));
@@ -1596,9 +1596,9 @@ static void manager_exec_free(void* e)
static int hex_val(char c)
{
- if (isdigit(c))
+ if (my_isdigit(system_charset_info,c))
return c-'0';
- c=tolower(c);
+ c=my_tolower(system_charset_info,c);
return c-'a'+10;
}
@@ -1655,7 +1655,8 @@ static void init_user_hash()
FILE* f;
char buf[80];
int line_num=1;
- if (hash_init(&user_hash,1024,0,0,get_user_key,manager_user_free,MYF(0)))
+ if (hash_init(&user_hash,system_charset_info,1024,0,0,
+ get_user_key,manager_user_free,MYF(0)))
die("Could not initialize user hash");
if (!(f=fopen(manager_pw_file,"r")))
die("Could not open password file '%s'", manager_pw_file);
@@ -1693,7 +1694,8 @@ static void init_pid_file()
static void init_globals()
{
pthread_attr_t thr_attr;
- if (hash_init(&exec_hash,1024,0,0,get_exec_key,manager_exec_free,MYF(0)))
+ if (hash_init(&exec_hash,system_charset_info,1024,0,0,
+ get_exec_key,manager_exec_free,MYF(0)))
die("Exec hash initialization failed");
if (!one_thread)
{