diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/Documentation/Configure.help linux.16p1/Documentation/Configure.help --- linux.15p19/Documentation/Configure.help Sun Apr 2 00:09:12 2000 +++ linux.16p1/Documentation/Configure.help Wed Apr 19 13:58:55 2000 @@ -7929,6 +7929,18 @@ To use the new attributes, it is recommended to use the flags '-f 600 -d 755' on the ncpmount command line. +nls default codepage +CONFIG_NLS_DEFAULT + The default NLS used when mounting filesystem. Currently, the valid + values are cp437, cp737, cp775, cp850, cp852, cp855, cp857, cp860, + cp861, cp862, cp863, cp864, cp865, cp866, cp869, cp874, cp932, cp936, + cp949, cp950, iso8859-1, iso8859-2, iso8859-3, iso8859-4, iso8859-5, + iso8859-6, iso8859-7, iso8859-8, iso8859-9, iso8859-15, koi8-r. + If you specify a wrong value, it will use the build-in NLS; compatible + with iso8859-1. + + If unsure, specify it as "cp437". + nls codepage 437 CONFIG_NLS_CODEPAGE_437 The Microsoft fat filesystem family can deal with filenames in @@ -8106,6 +8118,48 @@ DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Thai. + +nls codepage 932 +CONFIG_NLS_CODEPAGE_932 + The Microsoft fat filesystem family can deal with filenames in + native language character sets. These character sets are stored in + so-called DOS codepages. You need to include the appropriate + codepage if you want to be able to read/write these filenames on + DOS/Windows partitions correctly. This does apply to the filenames + only, not to the file contents. You can include several codepages; + say Y here if you want to include the DOS codepage for Shift-JIS. + +nls codepage 936 +CONFIG_NLS_CODEPAGE_936 + The Microsoft fat filesystem family can deal with filenames in + native language character sets. These character sets are stored in + so-called DOS codepages. You need to include the appropriate + codepage if you want to be able to read/write these filenames on + DOS/Windows partitions correctly. This does apply to the filenames + only, not to the file contents. You can include several codepages; + say Y here if you want to include the DOS codepage for Simplified + Chinese(GBK). + +nls codepage 949 +CONFIG_NLS_CODEPAGE_949 + The Microsoft fat filesystem family can deal with filenames in + native language character sets. These character sets are stored in + so-called DOS codepages. You need to include the appropriate + codepage if you want to be able to read/write these filenames on + DOS/Windows partitions correctly. This does apply to the filenames + only, not to the file contents. You can include several codepages; + say Y here if you want to include the DOS codepage for UHC. + +nls codepage 950 +CONFIG_NLS_CODEPAGE_950 + The Microsoft fat filesystem family can deal with filenames in + native language character sets. These character sets are stored in + so-called DOS codepages. You need to include the appropriate + codepage if you want to be able to read/write these filenames on + DOS/Windows partitions correctly. This does apply to the filenames + only, not to the file contents. You can include several codepages; + say Y here if you want to include the DOS codepage for Traditional + Chinese(Big5). nls iso8859-1 CONFIG_NLS_ISO8859_1 diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/Documentation/kbuild/config-language.txt linux.16p1/Documentation/kbuild/config-language.txt --- linux.15p19/Documentation/kbuild/config-language.txt Mon Feb 1 20:03:20 1999 +++ linux.16p1/Documentation/kbuild/config-language.txt Wed Apr 19 14:05:06 2000 @@ -1,5 +1,5 @@ Config Language Specification -21 January 1999 +18 October 1999 Michael Elizabeth Chastain, @@ -82,7 +82,10 @@ double-quoted string. If the word is unquoted or double quoted, then $-substition will be performed on the word. - A /symbol/ is a single unquoted word. + A /symbol/ is a single unquoted word. A symbol must have a name of + the form CONFIG_*. scripts/mkdep.c relies on this convention in order + to generate dependencies on individual CONFIG_* symbols instead of + making one massive dependency on include/linux/autoconf.h. A /dep/ is a dependency. Syntactically, it is a /word/. At run time, a /dep/ must evaluate to "y", "m", "n", or "". @@ -117,6 +120,7 @@ Dependent statements: dep_bool /prompt/ /symbol/ /dep/ ... + dep_mbool /prompt/ /symbol/ /dep/ ... dep_hex /prompt/ /symbol/ /word/ /dep/ ... dep_int /prompt/ /symbol/ /word/ /dep/ ... dep_string /prompt/ /symbol/ /word/ /dep/ ... @@ -355,8 +359,8 @@ number is a legal value. Configure: implemented -Menuconfig: not implemented -Xconfig: not implemented +Menuconfig: implemented +Xconfig: implemented mconfig: implemented Example: @@ -377,14 +381,14 @@ legal value. Configure: implemented -Menuconfig: not implemented -Xconfig: not implemented +Menuconfig: implemented +Xconfig: implemented mconfig: implemented Example: - # Not from the corpus - define_int CONFIG_UID_TORVALDS 2026 + # drivers/char/ftape/Config.in + define_int CONFIG_FT_ALPHA_CLOCK 0 @@ -394,8 +398,8 @@ are any ASCII string, except for the characters '"' and '\\'. Configure: implemented -Menuconfig: not implemented -Xconfig: not implemented +Menuconfig: implemented +Xconfig: implemented mconfig: implemented Example @@ -414,17 +418,22 @@ instead of define_bool to define tristate values. This aids in static type checking. -Configure: not implemented -Menuconfig: not implemented -Xconfig: not implemented +Configure: implemented +Menuconfig: implemented +Xconfig: implemented mconfig: implemented Example: - # not from the corpus - if [ "$CONFIG_ZFTAPE" != "n" ]; then - comment 'The compressor will be built as a module only!' - define_tristate CONFIG_ZFT_COMPRESSOR m + # drivers/video/Config.in + if [ "$CONFIG_FB_AMIGA" = "y" ]; then + define_tristate CONFIG_FBCON_AFB y + define_tristate CONFIG_FBCON_ILBM y + else + if [ "$CONFIG_FB_AMIGA" = "m" ]; then + define_tristate CONFIG_FBCON_AFB m + define_tristate CONFIG_FBCON_ILBM m + fi fi @@ -433,23 +442,63 @@ This verb evaluates all of the dependencies in the dependency list. Any dependency which has a value of "y" does not restrict the input -range. Any dependency which has a value of "n", or which has some -other value, restricts the input range to "n". +range. Any dependency which has an empty value is ignored. +Any dependency which has a value of "n", or which has some other value, +(like "m") restricts the input range to "n". Quoting dependencies is not +allowed. Using dependencies with an empty value possible is not +recommended. See also dep_mbool below. If the input range is restricted to the single choice "n", dep_bool silently assigns "n" to /symbol/. If the input range has more than one choice, dep_bool displays /prompt/ to the user, accepts a value from the user, and assigns that value to /symbol/. -Configure: not implemented -Menuconfig: not implemented -XConfig: not implemented +Configure: implemented +Menuconfig: implemented +XConfig: implemented mconfig: implemented - # not from the corpus - dep_bool 'RZ1000 chipset bugfix/support' CONFIG_BLK_DEV_RZ1000 $CONFIG_PCI +Example: + + # drivers/net/Config.in + dep_bool 'Aironet 4500/4800 PCI support 'CONFIG_AIRONET4500_PCI $CONFIG_PCI + +Known bugs: +- Xconfig does not write "# foo is not set" to .config (as well as + "#unset foo" to autoconf.h) if command is disabled by its dependencies. +=== dep_mbool /prompt/ /symbol/ /dep/ ... + +This verb evaluates all of the dependencies in the dependency list. +Any dependency which has a value of "y" or "m" does not restrict the +input range. Any dependency which has an empty value is ignored. +Any dependency which has a value of "n", or which has some other value, +restricts the input range to "n". Quoting dependencies is not allowed. +Using dependencies with an empty value possible is not recommended. + +If the input range is restricted to the single choice "n", dep_bool +silently assigns "n" to /symbol/. If the input range has more than +one choice, dep_bool displays /prompt/ to the user, accepts a value +from the user, and assigns that value to /symbol/. + +Notice that the only difference between dep_bool and dep_mbool +is in the way of treating the "m" value as a dependency. + +Configure: implemented +Menuconfig: implemented +XConfig: implemented +mconfig: not implemented + +Example: + + # Not from the corpus + dep_mbool 'Packet socket: mmapped IO' CONFIG_PACKET_MMAP $CONFIG_PACKET + +Known bugs: +- Xconfig does not write "# foo is not set" to .config (as well as + "#unset foo" to autoconf.h) if command is disabled by its dependencies. + === dep_hex /prompt/ /symbol/ /word/ /dep/ ... === dep_int /prompt/ /symbol/ /word/ /dep/ ... @@ -464,13 +513,15 @@ -=== dep_tristate /prompt/ /symbol /dep/ ... +=== dep_tristate /prompt/ /symbol/ /dep/ ... This verb evaluates all of the dependencies in the dependency list. -Any dependency which as a value of "y" does not restrict the input range. +Any dependency which has a value of "y" does not restrict the input range. Any dependency which has a value of "m" restricts the input range to -"m" or "n". Any dependency which has a value of "n", or which has some -other value, restricts the input range to "n". +"m" or "n". Any dependency which has an empty value is ignored. +Any dependency which has a value of "n", or which has some other value, +restricts the input range to "n". Quoting dependencies is not allowed. +Using dependencies with an empty value possible is not recommended. If the input range is restricted to the single choice "n", dep_tristate silently assigns "n" to /symbol/. If the input range has more than @@ -478,10 +529,18 @@ from the user, and assigns that value to /symbol/. Configure: implemented -Menuconfig: implemented (but silently ignores dependencies after the first) -Xconfig: implemented (but silently ignores dependencies after the first) +Menuconfig: implemented +Xconfig: implemented mconfig: implemented +Example: + + # drivers/char/Config.in + dep_tristate 'Parallel printer support' CONFIG_PRINTER $CONFIG_PARPORT + +Known bugs: +- Xconfig does not write "# foo is not set" to .config (as well as + "#unset foo" to autoconf.h) if command is disabled by its dependencies. === unset /symbol/ ... @@ -492,9 +551,16 @@ Configure: implemented Menuconfig: implemented -Xconfig: not implemented +Xconfig: implemented (with bugs) mconfig: implemented +Example: + + # arch/mips/config.in + unset CONFIG_PCI + unset CONFIG_MIPS_JAZZ + unset CONFIG_VIDEO_G364 + === choice /prompt/ /word/ /word/ @@ -525,6 +591,14 @@ Xconfig: implemented mconfig: implemented +Example: + + # arch/i386/config.in + choice ' PCI access mode' \ + "BIOS CONFIG_PCI_GOBIOS \ + Direct CONFIG_PCI_GODIRECT \ + Any CONFIG_PCI_GOANY" Any + === nchoice /prompt/ /symbol/ /prompt/ /symbol/ ... @@ -555,32 +629,40 @@ /expr/ may contain the following atoms and operators. Note that, unlike shell, you must use double quotes around every atom. - "..." a literal - "$..." a variable - - /atom/ = /atom/ true if atoms have identical value - /atom/ != /atom/ true if atoms have different value + /atom/: + "..." a literal + "$..." a variable + + /expr/: + /atom/ = /atom/ true if atoms have identical value + /atom/ != /atom/ true if atoms have different value + + /expr/: + /expr/ -o /expr/ true if either expression is true + /expr/ -a /expr/ true if both expressions are true + ! /expr/ true if expression is not true + +Note that a naked /atom/ is not a valid /expr/. If you try to use it +as such: + + # Do not do this. + if [ "$CONFIG_EXPERIMENTAL" ]; then + bool 'Bogus experimental feature' CONFIG_BOGUS + fi - /expr/ -o /expr/ true if either expression is true - /expr/ -a /expr/ true if both expressions are true - ! /expr/ true if expression is not true +... then you will be surprised, because CONFIG_EXPERIMENTAL never has a +value of the empty string! It is always "y" or "n", and both of these +are treated as true (non-empty) by the bash-based interpreters Configure +and Menuconfig. Configure: implemented Menuconfig: implemented XConfig: implemented, with bugs mconfig: implemented -Xconfig has several known bugs, and probably some unknown bugs too: - -- In a comparison, if the left-hand atom is a variable and that variable - is from a choice list, the right-hand atom must be "y". - -- In a comparison, if the right-hand atom is a variable and that variable - is from a choice list, you lose. tkparse will throw a segmentation - violation, silently generate bizarre TCL code, or something else. +Xconfig has some known bugs, and probably some unknown bugs too: -- tkparse gives the wrong precedence to -o, -a, and !. Don't use both - -o and -a in an expression. Don't use ! at all. +- literals with an empty "" value are not properly handled. diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/Documentation/kernel-docs.txt linux.16p1/Documentation/kernel-docs.txt --- linux.15p19/Documentation/kernel-docs.txt Tue Jan 4 21:18:38 2000 +++ linux.16p1/Documentation/kernel-docs.txt Wed Apr 19 13:57:45 2000 @@ -164,6 +164,18 @@ different situations. We also investigate the complex topic of DMA". + * Title: "Device Drivers Concluded" + Author: Georg v. Zezschwitz. + URL: http://www2.linuxjournal.com/lj-issues/issue28/1287.html + Keywords: address spaces, pages, pagination, page management, + demand loading, swapping, memory protection, memory mapping, mmap, + virtual memory areas (VMAs), vremap, PCI. + Description: Finally, the above turned out into a five articles + series. This latest one's introduction reads: "This is the last of + five articles about character device drivers. In this final + section, Georg deals with memory mapping devices, beginning with + an overall description of the Linux memory management concepts". + * Title: "Network Buffers And Memory Management" Author: Alan Cox. URL: http://www.ssc.com/lj/issue30/kk30.html @@ -234,11 +246,26 @@ Description: 68 pages paper on writing character drivers. A little bit old (1.993, 1.994) although still useful. + * Title: "Design and Implementation of the Second Extended + Filesystem" + Author: Rémy Card, Theodore Ts'o, Stephen Tweedie. + URL: http://web.mit.edu/tytso/www/linux/ext2intro.html + Keywords: ext2, linux fs history, inode, directory, link, devices, + VFS, physical structure, performance, benchmarks, ext2fs library, + ext2fs tools, e2fsck. + Description: Paper written by three of the top ext2 hackers. + Covers Linux filesystems history, ext2 motivation, ext2 features, + design, physical structure on disk, performance, benchmarks, + e2fsck's passes description... A must read! + Notes: This paper was first published in the Proceedings of the + First Dutch International Symposium on Linux, ISBN 90-367-0385-9. + * Title: "The Second Extended Filesystem" Author: Matthew Wilcox. URL: http://pocket.fluff.org/~mrw/linux/ext2.txt Keywords: ext2, filesystem. - Description: Description of ext2's blocks, directories, inodes ... + Description: Description of ext2's blocks, directories, inodes... + Notes: Seems to be DOWN. Anyone knows another link for it? * Title: "Analysis of the Ext2fs structure" Author: Louis-Dominique Dubeau. @@ -247,6 +274,15 @@ Description: Description of ext2's blocks, directories, inodes, bitmaps, invariants ... + * Title: "Journaling the Linux ext2fs Filesystem" + Author: Stephen C. Tweedie. + URL: + ftp://ftp.uk.linux.org:/pub/linux/sct/fs/jfs/journal-design.ps.gz + Keywords: ext3, journalist. + Description: Excellent 8-pages paper explaining the journaling + capabilities added to ext2 by the author, showing different + problems faced and the alternatives chosen. + * Title: "Kernel API changes from 2.0 to 2.2" Author: Richard Gooch. URL: @@ -258,7 +294,7 @@ * Title: "Kernel API changes from 2.2 to 2.3" Author: Richard Gooch. URL: - http://www.atnf.csiro.au/~rgooch/linux/docs/porting-to-2.2.html + http://www.atnf.csiro.au/~rgooch/linux/docs/porting-to-2.3.html Keywords: 2.3, changes. Description: Kernel functions/structures/variables which changed from 2.2.x to 2.3.x. @@ -295,6 +331,81 @@ want a mechanism that is scalable. This means a large number of inactive FDs cost very little in memory and CPU time to manage". + * Title: "The Kernel Hacking HOWTO" + Author: Various Talented People, and Rusty. + URL: http://www.samba.org/~netfilter/kernel-hacking-HOWTO.html + Keywords: HOWTO, kernel contexts, deadlock, locking, modules, + symbols, return conventions. + Description: From the Introduction: "Please understand that I + never wanted to write this document, being grossly underqualified, + but I always wanted to read it, and this was the only way. I + simply explain some best practices, and give reading entry-points + into the kernel sources. I avoid implementation details: that's + what the code is for, and I ignore whole tracts of useful + routines. This document assumes familiarity with C, and an + understanding of what the kernel is, and how it is used. It was + originally written for the 2.3 kernels, but nearly all of it + applies to 2.2 too; 2.0 is slightly different. ". + + * Title: "ALSA 0.5.0 Developer documentation" + Author: Stephan 'Jumpy' Bartels . + URL: http://www.math.TU-Berlin.de/~sbartels/alsa/ + Keywords: ALSA, sound, soundcard, driver, lowlevel, hardware. + Description: Advanced Linux Sound Architecture for developers, + both at kernel and user-level sides. Work in progress. ALSA is + supposed to be Linux's next generation sound architecture. + + * Title: "Programming Guide for Linux USB Device Drivers" + Author: Detlef Fliegl. + URL: http://usb.in.tum.de/usbdoc/ + Keywords: USB, universal serial bus. + Description: A must-read. From the Preface: "This document should + give detailed information about the current state of the USB + subsystem and its API for USB device drivers. The first section + will deal with the basics of USB devices. You will learn about + different types of devices and their properties. Going into detail + you will see how USB devices communicate on the bus. The second + section gives an overview of the Linux USB subsystem [2] and the + device driver framework. Then the API and its data structures will + be explained step by step. The last section of this document + contains a reference of all API calls and their return codes". + Notes: Beware: the main page states: "This document may not be + published, printed or used in excerpts without explicit permission + of the author". Fortunately, it may still be read... + + * Title: "Tour Of the Linux Kernel Source" + Author: Vijo Cherian. + URL: http://www.geocities.com/vijoc/tolks/tolks.html + Keywords: . + Description: A classic of this page! Was lost for a while and is + back again. Thanks Vijo! TOLKS: the name says it all. A tour of + the sources, describing directories, files, variables, data + structures... It covers general stuff, device drivers, + filesystems, IPC and Networking Code. + + * Title: "Linux Kernel Mailing List Glossary" + Author: John Levon. + URL: http://www.movement.uklinux.net/glossary.html + Keywords: glossary, terms, linux-kernel. + Description: From the introduction: "This glossary is intended as + a brief description of some of the acronyms and terms you may hear + during discussion of the Linux kernel". + + * Title: "Linux Kernel Locking HOWTO" + Author: Various Talented People, and Rusty. + URL: + http://netfilter.kernelnotes.org/unreliable-guides/kernel-locking- + HOWTO.html + Keywords: locks, locking, spinlock, semaphore, atomic, race + condition, bottom halves, tasklets, softirqs. + Description: The title says it all: document describing the + locking system in the Linux Kernel either in uniprocessor or SMP + systems. + Notes: "It was originally written for the later (>2.3.47) 2.3 + kernels, but most of it applies to 2.2 too; 2.0 is slightly + different". Freely redistributable under the conditions of the GNU + General Public License. + BOOKS: (Not on-line) * Title: "Linux Device Drivers" @@ -366,15 +477,33 @@ * Title: "Linux Core Kernel Commentary. Guide to Insider's Knowledge on the Core Kernel od the Linux Code" Author: Scott Maxwell. - Publisher: ???. + Publisher: Coriolis. Date: 1999. Pages: 592. ISBN: 1-57610-469-9 - Notes: CD-ROM included. + Notes: CD-ROM included. Line by line commentary of the kernel + code. + + * Title: "Linux IP Stacks Commentary" + Author: Stephen Satchell and HBJ Clifford. + Publisher: Coriolis. + Date: 2000. + Pages: ???. + ISBN: 1-57610-470-2 + Notes: Line by line source code commentary book. + + * Title: "Programming for the real world - POSIX.4" + Author: Bill O. Gallmeister. + Publisher: O'Reilly & Associates, Inc.. + Date: 1995. + Pages: ???. + ISBN: I-56592-074-0 + Notes: Though not being directly about Linux, Linux aims to be + POSIX. Good reference. MISCELLANEOUS: - * Name: Linux Source Driver. + * Name: "Linux Source Driver" URL: http://lsd.linux.cz Keywords: Browsing source code. Description: "Linux Source Driver (LSD) is an application, which @@ -385,27 +514,27 @@ and variables) and LSD can generate patches for you on the fly (files, directories or kernel)". - * Name: Cross-Referencing Linux. + * Name: "Cross-Referencing Linux" URL: http://lxr.linux.no/source/ Keywords: Browsing source code. Description: Another web-based Linux kernel source code browser. Lots of cross references to variables and functions. You can see where they are defined and where they are used. - * Name: Linux Weekly News. + * Name: "Linux Weekly News" URL: http://lwn.net Keywords: latest kernel news. Description: The title says it all. There's a fixed kernel section summarizing developers' work, bug fixes, new features and versions produced during the week. Published every Thursday. - * Name: Kernel Traffic. + * Name: "Kernel Traffic" URL: http://kt.linuxcare.com Keywords: linux-kernel mailing list, weekly kernel news. Description: Weekly newsletter covering the most relevant discussions of the linux-kernel mailing list. - * Name: CuTTiNG.eDGe.LiNuX. + * Name: "CuTTiNG.eDGe.LiNuX" URL: http://edge.kernelnotes.org Keywords: changelist. Description: Site which provides the changelist for every kernel @@ -413,7 +542,7 @@ the patches and describes them. Pointers to the patches are there, too. - * Name: New linux-kernel Mailing List FAQ. + * Name: "New linux-kernel Mailing List FAQ" URL: Original site: http://www.altern.org/andrebalsa/doc/lkml-faq.html URL: U.S. mirror site: @@ -433,6 +562,45 @@ Description: Set of slides, presumably from a presentation on the Linux VFS layer. Covers version 2.1.x, with dentries and the dcache. + + * Name: "Gary's Enciclopedia - The Linux Kernel" + Author: Gary (I suppose...). + URL: http://members.aa.net/~swear/pedia/kernel.html + Keywords: links, not found here?. + Description: Gary's Enciclopedia exists to allow the rapid finding + of documentation and other information of interest to GNU/Linux + users. It has about 4000 links to external pages in 150 major + categories. This link is for kernel-specific links, documents, + sites... Look there if you could not find here whar you were + looking for. + + * Name: "The home page of Linux-MM" + Author: The Linux-MM team. + URL: http://www.linux.eu.org/Linux-MM/ + Keywords: memory management, Linux-MM, mm patches, TODO, docs, + mailing list. + Description: Site devoted to Linux Memory Mangement development. + Memory related patches, HOWTOs, links, mm developers... Don't miss + it if you are interested in memory management development! + + * Name: "Kernel Newbies IRC Channel" + URL: http://www.surriel.com/kernelnewbies.shtml + Keywords: IRC, newbies, channel, asking doubts. + Description: #kernelnewbies on irc.openprojects.net. From the web + page: "#kernelnewbies is an IRC network dedicated to the 'newbie' + kernel hacker. The audience mostly consists of people who are + learning about the kernel, working on kernel projects or + professional kernel hackers that want to help less seasoned kernel + people. [...] #kernelnewbies is on the Open Projects IRC Network, + try irc.openprojects.net or irc..openprojects.net as your + server and then /join #kernelnewbies". + + * Name: "linux-kernel mailing list archives and search engines" + URL: http://www.uwsg.indiana.edu/hypermail/linux/kernel/index.html + URL: http://www.kernelnotes.org/lnxlists/linux-kernel/ + Keywords: linux-kernel, archives, search. + Description: Some of the linux-kernel mailing list archivers. If + you have a better/another one, please let me know. _________________________________________________________________ - Document last updated on Tue Nov 30 11:20:00 CET 1999 + Document last updated on Mon Apr 17 18:07:07 CEST 2000 diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/Makefile linux.16p1/Makefile --- linux.15p19/Makefile Sun Apr 16 17:29:24 2000 +++ linux.16p1/Makefile Tue Apr 18 19:13:26 2000 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 2 -SUBLEVEL = 15 -EXTRAVERSION = pre19 +SUBLEVEL = 16 +EXTRAVERSION = pre1 ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/) diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/arch/i386/kernel/irq.c linux.16p1/arch/i386/kernel/irq.c --- linux.15p19/arch/i386/kernel/irq.c Thu Mar 9 19:32:32 2000 +++ linux.16p1/arch/i386/kernel/irq.c Wed Apr 19 14:10:38 2000 @@ -221,12 +221,12 @@ if (irq & 8) { inb(0xA1); /* DUMMY */ outb(cached_A1,0xA1); + outb(0x60+(irq&7),0xA0);/* Specific EOI to slave */ outb(0x62,0x20); /* Specific EOI to cascade */ - outb(0x20,0xA0); } else { inb(0x21); /* DUMMY */ outb(cached_21,0x21); - outb(0x20,0x20); + outb(0x60+irq,0x20); /* Specific EOI to master */ } } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/arch/i386/kernel/setup.c linux.16p1/arch/i386/kernel/setup.c --- linux.15p19/arch/i386/kernel/setup.c Tue Mar 28 17:24:44 2000 +++ linux.16p1/arch/i386/kernel/setup.c Wed Apr 19 14:00:51 2000 @@ -98,7 +98,7 @@ extern int root_mountflags; extern int _etext, _edata, _end; -extern unsigned long cpu_hz; +extern unsigned long cpu_khz; /* * This is set up by the setup-routine at boot-time @@ -1005,8 +1005,8 @@ p += sprintf(p, "stepping\t: unknown\n"); if (c->x86_capability & X86_FEATURE_TSC) { - p += sprintf(p, "cpu MHz\t\t: %lu.%06lu\n", - cpu_hz / 1000000, (cpu_hz % 1000000)); + p += sprintf(p, "cpu MHz\t\t: %lu.%03lu\n", + cpu_khz / 1000, cpu_khz % 1000); } /* Cache size */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/arch/i386/kernel/smp.c linux.16p1/arch/i386/kernel/smp.c --- linux.15p19/arch/i386/kernel/smp.c Thu Mar 9 19:32:33 2000 +++ linux.16p1/arch/i386/kernel/smp.c Wed Apr 19 14:00:51 2000 @@ -1358,7 +1358,7 @@ } cycles_t cacheflush_time; -extern unsigned long cpu_hz; +extern unsigned long cpu_khz; static void smp_tune_scheduling (void) { @@ -1374,7 +1374,7 @@ * the cache size) */ - if (!cpu_hz) { + if (!cpu_khz) { /* * this basically disables processor-affinity * scheduling on SMP without a TSC. @@ -1386,12 +1386,12 @@ if (cachesize == -1) cachesize = 8; /* Pentiums */ - cacheflush_time = cpu_hz/1024*cachesize/5000; + cacheflush_time = cpu_khz/1024*cachesize/5; } printk("per-CPU timeslice cutoff: %ld.%02ld usecs.\n", - (long)cacheflush_time/(cpu_hz/1000000), - ((long)cacheflush_time*100/(cpu_hz/1000000)) % 100); + (long)cacheflush_time/(cpu_khz/1000), + ((long)cacheflush_time*100/(cpu_khz/1000)) % 100); } unsigned int prof_multiplier[NR_CPUS]; diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/arch/i386/kernel/time.c linux.16p1/arch/i386/kernel/time.c --- linux.15p19/arch/i386/kernel/time.c Thu Mar 9 19:32:33 2000 +++ linux.16p1/arch/i386/kernel/time.c Wed Apr 19 14:00:51 2000 @@ -62,7 +62,7 @@ #include "irq.h" -unsigned long cpu_hz; /* Detected as we calibrate the TSC */ +unsigned long cpu_khz; /* Detected as we calibrate the TSC */ /* Number of usecs that the last interrupt was delayed */ static int delay_at_last_interrupt; @@ -665,12 +665,12 @@ * The formula is (10^6 * 2^32) / (2^32 * 1 / (clocks/us)) = * clock/second. Our precision is about 100 ppm. */ - { unsigned long eax=0, edx=1000000; + { unsigned long eax=0, edx=1000; __asm__("divl %2" - :"=a" (cpu_hz), "=d" (edx) + :"=a" (cpu_khz), "=d" (edx) :"r" (tsc_quotient), "0" (eax), "1" (edx)); - printk("Detected %ld Hz processor.\n", cpu_hz); + printk("Detected %ld kHz processor.\n", cpu_khz); } } } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/arch/i386/kernel/traps.c linux.16p1/arch/i386/kernel/traps.c --- linux.15p19/arch/i386/kernel/traps.c Tue Feb 16 22:20:05 1999 +++ linux.16p1/arch/i386/kernel/traps.c Wed Apr 19 14:08:07 2000 @@ -162,33 +162,41 @@ printk("%08lx ", *stack++); } printk("\nCall Trace: "); - stack = (unsigned long *) esp; - i = 1; - module_start = PAGE_OFFSET + (max_mapnr << PAGE_SHIFT); - module_start = ((module_start + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)); - module_end = module_start + MODULE_RANGE; - while (((long) stack & 4095) != 0) { - addr = *stack++; - /* - * If the address is either in the text segment of the - * kernel, or in the region which contains vmalloc'ed - * memory, it *may* be the address of a calling - * routine; if so, print it so that someone tracing - * down the cause of the crash will be able to figure - * out the call path that was taken. - */ - if (((addr >= (unsigned long) &_stext) && - (addr <= (unsigned long) &_etext)) || - ((addr >= module_start) && (addr <= module_end))) { - if (i && ((i % 8) == 0)) - printk("\n "); - printk("[<%08lx>] ", addr); - i++; + if (!esp || (esp & 3)) + printk(""); + else { + stack = (unsigned long *) esp; + i = 1; + module_start = PAGE_OFFSET + (max_mapnr << PAGE_SHIFT); + module_start = ((module_start + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)); + module_end = module_start + MODULE_RANGE; + while (((long) stack & 4095) != 0) { + addr = *stack++; + /* + * If the address is either in the text segment of the + * kernel, or in the region which contains vmalloc'ed + * memory, it *may* be the address of a calling + * routine; if so, print it so that someone tracing + * down the cause of the crash will be able to figure + * out the call path that was taken. + */ + if (((addr >= (unsigned long) &_stext) && + (addr <= (unsigned long) &_etext)) || + ((addr >= module_start) && (addr <= module_end))) { + if (i && ((i % 8) == 0)) + printk("\n "); + printk("[<%08lx>] ", addr); + i++; + } } } printk("\nCode: "); - for(i=0;i<20;i++) + if (!regs->eip || regs->eip==-1) + printk(""); + else { + for(i=0;i<20;i++) printk("%02x ", ((unsigned char *)regs->eip)[i]); + } } printk("\n"); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/arch/mips/baget/vacserial.c linux.16p1/arch/mips/baget/vacserial.c --- linux.15p19/arch/mips/baget/vacserial.c Sat Aug 14 02:27:13 1999 +++ linux.16p1/arch/mips/baget/vacserial.c Wed Apr 19 13:54:46 2000 @@ -2162,7 +2162,7 @@ done: if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/arch/ppc/8xx_io/uart.c linux.16p1/arch/ppc/8xx_io/uart.c --- linux.15p19/arch/ppc/8xx_io/uart.c Wed Dec 23 17:44:40 1998 +++ linux.16p1/arch/ppc/8xx_io/uart.c Wed Apr 19 13:54:46 2000 @@ -2050,7 +2050,7 @@ done: if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/arch/s390/kernel/s390_ksyms.c linux.16p1/arch/s390/kernel/s390_ksyms.c --- linux.15p19/arch/s390/kernel/s390_ksyms.c Thu Mar 9 19:32:33 2000 +++ linux.16p1/arch/s390/kernel/s390_ksyms.c Wed Apr 19 13:52:47 2000 @@ -57,10 +57,10 @@ EXPORT_SYMBOL(__global_save_flags); EXPORT_SYMBOL(__global_restore_flags); EXPORT_SYMBOL(global_bh_lock); +EXPORT_SYMBOL(synchronize_bh); EXPORT_SYMBOL(kernel_flag); #endif EXPORT_SYMBOL(kernel_thread); -EXPORT_SYMBOL(synchronize_bh); EXPORT_SYMBOL(csum_fold); diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/block/genhd.c linux.16p1/drivers/block/genhd.c --- linux.15p19/drivers/block/genhd.c Thu Mar 9 19:32:34 2000 +++ linux.16p1/drivers/block/genhd.c Wed Apr 19 14:16:24 2000 @@ -165,14 +165,6 @@ SYS_IND(p) == LINUX_EXTENDED_PARTITION); } -static int sector_partition_scale(kdev_t dev) -{ - if (hardsect_size[MAJOR(dev)] != NULL) - return (hardsect_size[MAJOR(dev)][MINOR(dev)]/512); - else - return (1); -} - static unsigned int get_ptable_blocksize(kdev_t dev) { int ret = 1024; @@ -234,13 +226,12 @@ #define MSDOS_LABEL_MAGIC 0xAA55 -static void extended_partition(struct gendisk *hd, kdev_t dev) +static void extended_partition(struct gendisk *hd, kdev_t dev, int sector_size) { struct buffer_head *bh; struct partition *p; unsigned long first_sector, first_size, this_sector, this_size; int mask = (1 << hd->minor_shift) - 1; - int sector_size = sector_partition_scale(dev); int i; first_sector = hd->part[MINOR(dev)].start_sect; @@ -486,7 +477,8 @@ struct partition *p; unsigned char *data; int mask = (1 << hd->minor_shift) - 1; - int sector_size = sector_partition_scale(dev); + int sector_size; + int disk_number_of_sects; #ifdef CONFIG_BSD_DISKLABEL /* no bsd disklabel as a default */ kdev_t bsd_kdev = 0; @@ -501,6 +493,15 @@ printk(" unable to read partition table\n"); return -1; } + + /* in some cases (backwards compatibility) we'll adjust the + * sector_size below + */ + if (hardsect_size[MAJOR(dev)] != NULL) + sector_size=hardsect_size[MAJOR(dev)][MINOR(dev)]/512; + else + sector_size=1; + data = bh->b_data; /* In some cases we modify the geometry */ /* of the drive (below), so ensure that */ @@ -585,6 +586,35 @@ } #endif /* CONFIG_BLK_DEV_IDE */ + /* + * The Linux code now honours the rules the MO people set and + * is 'DOS compatible' - sizes are scaled by the media block + * size not 512 bytes. The following is a backwards + * compatibility check. If a 1k or greater sectorsize disk + * (1024, 2048, etc) was created under a pre 2.2 kernel, + * the partition table wrongly used units of 512 instead of + * units of sectorsize (1024, 2048, etc.) The below check attempts + * to detect a partition table created under the older kernel, and + * if so detected, it will reset the a sector scale factor to 1 (i.e. + * no scaling). + */ + disk_number_of_sects = NR_SECTS((&hd->part[MINOR(dev)])); + for (i = 0; i < 4; i++) { + struct partition *q = &p[i]; + if (NR_SECTS(q)) { + if (((first_sector+(START_SECT(q)+NR_SECTS(q))*sector_size) > + (disk_number_of_sects+1)) && + ((first_sector+(START_SECT(q)+NR_SECTS(q)) <= + disk_number_of_sects))) { + char buf[MAX_DISKNAME_LEN]; + printk(" %s: RESETTINGING SECTOR SCALE from %d to 1", + disk_name(hd, MINOR(dev), buf), sector_size); + sector_size=1; + break; + } + } + } + current_minor += 4; /* first "extra" minor (for extended partitions) */ for (i=1 ; i<=4 ; minor++,i++,p++) { if (!NR_SECTS(p)) @@ -601,7 +631,7 @@ */ hd->sizes[minor] = hd->part[minor].nr_sects >> (BLOCK_SIZE_BITS - 9); - extended_partition(hd, MKDEV(hd->major, minor)); + extended_partition(hd, MKDEV(hd->major, minor), sector_size); printk(" >"); /* prevent someone doing mkfs or mkswap on an extended partition, but leave room for LILO */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/char/ip2main.c linux.16p1/drivers/char/ip2main.c --- linux.15p19/drivers/char/ip2main.c Sun Apr 16 17:24:45 2000 +++ linux.16p1/drivers/char/ip2main.c Wed Apr 19 13:54:46 2000 @@ -3175,7 +3175,7 @@ if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/char/pc_keyb.c linux.16p1/drivers/char/pc_keyb.c --- linux.15p19/drivers/char/pc_keyb.c Sat Aug 14 02:27:17 1999 +++ linux.16p1/drivers/char/pc_keyb.c Wed Apr 19 14:03:31 2000 @@ -56,6 +56,9 @@ static void kbd_write_command_w(int data); static void kbd_write_output_w(int data); +#ifdef CONFIG_PSMOUSE +static void aux_write_ack(int val); +#endif spinlock_t kbd_controller_lock = SPIN_LOCK_UNLOCKED; static unsigned char handle_kbd_event(void); @@ -73,6 +76,9 @@ static int __init psaux_init(void); +#define AUX_RECONNECT 170 +/* #define CHECK_RECONNECT_SCANCODE 1 */ + static struct aux_queue *queue; /* Mouse data buffer. */ static int aux_count = 0; /* used when we send commands to the mouse that expect an ACK. */ @@ -393,6 +399,19 @@ } mouse_reply_expected = 0; } + else if(scancode == AUX_RECONNECT){ + queue->head = queue->tail = 0; /* Flush input queue */ + /* + * need this stuff? seems to work fine w/o it for me + aux_write_ack(AUX_SET_SAMPLE); + aux_write_ack(100); + aux_write_ack(AUX_SET_RES); + aux_write_ack(3); + aux_write_ack(AUX_SET_SCALE21); + */ + aux_write_ack(AUX_ENABLE_DEV); /* ping the mouse :) */ + return; + } add_mouse_randomness(scancode); if (aux_count) { @@ -426,6 +445,9 @@ unsigned char scancode; scancode = kbd_read_input(); +# ifdef CHECK_RECONNECT_SCANCODE + printk(KERN_INFO "-=db=-: kbd_read_input() : scancode == %d\n",scancode); +# endif if (status & KBD_STAT_MOUSE_OBF) { handle_mouse_event(scancode); } else { diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/char/random.c linux.16p1/drivers/char/random.c --- linux.15p19/drivers/char/random.c Sun Apr 16 18:20:47 2000 +++ linux.16p1/drivers/char/random.c Wed Apr 19 14:06:09 2000 @@ -778,7 +778,12 @@ void add_keyboard_randomness(unsigned char scancode) { - add_timer_randomness(&random_state, &keyboard_timer_state, scancode); + static unsigned char last_scancode = 0; + /* ignore autorepeat (multiple key down w/o key up) */ + if (scancode != last_scancode) { + last_scancode = scancode; + add_timer_randomness(&random_state, &keyboard_timer_state, scancode); + } } void add_mouse_randomness(__u32 mouse_data) diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/char/serial.c linux.16p1/drivers/char/serial.c --- linux.15p19/drivers/char/serial.c Sun Apr 16 17:11:48 2000 +++ linux.16p1/drivers/char/serial.c Wed Apr 19 13:54:46 2000 @@ -2803,7 +2803,7 @@ done: if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/char/synclink.c linux.16p1/drivers/char/synclink.c --- linux.15p19/drivers/char/synclink.c Sun Apr 16 17:09:45 2000 +++ linux.16p1/drivers/char/synclink.c Wed Apr 19 13:54:46 2000 @@ -3902,7 +3902,7 @@ done: if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } /* end of mgsl_read_proc() */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/i2o/i2o_block.c linux.16p1/drivers/i2o/i2o_block.c --- linux.15p19/drivers/i2o/i2o_block.c Sat Mar 25 23:41:50 2000 +++ linux.16p1/drivers/i2o/i2o_block.c Wed Apr 19 14:25:10 2000 @@ -20,6 +20,8 @@ * Alan Cox: FC920 has an rmw bug. Dont or in the * end marker. * Removed queue walk, fixed for 64bitness. + * Boji T Kannanthanam: + Support for dynamic device creation/deletion * To do: * Multiple majors * Serial number scanning to find duplicates for FC multipathing @@ -46,8 +48,12 @@ #include #include +#include #include #include +#include +#include + #define MAJOR_NR I2O_MAJOR @@ -55,9 +61,39 @@ #define MAX_I2OB 16 -#define MAX_I2OB_DEPTH 32 +#define MAX_I2OB_DEPTH 128 #define MAX_I2OB_RETRIES 4 + +/* + * Events that this OSM is interested in + */ +#define I2OB_EVENT_MASK I2O_EVT_IND_BSA_VOLUME_LOAD | \ + I2O_EVT_IND_BSA_VOLUME_UNLOAD | \ + I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ | \ + I2O_EVT_IND_BSA_CAPACITY_CHANGE + + +/* + * I2O Block Error Codes - should be in a header file really... + */ +#define I2O_BSA_DSC_SUCCESS 0x0000 +#define I2O_BSA_DSC_MEDIA_ERROR 0x0001 +#define I2O_BSA_DSC_ACCESS_ERROR 0x0002 +#define I2O_BSA_DSC_DEVICE_FAILURE 0x0003 +#define I2O_BSA_DSC_DEVICE_NOT_READY 0x0004 +#define I2O_BSA_DSC_MEDIA_NOT_PRESENT 0x0005 +#define I2O_BSA_DSC_MEDIA_LOCKED 0x0006 +#define I2O_BSA_DSC_MEDIA_FAILURE 0x0007 +#define I2O_BSA_DSC_PROTOCOL_FAILURE 0x0008 +#define I2O_BSA_DSC_BUS_FAILURE 0x0009 +#define I2O_BSA_DSC_ACCESS_VIOLATION 0x000A +#define I2O_BSA_DSC_WRITE_PROTECTED 0x000B +#define I2O_BSA_DSC_DEVICE_RESET 0x000C +#define I2O_BSA_DSC_VOLUME_CHANGED 0x000D +#define I2O_BSA_DSC_TIMEOUT 0x000E + + /* * Some of these can be made smaller later */ @@ -74,10 +110,12 @@ { struct i2o_controller *controller; struct i2o_device *i2odev; + int unit; int tid; int flags; int refcnt; struct request *head, *tail; + int max_segments; int done_flag; }; @@ -101,9 +139,20 @@ static struct i2ob_device i2ob_dev[MAX_I2OB<<4]; static int i2ob_devices = 0; +static int i2ob_dev_count = 0; static struct hd_struct i2ob[MAX_I2OB<<4]; static struct gendisk i2ob_gendisk; /* Declared later */ +/* + * Mutex and spin lock for event handling synchronization + * evt_msg contains the last event. + */ +DECLARE_MUTEX(i2ob_evt_sem); +static spinlock_t i2ob_evt_lock = SPIN_LOCK_UNLOCKED; +static unsigned int evt_msg[MSG_FRAME_SIZE>>2]; +DECLARE_WAIT_QUEUE_HEAD(i2ob_evt_wait); + + static atomic_t queue_depth; /* For flow control later on */ static struct i2ob_request i2ob_queue[MAX_I2OB_DEPTH+1]; static struct i2ob_request *i2ob_qhead; @@ -118,6 +167,17 @@ static int i2ob_install_device(struct i2o_controller *, struct i2o_device *, int); static void i2ob_end_request(struct request *); static void i2ob_request(struct request * q); +static int do_i2ob_revalidate(kdev_t, int); +static int i2ob_query_device(struct i2ob_device *, int, int, void*, int); +static int i2ob_evt(void *); + +static int evt_pid = 0; +static int evt_running = 0; + +static void i2ob_new_device(struct i2o_controller *, struct i2o_device *); +static void i2ob_del_device(struct i2o_controller *, struct i2o_device *); +static void i2ob_reboot_event(void); + /* * Dump messages. @@ -313,17 +373,16 @@ i2o_post_message(c,virt_to_bus(m)); } - else - { - if(m[2]&0x40000000) - { - int * ptr = (int *)m[3]; - if(m[4]>>24) - *ptr = -1; - else - *ptr = 1; - return; - } + + if(msg->function == I2O_CMD_UTIL_EVT_REGISTER) + { + spin_lock(&i2ob_evt_lock); + memcpy(&evt_msg, m, msg->size); + spin_unlock(&i2ob_evt_lock); + wake_up_interruptible(&i2ob_evt_wait); + return; + } + /* * Lets see what is cooking. We stuffed the * request in the context. @@ -382,7 +441,6 @@ } else ireq->req->errors = 0; - } /* * Dequeue the request. We use irqsave locks as one day we @@ -402,9 +460,149 @@ spin_unlock_irqrestore(&io_request_lock, flags); } + +/* + * Event handler. Needs to be a separate thread b/c we may have + * to do things like scan a partition table, or query parameters + * which cannot be done from an interrupt or from a bottom half. + */ +static int i2ob_evt(void *dummy) +{ + unsigned int evt; + unsigned int flags; + int unit; + int i; + struct fs_struct *fs; + + + lock_kernel(); + + //printk(KERN_INFO "I2O BLOCK Event thread at %p\n", &i2ob_evt); + exit_files(current); + exit_mm(current); + current->session = 1; + current->pgrp = 1; + /* Become as one with the init task */ + exit_fs(current); + fs = init_task.fs; + current->fs = fs; + atomic_inc(&fs->count); + + unlock_kernel(); + + strcpy(current->comm, "i2oblock"); + evt_running = 1; + + while(1) + { + interruptible_sleep_on(&i2ob_evt_wait); + if(signal_pending(current)) { + evt_running = 0; + return 0; + } + + /* + * Keep another CPU/interrupt from overwriting the + * message while we're reading it + * + * We stuffed the unit in the TxContext and grab the event mask + * None of the BSA we care about events have EventData + */ + spin_lock_irqsave(&i2ob_evt_lock, flags); + unit = evt_msg[3]; + evt = evt_msg[4]; + spin_unlock_irqrestore(&i2ob_evt_lock, flags); + + switch(evt) + { + /* + * New volume loaded on same TID, so we just re-install. * The TID/controller don't change as it is the same + * I2O device. It's just new media that we have to + * rescan. + */ + case I2O_EVT_IND_BSA_VOLUME_LOAD: + { + i2ob_install_device(i2ob_dev[unit].i2odev->controller, + i2ob_dev[unit].i2odev, unit); + break; + } + + /* + * No media, so set all parameters to 0 and set the media + * change flag. The I2O device is still valid, just doesn't + * have media, so we don't want to clear the controller or + * device pointer. + */ + case I2O_EVT_IND_BSA_VOLUME_UNLOAD: + { + for(i = unit; i <= unit+15; i++) + { + i2ob_sizes[i] = 0; + i2ob_hardsizes[i] = 0; + i2ob_max_sectors[i] = 0; + i2ob[i].nr_sects = 0; + i2ob_gendisk.part[i].nr_sects = 0; + } + i2ob_media_change_flag[unit] = 1; + break; + } + + case I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ: + printk(KERN_WARNING "%s: Attempt to eject locked media\n", + i2ob_dev[unit].i2odev->dev_name); + break; + + /* + * The capacity has changed and we are going to be + * updating the max_sectors and other information + * about this disk. We try a revalidate first. If + * the block device is in use, we don't want to + * do that as there may be I/Os bound for the disk + * at the moment. In that case we read the size + * from the device and update the information ourselves + * and the user can later force a partition table + * update through an ioctl. + */ + case I2O_EVT_IND_BSA_CAPACITY_CHANGE: + { + u64 size; + + if(do_i2ob_revalidate(MKDEV(MAJOR_NR, unit),0) != -EBUSY) + continue; + + if(i2ob_query_device(&i2ob_dev[unit], 0x0004, 0, &size, 8) !=0 ) + i2ob_query_device(&i2ob_dev[unit], 0x0000, 4, &size, 8); + + spin_lock_irqsave(&io_request_lock, flags); + i2ob_sizes[unit] = (int)(size>>10); + i2ob_gendisk.part[unit].nr_sects = size>>9; + i2ob[unit].nr_sects = (int)(size>>9); + spin_unlock_irqrestore(&io_request_lock, flags); + break; + } + + /* + * An event we didn't ask for. Call the card manufacturer + * and tell them to fix their firmware :) + */ + default: + printk(KERN_INFO "%s: Received event we didn't register for\n" + KERN_INFO " Call I2O card manufacturer\n", + i2ob_dev[unit].i2odev->dev_name); + break; + } + }; + + return 0; +} + + static struct i2o_handler i2o_block_handler = { i2o_block_reply, + i2ob_new_device, + i2ob_del_device, + i2ob_reboot_event, "I2O Block OSM", 0, I2O_CLASS_RANDOM_BLOCK_STORAGE @@ -727,7 +925,7 @@ /* * Now unclaim the device. */ - if (i2o_release_device(dev->i2odev, &i2o_block_handler, I2O_CLAIM_PRIMARY)<0) + if (i2o_release_device(dev->i2odev, &i2o_block_handler)<0) printk(KERN_ERR "i2ob_release: controller rejected unclaim.\n"); } @@ -759,7 +957,7 @@ int *query_done; - if(i2o_claim_device(dev->i2odev, &i2o_block_handler, I2O_CLAIM_PRIMARY)<0) + if(i2o_claim_device(dev->i2odev, &i2o_block_handler)<0) { dev->refcnt--; return -EBUSY; @@ -819,11 +1017,16 @@ struct i2ob_device *dev=&i2ob_dev[unit]; int i; + /* + * For logging purposes... + */ + printk(KERN_INFO "i2ob: Installing tid %d device at unit %d\n", + d->lct_data.tid, unit); + /* * Ask for the current media data. If that isn't supported * then we ask for the device capacity data */ - if(i2ob_query_device(dev, 0x0004, 1, &blocksize, 4) != 0 || i2ob_query_device(dev, 0x0004, 0, &size, 8) !=0 ) { @@ -835,23 +1038,38 @@ i2ob_query_device(dev, 0x0000, 6, &status, 4); i2ob_sizes[unit] = (int)(size>>10); i2ob_hardsizes[unit] = blocksize; + i2ob_gendisk.part[unit].nr_sects = size>>9; + i2ob[unit].nr_sects = (int)(size>>9); - limit=4096; /* 8 deep scatter gather */ + /* Set limit based on inbound frame size */ + limit = (d->controller->status_block->inbound_frame_size - 8)/2; + limit = limit<<9; + + /* + * Max number of Scatter-Gather Elements + */ + i2ob_dev[unit].max_segments = + (d->controller->status_block->inbound_frame_size - 8)/2; + + printk(KERN_INFO "Max Segments set to %d\n", + i2ob_dev[unit].max_segments); + printk(KERN_INFO "Byte limit is %d.\n", limit); + + for(i=unit;i<=unit+15;i++) + { + i2ob_max_sectors[i]=MAX_SECTORS; + i2ob_dev[i].max_segments = + (d->controller->status_block->inbound_frame_size - 8)/2; } - printk("Byte limit is %d.\n", limit); - - for(i=unit;i<=unit+15;i++) - i2ob_max_sectors[i]=(limit>>9); - - i2ob[unit].nr_sects = (int)(size>>9); i2ob_query_device(dev, 0x0000, 0, &type, 1); - sprintf(d->dev_name, "%s%c", i2ob_gendisk.major_name, 'a' + (unit>>4)); + sprintf(d->dev_name, "%s%c", i2ob_gendisk.major_name, 'a' + (unit>>4)); + + printk(KERN_INFO "%s: ", d->dev_name); - printk("%s: ", d->dev_name); if(status&(1<<10)) - printk("RAID "); + printk("(RAID) "); switch(type) { case 0: printk("Disk Storage");break; @@ -864,10 +1082,10 @@ if(((flags & (1<<3)) && !(status & (1<<3))) || ((flags & (1<<4)) && !(status & (1<<4)))) { - printk(" Not loaded.\n"); - return 0; + printk(KERN_INFO " Not loaded.\n"); + return 1; } - printk(" %dMb, %d byte sectors", + printk("- %dMb, %d byte sectors", (int)(size>>20), blocksize); if(status&(1<<0)) { @@ -880,9 +1098,18 @@ printk(", %dKb cache", cachesize); } printk(".\n"); - printk("%s: Maximum sectors/read set to %d.\n", + printk(KERN_INFO "%s: Maximum sectors/read set to %d.\n", d->dev_name, i2ob_max_sectors[unit]); + resetup_one_dev(&i2ob_gendisk, unit>>4); + + /* + * Register for the events we're interested in and that the + * device actually supports. + */ + i2o_event_register(c, d->lct_data.tid, i2ob_context, unit, + (I2OB_EVENT_MASK & d->lct_data.event_capabilities)); + return 0; } @@ -902,12 +1129,20 @@ for(d=c->devices;d!=NULL;d=d->next) { - if(d->lct_data->class_id!=I2O_CLASS_RANDOM_BLOCK_STORAGE) + if(d->lct_data.class_id!=I2O_CLASS_RANDOM_BLOCK_STORAGE) continue; - if(d->lct_data->user_tid != 0xFFF) + if(d->lct_data.user_tid != 0xFFF) continue; + if(i2o_claim_device(d, &i2o_block_handler)) + { + printk(KERN_WARNING "i2o_block: Controller %d, TID %d\n", c->unit, + d->lct_data.tid); + printk(KERN_WARNING "\tDevice refused claim! Skipping installation\n"); + continue; + } + if(uniti2odev = d; dev->controller = c; - dev->tid = d->lct_data->tid; + dev->unit = c->unit; + dev->tid = d->lct_data.tid; - /* - * Insure the device can be claimed - * before installing it. - */ - if(i2o_claim_device(dev->i2odev, &i2o_block_handler, I2O_CLAIM_PRIMARY )==0) - { - printk(KERN_INFO "Claimed Dev %p Tid %d Unit %d\n",dev,dev->tid,unit); - i2ob_install_device(c,d,unit); + if(i2ob_install_device(c,d,unit)) + printk(KERN_WARNING "Could not install I2O block device\n"); + else + { unit+=16; - - /* - * Now that the device has been - * installed, unclaim it so that - * it can be claimed by either - * the block or scsi driver. - */ - if(i2o_release_device(dev->i2odev, &i2o_block_handler, I2O_CLAIM_PRIMARY)) - printk(KERN_INFO "Could not unclaim Dev %p Tid %d\n",dev,dev->tid); - } - else - printk(KERN_INFO "TID %d not claimed\n",dev->tid); + i2ob_dev_count++; + + /* We want to know when device goes away */ + i2o_device_notify_on(d, &i2o_block_handler); + } } else { - if(!warned++) - printk("i2o_block: too many device, registering only %d.\n", unit>>4); + if(!warned++) + printk(KERN_WARNING "i2o_block: too many device, registering only %d.\n", unit>>4); } + i2o_release_device(d, &i2o_block_handler); } i2o_unlock_controller(c); } - i2ob_devices = unit; } /* + * New device notification handler. Called whenever a new + * I2O block storage device is added to the system. + * + * Should we spin lock around this to keep multiple devs from + * getting updated at the same time? + * + */ + +void i2ob_new_device(struct i2o_controller *c, struct i2o_device *d) +{ + struct i2ob_device *dev; + int unit = 0; + + printk(KERN_INFO "i2o_block: New device detected\n"); + printk(KERN_INFO " Controller %d Tid %d\n",c->unit, d->lct_data.tid); + + /* Check for available space */ + if(i2ob_dev_count>=MAX_I2OB<<4) + { + printk(KERN_ERR "i2o_block: No more devices allowed!\n"); + return; + } + for(unit = 0; unit < (MAX_I2OB<<4); unit += 16) + { + if(!i2ob_dev[unit].i2odev) + break; + } + + /* + * Creating a RAID 5 volume takes a little while and the UTIL_CLAIM + * will fail if we don't give the card enough time to do it's magic, + * so we just sleep for a little while and let it do it's thing + */ + current->state = TASK_INTERRUPTIBLE; + schedule_timeout(10*HZ); + + if(i2o_claim_device(d, &i2o_block_handler)) + { + printk(KERN_INFO + "i2o_block: Unable to claim device. Installation aborted\n"); + return; + } + + dev = &i2ob_dev[unit]; + dev->i2odev = d; + dev->controller = c; + dev->tid = d->lct_data.tid; + + if(i2ob_install_device(c,d,unit)) + printk(KERN_ERR "i2o_block: Could not install new device\n"); + else + { + i2ob_dev_count++; + i2o_device_notify_on(d, &i2o_block_handler); + } + + i2o_release_device(d, &i2o_block_handler); + + return; +} + +/* + * Deleted device notification handler. Called when a device we + * are talking to has been deleted by the user or some other + * mysterious fource outside the kernel. + */ +void i2ob_del_device(struct i2o_controller *c, struct i2o_device *d) +{ + int unit = 0; + int i = 0; + int flags; + + spin_lock_irqsave(&io_request_lock, flags); + + /* + * Need to do this...we somtimes get two events from the IRTOS + * in a row and that causes lots of problems. + */ + + i2o_device_notify_off(d, &i2o_block_handler); + + printk(KERN_INFO "I2O Block Device Deleted\n"); + + for(unit = 0; unit < MAX_I2OB<<4; unit += 16) + { + if(i2ob_dev[unit].i2odev == d) + { + printk(KERN_INFO " /dev/%s: Controller %d Tid %d\n", + d->dev_name, c->unit, d->lct_data.tid); + break; + } + } + if(unit >= MAX_I2OB<<4) + { + printk(KERN_ERR "i2ob_del_device called, but not in dev table!\n"); + return; + } + + for(i = unit; i <= unit+15; i++) + { + i2ob_dev[i].i2odev = NULL; + i2ob_sizes[i] = 0; + i2ob_hardsizes[i] = 0; + i2ob_max_sectors[i] = 0; + i2ob[i].nr_sects = 0; + i2ob_gendisk.part[i].nr_sects = 0; + } + spin_unlock_irqrestore(&io_request_lock, flags); + + /* + * Sync the device...this will force all outstanding I/Os + * to attempt to complete, thus causing error messages. + * We have to do this as the user could immediatelly create + * a new volume that gets assigned the same minor number. + * If there are still outstanding writes to the device, + * that could cause data corruption on the new volume! + * + * The truth is that deleting a volume that you are currently + * accessing will do _bad things_ to your system. This + * handler will keep it from crashing, but must probably + * you'll have to do a 'reboot' to get the system running + * properly. Deleting disks you are using is dumb. + * Umount them first and all will be good! + * + * It's not this driver's job to protect the system from + * dumb user mistakes :) + */ + if(i2ob_dev[unit].refcnt) + fsync_dev(MKDEV(MAJOR_NR,unit)); + + /* + * Decrease usage count for module + */ + while(i2ob_dev[unit].refcnt--) + MOD_DEC_USE_COUNT; + + i2ob_dev[unit].refcnt = 0; + + i2ob_dev[i].tid = 0; + + /* + * Do we need this? + * The media didn't really change...the device is just gone + */ + i2ob_media_change_flag[unit] = 1; + + i2ob_dev_count--; + + return; +} + + + +/* * Have we seen a media change ? */ @@ -973,12 +1352,10 @@ return do_i2ob_revalidate(dev, 0); } -static int i2ob_reboot_event(struct notifier_block *n, unsigned long code, void *p) +static void i2ob_reboot_event(void) { int i; - if(code != SYS_RESTART && code != SYS_HALT && code != SYS_POWER_OFF) - return NOTIFY_DONE; for(i=0;icontroller, msg, 20, 2); } } - return NOTIFY_DONE; } +/* struct notifier_block i2ob_reboot_notifier = { i2ob_reboot_event, NULL, 0 }; +*/ static struct file_operations i2ob_fops = { @@ -1077,12 +1455,12 @@ */ if (register_blkdev(MAJOR_NR, "i2o_block", &i2ob_fops)) { - printk("Unable to get major number %d for i2o_block\n", + printk(KERN_ERR "Unable to get major number %d for i2o_block\n", MAJOR_NR); return -EIO; } #ifdef MODULE - printk("i2o_block: registered device at major %d\n", MAJOR_NR); + printk(KERN_INFO "i2o_block: registered device at major %d\n", MAJOR_NR); #endif /* @@ -1142,13 +1520,26 @@ } i2ob_context = i2o_block_handler.context; + + /* + * Initialize event handling thread + */ + sema_init(&i2ob_evt_sem, 0); + evt_pid = kernel_thread(i2ob_evt, NULL, CLONE_SIGHAND); + if(evt_pid < 0) + { + printk(KERN_ERR + "i2o_block: Could not initialize event thread. Aborting\n"); + i2o_remove_handler(&i2o_block_handler); + return 0; + } + + /* * Finally see what is actually plugged in to our controllers */ - i2ob_probe(); - register_reboot_notifier(&i2ob_reboot_notifier); return 0; } @@ -1161,9 +1552,23 @@ void cleanup_module(void) { struct gendisk **gdp; + int i; - unregister_reboot_notifier(&i2ob_reboot_notifier); + /* + * Unregister for updates from any devices..otherwise we still + * get them and the core jumps to random memory :O + */ + if(i2ob_dev_count) { + struct i2o_device *d; + for(i = 0; i < MAX_I2OB; i++) + if((d=i2ob_dev[i<<4].i2odev)) { + i2o_device_notify_off(d, &i2o_block_handler); + i2o_event_register(d->controller, d->lct_data.tid, + i2ob_context, i<<4, 0); + } + } + /* * Flush the OSM */ @@ -1175,6 +1580,21 @@ */ if (unregister_blkdev(MAJOR_NR, "i2o_block") != 0) printk("i2o_block: cleanup_module failed\n"); + + if(evt_running) { + i = kill_proc(evt_pid, SIGTERM, 1); + if(!i) { + int count = 5 * 100; + while(evt_running && --count) { + current->state = TASK_INTERRUPTIBLE; + schedule_timeout(1); + } + + if(!count) + printk(KERN_ERR "Giving up on i2oblock thread...\n"); + } + +} /* * Why isnt register/unregister gendisk in the kernel ??? diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/i2o/i2o_config.c linux.16p1/drivers/i2o/i2o_config.c --- linux.15p19/drivers/i2o/i2o_config.c Thu Mar 9 19:32:35 2000 +++ linux.16p1/drivers/i2o/i2o_config.c Wed Apr 19 14:25:10 2000 @@ -85,8 +85,19 @@ { u32 *msg = (u32 *)m; - if (msg[0] & (1<<13)) +// if (msg[0] & (1<<13)) + if (msg[0] & MSG_FAIL) { + u32 *preserved_msg = (u32*)(c->mem_offset + msg[7]); + printk(KERN_ERR "i2o_config: IOP failed to process the msg.\n"); + /* Release the preserved msg frame by resubmitting it as a NOP */ + + preserved_msg[0] = THREE_WORD_MSG_SIZE | SGL_OFFSET_0; + preserved_msg[1] = I2O_CMD_UTIL_NOP << 24 | HOST_TID << 12 | 0; + preserved_msg[2] = 0; + i2o_post_message(c, msg[7]); + } + if (msg[4] >> 24) // RegStatus != SUCCESS i2o_report_status(KERN_INFO,"i2o_config",msg); @@ -166,6 +177,9 @@ struct i2o_handler cfg_handler= { i2o_cfg_reply, + NULL, + NULL, + NULL, "Configuration", 0, 0xffffffff // All classes @@ -416,7 +430,8 @@ if (len < 0) { kfree(res); - return len; /* -DetailedStatus */ + //return len; /* -DetailedStatus */ + return -EAGAIN; } put_user(len, kcmd.reslen); @@ -749,7 +764,7 @@ /* Device exists? */ for(d = iop->devices; d; d = d->next) - if(d->lct_data->tid == kdesc.tid) + if(d->lct_data.tid == kdesc.tid) break; if(!d) diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/i2o/i2o_core.c linux.16p1/drivers/i2o/i2o_core.c --- linux.15p19/drivers/i2o/i2o_core.c Thu Mar 9 19:32:35 2000 +++ linux.16p1/drivers/i2o/i2o_core.c Wed Apr 19 14:25:10 2000 @@ -18,6 +18,7 @@ * Juha Sievänen * Auvo Häkkinen * Deepak Saxena + * Boji Tony Kannanthanam */ #include @@ -26,17 +27,25 @@ #include #include +#include #include #include #include #include +#include #include #include +#include #include +#include +#include +#include +#include #include +#include // #define DRIVERDEBUG // #define DEBUG_IRQ @@ -47,10 +56,11 @@ * Size of the I2O module table */ -static struct i2o_handler *i2o_handlers[MAX_I2O_MODULES]; -static struct i2o_controller *i2o_controllers[MAX_I2O_CONTROLLERS]; -struct i2o_controller *i2o_controller_chain; +static struct i2o_handler *i2o_handlers[MAX_I2O_MODULES]= {NULL}; +static struct i2o_controller *i2o_controllers[MAX_I2O_CONTROLLERS] = {NULL}; +struct i2o_controller *i2o_controller_chain = NULL; int i2o_num_controllers = 0; +/* Initiator Context for Core Message */ static int core_context = 0; static int i2o_activate_controller(struct i2o_controller *iop); @@ -58,18 +68,27 @@ static int i2o_init_outbound_q(struct i2o_controller *c); static void i2o_core_reply(struct i2o_handler *, struct i2o_controller *, struct i2o_message *); -static int i2o_add_management_user(struct i2o_device *, struct i2o_handler *); -static int i2o_remove_management_user(struct i2o_device *, struct i2o_handler *); void i2o_dump_message(u32 *msg); static int i2o_issue_claim(struct i2o_controller *, int, int, int, u32); static int i2o_reset_controller(struct i2o_controller *); static int i2o_lct_get(struct i2o_controller *); +static int i2o_lct_notify(struct i2o_controller *); static int i2o_hrt_get(struct i2o_controller *); +/* Dynamic LCT update handler */ +static int i2o_dyn_lct(void *); + +/* I2O core event handler */ +static int i2o_core_evt(void *); +static int evt_pid; +static int evt_running; + static void i2o_sys_init(void); static void i2o_sys_shutdown(void); +static int i2o_clear_controller(struct i2o_controller *); +static int i2o_reboot_event(struct notifier_block *, unsigned long, void *); static int i2o_build_sys_table(void); static int i2o_systab_send(struct i2o_controller *c); @@ -128,10 +147,29 @@ static struct i2o_handler i2o_core_handler = { (void *)i2o_core_reply, - "I2O core layer", - 0 + NULL, + NULL, + NULL, + "I2O core layer", + 0, + I2O_CLASS_EXECUTIVE +}; + +/* + * Used when queing a reply to be handled later + */ +struct reply_info +{ + struct i2o_controller *iop; + u32 msg[MSG_FRAME_SIZE]; }; +static struct reply_info evt_reply; +static struct reply_info events[I2O_EVT_Q_LEN]; +static int evt_in = 0; +static int evt_out = 0; +static int evt_q_len = 0; +#define MODINC(x,y) (x = x++ % y) /* * I2O configuration spinlock. This isnt a big deal for contention @@ -140,6 +178,28 @@ static spinlock_t i2o_configuration_lock = SPIN_LOCK_UNLOCKED; + +/* + * Event spinlock. Used to keep event queue sane and from + * handling multiple events simultaneously. + */ +static spinlock_t i2o_evt_lock = SPIN_LOCK_UNLOCKED; + +/* + * Semaphore used to syncrhonize event handling thread with + * interrupt handler. + */ +DECLARE_MUTEX(evt_sem); +DECLARE_WAIT_QUEUE_HEAD(evt_wait); + +static struct notifier_block i2o_reboot_notifier = +{ + i2o_reboot_event, + NULL, + 0 +}; + + /* * I2O Core reply handler * @@ -158,6 +218,8 @@ if (msg[0] & (1<<13)) // Fail bit is set { + u32 *preserved_msg = (u32*)(c->mem_offset + msg[7]); + printk(KERN_ERR "%s: Failed to process the msg:\n",c->name); printk(KERN_ERR " Cmd = 0x%02X, InitiatorTid = %d, TargetTid =%d\n", (msg[1] >> 24) & 0xFF, (msg[1] >> 12) & 0xFFF, msg[1] & @@ -168,6 +230,19 @@ (msg[4] >> 8) & 0xFF, msg[4] & 0xFF); printk(KERN_ERR " FailingHostUnit = 0x%04X\n FailingIOP = 0x%03X\n", msg[5] >> 16, msg[5] & 0xFFF); + + /* If the failed request needs special treatment, + * it should be done here. */ + + /* Release the preserved msg by resubmitting it as a NOP */ + + preserved_msg[0] = THREE_WORD_MSG_SIZE | SGL_OFFSET_0; + preserved_msg[1] = I2O_CMD_UTIL_NOP << 24 | HOST_TID << 12 | 0; + preserved_msg[2] = 0; + i2o_post_message(c, msg[7]); + + /* If reply to i2o_post_wait failed, return causes a timeout */ + return; } @@ -182,7 +257,46 @@ status = I2O_POST_WAIT_OK; i2o_post_wait_complete(context, status); + return; } + + if(m->function == I2O_CMD_UTIL_EVT_REGISTER) + { + memcpy(events[evt_in].msg, msg, MSG_FRAME_SIZE); + events[evt_in].iop = c; + + spin_lock(&i2o_evt_lock); + MODINC(evt_in, I2O_EVT_Q_LEN); + if(evt_q_len == I2O_EVT_Q_LEN) + MODINC(evt_out, I2O_EVT_Q_LEN); + else + evt_q_len++; + spin_unlock(&i2o_evt_lock); + + up(&evt_sem); + wake_up_interruptible(&evt_wait); + return; + } + + if(m->function == I2O_CMD_LCT_NOTIFY) + { + up(&c->lct_sem); + return; + } + + /* + * If this happens, we want to dump the message to the syslog so + * it can be sent back to the card manufacturer by the end user + * to aid in debugging. + * + */ + printk(KERN_WARNING "%s: Unsolicited message reply sent to core!" + "Message dumped to syslog\n", + c->name); + i2o_dump_message(msg); + + return; + } /* @@ -299,15 +413,22 @@ { if(i2o_controllers[i]==NULL) { - i2o_controllers[i]=c; - c->next=i2o_controller_chain; - i2o_controller_chain=c; - c->unit = i; + i2o_controllers[i]=c; + c->devices = NULL; + c->next=i2o_controller_chain; + i2o_controller_chain=c; + c->unit = i; + c->page_frame = NULL; + c->hrt = NULL; + c->lct = NULL; + c->dlct = (i2o_lct*)kmalloc(8192, GFP_KERNEL); + c->status_block = NULL; + sprintf(c->name, "i2o/iop%d", i); + i2o_num_controllers++; + sema_init(&c->lct_sem, 0); + spin_unlock(&i2o_configuration_lock); + return 0; - sprintf(c->name, "i2o/iop%d", i); - i2o_num_controllers++; - spin_unlock(&i2o_configuration_lock); - return 0; } } printk(KERN_ERR "No free i2o controller slots.\n"); @@ -320,6 +441,13 @@ struct i2o_controller **p; int users; char name[16]; + int stat; + + /* + * Clear event registration as this can cause weird behavior + */ + if(c->status_block->iop_state == ADAPTER_STATE_OPERATIONAL) + i2o_event_register(c, core_context, 0, 0, 0); spin_lock(&i2o_configuration_lock); if((users=atomic_read(&c->users))) @@ -340,14 +468,35 @@ } } + + /* + * If this is shutdown time, the thread's already been killed + */ + if(c->lct_running) { + stat = kill_proc(c->lct_pid, SIGTERM, 1); + if(!stat) { + int count = 10 * 100; + while(c->lct_running && --count) { + current->state = TASK_INTERRUPTIBLE; + schedule_timeout(1); + } + + if(!count) + printk(KERN_ERR + "%s: LCT thread still running!\n", + c->name); + } + } + p=&i2o_controller_chain; while(*p) { if(*p==c) { - /* Ask the IOP to switch into RESET state */ - i2o_reset_controller(c); + /* Ask the IOP to switch to HOLD state */ + if (i2o_clear_controller(c) < 0) + printk(KERN_ERR "Unable to clear iop%d\n", c->unit); /* Release IRQ */ c->destructor(c); @@ -363,6 +512,8 @@ kfree(c->lct); if(c->status_block) kfree(c->status_block); + if(c->dlct) + kfree(c->dlct); i2o_controllers[c->unit]=NULL; memcpy(name, c->name, strlen(c->name)+1); @@ -405,117 +556,100 @@ * Claim a device for use as either the primary user or just * as a management/secondary user */ -int i2o_claim_device(struct i2o_device *d, struct i2o_handler *h, u32 type) +int i2o_claim_device(struct i2o_device *d, struct i2o_handler *h) { - /* Device already has a primary user or too many managers */ - if((type == I2O_CLAIM_PRIMARY && d->owner) || - (d->num_managers == I2O_MAX_MANAGERS)) - { - return -EBUSY; - } + spin_lock(&i2o_configuration_lock); - if(i2o_issue_claim(d->controller,d->lct_data->tid, h->context, 1, type)) + if(d->owner) { - return -EBUSY; + printk(KERN_INFO "issue claim called, but dev as owner!"); + spin_unlock(&i2o_configuration_lock); + + return -EBUSY; } - spin_lock(&i2o_configuration_lock); - if(d->owner) + if(i2o_issue_claim(d->controller,d->lct_data.tid, h->context, 1, I2O_CLAIM_PRIMARY)) { - spin_unlock(&i2o_configuration_lock); + spin_unlock(&i2o_configuration_lock); return -EBUSY; } - atomic_inc(&d->controller->users); - - if(type == I2O_CLAIM_PRIMARY) - d->owner=h; - else - if (i2o_add_management_user(d, h)) - printk(KERN_WARNING "i2o: Too many managers for TID %d\n", - d->lct_data->tid); - + d->owner=h; spin_unlock(&i2o_configuration_lock); return 0; } -int i2o_release_device(struct i2o_device *d, struct i2o_handler *h, u32 type) +int i2o_release_device(struct i2o_device *d, struct i2o_handler *h) { int err = 0; spin_lock(&i2o_configuration_lock); - - /* Primary user */ - if(type == I2O_CLAIM_PRIMARY) + if(d->owner != h) { - if(d->owner != h) - err = -ENOENT; - else - { - if(i2o_issue_claim(d->controller, d->lct_data->tid, h->context, 0, - type)) - { - err = -ENXIO; - } - else - { - d->owner = NULL; - atomic_dec(&d->controller->users); - } - } - spin_unlock(&i2o_configuration_lock); - return err; + return -ENOENT; } - /* Management or other user */ - if(i2o_remove_management_user(d, h)) - err = -ENOENT; - else + if(i2o_issue_claim(d->controller, d->lct_data.tid, h->context, 0, + I2O_CLAIM_PRIMARY)) { - atomic_dec(&d->controller->users); - - if(i2o_issue_claim(d->controller,d->lct_data->tid, h->context, 0, - type)) - err = -ENXIO; + err = -ENXIO; } + d->owner = NULL; + spin_unlock(&i2o_configuration_lock); return err; } -int i2o_add_management_user(struct i2o_device *d, struct i2o_handler *h) + +/* + * Called by OSMs to let the core know that they want to be + * notified if the given device is deleted from the system. + */ +int i2o_device_notify_on(struct i2o_device *d, struct i2o_handler *h) { - int i; + int i; - if(d->num_managers == I2O_MAX_MANAGERS) - return 1; + if(d->num_managers == I2O_MAX_MANAGERS) + return -ENOSPC; - for(i = 0; i < I2O_MAX_MANAGERS; i++) - if(!d->managers[i]) - d->managers[i] = h; - - d->num_managers++; - - return 0; + for(i = 0; i < I2O_MAX_MANAGERS; i++) + { + if(!d->managers[i]) + { + d->managers[i] = h; + break; + } + } + + d->num_managers++; + + return 0; } -int i2o_remove_management_user(struct i2o_device *d, struct i2o_handler *h) +/* + * Called by OSMs to let the core know that they no longer + * are interested in the fate of the given device. + */ +int i2o_device_notify_off(struct i2o_device *d, struct i2o_handler *h) { - int i; + int i; - for(i=0; i < I2O_MAX_MANAGERS; i++) - { - if(d->managers[i] == h) - { - d->managers[i] = NULL; - return 0; - } - } + for(i=0; i < I2O_MAX_MANAGERS; i++) + { + if(d->managers[i] == h) + { + d->managers[i] = NULL; + d->num_managers--; + return 0; + } + } - return -ENOENT; + return -ENOENT; } + /* * This is called by the bus specific driver layer when an interrupt * or poll of this card interface is desired. @@ -679,9 +813,15 @@ * Dump the information block associated with a given unit (TID) */ -void i2o_report_controller_unit(struct i2o_controller *c, int unit) +void i2o_report_controller_unit(struct i2o_controller *c, struct i2o_device *d) { char buf[64]; + char str[22]; + //int ret; + int unit = d->lct_data.tid; + + printk(KERN_INFO "Target ID %d.\n", unit); + if(i2o_query_scalar(c, unit, 0xF100, 3, buf, 16)>=0) { @@ -691,20 +831,38 @@ if(i2o_query_scalar(c, unit, 0xF100, 4, buf, 16)>=0) { buf[16]=0; - printk(" Device: %s", buf); + printk(KERN_INFO " Device: %s", buf); } #if 0 if(i2o_query_scalar(c, unit, 0xF100, 5, buf, 16)>=0) { buf[16]=0; - printk("Description: %s", buf); + printk(KERN_INFO "Description: %s", buf); } #endif if(i2o_query_scalar(c, unit, 0xF100, 6, buf, 8)>=0) { buf[8]=0; - printk(" Rev: %s\n", buf); + printk(KERN_INFO " Rev: %s\n", buf); } + + printk(KERN_INFO " Class: "); + sprintf(str, "%-21s", i2o_get_class_name(d->lct_data.class_id)); + printk(KERN_INFO "%s\n", str); + + printk(KERN_INFO " Subclass: 0x%04X\n", d->lct_data.sub_class); + printk(KERN_INFO " Flags: "); + + if(d->lct_data.device_flags&(1<<0)) + printk("C"); // ConfigDialog requested + if(d->lct_data.device_flags&(1<<1)) + printk("U"); // Multi-user capable + if(!(d->lct_data.device_flags&(1<<4))) + printk("P"); // Peer service enabled! + if(!(d->lct_data.device_flags&(1<<5))) + printk("M"); // Mgmt service enabled! + printk("\n"); + } @@ -816,9 +974,7 @@ int i; int max; int tid; - u32 *p; struct i2o_device *d; - char str[22]; i2o_lct *lct = c->lct; if (lct == NULL) { @@ -847,35 +1003,15 @@ d->controller = c; d->next = NULL; - d->lct_data = &lct->lct_entry[i]; + memcpy(&d->lct_data, &lct->lct_entry[i], sizeof(i2o_lct_entry)); d->flags = 0; - tid = d->lct_data->tid; + tid = d->lct_data.tid; - printk(KERN_INFO "Target ID %d.\n", tid); - - i2o_report_controller_unit(c, tid); + i2o_report_controller_unit(c, d); i2o_install_device(c, d); - printk(KERN_INFO " Class: "); - - sprintf(str, "%-21s", i2o_get_class_name(d->lct_data->class_id)); - printk("%s", str); - - printk(" Subclass: 0x%04X Flags: ", - d->lct_data->sub_class); - - if(d->lct_data->device_flags&(1<<0)) - printk("C"); // ConfigDialog requested - if(d->lct_data->device_flags&(1<<1)) - printk("M"); // Multi-user capable - if(!(d->lct_data->device_flags&(1<<4))) - printk("P"); // Peer service enabled! - if(!(d->lct_data->device_flags&(1<<5))) - printk("m"); // Mgmt service enabled! - printk("\n"); - p+=9; } return 0; } @@ -890,6 +1026,9 @@ u32 msg[4]; int ret; + i2o_status_get(c); + + /* SysQuiesce discarded if IOP not in READY or OPERATIONAL state */ if ((c->status_block->iop_state != ADAPTER_STATE_READY) && @@ -924,6 +1063,12 @@ u32 msg[4]; int ret; + i2o_status_get(c); + + /* Enable only allowed on READY state */ + if(c->status_block->iop_state != ADAPTER_STATE_READY) + return -EINVAL; + msg[0]=FOUR_WORD_MSG_SIZE|SGL_OFFSET_0; msg[1]=I2O_CMD_SYS_ENABLE<<24|HOST_TID<<12|ADAPTER_TID; /* msg[2] filled in i2o_post_wait */ @@ -1310,6 +1455,26 @@ } /* Active IOPs now in OPERATIONAL state */ + /* + * Register for status updates from all IOPs + */ + for(iop = i2o_controller_chain; iop; iop=iop->next) { + + /* Create a kernel thread to deal with dynamic LCT updates */ + iop->lct_pid = kernel_thread(i2o_dyn_lct, iop, CLONE_SIGHAND); + + printk(KERN_INFO "event thread created as pid %d \n", iop->lct_pid); + + /* Update change ind on DLCT */ + iop->dlct->change_ind = iop->lct->change_ind; + + /* Start dynamic LCT updates */ + i2o_lct_notify(iop); + + /* Register for all events from IRTOS */ + i2o_event_register(iop, core_context, 0, 0, 0xFFFFFFFF); + } + } /* @@ -1337,10 +1502,10 @@ /* In READY state, Get status */ if (i2o_status_get(iop) < 0) { - printk("Unable to obtain status of IOP, attempting a reset.\n"); + printk(KERN_INFO "Unable to obtain status of IOP, attempting a reset.\n"); i2o_reset_controller(iop); if (i2o_status_get(iop) < 0) { - printk("IOP not responding.\n"); + printk(KERN_INFO "IOP not responding.\n"); i2o_delete_controller(iop); return -1; } @@ -1352,9 +1517,9 @@ return -1; } -// if (iop->status_block->iop_state == ADAPTER_STATE_HOLD || if (iop->status_block->iop_state == ADAPTER_STATE_READY || iop->status_block->iop_state == ADAPTER_STATE_OPERATIONAL || + iop->status_block->iop_state == ADAPTER_STATE_HOLD || iop->status_block->iop_state == ADAPTER_STATE_FAILED) { dprintk((KERN_INFO "%s: already running...trying to reset\n", @@ -1520,6 +1685,30 @@ /* + * Like above, but used for async notification. The main + * difference is that we keep track of the CurrentChangeIndiicator + * so that we only get updates when it actually changes. + * + */ +int i2o_lct_notify(struct i2o_controller *c) +{ + u32 msg[8]; + + msg[0] = EIGHT_WORD_MSG_SIZE|SGL_OFFSET_6; + msg[1] = I2O_CMD_LCT_NOTIFY<<24 | HOST_TID<<12 | ADAPTER_TID; + msg[2] = core_context; + msg[3] = 0xDEADBEEF; + msg[4] = 0xFFFFFFFF; /* All devices */ + msg[5] = c->dlct->change_ind+1; /* Next change */ + msg[6] = 0xD0000000|8192; + msg[7] = virt_to_bus(c->dlct); + + return i2o_post_this(c, msg, sizeof(msg)); +} + + + +/* * Bring a controller online into OPERATIONAL state. */ @@ -1675,7 +1864,7 @@ spin_unlock_irqrestore(&post_wait_lock, flags); wait_data->wq = &wq_i2o_post; - wait_data->status = -EAGAIN; + wait_data->status = -ETIMEDOUT; msg[2]=0x80000000|(u32)core_context|((u32)wait_data->id<<16); @@ -1733,22 +1922,22 @@ } spin_unlock(&post_wait_lock); - printk(KERN_DEBUG "i2o: i2o_post_wait reply after timeout!"); + printk(KERN_DEBUG "i2o: i2o_post_wait reply after timeout!\n"); } /* * Send UTIL_EVENT messages */ -int i2o_event_register(struct i2o_controller *c, int tid, int context, - u32 evt_mask) +int i2o_event_register(struct i2o_controller *c, u32 tid, u32 init_context, + u32 tr_context, u32 evt_mask) { u32 msg[5]; msg[0] = FIVE_WORD_MSG_SIZE | SGL_OFFSET_0; msg[1] = I2O_CMD_UTIL_EVT_REGISTER << 24 | HOST_TID << 12 | tid; - msg[2] = context; - msg[3] = 0; + msg[2] = (u32) init_context; + msg[3] = (u32)tr_context ; msg[4] = evt_mask; if (i2o_post_this(c, msg, sizeof(msg)) < 0) @@ -1757,25 +1946,302 @@ return 0; } -int i2o_event_ack(struct i2o_controller *c, int tid, int context, - u32 evt_indicator, void *evt_data, int evt_data_len) +int i2o_event_ack(struct i2o_controller *c, u32 *msg) { - u32 msg[c->inbound_size]; + struct i2o_message *m = (struct i2o_message *)msg; - msg[0] = I2O_MESSAGE_SIZE(5 + evt_data_len / 4) | SGL_OFFSET_5; - msg[1] = I2O_CMD_UTIL_EVT_ACK << 24 | HOST_TID << 12 | tid; - msg[2] = context; - msg[3] = 0; - msg[4] = evt_indicator; - memcpy(msg+5, evt_data, evt_data_len); + m->function = I2O_CMD_UTIL_EVT_ACK; + return i2o_post_wait(c, msg, m->size * 4, 2); - if (i2o_post_this(c, msg, sizeof(msg)) < 0) - return -ETIMEDOUT; +} + +/* + * Core event handler. Runs as a separate thread and is woken + * up whenever there is an Executive class event. + */ +static int i2o_core_evt(void *reply_data) +{ + struct reply_info *reply = (struct reply_info *) reply_data; + u32 *msg = reply->msg; + struct i2o_controller *c = NULL; + int flags; + struct fs_struct *fs; + + lock_kernel(); + + printk(KERN_INFO "i2o_core_evt: I2O CORE Event thread at %p\n", &i2o_core_evt); + exit_files(current); + exit_mm(current); + current->session = 1; + current->pgrp = 1; + /* Become as one with the init task */ + exit_fs(current); + fs = init_task.fs; + current->fs = fs; + atomic_inc(&fs->count); + + unlock_kernel(); + + strcpy(current->comm, "i2oevtd"); + evt_running = 1; + + while(1) + { + down_interruptible(&evt_sem); + if(signal_pending(current)) + { + dprintk((KERN_INFO "I2O event thread dead\n")); + evt_running = 0; + return 0; + } + + /* + * Copy the data out of the queue so that we don't have to lock + * around the whole function and just around the qlen update + */ + spin_lock_irqsave(&i2o_evt_lock, flags); + memcpy(reply, &events[evt_out], sizeof(struct reply_info)); + MODINC(evt_out, I2O_EVT_Q_LEN); + evt_q_len--; + spin_unlock_irqrestore(&i2o_evt_lock, flags); + + c = reply->iop; + dprintk((KERN_INFO "I2O IRTOS EVENT: iop%d, event %#10x\n", c->unit, msg[4])); + + /* + * We do not attempt to delete/quiesce/etc. the controller if + * some sort of error indidication occurs. We may want to do + * so in the future, but for now we just let the user deal with + * it. One reason for this is that what to do with an error + * or when to send what ćrror is not really agreed on, so + * we get errors that may not be fatal but just look like they + * are...so let the user deal with it. + */ + switch(msg[4]) + { + case I2O_EVT_IND_EXEC_RESOURCE_LIMITS: + printk(KERN_ERR "iop%d: Out of resources\n", c->unit); + break; + + case I2O_EVT_IND_EXEC_POWER_FAIL: + printk(KERN_ERR "iop%d: Power failure\n", c->unit); + break; + + case I2O_EVT_IND_EXEC_HW_FAIL: + { + char *fail[] = + { + "Unknown Error", + "Power Lost", + "Code Violation", + "Parity Error", + "Code Execution Exception", + "Watchdog Timer Expired" + }; + + if(msg[5] <= 6) + printk(KERN_ERR "%s: Hardware Failure: %s\n", + c->name, fail[msg[5]]); + else + printk(KERN_ERR "%s: Unknown Hardware Failure\n", c->name); + + break; + } + + /* + * New device created + * - Create a new i2o_device entry + * - Inform all interested drivers about this device's existence + */ + case I2O_EVT_IND_EXEC_NEW_LCT_ENTRY: + { + struct i2o_device *d = (struct i2o_device *) + kmalloc(sizeof(struct i2o_device), GFP_KERNEL); + int i; + + memcpy(&d->lct_data, &msg[5], sizeof(i2o_lct_entry)); + + d->next = NULL; + d->controller = c; + d->flags = 0; + + i2o_report_controller_unit(c, d); + i2o_install_device(c,d); + + for(i = 0; i < MAX_I2O_MODULES; i++) + { + if(i2o_handlers[i] && + i2o_handlers[i]->new_dev_notify && + (i2o_handlers[i]->class&d->lct_data.class_id)) + i2o_handlers[i]->new_dev_notify(c,d); + } + + break; + } + + /* + * LCT entry for a device has been modified, so update it + * internally. + */ + case I2O_EVT_IND_EXEC_MODIFIED_LCT: + { + struct i2o_device *d; + i2o_lct_entry *new_lct = (i2o_lct_entry *)&msg[5]; + + for(d = c->devices; d; d = d->next) + { + if(d->lct_data.tid == new_lct->tid) + { + memcpy(&d->lct_data, new_lct, sizeof(i2o_lct_entry)); + break; + } + } + break; + } + + case I2O_EVT_IND_CONFIGURATION_FLAG: + printk(KERN_WARNING "%s requires user configuration\n", c->name); + break; + + case I2O_EVT_IND_GENERAL_WARNING: + printk(KERN_WARNING "%s: Warning notification received!" + "Check configuration for errors!\n", c->name); + break; + + default: + printk(KERN_WARNING "%s: Unknown event...check config\n", c->name); + break; + } + } return 0; } /* + * Dynamic LCT update. This compares the LCT with the currently + * installed devices to check for device deletions..this needed b/c there + * is no DELETED_LCT_ENTRY EventIndicator for the Executive class so + * we can't just have the event handler do this...annoying + * + * This is a hole in the spec that will hopefully be fixed someday. + */ +static int i2o_dyn_lct(void *foo) +{ + struct i2o_controller *c = (struct i2o_controller *)foo; + struct i2o_device *d = NULL; + struct i2o_device *d1 = NULL; + int i = 0; + int found = 0; + int entries; + void *tmp; + char name[16]; + struct fs_struct *fs; + + lock_kernel(); + + printk(KERN_INFO "i2o_dyn_lct: I2O CORE Event thread at %p\n", &i2o_dyn_lct); + exit_files(current); + exit_mm(current); + current->session = 1; + current->pgrp = 1; + /* Become as one with the init task */ + exit_fs(current); + fs = init_task.fs; + current->fs = fs; + atomic_inc(&fs->count); + + unlock_kernel(); + + sprintf(name, "iop%d_lctd", c->unit); + strcpy(current->comm, name); + + c->lct_running = 1; + + while(1) + { + down_interruptible(&c->lct_sem); + if(signal_pending(current)) + { + dprintk((KERN_ERR "%s: LCT thread dead\n", c->name)); + c->lct_running = 0; + return 0; + } + + entries = c->dlct->table_size; + entries -= 3; + entries /= 9; + + dprintk((KERN_INFO "I2O: Dynamic LCT Update\n")); + dprintk((KERN_INFO "I2O: Dynamic LCT contains %d entries\n", entries)); + + if(!entries) + { + printk(KERN_INFO "iop%d: Empty LCT???\n", c->unit); + continue; + } + + /* + * Loop through all the devices on the IOP looking for their + * LCT data in the LCT. We assume that TIDs are not repeated. + * as that is the only way to really tell. It's been confirmed + * by the IRTOS vendor(s?) that TIDs are not reused until they + * wrap arround(4096), and I doubt a system will up long enough + * to create/delete that many devices. + */ + for(d = c->devices; d; ) + { + found = 0; + d1 = d->next; + + for(i = 0; i < entries; i++) + { + if(d->lct_data.tid == c->dlct->lct_entry[i].tid) + { + found = 1; + break; + } + } + if(!found) + { + dprintk((KERN_INFO "Deleted device!\n")); + i2o_delete_device(d); + } + d = d1; + } + + /* + * Tell LCT to renotify us next time there is a change + */ + i2o_lct_notify(c); + + /* + * Copy new LCT into public LCT + * + * Possible race if someone is reading LCT while we are copying + * over it. If this happens, we'll fix it then. but I doubt that * the LCT will get updated often enough or will get read by + * a user often enough to worry. + */ + if(c->lct->table_size < c->dlct->table_size) + { + tmp = c->lct; + c->lct = kmalloc(c->dlct->table_size<<2, GFP_KERNEL); + if(!c->lct) + { + printk(KERN_ERR "%s: No memory for LCT!\n", c->name); + c->lct = tmp; + continue; + } + kfree(tmp); + } + memcpy(c->lct, c->dlct, c->dlct->table_size<<2); + } + + return 0; +} + + + +/* * Issue UTIL_CLAIM or UTIL_RELEASE messages */ @@ -2052,9 +2518,9 @@ }; if (req_status > I2O_REPLY_STATUS_PROGRESS_REPORT) - printk("%0#4x / ", req_status); + printk(KERN_INFO "%0#4x / ", req_status); else - printk("%s / ", REPLY_STATUS[req_status]); + printk(KERN_INFO "%s / ", REPLY_STATUS[req_status]); return; } @@ -2099,9 +2565,9 @@ }; if (detailed_status > I2O_DSC_DEVICE_NOT_AVAILABLE) - printk("%0#4x.\n", detailed_status); + printk(KERN_INFO "%0#4x.\n", detailed_status); else - printk("%s.\n", COMMON_DSC[detailed_status]); + printk(KERN_INFO "%s.\n", COMMON_DSC[detailed_status]); return; } @@ -2274,9 +2740,35 @@ u8 cmd = (msg[1]>>24)&0xFF; u8 req_status = (msg[4]>>24)&0xFF; u16 detailed_status = msg[4]&0xFFFF; + struct i2o_handler *h = i2o_handlers[msg[2] & (MAX_I2O_MODULES-1)]; printk("%s%s: ", severity, module); + + switch (h->class) { + case I2O_CLASS_EXECUTIVE: + if (cmd < 0x1F) { // Utility cmd + i2o_report_util_cmd(cmd); + i2o_report_common_status(req_status); + i2o_report_common_dsc(detailed_status); + } + if (cmd >= 0xA0 && cmd <= 0xEF) { // Executive cmd + i2o_report_exec_cmd(cmd); + i2o_report_common_status(req_status); + i2o_report_common_dsc(detailed_status); + } + break; + +/* + case I2O_CLASS_RANDOM_BLOCK_STORAGE: + break; +*/ + default: + printk(KERN_INFO "%02x, %02x / %04x.\n", + cmd, req_status, detailed_status); + } + +/* if (cmd < 0x1F) { // Utility Class i2o_report_util_cmd(cmd); i2o_report_common_status(req_status); @@ -2291,8 +2783,9 @@ return; } - printk("%02x, %02x / %04x.\n", cmd, req_status, detailed_status); + printk(KERN_INFO "%02x, %02x / %04x.\n", cmd, req_status, detailed_status); return; +*/ } /* Used to dump a message to syslog during debugging */ @@ -2308,6 +2801,55 @@ #endif } + +/* + * I2O reboot/shutdown notification. + * + * - Call each OSM's reboot notifier (if one exists) + * - Quiesce each IOP in the system + * + * Each IOP has to be quiesced before we can ensure that the system + * can be properly shutdown as a transaction that has already been + * acknowledged still needs to be placed in permanent store on the IOP. + * The SysQuiesce causes the IOP to force all HDMs to complete their + * transactions before returning, so only at that point is it safe + * + */ + +static int i2o_reboot_event(struct notifier_block *n, unsigned long code, void +*p) +{ + int i = 0; + struct i2o_controller *c = NULL; + + if(code != SYS_RESTART && code != SYS_HALT && code != SYS_POWER_OFF) + return NOTIFY_DONE; + + printk(KERN_INFO "Shutting down I2O system.\n"); + printk(KERN_INFO + " This could take a few minutes if there are many devices attached\n"); + + for(i = 0; i < MAX_I2O_MODULES; i++) + { + if(i2o_handlers[i] && i2o_handlers[i]->reboot_notify) + i2o_handlers[i]->reboot_notify(); + } + + for(c = i2o_controller_chain; c; c = c->next) + { + if(i2o_quiesce_controller(c)) + { + printk(KERN_WARNING "i2o: Could not quiesce %s." " + Verify setup on next system power up.\n", c->name); + } + } + + printk(KERN_INFO "I2O system down.\n"); + return NOTIFY_DONE; +} + + + #ifdef MODULE EXPORT_SYMBOL(i2o_install_handler); @@ -2324,6 +2866,9 @@ EXPORT_SYMBOL(i2o_claim_device); EXPORT_SYMBOL(i2o_release_device); +EXPORT_SYMBOL(i2o_device_notify_on); +EXPORT_SYMBOL(i2o_device_notify_off); + EXPORT_SYMBOL(i2o_run_queue); EXPORT_SYMBOL(i2o_activate_controller); EXPORT_SYMBOL(i2o_get_class_name); @@ -2363,22 +2908,62 @@ printk(KERN_INFO "i2o: No PCI I2O controllers found\n"); #endif + + /* + * Initialize event handling thread + */ + sema_init(&evt_sem, 0); + evt_pid = kernel_thread(i2o_core_evt, &evt_reply, CLONE_SIGHAND); + if(evt_pid < 0) + { + printk(KERN_ERR "I2O: Could not create event handler kernel thread\n"); + i2o_remove_handler(&i2o_core_handler); + return 0; + } + else printk(KERN_INFO "event thread created as pid %d \n", evt_pid); + if(i2o_num_controllers) i2o_sys_init(); + register_reboot_notifier(&i2o_reboot_notifier); + return 0; } void cleanup_module(void) { + int stat; + + unregister_reboot_notifier(&i2o_reboot_notifier); + if(i2o_num_controllers) i2o_sys_shutdown(); + /* + * If this is shutdown time, the thread has already been killed + */ + if(evt_running) { + stat = kill_proc(evt_pid, SIGTERM, 1); + if(!stat) { + int count = 10 * 100; + while(evt_running && count) { + current->state = TASK_INTERRUPTIBLE; + schedule_timeout(1); + } + + if(!count) + printk(KERN_ERR "i2o: Event thread still running!\n"); + } + } + + #ifdef CONFIG_I2O_PCI_MODULE i2o_pci_core_detach(); #endif i2o_remove_handler(&i2o_core_handler); + unregister_reboot_notifier(&i2o_reboot_notifier); + } #else @@ -2402,6 +2987,21 @@ core_context = i2o_core_handler.context; + /* + * Initialize event handling thread + * We may not find any controllers, but still want this as + * down the road we may have hot pluggable controllers that + * need to be dealt with. + */ + sema_init(&evt_sem, 0); + if((evt_pid = kernel_thread(i2o_core_evt, &evt_reply, CLONE_SIGHAND)) < +0) + { + printk(KERN_ERR "I2O: Could not create event handler kernel thread\n"); + i2o_remove_handler(&i2o_core_handler); + return 0; + } + #ifdef CONFIG_I2O_PCI i2o_pci_init(); #endif @@ -2409,16 +3009,22 @@ if(i2o_num_controllers) i2o_sys_init(); + register_reboot_notifier(&i2o_reboot_notifier); + i2o_config_init(); + #ifdef CONFIG_I2O_BLOCK i2o_block_init(); #endif + #ifdef CONFIG_I2O_SCSI i2o_scsi_init(); #endif + #ifdef CONFIG_I2O_LAN i2o_lan_init(); #endif + #ifdef CONFIG_I2O_PROC i2o_proc_init(); #endif diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/i2o/i2o_pci.c linux.16p1/drivers/i2o/i2o_pci.c --- linux.15p19/drivers/i2o/i2o_pci.c Tue Mar 28 17:45:13 2000 +++ linux.16p1/drivers/i2o/i2o_pci.c Wed Apr 19 14:25:10 2000 @@ -6,6 +6,8 @@ * * Written by Alan Cox, Building Number Three Ltd * Modified by Deepak Saxena + * Mar 23 ,2000: MTRR fix for Intel i960- + * Boji T Kannanthanam * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/i2o/i2o_scsi.c linux.16p1/drivers/i2o/i2o_scsi.c --- linux.15p19/drivers/i2o/i2o_scsi.c Thu Mar 9 19:32:35 2000 +++ linux.16p1/drivers/i2o/i2o_scsi.c Wed Apr 19 14:25:10 2000 @@ -301,12 +301,12 @@ { u8 reply[8]; - if(i2o_query_scalar(c, d->lct_data->tid, 0, 3, reply, 4)<0) + if(i2o_query_scalar(c, d->lct_data.tid, 0, 3, reply, 4)<0) return -1; *target=reply[0]; - if(i2o_query_scalar(c, d->lct_data->tid, 0, 4, reply, 8)<0) + if(i2o_query_scalar(c, d->lct_data.tid, 0, 4, reply, 8)<0) return -1; *lun=reply[1]; @@ -323,7 +323,7 @@ int target; h->controller=c; - h->bus_task=d->lct_data->tid; + h->bus_task=d->lct_data.tid; for(target=0;target<16;target++) for(lun=0;lun<8;lun++) @@ -332,33 +332,33 @@ for(unit=c->devices;unit!=NULL;unit=unit->next) { dprintk(("Class %03X, parent %d, want %d.\n", - unit->lct_data->class_id, unit->lct_data->parent_tid, d->lct_data->tid)); + unit->lct_data.class_id, unit->lct_data.parent_tid, d->lct_data.tid)); /* Only look at scsi and fc devices */ - if ( (unit->lct_data->class_id != I2O_CLASS_SCSI_PERIPHERAL) - && (unit->lct_data->class_id != I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL) + if ( (unit->lct_data.class_id != I2O_CLASS_SCSI_PERIPHERAL) + && (unit->lct_data.class_id != I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL) ) continue; /* On our bus ? */ - dprintk(("Found a disk (%d).\n", unit->lct_data->tid)); - if ((unit->lct_data->parent_tid == d->lct_data->tid) - || (unit->lct_data->parent_tid == d->lct_data->parent_tid) + dprintk(("Found a disk (%d).\n", unit->lct_data.tid)); + if ((unit->lct_data.parent_tid == d->lct_data.tid) + || (unit->lct_data.parent_tid == d->lct_data.parent_tid) ) { u16 limit; dprintk(("Its ours.\n")); if(i2o_find_lun(c, unit, &target, &lun)==-1) { - printk(KERN_ERR "i2o_scsi: Unable to get lun for tid %d.\n", unit->lct_data->tid); + printk(KERN_ERR "i2o_scsi: Unable to get lun for tid %d.\n", unit->lct_data.tid); continue; } dprintk(("Found disk %d %d.\n", target, lun)); - h->task[target][lun]=unit->lct_data->tid; + h->task[target][lun]=unit->lct_data.tid; h->tagclock[target][lun]=jiffies; /* Get the max fragments/request */ - i2o_query_scalar(c, d->lct_data->tid, 0xF103, 3, &limit, 2); + i2o_query_scalar(c, d->lct_data.tid, 0xF103, 3, &limit, 2); /* sanity */ if ( limit == 0 ) @@ -432,8 +432,8 @@ /* * bus_adapter, SCSI (obsolete), or FibreChannel busses only */ - if( (d->lct_data->class_id!=I2O_CLASS_BUS_ADAPTER_PORT) // bus_adapter -// && (d->lct_data->class_id!=I2O_CLASS_FIBRE_CHANNEL_PORT) // FC_PORT + if( (d->lct_data.class_id!=I2O_CLASS_BUS_ADAPTER_PORT) // bus_adapter +// && (d->lct_data.class_id!=I2O_CLASS_FIBRE_CHANNEL_PORT) // FC_PORT ) continue; diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/isdn/avmb1/capi.c linux.16p1/drivers/isdn/avmb1/capi.c --- linux.15p19/drivers/isdn/avmb1/capi.c Fri Mar 17 15:42:32 2000 +++ linux.16p1/drivers/isdn/avmb1/capi.c Wed Apr 19 13:54:46 2000 @@ -564,7 +564,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/isdn/avmb1/kcapi.c linux.16p1/drivers/isdn/avmb1/kcapi.c --- linux.15p19/drivers/isdn/avmb1/kcapi.c Fri Mar 17 15:42:32 2000 +++ linux.16p1/drivers/isdn/avmb1/kcapi.c Wed Apr 19 13:54:46 2000 @@ -250,7 +250,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } @@ -289,7 +289,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } @@ -321,7 +321,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } @@ -350,7 +350,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } @@ -387,7 +387,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } @@ -424,7 +424,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } @@ -461,7 +461,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/isdn/hisax/w6692.c linux.16p1/drivers/isdn/hisax/w6692.c --- linux.15p19/drivers/isdn/hisax/w6692.c Wed Oct 20 01:12:37 1999 +++ linux.16p1/drivers/isdn/hisax/w6692.c Wed Apr 19 15:36:56 2000 @@ -1,4 +1,4 @@ -/* $Id: w6692.c,v 1.1 1999/09/04 06:28:58 keil Exp $ +/* $Id: w6692.c,v 1.4 2000/03/16 23:24:11 werner Exp $ * w6692.c Winbond W6692 specific routines * @@ -8,6 +8,17 @@ * This file is (c) under GNU PUBLIC LICENSE * * $Log: w6692.c,v $ + * Revision 1.4 2000/03/16 23:24:11 werner + * + * Fixed an additional location + * + * Revision 1.3 2000/03/16 22:41:36 werner + * + * Tried to fix second B-channel problem (still not tested) + * + * Revision 1.2 2000/02/26 00:35:13 keil + * Fix skb freeing in interrupt context + * * Revision 1.1 1999/09/04 06:28:58 keil * first revision * @@ -47,7 +58,7 @@ extern const char *CardType[]; -const char *w6692_revision = "$Revision: 1.1 $"; +const char *w6692_revision = "$Revision: 1.4 $"; #define DBUSY_TIMER_VALUE 80 @@ -314,10 +325,13 @@ { u_char val; u_char r; - struct BCState *bcs = cs->bcs + bchan; + struct BCState *bcs = cs->bcs; struct sk_buff *skb; int count; + if (bcs->channel != bchan) + bcs++; /* hardware bchan must match ! */ + val = cs->BC_Read_Reg(cs, bchan, W_B_EXIR); debugl1(cs, "W6692B chan %d B_EXIR 0x%02X", bchan, val); @@ -721,7 +735,9 @@ W6692Bmode(struct BCState *bcs, int mode, int bc) { struct IsdnCardState *cs = bcs->cs; - int bchan = bcs->hw.w6692.bchan; + int bchan = bc; + + bcs->hw.w6692.bchan = bc; if (cs->debug & L1_DEB_HSCX) debugl1(cs, "w6692 %c mode %d ichan %d", diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/net/82596.c linux.16p1/drivers/net/82596.c --- linux.15p19/drivers/net/82596.c Thu Mar 9 19:32:35 2000 +++ linux.16p1/drivers/net/82596.c Wed Apr 19 14:18:18 2000 @@ -11,10 +11,15 @@ by Richard Hirst Renamed to be 82596.c - *** Untested on Apricot hardware, and may require some hacking - *** to make it work. The old 82596.c reported hasn't worked - *** since 1.3.xx anyway. I have been unable to find any users - *** of Apricot hardware to test this on. + 980825: Changed to receive directly in to sk_buffs which are + allocated at open() time. Eliminates copy on incoming frames + (small ones are still copied). Shared data now held in a + non-cached page, so we can run on 68060 in copyback mode. + + TBD: + * look at deferring rx frames rather than discarding (as per tulip) + * handle tx ring full as per tulip + * performance test to tune rx_copybreak Most of my modifications relate to the braindead big-endian implementation by Intel. When the i596 is operating in @@ -35,7 +40,7 @@ */ -static const char *version = "82596.c:v1.0 15/07/98\n"; +static const char *version = "82596.c $Revision: 1.2 $\n"; #include #include @@ -57,12 +62,47 @@ #include #include #include -#include /*?? */ +#include -#ifdef CONFIG_MVME16x_NET +/* DEBUG flags + */ + +#define DEB_INIT 0x0001 +#define DEB_PROBE 0x0002 +#define DEB_SERIOUS 0x0004 +#define DEB_ERRORS 0x0008 +#define DEB_MULTI 0x0010 +#define DEB_TDR 0x0020 +#define DEB_OPEN 0x0040 +#define DEB_RESET 0x0080 +#define DEB_ADDCMD 0x0100 +#define DEB_STATUS 0x0200 +#define DEB_STARTTX 0x0400 +#define DEB_RXADDR 0x0800 +#define DEB_TXADDR 0x1000 +#define DEB_RXFRAME 0x2000 +#define DEB_INTS 0x4000 +#define DEB_STRUCT 0x8000 +#define DEB_ANY 0xffff + + +#define DEB(x,y) if (i596_debug & (x)) y + + +#if defined(CONFIG_MVME16x_NET) || defined(CONFIG_MVME16x_NET_MODULE) +#define ENABLE_MVME16x_NET +#endif +#if defined(CONFIG_BVME6000_NET) || defined(CONFIG_BVME6000_NET_MODULE) +#define ENABLE_BVME6000_NET +#endif +#if defined(CONFIG_APRICOT) || defined(CONFIG_APRICOT_MODULE) +#define ENABLE_APRICOT +#endif + +#ifdef ENABLE_MVME16x_NET #include #endif -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET #include #endif @@ -82,12 +122,13 @@ #define ISCP_BUSY 0x00010000 #define MACH_IS_APRICOT 0 #else -#define WSWAPrfd(x) x -#define WSWAPiscp(x) ((struct i596_iscp *)(x)) -#define WSWAPscb(x) ((struct i596_scb *)(x)) -#define WSWAPcmd(x) x -#define WSWAPtbd(x) x -#define WSWAPchar(x) x +#define WSWAPrfd(x) ((struct i596_rfd *)(x)) +#define WSWAPrbd(x) ((struct i596_rbd *)(x)) +#define WSWAPiscp(x) ((struct i596_iscp *)(x)) +#define WSWAPscb(x) ((struct i596_scb *)(x)) +#define WSWAPcmd(x) ((struct i596_cmd *)(x)) +#define WSWAPtbd(x) ((struct i596_tbd *)(x)) +#define WSWAPchar(x) ((char *)(x)) #define ISCP_BUSY 0x0001 #define MACH_IS_APRICOT 1 #endif @@ -103,27 +144,24 @@ #define PORT_ALTSCP 0x02 /* alternate SCB address */ #define PORT_ALTDUMP 0x03 /* Alternate DUMP address */ -#ifndef HAVE_PORTRESERVE -#define check_region(addr, size) 0 -#define request_region(addr, size,name) do ; while(0) -#endif +static int i596_debug = (DEB_SERIOUS|DEB_PROBE); -#ifndef HAVE_ALLOC_SKB -#define alloc_skb(size, priority) (struct sk_buff *) kmalloc(size,priority) -#define kfree_skbmem(buff, size) kfree_s(buff,size) -#endif +MODULE_AUTHOR("Richard Hirst"); +MODULE_DESCRIPTION("i82596 driver"); +MODULE_PARM(i596_debug, "i"); -#define APRICOT_DEBUG 2 -#ifdef APRICOT_DEBUG -int i596_debug = APRICOT_DEBUG; -#else -int i596_debug = 1; -#endif +/* Copy frames shorter than rx_copybreak, otherwise pass on up in + * a full sized sk_buff. Value of 100 stolen from tulip.c (!alpha). + */ +static int rx_copybreak = 100; + +#define PKT_BUF_SZ 1536 +#define MAX_MC_CNT 64 #define I596_TOTAL_SIZE 17 -#define I596_NULL -1 +#define I596_NULL ((void *)0xffffffff) #define CMD_EOL 0x8000 /* The last command of the list, stop. */ #define CMD_SUSP 0x4000 /* Suspend after doing cmd. */ @@ -156,12 +194,6 @@ unsigned long ca; }; -struct i596_cmd { - unsigned short status; - unsigned short command; - struct i596_cmd *next; -}; - #define EOF 0x8000 #define SIZE_MASK 0x3fff @@ -172,6 +204,23 @@ char *data; }; +/* The command structure has two 'next' pointers; v_next is the address of + * the next command as seen by the CPU, b_next is the address of the next + * command as seen by the 82596. The b_next pointer, as used by the 82596 + * always references the status field of the next command, rather than the + * v_next field, because the 82596 is unaware of v_next. It may seem more + * logical to put v_next at the end of the structure, but we cannot do that + * because the 82596 expects other fields to be there, depending on command + * type. + */ + +struct i596_cmd { + struct i596_cmd *v_next; /* Address from CPUs viewpoint */ + unsigned short status; + unsigned short command; + struct i596_cmd *b_next; /* Address from i596 viewpoint */ +}; + struct tx_cmd { struct i596_cmd cmd; struct i596_tbd *tbd; @@ -180,16 +229,53 @@ struct sk_buff *skb; /* So we can free it after tx */ }; +struct tdr_cmd { + struct i596_cmd cmd; + unsigned short status; + unsigned short pad; +}; + +struct mc_cmd { + struct i596_cmd cmd; + short mc_cnt; + char mc_addrs[MAX_MC_CNT*6]; +}; + +struct sa_cmd { + struct i596_cmd cmd; + char eth_addr[8]; +}; + +struct cf_cmd { + struct i596_cmd cmd; + char i596_config[16]; +}; + struct i596_rfd { unsigned short stat; unsigned short cmd; - struct i596_rfd *next; - long rbd; + struct i596_rfd *b_next; /* Address from i596 viewpoint */ + struct i596_rbd *rbd; unsigned short count; unsigned short size; - char data[1532]; + struct i596_rfd *v_next; /* Address from CPUs viewpoint */ + struct i596_rfd *v_prev; +}; + +struct i596_rbd { + unsigned short count; + unsigned short zero1; + struct i596_rbd *b_next; + unsigned char *b_data; /* Address from i596 viewpoint */ + unsigned short size; + unsigned short zero2; + struct sk_buff *skb; + struct i596_rbd *v_next; + struct i596_rbd *b_addr; /* This rbd addr from i596 view */ + unsigned char *v_data; /* Address from CPUs viewpoint */ }; +#define TX_RING_SIZE 64 #define RX_RING_SIZE 16 struct i596_scb { @@ -222,19 +308,24 @@ volatile struct i596_scp scp; volatile struct i596_iscp iscp; volatile struct i596_scb scb; - struct i596_cmd set_add; - char eth_addr[8]; - struct i596_cmd set_conf; - char i596_config[16]; - struct i596_cmd tdr; + struct sa_cmd sa_cmd; + struct cf_cmd cf_cmd; + struct tdr_cmd tdr_cmd; + struct mc_cmd mc_cmd; unsigned long stat; int last_restart __attribute__((aligned(4))); - struct i596_rfd *rx_tail; + struct i596_rfd *rfd_head; + struct i596_rbd *rbd_head; struct i596_cmd *cmd_tail; struct i596_cmd *cmd_head; int cmd_backlog; unsigned long last_cmd; struct net_device_stats stats; + struct i596_rfd rfds[RX_RING_SIZE]; + struct i596_rbd rbds[RX_RING_SIZE]; + struct tx_cmd tx_cmds[TX_RING_SIZE]; + struct i596_tbd tbds[TX_RING_SIZE]; + int next_tx_cmd; }; char init_setup[] = @@ -264,26 +355,29 @@ static int i596_close(struct device *dev); static struct net_device_stats *i596_get_stats(struct device *dev); static void i596_add_cmd(struct device *dev, struct i596_cmd *cmd); -static void print_eth(char *); +static void print_eth(unsigned char *buf, char *str); static void set_multicast_list(struct device *dev); +static int rx_ring_size = RX_RING_SIZE; static int ticks_limit = 25; -static int max_cmd_backlog = 16; +static int max_cmd_backlog = TX_RING_SIZE-1; static inline void CA(struct device *dev) { -#ifdef CONFIG_MVME16x_NET +#ifdef ENABLE_MVME16x_NET if (MACH_IS_MVME16x) { ((struct i596_reg *) dev->base_addr)->ca = 1; } #endif -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET if (MACH_IS_BVME6000) { - volatile u32 i = *(volatile u32 *) (dev->base_addr); + volatile u32 i; + + i = *(volatile u32 *) (dev->base_addr); } #endif -#ifdef CONFIG_APRICOT +#ifdef ENABLE_APRICOT if (MACH_IS_APRICOT) { outw(0, (short) (dev->base_addr) + 4); } @@ -293,14 +387,14 @@ static inline void MPU_PORT(struct device *dev, int c, volatile void *x) { -#ifdef CONFIG_MVME16x_NET +#ifdef ENABLE_MVME16x_NET if (MACH_IS_MVME16x) { struct i596_reg *p = (struct i596_reg *) (dev->base_addr); p->porthi = ((c) | (u32) (x)) & 0xffff; p->portlo = ((c) | (u32) (x)) >> 16; } #endif -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET if (MACH_IS_BVME6000) { u32 v = (u32) (c) | (u32) (x); v = ((u32) (v) << 16) | ((u32) (v) >> 16); @@ -312,103 +406,203 @@ } -#if defined(CONFIG_MVME16x_NET) || defined(CONFIG_BVME6000_NET) -static void i596_error(int irq, void *dev_id, struct pt_regs *regs) +static inline int wait_istat(struct device *dev, struct i596_private *lp, int delcnt, char *str) { - struct device *dev = dev_id; - struct i596_cmd *cmd; + while (--delcnt && lp->iscp.stat) + udelay(10); + if (!delcnt) { + printk("%s: %s, status %4.4x, cmd %4.4x.\n", + dev->name, str, lp->scb.status, lp->scb.command); + return -1; + } + else + return 0; +} - struct i596_private *lp = (struct i596_private *) dev->priv; - printk("i596_error: lp = 0x%08x\n", (u32) lp); - printk("scp at %08x, .sysbus = %08x, .iscp = %08x\n", - (u32) & lp->scp, (u32) lp->scp.sysbus, (u32) lp->scp.iscp); - printk("iscp at %08x, .stat = %08x, .scb = %08x\n", - (u32) & lp->iscp, (u32) lp->iscp.stat, (u32) lp->iscp.scb); - printk("scb at %08x, .status = %04x, .command = %04x\n", - (u32) & lp->scb, lp->scb.status, lp->scb.command); - printk(" .cmd = %08x, .rfd = %08x\n", (u32) lp->scb.cmd, - (u32) lp->scb.rfd); - cmd = WSWAPcmd(lp->scb.cmd); - while (cmd && (u32) cmd < 0x1000000) { - printk("cmd at %08x, .status = %04x, .command = %04x, .next = %08x\n", - (u32) cmd, cmd->status, cmd->command, (u32) cmd->next); - cmd = WSWAPcmd(cmd->next); + +static inline int wait_cmd(struct device *dev, struct i596_private *lp, int delcnt, char *str) +{ + while (--delcnt && lp->scb.command) + udelay(10); + if (!delcnt) { + printk("%s: %s, status %4.4x, cmd %4.4x.\n", + dev->name, str, lp->scb.status, lp->scb.command); + return -1; } - while (1); + else + return 0; } -#endif -static inline int init_rx_bufs(struct device *dev, int num) + +static void i596_display_data(struct device *dev) { struct i596_private *lp = (struct i596_private *) dev->priv; - int i; + struct i596_cmd *cmd; struct i596_rfd *rfd; + struct i596_rbd *rbd; + + printk("lp and scp at %p, .sysbus = %08lx, .iscp = %p\n", + &lp->scp, lp->scp.sysbus, lp->scp.iscp); + printk("iscp at %p, iscp.stat = %08lx, .scb = %p\n", + &lp->iscp, lp->iscp.stat, lp->iscp.scb); + printk("scb at %p, scb.status = %04x, .command = %04x," + " .cmd = %p, .rfd = %p\n", + &lp->scb, lp->scb.status, lp->scb.command, + lp->scb.cmd, lp->scb.rfd); + printk(" errors: crc %lx, align %lx, resource %lx," + " over %lx, rcvdt %lx, short %lx\n", + lp->scb.crc_err, lp->scb.align_err, lp->scb.resource_err, + lp->scb.over_err, lp->scb.rcvdt_err, lp->scb.short_err); + cmd = lp->cmd_head; + while (cmd != I596_NULL) { + printk("cmd at %p, .status = %04x, .command = %04x, .b_next = %p\n", + cmd, cmd->status, cmd->command, cmd->b_next); + cmd = cmd->v_next; + } + rfd = lp->rfd_head; + printk("rfd_head = %p\n", rfd); + do { + printk (" %p .stat %04x, .cmd %04x, b_next %p, rbd %p," + " count %04x\n", + rfd, rfd->stat, rfd->cmd, rfd->b_next, rfd->rbd, + rfd->count); + rfd = rfd->v_next; + } while (rfd != lp->rfd_head); + rbd = lp->rbd_head; + printk("rbd_head = %p\n", rbd); + do { + printk(" %p .count %04x, b_next %p, b_data %p, size %04x\n", + rbd, rbd->count, rbd->b_next, rbd->b_data, rbd->size); + rbd = rbd->v_next; + } while (rbd != lp->rbd_head); +} - lp->scb.rfd = (struct i596_rfd *) I596_NULL; - if (i596_debug > 1) - printk("%s: init_rx_bufs %d.\n", dev->name, num); +#if defined(ENABLE_MVME16x_NET) || defined(ENABLE_BVME6000_NET) +static void i596_error(int irq, void *dev_id, struct pt_regs *regs) +{ + struct device *dev = dev_id; + volatile unsigned char *pcc2 = (unsigned char *) 0xfff42000; - for (i = 0; i < num; i++) { - if (!(rfd = (struct i596_rfd *) kmalloc(sizeof(struct i596_rfd), GFP_KERNEL))) - break; + pcc2[0x28] = 1; + pcc2[0x2b] = 0x1d; + printk("%s: Error interrupt\n", dev->name); + i596_display_data(dev); +} +#endif - rfd->stat = 0x0000; - rfd->rbd = I596_NULL; - rfd->count = 0; - rfd->size = 1532; - if (i == 0) { - rfd->cmd = CMD_EOL; - lp->rx_tail = rfd; - } else - rfd->cmd = 0x0000; +static inline void init_rx_bufs(struct device *dev) +{ + struct i596_private *lp = (struct i596_private *)dev->priv; + int i; + struct i596_rfd *rfd; + struct i596_rbd *rbd; + + /* First build the Receive Buffer Descriptor List */ + + for (i = 0, rbd = lp->rbds; i < rx_ring_size; i++, rbd++) { + struct sk_buff *skb = dev_alloc_skb(PKT_BUF_SZ); - rfd->next = lp->scb.rfd; - lp->scb.rfd = WSWAPrfd(rfd); + if (skb == NULL) + panic("82596: alloc_skb() failed"); + skb->dev = dev; + rbd->v_next = rbd+1; + rbd->b_next = WSWAPrbd(virt_to_bus(rbd+1)); + rbd->b_addr = WSWAPrbd(virt_to_bus(rbd)); + rbd->skb = skb; + rbd->v_data = skb->tail; + rbd->b_data = WSWAPchar(virt_to_bus(skb->tail)); + rbd->size = PKT_BUF_SZ; +#ifdef __mc68000__ + cache_clear(virt_to_phys(skb->tail), PKT_BUF_SZ); +#endif } + lp->rbd_head = lp->rbds; + rbd = lp->rbds + rx_ring_size - 1; + rbd->v_next = lp->rbds; + rbd->b_next = WSWAPrbd(virt_to_bus(lp->rbds)); - if (i != 0) - lp->rx_tail->next = lp->scb.rfd; + /* Now build the Receive Frame Descriptor List */ - return (i); + for (i = 0, rfd = lp->rfds; i < rx_ring_size; i++, rfd++) { + rfd->rbd = I596_NULL; + rfd->v_next = rfd+1; + rfd->v_prev = rfd-1; + rfd->b_next = WSWAPrfd(virt_to_bus(rfd+1)); + rfd->cmd = CMD_FLEX; + } + lp->rfd_head = lp->rfds; + lp->scb.rfd = WSWAPrfd(virt_to_bus(lp->rfds)); + rfd = lp->rfds; + rfd->rbd = lp->rbd_head; + rfd->v_prev = lp->rfds + rx_ring_size - 1; + rfd = lp->rfds + rx_ring_size - 1; + rfd->v_next = lp->rfds; + rfd->b_next = WSWAPrfd(virt_to_bus(lp->rfds)); + rfd->cmd = CMD_EOL|CMD_FLEX; } static inline void remove_rx_bufs(struct device *dev) { + struct i596_private *lp = (struct i596_private *)dev->priv; + struct i596_rbd *rbd; + int i; + + for (i = 0, rbd = lp->rbds; i < rx_ring_size; i++, rbd++) { + if (rbd->skb == NULL) + break; + dev_kfree_skb(rbd->skb); + } +} + + +static void rebuild_rx_bufs(struct device *dev) +{ struct i596_private *lp = (struct i596_private *) dev->priv; - struct i596_rfd *rfd = WSWAPrfd(lp->scb.rfd); + int i; - lp->rx_tail->next = (struct i596_rfd *) I596_NULL; + /* Ensure rx frame/buffer descriptors are tidy */ - do { - lp->scb.rfd = rfd->next; - kfree(rfd); - rfd = WSWAPrfd(lp->scb.rfd); - } - while (rfd != lp->rx_tail); + for (i = 0; i < rx_ring_size; i++) { + lp->rfds[i].rbd = I596_NULL; + lp->rfds[i].cmd = CMD_FLEX; + } + lp->rfds[rx_ring_size-1].cmd = CMD_EOL|CMD_FLEX; + lp->rfd_head = lp->rfds; + lp->scb.rfd = WSWAPrfd(virt_to_bus(lp->rfds)); + lp->rbd_head = lp->rbds; + lp->rfds[0].rbd = WSWAPrbd(virt_to_bus(lp->rbds)); } -static inline void init_i596_mem(struct device *dev) + +static int init_i596_mem(struct device *dev) { struct i596_private *lp = (struct i596_private *) dev->priv; -#if !defined(CONFIG_MVME16x_NET) && !defined(CONFIG_BVME6000_NET) +#if !defined(ENABLE_MVME16x_NET) && !defined(ENABLE_BVME6000_NET) short ioaddr = dev->base_addr; #endif - int boguscnt = 100000; unsigned long flags; -#if defined(CONFIG_MVME16x_NET) || defined(CONFIG_BVME6000_NET) -#ifdef CONFIG_MVME16x_NET + MPU_PORT(dev, PORT_RESET, 0); + + udelay(100); /* Wait 100us - seems to help */ + +#if defined(ENABLE_MVME16x_NET) || defined(ENABLE_BVME6000_NET) +#ifdef ENABLE_MVME16x_NET if (MACH_IS_MVME16x) { volatile unsigned char *pcc2 = (unsigned char *) 0xfff42000; /* Disable all ints for now */ pcc2[0x28] = 1; - pcc2[0x2a] = 0x40; - pcc2[0x2b] = 0x40; /* Set snooping bits now! */ + pcc2[0x2a] = 0x48; + /* Following disables snooping. Snooping is not required + * as we make appropriate use of non-cached pages for + * shared data, and cache_push/cache_clear. + */ + pcc2[0x2b] = 0x08; } #endif -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET if (MACH_IS_BVME6000) { volatile unsigned char *ethirq = (unsigned char *) BVME_ETHIRQ_REG; @@ -416,74 +610,72 @@ } #endif - MPU_PORT(dev, PORT_RESET, 0); - - udelay(100); /* Wait 100us - seems to help */ - /* change the scp address */ - MPU_PORT(dev, PORT_ALTSCP, &lp->scp); + MPU_PORT(dev, PORT_ALTSCP, (void *)virt_to_bus(&lp->scp)); -#else +#elif defined(ENABLE_APRICOT) - /* change the scp address */ - outw(0, ioaddr); - outw(0, ioaddr); - outb(4, ioaddr + 0xf); - outw(((((int) &lp->scp) & 0xffff) | 2), ioaddr); - outw((((int) &lp->scp) >> 16) & 0xffff, ioaddr); + { + u32 scp = virt_to_bus(&lp->scp); + + /* change the scp address */ + outw(0, ioaddr); + outw(0, ioaddr); + outb(4, ioaddr + 0xf); + outw(scp | 2, ioaddr); + outw(scp >> 16, ioaddr); + } #endif lp->last_cmd = jiffies; -#ifdef CONFIG_MVME16x_NET +#ifdef ENABLE_MVME16x_NET if (MACH_IS_MVME16x) lp->scp.sysbus = 0x00000054; #endif -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET if (MACH_IS_BVME6000) lp->scp.sysbus = 0x0000004c; #endif -#ifdef CONFIG_APRICOT +#ifdef ENABLE_APRICOT if (MACH_IS_APRICOT) lp->scp.sysbus = 0x00440000; #endif - lp->scp.iscp = WSWAPiscp(&(lp->iscp)); - lp->iscp.scb = WSWAPscb(&(lp->scb)); + lp->scp.iscp = WSWAPiscp(virt_to_bus(&(lp->iscp))); + lp->iscp.scb = WSWAPscb(virt_to_bus(&(lp->scb))); lp->iscp.stat = ISCP_BUSY; lp->cmd_backlog = 0; - lp->cmd_head = lp->scb.cmd = (struct i596_cmd *) I596_NULL; + lp->cmd_head = lp->scb.cmd = I596_NULL; - if (i596_debug > 1) - printk("%s: starting i82596.\n", dev->name); + DEB(DEB_INIT,printk("%s: starting i82596.\n", dev->name)); -#if !defined(CONFIG_MVME16x_NET) && !defined(CONFIG_BVME6000_NET) +#if defined(ENABLE_APRICOT) (void) inb(ioaddr + 0x10); outb(4, ioaddr + 0xf); #endif CA(dev); - while (lp->iscp.stat) - if (--boguscnt == 0) { - printk("%s: i82596 initialization timed out with status %4.4x, cmd %4.4x.\n", - dev->name, lp->scb.status, lp->scb.command); - break; - } + if (wait_istat(dev,lp,1000,"initialization timed out")) + goto failed; + DEB(DEB_INIT,printk("%s: i82596 initialization successful\n", dev->name)); + + /* Ensure rx frame/buffer descriptors are tidy */ + rebuild_rx_bufs(dev); lp->scb.command = 0; -#ifdef CONFIG_MVME16x_NET +#ifdef ENABLE_MVME16x_NET if (MACH_IS_MVME16x) { volatile unsigned char *pcc2 = (unsigned char *) 0xfff42000; /* Enable ints, etc. now */ - pcc2[0x2a] = 0x08; pcc2[0x2a] = 0x55; /* Edge sensitive */ - pcc2[0x2b] = 0x55; + pcc2[0x2b] = 0x15; } #endif -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET if (MACH_IS_BVME6000) { volatile unsigned char *ethirq = (unsigned char *) BVME_ETHIRQ_REG; @@ -491,77 +683,131 @@ } #endif - memcpy(lp->i596_config, init_setup, 14); - lp->set_conf.command = CmdConfigure; - i596_add_cmd(dev, &lp->set_conf); - - memcpy(lp->eth_addr, dev->dev_addr, 6); - lp->set_add.command = CmdSASetup; - i596_add_cmd(dev, &lp->set_add); - lp->tdr.command = CmdTDR; - i596_add_cmd(dev, &lp->tdr); + DEB(DEB_INIT,printk("%s: queuing CmdConfigure\n", dev->name)); + memcpy(lp->cf_cmd.i596_config, init_setup, 14); + lp->cf_cmd.cmd.command = CmdConfigure; + i596_add_cmd(dev, &lp->cf_cmd.cmd); + + DEB(DEB_INIT,printk("%s: queuing CmdSASetup\n", dev->name)); + memcpy(lp->sa_cmd.eth_addr, dev->dev_addr, 6); + lp->sa_cmd.cmd.command = CmdSASetup; + i596_add_cmd(dev, &lp->sa_cmd.cmd); + + DEB(DEB_INIT,printk("%s: queuing CmdTDR\n", dev->name)); + lp->tdr_cmd.cmd.command = CmdTDR; + i596_add_cmd(dev, &lp->tdr_cmd.cmd); - boguscnt = 200000; save_flags(flags); cli(); - while (lp->scb.command) - if (--boguscnt == 0) { - printk("%s: receive unit start timed out with status %4.4x, cmd %4.4x.\n", - dev->name, lp->scb.status, lp->scb.command); - break; - } + if (wait_cmd(dev,lp,1000,"timed out waiting to issue RX_START")) + goto failed; + DEB(DEB_INIT,printk("%s: Issuing RX_START\n", dev->name)); lp->scb.command = RX_START; CA(dev); restore_flags(flags); - boguscnt = 2000; - while (lp->scb.command) - if (--boguscnt == 0) { - printk("i82596 init timed out with status %4.4x, cmd %4.4x.\n", - lp->scb.status, lp->scb.command); - break; - } - return; + if (wait_cmd(dev,lp,1000,"RX_START not processed")) + goto failed; + DEB(DEB_INIT,printk("%s: Receive unit started OK\n", dev->name)); + return 0; + +failed: + printk("%s: Failed to initialise 82596\n", dev->name); + MPU_PORT(dev, PORT_RESET, 0); + return -1; } static inline int i596_rx(struct device *dev) { - struct i596_private *lp = (struct i596_private *) dev->priv; + struct i596_private *lp = (struct i596_private *)dev->priv; struct i596_rfd *rfd; + struct i596_rbd *rbd; int frames = 0; - if (i596_debug > 3) - printk("i596_rx()\n"); - - rfd = WSWAPrfd(lp->scb.rfd); /* Reference next frame descriptor to check */ + DEB(DEB_RXFRAME,printk ("i596_rx(), rfd_head %p, rbd_head %p\n", + lp->rfd_head, lp->rbd_head)); - while ((rfd->stat) & STAT_C) { /* Loop while we have complete frames */ - if (i596_debug > 2) - print_eth(rfd->data); + rfd = lp->rfd_head; /* Ref next frame to check */ - if ((rfd->stat) & STAT_OK) { + while ((rfd->stat) & STAT_C) { /* Loop while complete frames */ + if (rfd->rbd == I596_NULL) + rbd = I596_NULL; + else if (rfd->rbd == lp->rbd_head->b_addr) + rbd = lp->rbd_head; + else { + printk("%s: rbd chain broken!\n", dev->name); + /* XXX Now what? */ + rbd = I596_NULL; + } + DEB(DEB_RXFRAME, printk(" rfd %p, rfd.rbd %p, rfd.stat %04x\n", + rfd, rfd->rbd, rfd->stat)); + + if (rbd != I596_NULL && ((rfd->stat) & STAT_OK)) { /* a good frame */ - int pkt_len = rfd->count & 0x3fff; - struct sk_buff *skb = dev_alloc_skb(pkt_len); + int pkt_len = rbd->count & 0x3fff; + struct sk_buff *skb = rbd->skb; + int rx_in_place = 0; + DEB(DEB_RXADDR,print_eth(rbd->v_data, "received")); frames++; + /* Check if the packet is long enough to just accept + * without copying to a properly sized skbuff. + */ + + if (pkt_len > rx_copybreak) { + struct sk_buff *newskb; + + /* Get fresh skbuff to replace filled one. */ + newskb = dev_alloc_skb(PKT_BUF_SZ); + if (newskb == NULL) { + skb = NULL; /* drop pkt */ + goto memory_squeeze; + } + /* Pass up the skb already on the Rx ring. */ + skb_put(skb, pkt_len); + rx_in_place = 1; + rbd->skb = newskb; + newskb->dev = dev; + rbd->v_data = newskb->tail; + rbd->b_data = WSWAPchar(virt_to_bus(newskb->tail)); +#ifdef __mc68000__ + cache_clear(virt_to_phys(newskb->tail), PKT_BUF_SZ); +#endif + } + else + skb = dev_alloc_skb(pkt_len + 2); +memory_squeeze: if (skb == NULL) { - printk("%s: i596_rx Memory squeeze, dropping packet.\n", dev->name); + /* XXX tulip.c can defer packets here!! */ + printk ("%s: i596_rx Memory squeeze, dropping packet.\n", dev->name); lp->stats.rx_dropped++; - } else { + } + else { skb->dev = dev; - memcpy(skb_put(skb, pkt_len), rfd->data, pkt_len); - skb->protocol = eth_type_trans(skb, dev); + if (!rx_in_place) { + /* 16 byte align the data fields */ + skb_reserve(skb, 2); + memcpy(skb_put(skb,pkt_len), rbd->v_data, pkt_len); + } + skb->protocol=eth_type_trans(skb,dev); + skb->len = pkt_len; +#ifdef __mc68000__ + cache_clear(virt_to_phys(rbd->skb->tail), + pkt_len); +#endif netif_rx(skb); lp->stats.rx_packets++; - lp->stats.rx_bytes += pkt_len; + lp->stats.rx_bytes+=pkt_len; } - } else { + } + else { + DEB(DEB_ERRORS, printk("%s: Error, rfd.stat = 0x%04x\n", + dev->name, rfd->stat)); lp->stats.rx_errors++; if ((rfd->stat) & 0x0001) lp->stats.collisions++; @@ -581,33 +827,42 @@ /* Clear the buffer descriptor count and EOF + F flags */ + if (rbd != I596_NULL && (rbd->count & 0x4000)) { + rbd->count = 0; + lp->rbd_head = rbd->v_next; + } + + /* Tidy the frame descriptor, marking it as end of list */ + + rfd->rbd = I596_NULL; rfd->stat = 0; + rfd->cmd = CMD_EOL|CMD_FLEX; rfd->count = 0; - rfd->cmd = CMD_EOL; - lp->rx_tail->cmd = 0; - lp->rx_tail = rfd; - lp->scb.rfd = rfd->next; - rfd = WSWAPrfd(lp->scb.rfd); /* Next frame descriptor to check */ + + /* Remove end-of-list from old end descriptor */ + + rfd->v_prev->cmd = CMD_FLEX; + + /* Update record of next frame descriptor to process */ + + lp->scb.rfd = rfd->b_next; + lp->rfd_head = rfd->v_next; + rfd = lp->rfd_head; } - if (i596_debug > 3) - printk("frames %d\n", frames); + DEB(DEB_RXFRAME,printk ("frames %d\n", frames)); return 0; } -static inline void i596_cleanup_cmd(struct i596_private *lp) + +static inline void i596_cleanup_cmd(struct device *dev, struct i596_private *lp) { struct i596_cmd *ptr; - int boguscnt = 1000; - - if (i596_debug > 4) - printk("i596_cleanup_cmd\n"); - while (lp->cmd_head != (struct i596_cmd *) I596_NULL) { + while (lp->cmd_head != I596_NULL) { ptr = lp->cmd_head; - - lp->cmd_head = WSWAPcmd(lp->cmd_head->next); + lp->cmd_head = ptr->v_next; lp->cmd_backlog--; switch ((ptr->command) & 0x7) { @@ -621,47 +876,29 @@ lp->stats.tx_errors++; lp->stats.tx_aborted_errors++; - ptr->next = (struct i596_cmd *) I596_NULL; - kfree(tx_cmd); - break; - } - case CmdMulticastList: - { - ptr->next = (struct i596_cmd *) I596_NULL; - kfree(ptr); + ptr->v_next = ptr->b_next = I596_NULL; + tx_cmd->cmd.command = 0; /* Mark as free */ break; } default: - ptr->next = (struct i596_cmd *) I596_NULL; + ptr->v_next = ptr->b_next = I596_NULL; } } - while (lp->scb.command) - if (--boguscnt == 0) { - printk("i596_cleanup_cmd timed out with status %4.4x, cmd %4.4x.\n", - lp->scb.status, lp->scb.command); - break; - } - lp->scb.cmd = WSWAPcmd(lp->cmd_head); + wait_cmd(dev,lp,100,"i596_cleanup_cmd timed out"); + lp->scb.cmd = I596_NULL; } static inline void i596_reset(struct device *dev, struct i596_private *lp, int ioaddr) { - int boguscnt = 1000; unsigned long flags; - if (i596_debug > 1) - printk("i596_reset\n"); + DEB(DEB_RESET,printk("i596_reset\n")); save_flags(flags); cli(); - while (lp->scb.command) - if (--boguscnt == 0) { - printk("i596_reset timed out with status %4.4x, cmd %4.4x.\n", - lp->scb.status, lp->scb.command); - break; - } + wait_cmd(dev,lp,100,"i596_reset timed out"); dev->start = 0; dev->tbusy = 1; @@ -669,17 +906,10 @@ CA(dev); /* wait for shutdown */ - boguscnt = 4000; - - while (lp->scb.command) - if (--boguscnt == 0) { - printk("i596_reset 2 timed out with status %4.4x, cmd %4.4x.\n", - lp->scb.status, lp->scb.command); - break; - } + wait_cmd(dev,lp,1000,"i596_reset 2 timed out"); restore_flags(flags); - i596_cleanup_cmd(lp); + i596_cleanup_cmd(dev,lp); i596_rx(dev); dev->start = 1; @@ -693,14 +923,12 @@ struct i596_private *lp = (struct i596_private *) dev->priv; int ioaddr = dev->base_addr; unsigned long flags; - int boguscnt = 1000; - if (i596_debug > 4) - printk("i596_add_cmd\n"); + DEB(DEB_ADDCMD,printk("i596_add_cmd\n")); cmd->status = 0; cmd->command |= (CMD_EOL | CMD_INTR); - cmd->next = (struct i596_cmd *) I596_NULL; + cmd->v_next = cmd->b_next = I596_NULL; save_flags(flags); cli(); @@ -714,24 +942,19 @@ * the CU. */ - if (lp->cmd_head != (struct i596_cmd *) I596_NULL) { - lp->cmd_tail->next = WSWAPcmd(cmd); + if (lp->cmd_head != I596_NULL) { + lp->cmd_tail->v_next = cmd; + lp->cmd_tail->b_next = WSWAPcmd(virt_to_bus(&cmd->status)); } else { lp->cmd_head = cmd; - while (lp->scb.command) - if (--boguscnt == 0) { - printk("i596_add_cmd timed out with status %4.4x, cmd %4.4x.\n", - lp->scb.status, lp->scb.command); - break; - } - lp->scb.cmd = WSWAPcmd(cmd); + wait_cmd(dev,lp,100,"i596_add_cmd timed out"); + lp->scb.cmd = WSWAPcmd(virt_to_bus(&cmd->status)); lp->scb.command = CUC_START; CA(dev); } lp->cmd_tail = cmd; lp->cmd_backlog++; - lp->cmd_head = WSWAPcmd(lp->scb.cmd); /* Is this redundant? RGH 300597 */ restore_flags(flags); if (lp->cmd_backlog > max_cmd_backlog) { @@ -748,35 +971,34 @@ static int i596_open(struct device *dev) { - int i; + int res = 0; - if (i596_debug > 1) - printk("%s: i596_open() irq %d.\n", dev->name, dev->irq); + DEB(DEB_OPEN,printk("%s: i596_open() irq %d.\n", dev->name, dev->irq)); - if (request_irq(dev->irq, &i596_interrupt, 0, "apricot", dev)) + if (request_irq(dev->irq, &i596_interrupt, 0, "i82596", dev)) { + printk("%s: IRQ %d not free\n", dev->name, dev->irq); return -EAGAIN; -#ifdef CONFIG_MVME16x_NET + } +#ifdef ENABLE_MVME16x_NET if (MACH_IS_MVME16x) { - if (request_irq(0x56, &i596_error, 0, "apricot_error", dev)) + if (request_irq(0x56, &i596_error, 0, "i82596_error", dev)) return -EAGAIN; } #endif - if ((i = init_rx_bufs(dev, RX_RING_SIZE)) < RX_RING_SIZE) - printk("%s: only able to allocate %d receive buffers\n", dev->name, i); + init_rx_bufs(dev); - if (i < 4) { - free_irq(dev->irq, dev); - return -EAGAIN; - } dev->tbusy = 0; dev->interrupt = 0; dev->start = 1; MOD_INC_USE_COUNT; /* Initialize the 82596 memory */ - init_i596_mem(dev); + if (init_i596_mem(dev)) { + res = -EAGAIN; + free_irq(dev->irq, dev); + } - return 0; /* Always succeed */ + return res; } static int i596_start_xmit(struct sk_buff *skb, struct device *dev) @@ -784,29 +1006,27 @@ struct i596_private *lp = (struct i596_private *) dev->priv; int ioaddr = dev->base_addr; struct tx_cmd *tx_cmd; - - if (i596_debug > 2) - printk("%s: 82596 start xmit\n", dev->name); + struct i596_tbd *tbd; /* Transmitter timeout, serious problems. */ if (dev->tbusy) { int tickssofar = jiffies - dev->trans_start; if (tickssofar < 5) return 1; - printk("%s: transmit timed out, status resetting.\n", - dev->name); + DEB(DEB_SERIOUS,printk("%s: transmit timed out, status resetting.\n", + dev->name)); lp->stats.tx_errors++; /* Try to restart the adaptor */ if (lp->last_restart == lp->stats.tx_packets) { - if (i596_debug > 1) - printk("Resetting board.\n"); + DEB(DEB_SERIOUS,printk("%s: Resetting board.\n", + dev->name)); /* Shutdown and restart */ i596_reset(dev, lp, ioaddr); } else { /* Issue a channel attention signal */ - if (i596_debug > 1) - printk("Kicking board.\n"); + DEB(DEB_SERIOUS,printk("%s: Kicking board.\n", + dev->name)); lp->scb.command = CUC_START | RX_START; CA(dev); lp->last_restart = lp->stats.tx_packets; @@ -814,8 +1034,8 @@ dev->tbusy = 0; dev->trans_start = jiffies; } - if (i596_debug > 3) - printk("%s: i596_start_xmit() called\n", dev->name); + DEB(DEB_STARTTX,printk("%s: i596_start_xmit(%x,%x) called\n", dev->name, + skb->len, (unsigned int)skb->data)); /* Block a timer-based transmit from overlapping. This could better be done with atomic_swap(1, dev->tbusy), but set_bit() works as well. */ @@ -825,16 +1045,20 @@ short length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN; dev->trans_start = jiffies; - tx_cmd = (struct tx_cmd *) kmalloc((sizeof(struct tx_cmd) + sizeof(struct i596_tbd)), GFP_ATOMIC); - if (tx_cmd == NULL) { - printk("%s: i596_xmit Memory squeeze, dropping packet.\n", dev->name); + tx_cmd = lp->tx_cmds + lp->next_tx_cmd; + tbd = lp->tbds + lp->next_tx_cmd; + + if (tx_cmd->cmd.command) { + DEB(DEB_ERRORS,printk ("%s: xmit ring full, dropping packet.\n", + dev->name)); lp->stats.tx_dropped++; dev_kfree_skb(skb); } else { - struct i596_tbd *tbd = (struct i596_tbd *) (tx_cmd + 1); - tx_cmd->tbd = WSWAPtbd(tbd); - tbd->next = (struct i596_tbd *) I596_NULL; + if (++lp->next_tx_cmd == TX_RING_SIZE) + lp->next_tx_cmd = 0; + tx_cmd->tbd = WSWAPtbd(virt_to_bus(tbd)); + tbd->next = I596_NULL; tx_cmd->cmd.command = CMD_FLEX | CmdTx; tx_cmd->skb = skb; @@ -844,11 +1068,13 @@ tbd->pad = 0; tbd->size = EOF | length; - tbd->data = WSWAPchar(skb->data); + tbd->data = WSWAPchar(virt_to_bus(skb->data)); - if (i596_debug > 3) - print_eth(skb->data); - i596_add_cmd(dev, (struct i596_cmd *) tx_cmd); +#ifdef __mc68000__ + cache_push(virt_to_phys(skb->data), length); +#endif + DEB(DEB_TXADDR,print_eth(skb->data, "tx-queued")); + i596_add_cmd(dev, &tx_cmd->cmd); lp->stats.tx_packets++; lp->stats.tx_bytes += length; @@ -859,23 +1085,18 @@ return 0; } - -static void print_eth(char *add) +static void print_eth(unsigned char *add, char *str) { int i; - printk("print_eth(%08x)\n", (unsigned int) add); - printk("Dest "); + printk("i596 0x%p, ", add); for (i = 0; i < 6; i++) - printk(" %2.2X", (unsigned char) add[i]); - printk("\n"); - - printk("Source"); + printk(" %02X", add[i + 6]); + printk(" -->"); for (i = 0; i < 6; i++) - printk(" %2.2X", (unsigned char) add[i + 6]); - printk("\n"); - printk("type %2.2X%2.2X\n", (unsigned char) add[12], (unsigned char) add[13]); + printk(" %02X", add[i]); + printk(" %02X%02X, %s\n", add[12], add[13], str); } __initfunc(int i82596_probe(struct device *dev)) @@ -883,24 +1104,25 @@ int i; struct i596_private *lp; char eth_addr[6]; + static int probed = 0; -#ifdef CONFIG_MVME16x_NET + if (probed) + return -ENODEV; + probed++; +#ifdef ENABLE_MVME16x_NET if (MACH_IS_MVME16x) { - static int probed = 0; - +#ifdef XXX_FIXME if (mvme16x_config & MVME16x_CONFIG_NO_ETHERNET) { printk("Ethernet probe disabled - chip not present\n"); - return ENODEV; + return -ENODEV; } - if (probed) - return ENODEV; - probed++; +#endif memcpy(eth_addr, (void *) 0xfffc1f2c, 6); /* YUCK! Get addr from NOVRAM */ dev->base_addr = MVME_I596_BASE; dev->irq = (unsigned) MVME16x_IRQ_I596; } #endif -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET if (MACH_IS_BVME6000) { volatile unsigned char *rtc = (unsigned char *) BVME_RTC_BASE; unsigned char msr = rtc[3]; @@ -914,69 +1136,84 @@ dev->irq = (unsigned) BVME_IRQ_I596; } #endif -#ifdef CONFIG_APRICOT - int checksum = 0; - int ioaddr = 0x300; +#ifdef ENABLE_APRICOT + { + int checksum = 0; + int ioaddr = 0x300; - /* this is easy the ethernet interface can only be at 0x300 */ - /* first check nothing is already registered here */ + /* this is easy the ethernet interface can only be at 0x300 */ + /* first check nothing is already registered here */ - if (check_region(ioaddr, I596_TOTAL_SIZE)) - return ENODEV; + if (check_region(ioaddr, I596_TOTAL_SIZE)) { + printk("82596: IO address 0x%04x in use\n", ioaddr); + return -ENODEV; + } - for (i = 0; i < 8; i++) { - eth_addr[i] = inb(ioaddr + 8 + i); - checksum += eth_addr[i]; - } + for (i = 0; i < 8; i++) { + eth_addr[i] = inb(ioaddr + 8 + i); + checksum += eth_addr[i]; + } - /* checksum is a multiple of 0x100, got this wrong first time - some machines have 0x100, some 0x200. The DOS driver doesn't - even bother with the checksum */ + /* checksum is a multiple of 0x100, got this wrong first time + some machines have 0x100, some 0x200. The DOS driver doesn't + even bother with the checksum */ - if (checksum % 0x100) - return ENODEV; + if (checksum % 0x100) + return -ENODEV; - /* Some other boards trip the checksum.. but then appear as ether - address 0. Trap these - AC */ + /* Some other boards trip the checksum.. but then appear as + * ether address 0. Trap these - AC */ - if (memcmp(eth_addr, "\x00\x00\x49", 3) != 0) - return ENODEV; + if (memcmp(eth_addr, "\x00\x00\x49", 3) != 0) + return -ENODEV; - request_region(ioaddr, I596_TOTAL_SIZE, "i596"); + request_region(ioaddr, I596_TOTAL_SIZE, "i596"); - dev->base_addr = ioaddr; - dev->irq = 10; + dev->base_addr = ioaddr; + dev->irq = 10; + } +#endif + dev->mem_start = (int)__get_free_pages(GFP_ATOMIC, 0); + if (!dev->mem_start) { +#ifdef ENABLE_APRICOT + release_region(dev->base_addr, I596_TOTAL_SIZE); #endif + return -ENOMEM; + } + ether_setup(dev); - printk("%s: 82596 at %#3lx,", dev->name, dev->base_addr); + DEB(DEB_PROBE,printk("%s: 82596 at %#3lx,", dev->name, dev->base_addr)); for (i = 0; i < 6; i++) - printk(" %2.2X", dev->dev_addr[i] = eth_addr[i]); + DEB(DEB_PROBE,printk(" %2.2X", dev->dev_addr[i] = eth_addr[i])); - printk(" IRQ %d.\n", dev->irq); + DEB(DEB_PROBE,printk(" IRQ %d.\n", dev->irq)); - if (i596_debug > 0) - printk(version); + DEB(DEB_PROBE,printk(version)); - /* The APRICOT-specific entries in the device structure. */ + /* The 82596-specific entries in the device structure. */ dev->open = &i596_open; dev->stop = &i596_close; dev->hard_start_xmit = &i596_start_xmit; dev->get_stats = &i596_get_stats; dev->set_multicast_list = &set_multicast_list; - dev->mem_start = (int) kmalloc(sizeof(struct i596_private) + 0x0f, GFP_KERNEL); - /* align for scp */ - dev->priv = (void *) ((dev->mem_start + 0xf) & 0xfffffff0); + dev->priv = (void *)(dev->mem_start); lp = (struct i596_private *) dev->priv; - if (i596_debug) - printk("%s: lp at 0x%08lx, lp->scb at 0x%08lx\n" - ,dev->name, (unsigned long) lp, (unsigned long) &lp->scb); + DEB(DEB_INIT,printk ("%s: lp at 0x%08lx (%d bytes), lp->scb at 0x%08lx\n", + dev->name, (unsigned long)lp, + sizeof(struct i596_private), (unsigned long)&lp->scb)); memset((void *) lp, 0, sizeof(struct i596_private)); + +#ifdef __mc68000__ + cache_push(virt_to_phys((void *)(dev->mem_start)), 4096); + cache_clear(virt_to_phys((void *)(dev->mem_start)), 4096); + kernel_set_cachemode((void *)(dev->mem_start), 4096, IOMAP_NOCACHE_SER); +#endif lp->scb.command = 0; - lp->scb.cmd = (struct i596_cmd *) I596_NULL; - lp->scb.rfd = (struct i596_rfd *) I596_NULL; + lp->scb.cmd = I596_NULL; + lp->scb.rfd = I596_NULL; return 0; } @@ -986,10 +1223,9 @@ struct device *dev = dev_id; struct i596_private *lp; short ioaddr; - int boguscnt = 2000; unsigned short status, ack_cmd = 0; -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET if (MACH_IS_BVME6000) { if (*(char *) BVME_LOCAL_IRQ_STAT & BVME_ETHERR) { i596_error(BVME_IRQ_I596, NULL, NULL); @@ -1001,8 +1237,6 @@ printk("i596_interrupt(): irq %d for unknown device.\n", irq); return; } - if (i596_debug > 3) - printk("%s: i596_interrupt(): irq %d\n", dev->name, irq); if (dev->interrupt) printk("%s: Re-entering the interrupt handler.\n", dev->name); @@ -1013,140 +1247,113 @@ lp = (struct i596_private *) dev->priv; - while (lp->scb.command) - if (--boguscnt == 0) { - printk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command); - break; - } + wait_cmd(dev,lp,100,"i596 interrupt, timeout"); status = lp->scb.status; - if (i596_debug > 4) - printk("%s: i596 interrupt, status %4.4x.\n", dev->name, status); + DEB(DEB_INTS,printk("%s: i596 interrupt, IRQ %d, status %4.4x.\n", + dev->name, irq, status)); ack_cmd = status & 0xf000; if ((status & 0x8000) || (status & 0x2000)) { struct i596_cmd *ptr; - if ((i596_debug > 4) && (status & 0x8000)) - printk("%s: i596 interrupt completed command.\n", dev->name); - if ((i596_debug > 4) && (status & 0x2000)) - printk("%s: i596 interrupt command unit inactive %x.\n", dev->name, status & 0x0700); + if ((status & 0x8000)) + DEB(DEB_INTS,printk("%s: i596 interrupt completed command.\n", dev->name)); + if ((status & 0x2000)) + DEB(DEB_INTS,printk("%s: i596 interrupt command unit inactive %x.\n", dev->name, status & 0x0700)); - while ((lp->cmd_head != (struct i596_cmd *) I596_NULL) && (lp->cmd_head->status & STAT_C)) { + while ((lp->cmd_head != I596_NULL) && (lp->cmd_head->status & STAT_C)) { ptr = lp->cmd_head; - if (i596_debug > 2) - printk("cmd_head->status = %04x, ->command = %04x\n", - lp->cmd_head->status, lp->cmd_head->command); - lp->cmd_head = WSWAPcmd(lp->cmd_head->next); + DEB(DEB_STATUS,printk("cmd_head->status = %04x, ->command = %04x\n", + lp->cmd_head->status, lp->cmd_head->command)); + lp->cmd_head = ptr->v_next; lp->cmd_backlog--; switch ((ptr->command) & 0x7) { case CmdTx: - { - struct tx_cmd *tx_cmd = (struct tx_cmd *) ptr; - struct sk_buff *skb = tx_cmd->skb; - - if ((ptr->status) & STAT_OK) { - if (i596_debug > 2) - print_eth(skb->data); - } else { - lp->stats.tx_errors++; - if ((ptr->status) & 0x0020) - lp->stats.collisions++; - if (!((ptr->status) & 0x0040)) - lp->stats.tx_heartbeat_errors++; - if ((ptr->status) & 0x0400) - lp->stats.tx_carrier_errors++; - if ((ptr->status) & 0x0800) - lp->stats.collisions++; - if ((ptr->status) & 0x1000) - lp->stats.tx_aborted_errors++; - } - - dev_kfree_skb(skb); - - ptr->next = (struct i596_cmd *) I596_NULL; - kfree(tx_cmd); - break; - } - case CmdMulticastList: - { - ptr->next = (struct i596_cmd *) I596_NULL; - kfree(ptr); - break; + { + struct tx_cmd *tx_cmd = (struct tx_cmd *) ptr; + struct sk_buff *skb = tx_cmd->skb; + + if ((ptr->status) & STAT_OK) { + DEB(DEB_TXADDR,print_eth(skb->data, "tx-done")); + } else { + lp->stats.tx_errors++; + if ((ptr->status) & 0x0020) + lp->stats.collisions++; + if (!((ptr->status) & 0x0040)) + lp->stats.tx_heartbeat_errors++; + if ((ptr->status) & 0x0400) + lp->stats.tx_carrier_errors++; + if ((ptr->status) & 0x0800) + lp->stats.collisions++; + if ((ptr->status) & 0x1000) + lp->stats.tx_aborted_errors++; } + + dev_kfree_skb(skb); + + tx_cmd->cmd.command = 0; /* Mark free */ + break; + } case CmdTDR: - { - unsigned long status = *((unsigned long *) (ptr + 1)); + { + unsigned short status = ((struct tdr_cmd *)ptr)->status; + + if (status & 0x8000) { + DEB(DEB_ANY,printk("%s: link ok.\n", dev->name)); + } else { + if (status & 0x4000) + printk("%s: Transceiver problem.\n", dev->name); + if (status & 0x2000) + printk("%s: Termination problem.\n", dev->name); + if (status & 0x1000) + printk("%s: Short circuit.\n", dev->name); - if (status & 0x8000) { - if (i596_debug > 3) - printk("%s: link ok.\n", dev->name); - } else { - if (status & 0x4000) - printk("%s: Transceiver problem.\n", dev->name); - if (status & 0x2000) - printk("%s: Termination problem.\n", dev->name); - if (status & 0x1000) - printk("%s: Short circuit.\n", dev->name); - - if (i596_debug > 1) - printk("%s: Time %ld.\n", dev->name, status & 0x07ff); - } - break; + DEB(DEB_TDR,printk("%s: Time %d.\n", dev->name, status & 0x07ff)); } + break; + } case CmdConfigure: - { - ptr->next = (struct i596_cmd *) I596_NULL; - /* Zap command so set_multicast_list() knows it is free */ - ptr->command = 0; - break; - } - default: - ptr->next = (struct i596_cmd *) I596_NULL; + /* Zap command so set_multicast_list() knows it is free */ + ptr->command = 0; + break; } + ptr->v_next = ptr->b_next = I596_NULL; lp->last_cmd = jiffies; } ptr = lp->cmd_head; - while ((ptr != (struct i596_cmd *) I596_NULL) && (ptr != lp->cmd_tail)) { + while ((ptr != I596_NULL) && (ptr != lp->cmd_tail)) { ptr->command &= 0x1fff; - ptr = WSWAPcmd(ptr->next); + ptr = ptr->v_next; } - if ((lp->cmd_head != (struct i596_cmd *) I596_NULL) && (dev->start)) + if ((lp->cmd_head != I596_NULL) && (dev->start)) ack_cmd |= CUC_START; - lp->scb.cmd = WSWAPcmd(lp->cmd_head); + lp->scb.cmd = WSWAPcmd(virt_to_bus(&lp->cmd_head->status)); } if ((status & 0x1000) || (status & 0x4000)) { - if ((i596_debug > 4) && (status & 0x4000)) - printk("%s: i596 interrupt received a frame.\n", dev->name); + if ((status & 0x4000)) + DEB(DEB_INTS,printk("%s: i596 interrupt received a frame.\n", dev->name)); + i596_rx(dev); /* Only RX_START if stopped - RGH 07-07-96 */ if (status & 0x1000) { - if (dev->start) + if (dev->start) { + DEB(DEB_ERRORS,printk("%s: i596 interrupt receive unit inactive, status 0x%x\n", dev->name, status)); ack_cmd |= RX_START; - if (i596_debug > 1) - printk("%s: i596 interrupt receive unit inactive %x.\n", dev->name, status & 0x00f0); + lp->stats.rx_errors++; + lp->stats.rx_fifo_errors++; + rebuild_rx_bufs(dev); + } } - i596_rx(dev); } - /* acknowledge the interrupt */ - -/* COMMENTED OUT <<<<< - if ((lp->scb.cmd != (struct i596_cmd *) I596_NULL) && (dev->start)) - ack_cmd |= CUC_START; - */ - boguscnt = 1000; - while (lp->scb.command) - if (--boguscnt == 0) { - printk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command); - break; - } + wait_cmd(dev,lp,100,"i596 interrupt, timeout"); lp->scb.command = ack_cmd; -#ifdef CONFIG_MVME16x_NET +#ifdef ENABLE_MVME16x_NET if (MACH_IS_MVME16x) { /* Ack the interrupt */ @@ -1155,7 +1362,7 @@ pcc2[0x2a] |= 0x08; } #endif -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET if (MACH_IS_BVME6000) { volatile unsigned char *ethirq = (unsigned char *) BVME_ETHIRQ_REG; @@ -1163,14 +1370,13 @@ *ethirq = 3; } #endif -#ifdef CONFIG_APRICOT +#ifdef ENABLE_APRICOT (void) inb(ioaddr + 0x10); outb(4, ioaddr + 0xf); #endif CA(dev); - if (i596_debug > 4) - printk("%s: exiting interrupt.\n", dev->name); + DEB(DEB_INTS,printk("%s: exiting interrupt.\n", dev->name)); dev->interrupt = 0; return; @@ -1179,41 +1385,27 @@ static int i596_close(struct device *dev) { struct i596_private *lp = (struct i596_private *) dev->priv; - int boguscnt = 2000; unsigned long flags; dev->start = 0; dev->tbusy = 1; - if (i596_debug > 1) - printk("%s: Shutting down ethercard, status was %4.4x.\n", - dev->name, lp->scb.status); + DEB(DEB_INIT,printk("%s: Shutting down ethercard, status was %4.4x.\n", + dev->name, lp->scb.status)); save_flags(flags); cli(); - while (lp->scb.command) - if (--boguscnt == 0) { - printk("%s: close1 timed out with status %4.4x, cmd %4.4x.\n", - dev->name, lp->scb.status, lp->scb.command); - break; - } + wait_cmd(dev,lp,100,"close1 timed out"); lp->scb.command = CUC_ABORT | RX_ABORT; CA(dev); - boguscnt = 2000; - - while (lp->scb.command) - if (--boguscnt == 0) { - printk("%s: close2 timed out with status %4.4x, cmd %4.4x.\n", - dev->name, lp->scb.status, lp->scb.command); - break; - } + wait_cmd(dev,lp,100,"close2 timed out"); restore_flags(flags); + DEB(DEB_STRUCT,i596_display_data(dev)); + i596_cleanup_cmd(dev,lp); - i596_cleanup_cmd(lp); - -#ifdef CONFIG_MVME16x_NET +#ifdef ENABLE_MVME16x_NET if (MACH_IS_MVME16x) { volatile unsigned char *pcc2 = (unsigned char *) 0xfff42000; @@ -1223,7 +1415,7 @@ pcc2[0x2b] = 0x40; /* Set snooping bits now! */ } #endif -#ifdef CONFIG_BVME6000_NET +#ifdef ENABLE_BVME6000_NET if (MACH_IS_BVME6000) { volatile unsigned char *ethirq = (unsigned char *) BVME_ETHIRQ_REG; @@ -1253,57 +1445,60 @@ static void set_multicast_list(struct device *dev) { struct i596_private *lp = (struct i596_private *) dev->priv; - struct i596_cmd *cmd; - int config = 0; + int config = 0, cnt; - if (i596_debug > 1) - printk("%s: set multicast list, %d entries, promisc %s, allmulti %s\n", dev->name, dev->mc_count, dev->flags & IFF_PROMISC ? "ON" : "OFF", dev->flags & IFF_ALLMULTI ? "ON" : "OFF"); + DEB(DEB_MULTI,printk("%s: set multicast list, %d entries, promisc %s, allmulti %s\n", dev->name, dev->mc_count, dev->flags & IFF_PROMISC ? "ON" : "OFF", dev->flags & IFF_ALLMULTI ? "ON" : "OFF")); - if ((dev->flags & IFF_PROMISC) && !(lp->i596_config[8] & 0x01)) { - lp->i596_config[8] |= 0x01; + if ((dev->flags & IFF_PROMISC) && !(lp->cf_cmd.i596_config[8] & 0x01)) { + lp->cf_cmd.i596_config[8] |= 0x01; config = 1; } - if (!(dev->flags & IFF_PROMISC) && (lp->i596_config[8] & 0x01)) { - lp->i596_config[8] &= ~0x01; + if (!(dev->flags & IFF_PROMISC) && (lp->cf_cmd.i596_config[8] & 0x01)) { + lp->cf_cmd.i596_config[8] &= ~0x01; config = 1; } - if ((dev->flags & IFF_ALLMULTI) && (lp->i596_config[11] & 0x20)) { - lp->i596_config[11] &= ~0x20; + if ((dev->flags & IFF_ALLMULTI) && (lp->cf_cmd.i596_config[11] & 0x20)) { + lp->cf_cmd.i596_config[11] &= ~0x20; config = 1; } - if (!(dev->flags & IFF_ALLMULTI) && !(lp->i596_config[11] & 0x20)) { - lp->i596_config[11] |= 0x20; + if (!(dev->flags & IFF_ALLMULTI) && !(lp->cf_cmd.i596_config[11] & 0x20)) { + lp->cf_cmd.i596_config[11] |= 0x20; config = 1; } if (config) { - if (lp->set_conf.command) + if (lp->cf_cmd.cmd.command) printk("%s: config change request already queued\n", dev->name); else { - lp->set_conf.command = CmdConfigure; - i596_add_cmd(dev, &lp->set_conf); + lp->cf_cmd.cmd.command = CmdConfigure; + i596_add_cmd(dev, &lp->cf_cmd.cmd); } } + + cnt = dev->mc_count; + if (cnt > MAX_MC_CNT) + { + cnt = MAX_MC_CNT; + printk("%s: Only %d multicast addresses supported", + dev->name, cnt); + } + if (dev->mc_count > 0) { struct dev_mc_list *dmi; unsigned char *cp; - cmd = (struct i596_cmd *) kmalloc(sizeof(struct i596_cmd) + 2 + dev->mc_count * 6, GFP_ATOMIC); - if (cmd == NULL) { - printk("%s: set_multicast Memory squeeze.\n", dev->name); - return; - } - cmd->command = CmdMulticastList; - *((unsigned short *) (cmd + 1)) = dev->mc_count * 6; - cp = ((unsigned char *) (cmd + 1)) + 2; - for (dmi = dev->mc_list; dmi != NULL; dmi = dmi->next) { + struct mc_cmd *cmd; + + cmd = &lp->mc_cmd; + cmd->cmd.command = CmdMulticastList; + cmd->mc_cnt = dev->mc_count * 6; + cp = cmd->mc_addrs; + for (dmi = dev->mc_list; cnt && dmi != NULL; dmi = dmi->next, cnt--, cp += 6) { memcpy(cp, dmi->dmi_addr, 6); if (i596_debug > 1) - printk("%s: Adding address %02x:%02x:%02x:%02x:%02x:%02x\n", dev->name, *(cp + 0), *(cp + 1), *(cp + 2), *(cp + 3), *(cp + 4), *(cp + 5)); - cp += 6; + DEB(DEB_MULTI,printk("%s: Adding address %02x:%02x:%02x:%02x:%02x:%02x\n", + dev->name, cp[0],cp[1],cp[2],cp[3],cp[4],cp[5])); } - if (i596_debug > 2) - print_eth(((char *) (cmd + 1)) + 2); - i596_add_cmd(dev, cmd); + i596_add_cmd(dev, &cmd->cmd); } } @@ -1311,40 +1506,58 @@ static unsigned int i596_portlist[] __initdata = {0x300, 0}; struct netdev_entry i596_drv = -{"apricot", i82596_probe, I596_TOTAL_SIZE, apricot_portlist}; +{"i82596", i82596_probe, I596_TOTAL_SIZE, i596_portlist}; #endif #ifdef MODULE static char devicename[9] = {0,}; -static struct device dev_apricot = +static struct device dev_82596 = { - devicename, /* device name inserted by /linux/drivers/net/net_init.c */ + devicename, /* device name inserted by drivers/net/net_init.c */ 0, 0, 0, 0, - 0x300, 10, + 0, 0, /* base, irq */ 0, 0, 0, NULL, i82596_probe}; +#ifdef ENABLE_APRICOT static int io = 0x300; static int irq = 10; MODULE_PARM(irq, "i"); +#endif + +MODULE_PARM(debug, "i"); +static int debug = -1; int init_module(void) { - dev_apricot.base_addr = io; - dev_apricot.irq = irq; - if (register_netdev(&dev_apricot) != 0) +#ifdef ENABLE_APRICOT + dev_82596.base_addr = io; + dev_82596.irq = irq; +#endif + if (debug >= 0) + i596_debug = debug; + if (register_netdev(&dev_82596) != 0) return -EIO; return 0; } void cleanup_module(void) { - unregister_netdev(&dev_apricot); - kfree((void *) dev_apricot.mem_start); - dev_apricot.priv = NULL; + unregister_netdev(&dev_82596); +#ifdef __mc68000__ + /* XXX This assumes default cache mode to be IOMAP_FULL_CACHING, + * XXX which may be invalid (CONFIG_060_WRITETHROUGH) + */ + kernel_set_cachemode((void *)(dev_82596.mem_start), 4096, + IOMAP_FULL_CACHING); +#endif + free_page ((u32)(dev_82596.mem_start)); + dev_82596.priv = NULL; +#ifdef ENABLE_APRICOT /* If we don't do this, we can't re-insmod it later. */ - release_region(dev_apricot.base_addr, I596_TOTAL_SIZE); + release_region(dev_82596.base_addr, I596_TOTAL_SIZE); +#endif } #endif /* MODULE */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/net/eepro100.c linux.16p1/drivers/net/eepro100.c --- linux.15p19/drivers/net/eepro100.c Fri Apr 7 17:45:26 2000 +++ linux.16p1/drivers/net/eepro100.c Wed Apr 19 13:51:00 2000 @@ -24,11 +24,14 @@ The driver also contains updates by different kernel developers. This driver clone is maintained by Andrey V. Savochkin . Please use this email address and linux-kernel mailing list for bug reports. + + Disabled FC and ER, to avoid lockups when when we get FCP interrupts. + Dragan Stancevic March 24th, 2000. */ static const char *version = "eepro100.c:v1.09j-t 9/29/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html\n" -"eepro100.c: $Revision: 1.20.2.3 $ 2000/03/02 Modified by Andrey V. Savochkin and others\n"; +"eepro100.c: $Revision: 1.20.2.4 $ 2000/03/25 Modified by Andrey V. Savochkin and others\n"; /* A few user-configurable values that apply to all boards. First set is undocumented and spelled per Intel recommendations. */ @@ -103,17 +106,8 @@ #include #include #include -#ifdef HAS_PCI_NETIF -#include "pci-netif.h" -#else -#include -#endif #include -#if LINUX_VERSION_CODE >= 0x20312 -#include -#else #include -#endif #include #include @@ -144,21 +138,18 @@ #define virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr)) #define le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr)) -#if LINUX_VERSION_CODE < 0x020314 #define net_device device #define pci_base_address(p, n) (p)->base_address[n] -#else -#define pci_base_address(p, n) (p)->resource[n].start -#endif #define dev_free_skb(skb) dev_kfree_skb(skb); -#if ! defined(HAS_NETIF_QUEUE) #define netif_wake_queue(dev) do { \ clear_bit(0, (void*)&dev->tbusy); \ mark_bh(NET_BH); \ } while(0) #define netif_start_queue(dev) clear_bit(0, (void*)&dev->tbusy) #define netif_stop_queue(dev) set_bit(0, (void*)&dev->tbusy) +#ifndef PCI_DEVICE_ID_INTEL_82559ER +#define PCI_DEVICE_ID_INTEL_82559ER 0x1209 #endif /* The total I/O port extent of the board. @@ -506,7 +497,7 @@ const char i82558_config_cmd[22] = { 22, 0x08, 0, 1, 0, 0, 0x22, 0x03, 1, /* 1=Use MII 0=Use AUI */ 0, 0x2E, 0, 0x60, 0x08, 0x88, - 0x68, 0, 0x40, 0xf2, 0xBD, /* 0xBD->0xFD=Force full-duplex */ + 0x68, 0, 0x40, 0xf2, 0x84, /* Disable FC */ 0x31, 0x05, }; /* PHY media interface chips. */ @@ -1098,7 +1089,9 @@ wait_for_cmd_done(ioaddr + SCBCmd); outl(virt_to_bus(&sp->tx_ring[sp->dirty_tx % TX_RING_SIZE]), ioaddr + SCBPointer); - outw(CUStart, ioaddr + SCBCmd); + /* We are not ACK-ing FCP and ER in the interrupt handler yet so they should + remain masked --Dragan */ + outw(CUStart | SCBMaskEarlyRx | SCBMaskFlowCtl, ioaddr + SCBCmd); } /* Media monitoring and control. */ @@ -1495,6 +1488,8 @@ do { status = inw(ioaddr + SCBStatus); /* Acknowledge all of the current interrupt sources ASAP. */ + /* Will change from 0xfc00 to 0xff00 when we start handling + FCP and ER interrupts --Dragan */ outw(status & 0xfc00, ioaddr + SCBStatus); if (speedo_debug > 4) @@ -1594,6 +1589,8 @@ printk(KERN_ERR "%s: Too much work at interrupt, status=0x%4.4x.\n", dev->name, status); /* Clear all interrupt sources. */ + /* Will change from 0xfc00 to 0xff00 when we start handling + FCP and ER interrupts --Dragan */ outl(0xfc00, ioaddr + SCBStatus); break; } @@ -1995,7 +1992,10 @@ config_cmd_data[4] = rxdmacount; config_cmd_data[5] = txdmacount + 0x80; config_cmd_data[15] |= (new_rx_mode & 2) ? 1 : 0; - config_cmd_data[19] = sp->flow_ctrl ? 0xBD : 0x80; + /* 0x80 doesn't disable FC 0x84 does. + Disable Flow control since we are not ACK-ing any FC interrupts + for now. --Dragan */ + config_cmd_data[19] = 0x84; config_cmd_data[19] |= sp->full_duplex ? 0x40 : 0; config_cmd_data[21] = (new_rx_mode & 1) ? 0x0D : 0x05; if (sp->phy[0] & 0x8000) { /* Use the AUI port instead. */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/sbus/char/sab82532.c linux.16p1/drivers/sbus/char/sab82532.c --- linux.15p19/drivers/sbus/char/sab82532.c Sun Apr 16 19:04:38 2000 +++ linux.16p1/drivers/sbus/char/sab82532.c Wed Apr 19 13:54:46 2000 @@ -2065,7 +2065,7 @@ done: if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/sbus/char/su.c linux.16p1/drivers/sbus/char/su.c --- linux.15p19/drivers/sbus/char/su.c Sun Apr 16 19:04:08 2000 +++ linux.16p1/drivers/sbus/char/su.c Wed Apr 19 13:54:46 2000 @@ -2207,7 +2207,7 @@ done: if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/scsi/sd.c linux.16p1/drivers/scsi/sd.c --- linux.15p19/drivers/scsi/sd.c Thu Mar 9 19:32:37 2000 +++ linux.16p1/drivers/scsi/sd.c Wed Apr 19 15:47:21 2000 @@ -1381,7 +1381,7 @@ } } - if( rscsi_disks[i].sector_size == 2048 ) + if( rscsi_disks[i].sector_size > 1024 ) { int m; @@ -1393,7 +1393,7 @@ */ for (m=i<<4; m<((i+1)<<4); m++) { - sd_blocksizes[m] = 2048; + sd_blocksizes[m] = rscsi_disks[i].sector_size; } } { diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/sound/Config.in linux.16p1/drivers/sound/Config.in --- linux.15p19/drivers/sound/Config.in Tue Jan 4 21:18:59 2000 +++ linux.16p1/drivers/sound/Config.in Tue Apr 18 19:14:40 2000 @@ -35,6 +35,8 @@ dep_tristate 'ESS Solo1 (Experimental)' CONFIG_SOUND_ESSSOLO1 $CONFIG_SOUND fi +dep_tristate 'Intel ICH (810, 820, 440MX...)' CONFIG_SOUND_ICH $CONFIG_SOUND + dep_tristate 'S3 SonicVibes' CONFIG_SOUND_SONICVIBES $CONFIG_SOUND if [ "$CONFIG_VISWS" = "y" ]; then diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/sound/Makefile linux.16p1/drivers/sound/Makefile --- linux.15p19/drivers/sound/Makefile Tue Jan 4 21:18:59 2000 +++ linux.16p1/drivers/sound/Makefile Tue Apr 18 20:33:01 2000 @@ -25,7 +25,7 @@ export-objs := ad1848.o audio_syms.o midi_syms.o mpu401.o \ msnd.o opl3.o sb_card.o sequencer_syms.o \ sound_core.o sound_syms.o uart401.o ad1816.o \ - nm256_audio.o + nm256_audio.o ac97_codec.o @@ -83,6 +83,7 @@ obj-$(CONFIG_SOUND_ES1370) += es1370.o obj-$(CONFIG_SOUND_ES1371) += es1371.o obj-$(CONFIG_SOUND_ESSSOLO1) += esssolo1.o +obj-$(CONFIG_SOUND_ICH) += i810_audio.o ac97_codec.o obj-$(CONFIG_SOUND_MAESTRO) += maestro.o obj-$(CONFIG_SOUND_SONICVIBES) += sonicvibes.o diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/sound/ac97_codec.c linux.16p1/drivers/sound/ac97_codec.c --- linux.15p19/drivers/sound/ac97_codec.c Thu Jan 1 01:00:00 1970 +++ linux.16p1/drivers/sound/ac97_codec.c Tue Apr 18 20:32:04 2000 @@ -0,0 +1,619 @@ +/* + * ac97_codec.c: Generic AC97 mixer/modem module + * + * Derived from ac97 mixer in maestro and trident driver. + * + * Copyright 2000 Silicon Integrated System Corporation + * + * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * History + * v0.4 Mar 15 2000 Ollie Lho + * dual codec support verified with 4 channel output + * v0.3 Feb 22 2000 Ollie Lho + * bug fix for record mask setting + * v0.2 Feb 10 2000 Ollie Lho + * add ac97_read_proc for /proc/driver/{vendor}/ac97 + * v0.1 Jan 14 2000 Ollie Lho + * Isolated from trident.c to support multiple ac97 codec + */ +#include +#include +#include +#include +#include +#include +#include + +static int ac97_read_mixer(struct ac97_codec *codec, int oss_channel); +static void ac97_write_mixer(struct ac97_codec *codec, int oss_channel, + unsigned int left, unsigned int right); +static void ac97_set_mixer(struct ac97_codec *codec, unsigned int oss_mixer, unsigned int val ); +static int ac97_recmask_io(struct ac97_codec *codec, int rw, int mask); +static int ac97_mixer_ioctl(struct ac97_codec *codec, unsigned int cmd, unsigned long arg); + +static int ac97_init_mixer(struct ac97_codec *codec); + +static int sigmatel_init(struct ac97_codec *codec); + +#define arraysize(x) (sizeof(x)/sizeof((x)[0])) + +static struct { + unsigned int id; + char *name; + int (*init) (struct ac97_codec *codec); +} ac97_codec_ids[] = { + {0x414B4D00, "Asahi Kasei AK4540" , NULL}, + {0x41445340, "Analog Devices AD1881" , NULL}, + {0x43525900, "Cirrus Logic CS4297" , NULL}, + {0x43525903, "Cirrus Logic CS4297" , NULL}, + {0x43525913, "Cirrus Logic CS4297A" , NULL}, + {0x43525923, "Cirrus Logic CS4298" , NULL}, + {0x43525931, "Cirrus Logic CS4299" , NULL}, + {0x4e534331, "National Semiconductor LM4549" , NULL}, + {0x53494c22, "Silicon Laboratory Si3036" , NULL}, + {0x53494c23, "Silicon Laboratory Si3038" , NULL}, + {0x83847600, "SigmaTel STAC????" , NULL}, + {0x83847604, "SigmaTel STAC9701/3/4/5", NULL}, + {0x83847605, "SigmaTel STAC9704" , NULL}, + {0x83847608, "SigmaTel STAC9708" , NULL}, + {0x83847609, "SigmaTel STAC9721/23" , sigmatel_init}, + {0x54524108, "TriTech TR28028" , NULL}, + {0x574D4C00, "Wolfson WM9704" , NULL}, + {0x00000000, NULL, NULL} +}; + +static const char *ac97_stereo_enhancements[] = +{ + /* 0 */ "No 3D Stereo Enhancement", + /* 1 */ "Analog Devices Phat Stereo", + /* 2 */ "Creative Stereo Enhancement", + /* 3 */ "National Semi 3D Stereo Enhancement", + /* 4 */ "YAMAHA Ymersion", + /* 5 */ "BBE 3D Stereo Enhancement", + /* 6 */ "Crystal Semi 3D Stereo Enhancement", + /* 7 */ "Qsound QXpander", + /* 8 */ "Spatializer 3D Stereo Enhancement", + /* 9 */ "SRS 3D Stereo Enhancement", + /* 10 */ "Platform Tech 3D Stereo Enhancement", + /* 11 */ "AKM 3D Audio", + /* 12 */ "Aureal Stereo Enhancement", + /* 13 */ "Aztech 3D Enhancement", + /* 14 */ "Binaura 3D Audio Enhancement", + /* 15 */ "ESS Technology Stereo Enhancement", + /* 16 */ "Harman International VMAx", + /* 17 */ "Nvidea 3D Stereo Enhancement", + /* 18 */ "Philips Incredible Sound", + /* 19 */ "Texas Instruments 3D Stereo Enhancement", + /* 20 */ "VLSI Technology 3D Stereo Enhancement", + /* 21 */ "TriTech 3D Stereo Enhancement", + /* 22 */ "Realtek 3D Stereo Enhancement", + /* 23 */ "Samsung 3D Stereo Enhancement", + /* 24 */ "Wolfson Microelectronics 3D Enhancement", + /* 25 */ "Delta Integration 3D Enhancement", + /* 26 */ "SigmaTel 3D Enhancement", + /* 27 */ "Reserved 27", + /* 28 */ "Rockwell 3D Stereo Enhancement", + /* 29 */ "Reserved 29", + /* 30 */ "Reserved 30", + /* 31 */ "Reserved 31" +}; + +/* this table has default mixer values for all OSS mixers. */ +static struct mixer_defaults { + int mixer; + unsigned int value; +} mixer_defaults[SOUND_MIXER_NRDEVICES] = { + /* all values 0 -> 100 in bytes */ + {SOUND_MIXER_VOLUME, 0x3232}, + {SOUND_MIXER_BASS, 0x3232}, + {SOUND_MIXER_TREBLE, 0x3232}, + {SOUND_MIXER_PCM, 0x3232}, + {SOUND_MIXER_SPEAKER, 0x3232}, + {SOUND_MIXER_LINE, 0x3232}, + {SOUND_MIXER_MIC, 0x3232}, + {SOUND_MIXER_CD, 0x3232}, + {SOUND_MIXER_ALTPCM, 0x3232}, + {SOUND_MIXER_IGAIN, 0x3232}, + {SOUND_MIXER_LINE1, 0x3232}, + {SOUND_MIXER_PHONEIN, 0x3232}, + {SOUND_MIXER_PHONEOUT, 0x3232}, + {SOUND_MIXER_VIDEO, 0x3232}, + {-1,0} +}; + +/* table to scale scale from OSS mixer value to AC97 mixer register value */ +static struct ac97_mixer_hw { + unsigned char offset; + int scale; +} ac97_hw[SOUND_MIXER_NRDEVICES]= { + [SOUND_MIXER_VOLUME] = {AC97_MASTER_VOL_STEREO,63}, + [SOUND_MIXER_BASS] = {AC97_MASTER_TONE, 15}, + [SOUND_MIXER_TREBLE] = {AC97_MASTER_TONE, 15}, + [SOUND_MIXER_PCM] = {AC97_PCMOUT_VOL, 31}, + [SOUND_MIXER_SPEAKER] = {AC97_PCBEEP_VOL, 15}, + [SOUND_MIXER_LINE] = {AC97_LINEIN_VOL, 31}, + [SOUND_MIXER_MIC] = {AC97_MIC_VOL, 31}, + [SOUND_MIXER_CD] = {AC97_CD_VOL, 31}, + [SOUND_MIXER_ALTPCM] = {AC97_HEADPHONE_VOL, 63}, + [SOUND_MIXER_IGAIN] = {AC97_RECORD_GAIN, 31}, + [SOUND_MIXER_LINE1] = {AC97_AUX_VOL, 31}, + [SOUND_MIXER_PHONEIN] = {AC97_PHONE_VOL, 15}, + [SOUND_MIXER_PHONEOUT] = {AC97_MASTER_VOL_MONO, 63}, + [SOUND_MIXER_VIDEO] = {AC97_VIDEO_VOL, 31}, +}; + +/* the following tables allow us to go from OSS <-> ac97 quickly. */ +enum ac97_recsettings { + AC97_REC_MIC=0, + AC97_REC_CD, + AC97_REC_VIDEO, + AC97_REC_AUX, + AC97_REC_LINE, + AC97_REC_STEREO, /* combination of all enabled outputs.. */ + AC97_REC_MONO, /*.. or the mono equivalent */ + AC97_REC_PHONE +}; + +static unsigned int ac97_rm2oss[] = { + [AC97_REC_MIC] = SOUND_MIXER_MIC, + [AC97_REC_CD] = SOUND_MIXER_CD, + [AC97_REC_VIDEO] = SOUND_MIXER_VIDEO, + [AC97_REC_AUX] = SOUND_MIXER_LINE1, + [AC97_REC_LINE] = SOUND_MIXER_LINE, + [AC97_REC_STEREO]= SOUND_MIXER_IGAIN, + [AC97_REC_PHONE] = SOUND_MIXER_PHONEIN +}; + +/* indexed by bit position */ +static unsigned int ac97_oss_rm[] = { + [SOUND_MIXER_MIC] = AC97_REC_MIC, + [SOUND_MIXER_CD] = AC97_REC_CD, + [SOUND_MIXER_VIDEO] = AC97_REC_VIDEO, + [SOUND_MIXER_LINE1] = AC97_REC_AUX, + [SOUND_MIXER_LINE] = AC97_REC_LINE, + [SOUND_MIXER_IGAIN] = AC97_REC_STEREO, + [SOUND_MIXER_PHONEIN] = AC97_REC_PHONE +}; + +/* reads the given OSS mixer from the ac97 the caller must have insured that the ac97 knows + about that given mixer, and should be holding a spinlock for the card */ +static int ac97_read_mixer(struct ac97_codec *codec, int oss_channel) +{ + u16 val; + int ret = 0; + struct ac97_mixer_hw *mh = &ac97_hw[oss_channel]; + + val = codec->codec_read(codec , mh->offset); + + if (AC97_STEREO_MASK & (1 << oss_channel)) { + /* nice stereo mixers .. */ + int left,right; + + left = (val >> 8) & 0x7f; + right = val & 0x7f; + + if (oss_channel == SOUND_MIXER_IGAIN) { + right = (right * 100) / mh->scale; + left = (left * 100) / mh->scale; + } else { + right = 100 - ((right * 100) / mh->scale); + left = 100 - ((left * 100) / mh->scale); + } + ret = left | (right << 8); + } else if (oss_channel == SOUND_MIXER_SPEAKER) { + ret = 100 - ((((val & 0x1e)>>1) * 100) / mh->scale); + } else if (oss_channel == SOUND_MIXER_PHONEIN) { + ret = 100 - (((val & 0x1f) * 100) / mh->scale); + } else if (oss_channel == SOUND_MIXER_PHONEOUT) { + ret = 100 - (((val & 0x1f) * 100) / mh->scale); + } else if (oss_channel == SOUND_MIXER_MIC) { + ret = 100 - (((val & 0x1f) * 100) / mh->scale); + /* the low bit is optional in the tone sliders and masking + it lets us avoid the 0xf 'bypass'.. */ + } else if (oss_channel == SOUND_MIXER_BASS) { + ret = 100 - ((((val >> 8) & 0xe) * 100) / mh->scale); + } else if (oss_channel == SOUND_MIXER_TREBLE) { + ret = 100 - (((val & 0xe) * 100) / mh->scale); + } + +#ifdef DEBUG + printk("ac97_codec: read OSS mixer %2d (%s ac97 register 0x%02x), " + "0x%04x -> 0x%04x\n", + oss_channel, codec->id ? "Secondary" : "Primary", + mh->offset, val, ret); +#endif + + return ret; +} + +/* write the OSS encoded volume to the given OSS encoded mixer, again caller's job to + make sure all is well in arg land, call with spinlock held */ +static void ac97_write_mixer(struct ac97_codec *codec, int oss_channel, + unsigned int left, unsigned int right) +{ + u16 val = 0; + struct ac97_mixer_hw *mh = &ac97_hw[oss_channel]; + +#ifdef DEBUG + printk("ac97_codec: wrote OSS mixer %2d (%s ac97 register 0x%02x), " + "left vol:%2d, right vol:%2d:", + oss_channel, codec->id ? "Secondary" : "Primary", + mh->offset, left, right); +#endif + + if (AC97_STEREO_MASK & (1 << oss_channel)) { + /* stereo mixers */ + if (oss_channel == SOUND_MIXER_IGAIN) { + right = (right * mh->scale) / 100; + left = (left * mh->scale) / 100; + } else { + right = ((100 - right) * mh->scale) / 100; + left = ((100 - left) * mh->scale) / 100; + } + val = (left << 8) | right; + } else if (oss_channel == SOUND_MIXER_SPEAKER) { + val = (((100 - left) * mh->scale) / 100) << 1; + } else if (oss_channel == SOUND_MIXER_PHONEIN) { + val = (((100 - left) * mh->scale) / 100); + } else if (oss_channel == SOUND_MIXER_PHONEOUT) { + val = (((100 - left) * mh->scale) / 100); + } else if (oss_channel == SOUND_MIXER_MIC) { + val = codec->codec_read(codec , mh->offset) & ~0x801f; + val |= (((100 - left) * mh->scale) / 100); + /* the low bit is optional in the tone sliders and masking + it lets us avoid the 0xf 'bypass'.. */ + } else if (oss_channel == SOUND_MIXER_BASS) { + val = codec->codec_read(codec , mh->offset) & ~0x0f00; + val |= ((((100 - left) * mh->scale) / 100) << 8) & 0x0e00; + } else if (oss_channel == SOUND_MIXER_TREBLE) { + val = codec->codec_read(codec , mh->offset) & ~0x000f; + val |= (((100 - left) * mh->scale) / 100) & 0x000e; + } +#ifdef DEBUG + printk(" 0x%04x", val); +#endif + + codec->codec_write(codec, mh->offset, val); + +#ifdef DEBUG + val = codec->codec_read(codec, mh->offset); + printk(" -> 0x%04x\n", val); +#endif +} + +/* a thin wrapper for write_mixer */ +static void ac97_set_mixer(struct ac97_codec *codec, unsigned int oss_mixer, unsigned int val ) +{ + unsigned int left,right; + + /* cleanse input a little */ + right = ((val >> 8) & 0xff) ; + left = (val & 0xff) ; + + if (right > 100) right = 100; + if (left > 100) left = 100; + + codec->mixer_state[oss_mixer] = (right << 8) | left; + codec->write_mixer(codec, oss_mixer, left, right); +} + +/* read or write the recmask, the ac97 can really have left and right recording + inputs independantly set, but OSS doesn't seem to want us to express that to + the user. the caller guarantees that we have a supported bit set, and they + must be holding the card's spinlock */ +static int ac97_recmask_io(struct ac97_codec *codec, int rw, int mask) +{ + unsigned int val; + + if (rw) { + /* read it from the card */ + val = codec->codec_read(codec, AC97_RECORD_SELECT); +#ifdef DEBUG + printk("ac97_codec: ac97 recmask to set to 0x%04x\n", val); +#endif + return (1 << ac97_rm2oss[val & 0x07]); + } + + /* else, write the first set in the mask as the + output */ + val = ffs(mask); + val = ac97_oss_rm[val-1]; + val |= val << 8; /* set both channels */ + +#ifdef DEBUG + printk("ac97_codec: setting ac97 recmask to 0x%04x\n", val); +#endif + + codec->codec_write(codec, AC97_RECORD_SELECT, val); + + return 0; +}; + +static int ac97_mixer_ioctl(struct ac97_codec *codec, unsigned int cmd, unsigned long arg) +{ + int i, val = 0; + + if (cmd == SOUND_MIXER_INFO) { + mixer_info info; + strncpy(info.id, codec->name, sizeof(info.id)); + strncpy(info.name, codec->name, sizeof(info.name)); + info.modify_counter = codec->modcnt; + if (copy_to_user((void *)arg, &info, sizeof(info))) + return -EFAULT; + return 0; + } + if (cmd == SOUND_OLD_MIXER_INFO) { + _old_mixer_info info; + strncpy(info.id, codec->name, sizeof(info.id)); + strncpy(info.name, codec->name, sizeof(info.name)); + if (copy_to_user((void *)arg, &info, sizeof(info))) + return -EFAULT; + return 0; + } + + if (_IOC_TYPE(cmd) != 'M' || _IOC_SIZE(cmd) != sizeof(int)) + return -EINVAL; + + if (cmd == OSS_GETVERSION) + return put_user(SOUND_VERSION, (int *)arg); + + if (_IOC_DIR(cmd) == _IOC_READ) { + switch (_IOC_NR(cmd)) { + case SOUND_MIXER_RECSRC: /* give them the current record source */ + if (!codec->recmask_io) { + val = 0; + } else { + val = codec->recmask_io(codec, 1, 0); + } + break; + + case SOUND_MIXER_DEVMASK: /* give them the supported mixers */ + val = codec->supported_mixers; + break; + + case SOUND_MIXER_RECMASK: /* Arg contains a bit for each supported recording source */ + val = codec->record_sources; + break; + + case SOUND_MIXER_STEREODEVS: /* Mixer channels supporting stereo */ + val = codec->stereo_mixers; + break; + + case SOUND_MIXER_CAPS: + val = SOUND_CAP_EXCL_INPUT; + break; + + default: /* read a specific mixer */ + i = _IOC_NR(cmd); + + if (!supported_mixer(codec, i)) + return -EINVAL; + + /* do we ever want to touch the hardware? */ + /* val = codec->read_mixer(codec, i); */ + val = codec->mixer_state[i]; + break; + } + return put_user(val, (int *)arg); + } + + if (_IOC_DIR(cmd) == (_IOC_WRITE|_IOC_READ)) { + codec->modcnt++; + get_user_ret(val, (int *)arg, -EFAULT); + + switch (_IOC_NR(cmd)) { + case SOUND_MIXER_RECSRC: /* Arg contains a bit for each recording source */ + if (!codec->recmask_io) return -EINVAL; + if (!(val &= codec->record_sources)) return -EINVAL; + + codec->recmask_io(codec, 0, val); + + return 0; + default: /* write a specific mixer */ + i = _IOC_NR(cmd); + + if (!supported_mixer(codec, i)) + return -EINVAL; + + ac97_set_mixer(codec, i, val); + + return 0; + } + } + return -EINVAL; +} + +/* entry point for /proc/driver/controller_vendor/ac97/%d */ +int ac97_read_proc (char *page, char **start, off_t off, + int count, int *eof, void *data) +{ + int len = 0, cap, extid, val, id1, id2; + struct ac97_codec *codec; + + if ((codec = data) == NULL) + return -ENODEV; + + id1 = codec->codec_read(codec, AC97_VENDOR_ID1); + id2 = codec->codec_read(codec, AC97_VENDOR_ID2); + len += sprintf (page+len, "Vendor name : %s\n", codec->name); + len += sprintf (page+len, "Vendor id : %04X %04X\n", id1, id2); + + extid = codec->codec_read(codec, AC97_EXTENDED_ID); + extid &= ~((1<<2)|(1<<4)|(1<<5)|(1<<10)|(1<<11)|(1<<12)|(1<<13)); + len += sprintf (page+len, "AC97 Version : %s\n", + extid ? "2.0 or later" : "1.0"); + + cap = codec->codec_read(codec, AC97_RESET); + len += sprintf (page+len, "Capabilities :%s%s%s%s%s%s\n", + cap & 0x0001 ? " -dedicated MIC PCM IN channel-" : "", + cap & 0x0002 ? " -reserved1-" : "", + cap & 0x0004 ? " -bass & treble-" : "", + cap & 0x0008 ? " -simulated stereo-" : "", + cap & 0x0010 ? " -headphone out-" : "", + cap & 0x0020 ? " -loudness-" : ""); + val = cap & 0x00c0; + len += sprintf (page+len, "DAC resolutions :%s%s%s\n", + " -16-bit-", + val & 0x0040 ? " -18-bit-" : "", + val & 0x0080 ? " -20-bit-" : ""); + val = cap & 0x0300; + len += sprintf (page+len, "ADC resolutions :%s%s%s\n", + " -16-bit-", + val & 0x0100 ? " -18-bit-" : "", + val & 0x0200 ? " -20-bit-" : ""); + len += sprintf (page+len, "3D enhancement : %s\n", + ac97_stereo_enhancements[(cap >> 10) & 0x1f]); + + val = codec->codec_read(codec, AC97_GENERAL_PURPOSE); + len += sprintf (page+len, "POP path : %s 3D\n" + "Sim. stereo : %s\n" + "3D enhancement : %s\n" + "Loudness : %s\n" + "Mono output : %s\n" + "MIC select : %s\n" + "ADC/DAC loopback : %s\n", + val & 0x8000 ? "post" : "pre", + val & 0x4000 ? "on" : "off", + val & 0x2000 ? "on" : "off", + val & 0x1000 ? "on" : "off", + val & 0x0200 ? "MIC" : "MIX", + val & 0x0100 ? "MIC2" : "MIC1", + val & 0x0080 ? "on" : "off"); + + cap = extid; + len += sprintf (page+len, "Ext Capabilities :%s%s%s%s%s%s%s\n", + cap & 0x0001 ? " -var rate PCM audio-" : "", + cap & 0x0002 ? " -2x PCM audio out-" : "", + cap & 0x0008 ? " -var rate MIC in-" : "", + cap & 0x0040 ? " -PCM center DAC-" : "", + cap & 0x0080 ? " -PCM surround DAC-" : "", + cap & 0x0100 ? " -PCM LFE DAC-" : "", + cap & 0x0200 ? " -slot/DAC mappings-" : ""); + + return len; +} + +int ac97_probe_codec(struct ac97_codec *codec) +{ + u16 id1, id2; + u16 audio, modem; + int i; + + /* probing AC97 codec, AC97 2.0 says that bit 15 of register 0x00 (reset) should + be read zero. Probing of AC97 in this way is not reliable, it is not even SAFE !! */ + codec->codec_write(codec, AC97_RESET, 0L); + if ((audio = codec->codec_read(codec, AC97_RESET)) & 0x8000) { + printk(KERN_ERR "ac97_codec: %s ac97 codec not present\n", + codec->id ? "Secondary" : "Primary"); + return 0; + } + + /* probe for Modem Codec */ + codec->codec_write(codec, AC97_EXTENDED_MODEM_ID, 0L); + modem = codec->codec_read(codec, AC97_EXTENDED_MODEM_ID); + + codec->name = NULL; + codec->codec_init = NULL; + + id1 = codec->codec_read(codec, AC97_VENDOR_ID1); + id2 = codec->codec_read(codec, AC97_VENDOR_ID2); + for (i = 0; i < arraysize(ac97_codec_ids); i++) { + if (ac97_codec_ids[i].id == ((id1 << 16) | id2)) { + codec->name = ac97_codec_ids[i].name; + codec->codec_init = ac97_codec_ids[i].init; + break; + } + } + if (codec->name == NULL) + codec->name = "Unknown"; + printk(KERN_INFO "ac97_codec: AC97 %s codec, vendor id1: 0x%04x, " + "id2: 0x%04x (%s)\n", audio ? "Audio" : (modem ? "Modem" : ""), + id1, id2, codec->name); + + return ac97_init_mixer(codec); +} + +static int ac97_init_mixer(struct ac97_codec *codec) +{ + u16 cap; + int i; + + cap = codec->codec_read(codec, AC97_RESET); + + /* mixer masks */ + codec->supported_mixers = AC97_SUPPORTED_MASK; + codec->stereo_mixers = AC97_STEREO_MASK; + codec->record_sources = AC97_RECORD_MASK; + if (!(cap & 0x04)) + codec->supported_mixers &= ~(SOUND_MASK_BASS|SOUND_MASK_TREBLE); + if (!(cap & 0x10)) + codec->supported_mixers &= ~SOUND_MASK_ALTPCM; + + /* generic OSS to AC97 wrapper */ + codec->read_mixer = ac97_read_mixer; + codec->write_mixer = ac97_write_mixer; + codec->recmask_io = ac97_recmask_io; + codec->mixer_ioctl = ac97_mixer_ioctl; + + /* initialize volume level */ + codec->codec_write(codec, AC97_MASTER_VOL_STEREO, 0L); + codec->codec_write(codec, AC97_PCMOUT_VOL, 0L); + + /* codec specific initialization for 4-6 channel output or secondary codec stuff */ + if (codec->id != 0 && codec->codec_init != NULL) { + codec->codec_init(codec); + } + + /* initilize mixer channel volumes */ + for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { + struct mixer_defaults *md = &mixer_defaults[i]; + if (md->mixer == -1) + break; + if (!supported_mixer(codec, md->mixer)) + continue; + ac97_set_mixer(codec, md->mixer, md->value); + } + + return 1; +} + +static int ac97_init_modem(struct ac97_codec *codec) +{ + return 0; +} + +static int sigmatel_init(struct ac97_codec * codec) +{ + codec->codec_write(codec, AC97_SURROUND_MASTER, 0L); + + /* initialize SigmaTel STAC9721/23 as secondary codec, decoding AC link + sloc 3,4 = 0x01, slot 7,8 = 0x00, */ + codec->codec_write(codec, 0x74, 0x00); + + /* we don't have the crystal when we are on an AMR card, so use + BIT_CLK as our clock source. Write the magic word ABBA and read + back to enable register 0x78 */ + codec->codec_write(codec, 0x76, 0xabba); + codec->codec_read(codec, 0x76); + + /* sync all the clocks*/ + codec->codec_write(codec, 0x78, 0x3802); + + return 1; +} + +EXPORT_SYMBOL(ac97_read_proc); +EXPORT_SYMBOL(ac97_probe_codec); diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/sound/i810_audio.c linux.16p1/drivers/sound/i810_audio.c --- linux.15p19/drivers/sound/i810_audio.c Thu Jan 1 01:00:00 1970 +++ linux.16p1/drivers/sound/i810_audio.c Tue Apr 18 22:17:00 2000 @@ -0,0 +1,1845 @@ +/* + * Intel i810 and friends ICH driver for Linux + * Alan Cox + * + * Built from: + * Low level code: Zach Brown (original nonworking i810 OSS driver) + * Jaroslav Kysela (working ALSA driver) + * + * Framework: Thomas Sailer + * Extended by: Zach Brown + * and others.. + * + * Hardware Provided By: + * Analog Devices (A major AC97 codec maker) + * Intel Corp (you've probably heard of them already) + * + * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * + * Intel 810 theory of operation + * + * The chipset provides three DMA channels that talk to an AC97 + * CODEC (AC97 is a digital/analog mixer standard). At its simplest + * you get 48Khz audio with basic volume and mixer controls. At the + * best you get rate adaption in the codec. We set the card up so + * that we never take completion interrupts but instead keep the card + * chasing its tail around a ring buffer. This is needed for mmap + * mode audio and happens to work rather well for non-mmap modes too. + * + * The board has one output channel for PCM audio (supported) and + * a stereo line in and mono microphone input. Again these are normally + * locked to 48Khz only. Right now recording is not finished. + * + * There is no midi support, no synth support. Use timidity. To get + * esd working you need to use esd -r 48000 as it won't probe 48KHz + * by default. mpg123 can't handle 48Khz only audio so use xmms. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef PCI_DEVICE_ID_INTEL_82801 +#define PCI_DEVICE_ID_INTEL_82801 0x2415 +#endif +#ifndef PCI_DEVICE_ID_INTEL_82901 +#define PCI_DEVICE_ID_INTEL_82901 0x2425 +#endif +#ifndef PCI_DEVICE_ID_INTEL_440MX +#define PCI_DEVICE_ID_INTEL_440MX 0x7195 +#endif + +#define ADC_RUNNING 1 +#define DAC_RUNNING 2 + +#define I810_FMT_16BIT 1 /* These are fixed in fact */ +#define I810_FMT_STEREO 2 +#define I810_FMT_MASK 3 + +/* the 810's array of pointers to data buffers */ + +struct sg_item { +#define BUSADDR_MASK 0xFFFFFFFE + u32 busaddr; +#define CON_IOC 0x80000000 /* interrupt on completion */ +#define CON_BUFPAD 0x40000000 /* pad underrun with last sample, else 0 */ +#define CON_BUFLEN_MASK 0x0000ffff /* buffer length in samples */ + u32 control; +}; + +/* an instance of the i810 channel */ +#define SG_LEN 32 +struct i810_channel +{ + /* these sg guys should probably be allocated + seperately as nocache. Must be 8 byte aligned */ + struct sg_item sg[SG_LEN]; /* 32*8 */ + u32 offset; /* 4 */ + u32 port; /* 4 */ + u32 used; + u32 num; +}; + +/* + * we have 3 seperate dma engines. pcm in, pcm out, and mic. + * each dma engine has controlling registers. These goofy + * names are from the datasheet, but make it easy to write + * code while leafing through it. + */ + +#define ENUM_ENGINE(PRE,DIG) \ +enum { \ + ##PRE##_BDBAR = 0x##DIG##0, /* Buffer Descriptor list Base Address */ \ + ##PRE##_CIV = 0x##DIG##4, /* Current Index Value */ \ + ##PRE##_LVI = 0x##DIG##5, /* Last Valid Index */ \ + ##PRE##_SR = 0x##DIG##6, /* Status Register */ \ + ##PRE##_PICB = 0x##DIG##8, /* Position In Current Buffer */ \ + ##PRE##_PIV = 0x##DIG##a, /* Prefetched Index Value */ \ + ##PRE##_CR = 0x##DIG##b /* Control Register */ \ +} + +ENUM_ENGINE(OFF,0); /* Offsets */ +ENUM_ENGINE(PI,0); /* PCM In */ +ENUM_ENGINE(PO,1); /* PCM Out */ +ENUM_ENGINE(MC,2); /* Mic In */ + +enum { + GLOB_CNT = 0x2c, /* Global Control */ + GLOB_STA = 0x30, /* Global Status */ + CAS = 0x34 /* Codec Write Semaphore Register */ +}; + +/* interrupts for a dma engine */ +#define DMA_INT_FIFO (1<<4) /* fifo under/over flow */ +#define DMA_INT_COMPLETE (1<<3) /* buffer read/write complete and ioc set */ +#define DMA_INT_LVI (1<<2) /* last valid done */ +#define DMA_INT_CELV (1<<1) /* last valid is current */ +#define DMA_INT_MASK (DMA_INT_FIFO|DMA_INT_COMPLETE|DMA_INT_LVI) + +/* interrupts for the whole chip */ +#define INT_SEC (1<<11) +#define INT_PRI (1<<10) +#define INT_MC (1<<7) +#define INT_PO (1<<6) +#define INT_PI (1<<5) +#define INT_MO (1<<2) +#define INT_NI (1<<1) +#define INT_GPI (1<<0) +#define INT_MASK (INT_SEC|INT_PRI|INT_MC|INT_PO|INT_PI|INT_MO|INT_NI|INT_GPI) + + +#define DRIVER_VERSION "0.02" + +/* magic numbers to protect our data structures */ +#define I810_CARD_MAGIC 0x5072696E /* "Prin" */ +#define I810_STATE_MAGIC 0x63657373 /* "cess" */ +#define NR_HW_CH 3 + +/* maxinum number of AC97 codecs connected, AC97 2.0 defined 4 */ +#define NR_AC97 2 + +/* minor number of /dev/dspW */ +#define SND_DEV_DSP8 1 + +/* minor number of /dev/dspW */ +#define SND_DEV_DSP16 1 + +static const unsigned sample_size[] = { 1, 2, 2, 4 }; +static const unsigned sample_shift[] = { 0, 1, 1, 2 }; + +enum { + ICH82801AA = 0, + ICH82901AB, + INTEL440MX +}; + +/* "software" or virtual channel, an instance of opened /dev/dsp */ +struct i810_state { + unsigned int magic; + struct i810_card *card; /* Card info */ + + /* single open lock mechanism, only used for recording */ + struct semaphore open_sem; + struct wait_queue *open_wait; + + /* file mode */ + mode_t open_mode; + + /* virtual channel number */ + int virt; + + struct dmabuf { + /* wave sample stuff */ + unsigned int rate; + unsigned char fmt, enable; + + /* hardware channel */ + struct i810_channel *channel; + + /* OSS buffer management stuff */ + void *rawbuf; + unsigned buforder; + unsigned numfrag; + unsigned fragshift; + + /* our buffer acts like a circular ring */ + unsigned hwptr; /* where dma last started, updated by update_ptr */ + unsigned swptr; /* where driver last clear/filled, updated by read/write */ + int count; /* bytes to be comsumed or been generated by dma machine */ + unsigned total_bytes; /* total bytes dmaed by hardware */ + + unsigned error; /* number of over/underruns */ + struct wait_queue *wait; /* put process on wait queue when no more space in buffer */ + + /* redundant, but makes calculations easier */ + unsigned fragsize; + unsigned dmasize; + unsigned fragsamples; + + /* OSS stuff */ + unsigned mapped:1; + unsigned ready:1; + unsigned endcleared:1; + unsigned update_flag; + unsigned ossfragshift; + int ossmaxfrags; + unsigned subdivision; + } dmabuf; +}; + + +struct i810_card { + struct i810_channel channel[3]; + unsigned int magic; + + /* We keep i810 cards in a linked list */ + struct i810_card *next; + + /* The i810 has a certain amount of cross channel interaction + so we use a single per card lock */ + spinlock_t lock; + + /* PCI device stuff */ + struct pci_dev * pci_dev; + u16 pci_id; + + /* soundcore stuff */ + int dev_audio; + + /* structures for abstraction of hardware facilities, codecs, banks and channels*/ + struct ac97_codec *ac97_codec[NR_AC97]; + struct i810_state *states[NR_HW_CH]; + + u16 ac97_features; + + /* hardware resources */ + unsigned long iobase; + unsigned long ac97base; + u32 irq; + + /* Function support */ + struct i810_channel *(*alloc_pcm_channel)(struct i810_card *); + struct i810_channel *(*alloc_rec_pcm_channel)(struct i810_card *); + void (*free_pcm_channel)(struct i810_card *, int chan); +}; + +static struct i810_card *devs = NULL; + +static int i810_open_mixdev(struct inode *inode, struct file *file); +static int i810_release_mixdev(struct inode *inode, struct file *file); +static int i810_ioctl_mixdev(struct inode *inode, struct file *file, unsigned int cmd, + unsigned long arg); +static loff_t i810_llseek(struct file *file, loff_t offset, int origin); + +extern __inline__ unsigned ld2(unsigned int x) +{ + unsigned r = 0; + + if (x >= 0x10000) { + x >>= 16; + r += 16; + } + if (x >= 0x100) { + x >>= 8; + r += 8; + } + if (x >= 0x10) { + x >>= 4; + r += 4; + } + if (x >= 4) { + x >>= 2; + r += 2; + } + if (x >= 2) + r++; + return r; +} + +static u16 i810_ac97_get(struct ac97_codec *dev, u8 reg); +static void i810_ac97_set(struct ac97_codec *dev, u8 reg, u16 data); + +static struct i810_channel *i810_alloc_pcm_channel(struct i810_card *card) +{ + if(card->channel[1].used==1) + return NULL; + card->channel[1].used=1; + card->channel[1].offset = 0; + card->channel[1].port = 0x10; + card->channel[1].num=1; + return &card->channel[1]; +} + +static struct i810_channel *i810_alloc_rec_pcm_channel(struct i810_card *card) +{ + if(card->channel[0].used==1) + return NULL; + card->channel[0].used=1; + card->channel[0].offset = 0; + card->channel[0].port = 0x00; + card->channel[1].num=0; + return &card->channel[0]; +} + +static void i810_free_pcm_channel(struct i810_card *card, int channel) +{ + card->channel[channel].used=0; +} + +/* set playback sample rate */ +static unsigned int i810_set_dac_rate(struct i810_state * state, unsigned int rate) +{ + struct dmabuf *dmabuf = &state->dmabuf; + u16 dacp, rp; + struct ac97_codec *codec=state->card->ac97_codec[0]; + + if(!(state->card->ac97_features&0x0001)) + return 48000; + + if (rate > 48000) + rate = 48000; + if (rate < 4000) + rate = 4000; + + /* Power down the DAC */ + dacp=i810_ac97_get(codec, AC97_POWER_CONTROL); + i810_ac97_set(codec, AC97_POWER_CONTROL, dacp|0x0200); + + /* Load the rate and read the effective rate */ + i810_ac97_set(codec, AC97_PCM_FRONT_DAC_RATE, rate); + rp=i810_ac97_get(codec, AC97_PCM_FRONT_DAC_RATE); + +// printk("DAC rate set to %d Returned %d\n", +// rate, (int)rp); + + rate=rp; + + /* Power it back up */ + i810_ac97_set(codec, AC97_POWER_CONTROL, dacp); + + dmabuf->rate = rate; +#ifdef DEBUG + printk("i810_audio: called i810_set_dac_rate : rate = %d\n", rate); +#endif + + return rate; +} + +/* set recording sample rate */ +static unsigned int i810_set_adc_rate(struct i810_state * state, unsigned int rate) +{ + struct dmabuf *dmabuf = &state->dmabuf; + u16 dacp, rp; + struct ac97_codec *codec=state->card->ac97_codec[0]; + + if(!(state->card->ac97_features&0x0001)) + return 48000; + + if (rate > 48000) + rate = 48000; + if (rate < 4000) + rate = 4000; + + /* Power down the ADC */ + dacp=i810_ac97_get(codec, AC97_POWER_CONTROL); + i810_ac97_set(codec, AC97_POWER_CONTROL, dacp|0x0100); + + /* Load the rate and read the effective rate */ + i810_ac97_set(codec, AC97_PCM_LR_ADC_RATE, rate); + rp=i810_ac97_get(codec, AC97_PCM_LR_ADC_RATE); + +// printk("ADC rate set to %d Returned %d\n", +// rate, (int)rp); + + rate=rp; + + /* Power it back up */ + i810_ac97_set(codec, AC97_POWER_CONTROL, dacp); + + dmabuf->rate = rate; +#ifdef DEBUG + printk("i810_audio: called i810_set_adc_rate : rate = %d\n", rate); +#endif + + return rate; + +} + +/* prepare channel attributes for playback */ +static void i810_play_setup(struct i810_state *state) +{ +// struct dmabuf *dmabuf = &state->dmabuf; +// struct i810_channel *channel = dmabuf->channel; + /* Fixed format. .. */ + //if (dmabuf->fmt & I810_FMT_16BIT) + //if (dmabuf->fmt & I810_FMT_STEREO) +} + +/* prepare channel attributes for recording */ +static void i810_rec_setup(struct i810_state *state) +{ +// u16 w; +// struct i810_card *card = state->card; +// struct dmabuf *dmabuf = &state->dmabuf; +// struct i810_channel *channel = dmabuf->channel; + + /* Enable AC-97 ADC (capture) */ +// if (dmabuf->fmt & I810_FMT_16BIT) { +// if (dmabuf->fmt & I810_FMT_STEREO) +} + + +/* get current playback/recording dma buffer pointer (byte offset from LBA), + called with spinlock held! */ + +extern __inline__ unsigned i810_get_dma_addr(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + u32 offset; + struct i810_channel *c = dmabuf->channel; + + if (!dmabuf->enable) + return 0; + offset = inb(state->card->iobase+c->port+OFF_CIV); +// offset++; + offset&=31; + /* Offset has to compensate for the fact we finished the segment + on the IRQ so we are at next_segment,0 */ +// printk("BANK%d ", offset); + offset *= (dmabuf->dmasize/SG_LEN); +// printk("DMASZ=%d", dmabuf->dmasize); +// offset += 1024-(2*inw(state->card->iobase+c->port+OFF_PICB)); +// printk("OFF%d ", offset); + return offset; +} + +static void resync_dma_ptrs(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + struct i810_channel *c = dmabuf->channel; + int offset; + + offset = inb(state->card->iobase+c->port+OFF_CIV); + offset *= (dmabuf->dmasize/SG_LEN); + + dmabuf->hwptr=dmabuf->swptr = offset; +} + +/* Stop recording (lock held) */ +extern __inline__ void __stop_adc(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + struct i810_card *card = state->card; + + dmabuf->enable &= ~ADC_RUNNING; + outb(0, card->iobase + PI_CR); +} + +static void stop_adc(struct i810_state *state) +{ + struct i810_card *card = state->card; + unsigned long flags; + + spin_lock_irqsave(&card->lock, flags); + __stop_adc(state); + spin_unlock_irqrestore(&card->lock, flags); +} + +static void start_adc(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + struct i810_card *card = state->card; + unsigned long flags; + + spin_lock_irqsave(&card->lock, flags); + if ((dmabuf->mapped || dmabuf->count < (signed)dmabuf->dmasize) && dmabuf->ready) { + dmabuf->enable |= ADC_RUNNING; + outb((1<<4) | 1<<2 | 1, card->iobase + PI_CR); + } + spin_unlock_irqrestore(&card->lock, flags); +} + +/* stop playback (lock held) */ +extern __inline__ void __stop_dac(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + struct i810_card *card = state->card; + + dmabuf->enable &= ~DAC_RUNNING; + outb(0, card->iobase + PO_CR); +} + +static void stop_dac(struct i810_state *state) +{ + struct i810_card *card = state->card; + unsigned long flags; + + spin_lock_irqsave(&card->lock, flags); + __stop_dac(state); + spin_unlock_irqrestore(&card->lock, flags); +} + +static void start_dac(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + struct i810_card *card = state->card; + unsigned long flags; + + spin_lock_irqsave(&card->lock, flags); + if ((dmabuf->mapped || dmabuf->count > 0) && dmabuf->ready) { + if(!(dmabuf->enable&DAC_RUNNING)) + { + dmabuf->enable |= DAC_RUNNING; + outb((1<<4) | 1<<2 | 1, card->iobase + PO_CR); + } + } + spin_unlock_irqrestore(&card->lock, flags); +} + +#define DMABUF_DEFAULTORDER (15-PAGE_SHIFT) +#define DMABUF_MINORDER 1 + +/* allocate DMA buffer, playback and recording buffer should be allocated seperately */ +static int alloc_dmabuf(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + void *rawbuf = NULL; + int order; + unsigned long map, mapend; + + /* alloc as big a chunk as we can */ + for (order = DMABUF_DEFAULTORDER; order >= DMABUF_MINORDER; order--) + if((rawbuf = (void *)__get_free_pages(GFP_KERNEL|GFP_DMA, order))) + break; + + if (!rawbuf) + return -ENOMEM; + +#ifdef DEBUG + printk("i810_audio: allocated %ld (order = %d) bytes at %p\n", + PAGE_SIZE << order, order, rawbuf); +#endif + + dmabuf->ready = dmabuf->mapped = 0; + dmabuf->rawbuf = rawbuf; + dmabuf->buforder = order; + + /* now mark the pages as reserved; otherwise remap_page_range doesn't do what we want */ + mapend = MAP_NR(rawbuf + (PAGE_SIZE << order) - 1); + for (map = MAP_NR(rawbuf); map <= mapend; map++) + set_bit(PG_reserved, &mem_map[map].flags); + + return 0; +} + +/* free DMA buffer */ +static void dealloc_dmabuf(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + unsigned long map, mapend; + + if (dmabuf->rawbuf) { + /* undo marking the pages as reserved */ + mapend = MAP_NR(dmabuf->rawbuf + (PAGE_SIZE << dmabuf->buforder) - 1); + for (map = MAP_NR(dmabuf->rawbuf); map <= mapend; map++) + clear_bit(PG_reserved, &mem_map[map].flags); + free_pages((unsigned long)dmabuf->rawbuf,dmabuf->buforder); + } + dmabuf->rawbuf = NULL; + dmabuf->mapped = dmabuf->ready = 0; +} + +static int prog_dmabuf(struct i810_state *state, unsigned rec) +{ + struct dmabuf *dmabuf = &state->dmabuf; + struct sg_item *sg; + unsigned bytepersec; + unsigned bufsize; + unsigned long flags; + int ret; + unsigned fragsize; + int i; + + spin_lock_irqsave(&state->card->lock, flags); + resync_dma_ptrs(state); + dmabuf->total_bytes = 0; + dmabuf->count = dmabuf->error = 0; + spin_unlock_irqrestore(&state->card->lock, flags); + + /* allocate DMA buffer if not allocated yet */ + if (!dmabuf->rawbuf) + if ((ret = alloc_dmabuf(state))) + return ret; + + /* FIXME: figure out all this OSS fragment stuff */ + bytepersec = dmabuf->rate << sample_shift[dmabuf->fmt]; + bufsize = PAGE_SIZE << dmabuf->buforder; + if (dmabuf->ossfragshift) { + if ((1000 << dmabuf->ossfragshift) < bytepersec) + dmabuf->fragshift = ld2(bytepersec/1000); + else + dmabuf->fragshift = dmabuf->ossfragshift; + } else { + /* lets hand out reasonable big ass buffers by default */ + dmabuf->fragshift = (dmabuf->buforder + PAGE_SHIFT -2); + } + dmabuf->numfrag = bufsize >> dmabuf->fragshift; + while (dmabuf->numfrag < 4 && dmabuf->fragshift > 3) { + dmabuf->fragshift--; + dmabuf->numfrag = bufsize >> dmabuf->fragshift; + } + dmabuf->fragsize = 1 << dmabuf->fragshift; + if (dmabuf->ossmaxfrags >= 4 && dmabuf->ossmaxfrags < dmabuf->numfrag) + dmabuf->numfrag = dmabuf->ossmaxfrags; + dmabuf->fragsamples = dmabuf->fragsize >> sample_shift[dmabuf->fmt]; + dmabuf->dmasize = dmabuf->numfrag << dmabuf->fragshift; + + memset(dmabuf->rawbuf, (dmabuf->fmt & I810_FMT_16BIT) ? 0 : 0x80, + dmabuf->dmasize); + + /* + * Now set up the ring + */ + + sg=&dmabuf->channel->sg[0]; + fragsize = bufsize / SG_LEN; + + /* + * Load up 32 sg entries and take an interrupt at half + * way (we might want more interrupts later..) + */ + + for(i=0;i<32;i++) + { + sg->busaddr=virt_to_bus(dmabuf->rawbuf+fragsize*i); + sg->control=(fragsize>>1); + sg->control|=CON_IOC; + sg++; + } + spin_lock_irqsave(&state->card->lock, flags); + outl(virt_to_bus(&dmabuf->channel->sg[0]), state->card->iobase+dmabuf->channel->port+OFF_BDBAR); + outb(16, state->card->iobase+dmabuf->channel->port+OFF_LVI); + outb(0, state->card->iobase+dmabuf->channel->port+OFF_CIV); + if (rec) { + i810_rec_setup(state); + } else { + i810_play_setup(state); + } + spin_unlock_irqrestore(&state->card->lock, flags); + + /* set the ready flag for the dma buffer */ + dmabuf->ready = 1; + +#ifdef DEBUG + printk("i810_audio: prog_dmabuf, sample rate = %d, format = %d, numfrag = %d, " + "fragsize = %d dmasize = %d\n", + dmabuf->rate, dmabuf->fmt, dmabuf->numfrag, + dmabuf->fragsize, dmabuf->dmasize); +#endif + + return 0; +} + +/* we are doing quantum mechanics here, the buffer can only be empty, half or full filled i.e. + |------------|------------| or |xxxxxxxxxxxx|------------| or |xxxxxxxxxxxx|xxxxxxxxxxxx| + but we almost always get this + |xxxxxx------|------------| or |xxxxxxxxxxxx|xxxxx-------| + so we have to clear the tail space to "silence" + |xxxxxx000000|------------| or |xxxxxxxxxxxx|xxxxxx000000| +*/ +static void i810_clear_tail(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + unsigned swptr; + unsigned char silence = (dmabuf->fmt & I810_FMT_16BIT) ? 0 : 0x80; + unsigned int len; + unsigned long flags; + + spin_lock_irqsave(&state->card->lock, flags); + swptr = dmabuf->swptr; + spin_unlock_irqrestore(&state->card->lock, flags); + + if (swptr == 0 || swptr == dmabuf->dmasize / 2 || swptr == dmabuf->dmasize) + return; + + if (swptr < dmabuf->dmasize/2) + len = dmabuf->dmasize/2 - swptr; + else + len = dmabuf->dmasize - swptr; + + memset(dmabuf->rawbuf + swptr, silence, len); + + spin_lock_irqsave(&state->card->lock, flags); + dmabuf->swptr += len; + dmabuf->count += len; + spin_unlock_irqrestore(&state->card->lock, flags); + + /* restart the dma machine in case it is halted */ + start_dac(state); +} + +static int drain_dac(struct i810_state *state, int nonblock) +{ + struct wait_queue wait = {current, NULL}; + struct dmabuf *dmabuf = &state->dmabuf; + unsigned long flags; + unsigned long tmo; + int count; + + if (dmabuf->mapped || !dmabuf->ready) + return 0; + + add_wait_queue(&dmabuf->wait, &wait); + for (;;) { + /* It seems that we have to set the current state to TASK_INTERRUPTIBLE + every time to make the process really go to sleep */ + current->state = TASK_INTERRUPTIBLE; + + spin_lock_irqsave(&state->card->lock, flags); + count = dmabuf->count; + spin_unlock_irqrestore(&state->card->lock, flags); + + if (count <= 0) + break; + + if (signal_pending(current)) + break; + + if (nonblock) { + remove_wait_queue(&dmabuf->wait, &wait); + current->state = TASK_RUNNING; + return -EBUSY; + } + + tmo = (dmabuf->dmasize * HZ) / dmabuf->rate; + tmo >>= sample_shift[dmabuf->fmt]; + if (!schedule_timeout(tmo ? tmo : 1) && tmo){ + printk(KERN_ERR "i810_audio: drain_dac, dma timeout?\n"); + break; + } + } + remove_wait_queue(&dmabuf->wait, &wait); + current->state = TASK_RUNNING; + if (signal_pending(current)) + return -ERESTARTSYS; + + return 0; +} + +/* update buffer manangement pointers, especially, dmabuf->count and dmabuf->hwptr */ +static void i810_update_ptr(struct i810_state *state) +{ + struct dmabuf *dmabuf = &state->dmabuf; + unsigned hwptr, swptr; + int clear_cnt = 0; + int diff; + unsigned char silence; +// unsigned half_dmasize; + + /* update hardware pointer */ + hwptr = i810_get_dma_addr(state); + diff = (dmabuf->dmasize + hwptr - dmabuf->hwptr) % dmabuf->dmasize; +// printk("HWP %d,%d,%d\n", hwptr, dmabuf->hwptr, diff); + dmabuf->hwptr = hwptr; + dmabuf->total_bytes += diff; + + /* error handling and process wake up for DAC */ + if (dmabuf->enable == ADC_RUNNING) { + if (dmabuf->mapped) { + dmabuf->count -= diff; + if (dmabuf->count >= (signed)dmabuf->fragsize) + wake_up(&dmabuf->wait); + } else { + dmabuf->count += diff; + + if (dmabuf->count < 0 || dmabuf->count > dmabuf->dmasize) { + /* buffer underrun or buffer overrun, we have no way to recover + it here, just stop the machine and let the process force hwptr + and swptr to sync */ + __stop_adc(state); + dmabuf->error++; + } + else if (!dmabuf->endcleared) { + swptr = dmabuf->swptr; + silence = (dmabuf->fmt & I810_FMT_16BIT ? 0 : 0x80); + if (dmabuf->count < (signed) dmabuf->fragsize) + { + clear_cnt = dmabuf->fragsize; + if ((swptr + clear_cnt) > dmabuf->dmasize) + clear_cnt = dmabuf->dmasize - swptr; + memset (dmabuf->rawbuf + swptr, silence, clear_cnt); + dmabuf->endcleared = 1; + } + } + wake_up(&dmabuf->wait); + } + } + /* error handling and process wake up for DAC */ + if (dmabuf->enable == DAC_RUNNING) { + if (dmabuf->mapped) { + dmabuf->count += diff; + if (dmabuf->count >= (signed)dmabuf->fragsize) + wake_up(&dmabuf->wait); + } else { + dmabuf->count -= diff; + + if (dmabuf->count < 0 || dmabuf->count > dmabuf->dmasize) { + /* buffer underrun or buffer overrun, we have no way to recover + it here, just stop the machine and let the process force hwptr + and swptr to sync */ + __stop_dac(state); +// printk("DMA overrun on send\n"); + dmabuf->error++; + } + wake_up(&dmabuf->wait); + } + } +} + +static void i810_channel_interrupt(struct i810_card *card) +{ + int i; + +// printk("CHANNEL IRQ .. "); + for(i=0;istates[i]; + struct i810_channel *c; + unsigned long port = card->iobase; + u16 status; + + if(!state) + continue; + if(!state->dmabuf.ready) + continue; + c=state->dmabuf.channel; + + port+=c->port; + +// printk("PORT %lX (", port); + + status = inw(port + OFF_SR); + +// printk("ST%d ", status); + + if(status & DMA_INT_LVI) + { + /* Back to the start */ +// printk("LVI - STOP"); + outb((inb(port+OFF_CIV)-1)&31, port+OFF_LVI); + i810_update_ptr(state); + outb(0, port + OFF_CR); + } + if(status & DMA_INT_COMPLETE) + { + int x; + /* Keep the card chasing its tail */ + outb(x=((inb(port+OFF_CIV)-1)&31), port+OFF_LVI); + i810_update_ptr(state); +// printk("COMP%d ",x); + } +// printk(")"); + outw(status & DMA_INT_MASK, port + OFF_SR); + } +// printk("\n"); +} + +static void i810_interrupt(int irq, void *dev_id, struct pt_regs *regs) +{ + struct i810_card *card = (struct i810_card *)dev_id; + u32 status; + + spin_lock(&card->lock); + + status = inl(card->iobase + GLOB_STA); + if(!(status & INT_MASK)) + return; /* not for us */ + +// printk("Interrupt %X: ", status); + if(status & (INT_PO|INT_PI|INT_MC)) + i810_channel_interrupt(card); + + /* clear 'em */ + outl(status & INT_MASK, card->iobase + GLOB_STA); + spin_unlock(&card->lock); +} + +static loff_t i810_llseek(struct file *file, loff_t offset, int origin) +{ + return -ESPIPE; +} + +/* in this loop, dmabuf.count signifies the amount of data that is waiting to be copied to + the user's buffer. it is filled by the dma machine and drained by this loop. */ +static ssize_t i810_read(struct file *file, char *buffer, size_t count, loff_t *ppos) +{ + struct i810_state *state = (struct i810_state *)file->private_data; + struct dmabuf *dmabuf = &state->dmabuf; + ssize_t ret; + unsigned long flags; + unsigned swptr; + int cnt; + +#ifdef DEBUG + printk("i810_audio: i810_read called, count = %d\n", count); +#endif + + if (ppos != &file->f_pos) + return -ESPIPE; + if (dmabuf->mapped) + return -ENXIO; + if (!dmabuf->ready && (ret = prog_dmabuf(state, 1))) + return ret; + if (!access_ok(VERIFY_WRITE, buffer, count)) + return -EFAULT; + ret = 0; + + while (count > 0) { + spin_lock_irqsave(&state->card->lock, flags); + if (dmabuf->count > (signed) dmabuf->dmasize) { + /* buffer overrun, we are recovering from sleep_on_timeout, + resync hwptr and swptr, make process flush the buffer */ + dmabuf->count = dmabuf->dmasize; + dmabuf->swptr = dmabuf->hwptr; + } + swptr = dmabuf->swptr; + cnt = dmabuf->dmasize - swptr; + if (dmabuf->count < cnt) + cnt = dmabuf->count; + spin_unlock_irqrestore(&state->card->lock, flags); + + if (cnt > count) + cnt = count; + if (cnt <= 0) { + unsigned long tmo; + /* buffer is empty, start the dma machine and wait for data to be + recorded */ + start_adc(state); + if (file->f_flags & O_NONBLOCK) { + if (!ret) ret = -EAGAIN; + return ret; + } + /* This isnt strictly right for the 810 but it'll do */ + tmo = (dmabuf->dmasize * HZ) / (dmabuf->rate * 2); + tmo >>= sample_shift[dmabuf->fmt]; + /* There are two situations when sleep_on_timeout returns, one is when + the interrupt is serviced correctly and the process is waked up by + ISR ON TIME. Another is when timeout is expired, which means that + either interrupt is NOT serviced correctly (pending interrupt) or it + is TOO LATE for the process to be scheduled to run (scheduler latency) + which results in a (potential) buffer overrun. And worse, there is + NOTHING we can do to prevent it. */ + if (!interruptible_sleep_on_timeout(&dmabuf->wait, tmo)) { +#ifdef DEBUG + printk(KERN_ERR "i810_audio: recording schedule timeout, " + "dmasz %u fragsz %u count %i hwptr %u swptr %u\n", + dmabuf->dmasize, dmabuf->fragsize, dmabuf->count, + dmabuf->hwptr, dmabuf->swptr); +#endif + /* a buffer overrun, we delay the recovery untill next time the + while loop begin and we REALLY have space to record */ + } + if (signal_pending(current)) { + ret = ret ? ret : -ERESTARTSYS; + return ret; + } + continue; + } + + if (copy_to_user(buffer, dmabuf->rawbuf + swptr, cnt)) { + if (!ret) ret = -EFAULT; + return ret; + } + + swptr = (swptr + cnt) % dmabuf->dmasize; + + spin_lock_irqsave(&state->card->lock, flags); + dmabuf->swptr = swptr; + dmabuf->count -= cnt; + spin_unlock_irqrestore(&state->card->lock, flags); + + count -= cnt; + buffer += cnt; + ret += cnt; + start_adc(state); + } + return ret; +} + +/* in this loop, dmabuf.count signifies the amount of data that is waiting to be dma to + the soundcard. it is drained by the dma machine and filled by this loop. */ +static ssize_t i810_write(struct file *file, const char *buffer, size_t count, loff_t *ppos) +{ + struct i810_state *state = (struct i810_state *)file->private_data; + struct dmabuf *dmabuf = &state->dmabuf; + ssize_t ret; + unsigned long flags; + unsigned swptr; + int cnt; + +#ifdef DEBUG + printk("i810_audio: i810_write called, count = %d\n", count); +#endif + + if (ppos != &file->f_pos) + return -ESPIPE; + if (dmabuf->mapped) + return -ENXIO; + if (!dmabuf->ready && (ret = prog_dmabuf(state, 0))) + return ret; + if (!access_ok(VERIFY_READ, buffer, count)) + return -EFAULT; + ret = 0; + + while (count > 0) { + spin_lock_irqsave(&state->card->lock, flags); + if (dmabuf->count < 0) { + /* buffer underrun, we are recovering from sleep_on_timeout, + resync hwptr and swptr */ + dmabuf->count = 0; + dmabuf->swptr = dmabuf->hwptr; + } + swptr = dmabuf->swptr; + cnt = dmabuf->dmasize - swptr; + if (dmabuf->count + cnt > dmabuf->dmasize) + cnt = dmabuf->dmasize - dmabuf->count; + spin_unlock_irqrestore(&state->card->lock, flags); + + if (cnt > count) + cnt = count; + if (cnt <= 0) { + unsigned long tmo; + /* buffer is full, start the dma machine and wait for data to be + played */ + start_dac(state); + if (file->f_flags & O_NONBLOCK) { + if (!ret) ret = -EAGAIN; + return ret; + } + /* Not strictly correct but works */ + tmo = (dmabuf->dmasize * HZ) / (dmabuf->rate * 2); + tmo >>= sample_shift[dmabuf->fmt]; + /* There are two situations when sleep_on_timeout returns, one is when + the interrupt is serviced correctly and the process is waked up by + ISR ON TIME. Another is when timeout is expired, which means that + either interrupt is NOT serviced correctly (pending interrupt) or it + is TOO LATE for the process to be scheduled to run (scheduler latency) + which results in a (potential) buffer underrun. And worse, there is + NOTHING we can do to prevent it. */ + if (!interruptible_sleep_on_timeout(&dmabuf->wait, tmo)) { +#ifdef DEBUG + printk(KERN_ERR "i810_audio: playback schedule timeout, " + "dmasz %u fragsz %u count %i hwptr %u swptr %u\n", + dmabuf->dmasize, dmabuf->fragsize, dmabuf->count, + dmabuf->hwptr, dmabuf->swptr); +#endif + /* a buffer underrun, we delay the recovery untill next time the + while loop begin and we REALLY have data to play */ + } + if (signal_pending(current)) { + if (!ret) ret = -ERESTARTSYS; + return ret; + } + continue; + } + if (copy_from_user(dmabuf->rawbuf + swptr, buffer, cnt)) { + if (!ret) ret = -EFAULT; + return ret; + } + + swptr = (swptr + cnt) % dmabuf->dmasize; + + spin_lock_irqsave(&state->card->lock, flags); + dmabuf->swptr = swptr; + dmabuf->count += cnt; + dmabuf->endcleared = 0; + spin_unlock_irqrestore(&state->card->lock, flags); + + count -= cnt; + buffer += cnt; + ret += cnt; + start_dac(state); + } + return ret; +} + +static unsigned int i810_poll(struct file *file, struct poll_table_struct *wait) +{ + struct i810_state *state = (struct i810_state *)file->private_data; + struct dmabuf *dmabuf = &state->dmabuf; + unsigned long flags; + unsigned int mask = 0; + + if (file->f_mode & FMODE_WRITE) + poll_wait(file, &dmabuf->wait, wait); + if (file->f_mode & FMODE_READ) + poll_wait(file, &dmabuf->wait, wait); + + spin_lock_irqsave(&state->card->lock, flags); + i810_update_ptr(state); + if (file->f_mode & FMODE_READ) { + if (dmabuf->count >= (signed)dmabuf->fragsize) + mask |= POLLIN | POLLRDNORM; + } + if (file->f_mode & FMODE_WRITE) { + if (dmabuf->mapped) { + if (dmabuf->count >= (signed)dmabuf->fragsize) + mask |= POLLOUT | POLLWRNORM; + } else { + if ((signed)dmabuf->dmasize >= dmabuf->count + (signed)dmabuf->fragsize) + mask |= POLLOUT | POLLWRNORM; + } + } + spin_unlock_irqrestore(&state->card->lock, flags); + + return mask; +} + +static int i810_mmap(struct file *file, struct vm_area_struct *vma) +{ + struct i810_state *state = (struct i810_state *)file->private_data; + struct dmabuf *dmabuf = &state->dmabuf; + int ret; + unsigned long size; + + if (vma->vm_flags & VM_WRITE) { + if ((ret = prog_dmabuf(state, 0)) != 0) + return ret; + } else if (vma->vm_flags & VM_READ) { + if ((ret = prog_dmabuf(state, 1)) != 0) + return ret; + } else + return -EINVAL; + + if (vma->vm_offset != 0) + return -EINVAL; + size = vma->vm_end - vma->vm_start; + if (size > (PAGE_SIZE << dmabuf->buforder)) + return -EINVAL; + if (remap_page_range(vma->vm_start, virt_to_phys(dmabuf->rawbuf), + size, vma->vm_page_prot)) + return -EAGAIN; + dmabuf->mapped = 1; + + return 0; +} + +static int i810_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) +{ + struct i810_state *state = (struct i810_state *)file->private_data; + struct dmabuf *dmabuf = &state->dmabuf; + unsigned long flags; + audio_buf_info abinfo; + count_info cinfo; + int val, mapped, ret; + + mapped = ((file->f_mode & FMODE_WRITE) && dmabuf->mapped) || + ((file->f_mode & FMODE_READ) && dmabuf->mapped); +#ifdef DEBUG + printk("i810_audio: i810_ioctl, command = %2d, arg = 0x%08x\n", + _IOC_NR(cmd), arg ? *(int *)arg : 0); +#endif + + switch (cmd) + { + case OSS_GETVERSION: + return put_user(SOUND_VERSION, (int *)arg); + + case SNDCTL_DSP_RESET: + /* FIXME: spin_lock ? */ + if (file->f_mode & FMODE_WRITE) { + stop_dac(state); + synchronize_irq(); + dmabuf->ready = 0; + resync_dma_ptrs(state); + dmabuf->swptr = dmabuf->hwptr = 0; + dmabuf->count = dmabuf->total_bytes = 0; + } + if (file->f_mode & FMODE_READ) { + stop_adc(state); + synchronize_irq(); + resync_dma_ptrs(state); + dmabuf->ready = 0; + dmabuf->swptr = dmabuf->hwptr = 0; + dmabuf->count = dmabuf->total_bytes = 0; + } + return 0; + + case SNDCTL_DSP_SYNC: + if (file->f_mode & FMODE_WRITE) + return drain_dac(state, file->f_flags & O_NONBLOCK); + return 0; + + case SNDCTL_DSP_SPEED: /* set smaple rate */ + get_user_ret(val, (int *)arg, -EFAULT); + if (val >= 0) { + if (file->f_mode & FMODE_WRITE) { + stop_dac(state); + dmabuf->ready = 0; + spin_lock_irqsave(&state->card->lock, flags); + i810_set_dac_rate(state, val); + spin_unlock_irqrestore(&state->card->lock, flags); + } + if (file->f_mode & FMODE_READ) { + stop_adc(state); + dmabuf->ready = 0; + spin_lock_irqsave(&state->card->lock, flags); + i810_set_adc_rate(state, val); + spin_unlock_irqrestore(&state->card->lock, flags); + } + } + return put_user(dmabuf->rate, (int *)arg); + + case SNDCTL_DSP_STEREO: /* set stereo or mono channel */ + get_user_ret(val, (int *)arg, -EFAULT); + if(val==0) + return -EINVAL; + if (file->f_mode & FMODE_WRITE) { + stop_dac(state); + dmabuf->ready = 0; + dmabuf->fmt = I810_FMT_STEREO; + } + if (file->f_mode & FMODE_READ) { + stop_adc(state); + dmabuf->ready = 0; + dmabuf->fmt = I810_FMT_STEREO; + } + return 0; + + case SNDCTL_DSP_GETBLKSIZE: + if (file->f_mode & FMODE_WRITE) { + if ((val = prog_dmabuf(state, 0))) + return val; + return put_user(dmabuf->fragsize, (int *)arg); + } + if (file->f_mode & FMODE_READ) { + if ((val = prog_dmabuf(state, 1))) + return val; + return put_user(dmabuf->fragsize, (int *)arg); + } + + case SNDCTL_DSP_GETFMTS: /* Returns a mask of supported sample format*/ + return put_user(AFMT_S16_LE, (int *)arg); + + case SNDCTL_DSP_SETFMT: /* Select sample format */ + get_user_ret(val, (int *)arg, -EFAULT); + if (val != AFMT_QUERY) { + if (file->f_mode & FMODE_WRITE) { + stop_dac(state); + dmabuf->ready = 0; + } + if (file->f_mode & FMODE_READ) { + stop_adc(state); + dmabuf->ready = 0; + } + } + return put_user(AFMT_S16_LE, (int *)arg); + + case SNDCTL_DSP_CHANNELS: + get_user_ret(val, (int *)arg, -EFAULT); + if (val != 0) { + if (file->f_mode & FMODE_WRITE) { + stop_dac(state); + dmabuf->ready = 0; + } + if (file->f_mode & FMODE_READ) { + stop_adc(state); + dmabuf->ready = 0; + } + } + return put_user(2, (int *)arg); + + case SNDCTL_DSP_POST: + /* FIXME: the same as RESET ?? */ + return 0; + + case SNDCTL_DSP_SUBDIVIDE: + if (dmabuf->subdivision) + return -EINVAL; + get_user_ret(val, (int *)arg, -EFAULT); + if (val != 1 && val != 2 && val != 4) + return -EINVAL; + dmabuf->subdivision = val; + return 0; + + case SNDCTL_DSP_SETFRAGMENT: + get_user_ret(val, (int *)arg, -EFAULT); + + dmabuf->ossfragshift = val & 0xffff; + dmabuf->ossmaxfrags = (val >> 16) & 0xffff; + if (dmabuf->ossfragshift < 4) + dmabuf->ossfragshift = 4; + if (dmabuf->ossfragshift > 15) + dmabuf->ossfragshift = 15; + if (dmabuf->ossmaxfrags < 4) + dmabuf->ossmaxfrags = 4; + + return 0; + + case SNDCTL_DSP_GETOSPACE: + if (!(file->f_mode & FMODE_WRITE)) + return -EINVAL; + if (!dmabuf->enable && (val = prog_dmabuf(state, 0)) != 0) + return val; + spin_lock_irqsave(&state->card->lock, flags); + i810_update_ptr(state); + abinfo.fragsize = dmabuf->fragsize; + abinfo.bytes = dmabuf->dmasize - dmabuf->count; + abinfo.fragstotal = dmabuf->numfrag; + abinfo.fragments = abinfo.bytes >> dmabuf->fragshift; + spin_unlock_irqrestore(&state->card->lock, flags); + return copy_to_user((void *)arg, &abinfo, sizeof(abinfo)) ? -EFAULT : 0; + + case SNDCTL_DSP_GETISPACE: + if (!(file->f_mode & FMODE_READ)) + return -EINVAL; + if (!dmabuf->enable && (val = prog_dmabuf(state, 1)) != 0) + return val; + spin_lock_irqsave(&state->card->lock, flags); + i810_update_ptr(state); + abinfo.fragsize = dmabuf->fragsize; + abinfo.bytes = dmabuf->count; + abinfo.fragstotal = dmabuf->numfrag; + abinfo.fragments = abinfo.bytes >> dmabuf->fragshift; + spin_unlock_irqrestore(&state->card->lock, flags); + return copy_to_user((void *)arg, &abinfo, sizeof(abinfo)) ? -EFAULT : 0; + + case SNDCTL_DSP_NONBLOCK: + file->f_flags |= O_NONBLOCK; + return 0; + + case SNDCTL_DSP_GETCAPS: + return put_user(DSP_CAP_REALTIME|DSP_CAP_TRIGGER|DSP_CAP_MMAP, + (int *)arg); + + case SNDCTL_DSP_GETTRIGGER: + val = 0; + if (file->f_mode & FMODE_READ && dmabuf->enable) + val |= PCM_ENABLE_INPUT; + if (file->f_mode & FMODE_WRITE && dmabuf->enable) + val |= PCM_ENABLE_OUTPUT; + return put_user(val, (int *)arg); + + case SNDCTL_DSP_SETTRIGGER: + get_user_ret(val, (int *)arg, -EFAULT); + if (file->f_mode & FMODE_READ) { + if (val & PCM_ENABLE_INPUT) { + if (!dmabuf->ready && (ret = prog_dmabuf(state, 1))) + return ret; + start_adc(state); + } else + stop_adc(state); + } + if (file->f_mode & FMODE_WRITE) { + if (val & PCM_ENABLE_OUTPUT) { + if (!dmabuf->ready && (ret = prog_dmabuf(state, 0))) + return ret; + start_dac(state); + } else + stop_dac(state); + } + return 0; + + case SNDCTL_DSP_GETIPTR: + if (!(file->f_mode & FMODE_READ)) + return -EINVAL; + spin_lock_irqsave(&state->card->lock, flags); + i810_update_ptr(state); + cinfo.bytes = dmabuf->total_bytes; + cinfo.blocks = dmabuf->count >> dmabuf->fragshift; + cinfo.ptr = dmabuf->hwptr; + if (dmabuf->mapped) + dmabuf->count &= dmabuf->fragsize-1; + spin_unlock_irqrestore(&state->card->lock, flags); + return copy_to_user((void *)arg, &cinfo, sizeof(cinfo)); + + case SNDCTL_DSP_GETOPTR: + if (!(file->f_mode & FMODE_WRITE)) + return -EINVAL; + spin_lock_irqsave(&state->card->lock, flags); + i810_update_ptr(state); + cinfo.bytes = dmabuf->total_bytes; + cinfo.blocks = dmabuf->count >> dmabuf->fragshift; + cinfo.ptr = dmabuf->hwptr; + if (dmabuf->mapped) + dmabuf->count &= dmabuf->fragsize-1; + spin_unlock_irqrestore(&state->card->lock, flags); + return copy_to_user((void *)arg, &cinfo, sizeof(cinfo)); + + case SNDCTL_DSP_SETDUPLEX: + return -EINVAL; + + case SNDCTL_DSP_GETODELAY: + if (!(file->f_mode & FMODE_WRITE)) + return -EINVAL; + spin_lock_irqsave(&state->card->lock, flags); + i810_update_ptr(state); + val = dmabuf->count; + spin_unlock_irqrestore(&state->card->lock, flags); + return put_user(val, (int *)arg); + + case SOUND_PCM_READ_RATE: + return put_user(dmabuf->rate, (int *)arg); + + case SOUND_PCM_READ_CHANNELS: + return put_user((dmabuf->fmt & I810_FMT_STEREO) ? 2 : 1, + (int *)arg); + + case SOUND_PCM_READ_BITS: + return put_user(AFMT_S16_LE, (int *)arg); + + case SNDCTL_DSP_MAPINBUF: + case SNDCTL_DSP_MAPOUTBUF: + case SNDCTL_DSP_SETSYNCRO: + case SOUND_PCM_WRITE_FILTER: + case SOUND_PCM_READ_FILTER: + return -EINVAL; + } + return -EINVAL; +} + +static int i810_open(struct inode *inode, struct file *file) +{ + int i = 0; + int minor = MINOR(inode->i_rdev); + struct i810_card *card = devs; + struct i810_state *state = NULL; + struct dmabuf *dmabuf = NULL; + + /* find an avaiable virtual channel (instance of /dev/dsp) */ + while (card != NULL) { + for (i = 0; i < NR_HW_CH; i++) { + if (card->states[i] == NULL) { + state = card->states[i] = (struct i810_state *) + kmalloc(sizeof(struct i810_state), GFP_KERNEL); + if (state == NULL) + return -ENOMEM; + memset(state, 0, sizeof(struct i810_state)); + dmabuf = &state->dmabuf; + goto found_virt; + } + } + card = card->next; + } + /* no more virtual channel avaiable */ + if (!state) + return -ENODEV; + + found_virt: + /* found a free virtual channel, allocate hardware channels */ + if(file->f_mode & FMODE_READ) + dmabuf->channel = card->alloc_rec_pcm_channel(card); + else + dmabuf->channel = card->alloc_pcm_channel(card); + + if (dmabuf->channel == NULL) { + kfree (card->states[i]); + card->states[i] = NULL;; + return -ENODEV; + } + + /* initialize the virtual channel */ + state->virt = i; + state->card = card; + state->magic = I810_STATE_MAGIC; + dmabuf->wait = NULL; + state->open_sem = MUTEX; + file->private_data = state; + + down(&state->open_sem); + + /* set default sample format. According to OSS Programmer's Guide /dev/dsp + should be default to unsigned 8-bits, mono, with sample rate 8kHz and + /dev/dspW will accept 16-bits sample */ + if (file->f_mode & FMODE_WRITE) { + dmabuf->fmt &= ~I810_FMT_MASK; + dmabuf->fmt |= I810_FMT_16BIT; + dmabuf->ossfragshift = 0; + dmabuf->ossmaxfrags = 0; + dmabuf->subdivision = 0; + i810_set_dac_rate(state, 48000); + } + + if (file->f_mode & FMODE_READ) { + dmabuf->fmt &= ~I810_FMT_MASK; + dmabuf->fmt |= I810_FMT_16BIT; + dmabuf->ossfragshift = 0; + dmabuf->ossmaxfrags = 0; + dmabuf->subdivision = 0; + i810_set_adc_rate(state, 48000); + } + + state->open_mode |= file->f_mode & (FMODE_READ | FMODE_WRITE); + up(&state->open_sem); + + MOD_INC_USE_COUNT; + return 0; +} + +static int i810_release(struct inode *inode, struct file *file) +{ + struct i810_state *state = (struct i810_state *)file->private_data; + struct dmabuf *dmabuf = &state->dmabuf; + + if (file->f_mode & FMODE_WRITE) { + /* FIXME :.. */ + i810_clear_tail(state); + drain_dac(state, file->f_flags & O_NONBLOCK); + } + + /* stop DMA state machine and free DMA buffers/channels */ + down(&state->open_sem); + + if (file->f_mode & FMODE_WRITE) { + stop_dac(state); + dealloc_dmabuf(state); + state->card->free_pcm_channel(state->card, dmabuf->channel->num); + } + if (file->f_mode & FMODE_READ) { + stop_adc(state); + dealloc_dmabuf(state); + state->card->free_pcm_channel(state->card, dmabuf->channel->num); + } + + kfree(state->card->states[state->virt]); + state->card->states[state->virt] = NULL; + state->open_mode &= (~file->f_mode) & (FMODE_READ|FMODE_WRITE); + + /* we're covered by the open_sem */ + up(&state->open_sem); + + MOD_DEC_USE_COUNT; + return 0; +} + +static /*const*/ struct file_operations i810_audio_fops = { + llseek: i810_llseek, + read: i810_read, + write: i810_write, + poll: i810_poll, + ioctl: i810_ioctl, + mmap: i810_mmap, + open: i810_open, + release: i810_release, +}; + +/* Write AC97 codec registers */ + +static u16 i810_ac97_get(struct ac97_codec *dev, u8 reg) +{ + struct i810_card *card = dev->private_data; + int count = 100; + + while(count-- && (inb(card->iobase + CAS) & 1)) + udelay(1); + return inw(card->ac97base + (reg&0x7f)); +} + +static void i810_ac97_set(struct ac97_codec *dev, u8 reg, u16 data) +{ + struct i810_card *card = dev->private_data; + int count = 100; + + while(count-- && (inb(card->iobase + CAS) & 1)) + udelay(1); + outw(data, card->ac97base + (reg&0x7f)); +} + + +/* OSS /dev/mixer file operation methods */ + +static int i810_open_mixdev(struct inode *inode, struct file *file) +{ + int i; + int minor = MINOR(inode->i_rdev); + struct i810_card *card = devs; + + for (card = devs; card != NULL; card = card->next) + for (i = 0; i < NR_AC97; i++) + if (card->ac97_codec[i] != NULL && + card->ac97_codec[i]->dev_mixer == minor) + goto match; + + if (!card) + return -ENODEV; + + match: + file->private_data = card->ac97_codec[i]; + + MOD_INC_USE_COUNT; + return 0; +} + +static int i810_release_mixdev(struct inode *inode, struct file *file) +{ + MOD_DEC_USE_COUNT; + return 0; +} + +static int i810_ioctl_mixdev(struct inode *inode, struct file *file, unsigned int cmd, + unsigned long arg) +{ + struct ac97_codec *codec = (struct ac97_codec *)file->private_data; + + return codec->mixer_ioctl(codec, cmd, arg); +} + +static /*const*/ struct file_operations i810_mixer_fops = { + llseek: i810_llseek, + ioctl: i810_ioctl_mixdev, + open: i810_open_mixdev, + release: i810_release_mixdev, +}; + +/* AC97 codec initialisation. */ +static int __init i810_ac97_init(struct i810_card *card) +{ + int num_ac97 = 0; + int ready_2nd = 0; + struct ac97_codec *codec; + u16 eid; + + outl(0, card->iobase + GLOB_CNT); + udelay(500); + outl(1<<1, card->iobase + GLOB_CNT); + + for (num_ac97 = 0; num_ac97 < NR_AC97; num_ac97++) { + if ((codec = kmalloc(sizeof(struct ac97_codec), GFP_KERNEL)) == NULL) + return -ENOMEM; + memset(codec, 0, sizeof(struct ac97_codec)); + + /* initialize some basic codec information, other fields will be filled + in ac97_probe_codec */ + codec->private_data = card; + codec->id = num_ac97; + + codec->codec_read = i810_ac97_get; + codec->codec_write = i810_ac97_set; + + if (ac97_probe_codec(codec) == 0) + break; + + eid = i810_ac97_get(codec, AC97_EXTENDED_ID); + + if(eid==0xFFFFFF) + { + printk(KERN_WARNING "i810_audio: no codec attached ?\n"); + kfree(codec); + break; + } + + card->ac97_features = eid; + + if(!(eid&0x0001)) + printk(KERN_WARNING "i810_audio: only 48Khz playback available.\n"); + + if ((codec->dev_mixer = register_sound_mixer(&i810_mixer_fops, -1)) < 0) { + printk(KERN_ERR "i810_audio: couldn't register mixer!\n"); + kfree(codec); + break; + } + + /* Now check the codec for useful features to make up for + the dumbness of the 810 hardware engine */ + + card->ac97_codec[num_ac97] = codec; + + /* if there is no secondary codec at all, don't probe any more */ + if (!ready_2nd) + return num_ac97+1; + } + return num_ac97; +} + +/* install the driver, we do not allocate hardware channel nor DMA buffer now, they are defered + untill "ACCESS" time (in prog_dmabuf called by open/read/write/ioctl/mmap) */ + +static int __init i810_install(struct pci_dev *pci_dev, int type, char *name) +{ + struct i810_card *card; + + if ((card = kmalloc(sizeof(struct i810_card), GFP_KERNEL)) == NULL) { + printk(KERN_ERR "i810_audio: out of memory\n"); + return -ENOMEM; + } + memset(card, 0, sizeof(*card)); + + card->iobase = pci_dev->base_address[1]&PCI_BASE_ADDRESS_IO_MASK; + card->ac97base = pci_dev->base_address[0]&PCI_BASE_ADDRESS_IO_MASK; + card->pci_dev = pci_dev; + card->pci_id = type; + card->irq = pci_dev->irq; + card->next = devs; + card->magic = I810_CARD_MAGIC; + spin_lock_init(&card->lock); + devs = card; + + pci_set_master(pci_dev); + + printk(KERN_INFO "i810: %s found at IO 0x%04lx and 0x%04lx, IRQ %d\n", + name, card->iobase, card->ac97base, card->irq); + + card->alloc_pcm_channel = i810_alloc_pcm_channel; + card->alloc_rec_pcm_channel = i810_alloc_rec_pcm_channel; + card->free_pcm_channel = i810_free_pcm_channel; + + /* claim our iospace and irq */ + request_region(card->iobase, 64, name); + request_region(card->ac97base, 256, name); + + if (request_irq(card->irq, &i810_interrupt, SA_SHIRQ, name, card)) { + printk(KERN_ERR "i810_audio: unable to allocate irq %d\n", card->irq); + release_region(card->iobase, 64); + release_region(card->ac97base, 256); + kfree(card); + return -ENODEV; + } + /* register /dev/dsp */ + if ((card->dev_audio = register_sound_dsp(&i810_audio_fops, -1)) < 0) { + printk(KERN_ERR "i810_audio: couldn't register DSP device!\n"); + release_region(card->iobase, 64); + release_region(card->ac97base, 256); + free_irq(card->irq, card); + kfree(card); + return -ENODEV; + } + + + /* initialize AC97 codec and register /dev/mixer */ + if (i810_ac97_init(card) <= 0) { + unregister_sound_dsp(card->dev_audio); + release_region(card->iobase, 64); + release_region(card->ac97base, 256); + free_irq(card->irq, card); + kfree(card); + return -ENODEV; + } + +// printk("resetting codec?\n"); + outl(0, card->iobase + GLOB_CNT); + udelay(500); +// printk("bringing it back?\n"); + outl(1<<1, card->iobase + GLOB_CNT); + return 0; +} + +static void i810_remove(struct i810_card *card) +{ + int i; + /* free hardware resources */ + free_irq(card->irq, card); + release_region(card->iobase, 64); + release_region(card->ac97base, 256); + + /* unregister audio devices */ + for (i = 0; i < NR_AC97; i++) + if (card->ac97_codec[i] != NULL) { + unregister_sound_mixer(card->ac97_codec[i]->dev_mixer); + kfree (card->ac97_codec[i]); + } + unregister_sound_dsp(card->dev_audio); + kfree(card); +} + +MODULE_AUTHOR("Assorted"); +MODULE_DESCRIPTION("Intel 810 audio support"); + +static int __init i810_probe(void) +{ + struct pci_dev *pcidev = NULL; + int foundone=0; + + if (!pci_present()) /* No PCI bus in this machine! */ + return -ENODEV; + + printk(KERN_INFO "Intel 810 + AC97 Audio, version " + DRIVER_VERSION ", " __TIME__ " " __DATE__ "\n"); + + while( (pcidev = pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801, pcidev))!=NULL ) { + if (i810_install(pcidev, ICH82801AA, "Intel ICH 82801AA")==0) + foundone++; + } + while( (pcidev = pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82901, pcidev))!=NULL ) { + if (i810_install(pcidev, ICH82901AB, "Intel ICH 82901AB")==0) + foundone++; + } + while( (pcidev = pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_440MX, pcidev))!=NULL ) { + if (i810_install(pcidev, INTEL440MX, "Intel 440MX")==0) + foundone++; + } + + printk(KERN_INFO "i810_audio: Found %d audio device(s).\n", + foundone); + return foundone; +} + +#ifdef MODULE + +int init_module(void) +{ + if(i810_probe()==0) + printk(KERN_ERR "i810_audio: No devices found.\n"); + return 0; +} + +void cleanup_module (void) +{ + struct i810_card *next; + while(devs) + { + next=devs->next; + i810_remove(devs); + devs=next; + } +} + +#endif \ No newline at end of file diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/sound/maestro.c linux.16p1/drivers/sound/maestro.c --- linux.15p19/drivers/sound/maestro.c Sun Apr 16 18:29:23 2000 +++ linux.16p1/drivers/sound/maestro.c Wed Apr 19 14:08:07 2000 @@ -3448,6 +3448,7 @@ unregister_sound_dsp(s->dev_audio); } release_region(card->iobase, 256); + unregister_reboot_notifier(&maestro_nb); kfree(card); return 0; } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/drivers/video/mdacon.c linux.16p1/drivers/video/mdacon.c --- linux.15p19/drivers/video/mdacon.c Sat Aug 14 02:26:50 1999 +++ linux.16p1/drivers/video/mdacon.c Wed Apr 19 13:56:02 2000 @@ -5,6 +5,8 @@ * * including portions (c) 1995-1998 Patrick Caulfield. * + * slight improvements (c) 2000 Edward Betts + * * This file is based on the VGA console driver (vgacon.c): * * Created 28 Sep 1997 by Geert Uytterhoeven @@ -240,13 +242,18 @@ /* Ok, there is definitely a card registering at the correct * memory location, so now we do an I/O port test. */ - - if (! test_mda_b(0x66, 0x0f)) { /* cursor low register */ + + /* Edward: These two mess `tests' mess up my cursor on bootup */ + + /* cursor low register */ + /* if (! test_mda_b(0x66, 0x0f)) { return 0; - } - if (! test_mda_b(0x99, 0x0f)) { /* cursor low register */ + } */ + + /* cursor low register */ + /* if (! test_mda_b(0x99, 0x0f)) { return 0; - } + } */ /* See if the card is a Hercules, by checking whether the vsync * bit of the status register is changing. This test lasts for @@ -339,6 +346,9 @@ mda_initialize(); } + /* cursor looks ugly during boot-up, so turn it off */ + mda_set_cursor(mda_vram_len - 1); + printk("mdacon: %s with %ldK of memory detected.\n", mda_type_name, mda_vram_len/1024); @@ -494,13 +504,21 @@ static int mdacon_blank(struct vc_data *c, int blank) { - if (blank) { - outb_p(0x00, mda_mode_port); /* disable video */ + if (mda_type == TYPE_MDA) { + if (blank) + scr_memsetw((void *)mda_vram_base, + mda_convert_attr(c->vc_video_erase_char), + c->vc_screenbuf_size); + /* Tell console.c that it has to restore the screen itself */ + return 1; } else { - outb_p(MDA_MODE_VIDEO_EN | MDA_MODE_BLINK_EN, mda_mode_port); + if (blank) + outb_p(0x00, mda_mode_port); /* disable video */ + else + outb_p(MDA_MODE_VIDEO_EN | MDA_MODE_BLINK_EN, + mda_mode_port); + return 0; } - - return 0; } static int mdacon_font_op(struct vc_data *c, struct console_font_op *op) diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/fat/dir.c linux.16p1/fs/fat/dir.c --- linux.15p19/fs/fat/dir.c Tue Jan 4 21:19:00 2000 +++ linux.16p1/fs/fat/dir.c Wed Apr 19 13:58:55 2000 @@ -76,25 +76,21 @@ op = ascii; while (*ip || ip[1]) { - cl = *ip++; - ch = *ip++; - - uni_page = nls->page_uni2charset[ch]; - if (uni_page && uni_page[cl]) { - *op++ = uni_page[cl]; - } else { - if (uni_xlate == 1) { - *op++ = ':'; - val = (cl << 8) + ch; - op[2] = fat_uni2esc[val & 0x3f]; - val >>= 6; - op[1] = fat_uni2esc[val & 0x3f]; - val >>= 6; - *op = fat_uni2esc[val & 0x3f]; - op += 3; - } else { - *op++ = '?'; - } + int len; + nls->uni2char(ip[1], ip[0], op, 20, &len); + if (uni_xlate == 1 && len == 1 && op[0] == '?'){ + *op++ = ':'; + val = (ip[0] << 8) + ip[1]; + op[2] = fat_uni2esc[val & 0x3f]; + val >>= 6; + op[1] = fat_uni2esc[val & 0x3f]; + val >>= 6; + op[0] = fat_uni2esc[val & 0x3f]; + op += 3; + } + else{ + ip += 2; + op += len; } /* We have some slack there, so it's OK */ if (op>ascii+256) { diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/fat/inode.c linux.16p1/fs/fat/inode.c --- linux.15p19/fs/fat/inode.c Tue Jan 4 21:19:00 2000 +++ linux.16p1/fs/fat/inode.c Wed Apr 19 13:58:55 2000 @@ -633,7 +633,7 @@ MSDOS_SB(sb)->nls_io = NULL; if (MSDOS_SB(sb)->options.isvfat && !opts.utf8) { - p = opts.iocharset ? opts.iocharset : "iso8859-1"; + p = opts.iocharset ? opts.iocharset : CONFIG_NLS_DEFAULT; MSDOS_SB(sb)->nls_io = load_nls(p); if (! MSDOS_SB(sb)->nls_io) { /* Fail only if explicit charset specified */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/isofs/inode.c linux.16p1/fs/isofs/inode.c --- linux.15p19/fs/isofs/inode.c Thu Mar 9 19:32:37 2000 +++ linux.16p1/fs/isofs/inode.c Wed Apr 19 13:58:55 2000 @@ -736,7 +736,7 @@ #ifdef CONFIG_JOLIET if (joliet_level && opt.utf8 == 0) { - char * p = opt.iocharset ? opt.iocharset : "iso8859-1"; + char * p = opt.iocharset ? opt.iocharset : CONFIG_NLS_DEFAULT; s->u.isofs_sb.s_nls_iocharset = load_nls(p); if (! s->u.isofs_sb.s_nls_iocharset) { /* Fail only if explicit charset specified */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/isofs/joliet.c linux.16p1/fs/isofs/joliet.c --- linux.15p19/fs/isofs/joliet.c Wed Aug 26 17:54:41 1998 +++ linux.16p1/fs/isofs/joliet.c Wed Apr 19 13:58:55 2000 @@ -26,15 +26,10 @@ op = ascii; while ((*ip || ip[1]) && len) { - ch = *ip++; - cl = *ip++; - - uni_page = nls->page_uni2charset[ch]; - if (uni_page && uni_page[cl]) { - *op++ = uni_page[cl]; - } else { - *op++ = '?'; - } + int llen; + nls->uni2char(ip[0], ip[1], op, 20, &llen); + op += llen; + ip += 2; len--; } *op = 0; diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/ncpfs/ncplib_kernel.h linux.16p1/fs/ncpfs/ncplib_kernel.h --- linux.15p19/fs/ncpfs/ncplib_kernel.h Sun Apr 16 17:48:24 2000 +++ linux.16p1/fs/ncpfs/ncplib_kernel.h Wed Apr 19 14:54:32 2000 @@ -114,9 +114,9 @@ static inline void io2vol(struct ncp_server *server, char *name, int case_trans) { - unsigned char nc; + unsigned char nc[2]; unsigned char *np; - unsigned char *up; + int len; struct nls_unicode uc; struct nls_table *nls_in; struct nls_table *nls_out; @@ -127,11 +127,10 @@ while (*np) { - nc = 0; - uc = nls_in->charset2uni[toupperif(*np, case_trans)]; - up = nls_out->page_uni2charset[uc.uni2]; - if (up != NULL) nc = up[uc.uni1]; - if (nc != 0) *np = nc; + nc[0] = toupperif(*np, case_trans); + nc[1] = 0x00; + nls_in->char2uni(nc, &len, &uc.uni2, &uc.uni1); + nls_out->uni2char(0x00, uc.uni2, np, 1, &len); np++; } } @@ -139,9 +138,9 @@ static inline void vol2io(struct ncp_server *server, char *name, int case_trans) { - unsigned char nc; + unsigned char nc[2]; unsigned char *np; - unsigned char *up; + int len; struct nls_unicode uc; struct nls_table *nls_in; struct nls_table *nls_out; @@ -152,12 +151,11 @@ while (*np) { - nc = 0; - uc = nls_in->charset2uni[*np]; - up = nls_out->page_uni2charset[uc.uni2]; - if (up != NULL) nc = up[uc.uni1]; - if (nc == 0) nc = *np; - *np = tolowerif(nc, case_trans); + nc[0] = *np; + nc[1] = 0; + nls_in->char2uni(nc, &len, &uc.uni2, &uc.uni1); + nls_out->uni2char(0x00, uc.uni2, nc, 1, &len); + *np = tolowerif(nc[0], case_trans); np++; } } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/Config.in linux.16p1/fs/nls/Config.in --- linux.15p19/fs/nls/Config.in Sat Aug 28 20:00:58 1999 +++ linux.16p1/fs/nls/Config.in Wed Apr 19 13:58:55 2000 @@ -13,6 +13,7 @@ if [ "$CONFIG_NLS" = "y" ]; then mainmenu_option next_comment comment 'Native Language Support' + string 'Default NLS Option' CONFIG_NLS_DEFAULT "cp437" tristate 'Codepage 437 (United States, Canada)' CONFIG_NLS_CODEPAGE_437 tristate 'Codepage 737 (Greek)' CONFIG_NLS_CODEPAGE_737 tristate 'Codepage 775 (Baltic Rim)' CONFIG_NLS_CODEPAGE_775 @@ -29,6 +30,10 @@ tristate 'Codepage 866 (Cyrillic/Russian)' CONFIG_NLS_CODEPAGE_866 tristate 'Codepage 869 (Greek)' CONFIG_NLS_CODEPAGE_869 tristate 'Codepage 874 (Thai)' CONFIG_NLS_CODEPAGE_874 + tristate 'Codepage 932 (Shift-JIS)' CONFIG_NLS_CODEPAGE_932 + tristate 'Codepage 936 (GBK)' CONFIG_NLS_CODEPAGE_936 + tristate 'Codepage 949 (UnifiedHangul)' CONFIG_NLS_CODEPAGE_949 + tristate 'Codepage 950 (Big5)' CONFIG_NLS_CODEPAGE_950 tristate 'NLS ISO 8859-1 (Latin 1; Western European Languages)' CONFIG_NLS_ISO8859_1 tristate 'NLS ISO 8859-2 (Latin 2; Slavic/Central European Languages)' CONFIG_NLS_ISO8859_2 tristate 'NLS ISO 8859-3 (Latin 3; Esperanto, Galician, Maltese, Turkish)' CONFIG_NLS_ISO8859_3 diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/Makefile linux.16p1/fs/nls/Makefile --- linux.15p19/fs/nls/Makefile Sat Aug 28 20:00:58 1999 +++ linux.16p1/fs/nls/Makefile Wed Apr 19 13:58:55 2000 @@ -134,6 +134,38 @@ endif endif +ifeq ($(CONFIG_NLS_CODEPAGE_932),y) +NLS += nls_cp932.o +else + ifeq ($(CONFIG_NLS_CODEPAGE_932),m) + M_OBJS += nls_cp932.o + endif +endif + +ifeq ($(CONFIG_NLS_CODEPAGE_936),y) +NLS += nls_cp936.o +else + ifeq ($(CONFIG_NLS_CODEPAGE_936),m) + M_OBJS += nls_cp936.o + endif +endif + +ifeq ($(CONFIG_NLS_CODEPAGE_949),y) +NLS += nls_cp949.o +else + ifeq ($(CONFIG_NLS_CODEPAGE_949),m) + M_OBJS += nls_cp949.o + endif +endif + +ifeq ($(CONFIG_NLS_CODEPAGE_950),y) +NLS += nls_cp950.o +else + ifeq ($(CONFIG_NLS_CODEPAGE_950),m) + M_OBJS += nls_cp950.o + endif +endif + ifeq ($(CONFIG_NLS_CODEPAGE_1250),y) NLS += nls_cp1250.o else diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_base.c linux.16p1/fs/nls/nls_base.c --- linux.15p19/fs/nls/nls_base.c Sat Aug 28 20:00:58 1999 +++ linux.16p1/fs/nls/nls_base.c Wed Apr 19 13:58:55 2000 @@ -363,6 +363,29 @@ page00 }; +void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} void inc_use_count(void) { @@ -374,8 +397,8 @@ static struct nls_table default_table = { "default", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL @@ -386,7 +409,13 @@ /* Returns a simple default translation table */ struct nls_table *load_nls_default(void) { - return &default_table; + struct nls_table *default_nls; + + default_nls = load_nls(CONFIG_NLS_DEFAULT); + if (default_nls != NULL) + return default_nls; + else + return &default_table; } EXPORT_SYMBOL(register_nls); @@ -482,6 +511,18 @@ #endif #ifdef CONFIG_NLS_CODEPAGE_874 init_nls_cp874(); +#endif +#ifdef CONFIG_NLS_CODEPAGE_932 + init_nls_cp932(); +#endif +#ifdef CONFIG_NLS_CODEPAGE_936 + init_nls_cp936(); +#endif +#ifdef CONFIG_NLS_CODEPAGE_949 + init_nls_cp949(); +#endif +#ifdef CONFIG_NLS_CODEPAGE_950 + init_nls_cp950(); #endif #ifdef CONFIG_NLS_KOI8_R init_nls_koi8_r(); diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp437.c linux.16p1/fs/nls/nls_cp437.c --- linux.15p19/fs/nls/nls_cp437.c Sun Jan 4 18:55:09 1998 +++ linux.16p1/fs/nls/nls_cp437.c Wed Apr 19 13:58:55 2000 @@ -392,6 +392,29 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} static void inc_use_count(void) { @@ -405,8 +428,8 @@ static struct nls_table table = { "cp437", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp737.c linux.16p1/fs/nls/nls_cp737.c --- linux.15p19/fs/nls/nls_cp737.c Sun Jan 4 18:55:09 1998 +++ linux.16p1/fs/nls/nls_cp737.c Wed Apr 19 13:58:55 2000 @@ -320,6 +320,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { @@ -333,8 +357,8 @@ static struct nls_table table = { "cp737", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp775.c linux.16p1/fs/nls/nls_cp775.c --- linux.15p19/fs/nls/nls_cp775.c Sun Jan 4 18:55:09 1998 +++ linux.16p1/fs/nls/nls_cp775.c Wed Apr 19 13:58:55 2000 @@ -320,6 +320,29 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} static void inc_use_count(void) { @@ -333,8 +356,8 @@ static struct nls_table table = { "cp775", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp850.c linux.16p1/fs/nls/nls_cp850.c --- linux.15p19/fs/nls/nls_cp850.c Sun Jan 4 18:55:09 1998 +++ linux.16p1/fs/nls/nls_cp850.c Wed Apr 19 13:58:55 2000 @@ -284,6 +284,29 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} static void inc_use_count(void) { @@ -297,8 +320,8 @@ static struct nls_table table = { "cp850", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp852.c linux.16p1/fs/nls/nls_cp852.c --- linux.15p19/fs/nls/nls_cp852.c Sun Jan 4 18:55:09 1998 +++ linux.16p1/fs/nls/nls_cp852.c Wed Apr 19 13:58:55 2000 @@ -284,6 +284,29 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} static void inc_use_count(void) { @@ -297,8 +320,8 @@ static struct nls_table table = { "cp852", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp855.c linux.16p1/fs/nls/nls_cp855.c --- linux.15p19/fs/nls/nls_cp855.c Sun Jan 4 18:55:09 1998 +++ linux.16p1/fs/nls/nls_cp855.c Wed Apr 19 13:58:55 2000 @@ -284,6 +284,29 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} static void inc_use_count(void) { @@ -297,8 +320,8 @@ static struct nls_table table = { "cp855", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp857.c linux.16p1/fs/nls/nls_cp857.c --- linux.15p19/fs/nls/nls_cp857.c Sun Jan 4 18:55:09 1998 +++ linux.16p1/fs/nls/nls_cp857.c Wed Apr 19 13:58:55 2000 @@ -248,6 +248,29 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} static void inc_use_count(void) { @@ -261,8 +284,8 @@ static struct nls_table table = { "cp857", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp860.c linux.16p1/fs/nls/nls_cp860.c --- linux.15p19/fs/nls/nls_cp860.c Sun Jan 4 18:55:09 1998 +++ linux.16p1/fs/nls/nls_cp860.c Wed Apr 19 13:58:55 2000 @@ -356,6 +356,29 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} static void inc_use_count(void) { @@ -369,8 +392,8 @@ static struct nls_table table = { "cp860", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp861.c linux.16p1/fs/nls/nls_cp861.c --- linux.15p19/fs/nls/nls_cp861.c Sun Jan 4 18:55:09 1998 +++ linux.16p1/fs/nls/nls_cp861.c Wed Apr 19 13:58:55 2000 @@ -392,6 +392,29 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} static void inc_use_count(void) { @@ -405,8 +428,8 @@ static struct nls_table table = { "cp861", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp862.c linux.16p1/fs/nls/nls_cp862.c --- linux.15p19/fs/nls/nls_cp862.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_cp862.c Wed Apr 19 13:58:55 2000 @@ -428,6 +428,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -440,8 +464,8 @@ static struct nls_table table = { "cp862", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp863.c linux.16p1/fs/nls/nls_cp863.c --- linux.15p19/fs/nls/nls_cp863.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_cp863.c Wed Apr 19 13:58:55 2000 @@ -392,6 +392,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -404,8 +428,8 @@ static struct nls_table table = { "cp863", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp864.c linux.16p1/fs/nls/nls_cp864.c --- linux.15p19/fs/nls/nls_cp864.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_cp864.c Wed Apr 19 13:58:55 2000 @@ -383,6 +383,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -395,8 +419,8 @@ static struct nls_table table = { "cp864", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp865.c linux.16p1/fs/nls/nls_cp865.c --- linux.15p19/fs/nls/nls_cp865.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_cp865.c Wed Apr 19 13:58:55 2000 @@ -392,6 +392,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -404,8 +428,8 @@ static struct nls_table table = { "cp865", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp866.c linux.16p1/fs/nls/nls_cp866.c --- linux.15p19/fs/nls/nls_cp866.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_cp866.c Wed Apr 19 13:58:55 2000 @@ -320,6 +320,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -332,8 +356,8 @@ static struct nls_table table = { "cp866", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp869.c linux.16p1/fs/nls/nls_cp869.c --- linux.15p19/fs/nls/nls_cp869.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_cp869.c Wed Apr 19 13:58:55 2000 @@ -284,6 +284,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -296,8 +320,8 @@ static struct nls_table table = { "cp869", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp874.c linux.16p1/fs/nls/nls_cp874.c --- linux.15p19/fs/nls/nls_cp874.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_cp874.c Wed Apr 19 13:58:55 2000 @@ -248,6 +248,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -260,8 +284,8 @@ static struct nls_table table = { "cp874", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp932.c linux.16p1/fs/nls/nls_cp932.c --- linux.15p19/fs/nls/nls_cp932.c Thu Jan 1 01:00:00 1970 +++ linux.16p1/fs/nls/nls_cp932.c Wed Apr 19 13:58:55 2000 @@ -0,0 +1,9847 @@ +/* + * linux/fs/nls_cp932.c + * + * Charset cp932 translation tables. + * Generated automatically from the Microsoft + */ + +#include +#include +#include +#include + +static struct nls_unicode c2u_81[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x30, 0x00}, {0x30, 0x01}, {0x30, 0x02}, {0xFF, 0x0C}, /* 0x40-0x43 */ + {0xFF, 0x0E}, {0x30, 0xFB}, {0xFF, 0x1A}, {0xFF, 0x1B}, /* 0x44-0x47 */ + {0xFF, 0x1F}, {0xFF, 0x01}, {0x30, 0x9B}, {0x30, 0x9C}, /* 0x48-0x4B */ + {0x00, 0xB4}, {0xFF, 0x40}, {0x00, 0xA8}, {0xFF, 0x3E}, /* 0x4C-0x4F */ + {0xFF, 0xE3}, {0xFF, 0x3F}, {0x30, 0xFD}, {0x30, 0xFE}, /* 0x50-0x53 */ + {0x30, 0x9D}, {0x30, 0x9E}, {0x30, 0x03}, {0x4E, 0xDD}, /* 0x54-0x57 */ + {0x30, 0x05}, {0x30, 0x06}, {0x30, 0x07}, {0x30, 0xFC}, /* 0x58-0x5B */ + {0x20, 0x15}, {0x20, 0x10}, {0xFF, 0x0F}, {0xFF, 0x3C}, /* 0x5C-0x5F */ + {0xFF, 0x5E}, {0x22, 0x25}, {0xFF, 0x5C}, {0x20, 0x26}, /* 0x60-0x63 */ + {0x20, 0x25}, {0x20, 0x18}, {0x20, 0x19}, {0x20, 0x1C}, /* 0x64-0x67 */ + {0x20, 0x1D}, {0xFF, 0x08}, {0xFF, 0x09}, {0x30, 0x14}, /* 0x68-0x6B */ + {0x30, 0x15}, {0xFF, 0x3B}, {0xFF, 0x3D}, {0xFF, 0x5B}, /* 0x6C-0x6F */ + {0xFF, 0x5D}, {0x30, 0x08}, {0x30, 0x09}, {0x30, 0x0A}, /* 0x70-0x73 */ + {0x30, 0x0B}, {0x30, 0x0C}, {0x30, 0x0D}, {0x30, 0x0E}, /* 0x74-0x77 */ + {0x30, 0x0F}, {0x30, 0x10}, {0x30, 0x11}, {0xFF, 0x0B}, /* 0x78-0x7B */ + {0xFF, 0x0D}, {0x00, 0xB1}, {0x00, 0xD7}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0xF7}, {0xFF, 0x1D}, {0x22, 0x60}, {0xFF, 0x1C}, /* 0x80-0x83 */ + {0xFF, 0x1E}, {0x22, 0x66}, {0x22, 0x67}, {0x22, 0x1E}, /* 0x84-0x87 */ + {0x22, 0x34}, {0x26, 0x42}, {0x26, 0x40}, {0x00, 0xB0}, /* 0x88-0x8B */ + {0x20, 0x32}, {0x20, 0x33}, {0x21, 0x03}, {0xFF, 0xE5}, /* 0x8C-0x8F */ + {0xFF, 0x04}, {0xFF, 0xE0}, {0xFF, 0xE1}, {0xFF, 0x05}, /* 0x90-0x93 */ + {0xFF, 0x03}, {0xFF, 0x06}, {0xFF, 0x0A}, {0xFF, 0x20}, /* 0x94-0x97 */ + {0x00, 0xA7}, {0x26, 0x06}, {0x26, 0x05}, {0x25, 0xCB}, /* 0x98-0x9B */ + {0x25, 0xCF}, {0x25, 0xCE}, {0x25, 0xC7}, {0x25, 0xC6}, /* 0x9C-0x9F */ + {0x25, 0xA1}, {0x25, 0xA0}, {0x25, 0xB3}, {0x25, 0xB2}, /* 0xA0-0xA3 */ + {0x25, 0xBD}, {0x25, 0xBC}, {0x20, 0x3B}, {0x30, 0x12}, /* 0xA4-0xA7 */ + {0x21, 0x92}, {0x21, 0x90}, {0x21, 0x91}, {0x21, 0x93}, /* 0xA8-0xAB */ + {0x30, 0x13}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x22, 0x08}, {0x22, 0x0B}, {0x22, 0x86}, {0x22, 0x87}, /* 0xB8-0xBB */ + {0x22, 0x82}, {0x22, 0x83}, {0x22, 0x2A}, {0x22, 0x29}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x22, 0x27}, {0x22, 0x28}, {0xFF, 0xE2}, {0x21, 0xD2}, /* 0xC8-0xCB */ + {0x21, 0xD4}, {0x22, 0x00}, {0x22, 0x03}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x22, 0x20}, {0x22, 0xA5}, /* 0xD8-0xDB */ + {0x23, 0x12}, {0x22, 0x02}, {0x22, 0x07}, {0x22, 0x61}, /* 0xDC-0xDF */ + {0x22, 0x52}, {0x22, 0x6A}, {0x22, 0x6B}, {0x22, 0x1A}, /* 0xE0-0xE3 */ + {0x22, 0x3D}, {0x22, 0x1D}, {0x22, 0x35}, {0x22, 0x2B}, /* 0xE4-0xE7 */ + {0x22, 0x2C}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x21, 0x2B}, {0x20, 0x30}, {0x26, 0x6F}, {0x26, 0x6D}, /* 0xF0-0xF3 */ + {0x26, 0x6A}, {0x20, 0x20}, {0x20, 0x21}, {0x00, 0xB6}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x25, 0xEF}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_82[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0xFF, 0x10}, /* 0x4C-0x4F */ + {0xFF, 0x11}, {0xFF, 0x12}, {0xFF, 0x13}, {0xFF, 0x14}, /* 0x50-0x53 */ + {0xFF, 0x15}, {0xFF, 0x16}, {0xFF, 0x17}, {0xFF, 0x18}, /* 0x54-0x57 */ + {0xFF, 0x19}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0xFF, 0x21}, {0xFF, 0x22}, {0xFF, 0x23}, {0xFF, 0x24}, /* 0x60-0x63 */ + {0xFF, 0x25}, {0xFF, 0x26}, {0xFF, 0x27}, {0xFF, 0x28}, /* 0x64-0x67 */ + {0xFF, 0x29}, {0xFF, 0x2A}, {0xFF, 0x2B}, {0xFF, 0x2C}, /* 0x68-0x6B */ + {0xFF, 0x2D}, {0xFF, 0x2E}, {0xFF, 0x2F}, {0xFF, 0x30}, /* 0x6C-0x6F */ + {0xFF, 0x31}, {0xFF, 0x32}, {0xFF, 0x33}, {0xFF, 0x34}, /* 0x70-0x73 */ + {0xFF, 0x35}, {0xFF, 0x36}, {0xFF, 0x37}, {0xFF, 0x38}, /* 0x74-0x77 */ + {0xFF, 0x39}, {0xFF, 0x3A}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xFF, 0x41}, {0xFF, 0x42}, {0xFF, 0x43}, /* 0x80-0x83 */ + {0xFF, 0x44}, {0xFF, 0x45}, {0xFF, 0x46}, {0xFF, 0x47}, /* 0x84-0x87 */ + {0xFF, 0x48}, {0xFF, 0x49}, {0xFF, 0x4A}, {0xFF, 0x4B}, /* 0x88-0x8B */ + {0xFF, 0x4C}, {0xFF, 0x4D}, {0xFF, 0x4E}, {0xFF, 0x4F}, /* 0x8C-0x8F */ + {0xFF, 0x50}, {0xFF, 0x51}, {0xFF, 0x52}, {0xFF, 0x53}, /* 0x90-0x93 */ + {0xFF, 0x54}, {0xFF, 0x55}, {0xFF, 0x56}, {0xFF, 0x57}, /* 0x94-0x97 */ + {0xFF, 0x58}, {0xFF, 0x59}, {0xFF, 0x5A}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x30, 0x41}, /* 0x9C-0x9F */ + {0x30, 0x42}, {0x30, 0x43}, {0x30, 0x44}, {0x30, 0x45}, /* 0xA0-0xA3 */ + {0x30, 0x46}, {0x30, 0x47}, {0x30, 0x48}, {0x30, 0x49}, /* 0xA4-0xA7 */ + {0x30, 0x4A}, {0x30, 0x4B}, {0x30, 0x4C}, {0x30, 0x4D}, /* 0xA8-0xAB */ + {0x30, 0x4E}, {0x30, 0x4F}, {0x30, 0x50}, {0x30, 0x51}, /* 0xAC-0xAF */ + {0x30, 0x52}, {0x30, 0x53}, {0x30, 0x54}, {0x30, 0x55}, /* 0xB0-0xB3 */ + {0x30, 0x56}, {0x30, 0x57}, {0x30, 0x58}, {0x30, 0x59}, /* 0xB4-0xB7 */ + {0x30, 0x5A}, {0x30, 0x5B}, {0x30, 0x5C}, {0x30, 0x5D}, /* 0xB8-0xBB */ + {0x30, 0x5E}, {0x30, 0x5F}, {0x30, 0x60}, {0x30, 0x61}, /* 0xBC-0xBF */ + {0x30, 0x62}, {0x30, 0x63}, {0x30, 0x64}, {0x30, 0x65}, /* 0xC0-0xC3 */ + {0x30, 0x66}, {0x30, 0x67}, {0x30, 0x68}, {0x30, 0x69}, /* 0xC4-0xC7 */ + {0x30, 0x6A}, {0x30, 0x6B}, {0x30, 0x6C}, {0x30, 0x6D}, /* 0xC8-0xCB */ + {0x30, 0x6E}, {0x30, 0x6F}, {0x30, 0x70}, {0x30, 0x71}, /* 0xCC-0xCF */ + {0x30, 0x72}, {0x30, 0x73}, {0x30, 0x74}, {0x30, 0x75}, /* 0xD0-0xD3 */ + {0x30, 0x76}, {0x30, 0x77}, {0x30, 0x78}, {0x30, 0x79}, /* 0xD4-0xD7 */ + {0x30, 0x7A}, {0x30, 0x7B}, {0x30, 0x7C}, {0x30, 0x7D}, /* 0xD8-0xDB */ + {0x30, 0x7E}, {0x30, 0x7F}, {0x30, 0x80}, {0x30, 0x81}, /* 0xDC-0xDF */ + {0x30, 0x82}, {0x30, 0x83}, {0x30, 0x84}, {0x30, 0x85}, /* 0xE0-0xE3 */ + {0x30, 0x86}, {0x30, 0x87}, {0x30, 0x88}, {0x30, 0x89}, /* 0xE4-0xE7 */ + {0x30, 0x8A}, {0x30, 0x8B}, {0x30, 0x8C}, {0x30, 0x8D}, /* 0xE8-0xEB */ + {0x30, 0x8E}, {0x30, 0x8F}, {0x30, 0x90}, {0x30, 0x91}, /* 0xEC-0xEF */ + {0x30, 0x92}, {0x30, 0x93}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_83[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x30, 0xA1}, {0x30, 0xA2}, {0x30, 0xA3}, {0x30, 0xA4}, /* 0x40-0x43 */ + {0x30, 0xA5}, {0x30, 0xA6}, {0x30, 0xA7}, {0x30, 0xA8}, /* 0x44-0x47 */ + {0x30, 0xA9}, {0x30, 0xAA}, {0x30, 0xAB}, {0x30, 0xAC}, /* 0x48-0x4B */ + {0x30, 0xAD}, {0x30, 0xAE}, {0x30, 0xAF}, {0x30, 0xB0}, /* 0x4C-0x4F */ + {0x30, 0xB1}, {0x30, 0xB2}, {0x30, 0xB3}, {0x30, 0xB4}, /* 0x50-0x53 */ + {0x30, 0xB5}, {0x30, 0xB6}, {0x30, 0xB7}, {0x30, 0xB8}, /* 0x54-0x57 */ + {0x30, 0xB9}, {0x30, 0xBA}, {0x30, 0xBB}, {0x30, 0xBC}, /* 0x58-0x5B */ + {0x30, 0xBD}, {0x30, 0xBE}, {0x30, 0xBF}, {0x30, 0xC0}, /* 0x5C-0x5F */ + {0x30, 0xC1}, {0x30, 0xC2}, {0x30, 0xC3}, {0x30, 0xC4}, /* 0x60-0x63 */ + {0x30, 0xC5}, {0x30, 0xC6}, {0x30, 0xC7}, {0x30, 0xC8}, /* 0x64-0x67 */ + {0x30, 0xC9}, {0x30, 0xCA}, {0x30, 0xCB}, {0x30, 0xCC}, /* 0x68-0x6B */ + {0x30, 0xCD}, {0x30, 0xCE}, {0x30, 0xCF}, {0x30, 0xD0}, /* 0x6C-0x6F */ + {0x30, 0xD1}, {0x30, 0xD2}, {0x30, 0xD3}, {0x30, 0xD4}, /* 0x70-0x73 */ + {0x30, 0xD5}, {0x30, 0xD6}, {0x30, 0xD7}, {0x30, 0xD8}, /* 0x74-0x77 */ + {0x30, 0xD9}, {0x30, 0xDA}, {0x30, 0xDB}, {0x30, 0xDC}, /* 0x78-0x7B */ + {0x30, 0xDD}, {0x30, 0xDE}, {0x30, 0xDF}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x30, 0xE0}, {0x30, 0xE1}, {0x30, 0xE2}, {0x30, 0xE3}, /* 0x80-0x83 */ + {0x30, 0xE4}, {0x30, 0xE5}, {0x30, 0xE6}, {0x30, 0xE7}, /* 0x84-0x87 */ + {0x30, 0xE8}, {0x30, 0xE9}, {0x30, 0xEA}, {0x30, 0xEB}, /* 0x88-0x8B */ + {0x30, 0xEC}, {0x30, 0xED}, {0x30, 0xEE}, {0x30, 0xEF}, /* 0x8C-0x8F */ + {0x30, 0xF0}, {0x30, 0xF1}, {0x30, 0xF2}, {0x30, 0xF3}, /* 0x90-0x93 */ + {0x30, 0xF4}, {0x30, 0xF5}, {0x30, 0xF6}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x03, 0x91}, /* 0x9C-0x9F */ + {0x03, 0x92}, {0x03, 0x93}, {0x03, 0x94}, {0x03, 0x95}, /* 0xA0-0xA3 */ + {0x03, 0x96}, {0x03, 0x97}, {0x03, 0x98}, {0x03, 0x99}, /* 0xA4-0xA7 */ + {0x03, 0x9A}, {0x03, 0x9B}, {0x03, 0x9C}, {0x03, 0x9D}, /* 0xA8-0xAB */ + {0x03, 0x9E}, {0x03, 0x9F}, {0x03, 0xA0}, {0x03, 0xA1}, /* 0xAC-0xAF */ + {0x03, 0xA3}, {0x03, 0xA4}, {0x03, 0xA5}, {0x03, 0xA6}, /* 0xB0-0xB3 */ + {0x03, 0xA7}, {0x03, 0xA8}, {0x03, 0xA9}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x03, 0xB1}, /* 0xBC-0xBF */ + {0x03, 0xB2}, {0x03, 0xB3}, {0x03, 0xB4}, {0x03, 0xB5}, /* 0xC0-0xC3 */ + {0x03, 0xB6}, {0x03, 0xB7}, {0x03, 0xB8}, {0x03, 0xB9}, /* 0xC4-0xC7 */ + {0x03, 0xBA}, {0x03, 0xBB}, {0x03, 0xBC}, {0x03, 0xBD}, /* 0xC8-0xCB */ + {0x03, 0xBE}, {0x03, 0xBF}, {0x03, 0xC0}, {0x03, 0xC1}, /* 0xCC-0xCF */ + {0x03, 0xC3}, {0x03, 0xC4}, {0x03, 0xC5}, {0x03, 0xC6}, /* 0xD0-0xD3 */ + {0x03, 0xC7}, {0x03, 0xC8}, {0x03, 0xC9}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_84[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x04, 0x10}, {0x04, 0x11}, {0x04, 0x12}, {0x04, 0x13}, /* 0x40-0x43 */ + {0x04, 0x14}, {0x04, 0x15}, {0x04, 0x01}, {0x04, 0x16}, /* 0x44-0x47 */ + {0x04, 0x17}, {0x04, 0x18}, {0x04, 0x19}, {0x04, 0x1A}, /* 0x48-0x4B */ + {0x04, 0x1B}, {0x04, 0x1C}, {0x04, 0x1D}, {0x04, 0x1E}, /* 0x4C-0x4F */ + {0x04, 0x1F}, {0x04, 0x20}, {0x04, 0x21}, {0x04, 0x22}, /* 0x50-0x53 */ + {0x04, 0x23}, {0x04, 0x24}, {0x04, 0x25}, {0x04, 0x26}, /* 0x54-0x57 */ + {0x04, 0x27}, {0x04, 0x28}, {0x04, 0x29}, {0x04, 0x2A}, /* 0x58-0x5B */ + {0x04, 0x2B}, {0x04, 0x2C}, {0x04, 0x2D}, {0x04, 0x2E}, /* 0x5C-0x5F */ + {0x04, 0x2F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x04, 0x30}, {0x04, 0x31}, {0x04, 0x32}, {0x04, 0x33}, /* 0x70-0x73 */ + {0x04, 0x34}, {0x04, 0x35}, {0x04, 0x51}, {0x04, 0x36}, /* 0x74-0x77 */ + {0x04, 0x37}, {0x04, 0x38}, {0x04, 0x39}, {0x04, 0x3A}, /* 0x78-0x7B */ + {0x04, 0x3B}, {0x04, 0x3C}, {0x04, 0x3D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x04, 0x3E}, {0x04, 0x3F}, {0x04, 0x40}, {0x04, 0x41}, /* 0x80-0x83 */ + {0x04, 0x42}, {0x04, 0x43}, {0x04, 0x44}, {0x04, 0x45}, /* 0x84-0x87 */ + {0x04, 0x46}, {0x04, 0x47}, {0x04, 0x48}, {0x04, 0x49}, /* 0x88-0x8B */ + {0x04, 0x4A}, {0x04, 0x4B}, {0x04, 0x4C}, {0x04, 0x4D}, /* 0x8C-0x8F */ + {0x04, 0x4E}, {0x04, 0x4F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x25, 0x00}, /* 0x9C-0x9F */ + {0x25, 0x02}, {0x25, 0x0C}, {0x25, 0x10}, {0x25, 0x18}, /* 0xA0-0xA3 */ + {0x25, 0x14}, {0x25, 0x1C}, {0x25, 0x2C}, {0x25, 0x24}, /* 0xA4-0xA7 */ + {0x25, 0x34}, {0x25, 0x3C}, {0x25, 0x01}, {0x25, 0x03}, /* 0xA8-0xAB */ + {0x25, 0x0F}, {0x25, 0x13}, {0x25, 0x1B}, {0x25, 0x17}, /* 0xAC-0xAF */ + {0x25, 0x23}, {0x25, 0x33}, {0x25, 0x2B}, {0x25, 0x3B}, /* 0xB0-0xB3 */ + {0x25, 0x4B}, {0x25, 0x20}, {0x25, 0x2F}, {0x25, 0x28}, /* 0xB4-0xB7 */ + {0x25, 0x37}, {0x25, 0x3F}, {0x25, 0x1D}, {0x25, 0x30}, /* 0xB8-0xBB */ + {0x25, 0x25}, {0x25, 0x38}, {0x25, 0x42}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_87[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x24, 0x60}, {0x24, 0x61}, {0x24, 0x62}, {0x24, 0x63}, /* 0x40-0x43 */ + {0x24, 0x64}, {0x24, 0x65}, {0x24, 0x66}, {0x24, 0x67}, /* 0x44-0x47 */ + {0x24, 0x68}, {0x24, 0x69}, {0x24, 0x6A}, {0x24, 0x6B}, /* 0x48-0x4B */ + {0x24, 0x6C}, {0x24, 0x6D}, {0x24, 0x6E}, {0x24, 0x6F}, /* 0x4C-0x4F */ + {0x24, 0x70}, {0x24, 0x71}, {0x24, 0x72}, {0x24, 0x73}, /* 0x50-0x53 */ + {0x21, 0x60}, {0x21, 0x61}, {0x21, 0x62}, {0x21, 0x63}, /* 0x54-0x57 */ + {0x21, 0x64}, {0x21, 0x65}, {0x21, 0x66}, {0x21, 0x67}, /* 0x58-0x5B */ + {0x21, 0x68}, {0x21, 0x69}, {0x00, 0x3F}, {0x33, 0x49}, /* 0x5C-0x5F */ + {0x33, 0x14}, {0x33, 0x22}, {0x33, 0x4D}, {0x33, 0x18}, /* 0x60-0x63 */ + {0x33, 0x27}, {0x33, 0x03}, {0x33, 0x36}, {0x33, 0x51}, /* 0x64-0x67 */ + {0x33, 0x57}, {0x33, 0x0D}, {0x33, 0x26}, {0x33, 0x23}, /* 0x68-0x6B */ + {0x33, 0x2B}, {0x33, 0x4A}, {0x33, 0x3B}, {0x33, 0x9C}, /* 0x6C-0x6F */ + {0x33, 0x9D}, {0x33, 0x9E}, {0x33, 0x8E}, {0x33, 0x8F}, /* 0x70-0x73 */ + {0x33, 0xC4}, {0x33, 0xA1}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x33, 0x7B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x30, 0x1D}, {0x30, 0x1F}, {0x21, 0x16}, {0x33, 0xCD}, /* 0x80-0x83 */ + {0x21, 0x21}, {0x32, 0xA4}, {0x32, 0xA5}, {0x32, 0xA6}, /* 0x84-0x87 */ + {0x32, 0xA7}, {0x32, 0xA8}, {0x32, 0x31}, {0x32, 0x32}, /* 0x88-0x8B */ + {0x32, 0x39}, {0x33, 0x7E}, {0x33, 0x7D}, {0x33, 0x7C}, /* 0x8C-0x8F */ + {0x22, 0x52}, {0x22, 0x61}, {0x22, 0x2B}, {0x22, 0x2E}, /* 0x90-0x93 */ + {0x22, 0x11}, {0x22, 0x1A}, {0x22, 0xA5}, {0x22, 0x20}, /* 0x94-0x97 */ + {0x22, 0x1F}, {0x22, 0xBF}, {0x22, 0x35}, {0x22, 0x29}, /* 0x98-0x9B */ + {0x22, 0x2A}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_88[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x4E, 0x9C}, /* 0x9C-0x9F */ + {0x55, 0x16}, {0x5A, 0x03}, {0x96, 0x3F}, {0x54, 0xC0}, /* 0xA0-0xA3 */ + {0x61, 0x1B}, {0x63, 0x28}, {0x59, 0xF6}, {0x90, 0x22}, /* 0xA4-0xA7 */ + {0x84, 0x75}, {0x83, 0x1C}, {0x7A, 0x50}, {0x60, 0xAA}, /* 0xA8-0xAB */ + {0x63, 0xE1}, {0x6E, 0x25}, {0x65, 0xED}, {0x84, 0x66}, /* 0xAC-0xAF */ + {0x82, 0xA6}, {0x9B, 0xF5}, {0x68, 0x93}, {0x57, 0x27}, /* 0xB0-0xB3 */ + {0x65, 0xA1}, {0x62, 0x71}, {0x5B, 0x9B}, {0x59, 0xD0}, /* 0xB4-0xB7 */ + {0x86, 0x7B}, {0x98, 0xF4}, {0x7D, 0x62}, {0x7D, 0xBE}, /* 0xB8-0xBB */ + {0x9B, 0x8E}, {0x62, 0x16}, {0x7C, 0x9F}, {0x88, 0xB7}, /* 0xBC-0xBF */ + {0x5B, 0x89}, {0x5E, 0xB5}, {0x63, 0x09}, {0x66, 0x97}, /* 0xC0-0xC3 */ + {0x68, 0x48}, {0x95, 0xC7}, {0x97, 0x8D}, {0x67, 0x4F}, /* 0xC4-0xC7 */ + {0x4E, 0xE5}, {0x4F, 0x0A}, {0x4F, 0x4D}, {0x4F, 0x9D}, /* 0xC8-0xCB */ + {0x50, 0x49}, {0x56, 0xF2}, {0x59, 0x37}, {0x59, 0xD4}, /* 0xCC-0xCF */ + {0x5A, 0x01}, {0x5C, 0x09}, {0x60, 0xDF}, {0x61, 0x0F}, /* 0xD0-0xD3 */ + {0x61, 0x70}, {0x66, 0x13}, {0x69, 0x05}, {0x70, 0xBA}, /* 0xD4-0xD7 */ + {0x75, 0x4F}, {0x75, 0x70}, {0x79, 0xFB}, {0x7D, 0xAD}, /* 0xD8-0xDB */ + {0x7D, 0xEF}, {0x80, 0xC3}, {0x84, 0x0E}, {0x88, 0x63}, /* 0xDC-0xDF */ + {0x8B, 0x02}, {0x90, 0x55}, {0x90, 0x7A}, {0x53, 0x3B}, /* 0xE0-0xE3 */ + {0x4E, 0x95}, {0x4E, 0xA5}, {0x57, 0xDF}, {0x80, 0xB2}, /* 0xE4-0xE7 */ + {0x90, 0xC1}, {0x78, 0xEF}, {0x4E, 0x00}, {0x58, 0xF1}, /* 0xE8-0xEB */ + {0x6E, 0xA2}, {0x90, 0x38}, {0x7A, 0x32}, {0x83, 0x28}, /* 0xEC-0xEF */ + {0x82, 0x8B}, {0x9C, 0x2F}, {0x51, 0x41}, {0x53, 0x70}, /* 0xF0-0xF3 */ + {0x54, 0xBD}, {0x54, 0xE1}, {0x56, 0xE0}, {0x59, 0xFB}, /* 0xF4-0xF7 */ + {0x5F, 0x15}, {0x98, 0xF2}, {0x6D, 0xEB}, {0x80, 0xE4}, /* 0xF8-0xFB */ + {0x85, 0x2D}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_89[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x96, 0x62}, {0x96, 0x70}, {0x96, 0xA0}, {0x97, 0xFB}, /* 0x40-0x43 */ + {0x54, 0x0B}, {0x53, 0xF3}, {0x5B, 0x87}, {0x70, 0xCF}, /* 0x44-0x47 */ + {0x7F, 0xBD}, {0x8F, 0xC2}, {0x96, 0xE8}, {0x53, 0x6F}, /* 0x48-0x4B */ + {0x9D, 0x5C}, {0x7A, 0xBA}, {0x4E, 0x11}, {0x78, 0x93}, /* 0x4C-0x4F */ + {0x81, 0xFC}, {0x6E, 0x26}, {0x56, 0x18}, {0x55, 0x04}, /* 0x50-0x53 */ + {0x6B, 0x1D}, {0x85, 0x1A}, {0x9C, 0x3B}, {0x59, 0xE5}, /* 0x54-0x57 */ + {0x53, 0xA9}, {0x6D, 0x66}, {0x74, 0xDC}, {0x95, 0x8F}, /* 0x58-0x5B */ + {0x56, 0x42}, {0x4E, 0x91}, {0x90, 0x4B}, {0x96, 0xF2}, /* 0x5C-0x5F */ + {0x83, 0x4F}, {0x99, 0x0C}, {0x53, 0xE1}, {0x55, 0xB6}, /* 0x60-0x63 */ + {0x5B, 0x30}, {0x5F, 0x71}, {0x66, 0x20}, {0x66, 0xF3}, /* 0x64-0x67 */ + {0x68, 0x04}, {0x6C, 0x38}, {0x6C, 0xF3}, {0x6D, 0x29}, /* 0x68-0x6B */ + {0x74, 0x5B}, {0x76, 0xC8}, {0x7A, 0x4E}, {0x98, 0x34}, /* 0x6C-0x6F */ + {0x82, 0xF1}, {0x88, 0x5B}, {0x8A, 0x60}, {0x92, 0xED}, /* 0x70-0x73 */ + {0x6D, 0xB2}, {0x75, 0xAB}, {0x76, 0xCA}, {0x99, 0xC5}, /* 0x74-0x77 */ + {0x60, 0xA6}, {0x8B, 0x01}, {0x8D, 0x8A}, {0x95, 0xB2}, /* 0x78-0x7B */ + {0x69, 0x8E}, {0x53, 0xAD}, {0x51, 0x86}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x57, 0x12}, {0x58, 0x30}, {0x59, 0x44}, {0x5B, 0xB4}, /* 0x80-0x83 */ + {0x5E, 0xF6}, {0x60, 0x28}, {0x63, 0xA9}, {0x63, 0xF4}, /* 0x84-0x87 */ + {0x6C, 0xBF}, {0x6F, 0x14}, {0x70, 0x8E}, {0x71, 0x14}, /* 0x88-0x8B */ + {0x71, 0x59}, {0x71, 0xD5}, {0x73, 0x3F}, {0x7E, 0x01}, /* 0x8C-0x8F */ + {0x82, 0x76}, {0x82, 0xD1}, {0x85, 0x97}, {0x90, 0x60}, /* 0x90-0x93 */ + {0x92, 0x5B}, {0x9D, 0x1B}, {0x58, 0x69}, {0x65, 0xBC}, /* 0x94-0x97 */ + {0x6C, 0x5A}, {0x75, 0x25}, {0x51, 0xF9}, {0x59, 0x2E}, /* 0x98-0x9B */ + {0x59, 0x65}, {0x5F, 0x80}, {0x5F, 0xDC}, {0x62, 0xBC}, /* 0x9C-0x9F */ + {0x65, 0xFA}, {0x6A, 0x2A}, {0x6B, 0x27}, {0x6B, 0xB4}, /* 0xA0-0xA3 */ + {0x73, 0x8B}, {0x7F, 0xC1}, {0x89, 0x56}, {0x9D, 0x2C}, /* 0xA4-0xA7 */ + {0x9D, 0x0E}, {0x9E, 0xC4}, {0x5C, 0xA1}, {0x6C, 0x96}, /* 0xA8-0xAB */ + {0x83, 0x7B}, {0x51, 0x04}, {0x5C, 0x4B}, {0x61, 0xB6}, /* 0xAC-0xAF */ + {0x81, 0xC6}, {0x68, 0x76}, {0x72, 0x61}, {0x4E, 0x59}, /* 0xB0-0xB3 */ + {0x4F, 0xFA}, {0x53, 0x78}, {0x60, 0x69}, {0x6E, 0x29}, /* 0xB4-0xB7 */ + {0x7A, 0x4F}, {0x97, 0xF3}, {0x4E, 0x0B}, {0x53, 0x16}, /* 0xB8-0xBB */ + {0x4E, 0xEE}, {0x4F, 0x55}, {0x4F, 0x3D}, {0x4F, 0xA1}, /* 0xBC-0xBF */ + {0x4F, 0x73}, {0x52, 0xA0}, {0x53, 0xEF}, {0x56, 0x09}, /* 0xC0-0xC3 */ + {0x59, 0x0F}, {0x5A, 0xC1}, {0x5B, 0xB6}, {0x5B, 0xE1}, /* 0xC4-0xC7 */ + {0x79, 0xD1}, {0x66, 0x87}, {0x67, 0x9C}, {0x67, 0xB6}, /* 0xC8-0xCB */ + {0x6B, 0x4C}, {0x6C, 0xB3}, {0x70, 0x6B}, {0x73, 0xC2}, /* 0xCC-0xCF */ + {0x79, 0x8D}, {0x79, 0xBE}, {0x7A, 0x3C}, {0x7B, 0x87}, /* 0xD0-0xD3 */ + {0x82, 0xB1}, {0x82, 0xDB}, {0x83, 0x04}, {0x83, 0x77}, /* 0xD4-0xD7 */ + {0x83, 0xEF}, {0x83, 0xD3}, {0x87, 0x66}, {0x8A, 0xB2}, /* 0xD8-0xDB */ + {0x56, 0x29}, {0x8C, 0xA8}, {0x8F, 0xE6}, {0x90, 0x4E}, /* 0xDC-0xDF */ + {0x97, 0x1E}, {0x86, 0x8A}, {0x4F, 0xC4}, {0x5C, 0xE8}, /* 0xE0-0xE3 */ + {0x62, 0x11}, {0x72, 0x59}, {0x75, 0x3B}, {0x81, 0xE5}, /* 0xE4-0xE7 */ + {0x82, 0xBD}, {0x86, 0xFE}, {0x8C, 0xC0}, {0x96, 0xC5}, /* 0xE8-0xEB */ + {0x99, 0x13}, {0x99, 0xD5}, {0x4E, 0xCB}, {0x4F, 0x1A}, /* 0xEC-0xEF */ + {0x89, 0xE3}, {0x56, 0xDE}, {0x58, 0x4A}, {0x58, 0xCA}, /* 0xF0-0xF3 */ + {0x5E, 0xFB}, {0x5F, 0xEB}, {0x60, 0x2A}, {0x60, 0x94}, /* 0xF4-0xF7 */ + {0x60, 0x62}, {0x61, 0xD0}, {0x62, 0x12}, {0x62, 0xD0}, /* 0xF8-0xFB */ + {0x65, 0x39}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8A[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9B, 0x41}, {0x66, 0x66}, {0x68, 0xB0}, {0x6D, 0x77}, /* 0x40-0x43 */ + {0x70, 0x70}, {0x75, 0x4C}, {0x76, 0x86}, {0x7D, 0x75}, /* 0x44-0x47 */ + {0x82, 0xA5}, {0x87, 0xF9}, {0x95, 0x8B}, {0x96, 0x8E}, /* 0x48-0x4B */ + {0x8C, 0x9D}, {0x51, 0xF1}, {0x52, 0xBE}, {0x59, 0x16}, /* 0x4C-0x4F */ + {0x54, 0xB3}, {0x5B, 0xB3}, {0x5D, 0x16}, {0x61, 0x68}, /* 0x50-0x53 */ + {0x69, 0x82}, {0x6D, 0xAF}, {0x78, 0x8D}, {0x84, 0xCB}, /* 0x54-0x57 */ + {0x88, 0x57}, {0x8A, 0x72}, {0x93, 0xA7}, {0x9A, 0xB8}, /* 0x58-0x5B */ + {0x6D, 0x6C}, {0x99, 0xA8}, {0x86, 0xD9}, {0x57, 0xA3}, /* 0x5C-0x5F */ + {0x67, 0xFF}, {0x86, 0xCE}, {0x92, 0x0E}, {0x52, 0x83}, /* 0x60-0x63 */ + {0x56, 0x87}, {0x54, 0x04}, {0x5E, 0xD3}, {0x62, 0xE1}, /* 0x64-0x67 */ + {0x64, 0xB9}, {0x68, 0x3C}, {0x68, 0x38}, {0x6B, 0xBB}, /* 0x68-0x6B */ + {0x73, 0x72}, {0x78, 0xBA}, {0x7A, 0x6B}, {0x89, 0x9A}, /* 0x6C-0x6F */ + {0x89, 0xD2}, {0x8D, 0x6B}, {0x8F, 0x03}, {0x90, 0xED}, /* 0x70-0x73 */ + {0x95, 0xA3}, {0x96, 0x94}, {0x97, 0x69}, {0x5B, 0x66}, /* 0x74-0x77 */ + {0x5C, 0xB3}, {0x69, 0x7D}, {0x98, 0x4D}, {0x98, 0x4E}, /* 0x78-0x7B */ + {0x63, 0x9B}, {0x7B, 0x20}, {0x6A, 0x2B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x6A, 0x7F}, {0x68, 0xB6}, {0x9C, 0x0D}, {0x6F, 0x5F}, /* 0x80-0x83 */ + {0x52, 0x72}, {0x55, 0x9D}, {0x60, 0x70}, {0x62, 0xEC}, /* 0x84-0x87 */ + {0x6D, 0x3B}, {0x6E, 0x07}, {0x6E, 0xD1}, {0x84, 0x5B}, /* 0x88-0x8B */ + {0x89, 0x10}, {0x8F, 0x44}, {0x4E, 0x14}, {0x9C, 0x39}, /* 0x8C-0x8F */ + {0x53, 0xF6}, {0x69, 0x1B}, {0x6A, 0x3A}, {0x97, 0x84}, /* 0x90-0x93 */ + {0x68, 0x2A}, {0x51, 0x5C}, {0x7A, 0xC3}, {0x84, 0xB2}, /* 0x94-0x97 */ + {0x91, 0xDC}, {0x93, 0x8C}, {0x56, 0x5B}, {0x9D, 0x28}, /* 0x98-0x9B */ + {0x68, 0x22}, {0x83, 0x05}, {0x84, 0x31}, {0x7C, 0xA5}, /* 0x9C-0x9F */ + {0x52, 0x08}, {0x82, 0xC5}, {0x74, 0xE6}, {0x4E, 0x7E}, /* 0xA0-0xA3 */ + {0x4F, 0x83}, {0x51, 0xA0}, {0x5B, 0xD2}, {0x52, 0x0A}, /* 0xA4-0xA7 */ + {0x52, 0xD8}, {0x52, 0xE7}, {0x5D, 0xFB}, {0x55, 0x9A}, /* 0xA8-0xAB */ + {0x58, 0x2A}, {0x59, 0xE6}, {0x5B, 0x8C}, {0x5B, 0x98}, /* 0xAC-0xAF */ + {0x5B, 0xDB}, {0x5E, 0x72}, {0x5E, 0x79}, {0x60, 0xA3}, /* 0xB0-0xB3 */ + {0x61, 0x1F}, {0x61, 0x63}, {0x61, 0xBE}, {0x63, 0xDB}, /* 0xB4-0xB7 */ + {0x65, 0x62}, {0x67, 0xD1}, {0x68, 0x53}, {0x68, 0xFA}, /* 0xB8-0xBB */ + {0x6B, 0x3E}, {0x6B, 0x53}, {0x6C, 0x57}, {0x6F, 0x22}, /* 0xBC-0xBF */ + {0x6F, 0x97}, {0x6F, 0x45}, {0x74, 0xB0}, {0x75, 0x18}, /* 0xC0-0xC3 */ + {0x76, 0xE3}, {0x77, 0x0B}, {0x7A, 0xFF}, {0x7B, 0xA1}, /* 0xC4-0xC7 */ + {0x7C, 0x21}, {0x7D, 0xE9}, {0x7F, 0x36}, {0x7F, 0xF0}, /* 0xC8-0xCB */ + {0x80, 0x9D}, {0x82, 0x66}, {0x83, 0x9E}, {0x89, 0xB3}, /* 0xCC-0xCF */ + {0x8A, 0xCC}, {0x8C, 0xAB}, {0x90, 0x84}, {0x94, 0x51}, /* 0xD0-0xD3 */ + {0x95, 0x93}, {0x95, 0x91}, {0x95, 0xA2}, {0x96, 0x65}, /* 0xD4-0xD7 */ + {0x97, 0xD3}, {0x99, 0x28}, {0x82, 0x18}, {0x4E, 0x38}, /* 0xD8-0xDB */ + {0x54, 0x2B}, {0x5C, 0xB8}, {0x5D, 0xCC}, {0x73, 0xA9}, /* 0xDC-0xDF */ + {0x76, 0x4C}, {0x77, 0x3C}, {0x5C, 0xA9}, {0x7F, 0xEB}, /* 0xE0-0xE3 */ + {0x8D, 0x0B}, {0x96, 0xC1}, {0x98, 0x11}, {0x98, 0x54}, /* 0xE4-0xE7 */ + {0x98, 0x58}, {0x4F, 0x01}, {0x4F, 0x0E}, {0x53, 0x71}, /* 0xE8-0xEB */ + {0x55, 0x9C}, {0x56, 0x68}, {0x57, 0xFA}, {0x59, 0x47}, /* 0xEC-0xEF */ + {0x5B, 0x09}, {0x5B, 0xC4}, {0x5C, 0x90}, {0x5E, 0x0C}, /* 0xF0-0xF3 */ + {0x5E, 0x7E}, {0x5F, 0xCC}, {0x63, 0xEE}, {0x67, 0x3A}, /* 0xF4-0xF7 */ + {0x65, 0xD7}, {0x65, 0xE2}, {0x67, 0x1F}, {0x68, 0xCB}, /* 0xF8-0xFB */ + {0x68, 0xC4}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8B[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6A, 0x5F}, {0x5E, 0x30}, {0x6B, 0xC5}, {0x6C, 0x17}, /* 0x40-0x43 */ + {0x6C, 0x7D}, {0x75, 0x7F}, {0x79, 0x48}, {0x5B, 0x63}, /* 0x44-0x47 */ + {0x7A, 0x00}, {0x7D, 0x00}, {0x5F, 0xBD}, {0x89, 0x8F}, /* 0x48-0x4B */ + {0x8A, 0x18}, {0x8C, 0xB4}, {0x8D, 0x77}, {0x8E, 0xCC}, /* 0x4C-0x4F */ + {0x8F, 0x1D}, {0x98, 0xE2}, {0x9A, 0x0E}, {0x9B, 0x3C}, /* 0x50-0x53 */ + {0x4E, 0x80}, {0x50, 0x7D}, {0x51, 0x00}, {0x59, 0x93}, /* 0x54-0x57 */ + {0x5B, 0x9C}, {0x62, 0x2F}, {0x62, 0x80}, {0x64, 0xEC}, /* 0x58-0x5B */ + {0x6B, 0x3A}, {0x72, 0xA0}, {0x75, 0x91}, {0x79, 0x47}, /* 0x5C-0x5F */ + {0x7F, 0xA9}, {0x87, 0xFB}, {0x8A, 0xBC}, {0x8B, 0x70}, /* 0x60-0x63 */ + {0x63, 0xAC}, {0x83, 0xCA}, {0x97, 0xA0}, {0x54, 0x09}, /* 0x64-0x67 */ + {0x54, 0x03}, {0x55, 0xAB}, {0x68, 0x54}, {0x6A, 0x58}, /* 0x68-0x6B */ + {0x8A, 0x70}, {0x78, 0x27}, {0x67, 0x75}, {0x9E, 0xCD}, /* 0x6C-0x6F */ + {0x53, 0x74}, {0x5B, 0xA2}, {0x81, 0x1A}, {0x86, 0x50}, /* 0x70-0x73 */ + {0x90, 0x06}, {0x4E, 0x18}, {0x4E, 0x45}, {0x4E, 0xC7}, /* 0x74-0x77 */ + {0x4F, 0x11}, {0x53, 0xCA}, {0x54, 0x38}, {0x5B, 0xAE}, /* 0x78-0x7B */ + {0x5F, 0x13}, {0x60, 0x25}, {0x65, 0x51}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x67, 0x3D}, {0x6C, 0x42}, {0x6C, 0x72}, {0x6C, 0xE3}, /* 0x80-0x83 */ + {0x70, 0x78}, {0x74, 0x03}, {0x7A, 0x76}, {0x7A, 0xAE}, /* 0x84-0x87 */ + {0x7B, 0x08}, {0x7D, 0x1A}, {0x7C, 0xFE}, {0x7D, 0x66}, /* 0x88-0x8B */ + {0x65, 0xE7}, {0x72, 0x5B}, {0x53, 0xBB}, {0x5C, 0x45}, /* 0x8C-0x8F */ + {0x5D, 0xE8}, {0x62, 0xD2}, {0x62, 0xE0}, {0x63, 0x19}, /* 0x90-0x93 */ + {0x6E, 0x20}, {0x86, 0x5A}, {0x8A, 0x31}, {0x8D, 0xDD}, /* 0x94-0x97 */ + {0x92, 0xF8}, {0x6F, 0x01}, {0x79, 0xA6}, {0x9B, 0x5A}, /* 0x98-0x9B */ + {0x4E, 0xA8}, {0x4E, 0xAB}, {0x4E, 0xAC}, {0x4F, 0x9B}, /* 0x9C-0x9F */ + {0x4F, 0xA0}, {0x50, 0xD1}, {0x51, 0x47}, {0x7A, 0xF6}, /* 0xA0-0xA3 */ + {0x51, 0x71}, {0x51, 0xF6}, {0x53, 0x54}, {0x53, 0x21}, /* 0xA4-0xA7 */ + {0x53, 0x7F}, {0x53, 0xEB}, {0x55, 0xAC}, {0x58, 0x83}, /* 0xA8-0xAB */ + {0x5C, 0xE1}, {0x5F, 0x37}, {0x5F, 0x4A}, {0x60, 0x2F}, /* 0xAC-0xAF */ + {0x60, 0x50}, {0x60, 0x6D}, {0x63, 0x1F}, {0x65, 0x59}, /* 0xB0-0xB3 */ + {0x6A, 0x4B}, {0x6C, 0xC1}, {0x72, 0xC2}, {0x72, 0xED}, /* 0xB4-0xB7 */ + {0x77, 0xEF}, {0x80, 0xF8}, {0x81, 0x05}, {0x82, 0x08}, /* 0xB8-0xBB */ + {0x85, 0x4E}, {0x90, 0xF7}, {0x93, 0xE1}, {0x97, 0xFF}, /* 0xBC-0xBF */ + {0x99, 0x57}, {0x9A, 0x5A}, {0x4E, 0xF0}, {0x51, 0xDD}, /* 0xC0-0xC3 */ + {0x5C, 0x2D}, {0x66, 0x81}, {0x69, 0x6D}, {0x5C, 0x40}, /* 0xC4-0xC7 */ + {0x66, 0xF2}, {0x69, 0x75}, {0x73, 0x89}, {0x68, 0x50}, /* 0xC8-0xCB */ + {0x7C, 0x81}, {0x50, 0xC5}, {0x52, 0xE4}, {0x57, 0x47}, /* 0xCC-0xCF */ + {0x5D, 0xFE}, {0x93, 0x26}, {0x65, 0xA4}, {0x6B, 0x23}, /* 0xD0-0xD3 */ + {0x6B, 0x3D}, {0x74, 0x34}, {0x79, 0x81}, {0x79, 0xBD}, /* 0xD4-0xD7 */ + {0x7B, 0x4B}, {0x7D, 0xCA}, {0x82, 0xB9}, {0x83, 0xCC}, /* 0xD8-0xDB */ + {0x88, 0x7F}, {0x89, 0x5F}, {0x8B, 0x39}, {0x8F, 0xD1}, /* 0xDC-0xDF */ + {0x91, 0xD1}, {0x54, 0x1F}, {0x92, 0x80}, {0x4E, 0x5D}, /* 0xE0-0xE3 */ + {0x50, 0x36}, {0x53, 0xE5}, {0x53, 0x3A}, {0x72, 0xD7}, /* 0xE4-0xE7 */ + {0x73, 0x96}, {0x77, 0xE9}, {0x82, 0xE6}, {0x8E, 0xAF}, /* 0xE8-0xEB */ + {0x99, 0xC6}, {0x99, 0xC8}, {0x99, 0xD2}, {0x51, 0x77}, /* 0xEC-0xEF */ + {0x61, 0x1A}, {0x86, 0x5E}, {0x55, 0xB0}, {0x7A, 0x7A}, /* 0xF0-0xF3 */ + {0x50, 0x76}, {0x5B, 0xD3}, {0x90, 0x47}, {0x96, 0x85}, /* 0xF4-0xF7 */ + {0x4E, 0x32}, {0x6A, 0xDB}, {0x91, 0xE7}, {0x5C, 0x51}, /* 0xF8-0xFB */ + {0x5C, 0x48}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8C[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x63, 0x98}, {0x7A, 0x9F}, {0x6C, 0x93}, {0x97, 0x74}, /* 0x40-0x43 */ + {0x8F, 0x61}, {0x7A, 0xAA}, {0x71, 0x8A}, {0x96, 0x88}, /* 0x44-0x47 */ + {0x7C, 0x82}, {0x68, 0x17}, {0x7E, 0x70}, {0x68, 0x51}, /* 0x48-0x4B */ + {0x93, 0x6C}, {0x52, 0xF2}, {0x54, 0x1B}, {0x85, 0xAB}, /* 0x4C-0x4F */ + {0x8A, 0x13}, {0x7F, 0xA4}, {0x8E, 0xCD}, {0x90, 0xE1}, /* 0x50-0x53 */ + {0x53, 0x66}, {0x88, 0x88}, {0x79, 0x41}, {0x4F, 0xC2}, /* 0x54-0x57 */ + {0x50, 0xBE}, {0x52, 0x11}, {0x51, 0x44}, {0x55, 0x53}, /* 0x58-0x5B */ + {0x57, 0x2D}, {0x73, 0xEA}, {0x57, 0x8B}, {0x59, 0x51}, /* 0x5C-0x5F */ + {0x5F, 0x62}, {0x5F, 0x84}, {0x60, 0x75}, {0x61, 0x76}, /* 0x60-0x63 */ + {0x61, 0x67}, {0x61, 0xA9}, {0x63, 0xB2}, {0x64, 0x3A}, /* 0x64-0x67 */ + {0x65, 0x6C}, {0x66, 0x6F}, {0x68, 0x42}, {0x6E, 0x13}, /* 0x68-0x6B */ + {0x75, 0x66}, {0x7A, 0x3D}, {0x7C, 0xFB}, {0x7D, 0x4C}, /* 0x6C-0x6F */ + {0x7D, 0x99}, {0x7E, 0x4B}, {0x7F, 0x6B}, {0x83, 0x0E}, /* 0x70-0x73 */ + {0x83, 0x4A}, {0x86, 0xCD}, {0x8A, 0x08}, {0x8A, 0x63}, /* 0x74-0x77 */ + {0x8B, 0x66}, {0x8E, 0xFD}, {0x98, 0x1A}, {0x9D, 0x8F}, /* 0x78-0x7B */ + {0x82, 0xB8}, {0x8F, 0xCE}, {0x9B, 0xE8}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x52, 0x87}, {0x62, 0x1F}, {0x64, 0x83}, {0x6F, 0xC0}, /* 0x80-0x83 */ + {0x96, 0x99}, {0x68, 0x41}, {0x50, 0x91}, {0x6B, 0x20}, /* 0x84-0x87 */ + {0x6C, 0x7A}, {0x6F, 0x54}, {0x7A, 0x74}, {0x7D, 0x50}, /* 0x88-0x8B */ + {0x88, 0x40}, {0x8A, 0x23}, {0x67, 0x08}, {0x4E, 0xF6}, /* 0x8C-0x8F */ + {0x50, 0x39}, {0x50, 0x26}, {0x50, 0x65}, {0x51, 0x7C}, /* 0x90-0x93 */ + {0x52, 0x38}, {0x52, 0x63}, {0x55, 0xA7}, {0x57, 0x0F}, /* 0x94-0x97 */ + {0x58, 0x05}, {0x5A, 0xCC}, {0x5E, 0xFA}, {0x61, 0xB2}, /* 0x98-0x9B */ + {0x61, 0xF8}, {0x62, 0xF3}, {0x63, 0x72}, {0x69, 0x1C}, /* 0x9C-0x9F */ + {0x6A, 0x29}, {0x72, 0x7D}, {0x72, 0xAC}, {0x73, 0x2E}, /* 0xA0-0xA3 */ + {0x78, 0x14}, {0x78, 0x6F}, {0x7D, 0x79}, {0x77, 0x0C}, /* 0xA4-0xA7 */ + {0x80, 0xA9}, {0x89, 0x8B}, {0x8B, 0x19}, {0x8C, 0xE2}, /* 0xA8-0xAB */ + {0x8E, 0xD2}, {0x90, 0x63}, {0x93, 0x75}, {0x96, 0x7A}, /* 0xAC-0xAF */ + {0x98, 0x55}, {0x9A, 0x13}, {0x9E, 0x78}, {0x51, 0x43}, /* 0xB0-0xB3 */ + {0x53, 0x9F}, {0x53, 0xB3}, {0x5E, 0x7B}, {0x5F, 0x26}, /* 0xB4-0xB7 */ + {0x6E, 0x1B}, {0x6E, 0x90}, {0x73, 0x84}, {0x73, 0xFE}, /* 0xB8-0xBB */ + {0x7D, 0x43}, {0x82, 0x37}, {0x8A, 0x00}, {0x8A, 0xFA}, /* 0xBC-0xBF */ + {0x96, 0x50}, {0x4E, 0x4E}, {0x50, 0x0B}, {0x53, 0xE4}, /* 0xC0-0xC3 */ + {0x54, 0x7C}, {0x56, 0xFA}, {0x59, 0xD1}, {0x5B, 0x64}, /* 0xC4-0xC7 */ + {0x5D, 0xF1}, {0x5E, 0xAB}, {0x5F, 0x27}, {0x62, 0x38}, /* 0xC8-0xCB */ + {0x65, 0x45}, {0x67, 0xAF}, {0x6E, 0x56}, {0x72, 0xD0}, /* 0xCC-0xCF */ + {0x7C, 0xCA}, {0x88, 0xB4}, {0x80, 0xA1}, {0x80, 0xE1}, /* 0xD0-0xD3 */ + {0x83, 0xF0}, {0x86, 0x4E}, {0x8A, 0x87}, {0x8D, 0xE8}, /* 0xD4-0xD7 */ + {0x92, 0x37}, {0x96, 0xC7}, {0x98, 0x67}, {0x9F, 0x13}, /* 0xD8-0xDB */ + {0x4E, 0x94}, {0x4E, 0x92}, {0x4F, 0x0D}, {0x53, 0x48}, /* 0xDC-0xDF */ + {0x54, 0x49}, {0x54, 0x3E}, {0x5A, 0x2F}, {0x5F, 0x8C}, /* 0xE0-0xE3 */ + {0x5F, 0xA1}, {0x60, 0x9F}, {0x68, 0xA7}, {0x6A, 0x8E}, /* 0xE4-0xE7 */ + {0x74, 0x5A}, {0x78, 0x81}, {0x8A, 0x9E}, {0x8A, 0xA4}, /* 0xE8-0xEB */ + {0x8B, 0x77}, {0x91, 0x90}, {0x4E, 0x5E}, {0x9B, 0xC9}, /* 0xEC-0xEF */ + {0x4E, 0xA4}, {0x4F, 0x7C}, {0x4F, 0xAF}, {0x50, 0x19}, /* 0xF0-0xF3 */ + {0x50, 0x16}, {0x51, 0x49}, {0x51, 0x6C}, {0x52, 0x9F}, /* 0xF4-0xF7 */ + {0x52, 0xB9}, {0x52, 0xFE}, {0x53, 0x9A}, {0x53, 0xE3}, /* 0xF8-0xFB */ + {0x54, 0x11}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8D[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x54, 0x0E}, {0x55, 0x89}, {0x57, 0x51}, {0x57, 0xA2}, /* 0x40-0x43 */ + {0x59, 0x7D}, {0x5B, 0x54}, {0x5B, 0x5D}, {0x5B, 0x8F}, /* 0x44-0x47 */ + {0x5D, 0xE5}, {0x5D, 0xE7}, {0x5D, 0xF7}, {0x5E, 0x78}, /* 0x48-0x4B */ + {0x5E, 0x83}, {0x5E, 0x9A}, {0x5E, 0xB7}, {0x5F, 0x18}, /* 0x4C-0x4F */ + {0x60, 0x52}, {0x61, 0x4C}, {0x62, 0x97}, {0x62, 0xD8}, /* 0x50-0x53 */ + {0x63, 0xA7}, {0x65, 0x3B}, {0x66, 0x02}, {0x66, 0x43}, /* 0x54-0x57 */ + {0x66, 0xF4}, {0x67, 0x6D}, {0x68, 0x21}, {0x68, 0x97}, /* 0x58-0x5B */ + {0x69, 0xCB}, {0x6C, 0x5F}, {0x6D, 0x2A}, {0x6D, 0x69}, /* 0x5C-0x5F */ + {0x6E, 0x2F}, {0x6E, 0x9D}, {0x75, 0x32}, {0x76, 0x87}, /* 0x60-0x63 */ + {0x78, 0x6C}, {0x7A, 0x3F}, {0x7C, 0xE0}, {0x7D, 0x05}, /* 0x64-0x67 */ + {0x7D, 0x18}, {0x7D, 0x5E}, {0x7D, 0xB1}, {0x80, 0x15}, /* 0x68-0x6B */ + {0x80, 0x03}, {0x80, 0xAF}, {0x80, 0xB1}, {0x81, 0x54}, /* 0x6C-0x6F */ + {0x81, 0x8F}, {0x82, 0x2A}, {0x83, 0x52}, {0x88, 0x4C}, /* 0x70-0x73 */ + {0x88, 0x61}, {0x8B, 0x1B}, {0x8C, 0xA2}, {0x8C, 0xFC}, /* 0x74-0x77 */ + {0x90, 0xCA}, {0x91, 0x75}, {0x92, 0x71}, {0x78, 0x3F}, /* 0x78-0x7B */ + {0x92, 0xFC}, {0x95, 0xA4}, {0x96, 0x4D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x98, 0x05}, {0x99, 0x99}, {0x9A, 0xD8}, {0x9D, 0x3B}, /* 0x80-0x83 */ + {0x52, 0x5B}, {0x52, 0xAB}, {0x53, 0xF7}, {0x54, 0x08}, /* 0x84-0x87 */ + {0x58, 0xD5}, {0x62, 0xF7}, {0x6F, 0xE0}, {0x8C, 0x6A}, /* 0x88-0x8B */ + {0x8F, 0x5F}, {0x9E, 0xB9}, {0x51, 0x4B}, {0x52, 0x3B}, /* 0x8C-0x8F */ + {0x54, 0x4A}, {0x56, 0xFD}, {0x7A, 0x40}, {0x91, 0x77}, /* 0x90-0x93 */ + {0x9D, 0x60}, {0x9E, 0xD2}, {0x73, 0x44}, {0x6F, 0x09}, /* 0x94-0x97 */ + {0x81, 0x70}, {0x75, 0x11}, {0x5F, 0xFD}, {0x60, 0xDA}, /* 0x98-0x9B */ + {0x9A, 0xA8}, {0x72, 0xDB}, {0x8F, 0xBC}, {0x6B, 0x64}, /* 0x9C-0x9F */ + {0x98, 0x03}, {0x4E, 0xCA}, {0x56, 0xF0}, {0x57, 0x64}, /* 0xA0-0xA3 */ + {0x58, 0xBE}, {0x5A, 0x5A}, {0x60, 0x68}, {0x61, 0xC7}, /* 0xA4-0xA7 */ + {0x66, 0x0F}, {0x66, 0x06}, {0x68, 0x39}, {0x68, 0xB1}, /* 0xA8-0xAB */ + {0x6D, 0xF7}, {0x75, 0xD5}, {0x7D, 0x3A}, {0x82, 0x6E}, /* 0xAC-0xAF */ + {0x9B, 0x42}, {0x4E, 0x9B}, {0x4F, 0x50}, {0x53, 0xC9}, /* 0xB0-0xB3 */ + {0x55, 0x06}, {0x5D, 0x6F}, {0x5D, 0xE6}, {0x5D, 0xEE}, /* 0xB4-0xB7 */ + {0x67, 0xFB}, {0x6C, 0x99}, {0x74, 0x73}, {0x78, 0x02}, /* 0xB8-0xBB */ + {0x8A, 0x50}, {0x93, 0x96}, {0x88, 0xDF}, {0x57, 0x50}, /* 0xBC-0xBF */ + {0x5E, 0xA7}, {0x63, 0x2B}, {0x50, 0xB5}, {0x50, 0xAC}, /* 0xC0-0xC3 */ + {0x51, 0x8D}, {0x67, 0x00}, {0x54, 0xC9}, {0x58, 0x5E}, /* 0xC4-0xC7 */ + {0x59, 0xBB}, {0x5B, 0xB0}, {0x5F, 0x69}, {0x62, 0x4D}, /* 0xC8-0xCB */ + {0x63, 0xA1}, {0x68, 0x3D}, {0x6B, 0x73}, {0x6E, 0x08}, /* 0xCC-0xCF */ + {0x70, 0x7D}, {0x91, 0xC7}, {0x72, 0x80}, {0x78, 0x15}, /* 0xD0-0xD3 */ + {0x78, 0x26}, {0x79, 0x6D}, {0x65, 0x8E}, {0x7D, 0x30}, /* 0xD4-0xD7 */ + {0x83, 0xDC}, {0x88, 0xC1}, {0x8F, 0x09}, {0x96, 0x9B}, /* 0xD8-0xDB */ + {0x52, 0x64}, {0x57, 0x28}, {0x67, 0x50}, {0x7F, 0x6A}, /* 0xDC-0xDF */ + {0x8C, 0xA1}, {0x51, 0xB4}, {0x57, 0x42}, {0x96, 0x2A}, /* 0xE0-0xE3 */ + {0x58, 0x3A}, {0x69, 0x8A}, {0x80, 0xB4}, {0x54, 0xB2}, /* 0xE4-0xE7 */ + {0x5D, 0x0E}, {0x57, 0xFC}, {0x78, 0x95}, {0x9D, 0xFA}, /* 0xE8-0xEB */ + {0x4F, 0x5C}, {0x52, 0x4A}, {0x54, 0x8B}, {0x64, 0x3E}, /* 0xEC-0xEF */ + {0x66, 0x28}, {0x67, 0x14}, {0x67, 0xF5}, {0x7A, 0x84}, /* 0xF0-0xF3 */ + {0x7B, 0x56}, {0x7D, 0x22}, {0x93, 0x2F}, {0x68, 0x5C}, /* 0xF4-0xF7 */ + {0x9B, 0xAD}, {0x7B, 0x39}, {0x53, 0x19}, {0x51, 0x8A}, /* 0xF8-0xFB */ + {0x52, 0x37}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8E[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5B, 0xDF}, {0x62, 0xF6}, {0x64, 0xAE}, {0x64, 0xE6}, /* 0x40-0x43 */ + {0x67, 0x2D}, {0x6B, 0xBA}, {0x85, 0xA9}, {0x96, 0xD1}, /* 0x44-0x47 */ + {0x76, 0x90}, {0x9B, 0xD6}, {0x63, 0x4C}, {0x93, 0x06}, /* 0x48-0x4B */ + {0x9B, 0xAB}, {0x76, 0xBF}, {0x66, 0x52}, {0x4E, 0x09}, /* 0x4C-0x4F */ + {0x50, 0x98}, {0x53, 0xC2}, {0x5C, 0x71}, {0x60, 0xE8}, /* 0x50-0x53 */ + {0x64, 0x92}, {0x65, 0x63}, {0x68, 0x5F}, {0x71, 0xE6}, /* 0x54-0x57 */ + {0x73, 0xCA}, {0x75, 0x23}, {0x7B, 0x97}, {0x7E, 0x82}, /* 0x58-0x5B */ + {0x86, 0x95}, {0x8B, 0x83}, {0x8C, 0xDB}, {0x91, 0x78}, /* 0x5C-0x5F */ + {0x99, 0x10}, {0x65, 0xAC}, {0x66, 0xAB}, {0x6B, 0x8B}, /* 0x60-0x63 */ + {0x4E, 0xD5}, {0x4E, 0xD4}, {0x4F, 0x3A}, {0x4F, 0x7F}, /* 0x64-0x67 */ + {0x52, 0x3A}, {0x53, 0xF8}, {0x53, 0xF2}, {0x55, 0xE3}, /* 0x68-0x6B */ + {0x56, 0xDB}, {0x58, 0xEB}, {0x59, 0xCB}, {0x59, 0xC9}, /* 0x6C-0x6F */ + {0x59, 0xFF}, {0x5B, 0x50}, {0x5C, 0x4D}, {0x5E, 0x02}, /* 0x70-0x73 */ + {0x5E, 0x2B}, {0x5F, 0xD7}, {0x60, 0x1D}, {0x63, 0x07}, /* 0x74-0x77 */ + {0x65, 0x2F}, {0x5B, 0x5C}, {0x65, 0xAF}, {0x65, 0xBD}, /* 0x78-0x7B */ + {0x65, 0xE8}, {0x67, 0x9D}, {0x6B, 0x62}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x6B, 0x7B}, {0x6C, 0x0F}, {0x73, 0x45}, {0x79, 0x49}, /* 0x80-0x83 */ + {0x79, 0xC1}, {0x7C, 0xF8}, {0x7D, 0x19}, {0x7D, 0x2B}, /* 0x84-0x87 */ + {0x80, 0xA2}, {0x81, 0x02}, {0x81, 0xF3}, {0x89, 0x96}, /* 0x88-0x8B */ + {0x8A, 0x5E}, {0x8A, 0x69}, {0x8A, 0x66}, {0x8A, 0x8C}, /* 0x8C-0x8F */ + {0x8A, 0xEE}, {0x8C, 0xC7}, {0x8C, 0xDC}, {0x96, 0xCC}, /* 0x90-0x93 */ + {0x98, 0xFC}, {0x6B, 0x6F}, {0x4E, 0x8B}, {0x4F, 0x3C}, /* 0x94-0x97 */ + {0x4F, 0x8D}, {0x51, 0x50}, {0x5B, 0x57}, {0x5B, 0xFA}, /* 0x98-0x9B */ + {0x61, 0x48}, {0x63, 0x01}, {0x66, 0x42}, {0x6B, 0x21}, /* 0x9C-0x9F */ + {0x6E, 0xCB}, {0x6C, 0xBB}, {0x72, 0x3E}, {0x74, 0xBD}, /* 0xA0-0xA3 */ + {0x75, 0xD4}, {0x78, 0xC1}, {0x79, 0x3A}, {0x80, 0x0C}, /* 0xA4-0xA7 */ + {0x80, 0x33}, {0x81, 0xEA}, {0x84, 0x94}, {0x8F, 0x9E}, /* 0xA8-0xAB */ + {0x6C, 0x50}, {0x9E, 0x7F}, {0x5F, 0x0F}, {0x8B, 0x58}, /* 0xAC-0xAF */ + {0x9D, 0x2B}, {0x7A, 0xFA}, {0x8E, 0xF8}, {0x5B, 0x8D}, /* 0xB0-0xB3 */ + {0x96, 0xEB}, {0x4E, 0x03}, {0x53, 0xF1}, {0x57, 0xF7}, /* 0xB4-0xB7 */ + {0x59, 0x31}, {0x5A, 0xC9}, {0x5B, 0xA4}, {0x60, 0x89}, /* 0xB8-0xBB */ + {0x6E, 0x7F}, {0x6F, 0x06}, {0x75, 0xBE}, {0x8C, 0xEA}, /* 0xBC-0xBF */ + {0x5B, 0x9F}, {0x85, 0x00}, {0x7B, 0xE0}, {0x50, 0x72}, /* 0xC0-0xC3 */ + {0x67, 0xF4}, {0x82, 0x9D}, {0x5C, 0x61}, {0x85, 0x4A}, /* 0xC4-0xC7 */ + {0x7E, 0x1E}, {0x82, 0x0E}, {0x51, 0x99}, {0x5C, 0x04}, /* 0xC8-0xCB */ + {0x63, 0x68}, {0x8D, 0x66}, {0x65, 0x9C}, {0x71, 0x6E}, /* 0xCC-0xCF */ + {0x79, 0x3E}, {0x7D, 0x17}, {0x80, 0x05}, {0x8B, 0x1D}, /* 0xD0-0xD3 */ + {0x8E, 0xCA}, {0x90, 0x6E}, {0x86, 0xC7}, {0x90, 0xAA}, /* 0xD4-0xD7 */ + {0x50, 0x1F}, {0x52, 0xFA}, {0x5C, 0x3A}, {0x67, 0x53}, /* 0xD8-0xDB */ + {0x70, 0x7C}, {0x72, 0x35}, {0x91, 0x4C}, {0x91, 0xC8}, /* 0xDC-0xDF */ + {0x93, 0x2B}, {0x82, 0xE5}, {0x5B, 0xC2}, {0x5F, 0x31}, /* 0xE0-0xE3 */ + {0x60, 0xF9}, {0x4E, 0x3B}, {0x53, 0xD6}, {0x5B, 0x88}, /* 0xE4-0xE7 */ + {0x62, 0x4B}, {0x67, 0x31}, {0x6B, 0x8A}, {0x72, 0xE9}, /* 0xE8-0xEB */ + {0x73, 0xE0}, {0x7A, 0x2E}, {0x81, 0x6B}, {0x8D, 0xA3}, /* 0xEC-0xEF */ + {0x91, 0x52}, {0x99, 0x96}, {0x51, 0x12}, {0x53, 0xD7}, /* 0xF0-0xF3 */ + {0x54, 0x6A}, {0x5B, 0xFF}, {0x63, 0x88}, {0x6A, 0x39}, /* 0xF4-0xF7 */ + {0x7D, 0xAC}, {0x97, 0x00}, {0x56, 0xDA}, {0x53, 0xCE}, /* 0xF8-0xFB */ + {0x54, 0x68}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8F[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5B, 0x97}, {0x5C, 0x31}, {0x5D, 0xDE}, {0x4F, 0xEE}, /* 0x40-0x43 */ + {0x61, 0x01}, {0x62, 0xFE}, {0x6D, 0x32}, {0x79, 0xC0}, /* 0x44-0x47 */ + {0x79, 0xCB}, {0x7D, 0x42}, {0x7E, 0x4D}, {0x7F, 0xD2}, /* 0x48-0x4B */ + {0x81, 0xED}, {0x82, 0x1F}, {0x84, 0x90}, {0x88, 0x46}, /* 0x4C-0x4F */ + {0x89, 0x72}, {0x8B, 0x90}, {0x8E, 0x74}, {0x8F, 0x2F}, /* 0x50-0x53 */ + {0x90, 0x31}, {0x91, 0x4B}, {0x91, 0x6C}, {0x96, 0xC6}, /* 0x54-0x57 */ + {0x91, 0x9C}, {0x4E, 0xC0}, {0x4F, 0x4F}, {0x51, 0x45}, /* 0x58-0x5B */ + {0x53, 0x41}, {0x5F, 0x93}, {0x62, 0x0E}, {0x67, 0xD4}, /* 0x5C-0x5F */ + {0x6C, 0x41}, {0x6E, 0x0B}, {0x73, 0x63}, {0x7E, 0x26}, /* 0x60-0x63 */ + {0x91, 0xCD}, {0x92, 0x83}, {0x53, 0xD4}, {0x59, 0x19}, /* 0x64-0x67 */ + {0x5B, 0xBF}, {0x6D, 0xD1}, {0x79, 0x5D}, {0x7E, 0x2E}, /* 0x68-0x6B */ + {0x7C, 0x9B}, {0x58, 0x7E}, {0x71, 0x9F}, {0x51, 0xFA}, /* 0x6C-0x6F */ + {0x88, 0x53}, {0x8F, 0xF0}, {0x4F, 0xCA}, {0x5C, 0xFB}, /* 0x70-0x73 */ + {0x66, 0x25}, {0x77, 0xAC}, {0x7A, 0xE3}, {0x82, 0x1C}, /* 0x74-0x77 */ + {0x99, 0xFF}, {0x51, 0xC6}, {0x5F, 0xAA}, {0x65, 0xEC}, /* 0x78-0x7B */ + {0x69, 0x6F}, {0x6B, 0x89}, {0x6D, 0xF3}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x6E, 0x96}, {0x6F, 0x64}, {0x76, 0xFE}, {0x7D, 0x14}, /* 0x80-0x83 */ + {0x5D, 0xE1}, {0x90, 0x75}, {0x91, 0x87}, {0x98, 0x06}, /* 0x84-0x87 */ + {0x51, 0xE6}, {0x52, 0x1D}, {0x62, 0x40}, {0x66, 0x91}, /* 0x88-0x8B */ + {0x66, 0xD9}, {0x6E, 0x1A}, {0x5E, 0xB6}, {0x7D, 0xD2}, /* 0x8C-0x8F */ + {0x7F, 0x72}, {0x66, 0xF8}, {0x85, 0xAF}, {0x85, 0xF7}, /* 0x90-0x93 */ + {0x8A, 0xF8}, {0x52, 0xA9}, {0x53, 0xD9}, {0x59, 0x73}, /* 0x94-0x97 */ + {0x5E, 0x8F}, {0x5F, 0x90}, {0x60, 0x55}, {0x92, 0xE4}, /* 0x98-0x9B */ + {0x96, 0x64}, {0x50, 0xB7}, {0x51, 0x1F}, {0x52, 0xDD}, /* 0x9C-0x9F */ + {0x53, 0x20}, {0x53, 0x47}, {0x53, 0xEC}, {0x54, 0xE8}, /* 0xA0-0xA3 */ + {0x55, 0x46}, {0x55, 0x31}, {0x56, 0x17}, {0x59, 0x68}, /* 0xA4-0xA7 */ + {0x59, 0xBE}, {0x5A, 0x3C}, {0x5B, 0xB5}, {0x5C, 0x06}, /* 0xA8-0xAB */ + {0x5C, 0x0F}, {0x5C, 0x11}, {0x5C, 0x1A}, {0x5E, 0x84}, /* 0xAC-0xAF */ + {0x5E, 0x8A}, {0x5E, 0xE0}, {0x5F, 0x70}, {0x62, 0x7F}, /* 0xB0-0xB3 */ + {0x62, 0x84}, {0x62, 0xDB}, {0x63, 0x8C}, {0x63, 0x77}, /* 0xB4-0xB7 */ + {0x66, 0x07}, {0x66, 0x0C}, {0x66, 0x2D}, {0x66, 0x76}, /* 0xB8-0xBB */ + {0x67, 0x7E}, {0x68, 0xA2}, {0x6A, 0x1F}, {0x6A, 0x35}, /* 0xBC-0xBF */ + {0x6C, 0xBC}, {0x6D, 0x88}, {0x6E, 0x09}, {0x6E, 0x58}, /* 0xC0-0xC3 */ + {0x71, 0x3C}, {0x71, 0x26}, {0x71, 0x67}, {0x75, 0xC7}, /* 0xC4-0xC7 */ + {0x77, 0x01}, {0x78, 0x5D}, {0x79, 0x01}, {0x79, 0x65}, /* 0xC8-0xCB */ + {0x79, 0xF0}, {0x7A, 0xE0}, {0x7B, 0x11}, {0x7C, 0xA7}, /* 0xCC-0xCF */ + {0x7D, 0x39}, {0x80, 0x96}, {0x83, 0xD6}, {0x84, 0x8B}, /* 0xD0-0xD3 */ + {0x85, 0x49}, {0x88, 0x5D}, {0x88, 0xF3}, {0x8A, 0x1F}, /* 0xD4-0xD7 */ + {0x8A, 0x3C}, {0x8A, 0x54}, {0x8A, 0x73}, {0x8C, 0x61}, /* 0xD8-0xDB */ + {0x8C, 0xDE}, {0x91, 0xA4}, {0x92, 0x66}, {0x93, 0x7E}, /* 0xDC-0xDF */ + {0x94, 0x18}, {0x96, 0x9C}, {0x97, 0x98}, {0x4E, 0x0A}, /* 0xE0-0xE3 */ + {0x4E, 0x08}, {0x4E, 0x1E}, {0x4E, 0x57}, {0x51, 0x97}, /* 0xE4-0xE7 */ + {0x52, 0x70}, {0x57, 0xCE}, {0x58, 0x34}, {0x58, 0xCC}, /* 0xE8-0xEB */ + {0x5B, 0x22}, {0x5E, 0x38}, {0x60, 0xC5}, {0x64, 0xFE}, /* 0xEC-0xEF */ + {0x67, 0x61}, {0x67, 0x56}, {0x6D, 0x44}, {0x72, 0xB6}, /* 0xF0-0xF3 */ + {0x75, 0x73}, {0x7A, 0x63}, {0x84, 0xB8}, {0x8B, 0x72}, /* 0xF4-0xF7 */ + {0x91, 0xB8}, {0x93, 0x20}, {0x56, 0x31}, {0x57, 0xF4}, /* 0xF8-0xFB */ + {0x98, 0xFE}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_90[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x62, 0xED}, {0x69, 0x0D}, {0x6B, 0x96}, {0x71, 0xED}, /* 0x40-0x43 */ + {0x7E, 0x54}, {0x80, 0x77}, {0x82, 0x72}, {0x89, 0xE6}, /* 0x44-0x47 */ + {0x98, 0xDF}, {0x87, 0x55}, {0x8F, 0xB1}, {0x5C, 0x3B}, /* 0x48-0x4B */ + {0x4F, 0x38}, {0x4F, 0xE1}, {0x4F, 0xB5}, {0x55, 0x07}, /* 0x4C-0x4F */ + {0x5A, 0x20}, {0x5B, 0xDD}, {0x5B, 0xE9}, {0x5F, 0xC3}, /* 0x50-0x53 */ + {0x61, 0x4E}, {0x63, 0x2F}, {0x65, 0xB0}, {0x66, 0x4B}, /* 0x54-0x57 */ + {0x68, 0xEE}, {0x69, 0x9B}, {0x6D, 0x78}, {0x6D, 0xF1}, /* 0x58-0x5B */ + {0x75, 0x33}, {0x75, 0xB9}, {0x77, 0x1F}, {0x79, 0x5E}, /* 0x5C-0x5F */ + {0x79, 0xE6}, {0x7D, 0x33}, {0x81, 0xE3}, {0x82, 0xAF}, /* 0x60-0x63 */ + {0x85, 0xAA}, {0x89, 0xAA}, {0x8A, 0x3A}, {0x8E, 0xAB}, /* 0x64-0x67 */ + {0x8F, 0x9B}, {0x90, 0x32}, {0x91, 0xDD}, {0x97, 0x07}, /* 0x68-0x6B */ + {0x4E, 0xBA}, {0x4E, 0xC1}, {0x52, 0x03}, {0x58, 0x75}, /* 0x6C-0x6F */ + {0x58, 0xEC}, {0x5C, 0x0B}, {0x75, 0x1A}, {0x5C, 0x3D}, /* 0x70-0x73 */ + {0x81, 0x4E}, {0x8A, 0x0A}, {0x8F, 0xC5}, {0x96, 0x63}, /* 0x74-0x77 */ + {0x97, 0x6D}, {0x7B, 0x25}, {0x8A, 0xCF}, {0x98, 0x08}, /* 0x78-0x7B */ + {0x91, 0x62}, {0x56, 0xF3}, {0x53, 0xA8}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x90, 0x17}, {0x54, 0x39}, {0x57, 0x82}, {0x5E, 0x25}, /* 0x80-0x83 */ + {0x63, 0xA8}, {0x6C, 0x34}, {0x70, 0x8A}, {0x77, 0x61}, /* 0x84-0x87 */ + {0x7C, 0x8B}, {0x7F, 0xE0}, {0x88, 0x70}, {0x90, 0x42}, /* 0x88-0x8B */ + {0x91, 0x54}, {0x93, 0x10}, {0x93, 0x18}, {0x96, 0x8F}, /* 0x8C-0x8F */ + {0x74, 0x5E}, {0x9A, 0xC4}, {0x5D, 0x07}, {0x5D, 0x69}, /* 0x90-0x93 */ + {0x65, 0x70}, {0x67, 0xA2}, {0x8D, 0xA8}, {0x96, 0xDB}, /* 0x94-0x97 */ + {0x63, 0x6E}, {0x67, 0x49}, {0x69, 0x19}, {0x83, 0xC5}, /* 0x98-0x9B */ + {0x98, 0x17}, {0x96, 0xC0}, {0x88, 0xFE}, {0x6F, 0x84}, /* 0x9C-0x9F */ + {0x64, 0x7A}, {0x5B, 0xF8}, {0x4E, 0x16}, {0x70, 0x2C}, /* 0xA0-0xA3 */ + {0x75, 0x5D}, {0x66, 0x2F}, {0x51, 0xC4}, {0x52, 0x36}, /* 0xA4-0xA7 */ + {0x52, 0xE2}, {0x59, 0xD3}, {0x5F, 0x81}, {0x60, 0x27}, /* 0xA8-0xAB */ + {0x62, 0x10}, {0x65, 0x3F}, {0x65, 0x74}, {0x66, 0x1F}, /* 0xAC-0xAF */ + {0x66, 0x74}, {0x68, 0xF2}, {0x68, 0x16}, {0x6B, 0x63}, /* 0xB0-0xB3 */ + {0x6E, 0x05}, {0x72, 0x72}, {0x75, 0x1F}, {0x76, 0xDB}, /* 0xB4-0xB7 */ + {0x7C, 0xBE}, {0x80, 0x56}, {0x58, 0xF0}, {0x88, 0xFD}, /* 0xB8-0xBB */ + {0x89, 0x7F}, {0x8A, 0xA0}, {0x8A, 0x93}, {0x8A, 0xCB}, /* 0xBC-0xBF */ + {0x90, 0x1D}, {0x91, 0x92}, {0x97, 0x52}, {0x97, 0x59}, /* 0xC0-0xC3 */ + {0x65, 0x89}, {0x7A, 0x0E}, {0x81, 0x06}, {0x96, 0xBB}, /* 0xC4-0xC7 */ + {0x5E, 0x2D}, {0x60, 0xDC}, {0x62, 0x1A}, {0x65, 0xA5}, /* 0xC8-0xCB */ + {0x66, 0x14}, {0x67, 0x90}, {0x77, 0xF3}, {0x7A, 0x4D}, /* 0xCC-0xCF */ + {0x7C, 0x4D}, {0x7E, 0x3E}, {0x81, 0x0A}, {0x8C, 0xAC}, /* 0xD0-0xD3 */ + {0x8D, 0x64}, {0x8D, 0xE1}, {0x8E, 0x5F}, {0x78, 0xA9}, /* 0xD4-0xD7 */ + {0x52, 0x07}, {0x62, 0xD9}, {0x63, 0xA5}, {0x64, 0x42}, /* 0xD8-0xDB */ + {0x62, 0x98}, {0x8A, 0x2D}, {0x7A, 0x83}, {0x7B, 0xC0}, /* 0xDC-0xDF */ + {0x8A, 0xAC}, {0x96, 0xEA}, {0x7D, 0x76}, {0x82, 0x0C}, /* 0xE0-0xE3 */ + {0x87, 0x49}, {0x4E, 0xD9}, {0x51, 0x48}, {0x53, 0x43}, /* 0xE4-0xE7 */ + {0x53, 0x60}, {0x5B, 0xA3}, {0x5C, 0x02}, {0x5C, 0x16}, /* 0xE8-0xEB */ + {0x5D, 0xDD}, {0x62, 0x26}, {0x62, 0x47}, {0x64, 0xB0}, /* 0xEC-0xEF */ + {0x68, 0x13}, {0x68, 0x34}, {0x6C, 0xC9}, {0x6D, 0x45}, /* 0xF0-0xF3 */ + {0x6D, 0x17}, {0x67, 0xD3}, {0x6F, 0x5C}, {0x71, 0x4E}, /* 0xF4-0xF7 */ + {0x71, 0x7D}, {0x65, 0xCB}, {0x7A, 0x7F}, {0x7B, 0xAD}, /* 0xF8-0xFB */ + {0x7D, 0xDA}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_91[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7E, 0x4A}, {0x7F, 0xA8}, {0x81, 0x7A}, {0x82, 0x1B}, /* 0x40-0x43 */ + {0x82, 0x39}, {0x85, 0xA6}, {0x8A, 0x6E}, {0x8C, 0xCE}, /* 0x44-0x47 */ + {0x8D, 0xF5}, {0x90, 0x78}, {0x90, 0x77}, {0x92, 0xAD}, /* 0x48-0x4B */ + {0x92, 0x91}, {0x95, 0x83}, {0x9B, 0xAE}, {0x52, 0x4D}, /* 0x4C-0x4F */ + {0x55, 0x84}, {0x6F, 0x38}, {0x71, 0x36}, {0x51, 0x68}, /* 0x50-0x53 */ + {0x79, 0x85}, {0x7E, 0x55}, {0x81, 0xB3}, {0x7C, 0xCE}, /* 0x54-0x57 */ + {0x56, 0x4C}, {0x58, 0x51}, {0x5C, 0xA8}, {0x63, 0xAA}, /* 0x58-0x5B */ + {0x66, 0xFE}, {0x66, 0xFD}, {0x69, 0x5A}, {0x72, 0xD9}, /* 0x5C-0x5F */ + {0x75, 0x8F}, {0x75, 0x8E}, {0x79, 0x0E}, {0x79, 0x56}, /* 0x60-0x63 */ + {0x79, 0xDF}, {0x7C, 0x97}, {0x7D, 0x20}, {0x7D, 0x44}, /* 0x64-0x67 */ + {0x86, 0x07}, {0x8A, 0x34}, {0x96, 0x3B}, {0x90, 0x61}, /* 0x68-0x6B */ + {0x9F, 0x20}, {0x50, 0xE7}, {0x52, 0x75}, {0x53, 0xCC}, /* 0x6C-0x6F */ + {0x53, 0xE2}, {0x50, 0x09}, {0x55, 0xAA}, {0x58, 0xEE}, /* 0x70-0x73 */ + {0x59, 0x4F}, {0x72, 0x3D}, {0x5B, 0x8B}, {0x5C, 0x64}, /* 0x74-0x77 */ + {0x53, 0x1D}, {0x60, 0xE3}, {0x60, 0xF3}, {0x63, 0x5C}, /* 0x78-0x7B */ + {0x63, 0x83}, {0x63, 0x3F}, {0x63, 0xBB}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x64, 0xCD}, {0x65, 0xE9}, {0x66, 0xF9}, {0x5D, 0xE3}, /* 0x80-0x83 */ + {0x69, 0xCD}, {0x69, 0xFD}, {0x6F, 0x15}, {0x71, 0xE5}, /* 0x84-0x87 */ + {0x4E, 0x89}, {0x75, 0xE9}, {0x76, 0xF8}, {0x7A, 0x93}, /* 0x88-0x8B */ + {0x7C, 0xDF}, {0x7D, 0xCF}, {0x7D, 0x9C}, {0x80, 0x61}, /* 0x8C-0x8F */ + {0x83, 0x49}, {0x83, 0x58}, {0x84, 0x6C}, {0x84, 0xBC}, /* 0x90-0x93 */ + {0x85, 0xFB}, {0x88, 0xC5}, {0x8D, 0x70}, {0x90, 0x01}, /* 0x94-0x97 */ + {0x90, 0x6D}, {0x93, 0x97}, {0x97, 0x1C}, {0x9A, 0x12}, /* 0x98-0x9B */ + {0x50, 0xCF}, {0x58, 0x97}, {0x61, 0x8E}, {0x81, 0xD3}, /* 0x9C-0x9F */ + {0x85, 0x35}, {0x8D, 0x08}, {0x90, 0x20}, {0x4F, 0xC3}, /* 0xA0-0xA3 */ + {0x50, 0x74}, {0x52, 0x47}, {0x53, 0x73}, {0x60, 0x6F}, /* 0xA4-0xA7 */ + {0x63, 0x49}, {0x67, 0x5F}, {0x6E, 0x2C}, {0x8D, 0xB3}, /* 0xA8-0xAB */ + {0x90, 0x1F}, {0x4F, 0xD7}, {0x5C, 0x5E}, {0x8C, 0xCA}, /* 0xAC-0xAF */ + {0x65, 0xCF}, {0x7D, 0x9A}, {0x53, 0x52}, {0x88, 0x96}, /* 0xB0-0xB3 */ + {0x51, 0x76}, {0x63, 0xC3}, {0x5B, 0x58}, {0x5B, 0x6B}, /* 0xB4-0xB7 */ + {0x5C, 0x0A}, {0x64, 0x0D}, {0x67, 0x51}, {0x90, 0x5C}, /* 0xB8-0xBB */ + {0x4E, 0xD6}, {0x59, 0x1A}, {0x59, 0x2A}, {0x6C, 0x70}, /* 0xBC-0xBF */ + {0x8A, 0x51}, {0x55, 0x3E}, {0x58, 0x15}, {0x59, 0xA5}, /* 0xC0-0xC3 */ + {0x60, 0xF0}, {0x62, 0x53}, {0x67, 0xC1}, {0x82, 0x35}, /* 0xC4-0xC7 */ + {0x69, 0x55}, {0x96, 0x40}, {0x99, 0xC4}, {0x9A, 0x28}, /* 0xC8-0xCB */ + {0x4F, 0x53}, {0x58, 0x06}, {0x5B, 0xFE}, {0x80, 0x10}, /* 0xCC-0xCF */ + {0x5C, 0xB1}, {0x5E, 0x2F}, {0x5F, 0x85}, {0x60, 0x20}, /* 0xD0-0xD3 */ + {0x61, 0x4B}, {0x62, 0x34}, {0x66, 0xFF}, {0x6C, 0xF0}, /* 0xD4-0xD7 */ + {0x6E, 0xDE}, {0x80, 0xCE}, {0x81, 0x7F}, {0x82, 0xD4}, /* 0xD8-0xDB */ + {0x88, 0x8B}, {0x8C, 0xB8}, {0x90, 0x00}, {0x90, 0x2E}, /* 0xDC-0xDF */ + {0x96, 0x8A}, {0x9E, 0xDB}, {0x9B, 0xDB}, {0x4E, 0xE3}, /* 0xE0-0xE3 */ + {0x53, 0xF0}, {0x59, 0x27}, {0x7B, 0x2C}, {0x91, 0x8D}, /* 0xE4-0xE7 */ + {0x98, 0x4C}, {0x9D, 0xF9}, {0x6E, 0xDD}, {0x70, 0x27}, /* 0xE8-0xEB */ + {0x53, 0x53}, {0x55, 0x44}, {0x5B, 0x85}, {0x62, 0x58}, /* 0xEC-0xEF */ + {0x62, 0x9E}, {0x62, 0xD3}, {0x6C, 0xA2}, {0x6F, 0xEF}, /* 0xF0-0xF3 */ + {0x74, 0x22}, {0x8A, 0x17}, {0x94, 0x38}, {0x6F, 0xC1}, /* 0xF4-0xF7 */ + {0x8A, 0xFE}, {0x83, 0x38}, {0x51, 0xE7}, {0x86, 0xF8}, /* 0xF8-0xFB */ + {0x53, 0xEA}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_92[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x53, 0xE9}, {0x4F, 0x46}, {0x90, 0x54}, {0x8F, 0xB0}, /* 0x40-0x43 */ + {0x59, 0x6A}, {0x81, 0x31}, {0x5D, 0xFD}, {0x7A, 0xEA}, /* 0x44-0x47 */ + {0x8F, 0xBF}, {0x68, 0xDA}, {0x8C, 0x37}, {0x72, 0xF8}, /* 0x48-0x4B */ + {0x9C, 0x48}, {0x6A, 0x3D}, {0x8A, 0xB0}, {0x4E, 0x39}, /* 0x4C-0x4F */ + {0x53, 0x58}, {0x56, 0x06}, {0x57, 0x66}, {0x62, 0xC5}, /* 0x50-0x53 */ + {0x63, 0xA2}, {0x65, 0xE6}, {0x6B, 0x4E}, {0x6D, 0xE1}, /* 0x54-0x57 */ + {0x6E, 0x5B}, {0x70, 0xAD}, {0x77, 0xED}, {0x7A, 0xEF}, /* 0x58-0x5B */ + {0x7B, 0xAA}, {0x7D, 0xBB}, {0x80, 0x3D}, {0x80, 0xC6}, /* 0x5C-0x5F */ + {0x86, 0xCB}, {0x8A, 0x95}, {0x93, 0x5B}, {0x56, 0xE3}, /* 0x60-0x63 */ + {0x58, 0xC7}, {0x5F, 0x3E}, {0x65, 0xAD}, {0x66, 0x96}, /* 0x64-0x67 */ + {0x6A, 0x80}, {0x6B, 0xB5}, {0x75, 0x37}, {0x8A, 0xC7}, /* 0x68-0x6B */ + {0x50, 0x24}, {0x77, 0xE5}, {0x57, 0x30}, {0x5F, 0x1B}, /* 0x6C-0x6F */ + {0x60, 0x65}, {0x66, 0x7A}, {0x6C, 0x60}, {0x75, 0xF4}, /* 0x70-0x73 */ + {0x7A, 0x1A}, {0x7F, 0x6E}, {0x81, 0xF4}, {0x87, 0x18}, /* 0x74-0x77 */ + {0x90, 0x45}, {0x99, 0xB3}, {0x7B, 0xC9}, {0x75, 0x5C}, /* 0x78-0x7B */ + {0x7A, 0xF9}, {0x7B, 0x51}, {0x84, 0xC4}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x90, 0x10}, {0x79, 0xE9}, {0x7A, 0x92}, {0x83, 0x36}, /* 0x80-0x83 */ + {0x5A, 0xE1}, {0x77, 0x40}, {0x4E, 0x2D}, {0x4E, 0xF2}, /* 0x84-0x87 */ + {0x5B, 0x99}, {0x5F, 0xE0}, {0x62, 0xBD}, {0x66, 0x3C}, /* 0x88-0x8B */ + {0x67, 0xF1}, {0x6C, 0xE8}, {0x86, 0x6B}, {0x88, 0x77}, /* 0x8C-0x8F */ + {0x8A, 0x3B}, {0x91, 0x4E}, {0x92, 0xF3}, {0x99, 0xD0}, /* 0x90-0x93 */ + {0x6A, 0x17}, {0x70, 0x26}, {0x73, 0x2A}, {0x82, 0xE7}, /* 0x94-0x97 */ + {0x84, 0x57}, {0x8C, 0xAF}, {0x4E, 0x01}, {0x51, 0x46}, /* 0x98-0x9B */ + {0x51, 0xCB}, {0x55, 0x8B}, {0x5B, 0xF5}, {0x5E, 0x16}, /* 0x9C-0x9F */ + {0x5E, 0x33}, {0x5E, 0x81}, {0x5F, 0x14}, {0x5F, 0x35}, /* 0xA0-0xA3 */ + {0x5F, 0x6B}, {0x5F, 0xB4}, {0x61, 0xF2}, {0x63, 0x11}, /* 0xA4-0xA7 */ + {0x66, 0xA2}, {0x67, 0x1D}, {0x6F, 0x6E}, {0x72, 0x52}, /* 0xA8-0xAB */ + {0x75, 0x3A}, {0x77, 0x3A}, {0x80, 0x74}, {0x81, 0x39}, /* 0xAC-0xAF */ + {0x81, 0x78}, {0x87, 0x76}, {0x8A, 0xBF}, {0x8A, 0xDC}, /* 0xB0-0xB3 */ + {0x8D, 0x85}, {0x8D, 0xF3}, {0x92, 0x9A}, {0x95, 0x77}, /* 0xB4-0xB7 */ + {0x98, 0x02}, {0x9C, 0xE5}, {0x52, 0xC5}, {0x63, 0x57}, /* 0xB8-0xBB */ + {0x76, 0xF4}, {0x67, 0x15}, {0x6C, 0x88}, {0x73, 0xCD}, /* 0xBC-0xBF */ + {0x8C, 0xC3}, {0x93, 0xAE}, {0x96, 0x73}, {0x6D, 0x25}, /* 0xC0-0xC3 */ + {0x58, 0x9C}, {0x69, 0x0E}, {0x69, 0xCC}, {0x8F, 0xFD}, /* 0xC4-0xC7 */ + {0x93, 0x9A}, {0x75, 0xDB}, {0x90, 0x1A}, {0x58, 0x5A}, /* 0xC8-0xCB */ + {0x68, 0x02}, {0x63, 0xB4}, {0x69, 0xFB}, {0x4F, 0x43}, /* 0xCC-0xCF */ + {0x6F, 0x2C}, {0x67, 0xD8}, {0x8F, 0xBB}, {0x85, 0x26}, /* 0xD0-0xD3 */ + {0x7D, 0xB4}, {0x93, 0x54}, {0x69, 0x3F}, {0x6F, 0x70}, /* 0xD4-0xD7 */ + {0x57, 0x6A}, {0x58, 0xF7}, {0x5B, 0x2C}, {0x7D, 0x2C}, /* 0xD8-0xDB */ + {0x72, 0x2A}, {0x54, 0x0A}, {0x91, 0xE3}, {0x9D, 0xB4}, /* 0xDC-0xDF */ + {0x4E, 0xAD}, {0x4F, 0x4E}, {0x50, 0x5C}, {0x50, 0x75}, /* 0xE0-0xE3 */ + {0x52, 0x43}, {0x8C, 0x9E}, {0x54, 0x48}, {0x58, 0x24}, /* 0xE4-0xE7 */ + {0x5B, 0x9A}, {0x5E, 0x1D}, {0x5E, 0x95}, {0x5E, 0xAD}, /* 0xE8-0xEB */ + {0x5E, 0xF7}, {0x5F, 0x1F}, {0x60, 0x8C}, {0x62, 0xB5}, /* 0xEC-0xEF */ + {0x63, 0x3A}, {0x63, 0xD0}, {0x68, 0xAF}, {0x6C, 0x40}, /* 0xF0-0xF3 */ + {0x78, 0x87}, {0x79, 0x8E}, {0x7A, 0x0B}, {0x7D, 0xE0}, /* 0xF4-0xF7 */ + {0x82, 0x47}, {0x8A, 0x02}, {0x8A, 0xE6}, {0x8E, 0x44}, /* 0xF8-0xFB */ + {0x90, 0x13}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_93[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x90, 0xB8}, {0x91, 0x2D}, {0x91, 0xD8}, {0x9F, 0x0E}, /* 0x40-0x43 */ + {0x6C, 0xE5}, {0x64, 0x58}, {0x64, 0xE2}, {0x65, 0x75}, /* 0x44-0x47 */ + {0x6E, 0xF4}, {0x76, 0x84}, {0x7B, 0x1B}, {0x90, 0x69}, /* 0x48-0x4B */ + {0x93, 0xD1}, {0x6E, 0xBA}, {0x54, 0xF2}, {0x5F, 0xB9}, /* 0x4C-0x4F */ + {0x64, 0xA4}, {0x8F, 0x4D}, {0x8F, 0xED}, {0x92, 0x44}, /* 0x50-0x53 */ + {0x51, 0x78}, {0x58, 0x6B}, {0x59, 0x29}, {0x5C, 0x55}, /* 0x54-0x57 */ + {0x5E, 0x97}, {0x6D, 0xFB}, {0x7E, 0x8F}, {0x75, 0x1C}, /* 0x58-0x5B */ + {0x8C, 0xBC}, {0x8E, 0xE2}, {0x98, 0x5B}, {0x70, 0xB9}, /* 0x5C-0x5F */ + {0x4F, 0x1D}, {0x6B, 0xBF}, {0x6F, 0xB1}, {0x75, 0x30}, /* 0x60-0x63 */ + {0x96, 0xFB}, {0x51, 0x4E}, {0x54, 0x10}, {0x58, 0x35}, /* 0x64-0x67 */ + {0x58, 0x57}, {0x59, 0xAC}, {0x5C, 0x60}, {0x5F, 0x92}, /* 0x68-0x6B */ + {0x65, 0x97}, {0x67, 0x5C}, {0x6E, 0x21}, {0x76, 0x7B}, /* 0x6C-0x6F */ + {0x83, 0xDF}, {0x8C, 0xED}, {0x90, 0x14}, {0x90, 0xFD}, /* 0x70-0x73 */ + {0x93, 0x4D}, {0x78, 0x25}, {0x78, 0x3A}, {0x52, 0xAA}, /* 0x74-0x77 */ + {0x5E, 0xA6}, {0x57, 0x1F}, {0x59, 0x74}, {0x60, 0x12}, /* 0x78-0x7B */ + {0x50, 0x12}, {0x51, 0x5A}, {0x51, 0xAC}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x51, 0xCD}, {0x52, 0x00}, {0x55, 0x10}, {0x58, 0x54}, /* 0x80-0x83 */ + {0x58, 0x58}, {0x59, 0x57}, {0x5B, 0x95}, {0x5C, 0xF6}, /* 0x84-0x87 */ + {0x5D, 0x8B}, {0x60, 0xBC}, {0x62, 0x95}, {0x64, 0x2D}, /* 0x88-0x8B */ + {0x67, 0x71}, {0x68, 0x43}, {0x68, 0xBC}, {0x68, 0xDF}, /* 0x8C-0x8F */ + {0x76, 0xD7}, {0x6D, 0xD8}, {0x6E, 0x6F}, {0x6D, 0x9B}, /* 0x90-0x93 */ + {0x70, 0x6F}, {0x71, 0xC8}, {0x5F, 0x53}, {0x75, 0xD8}, /* 0x94-0x97 */ + {0x79, 0x77}, {0x7B, 0x49}, {0x7B, 0x54}, {0x7B, 0x52}, /* 0x98-0x9B */ + {0x7C, 0xD6}, {0x7D, 0x71}, {0x52, 0x30}, {0x84, 0x63}, /* 0x9C-0x9F */ + {0x85, 0x69}, {0x85, 0xE4}, {0x8A, 0x0E}, {0x8B, 0x04}, /* 0xA0-0xA3 */ + {0x8C, 0x46}, {0x8E, 0x0F}, {0x90, 0x03}, {0x90, 0x0F}, /* 0xA4-0xA7 */ + {0x94, 0x19}, {0x96, 0x76}, {0x98, 0x2D}, {0x9A, 0x30}, /* 0xA8-0xAB */ + {0x95, 0xD8}, {0x50, 0xCD}, {0x52, 0xD5}, {0x54, 0x0C}, /* 0xAC-0xAF */ + {0x58, 0x02}, {0x5C, 0x0E}, {0x61, 0xA7}, {0x64, 0x9E}, /* 0xB0-0xB3 */ + {0x6D, 0x1E}, {0x77, 0xB3}, {0x7A, 0xE5}, {0x80, 0xF4}, /* 0xB4-0xB7 */ + {0x84, 0x04}, {0x90, 0x53}, {0x92, 0x85}, {0x5C, 0xE0}, /* 0xB8-0xBB */ + {0x9D, 0x07}, {0x53, 0x3F}, {0x5F, 0x97}, {0x5F, 0xB3}, /* 0xBC-0xBF */ + {0x6D, 0x9C}, {0x72, 0x79}, {0x77, 0x63}, {0x79, 0xBF}, /* 0xC0-0xC3 */ + {0x7B, 0xE4}, {0x6B, 0xD2}, {0x72, 0xEC}, {0x8A, 0xAD}, /* 0xC4-0xC7 */ + {0x68, 0x03}, {0x6A, 0x61}, {0x51, 0xF8}, {0x7A, 0x81}, /* 0xC8-0xCB */ + {0x69, 0x34}, {0x5C, 0x4A}, {0x9C, 0xF6}, {0x82, 0xEB}, /* 0xCC-0xCF */ + {0x5B, 0xC5}, {0x91, 0x49}, {0x70, 0x1E}, {0x56, 0x78}, /* 0xD0-0xD3 */ + {0x5C, 0x6F}, {0x60, 0xC7}, {0x65, 0x66}, {0x6C, 0x8C}, /* 0xD4-0xD7 */ + {0x8C, 0x5A}, {0x90, 0x41}, {0x98, 0x13}, {0x54, 0x51}, /* 0xD8-0xDB */ + {0x66, 0xC7}, {0x92, 0x0D}, {0x59, 0x48}, {0x90, 0xA3}, /* 0xDC-0xDF */ + {0x51, 0x85}, {0x4E, 0x4D}, {0x51, 0xEA}, {0x85, 0x99}, /* 0xE0-0xE3 */ + {0x8B, 0x0E}, {0x70, 0x58}, {0x63, 0x7A}, {0x93, 0x4B}, /* 0xE4-0xE7 */ + {0x69, 0x62}, {0x99, 0xB4}, {0x7E, 0x04}, {0x75, 0x77}, /* 0xE8-0xEB */ + {0x53, 0x57}, {0x69, 0x60}, {0x8E, 0xDF}, {0x96, 0xE3}, /* 0xEC-0xEF */ + {0x6C, 0x5D}, {0x4E, 0x8C}, {0x5C, 0x3C}, {0x5F, 0x10}, /* 0xF0-0xF3 */ + {0x8F, 0xE9}, {0x53, 0x02}, {0x8C, 0xD1}, {0x80, 0x89}, /* 0xF4-0xF7 */ + {0x86, 0x79}, {0x5E, 0xFF}, {0x65, 0xE5}, {0x4E, 0x73}, /* 0xF8-0xFB */ + {0x51, 0x65}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_94[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x59, 0x82}, {0x5C, 0x3F}, {0x97, 0xEE}, {0x4E, 0xFB}, /* 0x40-0x43 */ + {0x59, 0x8A}, {0x5F, 0xCD}, {0x8A, 0x8D}, {0x6F, 0xE1}, /* 0x44-0x47 */ + {0x79, 0xB0}, {0x79, 0x62}, {0x5B, 0xE7}, {0x84, 0x71}, /* 0x48-0x4B */ + {0x73, 0x2B}, {0x71, 0xB1}, {0x5E, 0x74}, {0x5F, 0xF5}, /* 0x4C-0x4F */ + {0x63, 0x7B}, {0x64, 0x9A}, {0x71, 0xC3}, {0x7C, 0x98}, /* 0x50-0x53 */ + {0x4E, 0x43}, {0x5E, 0xFC}, {0x4E, 0x4B}, {0x57, 0xDC}, /* 0x54-0x57 */ + {0x56, 0xA2}, {0x60, 0xA9}, {0x6F, 0xC3}, {0x7D, 0x0D}, /* 0x58-0x5B */ + {0x80, 0xFD}, {0x81, 0x33}, {0x81, 0xBF}, {0x8F, 0xB2}, /* 0x5C-0x5F */ + {0x89, 0x97}, {0x86, 0xA4}, {0x5D, 0xF4}, {0x62, 0x8A}, /* 0x60-0x63 */ + {0x64, 0xAD}, {0x89, 0x87}, {0x67, 0x77}, {0x6C, 0xE2}, /* 0x64-0x67 */ + {0x6D, 0x3E}, {0x74, 0x36}, {0x78, 0x34}, {0x5A, 0x46}, /* 0x68-0x6B */ + {0x7F, 0x75}, {0x82, 0xAD}, {0x99, 0xAC}, {0x4F, 0xF3}, /* 0x6C-0x6F */ + {0x5E, 0xC3}, {0x62, 0xDD}, {0x63, 0x92}, {0x65, 0x57}, /* 0x70-0x73 */ + {0x67, 0x6F}, {0x76, 0xC3}, {0x72, 0x4C}, {0x80, 0xCC}, /* 0x74-0x77 */ + {0x80, 0xBA}, {0x8F, 0x29}, {0x91, 0x4D}, {0x50, 0x0D}, /* 0x78-0x7B */ + {0x57, 0xF9}, {0x5A, 0x92}, {0x68, 0x85}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x69, 0x73}, {0x71, 0x64}, {0x72, 0xFD}, {0x8C, 0xB7}, /* 0x80-0x83 */ + {0x58, 0xF2}, {0x8C, 0xE0}, {0x96, 0x6A}, {0x90, 0x19}, /* 0x84-0x87 */ + {0x87, 0x7F}, {0x79, 0xE4}, {0x77, 0xE7}, {0x84, 0x29}, /* 0x88-0x8B */ + {0x4F, 0x2F}, {0x52, 0x65}, {0x53, 0x5A}, {0x62, 0xCD}, /* 0x8C-0x8F */ + {0x67, 0xCF}, {0x6C, 0xCA}, {0x76, 0x7D}, {0x7B, 0x94}, /* 0x90-0x93 */ + {0x7C, 0x95}, {0x82, 0x36}, {0x85, 0x84}, {0x8F, 0xEB}, /* 0x94-0x97 */ + {0x66, 0xDD}, {0x6F, 0x20}, {0x72, 0x06}, {0x7E, 0x1B}, /* 0x98-0x9B */ + {0x83, 0xAB}, {0x99, 0xC1}, {0x9E, 0xA6}, {0x51, 0xFD}, /* 0x9C-0x9F */ + {0x7B, 0xB1}, {0x78, 0x72}, {0x7B, 0xB8}, {0x80, 0x87}, /* 0xA0-0xA3 */ + {0x7B, 0x48}, {0x6A, 0xE8}, {0x5E, 0x61}, {0x80, 0x8C}, /* 0xA4-0xA7 */ + {0x75, 0x51}, {0x75, 0x60}, {0x51, 0x6B}, {0x92, 0x62}, /* 0xA8-0xAB */ + {0x6E, 0x8C}, {0x76, 0x7A}, {0x91, 0x97}, {0x9A, 0xEA}, /* 0xAC-0xAF */ + {0x4F, 0x10}, {0x7F, 0x70}, {0x62, 0x9C}, {0x7B, 0x4F}, /* 0xB0-0xB3 */ + {0x95, 0xA5}, {0x9C, 0xE9}, {0x56, 0x7A}, {0x58, 0x59}, /* 0xB4-0xB7 */ + {0x86, 0xE4}, {0x96, 0xBC}, {0x4F, 0x34}, {0x52, 0x24}, /* 0xB8-0xBB */ + {0x53, 0x4A}, {0x53, 0xCD}, {0x53, 0xDB}, {0x5E, 0x06}, /* 0xBC-0xBF */ + {0x64, 0x2C}, {0x65, 0x91}, {0x67, 0x7F}, {0x6C, 0x3E}, /* 0xC0-0xC3 */ + {0x6C, 0x4E}, {0x72, 0x48}, {0x72, 0xAF}, {0x73, 0xED}, /* 0xC4-0xC7 */ + {0x75, 0x54}, {0x7E, 0x41}, {0x82, 0x2C}, {0x85, 0xE9}, /* 0xC8-0xCB */ + {0x8C, 0xA9}, {0x7B, 0xC4}, {0x91, 0xC6}, {0x71, 0x69}, /* 0xCC-0xCF */ + {0x98, 0x12}, {0x98, 0xEF}, {0x63, 0x3D}, {0x66, 0x69}, /* 0xD0-0xD3 */ + {0x75, 0x6A}, {0x76, 0xE4}, {0x78, 0xD0}, {0x85, 0x43}, /* 0xD4-0xD7 */ + {0x86, 0xEE}, {0x53, 0x2A}, {0x53, 0x51}, {0x54, 0x26}, /* 0xD8-0xDB */ + {0x59, 0x83}, {0x5E, 0x87}, {0x5F, 0x7C}, {0x60, 0xB2}, /* 0xDC-0xDF */ + {0x62, 0x49}, {0x62, 0x79}, {0x62, 0xAB}, {0x65, 0x90}, /* 0xE0-0xE3 */ + {0x6B, 0xD4}, {0x6C, 0xCC}, {0x75, 0xB2}, {0x76, 0xAE}, /* 0xE4-0xE7 */ + {0x78, 0x91}, {0x79, 0xD8}, {0x7D, 0xCB}, {0x7F, 0x77}, /* 0xE8-0xEB */ + {0x80, 0xA5}, {0x88, 0xAB}, {0x8A, 0xB9}, {0x8C, 0xBB}, /* 0xEC-0xEF */ + {0x90, 0x7F}, {0x97, 0x5E}, {0x98, 0xDB}, {0x6A, 0x0B}, /* 0xF0-0xF3 */ + {0x7C, 0x38}, {0x50, 0x99}, {0x5C, 0x3E}, {0x5F, 0xAE}, /* 0xF4-0xF7 */ + {0x67, 0x87}, {0x6B, 0xD8}, {0x74, 0x35}, {0x77, 0x09}, /* 0xF8-0xFB */ + {0x7F, 0x8E}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_95[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9F, 0x3B}, {0x67, 0xCA}, {0x7A, 0x17}, {0x53, 0x39}, /* 0x40-0x43 */ + {0x75, 0x8B}, {0x9A, 0xED}, {0x5F, 0x66}, {0x81, 0x9D}, /* 0x44-0x47 */ + {0x83, 0xF1}, {0x80, 0x98}, {0x5F, 0x3C}, {0x5F, 0xC5}, /* 0x48-0x4B */ + {0x75, 0x62}, {0x7B, 0x46}, {0x90, 0x3C}, {0x68, 0x67}, /* 0x4C-0x4F */ + {0x59, 0xEB}, {0x5A, 0x9B}, {0x7D, 0x10}, {0x76, 0x7E}, /* 0x50-0x53 */ + {0x8B, 0x2C}, {0x4F, 0xF5}, {0x5F, 0x6A}, {0x6A, 0x19}, /* 0x54-0x57 */ + {0x6C, 0x37}, {0x6F, 0x02}, {0x74, 0xE2}, {0x79, 0x68}, /* 0x58-0x5B */ + {0x88, 0x68}, {0x8A, 0x55}, {0x8C, 0x79}, {0x5E, 0xDF}, /* 0x5C-0x5F */ + {0x63, 0xCF}, {0x75, 0xC5}, {0x79, 0xD2}, {0x82, 0xD7}, /* 0x60-0x63 */ + {0x93, 0x28}, {0x92, 0xF2}, {0x84, 0x9C}, {0x86, 0xED}, /* 0x64-0x67 */ + {0x9C, 0x2D}, {0x54, 0xC1}, {0x5F, 0x6C}, {0x65, 0x8C}, /* 0x68-0x6B */ + {0x6D, 0x5C}, {0x70, 0x15}, {0x8C, 0xA7}, {0x8C, 0xD3}, /* 0x6C-0x6F */ + {0x98, 0x3B}, {0x65, 0x4F}, {0x74, 0xF6}, {0x4E, 0x0D}, /* 0x70-0x73 */ + {0x4E, 0xD8}, {0x57, 0xE0}, {0x59, 0x2B}, {0x5A, 0x66}, /* 0x74-0x77 */ + {0x5B, 0xCC}, {0x51, 0xA8}, {0x5E, 0x03}, {0x5E, 0x9C}, /* 0x78-0x7B */ + {0x60, 0x16}, {0x62, 0x76}, {0x65, 0x77}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x65, 0xA7}, {0x66, 0x6E}, {0x6D, 0x6E}, {0x72, 0x36}, /* 0x80-0x83 */ + {0x7B, 0x26}, {0x81, 0x50}, {0x81, 0x9A}, {0x82, 0x99}, /* 0x84-0x87 */ + {0x8B, 0x5C}, {0x8C, 0xA0}, {0x8C, 0xE6}, {0x8D, 0x74}, /* 0x88-0x8B */ + {0x96, 0x1C}, {0x96, 0x44}, {0x4F, 0xAE}, {0x64, 0xAB}, /* 0x8C-0x8F */ + {0x6B, 0x66}, {0x82, 0x1E}, {0x84, 0x61}, {0x85, 0x6A}, /* 0x90-0x93 */ + {0x90, 0xE8}, {0x5C, 0x01}, {0x69, 0x53}, {0x98, 0xA8}, /* 0x94-0x97 */ + {0x84, 0x7A}, {0x85, 0x57}, {0x4F, 0x0F}, {0x52, 0x6F}, /* 0x98-0x9B */ + {0x5F, 0xA9}, {0x5E, 0x45}, {0x67, 0x0D}, {0x79, 0x8F}, /* 0x9C-0x9F */ + {0x81, 0x79}, {0x89, 0x07}, {0x89, 0x86}, {0x6D, 0xF5}, /* 0xA0-0xA3 */ + {0x5F, 0x17}, {0x62, 0x55}, {0x6C, 0xB8}, {0x4E, 0xCF}, /* 0xA4-0xA7 */ + {0x72, 0x69}, {0x9B, 0x92}, {0x52, 0x06}, {0x54, 0x3B}, /* 0xA8-0xAB */ + {0x56, 0x74}, {0x58, 0xB3}, {0x61, 0xA4}, {0x62, 0x6E}, /* 0xAC-0xAF */ + {0x71, 0x1A}, {0x59, 0x6E}, {0x7C, 0x89}, {0x7C, 0xDE}, /* 0xB0-0xB3 */ + {0x7D, 0x1B}, {0x96, 0xF0}, {0x65, 0x87}, {0x80, 0x5E}, /* 0xB4-0xB7 */ + {0x4E, 0x19}, {0x4F, 0x75}, {0x51, 0x75}, {0x58, 0x40}, /* 0xB8-0xBB */ + {0x5E, 0x63}, {0x5E, 0x73}, {0x5F, 0x0A}, {0x67, 0xC4}, /* 0xBC-0xBF */ + {0x4E, 0x26}, {0x85, 0x3D}, {0x95, 0x89}, {0x96, 0x5B}, /* 0xC0-0xC3 */ + {0x7C, 0x73}, {0x98, 0x01}, {0x50, 0xFB}, {0x58, 0xC1}, /* 0xC4-0xC7 */ + {0x76, 0x56}, {0x78, 0xA7}, {0x52, 0x25}, {0x77, 0xA5}, /* 0xC8-0xCB */ + {0x85, 0x11}, {0x7B, 0x86}, {0x50, 0x4F}, {0x59, 0x09}, /* 0xCC-0xCF */ + {0x72, 0x47}, {0x7B, 0xC7}, {0x7D, 0xE8}, {0x8F, 0xBA}, /* 0xD0-0xD3 */ + {0x8F, 0xD4}, {0x90, 0x4D}, {0x4F, 0xBF}, {0x52, 0xC9}, /* 0xD4-0xD7 */ + {0x5A, 0x29}, {0x5F, 0x01}, {0x97, 0xAD}, {0x4F, 0xDD}, /* 0xD8-0xDB */ + {0x82, 0x17}, {0x92, 0xEA}, {0x57, 0x03}, {0x63, 0x55}, /* 0xDC-0xDF */ + {0x6B, 0x69}, {0x75, 0x2B}, {0x88, 0xDC}, {0x8F, 0x14}, /* 0xE0-0xE3 */ + {0x7A, 0x42}, {0x52, 0xDF}, {0x58, 0x93}, {0x61, 0x55}, /* 0xE4-0xE7 */ + {0x62, 0x0A}, {0x66, 0xAE}, {0x6B, 0xCD}, {0x7C, 0x3F}, /* 0xE8-0xEB */ + {0x83, 0xE9}, {0x50, 0x23}, {0x4F, 0xF8}, {0x53, 0x05}, /* 0xEC-0xEF */ + {0x54, 0x46}, {0x58, 0x31}, {0x59, 0x49}, {0x5B, 0x9D}, /* 0xF0-0xF3 */ + {0x5C, 0xF0}, {0x5C, 0xEF}, {0x5D, 0x29}, {0x5E, 0x96}, /* 0xF4-0xF7 */ + {0x62, 0xB1}, {0x63, 0x67}, {0x65, 0x3E}, {0x65, 0xB9}, /* 0xF8-0xFB */ + {0x67, 0x0B}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_96[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6C, 0xD5}, {0x6C, 0xE1}, {0x70, 0xF9}, {0x78, 0x32}, /* 0x40-0x43 */ + {0x7E, 0x2B}, {0x80, 0xDE}, {0x82, 0xB3}, {0x84, 0x0C}, /* 0x44-0x47 */ + {0x84, 0xEC}, {0x87, 0x02}, {0x89, 0x12}, {0x8A, 0x2A}, /* 0x48-0x4B */ + {0x8C, 0x4A}, {0x90, 0xA6}, {0x92, 0xD2}, {0x98, 0xFD}, /* 0x4C-0x4F */ + {0x9C, 0xF3}, {0x9D, 0x6C}, {0x4E, 0x4F}, {0x4E, 0xA1}, /* 0x50-0x53 */ + {0x50, 0x8D}, {0x52, 0x56}, {0x57, 0x4A}, {0x59, 0xA8}, /* 0x54-0x57 */ + {0x5E, 0x3D}, {0x5F, 0xD8}, {0x5F, 0xD9}, {0x62, 0x3F}, /* 0x58-0x5B */ + {0x66, 0xB4}, {0x67, 0x1B}, {0x67, 0xD0}, {0x68, 0xD2}, /* 0x5C-0x5F */ + {0x51, 0x92}, {0x7D, 0x21}, {0x80, 0xAA}, {0x81, 0xA8}, /* 0x60-0x63 */ + {0x8B, 0x00}, {0x8C, 0x8C}, {0x8C, 0xBF}, {0x92, 0x7E}, /* 0x64-0x67 */ + {0x96, 0x32}, {0x54, 0x20}, {0x98, 0x2C}, {0x53, 0x17}, /* 0x68-0x6B */ + {0x50, 0xD5}, {0x53, 0x5C}, {0x58, 0xA8}, {0x64, 0xB2}, /* 0x6C-0x6F */ + {0x67, 0x34}, {0x72, 0x67}, {0x77, 0x66}, {0x7A, 0x46}, /* 0x70-0x73 */ + {0x91, 0xE6}, {0x52, 0xC3}, {0x6C, 0xA1}, {0x6B, 0x86}, /* 0x74-0x77 */ + {0x58, 0x00}, {0x5E, 0x4C}, {0x59, 0x54}, {0x67, 0x2C}, /* 0x78-0x7B */ + {0x7F, 0xFB}, {0x51, 0xE1}, {0x76, 0xC6}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x64, 0x69}, {0x78, 0xE8}, {0x9B, 0x54}, {0x9E, 0xBB}, /* 0x80-0x83 */ + {0x57, 0xCB}, {0x59, 0xB9}, {0x66, 0x27}, {0x67, 0x9A}, /* 0x84-0x87 */ + {0x6B, 0xCE}, {0x54, 0xE9}, {0x69, 0xD9}, {0x5E, 0x55}, /* 0x88-0x8B */ + {0x81, 0x9C}, {0x67, 0x95}, {0x9B, 0xAA}, {0x67, 0xFE}, /* 0x8C-0x8F */ + {0x9C, 0x52}, {0x68, 0x5D}, {0x4E, 0xA6}, {0x4F, 0xE3}, /* 0x90-0x93 */ + {0x53, 0xC8}, {0x62, 0xB9}, {0x67, 0x2B}, {0x6C, 0xAB}, /* 0x94-0x97 */ + {0x8F, 0xC4}, {0x4F, 0xAD}, {0x7E, 0x6D}, {0x9E, 0xBF}, /* 0x98-0x9B */ + {0x4E, 0x07}, {0x61, 0x62}, {0x6E, 0x80}, {0x6F, 0x2B}, /* 0x9C-0x9F */ + {0x85, 0x13}, {0x54, 0x73}, {0x67, 0x2A}, {0x9B, 0x45}, /* 0xA0-0xA3 */ + {0x5D, 0xF3}, {0x7B, 0x95}, {0x5C, 0xAC}, {0x5B, 0xC6}, /* 0xA4-0xA7 */ + {0x87, 0x1C}, {0x6E, 0x4A}, {0x84, 0xD1}, {0x7A, 0x14}, /* 0xA8-0xAB */ + {0x81, 0x08}, {0x59, 0x99}, {0x7C, 0x8D}, {0x6C, 0x11}, /* 0xAC-0xAF */ + {0x77, 0x20}, {0x52, 0xD9}, {0x59, 0x22}, {0x71, 0x21}, /* 0xB0-0xB3 */ + {0x72, 0x5F}, {0x77, 0xDB}, {0x97, 0x27}, {0x9D, 0x61}, /* 0xB4-0xB7 */ + {0x69, 0x0B}, {0x5A, 0x7F}, {0x5A, 0x18}, {0x51, 0xA5}, /* 0xB8-0xBB */ + {0x54, 0x0D}, {0x54, 0x7D}, {0x66, 0x0E}, {0x76, 0xDF}, /* 0xBC-0xBF */ + {0x8F, 0xF7}, {0x92, 0x98}, {0x9C, 0xF4}, {0x59, 0xEA}, /* 0xC0-0xC3 */ + {0x72, 0x5D}, {0x6E, 0xC5}, {0x51, 0x4D}, {0x68, 0xC9}, /* 0xC4-0xC7 */ + {0x7D, 0xBF}, {0x7D, 0xEC}, {0x97, 0x62}, {0x9E, 0xBA}, /* 0xC8-0xCB */ + {0x64, 0x78}, {0x6A, 0x21}, {0x83, 0x02}, {0x59, 0x84}, /* 0xCC-0xCF */ + {0x5B, 0x5F}, {0x6B, 0xDB}, {0x73, 0x1B}, {0x76, 0xF2}, /* 0xD0-0xD3 */ + {0x7D, 0xB2}, {0x80, 0x17}, {0x84, 0x99}, {0x51, 0x32}, /* 0xD4-0xD7 */ + {0x67, 0x28}, {0x9E, 0xD9}, {0x76, 0xEE}, {0x67, 0x62}, /* 0xD8-0xDB */ + {0x52, 0xFF}, {0x99, 0x05}, {0x5C, 0x24}, {0x62, 0x3B}, /* 0xDC-0xDF */ + {0x7C, 0x7E}, {0x8C, 0xB0}, {0x55, 0x4F}, {0x60, 0xB6}, /* 0xE0-0xE3 */ + {0x7D, 0x0B}, {0x95, 0x80}, {0x53, 0x01}, {0x4E, 0x5F}, /* 0xE4-0xE7 */ + {0x51, 0xB6}, {0x59, 0x1C}, {0x72, 0x3A}, {0x80, 0x36}, /* 0xE8-0xEB */ + {0x91, 0xCE}, {0x5F, 0x25}, {0x77, 0xE2}, {0x53, 0x84}, /* 0xEC-0xEF */ + {0x5F, 0x79}, {0x7D, 0x04}, {0x85, 0xAC}, {0x8A, 0x33}, /* 0xF0-0xF3 */ + {0x8E, 0x8D}, {0x97, 0x56}, {0x67, 0xF3}, {0x85, 0xAE}, /* 0xF4-0xF7 */ + {0x94, 0x53}, {0x61, 0x09}, {0x61, 0x08}, {0x6C, 0xB9}, /* 0xF8-0xFB */ + {0x76, 0x52}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_97[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8A, 0xED}, {0x8F, 0x38}, {0x55, 0x2F}, {0x4F, 0x51}, /* 0x40-0x43 */ + {0x51, 0x2A}, {0x52, 0xC7}, {0x53, 0xCB}, {0x5B, 0xA5}, /* 0x44-0x47 */ + {0x5E, 0x7D}, {0x60, 0xA0}, {0x61, 0x82}, {0x63, 0xD6}, /* 0x48-0x4B */ + {0x67, 0x09}, {0x67, 0xDA}, {0x6E, 0x67}, {0x6D, 0x8C}, /* 0x4C-0x4F */ + {0x73, 0x36}, {0x73, 0x37}, {0x75, 0x31}, {0x79, 0x50}, /* 0x50-0x53 */ + {0x88, 0xD5}, {0x8A, 0x98}, {0x90, 0x4A}, {0x90, 0x91}, /* 0x54-0x57 */ + {0x90, 0xF5}, {0x96, 0xC4}, {0x87, 0x8D}, {0x59, 0x15}, /* 0x58-0x5B */ + {0x4E, 0x88}, {0x4F, 0x59}, {0x4E, 0x0E}, {0x8A, 0x89}, /* 0x5C-0x5F */ + {0x8F, 0x3F}, {0x98, 0x10}, {0x50, 0xAD}, {0x5E, 0x7C}, /* 0x60-0x63 */ + {0x59, 0x96}, {0x5B, 0xB9}, {0x5E, 0xB8}, {0x63, 0xDA}, /* 0x64-0x67 */ + {0x63, 0xFA}, {0x64, 0xC1}, {0x66, 0xDC}, {0x69, 0x4A}, /* 0x68-0x6B */ + {0x69, 0xD8}, {0x6D, 0x0B}, {0x6E, 0xB6}, {0x71, 0x94}, /* 0x6C-0x6F */ + {0x75, 0x28}, {0x7A, 0xAF}, {0x7F, 0x8A}, {0x80, 0x00}, /* 0x70-0x73 */ + {0x84, 0x49}, {0x84, 0xC9}, {0x89, 0x81}, {0x8B, 0x21}, /* 0x74-0x77 */ + {0x8E, 0x0A}, {0x90, 0x65}, {0x96, 0x7D}, {0x99, 0x0A}, /* 0x78-0x7B */ + {0x61, 0x7E}, {0x62, 0x91}, {0x6B, 0x32}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x6C, 0x83}, {0x6D, 0x74}, {0x7F, 0xCC}, {0x7F, 0xFC}, /* 0x80-0x83 */ + {0x6D, 0xC0}, {0x7F, 0x85}, {0x87, 0xBA}, {0x88, 0xF8}, /* 0x84-0x87 */ + {0x67, 0x65}, {0x83, 0xB1}, {0x98, 0x3C}, {0x96, 0xF7}, /* 0x88-0x8B */ + {0x6D, 0x1B}, {0x7D, 0x61}, {0x84, 0x3D}, {0x91, 0x6A}, /* 0x8C-0x8F */ + {0x4E, 0x71}, {0x53, 0x75}, {0x5D, 0x50}, {0x6B, 0x04}, /* 0x90-0x93 */ + {0x6F, 0xEB}, {0x85, 0xCD}, {0x86, 0x2D}, {0x89, 0xA7}, /* 0x94-0x97 */ + {0x52, 0x29}, {0x54, 0x0F}, {0x5C, 0x65}, {0x67, 0x4E}, /* 0x98-0x9B */ + {0x68, 0xA8}, {0x74, 0x06}, {0x74, 0x83}, {0x75, 0xE2}, /* 0x9C-0x9F */ + {0x88, 0xCF}, {0x88, 0xE1}, {0x91, 0xCC}, {0x96, 0xE2}, /* 0xA0-0xA3 */ + {0x96, 0x78}, {0x5F, 0x8B}, {0x73, 0x87}, {0x7A, 0xCB}, /* 0xA4-0xA7 */ + {0x84, 0x4E}, {0x63, 0xA0}, {0x75, 0x65}, {0x52, 0x89}, /* 0xA8-0xAB */ + {0x6D, 0x41}, {0x6E, 0x9C}, {0x74, 0x09}, {0x75, 0x59}, /* 0xAC-0xAF */ + {0x78, 0x6B}, {0x7C, 0x92}, {0x96, 0x86}, {0x7A, 0xDC}, /* 0xB0-0xB3 */ + {0x9F, 0x8D}, {0x4F, 0xB6}, {0x61, 0x6E}, {0x65, 0xC5}, /* 0xB4-0xB7 */ + {0x86, 0x5C}, {0x4E, 0x86}, {0x4E, 0xAE}, {0x50, 0xDA}, /* 0xB8-0xBB */ + {0x4E, 0x21}, {0x51, 0xCC}, {0x5B, 0xEE}, {0x65, 0x99}, /* 0xBC-0xBF */ + {0x68, 0x81}, {0x6D, 0xBC}, {0x73, 0x1F}, {0x76, 0x42}, /* 0xC0-0xC3 */ + {0x77, 0xAD}, {0x7A, 0x1C}, {0x7C, 0xE7}, {0x82, 0x6F}, /* 0xC4-0xC7 */ + {0x8A, 0xD2}, {0x90, 0x7C}, {0x91, 0xCF}, {0x96, 0x75}, /* 0xC8-0xCB */ + {0x98, 0x18}, {0x52, 0x9B}, {0x7D, 0xD1}, {0x50, 0x2B}, /* 0xCC-0xCF */ + {0x53, 0x98}, {0x67, 0x97}, {0x6D, 0xCB}, {0x71, 0xD0}, /* 0xD0-0xD3 */ + {0x74, 0x33}, {0x81, 0xE8}, {0x8F, 0x2A}, {0x96, 0xA3}, /* 0xD4-0xD7 */ + {0x9C, 0x57}, {0x9E, 0x9F}, {0x74, 0x60}, {0x58, 0x41}, /* 0xD8-0xDB */ + {0x6D, 0x99}, {0x7D, 0x2F}, {0x98, 0x5E}, {0x4E, 0xE4}, /* 0xDC-0xDF */ + {0x4F, 0x36}, {0x4F, 0x8B}, {0x51, 0xB7}, {0x52, 0xB1}, /* 0xE0-0xE3 */ + {0x5D, 0xBA}, {0x60, 0x1C}, {0x73, 0xB2}, {0x79, 0x3C}, /* 0xE4-0xE7 */ + {0x82, 0xD3}, {0x92, 0x34}, {0x96, 0xB7}, {0x96, 0xF6}, /* 0xE8-0xEB */ + {0x97, 0x0A}, {0x9E, 0x97}, {0x9F, 0x62}, {0x66, 0xA6}, /* 0xEC-0xEF */ + {0x6B, 0x74}, {0x52, 0x17}, {0x52, 0xA3}, {0x70, 0xC8}, /* 0xF0-0xF3 */ + {0x88, 0xC2}, {0x5E, 0xC9}, {0x60, 0x4B}, {0x61, 0x90}, /* 0xF4-0xF7 */ + {0x6F, 0x23}, {0x71, 0x49}, {0x7C, 0x3E}, {0x7D, 0xF4}, /* 0xF8-0xFB */ + {0x80, 0x6F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_98[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x84, 0xEE}, {0x90, 0x23}, {0x93, 0x2C}, {0x54, 0x42}, /* 0x40-0x43 */ + {0x9B, 0x6F}, {0x6A, 0xD3}, {0x70, 0x89}, {0x8C, 0xC2}, /* 0x44-0x47 */ + {0x8D, 0xEF}, {0x97, 0x32}, {0x52, 0xB4}, {0x5A, 0x41}, /* 0x48-0x4B */ + {0x5E, 0xCA}, {0x5F, 0x04}, {0x67, 0x17}, {0x69, 0x7C}, /* 0x4C-0x4F */ + {0x69, 0x94}, {0x6D, 0x6A}, {0x6F, 0x0F}, {0x72, 0x62}, /* 0x50-0x53 */ + {0x72, 0xFC}, {0x7B, 0xED}, {0x80, 0x01}, {0x80, 0x7E}, /* 0x54-0x57 */ + {0x87, 0x4B}, {0x90, 0xCE}, {0x51, 0x6D}, {0x9E, 0x93}, /* 0x58-0x5B */ + {0x79, 0x84}, {0x80, 0x8B}, {0x93, 0x32}, {0x8A, 0xD6}, /* 0x5C-0x5F */ + {0x50, 0x2D}, {0x54, 0x8C}, {0x8A, 0x71}, {0x6B, 0x6A}, /* 0x60-0x63 */ + {0x8C, 0xC4}, {0x81, 0x07}, {0x60, 0xD1}, {0x67, 0xA0}, /* 0x64-0x67 */ + {0x9D, 0xF2}, {0x4E, 0x99}, {0x4E, 0x98}, {0x9C, 0x10}, /* 0x68-0x6B */ + {0x8A, 0x6B}, {0x85, 0xC1}, {0x85, 0x68}, {0x69, 0x00}, /* 0x6C-0x6F */ + {0x6E, 0x7E}, {0x78, 0x97}, {0x81, 0x55}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x5F, 0x0C}, /* 0x9C-0x9F */ + {0x4E, 0x10}, {0x4E, 0x15}, {0x4E, 0x2A}, {0x4E, 0x31}, /* 0xA0-0xA3 */ + {0x4E, 0x36}, {0x4E, 0x3C}, {0x4E, 0x3F}, {0x4E, 0x42}, /* 0xA4-0xA7 */ + {0x4E, 0x56}, {0x4E, 0x58}, {0x4E, 0x82}, {0x4E, 0x85}, /* 0xA8-0xAB */ + {0x8C, 0x6B}, {0x4E, 0x8A}, {0x82, 0x12}, {0x5F, 0x0D}, /* 0xAC-0xAF */ + {0x4E, 0x8E}, {0x4E, 0x9E}, {0x4E, 0x9F}, {0x4E, 0xA0}, /* 0xB0-0xB3 */ + {0x4E, 0xA2}, {0x4E, 0xB0}, {0x4E, 0xB3}, {0x4E, 0xB6}, /* 0xB4-0xB7 */ + {0x4E, 0xCE}, {0x4E, 0xCD}, {0x4E, 0xC4}, {0x4E, 0xC6}, /* 0xB8-0xBB */ + {0x4E, 0xC2}, {0x4E, 0xD7}, {0x4E, 0xDE}, {0x4E, 0xED}, /* 0xBC-0xBF */ + {0x4E, 0xDF}, {0x4E, 0xF7}, {0x4F, 0x09}, {0x4F, 0x5A}, /* 0xC0-0xC3 */ + {0x4F, 0x30}, {0x4F, 0x5B}, {0x4F, 0x5D}, {0x4F, 0x57}, /* 0xC4-0xC7 */ + {0x4F, 0x47}, {0x4F, 0x76}, {0x4F, 0x88}, {0x4F, 0x8F}, /* 0xC8-0xCB */ + {0x4F, 0x98}, {0x4F, 0x7B}, {0x4F, 0x69}, {0x4F, 0x70}, /* 0xCC-0xCF */ + {0x4F, 0x91}, {0x4F, 0x6F}, {0x4F, 0x86}, {0x4F, 0x96}, /* 0xD0-0xD3 */ + {0x51, 0x18}, {0x4F, 0xD4}, {0x4F, 0xDF}, {0x4F, 0xCE}, /* 0xD4-0xD7 */ + {0x4F, 0xD8}, {0x4F, 0xDB}, {0x4F, 0xD1}, {0x4F, 0xDA}, /* 0xD8-0xDB */ + {0x4F, 0xD0}, {0x4F, 0xE4}, {0x4F, 0xE5}, {0x50, 0x1A}, /* 0xDC-0xDF */ + {0x50, 0x28}, {0x50, 0x14}, {0x50, 0x2A}, {0x50, 0x25}, /* 0xE0-0xE3 */ + {0x50, 0x05}, {0x4F, 0x1C}, {0x4F, 0xF6}, {0x50, 0x21}, /* 0xE4-0xE7 */ + {0x50, 0x29}, {0x50, 0x2C}, {0x4F, 0xFE}, {0x4F, 0xEF}, /* 0xE8-0xEB */ + {0x50, 0x11}, {0x50, 0x06}, {0x50, 0x43}, {0x50, 0x47}, /* 0xEC-0xEF */ + {0x67, 0x03}, {0x50, 0x55}, {0x50, 0x50}, {0x50, 0x48}, /* 0xF0-0xF3 */ + {0x50, 0x5A}, {0x50, 0x56}, {0x50, 0x6C}, {0x50, 0x78}, /* 0xF4-0xF7 */ + {0x50, 0x80}, {0x50, 0x9A}, {0x50, 0x85}, {0x50, 0xB4}, /* 0xF8-0xFB */ + {0x50, 0xB2}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_99[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x50, 0xC9}, {0x50, 0xCA}, {0x50, 0xB3}, {0x50, 0xC2}, /* 0x40-0x43 */ + {0x50, 0xD6}, {0x50, 0xDE}, {0x50, 0xE5}, {0x50, 0xED}, /* 0x44-0x47 */ + {0x50, 0xE3}, {0x50, 0xEE}, {0x50, 0xF9}, {0x50, 0xF5}, /* 0x48-0x4B */ + {0x51, 0x09}, {0x51, 0x01}, {0x51, 0x02}, {0x51, 0x16}, /* 0x4C-0x4F */ + {0x51, 0x15}, {0x51, 0x14}, {0x51, 0x1A}, {0x51, 0x21}, /* 0x50-0x53 */ + {0x51, 0x3A}, {0x51, 0x37}, {0x51, 0x3C}, {0x51, 0x3B}, /* 0x54-0x57 */ + {0x51, 0x3F}, {0x51, 0x40}, {0x51, 0x52}, {0x51, 0x4C}, /* 0x58-0x5B */ + {0x51, 0x54}, {0x51, 0x62}, {0x7A, 0xF8}, {0x51, 0x69}, /* 0x5C-0x5F */ + {0x51, 0x6A}, {0x51, 0x6E}, {0x51, 0x80}, {0x51, 0x82}, /* 0x60-0x63 */ + {0x56, 0xD8}, {0x51, 0x8C}, {0x51, 0x89}, {0x51, 0x8F}, /* 0x64-0x67 */ + {0x51, 0x91}, {0x51, 0x93}, {0x51, 0x95}, {0x51, 0x96}, /* 0x68-0x6B */ + {0x51, 0xA4}, {0x51, 0xA6}, {0x51, 0xA2}, {0x51, 0xA9}, /* 0x6C-0x6F */ + {0x51, 0xAA}, {0x51, 0xAB}, {0x51, 0xB3}, {0x51, 0xB1}, /* 0x70-0x73 */ + {0x51, 0xB2}, {0x51, 0xB0}, {0x51, 0xB5}, {0x51, 0xBD}, /* 0x74-0x77 */ + {0x51, 0xC5}, {0x51, 0xC9}, {0x51, 0xDB}, {0x51, 0xE0}, /* 0x78-0x7B */ + {0x86, 0x55}, {0x51, 0xE9}, {0x51, 0xED}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x51, 0xF0}, {0x51, 0xF5}, {0x51, 0xFE}, {0x52, 0x04}, /* 0x80-0x83 */ + {0x52, 0x0B}, {0x52, 0x14}, {0x52, 0x0E}, {0x52, 0x27}, /* 0x84-0x87 */ + {0x52, 0x2A}, {0x52, 0x2E}, {0x52, 0x33}, {0x52, 0x39}, /* 0x88-0x8B */ + {0x52, 0x4F}, {0x52, 0x44}, {0x52, 0x4B}, {0x52, 0x4C}, /* 0x8C-0x8F */ + {0x52, 0x5E}, {0x52, 0x54}, {0x52, 0x6A}, {0x52, 0x74}, /* 0x90-0x93 */ + {0x52, 0x69}, {0x52, 0x73}, {0x52, 0x7F}, {0x52, 0x7D}, /* 0x94-0x97 */ + {0x52, 0x8D}, {0x52, 0x94}, {0x52, 0x92}, {0x52, 0x71}, /* 0x98-0x9B */ + {0x52, 0x88}, {0x52, 0x91}, {0x8F, 0xA8}, {0x8F, 0xA7}, /* 0x9C-0x9F */ + {0x52, 0xAC}, {0x52, 0xAD}, {0x52, 0xBC}, {0x52, 0xB5}, /* 0xA0-0xA3 */ + {0x52, 0xC1}, {0x52, 0xCD}, {0x52, 0xD7}, {0x52, 0xDE}, /* 0xA4-0xA7 */ + {0x52, 0xE3}, {0x52, 0xE6}, {0x98, 0xED}, {0x52, 0xE0}, /* 0xA8-0xAB */ + {0x52, 0xF3}, {0x52, 0xF5}, {0x52, 0xF8}, {0x52, 0xF9}, /* 0xAC-0xAF */ + {0x53, 0x06}, {0x53, 0x08}, {0x75, 0x38}, {0x53, 0x0D}, /* 0xB0-0xB3 */ + {0x53, 0x10}, {0x53, 0x0F}, {0x53, 0x15}, {0x53, 0x1A}, /* 0xB4-0xB7 */ + {0x53, 0x23}, {0x53, 0x2F}, {0x53, 0x31}, {0x53, 0x33}, /* 0xB8-0xBB */ + {0x53, 0x38}, {0x53, 0x40}, {0x53, 0x46}, {0x53, 0x45}, /* 0xBC-0xBF */ + {0x4E, 0x17}, {0x53, 0x49}, {0x53, 0x4D}, {0x51, 0xD6}, /* 0xC0-0xC3 */ + {0x53, 0x5E}, {0x53, 0x69}, {0x53, 0x6E}, {0x59, 0x18}, /* 0xC4-0xC7 */ + {0x53, 0x7B}, {0x53, 0x77}, {0x53, 0x82}, {0x53, 0x96}, /* 0xC8-0xCB */ + {0x53, 0xA0}, {0x53, 0xA6}, {0x53, 0xA5}, {0x53, 0xAE}, /* 0xCC-0xCF */ + {0x53, 0xB0}, {0x53, 0xB6}, {0x53, 0xC3}, {0x7C, 0x12}, /* 0xD0-0xD3 */ + {0x96, 0xD9}, {0x53, 0xDF}, {0x66, 0xFC}, {0x71, 0xEE}, /* 0xD4-0xD7 */ + {0x53, 0xEE}, {0x53, 0xE8}, {0x53, 0xED}, {0x53, 0xFA}, /* 0xD8-0xDB */ + {0x54, 0x01}, {0x54, 0x3D}, {0x54, 0x40}, {0x54, 0x2C}, /* 0xDC-0xDF */ + {0x54, 0x2D}, {0x54, 0x3C}, {0x54, 0x2E}, {0x54, 0x36}, /* 0xE0-0xE3 */ + {0x54, 0x29}, {0x54, 0x1D}, {0x54, 0x4E}, {0x54, 0x8F}, /* 0xE4-0xE7 */ + {0x54, 0x75}, {0x54, 0x8E}, {0x54, 0x5F}, {0x54, 0x71}, /* 0xE8-0xEB */ + {0x54, 0x77}, {0x54, 0x70}, {0x54, 0x92}, {0x54, 0x7B}, /* 0xEC-0xEF */ + {0x54, 0x80}, {0x54, 0x76}, {0x54, 0x84}, {0x54, 0x90}, /* 0xF0-0xF3 */ + {0x54, 0x86}, {0x54, 0xC7}, {0x54, 0xA2}, {0x54, 0xB8}, /* 0xF4-0xF7 */ + {0x54, 0xA5}, {0x54, 0xAC}, {0x54, 0xC4}, {0x54, 0xC8}, /* 0xF8-0xFB */ + {0x54, 0xA8}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9A[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x54, 0xAB}, {0x54, 0xC2}, {0x54, 0xA4}, {0x54, 0xBE}, /* 0x40-0x43 */ + {0x54, 0xBC}, {0x54, 0xD8}, {0x54, 0xE5}, {0x54, 0xE6}, /* 0x44-0x47 */ + {0x55, 0x0F}, {0x55, 0x14}, {0x54, 0xFD}, {0x54, 0xEE}, /* 0x48-0x4B */ + {0x54, 0xED}, {0x54, 0xFA}, {0x54, 0xE2}, {0x55, 0x39}, /* 0x4C-0x4F */ + {0x55, 0x40}, {0x55, 0x63}, {0x55, 0x4C}, {0x55, 0x2E}, /* 0x50-0x53 */ + {0x55, 0x5C}, {0x55, 0x45}, {0x55, 0x56}, {0x55, 0x57}, /* 0x54-0x57 */ + {0x55, 0x38}, {0x55, 0x33}, {0x55, 0x5D}, {0x55, 0x99}, /* 0x58-0x5B */ + {0x55, 0x80}, {0x54, 0xAF}, {0x55, 0x8A}, {0x55, 0x9F}, /* 0x5C-0x5F */ + {0x55, 0x7B}, {0x55, 0x7E}, {0x55, 0x98}, {0x55, 0x9E}, /* 0x60-0x63 */ + {0x55, 0xAE}, {0x55, 0x7C}, {0x55, 0x83}, {0x55, 0xA9}, /* 0x64-0x67 */ + {0x55, 0x87}, {0x55, 0xA8}, {0x55, 0xDA}, {0x55, 0xC5}, /* 0x68-0x6B */ + {0x55, 0xDF}, {0x55, 0xC4}, {0x55, 0xDC}, {0x55, 0xE4}, /* 0x6C-0x6F */ + {0x55, 0xD4}, {0x56, 0x14}, {0x55, 0xF7}, {0x56, 0x16}, /* 0x70-0x73 */ + {0x55, 0xFE}, {0x55, 0xFD}, {0x56, 0x1B}, {0x55, 0xF9}, /* 0x74-0x77 */ + {0x56, 0x4E}, {0x56, 0x50}, {0x71, 0xDF}, {0x56, 0x34}, /* 0x78-0x7B */ + {0x56, 0x36}, {0x56, 0x32}, {0x56, 0x38}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x56, 0x6B}, {0x56, 0x64}, {0x56, 0x2F}, {0x56, 0x6C}, /* 0x80-0x83 */ + {0x56, 0x6A}, {0x56, 0x86}, {0x56, 0x80}, {0x56, 0x8A}, /* 0x84-0x87 */ + {0x56, 0xA0}, {0x56, 0x94}, {0x56, 0x8F}, {0x56, 0xA5}, /* 0x88-0x8B */ + {0x56, 0xAE}, {0x56, 0xB6}, {0x56, 0xB4}, {0x56, 0xC2}, /* 0x8C-0x8F */ + {0x56, 0xBC}, {0x56, 0xC1}, {0x56, 0xC3}, {0x56, 0xC0}, /* 0x90-0x93 */ + {0x56, 0xC8}, {0x56, 0xCE}, {0x56, 0xD1}, {0x56, 0xD3}, /* 0x94-0x97 */ + {0x56, 0xD7}, {0x56, 0xEE}, {0x56, 0xF9}, {0x57, 0x00}, /* 0x98-0x9B */ + {0x56, 0xFF}, {0x57, 0x04}, {0x57, 0x09}, {0x57, 0x08}, /* 0x9C-0x9F */ + {0x57, 0x0B}, {0x57, 0x0D}, {0x57, 0x13}, {0x57, 0x18}, /* 0xA0-0xA3 */ + {0x57, 0x16}, {0x55, 0xC7}, {0x57, 0x1C}, {0x57, 0x26}, /* 0xA4-0xA7 */ + {0x57, 0x37}, {0x57, 0x38}, {0x57, 0x4E}, {0x57, 0x3B}, /* 0xA8-0xAB */ + {0x57, 0x40}, {0x57, 0x4F}, {0x57, 0x69}, {0x57, 0xC0}, /* 0xAC-0xAF */ + {0x57, 0x88}, {0x57, 0x61}, {0x57, 0x7F}, {0x57, 0x89}, /* 0xB0-0xB3 */ + {0x57, 0x93}, {0x57, 0xA0}, {0x57, 0xB3}, {0x57, 0xA4}, /* 0xB4-0xB7 */ + {0x57, 0xAA}, {0x57, 0xB0}, {0x57, 0xC3}, {0x57, 0xC6}, /* 0xB8-0xBB */ + {0x57, 0xD4}, {0x57, 0xD2}, {0x57, 0xD3}, {0x58, 0x0A}, /* 0xBC-0xBF */ + {0x57, 0xD6}, {0x57, 0xE3}, {0x58, 0x0B}, {0x58, 0x19}, /* 0xC0-0xC3 */ + {0x58, 0x1D}, {0x58, 0x72}, {0x58, 0x21}, {0x58, 0x62}, /* 0xC4-0xC7 */ + {0x58, 0x4B}, {0x58, 0x70}, {0x6B, 0xC0}, {0x58, 0x52}, /* 0xC8-0xCB */ + {0x58, 0x3D}, {0x58, 0x79}, {0x58, 0x85}, {0x58, 0xB9}, /* 0xCC-0xCF */ + {0x58, 0x9F}, {0x58, 0xAB}, {0x58, 0xBA}, {0x58, 0xDE}, /* 0xD0-0xD3 */ + {0x58, 0xBB}, {0x58, 0xB8}, {0x58, 0xAE}, {0x58, 0xC5}, /* 0xD4-0xD7 */ + {0x58, 0xD3}, {0x58, 0xD1}, {0x58, 0xD7}, {0x58, 0xD9}, /* 0xD8-0xDB */ + {0x58, 0xD8}, {0x58, 0xE5}, {0x58, 0xDC}, {0x58, 0xE4}, /* 0xDC-0xDF */ + {0x58, 0xDF}, {0x58, 0xEF}, {0x58, 0xFA}, {0x58, 0xF9}, /* 0xE0-0xE3 */ + {0x58, 0xFB}, {0x58, 0xFC}, {0x58, 0xFD}, {0x59, 0x02}, /* 0xE4-0xE7 */ + {0x59, 0x0A}, {0x59, 0x10}, {0x59, 0x1B}, {0x68, 0xA6}, /* 0xE8-0xEB */ + {0x59, 0x25}, {0x59, 0x2C}, {0x59, 0x2D}, {0x59, 0x32}, /* 0xEC-0xEF */ + {0x59, 0x38}, {0x59, 0x3E}, {0x7A, 0xD2}, {0x59, 0x55}, /* 0xF0-0xF3 */ + {0x59, 0x50}, {0x59, 0x4E}, {0x59, 0x5A}, {0x59, 0x58}, /* 0xF4-0xF7 */ + {0x59, 0x62}, {0x59, 0x60}, {0x59, 0x67}, {0x59, 0x6C}, /* 0xF8-0xFB */ + {0x59, 0x69}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9B[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x59, 0x78}, {0x59, 0x81}, {0x59, 0x9D}, {0x4F, 0x5E}, /* 0x40-0x43 */ + {0x4F, 0xAB}, {0x59, 0xA3}, {0x59, 0xB2}, {0x59, 0xC6}, /* 0x44-0x47 */ + {0x59, 0xE8}, {0x59, 0xDC}, {0x59, 0x8D}, {0x59, 0xD9}, /* 0x48-0x4B */ + {0x59, 0xDA}, {0x5A, 0x25}, {0x5A, 0x1F}, {0x5A, 0x11}, /* 0x4C-0x4F */ + {0x5A, 0x1C}, {0x5A, 0x09}, {0x5A, 0x1A}, {0x5A, 0x40}, /* 0x50-0x53 */ + {0x5A, 0x6C}, {0x5A, 0x49}, {0x5A, 0x35}, {0x5A, 0x36}, /* 0x54-0x57 */ + {0x5A, 0x62}, {0x5A, 0x6A}, {0x5A, 0x9A}, {0x5A, 0xBC}, /* 0x58-0x5B */ + {0x5A, 0xBE}, {0x5A, 0xCB}, {0x5A, 0xC2}, {0x5A, 0xBD}, /* 0x5C-0x5F */ + {0x5A, 0xE3}, {0x5A, 0xD7}, {0x5A, 0xE6}, {0x5A, 0xE9}, /* 0x60-0x63 */ + {0x5A, 0xD6}, {0x5A, 0xFA}, {0x5A, 0xFB}, {0x5B, 0x0C}, /* 0x64-0x67 */ + {0x5B, 0x0B}, {0x5B, 0x16}, {0x5B, 0x32}, {0x5A, 0xD0}, /* 0x68-0x6B */ + {0x5B, 0x2A}, {0x5B, 0x36}, {0x5B, 0x3E}, {0x5B, 0x43}, /* 0x6C-0x6F */ + {0x5B, 0x45}, {0x5B, 0x40}, {0x5B, 0x51}, {0x5B, 0x55}, /* 0x70-0x73 */ + {0x5B, 0x5A}, {0x5B, 0x5B}, {0x5B, 0x65}, {0x5B, 0x69}, /* 0x74-0x77 */ + {0x5B, 0x70}, {0x5B, 0x73}, {0x5B, 0x75}, {0x5B, 0x78}, /* 0x78-0x7B */ + {0x65, 0x88}, {0x5B, 0x7A}, {0x5B, 0x80}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x5B, 0x83}, {0x5B, 0xA6}, {0x5B, 0xB8}, {0x5B, 0xC3}, /* 0x80-0x83 */ + {0x5B, 0xC7}, {0x5B, 0xC9}, {0x5B, 0xD4}, {0x5B, 0xD0}, /* 0x84-0x87 */ + {0x5B, 0xE4}, {0x5B, 0xE6}, {0x5B, 0xE2}, {0x5B, 0xDE}, /* 0x88-0x8B */ + {0x5B, 0xE5}, {0x5B, 0xEB}, {0x5B, 0xF0}, {0x5B, 0xF6}, /* 0x8C-0x8F */ + {0x5B, 0xF3}, {0x5C, 0x05}, {0x5C, 0x07}, {0x5C, 0x08}, /* 0x90-0x93 */ + {0x5C, 0x0D}, {0x5C, 0x13}, {0x5C, 0x20}, {0x5C, 0x22}, /* 0x94-0x97 */ + {0x5C, 0x28}, {0x5C, 0x38}, {0x5C, 0x39}, {0x5C, 0x41}, /* 0x98-0x9B */ + {0x5C, 0x46}, {0x5C, 0x4E}, {0x5C, 0x53}, {0x5C, 0x50}, /* 0x9C-0x9F */ + {0x5C, 0x4F}, {0x5B, 0x71}, {0x5C, 0x6C}, {0x5C, 0x6E}, /* 0xA0-0xA3 */ + {0x4E, 0x62}, {0x5C, 0x76}, {0x5C, 0x79}, {0x5C, 0x8C}, /* 0xA4-0xA7 */ + {0x5C, 0x91}, {0x5C, 0x94}, {0x59, 0x9B}, {0x5C, 0xAB}, /* 0xA8-0xAB */ + {0x5C, 0xBB}, {0x5C, 0xB6}, {0x5C, 0xBC}, {0x5C, 0xB7}, /* 0xAC-0xAF */ + {0x5C, 0xC5}, {0x5C, 0xBE}, {0x5C, 0xC7}, {0x5C, 0xD9}, /* 0xB0-0xB3 */ + {0x5C, 0xE9}, {0x5C, 0xFD}, {0x5C, 0xFA}, {0x5C, 0xED}, /* 0xB4-0xB7 */ + {0x5D, 0x8C}, {0x5C, 0xEA}, {0x5D, 0x0B}, {0x5D, 0x15}, /* 0xB8-0xBB */ + {0x5D, 0x17}, {0x5D, 0x5C}, {0x5D, 0x1F}, {0x5D, 0x1B}, /* 0xBC-0xBF */ + {0x5D, 0x11}, {0x5D, 0x14}, {0x5D, 0x22}, {0x5D, 0x1A}, /* 0xC0-0xC3 */ + {0x5D, 0x19}, {0x5D, 0x18}, {0x5D, 0x4C}, {0x5D, 0x52}, /* 0xC4-0xC7 */ + {0x5D, 0x4E}, {0x5D, 0x4B}, {0x5D, 0x6C}, {0x5D, 0x73}, /* 0xC8-0xCB */ + {0x5D, 0x76}, {0x5D, 0x87}, {0x5D, 0x84}, {0x5D, 0x82}, /* 0xCC-0xCF */ + {0x5D, 0xA2}, {0x5D, 0x9D}, {0x5D, 0xAC}, {0x5D, 0xAE}, /* 0xD0-0xD3 */ + {0x5D, 0xBD}, {0x5D, 0x90}, {0x5D, 0xB7}, {0x5D, 0xBC}, /* 0xD4-0xD7 */ + {0x5D, 0xC9}, {0x5D, 0xCD}, {0x5D, 0xD3}, {0x5D, 0xD2}, /* 0xD8-0xDB */ + {0x5D, 0xD6}, {0x5D, 0xDB}, {0x5D, 0xEB}, {0x5D, 0xF2}, /* 0xDC-0xDF */ + {0x5D, 0xF5}, {0x5E, 0x0B}, {0x5E, 0x1A}, {0x5E, 0x19}, /* 0xE0-0xE3 */ + {0x5E, 0x11}, {0x5E, 0x1B}, {0x5E, 0x36}, {0x5E, 0x37}, /* 0xE4-0xE7 */ + {0x5E, 0x44}, {0x5E, 0x43}, {0x5E, 0x40}, {0x5E, 0x4E}, /* 0xE8-0xEB */ + {0x5E, 0x57}, {0x5E, 0x54}, {0x5E, 0x5F}, {0x5E, 0x62}, /* 0xEC-0xEF */ + {0x5E, 0x64}, {0x5E, 0x47}, {0x5E, 0x75}, {0x5E, 0x76}, /* 0xF0-0xF3 */ + {0x5E, 0x7A}, {0x9E, 0xBC}, {0x5E, 0x7F}, {0x5E, 0xA0}, /* 0xF4-0xF7 */ + {0x5E, 0xC1}, {0x5E, 0xC2}, {0x5E, 0xC8}, {0x5E, 0xD0}, /* 0xF8-0xFB */ + {0x5E, 0xCF}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9C[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5E, 0xD6}, {0x5E, 0xE3}, {0x5E, 0xDD}, {0x5E, 0xDA}, /* 0x40-0x43 */ + {0x5E, 0xDB}, {0x5E, 0xE2}, {0x5E, 0xE1}, {0x5E, 0xE8}, /* 0x44-0x47 */ + {0x5E, 0xE9}, {0x5E, 0xEC}, {0x5E, 0xF1}, {0x5E, 0xF3}, /* 0x48-0x4B */ + {0x5E, 0xF0}, {0x5E, 0xF4}, {0x5E, 0xF8}, {0x5E, 0xFE}, /* 0x4C-0x4F */ + {0x5F, 0x03}, {0x5F, 0x09}, {0x5F, 0x5D}, {0x5F, 0x5C}, /* 0x50-0x53 */ + {0x5F, 0x0B}, {0x5F, 0x11}, {0x5F, 0x16}, {0x5F, 0x29}, /* 0x54-0x57 */ + {0x5F, 0x2D}, {0x5F, 0x38}, {0x5F, 0x41}, {0x5F, 0x48}, /* 0x58-0x5B */ + {0x5F, 0x4C}, {0x5F, 0x4E}, {0x5F, 0x2F}, {0x5F, 0x51}, /* 0x5C-0x5F */ + {0x5F, 0x56}, {0x5F, 0x57}, {0x5F, 0x59}, {0x5F, 0x61}, /* 0x60-0x63 */ + {0x5F, 0x6D}, {0x5F, 0x73}, {0x5F, 0x77}, {0x5F, 0x83}, /* 0x64-0x67 */ + {0x5F, 0x82}, {0x5F, 0x7F}, {0x5F, 0x8A}, {0x5F, 0x88}, /* 0x68-0x6B */ + {0x5F, 0x91}, {0x5F, 0x87}, {0x5F, 0x9E}, {0x5F, 0x99}, /* 0x6C-0x6F */ + {0x5F, 0x98}, {0x5F, 0xA0}, {0x5F, 0xA8}, {0x5F, 0xAD}, /* 0x70-0x73 */ + {0x5F, 0xBC}, {0x5F, 0xD6}, {0x5F, 0xFB}, {0x5F, 0xE4}, /* 0x74-0x77 */ + {0x5F, 0xF8}, {0x5F, 0xF1}, {0x5F, 0xDD}, {0x60, 0xB3}, /* 0x78-0x7B */ + {0x5F, 0xFF}, {0x60, 0x21}, {0x60, 0x60}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x60, 0x19}, {0x60, 0x10}, {0x60, 0x29}, {0x60, 0x0E}, /* 0x80-0x83 */ + {0x60, 0x31}, {0x60, 0x1B}, {0x60, 0x15}, {0x60, 0x2B}, /* 0x84-0x87 */ + {0x60, 0x26}, {0x60, 0x0F}, {0x60, 0x3A}, {0x60, 0x5A}, /* 0x88-0x8B */ + {0x60, 0x41}, {0x60, 0x6A}, {0x60, 0x77}, {0x60, 0x5F}, /* 0x8C-0x8F */ + {0x60, 0x4A}, {0x60, 0x46}, {0x60, 0x4D}, {0x60, 0x63}, /* 0x90-0x93 */ + {0x60, 0x43}, {0x60, 0x64}, {0x60, 0x42}, {0x60, 0x6C}, /* 0x94-0x97 */ + {0x60, 0x6B}, {0x60, 0x59}, {0x60, 0x81}, {0x60, 0x8D}, /* 0x98-0x9B */ + {0x60, 0xE7}, {0x60, 0x83}, {0x60, 0x9A}, {0x60, 0x84}, /* 0x9C-0x9F */ + {0x60, 0x9B}, {0x60, 0x96}, {0x60, 0x97}, {0x60, 0x92}, /* 0xA0-0xA3 */ + {0x60, 0xA7}, {0x60, 0x8B}, {0x60, 0xE1}, {0x60, 0xB8}, /* 0xA4-0xA7 */ + {0x60, 0xE0}, {0x60, 0xD3}, {0x60, 0xB4}, {0x5F, 0xF0}, /* 0xA8-0xAB */ + {0x60, 0xBD}, {0x60, 0xC6}, {0x60, 0xB5}, {0x60, 0xD8}, /* 0xAC-0xAF */ + {0x61, 0x4D}, {0x61, 0x15}, {0x61, 0x06}, {0x60, 0xF6}, /* 0xB0-0xB3 */ + {0x60, 0xF7}, {0x61, 0x00}, {0x60, 0xF4}, {0x60, 0xFA}, /* 0xB4-0xB7 */ + {0x61, 0x03}, {0x61, 0x21}, {0x60, 0xFB}, {0x60, 0xF1}, /* 0xB8-0xBB */ + {0x61, 0x0D}, {0x61, 0x0E}, {0x61, 0x47}, {0x61, 0x3E}, /* 0xBC-0xBF */ + {0x61, 0x28}, {0x61, 0x27}, {0x61, 0x4A}, {0x61, 0x3F}, /* 0xC0-0xC3 */ + {0x61, 0x3C}, {0x61, 0x2C}, {0x61, 0x34}, {0x61, 0x3D}, /* 0xC4-0xC7 */ + {0x61, 0x42}, {0x61, 0x44}, {0x61, 0x73}, {0x61, 0x77}, /* 0xC8-0xCB */ + {0x61, 0x58}, {0x61, 0x59}, {0x61, 0x5A}, {0x61, 0x6B}, /* 0xCC-0xCF */ + {0x61, 0x74}, {0x61, 0x6F}, {0x61, 0x65}, {0x61, 0x71}, /* 0xD0-0xD3 */ + {0x61, 0x5F}, {0x61, 0x5D}, {0x61, 0x53}, {0x61, 0x75}, /* 0xD4-0xD7 */ + {0x61, 0x99}, {0x61, 0x96}, {0x61, 0x87}, {0x61, 0xAC}, /* 0xD8-0xDB */ + {0x61, 0x94}, {0x61, 0x9A}, {0x61, 0x8A}, {0x61, 0x91}, /* 0xDC-0xDF */ + {0x61, 0xAB}, {0x61, 0xAE}, {0x61, 0xCC}, {0x61, 0xCA}, /* 0xE0-0xE3 */ + {0x61, 0xC9}, {0x61, 0xF7}, {0x61, 0xC8}, {0x61, 0xC3}, /* 0xE4-0xE7 */ + {0x61, 0xC6}, {0x61, 0xBA}, {0x61, 0xCB}, {0x7F, 0x79}, /* 0xE8-0xEB */ + {0x61, 0xCD}, {0x61, 0xE6}, {0x61, 0xE3}, {0x61, 0xF6}, /* 0xEC-0xEF */ + {0x61, 0xFA}, {0x61, 0xF4}, {0x61, 0xFF}, {0x61, 0xFD}, /* 0xF0-0xF3 */ + {0x61, 0xFC}, {0x61, 0xFE}, {0x62, 0x00}, {0x62, 0x08}, /* 0xF4-0xF7 */ + {0x62, 0x09}, {0x62, 0x0D}, {0x62, 0x0C}, {0x62, 0x14}, /* 0xF8-0xFB */ + {0x62, 0x1B}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9D[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x62, 0x1E}, {0x62, 0x21}, {0x62, 0x2A}, {0x62, 0x2E}, /* 0x40-0x43 */ + {0x62, 0x30}, {0x62, 0x32}, {0x62, 0x33}, {0x62, 0x41}, /* 0x44-0x47 */ + {0x62, 0x4E}, {0x62, 0x5E}, {0x62, 0x63}, {0x62, 0x5B}, /* 0x48-0x4B */ + {0x62, 0x60}, {0x62, 0x68}, {0x62, 0x7C}, {0x62, 0x82}, /* 0x4C-0x4F */ + {0x62, 0x89}, {0x62, 0x7E}, {0x62, 0x92}, {0x62, 0x93}, /* 0x50-0x53 */ + {0x62, 0x96}, {0x62, 0xD4}, {0x62, 0x83}, {0x62, 0x94}, /* 0x54-0x57 */ + {0x62, 0xD7}, {0x62, 0xD1}, {0x62, 0xBB}, {0x62, 0xCF}, /* 0x58-0x5B */ + {0x62, 0xFF}, {0x62, 0xC6}, {0x64, 0xD4}, {0x62, 0xC8}, /* 0x5C-0x5F */ + {0x62, 0xDC}, {0x62, 0xCC}, {0x62, 0xCA}, {0x62, 0xC2}, /* 0x60-0x63 */ + {0x62, 0xC7}, {0x62, 0x9B}, {0x62, 0xC9}, {0x63, 0x0C}, /* 0x64-0x67 */ + {0x62, 0xEE}, {0x62, 0xF1}, {0x63, 0x27}, {0x63, 0x02}, /* 0x68-0x6B */ + {0x63, 0x08}, {0x62, 0xEF}, {0x62, 0xF5}, {0x63, 0x50}, /* 0x6C-0x6F */ + {0x63, 0x3E}, {0x63, 0x4D}, {0x64, 0x1C}, {0x63, 0x4F}, /* 0x70-0x73 */ + {0x63, 0x96}, {0x63, 0x8E}, {0x63, 0x80}, {0x63, 0xAB}, /* 0x74-0x77 */ + {0x63, 0x76}, {0x63, 0xA3}, {0x63, 0x8F}, {0x63, 0x89}, /* 0x78-0x7B */ + {0x63, 0x9F}, {0x63, 0xB5}, {0x63, 0x6B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x63, 0x69}, {0x63, 0xBE}, {0x63, 0xE9}, {0x63, 0xC0}, /* 0x80-0x83 */ + {0x63, 0xC6}, {0x63, 0xE3}, {0x63, 0xC9}, {0x63, 0xD2}, /* 0x84-0x87 */ + {0x63, 0xF6}, {0x63, 0xC4}, {0x64, 0x16}, {0x64, 0x34}, /* 0x88-0x8B */ + {0x64, 0x06}, {0x64, 0x13}, {0x64, 0x26}, {0x64, 0x36}, /* 0x8C-0x8F */ + {0x65, 0x1D}, {0x64, 0x17}, {0x64, 0x28}, {0x64, 0x0F}, /* 0x90-0x93 */ + {0x64, 0x67}, {0x64, 0x6F}, {0x64, 0x76}, {0x64, 0x4E}, /* 0x94-0x97 */ + {0x65, 0x2A}, {0x64, 0x95}, {0x64, 0x93}, {0x64, 0xA5}, /* 0x98-0x9B */ + {0x64, 0xA9}, {0x64, 0x88}, {0x64, 0xBC}, {0x64, 0xDA}, /* 0x9C-0x9F */ + {0x64, 0xD2}, {0x64, 0xC5}, {0x64, 0xC7}, {0x64, 0xBB}, /* 0xA0-0xA3 */ + {0x64, 0xD8}, {0x64, 0xC2}, {0x64, 0xF1}, {0x64, 0xE7}, /* 0xA4-0xA7 */ + {0x82, 0x09}, {0x64, 0xE0}, {0x64, 0xE1}, {0x62, 0xAC}, /* 0xA8-0xAB */ + {0x64, 0xE3}, {0x64, 0xEF}, {0x65, 0x2C}, {0x64, 0xF6}, /* 0xAC-0xAF */ + {0x64, 0xF4}, {0x64, 0xF2}, {0x64, 0xFA}, {0x65, 0x00}, /* 0xB0-0xB3 */ + {0x64, 0xFD}, {0x65, 0x18}, {0x65, 0x1C}, {0x65, 0x05}, /* 0xB4-0xB7 */ + {0x65, 0x24}, {0x65, 0x23}, {0x65, 0x2B}, {0x65, 0x34}, /* 0xB8-0xBB */ + {0x65, 0x35}, {0x65, 0x37}, {0x65, 0x36}, {0x65, 0x38}, /* 0xBC-0xBF */ + {0x75, 0x4B}, {0x65, 0x48}, {0x65, 0x56}, {0x65, 0x55}, /* 0xC0-0xC3 */ + {0x65, 0x4D}, {0x65, 0x58}, {0x65, 0x5E}, {0x65, 0x5D}, /* 0xC4-0xC7 */ + {0x65, 0x72}, {0x65, 0x78}, {0x65, 0x82}, {0x65, 0x83}, /* 0xC8-0xCB */ + {0x8B, 0x8A}, {0x65, 0x9B}, {0x65, 0x9F}, {0x65, 0xAB}, /* 0xCC-0xCF */ + {0x65, 0xB7}, {0x65, 0xC3}, {0x65, 0xC6}, {0x65, 0xC1}, /* 0xD0-0xD3 */ + {0x65, 0xC4}, {0x65, 0xCC}, {0x65, 0xD2}, {0x65, 0xDB}, /* 0xD4-0xD7 */ + {0x65, 0xD9}, {0x65, 0xE0}, {0x65, 0xE1}, {0x65, 0xF1}, /* 0xD8-0xDB */ + {0x67, 0x72}, {0x66, 0x0A}, {0x66, 0x03}, {0x65, 0xFB}, /* 0xDC-0xDF */ + {0x67, 0x73}, {0x66, 0x35}, {0x66, 0x36}, {0x66, 0x34}, /* 0xE0-0xE3 */ + {0x66, 0x1C}, {0x66, 0x4F}, {0x66, 0x44}, {0x66, 0x49}, /* 0xE4-0xE7 */ + {0x66, 0x41}, {0x66, 0x5E}, {0x66, 0x5D}, {0x66, 0x64}, /* 0xE8-0xEB */ + {0x66, 0x67}, {0x66, 0x68}, {0x66, 0x5F}, {0x66, 0x62}, /* 0xEC-0xEF */ + {0x66, 0x70}, {0x66, 0x83}, {0x66, 0x88}, {0x66, 0x8E}, /* 0xF0-0xF3 */ + {0x66, 0x89}, {0x66, 0x84}, {0x66, 0x98}, {0x66, 0x9D}, /* 0xF4-0xF7 */ + {0x66, 0xC1}, {0x66, 0xB9}, {0x66, 0xC9}, {0x66, 0xBE}, /* 0xF8-0xFB */ + {0x66, 0xBC}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9E[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x66, 0xC4}, {0x66, 0xB8}, {0x66, 0xD6}, {0x66, 0xDA}, /* 0x40-0x43 */ + {0x66, 0xE0}, {0x66, 0x3F}, {0x66, 0xE6}, {0x66, 0xE9}, /* 0x44-0x47 */ + {0x66, 0xF0}, {0x66, 0xF5}, {0x66, 0xF7}, {0x67, 0x0F}, /* 0x48-0x4B */ + {0x67, 0x16}, {0x67, 0x1E}, {0x67, 0x26}, {0x67, 0x27}, /* 0x4C-0x4F */ + {0x97, 0x38}, {0x67, 0x2E}, {0x67, 0x3F}, {0x67, 0x36}, /* 0x50-0x53 */ + {0x67, 0x41}, {0x67, 0x38}, {0x67, 0x37}, {0x67, 0x46}, /* 0x54-0x57 */ + {0x67, 0x5E}, {0x67, 0x60}, {0x67, 0x59}, {0x67, 0x63}, /* 0x58-0x5B */ + {0x67, 0x64}, {0x67, 0x89}, {0x67, 0x70}, {0x67, 0xA9}, /* 0x5C-0x5F */ + {0x67, 0x7C}, {0x67, 0x6A}, {0x67, 0x8C}, {0x67, 0x8B}, /* 0x60-0x63 */ + {0x67, 0xA6}, {0x67, 0xA1}, {0x67, 0x85}, {0x67, 0xB7}, /* 0x64-0x67 */ + {0x67, 0xEF}, {0x67, 0xB4}, {0x67, 0xEC}, {0x67, 0xB3}, /* 0x68-0x6B */ + {0x67, 0xE9}, {0x67, 0xB8}, {0x67, 0xE4}, {0x67, 0xDE}, /* 0x6C-0x6F */ + {0x67, 0xDD}, {0x67, 0xE2}, {0x67, 0xEE}, {0x67, 0xB9}, /* 0x70-0x73 */ + {0x67, 0xCE}, {0x67, 0xC6}, {0x67, 0xE7}, {0x6A, 0x9C}, /* 0x74-0x77 */ + {0x68, 0x1E}, {0x68, 0x46}, {0x68, 0x29}, {0x68, 0x40}, /* 0x78-0x7B */ + {0x68, 0x4D}, {0x68, 0x32}, {0x68, 0x4E}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x68, 0xB3}, {0x68, 0x2B}, {0x68, 0x59}, {0x68, 0x63}, /* 0x80-0x83 */ + {0x68, 0x77}, {0x68, 0x7F}, {0x68, 0x9F}, {0x68, 0x8F}, /* 0x84-0x87 */ + {0x68, 0xAD}, {0x68, 0x94}, {0x68, 0x9D}, {0x68, 0x9B}, /* 0x88-0x8B */ + {0x68, 0x83}, {0x6A, 0xAE}, {0x68, 0xB9}, {0x68, 0x74}, /* 0x8C-0x8F */ + {0x68, 0xB5}, {0x68, 0xA0}, {0x68, 0xBA}, {0x69, 0x0F}, /* 0x90-0x93 */ + {0x68, 0x8D}, {0x68, 0x7E}, {0x69, 0x01}, {0x68, 0xCA}, /* 0x94-0x97 */ + {0x69, 0x08}, {0x68, 0xD8}, {0x69, 0x22}, {0x69, 0x26}, /* 0x98-0x9B */ + {0x68, 0xE1}, {0x69, 0x0C}, {0x68, 0xCD}, {0x68, 0xD4}, /* 0x9C-0x9F */ + {0x68, 0xE7}, {0x68, 0xD5}, {0x69, 0x36}, {0x69, 0x12}, /* 0xA0-0xA3 */ + {0x69, 0x04}, {0x68, 0xD7}, {0x68, 0xE3}, {0x69, 0x25}, /* 0xA4-0xA7 */ + {0x68, 0xF9}, {0x68, 0xE0}, {0x68, 0xEF}, {0x69, 0x28}, /* 0xA8-0xAB */ + {0x69, 0x2A}, {0x69, 0x1A}, {0x69, 0x23}, {0x69, 0x21}, /* 0xAC-0xAF */ + {0x68, 0xC6}, {0x69, 0x79}, {0x69, 0x77}, {0x69, 0x5C}, /* 0xB0-0xB3 */ + {0x69, 0x78}, {0x69, 0x6B}, {0x69, 0x54}, {0x69, 0x7E}, /* 0xB4-0xB7 */ + {0x69, 0x6E}, {0x69, 0x39}, {0x69, 0x74}, {0x69, 0x3D}, /* 0xB8-0xBB */ + {0x69, 0x59}, {0x69, 0x30}, {0x69, 0x61}, {0x69, 0x5E}, /* 0xBC-0xBF */ + {0x69, 0x5D}, {0x69, 0x81}, {0x69, 0x6A}, {0x69, 0xB2}, /* 0xC0-0xC3 */ + {0x69, 0xAE}, {0x69, 0xD0}, {0x69, 0xBF}, {0x69, 0xC1}, /* 0xC4-0xC7 */ + {0x69, 0xD3}, {0x69, 0xBE}, {0x69, 0xCE}, {0x5B, 0xE8}, /* 0xC8-0xCB */ + {0x69, 0xCA}, {0x69, 0xDD}, {0x69, 0xBB}, {0x69, 0xC3}, /* 0xCC-0xCF */ + {0x69, 0xA7}, {0x6A, 0x2E}, {0x69, 0x91}, {0x69, 0xA0}, /* 0xD0-0xD3 */ + {0x69, 0x9C}, {0x69, 0x95}, {0x69, 0xB4}, {0x69, 0xDE}, /* 0xD4-0xD7 */ + {0x69, 0xE8}, {0x6A, 0x02}, {0x6A, 0x1B}, {0x69, 0xFF}, /* 0xD8-0xDB */ + {0x6B, 0x0A}, {0x69, 0xF9}, {0x69, 0xF2}, {0x69, 0xE7}, /* 0xDC-0xDF */ + {0x6A, 0x05}, {0x69, 0xB1}, {0x6A, 0x1E}, {0x69, 0xED}, /* 0xE0-0xE3 */ + {0x6A, 0x14}, {0x69, 0xEB}, {0x6A, 0x0A}, {0x6A, 0x12}, /* 0xE4-0xE7 */ + {0x6A, 0xC1}, {0x6A, 0x23}, {0x6A, 0x13}, {0x6A, 0x44}, /* 0xE8-0xEB */ + {0x6A, 0x0C}, {0x6A, 0x72}, {0x6A, 0x36}, {0x6A, 0x78}, /* 0xEC-0xEF */ + {0x6A, 0x47}, {0x6A, 0x62}, {0x6A, 0x59}, {0x6A, 0x66}, /* 0xF0-0xF3 */ + {0x6A, 0x48}, {0x6A, 0x38}, {0x6A, 0x22}, {0x6A, 0x90}, /* 0xF4-0xF7 */ + {0x6A, 0x8D}, {0x6A, 0xA0}, {0x6A, 0x84}, {0x6A, 0xA2}, /* 0xF8-0xFB */ + {0x6A, 0xA3}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9F[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6A, 0x97}, {0x86, 0x17}, {0x6A, 0xBB}, {0x6A, 0xC3}, /* 0x40-0x43 */ + {0x6A, 0xC2}, {0x6A, 0xB8}, {0x6A, 0xB3}, {0x6A, 0xAC}, /* 0x44-0x47 */ + {0x6A, 0xDE}, {0x6A, 0xD1}, {0x6A, 0xDF}, {0x6A, 0xAA}, /* 0x48-0x4B */ + {0x6A, 0xDA}, {0x6A, 0xEA}, {0x6A, 0xFB}, {0x6B, 0x05}, /* 0x4C-0x4F */ + {0x86, 0x16}, {0x6A, 0xFA}, {0x6B, 0x12}, {0x6B, 0x16}, /* 0x50-0x53 */ + {0x9B, 0x31}, {0x6B, 0x1F}, {0x6B, 0x38}, {0x6B, 0x37}, /* 0x54-0x57 */ + {0x76, 0xDC}, {0x6B, 0x39}, {0x98, 0xEE}, {0x6B, 0x47}, /* 0x58-0x5B */ + {0x6B, 0x43}, {0x6B, 0x49}, {0x6B, 0x50}, {0x6B, 0x59}, /* 0x5C-0x5F */ + {0x6B, 0x54}, {0x6B, 0x5B}, {0x6B, 0x5F}, {0x6B, 0x61}, /* 0x60-0x63 */ + {0x6B, 0x78}, {0x6B, 0x79}, {0x6B, 0x7F}, {0x6B, 0x80}, /* 0x64-0x67 */ + {0x6B, 0x84}, {0x6B, 0x83}, {0x6B, 0x8D}, {0x6B, 0x98}, /* 0x68-0x6B */ + {0x6B, 0x95}, {0x6B, 0x9E}, {0x6B, 0xA4}, {0x6B, 0xAA}, /* 0x6C-0x6F */ + {0x6B, 0xAB}, {0x6B, 0xAF}, {0x6B, 0xB2}, {0x6B, 0xB1}, /* 0x70-0x73 */ + {0x6B, 0xB3}, {0x6B, 0xB7}, {0x6B, 0xBC}, {0x6B, 0xC6}, /* 0x74-0x77 */ + {0x6B, 0xCB}, {0x6B, 0xD3}, {0x6B, 0xDF}, {0x6B, 0xEC}, /* 0x78-0x7B */ + {0x6B, 0xEB}, {0x6B, 0xF3}, {0x6B, 0xEF}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9E, 0xBE}, {0x6C, 0x08}, {0x6C, 0x13}, {0x6C, 0x14}, /* 0x80-0x83 */ + {0x6C, 0x1B}, {0x6C, 0x24}, {0x6C, 0x23}, {0x6C, 0x5E}, /* 0x84-0x87 */ + {0x6C, 0x55}, {0x6C, 0x62}, {0x6C, 0x6A}, {0x6C, 0x82}, /* 0x88-0x8B */ + {0x6C, 0x8D}, {0x6C, 0x9A}, {0x6C, 0x81}, {0x6C, 0x9B}, /* 0x8C-0x8F */ + {0x6C, 0x7E}, {0x6C, 0x68}, {0x6C, 0x73}, {0x6C, 0x92}, /* 0x90-0x93 */ + {0x6C, 0x90}, {0x6C, 0xC4}, {0x6C, 0xF1}, {0x6C, 0xD3}, /* 0x94-0x97 */ + {0x6C, 0xBD}, {0x6C, 0xD7}, {0x6C, 0xC5}, {0x6C, 0xDD}, /* 0x98-0x9B */ + {0x6C, 0xAE}, {0x6C, 0xB1}, {0x6C, 0xBE}, {0x6C, 0xBA}, /* 0x9C-0x9F */ + {0x6C, 0xDB}, {0x6C, 0xEF}, {0x6C, 0xD9}, {0x6C, 0xEA}, /* 0xA0-0xA3 */ + {0x6D, 0x1F}, {0x88, 0x4D}, {0x6D, 0x36}, {0x6D, 0x2B}, /* 0xA4-0xA7 */ + {0x6D, 0x3D}, {0x6D, 0x38}, {0x6D, 0x19}, {0x6D, 0x35}, /* 0xA8-0xAB */ + {0x6D, 0x33}, {0x6D, 0x12}, {0x6D, 0x0C}, {0x6D, 0x63}, /* 0xAC-0xAF */ + {0x6D, 0x93}, {0x6D, 0x64}, {0x6D, 0x5A}, {0x6D, 0x79}, /* 0xB0-0xB3 */ + {0x6D, 0x59}, {0x6D, 0x8E}, {0x6D, 0x95}, {0x6F, 0xE4}, /* 0xB4-0xB7 */ + {0x6D, 0x85}, {0x6D, 0xF9}, {0x6E, 0x15}, {0x6E, 0x0A}, /* 0xB8-0xBB */ + {0x6D, 0xB5}, {0x6D, 0xC7}, {0x6D, 0xE6}, {0x6D, 0xB8}, /* 0xBC-0xBF */ + {0x6D, 0xC6}, {0x6D, 0xEC}, {0x6D, 0xDE}, {0x6D, 0xCC}, /* 0xC0-0xC3 */ + {0x6D, 0xE8}, {0x6D, 0xD2}, {0x6D, 0xC5}, {0x6D, 0xFA}, /* 0xC4-0xC7 */ + {0x6D, 0xD9}, {0x6D, 0xE4}, {0x6D, 0xD5}, {0x6D, 0xEA}, /* 0xC8-0xCB */ + {0x6D, 0xEE}, {0x6E, 0x2D}, {0x6E, 0x6E}, {0x6E, 0x2E}, /* 0xCC-0xCF */ + {0x6E, 0x19}, {0x6E, 0x72}, {0x6E, 0x5F}, {0x6E, 0x3E}, /* 0xD0-0xD3 */ + {0x6E, 0x23}, {0x6E, 0x6B}, {0x6E, 0x2B}, {0x6E, 0x76}, /* 0xD4-0xD7 */ + {0x6E, 0x4D}, {0x6E, 0x1F}, {0x6E, 0x43}, {0x6E, 0x3A}, /* 0xD8-0xDB */ + {0x6E, 0x4E}, {0x6E, 0x24}, {0x6E, 0xFF}, {0x6E, 0x1D}, /* 0xDC-0xDF */ + {0x6E, 0x38}, {0x6E, 0x82}, {0x6E, 0xAA}, {0x6E, 0x98}, /* 0xE0-0xE3 */ + {0x6E, 0xC9}, {0x6E, 0xB7}, {0x6E, 0xD3}, {0x6E, 0xBD}, /* 0xE4-0xE7 */ + {0x6E, 0xAF}, {0x6E, 0xC4}, {0x6E, 0xB2}, {0x6E, 0xD4}, /* 0xE8-0xEB */ + {0x6E, 0xD5}, {0x6E, 0x8F}, {0x6E, 0xA5}, {0x6E, 0xC2}, /* 0xEC-0xEF */ + {0x6E, 0x9F}, {0x6F, 0x41}, {0x6F, 0x11}, {0x70, 0x4C}, /* 0xF0-0xF3 */ + {0x6E, 0xEC}, {0x6E, 0xF8}, {0x6E, 0xFE}, {0x6F, 0x3F}, /* 0xF4-0xF7 */ + {0x6E, 0xF2}, {0x6F, 0x31}, {0x6E, 0xEF}, {0x6F, 0x32}, /* 0xF8-0xFB */ + {0x6E, 0xCC}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6F, 0x3E}, {0x6F, 0x13}, {0x6E, 0xF7}, {0x6F, 0x86}, /* 0x40-0x43 */ + {0x6F, 0x7A}, {0x6F, 0x78}, {0x6F, 0x81}, {0x6F, 0x80}, /* 0x44-0x47 */ + {0x6F, 0x6F}, {0x6F, 0x5B}, {0x6F, 0xF3}, {0x6F, 0x6D}, /* 0x48-0x4B */ + {0x6F, 0x82}, {0x6F, 0x7C}, {0x6F, 0x58}, {0x6F, 0x8E}, /* 0x4C-0x4F */ + {0x6F, 0x91}, {0x6F, 0xC2}, {0x6F, 0x66}, {0x6F, 0xB3}, /* 0x50-0x53 */ + {0x6F, 0xA3}, {0x6F, 0xA1}, {0x6F, 0xA4}, {0x6F, 0xB9}, /* 0x54-0x57 */ + {0x6F, 0xC6}, {0x6F, 0xAA}, {0x6F, 0xDF}, {0x6F, 0xD5}, /* 0x58-0x5B */ + {0x6F, 0xEC}, {0x6F, 0xD4}, {0x6F, 0xD8}, {0x6F, 0xF1}, /* 0x5C-0x5F */ + {0x6F, 0xEE}, {0x6F, 0xDB}, {0x70, 0x09}, {0x70, 0x0B}, /* 0x60-0x63 */ + {0x6F, 0xFA}, {0x70, 0x11}, {0x70, 0x01}, {0x70, 0x0F}, /* 0x64-0x67 */ + {0x6F, 0xFE}, {0x70, 0x1B}, {0x70, 0x1A}, {0x6F, 0x74}, /* 0x68-0x6B */ + {0x70, 0x1D}, {0x70, 0x18}, {0x70, 0x1F}, {0x70, 0x30}, /* 0x6C-0x6F */ + {0x70, 0x3E}, {0x70, 0x32}, {0x70, 0x51}, {0x70, 0x63}, /* 0x70-0x73 */ + {0x70, 0x99}, {0x70, 0x92}, {0x70, 0xAF}, {0x70, 0xF1}, /* 0x74-0x77 */ + {0x70, 0xAC}, {0x70, 0xB8}, {0x70, 0xB3}, {0x70, 0xAE}, /* 0x78-0x7B */ + {0x70, 0xDF}, {0x70, 0xCB}, {0x70, 0xDD}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x70, 0xD9}, {0x71, 0x09}, {0x70, 0xFD}, {0x71, 0x1C}, /* 0x80-0x83 */ + {0x71, 0x19}, {0x71, 0x65}, {0x71, 0x55}, {0x71, 0x88}, /* 0x84-0x87 */ + {0x71, 0x66}, {0x71, 0x62}, {0x71, 0x4C}, {0x71, 0x56}, /* 0x88-0x8B */ + {0x71, 0x6C}, {0x71, 0x8F}, {0x71, 0xFB}, {0x71, 0x84}, /* 0x8C-0x8F */ + {0x71, 0x95}, {0x71, 0xA8}, {0x71, 0xAC}, {0x71, 0xD7}, /* 0x90-0x93 */ + {0x71, 0xB9}, {0x71, 0xBE}, {0x71, 0xD2}, {0x71, 0xC9}, /* 0x94-0x97 */ + {0x71, 0xD4}, {0x71, 0xCE}, {0x71, 0xE0}, {0x71, 0xEC}, /* 0x98-0x9B */ + {0x71, 0xE7}, {0x71, 0xF5}, {0x71, 0xFC}, {0x71, 0xF9}, /* 0x9C-0x9F */ + {0x71, 0xFF}, {0x72, 0x0D}, {0x72, 0x10}, {0x72, 0x1B}, /* 0xA0-0xA3 */ + {0x72, 0x28}, {0x72, 0x2D}, {0x72, 0x2C}, {0x72, 0x30}, /* 0xA4-0xA7 */ + {0x72, 0x32}, {0x72, 0x3B}, {0x72, 0x3C}, {0x72, 0x3F}, /* 0xA8-0xAB */ + {0x72, 0x40}, {0x72, 0x46}, {0x72, 0x4B}, {0x72, 0x58}, /* 0xAC-0xAF */ + {0x72, 0x74}, {0x72, 0x7E}, {0x72, 0x82}, {0x72, 0x81}, /* 0xB0-0xB3 */ + {0x72, 0x87}, {0x72, 0x92}, {0x72, 0x96}, {0x72, 0xA2}, /* 0xB4-0xB7 */ + {0x72, 0xA7}, {0x72, 0xB9}, {0x72, 0xB2}, {0x72, 0xC3}, /* 0xB8-0xBB */ + {0x72, 0xC6}, {0x72, 0xC4}, {0x72, 0xCE}, {0x72, 0xD2}, /* 0xBC-0xBF */ + {0x72, 0xE2}, {0x72, 0xE0}, {0x72, 0xE1}, {0x72, 0xF9}, /* 0xC0-0xC3 */ + {0x72, 0xF7}, {0x50, 0x0F}, {0x73, 0x17}, {0x73, 0x0A}, /* 0xC4-0xC7 */ + {0x73, 0x1C}, {0x73, 0x16}, {0x73, 0x1D}, {0x73, 0x34}, /* 0xC8-0xCB */ + {0x73, 0x2F}, {0x73, 0x29}, {0x73, 0x25}, {0x73, 0x3E}, /* 0xCC-0xCF */ + {0x73, 0x4E}, {0x73, 0x4F}, {0x9E, 0xD8}, {0x73, 0x57}, /* 0xD0-0xD3 */ + {0x73, 0x6A}, {0x73, 0x68}, {0x73, 0x70}, {0x73, 0x78}, /* 0xD4-0xD7 */ + {0x73, 0x75}, {0x73, 0x7B}, {0x73, 0x7A}, {0x73, 0xC8}, /* 0xD8-0xDB */ + {0x73, 0xB3}, {0x73, 0xCE}, {0x73, 0xBB}, {0x73, 0xC0}, /* 0xDC-0xDF */ + {0x73, 0xE5}, {0x73, 0xEE}, {0x73, 0xDE}, {0x74, 0xA2}, /* 0xE0-0xE3 */ + {0x74, 0x05}, {0x74, 0x6F}, {0x74, 0x25}, {0x73, 0xF8}, /* 0xE4-0xE7 */ + {0x74, 0x32}, {0x74, 0x3A}, {0x74, 0x55}, {0x74, 0x3F}, /* 0xE8-0xEB */ + {0x74, 0x5F}, {0x74, 0x59}, {0x74, 0x41}, {0x74, 0x5C}, /* 0xEC-0xEF */ + {0x74, 0x69}, {0x74, 0x70}, {0x74, 0x63}, {0x74, 0x6A}, /* 0xF0-0xF3 */ + {0x74, 0x76}, {0x74, 0x7E}, {0x74, 0x8B}, {0x74, 0x9E}, /* 0xF4-0xF7 */ + {0x74, 0xA7}, {0x74, 0xCA}, {0x74, 0xCF}, {0x74, 0xD4}, /* 0xF8-0xFB */ + {0x73, 0xF1}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x74, 0xE0}, {0x74, 0xE3}, {0x74, 0xE7}, {0x74, 0xE9}, /* 0x40-0x43 */ + {0x74, 0xEE}, {0x74, 0xF2}, {0x74, 0xF0}, {0x74, 0xF1}, /* 0x44-0x47 */ + {0x74, 0xF8}, {0x74, 0xF7}, {0x75, 0x04}, {0x75, 0x03}, /* 0x48-0x4B */ + {0x75, 0x05}, {0x75, 0x0C}, {0x75, 0x0E}, {0x75, 0x0D}, /* 0x4C-0x4F */ + {0x75, 0x15}, {0x75, 0x13}, {0x75, 0x1E}, {0x75, 0x26}, /* 0x50-0x53 */ + {0x75, 0x2C}, {0x75, 0x3C}, {0x75, 0x44}, {0x75, 0x4D}, /* 0x54-0x57 */ + {0x75, 0x4A}, {0x75, 0x49}, {0x75, 0x5B}, {0x75, 0x46}, /* 0x58-0x5B */ + {0x75, 0x5A}, {0x75, 0x69}, {0x75, 0x64}, {0x75, 0x67}, /* 0x5C-0x5F */ + {0x75, 0x6B}, {0x75, 0x6D}, {0x75, 0x78}, {0x75, 0x76}, /* 0x60-0x63 */ + {0x75, 0x86}, {0x75, 0x87}, {0x75, 0x74}, {0x75, 0x8A}, /* 0x64-0x67 */ + {0x75, 0x89}, {0x75, 0x82}, {0x75, 0x94}, {0x75, 0x9A}, /* 0x68-0x6B */ + {0x75, 0x9D}, {0x75, 0xA5}, {0x75, 0xA3}, {0x75, 0xC2}, /* 0x6C-0x6F */ + {0x75, 0xB3}, {0x75, 0xC3}, {0x75, 0xB5}, {0x75, 0xBD}, /* 0x70-0x73 */ + {0x75, 0xB8}, {0x75, 0xBC}, {0x75, 0xB1}, {0x75, 0xCD}, /* 0x74-0x77 */ + {0x75, 0xCA}, {0x75, 0xD2}, {0x75, 0xD9}, {0x75, 0xE3}, /* 0x78-0x7B */ + {0x75, 0xDE}, {0x75, 0xFE}, {0x75, 0xFF}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x75, 0xFC}, {0x76, 0x01}, {0x75, 0xF0}, {0x75, 0xFA}, /* 0x80-0x83 */ + {0x75, 0xF2}, {0x75, 0xF3}, {0x76, 0x0B}, {0x76, 0x0D}, /* 0x84-0x87 */ + {0x76, 0x09}, {0x76, 0x1F}, {0x76, 0x27}, {0x76, 0x20}, /* 0x88-0x8B */ + {0x76, 0x21}, {0x76, 0x22}, {0x76, 0x24}, {0x76, 0x34}, /* 0x8C-0x8F */ + {0x76, 0x30}, {0x76, 0x3B}, {0x76, 0x47}, {0x76, 0x48}, /* 0x90-0x93 */ + {0x76, 0x46}, {0x76, 0x5C}, {0x76, 0x58}, {0x76, 0x61}, /* 0x94-0x97 */ + {0x76, 0x62}, {0x76, 0x68}, {0x76, 0x69}, {0x76, 0x6A}, /* 0x98-0x9B */ + {0x76, 0x67}, {0x76, 0x6C}, {0x76, 0x70}, {0x76, 0x72}, /* 0x9C-0x9F */ + {0x76, 0x76}, {0x76, 0x78}, {0x76, 0x7C}, {0x76, 0x80}, /* 0xA0-0xA3 */ + {0x76, 0x83}, {0x76, 0x88}, {0x76, 0x8B}, {0x76, 0x8E}, /* 0xA4-0xA7 */ + {0x76, 0x96}, {0x76, 0x93}, {0x76, 0x99}, {0x76, 0x9A}, /* 0xA8-0xAB */ + {0x76, 0xB0}, {0x76, 0xB4}, {0x76, 0xB8}, {0x76, 0xB9}, /* 0xAC-0xAF */ + {0x76, 0xBA}, {0x76, 0xC2}, {0x76, 0xCD}, {0x76, 0xD6}, /* 0xB0-0xB3 */ + {0x76, 0xD2}, {0x76, 0xDE}, {0x76, 0xE1}, {0x76, 0xE5}, /* 0xB4-0xB7 */ + {0x76, 0xE7}, {0x76, 0xEA}, {0x86, 0x2F}, {0x76, 0xFB}, /* 0xB8-0xBB */ + {0x77, 0x08}, {0x77, 0x07}, {0x77, 0x04}, {0x77, 0x29}, /* 0xBC-0xBF */ + {0x77, 0x24}, {0x77, 0x1E}, {0x77, 0x25}, {0x77, 0x26}, /* 0xC0-0xC3 */ + {0x77, 0x1B}, {0x77, 0x37}, {0x77, 0x38}, {0x77, 0x47}, /* 0xC4-0xC7 */ + {0x77, 0x5A}, {0x77, 0x68}, {0x77, 0x6B}, {0x77, 0x5B}, /* 0xC8-0xCB */ + {0x77, 0x65}, {0x77, 0x7F}, {0x77, 0x7E}, {0x77, 0x79}, /* 0xCC-0xCF */ + {0x77, 0x8E}, {0x77, 0x8B}, {0x77, 0x91}, {0x77, 0xA0}, /* 0xD0-0xD3 */ + {0x77, 0x9E}, {0x77, 0xB0}, {0x77, 0xB6}, {0x77, 0xB9}, /* 0xD4-0xD7 */ + {0x77, 0xBF}, {0x77, 0xBC}, {0x77, 0xBD}, {0x77, 0xBB}, /* 0xD8-0xDB */ + {0x77, 0xC7}, {0x77, 0xCD}, {0x77, 0xD7}, {0x77, 0xDA}, /* 0xDC-0xDF */ + {0x77, 0xDC}, {0x77, 0xE3}, {0x77, 0xEE}, {0x77, 0xFC}, /* 0xE0-0xE3 */ + {0x78, 0x0C}, {0x78, 0x12}, {0x79, 0x26}, {0x78, 0x20}, /* 0xE4-0xE7 */ + {0x79, 0x2A}, {0x78, 0x45}, {0x78, 0x8E}, {0x78, 0x74}, /* 0xE8-0xEB */ + {0x78, 0x86}, {0x78, 0x7C}, {0x78, 0x9A}, {0x78, 0x8C}, /* 0xEC-0xEF */ + {0x78, 0xA3}, {0x78, 0xB5}, {0x78, 0xAA}, {0x78, 0xAF}, /* 0xF0-0xF3 */ + {0x78, 0xD1}, {0x78, 0xC6}, {0x78, 0xCB}, {0x78, 0xD4}, /* 0xF4-0xF7 */ + {0x78, 0xBE}, {0x78, 0xBC}, {0x78, 0xC5}, {0x78, 0xCA}, /* 0xF8-0xFB */ + {0x78, 0xEC}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x78, 0xE7}, {0x78, 0xDA}, {0x78, 0xFD}, {0x78, 0xF4}, /* 0x40-0x43 */ + {0x79, 0x07}, {0x79, 0x12}, {0x79, 0x11}, {0x79, 0x19}, /* 0x44-0x47 */ + {0x79, 0x2C}, {0x79, 0x2B}, {0x79, 0x40}, {0x79, 0x60}, /* 0x48-0x4B */ + {0x79, 0x57}, {0x79, 0x5F}, {0x79, 0x5A}, {0x79, 0x55}, /* 0x4C-0x4F */ + {0x79, 0x53}, {0x79, 0x7A}, {0x79, 0x7F}, {0x79, 0x8A}, /* 0x50-0x53 */ + {0x79, 0x9D}, {0x79, 0xA7}, {0x9F, 0x4B}, {0x79, 0xAA}, /* 0x54-0x57 */ + {0x79, 0xAE}, {0x79, 0xB3}, {0x79, 0xB9}, {0x79, 0xBA}, /* 0x58-0x5B */ + {0x79, 0xC9}, {0x79, 0xD5}, {0x79, 0xE7}, {0x79, 0xEC}, /* 0x5C-0x5F */ + {0x79, 0xE1}, {0x79, 0xE3}, {0x7A, 0x08}, {0x7A, 0x0D}, /* 0x60-0x63 */ + {0x7A, 0x18}, {0x7A, 0x19}, {0x7A, 0x20}, {0x7A, 0x1F}, /* 0x64-0x67 */ + {0x79, 0x80}, {0x7A, 0x31}, {0x7A, 0x3B}, {0x7A, 0x3E}, /* 0x68-0x6B */ + {0x7A, 0x37}, {0x7A, 0x43}, {0x7A, 0x57}, {0x7A, 0x49}, /* 0x6C-0x6F */ + {0x7A, 0x61}, {0x7A, 0x62}, {0x7A, 0x69}, {0x9F, 0x9D}, /* 0x70-0x73 */ + {0x7A, 0x70}, {0x7A, 0x79}, {0x7A, 0x7D}, {0x7A, 0x88}, /* 0x74-0x77 */ + {0x7A, 0x97}, {0x7A, 0x95}, {0x7A, 0x98}, {0x7A, 0x96}, /* 0x78-0x7B */ + {0x7A, 0xA9}, {0x7A, 0xC8}, {0x7A, 0xB0}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7A, 0xB6}, {0x7A, 0xC5}, {0x7A, 0xC4}, {0x7A, 0xBF}, /* 0x80-0x83 */ + {0x90, 0x83}, {0x7A, 0xC7}, {0x7A, 0xCA}, {0x7A, 0xCD}, /* 0x84-0x87 */ + {0x7A, 0xCF}, {0x7A, 0xD5}, {0x7A, 0xD3}, {0x7A, 0xD9}, /* 0x88-0x8B */ + {0x7A, 0xDA}, {0x7A, 0xDD}, {0x7A, 0xE1}, {0x7A, 0xE2}, /* 0x8C-0x8F */ + {0x7A, 0xE6}, {0x7A, 0xED}, {0x7A, 0xF0}, {0x7B, 0x02}, /* 0x90-0x93 */ + {0x7B, 0x0F}, {0x7B, 0x0A}, {0x7B, 0x06}, {0x7B, 0x33}, /* 0x94-0x97 */ + {0x7B, 0x18}, {0x7B, 0x19}, {0x7B, 0x1E}, {0x7B, 0x35}, /* 0x98-0x9B */ + {0x7B, 0x28}, {0x7B, 0x36}, {0x7B, 0x50}, {0x7B, 0x7A}, /* 0x9C-0x9F */ + {0x7B, 0x04}, {0x7B, 0x4D}, {0x7B, 0x0B}, {0x7B, 0x4C}, /* 0xA0-0xA3 */ + {0x7B, 0x45}, {0x7B, 0x75}, {0x7B, 0x65}, {0x7B, 0x74}, /* 0xA4-0xA7 */ + {0x7B, 0x67}, {0x7B, 0x70}, {0x7B, 0x71}, {0x7B, 0x6C}, /* 0xA8-0xAB */ + {0x7B, 0x6E}, {0x7B, 0x9D}, {0x7B, 0x98}, {0x7B, 0x9F}, /* 0xAC-0xAF */ + {0x7B, 0x8D}, {0x7B, 0x9C}, {0x7B, 0x9A}, {0x7B, 0x8B}, /* 0xB0-0xB3 */ + {0x7B, 0x92}, {0x7B, 0x8F}, {0x7B, 0x5D}, {0x7B, 0x99}, /* 0xB4-0xB7 */ + {0x7B, 0xCB}, {0x7B, 0xC1}, {0x7B, 0xCC}, {0x7B, 0xCF}, /* 0xB8-0xBB */ + {0x7B, 0xB4}, {0x7B, 0xC6}, {0x7B, 0xDD}, {0x7B, 0xE9}, /* 0xBC-0xBF */ + {0x7C, 0x11}, {0x7C, 0x14}, {0x7B, 0xE6}, {0x7B, 0xE5}, /* 0xC0-0xC3 */ + {0x7C, 0x60}, {0x7C, 0x00}, {0x7C, 0x07}, {0x7C, 0x13}, /* 0xC4-0xC7 */ + {0x7B, 0xF3}, {0x7B, 0xF7}, {0x7C, 0x17}, {0x7C, 0x0D}, /* 0xC8-0xCB */ + {0x7B, 0xF6}, {0x7C, 0x23}, {0x7C, 0x27}, {0x7C, 0x2A}, /* 0xCC-0xCF */ + {0x7C, 0x1F}, {0x7C, 0x37}, {0x7C, 0x2B}, {0x7C, 0x3D}, /* 0xD0-0xD3 */ + {0x7C, 0x4C}, {0x7C, 0x43}, {0x7C, 0x54}, {0x7C, 0x4F}, /* 0xD4-0xD7 */ + {0x7C, 0x40}, {0x7C, 0x50}, {0x7C, 0x58}, {0x7C, 0x5F}, /* 0xD8-0xDB */ + {0x7C, 0x64}, {0x7C, 0x56}, {0x7C, 0x65}, {0x7C, 0x6C}, /* 0xDC-0xDF */ + {0x7C, 0x75}, {0x7C, 0x83}, {0x7C, 0x90}, {0x7C, 0xA4}, /* 0xE0-0xE3 */ + {0x7C, 0xAD}, {0x7C, 0xA2}, {0x7C, 0xAB}, {0x7C, 0xA1}, /* 0xE4-0xE7 */ + {0x7C, 0xA8}, {0x7C, 0xB3}, {0x7C, 0xB2}, {0x7C, 0xB1}, /* 0xE8-0xEB */ + {0x7C, 0xAE}, {0x7C, 0xB9}, {0x7C, 0xBD}, {0x7C, 0xC0}, /* 0xEC-0xEF */ + {0x7C, 0xC5}, {0x7C, 0xC2}, {0x7C, 0xD8}, {0x7C, 0xD2}, /* 0xF0-0xF3 */ + {0x7C, 0xDC}, {0x7C, 0xE2}, {0x9B, 0x3B}, {0x7C, 0xEF}, /* 0xF4-0xF7 */ + {0x7C, 0xF2}, {0x7C, 0xF4}, {0x7C, 0xF6}, {0x7C, 0xFA}, /* 0xF8-0xFB */ + {0x7D, 0x06}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7D, 0x02}, {0x7D, 0x1C}, {0x7D, 0x15}, {0x7D, 0x0A}, /* 0x40-0x43 */ + {0x7D, 0x45}, {0x7D, 0x4B}, {0x7D, 0x2E}, {0x7D, 0x32}, /* 0x44-0x47 */ + {0x7D, 0x3F}, {0x7D, 0x35}, {0x7D, 0x46}, {0x7D, 0x73}, /* 0x48-0x4B */ + {0x7D, 0x56}, {0x7D, 0x4E}, {0x7D, 0x72}, {0x7D, 0x68}, /* 0x4C-0x4F */ + {0x7D, 0x6E}, {0x7D, 0x4F}, {0x7D, 0x63}, {0x7D, 0x93}, /* 0x50-0x53 */ + {0x7D, 0x89}, {0x7D, 0x5B}, {0x7D, 0x8F}, {0x7D, 0x7D}, /* 0x54-0x57 */ + {0x7D, 0x9B}, {0x7D, 0xBA}, {0x7D, 0xAE}, {0x7D, 0xA3}, /* 0x58-0x5B */ + {0x7D, 0xB5}, {0x7D, 0xC7}, {0x7D, 0xBD}, {0x7D, 0xAB}, /* 0x5C-0x5F */ + {0x7E, 0x3D}, {0x7D, 0xA2}, {0x7D, 0xAF}, {0x7D, 0xDC}, /* 0x60-0x63 */ + {0x7D, 0xB8}, {0x7D, 0x9F}, {0x7D, 0xB0}, {0x7D, 0xD8}, /* 0x64-0x67 */ + {0x7D, 0xDD}, {0x7D, 0xE4}, {0x7D, 0xDE}, {0x7D, 0xFB}, /* 0x68-0x6B */ + {0x7D, 0xF2}, {0x7D, 0xE1}, {0x7E, 0x05}, {0x7E, 0x0A}, /* 0x6C-0x6F */ + {0x7E, 0x23}, {0x7E, 0x21}, {0x7E, 0x12}, {0x7E, 0x31}, /* 0x70-0x73 */ + {0x7E, 0x1F}, {0x7E, 0x09}, {0x7E, 0x0B}, {0x7E, 0x22}, /* 0x74-0x77 */ + {0x7E, 0x46}, {0x7E, 0x66}, {0x7E, 0x3B}, {0x7E, 0x35}, /* 0x78-0x7B */ + {0x7E, 0x39}, {0x7E, 0x43}, {0x7E, 0x37}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7E, 0x32}, {0x7E, 0x3A}, {0x7E, 0x67}, {0x7E, 0x5D}, /* 0x80-0x83 */ + {0x7E, 0x56}, {0x7E, 0x5E}, {0x7E, 0x59}, {0x7E, 0x5A}, /* 0x84-0x87 */ + {0x7E, 0x79}, {0x7E, 0x6A}, {0x7E, 0x69}, {0x7E, 0x7C}, /* 0x88-0x8B */ + {0x7E, 0x7B}, {0x7E, 0x83}, {0x7D, 0xD5}, {0x7E, 0x7D}, /* 0x8C-0x8F */ + {0x8F, 0xAE}, {0x7E, 0x7F}, {0x7E, 0x88}, {0x7E, 0x89}, /* 0x90-0x93 */ + {0x7E, 0x8C}, {0x7E, 0x92}, {0x7E, 0x90}, {0x7E, 0x93}, /* 0x94-0x97 */ + {0x7E, 0x94}, {0x7E, 0x96}, {0x7E, 0x8E}, {0x7E, 0x9B}, /* 0x98-0x9B */ + {0x7E, 0x9C}, {0x7F, 0x38}, {0x7F, 0x3A}, {0x7F, 0x45}, /* 0x9C-0x9F */ + {0x7F, 0x4C}, {0x7F, 0x4D}, {0x7F, 0x4E}, {0x7F, 0x50}, /* 0xA0-0xA3 */ + {0x7F, 0x51}, {0x7F, 0x55}, {0x7F, 0x54}, {0x7F, 0x58}, /* 0xA4-0xA7 */ + {0x7F, 0x5F}, {0x7F, 0x60}, {0x7F, 0x68}, {0x7F, 0x69}, /* 0xA8-0xAB */ + {0x7F, 0x67}, {0x7F, 0x78}, {0x7F, 0x82}, {0x7F, 0x86}, /* 0xAC-0xAF */ + {0x7F, 0x83}, {0x7F, 0x88}, {0x7F, 0x87}, {0x7F, 0x8C}, /* 0xB0-0xB3 */ + {0x7F, 0x94}, {0x7F, 0x9E}, {0x7F, 0x9D}, {0x7F, 0x9A}, /* 0xB4-0xB7 */ + {0x7F, 0xA3}, {0x7F, 0xAF}, {0x7F, 0xB2}, {0x7F, 0xB9}, /* 0xB8-0xBB */ + {0x7F, 0xAE}, {0x7F, 0xB6}, {0x7F, 0xB8}, {0x8B, 0x71}, /* 0xBC-0xBF */ + {0x7F, 0xC5}, {0x7F, 0xC6}, {0x7F, 0xCA}, {0x7F, 0xD5}, /* 0xC0-0xC3 */ + {0x7F, 0xD4}, {0x7F, 0xE1}, {0x7F, 0xE6}, {0x7F, 0xE9}, /* 0xC4-0xC7 */ + {0x7F, 0xF3}, {0x7F, 0xF9}, {0x98, 0xDC}, {0x80, 0x06}, /* 0xC8-0xCB */ + {0x80, 0x04}, {0x80, 0x0B}, {0x80, 0x12}, {0x80, 0x18}, /* 0xCC-0xCF */ + {0x80, 0x19}, {0x80, 0x1C}, {0x80, 0x21}, {0x80, 0x28}, /* 0xD0-0xD3 */ + {0x80, 0x3F}, {0x80, 0x3B}, {0x80, 0x4A}, {0x80, 0x46}, /* 0xD4-0xD7 */ + {0x80, 0x52}, {0x80, 0x58}, {0x80, 0x5A}, {0x80, 0x5F}, /* 0xD8-0xDB */ + {0x80, 0x62}, {0x80, 0x68}, {0x80, 0x73}, {0x80, 0x72}, /* 0xDC-0xDF */ + {0x80, 0x70}, {0x80, 0x76}, {0x80, 0x79}, {0x80, 0x7D}, /* 0xE0-0xE3 */ + {0x80, 0x7F}, {0x80, 0x84}, {0x80, 0x86}, {0x80, 0x85}, /* 0xE4-0xE7 */ + {0x80, 0x9B}, {0x80, 0x93}, {0x80, 0x9A}, {0x80, 0xAD}, /* 0xE8-0xEB */ + {0x51, 0x90}, {0x80, 0xAC}, {0x80, 0xDB}, {0x80, 0xE5}, /* 0xEC-0xEF */ + {0x80, 0xD9}, {0x80, 0xDD}, {0x80, 0xC4}, {0x80, 0xDA}, /* 0xF0-0xF3 */ + {0x80, 0xD6}, {0x81, 0x09}, {0x80, 0xEF}, {0x80, 0xF1}, /* 0xF4-0xF7 */ + {0x81, 0x1B}, {0x81, 0x29}, {0x81, 0x23}, {0x81, 0x2F}, /* 0xF8-0xFB */ + {0x81, 0x4B}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x96, 0x8B}, {0x81, 0x46}, {0x81, 0x3E}, {0x81, 0x53}, /* 0x40-0x43 */ + {0x81, 0x51}, {0x80, 0xFC}, {0x81, 0x71}, {0x81, 0x6E}, /* 0x44-0x47 */ + {0x81, 0x65}, {0x81, 0x66}, {0x81, 0x74}, {0x81, 0x83}, /* 0x48-0x4B */ + {0x81, 0x88}, {0x81, 0x8A}, {0x81, 0x80}, {0x81, 0x82}, /* 0x4C-0x4F */ + {0x81, 0xA0}, {0x81, 0x95}, {0x81, 0xA4}, {0x81, 0xA3}, /* 0x50-0x53 */ + {0x81, 0x5F}, {0x81, 0x93}, {0x81, 0xA9}, {0x81, 0xB0}, /* 0x54-0x57 */ + {0x81, 0xB5}, {0x81, 0xBE}, {0x81, 0xB8}, {0x81, 0xBD}, /* 0x58-0x5B */ + {0x81, 0xC0}, {0x81, 0xC2}, {0x81, 0xBA}, {0x81, 0xC9}, /* 0x5C-0x5F */ + {0x81, 0xCD}, {0x81, 0xD1}, {0x81, 0xD9}, {0x81, 0xD8}, /* 0x60-0x63 */ + {0x81, 0xC8}, {0x81, 0xDA}, {0x81, 0xDF}, {0x81, 0xE0}, /* 0x64-0x67 */ + {0x81, 0xE7}, {0x81, 0xFA}, {0x81, 0xFB}, {0x81, 0xFE}, /* 0x68-0x6B */ + {0x82, 0x01}, {0x82, 0x02}, {0x82, 0x05}, {0x82, 0x07}, /* 0x6C-0x6F */ + {0x82, 0x0A}, {0x82, 0x0D}, {0x82, 0x10}, {0x82, 0x16}, /* 0x70-0x73 */ + {0x82, 0x29}, {0x82, 0x2B}, {0x82, 0x38}, {0x82, 0x33}, /* 0x74-0x77 */ + {0x82, 0x40}, {0x82, 0x59}, {0x82, 0x58}, {0x82, 0x5D}, /* 0x78-0x7B */ + {0x82, 0x5A}, {0x82, 0x5F}, {0x82, 0x64}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x82, 0x62}, {0x82, 0x68}, {0x82, 0x6A}, {0x82, 0x6B}, /* 0x80-0x83 */ + {0x82, 0x2E}, {0x82, 0x71}, {0x82, 0x77}, {0x82, 0x78}, /* 0x84-0x87 */ + {0x82, 0x7E}, {0x82, 0x8D}, {0x82, 0x92}, {0x82, 0xAB}, /* 0x88-0x8B */ + {0x82, 0x9F}, {0x82, 0xBB}, {0x82, 0xAC}, {0x82, 0xE1}, /* 0x8C-0x8F */ + {0x82, 0xE3}, {0x82, 0xDF}, {0x82, 0xD2}, {0x82, 0xF4}, /* 0x90-0x93 */ + {0x82, 0xF3}, {0x82, 0xFA}, {0x83, 0x93}, {0x83, 0x03}, /* 0x94-0x97 */ + {0x82, 0xFB}, {0x82, 0xF9}, {0x82, 0xDE}, {0x83, 0x06}, /* 0x98-0x9B */ + {0x82, 0xDC}, {0x83, 0x09}, {0x82, 0xD9}, {0x83, 0x35}, /* 0x9C-0x9F */ + {0x83, 0x34}, {0x83, 0x16}, {0x83, 0x32}, {0x83, 0x31}, /* 0xA0-0xA3 */ + {0x83, 0x40}, {0x83, 0x39}, {0x83, 0x50}, {0x83, 0x45}, /* 0xA4-0xA7 */ + {0x83, 0x2F}, {0x83, 0x2B}, {0x83, 0x17}, {0x83, 0x18}, /* 0xA8-0xAB */ + {0x83, 0x85}, {0x83, 0x9A}, {0x83, 0xAA}, {0x83, 0x9F}, /* 0xAC-0xAF */ + {0x83, 0xA2}, {0x83, 0x96}, {0x83, 0x23}, {0x83, 0x8E}, /* 0xB0-0xB3 */ + {0x83, 0x87}, {0x83, 0x8A}, {0x83, 0x7C}, {0x83, 0xB5}, /* 0xB4-0xB7 */ + {0x83, 0x73}, {0x83, 0x75}, {0x83, 0xA0}, {0x83, 0x89}, /* 0xB8-0xBB */ + {0x83, 0xA8}, {0x83, 0xF4}, {0x84, 0x13}, {0x83, 0xEB}, /* 0xBC-0xBF */ + {0x83, 0xCE}, {0x83, 0xFD}, {0x84, 0x03}, {0x83, 0xD8}, /* 0xC0-0xC3 */ + {0x84, 0x0B}, {0x83, 0xC1}, {0x83, 0xF7}, {0x84, 0x07}, /* 0xC4-0xC7 */ + {0x83, 0xE0}, {0x83, 0xF2}, {0x84, 0x0D}, {0x84, 0x22}, /* 0xC8-0xCB */ + {0x84, 0x20}, {0x83, 0xBD}, {0x84, 0x38}, {0x85, 0x06}, /* 0xCC-0xCF */ + {0x83, 0xFB}, {0x84, 0x6D}, {0x84, 0x2A}, {0x84, 0x3C}, /* 0xD0-0xD3 */ + {0x85, 0x5A}, {0x84, 0x84}, {0x84, 0x77}, {0x84, 0x6B}, /* 0xD4-0xD7 */ + {0x84, 0xAD}, {0x84, 0x6E}, {0x84, 0x82}, {0x84, 0x69}, /* 0xD8-0xDB */ + {0x84, 0x46}, {0x84, 0x2C}, {0x84, 0x6F}, {0x84, 0x79}, /* 0xDC-0xDF */ + {0x84, 0x35}, {0x84, 0xCA}, {0x84, 0x62}, {0x84, 0xB9}, /* 0xE0-0xE3 */ + {0x84, 0xBF}, {0x84, 0x9F}, {0x84, 0xD9}, {0x84, 0xCD}, /* 0xE4-0xE7 */ + {0x84, 0xBB}, {0x84, 0xDA}, {0x84, 0xD0}, {0x84, 0xC1}, /* 0xE8-0xEB */ + {0x84, 0xC6}, {0x84, 0xD6}, {0x84, 0xA1}, {0x85, 0x21}, /* 0xEC-0xEF */ + {0x84, 0xFF}, {0x84, 0xF4}, {0x85, 0x17}, {0x85, 0x18}, /* 0xF0-0xF3 */ + {0x85, 0x2C}, {0x85, 0x1F}, {0x85, 0x15}, {0x85, 0x14}, /* 0xF4-0xF7 */ + {0x84, 0xFC}, {0x85, 0x40}, {0x85, 0x63}, {0x85, 0x58}, /* 0xF8-0xFB */ + {0x85, 0x48}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x85, 0x41}, {0x86, 0x02}, {0x85, 0x4B}, {0x85, 0x55}, /* 0x40-0x43 */ + {0x85, 0x80}, {0x85, 0xA4}, {0x85, 0x88}, {0x85, 0x91}, /* 0x44-0x47 */ + {0x85, 0x8A}, {0x85, 0xA8}, {0x85, 0x6D}, {0x85, 0x94}, /* 0x48-0x4B */ + {0x85, 0x9B}, {0x85, 0xEA}, {0x85, 0x87}, {0x85, 0x9C}, /* 0x4C-0x4F */ + {0x85, 0x77}, {0x85, 0x7E}, {0x85, 0x90}, {0x85, 0xC9}, /* 0x50-0x53 */ + {0x85, 0xBA}, {0x85, 0xCF}, {0x85, 0xB9}, {0x85, 0xD0}, /* 0x54-0x57 */ + {0x85, 0xD5}, {0x85, 0xDD}, {0x85, 0xE5}, {0x85, 0xDC}, /* 0x58-0x5B */ + {0x85, 0xF9}, {0x86, 0x0A}, {0x86, 0x13}, {0x86, 0x0B}, /* 0x5C-0x5F */ + {0x85, 0xFE}, {0x85, 0xFA}, {0x86, 0x06}, {0x86, 0x22}, /* 0x60-0x63 */ + {0x86, 0x1A}, {0x86, 0x30}, {0x86, 0x3F}, {0x86, 0x4D}, /* 0x64-0x67 */ + {0x4E, 0x55}, {0x86, 0x54}, {0x86, 0x5F}, {0x86, 0x67}, /* 0x68-0x6B */ + {0x86, 0x71}, {0x86, 0x93}, {0x86, 0xA3}, {0x86, 0xA9}, /* 0x6C-0x6F */ + {0x86, 0xAA}, {0x86, 0x8B}, {0x86, 0x8C}, {0x86, 0xB6}, /* 0x70-0x73 */ + {0x86, 0xAF}, {0x86, 0xC4}, {0x86, 0xC6}, {0x86, 0xB0}, /* 0x74-0x77 */ + {0x86, 0xC9}, {0x88, 0x23}, {0x86, 0xAB}, {0x86, 0xD4}, /* 0x78-0x7B */ + {0x86, 0xDE}, {0x86, 0xE9}, {0x86, 0xEC}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x86, 0xDF}, {0x86, 0xDB}, {0x86, 0xEF}, {0x87, 0x12}, /* 0x80-0x83 */ + {0x87, 0x06}, {0x87, 0x08}, {0x87, 0x00}, {0x87, 0x03}, /* 0x84-0x87 */ + {0x86, 0xFB}, {0x87, 0x11}, {0x87, 0x09}, {0x87, 0x0D}, /* 0x88-0x8B */ + {0x86, 0xF9}, {0x87, 0x0A}, {0x87, 0x34}, {0x87, 0x3F}, /* 0x8C-0x8F */ + {0x87, 0x37}, {0x87, 0x3B}, {0x87, 0x25}, {0x87, 0x29}, /* 0x90-0x93 */ + {0x87, 0x1A}, {0x87, 0x60}, {0x87, 0x5F}, {0x87, 0x78}, /* 0x94-0x97 */ + {0x87, 0x4C}, {0x87, 0x4E}, {0x87, 0x74}, {0x87, 0x57}, /* 0x98-0x9B */ + {0x87, 0x68}, {0x87, 0x6E}, {0x87, 0x59}, {0x87, 0x53}, /* 0x9C-0x9F */ + {0x87, 0x63}, {0x87, 0x6A}, {0x88, 0x05}, {0x87, 0xA2}, /* 0xA0-0xA3 */ + {0x87, 0x9F}, {0x87, 0x82}, {0x87, 0xAF}, {0x87, 0xCB}, /* 0xA4-0xA7 */ + {0x87, 0xBD}, {0x87, 0xC0}, {0x87, 0xD0}, {0x96, 0xD6}, /* 0xA8-0xAB */ + {0x87, 0xAB}, {0x87, 0xC4}, {0x87, 0xB3}, {0x87, 0xC7}, /* 0xAC-0xAF */ + {0x87, 0xC6}, {0x87, 0xBB}, {0x87, 0xEF}, {0x87, 0xF2}, /* 0xB0-0xB3 */ + {0x87, 0xE0}, {0x88, 0x0F}, {0x88, 0x0D}, {0x87, 0xFE}, /* 0xB4-0xB7 */ + {0x87, 0xF6}, {0x87, 0xF7}, {0x88, 0x0E}, {0x87, 0xD2}, /* 0xB8-0xBB */ + {0x88, 0x11}, {0x88, 0x16}, {0x88, 0x15}, {0x88, 0x22}, /* 0xBC-0xBF */ + {0x88, 0x21}, {0x88, 0x31}, {0x88, 0x36}, {0x88, 0x39}, /* 0xC0-0xC3 */ + {0x88, 0x27}, {0x88, 0x3B}, {0x88, 0x44}, {0x88, 0x42}, /* 0xC4-0xC7 */ + {0x88, 0x52}, {0x88, 0x59}, {0x88, 0x5E}, {0x88, 0x62}, /* 0xC8-0xCB */ + {0x88, 0x6B}, {0x88, 0x81}, {0x88, 0x7E}, {0x88, 0x9E}, /* 0xCC-0xCF */ + {0x88, 0x75}, {0x88, 0x7D}, {0x88, 0xB5}, {0x88, 0x72}, /* 0xD0-0xD3 */ + {0x88, 0x82}, {0x88, 0x97}, {0x88, 0x92}, {0x88, 0xAE}, /* 0xD4-0xD7 */ + {0x88, 0x99}, {0x88, 0xA2}, {0x88, 0x8D}, {0x88, 0xA4}, /* 0xD8-0xDB */ + {0x88, 0xB0}, {0x88, 0xBF}, {0x88, 0xB1}, {0x88, 0xC3}, /* 0xDC-0xDF */ + {0x88, 0xC4}, {0x88, 0xD4}, {0x88, 0xD8}, {0x88, 0xD9}, /* 0xE0-0xE3 */ + {0x88, 0xDD}, {0x88, 0xF9}, {0x89, 0x02}, {0x88, 0xFC}, /* 0xE4-0xE7 */ + {0x88, 0xF4}, {0x88, 0xE8}, {0x88, 0xF2}, {0x89, 0x04}, /* 0xE8-0xEB */ + {0x89, 0x0C}, {0x89, 0x0A}, {0x89, 0x13}, {0x89, 0x43}, /* 0xEC-0xEF */ + {0x89, 0x1E}, {0x89, 0x25}, {0x89, 0x2A}, {0x89, 0x2B}, /* 0xF0-0xF3 */ + {0x89, 0x41}, {0x89, 0x44}, {0x89, 0x3B}, {0x89, 0x36}, /* 0xF4-0xF7 */ + {0x89, 0x38}, {0x89, 0x4C}, {0x89, 0x1D}, {0x89, 0x60}, /* 0xF8-0xFB */ + {0x89, 0x5E}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x89, 0x66}, {0x89, 0x64}, {0x89, 0x6D}, {0x89, 0x6A}, /* 0x40-0x43 */ + {0x89, 0x6F}, {0x89, 0x74}, {0x89, 0x77}, {0x89, 0x7E}, /* 0x44-0x47 */ + {0x89, 0x83}, {0x89, 0x88}, {0x89, 0x8A}, {0x89, 0x93}, /* 0x48-0x4B */ + {0x89, 0x98}, {0x89, 0xA1}, {0x89, 0xA9}, {0x89, 0xA6}, /* 0x4C-0x4F */ + {0x89, 0xAC}, {0x89, 0xAF}, {0x89, 0xB2}, {0x89, 0xBA}, /* 0x50-0x53 */ + {0x89, 0xBD}, {0x89, 0xBF}, {0x89, 0xC0}, {0x89, 0xDA}, /* 0x54-0x57 */ + {0x89, 0xDC}, {0x89, 0xDD}, {0x89, 0xE7}, {0x89, 0xF4}, /* 0x58-0x5B */ + {0x89, 0xF8}, {0x8A, 0x03}, {0x8A, 0x16}, {0x8A, 0x10}, /* 0x5C-0x5F */ + {0x8A, 0x0C}, {0x8A, 0x1B}, {0x8A, 0x1D}, {0x8A, 0x25}, /* 0x60-0x63 */ + {0x8A, 0x36}, {0x8A, 0x41}, {0x8A, 0x5B}, {0x8A, 0x52}, /* 0x64-0x67 */ + {0x8A, 0x46}, {0x8A, 0x48}, {0x8A, 0x7C}, {0x8A, 0x6D}, /* 0x68-0x6B */ + {0x8A, 0x6C}, {0x8A, 0x62}, {0x8A, 0x85}, {0x8A, 0x82}, /* 0x6C-0x6F */ + {0x8A, 0x84}, {0x8A, 0xA8}, {0x8A, 0xA1}, {0x8A, 0x91}, /* 0x70-0x73 */ + {0x8A, 0xA5}, {0x8A, 0xA6}, {0x8A, 0x9A}, {0x8A, 0xA3}, /* 0x74-0x77 */ + {0x8A, 0xC4}, {0x8A, 0xCD}, {0x8A, 0xC2}, {0x8A, 0xDA}, /* 0x78-0x7B */ + {0x8A, 0xEB}, {0x8A, 0xF3}, {0x8A, 0xE7}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8A, 0xE4}, {0x8A, 0xF1}, {0x8B, 0x14}, {0x8A, 0xE0}, /* 0x80-0x83 */ + {0x8A, 0xE2}, {0x8A, 0xF7}, {0x8A, 0xDE}, {0x8A, 0xDB}, /* 0x84-0x87 */ + {0x8B, 0x0C}, {0x8B, 0x07}, {0x8B, 0x1A}, {0x8A, 0xE1}, /* 0x88-0x8B */ + {0x8B, 0x16}, {0x8B, 0x10}, {0x8B, 0x17}, {0x8B, 0x20}, /* 0x8C-0x8F */ + {0x8B, 0x33}, {0x97, 0xAB}, {0x8B, 0x26}, {0x8B, 0x2B}, /* 0x90-0x93 */ + {0x8B, 0x3E}, {0x8B, 0x28}, {0x8B, 0x41}, {0x8B, 0x4C}, /* 0x94-0x97 */ + {0x8B, 0x4F}, {0x8B, 0x4E}, {0x8B, 0x49}, {0x8B, 0x56}, /* 0x98-0x9B */ + {0x8B, 0x5B}, {0x8B, 0x5A}, {0x8B, 0x6B}, {0x8B, 0x5F}, /* 0x9C-0x9F */ + {0x8B, 0x6C}, {0x8B, 0x6F}, {0x8B, 0x74}, {0x8B, 0x7D}, /* 0xA0-0xA3 */ + {0x8B, 0x80}, {0x8B, 0x8C}, {0x8B, 0x8E}, {0x8B, 0x92}, /* 0xA4-0xA7 */ + {0x8B, 0x93}, {0x8B, 0x96}, {0x8B, 0x99}, {0x8B, 0x9A}, /* 0xA8-0xAB */ + {0x8C, 0x3A}, {0x8C, 0x41}, {0x8C, 0x3F}, {0x8C, 0x48}, /* 0xAC-0xAF */ + {0x8C, 0x4C}, {0x8C, 0x4E}, {0x8C, 0x50}, {0x8C, 0x55}, /* 0xB0-0xB3 */ + {0x8C, 0x62}, {0x8C, 0x6C}, {0x8C, 0x78}, {0x8C, 0x7A}, /* 0xB4-0xB7 */ + {0x8C, 0x82}, {0x8C, 0x89}, {0x8C, 0x85}, {0x8C, 0x8A}, /* 0xB8-0xBB */ + {0x8C, 0x8D}, {0x8C, 0x8E}, {0x8C, 0x94}, {0x8C, 0x7C}, /* 0xBC-0xBF */ + {0x8C, 0x98}, {0x62, 0x1D}, {0x8C, 0xAD}, {0x8C, 0xAA}, /* 0xC0-0xC3 */ + {0x8C, 0xBD}, {0x8C, 0xB2}, {0x8C, 0xB3}, {0x8C, 0xAE}, /* 0xC4-0xC7 */ + {0x8C, 0xB6}, {0x8C, 0xC8}, {0x8C, 0xC1}, {0x8C, 0xE4}, /* 0xC8-0xCB */ + {0x8C, 0xE3}, {0x8C, 0xDA}, {0x8C, 0xFD}, {0x8C, 0xFA}, /* 0xCC-0xCF */ + {0x8C, 0xFB}, {0x8D, 0x04}, {0x8D, 0x05}, {0x8D, 0x0A}, /* 0xD0-0xD3 */ + {0x8D, 0x07}, {0x8D, 0x0F}, {0x8D, 0x0D}, {0x8D, 0x10}, /* 0xD4-0xD7 */ + {0x9F, 0x4E}, {0x8D, 0x13}, {0x8C, 0xCD}, {0x8D, 0x14}, /* 0xD8-0xDB */ + {0x8D, 0x16}, {0x8D, 0x67}, {0x8D, 0x6D}, {0x8D, 0x71}, /* 0xDC-0xDF */ + {0x8D, 0x73}, {0x8D, 0x81}, {0x8D, 0x99}, {0x8D, 0xC2}, /* 0xE0-0xE3 */ + {0x8D, 0xBE}, {0x8D, 0xBA}, {0x8D, 0xCF}, {0x8D, 0xDA}, /* 0xE4-0xE7 */ + {0x8D, 0xD6}, {0x8D, 0xCC}, {0x8D, 0xDB}, {0x8D, 0xCB}, /* 0xE8-0xEB */ + {0x8D, 0xEA}, {0x8D, 0xEB}, {0x8D, 0xDF}, {0x8D, 0xE3}, /* 0xEC-0xEF */ + {0x8D, 0xFC}, {0x8E, 0x08}, {0x8E, 0x09}, {0x8D, 0xFF}, /* 0xF0-0xF3 */ + {0x8E, 0x1D}, {0x8E, 0x1E}, {0x8E, 0x10}, {0x8E, 0x1F}, /* 0xF4-0xF7 */ + {0x8E, 0x42}, {0x8E, 0x35}, {0x8E, 0x30}, {0x8E, 0x34}, /* 0xF8-0xFB */ + {0x8E, 0x4A}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8E, 0x47}, {0x8E, 0x49}, {0x8E, 0x4C}, {0x8E, 0x50}, /* 0x40-0x43 */ + {0x8E, 0x48}, {0x8E, 0x59}, {0x8E, 0x64}, {0x8E, 0x60}, /* 0x44-0x47 */ + {0x8E, 0x2A}, {0x8E, 0x63}, {0x8E, 0x55}, {0x8E, 0x76}, /* 0x48-0x4B */ + {0x8E, 0x72}, {0x8E, 0x7C}, {0x8E, 0x81}, {0x8E, 0x87}, /* 0x4C-0x4F */ + {0x8E, 0x85}, {0x8E, 0x84}, {0x8E, 0x8B}, {0x8E, 0x8A}, /* 0x50-0x53 */ + {0x8E, 0x93}, {0x8E, 0x91}, {0x8E, 0x94}, {0x8E, 0x99}, /* 0x54-0x57 */ + {0x8E, 0xAA}, {0x8E, 0xA1}, {0x8E, 0xAC}, {0x8E, 0xB0}, /* 0x58-0x5B */ + {0x8E, 0xC6}, {0x8E, 0xB1}, {0x8E, 0xBE}, {0x8E, 0xC5}, /* 0x5C-0x5F */ + {0x8E, 0xC8}, {0x8E, 0xCB}, {0x8E, 0xDB}, {0x8E, 0xE3}, /* 0x60-0x63 */ + {0x8E, 0xFC}, {0x8E, 0xFB}, {0x8E, 0xEB}, {0x8E, 0xFE}, /* 0x64-0x67 */ + {0x8F, 0x0A}, {0x8F, 0x05}, {0x8F, 0x15}, {0x8F, 0x12}, /* 0x68-0x6B */ + {0x8F, 0x19}, {0x8F, 0x13}, {0x8F, 0x1C}, {0x8F, 0x1F}, /* 0x6C-0x6F */ + {0x8F, 0x1B}, {0x8F, 0x0C}, {0x8F, 0x26}, {0x8F, 0x33}, /* 0x70-0x73 */ + {0x8F, 0x3B}, {0x8F, 0x39}, {0x8F, 0x45}, {0x8F, 0x42}, /* 0x74-0x77 */ + {0x8F, 0x3E}, {0x8F, 0x4C}, {0x8F, 0x49}, {0x8F, 0x46}, /* 0x78-0x7B */ + {0x8F, 0x4E}, {0x8F, 0x57}, {0x8F, 0x5C}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8F, 0x62}, {0x8F, 0x63}, {0x8F, 0x64}, {0x8F, 0x9C}, /* 0x80-0x83 */ + {0x8F, 0x9F}, {0x8F, 0xA3}, {0x8F, 0xAD}, {0x8F, 0xAF}, /* 0x84-0x87 */ + {0x8F, 0xB7}, {0x8F, 0xDA}, {0x8F, 0xE5}, {0x8F, 0xE2}, /* 0x88-0x8B */ + {0x8F, 0xEA}, {0x8F, 0xEF}, {0x90, 0x87}, {0x8F, 0xF4}, /* 0x8C-0x8F */ + {0x90, 0x05}, {0x8F, 0xF9}, {0x8F, 0xFA}, {0x90, 0x11}, /* 0x90-0x93 */ + {0x90, 0x15}, {0x90, 0x21}, {0x90, 0x0D}, {0x90, 0x1E}, /* 0x94-0x97 */ + {0x90, 0x16}, {0x90, 0x0B}, {0x90, 0x27}, {0x90, 0x36}, /* 0x98-0x9B */ + {0x90, 0x35}, {0x90, 0x39}, {0x8F, 0xF8}, {0x90, 0x4F}, /* 0x9C-0x9F */ + {0x90, 0x50}, {0x90, 0x51}, {0x90, 0x52}, {0x90, 0x0E}, /* 0xA0-0xA3 */ + {0x90, 0x49}, {0x90, 0x3E}, {0x90, 0x56}, {0x90, 0x58}, /* 0xA4-0xA7 */ + {0x90, 0x5E}, {0x90, 0x68}, {0x90, 0x6F}, {0x90, 0x76}, /* 0xA8-0xAB */ + {0x96, 0xA8}, {0x90, 0x72}, {0x90, 0x82}, {0x90, 0x7D}, /* 0xAC-0xAF */ + {0x90, 0x81}, {0x90, 0x80}, {0x90, 0x8A}, {0x90, 0x89}, /* 0xB0-0xB3 */ + {0x90, 0x8F}, {0x90, 0xA8}, {0x90, 0xAF}, {0x90, 0xB1}, /* 0xB4-0xB7 */ + {0x90, 0xB5}, {0x90, 0xE2}, {0x90, 0xE4}, {0x62, 0x48}, /* 0xB8-0xBB */ + {0x90, 0xDB}, {0x91, 0x02}, {0x91, 0x12}, {0x91, 0x19}, /* 0xBC-0xBF */ + {0x91, 0x32}, {0x91, 0x30}, {0x91, 0x4A}, {0x91, 0x56}, /* 0xC0-0xC3 */ + {0x91, 0x58}, {0x91, 0x63}, {0x91, 0x65}, {0x91, 0x69}, /* 0xC4-0xC7 */ + {0x91, 0x73}, {0x91, 0x72}, {0x91, 0x8B}, {0x91, 0x89}, /* 0xC8-0xCB */ + {0x91, 0x82}, {0x91, 0xA2}, {0x91, 0xAB}, {0x91, 0xAF}, /* 0xCC-0xCF */ + {0x91, 0xAA}, {0x91, 0xB5}, {0x91, 0xB4}, {0x91, 0xBA}, /* 0xD0-0xD3 */ + {0x91, 0xC0}, {0x91, 0xC1}, {0x91, 0xC9}, {0x91, 0xCB}, /* 0xD4-0xD7 */ + {0x91, 0xD0}, {0x91, 0xD6}, {0x91, 0xDF}, {0x91, 0xE1}, /* 0xD8-0xDB */ + {0x91, 0xDB}, {0x91, 0xFC}, {0x91, 0xF5}, {0x91, 0xF6}, /* 0xDC-0xDF */ + {0x92, 0x1E}, {0x91, 0xFF}, {0x92, 0x14}, {0x92, 0x2C}, /* 0xE0-0xE3 */ + {0x92, 0x15}, {0x92, 0x11}, {0x92, 0x5E}, {0x92, 0x57}, /* 0xE4-0xE7 */ + {0x92, 0x45}, {0x92, 0x49}, {0x92, 0x64}, {0x92, 0x48}, /* 0xE8-0xEB */ + {0x92, 0x95}, {0x92, 0x3F}, {0x92, 0x4B}, {0x92, 0x50}, /* 0xEC-0xEF */ + {0x92, 0x9C}, {0x92, 0x96}, {0x92, 0x93}, {0x92, 0x9B}, /* 0xF0-0xF3 */ + {0x92, 0x5A}, {0x92, 0xCF}, {0x92, 0xB9}, {0x92, 0xB7}, /* 0xF4-0xF7 */ + {0x92, 0xE9}, {0x93, 0x0F}, {0x92, 0xFA}, {0x93, 0x44}, /* 0xF8-0xFB */ + {0x93, 0x2E}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x93, 0x19}, {0x93, 0x22}, {0x93, 0x1A}, {0x93, 0x23}, /* 0x40-0x43 */ + {0x93, 0x3A}, {0x93, 0x35}, {0x93, 0x3B}, {0x93, 0x5C}, /* 0x44-0x47 */ + {0x93, 0x60}, {0x93, 0x7C}, {0x93, 0x6E}, {0x93, 0x56}, /* 0x48-0x4B */ + {0x93, 0xB0}, {0x93, 0xAC}, {0x93, 0xAD}, {0x93, 0x94}, /* 0x4C-0x4F */ + {0x93, 0xB9}, {0x93, 0xD6}, {0x93, 0xD7}, {0x93, 0xE8}, /* 0x50-0x53 */ + {0x93, 0xE5}, {0x93, 0xD8}, {0x93, 0xC3}, {0x93, 0xDD}, /* 0x54-0x57 */ + {0x93, 0xD0}, {0x93, 0xC8}, {0x93, 0xE4}, {0x94, 0x1A}, /* 0x58-0x5B */ + {0x94, 0x14}, {0x94, 0x13}, {0x94, 0x03}, {0x94, 0x07}, /* 0x5C-0x5F */ + {0x94, 0x10}, {0x94, 0x36}, {0x94, 0x2B}, {0x94, 0x35}, /* 0x60-0x63 */ + {0x94, 0x21}, {0x94, 0x3A}, {0x94, 0x41}, {0x94, 0x52}, /* 0x64-0x67 */ + {0x94, 0x44}, {0x94, 0x5B}, {0x94, 0x60}, {0x94, 0x62}, /* 0x68-0x6B */ + {0x94, 0x5E}, {0x94, 0x6A}, {0x92, 0x29}, {0x94, 0x70}, /* 0x6C-0x6F */ + {0x94, 0x75}, {0x94, 0x77}, {0x94, 0x7D}, {0x94, 0x5A}, /* 0x70-0x73 */ + {0x94, 0x7C}, {0x94, 0x7E}, {0x94, 0x81}, {0x94, 0x7F}, /* 0x74-0x77 */ + {0x95, 0x82}, {0x95, 0x87}, {0x95, 0x8A}, {0x95, 0x94}, /* 0x78-0x7B */ + {0x95, 0x96}, {0x95, 0x98}, {0x95, 0x99}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x95, 0xA0}, {0x95, 0xA8}, {0x95, 0xA7}, {0x95, 0xAD}, /* 0x80-0x83 */ + {0x95, 0xBC}, {0x95, 0xBB}, {0x95, 0xB9}, {0x95, 0xBE}, /* 0x84-0x87 */ + {0x95, 0xCA}, {0x6F, 0xF6}, {0x95, 0xC3}, {0x95, 0xCD}, /* 0x88-0x8B */ + {0x95, 0xCC}, {0x95, 0xD5}, {0x95, 0xD4}, {0x95, 0xD6}, /* 0x8C-0x8F */ + {0x95, 0xDC}, {0x95, 0xE1}, {0x95, 0xE5}, {0x95, 0xE2}, /* 0x90-0x93 */ + {0x96, 0x21}, {0x96, 0x28}, {0x96, 0x2E}, {0x96, 0x2F}, /* 0x94-0x97 */ + {0x96, 0x42}, {0x96, 0x4C}, {0x96, 0x4F}, {0x96, 0x4B}, /* 0x98-0x9B */ + {0x96, 0x77}, {0x96, 0x5C}, {0x96, 0x5E}, {0x96, 0x5D}, /* 0x9C-0x9F */ + {0x96, 0x5F}, {0x96, 0x66}, {0x96, 0x72}, {0x96, 0x6C}, /* 0xA0-0xA3 */ + {0x96, 0x8D}, {0x96, 0x98}, {0x96, 0x95}, {0x96, 0x97}, /* 0xA4-0xA7 */ + {0x96, 0xAA}, {0x96, 0xA7}, {0x96, 0xB1}, {0x96, 0xB2}, /* 0xA8-0xAB */ + {0x96, 0xB0}, {0x96, 0xB4}, {0x96, 0xB6}, {0x96, 0xB8}, /* 0xAC-0xAF */ + {0x96, 0xB9}, {0x96, 0xCE}, {0x96, 0xCB}, {0x96, 0xC9}, /* 0xB0-0xB3 */ + {0x96, 0xCD}, {0x89, 0x4D}, {0x96, 0xDC}, {0x97, 0x0D}, /* 0xB4-0xB7 */ + {0x96, 0xD5}, {0x96, 0xF9}, {0x97, 0x04}, {0x97, 0x06}, /* 0xB8-0xBB */ + {0x97, 0x08}, {0x97, 0x13}, {0x97, 0x0E}, {0x97, 0x11}, /* 0xBC-0xBF */ + {0x97, 0x0F}, {0x97, 0x16}, {0x97, 0x19}, {0x97, 0x24}, /* 0xC0-0xC3 */ + {0x97, 0x2A}, {0x97, 0x30}, {0x97, 0x39}, {0x97, 0x3D}, /* 0xC4-0xC7 */ + {0x97, 0x3E}, {0x97, 0x44}, {0x97, 0x46}, {0x97, 0x48}, /* 0xC8-0xCB */ + {0x97, 0x42}, {0x97, 0x49}, {0x97, 0x5C}, {0x97, 0x60}, /* 0xCC-0xCF */ + {0x97, 0x64}, {0x97, 0x66}, {0x97, 0x68}, {0x52, 0xD2}, /* 0xD0-0xD3 */ + {0x97, 0x6B}, {0x97, 0x71}, {0x97, 0x79}, {0x97, 0x85}, /* 0xD4-0xD7 */ + {0x97, 0x7C}, {0x97, 0x81}, {0x97, 0x7A}, {0x97, 0x86}, /* 0xD8-0xDB */ + {0x97, 0x8B}, {0x97, 0x8F}, {0x97, 0x90}, {0x97, 0x9C}, /* 0xDC-0xDF */ + {0x97, 0xA8}, {0x97, 0xA6}, {0x97, 0xA3}, {0x97, 0xB3}, /* 0xE0-0xE3 */ + {0x97, 0xB4}, {0x97, 0xC3}, {0x97, 0xC6}, {0x97, 0xC8}, /* 0xE4-0xE7 */ + {0x97, 0xCB}, {0x97, 0xDC}, {0x97, 0xED}, {0x9F, 0x4F}, /* 0xE8-0xEB */ + {0x97, 0xF2}, {0x7A, 0xDF}, {0x97, 0xF6}, {0x97, 0xF5}, /* 0xEC-0xEF */ + {0x98, 0x0F}, {0x98, 0x0C}, {0x98, 0x38}, {0x98, 0x24}, /* 0xF0-0xF3 */ + {0x98, 0x21}, {0x98, 0x37}, {0x98, 0x3D}, {0x98, 0x46}, /* 0xF4-0xF7 */ + {0x98, 0x4F}, {0x98, 0x4B}, {0x98, 0x6B}, {0x98, 0x6F}, /* 0xF8-0xFB */ + {0x98, 0x70}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x98, 0x71}, {0x98, 0x74}, {0x98, 0x73}, {0x98, 0xAA}, /* 0x40-0x43 */ + {0x98, 0xAF}, {0x98, 0xB1}, {0x98, 0xB6}, {0x98, 0xC4}, /* 0x44-0x47 */ + {0x98, 0xC3}, {0x98, 0xC6}, {0x98, 0xE9}, {0x98, 0xEB}, /* 0x48-0x4B */ + {0x99, 0x03}, {0x99, 0x09}, {0x99, 0x12}, {0x99, 0x14}, /* 0x4C-0x4F */ + {0x99, 0x18}, {0x99, 0x21}, {0x99, 0x1D}, {0x99, 0x1E}, /* 0x50-0x53 */ + {0x99, 0x24}, {0x99, 0x20}, {0x99, 0x2C}, {0x99, 0x2E}, /* 0x54-0x57 */ + {0x99, 0x3D}, {0x99, 0x3E}, {0x99, 0x42}, {0x99, 0x49}, /* 0x58-0x5B */ + {0x99, 0x45}, {0x99, 0x50}, {0x99, 0x4B}, {0x99, 0x51}, /* 0x5C-0x5F */ + {0x99, 0x52}, {0x99, 0x4C}, {0x99, 0x55}, {0x99, 0x97}, /* 0x60-0x63 */ + {0x99, 0x98}, {0x99, 0xA5}, {0x99, 0xAD}, {0x99, 0xAE}, /* 0x64-0x67 */ + {0x99, 0xBC}, {0x99, 0xDF}, {0x99, 0xDB}, {0x99, 0xDD}, /* 0x68-0x6B */ + {0x99, 0xD8}, {0x99, 0xD1}, {0x99, 0xED}, {0x99, 0xEE}, /* 0x6C-0x6F */ + {0x99, 0xF1}, {0x99, 0xF2}, {0x99, 0xFB}, {0x99, 0xF8}, /* 0x70-0x73 */ + {0x9A, 0x01}, {0x9A, 0x0F}, {0x9A, 0x05}, {0x99, 0xE2}, /* 0x74-0x77 */ + {0x9A, 0x19}, {0x9A, 0x2B}, {0x9A, 0x37}, {0x9A, 0x45}, /* 0x78-0x7B */ + {0x9A, 0x42}, {0x9A, 0x40}, {0x9A, 0x43}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9A, 0x3E}, {0x9A, 0x55}, {0x9A, 0x4D}, {0x9A, 0x5B}, /* 0x80-0x83 */ + {0x9A, 0x57}, {0x9A, 0x5F}, {0x9A, 0x62}, {0x9A, 0x65}, /* 0x84-0x87 */ + {0x9A, 0x64}, {0x9A, 0x69}, {0x9A, 0x6B}, {0x9A, 0x6A}, /* 0x88-0x8B */ + {0x9A, 0xAD}, {0x9A, 0xB0}, {0x9A, 0xBC}, {0x9A, 0xC0}, /* 0x8C-0x8F */ + {0x9A, 0xCF}, {0x9A, 0xD1}, {0x9A, 0xD3}, {0x9A, 0xD4}, /* 0x90-0x93 */ + {0x9A, 0xDE}, {0x9A, 0xDF}, {0x9A, 0xE2}, {0x9A, 0xE3}, /* 0x94-0x97 */ + {0x9A, 0xE6}, {0x9A, 0xEF}, {0x9A, 0xEB}, {0x9A, 0xEE}, /* 0x98-0x9B */ + {0x9A, 0xF4}, {0x9A, 0xF1}, {0x9A, 0xF7}, {0x9A, 0xFB}, /* 0x9C-0x9F */ + {0x9B, 0x06}, {0x9B, 0x18}, {0x9B, 0x1A}, {0x9B, 0x1F}, /* 0xA0-0xA3 */ + {0x9B, 0x22}, {0x9B, 0x23}, {0x9B, 0x25}, {0x9B, 0x27}, /* 0xA4-0xA7 */ + {0x9B, 0x28}, {0x9B, 0x29}, {0x9B, 0x2A}, {0x9B, 0x2E}, /* 0xA8-0xAB */ + {0x9B, 0x2F}, {0x9B, 0x32}, {0x9B, 0x44}, {0x9B, 0x43}, /* 0xAC-0xAF */ + {0x9B, 0x4F}, {0x9B, 0x4D}, {0x9B, 0x4E}, {0x9B, 0x51}, /* 0xB0-0xB3 */ + {0x9B, 0x58}, {0x9B, 0x74}, {0x9B, 0x93}, {0x9B, 0x83}, /* 0xB4-0xB7 */ + {0x9B, 0x91}, {0x9B, 0x96}, {0x9B, 0x97}, {0x9B, 0x9F}, /* 0xB8-0xBB */ + {0x9B, 0xA0}, {0x9B, 0xA8}, {0x9B, 0xB4}, {0x9B, 0xC0}, /* 0xBC-0xBF */ + {0x9B, 0xCA}, {0x9B, 0xB9}, {0x9B, 0xC6}, {0x9B, 0xCF}, /* 0xC0-0xC3 */ + {0x9B, 0xD1}, {0x9B, 0xD2}, {0x9B, 0xE3}, {0x9B, 0xE2}, /* 0xC4-0xC7 */ + {0x9B, 0xE4}, {0x9B, 0xD4}, {0x9B, 0xE1}, {0x9C, 0x3A}, /* 0xC8-0xCB */ + {0x9B, 0xF2}, {0x9B, 0xF1}, {0x9B, 0xF0}, {0x9C, 0x15}, /* 0xCC-0xCF */ + {0x9C, 0x14}, {0x9C, 0x09}, {0x9C, 0x13}, {0x9C, 0x0C}, /* 0xD0-0xD3 */ + {0x9C, 0x06}, {0x9C, 0x08}, {0x9C, 0x12}, {0x9C, 0x0A}, /* 0xD4-0xD7 */ + {0x9C, 0x04}, {0x9C, 0x2E}, {0x9C, 0x1B}, {0x9C, 0x25}, /* 0xD8-0xDB */ + {0x9C, 0x24}, {0x9C, 0x21}, {0x9C, 0x30}, {0x9C, 0x47}, /* 0xDC-0xDF */ + {0x9C, 0x32}, {0x9C, 0x46}, {0x9C, 0x3E}, {0x9C, 0x5A}, /* 0xE0-0xE3 */ + {0x9C, 0x60}, {0x9C, 0x67}, {0x9C, 0x76}, {0x9C, 0x78}, /* 0xE4-0xE7 */ + {0x9C, 0xE7}, {0x9C, 0xEC}, {0x9C, 0xF0}, {0x9D, 0x09}, /* 0xE8-0xEB */ + {0x9D, 0x08}, {0x9C, 0xEB}, {0x9D, 0x03}, {0x9D, 0x06}, /* 0xEC-0xEF */ + {0x9D, 0x2A}, {0x9D, 0x26}, {0x9D, 0xAF}, {0x9D, 0x23}, /* 0xF0-0xF3 */ + {0x9D, 0x1F}, {0x9D, 0x44}, {0x9D, 0x15}, {0x9D, 0x12}, /* 0xF4-0xF7 */ + {0x9D, 0x41}, {0x9D, 0x3F}, {0x9D, 0x3E}, {0x9D, 0x46}, /* 0xF8-0xFB */ + {0x9D, 0x48}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9D, 0x5D}, {0x9D, 0x5E}, {0x9D, 0x64}, {0x9D, 0x51}, /* 0x40-0x43 */ + {0x9D, 0x50}, {0x9D, 0x59}, {0x9D, 0x72}, {0x9D, 0x89}, /* 0x44-0x47 */ + {0x9D, 0x87}, {0x9D, 0xAB}, {0x9D, 0x6F}, {0x9D, 0x7A}, /* 0x48-0x4B */ + {0x9D, 0x9A}, {0x9D, 0xA4}, {0x9D, 0xA9}, {0x9D, 0xB2}, /* 0x4C-0x4F */ + {0x9D, 0xC4}, {0x9D, 0xC1}, {0x9D, 0xBB}, {0x9D, 0xB8}, /* 0x50-0x53 */ + {0x9D, 0xBA}, {0x9D, 0xC6}, {0x9D, 0xCF}, {0x9D, 0xC2}, /* 0x54-0x57 */ + {0x9D, 0xD9}, {0x9D, 0xD3}, {0x9D, 0xF8}, {0x9D, 0xE6}, /* 0x58-0x5B */ + {0x9D, 0xED}, {0x9D, 0xEF}, {0x9D, 0xFD}, {0x9E, 0x1A}, /* 0x5C-0x5F */ + {0x9E, 0x1B}, {0x9E, 0x1E}, {0x9E, 0x75}, {0x9E, 0x79}, /* 0x60-0x63 */ + {0x9E, 0x7D}, {0x9E, 0x81}, {0x9E, 0x88}, {0x9E, 0x8B}, /* 0x64-0x67 */ + {0x9E, 0x8C}, {0x9E, 0x92}, {0x9E, 0x95}, {0x9E, 0x91}, /* 0x68-0x6B */ + {0x9E, 0x9D}, {0x9E, 0xA5}, {0x9E, 0xA9}, {0x9E, 0xB8}, /* 0x6C-0x6F */ + {0x9E, 0xAA}, {0x9E, 0xAD}, {0x97, 0x61}, {0x9E, 0xCC}, /* 0x70-0x73 */ + {0x9E, 0xCE}, {0x9E, 0xCF}, {0x9E, 0xD0}, {0x9E, 0xD4}, /* 0x74-0x77 */ + {0x9E, 0xDC}, {0x9E, 0xDE}, {0x9E, 0xDD}, {0x9E, 0xE0}, /* 0x78-0x7B */ + {0x9E, 0xE5}, {0x9E, 0xE8}, {0x9E, 0xEF}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9E, 0xF4}, {0x9E, 0xF6}, {0x9E, 0xF7}, {0x9E, 0xF9}, /* 0x80-0x83 */ + {0x9E, 0xFB}, {0x9E, 0xFC}, {0x9E, 0xFD}, {0x9F, 0x07}, /* 0x84-0x87 */ + {0x9F, 0x08}, {0x76, 0xB7}, {0x9F, 0x15}, {0x9F, 0x21}, /* 0x88-0x8B */ + {0x9F, 0x2C}, {0x9F, 0x3E}, {0x9F, 0x4A}, {0x9F, 0x52}, /* 0x8C-0x8F */ + {0x9F, 0x54}, {0x9F, 0x63}, {0x9F, 0x5F}, {0x9F, 0x60}, /* 0x90-0x93 */ + {0x9F, 0x61}, {0x9F, 0x66}, {0x9F, 0x67}, {0x9F, 0x6C}, /* 0x94-0x97 */ + {0x9F, 0x6A}, {0x9F, 0x77}, {0x9F, 0x72}, {0x9F, 0x76}, /* 0x98-0x9B */ + {0x9F, 0x95}, {0x9F, 0x9C}, {0x9F, 0xA0}, {0x58, 0x2F}, /* 0x9C-0x9F */ + {0x69, 0xC7}, {0x90, 0x59}, {0x74, 0x64}, {0x51, 0xDC}, /* 0xA0-0xA3 */ + {0x71, 0x99}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_ED[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7E, 0x8A}, {0x89, 0x1C}, {0x93, 0x48}, {0x92, 0x88}, /* 0x40-0x43 */ + {0x84, 0xDC}, {0x4F, 0xC9}, {0x70, 0xBB}, {0x66, 0x31}, /* 0x44-0x47 */ + {0x68, 0xC8}, {0x92, 0xF9}, {0x66, 0xFB}, {0x5F, 0x45}, /* 0x48-0x4B */ + {0x4E, 0x28}, {0x4E, 0xE1}, {0x4E, 0xFC}, {0x4F, 0x00}, /* 0x4C-0x4F */ + {0x4F, 0x03}, {0x4F, 0x39}, {0x4F, 0x56}, {0x4F, 0x92}, /* 0x50-0x53 */ + {0x4F, 0x8A}, {0x4F, 0x9A}, {0x4F, 0x94}, {0x4F, 0xCD}, /* 0x54-0x57 */ + {0x50, 0x40}, {0x50, 0x22}, {0x4F, 0xFF}, {0x50, 0x1E}, /* 0x58-0x5B */ + {0x50, 0x46}, {0x50, 0x70}, {0x50, 0x42}, {0x50, 0x94}, /* 0x5C-0x5F */ + {0x50, 0xF4}, {0x50, 0xD8}, {0x51, 0x4A}, {0x51, 0x64}, /* 0x60-0x63 */ + {0x51, 0x9D}, {0x51, 0xBE}, {0x51, 0xEC}, {0x52, 0x15}, /* 0x64-0x67 */ + {0x52, 0x9C}, {0x52, 0xA6}, {0x52, 0xC0}, {0x52, 0xDB}, /* 0x68-0x6B */ + {0x53, 0x00}, {0x53, 0x07}, {0x53, 0x24}, {0x53, 0x72}, /* 0x6C-0x6F */ + {0x53, 0x93}, {0x53, 0xB2}, {0x53, 0xDD}, {0xFA, 0x0E}, /* 0x70-0x73 */ + {0x54, 0x9C}, {0x54, 0x8A}, {0x54, 0xA9}, {0x54, 0xFF}, /* 0x74-0x77 */ + {0x55, 0x86}, {0x57, 0x59}, {0x57, 0x65}, {0x57, 0xAC}, /* 0x78-0x7B */ + {0x57, 0xC8}, {0x57, 0xC7}, {0xFA, 0x0F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0xFA, 0x10}, {0x58, 0x9E}, {0x58, 0xB2}, {0x59, 0x0B}, /* 0x80-0x83 */ + {0x59, 0x53}, {0x59, 0x5B}, {0x59, 0x5D}, {0x59, 0x63}, /* 0x84-0x87 */ + {0x59, 0xA4}, {0x59, 0xBA}, {0x5B, 0x56}, {0x5B, 0xC0}, /* 0x88-0x8B */ + {0x75, 0x2F}, {0x5B, 0xD8}, {0x5B, 0xEC}, {0x5C, 0x1E}, /* 0x8C-0x8F */ + {0x5C, 0xA6}, {0x5C, 0xBA}, {0x5C, 0xF5}, {0x5D, 0x27}, /* 0x90-0x93 */ + {0x5D, 0x53}, {0xFA, 0x11}, {0x5D, 0x42}, {0x5D, 0x6D}, /* 0x94-0x97 */ + {0x5D, 0xB8}, {0x5D, 0xB9}, {0x5D, 0xD0}, {0x5F, 0x21}, /* 0x98-0x9B */ + {0x5F, 0x34}, {0x5F, 0x67}, {0x5F, 0xB7}, {0x5F, 0xDE}, /* 0x9C-0x9F */ + {0x60, 0x5D}, {0x60, 0x85}, {0x60, 0x8A}, {0x60, 0xDE}, /* 0xA0-0xA3 */ + {0x60, 0xD5}, {0x61, 0x20}, {0x60, 0xF2}, {0x61, 0x11}, /* 0xA4-0xA7 */ + {0x61, 0x37}, {0x61, 0x30}, {0x61, 0x98}, {0x62, 0x13}, /* 0xA8-0xAB */ + {0x62, 0xA6}, {0x63, 0xF5}, {0x64, 0x60}, {0x64, 0x9D}, /* 0xAC-0xAF */ + {0x64, 0xCE}, {0x65, 0x4E}, {0x66, 0x00}, {0x66, 0x15}, /* 0xB0-0xB3 */ + {0x66, 0x3B}, {0x66, 0x09}, {0x66, 0x2E}, {0x66, 0x1E}, /* 0xB4-0xB7 */ + {0x66, 0x24}, {0x66, 0x65}, {0x66, 0x57}, {0x66, 0x59}, /* 0xB8-0xBB */ + {0xFA, 0x12}, {0x66, 0x73}, {0x66, 0x99}, {0x66, 0xA0}, /* 0xBC-0xBF */ + {0x66, 0xB2}, {0x66, 0xBF}, {0x66, 0xFA}, {0x67, 0x0E}, /* 0xC0-0xC3 */ + {0xF9, 0x29}, {0x67, 0x66}, {0x67, 0xBB}, {0x68, 0x52}, /* 0xC4-0xC7 */ + {0x67, 0xC0}, {0x68, 0x01}, {0x68, 0x44}, {0x68, 0xCF}, /* 0xC8-0xCB */ + {0xFA, 0x13}, {0x69, 0x68}, {0xFA, 0x14}, {0x69, 0x98}, /* 0xCC-0xCF */ + {0x69, 0xE2}, {0x6A, 0x30}, {0x6A, 0x6B}, {0x6A, 0x46}, /* 0xD0-0xD3 */ + {0x6A, 0x73}, {0x6A, 0x7E}, {0x6A, 0xE2}, {0x6A, 0xE4}, /* 0xD4-0xD7 */ + {0x6B, 0xD6}, {0x6C, 0x3F}, {0x6C, 0x5C}, {0x6C, 0x86}, /* 0xD8-0xDB */ + {0x6C, 0x6F}, {0x6C, 0xDA}, {0x6D, 0x04}, {0x6D, 0x87}, /* 0xDC-0xDF */ + {0x6D, 0x6F}, {0x6D, 0x96}, {0x6D, 0xAC}, {0x6D, 0xCF}, /* 0xE0-0xE3 */ + {0x6D, 0xF8}, {0x6D, 0xF2}, {0x6D, 0xFC}, {0x6E, 0x39}, /* 0xE4-0xE7 */ + {0x6E, 0x5C}, {0x6E, 0x27}, {0x6E, 0x3C}, {0x6E, 0xBF}, /* 0xE8-0xEB */ + {0x6F, 0x88}, {0x6F, 0xB5}, {0x6F, 0xF5}, {0x70, 0x05}, /* 0xEC-0xEF */ + {0x70, 0x07}, {0x70, 0x28}, {0x70, 0x85}, {0x70, 0xAB}, /* 0xF0-0xF3 */ + {0x71, 0x0F}, {0x71, 0x04}, {0x71, 0x5C}, {0x71, 0x46}, /* 0xF4-0xF7 */ + {0x71, 0x47}, {0xFA, 0x15}, {0x71, 0xC1}, {0x71, 0xFE}, /* 0xF8-0xFB */ + {0x72, 0xB1}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x72, 0xBE}, {0x73, 0x24}, {0xFA, 0x16}, {0x73, 0x77}, /* 0x40-0x43 */ + {0x73, 0xBD}, {0x73, 0xC9}, {0x73, 0xD6}, {0x73, 0xE3}, /* 0x44-0x47 */ + {0x73, 0xD2}, {0x74, 0x07}, {0x73, 0xF5}, {0x74, 0x26}, /* 0x48-0x4B */ + {0x74, 0x2A}, {0x74, 0x29}, {0x74, 0x2E}, {0x74, 0x62}, /* 0x4C-0x4F */ + {0x74, 0x89}, {0x74, 0x9F}, {0x75, 0x01}, {0x75, 0x6F}, /* 0x50-0x53 */ + {0x76, 0x82}, {0x76, 0x9C}, {0x76, 0x9E}, {0x76, 0x9B}, /* 0x54-0x57 */ + {0x76, 0xA6}, {0xFA, 0x17}, {0x77, 0x46}, {0x52, 0xAF}, /* 0x58-0x5B */ + {0x78, 0x21}, {0x78, 0x4E}, {0x78, 0x64}, {0x78, 0x7A}, /* 0x5C-0x5F */ + {0x79, 0x30}, {0xFA, 0x18}, {0xFA, 0x19}, {0xFA, 0x1A}, /* 0x60-0x63 */ + {0x79, 0x94}, {0xFA, 0x1B}, {0x79, 0x9B}, {0x7A, 0xD1}, /* 0x64-0x67 */ + {0x7A, 0xE7}, {0xFA, 0x1C}, {0x7A, 0xEB}, {0x7B, 0x9E}, /* 0x68-0x6B */ + {0xFA, 0x1D}, {0x7D, 0x48}, {0x7D, 0x5C}, {0x7D, 0xB7}, /* 0x6C-0x6F */ + {0x7D, 0xA0}, {0x7D, 0xD6}, {0x7E, 0x52}, {0x7F, 0x47}, /* 0x70-0x73 */ + {0x7F, 0xA1}, {0xFA, 0x1E}, {0x83, 0x01}, {0x83, 0x62}, /* 0x74-0x77 */ + {0x83, 0x7F}, {0x83, 0xC7}, {0x83, 0xF6}, {0x84, 0x48}, /* 0x78-0x7B */ + {0x84, 0xB4}, {0x85, 0x53}, {0x85, 0x59}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x85, 0x6B}, {0xFA, 0x1F}, {0x85, 0xB0}, {0xFA, 0x20}, /* 0x80-0x83 */ + {0xFA, 0x21}, {0x88, 0x07}, {0x88, 0xF5}, {0x8A, 0x12}, /* 0x84-0x87 */ + {0x8A, 0x37}, {0x8A, 0x79}, {0x8A, 0xA7}, {0x8A, 0xBE}, /* 0x88-0x8B */ + {0x8A, 0xDF}, {0xFA, 0x22}, {0x8A, 0xF6}, {0x8B, 0x53}, /* 0x8C-0x8F */ + {0x8B, 0x7F}, {0x8C, 0xF0}, {0x8C, 0xF4}, {0x8D, 0x12}, /* 0x90-0x93 */ + {0x8D, 0x76}, {0xFA, 0x23}, {0x8E, 0xCF}, {0xFA, 0x24}, /* 0x94-0x97 */ + {0xFA, 0x25}, {0x90, 0x67}, {0x90, 0xDE}, {0xFA, 0x26}, /* 0x98-0x9B */ + {0x91, 0x15}, {0x91, 0x27}, {0x91, 0xDA}, {0x91, 0xD7}, /* 0x9C-0x9F */ + {0x91, 0xDE}, {0x91, 0xED}, {0x91, 0xEE}, {0x91, 0xE4}, /* 0xA0-0xA3 */ + {0x91, 0xE5}, {0x92, 0x06}, {0x92, 0x10}, {0x92, 0x0A}, /* 0xA4-0xA7 */ + {0x92, 0x3A}, {0x92, 0x40}, {0x92, 0x3C}, {0x92, 0x4E}, /* 0xA8-0xAB */ + {0x92, 0x59}, {0x92, 0x51}, {0x92, 0x39}, {0x92, 0x67}, /* 0xAC-0xAF */ + {0x92, 0xA7}, {0x92, 0x77}, {0x92, 0x78}, {0x92, 0xE7}, /* 0xB0-0xB3 */ + {0x92, 0xD7}, {0x92, 0xD9}, {0x92, 0xD0}, {0xFA, 0x27}, /* 0xB4-0xB7 */ + {0x92, 0xD5}, {0x92, 0xE0}, {0x92, 0xD3}, {0x93, 0x25}, /* 0xB8-0xBB */ + {0x93, 0x21}, {0x92, 0xFB}, {0xFA, 0x28}, {0x93, 0x1E}, /* 0xBC-0xBF */ + {0x92, 0xFF}, {0x93, 0x1D}, {0x93, 0x02}, {0x93, 0x70}, /* 0xC0-0xC3 */ + {0x93, 0x57}, {0x93, 0xA4}, {0x93, 0xC6}, {0x93, 0xDE}, /* 0xC4-0xC7 */ + {0x93, 0xF8}, {0x94, 0x31}, {0x94, 0x45}, {0x94, 0x48}, /* 0xC8-0xCB */ + {0x95, 0x92}, {0xF9, 0xDC}, {0xFA, 0x29}, {0x96, 0x9D}, /* 0xCC-0xCF */ + {0x96, 0xAF}, {0x97, 0x33}, {0x97, 0x3B}, {0x97, 0x43}, /* 0xD0-0xD3 */ + {0x97, 0x4D}, {0x97, 0x4F}, {0x97, 0x51}, {0x97, 0x55}, /* 0xD4-0xD7 */ + {0x98, 0x57}, {0x98, 0x65}, {0xFA, 0x2A}, {0xFA, 0x2B}, /* 0xD8-0xDB */ + {0x99, 0x27}, {0xFA, 0x2C}, {0x99, 0x9E}, {0x9A, 0x4E}, /* 0xDC-0xDF */ + {0x9A, 0xD9}, {0x9A, 0xDC}, {0x9B, 0x75}, {0x9B, 0x72}, /* 0xE0-0xE3 */ + {0x9B, 0x8F}, {0x9B, 0xB1}, {0x9B, 0xBB}, {0x9C, 0x00}, /* 0xE4-0xE7 */ + {0x9D, 0x70}, {0x9D, 0x6B}, {0xFA, 0x2D}, {0x9E, 0x19}, /* 0xE8-0xEB */ + {0x9E, 0xD1}, {0x00, 0x3F}, {0x00, 0x3F}, {0x21, 0x70}, /* 0xEC-0xEF */ + {0x21, 0x71}, {0x21, 0x72}, {0x21, 0x73}, {0x21, 0x74}, /* 0xF0-0xF3 */ + {0x21, 0x75}, {0x21, 0x76}, {0x21, 0x77}, {0x21, 0x78}, /* 0xF4-0xF7 */ + {0x21, 0x79}, {0xFF, 0xE2}, {0xFF, 0xE4}, {0xFF, 0x07}, /* 0xF8-0xFB */ + {0xFF, 0x02}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x21, 0x70}, {0x21, 0x71}, {0x21, 0x72}, {0x21, 0x73}, /* 0x40-0x43 */ + {0x21, 0x74}, {0x21, 0x75}, {0x21, 0x76}, {0x21, 0x77}, /* 0x44-0x47 */ + {0x21, 0x78}, {0x21, 0x79}, {0x21, 0x60}, {0x21, 0x61}, /* 0x48-0x4B */ + {0x21, 0x62}, {0x21, 0x63}, {0x21, 0x64}, {0x21, 0x65}, /* 0x4C-0x4F */ + {0x21, 0x66}, {0x21, 0x67}, {0x21, 0x68}, {0x21, 0x69}, /* 0x50-0x53 */ + {0xFF, 0xE2}, {0xFF, 0xE4}, {0xFF, 0x07}, {0xFF, 0x02}, /* 0x54-0x57 */ + {0x32, 0x31}, {0x21, 0x16}, {0x21, 0x21}, {0x22, 0x35}, /* 0x58-0x5B */ + {0x7E, 0x8A}, {0x89, 0x1C}, {0x93, 0x48}, {0x92, 0x88}, /* 0x5C-0x5F */ + {0x84, 0xDC}, {0x4F, 0xC9}, {0x70, 0xBB}, {0x66, 0x31}, /* 0x60-0x63 */ + {0x68, 0xC8}, {0x92, 0xF9}, {0x66, 0xFB}, {0x5F, 0x45}, /* 0x64-0x67 */ + {0x4E, 0x28}, {0x4E, 0xE1}, {0x4E, 0xFC}, {0x4F, 0x00}, /* 0x68-0x6B */ + {0x4F, 0x03}, {0x4F, 0x39}, {0x4F, 0x56}, {0x4F, 0x92}, /* 0x6C-0x6F */ + {0x4F, 0x8A}, {0x4F, 0x9A}, {0x4F, 0x94}, {0x4F, 0xCD}, /* 0x70-0x73 */ + {0x50, 0x40}, {0x50, 0x22}, {0x4F, 0xFF}, {0x50, 0x1E}, /* 0x74-0x77 */ + {0x50, 0x46}, {0x50, 0x70}, {0x50, 0x42}, {0x50, 0x94}, /* 0x78-0x7B */ + {0x50, 0xF4}, {0x50, 0xD8}, {0x51, 0x4A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x51, 0x64}, {0x51, 0x9D}, {0x51, 0xBE}, {0x51, 0xEC}, /* 0x80-0x83 */ + {0x52, 0x15}, {0x52, 0x9C}, {0x52, 0xA6}, {0x52, 0xC0}, /* 0x84-0x87 */ + {0x52, 0xDB}, {0x53, 0x00}, {0x53, 0x07}, {0x53, 0x24}, /* 0x88-0x8B */ + {0x53, 0x72}, {0x53, 0x93}, {0x53, 0xB2}, {0x53, 0xDD}, /* 0x8C-0x8F */ + {0xFA, 0x0E}, {0x54, 0x9C}, {0x54, 0x8A}, {0x54, 0xA9}, /* 0x90-0x93 */ + {0x54, 0xFF}, {0x55, 0x86}, {0x57, 0x59}, {0x57, 0x65}, /* 0x94-0x97 */ + {0x57, 0xAC}, {0x57, 0xC8}, {0x57, 0xC7}, {0xFA, 0x0F}, /* 0x98-0x9B */ + {0xFA, 0x10}, {0x58, 0x9E}, {0x58, 0xB2}, {0x59, 0x0B}, /* 0x9C-0x9F */ + {0x59, 0x53}, {0x59, 0x5B}, {0x59, 0x5D}, {0x59, 0x63}, /* 0xA0-0xA3 */ + {0x59, 0xA4}, {0x59, 0xBA}, {0x5B, 0x56}, {0x5B, 0xC0}, /* 0xA4-0xA7 */ + {0x75, 0x2F}, {0x5B, 0xD8}, {0x5B, 0xEC}, {0x5C, 0x1E}, /* 0xA8-0xAB */ + {0x5C, 0xA6}, {0x5C, 0xBA}, {0x5C, 0xF5}, {0x5D, 0x27}, /* 0xAC-0xAF */ + {0x5D, 0x53}, {0xFA, 0x11}, {0x5D, 0x42}, {0x5D, 0x6D}, /* 0xB0-0xB3 */ + {0x5D, 0xB8}, {0x5D, 0xB9}, {0x5D, 0xD0}, {0x5F, 0x21}, /* 0xB4-0xB7 */ + {0x5F, 0x34}, {0x5F, 0x67}, {0x5F, 0xB7}, {0x5F, 0xDE}, /* 0xB8-0xBB */ + {0x60, 0x5D}, {0x60, 0x85}, {0x60, 0x8A}, {0x60, 0xDE}, /* 0xBC-0xBF */ + {0x60, 0xD5}, {0x61, 0x20}, {0x60, 0xF2}, {0x61, 0x11}, /* 0xC0-0xC3 */ + {0x61, 0x37}, {0x61, 0x30}, {0x61, 0x98}, {0x62, 0x13}, /* 0xC4-0xC7 */ + {0x62, 0xA6}, {0x63, 0xF5}, {0x64, 0x60}, {0x64, 0x9D}, /* 0xC8-0xCB */ + {0x64, 0xCE}, {0x65, 0x4E}, {0x66, 0x00}, {0x66, 0x15}, /* 0xCC-0xCF */ + {0x66, 0x3B}, {0x66, 0x09}, {0x66, 0x2E}, {0x66, 0x1E}, /* 0xD0-0xD3 */ + {0x66, 0x24}, {0x66, 0x65}, {0x66, 0x57}, {0x66, 0x59}, /* 0xD4-0xD7 */ + {0xFA, 0x12}, {0x66, 0x73}, {0x66, 0x99}, {0x66, 0xA0}, /* 0xD8-0xDB */ + {0x66, 0xB2}, {0x66, 0xBF}, {0x66, 0xFA}, {0x67, 0x0E}, /* 0xDC-0xDF */ + {0xF9, 0x29}, {0x67, 0x66}, {0x67, 0xBB}, {0x68, 0x52}, /* 0xE0-0xE3 */ + {0x67, 0xC0}, {0x68, 0x01}, {0x68, 0x44}, {0x68, 0xCF}, /* 0xE4-0xE7 */ + {0xFA, 0x13}, {0x69, 0x68}, {0xFA, 0x14}, {0x69, 0x98}, /* 0xE8-0xEB */ + {0x69, 0xE2}, {0x6A, 0x30}, {0x6A, 0x6B}, {0x6A, 0x46}, /* 0xEC-0xEF */ + {0x6A, 0x73}, {0x6A, 0x7E}, {0x6A, 0xE2}, {0x6A, 0xE4}, /* 0xF0-0xF3 */ + {0x6B, 0xD6}, {0x6C, 0x3F}, {0x6C, 0x5C}, {0x6C, 0x86}, /* 0xF4-0xF7 */ + {0x6C, 0x6F}, {0x6C, 0xDA}, {0x6D, 0x04}, {0x6D, 0x87}, /* 0xF8-0xFB */ + {0x6D, 0x6F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6D, 0x96}, {0x6D, 0xAC}, {0x6D, 0xCF}, {0x6D, 0xF8}, /* 0x40-0x43 */ + {0x6D, 0xF2}, {0x6D, 0xFC}, {0x6E, 0x39}, {0x6E, 0x5C}, /* 0x44-0x47 */ + {0x6E, 0x27}, {0x6E, 0x3C}, {0x6E, 0xBF}, {0x6F, 0x88}, /* 0x48-0x4B */ + {0x6F, 0xB5}, {0x6F, 0xF5}, {0x70, 0x05}, {0x70, 0x07}, /* 0x4C-0x4F */ + {0x70, 0x28}, {0x70, 0x85}, {0x70, 0xAB}, {0x71, 0x0F}, /* 0x50-0x53 */ + {0x71, 0x04}, {0x71, 0x5C}, {0x71, 0x46}, {0x71, 0x47}, /* 0x54-0x57 */ + {0xFA, 0x15}, {0x71, 0xC1}, {0x71, 0xFE}, {0x72, 0xB1}, /* 0x58-0x5B */ + {0x72, 0xBE}, {0x73, 0x24}, {0xFA, 0x16}, {0x73, 0x77}, /* 0x5C-0x5F */ + {0x73, 0xBD}, {0x73, 0xC9}, {0x73, 0xD6}, {0x73, 0xE3}, /* 0x60-0x63 */ + {0x73, 0xD2}, {0x74, 0x07}, {0x73, 0xF5}, {0x74, 0x26}, /* 0x64-0x67 */ + {0x74, 0x2A}, {0x74, 0x29}, {0x74, 0x2E}, {0x74, 0x62}, /* 0x68-0x6B */ + {0x74, 0x89}, {0x74, 0x9F}, {0x75, 0x01}, {0x75, 0x6F}, /* 0x6C-0x6F */ + {0x76, 0x82}, {0x76, 0x9C}, {0x76, 0x9E}, {0x76, 0x9B}, /* 0x70-0x73 */ + {0x76, 0xA6}, {0xFA, 0x17}, {0x77, 0x46}, {0x52, 0xAF}, /* 0x74-0x77 */ + {0x78, 0x21}, {0x78, 0x4E}, {0x78, 0x64}, {0x78, 0x7A}, /* 0x78-0x7B */ + {0x79, 0x30}, {0xFA, 0x18}, {0xFA, 0x19}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0xFA, 0x1A}, {0x79, 0x94}, {0xFA, 0x1B}, {0x79, 0x9B}, /* 0x80-0x83 */ + {0x7A, 0xD1}, {0x7A, 0xE7}, {0xFA, 0x1C}, {0x7A, 0xEB}, /* 0x84-0x87 */ + {0x7B, 0x9E}, {0xFA, 0x1D}, {0x7D, 0x48}, {0x7D, 0x5C}, /* 0x88-0x8B */ + {0x7D, 0xB7}, {0x7D, 0xA0}, {0x7D, 0xD6}, {0x7E, 0x52}, /* 0x8C-0x8F */ + {0x7F, 0x47}, {0x7F, 0xA1}, {0xFA, 0x1E}, {0x83, 0x01}, /* 0x90-0x93 */ + {0x83, 0x62}, {0x83, 0x7F}, {0x83, 0xC7}, {0x83, 0xF6}, /* 0x94-0x97 */ + {0x84, 0x48}, {0x84, 0xB4}, {0x85, 0x53}, {0x85, 0x59}, /* 0x98-0x9B */ + {0x85, 0x6B}, {0xFA, 0x1F}, {0x85, 0xB0}, {0xFA, 0x20}, /* 0x9C-0x9F */ + {0xFA, 0x21}, {0x88, 0x07}, {0x88, 0xF5}, {0x8A, 0x12}, /* 0xA0-0xA3 */ + {0x8A, 0x37}, {0x8A, 0x79}, {0x8A, 0xA7}, {0x8A, 0xBE}, /* 0xA4-0xA7 */ + {0x8A, 0xDF}, {0xFA, 0x22}, {0x8A, 0xF6}, {0x8B, 0x53}, /* 0xA8-0xAB */ + {0x8B, 0x7F}, {0x8C, 0xF0}, {0x8C, 0xF4}, {0x8D, 0x12}, /* 0xAC-0xAF */ + {0x8D, 0x76}, {0xFA, 0x23}, {0x8E, 0xCF}, {0xFA, 0x24}, /* 0xB0-0xB3 */ + {0xFA, 0x25}, {0x90, 0x67}, {0x90, 0xDE}, {0xFA, 0x26}, /* 0xB4-0xB7 */ + {0x91, 0x15}, {0x91, 0x27}, {0x91, 0xDA}, {0x91, 0xD7}, /* 0xB8-0xBB */ + {0x91, 0xDE}, {0x91, 0xED}, {0x91, 0xEE}, {0x91, 0xE4}, /* 0xBC-0xBF */ + {0x91, 0xE5}, {0x92, 0x06}, {0x92, 0x10}, {0x92, 0x0A}, /* 0xC0-0xC3 */ + {0x92, 0x3A}, {0x92, 0x40}, {0x92, 0x3C}, {0x92, 0x4E}, /* 0xC4-0xC7 */ + {0x92, 0x59}, {0x92, 0x51}, {0x92, 0x39}, {0x92, 0x67}, /* 0xC8-0xCB */ + {0x92, 0xA7}, {0x92, 0x77}, {0x92, 0x78}, {0x92, 0xE7}, /* 0xCC-0xCF */ + {0x92, 0xD7}, {0x92, 0xD9}, {0x92, 0xD0}, {0xFA, 0x27}, /* 0xD0-0xD3 */ + {0x92, 0xD5}, {0x92, 0xE0}, {0x92, 0xD3}, {0x93, 0x25}, /* 0xD4-0xD7 */ + {0x93, 0x21}, {0x92, 0xFB}, {0xFA, 0x28}, {0x93, 0x1E}, /* 0xD8-0xDB */ + {0x92, 0xFF}, {0x93, 0x1D}, {0x93, 0x02}, {0x93, 0x70}, /* 0xDC-0xDF */ + {0x93, 0x57}, {0x93, 0xA4}, {0x93, 0xC6}, {0x93, 0xDE}, /* 0xE0-0xE3 */ + {0x93, 0xF8}, {0x94, 0x31}, {0x94, 0x45}, {0x94, 0x48}, /* 0xE4-0xE7 */ + {0x95, 0x92}, {0xF9, 0xDC}, {0xFA, 0x29}, {0x96, 0x9D}, /* 0xE8-0xEB */ + {0x96, 0xAF}, {0x97, 0x33}, {0x97, 0x3B}, {0x97, 0x43}, /* 0xEC-0xEF */ + {0x97, 0x4D}, {0x97, 0x4F}, {0x97, 0x51}, {0x97, 0x55}, /* 0xF0-0xF3 */ + {0x98, 0x57}, {0x98, 0x65}, {0xFA, 0x2A}, {0xFA, 0x2B}, /* 0xF4-0xF7 */ + {0x99, 0x27}, {0xFA, 0x2C}, {0x99, 0x9E}, {0x9A, 0x4E}, /* 0xF8-0xFB */ + {0x9A, 0xD9}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9A, 0xDC}, {0x9B, 0x75}, {0x9B, 0x72}, {0x9B, 0x8F}, /* 0x40-0x43 */ + {0x9B, 0xB1}, {0x9B, 0xBB}, {0x9C, 0x00}, {0x9D, 0x70}, /* 0x44-0x47 */ + {0x9D, 0x6B}, {0xFA, 0x2D}, {0x9E, 0x19}, {0x9E, 0xD1}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode *page_charset2uni[256] = { + 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, c2u_81, c2u_82, c2u_83, c2u_84, NULL, NULL, c2u_87, + c2u_88, c2u_89, c2u_8A, c2u_8B, c2u_8C, c2u_8D, c2u_8E, c2u_8F, + c2u_90, c2u_91, c2u_92, c2u_93, c2u_94, c2u_95, c2u_96, c2u_97, + c2u_98, c2u_99, c2u_9A, c2u_9B, c2u_9C, c2u_9D, c2u_9E, c2u_9F, + 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, + c2u_E0, c2u_E1, c2u_E2, c2u_E3, c2u_E4, c2u_E5, c2u_E6, c2u_E7, + c2u_E8, c2u_E9, c2u_EA, NULL, NULL, c2u_ED, c2u_EE, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, c2u_FA, c2u_FB, c2u_FC, NULL, NULL, NULL, +}; + +static unsigned char u2c_03[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x83, 0x9F, 0x83, 0x00, 0x83, 0x00, /* 0x90-0x93 */ + 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, /* 0x94-0x97 */ + 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, /* 0x98-0x9B */ + 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, /* 0x9C-0x9F */ + 0x83, 0x00, 0x83, 0x00, 0x3F, 0x3F, 0x83, 0x00, /* 0xA0-0xA3 */ + 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, /* 0xA4-0xA7 */ + 0x83, 0x00, 0x83, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, /* 0xB0-0xB3 */ + 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, /* 0xB4-0xB7 */ + 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, /* 0xB8-0xBB */ + 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, /* 0xBC-0xBF */ + 0x83, 0x00, 0x83, 0x00, 0x3F, 0x3F, 0x83, 0x00, /* 0xC0-0xC3 */ + 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, /* 0xC4-0xC7 */ + 0x83, 0x00, 0x83, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_04[512] = { + 0x3F, 0x3F, 0x84, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x84, 0x40, 0x84, 0x41, 0x84, 0x42, 0x84, 0x43, /* 0x10-0x13 */ + 0x84, 0x44, 0x84, 0x45, 0x84, 0x47, 0x84, 0x48, /* 0x14-0x17 */ + 0x84, 0x49, 0x84, 0x4A, 0x84, 0x4B, 0x84, 0x4C, /* 0x18-0x1B */ + 0x84, 0x4D, 0x84, 0x4E, 0x84, 0x4F, 0x84, 0x50, /* 0x1C-0x1F */ + 0x84, 0x51, 0x84, 0x52, 0x84, 0x53, 0x84, 0x54, /* 0x20-0x23 */ + 0x84, 0x55, 0x84, 0x56, 0x84, 0x57, 0x84, 0x58, /* 0x24-0x27 */ + 0x84, 0x59, 0x84, 0x5A, 0x84, 0x5B, 0x84, 0x5C, /* 0x28-0x2B */ + 0x84, 0x5D, 0x84, 0x5E, 0x84, 0x5F, 0x84, 0x60, /* 0x2C-0x2F */ + 0x84, 0x70, 0x84, 0x71, 0x84, 0x72, 0x84, 0x73, /* 0x30-0x33 */ + 0x84, 0x74, 0x84, 0x75, 0x84, 0x77, 0x84, 0x78, /* 0x34-0x37 */ + 0x84, 0x79, 0x84, 0x7A, 0x84, 0x7B, 0x84, 0x7C, /* 0x38-0x3B */ + 0x84, 0x7D, 0x84, 0x7E, 0x84, 0x80, 0x84, 0x81, /* 0x3C-0x3F */ + 0x84, 0x82, 0x84, 0x83, 0x84, 0x84, 0x84, 0x85, /* 0x40-0x43 */ + 0x84, 0x86, 0x84, 0x87, 0x84, 0x88, 0x84, 0x89, /* 0x44-0x47 */ + 0x84, 0x8A, 0x84, 0x8B, 0x84, 0x8C, 0x84, 0x8D, /* 0x48-0x4B */ + 0x84, 0x8E, 0x84, 0x8F, 0x84, 0x90, 0x84, 0x91, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x84, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_20[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x81, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x81, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x81, 0x65, 0x81, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x81, 0x67, 0x81, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x81, 0x00, 0x81, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x81, 0x64, 0x81, 0x63, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x81, 0x00, 0x3F, 0x3F, 0x81, 0x8C, 0x81, 0x8D, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_21[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x8E, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x59, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4D, /* 0x60-0x63 */ + 0x00, 0x4E, 0x00, 0x4F, 0x00, 0x50, 0x00, 0x51, /* 0x64-0x67 */ + 0x00, 0x52, 0x00, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, /* 0x70-0x73 */ + 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, /* 0x74-0x77 */ + 0x00, 0x48, 0x00, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x81, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_22[512] = { + 0x81, 0x00, 0x3F, 0x3F, 0x81, 0x00, 0x81, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, /* 0x04-0x07 */ + 0x81, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x87, 0x94, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x95, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x81, 0x00, 0x81, 0x87, 0x87, 0x98, /* 0x1C-0x1F */ + 0x87, 0x97, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x81, 0x61, 0x3F, 0x3F, 0x81, 0x00, /* 0x24-0x27 */ + 0x81, 0x00, 0x87, 0x9B, 0x87, 0x9C, 0x87, 0x92, /* 0x28-0x2B */ + 0x81, 0x00, 0x3F, 0x3F, 0x87, 0x93, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x81, 0x88, 0x00, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x81, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x90, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x81, 0x82, 0x87, 0x91, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x85, 0x81, 0x86, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, 0x81, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, 0x81, 0x00, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, 0x81, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x87, 0x96, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x99, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_23[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_24[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x87, 0x40, 0x87, 0x41, 0x87, 0x42, 0x87, 0x43, /* 0x60-0x63 */ + 0x87, 0x44, 0x87, 0x45, 0x87, 0x46, 0x87, 0x47, /* 0x64-0x67 */ + 0x87, 0x48, 0x87, 0x49, 0x87, 0x4A, 0x87, 0x4B, /* 0x68-0x6B */ + 0x87, 0x4C, 0x87, 0x4D, 0x87, 0x4E, 0x87, 0x4F, /* 0x6C-0x6F */ + 0x87, 0x50, 0x87, 0x51, 0x87, 0x52, 0x87, 0x53, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_25[512] = { + 0x84, 0x9F, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x0C-0x0F */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x10-0x13 */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x14-0x17 */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x18-0x1B */ + 0x84, 0x00, 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x20-0x23 */ + 0x84, 0x00, 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x28-0x2B */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x2C-0x2F */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x30-0x33 */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x34-0x37 */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x38-0x3B */ + 0x84, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x81, 0x00, 0x81, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, 0x81, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x81, 0x00, 0x81, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x9F, 0x81, 0x9E, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x9B, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x9D, 0x81, 0x9C, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_26[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x81, 0x9A, 0x81, 0x99, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x81, 0x8A, 0x3F, 0x3F, 0x81, 0x89, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x00, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x81, 0x00, 0x3F, 0x3F, 0x81, 0x00, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_30[512] = { + 0x81, 0x40, 0x81, 0x41, 0x81, 0x42, 0x81, 0x56, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x81, 0x58, 0x81, 0x59, 0x81, 0x5A, /* 0x04-0x07 */ + 0x81, 0x71, 0x81, 0x72, 0x81, 0x73, 0x81, 0x74, /* 0x08-0x0B */ + 0x81, 0x75, 0x81, 0x76, 0x81, 0x77, 0x81, 0x78, /* 0x0C-0x0F */ + 0x81, 0x79, 0x81, 0x7A, 0x81, 0x00, 0x81, 0x00, /* 0x10-0x13 */ + 0x81, 0x6B, 0x81, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x87, 0x80, 0x3F, 0x3F, 0x87, 0x81, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x82, 0x9F, 0x82, 0x00, 0x82, 0x00, /* 0x40-0x43 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x44-0x47 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x48-0x4B */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x4C-0x4F */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x50-0x53 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x54-0x57 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x58-0x5B */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x5C-0x5F */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x60-0x63 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x64-0x67 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x68-0x6B */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x6C-0x6F */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x70-0x73 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x74-0x77 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x78-0x7B */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x7C-0x7F */ + + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x80-0x83 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x84-0x87 */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x88-0x8B */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x8C-0x8F */ + 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x4A, /* 0x98-0x9B */ + 0x81, 0x4B, 0x81, 0x54, 0x81, 0x55, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x83, 0x40, 0x83, 0x41, 0x83, 0x42, /* 0xA0-0xA3 */ + 0x83, 0x43, 0x83, 0x44, 0x83, 0x45, 0x83, 0x46, /* 0xA4-0xA7 */ + 0x83, 0x47, 0x83, 0x48, 0x83, 0x49, 0x83, 0x4A, /* 0xA8-0xAB */ + 0x83, 0x4B, 0x83, 0x4C, 0x83, 0x4D, 0x83, 0x4E, /* 0xAC-0xAF */ + 0x83, 0x4F, 0x83, 0x50, 0x83, 0x51, 0x83, 0x52, /* 0xB0-0xB3 */ + 0x83, 0x53, 0x83, 0x54, 0x83, 0x55, 0x83, 0x56, /* 0xB4-0xB7 */ + 0x83, 0x57, 0x83, 0x58, 0x83, 0x59, 0x83, 0x5A, /* 0xB8-0xBB */ + 0x83, 0x5B, 0x83, 0x5C, 0x83, 0x5D, 0x83, 0x5E, /* 0xBC-0xBF */ + 0x83, 0x5F, 0x83, 0x60, 0x83, 0x61, 0x83, 0x62, /* 0xC0-0xC3 */ + 0x83, 0x63, 0x83, 0x64, 0x83, 0x65, 0x83, 0x66, /* 0xC4-0xC7 */ + 0x83, 0x67, 0x83, 0x68, 0x83, 0x69, 0x83, 0x6A, /* 0xC8-0xCB */ + 0x83, 0x6B, 0x83, 0x6C, 0x83, 0x6D, 0x83, 0x6E, /* 0xCC-0xCF */ + 0x83, 0x6F, 0x83, 0x70, 0x83, 0x71, 0x83, 0x72, /* 0xD0-0xD3 */ + 0x83, 0x73, 0x83, 0x74, 0x83, 0x75, 0x83, 0x76, /* 0xD4-0xD7 */ + 0x83, 0x77, 0x83, 0x78, 0x83, 0x79, 0x83, 0x7A, /* 0xD8-0xDB */ + 0x83, 0x7B, 0x83, 0x7C, 0x83, 0x7D, 0x83, 0x7E, /* 0xDC-0xDF */ + 0x83, 0x80, 0x83, 0x81, 0x83, 0x82, 0x83, 0x83, /* 0xE0-0xE3 */ + 0x83, 0x84, 0x83, 0x85, 0x83, 0x86, 0x83, 0x87, /* 0xE4-0xE7 */ + 0x83, 0x88, 0x83, 0x89, 0x83, 0x8A, 0x83, 0x8B, /* 0xE8-0xEB */ + 0x83, 0x8C, 0x83, 0x8D, 0x83, 0x8E, 0x83, 0x8F, /* 0xEC-0xEF */ + 0x83, 0x90, 0x83, 0x91, 0x83, 0x92, 0x83, 0x93, /* 0xF0-0xF3 */ + 0x83, 0x94, 0x83, 0x95, 0x83, 0x96, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x81, 0x45, /* 0xF8-0xFB */ + 0x81, 0x5B, 0x81, 0x52, 0x81, 0x53, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_32[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x00, 0x58, 0x87, 0x8B, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x87, 0x8C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x87, 0x85, 0x87, 0x86, 0x87, 0x87, 0x87, 0x88, /* 0xA4-0xA7 */ + 0x87, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_33[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x65, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x87, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x87, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x87, 0x63, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x61, 0x87, 0x6B, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x6A, 0x87, 0x64, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x6C, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x66, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x6E, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x87, 0x5F, 0x87, 0x6D, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x87, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x87, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x68, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x7E, /* 0x78-0x7B */ + 0x87, 0x8F, 0x87, 0x8E, 0x87, 0x8D, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x87, 0x72, 0x87, 0x73, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x87, 0x6F, 0x87, 0x70, 0x87, 0x71, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x87, 0x75, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x87, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x87, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_4E[512] = { + 0x88, 0x00, 0x92, 0x9A, 0x3F, 0x3F, 0x8E, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x9C, /* 0x04-0x07 */ + 0x8F, 0x00, 0x8E, 0x4F, 0x8F, 0x00, 0x89, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x95, 0x73, 0x97, 0x5E, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x98, 0x00, 0x89, 0x4E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x8A, 0x8E, 0x98, 0x00, 0x90, 0x00, 0x99, 0x00, /* 0x14-0x17 */ + 0x8B, 0x75, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x00, 0x68, 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x92, 0x86, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x98, 0x00, 0x8B, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x8A, 0x00, 0x92, 0x4F, 0x3F, 0x3F, 0x8E, 0x00, /* 0x38-0x3B */ + 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, 0x94, 0x54, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x8B, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x56, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x93, 0x00, 0x8C, 0x00, 0x96, 0x52, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x68, 0x98, 0x00, 0x8F, 0x00, /* 0x54-0x57 */ + 0x98, 0x00, 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x8B, 0x00, 0x8C, 0x00, 0x96, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x97, 0x90, 0x3F, 0x3F, 0x93, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x8B, 0x54, 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x98, 0x00, 0x97, 0x00, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x97, 0x5C, 0x91, 0x88, 0x98, 0x00, 0x8E, 0x96, /* 0x88-0x8B */ + 0x93, 0x00, 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x89, 0x5D, 0x8C, 0x00, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x8C, 0x00, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x98, 0x6A, 0x98, 0x69, 0x3F, 0x3F, 0x8D, 0x00, /* 0x98-0x9B */ + 0x88, 0x9F, 0x3F, 0x3F, 0x98, 0x00, 0x98, 0x00, /* 0x9C-0x9F */ + 0x98, 0x00, 0x96, 0x53, 0x98, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x8C, 0x00, 0x88, 0x00, 0x96, 0x92, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x8B, 0x9C, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x9D, /* 0xA8-0xAB */ + 0x8B, 0x9E, 0x92, 0x00, 0x97, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x6C, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x8F, 0x59, 0x90, 0x6D, 0x98, 0x00, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x98, 0x00, 0x3F, 0x3F, 0x98, 0x00, 0x8B, 0x77, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x89, 0x00, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x98, 0x00, 0x98, 0x00, 0x95, 0x00, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x8E, 0x65, 0x8E, 0x64, 0x91, 0x00, 0x98, 0x00, /* 0xD4-0xD7 */ + 0x95, 0x74, 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x81, 0x57, 0x98, 0x00, 0x98, 0x00, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x00, 0x69, 0x3F, 0x3F, 0x91, 0x00, /* 0xE0-0xE3 */ + 0x97, 0x00, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x98, 0x00, 0x89, 0x00, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x8B, 0x00, 0x3F, 0x3F, 0x92, 0x87, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x8F, 0x98, 0x00, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x43, /* 0xF8-0xFB */ + 0x00, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_4F[512] = { + 0x00, 0x6B, 0x8A, 0x00, 0x3F, 0x3F, 0x00, 0x6C, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x98, 0x00, 0x88, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x8C, 0x00, 0x8A, 0x00, 0x95, 0x9A, /* 0x0C-0x0F */ + 0x94, 0x00, 0x8B, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x98, 0x00, 0x93, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x8C, /* 0x2C-0x2F */ + 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x94, 0x00, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x90, 0x4C, 0x00, 0x6D, 0x8E, 0x66, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x8E, 0x97, 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x41, 0x98, 0x00, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x88, 0x00, 0x92, 0x00, 0x8F, 0x5A, /* 0x4C-0x4F */ + 0x8D, 0x00, 0x97, 0x43, 0x3F, 0x3F, 0x91, 0x00, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x89, 0x00, 0x00, 0x6E, 0x98, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x97, 0x5D, 0x98, 0x00, 0x98, 0x00, /* 0x58-0x5B */ + 0x8D, 0x00, 0x98, 0x00, 0x9B, 0x43, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, /* 0x6C-0x6F */ + 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x95, 0x00, 0x98, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, /* 0x78-0x7B */ + 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x67, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x98, 0x00, 0x3F, 0x3F, 0x00, 0x70, 0x97, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x8E, 0x98, 0x3F, 0x3F, 0x98, 0x00, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x98, 0x00, 0x00, 0x6F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x00, 0x72, 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x98, 0x00, 0x3F, 0x3F, 0x00, 0x71, 0x8B, 0x9F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x8B, 0x00, 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x44, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x96, 0x99, 0x95, 0x8E, 0x8C, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x90, 0x4E, 0x97, 0x00, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x57, 0x91, 0x00, /* 0xC0-0xC3 */ + 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x00, 0x61, 0x8F, 0x72, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x00, 0x73, 0x98, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x98, 0x00, 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, /* 0xD4-0xD7 */ + 0x98, 0x00, 0x3F, 0x3F, 0x98, 0x00, 0x98, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x98, 0x00, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x90, 0x4D, 0x3F, 0x3F, 0x96, 0x93, /* 0xE0-0xE3 */ + 0x98, 0x00, 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x43, 0x98, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x6F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x95, 0x55, 0x98, 0x00, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x95, 0x00, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, 0x00, 0x76, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_50[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x98, 0x00, 0x98, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x91, 0x71, 0x3F, 0x3F, 0x8C, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x94, 0x7B, 0x3F, 0x3F, 0x00, 0x00, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x98, 0x00, 0x93, 0x7C, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x98, 0x00, 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x8C, 0x00, 0x98, 0x00, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x77, 0x8E, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x98, 0x00, 0x00, 0x75, 0x95, 0x00, /* 0x20-0x23 */ + 0x92, 0x6C, 0x98, 0x00, 0x8C, 0x91, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x98, 0x00, 0x98, 0x00, 0x98, 0x00, 0x97, 0x00, /* 0x28-0x2B */ + 0x98, 0x00, 0x98, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x8C, 0x90, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x00, 0x74, 0x3F, 0x3F, 0x00, 0x7A, 0x98, 0x00, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x78, 0x98, 0x00, /* 0x44-0x47 */ + 0x98, 0x00, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0x4C-0x4F */ + 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x98, 0x00, 0x98, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x8C, 0x92, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x00, 0x79, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x91, 0x00, 0x92, 0x00, 0x8B, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x8B, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x96, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x8C, 0x86, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x00, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x8E, 0x50, 0x94, 0x00, 0x98, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x8D, 0x00, 0x97, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, 0x99, 0x42, /* 0xB0-0xB3 */ + 0x98, 0x00, 0x8D, 0x00, 0x3F, 0x3F, 0x8F, 0x9D, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x58, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x43, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x99, 0x40, 0x99, 0x41, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x91, 0x9C, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x96, 0x6C, 0x99, 0x44, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x7D, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x45, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x48, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x99, 0x46, 0x3F, 0x3F, 0x91, 0x6D, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x99, 0x47, 0x99, 0x49, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x7C, 0x99, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x99, 0x4A, 0x3F, 0x3F, 0x95, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_51[512] = { + 0x8B, 0x56, 0x99, 0x4D, 0x99, 0x4E, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x99, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x99, 0x51, 0x99, 0x50, 0x99, 0x4F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x98, 0x00, 0x3F, 0x3F, 0x99, 0x52, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x9E, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x99, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x44, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x55, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x54, 0x99, 0x57, /* 0x38-0x3B */ + 0x99, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x58, /* 0x3C-0x3F */ + 0x99, 0x59, 0x88, 0x00, 0x3F, 0x3F, 0x8C, 0x00, /* 0x40-0x43 */ + 0x8C, 0x5A, 0x8F, 0x5B, 0x92, 0x9B, 0x8B, 0x00, /* 0x44-0x47 */ + 0x90, 0x00, 0x8C, 0x00, 0x00, 0x7E, 0x8D, 0x8E, /* 0x48-0x4B */ + 0x99, 0x5B, 0x96, 0x00, 0x93, 0x65, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x8E, 0x99, 0x3F, 0x3F, 0x99, 0x5A, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x99, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x7D, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x8A, 0x95, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x5D, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x80, 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x91, 0x53, 0x99, 0x5F, 0x99, 0x60, 0x94, 0x00, /* 0x68-0x6B */ + 0x8C, 0x00, 0x98, 0x5A, 0x99, 0x61, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x95, 0x00, 0x91, 0x00, 0x8B, 0x00, /* 0x74-0x77 */ + 0x93, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x8C, 0x93, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x99, 0x62, 0x3F, 0x3F, 0x99, 0x63, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x93, 0x00, 0x89, 0x7E, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x99, 0x66, 0x8D, 0x00, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x99, 0x65, 0x8D, 0x00, 0x3F, 0x3F, 0x99, 0x67, /* 0x8C-0x8F */ + 0x00, 0x00, 0x99, 0x68, 0x96, 0x60, 0x99, 0x69, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x99, 0x6A, 0x99, 0x6B, 0x8F, 0x00, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x00, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x8A, 0x00, 0x3F, 0x3F, 0x99, 0x6E, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x99, 0x6C, 0x96, 0x00, 0x99, 0x6D, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x95, 0x79, 0x99, 0x6F, 0x99, 0x70, 0x99, 0x71, /* 0xA8-0xAB */ + 0x93, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x99, 0x75, 0x99, 0x73, 0x99, 0x74, 0x99, 0x72, /* 0xB0-0xB3 */ + 0x8D, 0x00, 0x99, 0x76, 0x96, 0x00, 0x97, 0x00, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x99, 0x77, 0x00, 0x82, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x90, 0x00, 0x99, 0x78, 0x8F, 0x79, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x99, 0x79, 0x3F, 0x3F, 0x92, 0x9C, /* 0xC8-0xCB */ + 0x97, 0x00, 0x93, 0x80, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x7A, /* 0xD8-0xDB */ + 0x00, 0x00, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x99, 0x7B, 0x96, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x88, 0x91, 0x00, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x99, 0x7D, 0x93, 0x00, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x00, 0x83, 0x99, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x99, 0x80, 0x8A, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x99, 0x81, 0x8B, 0x00, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x93, 0x00, 0x89, 0x9A, 0x8F, 0x6F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x94, 0x9F, 0x99, 0x82, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_52[512] = { + 0x93, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x6E, /* 0x00-0x03 */ + 0x99, 0x83, 0x3F, 0x3F, 0x95, 0x00, 0x90, 0x00, /* 0x04-0x07 */ + 0x8A, 0x00, 0x3F, 0x3F, 0x8A, 0x00, 0x99, 0x84, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x86, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x8C, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x99, 0x85, 0x00, 0x84, 0x3F, 0x3F, 0x97, 0x00, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x8F, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x94, 0x00, 0x95, 0x00, 0x3F, 0x3F, 0x99, 0x87, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x97, 0x98, 0x99, 0x88, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x89, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x93, 0x9E, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x8A, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, 0x8D, 0x00, /* 0x34-0x37 */ + 0x8C, 0x94, 0x99, 0x8B, 0x8E, 0x68, 0x8D, 0x8F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, /* 0x40-0x43 */ + 0x99, 0x8D, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x99, 0x8E, /* 0x48-0x4B */ + 0x99, 0x8F, 0x91, 0x4F, 0x3F, 0x3F, 0x99, 0x8C, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x99, 0x91, 0x3F, 0x3F, 0x96, 0x55, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x84, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x90, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x95, /* 0x60-0x63 */ + 0x8D, 0x00, 0x94, 0x8D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x99, 0x94, 0x99, 0x92, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x9B, /* 0x6C-0x6F */ + 0x8F, 0x00, 0x99, 0x9B, 0x8A, 0x84, 0x99, 0x95, /* 0x70-0x73 */ + 0x99, 0x93, 0x91, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x99, 0x97, 0x3F, 0x3F, 0x99, 0x96, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x63, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x80, /* 0x84-0x87 */ + 0x99, 0x9C, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x99, 0x98, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x99, 0x9D, 0x99, 0x9A, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x99, 0x99, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0x98-0x9B */ + 0x00, 0x85, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0x9C-0x9F */ + 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x86, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x8F, 0x95, 0x93, 0x77, 0x8D, 0x85, /* 0xA8-0xAB */ + 0x99, 0x00, 0x99, 0x00, 0x3F, 0x3F, 0x00, 0x77, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x98, 0x4A, 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x99, 0x00, 0x3F, 0x3F, 0x8A, 0x4E, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x00, 0x87, 0x99, 0x00, 0x3F, 0x3F, 0x96, 0x75, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x97, 0x45, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x99, 0x00, /* 0xD4-0xD7 */ + 0x8A, 0x00, 0x96, 0x00, 0x3F, 0x3F, 0x00, 0x88, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x8F, 0x9F, 0x99, 0x00, 0x95, 0x00, /* 0xDC-0xDF */ + 0x99, 0x00, 0x3F, 0x3F, 0x90, 0x00, 0x99, 0x00, /* 0xE0-0xE3 */ + 0x8B, 0x00, 0x3F, 0x3F, 0x99, 0x00, 0x8A, 0x00, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x4D, 0x99, 0x00, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x99, 0x00, 0x99, 0x00, 0x8E, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, 0x96, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_53[512] = { + 0x00, 0x89, 0x96, 0x00, 0x93, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x95, 0x00, 0x99, 0x00, 0x00, 0x8A, /* 0x04-0x07 */ + 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x99, 0x00, /* 0x0C-0x0F */ + 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x99, 0x00, 0x89, 0x00, 0x96, 0x6B, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x8D, 0x00, 0x99, 0x00, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x91, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x8F, 0x00, 0x8B, 0x00, 0x3F, 0x3F, 0x99, 0x00, /* 0x20-0x23 */ + 0x00, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x99, 0x00, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x99, 0x00, 0x95, 0x43, 0x8B, 0x00, 0x88, 0x00, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0x3C-0x3F */ + 0x99, 0x00, 0x8F, 0x5C, 0x3F, 0x3F, 0x90, 0x00, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x99, 0x00, 0x99, 0x00, 0x8F, 0x00, /* 0x44-0x47 */ + 0x8C, 0x00, 0x99, 0x00, 0x94, 0x00, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x94, 0x00, 0x91, 0x00, 0x91, 0x00, /* 0x50-0x53 */ + 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0x54-0x57 */ + 0x92, 0x50, 0x3F, 0x3F, 0x94, 0x8E, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x96, 0x6D, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x54, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, 0x89, 0x4B, /* 0x6C-0x6F */ + 0x88, 0x00, 0x8A, 0x00, 0x00, 0x8C, 0x91, 0x00, /* 0x70-0x73 */ + 0x8B, 0x70, 0x97, 0x91, 0x3F, 0x3F, 0x99, 0x00, /* 0x74-0x77 */ + 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8D, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x97, 0x00, 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0x9C-0x9F */ + 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x99, 0x00, 0x99, 0x00, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x90, 0x7E, 0x89, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x89, 0x7D, 0x99, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x99, 0x00, 0x3F, 0x3F, 0x00, 0x8E, 0x8C, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x8E, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x51, 0x99, 0x00, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x96, 0x94, 0x8D, 0x00, 0x8B, 0x79, 0x97, 0x46, /* 0xC8-0xCB */ + 0x91, 0x6F, 0x94, 0x00, 0x8E, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x8F, 0x66, 0x3F, 0x3F, 0x8E, 0x00, 0x8E, 0x00, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x8F, 0x96, 0x3F, 0x3F, 0x94, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x00, 0x8F, 0x3F, 0x3F, 0x99, 0x00, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x89, 0x62, 0x91, 0x70, 0x8C, 0x00, /* 0xE0-0xE3 */ + 0x8C, 0x00, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x99, 0x00, 0x92, 0x40, 0x91, 0x00, 0x8B, 0x00, /* 0xE8-0xEB */ + 0x8F, 0x00, 0x99, 0x00, 0x99, 0x00, 0x89, 0x00, /* 0xEC-0xEF */ + 0x91, 0x00, 0x8E, 0x00, 0x8E, 0x6A, 0x89, 0x45, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x90, 0x8D, 0x86, /* 0xF4-0xF7 */ + 0x8E, 0x69, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_54[512] = { + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x8B, 0x68, /* 0x00-0x03 */ + 0x8A, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x8D, 0x87, 0x8B, 0x67, 0x92, 0x00, 0x89, 0x44, /* 0x08-0x0B */ + 0x93, 0x00, 0x96, 0x00, 0x8D, 0x40, 0x97, 0x99, /* 0x0C-0x0F */ + 0x93, 0x66, 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x4E, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x8B, 0x00, /* 0x1C-0x1F */ + 0x96, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x8A, 0x00, /* 0x28-0x2B */ + 0x99, 0x00, 0x99, 0x00, 0x99, 0x00, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x8B, 0x7A, 0x90, 0x81, 0x3F, 0x3F, 0x95, 0x00, /* 0x38-0x3B */ + 0x99, 0x00, 0x99, 0x00, 0x8C, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x99, 0x00, 0x3F, 0x3F, 0x98, 0x43, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x92, 0x00, 0x8C, 0x00, 0x8D, 0x90, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x8E, 0x00, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x99, 0x00, 0x99, 0x00, 0x3F, 0x3F, 0x96, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x99, 0x00, 0x99, 0x00, 0x99, 0x00, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, /* 0x78-0x7B */ + 0x8C, 0x00, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x99, 0x00, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x92, 0x8D, 0x00, /* 0x88-0x8B */ + 0x98, 0x61, 0x3F, 0x3F, 0x99, 0x00, 0x99, 0x00, /* 0x8C-0x8F */ + 0x99, 0x00, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x00, 0x91, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x9A, 0x42, 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x99, 0x00, 0x00, 0x93, 0x3F, 0x3F, 0x9A, 0x40, /* 0xA8-0xAB */ + 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x5D, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x8A, 0x50, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x9A, 0x44, 0x88, 0x00, 0x9A, 0x43, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x88, 0x00, 0x95, 0x69, 0x9A, 0x41, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x99, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x00, /* 0xC4-0xC7 */ + 0x99, 0x00, 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x9A, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x88, 0x00, 0x9A, 0x4E, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x9A, 0x46, 0x9A, 0x47, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x8F, 0x00, 0x96, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x9A, 0x4C, 0x9A, 0x4B, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x4E, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x4D, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x9A, 0x4A, 0x3F, 0x3F, 0x00, 0x94, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_55[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x89, 0x53, 0x3F, 0x3F, 0x8D, 0x00, 0x90, 0x4F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x48, /* 0x0C-0x0F */ + 0x93, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x9A, 0x49, 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x53, 0x97, 0x42, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, 0x9A, 0x59, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x9A, 0x58, 0x9A, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x9A, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x91, 0x00, 0x9A, 0x55, 0x8F, 0x00, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x9A, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x5B, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x56, 0x9A, 0x57, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x9A, 0x54, 0x9A, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x51, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x60, /* 0x78-0x7B */ + 0x9A, 0x65, 0x3F, 0x3F, 0x9A, 0x61, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x9A, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x66, /* 0x80-0x83 */ + 0x91, 0x50, 0x3F, 0x3F, 0x00, 0x95, 0x9A, 0x68, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x8D, 0x41, 0x9A, 0x5E, 0x92, 0x9D, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x9A, 0x62, 0x9A, 0x5B, 0x8A, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x8A, 0x00, 0x8A, 0x85, 0x9A, 0x63, 0x9A, 0x5F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x96, /* 0xA4-0xA7 */ + 0x9A, 0x69, 0x9A, 0x67, 0x91, 0x72, 0x8B, 0x69, /* 0xA8-0xAB */ + 0x8B, 0x00, 0x3F, 0x3F, 0x9A, 0x64, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x63, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x9A, 0x6D, 0x9A, 0x6B, 0x3F, 0x3F, 0x9A, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x9A, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x6A, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x9A, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x6C, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x6B, /* 0xE0-0xE3 */ + 0x9A, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x72, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x9A, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x9A, 0x75, 0x9A, 0x74, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_56[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x51, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x9A, 0x71, 0x3F, 0x3F, 0x9A, 0x73, 0x8F, 0x00, /* 0x14-0x17 */ + 0x89, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x76, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x82, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x8F, 0x00, 0x9A, 0x7D, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x9A, 0x7B, 0x3F, 0x3F, 0x9A, 0x7C, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x9A, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x5C, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x91, 0x58, 0x3F, 0x3F, 0x9A, 0x78, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x9A, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x9A, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x9A, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x8A, 0x00, 0x3F, 0x3F, 0x9A, 0x84, 0x9A, 0x80, /* 0x68-0x6B */ + 0x9A, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x93, 0x00, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x9A, 0x86, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x85, 0x8A, 0x64, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x87, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x8A, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x9A, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x9A, 0x88, 0x3F, 0x3F, 0x94, 0x58, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x9A, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x8C, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x9A, 0x8E, 0x3F, 0x3F, 0x9A, 0x8D, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x9A, 0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x9A, 0x93, 0x9A, 0x91, 0x9A, 0x8F, 0x9A, 0x92, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x9A, 0x94, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x95, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x9A, 0x96, 0x3F, 0x3F, 0x9A, 0x97, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x98, /* 0xD4-0xD7 */ + 0x99, 0x64, 0x3F, 0x3F, 0x8E, 0x00, 0x8E, 0x6C, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x63, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x99, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x8D, 0x00, 0x3F, 0x3F, 0x88, 0x00, 0x90, 0x7D, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x9A, 0x9A, 0x8C, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x8D, 0x91, 0x3F, 0x3F, 0x9A, 0x9C, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_57[512] = { + 0x9A, 0x9B, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0x00-0x03 */ + 0x9A, 0x9D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x9A, 0x9F, 0x9A, 0x9E, 0x3F, 0x3F, 0x9A, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x8C, 0x97, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x80, 0x9A, 0x00, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x79, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x88, 0x00, /* 0x24-0x27 */ + 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x8C, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x92, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, /* 0x34-0x37 */ + 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x9A, 0x00, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x56, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x9A, 0x00, /* 0x4C-0x4F */ + 0x8D, 0x00, 0x8D, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x00, 0x96, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x8D, 0x00, 0x00, 0x97, 0x92, 0x52, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x9A, 0x00, 0x92, 0x00, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x82, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x9A, 0x00, 0x9A, 0x00, 0x3F, 0x3F, 0x8C, 0x5E, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x9A, 0x00, 0x3F, 0x3F, 0x8D, 0x43, 0x8A, 0x5F, /* 0xA0-0xA3 */ + 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x00, 0x98, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x00, 0x9A, /* 0xC4-0xC7 */ + 0x00, 0x99, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x84, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x9A, 0x00, /* 0xD0-0xD3 */ + 0x9A, 0x00, 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x94, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0xDC-0xDF */ + 0x95, 0x75, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x94, 0x7C, 0x8A, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_58[512] = { + 0x96, 0x78, 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x8C, 0x98, 0x91, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x9A, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9F, /* 0x2C-0x2F */ + 0x89, 0x81, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x8F, 0x00, 0x93, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x95, 0x00, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x9A, 0x00, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x91, 0x59, 0x9A, 0x00, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x93, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x68, /* 0x54-0x57 */ + 0x93, 0x84, 0x94, 0x00, 0x92, 0x00, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x89, 0x96, 0x3F, 0x3F, 0x93, 0x55, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x9A, 0x00, 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x90, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x6D, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x9D, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x92, 0x00, 0x3F, 0x3F, 0x00, 0x9D, 0x9A, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x96, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9E, 0x95, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x9A, 0x00, 0x9A, 0x00, 0x9A, 0x00, 0x9A, 0x00, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x92, 0x64, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x9A, 0x00, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x8D, 0x88, 0x3F, 0x3F, 0x9A, 0x00, /* 0xD4-0xD7 */ + 0x9A, 0x00, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x9A, 0x00, 0x3F, 0x3F, 0x9A, 0x00, 0x9A, 0x00, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x9A, 0x00, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x6D, /* 0xE8-0xEB */ + 0x90, 0x70, 0x3F, 0x3F, 0x91, 0x73, 0x9A, 0x00, /* 0xEC-0xEF */ + 0x90, 0x00, 0x88, 0x00, 0x94, 0x84, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x9A, 0x00, 0x9A, 0x00, 0x9A, 0x00, /* 0xF8-0xFB */ + 0x9A, 0x00, 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_59[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x95, 0x00, 0x9A, 0x00, 0x00, 0x9F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0x0C-0x0F */ + 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x97, 0x5B, 0x8A, 0x4F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x99, 0x00, 0x8F, 0x67, 0x91, 0x00, 0x9A, 0x00, /* 0x18-0x1B */ + 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, 0x91, 0x00, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x93, 0x56, 0x91, 0x00, 0x95, 0x76, /* 0x28-0x2B */ + 0x9A, 0x00, 0x9A, 0x00, 0x89, 0x9B, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x8E, 0x00, 0x9A, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0x34-0x37 */ + 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x89, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0x44-0x47 */ + 0x93, 0x00, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x91, 0x74, /* 0x4C-0x4F */ + 0x9A, 0x00, 0x8C, 0x5F, 0x3F, 0x3F, 0x00, 0x00, /* 0x50-0x53 */ + 0x96, 0x7A, 0x9A, 0x00, 0x3F, 0x3F, 0x93, 0x85, /* 0x54-0x57 */ + 0x9A, 0x00, 0x3F, 0x3F, 0x9A, 0x00, 0x00, 0x00, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x9A, 0x00, 0x3F, 0x3F, 0x9A, 0x00, 0x00, 0x00, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x89, 0x9C, 0x3F, 0x3F, 0x9A, 0x00, /* 0x64-0x67 */ + 0x8F, 0x00, 0x9A, 0x00, 0x92, 0x44, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x9A, 0x00, 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x97, /* 0x70-0x73 */ + 0x93, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x9B, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x8D, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x9B, 0x41, 0x94, 0x40, 0x94, 0x00, /* 0x80-0x83 */ + 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x44, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x9B, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x57, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x64, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, 0x9B, 0x00, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x9B, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x45, /* 0xA0-0xA3 */ + 0x00, 0x00, 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x96, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x93, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x46, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x96, 0x85, 0x00, 0x00, 0x8D, 0x00, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x47, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x8E, 0x6F, 0x3F, 0x3F, 0x8E, 0x6E, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x88, 0x00, 0x8C, 0x00, 0x3F, 0x3F, 0x90, 0x00, /* 0xD0-0xD3 */ + 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x9B, 0x4B, 0x9B, 0x4C, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x9B, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x89, 0x57, 0x8A, 0x00, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x9B, 0x48, 0x3F, 0x3F, 0x96, 0x00, 0x95, 0x50, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x70, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5A[512] = { + 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, 0x88, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x9B, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x9B, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x96, 0x00, 0x3F, 0x3F, 0x9B, 0x52, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x9B, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x4E, /* 0x1C-0x1F */ + 0x90, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x9B, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x9B, 0x56, 0x9B, 0x57, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x9B, 0x53, 0x98, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x6B, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x9B, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x58, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x77, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x59, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x9B, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x7D, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x5A, 0x95, 0x51, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x9B, 0x5B, 0x9B, 0x5F, 0x9B, 0x5C, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x89, 0x00, 0x9B, 0x5E, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, 0x9B, 0x5D, /* 0xC8-0xCB */ + 0x8C, 0x99, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x9B, 0x6B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x64, 0x9B, 0x61, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x92, 0x84, 0x3F, 0x3F, 0x9B, 0x60, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x62, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x9B, 0x63, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x65, 0x9B, 0x66, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5B[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, 0x9B, 0x68, /* 0x08-0x0B */ + 0x9B, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x69, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x6C, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x89, 0x64, 0x3F, 0x3F, 0x9B, 0x6A, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x6D, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x6E, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x9B, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x6F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x9B, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x8E, 0x71, 0x9B, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x8D, 0x45, 0x9B, 0x73, 0x00, 0x00, 0x8E, 0x9A, /* 0x54-0x57 */ + 0x91, 0x00, 0x3F, 0x3F, 0x9B, 0x74, 0x9B, 0x75, /* 0x58-0x5B */ + 0x8E, 0x79, 0x8D, 0x46, 0x3F, 0x3F, 0x96, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x47, /* 0x60-0x63 */ + 0x8C, 0x00, 0x9B, 0x76, 0x8A, 0x77, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x9B, 0x77, 0x3F, 0x3F, 0x91, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x9B, 0x78, 0x9B, 0x00, 0x3F, 0x3F, 0x9B, 0x79, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x9B, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x9B, 0x7B, 0x3F, 0x3F, 0x9B, 0x7D, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x9B, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x80, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, 0x89, 0x46, /* 0x84-0x87 */ + 0x8E, 0x00, 0x88, 0x00, 0x3F, 0x3F, 0x91, 0x76, /* 0x88-0x8B */ + 0x8A, 0x00, 0x8E, 0x00, 0x3F, 0x3F, 0x8D, 0x47, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x93, 0x86, 0x3F, 0x3F, 0x8F, 0x40, /* 0x94-0x97 */ + 0x8A, 0x00, 0x92, 0x88, 0x92, 0x00, 0x88, 0x00, /* 0x98-0x9B */ + 0x8B, 0x58, 0x95, 0x00, 0x3F, 0x3F, 0x8E, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x71, 0x90, 0x00, /* 0xA0-0xA3 */ + 0x8E, 0x00, 0x97, 0x47, 0x9B, 0x81, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x7B, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x51, /* 0xB0-0xB3 */ + 0x89, 0x83, 0x8F, 0x00, 0x89, 0x00, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x9B, 0x82, 0x97, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x68, /* 0xBC-0xBF */ + 0x00, 0x00, 0x3F, 0x3F, 0x8E, 0x00, 0x9B, 0x83, /* 0xC0-0xC3 */ + 0x8A, 0x00, 0x93, 0x00, 0x96, 0x00, 0x9B, 0x84, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x9B, 0x85, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x95, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x9B, 0x87, 0x3F, 0x3F, 0x8A, 0x00, 0x8B, 0x00, /* 0xD0-0xD3 */ + 0x9B, 0x86, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x90, 0x51, 0x9B, 0x8B, 0x8E, 0x40, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x89, 0x00, 0x9B, 0x8A, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x9B, 0x88, 0x9B, 0x8C, 0x9B, 0x89, 0x94, 0x4A, /* 0xE4-0xE7 */ + 0x9E, 0x00, 0x90, 0x52, 0x3F, 0x3F, 0x9B, 0x8D, /* 0xE8-0xEB */ + 0x00, 0x00, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x9B, 0x8E, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x90, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x92, 0x9E, 0x9B, 0x8F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x90, 0x00, 0x3F, 0x3F, 0x8E, 0x9B, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, 0x8E, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5C[512] = { + 0x3F, 0x3F, 0x95, 0x95, 0x90, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x8E, 0x00, 0x9B, 0x91, 0x8F, 0x00, 0x9B, 0x92, /* 0x04-0x07 */ + 0x9B, 0x93, 0x88, 0x00, 0x91, 0x00, 0x90, 0x71, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x9B, 0x94, 0x93, 0x00, 0x8F, 0x00, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, 0x9B, 0x95, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x9B, 0x96, 0x3F, 0x3F, 0x9B, 0x97, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x9B, 0x98, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x8F, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x9B, 0x99, 0x9B, 0x9A, 0x8E, 0x00, 0x90, 0x4B, /* 0x38-0x3B */ + 0x93, 0x00, 0x90, 0x73, 0x94, 0x00, 0x94, 0x41, /* 0x3C-0x3F */ + 0x8B, 0x00, 0x9B, 0x9B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x8B, 0x8F, 0x9B, 0x9C, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x8B, 0x00, 0x3F, 0x3F, 0x93, 0x00, 0x89, 0x00, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x8E, 0x72, 0x9B, 0x9D, 0x9B, 0x00, /* 0x4C-0x4F */ + 0x9B, 0x9F, 0x8B, 0x00, 0x3F, 0x3F, 0x9B, 0x9E, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x93, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x93, 0x6A, 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x91, 0x77, 0x97, 0x9A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x9B, 0x00, 0x3F, 0x3F, 0x9B, 0x00, 0x93, 0x00, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x8E, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x8A, 0x00, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x91, 0x5A, 0x8A, 0x00, 0x3F, 0x3F, 0x9B, 0x00, /* 0xA8-0xAB */ + 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, 0x8A, 0x78, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x9B, 0x00, /* 0xB4-0xB7 */ + 0x8A, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x9B, 0x00, /* 0xB8-0xBB */ + 0x9B, 0x00, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, 0x9B, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x93, 0x00, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x89, 0x00, 0x9B, 0x00, 0x9B, 0x00, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, 0x95, 0x00, /* 0xEC-0xEF */ + 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x93, 0x87, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x8F, 0x73, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5D[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x92, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x9B, 0x00, 0x9B, 0x00, 0x8A, 0x52, 0x9B, 0x00, /* 0x14-0x17 */ + 0x9B, 0x00, 0x9B, 0x00, 0x9B, 0x00, 0x9B, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0x48-0x4B */ + 0x9B, 0x00, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x97, 0x92, 0x3F, 0x3F, 0x9B, 0x00, 0x00, 0x00, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x90, 0x93, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x9B, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x8D, 0x00, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x88, /* 0x88-0x8B */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x9B, 0x00, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0xB4-0xB7 */ + 0x00, 0x00, 0x00, 0x00, 0x97, 0x00, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x9B, 0x00, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x8A, 0x00, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x00, 0x00, 0x3F, 0x3F, 0x9B, 0x00, 0x9B, 0x00, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x90, 0x00, 0x8F, 0x42, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x8F, 0x84, 0x3F, 0x3F, 0x91, 0x83, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x8D, 0x48, 0x8D, 0x00, 0x8D, 0x49, /* 0xE4-0xE7 */ + 0x8B, 0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x8C, 0x00, 0x9B, 0x00, 0x96, 0x00, /* 0xF0-0xF3 */ + 0x94, 0x62, 0x9B, 0x00, 0x3F, 0x3F, 0x8D, 0x4A, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x92, 0x46, 0x8B, 0x00, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x73, 0x95, 0x7A, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0x08-0x0B */ + 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x9F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x9B, 0x00, 0x9B, 0x00, 0x9B, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x90, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x74, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, 0x91, 0x00, /* 0x2C-0x2F */ + 0x8B, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, 0x9B, 0x00, /* 0x34-0x37 */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x96, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0x40-0x43 */ + 0x9B, 0x00, 0x95, 0x9D, 0x3F, 0x3F, 0x9B, 0x00, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x96, 0x79, 0x3F, 0x3F, 0x9B, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x9B, 0x00, 0x96, 0x8B, 0x3F, 0x3F, 0x9B, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x94, 0x00, 0x9B, 0x00, 0x95, 0x00, /* 0x60-0x63 */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, 0x95, 0x00, /* 0x70-0x73 */ + 0x94, 0x4E, 0x9B, 0x00, 0x9B, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x8D, 0x4B, 0x8A, 0x00, 0x9B, 0x00, 0x8C, 0x00, /* 0x78-0x7B */ + 0x97, 0x63, 0x97, 0x48, 0x8A, 0x00, 0x9B, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x8D, 0x4C, /* 0x80-0x83 */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x98, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x92, 0x00, 0x95, 0x00, 0x93, 0x58, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x4D, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x95, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x78, 0x8D, 0x00, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x88, 0x00, 0x8F, 0x8E, 0x8D, 0x4E, /* 0xB4-0xB7 */ + 0x97, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x9B, 0x00, 0x9B, 0x00, 0x94, 0x70, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x9B, 0x00, 0x97, 0x00, 0x98, 0x4C, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9B, 0x00, /* 0xCC-0xCF */ + 0x9B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x66, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x40, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x43, 0x9C, 0x44, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x9C, 0x42, 0x3F, 0x3F, 0x95, 0x5F, /* 0xDC-0xDF */ + 0x8F, 0x00, 0x9C, 0x46, 0x9C, 0x45, 0x9C, 0x41, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x9C, 0x47, 0x9C, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x9C, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x9C, 0x4C, 0x9C, 0x4A, 0x3F, 0x3F, 0x9C, 0x4B, /* 0xF0-0xF3 */ + 0x9C, 0x4D, 0x3F, 0x3F, 0x89, 0x84, 0x92, 0x00, /* 0xF4-0xF7 */ + 0x9C, 0x4E, 0x3F, 0x3F, 0x8C, 0x9A, 0x89, 0x00, /* 0xF8-0xFB */ + 0x94, 0x55, 0x3F, 0x3F, 0x9C, 0x4F, 0x93, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5F[512] = { + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x9C, 0x50, /* 0x00-0x03 */ + 0x98, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x9C, 0x51, 0x95, 0x00, 0x9C, 0x54, /* 0x08-0x0B */ + 0x98, 0x9F, 0x98, 0x00, 0x3F, 0x3F, 0x8E, 0x00, /* 0x0C-0x0F */ + 0x93, 0x00, 0x9C, 0x55, 0x3F, 0x3F, 0x8B, 0x7C, /* 0x10-0x13 */ + 0x92, 0x00, 0x88, 0x00, 0x9C, 0x56, 0x95, 0x00, /* 0x14-0x17 */ + 0x8D, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x6F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x96, 0x00, 0x8C, 0x00, 0x8C, 0x00, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x9C, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x9C, 0x58, 0x3F, 0x3F, 0x9C, 0x5E, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x00, 0x00, 0x92, 0x00, 0x3F, 0x3F, 0x8B, 0x00, /* 0x34-0x37 */ + 0x9C, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x95, 0x4A, 0x3F, 0x3F, 0x92, 0x65, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x9C, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x00, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x9C, 0x5B, 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x9C, 0x5C, 0x3F, 0x3F, 0x9C, 0x5D, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x9C, 0x5F, 0x3F, 0x3F, 0x93, 0x96, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x60, 0x9C, 0x61, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x9C, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x9C, 0x53, 0x9C, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x9C, 0x63, 0x8C, 0x60, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x46, 0x00, 0x00, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x8D, 0x00, 0x95, 0x56, 0x92, 0x00, /* 0x68-0x6B */ + 0x95, 0x6A, 0x9C, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x8F, 0x00, 0x89, 0x65, 0x3F, 0x3F, 0x9C, 0x65, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x66, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x69, /* 0x7C-0x7F */ + + 0x89, 0x9D, 0x90, 0x00, 0x9C, 0x68, 0x9C, 0x67, /* 0x80-0x83 */ + 0x8C, 0x61, 0x91, 0x00, 0x3F, 0x3F, 0x9C, 0x6D, /* 0x84-0x87 */ + 0x9C, 0x6B, 0x3F, 0x3F, 0x9C, 0x6A, 0x97, 0x00, /* 0x88-0x8B */ + 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x8F, 0x99, 0x9C, 0x6C, 0x93, 0x6B, 0x8F, 0x5D, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0x94-0x97 */ + 0x9C, 0x70, 0x9C, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x6E, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x9C, 0x71, 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x9C, 0x72, 0x95, 0x9C, 0x8F, 0x7A, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x9C, 0x73, 0x94, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0xB0-0xB3 */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x93, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x9C, 0x74, 0x8B, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x53, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x95, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x8A, 0x00, 0x94, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x75, 0x8E, 0x75, /* 0xD4-0xD7 */ + 0x96, 0x59, 0x96, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x89, 0x9E, 0x9C, 0x7A, 0x00, 0x00, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x92, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x9C, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x9C, 0x00, 0x9C, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x94, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x9C, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x76, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x8D, 0x9A, 0x3F, 0x3F, 0x9C, 0x7C, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_60[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x83, 0x9C, 0x89, /* 0x0C-0x0F */ + 0x9C, 0x81, 0x3F, 0x3F, 0x93, 0x7B, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x9C, 0x86, 0x95, 0x7C, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x9C, 0x80, 0x3F, 0x3F, 0x9C, 0x85, /* 0x18-0x1B */ + 0x97, 0x00, 0x8E, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x91, 0x00, 0x9C, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x8B, 0x7D, 0x9C, 0x88, 0x90, 0x00, /* 0x24-0x27 */ + 0x89, 0x85, 0x9C, 0x82, 0x89, 0x00, 0x9C, 0x87, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x9C, 0x84, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x8A, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x9C, 0x8C, 0x9C, 0x96, 0x9C, 0x94, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x91, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x90, 0x97, 0x00, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x9C, 0x92, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x8B, 0x00, 0x3F, 0x3F, 0x8D, 0x50, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x8F, 0x9A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x9C, 0x99, 0x9C, 0x8B, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x9C, 0x8F, /* 0x5C-0x5F */ + 0x9C, 0x7E, 0x3F, 0x3F, 0x89, 0x00, 0x9C, 0x93, /* 0x60-0x63 */ + 0x9C, 0x95, 0x92, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x8D, 0x00, 0x89, 0x00, 0x9C, 0x8D, 0x9C, 0x98, /* 0x68-0x6B */ + 0x9C, 0x97, 0x8B, 0x00, 0x3F, 0x3F, 0x91, 0x00, /* 0x6C-0x6F */ + 0x8A, 0x86, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x8C, 0x62, 0x3F, 0x3F, 0x9C, 0x8E, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x9C, 0x9A, 0x3F, 0x3F, 0x9C, 0x9D, /* 0x80-0x83 */ + 0x9C, 0x9F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x8E, 0x00, 0x00, 0x00, 0x9C, 0x00, /* 0x88-0x8B */ + 0x92, 0x00, 0x9C, 0x9B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x89, 0x00, 0x3F, 0x3F, 0x9C, 0x00, 0x9C, 0x00, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x9E, 0x9C, 0x00, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0x9C-0x9F */ + 0x97, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x78, 0x9C, 0x00, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x94, 0x59, 0x88, 0x00, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x9C, 0x7B, /* 0xB0-0xB3 */ + 0x9C, 0x00, 0x9C, 0x00, 0x96, 0x00, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x93, 0x89, 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x8F, 0x00, 0x9C, 0x00, 0x93, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x98, 0x66, 0x3F, 0x3F, 0x9C, 0x00, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x9C, 0x00, 0x3F, 0x3F, 0x8D, 0x9B, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x90, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x88, 0x00, /* 0xDC-0xDF */ + 0x9C, 0x00, 0x9C, 0x00, 0x3F, 0x3F, 0x91, 0x79, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x9C, /* 0xE4-0xE7 */ + 0x8E, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x91, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x91, 0x7A, /* 0xF0-0xF3 */ + 0x9C, 0x00, 0x3F, 0x3F, 0x9C, 0x00, 0x9C, 0x00, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x8E, 0x00, 0x9C, 0x00, 0x9C, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_61[512] = { + 0x9C, 0x00, 0x8F, 0x44, 0x3F, 0x3F, 0x9C, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x96, 0x00, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x9C, 0x00, 0x9C, 0x00, 0x88, 0x00, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, 0x88, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0x1C-0x1F */ + 0x00, 0x00, 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, /* 0x24-0x27 */ + 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x9C, 0x00, 0x9C, 0x00, 0x9C, 0x00, 0x9C, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, /* 0x44-0x47 */ + 0x8E, 0x9C, 0x3F, 0x3F, 0x9C, 0x00, 0x91, 0x00, /* 0x48-0x4B */ + 0x8D, 0x51, 0x9C, 0x00, 0x90, 0x54, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x9C, 0x00, 0x9C, 0x00, 0x9C, 0x00, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, 0x9C, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x9D, 0x8A, 0x00, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, 0x8C, 0x64, /* 0x64-0x67 */ + 0x8A, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, 0x9C, 0x00, /* 0x6C-0x6F */ + 0x88, 0x00, 0x9C, 0x00, 0x3F, 0x3F, 0x9C, 0x00, /* 0x70-0x73 */ + 0x9C, 0x00, 0x9C, 0x00, 0x8C, 0x63, 0x9C, 0x00, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x7C, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x4A, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x9E, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x97, 0x00, 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x9C, 0x00, 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x00, 0x00, 0x9C, 0x00, 0x9C, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x8C, 0x65, 0x3F, 0x3F, 0x9C, 0x00, /* 0xA8-0xAB */ + 0x9C, 0x00, 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x9B, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, 0x8D, 0x00, /* 0xC4-0xC7 */ + 0x9C, 0x00, 0x9C, 0x00, 0x9C, 0x00, 0x9C, 0x00, /* 0xC8-0xCB */ + 0x9C, 0x00, 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x9C, 0x00, 0x3F, 0x3F, 0x9C, 0x00, 0x9C, 0x00, /* 0xF4-0xF7 */ + 0x8C, 0x9C, 0x3F, 0x3F, 0x9C, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x9C, 0x00, 0x9C, 0x00, 0x9C, 0x00, 0x9C, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_62[512] = { + 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x9C, 0x00, 0x9C, 0x00, 0x95, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x9C, 0x00, 0x9C, 0x00, 0x8F, 0x5E, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x90, 0x00, 0x89, 0x00, 0x89, 0x00, 0x00, 0x00, /* 0x10-0x13 */ + 0x9C, 0x00, 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, 0x9C, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x00, 0x00, 0x9D, 0x40, 0x8C, 0x81, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x9D, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x42, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x43, 0x8B, 0x59, /* 0x2C-0x2F */ + 0x9D, 0x44, 0x3F, 0x3F, 0x9D, 0x45, 0x9D, 0x46, /* 0x30-0x33 */ + 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x5B, /* 0x3C-0x3F */ + 0x8F, 0x8A, 0x9D, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, /* 0x44-0x47 */ + 0x00, 0x00, 0x94, 0x00, 0x3F, 0x3F, 0x8E, 0x00, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x8D, 0x00, 0x9D, 0x48, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x4B, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x49, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x9D, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x4A, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x9D, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x7D, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x9D, 0x4E, 0x3F, 0x3F, 0x9D, 0x51, 0x8F, 0x00, /* 0x7C-0x7F */ + + 0x8B, 0x5A, 0x3F, 0x3F, 0x9D, 0x4F, 0x9D, 0x56, /* 0x80-0x83 */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x9D, 0x50, 0x94, 0x63, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x97, 0x7D, 0x9D, 0x52, 0x9D, 0x53, /* 0x90-0x93 */ + 0x9D, 0x57, 0x93, 0x8A, 0x9D, 0x54, 0x8D, 0x52, /* 0x94-0x97 */ + 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x65, /* 0x98-0x9B */ + 0x94, 0x00, 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, /* 0xA8-0xAB */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x96, 0x95, 0x3F, 0x3F, 0x9D, 0x5A, /* 0xB8-0xBB */ + 0x89, 0x9F, 0x92, 0x8A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x63, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x92, 0x53, 0x9D, 0x5D, 0x9D, 0x64, /* 0xC4-0xC7 */ + 0x9D, 0x5F, 0x9D, 0x66, 0x9D, 0x62, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x9D, 0x61, 0x94, 0x8F, 0x3F, 0x3F, 0x9D, 0x5B, /* 0xCC-0xCF */ + 0x89, 0x00, 0x9D, 0x59, 0x8B, 0x91, 0x91, 0x00, /* 0xD0-0xD3 */ + 0x9D, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x58, /* 0xD4-0xD7 */ + 0x8D, 0x53, 0x90, 0x00, 0x3F, 0x3F, 0x8F, 0x00, /* 0xD8-0xDB */ + 0x9D, 0x60, 0x94, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x8B, 0x92, 0x8A, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x8A, 0x87, 0x90, 0x40, 0x9D, 0x68, 0x9D, 0x6D, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x9D, 0x69, 0x3F, 0x3F, 0x8C, 0x9D, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x9D, 0x6E, 0x8E, 0x41, 0x8D, 0x89, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x45, 0x9D, 0x5C, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_63[512] = { + 0x3F, 0x3F, 0x8E, 0x9D, 0x9D, 0x6B, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x77, /* 0x04-0x07 */ + 0x9D, 0x6C, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x9D, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x8B, 0x93, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x6A, /* 0x24-0x27 */ + 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x55, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x94, 0x00, 0x9D, 0x70, 0x91, 0x7D, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x8E, 0x4A, 0x9D, 0x71, 0x3F, 0x3F, 0x9D, 0x73, /* 0x4C-0x4F */ + 0x9D, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x92, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x91, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0x64-0x67 */ + 0x8E, 0x00, 0x9D, 0x80, 0x3F, 0x3F, 0x9D, 0x7E, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x98, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x9E, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x78, 0x8F, 0x00, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, 0x94, 0x50, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x9D, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x7C, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x8E, 0x00, 0x9D, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x8F, 0x00, 0x3F, 0x3F, 0x9D, 0x75, 0x9D, 0x7A, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x72, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x74, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x8C, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x7C, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x7C, /* 0x9C-0x9F */ + 0x97, 0x00, 0x8D, 0x00, 0x92, 0x54, 0x9D, 0x79, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, 0x8D, 0x54, /* 0xA4-0xA7 */ + 0x90, 0x84, 0x89, 0x86, 0x91, 0x5B, 0x9D, 0x77, /* 0xA8-0xAB */ + 0x8B, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x66, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x92, 0x00, 0x9D, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x7E, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x81, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x9D, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, /* 0xC0-0xC3 */ + 0x9D, 0x89, 0x3F, 0x3F, 0x9D, 0x84, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x9D, 0x86, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x60, /* 0xCC-0xCF */ + 0x92, 0x00, 0x3F, 0x3F, 0x9D, 0x87, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x4B, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x67, 0x8A, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, 0x9D, 0x85, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x9D, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x89, 0x87, 0x00, 0x00, 0x9D, 0x88, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x68, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_64[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x8C, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, 0x9D, 0x93, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x8D, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x8A, 0x9D, 0x91, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x9D, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x8E, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x9D, 0x92, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x94, 0x00, 0x93, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x9D, 0x8B, 0x3F, 0x3F, 0x9D, 0x8F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x67, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x97, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x93, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x94, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x96, 0x80, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x95, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x96, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x96, 0x00, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x82, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x9D, 0x9D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x54, 0x9D, 0x9A, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x9D, 0x99, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x51, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x00, 0x00, 0x93, 0x00, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x93, 0x50, 0x9D, 0x9B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x9D, 0x9C, 0x3F, 0x3F, 0x95, 0x8F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x94, 0x64, 0x8E, 0x42, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x90, 0x00, 0x3F, 0x3F, 0x96, 0x6F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x8A, 0x68, 0x3F, 0x3F, 0x9D, 0x00, /* 0xB8-0xBB */ + 0x9D, 0x9E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x97, 0x69, 0x9D, 0x00, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, 0x9D, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x91, 0x80, 0x00, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x9D, 0x5E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x9D, 0x00, 0x3F, 0x3F, 0x9D, 0x9F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x9D, 0x00, 0x9D, 0x00, 0x93, 0x46, 0x9D, 0x00, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x43, 0x9D, 0x00, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x8B, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x9D, 0x00, 0x9D, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x9D, 0x00, 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x9D, 0x00, 0x8F, 0x00, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_65[512] = { + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x9D, 0x00, 0x9D, 0x90, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, /* 0x20-0x23 */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x98, 0x9D, 0x00, /* 0x28-0x2B */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x78, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x9D, 0x00, 0x9D, 0x00, 0x9D, 0x00, 0x9D, 0x00, /* 0x34-0x37 */ + 0x9D, 0x00, 0x89, 0x00, 0x3F, 0x3F, 0x8D, 0x55, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x90, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x9D, 0x00, 0x00, 0x00, 0x95, 0x71, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x8B, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x9D, 0x00, 0x9D, 0x00, 0x94, 0x73, /* 0x54-0x57 */ + 0x9D, 0x00, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x9D, 0x00, 0x9D, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, 0x8E, 0x55, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x8C, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x90, 0x94, 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x90, 0x00, 0x93, 0x47, 0x3F, 0x3F, 0x95, 0x7E, /* 0x74-0x77 */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, 0x9D, 0x00, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0x84-0x87 */ + 0x9B, 0x7C, 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x95, 0x6B, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x94, 0x00, 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x6C, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x9D, 0x00, /* 0x98-0x9B */ + 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x8B, 0x00, 0x90, 0x00, 0x3F, 0x3F, 0x95, 0x80, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, /* 0xA8-0xAB */ + 0x8E, 0x61, 0x92, 0x66, 0x3F, 0x3F, 0x8E, 0x7A, /* 0xAC-0xAF */ + 0x90, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x89, 0x97, 0x8E, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, 0x9D, 0x00, /* 0xC0-0xC3 */ + 0x9D, 0x00, 0x97, 0x00, 0x9D, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, /* 0xC8-0xCB */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, 0x9D, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x9D, 0x00, 0x9D, 0x00, 0x8A, 0x00, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x93, 0x00, 0x92, 0x55, 0x8B, 0x8C, /* 0xE4-0xE7 */ + 0x8E, 0x7C, 0x91, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x8F, 0x7B, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x9D, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_66[512] = { + 0x00, 0x00, 0x3F, 0x3F, 0x8D, 0x56, 0x9D, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x8F, 0x00, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x00, 0x00, 0x9D, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x8F, 0x00, 0x3F, 0x3F, 0x96, 0x00, 0x8D, 0x00, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0x10-0x13 */ + 0x90, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x9D, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x90, 0x00, /* 0x1C-0x1F */ + 0x89, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x00, 0x00, 0x8F, 0x74, 0x3F, 0x3F, 0x96, 0x86, /* 0x24-0x27 */ + 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x8F, 0x00, 0x00, 0x00, 0x90, 0x00, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x00, 0x63, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x9D, 0x00, 0x9D, 0x00, 0x9D, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x38-0x3B */ + 0x92, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x45, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x9D, 0x00, 0x8E, 0x9E, 0x8D, 0x57, /* 0x40-0x43 */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, 0x90, 0x57, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x4E, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x9D, 0x00, 0x9D, 0x00, 0x9D, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x9D, 0x00, 0x00, 0x00, 0x8A, 0x41, 0x9D, 0x00, /* 0x64-0x67 */ + 0x9D, 0x00, 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x81, 0x8C, 0x69, /* 0x6C-0x6F */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x70-0x73 */ + 0x90, 0x00, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x71, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x9D, 0x00, /* 0x80-0x83 */ + 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0x84-0x87 */ + 0x9D, 0x00, 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x8F, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x67, 0x88, 0x00, /* 0x94-0x97 */ + 0x9D, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x00, 0x00, 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x62, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x96, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x9E, 0x41, 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x9D, 0x00, 0x3F, 0x3F, 0x9D, 0x00, 0x00, 0x00, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x9E, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x42, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x8F, 0x8C, 0x9E, 0x43, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x97, 0x6A, 0x94, 0x98, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x9E, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x46, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x9E, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x9E, 0x48, 0x3F, 0x3F, 0x8B, 0x00, 0x89, 0x67, /* 0xF0-0xF3 */ + 0x8D, 0x58, 0x9E, 0x49, 0x3F, 0x3F, 0x9E, 0x4A, /* 0xF4-0xF7 */ + 0x8F, 0x91, 0x91, 0x82, 0x00, 0x00, 0x00, 0x66, /* 0xF8-0xFB */ + 0x99, 0x00, 0x91, 0x5D, 0x91, 0x5C, 0x91, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_67[512] = { + 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x8C, 0x8E, 0x97, 0x4C, 0x3F, 0x3F, 0x95, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x95, 0x9E, 0x00, 0x00, 0x9E, 0x4B, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x8D, 0x00, 0x92, 0x00, 0x9E, 0x4C, 0x98, 0x4E, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x5D, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x92, 0x00, 0x9E, 0x4D, 0x8A, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x4E, 0x9E, 0x4F, /* 0x24-0x27 */ + 0x96, 0x00, 0x3F, 0x3F, 0x96, 0x00, 0x96, 0x96, /* 0x28-0x2B */ + 0x96, 0x7B, 0x8E, 0x44, 0x9E, 0x51, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x96, 0x70, 0x3F, 0x3F, 0x9E, 0x53, 0x9E, 0x56, /* 0x34-0x37 */ + 0x9E, 0x55, 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x8B, 0x80, 0x3F, 0x3F, 0x9E, 0x52, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x9E, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x57, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x90, 0x99, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x9B, 0x88, 0x00, /* 0x4C-0x4F */ + 0x8D, 0x00, 0x91, 0x00, 0x3F, 0x3F, 0x8E, 0x00, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x9E, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x93, 0x6D, 0x3F, 0x3F, 0x9E, 0x58, 0x91, 0x00, /* 0x5C-0x5F */ + 0x9E, 0x59, 0x8F, 0x00, 0x96, 0x00, 0x9E, 0x5B, /* 0x60-0x63 */ + 0x9E, 0x5C, 0x97, 0x88, 0x00, 0x00, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x61, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x8D, 0x59, 0x3F, 0x3F, 0x94, 0x74, /* 0x6C-0x6F */ + 0x9E, 0x5E, 0x93, 0x8C, 0x9D, 0x00, 0x9D, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x8B, 0x6E, 0x3F, 0x3F, 0x94, 0x66, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x9E, 0x60, 0x3F, 0x3F, 0x8F, 0x00, 0x94, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x9E, 0x66, 0x3F, 0x3F, 0x94, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x9E, 0x5D, 0x3F, 0x3F, 0x9E, 0x63, /* 0x88-0x8B */ + 0x9E, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x96, 0x8D, 0x3F, 0x3F, 0x97, 0x00, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x87, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x89, 0x00, 0x8E, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x98, 0x67, 0x9E, 0x65, 0x90, 0x95, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x64, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x9E, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x6B, /* 0xB0-0xB3 */ + 0x9E, 0x69, 0x3F, 0x3F, 0x89, 0x00, 0x9E, 0x67, /* 0xB4-0xB7 */ + 0x9E, 0x6D, 0x9E, 0x73, 0x3F, 0x3F, 0x00, 0x00, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x00, 0x00, 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x95, 0x00, 0x3F, 0x3F, 0x9E, 0x75, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x41, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x74, 0x94, 0x90, /* 0xCC-0xCF */ + 0x96, 0x5E, 0x8A, 0x00, 0x3F, 0x3F, 0x90, 0x00, /* 0xD0-0xD3 */ + 0x8F, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x92, 0x00, 0x3F, 0x3F, 0x97, 0x4D, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x9E, 0x70, 0x9E, 0x6F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x71, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x9E, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x76, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x9E, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x9E, 0x6A, 0x3F, 0x3F, 0x9E, 0x72, 0x9E, 0x68, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x92, 0x8C, 0x3F, 0x3F, 0x96, 0x00, /* 0xF0-0xF3 */ + 0x8E, 0x00, 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x8F, 0x8A, 0x60, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_68[512] = { + 0x3F, 0x3F, 0x00, 0x00, 0x92, 0x00, 0x93, 0x00, /* 0x00-0x03 */ + 0x89, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, 0x8C, 0x49, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x78, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x8D, 0x5A, 0x8A, 0x9C, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x9E, 0x7A, 0x8A, 0x94, 0x9E, 0x81, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x7D, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x8A, 0x6A, 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x8A, 0x69, 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x9E, 0x7B, 0x8C, 0x85, 0x8C, 0x6A, 0x93, 0x8D, /* 0x40-0x43 */ + 0x00, 0x00, 0x3F, 0x3F, 0x9E, 0x79, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x9E, 0x7C, 0x9E, 0x7E, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x8B, 0x00, 0x8C, 0x4B, 0x00, 0x00, 0x8A, 0x00, /* 0x50-0x53 */ + 0x8B, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x9E, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x8D, 0x00, 0x96, 0x91, 0x3F, 0x3F, 0x8E, 0x56, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x83, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x4F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x9E, 0x8F, 0x3F, 0x3F, 0x89, 0x00, 0x9E, 0x84, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x95, 0x9E, 0x85, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x9E, 0x8C, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x94, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x9E, 0x94, 0x3F, 0x3F, 0x9E, 0x87, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0x90-0x93 */ + 0x9E, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x5B, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x8B, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x9E, 0x8A, 0x3F, 0x3F, 0x9E, 0x86, /* 0x9C-0x9F */ + 0x9E, 0x91, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x8C, 0x00, /* 0xA4-0xA7 */ + 0x97, 0x9C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x9E, 0x88, 0x3F, 0x3F, 0x92, 0x00, /* 0xAC-0xAF */ + 0x8A, 0x42, 0x8D, 0x00, 0x3F, 0x3F, 0x9E, 0x80, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x9E, 0x90, 0x8A, 0x81, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x9E, 0x8E, 0x9E, 0x92, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x93, 0x8E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x8A, 0x00, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x00, 0x64, 0x96, 0x00, 0x9E, 0x97, 0x8A, 0x00, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x9E, 0x9E, 0x3F, 0x3F, 0x00, 0x00, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x5F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x9E, 0x9F, 0x9E, 0x00, 0x3F, 0x3F, 0x9E, 0x00, /* 0xD4-0xD7 */ + 0x9E, 0x99, 0x3F, 0x3F, 0x92, 0x49, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x8F, /* 0xDC-0xDF */ + 0x9E, 0x00, 0x9E, 0x9C, 0x3F, 0x3F, 0x9E, 0x00, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x58, 0x9E, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x9E, 0x00, 0x8A, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_69[512] = { + 0x98, 0x6F, 0x9E, 0x96, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x9E, 0x00, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x9E, 0x98, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, /* 0x08-0x0B */ + 0x9E, 0x9D, 0x90, 0x41, 0x92, 0x00, 0x9E, 0x93, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x90, 0x9A, 0x9E, 0x00, 0x8A, 0x91, /* 0x18-0x1B */ + 0x8C, 0x9F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x9E, 0x00, 0x9E, 0x9A, 0x9E, 0x00, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x9E, 0x00, 0x9E, 0x9B, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x9E, 0x00, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x93, 0x00, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, 0x92, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x6B, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x96, /* 0x50-0x53 */ + 0x9E, 0x00, 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x9E, 0x00, 0x91, 0x5E, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x9E, 0x00, 0x9E, 0x00, 0x9E, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x93, 0x00, 0x9E, 0x00, 0x93, 0x00, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x00, 0x00, 0x3F, 0x3F, 0x9E, 0x00, 0x9E, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x8B, 0x00, 0x9E, 0x00, 0x8F, 0x7C, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x80, /* 0x70-0x73 */ + 0x9E, 0x00, 0x8B, 0x00, 0x3F, 0x3F, 0x9E, 0x00, /* 0x74-0x77 */ + 0x9E, 0x00, 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x98, 0x4F, 0x8A, 0x79, 0x9E, 0x00, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x9E, 0x00, 0x8A, 0x54, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x7C, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x98, 0x50, 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x59, /* 0x98-0x9B */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x9E, 0x00, 0x9E, 0x00, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x9E, 0x00, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, 0x9E, 0x00, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x8D, 0x5C, /* 0xC8-0xCB */ + 0x92, 0x00, 0x91, 0x84, 0x9E, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x97, 0x6C, 0x96, 0x8A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x9E, 0x00, 0x9E, 0x00, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, /* 0xE4-0xE7 */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, 0x92, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x91, 0x85, 0x3F, 0x3F, 0x9E, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6A[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x94, 0x00, /* 0x08-0x0B */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x9E, 0x00, /* 0x10-0x13 */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x94, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x95, 0x57, 0x3F, 0x3F, 0x9E, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x8F, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x96, 0x00, 0x9E, 0x00, 0x9E, 0x00, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x8C, 0x00, 0x89, 0x00, 0x8A, 0x7E, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x8F, 0x00, 0x9E, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x9E, 0x00, 0x8E, 0x00, 0x8A, 0x92, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x92, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x9E, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x9E, 0x00, /* 0x44-0x47 */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x8B, 0x6B, 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x40, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x93, 0x00, 0x9E, 0x00, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x00, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x8A, 0x80, /* 0x7C-0x7F */ + + 0x92, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x9E, 0x00, 0x8C, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x9E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x40, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x9E, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x9E, 0x00, 0x3F, 0x3F, 0x9E, 0x00, 0x9E, 0x00, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x4B, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x9F, 0x47, 0x3F, 0x3F, 0x9E, 0x8D, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x46, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x9F, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x42, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x9E, 0x00, 0x9F, 0x44, 0x9F, 0x43, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x9F, 0x49, 0x3F, 0x3F, 0x98, 0x45, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x4C, 0x8B, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x48, 0x9F, 0x4A, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x94, 0x00, 0x3F, 0x3F, 0x9F, 0x4D, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x51, 0x9F, 0x4E, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6B[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x97, 0x93, 0x9F, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9E, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x52, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x53, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x89, 0x54, 0x3F, 0x3F, 0x9F, 0x55, /* 0x1C-0x1F */ + 0x8C, 0x87, 0x8E, 0x9F, 0x3F, 0x3F, 0x8B, 0x00, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x7E, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x57, /* 0x34-0x37 */ + 0x9F, 0x56, 0x9F, 0x59, 0x8B, 0x5C, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x8B, 0x00, 0x8A, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x5C, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x5B, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x9F, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x89, 0x00, 0x3F, 0x3F, 0x92, 0x56, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x9F, 0x5E, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0x50-0x53 */ + 0x9F, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x9F, 0x5F, 0x3F, 0x3F, 0x9F, 0x61, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x62, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x9F, 0x63, 0x8E, 0x7E, 0x90, 0x00, /* 0x60-0x63 */ + 0x8D, 0x9F, 0x3F, 0x3F, 0x95, 0x90, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x95, 0x00, 0x98, 0x63, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x95, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, /* 0x70-0x73 */ + 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x9F, 0x64, 0x9F, 0x65, 0x3F, 0x3F, 0x8E, 0x80, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x66, /* 0x7C-0x7F */ + + 0x9F, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x69, /* 0x80-0x83 */ + 0x9F, 0x68, 0x3F, 0x3F, 0x96, 0x77, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x8F, 0x7D, 0x8E, 0x00, 0x8E, 0x63, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x9F, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x9F, 0x6C, 0x90, 0x42, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x9F, 0x6B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x6D, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x9F, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x6F, 0x9F, 0x70, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x71, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x9F, 0x73, 0x9F, 0x72, 0x9F, 0x74, /* 0xB0-0xB3 */ + 0x89, 0x00, 0x92, 0x69, 0x3F, 0x3F, 0x9F, 0x75, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x45, 0x8A, 0x6B, /* 0xB8-0xBB */ + 0x9F, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x61, /* 0xBC-0xBF */ + 0x9A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x8B, 0x42, 0x9F, 0x77, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x78, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x95, 0x00, 0x96, 0x88, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, 0x9F, 0x79, /* 0xD0-0xD3 */ + 0x94, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x7A, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x7C, /* 0xE8-0xEB */ + 0x9F, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x7E, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x7D, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6C[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x9F, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x81, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, 0x9F, 0x82, /* 0x10-0x13 */ + 0x9F, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x43, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x84, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x86, /* 0x20-0x23 */ + 0x9F, 0x85, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x90, 0x85, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x58, /* 0x34-0x37 */ + 0x89, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x00, 0x00, /* 0x3C-0x3F */ + 0x92, 0x00, 0x8F, 0x60, 0x8B, 0x81, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x9F, 0x88, 0x3F, 0x3F, 0x8A, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x98, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x00, 0x00, 0x93, 0x00, 0x9F, 0x87, 0x8D, 0x5D, /* 0x5C-0x5F */ + 0x92, 0x72, 0x3F, 0x3F, 0x9F, 0x89, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x9F, 0x91, 0x3F, 0x3F, 0x9F, 0x8A, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x6C-0x6F */ + 0x91, 0x00, 0x3F, 0x3F, 0x8B, 0x82, 0x9F, 0x92, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x88, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x8B, 0x44, 0x9F, 0x90, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x9F, 0x8E, 0x9F, 0x8B, 0x97, 0x80, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x93, 0x00, 0x9F, 0x8C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x9F, 0x94, 0x3F, 0x3F, 0x9F, 0x93, 0x8C, 0x42, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x8D, 0x00, 0x9F, 0x8D, 0x9F, 0x8F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x96, 0x76, 0x91, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x97, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x9C, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x9F, 0x9D, 0x3F, 0x3F, 0x89, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x95, 0x00, 0x96, 0x00, 0x9F, 0x9F, 0x8E, 0x00, /* 0xB8-0xBB */ + 0x8F, 0x00, 0x9F, 0x98, 0x9F, 0x9E, 0x89, 0x88, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x9F, 0x95, 0x9F, 0x9A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x90, 0x00, 0x94, 0x91, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x97, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x96, 0x40, 0x3F, 0x3F, 0x9F, 0x99, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x00, 0x00, 0x9F, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x9F, 0x9B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x96, 0x41, 0x94, 0x67, 0x8B, 0x83, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x93, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x92, 0x8D, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, /* 0xEC-0xEF */ + 0x91, 0x00, 0x9F, 0x96, 0x3F, 0x3F, 0x89, 0x6A, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6D[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x6D, /* 0x08-0x0B */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x97, 0x8C, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, 0x9F, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x89, 0x6B, 0x8D, 0x5E, 0x9F, 0x00, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x46, 0x9F, 0x00, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x9F, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x88, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x9F, 0x00, 0x94, 0x68, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x8F, 0x00, 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x9F, 0x00, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x95, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, /* 0x60-0x63 */ + 0x9F, 0x00, 0x3F, 0x3F, 0x89, 0x59, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x8D, 0x5F, 0x98, 0x51, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x8A, 0x5C, 0x3F, 0x3F, 0x95, 0x82, 0x00, 0x00, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x97, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x43, /* 0x74-0x77 */ + 0x90, 0x5A, 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x84-0x87 */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x97, 0x4F, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x00, 0x40, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x93, 0x93, /* 0x98-0x9B */ + 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x00, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x55, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x74, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x97, 0x84, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x9F, 0x00, 0x9F, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0xC8-0xCB */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x42, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x8F, 0x69, 0x9F, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x93, 0x91, 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x92, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x9F, 0x00, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x9F, 0x00, 0x3F, 0x3F, 0x9F, 0x00, 0x88, 0x00, /* 0xE8-0xEB */ + 0x9F, 0x00, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x90, 0x5B, 0x00, 0x44, 0x8F, 0x7E, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x8D, 0x00, /* 0xF4-0xF7 */ + 0x00, 0x43, 0x9F, 0x00, 0x9F, 0x00, 0x93, 0x59, /* 0xF8-0xFB */ + 0x00, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, 0x8A, 0x89, /* 0x04-0x07 */ + 0x8D, 0x00, 0x8F, 0x00, 0x9F, 0x00, 0x8F, 0x61, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x6B, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x8F, 0x8D, 0x8C, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x9F, 0x00, /* 0x1C-0x1F */ + 0x8B, 0x94, 0x93, 0x6E, 0x3F, 0x3F, 0x9F, 0x00, /* 0x20-0x23 */ + 0x9F, 0x00, 0x88, 0x00, 0x89, 0x51, 0x00, 0x48, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, 0x9F, 0x00, /* 0x28-0x2B */ + 0x91, 0x00, 0x9F, 0x00, 0x9F, 0x00, 0x8D, 0x60, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x9F, 0x00, 0x00, 0x46, 0x9F, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x00, 0x49, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x9F, 0x00, 0x9F, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x58, /* 0x58-0x5B */ + 0x00, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x4E, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x93, 0x92, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x70, 0x8E, 0x00, /* 0x7C-0x7F */ + + 0x96, 0x9E, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, /* 0x8C-0x8F */ + 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x80, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x97, 0x00, 0x8D, 0x61, 0x3F, 0x3F, 0x9F, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x6E, 0x9F, 0x00, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x4D, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x00, 0x4A, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x9F, 0x00, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x8E, 0x00, /* 0xC8-0xCB */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x8A, 0x8A, 0x3F, 0x3F, 0x9F, 0x00, /* 0xD0-0xD3 */ + 0x9F, 0x00, 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x91, 0x00, 0x91, 0x00, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x93, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x42, /* 0xF4-0xF7 */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x00, 0x9F, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6F[512] = { + 0x3F, 0x3F, 0x8B, 0x99, 0x95, 0x59, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x8D, 0x97, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x52, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x00, 0x41, /* 0x10-0x13 */ + 0x89, 0x89, 0x91, 0x86, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x94, 0x99, 0x3F, 0x3F, 0x8A, 0x00, 0x97, 0x00, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x9F, /* 0x28-0x2B */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x9F, 0x00, 0x9F, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x91, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x40, 0x9F, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x8C, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x4E, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x49, /* 0x58-0x5B */ + 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x83, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x8F, 0x81, 0x3F, 0x3F, 0x00, 0x52, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x00, 0x4B, 0x92, 0x00, 0x00, 0x48, /* 0x6C-0x6F */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x00, 0x6B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x00, 0x45, 0x3F, 0x3F, 0x00, 0x44, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x00, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x00, 0x47, 0x00, 0x46, 0x00, 0x4C, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x90, 0x9F, 0x3F, 0x3F, 0x00, 0x43, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x00, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x00, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x00, 0x55, 0x3F, 0x3F, 0x00, 0x54, /* 0xA0-0xA3 */ + 0x00, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x59, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x93, 0x62, 0x3F, 0x3F, 0x00, 0x53, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x00, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x8C, 0x83, 0x91, 0x00, 0x00, 0x51, 0x94, 0x5A, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x58, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x5D, 0x00, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x5E, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x61, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5A, /* 0xDC-0xDF */ + 0x8D, 0x8A, 0x94, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x94, /* 0xE8-0xEB */ + 0x00, 0x5C, 0x3F, 0x3F, 0x00, 0x60, 0x91, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x00, 0x5F, 0x3F, 0x3F, 0x00, 0x4A, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x00, 0x4D, 0x00, 0x89, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x64, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x68, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_70[512] = { + 0x3F, 0x3F, 0x00, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x00, 0x4E, 0x3F, 0x3F, 0x00, 0x4F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x00, 0x62, 0x3F, 0x3F, 0x00, 0x63, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x67, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x00, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x95, 0x6D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x00, 0x6D, 0x3F, 0x3F, 0x00, 0x6A, 0x00, 0x69, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x00, 0x6C, 0x93, 0x00, 0x00, 0x6E, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x95, 0x91, 0x00, /* 0x24-0x27 */ + 0x00, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x00, 0x6F, 0x3F, 0x3F, 0x00, 0x71, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x70, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x00, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x73, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x94, /* 0x6C-0x6F */ + 0x8A, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x8B, 0x84, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x8E, 0x00, 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x00, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x98, 0x46, 0x90, 0x86, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x8A, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x75, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x00, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x52, /* 0xA8-0xAB */ + 0x00, 0x78, 0x92, 0x59, 0x00, 0x7B, 0x00, 0x76, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7A, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x00, 0x79, 0x93, 0x5F, 0x88, 0x00, 0x00, 0x62, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7D, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x47, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x00, 0x80, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x00, 0x7E, 0x3F, 0x3F, 0x00, 0x7C, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x00, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x96, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x00, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_71[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x00, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x00, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x53, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x89, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x00, 0x84, 0x95, 0x00, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x00, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x52, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x56, 0x00, 0x57, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x00, 0x8A, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x86, 0x00, 0x8B, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x89, 0x8C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x00, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x89, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x94, 0x81, 0x00, 0x85, 0x00, 0x88, 0x8F, 0x00, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x00, 0x8C, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x00, 0x8F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x00, 0x87, 0x3F, 0x3F, 0x8C, 0x46, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8D, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x97, 0x6F, 0x00, 0x90, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x6E, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x00, 0x91, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x00, 0x92, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x94, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x94, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x95, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x00, 0x59, 0x3F, 0x3F, 0x94, 0x52, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x93, 0x95, 0x00, 0x97, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x99, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x97, 0x00, 0x3F, 0x3F, 0x00, 0x96, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x98, 0x89, 0x8D, 0x3F, 0x3F, 0x00, 0x93, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x7A, /* 0xDC-0xDF */ + 0x00, 0x9A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x91, 0x87, 0x8E, 0x57, 0x00, 0x9C, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x00, 0x9B, 0x90, 0x43, 0x99, 0x00, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x00, 0x9D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x00, 0x9F, 0x3F, 0x3F, 0x00, 0x8E, /* 0xF8-0xFB */ + 0x00, 0x9E, 0x3F, 0x3F, 0x00, 0x5A, 0x00, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_72[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x9A, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x00, 0x00, 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x8E, 0x00, 0x95, 0x83, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x00, 0x00, /* 0x38-0x3B */ + 0x00, 0x00, 0x91, 0x75, 0x8E, 0x00, 0x00, 0x00, /* 0x3C-0x3F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x95, 0x00, /* 0x44-0x47 */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x48-0x4B */ + 0x94, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x00, 0x89, 0x00, 0x3F, 0x3F, 0x8B, 0x8D, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, 0x96, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x89, 0x00, 0x98, 0x53, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x71, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x8C, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x8D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x8B, 0x5D, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x00, 0x5B, 0x00, 0x00, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5C, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, 0x00, 0x00, /* 0xC0-0xC3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x8C, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x91, 0x5F, 0x3F, 0x3F, 0x8D, 0x9D, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x93, 0x00, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xF4-0xF7 */ + 0x92, 0x4B, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x98, 0x54, 0x94, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_73[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, /* 0x18-0x1B */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x97, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x00, 0x5D, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x00, 0x00, 0x92, 0x96, 0x94, 0x4C, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, 0x00, 0x00, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x00, 0x00, 0x3F, 0x3F, 0x97, 0x50, 0x97, 0x51, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x89, 0x8E, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x8D, 0x96, 0x8E, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x62, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x00, 0x00, 0x3F, 0x3F, 0x8A, 0x6C, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x5F, /* 0x74-0x77 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x89, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, 0x00, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x00, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x00, 0x00, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x00, 0x00, 0x00, 0x61, 0x8E, 0x58, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x92, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x64, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x62, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x63, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x5D, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x94, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x00, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_74[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x85, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x00, 0x00, 0x97, 0x9D, 0x00, 0x65, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x67, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x00, 0x69, 0x00, 0x68, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6A, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x97, 0x00, /* 0x30-0x33 */ + 0x8B, 0x00, 0x94, 0x00, 0x94, 0x69, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x00, 0x00, 0x8C, 0x00, 0x89, 0x6C, /* 0x58-0x5B */ + 0x00, 0x00, 0x3F, 0x3F, 0x90, 0x90, 0x00, 0x00, /* 0x5C-0x5F */ + 0x97, 0x00, 0x3F, 0x3F, 0x00, 0x6B, 0x00, 0x00, /* 0x60-0x63 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x6C-0x6F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x9E, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x00, 0x6C, 0x3F, 0x3F, 0x00, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x6D, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x89, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x00, 0x40, 0x3F, 0x3F, 0x95, 0x5A, 0x00, 0x41, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, 0x00, 0x42, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x00, 0x43, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x44, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x00, 0x46, 0x00, 0x47, 0x00, 0x45, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x72, 0x00, 0x49, /* 0xF4-0xF7 */ + 0x00, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_75[512] = { + 0x3F, 0x3F, 0x00, 0x6E, 0x3F, 0x3F, 0x00, 0x4B, /* 0x00-0x03 */ + 0x00, 0x4A, 0x00, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x00, 0x4D, 0x00, 0x4F, 0x00, 0x4E, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x8D, 0x99, 0x3F, 0x3F, 0x00, 0x51, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x00, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x8A, 0x00, 0x3F, 0x3F, 0x90, 0x72, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x93, 0x5B, 0x3F, 0x3F, 0x00, 0x52, 0x90, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x59, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x89, 0x99, 0x00, 0x53, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x97, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0x28-0x2B */ + 0x00, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x2C-0x2F */ + 0x93, 0x63, 0x97, 0x52, 0x8D, 0x62, 0x90, 0x5C, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x6A, /* 0x34-0x37 */ + 0x99, 0x00, 0x3F, 0x3F, 0x92, 0x00, 0x89, 0x00, /* 0x38-0x3B */ + 0x00, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x00, 0x56, 0x3F, 0x3F, 0x00, 0x5B, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x00, 0x59, 0x00, 0x58, 0x9D, 0x00, /* 0x48-0x4B */ + 0x8A, 0x45, 0x00, 0x57, 0x3F, 0x3F, 0x88, 0x00, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x97, 0x00, 0x00, 0x5C, 0x00, 0x5A, /* 0x58-0x5B */ + 0x92, 0x7B, 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x94, 0x00, 0x3F, 0x3F, 0x95, 0x4C, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x5E, 0x97, 0x00, 0x8C, 0x6C, 0x00, 0x5F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x00, 0x5D, 0x94, 0x00, 0x00, 0x60, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x00, 0x61, 0x3F, 0x3F, 0x00, 0x6F, /* 0x6C-0x6F */ + 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, /* 0x70-0x73 */ + 0x00, 0x66, 0x3F, 0x3F, 0x00, 0x63, 0x93, 0x00, /* 0x74-0x77 */ + 0x00, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x45, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x69, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x64, 0x00, 0x65, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x00, 0x68, 0x00, 0x67, 0x95, 0x44, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x61, 0x91, 0x60, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x8B, 0x5E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x00, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6B, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x00, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6E, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x00, 0x6D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x75, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x00, 0x76, 0x94, 0x00, 0x00, 0x70, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x00, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x00, 0x74, 0x90, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x00, 0x75, 0x00, 0x73, 0x8E, 0x00, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6F, 0x00, 0x71, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x95, 0x61, 0x3F, 0x3F, 0x8F, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x78, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x00, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x79, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x8E, 0x00, 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x93, 0x97, 0x00, 0x7A, 0x3F, 0x3F, 0x92, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7C, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x9F, 0x00, 0x7B, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x91, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x00, 0x82, 0x3F, 0x3F, 0x00, 0x84, 0x00, 0x85, /* 0xF0-0xF3 */ + 0x92, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x83, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x00, 0x80, 0x3F, 0x3F, 0x00, 0x7D, 0x00, 0x7E, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_76[512] = { + 0x3F, 0x3F, 0x00, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x00, 0x88, 0x3F, 0x3F, 0x00, 0x86, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x00, 0x87, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x89, /* 0x1C-0x1F */ + 0x00, 0x8B, 0x00, 0x8C, 0x00, 0x8D, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x00, 0x8E, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8A, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x00, 0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x00, 0x8F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x91, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x94, 0x00, 0x92, /* 0x44-0x47 */ + 0x00, 0x93, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x96, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x00, 0x95, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x00, 0x97, 0x00, 0x98, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9C, /* 0x64-0x67 */ + 0x00, 0x99, 0x00, 0x9A, 0x00, 0x9B, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x00, 0x9D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x00, 0x9E, 0x3F, 0x3F, 0x00, 0x9F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x00, 0x00, 0x3F, 0x3F, 0x94, 0x00, 0x93, 0x6F, /* 0x78-0x7B */ + 0x00, 0x00, 0x94, 0x92, 0x95, 0x53, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x70, 0x00, 0x00, /* 0x80-0x83 */ + 0x93, 0x49, 0x3F, 0x3F, 0x8A, 0x46, 0x8D, 0x63, /* 0x84-0x87 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x8E, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, /* 0x98-0x9B */ + 0x00, 0x71, 0x3F, 0x3F, 0x00, 0x72, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x74, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x89, /* 0xB4-0xB7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x4D, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x94, 0x75, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x7E, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x89, 0x6D, 0x3F, 0x3F, 0x89, 0x76, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x93, 0x90, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, /* 0xD8-0xDB */ + 0x9F, 0x58, 0x3F, 0x3F, 0x00, 0x00, 0x96, 0x00, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x8A, 0x00, /* 0xE0-0xE3 */ + 0x94, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x91, 0x8A, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x82, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_77[512] = { + 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x04-0x07 */ + 0x00, 0x00, 0x94, 0x00, 0x3F, 0x3F, 0x8A, 0x00, /* 0x08-0x0B */ + 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x90, 0x5E, /* 0x1C-0x1F */ + 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x34-0x37 */ + 0x00, 0x00, 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x92, 0x85, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x76, 0x00, 0x00, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x90, 0x87, 0x3F, 0x3F, 0x93, 0x00, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x00, 0x00, 0x96, 0x72, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x8F, 0x75, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xB8-0xBB */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x96, 0x00, /* 0xD8-0xDB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x00, 0x00, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x92, 0x6D, 0x3F, 0x3F, 0x94, 0x8A, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x92, 0x5A, 0x00, 0x00, 0x8B, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_78[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x8C, 0x00, 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x00, 0x00, 0x00, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x93, 0x75, 0x8D, 0x00, 0x8B, 0x6D, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x43, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x94, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x76, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x7B, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x79, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0x68-0x6B */ + 0x8D, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7B, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x92, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x00, 0x00, 0x8A, 0x56, 0x00, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, 0x89, 0x4F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, 0x98, 0x71, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x90, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x6D, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x94, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x41, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x40, /* 0xE4-0xE7 */ + 0x96, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x43, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x00, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_79[512] = { + 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x44, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x62, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x00, 0x46, 0x00, 0x45, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x00, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x49, /* 0x28-0x2B */ + 0x00, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x00, 0x7C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x97, 0x00, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x00, 0x4A, 0x8C, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x5F, /* 0x44-0x47 */ + 0x8B, 0x46, 0x8E, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x97, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x50, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x4F, 0x91, 0x63, 0x00, 0x4C, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4E, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x8F, 0x6A, 0x90, 0x5F, 0x00, 0x4D, /* 0x5C-0x5F */ + 0x00, 0x4B, 0x3F, 0x3F, 0x94, 0x49, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x95, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x98, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x51, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x52, /* 0x7C-0x7F */ + + 0x00, 0x68, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x98, 0x5C, 0x91, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x53, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x89, 0x00, 0x92, 0x00, 0x95, 0x9F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x00, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x83, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x00, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x9A, 0x00, 0x55, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x57, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x58, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x94, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x59, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x5A, 0x00, 0x5B, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x8B, 0x00, 0x89, 0x00, 0x93, 0x00, /* 0xBC-0xBF */ + 0x8F, 0x47, 0x8E, 0x84, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x00, 0x5C, 0x3F, 0x3F, 0x8F, 0x48, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x89, 0x00, 0x95, 0x62, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x00, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x64, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x00, 0x60, 0x3F, 0x3F, 0x00, 0x61, /* 0xE0-0xE3 */ + 0x94, 0x89, 0x3F, 0x3F, 0x90, 0x60, 0x00, 0x5E, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x92, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x00, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7A[512] = { + 0x8B, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x00, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x00, 0x63, 0x90, 0x00, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x42, /* 0x14-0x17 */ + 0x00, 0x64, 0x00, 0x65, 0x92, 0x74, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x67, /* 0x1C-0x1F */ + 0x00, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x00, 0x69, 0x88, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6C, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6A, /* 0x38-0x3B */ + 0x89, 0x00, 0x8C, 0x6D, 0x00, 0x6B, 0x8D, 0x65, /* 0x3C-0x3F */ + 0x8D, 0x92, 0x3F, 0x3F, 0x95, 0x00, 0x00, 0x6D, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x73, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x00, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x90, 0x00, 0x89, 0x6E, 0x89, 0x00, /* 0x4C-0x4F */ + 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6E, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x00, 0x70, 0x00, 0x71, 0x8F, 0x00, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x00, 0x72, 0x3F, 0x3F, 0x8A, 0x6E, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x00, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x8C, 0x8A, 0x3F, 0x3F, 0x8B, 0x86, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x00, 0x75, 0x8B, 0x00, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x00, 0x76, 0x3F, 0x3F, 0x90, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x90, 0x00, /* 0x80-0x83 */ + 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x00, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x82, 0x91, 0x8B, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x00, 0x79, 0x00, 0x7B, 0x00, 0x78, /* 0x94-0x97 */ + 0x00, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x41, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x00, 0x7C, 0x8C, 0x45, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x87, 0x97, 0x71, /* 0xAC-0xAF */ + 0x00, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x80, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x4D, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x83, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x96, /* 0xC0-0xC3 */ + 0x00, 0x82, 0x00, 0x81, 0x3F, 0x3F, 0x00, 0x85, /* 0xC4-0xC7 */ + 0x00, 0x7D, 0x3F, 0x3F, 0x00, 0x86, 0x97, 0x00, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x00, 0x87, 0x3F, 0x3F, 0x00, 0x88, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x00, 0x84, 0x9A, 0x00, 0x00, 0x8A, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x00, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x00, 0x8B, 0x00, 0x8C, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x97, 0x00, 0x00, 0x8D, 0x3F, 0x3F, 0x00, 0x00, /* 0xDC-0xDF */ + 0x8F, 0x00, 0x00, 0x8E, 0x00, 0x8F, 0x8F, 0x76, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x93, 0x00, 0x00, 0x90, 0x00, 0x85, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x47, 0x00, 0x87, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x00, 0x91, 0x3F, 0x3F, 0x92, 0x5B, /* 0xEC-0xEF */ + 0x00, 0x92, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x99, 0x5E, 0x92, 0x7C, 0x8E, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7B[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x93, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x96, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x8B, 0x88, 0x3F, 0x3F, 0x00, 0x95, 0x00, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x94, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x00, 0x98, 0x00, 0x99, 0x3F, 0x3F, 0x93, 0x4A, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9A, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x8A, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x90, 0x79, 0x95, 0x84, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x00, 0x9C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x97, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x00, 0x9B, 0x00, 0x9D, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x00, 0x00, 0x95, 0x4D, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x94, 0x00, 0x93, 0x99, 0x3F, 0x3F, 0x8B, 0x00, /* 0x48-0x4B */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x94, 0x00, /* 0x4C-0x4F */ + 0x00, 0x9E, 0x92, 0x7D, 0x93, 0x9B, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x93, 0x9A, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x89, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x94, 0x93, 0x96, 0x00, 0x3F, 0x3F, 0x8E, 0x5A, /* 0x94-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x5C, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x90, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x94, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x95, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x92, 0x7A, 0x3F, 0x3F, 0x00, 0x00, /* 0xC8-0xCB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x98, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7C[512] = { + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, /* 0x10-0x13 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x34-0x37 */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x00, 0x00, 0x97, 0x00, 0x95, 0x00, /* 0x3C-0x3F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x00, 0x00, 0x90, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x4C-0x4F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x5C-0x5F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x8B, 0x00, 0x8C, 0x48, 0x00, 0x00, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x90, 0x88, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x00, 0x00, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x94, 0x94, 0x3F, 0x3F, 0x91, 0x65, /* 0x94-0x97 */ + 0x94, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x6C, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x00, 0x00, 0x8A, 0x9F, 0x3F, 0x3F, 0x8F, 0x00, /* 0xA4-0xA7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x00, 0x00, 0x90, 0x00, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x57, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x9C, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x00, 0x00, 0x3F, 0x3F, 0x95, 0x00, 0x91, 0x8C, /* 0xDC-0xDF */ + 0x8D, 0x66, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x8E, 0x85, 0x3F, 0x3F, 0x00, 0x00, 0x8C, 0x6E, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x8A, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7D[512] = { + 0x8B, 0x49, 0x3F, 0x3F, 0x00, 0x40, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x96, 0x00, 0x8D, 0x67, 0x00, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x43, 0x96, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x94, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x95, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x8F, 0x83, 0x00, 0x42, 0x3F, 0x3F, 0x8E, 0x00, /* 0x14-0x17 */ + 0x8D, 0x68, 0x8E, 0x86, 0x8B, 0x89, 0x95, 0x00, /* 0x18-0x1B */ + 0x00, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x91, 0x66, 0x96, 0x61, 0x8D, 0x00, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x87, /* 0x28-0x2B */ + 0x92, 0x00, 0x3F, 0x3F, 0x00, 0x46, 0x97, 0x00, /* 0x2C-0x2F */ + 0x8D, 0x00, 0x3F, 0x3F, 0x00, 0x47, 0x90, 0x61, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x00, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x8F, 0x00, 0x8D, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x48, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x49, 0x8C, 0x00, /* 0x40-0x43 */ + 0x91, 0x67, 0x00, 0x44, 0x00, 0x4A, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x8A, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x45, /* 0x48-0x4B */ + 0x8C, 0x6F, 0x3F, 0x3F, 0x00, 0x4D, 0x00, 0x51, /* 0x4C-0x4F */ + 0x8C, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4C, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x55, /* 0x58-0x5B */ + 0x00, 0x8B, 0x3F, 0x3F, 0x8D, 0x69, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x97, 0x8D, 0x88, 0x00, 0x00, 0x52, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x8B, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x00, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x50, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x93, 0x9D, 0x00, 0x4E, 0x00, 0x4B, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x8A, 0x47, 0x90, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x00, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x00, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x56, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x53, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x8C, 0x70, 0x91, 0x00, 0x00, 0x58, /* 0x98-0x9B */ + 0x91, 0x8E, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x65, /* 0x9C-0x9F */ + 0x00, 0x8D, 0x3F, 0x3F, 0x00, 0x61, 0x00, 0x5B, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5F, /* 0xA8-0xAB */ + 0x8E, 0x00, 0x88, 0x00, 0x00, 0x5A, 0x00, 0x62, /* 0xAC-0xAF */ + 0x00, 0x66, 0x8D, 0x6A, 0x96, 0x00, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x92, 0x00, 0x00, 0x5C, 0x3F, 0x3F, 0x00, 0x8C, /* 0xB4-0xB7 */ + 0x00, 0x64, 0x3F, 0x3F, 0x00, 0x59, 0x92, 0x5D, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x00, 0x5E, 0x88, 0x00, 0x96, 0x00, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5D, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, 0x94, 0x00, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x8D, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x97, 0x00, 0x8F, 0x8F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x00, 0x8E, 0x00, 0x8E, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x67, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x00, 0x63, 0x00, 0x68, 0x00, 0x6A, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x92, 0x00, 0x00, 0x6D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x00, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x95, 0x00, 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6C, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6B, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7E[512] = { + 0x3F, 0x3F, 0x89, 0x8F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x93, 0x00, 0x00, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x00, 0x75, 0x00, 0x6F, 0x00, 0x76, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x72, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x9B, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, 0x00, 0x74, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x71, 0x00, 0x77, 0x00, 0x70, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x63, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x44, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x6B, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x00, 0x73, 0x00, 0x80, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x00, 0x7B, 0x3F, 0x3F, 0x00, 0x7E, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x00, 0x7C, 0x00, 0x81, 0x00, 0x7A, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x00, 0x60, 0x90, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, 0x00, 0x7D, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x78, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x40, 0x8C, 0x71, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x8F, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x90, 0x44, 0x91, 0x55, 0x00, 0x84, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x00, 0x86, 0x00, 0x87, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x00, 0x83, 0x00, 0x85, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x79, 0x00, 0x82, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x00, 0x8A, 0x00, 0x89, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x96, 0x9A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x8C, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x00, 0x88, 0x3F, 0x3F, 0x00, 0x8C, /* 0x78-0x7B */ + 0x00, 0x8B, 0x00, 0x8F, 0x3F, 0x3F, 0x00, 0x91, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x5B, 0x00, 0x8D, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x00, 0x92, 0x00, 0x93, 0x00, 0x5C, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x00, 0x94, 0x3F, 0x3F, 0x00, 0x9A, 0x93, 0x5A, /* 0x8C-0x8F */ + 0x00, 0x96, 0x3F, 0x3F, 0x00, 0x95, 0x00, 0x97, /* 0x90-0x93 */ + 0x00, 0x98, 0x3F, 0x3F, 0x00, 0x99, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9B, /* 0x98-0x9B */ + 0x00, 0x9C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7F[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x00, 0x9D, 0x3F, 0x3F, 0x00, 0x9E, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x00, 0x9F, 0x3F, 0x3F, 0x00, 0x90, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x5C-0x5F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x64-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x8C, 0x72, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x75, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x94, 0x00, 0x3F, 0x3F, 0x8F, 0x90, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x94, 0x6C, 0x3F, 0x3F, 0x94, 0x00, /* 0x74-0x77 */ + 0x00, 0x00, 0x9C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x97, 0x85, 0x00, 0x00, 0x00, 0x00, /* 0x84-0x87 */ + 0x00, 0x00, 0x3F, 0x3F, 0x97, 0x72, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x00, 0x00, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x00, 0x91, 0x3F, 0x3F, 0x00, 0x00, /* 0xA0-0xA3 */ + 0x8C, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x91, 0x41, 0x8B, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x89, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x97, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x4B, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x90, 0x89, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x8A, 0x00, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x96, 0x7C, /* 0xF8-0xFB */ + 0x97, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_80[512] = { + 0x97, 0x73, 0x98, 0x56, 0x3F, 0x3F, 0x8D, 0x6C, /* 0x00-0x03 */ + 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x08-0x0B */ + 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x91, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x8D, 0x6B, 0x3F, 0x3F, 0x96, 0x00, /* 0x14-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x92, 0x5E, 0x3F, 0x3F, 0x00, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x00, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x91, 0x8F, 0x00, 0x00, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0x6C-0x6F */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x73 */ + 0x92, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x90, 0x45, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x00, 0x00, 0x98, 0x57, 0x00, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x98, 0x5D, /* 0x88-0x8B */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x95, 0x49, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x8C, 0x00, 0x8E, 0x88, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x8C, 0x00, 0x96, 0x62, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x8D, 0x6D, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x8D, 0x6E, 0x88, 0x00, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x78, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0xC0-0xC3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x92, 0x5F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x94, 0x77, 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x00, 0x00, 0x96, 0x45, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x88, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x00, 0x45, 0x94, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_81[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x89, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x8B, 0x00, 0x90, 0x00, 0x98, 0x65, /* 0x04-0x07 */ + 0x96, 0x00, 0x00, 0x00, 0x90, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x72, 0x00, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x92, 0x45, 0x3F, 0x3F, 0x94, 0x5D, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x42, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x41, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x74, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x95, 0x85, 0x00, 0x44, 0x3F, 0x3F, 0x00, 0x43, /* 0x50-0x53 */ + 0x8D, 0x6F, 0x98, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x54, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x00, 0x48, 0x00, 0x49, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x47, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x8D, 0x98, 0x00, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x00, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x92, 0x00, 0x95, 0x00, 0x91, 0x42, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, /* 0x7C-0x7F */ + + 0x00, 0x4E, 0x3F, 0x3F, 0x00, 0x4F, 0x00, 0x4B, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x00, 0x4C, 0x3F, 0x3F, 0x00, 0x4D, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x70, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x55, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x00, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x86, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x96, 0x8C, 0x95, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x00, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x53, /* 0xA0-0xA3 */ + 0x00, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x96, 0x63, 0x00, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x00, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x56, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x00, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x00, 0x5A, 0x3F, 0x3F, 0x00, 0x5E, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x00, 0x5B, 0x00, 0x59, 0x94, 0x5E, /* 0xBC-0xBF */ + 0x00, 0x5C, 0x3F, 0x3F, 0x00, 0x5D, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x00, 0x64, 0x00, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x00, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x00, 0x61, 0x3F, 0x3F, 0x91, 0x9F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x63, 0x00, 0x62, 0x00, 0x65, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x66, /* 0xDC-0xDF */ + 0x00, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x62, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, 0x00, 0x68, /* 0xE4-0xE7 */ + 0x97, 0x00, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x8F, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x8A, /* 0xF0-0xF3 */ + 0x92, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x69, 0x00, 0x6A, /* 0xF8-0xFB */ + 0x89, 0x50, 0x3F, 0x3F, 0x00, 0x6B, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_82[512] = { + 0x3F, 0x3F, 0x00, 0x6C, 0x00, 0x6D, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x00, 0x6E, 0x3F, 0x3F, 0x00, 0x6F, /* 0x04-0x07 */ + 0x8B, 0x00, 0x9D, 0x00, 0x00, 0x70, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x90, 0x00, 0x00, 0x71, 0x8E, 0x00, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x00, 0x72, 0x3F, 0x3F, 0x98, 0x00, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x73, 0x95, 0x00, /* 0x14-0x17 */ + 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x43, /* 0x18-0x1B */ + 0x8F, 0x77, 0x3F, 0x3F, 0x95, 0x91, 0x8F, 0x4D, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x00, 0x74, 0x8D, 0x71, 0x00, 0x75, /* 0x28-0x2B */ + 0x94, 0x00, 0x3F, 0x3F, 0x00, 0x84, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x77, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x91, 0x00, 0x94, 0x95, 0x8C, 0x00, /* 0x34-0x37 */ + 0x00, 0x76, 0x91, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x00, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x7A, 0x00, 0x79, 0x00, 0x7C, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x00, 0x7B, 0x3F, 0x3F, 0x00, 0x7D, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x80, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x7E, 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x00, 0x81, 0x3F, 0x3F, 0x00, 0x82, 0x00, 0x83, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x00, 0x97, 0x00, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x00, 0x85, 0x90, 0x46, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x90, 0x00, 0x86, /* 0x74-0x77 */ + 0x00, 0x87, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x88, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x00, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8A, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x95, 0x87, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, 0x00, 0x8C, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x8A, 0x48, 0x88, 0x00, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8B, /* 0xA8-0xAB */ + 0x00, 0x8E, 0x94, 0x6D, 0x3F, 0x3F, 0x90, 0x63, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, 0x96, 0x46, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x8C, 0x7C, 0x8B, 0x00, 0x3F, 0x3F, 0x00, 0x8D, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x89, 0x91, 0x00, 0x92, 0x97, 0x00, /* 0xD0-0xD3 */ + 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x63, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x00, 0x9E, 0x3F, 0x3F, 0x89, 0x00, /* 0xD8-0xDB */ + 0x00, 0x9C, 0x3F, 0x3F, 0x00, 0x9A, 0x00, 0x91, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x00, 0x8F, 0x3F, 0x3F, 0x00, 0x90, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x8E, 0x00, 0x8B, 0x00, 0x92, 0x97, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x89, 0x70, 0x3F, 0x3F, 0x00, 0x94, /* 0xF0-0xF3 */ + 0x00, 0x93, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x00, 0x99, 0x00, 0x95, 0x00, 0x98, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_83[512] = { + 0x3F, 0x3F, 0x00, 0x93, 0x96, 0x00, 0x00, 0x97, /* 0x00-0x03 */ + 0x89, 0x00, 0x8A, 0x9D, 0x00, 0x9B, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x00, 0x9D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x73, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x14-0x17 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x00, 0x00, 0x00, 0x9F, 0x92, 0x83, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x91, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x91, 0x90, 0x8C, 0x74, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x60, /* 0x4C-0x4F */ + 0x00, 0x00, 0x3F, 0x3F, 0x8D, 0x72, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x91, 0x91, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x94, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x89, 0x00, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0x78-0x7B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x95, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x96, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, 0x00, 0x00, /* 0x9C-0x9F */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x94, 0x9C, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x97, 0x89, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x90, 0x9B, 0x3F, 0x3F, 0x00, 0x96, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x65, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x8B, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x8D, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x70, /* 0xDC-0xDF */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0xEC-0xEF */ + 0x8C, 0x00, 0x95, 0x48, 0x00, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x97, 0x00, 0x00, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_84[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x00-0x03 */ + 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x08-0x0B */ + 0x96, 0x47, 0x00, 0x00, 0x88, 0x00, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x94, 0x8B, 0x00, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x8A, 0x9E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x00, 0x00, 0x97, 0x8E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x98, 0x97, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x98, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x8B, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x95, 0x92, 0x00, 0x00, 0x93, 0x9F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x68-0x6B */ + 0x91, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x94, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x00, 0x00, 0x95, 0x98, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x8F, 0x4E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x95, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x97, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x00, 0x99, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x8F, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xB8-0xBB */ + 0x91, 0x93, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x92, 0x7E, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x97, 0x75, 0x00, 0x00, 0x8A, 0x57, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x00, 0x00, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x00, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x96, 0x48, 0x3F, 0x3F, 0x98, 0x40, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_85[512] = { + 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x96, 0x00, /* 0x10-0x13 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x14-0x17 */ + 0x00, 0x00, 0x3F, 0x3F, 0x89, 0x55, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x00, 0x00, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x00, 0x00, 0x00, 0x40, 0x3F, 0x3F, 0x94, 0x00, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x00, 0x8F, 0x00, 0x8E, 0x00, 0x00, 0x42, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9A, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x43, 0x3F, 0x3F, 0x95, 0x99, /* 0x54-0x57 */ + 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x98, 0x6E, 0x93, 0x00, 0x95, 0x93, 0x00, 0x9C, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x00, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x50, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x51, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x00, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x94, 0x96, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4E, /* 0x84-0x87 */ + 0x00, 0x46, 0x3F, 0x3F, 0x00, 0x48, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x00, 0x52, 0x00, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x00, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x92, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x00, 0x4C, /* 0x98-0x9B */ + 0x00, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x00, 0x45, 0x3F, 0x3F, 0x91, 0x45, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x00, 0x49, 0x8E, 0x46, 0x90, 0x64, 0x8C, 0x4F, /* 0xA8-0xAB */ + 0x96, 0x00, 0x3F, 0x3F, 0x96, 0x00, 0x8F, 0x92, /* 0xAC-0xAF */ + 0x00, 0x9E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x56, 0x00, 0x54, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x98, 0x6D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x00, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x97, 0x95, 0x3F, 0x3F, 0x00, 0x55, /* 0xCC-0xCF */ + 0x00, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x00, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x00, 0x5B, 0x00, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x93, 0x00, 0x00, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x94, 0x00, 0x00, 0x4D, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x93, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x00, 0x5C, 0x00, 0x61, 0x91, 0x94, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x60, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_86[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x41, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x62, 0x91, 0x68, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5D, 0x00, 0x5F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5E, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9F, 0x50, 0x9F, 0x41, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x64, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x63, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x97, 0x96, 0x3F, 0x3F, 0x00, 0x00, /* 0x2C-0x2F */ + 0x00, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x66, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x00, 0x67, 0x8C, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x8B, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x00, 0x69, 0x99, 0x7C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x95, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x97, 0x00, 0x3F, 0x3F, 0x8B, 0x00, 0x00, 0x6A, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6B, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x8E, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x00, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x88, 0x00, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x00, 0x71, /* 0x88-0x8B */ + 0x00, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6D, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x8E, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6E, /* 0xA0-0xA3 */ + 0x94, 0x61, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x7A, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x74, /* 0xAC-0xAF */ + 0x00, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x73, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x00, 0x75, 0x3F, 0x3F, 0x00, 0x76, 0x8E, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x00, 0x78, 0x3F, 0x3F, 0x92, 0x60, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x8C, 0x75, 0x8A, 0x61, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x8A, 0x5E, 0x3F, 0x3F, 0x00, 0x81, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7C, 0x00, 0x80, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x00, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x00, 0x7E, 0x95, 0x67, 0x94, 0x00, 0x00, 0x82, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x91, 0x00, 0x00, 0x8C, 0x3F, 0x3F, 0x00, 0x88, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_87[512] = { + 0x00, 0x86, 0x3F, 0x3F, 0x96, 0x49, 0x00, 0x87, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x84, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x00, 0x85, 0x00, 0x8A, 0x00, 0x8D, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x00, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x00, 0x89, 0x00, 0x83, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x92, 0x77, 0x3F, 0x3F, 0x00, 0x94, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x00, 0x92, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x00, 0x93, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x00, 0x8E, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x90, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x91, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, 0x98, 0x58, /* 0x48-0x4B */ + 0x00, 0x98, 0x3F, 0x3F, 0x00, 0x99, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x90, 0x49, 0x3F, 0x3F, 0x00, 0x9B, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x00, 0x9E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x96, /* 0x5C-0x5F */ + 0x00, 0x95, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x00, 0x9C, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9D, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x00, 0x9A, 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x00, 0x97, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x88, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x97, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x86, 0x00, 0x00, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x8A, 0x49, 0x3F, 0x3F, 0x8B, 0x61, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_88[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x8C, 0x8C, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x00, 0x00, 0x3F, 0x3F, 0x8F, 0x4F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x8D, 0x73, 0x9F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x8F, 0x70, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x58, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x89, 0x71, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x8F, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x8D, 0x74, 0x00, 0x00, 0x88, 0x00, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x95, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x90, 0x8A, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x92, 0x8F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x8C, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, 0x00, 0x00, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x8C, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x88, 0x00, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x8D, 0x00, 0x97, 0x00, 0x00, 0x00, /* 0xC0-0xC3 */ + 0x00, 0x00, 0x91, 0x95, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x00, 0x97, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x95, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x8D, 0x00, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x8F, 0x00, /* 0xF0-0xF3 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x97, 0x87, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x00, 0x00, 0x90, 0x00, 0x90, 0x9E, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_89[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x8A, 0x8C, 0x3F, 0x3F, 0x96, 0x4A, 0x00, 0x00, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x00, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x40-0x43 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x8B, 0x00, /* 0x5C-0x5F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x41, 0x3F, 0x3F, 0x00, 0x40, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x43, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x00, 0x42, 0x3F, 0x3F, 0x00, 0x44, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x50, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x00, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x46, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x47, 0x90, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x97, 0x76, 0x3F, 0x3F, 0x00, 0x48, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x94, 0x65, /* 0x84-0x87 */ + 0x00, 0x49, 0x3F, 0x3F, 0x00, 0x4A, 0x8C, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x4B, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4B, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x8B, 0x94, 0x60, /* 0x94-0x97 */ + 0x00, 0x4C, 0x3F, 0x3F, 0x8A, 0x6F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x00, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4F, 0x97, 0x97, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x00, 0x4E, 0x90, 0x65, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x00, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x51, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x52, 0x8A, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x53, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x00, 0x54, 0x3F, 0x3F, 0x00, 0x55, /* 0xBC-0xBF */ + 0x00, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x70, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x57, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x00, 0x58, 0x00, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x47, 0x00, 0x5A, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x00, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8A[512] = { + 0x8C, 0x00, 0x3F, 0x3F, 0x92, 0x00, 0x00, 0x5D, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x8C, 0x76, 0x3F, 0x3F, 0x90, 0x75, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x00, 0x60, 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x00, 0x5F, 0x3F, 0x3F, 0x00, 0x00, 0x8C, 0x50, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5E, 0x91, 0x00, /* 0x14-0x17 */ + 0x8B, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x61, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x00, 0x62, 0x3F, 0x3F, 0x8F, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x8D, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x00, 0x63, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x4B, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x8B, 0x96, 0x3F, 0x3F, 0x96, 0x00, /* 0x30-0x33 */ + 0x91, 0x69, 0x3F, 0x3F, 0x00, 0x64, 0x00, 0x00, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x66, 0x92, 0x90, /* 0x38-0x3B */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x00, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x68, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x8D, 0x00, 0x91, 0x00, 0x00, 0x67, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x8F, 0x00, 0x95, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x66, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x8C, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x89, 0x72, 0x3F, 0x3F, 0x00, 0x6D, 0x8C, 0x77, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x8E, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x8E, 0x8D, 0x3F, 0x3F, 0x98, 0x6C, /* 0x68-0x6B */ + 0x00, 0x6C, 0x00, 0x6B, 0x91, 0x46, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x8B, 0x6C, 0x98, 0x62, 0x8A, 0x59, 0x8F, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x00, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x00, 0x70, 0x00, 0x6E, 0x3F, 0x3F, 0x8C, 0x00, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x97, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x8E, 0x8F, 0x94, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x00, 0x73, 0x3F, 0x3F, 0x90, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x92, 0x61, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x97, 0x55, 0x3F, 0x3F, 0x00, 0x76, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x90, 0x00, 0x00, 0x72, 0x3F, 0x3F, 0x00, 0x77, /* 0xA0-0xA3 */ + 0x8C, 0x00, 0x00, 0x74, 0x00, 0x75, 0x00, 0x00, /* 0xA4-0xA7 */ + 0x00, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x90, 0x00, 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x92, 0x4E, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x8B, 0x62, 0x3F, 0x3F, 0x00, 0x00, 0x92, 0x00, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7A, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x00, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x6B, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, /* 0xC8-0xCB */ + 0x8A, 0x00, 0x00, 0x79, 0x3F, 0x3F, 0x90, 0x7A, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x5F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7B, 0x00, 0x87, /* 0xD8-0xDB */ + 0x92, 0x00, 0x3F, 0x3F, 0x00, 0x86, 0x00, 0x00, /* 0xDC-0xDF */ + 0x00, 0x83, 0x00, 0x8B, 0x00, 0x84, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x00, 0x80, 0x3F, 0x3F, 0x92, 0x00, 0x00, 0x7E, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7C, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x97, 0x40, 0x8E, 0x90, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x00, 0x81, 0x3F, 0x3F, 0x00, 0x7D, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x85, /* 0xF4-0xF7 */ + 0x8F, 0x94, 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8B[512] = { + 0x96, 0x64, 0x89, 0x79, 0x88, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x89, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x00, 0x88, 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x00, 0x8D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x00, 0x82, 0x3F, 0x3F, 0x00, 0x8C, 0x00, 0x8E, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x8C, 0x00, 0x00, 0x8A, 0x8D, 0x75, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x00, 0x8F, 0x97, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x92, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x00, 0x95, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x93, /* 0x28-0x2B */ + 0x95, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x90, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x94, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x00, 0x96, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x00, 0x9A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x00, 0x97, 0x3F, 0x3F, 0x00, 0x99, 0x00, 0x98, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9B, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x8E, 0x00, 0x3F, 0x3F, 0x00, 0x9D, 0x00, 0x9C, /* 0x58-0x5B */ + 0x95, 0x88, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x78, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9E, /* 0x68-0x6B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x6C-0x6F */ + 0x8B, 0x63, 0x00, 0x00, 0x8F, 0x00, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x7C-0x7F */ + + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x5D, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x9D, 0x00, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x8F, 0x51, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8C[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x4A, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x00, 0x3F, 0x3F, 0x96, 0x4C, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x8F, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x8B, 0x98, 0x00, /* 0x68-0x6B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x00, 0x00, 0x95, 0x5E, 0x00, 0x00, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x96, 0x65, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x8A, 0x4C, 0x92, 0x00, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x95, 0x89, 0x8D, 0x00, 0x8D, 0x76, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x6E, /* 0xA4-0xA7 */ + 0x89, 0x00, 0x94, 0x00, 0x00, 0x00, 0x8A, 0x00, /* 0xA8-0xAB */ + 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x99, /* 0xAC-0xAF */ + 0x96, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xB0-0xB3 */ + 0x8B, 0x4D, 0x3F, 0x3F, 0x00, 0x00, 0x94, 0x83, /* 0xB4-0xB7 */ + 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, /* 0xB8-0xBB */ + 0x93, 0x5C, 0x00, 0x00, 0x3F, 0x3F, 0x96, 0x66, /* 0xBC-0xBF */ + 0x89, 0x00, 0x00, 0x00, 0x98, 0x47, 0x92, 0x00, /* 0xC0-0xC3 */ + 0x98, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x91, /* 0xC4-0xC7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x00, 0x00, 0x91, 0x47, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x95, 0x6F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x8E, 0x5E, /* 0xD8-0xDB */ + 0x8E, 0x92, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x94, 0x85, 0x3F, 0x3F, 0x8C, 0x00, 0x00, 0x00, /* 0xE0-0xE3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x95, 0x8A, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x93, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xF8-0xFB */ + 0x8D, 0x77, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8D[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x04-0x07 */ + 0x91, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x8A, 0x00, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x0C-0x0F */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x13 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x90, 0x00, 0x3F, 0x3F, 0x8E, 0x00, 0x00, 0x00, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x71, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x91, 0x96, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x70-0x73 */ + 0x95, 0x8B, 0x3F, 0x3F, 0x00, 0x00, 0x8B, 0x4E, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x7A, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x90, 0x96, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xC8-0xCB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x8B, 0x97, 0x3F, 0x3F, 0x00, 0x00, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x8C, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x48, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x91, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x97, 0x78, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0x0C-0x0F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x48, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x40, /* 0x44-0x47 */ + 0x00, 0x44, 0x00, 0x41, 0x00, 0x00, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x00, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x00, 0x43, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x00, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x00, /* 0x5C-0x5F */ + 0x00, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x49, /* 0x60-0x63 */ + 0x00, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4C, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x8F, 0x52, 0x3F, 0x3F, 0x00, 0x4B, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x00, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x00, 0x4E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x00, 0x51, 0x00, 0x50, 0x3F, 0x3F, 0x00, 0x4F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x53, 0x00, 0x52, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x00, 0x55, 0x3F, 0x3F, 0x00, 0x54, /* 0x90-0x93 */ + 0x00, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x00, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x00, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x58, 0x90, 0x67, /* 0xA8-0xAB */ + 0x00, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, /* 0xAC-0xAF */ + 0x00, 0x5B, 0x00, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5E, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x00, 0x5F, 0x00, 0x5C, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x00, 0x60, 0x3F, 0x3F, 0x8E, 0x00, 0x00, 0x61, /* 0xC8-0xCB */ + 0x8B, 0x4F, 0x8C, 0x52, 0x3F, 0x3F, 0x00, 0x00, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x62, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x5D, 0x00, 0x63, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x66, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x65, /* 0xF8-0xFB */ + 0x00, 0x64, 0x8C, 0x79, 0x00, 0x67, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8F[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x72, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x00, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x8D, 0x00, 0x00, 0x68, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x00, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6B, 0x00, 0x6D, /* 0x10-0x13 */ + 0x95, 0x00, 0x00, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x00, 0x6C, 0x3F, 0x3F, 0x00, 0x70, /* 0x18-0x1B */ + 0x00, 0x6E, 0x8B, 0x50, 0x3F, 0x3F, 0x00, 0x6F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x72, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x94, 0x79, 0x97, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x53, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x73, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x97, 0x41, 0x00, 0x75, 0x3F, 0x3F, 0x00, 0x74, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x78, 0x97, 0x60, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x77, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x8A, 0x8D, 0x00, 0x76, 0x00, 0x7B, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x00, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x00, 0x79, 0x93, 0x51, 0x00, 0x7C, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7D, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x00, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x8C, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x8C, 0x44, 0x00, 0x80, 0x00, 0x81, /* 0x60-0x63 */ + 0x00, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x68, /* 0x98-0x9B */ + 0x00, 0x83, 0x3F, 0x3F, 0x8E, 0x00, 0x00, 0x84, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x85, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x99, 0x9F, /* 0xA4-0xA7 */ + 0x99, 0x9E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x00, 0x86, 0x00, 0x90, 0x00, 0x87, /* 0xAC-0xAF */ + 0x92, 0x43, 0x90, 0x4A, 0x94, 0x5F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x88, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, 0x92, 0x00, /* 0xB8-0xBB */ + 0x8D, 0x9E, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x48, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x49, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x96, 0x98, 0x90, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x7D, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x89, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8B, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x00, 0x8A, 0x89, 0x00, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x93, 0x00, 0x00, 0x8C, 0x94, 0x97, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x93, 0x52, 0x3F, 0x3F, 0x00, 0x8D, /* 0xEC-0xEF */ + 0x8F, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x8F, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, /* 0xF4-0xF7 */ + 0x00, 0x9E, 0x00, 0x91, 0x00, 0x92, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_90[512] = { + 0x91, 0x00, 0x91, 0x97, 0x3F, 0x3F, 0x93, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x00, 0x90, 0x8B, 0x74, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x99, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x00, 0x96, 0x00, 0x00, 0x93, 0x00, /* 0x0C-0x0F */ + 0x92, 0x80, 0x00, 0x93, 0x3F, 0x3F, 0x92, 0x00, /* 0x10-0x13 */ + 0x93, 0x72, 0x00, 0x94, 0x00, 0x98, 0x90, 0x80, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x94, 0x87, 0x92, 0x00, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x90, 0x00, 0x00, 0x97, 0x91, 0x00, /* 0x1C-0x1F */ + 0x91, 0x00, 0x00, 0x95, 0x88, 0x00, 0x98, 0x41, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9A, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x8F, 0x54, 0x90, 0x69, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x00, 0x9C, 0x00, 0x9B, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x88, 0x00, 0x00, 0x9D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x95, 0x4E, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x93, 0x00, 0x90, 0x8B, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x92, 0x78, 0x3F, 0x3F, 0x8B, 0x00, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x00, 0x00, 0x97, 0x56, 0x89, 0x5E, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x95, 0x00, 0x89, 0x00, 0x00, 0x9F, /* 0x4C-0x4F */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, /* 0x50-0x53 */ + 0x92, 0x42, 0x88, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x91, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x89, 0x93, 0x91, 0x6B, 0x3F, 0x3F, 0x8C, 0x00, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x97, 0x79, 0x3F, 0x3F, 0x00, 0x00, /* 0x64-0x67 */ + 0x00, 0x00, 0x93, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x91, 0x98, 0x8E, 0x00, 0x00, 0x00, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x8F, 0x85, 0x00, 0x00, 0x91, 0x4A, /* 0x74-0x77 */ + 0x91, 0x49, 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x97, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x94, 0x00, /* 0x7C-0x7F */ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, /* 0x80-0x83 */ + 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8E, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x97, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x4D, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x93, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x78, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x59, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x8C, 0x53, 0x00, 0x00, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x95, 0x94, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x8A, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x97, 0x58, 0x3F, 0x3F, 0x8B, 0x00, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x93, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_91[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x93, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x93, 0x00, 0x00, 0x00, 0x8F, 0x55, /* 0x48-0x4B */ + 0x8E, 0x00, 0x94, 0x7A, 0x92, 0x91, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x90, 0x8C, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x7C, 0x00, 0x00, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x00, 0x00, 0x97, 0x8F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x8F, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x8D, 0x79, 0x3F, 0x3F, 0x8D, 0x93, /* 0x74-0x77 */ + 0x8E, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x86, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x8C, 0x00, 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x8F, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x8F, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x8D, 0x00, /* 0xC4-0xC7 */ + 0x8E, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xC8-0xCB */ + 0x97, 0x00, 0x8F, 0x64, 0x96, 0x00, 0x97, 0x00, /* 0xCC-0xCF */ + 0x00, 0x00, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xD4-0xD7 */ + 0x93, 0x42, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0xD8-0xDB */ + 0x8A, 0x98, 0x90, 0x6A, 0x00, 0x00, 0x00, 0x00, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x92, 0x00, /* 0xE0-0xE3 */ + 0x00, 0x00, 0x00, 0x00, 0x96, 0x74, 0x8B, 0x00, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_92[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x93, 0x00, 0x8A, 0x62, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x00, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x3C-0x3F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x93, 0x53, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x89, 0x94, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x00, 0x3F, 0x3F, 0x8F, 0x00, 0x00, 0x00, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x8D, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x74-0x77 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x67, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x65, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x00, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x91, 0x4C, 0x3F, 0x3F, 0x00, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x96, 0x00, 0x3F, 0x3F, 0x92, 0x00, 0x00, 0x00, /* 0x98-0x9B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x91, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xCC-0xCF */ + 0x00, 0x00, 0x3F, 0x3F, 0x96, 0x4E, 0x00, 0x00, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x8F, 0x9B, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x95, 0x00, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x89, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x65, 0x92, 0x92, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x8B, 0x98, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, /* 0xF8-0xFB */ + 0x8D, 0x7C, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_93[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x4B, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x0C-0x0F */ + 0x90, 0x8D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x90, 0x8E, 0x00, 0x40, 0x00, 0x42, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x8F, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x43, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x00, 0x00, 0x8B, 0x00, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x95, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, /* 0x28-0x2B */ + 0x98, 0x42, 0x3F, 0x3F, 0x00, 0x00, 0x8D, 0x00, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x5E, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x00, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x44, 0x00, 0x46, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x5E, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x00, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x93, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x92, 0x00, 0x3F, 0x3F, 0x00, 0x4B, 0x00, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x62, /* 0x58-0x5B */ + 0x00, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x00, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x8C, 0x4C, 0x3F, 0x3F, 0x00, 0x4A, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x00, 0x49, 0x3F, 0x3F, 0x8F, 0x00, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x8A, 0x99, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x00, 0x4F, 0x3F, 0x3F, 0x8D, 0x00, 0x91, 0x99, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x5A, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x00, 0x4D, 0x00, 0x4E, 0x92, 0x00, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x00, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x56, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x00, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x00, 0x58, 0x93, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x51, 0x00, 0x52, /* 0xD4-0xD7 */ + 0x00, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x00, 0x57, 0x00, 0x00, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x00, 0x5A, 0x00, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x00, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_94[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5E, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x00, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5D, /* 0x10-0x13 */ + 0x00, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x8F, 0x00, 0x93, 0x00, 0x00, 0x5B, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x62, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x00, 0x63, 0x00, 0x61, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x91, 0x00, 0x3F, 0x3F, 0x00, 0x65, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x00, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x00, 0x68, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x8A, 0x00, 0x00, 0x67, 0x96, 0x00, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x73, 0x00, 0x69, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6C, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x00, 0x6A, 0x3F, 0x3F, 0x00, 0x6B, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6D, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x00, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x00, 0x70, 0x3F, 0x3F, 0x00, 0x71, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x00, 0x74, 0x00, 0x72, 0x00, 0x75, 0x00, 0x77, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x00, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_95[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x00, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x96, 0x00, 0x3F, 0x3F, 0x00, 0x78, 0x91, 0x4D, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x79, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x95, 0x00, 0x00, 0x7A, 0x8A, 0x4A, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x5B, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x8A, 0x00, 0x00, 0x00, 0x8A, 0x00, /* 0x90-0x93 */ + 0x00, 0x7B, 0x3F, 0x3F, 0x00, 0x7C, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x00, 0x7D, 0x00, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x00, 0x80, 0x3F, 0x3F, 0x8A, 0x00, 0x8A, 0x74, /* 0xA0-0xA3 */ + 0x8D, 0x7D, 0x94, 0x00, 0x3F, 0x3F, 0x00, 0x82, /* 0xA4-0xA7 */ + 0x00, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x00, 0x83, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x7B, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x86, 0x3F, 0x3F, 0x00, 0x85, /* 0xB8-0xBB */ + 0x00, 0x84, 0x3F, 0x3F, 0x00, 0x87, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8A, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x88, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x00, 0x8C, 0x00, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x8E, 0x00, 0x8D, 0x00, 0x8F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x00, 0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x00, 0x91, 0x00, 0x93, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x00, 0x92, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_96[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x95, 0x8C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x94, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x00, 0x95, 0x3F, 0x3F, 0x8D, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x96, 0x00, 0x97, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x68, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x6A, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, /* 0x3C-0x3F */ + 0x91, 0x00, 0x3F, 0x3F, 0x00, 0x98, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x95, 0x8D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9B, /* 0x48-0x4B */ + 0x00, 0x99, 0x8D, 0x7E, 0x3F, 0x3F, 0x00, 0x9A, /* 0x4C-0x4F */ + 0x8C, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x00, /* 0x58-0x5B */ + 0x00, 0x9D, 0x00, 0x9F, 0x00, 0x9E, 0x00, 0x00, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x40, 0x90, 0x77, /* 0x60-0x63 */ + 0x8F, 0x9C, 0x8A, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x86, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x89, 0x41, 0x3F, 0x3F, 0x00, 0x00, 0x92, 0x00, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x97, 0x00, 0x93, 0x00, 0x00, 0x9C, /* 0x74-0x77 */ + 0x97, 0x00, 0x3F, 0x3F, 0x8C, 0x00, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x97, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x8B, 0x00, 0x97, 0x00, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x8C, 0x47, 0x3F, 0x3F, 0x91, 0x00, 0x00, 0x40, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x00, 0x00, 0x8A, 0x4B, 0x90, 0x8F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x8A, 0x75, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x94-0x97 */ + 0x00, 0x00, 0x8C, 0x84, 0x3F, 0x3F, 0x8D, 0x00, /* 0x98-0x9B */ + 0x8F, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x89, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xA4-0xA7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xAC-0xAF */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x97, 0x00, /* 0xB4-0xB7 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x90, 0x00, /* 0xB8-0xBB */ + 0x94, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x90, 0x9D, 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x97, 0x59, 0x89, 0x00, 0x8F, 0x57, 0x8C, 0x00, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xC8-0xCB */ + 0x8E, 0x93, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x8E, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x99, 0x00, 0x3F, 0x3F, 0x90, 0x97, /* 0xD8-0xDB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, 0x93, 0x00, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x89, 0x4A, 0x3F, 0x3F, 0x90, 0x00, 0x8E, 0x00, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x95, 0x00, 0x3F, 0x3F, 0x89, 0x5F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, 0x97, 0x8B, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x93, 0x64, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_97[512] = { + 0x8E, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x90, 0x6B, /* 0x04-0x07 */ + 0x00, 0x00, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x91, 0x9A, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x00, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x00, 0x00, 0x3F, 0x3F, 0x98, 0x49, 0x00, 0x00, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x9E, 0x50, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x43 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x00, 0x00, 0x90, 0x00, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x00, 0x96, 0x00, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x90, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x00, 0x00, 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x00, 0x00, 0x00, 0x72, 0x96, 0x00, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x00, 0x00, 0x8A, 0x76, 0x3F, 0x3F, 0x00, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x90, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x8C, 0x43, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x8A, 0x93, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x8C-0x8F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x8F, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x8B, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x91, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x95, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xB0-0xB3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8A, 0x00, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x00, 0x00, 0x94, 0x42, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x89, 0x00, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x43, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_98[512] = { + 0x3F, 0x3F, 0x95, 0x00, 0x92, 0x00, 0x8D, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x8D, 0x80, 0x8F, 0x87, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x90, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x0C-0x0F */ + 0x97, 0x61, 0x8A, 0x00, 0x94, 0x00, 0x93, 0x00, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x9C, /* 0x14-0x17 */ + 0x97, 0x00, 0x3F, 0x3F, 0x8C, 0x7A, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x96, 0x6A, 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x89, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x34-0x37 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x70, /* 0x38-0x3B */ + 0x97, 0x8A, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x48-0x4B */ + 0x91, 0x00, 0x8A, 0x7A, 0x8A, 0x7B, 0x00, 0x00, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x8A, 0x00, 0x8C, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x54-0x57 */ + 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x5E, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x8C, 0x00, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x6C-0x6F */ + 0x00, 0x00, 0x00, 0x40, 0x3F, 0x3F, 0x00, 0x42, /* 0x70-0x73 */ + 0x00, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x95, 0x97, 0x3F, 0x3F, 0x00, 0x43, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x44, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x00, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x46, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x48, /* 0xC0-0xC3 */ + 0x00, 0x47, 0x3F, 0x3F, 0x00, 0x49, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, /* 0xD8-0xDB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x90, 0x48, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x51, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x00, 0x4A, 0x3F, 0x3F, 0x00, 0x4B, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x99, 0x00, 0x9F, 0x5A, 0x94, 0x00, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x8E, 0x94, 0x96, 0x4F, 0x8F, 0x00, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_99[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4C, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x00, 0x4D, 0x97, 0x7B, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x89, 0x61, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x8E, 0x60, 0x3F, 0x3F, 0x00, 0x4E, 0x89, 0x00, /* 0x10-0x13 */ + 0x00, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x00, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x00, 0x52, 0x00, 0x53, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x00, 0x55, 0x00, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x00, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x24-0x27 */ + 0x8A, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x00, 0x56, 0x3F, 0x3F, 0x00, 0x57, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x00, 0x58, 0x00, 0x59, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5A, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x00, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x00, 0x5B, 0x3F, 0x3F, 0x00, 0x5E, /* 0x48-0x4B */ + 0x00, 0x61, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x00, 0x5D, 0x00, 0x5F, 0x00, 0x60, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x62, 0x3F, 0x3F, 0x8B, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8E, 0x00, 0x00, 0x63, /* 0x94-0x97 */ + 0x00, 0x64, 0x8D, 0x81, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x00, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x8A, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x94, 0x6E, 0x00, 0x66, 0x00, 0x67, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x92, 0x79, /* 0xB0-0xB3 */ + 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x00, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x94, 0x9D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x91, 0x00, 0x89, 0x77, 0x8B, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x8B, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x92, 0x93, 0x00, 0x6D, 0x8B, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x6A, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x00, 0x6B, 0x3F, 0x3F, 0x00, 0x69, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x77, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x00, 0x6E, 0x00, 0x6F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x00, 0x70, 0x00, 0x71, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x00, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x72, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8F, 0x78, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9A[512] = { + 0x3F, 0x3F, 0x00, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x00, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x52, 0x00, 0x75, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x9B, 0x8C, 0x00, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x00, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x91, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x79, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x93, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7A, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x80, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x00, 0x7D, 0x3F, 0x3F, 0x00, 0x7C, 0x00, 0x7E, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x00, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x00, 0x82, 0x00, 0x00, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x00, 0x81, 0x3F, 0x3F, 0x00, 0x84, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x8B, 0x00, 0x00, 0x83, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x85, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x86, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x88, 0x00, 0x87, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x00, 0x89, 0x00, 0x8B, 0x00, 0x8A, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x8D, 0x9C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x00, 0x8C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x00, 0x8D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x8A, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x00, 0x8E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x00, 0x8F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x90, 0x91, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x90, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x00, 0x91, 0x3F, 0x3F, 0x00, 0x92, /* 0xD0-0xD3 */ + 0x00, 0x93, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x8D, 0x82, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x00, 0x40, 0x3F, 0x3F, 0x00, 0x94, 0x00, 0x95, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x96, 0x00, 0x97, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x98, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x94, 0x00, 0x00, 0x9A, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x95, 0x45, 0x00, 0x9B, 0x00, 0x99, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x00, 0x9D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x9C, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9E, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9B[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0x24-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x9F, 0x54, 0x00, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x38-0x3B */ + 0x8B, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x8A, 0x40, 0x8D, 0x00, 0x00, 0x00, /* 0x40-0x43 */ + 0x00, 0x00, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x96, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x00, 0x00, 0x3F, 0x3F, 0x8B, 0x9B, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x44, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x42, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x00, 0x00, 0x00, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x88, 0x00, 0x00, 0x43, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x9C-0x9F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x00, 0x00, 0x3F, 0x3F, 0x96, 0x8E, 0x8E, 0x4C, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x8D, 0x00, 0x91, 0x4E, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x00, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x45, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x8C, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x8E, 0x49, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x91, 0x00, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xE0-0xE3 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x8C, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x88, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9C[512] = { + 0x00, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x00, 0x00, 0x8A, 0x82, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x98, 0x6B, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x13 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x95, 0x68, 0x00, 0x00, 0x88, 0x00, /* 0x2C-0x2F */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x8A, 0x8F, 0x00, 0x00, 0x89, 0x56, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x44-0x47 */ + 0x92, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x90, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x97, 0x00, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x92, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x94, 0x00, 0x3F, 0x3F, 0x00, 0x00, /* 0xE8-0xEB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x96, 0x50, /* 0xF0-0xF3 */ + 0x96, 0x00, 0x3F, 0x3F, 0x93, 0x00, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9D[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x93, 0x00, /* 0x04-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x00, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x89, 0x95, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x8A, 0x9B, 0x3F, 0x3F, 0x00, 0x00, 0x8E, 0x00, /* 0x28-0x2B */ + 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8D, 0x83, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x00, 0x44, 0x00, 0x43, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x00, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x89, 0x4C, 0x00, 0x40, 0x00, 0x41, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x8D, 0x94, 0x96, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x00, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x48, /* 0x68-0x6B */ + 0x96, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4A, /* 0x6C-0x6F */ + 0x00, 0x47, 0x3F, 0x3F, 0x00, 0x46, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4B, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x48, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x00, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x7B, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4C, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x00, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x00, 0x4E, 0x3F, 0x3F, 0x00, 0x49, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x4F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x92, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x00, 0x53, 0x3F, 0x3F, 0x00, 0x54, 0x00, 0x52, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x00, 0x51, 0x00, 0x57, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x00, 0x50, 0x3F, 0x3F, 0x00, 0x55, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x56, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x59, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x00, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x5B, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x00, 0x5C, 0x3F, 0x3F, 0x00, 0x5D, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x98, 0x68, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x00, 0x5A, 0x91, 0x00, 0x8D, 0x00, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x00, 0x5E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x00, 0x4A, 0x00, 0x5F, 0x00, 0x60, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x61, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x00, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x8C, 0x00, 0x00, 0x63, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x00, 0x64, 0x3F, 0x3F, 0x8E, 0x00, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x00, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x00, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x67, /* 0x88-0x8B */ + 0x00, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x00, 0x6B, 0x00, 0x69, 0x98, 0x5B, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x00, 0x6A, 0x3F, 0x3F, 0x97, 0x00, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x00, 0x6C, 0x3F, 0x3F, 0x97, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x00, 0x6D, 0x94, 0x9E, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x00, 0x6E, 0x00, 0x70, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x00, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x00, 0x6F, 0x8D, 0x8D, 0x96, 0x00, 0x96, 0x83, /* 0xB8-0xBB */ + 0x9B, 0x00, 0x3F, 0x3F, 0x9F, 0x80, 0x96, 0x9B, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x89, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x00, 0x73, 0x8B, 0x6F, 0x00, 0x74, 0x00, 0x75, /* 0xCC-0xCF */ + 0x00, 0x76, 0x00, 0x4B, 0x8D, 0x95, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x00, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x00, 0x00, 0x96, 0x00, 0x3F, 0x3F, 0x91, 0x00, /* 0xD8-0xDB */ + 0x00, 0x78, 0x00, 0x7A, 0x00, 0x79, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x00, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x00, 0x7C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x00, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x7E, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x00, 0x80, 0x3F, 0x3F, 0x00, 0x81, 0x00, 0x82, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x00, 0x83, 0x3F, 0x3F, 0x00, 0x84, /* 0xF8-0xFB */ + 0x00, 0x85, 0x00, 0x86, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9F[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x87, /* 0x04-0x07 */ + 0x00, 0x88, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x93, 0x43, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x8C, 0x00, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x00, 0x8A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x91, 0x6C, 0x00, 0x8B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x00, 0x8C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x95, 0x40, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8D, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8E, 0x00, 0x56, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x8F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x00, 0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x92, /* 0x5C-0x5F */ + 0x00, 0x93, 0x00, 0x94, 0x97, 0x00, 0x00, 0x91, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x95, 0x00, 0x96, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x98, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x00, 0x97, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9A, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x9B, 0x00, 0x99, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x97, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x00, 0x9C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x00, 0x9D, 0x00, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x00, 0x9E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_F9[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FA[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x90, 0x00, 0x9B, /* 0x0C-0x0F */ + 0x00, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x13 */ + 0x00, 0x00, 0x00, 0x58, 0x00, 0x5E, 0x00, 0x75, /* 0x14-0x17 */ + 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x80, 0x00, 0x82, /* 0x18-0x1B */ + 0x00, 0x86, 0x00, 0x89, 0x00, 0x92, 0x00, 0x9D, /* 0x1C-0x1F */ + 0x00, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x23 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x24-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2B */ + 0x00, 0x00, 0x00, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FF[512] = { + 0x3F, 0x3F, 0x81, 0x49, 0x00, 0x57, 0x81, 0x94, /* 0x00-0x03 */ + 0x81, 0x90, 0x81, 0x93, 0x81, 0x95, 0x00, 0x56, /* 0x04-0x07 */ + 0x81, 0x69, 0x81, 0x6A, 0x81, 0x96, 0x81, 0x7B, /* 0x08-0x0B */ + 0x81, 0x43, 0x81, 0x7C, 0x81, 0x44, 0x81, 0x5E, /* 0x0C-0x0F */ + 0x82, 0x4F, 0x82, 0x50, 0x82, 0x51, 0x82, 0x52, /* 0x10-0x13 */ + 0x82, 0x53, 0x82, 0x54, 0x82, 0x55, 0x82, 0x56, /* 0x14-0x17 */ + 0x82, 0x57, 0x82, 0x58, 0x81, 0x46, 0x81, 0x47, /* 0x18-0x1B */ + 0x81, 0x83, 0x81, 0x81, 0x81, 0x84, 0x81, 0x48, /* 0x1C-0x1F */ + 0x81, 0x97, 0x82, 0x60, 0x82, 0x61, 0x82, 0x62, /* 0x20-0x23 */ + 0x82, 0x63, 0x82, 0x64, 0x82, 0x65, 0x82, 0x66, /* 0x24-0x27 */ + 0x82, 0x67, 0x82, 0x68, 0x82, 0x69, 0x82, 0x6A, /* 0x28-0x2B */ + 0x82, 0x6B, 0x82, 0x6C, 0x82, 0x6D, 0x82, 0x6E, /* 0x2C-0x2F */ + 0x82, 0x6F, 0x82, 0x70, 0x82, 0x71, 0x82, 0x72, /* 0x30-0x33 */ + 0x82, 0x73, 0x82, 0x74, 0x82, 0x75, 0x82, 0x76, /* 0x34-0x37 */ + 0x82, 0x77, 0x82, 0x78, 0x82, 0x79, 0x81, 0x6D, /* 0x38-0x3B */ + 0x81, 0x5F, 0x81, 0x6E, 0x81, 0x4F, 0x81, 0x51, /* 0x3C-0x3F */ + 0x81, 0x4D, 0x82, 0x81, 0x82, 0x82, 0x82, 0x83, /* 0x40-0x43 */ + 0x82, 0x84, 0x82, 0x85, 0x82, 0x86, 0x82, 0x87, /* 0x44-0x47 */ + 0x82, 0x88, 0x82, 0x89, 0x82, 0x8A, 0x82, 0x8B, /* 0x48-0x4B */ + 0x82, 0x8C, 0x82, 0x8D, 0x82, 0x8E, 0x82, 0x8F, /* 0x4C-0x4F */ + 0x82, 0x90, 0x82, 0x91, 0x82, 0x92, 0x82, 0x93, /* 0x50-0x53 */ + 0x82, 0x94, 0x82, 0x95, 0x82, 0x96, 0x82, 0x97, /* 0x54-0x57 */ + 0x82, 0x98, 0x82, 0x99, 0x82, 0x9A, 0x81, 0x6F, /* 0x58-0x5B */ + 0x81, 0x62, 0x81, 0x70, 0x81, 0x60, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x63 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x64-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6B */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x6C-0x6F */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x73 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x74-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7B */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x7C-0x7F */ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x83 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x84-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8B */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x8C-0x8F */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x93 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x94-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9B */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x81, 0x91, 0x81, 0x92, 0x00, 0x54, 0x81, 0x50, /* 0xE0-0xE3 */ + 0x00, 0x55, 0x81, 0x8F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char *page_uni2charset[256] = { + NULL, NULL, NULL, u2c_03, u2c_04, 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, + u2c_20, u2c_21, u2c_22, u2c_23, u2c_24, u2c_25, u2c_26, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + u2c_30, NULL, u2c_32, u2c_33, 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, u2c_4E, u2c_4F, + u2c_50, u2c_51, u2c_52, u2c_53, u2c_54, u2c_55, u2c_56, u2c_57, + u2c_58, u2c_59, u2c_5A, u2c_5B, u2c_5C, u2c_5D, u2c_5E, u2c_5F, + u2c_60, u2c_61, u2c_62, u2c_63, u2c_64, u2c_65, u2c_66, u2c_67, + u2c_68, u2c_69, u2c_6A, u2c_6B, u2c_6C, u2c_6D, u2c_6E, u2c_6F, + u2c_70, u2c_71, u2c_72, u2c_73, u2c_74, u2c_75, u2c_76, u2c_77, + u2c_78, u2c_79, u2c_7A, u2c_7B, u2c_7C, u2c_7D, u2c_7E, u2c_7F, + u2c_80, u2c_81, u2c_82, u2c_83, u2c_84, u2c_85, u2c_86, u2c_87, + u2c_88, u2c_89, u2c_8A, u2c_8B, u2c_8C, u2c_8D, u2c_8E, u2c_8F, + u2c_90, u2c_91, u2c_92, u2c_93, u2c_94, u2c_95, u2c_96, u2c_97, + u2c_98, u2c_99, u2c_9A, u2c_9B, u2c_9C, u2c_9D, u2c_9E, u2c_9F, + 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, u2c_F9, u2c_FA, NULL, NULL, NULL, NULL, u2c_FF, }; + +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + if (ch == 0xFF && 0x60 < cl && cl < 0xA0){ + out[0] = cl + 0x40; + *outlen = 1; + return; + } + + uni2charset = page_uni2charset[ch]; + *outlen = 0; + if (uni2charset){ + if (boundlen <= 1) + return; + out[0] = uni2charset[cl*2]; + out[1] = uni2charset[cl*2+1]; + *outlen = 1; + } else if (ch==0 && cl) + out[0] = cl; + else + out[0] = '?'; + (*outlen)++; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + unsigned char ch, cl; + struct nls_unicode *charset2uni; + + ch = rawstring[0]; + cl = rawstring[1]; + if (0xA0 < ch && ch < 0xE0){ + *uni1 = 0xFF; + *uni2 = ch - 0x40; + *offset = 1; + return; + } + + charset2uni = page_charset2uni[ch]; + if (charset2uni && cl){ + *uni1 = charset2uni[cl].uni2; + *uni2 = charset2uni[cl].uni1; + *offset = 2; + } else{ + *uni1 = ch; + *uni2 = 0x00; + *offset = 1; + } + return; +} + +static void inc_use_count(void) +{ + MOD_INC_USE_COUNT; +} + +static void dec_use_count(void) +{ + MOD_DEC_USE_COUNT; +} + +static struct nls_table table = { + "cp932", + uni2char, + char2uni, + inc_use_count, + dec_use_count, + NULL +}; + +int init_nls_cp932(void) +{ + return register_nls(&table); +} + +#ifdef MODULE +int init_module(void) +{ + return init_nls_cp932(); +} + + +void cleanup_module(void) +{ + unregister_nls(&table); + return; +} +#endif + +/* + * Overrides for Emacs so that we follow Linus's tabbing style. + * Emacs will notice this stuff at the end of the file and automatically + * adjust the settings for this buffer only. This must remain at the end + * of the file. + * +--------------------------------------------------------------------------- + * Local variables: + * c-indent-level: 8 + * c-brace-imaginary-offset: 0 + * c-brace-offset: -8 + * c-argdecl-indent: 8 + * c-label-offset: -8 + * c-continued-statement-offset: 8 + * c-continued-brace-offset: 0 + * End: + */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp936.c linux.16p1/fs/nls/nls_cp936.c --- linux.15p19/fs/nls/nls_cp936.c Thu Jan 1 01:00:00 1970 +++ linux.16p1/fs/nls/nls_cp936.c Wed Apr 19 13:58:55 2000 @@ -0,0 +1,15614 @@ +/* + * linux/fs/nls_cp936.c + * + * Charset cp936 translation tables. + * Generated automatically from the Microsoft + */ + +#include +#include +#include +#include + +static struct nls_unicode c2u_81[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x4E, 0x02}, {0x4E, 0x04}, {0x4E, 0x05}, {0x4E, 0x06}, /* 0x40-0x43 */ + {0x4E, 0x0F}, {0x4E, 0x12}, {0x4E, 0x17}, {0x4E, 0x1F}, /* 0x44-0x47 */ + {0x4E, 0x20}, {0x4E, 0x21}, {0x4E, 0x23}, {0x4E, 0x26}, /* 0x48-0x4B */ + {0x4E, 0x29}, {0x4E, 0x2E}, {0x4E, 0x2F}, {0x4E, 0x31}, /* 0x4C-0x4F */ + {0x4E, 0x33}, {0x4E, 0x35}, {0x4E, 0x37}, {0x4E, 0x3C}, /* 0x50-0x53 */ + {0x4E, 0x40}, {0x4E, 0x41}, {0x4E, 0x42}, {0x4E, 0x44}, /* 0x54-0x57 */ + {0x4E, 0x46}, {0x4E, 0x4A}, {0x4E, 0x51}, {0x4E, 0x55}, /* 0x58-0x5B */ + {0x4E, 0x57}, {0x4E, 0x5A}, {0x4E, 0x5B}, {0x4E, 0x62}, /* 0x5C-0x5F */ + {0x4E, 0x63}, {0x4E, 0x64}, {0x4E, 0x65}, {0x4E, 0x67}, /* 0x60-0x63 */ + {0x4E, 0x68}, {0x4E, 0x6A}, {0x4E, 0x6B}, {0x4E, 0x6C}, /* 0x64-0x67 */ + {0x4E, 0x6D}, {0x4E, 0x6E}, {0x4E, 0x6F}, {0x4E, 0x72}, /* 0x68-0x6B */ + {0x4E, 0x74}, {0x4E, 0x75}, {0x4E, 0x76}, {0x4E, 0x77}, /* 0x6C-0x6F */ + {0x4E, 0x78}, {0x4E, 0x79}, {0x4E, 0x7A}, {0x4E, 0x7B}, /* 0x70-0x73 */ + {0x4E, 0x7C}, {0x4E, 0x7D}, {0x4E, 0x7F}, {0x4E, 0x80}, /* 0x74-0x77 */ + {0x4E, 0x81}, {0x4E, 0x82}, {0x4E, 0x83}, {0x4E, 0x84}, /* 0x78-0x7B */ + {0x4E, 0x85}, {0x4E, 0x87}, {0x4E, 0x8A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x4E, 0x90}, {0x4E, 0x96}, {0x4E, 0x97}, {0x4E, 0x99}, /* 0x80-0x83 */ + {0x4E, 0x9C}, {0x4E, 0x9D}, {0x4E, 0x9E}, {0x4E, 0xA3}, /* 0x84-0x87 */ + {0x4E, 0xAA}, {0x4E, 0xAF}, {0x4E, 0xB0}, {0x4E, 0xB1}, /* 0x88-0x8B */ + {0x4E, 0xB4}, {0x4E, 0xB6}, {0x4E, 0xB7}, {0x4E, 0xB8}, /* 0x8C-0x8F */ + {0x4E, 0xB9}, {0x4E, 0xBC}, {0x4E, 0xBD}, {0x4E, 0xBE}, /* 0x90-0x93 */ + {0x4E, 0xC8}, {0x4E, 0xCC}, {0x4E, 0xCF}, {0x4E, 0xD0}, /* 0x94-0x97 */ + {0x4E, 0xD2}, {0x4E, 0xDA}, {0x4E, 0xDB}, {0x4E, 0xDC}, /* 0x98-0x9B */ + {0x4E, 0xE0}, {0x4E, 0xE2}, {0x4E, 0xE6}, {0x4E, 0xE7}, /* 0x9C-0x9F */ + {0x4E, 0xE9}, {0x4E, 0xED}, {0x4E, 0xEE}, {0x4E, 0xEF}, /* 0xA0-0xA3 */ + {0x4E, 0xF1}, {0x4E, 0xF4}, {0x4E, 0xF8}, {0x4E, 0xF9}, /* 0xA4-0xA7 */ + {0x4E, 0xFA}, {0x4E, 0xFC}, {0x4E, 0xFE}, {0x4F, 0x00}, /* 0xA8-0xAB */ + {0x4F, 0x02}, {0x4F, 0x03}, {0x4F, 0x04}, {0x4F, 0x05}, /* 0xAC-0xAF */ + {0x4F, 0x06}, {0x4F, 0x07}, {0x4F, 0x08}, {0x4F, 0x0B}, /* 0xB0-0xB3 */ + {0x4F, 0x0C}, {0x4F, 0x12}, {0x4F, 0x13}, {0x4F, 0x14}, /* 0xB4-0xB7 */ + {0x4F, 0x15}, {0x4F, 0x16}, {0x4F, 0x1C}, {0x4F, 0x1D}, /* 0xB8-0xBB */ + {0x4F, 0x21}, {0x4F, 0x23}, {0x4F, 0x28}, {0x4F, 0x29}, /* 0xBC-0xBF */ + {0x4F, 0x2C}, {0x4F, 0x2D}, {0x4F, 0x2E}, {0x4F, 0x31}, /* 0xC0-0xC3 */ + {0x4F, 0x33}, {0x4F, 0x35}, {0x4F, 0x37}, {0x4F, 0x39}, /* 0xC4-0xC7 */ + {0x4F, 0x3B}, {0x4F, 0x3E}, {0x4F, 0x3F}, {0x4F, 0x40}, /* 0xC8-0xCB */ + {0x4F, 0x41}, {0x4F, 0x42}, {0x4F, 0x44}, {0x4F, 0x45}, /* 0xCC-0xCF */ + {0x4F, 0x47}, {0x4F, 0x48}, {0x4F, 0x49}, {0x4F, 0x4A}, /* 0xD0-0xD3 */ + {0x4F, 0x4B}, {0x4F, 0x4C}, {0x4F, 0x52}, {0x4F, 0x54}, /* 0xD4-0xD7 */ + {0x4F, 0x56}, {0x4F, 0x61}, {0x4F, 0x62}, {0x4F, 0x66}, /* 0xD8-0xDB */ + {0x4F, 0x68}, {0x4F, 0x6A}, {0x4F, 0x6B}, {0x4F, 0x6D}, /* 0xDC-0xDF */ + {0x4F, 0x6E}, {0x4F, 0x71}, {0x4F, 0x72}, {0x4F, 0x75}, /* 0xE0-0xE3 */ + {0x4F, 0x77}, {0x4F, 0x78}, {0x4F, 0x79}, {0x4F, 0x7A}, /* 0xE4-0xE7 */ + {0x4F, 0x7D}, {0x4F, 0x80}, {0x4F, 0x81}, {0x4F, 0x82}, /* 0xE8-0xEB */ + {0x4F, 0x85}, {0x4F, 0x86}, {0x4F, 0x87}, {0x4F, 0x8A}, /* 0xEC-0xEF */ + {0x4F, 0x8C}, {0x4F, 0x8E}, {0x4F, 0x90}, {0x4F, 0x92}, /* 0xF0-0xF3 */ + {0x4F, 0x93}, {0x4F, 0x95}, {0x4F, 0x96}, {0x4F, 0x98}, /* 0xF4-0xF7 */ + {0x4F, 0x99}, {0x4F, 0x9A}, {0x4F, 0x9C}, {0x4F, 0x9E}, /* 0xF8-0xFB */ + {0x4F, 0x9F}, {0x4F, 0xA1}, {0x4F, 0xA2}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_82[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x4F, 0xA4}, {0x4F, 0xAB}, {0x4F, 0xAD}, {0x4F, 0xB0}, /* 0x40-0x43 */ + {0x4F, 0xB1}, {0x4F, 0xB2}, {0x4F, 0xB3}, {0x4F, 0xB4}, /* 0x44-0x47 */ + {0x4F, 0xB6}, {0x4F, 0xB7}, {0x4F, 0xB8}, {0x4F, 0xB9}, /* 0x48-0x4B */ + {0x4F, 0xBA}, {0x4F, 0xBB}, {0x4F, 0xBC}, {0x4F, 0xBD}, /* 0x4C-0x4F */ + {0x4F, 0xBE}, {0x4F, 0xC0}, {0x4F, 0xC1}, {0x4F, 0xC2}, /* 0x50-0x53 */ + {0x4F, 0xC6}, {0x4F, 0xC7}, {0x4F, 0xC8}, {0x4F, 0xC9}, /* 0x54-0x57 */ + {0x4F, 0xCB}, {0x4F, 0xCC}, {0x4F, 0xCD}, {0x4F, 0xD2}, /* 0x58-0x5B */ + {0x4F, 0xD3}, {0x4F, 0xD4}, {0x4F, 0xD5}, {0x4F, 0xD6}, /* 0x5C-0x5F */ + {0x4F, 0xD9}, {0x4F, 0xDB}, {0x4F, 0xE0}, {0x4F, 0xE2}, /* 0x60-0x63 */ + {0x4F, 0xE4}, {0x4F, 0xE5}, {0x4F, 0xE7}, {0x4F, 0xEB}, /* 0x64-0x67 */ + {0x4F, 0xEC}, {0x4F, 0xF0}, {0x4F, 0xF2}, {0x4F, 0xF4}, /* 0x68-0x6B */ + {0x4F, 0xF5}, {0x4F, 0xF6}, {0x4F, 0xF7}, {0x4F, 0xF9}, /* 0x6C-0x6F */ + {0x4F, 0xFB}, {0x4F, 0xFC}, {0x4F, 0xFD}, {0x4F, 0xFF}, /* 0x70-0x73 */ + {0x50, 0x00}, {0x50, 0x01}, {0x50, 0x02}, {0x50, 0x03}, /* 0x74-0x77 */ + {0x50, 0x04}, {0x50, 0x05}, {0x50, 0x06}, {0x50, 0x07}, /* 0x78-0x7B */ + {0x50, 0x08}, {0x50, 0x09}, {0x50, 0x0A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x50, 0x0B}, {0x50, 0x0E}, {0x50, 0x10}, {0x50, 0x11}, /* 0x80-0x83 */ + {0x50, 0x13}, {0x50, 0x15}, {0x50, 0x16}, {0x50, 0x17}, /* 0x84-0x87 */ + {0x50, 0x1B}, {0x50, 0x1D}, {0x50, 0x1E}, {0x50, 0x20}, /* 0x88-0x8B */ + {0x50, 0x22}, {0x50, 0x23}, {0x50, 0x24}, {0x50, 0x27}, /* 0x8C-0x8F */ + {0x50, 0x2B}, {0x50, 0x2F}, {0x50, 0x30}, {0x50, 0x31}, /* 0x90-0x93 */ + {0x50, 0x32}, {0x50, 0x33}, {0x50, 0x34}, {0x50, 0x35}, /* 0x94-0x97 */ + {0x50, 0x36}, {0x50, 0x37}, {0x50, 0x38}, {0x50, 0x39}, /* 0x98-0x9B */ + {0x50, 0x3B}, {0x50, 0x3D}, {0x50, 0x3F}, {0x50, 0x40}, /* 0x9C-0x9F */ + {0x50, 0x41}, {0x50, 0x42}, {0x50, 0x44}, {0x50, 0x45}, /* 0xA0-0xA3 */ + {0x50, 0x46}, {0x50, 0x49}, {0x50, 0x4A}, {0x50, 0x4B}, /* 0xA4-0xA7 */ + {0x50, 0x4D}, {0x50, 0x50}, {0x50, 0x51}, {0x50, 0x52}, /* 0xA8-0xAB */ + {0x50, 0x53}, {0x50, 0x54}, {0x50, 0x56}, {0x50, 0x57}, /* 0xAC-0xAF */ + {0x50, 0x58}, {0x50, 0x59}, {0x50, 0x5B}, {0x50, 0x5D}, /* 0xB0-0xB3 */ + {0x50, 0x5E}, {0x50, 0x5F}, {0x50, 0x60}, {0x50, 0x61}, /* 0xB4-0xB7 */ + {0x50, 0x62}, {0x50, 0x63}, {0x50, 0x64}, {0x50, 0x66}, /* 0xB8-0xBB */ + {0x50, 0x67}, {0x50, 0x68}, {0x50, 0x69}, {0x50, 0x6A}, /* 0xBC-0xBF */ + {0x50, 0x6B}, {0x50, 0x6D}, {0x50, 0x6E}, {0x50, 0x6F}, /* 0xC0-0xC3 */ + {0x50, 0x70}, {0x50, 0x71}, {0x50, 0x72}, {0x50, 0x73}, /* 0xC4-0xC7 */ + {0x50, 0x74}, {0x50, 0x75}, {0x50, 0x78}, {0x50, 0x79}, /* 0xC8-0xCB */ + {0x50, 0x7A}, {0x50, 0x7C}, {0x50, 0x7D}, {0x50, 0x81}, /* 0xCC-0xCF */ + {0x50, 0x82}, {0x50, 0x83}, {0x50, 0x84}, {0x50, 0x86}, /* 0xD0-0xD3 */ + {0x50, 0x87}, {0x50, 0x89}, {0x50, 0x8A}, {0x50, 0x8B}, /* 0xD4-0xD7 */ + {0x50, 0x8C}, {0x50, 0x8E}, {0x50, 0x8F}, {0x50, 0x90}, /* 0xD8-0xDB */ + {0x50, 0x91}, {0x50, 0x92}, {0x50, 0x93}, {0x50, 0x94}, /* 0xDC-0xDF */ + {0x50, 0x95}, {0x50, 0x96}, {0x50, 0x97}, {0x50, 0x98}, /* 0xE0-0xE3 */ + {0x50, 0x99}, {0x50, 0x9A}, {0x50, 0x9B}, {0x50, 0x9C}, /* 0xE4-0xE7 */ + {0x50, 0x9D}, {0x50, 0x9E}, {0x50, 0x9F}, {0x50, 0xA0}, /* 0xE8-0xEB */ + {0x50, 0xA1}, {0x50, 0xA2}, {0x50, 0xA4}, {0x50, 0xA6}, /* 0xEC-0xEF */ + {0x50, 0xAA}, {0x50, 0xAB}, {0x50, 0xAD}, {0x50, 0xAE}, /* 0xF0-0xF3 */ + {0x50, 0xAF}, {0x50, 0xB0}, {0x50, 0xB1}, {0x50, 0xB3}, /* 0xF4-0xF7 */ + {0x50, 0xB4}, {0x50, 0xB5}, {0x50, 0xB6}, {0x50, 0xB7}, /* 0xF8-0xFB */ + {0x50, 0xB8}, {0x50, 0xB9}, {0x50, 0xBC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_83[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x50, 0xBD}, {0x50, 0xBE}, {0x50, 0xBF}, {0x50, 0xC0}, /* 0x40-0x43 */ + {0x50, 0xC1}, {0x50, 0xC2}, {0x50, 0xC3}, {0x50, 0xC4}, /* 0x44-0x47 */ + {0x50, 0xC5}, {0x50, 0xC6}, {0x50, 0xC7}, {0x50, 0xC8}, /* 0x48-0x4B */ + {0x50, 0xC9}, {0x50, 0xCA}, {0x50, 0xCB}, {0x50, 0xCC}, /* 0x4C-0x4F */ + {0x50, 0xCD}, {0x50, 0xCE}, {0x50, 0xD0}, {0x50, 0xD1}, /* 0x50-0x53 */ + {0x50, 0xD2}, {0x50, 0xD3}, {0x50, 0xD4}, {0x50, 0xD5}, /* 0x54-0x57 */ + {0x50, 0xD7}, {0x50, 0xD8}, {0x50, 0xD9}, {0x50, 0xDB}, /* 0x58-0x5B */ + {0x50, 0xDC}, {0x50, 0xDD}, {0x50, 0xDE}, {0x50, 0xDF}, /* 0x5C-0x5F */ + {0x50, 0xE0}, {0x50, 0xE1}, {0x50, 0xE2}, {0x50, 0xE3}, /* 0x60-0x63 */ + {0x50, 0xE4}, {0x50, 0xE5}, {0x50, 0xE8}, {0x50, 0xE9}, /* 0x64-0x67 */ + {0x50, 0xEA}, {0x50, 0xEB}, {0x50, 0xEF}, {0x50, 0xF0}, /* 0x68-0x6B */ + {0x50, 0xF1}, {0x50, 0xF2}, {0x50, 0xF4}, {0x50, 0xF6}, /* 0x6C-0x6F */ + {0x50, 0xF7}, {0x50, 0xF8}, {0x50, 0xF9}, {0x50, 0xFA}, /* 0x70-0x73 */ + {0x50, 0xFC}, {0x50, 0xFD}, {0x50, 0xFE}, {0x50, 0xFF}, /* 0x74-0x77 */ + {0x51, 0x00}, {0x51, 0x01}, {0x51, 0x02}, {0x51, 0x03}, /* 0x78-0x7B */ + {0x51, 0x04}, {0x51, 0x05}, {0x51, 0x08}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x51, 0x09}, {0x51, 0x0A}, {0x51, 0x0C}, {0x51, 0x0D}, /* 0x80-0x83 */ + {0x51, 0x0E}, {0x51, 0x0F}, {0x51, 0x10}, {0x51, 0x11}, /* 0x84-0x87 */ + {0x51, 0x13}, {0x51, 0x14}, {0x51, 0x15}, {0x51, 0x16}, /* 0x88-0x8B */ + {0x51, 0x17}, {0x51, 0x18}, {0x51, 0x19}, {0x51, 0x1A}, /* 0x8C-0x8F */ + {0x51, 0x1B}, {0x51, 0x1C}, {0x51, 0x1D}, {0x51, 0x1E}, /* 0x90-0x93 */ + {0x51, 0x1F}, {0x51, 0x20}, {0x51, 0x22}, {0x51, 0x23}, /* 0x94-0x97 */ + {0x51, 0x24}, {0x51, 0x25}, {0x51, 0x26}, {0x51, 0x27}, /* 0x98-0x9B */ + {0x51, 0x28}, {0x51, 0x29}, {0x51, 0x2A}, {0x51, 0x2B}, /* 0x9C-0x9F */ + {0x51, 0x2C}, {0x51, 0x2D}, {0x51, 0x2E}, {0x51, 0x2F}, /* 0xA0-0xA3 */ + {0x51, 0x30}, {0x51, 0x31}, {0x51, 0x32}, {0x51, 0x33}, /* 0xA4-0xA7 */ + {0x51, 0x34}, {0x51, 0x35}, {0x51, 0x36}, {0x51, 0x37}, /* 0xA8-0xAB */ + {0x51, 0x38}, {0x51, 0x39}, {0x51, 0x3A}, {0x51, 0x3B}, /* 0xAC-0xAF */ + {0x51, 0x3C}, {0x51, 0x3D}, {0x51, 0x3E}, {0x51, 0x42}, /* 0xB0-0xB3 */ + {0x51, 0x47}, {0x51, 0x4A}, {0x51, 0x4C}, {0x51, 0x4E}, /* 0xB4-0xB7 */ + {0x51, 0x4F}, {0x51, 0x50}, {0x51, 0x52}, {0x51, 0x53}, /* 0xB8-0xBB */ + {0x51, 0x57}, {0x51, 0x58}, {0x51, 0x59}, {0x51, 0x5B}, /* 0xBC-0xBF */ + {0x51, 0x5D}, {0x51, 0x5E}, {0x51, 0x5F}, {0x51, 0x60}, /* 0xC0-0xC3 */ + {0x51, 0x61}, {0x51, 0x63}, {0x51, 0x64}, {0x51, 0x66}, /* 0xC4-0xC7 */ + {0x51, 0x67}, {0x51, 0x69}, {0x51, 0x6A}, {0x51, 0x6F}, /* 0xC8-0xCB */ + {0x51, 0x72}, {0x51, 0x7A}, {0x51, 0x7E}, {0x51, 0x7F}, /* 0xCC-0xCF */ + {0x51, 0x83}, {0x51, 0x84}, {0x51, 0x86}, {0x51, 0x87}, /* 0xD0-0xD3 */ + {0x51, 0x8A}, {0x51, 0x8B}, {0x51, 0x8E}, {0x51, 0x8F}, /* 0xD4-0xD7 */ + {0x51, 0x90}, {0x51, 0x91}, {0x51, 0x93}, {0x51, 0x94}, /* 0xD8-0xDB */ + {0x51, 0x98}, {0x51, 0x9A}, {0x51, 0x9D}, {0x51, 0x9E}, /* 0xDC-0xDF */ + {0x51, 0x9F}, {0x51, 0xA1}, {0x51, 0xA3}, {0x51, 0xA6}, /* 0xE0-0xE3 */ + {0x51, 0xA7}, {0x51, 0xA8}, {0x51, 0xA9}, {0x51, 0xAA}, /* 0xE4-0xE7 */ + {0x51, 0xAD}, {0x51, 0xAE}, {0x51, 0xB4}, {0x51, 0xB8}, /* 0xE8-0xEB */ + {0x51, 0xB9}, {0x51, 0xBA}, {0x51, 0xBE}, {0x51, 0xBF}, /* 0xEC-0xEF */ + {0x51, 0xC1}, {0x51, 0xC2}, {0x51, 0xC3}, {0x51, 0xC5}, /* 0xF0-0xF3 */ + {0x51, 0xC8}, {0x51, 0xCA}, {0x51, 0xCD}, {0x51, 0xCE}, /* 0xF4-0xF7 */ + {0x51, 0xD0}, {0x51, 0xD2}, {0x51, 0xD3}, {0x51, 0xD4}, /* 0xF8-0xFB */ + {0x51, 0xD5}, {0x51, 0xD6}, {0x51, 0xD7}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_84[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x51, 0xD8}, {0x51, 0xD9}, {0x51, 0xDA}, {0x51, 0xDC}, /* 0x40-0x43 */ + {0x51, 0xDE}, {0x51, 0xDF}, {0x51, 0xE2}, {0x51, 0xE3}, /* 0x44-0x47 */ + {0x51, 0xE5}, {0x51, 0xE6}, {0x51, 0xE7}, {0x51, 0xE8}, /* 0x48-0x4B */ + {0x51, 0xE9}, {0x51, 0xEA}, {0x51, 0xEC}, {0x51, 0xEE}, /* 0x4C-0x4F */ + {0x51, 0xF1}, {0x51, 0xF2}, {0x51, 0xF4}, {0x51, 0xF7}, /* 0x50-0x53 */ + {0x51, 0xFE}, {0x52, 0x04}, {0x52, 0x05}, {0x52, 0x09}, /* 0x54-0x57 */ + {0x52, 0x0B}, {0x52, 0x0C}, {0x52, 0x0F}, {0x52, 0x10}, /* 0x58-0x5B */ + {0x52, 0x13}, {0x52, 0x14}, {0x52, 0x15}, {0x52, 0x1C}, /* 0x5C-0x5F */ + {0x52, 0x1E}, {0x52, 0x1F}, {0x52, 0x21}, {0x52, 0x22}, /* 0x60-0x63 */ + {0x52, 0x23}, {0x52, 0x25}, {0x52, 0x26}, {0x52, 0x27}, /* 0x64-0x67 */ + {0x52, 0x2A}, {0x52, 0x2C}, {0x52, 0x2F}, {0x52, 0x31}, /* 0x68-0x6B */ + {0x52, 0x32}, {0x52, 0x34}, {0x52, 0x35}, {0x52, 0x3C}, /* 0x6C-0x6F */ + {0x52, 0x3E}, {0x52, 0x44}, {0x52, 0x45}, {0x52, 0x46}, /* 0x70-0x73 */ + {0x52, 0x47}, {0x52, 0x48}, {0x52, 0x49}, {0x52, 0x4B}, /* 0x74-0x77 */ + {0x52, 0x4E}, {0x52, 0x4F}, {0x52, 0x52}, {0x52, 0x53}, /* 0x78-0x7B */ + {0x52, 0x55}, {0x52, 0x57}, {0x52, 0x58}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x52, 0x59}, {0x52, 0x5A}, {0x52, 0x5B}, {0x52, 0x5D}, /* 0x80-0x83 */ + {0x52, 0x5F}, {0x52, 0x60}, {0x52, 0x62}, {0x52, 0x63}, /* 0x84-0x87 */ + {0x52, 0x64}, {0x52, 0x66}, {0x52, 0x68}, {0x52, 0x6B}, /* 0x88-0x8B */ + {0x52, 0x6C}, {0x52, 0x6D}, {0x52, 0x6E}, {0x52, 0x70}, /* 0x8C-0x8F */ + {0x52, 0x71}, {0x52, 0x73}, {0x52, 0x74}, {0x52, 0x75}, /* 0x90-0x93 */ + {0x52, 0x76}, {0x52, 0x77}, {0x52, 0x78}, {0x52, 0x79}, /* 0x94-0x97 */ + {0x52, 0x7A}, {0x52, 0x7B}, {0x52, 0x7C}, {0x52, 0x7E}, /* 0x98-0x9B */ + {0x52, 0x80}, {0x52, 0x83}, {0x52, 0x84}, {0x52, 0x85}, /* 0x9C-0x9F */ + {0x52, 0x86}, {0x52, 0x87}, {0x52, 0x89}, {0x52, 0x8A}, /* 0xA0-0xA3 */ + {0x52, 0x8B}, {0x52, 0x8C}, {0x52, 0x8D}, {0x52, 0x8E}, /* 0xA4-0xA7 */ + {0x52, 0x8F}, {0x52, 0x91}, {0x52, 0x92}, {0x52, 0x94}, /* 0xA8-0xAB */ + {0x52, 0x95}, {0x52, 0x96}, {0x52, 0x97}, {0x52, 0x98}, /* 0xAC-0xAF */ + {0x52, 0x99}, {0x52, 0x9A}, {0x52, 0x9C}, {0x52, 0xA4}, /* 0xB0-0xB3 */ + {0x52, 0xA5}, {0x52, 0xA6}, {0x52, 0xA7}, {0x52, 0xAE}, /* 0xB4-0xB7 */ + {0x52, 0xAF}, {0x52, 0xB0}, {0x52, 0xB4}, {0x52, 0xB5}, /* 0xB8-0xBB */ + {0x52, 0xB6}, {0x52, 0xB7}, {0x52, 0xB8}, {0x52, 0xB9}, /* 0xBC-0xBF */ + {0x52, 0xBA}, {0x52, 0xBB}, {0x52, 0xBC}, {0x52, 0xBD}, /* 0xC0-0xC3 */ + {0x52, 0xC0}, {0x52, 0xC1}, {0x52, 0xC2}, {0x52, 0xC4}, /* 0xC4-0xC7 */ + {0x52, 0xC5}, {0x52, 0xC6}, {0x52, 0xC8}, {0x52, 0xCA}, /* 0xC8-0xCB */ + {0x52, 0xCC}, {0x52, 0xCD}, {0x52, 0xCE}, {0x52, 0xCF}, /* 0xCC-0xCF */ + {0x52, 0xD1}, {0x52, 0xD3}, {0x52, 0xD4}, {0x52, 0xD5}, /* 0xD0-0xD3 */ + {0x52, 0xD7}, {0x52, 0xD9}, {0x52, 0xDA}, {0x52, 0xDB}, /* 0xD4-0xD7 */ + {0x52, 0xDC}, {0x52, 0xDD}, {0x52, 0xDE}, {0x52, 0xE0}, /* 0xD8-0xDB */ + {0x52, 0xE1}, {0x52, 0xE2}, {0x52, 0xE3}, {0x52, 0xE5}, /* 0xDC-0xDF */ + {0x52, 0xE6}, {0x52, 0xE7}, {0x52, 0xE8}, {0x52, 0xE9}, /* 0xE0-0xE3 */ + {0x52, 0xEA}, {0x52, 0xEB}, {0x52, 0xEC}, {0x52, 0xED}, /* 0xE4-0xE7 */ + {0x52, 0xEE}, {0x52, 0xEF}, {0x52, 0xF1}, {0x52, 0xF2}, /* 0xE8-0xEB */ + {0x52, 0xF3}, {0x52, 0xF4}, {0x52, 0xF5}, {0x52, 0xF6}, /* 0xEC-0xEF */ + {0x52, 0xF7}, {0x52, 0xF8}, {0x52, 0xFB}, {0x52, 0xFC}, /* 0xF0-0xF3 */ + {0x52, 0xFD}, {0x53, 0x01}, {0x53, 0x02}, {0x53, 0x03}, /* 0xF4-0xF7 */ + {0x53, 0x04}, {0x53, 0x07}, {0x53, 0x09}, {0x53, 0x0A}, /* 0xF8-0xFB */ + {0x53, 0x0B}, {0x53, 0x0C}, {0x53, 0x0E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_85[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x53, 0x11}, {0x53, 0x12}, {0x53, 0x13}, {0x53, 0x14}, /* 0x40-0x43 */ + {0x53, 0x18}, {0x53, 0x1B}, {0x53, 0x1C}, {0x53, 0x1E}, /* 0x44-0x47 */ + {0x53, 0x1F}, {0x53, 0x22}, {0x53, 0x24}, {0x53, 0x25}, /* 0x48-0x4B */ + {0x53, 0x27}, {0x53, 0x28}, {0x53, 0x29}, {0x53, 0x2B}, /* 0x4C-0x4F */ + {0x53, 0x2C}, {0x53, 0x2D}, {0x53, 0x2F}, {0x53, 0x30}, /* 0x50-0x53 */ + {0x53, 0x31}, {0x53, 0x32}, {0x53, 0x33}, {0x53, 0x34}, /* 0x54-0x57 */ + {0x53, 0x35}, {0x53, 0x36}, {0x53, 0x37}, {0x53, 0x38}, /* 0x58-0x5B */ + {0x53, 0x3C}, {0x53, 0x3D}, {0x53, 0x40}, {0x53, 0x42}, /* 0x5C-0x5F */ + {0x53, 0x44}, {0x53, 0x46}, {0x53, 0x4B}, {0x53, 0x4C}, /* 0x60-0x63 */ + {0x53, 0x4D}, {0x53, 0x50}, {0x53, 0x54}, {0x53, 0x58}, /* 0x64-0x67 */ + {0x53, 0x59}, {0x53, 0x5B}, {0x53, 0x5D}, {0x53, 0x65}, /* 0x68-0x6B */ + {0x53, 0x68}, {0x53, 0x6A}, {0x53, 0x6C}, {0x53, 0x6D}, /* 0x6C-0x6F */ + {0x53, 0x72}, {0x53, 0x76}, {0x53, 0x79}, {0x53, 0x7B}, /* 0x70-0x73 */ + {0x53, 0x7C}, {0x53, 0x7D}, {0x53, 0x7E}, {0x53, 0x80}, /* 0x74-0x77 */ + {0x53, 0x81}, {0x53, 0x83}, {0x53, 0x87}, {0x53, 0x88}, /* 0x78-0x7B */ + {0x53, 0x8A}, {0x53, 0x8E}, {0x53, 0x8F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x53, 0x90}, {0x53, 0x91}, {0x53, 0x92}, {0x53, 0x93}, /* 0x80-0x83 */ + {0x53, 0x94}, {0x53, 0x96}, {0x53, 0x97}, {0x53, 0x99}, /* 0x84-0x87 */ + {0x53, 0x9B}, {0x53, 0x9C}, {0x53, 0x9E}, {0x53, 0xA0}, /* 0x88-0x8B */ + {0x53, 0xA1}, {0x53, 0xA4}, {0x53, 0xA7}, {0x53, 0xAA}, /* 0x8C-0x8F */ + {0x53, 0xAB}, {0x53, 0xAC}, {0x53, 0xAD}, {0x53, 0xAF}, /* 0x90-0x93 */ + {0x53, 0xB0}, {0x53, 0xB1}, {0x53, 0xB2}, {0x53, 0xB3}, /* 0x94-0x97 */ + {0x53, 0xB4}, {0x53, 0xB5}, {0x53, 0xB7}, {0x53, 0xB8}, /* 0x98-0x9B */ + {0x53, 0xB9}, {0x53, 0xBA}, {0x53, 0xBC}, {0x53, 0xBD}, /* 0x9C-0x9F */ + {0x53, 0xBE}, {0x53, 0xC0}, {0x53, 0xC3}, {0x53, 0xC4}, /* 0xA0-0xA3 */ + {0x53, 0xC5}, {0x53, 0xC6}, {0x53, 0xC7}, {0x53, 0xCE}, /* 0xA4-0xA7 */ + {0x53, 0xCF}, {0x53, 0xD0}, {0x53, 0xD2}, {0x53, 0xD3}, /* 0xA8-0xAB */ + {0x53, 0xD5}, {0x53, 0xDA}, {0x53, 0xDC}, {0x53, 0xDD}, /* 0xAC-0xAF */ + {0x53, 0xDE}, {0x53, 0xE1}, {0x53, 0xE2}, {0x53, 0xE7}, /* 0xB0-0xB3 */ + {0x53, 0xF4}, {0x53, 0xFA}, {0x53, 0xFE}, {0x53, 0xFF}, /* 0xB4-0xB7 */ + {0x54, 0x00}, {0x54, 0x02}, {0x54, 0x05}, {0x54, 0x07}, /* 0xB8-0xBB */ + {0x54, 0x0B}, {0x54, 0x14}, {0x54, 0x18}, {0x54, 0x19}, /* 0xBC-0xBF */ + {0x54, 0x1A}, {0x54, 0x1C}, {0x54, 0x22}, {0x54, 0x24}, /* 0xC0-0xC3 */ + {0x54, 0x25}, {0x54, 0x2A}, {0x54, 0x30}, {0x54, 0x33}, /* 0xC4-0xC7 */ + {0x54, 0x36}, {0x54, 0x37}, {0x54, 0x3A}, {0x54, 0x3D}, /* 0xC8-0xCB */ + {0x54, 0x3F}, {0x54, 0x41}, {0x54, 0x42}, {0x54, 0x44}, /* 0xCC-0xCF */ + {0x54, 0x45}, {0x54, 0x47}, {0x54, 0x49}, {0x54, 0x4C}, /* 0xD0-0xD3 */ + {0x54, 0x4D}, {0x54, 0x4E}, {0x54, 0x4F}, {0x54, 0x51}, /* 0xD4-0xD7 */ + {0x54, 0x5A}, {0x54, 0x5D}, {0x54, 0x5E}, {0x54, 0x5F}, /* 0xD8-0xDB */ + {0x54, 0x60}, {0x54, 0x61}, {0x54, 0x63}, {0x54, 0x65}, /* 0xDC-0xDF */ + {0x54, 0x67}, {0x54, 0x69}, {0x54, 0x6A}, {0x54, 0x6B}, /* 0xE0-0xE3 */ + {0x54, 0x6C}, {0x54, 0x6D}, {0x54, 0x6E}, {0x54, 0x6F}, /* 0xE4-0xE7 */ + {0x54, 0x70}, {0x54, 0x74}, {0x54, 0x79}, {0x54, 0x7A}, /* 0xE8-0xEB */ + {0x54, 0x7E}, {0x54, 0x7F}, {0x54, 0x81}, {0x54, 0x83}, /* 0xEC-0xEF */ + {0x54, 0x85}, {0x54, 0x87}, {0x54, 0x88}, {0x54, 0x89}, /* 0xF0-0xF3 */ + {0x54, 0x8A}, {0x54, 0x8D}, {0x54, 0x91}, {0x54, 0x93}, /* 0xF4-0xF7 */ + {0x54, 0x97}, {0x54, 0x98}, {0x54, 0x9C}, {0x54, 0x9E}, /* 0xF8-0xFB */ + {0x54, 0x9F}, {0x54, 0xA0}, {0x54, 0xA1}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_86[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x54, 0xA2}, {0x54, 0xA5}, {0x54, 0xAE}, {0x54, 0xB0}, /* 0x40-0x43 */ + {0x54, 0xB2}, {0x54, 0xB5}, {0x54, 0xB6}, {0x54, 0xB7}, /* 0x44-0x47 */ + {0x54, 0xB9}, {0x54, 0xBA}, {0x54, 0xBC}, {0x54, 0xBE}, /* 0x48-0x4B */ + {0x54, 0xC3}, {0x54, 0xC5}, {0x54, 0xCA}, {0x54, 0xCB}, /* 0x4C-0x4F */ + {0x54, 0xD6}, {0x54, 0xD8}, {0x54, 0xDB}, {0x54, 0xE0}, /* 0x50-0x53 */ + {0x54, 0xE1}, {0x54, 0xE2}, {0x54, 0xE3}, {0x54, 0xE4}, /* 0x54-0x57 */ + {0x54, 0xEB}, {0x54, 0xEC}, {0x54, 0xEF}, {0x54, 0xF0}, /* 0x58-0x5B */ + {0x54, 0xF1}, {0x54, 0xF4}, {0x54, 0xF5}, {0x54, 0xF6}, /* 0x5C-0x5F */ + {0x54, 0xF7}, {0x54, 0xF8}, {0x54, 0xF9}, {0x54, 0xFB}, /* 0x60-0x63 */ + {0x54, 0xFE}, {0x55, 0x00}, {0x55, 0x02}, {0x55, 0x03}, /* 0x64-0x67 */ + {0x55, 0x04}, {0x55, 0x05}, {0x55, 0x08}, {0x55, 0x0A}, /* 0x68-0x6B */ + {0x55, 0x0B}, {0x55, 0x0C}, {0x55, 0x0D}, {0x55, 0x0E}, /* 0x6C-0x6F */ + {0x55, 0x12}, {0x55, 0x13}, {0x55, 0x15}, {0x55, 0x16}, /* 0x70-0x73 */ + {0x55, 0x17}, {0x55, 0x18}, {0x55, 0x19}, {0x55, 0x1A}, /* 0x74-0x77 */ + {0x55, 0x1C}, {0x55, 0x1D}, {0x55, 0x1E}, {0x55, 0x1F}, /* 0x78-0x7B */ + {0x55, 0x21}, {0x55, 0x25}, {0x55, 0x26}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x55, 0x28}, {0x55, 0x29}, {0x55, 0x2B}, {0x55, 0x2D}, /* 0x80-0x83 */ + {0x55, 0x32}, {0x55, 0x34}, {0x55, 0x35}, {0x55, 0x36}, /* 0x84-0x87 */ + {0x55, 0x38}, {0x55, 0x39}, {0x55, 0x3A}, {0x55, 0x3B}, /* 0x88-0x8B */ + {0x55, 0x3D}, {0x55, 0x40}, {0x55, 0x42}, {0x55, 0x45}, /* 0x8C-0x8F */ + {0x55, 0x47}, {0x55, 0x48}, {0x55, 0x4B}, {0x55, 0x4C}, /* 0x90-0x93 */ + {0x55, 0x4D}, {0x55, 0x4E}, {0x55, 0x4F}, {0x55, 0x51}, /* 0x94-0x97 */ + {0x55, 0x52}, {0x55, 0x53}, {0x55, 0x54}, {0x55, 0x57}, /* 0x98-0x9B */ + {0x55, 0x58}, {0x55, 0x59}, {0x55, 0x5A}, {0x55, 0x5B}, /* 0x9C-0x9F */ + {0x55, 0x5D}, {0x55, 0x5E}, {0x55, 0x5F}, {0x55, 0x60}, /* 0xA0-0xA3 */ + {0x55, 0x62}, {0x55, 0x63}, {0x55, 0x68}, {0x55, 0x69}, /* 0xA4-0xA7 */ + {0x55, 0x6B}, {0x55, 0x6F}, {0x55, 0x70}, {0x55, 0x71}, /* 0xA8-0xAB */ + {0x55, 0x72}, {0x55, 0x73}, {0x55, 0x74}, {0x55, 0x79}, /* 0xAC-0xAF */ + {0x55, 0x7A}, {0x55, 0x7D}, {0x55, 0x7F}, {0x55, 0x85}, /* 0xB0-0xB3 */ + {0x55, 0x86}, {0x55, 0x8C}, {0x55, 0x8D}, {0x55, 0x8E}, /* 0xB4-0xB7 */ + {0x55, 0x90}, {0x55, 0x92}, {0x55, 0x93}, {0x55, 0x95}, /* 0xB8-0xBB */ + {0x55, 0x96}, {0x55, 0x97}, {0x55, 0x9A}, {0x55, 0x9B}, /* 0xBC-0xBF */ + {0x55, 0x9E}, {0x55, 0xA0}, {0x55, 0xA1}, {0x55, 0xA2}, /* 0xC0-0xC3 */ + {0x55, 0xA3}, {0x55, 0xA4}, {0x55, 0xA5}, {0x55, 0xA6}, /* 0xC4-0xC7 */ + {0x55, 0xA8}, {0x55, 0xA9}, {0x55, 0xAA}, {0x55, 0xAB}, /* 0xC8-0xCB */ + {0x55, 0xAC}, {0x55, 0xAD}, {0x55, 0xAE}, {0x55, 0xAF}, /* 0xCC-0xCF */ + {0x55, 0xB0}, {0x55, 0xB2}, {0x55, 0xB4}, {0x55, 0xB6}, /* 0xD0-0xD3 */ + {0x55, 0xB8}, {0x55, 0xBA}, {0x55, 0xBC}, {0x55, 0xBF}, /* 0xD4-0xD7 */ + {0x55, 0xC0}, {0x55, 0xC1}, {0x55, 0xC2}, {0x55, 0xC3}, /* 0xD8-0xDB */ + {0x55, 0xC6}, {0x55, 0xC7}, {0x55, 0xC8}, {0x55, 0xCA}, /* 0xDC-0xDF */ + {0x55, 0xCB}, {0x55, 0xCE}, {0x55, 0xCF}, {0x55, 0xD0}, /* 0xE0-0xE3 */ + {0x55, 0xD5}, {0x55, 0xD7}, {0x55, 0xD8}, {0x55, 0xD9}, /* 0xE4-0xE7 */ + {0x55, 0xDA}, {0x55, 0xDB}, {0x55, 0xDE}, {0x55, 0xE0}, /* 0xE8-0xEB */ + {0x55, 0xE2}, {0x55, 0xE7}, {0x55, 0xE9}, {0x55, 0xED}, /* 0xEC-0xEF */ + {0x55, 0xEE}, {0x55, 0xF0}, {0x55, 0xF1}, {0x55, 0xF4}, /* 0xF0-0xF3 */ + {0x55, 0xF6}, {0x55, 0xF8}, {0x55, 0xF9}, {0x55, 0xFA}, /* 0xF4-0xF7 */ + {0x55, 0xFB}, {0x55, 0xFC}, {0x55, 0xFF}, {0x56, 0x02}, /* 0xF8-0xFB */ + {0x56, 0x03}, {0x56, 0x04}, {0x56, 0x05}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_87[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x56, 0x06}, {0x56, 0x07}, {0x56, 0x0A}, {0x56, 0x0B}, /* 0x40-0x43 */ + {0x56, 0x0D}, {0x56, 0x10}, {0x56, 0x11}, {0x56, 0x12}, /* 0x44-0x47 */ + {0x56, 0x13}, {0x56, 0x14}, {0x56, 0x15}, {0x56, 0x16}, /* 0x48-0x4B */ + {0x56, 0x17}, {0x56, 0x19}, {0x56, 0x1A}, {0x56, 0x1C}, /* 0x4C-0x4F */ + {0x56, 0x1D}, {0x56, 0x20}, {0x56, 0x21}, {0x56, 0x22}, /* 0x50-0x53 */ + {0x56, 0x25}, {0x56, 0x26}, {0x56, 0x28}, {0x56, 0x29}, /* 0x54-0x57 */ + {0x56, 0x2A}, {0x56, 0x2B}, {0x56, 0x2E}, {0x56, 0x2F}, /* 0x58-0x5B */ + {0x56, 0x30}, {0x56, 0x33}, {0x56, 0x35}, {0x56, 0x37}, /* 0x5C-0x5F */ + {0x56, 0x38}, {0x56, 0x3A}, {0x56, 0x3C}, {0x56, 0x3D}, /* 0x60-0x63 */ + {0x56, 0x3E}, {0x56, 0x40}, {0x56, 0x41}, {0x56, 0x42}, /* 0x64-0x67 */ + {0x56, 0x43}, {0x56, 0x44}, {0x56, 0x45}, {0x56, 0x46}, /* 0x68-0x6B */ + {0x56, 0x47}, {0x56, 0x48}, {0x56, 0x49}, {0x56, 0x4A}, /* 0x6C-0x6F */ + {0x56, 0x4B}, {0x56, 0x4F}, {0x56, 0x50}, {0x56, 0x51}, /* 0x70-0x73 */ + {0x56, 0x52}, {0x56, 0x53}, {0x56, 0x55}, {0x56, 0x56}, /* 0x74-0x77 */ + {0x56, 0x5A}, {0x56, 0x5B}, {0x56, 0x5D}, {0x56, 0x5E}, /* 0x78-0x7B */ + {0x56, 0x5F}, {0x56, 0x60}, {0x56, 0x61}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x56, 0x63}, {0x56, 0x65}, {0x56, 0x66}, {0x56, 0x67}, /* 0x80-0x83 */ + {0x56, 0x6D}, {0x56, 0x6E}, {0x56, 0x6F}, {0x56, 0x70}, /* 0x84-0x87 */ + {0x56, 0x72}, {0x56, 0x73}, {0x56, 0x74}, {0x56, 0x75}, /* 0x88-0x8B */ + {0x56, 0x77}, {0x56, 0x78}, {0x56, 0x79}, {0x56, 0x7A}, /* 0x8C-0x8F */ + {0x56, 0x7D}, {0x56, 0x7E}, {0x56, 0x7F}, {0x56, 0x80}, /* 0x90-0x93 */ + {0x56, 0x81}, {0x56, 0x82}, {0x56, 0x83}, {0x56, 0x84}, /* 0x94-0x97 */ + {0x56, 0x87}, {0x56, 0x88}, {0x56, 0x89}, {0x56, 0x8A}, /* 0x98-0x9B */ + {0x56, 0x8B}, {0x56, 0x8C}, {0x56, 0x8D}, {0x56, 0x90}, /* 0x9C-0x9F */ + {0x56, 0x91}, {0x56, 0x92}, {0x56, 0x94}, {0x56, 0x95}, /* 0xA0-0xA3 */ + {0x56, 0x96}, {0x56, 0x97}, {0x56, 0x98}, {0x56, 0x99}, /* 0xA4-0xA7 */ + {0x56, 0x9A}, {0x56, 0x9B}, {0x56, 0x9C}, {0x56, 0x9D}, /* 0xA8-0xAB */ + {0x56, 0x9E}, {0x56, 0x9F}, {0x56, 0xA0}, {0x56, 0xA1}, /* 0xAC-0xAF */ + {0x56, 0xA2}, {0x56, 0xA4}, {0x56, 0xA5}, {0x56, 0xA6}, /* 0xB0-0xB3 */ + {0x56, 0xA7}, {0x56, 0xA8}, {0x56, 0xA9}, {0x56, 0xAA}, /* 0xB4-0xB7 */ + {0x56, 0xAB}, {0x56, 0xAC}, {0x56, 0xAD}, {0x56, 0xAE}, /* 0xB8-0xBB */ + {0x56, 0xB0}, {0x56, 0xB1}, {0x56, 0xB2}, {0x56, 0xB3}, /* 0xBC-0xBF */ + {0x56, 0xB4}, {0x56, 0xB5}, {0x56, 0xB6}, {0x56, 0xB8}, /* 0xC0-0xC3 */ + {0x56, 0xB9}, {0x56, 0xBA}, {0x56, 0xBB}, {0x56, 0xBD}, /* 0xC4-0xC7 */ + {0x56, 0xBE}, {0x56, 0xBF}, {0x56, 0xC0}, {0x56, 0xC1}, /* 0xC8-0xCB */ + {0x56, 0xC2}, {0x56, 0xC3}, {0x56, 0xC4}, {0x56, 0xC5}, /* 0xCC-0xCF */ + {0x56, 0xC6}, {0x56, 0xC7}, {0x56, 0xC8}, {0x56, 0xC9}, /* 0xD0-0xD3 */ + {0x56, 0xCB}, {0x56, 0xCC}, {0x56, 0xCD}, {0x56, 0xCE}, /* 0xD4-0xD7 */ + {0x56, 0xCF}, {0x56, 0xD0}, {0x56, 0xD1}, {0x56, 0xD2}, /* 0xD8-0xDB */ + {0x56, 0xD3}, {0x56, 0xD5}, {0x56, 0xD6}, {0x56, 0xD8}, /* 0xDC-0xDF */ + {0x56, 0xD9}, {0x56, 0xDC}, {0x56, 0xE3}, {0x56, 0xE5}, /* 0xE0-0xE3 */ + {0x56, 0xE6}, {0x56, 0xE7}, {0x56, 0xE8}, {0x56, 0xE9}, /* 0xE4-0xE7 */ + {0x56, 0xEA}, {0x56, 0xEC}, {0x56, 0xEE}, {0x56, 0xEF}, /* 0xE8-0xEB */ + {0x56, 0xF2}, {0x56, 0xF3}, {0x56, 0xF6}, {0x56, 0xF7}, /* 0xEC-0xEF */ + {0x56, 0xF8}, {0x56, 0xFB}, {0x56, 0xFC}, {0x57, 0x00}, /* 0xF0-0xF3 */ + {0x57, 0x01}, {0x57, 0x02}, {0x57, 0x05}, {0x57, 0x07}, /* 0xF4-0xF7 */ + {0x57, 0x0B}, {0x57, 0x0C}, {0x57, 0x0D}, {0x57, 0x0E}, /* 0xF8-0xFB */ + {0x57, 0x0F}, {0x57, 0x10}, {0x57, 0x11}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_88[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x57, 0x12}, {0x57, 0x13}, {0x57, 0x14}, {0x57, 0x15}, /* 0x40-0x43 */ + {0x57, 0x16}, {0x57, 0x17}, {0x57, 0x18}, {0x57, 0x19}, /* 0x44-0x47 */ + {0x57, 0x1A}, {0x57, 0x1B}, {0x57, 0x1D}, {0x57, 0x1E}, /* 0x48-0x4B */ + {0x57, 0x20}, {0x57, 0x21}, {0x57, 0x22}, {0x57, 0x24}, /* 0x4C-0x4F */ + {0x57, 0x25}, {0x57, 0x26}, {0x57, 0x27}, {0x57, 0x2B}, /* 0x50-0x53 */ + {0x57, 0x31}, {0x57, 0x32}, {0x57, 0x34}, {0x57, 0x35}, /* 0x54-0x57 */ + {0x57, 0x36}, {0x57, 0x37}, {0x57, 0x38}, {0x57, 0x3C}, /* 0x58-0x5B */ + {0x57, 0x3D}, {0x57, 0x3F}, {0x57, 0x41}, {0x57, 0x43}, /* 0x5C-0x5F */ + {0x57, 0x44}, {0x57, 0x45}, {0x57, 0x46}, {0x57, 0x48}, /* 0x60-0x63 */ + {0x57, 0x49}, {0x57, 0x4B}, {0x57, 0x52}, {0x57, 0x53}, /* 0x64-0x67 */ + {0x57, 0x54}, {0x57, 0x55}, {0x57, 0x56}, {0x57, 0x58}, /* 0x68-0x6B */ + {0x57, 0x59}, {0x57, 0x62}, {0x57, 0x63}, {0x57, 0x65}, /* 0x6C-0x6F */ + {0x57, 0x67}, {0x57, 0x6C}, {0x57, 0x6E}, {0x57, 0x70}, /* 0x70-0x73 */ + {0x57, 0x71}, {0x57, 0x72}, {0x57, 0x74}, {0x57, 0x75}, /* 0x74-0x77 */ + {0x57, 0x78}, {0x57, 0x79}, {0x57, 0x7A}, {0x57, 0x7D}, /* 0x78-0x7B */ + {0x57, 0x7E}, {0x57, 0x7F}, {0x57, 0x80}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x57, 0x81}, {0x57, 0x87}, {0x57, 0x88}, {0x57, 0x89}, /* 0x80-0x83 */ + {0x57, 0x8A}, {0x57, 0x8D}, {0x57, 0x8E}, {0x57, 0x8F}, /* 0x84-0x87 */ + {0x57, 0x90}, {0x57, 0x91}, {0x57, 0x94}, {0x57, 0x95}, /* 0x88-0x8B */ + {0x57, 0x96}, {0x57, 0x97}, {0x57, 0x98}, {0x57, 0x99}, /* 0x8C-0x8F */ + {0x57, 0x9A}, {0x57, 0x9C}, {0x57, 0x9D}, {0x57, 0x9E}, /* 0x90-0x93 */ + {0x57, 0x9F}, {0x57, 0xA5}, {0x57, 0xA8}, {0x57, 0xAA}, /* 0x94-0x97 */ + {0x57, 0xAC}, {0x57, 0xAF}, {0x57, 0xB0}, {0x57, 0xB1}, /* 0x98-0x9B */ + {0x57, 0xB3}, {0x57, 0xB5}, {0x57, 0xB6}, {0x57, 0xB7}, /* 0x9C-0x9F */ + {0x57, 0xB9}, {0x57, 0xBA}, {0x57, 0xBB}, {0x57, 0xBC}, /* 0xA0-0xA3 */ + {0x57, 0xBD}, {0x57, 0xBE}, {0x57, 0xBF}, {0x57, 0xC0}, /* 0xA4-0xA7 */ + {0x57, 0xC1}, {0x57, 0xC4}, {0x57, 0xC5}, {0x57, 0xC6}, /* 0xA8-0xAB */ + {0x57, 0xC7}, {0x57, 0xC8}, {0x57, 0xC9}, {0x57, 0xCA}, /* 0xAC-0xAF */ + {0x57, 0xCC}, {0x57, 0xCD}, {0x57, 0xD0}, {0x57, 0xD1}, /* 0xB0-0xB3 */ + {0x57, 0xD3}, {0x57, 0xD6}, {0x57, 0xD7}, {0x57, 0xDB}, /* 0xB4-0xB7 */ + {0x57, 0xDC}, {0x57, 0xDE}, {0x57, 0xE1}, {0x57, 0xE2}, /* 0xB8-0xBB */ + {0x57, 0xE3}, {0x57, 0xE5}, {0x57, 0xE6}, {0x57, 0xE7}, /* 0xBC-0xBF */ + {0x57, 0xE8}, {0x57, 0xE9}, {0x57, 0xEA}, {0x57, 0xEB}, /* 0xC0-0xC3 */ + {0x57, 0xEC}, {0x57, 0xEE}, {0x57, 0xF0}, {0x57, 0xF1}, /* 0xC4-0xC7 */ + {0x57, 0xF2}, {0x57, 0xF3}, {0x57, 0xF5}, {0x57, 0xF6}, /* 0xC8-0xCB */ + {0x57, 0xF7}, {0x57, 0xFB}, {0x57, 0xFC}, {0x57, 0xFE}, /* 0xCC-0xCF */ + {0x57, 0xFF}, {0x58, 0x01}, {0x58, 0x03}, {0x58, 0x04}, /* 0xD0-0xD3 */ + {0x58, 0x05}, {0x58, 0x08}, {0x58, 0x09}, {0x58, 0x0A}, /* 0xD4-0xD7 */ + {0x58, 0x0C}, {0x58, 0x0E}, {0x58, 0x0F}, {0x58, 0x10}, /* 0xD8-0xDB */ + {0x58, 0x12}, {0x58, 0x13}, {0x58, 0x14}, {0x58, 0x16}, /* 0xDC-0xDF */ + {0x58, 0x17}, {0x58, 0x18}, {0x58, 0x1A}, {0x58, 0x1B}, /* 0xE0-0xE3 */ + {0x58, 0x1C}, {0x58, 0x1D}, {0x58, 0x1F}, {0x58, 0x22}, /* 0xE4-0xE7 */ + {0x58, 0x23}, {0x58, 0x25}, {0x58, 0x26}, {0x58, 0x27}, /* 0xE8-0xEB */ + {0x58, 0x28}, {0x58, 0x29}, {0x58, 0x2B}, {0x58, 0x2C}, /* 0xEC-0xEF */ + {0x58, 0x2D}, {0x58, 0x2E}, {0x58, 0x2F}, {0x58, 0x31}, /* 0xF0-0xF3 */ + {0x58, 0x32}, {0x58, 0x33}, {0x58, 0x34}, {0x58, 0x36}, /* 0xF4-0xF7 */ + {0x58, 0x37}, {0x58, 0x38}, {0x58, 0x39}, {0x58, 0x3A}, /* 0xF8-0xFB */ + {0x58, 0x3B}, {0x58, 0x3C}, {0x58, 0x3D}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_89[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x58, 0x3E}, {0x58, 0x3F}, {0x58, 0x40}, {0x58, 0x41}, /* 0x40-0x43 */ + {0x58, 0x42}, {0x58, 0x43}, {0x58, 0x45}, {0x58, 0x46}, /* 0x44-0x47 */ + {0x58, 0x47}, {0x58, 0x48}, {0x58, 0x49}, {0x58, 0x4A}, /* 0x48-0x4B */ + {0x58, 0x4B}, {0x58, 0x4E}, {0x58, 0x4F}, {0x58, 0x50}, /* 0x4C-0x4F */ + {0x58, 0x52}, {0x58, 0x53}, {0x58, 0x55}, {0x58, 0x56}, /* 0x50-0x53 */ + {0x58, 0x57}, {0x58, 0x59}, {0x58, 0x5A}, {0x58, 0x5B}, /* 0x54-0x57 */ + {0x58, 0x5C}, {0x58, 0x5D}, {0x58, 0x5F}, {0x58, 0x60}, /* 0x58-0x5B */ + {0x58, 0x61}, {0x58, 0x62}, {0x58, 0x63}, {0x58, 0x64}, /* 0x5C-0x5F */ + {0x58, 0x66}, {0x58, 0x67}, {0x58, 0x68}, {0x58, 0x69}, /* 0x60-0x63 */ + {0x58, 0x6A}, {0x58, 0x6D}, {0x58, 0x6E}, {0x58, 0x6F}, /* 0x64-0x67 */ + {0x58, 0x70}, {0x58, 0x71}, {0x58, 0x72}, {0x58, 0x73}, /* 0x68-0x6B */ + {0x58, 0x74}, {0x58, 0x75}, {0x58, 0x76}, {0x58, 0x77}, /* 0x6C-0x6F */ + {0x58, 0x78}, {0x58, 0x79}, {0x58, 0x7A}, {0x58, 0x7B}, /* 0x70-0x73 */ + {0x58, 0x7C}, {0x58, 0x7D}, {0x58, 0x7F}, {0x58, 0x82}, /* 0x74-0x77 */ + {0x58, 0x84}, {0x58, 0x86}, {0x58, 0x87}, {0x58, 0x88}, /* 0x78-0x7B */ + {0x58, 0x8A}, {0x58, 0x8B}, {0x58, 0x8C}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x58, 0x8D}, {0x58, 0x8E}, {0x58, 0x8F}, {0x58, 0x90}, /* 0x80-0x83 */ + {0x58, 0x91}, {0x58, 0x94}, {0x58, 0x95}, {0x58, 0x96}, /* 0x84-0x87 */ + {0x58, 0x97}, {0x58, 0x98}, {0x58, 0x9B}, {0x58, 0x9C}, /* 0x88-0x8B */ + {0x58, 0x9D}, {0x58, 0xA0}, {0x58, 0xA1}, {0x58, 0xA2}, /* 0x8C-0x8F */ + {0x58, 0xA3}, {0x58, 0xA4}, {0x58, 0xA5}, {0x58, 0xA6}, /* 0x90-0x93 */ + {0x58, 0xA7}, {0x58, 0xAA}, {0x58, 0xAB}, {0x58, 0xAC}, /* 0x94-0x97 */ + {0x58, 0xAD}, {0x58, 0xAE}, {0x58, 0xAF}, {0x58, 0xB0}, /* 0x98-0x9B */ + {0x58, 0xB1}, {0x58, 0xB2}, {0x58, 0xB3}, {0x58, 0xB4}, /* 0x9C-0x9F */ + {0x58, 0xB5}, {0x58, 0xB6}, {0x58, 0xB7}, {0x58, 0xB8}, /* 0xA0-0xA3 */ + {0x58, 0xB9}, {0x58, 0xBA}, {0x58, 0xBB}, {0x58, 0xBD}, /* 0xA4-0xA7 */ + {0x58, 0xBE}, {0x58, 0xBF}, {0x58, 0xC0}, {0x58, 0xC2}, /* 0xA8-0xAB */ + {0x58, 0xC3}, {0x58, 0xC4}, {0x58, 0xC6}, {0x58, 0xC7}, /* 0xAC-0xAF */ + {0x58, 0xC8}, {0x58, 0xC9}, {0x58, 0xCA}, {0x58, 0xCB}, /* 0xB0-0xB3 */ + {0x58, 0xCC}, {0x58, 0xCD}, {0x58, 0xCE}, {0x58, 0xCF}, /* 0xB4-0xB7 */ + {0x58, 0xD0}, {0x58, 0xD2}, {0x58, 0xD3}, {0x58, 0xD4}, /* 0xB8-0xBB */ + {0x58, 0xD6}, {0x58, 0xD7}, {0x58, 0xD8}, {0x58, 0xD9}, /* 0xBC-0xBF */ + {0x58, 0xDA}, {0x58, 0xDB}, {0x58, 0xDC}, {0x58, 0xDD}, /* 0xC0-0xC3 */ + {0x58, 0xDE}, {0x58, 0xDF}, {0x58, 0xE0}, {0x58, 0xE1}, /* 0xC4-0xC7 */ + {0x58, 0xE2}, {0x58, 0xE3}, {0x58, 0xE5}, {0x58, 0xE6}, /* 0xC8-0xCB */ + {0x58, 0xE7}, {0x58, 0xE8}, {0x58, 0xE9}, {0x58, 0xEA}, /* 0xCC-0xCF */ + {0x58, 0xED}, {0x58, 0xEF}, {0x58, 0xF1}, {0x58, 0xF2}, /* 0xD0-0xD3 */ + {0x58, 0xF4}, {0x58, 0xF5}, {0x58, 0xF7}, {0x58, 0xF8}, /* 0xD4-0xD7 */ + {0x58, 0xFA}, {0x58, 0xFB}, {0x58, 0xFC}, {0x58, 0xFD}, /* 0xD8-0xDB */ + {0x58, 0xFE}, {0x58, 0xFF}, {0x59, 0x00}, {0x59, 0x01}, /* 0xDC-0xDF */ + {0x59, 0x03}, {0x59, 0x05}, {0x59, 0x06}, {0x59, 0x08}, /* 0xE0-0xE3 */ + {0x59, 0x09}, {0x59, 0x0A}, {0x59, 0x0B}, {0x59, 0x0C}, /* 0xE4-0xE7 */ + {0x59, 0x0E}, {0x59, 0x10}, {0x59, 0x11}, {0x59, 0x12}, /* 0xE8-0xEB */ + {0x59, 0x13}, {0x59, 0x17}, {0x59, 0x18}, {0x59, 0x1B}, /* 0xEC-0xEF */ + {0x59, 0x1D}, {0x59, 0x1E}, {0x59, 0x20}, {0x59, 0x21}, /* 0xF0-0xF3 */ + {0x59, 0x22}, {0x59, 0x23}, {0x59, 0x26}, {0x59, 0x28}, /* 0xF4-0xF7 */ + {0x59, 0x2C}, {0x59, 0x30}, {0x59, 0x32}, {0x59, 0x33}, /* 0xF8-0xFB */ + {0x59, 0x35}, {0x59, 0x36}, {0x59, 0x3B}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8A[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x59, 0x3D}, {0x59, 0x3E}, {0x59, 0x3F}, {0x59, 0x40}, /* 0x40-0x43 */ + {0x59, 0x43}, {0x59, 0x45}, {0x59, 0x46}, {0x59, 0x4A}, /* 0x44-0x47 */ + {0x59, 0x4C}, {0x59, 0x4D}, {0x59, 0x50}, {0x59, 0x52}, /* 0x48-0x4B */ + {0x59, 0x53}, {0x59, 0x59}, {0x59, 0x5B}, {0x59, 0x5C}, /* 0x4C-0x4F */ + {0x59, 0x5D}, {0x59, 0x5E}, {0x59, 0x5F}, {0x59, 0x61}, /* 0x50-0x53 */ + {0x59, 0x63}, {0x59, 0x64}, {0x59, 0x66}, {0x59, 0x67}, /* 0x54-0x57 */ + {0x59, 0x68}, {0x59, 0x69}, {0x59, 0x6A}, {0x59, 0x6B}, /* 0x58-0x5B */ + {0x59, 0x6C}, {0x59, 0x6D}, {0x59, 0x6E}, {0x59, 0x6F}, /* 0x5C-0x5F */ + {0x59, 0x70}, {0x59, 0x71}, {0x59, 0x72}, {0x59, 0x75}, /* 0x60-0x63 */ + {0x59, 0x77}, {0x59, 0x7A}, {0x59, 0x7B}, {0x59, 0x7C}, /* 0x64-0x67 */ + {0x59, 0x7E}, {0x59, 0x7F}, {0x59, 0x80}, {0x59, 0x85}, /* 0x68-0x6B */ + {0x59, 0x89}, {0x59, 0x8B}, {0x59, 0x8C}, {0x59, 0x8E}, /* 0x6C-0x6F */ + {0x59, 0x8F}, {0x59, 0x90}, {0x59, 0x91}, {0x59, 0x94}, /* 0x70-0x73 */ + {0x59, 0x95}, {0x59, 0x98}, {0x59, 0x9A}, {0x59, 0x9B}, /* 0x74-0x77 */ + {0x59, 0x9C}, {0x59, 0x9D}, {0x59, 0x9F}, {0x59, 0xA0}, /* 0x78-0x7B */ + {0x59, 0xA1}, {0x59, 0xA2}, {0x59, 0xA6}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x59, 0xA7}, {0x59, 0xAC}, {0x59, 0xAD}, {0x59, 0xB0}, /* 0x80-0x83 */ + {0x59, 0xB1}, {0x59, 0xB3}, {0x59, 0xB4}, {0x59, 0xB5}, /* 0x84-0x87 */ + {0x59, 0xB6}, {0x59, 0xB7}, {0x59, 0xB8}, {0x59, 0xBA}, /* 0x88-0x8B */ + {0x59, 0xBC}, {0x59, 0xBD}, {0x59, 0xBF}, {0x59, 0xC0}, /* 0x8C-0x8F */ + {0x59, 0xC1}, {0x59, 0xC2}, {0x59, 0xC3}, {0x59, 0xC4}, /* 0x90-0x93 */ + {0x59, 0xC5}, {0x59, 0xC7}, {0x59, 0xC8}, {0x59, 0xC9}, /* 0x94-0x97 */ + {0x59, 0xCC}, {0x59, 0xCD}, {0x59, 0xCE}, {0x59, 0xCF}, /* 0x98-0x9B */ + {0x59, 0xD5}, {0x59, 0xD6}, {0x59, 0xD9}, {0x59, 0xDB}, /* 0x9C-0x9F */ + {0x59, 0xDE}, {0x59, 0xDF}, {0x59, 0xE0}, {0x59, 0xE1}, /* 0xA0-0xA3 */ + {0x59, 0xE2}, {0x59, 0xE4}, {0x59, 0xE6}, {0x59, 0xE7}, /* 0xA4-0xA7 */ + {0x59, 0xE9}, {0x59, 0xEA}, {0x59, 0xEB}, {0x59, 0xED}, /* 0xA8-0xAB */ + {0x59, 0xEE}, {0x59, 0xEF}, {0x59, 0xF0}, {0x59, 0xF1}, /* 0xAC-0xAF */ + {0x59, 0xF2}, {0x59, 0xF3}, {0x59, 0xF4}, {0x59, 0xF5}, /* 0xB0-0xB3 */ + {0x59, 0xF6}, {0x59, 0xF7}, {0x59, 0xF8}, {0x59, 0xFA}, /* 0xB4-0xB7 */ + {0x59, 0xFC}, {0x59, 0xFD}, {0x59, 0xFE}, {0x5A, 0x00}, /* 0xB8-0xBB */ + {0x5A, 0x02}, {0x5A, 0x0A}, {0x5A, 0x0B}, {0x5A, 0x0D}, /* 0xBC-0xBF */ + {0x5A, 0x0E}, {0x5A, 0x0F}, {0x5A, 0x10}, {0x5A, 0x12}, /* 0xC0-0xC3 */ + {0x5A, 0x14}, {0x5A, 0x15}, {0x5A, 0x16}, {0x5A, 0x17}, /* 0xC4-0xC7 */ + {0x5A, 0x19}, {0x5A, 0x1A}, {0x5A, 0x1B}, {0x5A, 0x1D}, /* 0xC8-0xCB */ + {0x5A, 0x1E}, {0x5A, 0x21}, {0x5A, 0x22}, {0x5A, 0x24}, /* 0xCC-0xCF */ + {0x5A, 0x26}, {0x5A, 0x27}, {0x5A, 0x28}, {0x5A, 0x2A}, /* 0xD0-0xD3 */ + {0x5A, 0x2B}, {0x5A, 0x2C}, {0x5A, 0x2D}, {0x5A, 0x2E}, /* 0xD4-0xD7 */ + {0x5A, 0x2F}, {0x5A, 0x30}, {0x5A, 0x33}, {0x5A, 0x35}, /* 0xD8-0xDB */ + {0x5A, 0x37}, {0x5A, 0x38}, {0x5A, 0x39}, {0x5A, 0x3A}, /* 0xDC-0xDF */ + {0x5A, 0x3B}, {0x5A, 0x3D}, {0x5A, 0x3E}, {0x5A, 0x3F}, /* 0xE0-0xE3 */ + {0x5A, 0x41}, {0x5A, 0x42}, {0x5A, 0x43}, {0x5A, 0x44}, /* 0xE4-0xE7 */ + {0x5A, 0x45}, {0x5A, 0x47}, {0x5A, 0x48}, {0x5A, 0x4B}, /* 0xE8-0xEB */ + {0x5A, 0x4C}, {0x5A, 0x4D}, {0x5A, 0x4E}, {0x5A, 0x4F}, /* 0xEC-0xEF */ + {0x5A, 0x50}, {0x5A, 0x51}, {0x5A, 0x52}, {0x5A, 0x53}, /* 0xF0-0xF3 */ + {0x5A, 0x54}, {0x5A, 0x56}, {0x5A, 0x57}, {0x5A, 0x58}, /* 0xF4-0xF7 */ + {0x5A, 0x59}, {0x5A, 0x5B}, {0x5A, 0x5C}, {0x5A, 0x5D}, /* 0xF8-0xFB */ + {0x5A, 0x5E}, {0x5A, 0x5F}, {0x5A, 0x60}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8B[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5A, 0x61}, {0x5A, 0x63}, {0x5A, 0x64}, {0x5A, 0x65}, /* 0x40-0x43 */ + {0x5A, 0x66}, {0x5A, 0x68}, {0x5A, 0x69}, {0x5A, 0x6B}, /* 0x44-0x47 */ + {0x5A, 0x6C}, {0x5A, 0x6D}, {0x5A, 0x6E}, {0x5A, 0x6F}, /* 0x48-0x4B */ + {0x5A, 0x70}, {0x5A, 0x71}, {0x5A, 0x72}, {0x5A, 0x73}, /* 0x4C-0x4F */ + {0x5A, 0x78}, {0x5A, 0x79}, {0x5A, 0x7B}, {0x5A, 0x7C}, /* 0x50-0x53 */ + {0x5A, 0x7D}, {0x5A, 0x7E}, {0x5A, 0x80}, {0x5A, 0x81}, /* 0x54-0x57 */ + {0x5A, 0x82}, {0x5A, 0x83}, {0x5A, 0x84}, {0x5A, 0x85}, /* 0x58-0x5B */ + {0x5A, 0x86}, {0x5A, 0x87}, {0x5A, 0x88}, {0x5A, 0x89}, /* 0x5C-0x5F */ + {0x5A, 0x8A}, {0x5A, 0x8B}, {0x5A, 0x8C}, {0x5A, 0x8D}, /* 0x60-0x63 */ + {0x5A, 0x8E}, {0x5A, 0x8F}, {0x5A, 0x90}, {0x5A, 0x91}, /* 0x64-0x67 */ + {0x5A, 0x93}, {0x5A, 0x94}, {0x5A, 0x95}, {0x5A, 0x96}, /* 0x68-0x6B */ + {0x5A, 0x97}, {0x5A, 0x98}, {0x5A, 0x99}, {0x5A, 0x9C}, /* 0x6C-0x6F */ + {0x5A, 0x9D}, {0x5A, 0x9E}, {0x5A, 0x9F}, {0x5A, 0xA0}, /* 0x70-0x73 */ + {0x5A, 0xA1}, {0x5A, 0xA2}, {0x5A, 0xA3}, {0x5A, 0xA4}, /* 0x74-0x77 */ + {0x5A, 0xA5}, {0x5A, 0xA6}, {0x5A, 0xA7}, {0x5A, 0xA8}, /* 0x78-0x7B */ + {0x5A, 0xA9}, {0x5A, 0xAB}, {0x5A, 0xAC}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x5A, 0xAD}, {0x5A, 0xAE}, {0x5A, 0xAF}, {0x5A, 0xB0}, /* 0x80-0x83 */ + {0x5A, 0xB1}, {0x5A, 0xB4}, {0x5A, 0xB6}, {0x5A, 0xB7}, /* 0x84-0x87 */ + {0x5A, 0xB9}, {0x5A, 0xBA}, {0x5A, 0xBB}, {0x5A, 0xBC}, /* 0x88-0x8B */ + {0x5A, 0xBD}, {0x5A, 0xBF}, {0x5A, 0xC0}, {0x5A, 0xC3}, /* 0x8C-0x8F */ + {0x5A, 0xC4}, {0x5A, 0xC5}, {0x5A, 0xC6}, {0x5A, 0xC7}, /* 0x90-0x93 */ + {0x5A, 0xC8}, {0x5A, 0xCA}, {0x5A, 0xCB}, {0x5A, 0xCD}, /* 0x94-0x97 */ + {0x5A, 0xCE}, {0x5A, 0xCF}, {0x5A, 0xD0}, {0x5A, 0xD1}, /* 0x98-0x9B */ + {0x5A, 0xD3}, {0x5A, 0xD5}, {0x5A, 0xD7}, {0x5A, 0xD9}, /* 0x9C-0x9F */ + {0x5A, 0xDA}, {0x5A, 0xDB}, {0x5A, 0xDD}, {0x5A, 0xDE}, /* 0xA0-0xA3 */ + {0x5A, 0xDF}, {0x5A, 0xE2}, {0x5A, 0xE4}, {0x5A, 0xE5}, /* 0xA4-0xA7 */ + {0x5A, 0xE7}, {0x5A, 0xE8}, {0x5A, 0xEA}, {0x5A, 0xEC}, /* 0xA8-0xAB */ + {0x5A, 0xED}, {0x5A, 0xEE}, {0x5A, 0xEF}, {0x5A, 0xF0}, /* 0xAC-0xAF */ + {0x5A, 0xF2}, {0x5A, 0xF3}, {0x5A, 0xF4}, {0x5A, 0xF5}, /* 0xB0-0xB3 */ + {0x5A, 0xF6}, {0x5A, 0xF7}, {0x5A, 0xF8}, {0x5A, 0xF9}, /* 0xB4-0xB7 */ + {0x5A, 0xFA}, {0x5A, 0xFB}, {0x5A, 0xFC}, {0x5A, 0xFD}, /* 0xB8-0xBB */ + {0x5A, 0xFE}, {0x5A, 0xFF}, {0x5B, 0x00}, {0x5B, 0x01}, /* 0xBC-0xBF */ + {0x5B, 0x02}, {0x5B, 0x03}, {0x5B, 0x04}, {0x5B, 0x05}, /* 0xC0-0xC3 */ + {0x5B, 0x06}, {0x5B, 0x07}, {0x5B, 0x08}, {0x5B, 0x0A}, /* 0xC4-0xC7 */ + {0x5B, 0x0B}, {0x5B, 0x0C}, {0x5B, 0x0D}, {0x5B, 0x0E}, /* 0xC8-0xCB */ + {0x5B, 0x0F}, {0x5B, 0x10}, {0x5B, 0x11}, {0x5B, 0x12}, /* 0xCC-0xCF */ + {0x5B, 0x13}, {0x5B, 0x14}, {0x5B, 0x15}, {0x5B, 0x18}, /* 0xD0-0xD3 */ + {0x5B, 0x19}, {0x5B, 0x1A}, {0x5B, 0x1B}, {0x5B, 0x1C}, /* 0xD4-0xD7 */ + {0x5B, 0x1D}, {0x5B, 0x1E}, {0x5B, 0x1F}, {0x5B, 0x20}, /* 0xD8-0xDB */ + {0x5B, 0x21}, {0x5B, 0x22}, {0x5B, 0x23}, {0x5B, 0x24}, /* 0xDC-0xDF */ + {0x5B, 0x25}, {0x5B, 0x26}, {0x5B, 0x27}, {0x5B, 0x28}, /* 0xE0-0xE3 */ + {0x5B, 0x29}, {0x5B, 0x2A}, {0x5B, 0x2B}, {0x5B, 0x2C}, /* 0xE4-0xE7 */ + {0x5B, 0x2D}, {0x5B, 0x2E}, {0x5B, 0x2F}, {0x5B, 0x30}, /* 0xE8-0xEB */ + {0x5B, 0x31}, {0x5B, 0x33}, {0x5B, 0x35}, {0x5B, 0x36}, /* 0xEC-0xEF */ + {0x5B, 0x38}, {0x5B, 0x39}, {0x5B, 0x3A}, {0x5B, 0x3B}, /* 0xF0-0xF3 */ + {0x5B, 0x3C}, {0x5B, 0x3D}, {0x5B, 0x3E}, {0x5B, 0x3F}, /* 0xF4-0xF7 */ + {0x5B, 0x41}, {0x5B, 0x42}, {0x5B, 0x43}, {0x5B, 0x44}, /* 0xF8-0xFB */ + {0x5B, 0x45}, {0x5B, 0x46}, {0x5B, 0x47}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8C[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5B, 0x48}, {0x5B, 0x49}, {0x5B, 0x4A}, {0x5B, 0x4B}, /* 0x40-0x43 */ + {0x5B, 0x4C}, {0x5B, 0x4D}, {0x5B, 0x4E}, {0x5B, 0x4F}, /* 0x44-0x47 */ + {0x5B, 0x52}, {0x5B, 0x56}, {0x5B, 0x5E}, {0x5B, 0x60}, /* 0x48-0x4B */ + {0x5B, 0x61}, {0x5B, 0x67}, {0x5B, 0x68}, {0x5B, 0x6B}, /* 0x4C-0x4F */ + {0x5B, 0x6D}, {0x5B, 0x6E}, {0x5B, 0x6F}, {0x5B, 0x72}, /* 0x50-0x53 */ + {0x5B, 0x74}, {0x5B, 0x76}, {0x5B, 0x77}, {0x5B, 0x78}, /* 0x54-0x57 */ + {0x5B, 0x79}, {0x5B, 0x7B}, {0x5B, 0x7C}, {0x5B, 0x7E}, /* 0x58-0x5B */ + {0x5B, 0x7F}, {0x5B, 0x82}, {0x5B, 0x86}, {0x5B, 0x8A}, /* 0x5C-0x5F */ + {0x5B, 0x8D}, {0x5B, 0x8E}, {0x5B, 0x90}, {0x5B, 0x91}, /* 0x60-0x63 */ + {0x5B, 0x92}, {0x5B, 0x94}, {0x5B, 0x96}, {0x5B, 0x9F}, /* 0x64-0x67 */ + {0x5B, 0xA7}, {0x5B, 0xA8}, {0x5B, 0xA9}, {0x5B, 0xAC}, /* 0x68-0x6B */ + {0x5B, 0xAD}, {0x5B, 0xAE}, {0x5B, 0xAF}, {0x5B, 0xB1}, /* 0x6C-0x6F */ + {0x5B, 0xB2}, {0x5B, 0xB7}, {0x5B, 0xBA}, {0x5B, 0xBB}, /* 0x70-0x73 */ + {0x5B, 0xBC}, {0x5B, 0xC0}, {0x5B, 0xC1}, {0x5B, 0xC3}, /* 0x74-0x77 */ + {0x5B, 0xC8}, {0x5B, 0xC9}, {0x5B, 0xCA}, {0x5B, 0xCB}, /* 0x78-0x7B */ + {0x5B, 0xCD}, {0x5B, 0xCE}, {0x5B, 0xCF}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x5B, 0xD1}, {0x5B, 0xD4}, {0x5B, 0xD5}, {0x5B, 0xD6}, /* 0x80-0x83 */ + {0x5B, 0xD7}, {0x5B, 0xD8}, {0x5B, 0xD9}, {0x5B, 0xDA}, /* 0x84-0x87 */ + {0x5B, 0xDB}, {0x5B, 0xDC}, {0x5B, 0xE0}, {0x5B, 0xE2}, /* 0x88-0x8B */ + {0x5B, 0xE3}, {0x5B, 0xE6}, {0x5B, 0xE7}, {0x5B, 0xE9}, /* 0x8C-0x8F */ + {0x5B, 0xEA}, {0x5B, 0xEB}, {0x5B, 0xEC}, {0x5B, 0xED}, /* 0x90-0x93 */ + {0x5B, 0xEF}, {0x5B, 0xF1}, {0x5B, 0xF2}, {0x5B, 0xF3}, /* 0x94-0x97 */ + {0x5B, 0xF4}, {0x5B, 0xF5}, {0x5B, 0xF6}, {0x5B, 0xF7}, /* 0x98-0x9B */ + {0x5B, 0xFD}, {0x5B, 0xFE}, {0x5C, 0x00}, {0x5C, 0x02}, /* 0x9C-0x9F */ + {0x5C, 0x03}, {0x5C, 0x05}, {0x5C, 0x07}, {0x5C, 0x08}, /* 0xA0-0xA3 */ + {0x5C, 0x0B}, {0x5C, 0x0C}, {0x5C, 0x0D}, {0x5C, 0x0E}, /* 0xA4-0xA7 */ + {0x5C, 0x10}, {0x5C, 0x12}, {0x5C, 0x13}, {0x5C, 0x17}, /* 0xA8-0xAB */ + {0x5C, 0x19}, {0x5C, 0x1B}, {0x5C, 0x1E}, {0x5C, 0x1F}, /* 0xAC-0xAF */ + {0x5C, 0x20}, {0x5C, 0x21}, {0x5C, 0x23}, {0x5C, 0x26}, /* 0xB0-0xB3 */ + {0x5C, 0x28}, {0x5C, 0x29}, {0x5C, 0x2A}, {0x5C, 0x2B}, /* 0xB4-0xB7 */ + {0x5C, 0x2D}, {0x5C, 0x2E}, {0x5C, 0x2F}, {0x5C, 0x30}, /* 0xB8-0xBB */ + {0x5C, 0x32}, {0x5C, 0x33}, {0x5C, 0x35}, {0x5C, 0x36}, /* 0xBC-0xBF */ + {0x5C, 0x37}, {0x5C, 0x43}, {0x5C, 0x44}, {0x5C, 0x46}, /* 0xC0-0xC3 */ + {0x5C, 0x47}, {0x5C, 0x4C}, {0x5C, 0x4D}, {0x5C, 0x52}, /* 0xC4-0xC7 */ + {0x5C, 0x53}, {0x5C, 0x54}, {0x5C, 0x56}, {0x5C, 0x57}, /* 0xC8-0xCB */ + {0x5C, 0x58}, {0x5C, 0x5A}, {0x5C, 0x5B}, {0x5C, 0x5C}, /* 0xCC-0xCF */ + {0x5C, 0x5D}, {0x5C, 0x5F}, {0x5C, 0x62}, {0x5C, 0x64}, /* 0xD0-0xD3 */ + {0x5C, 0x67}, {0x5C, 0x68}, {0x5C, 0x69}, {0x5C, 0x6A}, /* 0xD4-0xD7 */ + {0x5C, 0x6B}, {0x5C, 0x6C}, {0x5C, 0x6D}, {0x5C, 0x70}, /* 0xD8-0xDB */ + {0x5C, 0x72}, {0x5C, 0x73}, {0x5C, 0x74}, {0x5C, 0x75}, /* 0xDC-0xDF */ + {0x5C, 0x76}, {0x5C, 0x77}, {0x5C, 0x78}, {0x5C, 0x7B}, /* 0xE0-0xE3 */ + {0x5C, 0x7C}, {0x5C, 0x7D}, {0x5C, 0x7E}, {0x5C, 0x80}, /* 0xE4-0xE7 */ + {0x5C, 0x83}, {0x5C, 0x84}, {0x5C, 0x85}, {0x5C, 0x86}, /* 0xE8-0xEB */ + {0x5C, 0x87}, {0x5C, 0x89}, {0x5C, 0x8A}, {0x5C, 0x8B}, /* 0xEC-0xEF */ + {0x5C, 0x8E}, {0x5C, 0x8F}, {0x5C, 0x92}, {0x5C, 0x93}, /* 0xF0-0xF3 */ + {0x5C, 0x95}, {0x5C, 0x9D}, {0x5C, 0x9E}, {0x5C, 0x9F}, /* 0xF4-0xF7 */ + {0x5C, 0xA0}, {0x5C, 0xA1}, {0x5C, 0xA4}, {0x5C, 0xA5}, /* 0xF8-0xFB */ + {0x5C, 0xA6}, {0x5C, 0xA7}, {0x5C, 0xA8}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8D[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5C, 0xAA}, {0x5C, 0xAE}, {0x5C, 0xAF}, {0x5C, 0xB0}, /* 0x40-0x43 */ + {0x5C, 0xB2}, {0x5C, 0xB4}, {0x5C, 0xB6}, {0x5C, 0xB9}, /* 0x44-0x47 */ + {0x5C, 0xBA}, {0x5C, 0xBB}, {0x5C, 0xBC}, {0x5C, 0xBE}, /* 0x48-0x4B */ + {0x5C, 0xC0}, {0x5C, 0xC2}, {0x5C, 0xC3}, {0x5C, 0xC5}, /* 0x4C-0x4F */ + {0x5C, 0xC6}, {0x5C, 0xC7}, {0x5C, 0xC8}, {0x5C, 0xC9}, /* 0x50-0x53 */ + {0x5C, 0xCA}, {0x5C, 0xCC}, {0x5C, 0xCD}, {0x5C, 0xCE}, /* 0x54-0x57 */ + {0x5C, 0xCF}, {0x5C, 0xD0}, {0x5C, 0xD1}, {0x5C, 0xD3}, /* 0x58-0x5B */ + {0x5C, 0xD4}, {0x5C, 0xD5}, {0x5C, 0xD6}, {0x5C, 0xD7}, /* 0x5C-0x5F */ + {0x5C, 0xD8}, {0x5C, 0xDA}, {0x5C, 0xDB}, {0x5C, 0xDC}, /* 0x60-0x63 */ + {0x5C, 0xDD}, {0x5C, 0xDE}, {0x5C, 0xDF}, {0x5C, 0xE0}, /* 0x64-0x67 */ + {0x5C, 0xE2}, {0x5C, 0xE3}, {0x5C, 0xE7}, {0x5C, 0xE9}, /* 0x68-0x6B */ + {0x5C, 0xEB}, {0x5C, 0xEC}, {0x5C, 0xEE}, {0x5C, 0xEF}, /* 0x6C-0x6F */ + {0x5C, 0xF1}, {0x5C, 0xF2}, {0x5C, 0xF3}, {0x5C, 0xF4}, /* 0x70-0x73 */ + {0x5C, 0xF5}, {0x5C, 0xF6}, {0x5C, 0xF7}, {0x5C, 0xF8}, /* 0x74-0x77 */ + {0x5C, 0xF9}, {0x5C, 0xFA}, {0x5C, 0xFC}, {0x5C, 0xFD}, /* 0x78-0x7B */ + {0x5C, 0xFE}, {0x5C, 0xFF}, {0x5D, 0x00}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x5D, 0x01}, {0x5D, 0x04}, {0x5D, 0x05}, {0x5D, 0x08}, /* 0x80-0x83 */ + {0x5D, 0x09}, {0x5D, 0x0A}, {0x5D, 0x0B}, {0x5D, 0x0C}, /* 0x84-0x87 */ + {0x5D, 0x0D}, {0x5D, 0x0F}, {0x5D, 0x10}, {0x5D, 0x11}, /* 0x88-0x8B */ + {0x5D, 0x12}, {0x5D, 0x13}, {0x5D, 0x15}, {0x5D, 0x17}, /* 0x8C-0x8F */ + {0x5D, 0x18}, {0x5D, 0x19}, {0x5D, 0x1A}, {0x5D, 0x1C}, /* 0x90-0x93 */ + {0x5D, 0x1D}, {0x5D, 0x1F}, {0x5D, 0x20}, {0x5D, 0x21}, /* 0x94-0x97 */ + {0x5D, 0x22}, {0x5D, 0x23}, {0x5D, 0x25}, {0x5D, 0x28}, /* 0x98-0x9B */ + {0x5D, 0x2A}, {0x5D, 0x2B}, {0x5D, 0x2C}, {0x5D, 0x2F}, /* 0x9C-0x9F */ + {0x5D, 0x30}, {0x5D, 0x31}, {0x5D, 0x32}, {0x5D, 0x33}, /* 0xA0-0xA3 */ + {0x5D, 0x35}, {0x5D, 0x36}, {0x5D, 0x37}, {0x5D, 0x38}, /* 0xA4-0xA7 */ + {0x5D, 0x39}, {0x5D, 0x3A}, {0x5D, 0x3B}, {0x5D, 0x3C}, /* 0xA8-0xAB */ + {0x5D, 0x3F}, {0x5D, 0x40}, {0x5D, 0x41}, {0x5D, 0x42}, /* 0xAC-0xAF */ + {0x5D, 0x43}, {0x5D, 0x44}, {0x5D, 0x45}, {0x5D, 0x46}, /* 0xB0-0xB3 */ + {0x5D, 0x48}, {0x5D, 0x49}, {0x5D, 0x4D}, {0x5D, 0x4E}, /* 0xB4-0xB7 */ + {0x5D, 0x4F}, {0x5D, 0x50}, {0x5D, 0x51}, {0x5D, 0x52}, /* 0xB8-0xBB */ + {0x5D, 0x53}, {0x5D, 0x54}, {0x5D, 0x55}, {0x5D, 0x56}, /* 0xBC-0xBF */ + {0x5D, 0x57}, {0x5D, 0x59}, {0x5D, 0x5A}, {0x5D, 0x5C}, /* 0xC0-0xC3 */ + {0x5D, 0x5E}, {0x5D, 0x5F}, {0x5D, 0x60}, {0x5D, 0x61}, /* 0xC4-0xC7 */ + {0x5D, 0x62}, {0x5D, 0x63}, {0x5D, 0x64}, {0x5D, 0x65}, /* 0xC8-0xCB */ + {0x5D, 0x66}, {0x5D, 0x67}, {0x5D, 0x68}, {0x5D, 0x6A}, /* 0xCC-0xCF */ + {0x5D, 0x6D}, {0x5D, 0x6E}, {0x5D, 0x70}, {0x5D, 0x71}, /* 0xD0-0xD3 */ + {0x5D, 0x72}, {0x5D, 0x73}, {0x5D, 0x75}, {0x5D, 0x76}, /* 0xD4-0xD7 */ + {0x5D, 0x77}, {0x5D, 0x78}, {0x5D, 0x79}, {0x5D, 0x7A}, /* 0xD8-0xDB */ + {0x5D, 0x7B}, {0x5D, 0x7C}, {0x5D, 0x7D}, {0x5D, 0x7E}, /* 0xDC-0xDF */ + {0x5D, 0x7F}, {0x5D, 0x80}, {0x5D, 0x81}, {0x5D, 0x83}, /* 0xE0-0xE3 */ + {0x5D, 0x84}, {0x5D, 0x85}, {0x5D, 0x86}, {0x5D, 0x87}, /* 0xE4-0xE7 */ + {0x5D, 0x88}, {0x5D, 0x89}, {0x5D, 0x8A}, {0x5D, 0x8B}, /* 0xE8-0xEB */ + {0x5D, 0x8C}, {0x5D, 0x8D}, {0x5D, 0x8E}, {0x5D, 0x8F}, /* 0xEC-0xEF */ + {0x5D, 0x90}, {0x5D, 0x91}, {0x5D, 0x92}, {0x5D, 0x93}, /* 0xF0-0xF3 */ + {0x5D, 0x94}, {0x5D, 0x95}, {0x5D, 0x96}, {0x5D, 0x97}, /* 0xF4-0xF7 */ + {0x5D, 0x98}, {0x5D, 0x9A}, {0x5D, 0x9B}, {0x5D, 0x9C}, /* 0xF8-0xFB */ + {0x5D, 0x9E}, {0x5D, 0x9F}, {0x5D, 0xA0}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8E[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5D, 0xA1}, {0x5D, 0xA2}, {0x5D, 0xA3}, {0x5D, 0xA4}, /* 0x40-0x43 */ + {0x5D, 0xA5}, {0x5D, 0xA6}, {0x5D, 0xA7}, {0x5D, 0xA8}, /* 0x44-0x47 */ + {0x5D, 0xA9}, {0x5D, 0xAA}, {0x5D, 0xAB}, {0x5D, 0xAC}, /* 0x48-0x4B */ + {0x5D, 0xAD}, {0x5D, 0xAE}, {0x5D, 0xAF}, {0x5D, 0xB0}, /* 0x4C-0x4F */ + {0x5D, 0xB1}, {0x5D, 0xB2}, {0x5D, 0xB3}, {0x5D, 0xB4}, /* 0x50-0x53 */ + {0x5D, 0xB5}, {0x5D, 0xB6}, {0x5D, 0xB8}, {0x5D, 0xB9}, /* 0x54-0x57 */ + {0x5D, 0xBA}, {0x5D, 0xBB}, {0x5D, 0xBC}, {0x5D, 0xBD}, /* 0x58-0x5B */ + {0x5D, 0xBE}, {0x5D, 0xBF}, {0x5D, 0xC0}, {0x5D, 0xC1}, /* 0x5C-0x5F */ + {0x5D, 0xC2}, {0x5D, 0xC3}, {0x5D, 0xC4}, {0x5D, 0xC6}, /* 0x60-0x63 */ + {0x5D, 0xC7}, {0x5D, 0xC8}, {0x5D, 0xC9}, {0x5D, 0xCA}, /* 0x64-0x67 */ + {0x5D, 0xCB}, {0x5D, 0xCC}, {0x5D, 0xCE}, {0x5D, 0xCF}, /* 0x68-0x6B */ + {0x5D, 0xD0}, {0x5D, 0xD1}, {0x5D, 0xD2}, {0x5D, 0xD3}, /* 0x6C-0x6F */ + {0x5D, 0xD4}, {0x5D, 0xD5}, {0x5D, 0xD6}, {0x5D, 0xD7}, /* 0x70-0x73 */ + {0x5D, 0xD8}, {0x5D, 0xD9}, {0x5D, 0xDA}, {0x5D, 0xDC}, /* 0x74-0x77 */ + {0x5D, 0xDF}, {0x5D, 0xE0}, {0x5D, 0xE3}, {0x5D, 0xE4}, /* 0x78-0x7B */ + {0x5D, 0xEA}, {0x5D, 0xEC}, {0x5D, 0xED}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x5D, 0xF0}, {0x5D, 0xF5}, {0x5D, 0xF6}, {0x5D, 0xF8}, /* 0x80-0x83 */ + {0x5D, 0xF9}, {0x5D, 0xFA}, {0x5D, 0xFB}, {0x5D, 0xFC}, /* 0x84-0x87 */ + {0x5D, 0xFF}, {0x5E, 0x00}, {0x5E, 0x04}, {0x5E, 0x07}, /* 0x88-0x8B */ + {0x5E, 0x09}, {0x5E, 0x0A}, {0x5E, 0x0B}, {0x5E, 0x0D}, /* 0x8C-0x8F */ + {0x5E, 0x0E}, {0x5E, 0x12}, {0x5E, 0x13}, {0x5E, 0x17}, /* 0x90-0x93 */ + {0x5E, 0x1E}, {0x5E, 0x1F}, {0x5E, 0x20}, {0x5E, 0x21}, /* 0x94-0x97 */ + {0x5E, 0x22}, {0x5E, 0x23}, {0x5E, 0x24}, {0x5E, 0x25}, /* 0x98-0x9B */ + {0x5E, 0x28}, {0x5E, 0x29}, {0x5E, 0x2A}, {0x5E, 0x2B}, /* 0x9C-0x9F */ + {0x5E, 0x2C}, {0x5E, 0x2F}, {0x5E, 0x30}, {0x5E, 0x32}, /* 0xA0-0xA3 */ + {0x5E, 0x33}, {0x5E, 0x34}, {0x5E, 0x35}, {0x5E, 0x36}, /* 0xA4-0xA7 */ + {0x5E, 0x39}, {0x5E, 0x3A}, {0x5E, 0x3E}, {0x5E, 0x3F}, /* 0xA8-0xAB */ + {0x5E, 0x40}, {0x5E, 0x41}, {0x5E, 0x43}, {0x5E, 0x46}, /* 0xAC-0xAF */ + {0x5E, 0x47}, {0x5E, 0x48}, {0x5E, 0x49}, {0x5E, 0x4A}, /* 0xB0-0xB3 */ + {0x5E, 0x4B}, {0x5E, 0x4D}, {0x5E, 0x4E}, {0x5E, 0x4F}, /* 0xB4-0xB7 */ + {0x5E, 0x50}, {0x5E, 0x51}, {0x5E, 0x52}, {0x5E, 0x53}, /* 0xB8-0xBB */ + {0x5E, 0x56}, {0x5E, 0x57}, {0x5E, 0x58}, {0x5E, 0x59}, /* 0xBC-0xBF */ + {0x5E, 0x5A}, {0x5E, 0x5C}, {0x5E, 0x5D}, {0x5E, 0x5F}, /* 0xC0-0xC3 */ + {0x5E, 0x60}, {0x5E, 0x63}, {0x5E, 0x64}, {0x5E, 0x65}, /* 0xC4-0xC7 */ + {0x5E, 0x66}, {0x5E, 0x67}, {0x5E, 0x68}, {0x5E, 0x69}, /* 0xC8-0xCB */ + {0x5E, 0x6A}, {0x5E, 0x6B}, {0x5E, 0x6C}, {0x5E, 0x6D}, /* 0xCC-0xCF */ + {0x5E, 0x6E}, {0x5E, 0x6F}, {0x5E, 0x70}, {0x5E, 0x71}, /* 0xD0-0xD3 */ + {0x5E, 0x75}, {0x5E, 0x77}, {0x5E, 0x79}, {0x5E, 0x7E}, /* 0xD4-0xD7 */ + {0x5E, 0x81}, {0x5E, 0x82}, {0x5E, 0x83}, {0x5E, 0x85}, /* 0xD8-0xDB */ + {0x5E, 0x88}, {0x5E, 0x89}, {0x5E, 0x8C}, {0x5E, 0x8D}, /* 0xDC-0xDF */ + {0x5E, 0x8E}, {0x5E, 0x92}, {0x5E, 0x98}, {0x5E, 0x9B}, /* 0xE0-0xE3 */ + {0x5E, 0x9D}, {0x5E, 0xA1}, {0x5E, 0xA2}, {0x5E, 0xA3}, /* 0xE4-0xE7 */ + {0x5E, 0xA4}, {0x5E, 0xA8}, {0x5E, 0xA9}, {0x5E, 0xAA}, /* 0xE8-0xEB */ + {0x5E, 0xAB}, {0x5E, 0xAC}, {0x5E, 0xAE}, {0x5E, 0xAF}, /* 0xEC-0xEF */ + {0x5E, 0xB0}, {0x5E, 0xB1}, {0x5E, 0xB2}, {0x5E, 0xB4}, /* 0xF0-0xF3 */ + {0x5E, 0xBA}, {0x5E, 0xBB}, {0x5E, 0xBC}, {0x5E, 0xBD}, /* 0xF4-0xF7 */ + {0x5E, 0xBF}, {0x5E, 0xC0}, {0x5E, 0xC1}, {0x5E, 0xC2}, /* 0xF8-0xFB */ + {0x5E, 0xC3}, {0x5E, 0xC4}, {0x5E, 0xC5}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8F[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5E, 0xC6}, {0x5E, 0xC7}, {0x5E, 0xC8}, {0x5E, 0xCB}, /* 0x40-0x43 */ + {0x5E, 0xCC}, {0x5E, 0xCD}, {0x5E, 0xCE}, {0x5E, 0xCF}, /* 0x44-0x47 */ + {0x5E, 0xD0}, {0x5E, 0xD4}, {0x5E, 0xD5}, {0x5E, 0xD7}, /* 0x48-0x4B */ + {0x5E, 0xD8}, {0x5E, 0xD9}, {0x5E, 0xDA}, {0x5E, 0xDC}, /* 0x4C-0x4F */ + {0x5E, 0xDD}, {0x5E, 0xDE}, {0x5E, 0xDF}, {0x5E, 0xE0}, /* 0x50-0x53 */ + {0x5E, 0xE1}, {0x5E, 0xE2}, {0x5E, 0xE3}, {0x5E, 0xE4}, /* 0x54-0x57 */ + {0x5E, 0xE5}, {0x5E, 0xE6}, {0x5E, 0xE7}, {0x5E, 0xE9}, /* 0x58-0x5B */ + {0x5E, 0xEB}, {0x5E, 0xEC}, {0x5E, 0xED}, {0x5E, 0xEE}, /* 0x5C-0x5F */ + {0x5E, 0xEF}, {0x5E, 0xF0}, {0x5E, 0xF1}, {0x5E, 0xF2}, /* 0x60-0x63 */ + {0x5E, 0xF3}, {0x5E, 0xF5}, {0x5E, 0xF8}, {0x5E, 0xF9}, /* 0x64-0x67 */ + {0x5E, 0xFB}, {0x5E, 0xFC}, {0x5E, 0xFD}, {0x5F, 0x05}, /* 0x68-0x6B */ + {0x5F, 0x06}, {0x5F, 0x07}, {0x5F, 0x09}, {0x5F, 0x0C}, /* 0x6C-0x6F */ + {0x5F, 0x0D}, {0x5F, 0x0E}, {0x5F, 0x10}, {0x5F, 0x12}, /* 0x70-0x73 */ + {0x5F, 0x14}, {0x5F, 0x16}, {0x5F, 0x19}, {0x5F, 0x1A}, /* 0x74-0x77 */ + {0x5F, 0x1C}, {0x5F, 0x1D}, {0x5F, 0x1E}, {0x5F, 0x21}, /* 0x78-0x7B */ + {0x5F, 0x22}, {0x5F, 0x23}, {0x5F, 0x24}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x5F, 0x28}, {0x5F, 0x2B}, {0x5F, 0x2C}, {0x5F, 0x2E}, /* 0x80-0x83 */ + {0x5F, 0x30}, {0x5F, 0x32}, {0x5F, 0x33}, {0x5F, 0x34}, /* 0x84-0x87 */ + {0x5F, 0x35}, {0x5F, 0x36}, {0x5F, 0x37}, {0x5F, 0x38}, /* 0x88-0x8B */ + {0x5F, 0x3B}, {0x5F, 0x3D}, {0x5F, 0x3E}, {0x5F, 0x3F}, /* 0x8C-0x8F */ + {0x5F, 0x41}, {0x5F, 0x42}, {0x5F, 0x43}, {0x5F, 0x44}, /* 0x90-0x93 */ + {0x5F, 0x45}, {0x5F, 0x46}, {0x5F, 0x47}, {0x5F, 0x48}, /* 0x94-0x97 */ + {0x5F, 0x49}, {0x5F, 0x4A}, {0x5F, 0x4B}, {0x5F, 0x4C}, /* 0x98-0x9B */ + {0x5F, 0x4D}, {0x5F, 0x4E}, {0x5F, 0x4F}, {0x5F, 0x51}, /* 0x9C-0x9F */ + {0x5F, 0x54}, {0x5F, 0x59}, {0x5F, 0x5A}, {0x5F, 0x5B}, /* 0xA0-0xA3 */ + {0x5F, 0x5C}, {0x5F, 0x5E}, {0x5F, 0x5F}, {0x5F, 0x60}, /* 0xA4-0xA7 */ + {0x5F, 0x63}, {0x5F, 0x65}, {0x5F, 0x67}, {0x5F, 0x68}, /* 0xA8-0xAB */ + {0x5F, 0x6B}, {0x5F, 0x6E}, {0x5F, 0x6F}, {0x5F, 0x72}, /* 0xAC-0xAF */ + {0x5F, 0x74}, {0x5F, 0x75}, {0x5F, 0x76}, {0x5F, 0x78}, /* 0xB0-0xB3 */ + {0x5F, 0x7A}, {0x5F, 0x7D}, {0x5F, 0x7E}, {0x5F, 0x7F}, /* 0xB4-0xB7 */ + {0x5F, 0x83}, {0x5F, 0x86}, {0x5F, 0x8D}, {0x5F, 0x8E}, /* 0xB8-0xBB */ + {0x5F, 0x8F}, {0x5F, 0x91}, {0x5F, 0x93}, {0x5F, 0x94}, /* 0xBC-0xBF */ + {0x5F, 0x96}, {0x5F, 0x9A}, {0x5F, 0x9B}, {0x5F, 0x9D}, /* 0xC0-0xC3 */ + {0x5F, 0x9E}, {0x5F, 0x9F}, {0x5F, 0xA0}, {0x5F, 0xA2}, /* 0xC4-0xC7 */ + {0x5F, 0xA3}, {0x5F, 0xA4}, {0x5F, 0xA5}, {0x5F, 0xA6}, /* 0xC8-0xCB */ + {0x5F, 0xA7}, {0x5F, 0xA9}, {0x5F, 0xAB}, {0x5F, 0xAC}, /* 0xCC-0xCF */ + {0x5F, 0xAF}, {0x5F, 0xB0}, {0x5F, 0xB1}, {0x5F, 0xB2}, /* 0xD0-0xD3 */ + {0x5F, 0xB3}, {0x5F, 0xB4}, {0x5F, 0xB6}, {0x5F, 0xB8}, /* 0xD4-0xD7 */ + {0x5F, 0xB9}, {0x5F, 0xBA}, {0x5F, 0xBB}, {0x5F, 0xBE}, /* 0xD8-0xDB */ + {0x5F, 0xBF}, {0x5F, 0xC0}, {0x5F, 0xC1}, {0x5F, 0xC2}, /* 0xDC-0xDF */ + {0x5F, 0xC7}, {0x5F, 0xC8}, {0x5F, 0xCA}, {0x5F, 0xCB}, /* 0xE0-0xE3 */ + {0x5F, 0xCE}, {0x5F, 0xD3}, {0x5F, 0xD4}, {0x5F, 0xD5}, /* 0xE4-0xE7 */ + {0x5F, 0xDA}, {0x5F, 0xDB}, {0x5F, 0xDC}, {0x5F, 0xDE}, /* 0xE8-0xEB */ + {0x5F, 0xDF}, {0x5F, 0xE2}, {0x5F, 0xE3}, {0x5F, 0xE5}, /* 0xEC-0xEF */ + {0x5F, 0xE6}, {0x5F, 0xE8}, {0x5F, 0xE9}, {0x5F, 0xEC}, /* 0xF0-0xF3 */ + {0x5F, 0xEF}, {0x5F, 0xF0}, {0x5F, 0xF2}, {0x5F, 0xF3}, /* 0xF4-0xF7 */ + {0x5F, 0xF4}, {0x5F, 0xF6}, {0x5F, 0xF7}, {0x5F, 0xF9}, /* 0xF8-0xFB */ + {0x5F, 0xFA}, {0x5F, 0xFC}, {0x60, 0x07}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_90[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x60, 0x08}, {0x60, 0x09}, {0x60, 0x0B}, {0x60, 0x0C}, /* 0x40-0x43 */ + {0x60, 0x10}, {0x60, 0x11}, {0x60, 0x13}, {0x60, 0x17}, /* 0x44-0x47 */ + {0x60, 0x18}, {0x60, 0x1A}, {0x60, 0x1E}, {0x60, 0x1F}, /* 0x48-0x4B */ + {0x60, 0x22}, {0x60, 0x23}, {0x60, 0x24}, {0x60, 0x2C}, /* 0x4C-0x4F */ + {0x60, 0x2D}, {0x60, 0x2E}, {0x60, 0x30}, {0x60, 0x31}, /* 0x50-0x53 */ + {0x60, 0x32}, {0x60, 0x33}, {0x60, 0x34}, {0x60, 0x36}, /* 0x54-0x57 */ + {0x60, 0x37}, {0x60, 0x38}, {0x60, 0x39}, {0x60, 0x3A}, /* 0x58-0x5B */ + {0x60, 0x3D}, {0x60, 0x3E}, {0x60, 0x40}, {0x60, 0x44}, /* 0x5C-0x5F */ + {0x60, 0x45}, {0x60, 0x46}, {0x60, 0x47}, {0x60, 0x48}, /* 0x60-0x63 */ + {0x60, 0x49}, {0x60, 0x4A}, {0x60, 0x4C}, {0x60, 0x4E}, /* 0x64-0x67 */ + {0x60, 0x4F}, {0x60, 0x51}, {0x60, 0x53}, {0x60, 0x54}, /* 0x68-0x6B */ + {0x60, 0x56}, {0x60, 0x57}, {0x60, 0x58}, {0x60, 0x5B}, /* 0x6C-0x6F */ + {0x60, 0x5C}, {0x60, 0x5E}, {0x60, 0x5F}, {0x60, 0x60}, /* 0x70-0x73 */ + {0x60, 0x61}, {0x60, 0x65}, {0x60, 0x66}, {0x60, 0x6E}, /* 0x74-0x77 */ + {0x60, 0x71}, {0x60, 0x72}, {0x60, 0x74}, {0x60, 0x75}, /* 0x78-0x7B */ + {0x60, 0x77}, {0x60, 0x7E}, {0x60, 0x80}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x60, 0x81}, {0x60, 0x82}, {0x60, 0x85}, {0x60, 0x86}, /* 0x80-0x83 */ + {0x60, 0x87}, {0x60, 0x88}, {0x60, 0x8A}, {0x60, 0x8B}, /* 0x84-0x87 */ + {0x60, 0x8E}, {0x60, 0x8F}, {0x60, 0x90}, {0x60, 0x91}, /* 0x88-0x8B */ + {0x60, 0x93}, {0x60, 0x95}, {0x60, 0x97}, {0x60, 0x98}, /* 0x8C-0x8F */ + {0x60, 0x99}, {0x60, 0x9C}, {0x60, 0x9E}, {0x60, 0xA1}, /* 0x90-0x93 */ + {0x60, 0xA2}, {0x60, 0xA4}, {0x60, 0xA5}, {0x60, 0xA7}, /* 0x94-0x97 */ + {0x60, 0xA9}, {0x60, 0xAA}, {0x60, 0xAE}, {0x60, 0xB0}, /* 0x98-0x9B */ + {0x60, 0xB3}, {0x60, 0xB5}, {0x60, 0xB6}, {0x60, 0xB7}, /* 0x9C-0x9F */ + {0x60, 0xB9}, {0x60, 0xBA}, {0x60, 0xBD}, {0x60, 0xBE}, /* 0xA0-0xA3 */ + {0x60, 0xBF}, {0x60, 0xC0}, {0x60, 0xC1}, {0x60, 0xC2}, /* 0xA4-0xA7 */ + {0x60, 0xC3}, {0x60, 0xC4}, {0x60, 0xC7}, {0x60, 0xC8}, /* 0xA8-0xAB */ + {0x60, 0xC9}, {0x60, 0xCC}, {0x60, 0xCD}, {0x60, 0xCE}, /* 0xAC-0xAF */ + {0x60, 0xCF}, {0x60, 0xD0}, {0x60, 0xD2}, {0x60, 0xD3}, /* 0xB0-0xB3 */ + {0x60, 0xD4}, {0x60, 0xD6}, {0x60, 0xD7}, {0x60, 0xD9}, /* 0xB4-0xB7 */ + {0x60, 0xDB}, {0x60, 0xDE}, {0x60, 0xE1}, {0x60, 0xE2}, /* 0xB8-0xBB */ + {0x60, 0xE3}, {0x60, 0xE4}, {0x60, 0xE5}, {0x60, 0xEA}, /* 0xBC-0xBF */ + {0x60, 0xF1}, {0x60, 0xF2}, {0x60, 0xF5}, {0x60, 0xF7}, /* 0xC0-0xC3 */ + {0x60, 0xF8}, {0x60, 0xFB}, {0x60, 0xFC}, {0x60, 0xFD}, /* 0xC4-0xC7 */ + {0x60, 0xFE}, {0x60, 0xFF}, {0x61, 0x02}, {0x61, 0x03}, /* 0xC8-0xCB */ + {0x61, 0x04}, {0x61, 0x05}, {0x61, 0x07}, {0x61, 0x0A}, /* 0xCC-0xCF */ + {0x61, 0x0B}, {0x61, 0x0C}, {0x61, 0x10}, {0x61, 0x11}, /* 0xD0-0xD3 */ + {0x61, 0x12}, {0x61, 0x13}, {0x61, 0x14}, {0x61, 0x16}, /* 0xD4-0xD7 */ + {0x61, 0x17}, {0x61, 0x18}, {0x61, 0x19}, {0x61, 0x1B}, /* 0xD8-0xDB */ + {0x61, 0x1C}, {0x61, 0x1D}, {0x61, 0x1E}, {0x61, 0x21}, /* 0xDC-0xDF */ + {0x61, 0x22}, {0x61, 0x25}, {0x61, 0x28}, {0x61, 0x29}, /* 0xE0-0xE3 */ + {0x61, 0x2A}, {0x61, 0x2C}, {0x61, 0x2D}, {0x61, 0x2E}, /* 0xE4-0xE7 */ + {0x61, 0x2F}, {0x61, 0x30}, {0x61, 0x31}, {0x61, 0x32}, /* 0xE8-0xEB */ + {0x61, 0x33}, {0x61, 0x34}, {0x61, 0x35}, {0x61, 0x36}, /* 0xEC-0xEF */ + {0x61, 0x37}, {0x61, 0x38}, {0x61, 0x39}, {0x61, 0x3A}, /* 0xF0-0xF3 */ + {0x61, 0x3B}, {0x61, 0x3C}, {0x61, 0x3D}, {0x61, 0x3E}, /* 0xF4-0xF7 */ + {0x61, 0x40}, {0x61, 0x41}, {0x61, 0x42}, {0x61, 0x43}, /* 0xF8-0xFB */ + {0x61, 0x44}, {0x61, 0x45}, {0x61, 0x46}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_91[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x61, 0x47}, {0x61, 0x49}, {0x61, 0x4B}, {0x61, 0x4D}, /* 0x40-0x43 */ + {0x61, 0x4F}, {0x61, 0x50}, {0x61, 0x52}, {0x61, 0x53}, /* 0x44-0x47 */ + {0x61, 0x54}, {0x61, 0x56}, {0x61, 0x57}, {0x61, 0x58}, /* 0x48-0x4B */ + {0x61, 0x59}, {0x61, 0x5A}, {0x61, 0x5B}, {0x61, 0x5C}, /* 0x4C-0x4F */ + {0x61, 0x5E}, {0x61, 0x5F}, {0x61, 0x60}, {0x61, 0x61}, /* 0x50-0x53 */ + {0x61, 0x63}, {0x61, 0x64}, {0x61, 0x65}, {0x61, 0x66}, /* 0x54-0x57 */ + {0x61, 0x69}, {0x61, 0x6A}, {0x61, 0x6B}, {0x61, 0x6C}, /* 0x58-0x5B */ + {0x61, 0x6D}, {0x61, 0x6E}, {0x61, 0x6F}, {0x61, 0x71}, /* 0x5C-0x5F */ + {0x61, 0x72}, {0x61, 0x73}, {0x61, 0x74}, {0x61, 0x76}, /* 0x60-0x63 */ + {0x61, 0x78}, {0x61, 0x79}, {0x61, 0x7A}, {0x61, 0x7B}, /* 0x64-0x67 */ + {0x61, 0x7C}, {0x61, 0x7D}, {0x61, 0x7E}, {0x61, 0x7F}, /* 0x68-0x6B */ + {0x61, 0x80}, {0x61, 0x81}, {0x61, 0x82}, {0x61, 0x83}, /* 0x6C-0x6F */ + {0x61, 0x84}, {0x61, 0x85}, {0x61, 0x86}, {0x61, 0x87}, /* 0x70-0x73 */ + {0x61, 0x88}, {0x61, 0x89}, {0x61, 0x8A}, {0x61, 0x8C}, /* 0x74-0x77 */ + {0x61, 0x8D}, {0x61, 0x8F}, {0x61, 0x90}, {0x61, 0x91}, /* 0x78-0x7B */ + {0x61, 0x92}, {0x61, 0x93}, {0x61, 0x95}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x61, 0x96}, {0x61, 0x97}, {0x61, 0x98}, {0x61, 0x99}, /* 0x80-0x83 */ + {0x61, 0x9A}, {0x61, 0x9B}, {0x61, 0x9C}, {0x61, 0x9E}, /* 0x84-0x87 */ + {0x61, 0x9F}, {0x61, 0xA0}, {0x61, 0xA1}, {0x61, 0xA2}, /* 0x88-0x8B */ + {0x61, 0xA3}, {0x61, 0xA4}, {0x61, 0xA5}, {0x61, 0xA6}, /* 0x8C-0x8F */ + {0x61, 0xAA}, {0x61, 0xAB}, {0x61, 0xAD}, {0x61, 0xAE}, /* 0x90-0x93 */ + {0x61, 0xAF}, {0x61, 0xB0}, {0x61, 0xB1}, {0x61, 0xB2}, /* 0x94-0x97 */ + {0x61, 0xB3}, {0x61, 0xB4}, {0x61, 0xB5}, {0x61, 0xB6}, /* 0x98-0x9B */ + {0x61, 0xB8}, {0x61, 0xB9}, {0x61, 0xBA}, {0x61, 0xBB}, /* 0x9C-0x9F */ + {0x61, 0xBC}, {0x61, 0xBD}, {0x61, 0xBF}, {0x61, 0xC0}, /* 0xA0-0xA3 */ + {0x61, 0xC1}, {0x61, 0xC3}, {0x61, 0xC4}, {0x61, 0xC5}, /* 0xA4-0xA7 */ + {0x61, 0xC6}, {0x61, 0xC7}, {0x61, 0xC9}, {0x61, 0xCC}, /* 0xA8-0xAB */ + {0x61, 0xCD}, {0x61, 0xCE}, {0x61, 0xCF}, {0x61, 0xD0}, /* 0xAC-0xAF */ + {0x61, 0xD3}, {0x61, 0xD5}, {0x61, 0xD6}, {0x61, 0xD7}, /* 0xB0-0xB3 */ + {0x61, 0xD8}, {0x61, 0xD9}, {0x61, 0xDA}, {0x61, 0xDB}, /* 0xB4-0xB7 */ + {0x61, 0xDC}, {0x61, 0xDD}, {0x61, 0xDE}, {0x61, 0xDF}, /* 0xB8-0xBB */ + {0x61, 0xE0}, {0x61, 0xE1}, {0x61, 0xE2}, {0x61, 0xE3}, /* 0xBC-0xBF */ + {0x61, 0xE4}, {0x61, 0xE5}, {0x61, 0xE7}, {0x61, 0xE8}, /* 0xC0-0xC3 */ + {0x61, 0xE9}, {0x61, 0xEA}, {0x61, 0xEB}, {0x61, 0xEC}, /* 0xC4-0xC7 */ + {0x61, 0xED}, {0x61, 0xEE}, {0x61, 0xEF}, {0x61, 0xF0}, /* 0xC8-0xCB */ + {0x61, 0xF1}, {0x61, 0xF2}, {0x61, 0xF3}, {0x61, 0xF4}, /* 0xCC-0xCF */ + {0x61, 0xF6}, {0x61, 0xF7}, {0x61, 0xF8}, {0x61, 0xF9}, /* 0xD0-0xD3 */ + {0x61, 0xFA}, {0x61, 0xFB}, {0x61, 0xFC}, {0x61, 0xFD}, /* 0xD4-0xD7 */ + {0x61, 0xFE}, {0x62, 0x00}, {0x62, 0x01}, {0x62, 0x02}, /* 0xD8-0xDB */ + {0x62, 0x03}, {0x62, 0x04}, {0x62, 0x05}, {0x62, 0x07}, /* 0xDC-0xDF */ + {0x62, 0x09}, {0x62, 0x13}, {0x62, 0x14}, {0x62, 0x19}, /* 0xE0-0xE3 */ + {0x62, 0x1C}, {0x62, 0x1D}, {0x62, 0x1E}, {0x62, 0x20}, /* 0xE4-0xE7 */ + {0x62, 0x23}, {0x62, 0x26}, {0x62, 0x27}, {0x62, 0x28}, /* 0xE8-0xEB */ + {0x62, 0x29}, {0x62, 0x2B}, {0x62, 0x2D}, {0x62, 0x2F}, /* 0xEC-0xEF */ + {0x62, 0x30}, {0x62, 0x31}, {0x62, 0x32}, {0x62, 0x35}, /* 0xF0-0xF3 */ + {0x62, 0x36}, {0x62, 0x38}, {0x62, 0x39}, {0x62, 0x3A}, /* 0xF4-0xF7 */ + {0x62, 0x3B}, {0x62, 0x3C}, {0x62, 0x42}, {0x62, 0x44}, /* 0xF8-0xFB */ + {0x62, 0x45}, {0x62, 0x46}, {0x62, 0x4A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_92[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x62, 0x4F}, {0x62, 0x50}, {0x62, 0x55}, {0x62, 0x56}, /* 0x40-0x43 */ + {0x62, 0x57}, {0x62, 0x59}, {0x62, 0x5A}, {0x62, 0x5C}, /* 0x44-0x47 */ + {0x62, 0x5D}, {0x62, 0x5E}, {0x62, 0x5F}, {0x62, 0x60}, /* 0x48-0x4B */ + {0x62, 0x61}, {0x62, 0x62}, {0x62, 0x64}, {0x62, 0x65}, /* 0x4C-0x4F */ + {0x62, 0x68}, {0x62, 0x71}, {0x62, 0x72}, {0x62, 0x74}, /* 0x50-0x53 */ + {0x62, 0x75}, {0x62, 0x77}, {0x62, 0x78}, {0x62, 0x7A}, /* 0x54-0x57 */ + {0x62, 0x7B}, {0x62, 0x7D}, {0x62, 0x81}, {0x62, 0x82}, /* 0x58-0x5B */ + {0x62, 0x83}, {0x62, 0x85}, {0x62, 0x86}, {0x62, 0x87}, /* 0x5C-0x5F */ + {0x62, 0x88}, {0x62, 0x8B}, {0x62, 0x8C}, {0x62, 0x8D}, /* 0x60-0x63 */ + {0x62, 0x8E}, {0x62, 0x8F}, {0x62, 0x90}, {0x62, 0x94}, /* 0x64-0x67 */ + {0x62, 0x99}, {0x62, 0x9C}, {0x62, 0x9D}, {0x62, 0x9E}, /* 0x68-0x6B */ + {0x62, 0xA3}, {0x62, 0xA6}, {0x62, 0xA7}, {0x62, 0xA9}, /* 0x6C-0x6F */ + {0x62, 0xAA}, {0x62, 0xAD}, {0x62, 0xAE}, {0x62, 0xAF}, /* 0x70-0x73 */ + {0x62, 0xB0}, {0x62, 0xB2}, {0x62, 0xB3}, {0x62, 0xB4}, /* 0x74-0x77 */ + {0x62, 0xB6}, {0x62, 0xB7}, {0x62, 0xB8}, {0x62, 0xBA}, /* 0x78-0x7B */ + {0x62, 0xBE}, {0x62, 0xC0}, {0x62, 0xC1}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x62, 0xC3}, {0x62, 0xCB}, {0x62, 0xCF}, {0x62, 0xD1}, /* 0x80-0x83 */ + {0x62, 0xD5}, {0x62, 0xDD}, {0x62, 0xDE}, {0x62, 0xE0}, /* 0x84-0x87 */ + {0x62, 0xE1}, {0x62, 0xE4}, {0x62, 0xEA}, {0x62, 0xEB}, /* 0x88-0x8B */ + {0x62, 0xF0}, {0x62, 0xF2}, {0x62, 0xF5}, {0x62, 0xF8}, /* 0x8C-0x8F */ + {0x62, 0xF9}, {0x62, 0xFA}, {0x62, 0xFB}, {0x63, 0x00}, /* 0x90-0x93 */ + {0x63, 0x03}, {0x63, 0x04}, {0x63, 0x05}, {0x63, 0x06}, /* 0x94-0x97 */ + {0x63, 0x0A}, {0x63, 0x0B}, {0x63, 0x0C}, {0x63, 0x0D}, /* 0x98-0x9B */ + {0x63, 0x0F}, {0x63, 0x10}, {0x63, 0x12}, {0x63, 0x13}, /* 0x9C-0x9F */ + {0x63, 0x14}, {0x63, 0x15}, {0x63, 0x17}, {0x63, 0x18}, /* 0xA0-0xA3 */ + {0x63, 0x19}, {0x63, 0x1C}, {0x63, 0x26}, {0x63, 0x27}, /* 0xA4-0xA7 */ + {0x63, 0x29}, {0x63, 0x2C}, {0x63, 0x2D}, {0x63, 0x2E}, /* 0xA8-0xAB */ + {0x63, 0x30}, {0x63, 0x31}, {0x63, 0x33}, {0x63, 0x34}, /* 0xAC-0xAF */ + {0x63, 0x35}, {0x63, 0x36}, {0x63, 0x37}, {0x63, 0x38}, /* 0xB0-0xB3 */ + {0x63, 0x3B}, {0x63, 0x3C}, {0x63, 0x3E}, {0x63, 0x3F}, /* 0xB4-0xB7 */ + {0x63, 0x40}, {0x63, 0x41}, {0x63, 0x44}, {0x63, 0x47}, /* 0xB8-0xBB */ + {0x63, 0x48}, {0x63, 0x4A}, {0x63, 0x51}, {0x63, 0x52}, /* 0xBC-0xBF */ + {0x63, 0x53}, {0x63, 0x54}, {0x63, 0x56}, {0x63, 0x57}, /* 0xC0-0xC3 */ + {0x63, 0x58}, {0x63, 0x59}, {0x63, 0x5A}, {0x63, 0x5B}, /* 0xC4-0xC7 */ + {0x63, 0x5C}, {0x63, 0x5D}, {0x63, 0x60}, {0x63, 0x64}, /* 0xC8-0xCB */ + {0x63, 0x65}, {0x63, 0x66}, {0x63, 0x68}, {0x63, 0x6A}, /* 0xCC-0xCF */ + {0x63, 0x6B}, {0x63, 0x6C}, {0x63, 0x6F}, {0x63, 0x70}, /* 0xD0-0xD3 */ + {0x63, 0x72}, {0x63, 0x73}, {0x63, 0x74}, {0x63, 0x75}, /* 0xD4-0xD7 */ + {0x63, 0x78}, {0x63, 0x79}, {0x63, 0x7C}, {0x63, 0x7D}, /* 0xD8-0xDB */ + {0x63, 0x7E}, {0x63, 0x7F}, {0x63, 0x81}, {0x63, 0x83}, /* 0xDC-0xDF */ + {0x63, 0x84}, {0x63, 0x85}, {0x63, 0x86}, {0x63, 0x8B}, /* 0xE0-0xE3 */ + {0x63, 0x8D}, {0x63, 0x91}, {0x63, 0x93}, {0x63, 0x94}, /* 0xE4-0xE7 */ + {0x63, 0x95}, {0x63, 0x97}, {0x63, 0x99}, {0x63, 0x9A}, /* 0xE8-0xEB */ + {0x63, 0x9B}, {0x63, 0x9C}, {0x63, 0x9D}, {0x63, 0x9E}, /* 0xEC-0xEF */ + {0x63, 0x9F}, {0x63, 0xA1}, {0x63, 0xA4}, {0x63, 0xA6}, /* 0xF0-0xF3 */ + {0x63, 0xAB}, {0x63, 0xAF}, {0x63, 0xB1}, {0x63, 0xB2}, /* 0xF4-0xF7 */ + {0x63, 0xB5}, {0x63, 0xB6}, {0x63, 0xB9}, {0x63, 0xBB}, /* 0xF8-0xFB */ + {0x63, 0xBD}, {0x63, 0xBF}, {0x63, 0xC0}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_93[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x63, 0xC1}, {0x63, 0xC2}, {0x63, 0xC3}, {0x63, 0xC5}, /* 0x40-0x43 */ + {0x63, 0xC7}, {0x63, 0xC8}, {0x63, 0xCA}, {0x63, 0xCB}, /* 0x44-0x47 */ + {0x63, 0xCC}, {0x63, 0xD1}, {0x63, 0xD3}, {0x63, 0xD4}, /* 0x48-0x4B */ + {0x63, 0xD5}, {0x63, 0xD7}, {0x63, 0xD8}, {0x63, 0xD9}, /* 0x4C-0x4F */ + {0x63, 0xDA}, {0x63, 0xDB}, {0x63, 0xDC}, {0x63, 0xDD}, /* 0x50-0x53 */ + {0x63, 0xDF}, {0x63, 0xE2}, {0x63, 0xE4}, {0x63, 0xE5}, /* 0x54-0x57 */ + {0x63, 0xE6}, {0x63, 0xE7}, {0x63, 0xE8}, {0x63, 0xEB}, /* 0x58-0x5B */ + {0x63, 0xEC}, {0x63, 0xEE}, {0x63, 0xEF}, {0x63, 0xF0}, /* 0x5C-0x5F */ + {0x63, 0xF1}, {0x63, 0xF3}, {0x63, 0xF5}, {0x63, 0xF7}, /* 0x60-0x63 */ + {0x63, 0xF9}, {0x63, 0xFA}, {0x63, 0xFB}, {0x63, 0xFC}, /* 0x64-0x67 */ + {0x63, 0xFE}, {0x64, 0x03}, {0x64, 0x04}, {0x64, 0x06}, /* 0x68-0x6B */ + {0x64, 0x07}, {0x64, 0x08}, {0x64, 0x09}, {0x64, 0x0A}, /* 0x6C-0x6F */ + {0x64, 0x0D}, {0x64, 0x0E}, {0x64, 0x11}, {0x64, 0x12}, /* 0x70-0x73 */ + {0x64, 0x15}, {0x64, 0x16}, {0x64, 0x17}, {0x64, 0x18}, /* 0x74-0x77 */ + {0x64, 0x19}, {0x64, 0x1A}, {0x64, 0x1D}, {0x64, 0x1F}, /* 0x78-0x7B */ + {0x64, 0x22}, {0x64, 0x23}, {0x64, 0x24}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x64, 0x25}, {0x64, 0x27}, {0x64, 0x28}, {0x64, 0x29}, /* 0x80-0x83 */ + {0x64, 0x2B}, {0x64, 0x2E}, {0x64, 0x2F}, {0x64, 0x30}, /* 0x84-0x87 */ + {0x64, 0x31}, {0x64, 0x32}, {0x64, 0x33}, {0x64, 0x35}, /* 0x88-0x8B */ + {0x64, 0x36}, {0x64, 0x37}, {0x64, 0x38}, {0x64, 0x39}, /* 0x8C-0x8F */ + {0x64, 0x3B}, {0x64, 0x3C}, {0x64, 0x3E}, {0x64, 0x40}, /* 0x90-0x93 */ + {0x64, 0x42}, {0x64, 0x43}, {0x64, 0x49}, {0x64, 0x4B}, /* 0x94-0x97 */ + {0x64, 0x4C}, {0x64, 0x4D}, {0x64, 0x4E}, {0x64, 0x4F}, /* 0x98-0x9B */ + {0x64, 0x50}, {0x64, 0x51}, {0x64, 0x53}, {0x64, 0x55}, /* 0x9C-0x9F */ + {0x64, 0x56}, {0x64, 0x57}, {0x64, 0x59}, {0x64, 0x5A}, /* 0xA0-0xA3 */ + {0x64, 0x5B}, {0x64, 0x5C}, {0x64, 0x5D}, {0x64, 0x5F}, /* 0xA4-0xA7 */ + {0x64, 0x60}, {0x64, 0x61}, {0x64, 0x62}, {0x64, 0x63}, /* 0xA8-0xAB */ + {0x64, 0x64}, {0x64, 0x65}, {0x64, 0x66}, {0x64, 0x68}, /* 0xAC-0xAF */ + {0x64, 0x6A}, {0x64, 0x6B}, {0x64, 0x6C}, {0x64, 0x6E}, /* 0xB0-0xB3 */ + {0x64, 0x6F}, {0x64, 0x70}, {0x64, 0x71}, {0x64, 0x72}, /* 0xB4-0xB7 */ + {0x64, 0x73}, {0x64, 0x74}, {0x64, 0x75}, {0x64, 0x76}, /* 0xB8-0xBB */ + {0x64, 0x77}, {0x64, 0x7B}, {0x64, 0x7C}, {0x64, 0x7D}, /* 0xBC-0xBF */ + {0x64, 0x7E}, {0x64, 0x7F}, {0x64, 0x80}, {0x64, 0x81}, /* 0xC0-0xC3 */ + {0x64, 0x83}, {0x64, 0x86}, {0x64, 0x88}, {0x64, 0x89}, /* 0xC4-0xC7 */ + {0x64, 0x8A}, {0x64, 0x8B}, {0x64, 0x8C}, {0x64, 0x8D}, /* 0xC8-0xCB */ + {0x64, 0x8E}, {0x64, 0x8F}, {0x64, 0x90}, {0x64, 0x93}, /* 0xCC-0xCF */ + {0x64, 0x94}, {0x64, 0x97}, {0x64, 0x98}, {0x64, 0x9A}, /* 0xD0-0xD3 */ + {0x64, 0x9B}, {0x64, 0x9C}, {0x64, 0x9D}, {0x64, 0x9F}, /* 0xD4-0xD7 */ + {0x64, 0xA0}, {0x64, 0xA1}, {0x64, 0xA2}, {0x64, 0xA3}, /* 0xD8-0xDB */ + {0x64, 0xA5}, {0x64, 0xA6}, {0x64, 0xA7}, {0x64, 0xA8}, /* 0xDC-0xDF */ + {0x64, 0xAA}, {0x64, 0xAB}, {0x64, 0xAF}, {0x64, 0xB1}, /* 0xE0-0xE3 */ + {0x64, 0xB2}, {0x64, 0xB3}, {0x64, 0xB4}, {0x64, 0xB6}, /* 0xE4-0xE7 */ + {0x64, 0xB9}, {0x64, 0xBB}, {0x64, 0xBD}, {0x64, 0xBE}, /* 0xE8-0xEB */ + {0x64, 0xBF}, {0x64, 0xC1}, {0x64, 0xC3}, {0x64, 0xC4}, /* 0xEC-0xEF */ + {0x64, 0xC6}, {0x64, 0xC7}, {0x64, 0xC8}, {0x64, 0xC9}, /* 0xF0-0xF3 */ + {0x64, 0xCA}, {0x64, 0xCB}, {0x64, 0xCC}, {0x64, 0xCF}, /* 0xF4-0xF7 */ + {0x64, 0xD1}, {0x64, 0xD3}, {0x64, 0xD4}, {0x64, 0xD5}, /* 0xF8-0xFB */ + {0x64, 0xD6}, {0x64, 0xD9}, {0x64, 0xDA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_94[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x64, 0xDB}, {0x64, 0xDC}, {0x64, 0xDD}, {0x64, 0xDF}, /* 0x40-0x43 */ + {0x64, 0xE0}, {0x64, 0xE1}, {0x64, 0xE3}, {0x64, 0xE5}, /* 0x44-0x47 */ + {0x64, 0xE7}, {0x64, 0xE8}, {0x64, 0xE9}, {0x64, 0xEA}, /* 0x48-0x4B */ + {0x64, 0xEB}, {0x64, 0xEC}, {0x64, 0xED}, {0x64, 0xEE}, /* 0x4C-0x4F */ + {0x64, 0xEF}, {0x64, 0xF0}, {0x64, 0xF1}, {0x64, 0xF2}, /* 0x50-0x53 */ + {0x64, 0xF3}, {0x64, 0xF4}, {0x64, 0xF5}, {0x64, 0xF6}, /* 0x54-0x57 */ + {0x64, 0xF7}, {0x64, 0xF8}, {0x64, 0xF9}, {0x64, 0xFA}, /* 0x58-0x5B */ + {0x64, 0xFB}, {0x64, 0xFC}, {0x64, 0xFD}, {0x64, 0xFE}, /* 0x5C-0x5F */ + {0x64, 0xFF}, {0x65, 0x01}, {0x65, 0x02}, {0x65, 0x03}, /* 0x60-0x63 */ + {0x65, 0x04}, {0x65, 0x05}, {0x65, 0x06}, {0x65, 0x07}, /* 0x64-0x67 */ + {0x65, 0x08}, {0x65, 0x0A}, {0x65, 0x0B}, {0x65, 0x0C}, /* 0x68-0x6B */ + {0x65, 0x0D}, {0x65, 0x0E}, {0x65, 0x0F}, {0x65, 0x10}, /* 0x6C-0x6F */ + {0x65, 0x11}, {0x65, 0x13}, {0x65, 0x14}, {0x65, 0x15}, /* 0x70-0x73 */ + {0x65, 0x16}, {0x65, 0x17}, {0x65, 0x19}, {0x65, 0x1A}, /* 0x74-0x77 */ + {0x65, 0x1B}, {0x65, 0x1C}, {0x65, 0x1D}, {0x65, 0x1E}, /* 0x78-0x7B */ + {0x65, 0x1F}, {0x65, 0x20}, {0x65, 0x21}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x65, 0x22}, {0x65, 0x23}, {0x65, 0x24}, {0x65, 0x26}, /* 0x80-0x83 */ + {0x65, 0x27}, {0x65, 0x28}, {0x65, 0x29}, {0x65, 0x2A}, /* 0x84-0x87 */ + {0x65, 0x2C}, {0x65, 0x2D}, {0x65, 0x30}, {0x65, 0x31}, /* 0x88-0x8B */ + {0x65, 0x32}, {0x65, 0x33}, {0x65, 0x37}, {0x65, 0x3A}, /* 0x8C-0x8F */ + {0x65, 0x3C}, {0x65, 0x3D}, {0x65, 0x40}, {0x65, 0x41}, /* 0x90-0x93 */ + {0x65, 0x42}, {0x65, 0x43}, {0x65, 0x44}, {0x65, 0x46}, /* 0x94-0x97 */ + {0x65, 0x47}, {0x65, 0x4A}, {0x65, 0x4B}, {0x65, 0x4D}, /* 0x98-0x9B */ + {0x65, 0x4E}, {0x65, 0x50}, {0x65, 0x52}, {0x65, 0x53}, /* 0x9C-0x9F */ + {0x65, 0x54}, {0x65, 0x57}, {0x65, 0x58}, {0x65, 0x5A}, /* 0xA0-0xA3 */ + {0x65, 0x5C}, {0x65, 0x5F}, {0x65, 0x60}, {0x65, 0x61}, /* 0xA4-0xA7 */ + {0x65, 0x64}, {0x65, 0x65}, {0x65, 0x67}, {0x65, 0x68}, /* 0xA8-0xAB */ + {0x65, 0x69}, {0x65, 0x6A}, {0x65, 0x6D}, {0x65, 0x6E}, /* 0xAC-0xAF */ + {0x65, 0x6F}, {0x65, 0x71}, {0x65, 0x73}, {0x65, 0x75}, /* 0xB0-0xB3 */ + {0x65, 0x76}, {0x65, 0x78}, {0x65, 0x79}, {0x65, 0x7A}, /* 0xB4-0xB7 */ + {0x65, 0x7B}, {0x65, 0x7C}, {0x65, 0x7D}, {0x65, 0x7E}, /* 0xB8-0xBB */ + {0x65, 0x7F}, {0x65, 0x80}, {0x65, 0x81}, {0x65, 0x82}, /* 0xBC-0xBF */ + {0x65, 0x83}, {0x65, 0x84}, {0x65, 0x85}, {0x65, 0x86}, /* 0xC0-0xC3 */ + {0x65, 0x88}, {0x65, 0x89}, {0x65, 0x8A}, {0x65, 0x8D}, /* 0xC4-0xC7 */ + {0x65, 0x8E}, {0x65, 0x8F}, {0x65, 0x92}, {0x65, 0x94}, /* 0xC8-0xCB */ + {0x65, 0x95}, {0x65, 0x96}, {0x65, 0x98}, {0x65, 0x9A}, /* 0xCC-0xCF */ + {0x65, 0x9D}, {0x65, 0x9E}, {0x65, 0xA0}, {0x65, 0xA2}, /* 0xD0-0xD3 */ + {0x65, 0xA3}, {0x65, 0xA6}, {0x65, 0xA8}, {0x65, 0xAA}, /* 0xD4-0xD7 */ + {0x65, 0xAC}, {0x65, 0xAE}, {0x65, 0xB1}, {0x65, 0xB2}, /* 0xD8-0xDB */ + {0x65, 0xB3}, {0x65, 0xB4}, {0x65, 0xB5}, {0x65, 0xB6}, /* 0xDC-0xDF */ + {0x65, 0xB7}, {0x65, 0xB8}, {0x65, 0xBA}, {0x65, 0xBB}, /* 0xE0-0xE3 */ + {0x65, 0xBE}, {0x65, 0xBF}, {0x65, 0xC0}, {0x65, 0xC2}, /* 0xE4-0xE7 */ + {0x65, 0xC7}, {0x65, 0xC8}, {0x65, 0xC9}, {0x65, 0xCA}, /* 0xE8-0xEB */ + {0x65, 0xCD}, {0x65, 0xD0}, {0x65, 0xD1}, {0x65, 0xD3}, /* 0xEC-0xEF */ + {0x65, 0xD4}, {0x65, 0xD5}, {0x65, 0xD8}, {0x65, 0xD9}, /* 0xF0-0xF3 */ + {0x65, 0xDA}, {0x65, 0xDB}, {0x65, 0xDC}, {0x65, 0xDD}, /* 0xF4-0xF7 */ + {0x65, 0xDE}, {0x65, 0xDF}, {0x65, 0xE1}, {0x65, 0xE3}, /* 0xF8-0xFB */ + {0x65, 0xE4}, {0x65, 0xEA}, {0x65, 0xEB}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_95[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x65, 0xF2}, {0x65, 0xF3}, {0x65, 0xF4}, {0x65, 0xF5}, /* 0x40-0x43 */ + {0x65, 0xF8}, {0x65, 0xF9}, {0x65, 0xFB}, {0x65, 0xFC}, /* 0x44-0x47 */ + {0x65, 0xFD}, {0x65, 0xFE}, {0x65, 0xFF}, {0x66, 0x01}, /* 0x48-0x4B */ + {0x66, 0x04}, {0x66, 0x05}, {0x66, 0x07}, {0x66, 0x08}, /* 0x4C-0x4F */ + {0x66, 0x09}, {0x66, 0x0B}, {0x66, 0x0D}, {0x66, 0x10}, /* 0x50-0x53 */ + {0x66, 0x11}, {0x66, 0x12}, {0x66, 0x16}, {0x66, 0x17}, /* 0x54-0x57 */ + {0x66, 0x18}, {0x66, 0x1A}, {0x66, 0x1B}, {0x66, 0x1C}, /* 0x58-0x5B */ + {0x66, 0x1E}, {0x66, 0x21}, {0x66, 0x22}, {0x66, 0x23}, /* 0x5C-0x5F */ + {0x66, 0x24}, {0x66, 0x26}, {0x66, 0x29}, {0x66, 0x2A}, /* 0x60-0x63 */ + {0x66, 0x2B}, {0x66, 0x2C}, {0x66, 0x2E}, {0x66, 0x30}, /* 0x64-0x67 */ + {0x66, 0x32}, {0x66, 0x33}, {0x66, 0x37}, {0x66, 0x38}, /* 0x68-0x6B */ + {0x66, 0x39}, {0x66, 0x3A}, {0x66, 0x3B}, {0x66, 0x3D}, /* 0x6C-0x6F */ + {0x66, 0x3F}, {0x66, 0x40}, {0x66, 0x42}, {0x66, 0x44}, /* 0x70-0x73 */ + {0x66, 0x45}, {0x66, 0x46}, {0x66, 0x47}, {0x66, 0x48}, /* 0x74-0x77 */ + {0x66, 0x49}, {0x66, 0x4A}, {0x66, 0x4D}, {0x66, 0x4E}, /* 0x78-0x7B */ + {0x66, 0x50}, {0x66, 0x51}, {0x66, 0x58}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x66, 0x59}, {0x66, 0x5B}, {0x66, 0x5C}, {0x66, 0x5D}, /* 0x80-0x83 */ + {0x66, 0x5E}, {0x66, 0x60}, {0x66, 0x62}, {0x66, 0x63}, /* 0x84-0x87 */ + {0x66, 0x65}, {0x66, 0x67}, {0x66, 0x69}, {0x66, 0x6A}, /* 0x88-0x8B */ + {0x66, 0x6B}, {0x66, 0x6C}, {0x66, 0x6D}, {0x66, 0x71}, /* 0x8C-0x8F */ + {0x66, 0x72}, {0x66, 0x73}, {0x66, 0x75}, {0x66, 0x78}, /* 0x90-0x93 */ + {0x66, 0x79}, {0x66, 0x7B}, {0x66, 0x7C}, {0x66, 0x7D}, /* 0x94-0x97 */ + {0x66, 0x7F}, {0x66, 0x80}, {0x66, 0x81}, {0x66, 0x83}, /* 0x98-0x9B */ + {0x66, 0x85}, {0x66, 0x86}, {0x66, 0x88}, {0x66, 0x89}, /* 0x9C-0x9F */ + {0x66, 0x8A}, {0x66, 0x8B}, {0x66, 0x8D}, {0x66, 0x8E}, /* 0xA0-0xA3 */ + {0x66, 0x8F}, {0x66, 0x90}, {0x66, 0x92}, {0x66, 0x93}, /* 0xA4-0xA7 */ + {0x66, 0x94}, {0x66, 0x95}, {0x66, 0x98}, {0x66, 0x99}, /* 0xA8-0xAB */ + {0x66, 0x9A}, {0x66, 0x9B}, {0x66, 0x9C}, {0x66, 0x9E}, /* 0xAC-0xAF */ + {0x66, 0x9F}, {0x66, 0xA0}, {0x66, 0xA1}, {0x66, 0xA2}, /* 0xB0-0xB3 */ + {0x66, 0xA3}, {0x66, 0xA4}, {0x66, 0xA5}, {0x66, 0xA6}, /* 0xB4-0xB7 */ + {0x66, 0xA9}, {0x66, 0xAA}, {0x66, 0xAB}, {0x66, 0xAC}, /* 0xB8-0xBB */ + {0x66, 0xAD}, {0x66, 0xAF}, {0x66, 0xB0}, {0x66, 0xB1}, /* 0xBC-0xBF */ + {0x66, 0xB2}, {0x66, 0xB3}, {0x66, 0xB5}, {0x66, 0xB6}, /* 0xC0-0xC3 */ + {0x66, 0xB7}, {0x66, 0xB8}, {0x66, 0xBA}, {0x66, 0xBB}, /* 0xC4-0xC7 */ + {0x66, 0xBC}, {0x66, 0xBD}, {0x66, 0xBF}, {0x66, 0xC0}, /* 0xC8-0xCB */ + {0x66, 0xC1}, {0x66, 0xC2}, {0x66, 0xC3}, {0x66, 0xC4}, /* 0xCC-0xCF */ + {0x66, 0xC5}, {0x66, 0xC6}, {0x66, 0xC7}, {0x66, 0xC8}, /* 0xD0-0xD3 */ + {0x66, 0xC9}, {0x66, 0xCA}, {0x66, 0xCB}, {0x66, 0xCC}, /* 0xD4-0xD7 */ + {0x66, 0xCD}, {0x66, 0xCE}, {0x66, 0xCF}, {0x66, 0xD0}, /* 0xD8-0xDB */ + {0x66, 0xD1}, {0x66, 0xD2}, {0x66, 0xD3}, {0x66, 0xD4}, /* 0xDC-0xDF */ + {0x66, 0xD5}, {0x66, 0xD6}, {0x66, 0xD7}, {0x66, 0xD8}, /* 0xE0-0xE3 */ + {0x66, 0xDA}, {0x66, 0xDE}, {0x66, 0xDF}, {0x66, 0xE0}, /* 0xE4-0xE7 */ + {0x66, 0xE1}, {0x66, 0xE2}, {0x66, 0xE3}, {0x66, 0xE4}, /* 0xE8-0xEB */ + {0x66, 0xE5}, {0x66, 0xE7}, {0x66, 0xE8}, {0x66, 0xEA}, /* 0xEC-0xEF */ + {0x66, 0xEB}, {0x66, 0xEC}, {0x66, 0xED}, {0x66, 0xEE}, /* 0xF0-0xF3 */ + {0x66, 0xEF}, {0x66, 0xF1}, {0x66, 0xF5}, {0x66, 0xF6}, /* 0xF4-0xF7 */ + {0x66, 0xF8}, {0x66, 0xFA}, {0x66, 0xFB}, {0x66, 0xFD}, /* 0xF8-0xFB */ + {0x67, 0x01}, {0x67, 0x02}, {0x67, 0x03}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_96[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x67, 0x04}, {0x67, 0x05}, {0x67, 0x06}, {0x67, 0x07}, /* 0x40-0x43 */ + {0x67, 0x0C}, {0x67, 0x0E}, {0x67, 0x0F}, {0x67, 0x11}, /* 0x44-0x47 */ + {0x67, 0x12}, {0x67, 0x13}, {0x67, 0x16}, {0x67, 0x18}, /* 0x48-0x4B */ + {0x67, 0x19}, {0x67, 0x1A}, {0x67, 0x1C}, {0x67, 0x1E}, /* 0x4C-0x4F */ + {0x67, 0x20}, {0x67, 0x21}, {0x67, 0x22}, {0x67, 0x23}, /* 0x50-0x53 */ + {0x67, 0x24}, {0x67, 0x25}, {0x67, 0x27}, {0x67, 0x29}, /* 0x54-0x57 */ + {0x67, 0x2E}, {0x67, 0x30}, {0x67, 0x32}, {0x67, 0x33}, /* 0x58-0x5B */ + {0x67, 0x36}, {0x67, 0x37}, {0x67, 0x38}, {0x67, 0x39}, /* 0x5C-0x5F */ + {0x67, 0x3B}, {0x67, 0x3C}, {0x67, 0x3E}, {0x67, 0x3F}, /* 0x60-0x63 */ + {0x67, 0x41}, {0x67, 0x44}, {0x67, 0x45}, {0x67, 0x47}, /* 0x64-0x67 */ + {0x67, 0x4A}, {0x67, 0x4B}, {0x67, 0x4D}, {0x67, 0x52}, /* 0x68-0x6B */ + {0x67, 0x54}, {0x67, 0x55}, {0x67, 0x57}, {0x67, 0x58}, /* 0x6C-0x6F */ + {0x67, 0x59}, {0x67, 0x5A}, {0x67, 0x5B}, {0x67, 0x5D}, /* 0x70-0x73 */ + {0x67, 0x62}, {0x67, 0x63}, {0x67, 0x64}, {0x67, 0x66}, /* 0x74-0x77 */ + {0x67, 0x67}, {0x67, 0x6B}, {0x67, 0x6C}, {0x67, 0x6E}, /* 0x78-0x7B */ + {0x67, 0x71}, {0x67, 0x74}, {0x67, 0x76}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x67, 0x78}, {0x67, 0x79}, {0x67, 0x7A}, {0x67, 0x7B}, /* 0x80-0x83 */ + {0x67, 0x7D}, {0x67, 0x80}, {0x67, 0x82}, {0x67, 0x83}, /* 0x84-0x87 */ + {0x67, 0x85}, {0x67, 0x86}, {0x67, 0x88}, {0x67, 0x8A}, /* 0x88-0x8B */ + {0x67, 0x8C}, {0x67, 0x8D}, {0x67, 0x8E}, {0x67, 0x8F}, /* 0x8C-0x8F */ + {0x67, 0x91}, {0x67, 0x92}, {0x67, 0x93}, {0x67, 0x94}, /* 0x90-0x93 */ + {0x67, 0x96}, {0x67, 0x99}, {0x67, 0x9B}, {0x67, 0x9F}, /* 0x94-0x97 */ + {0x67, 0xA0}, {0x67, 0xA1}, {0x67, 0xA4}, {0x67, 0xA6}, /* 0x98-0x9B */ + {0x67, 0xA9}, {0x67, 0xAC}, {0x67, 0xAE}, {0x67, 0xB1}, /* 0x9C-0x9F */ + {0x67, 0xB2}, {0x67, 0xB4}, {0x67, 0xB9}, {0x67, 0xBA}, /* 0xA0-0xA3 */ + {0x67, 0xBB}, {0x67, 0xBC}, {0x67, 0xBD}, {0x67, 0xBE}, /* 0xA4-0xA7 */ + {0x67, 0xBF}, {0x67, 0xC0}, {0x67, 0xC2}, {0x67, 0xC5}, /* 0xA8-0xAB */ + {0x67, 0xC6}, {0x67, 0xC7}, {0x67, 0xC8}, {0x67, 0xC9}, /* 0xAC-0xAF */ + {0x67, 0xCA}, {0x67, 0xCB}, {0x67, 0xCC}, {0x67, 0xCD}, /* 0xB0-0xB3 */ + {0x67, 0xCE}, {0x67, 0xD5}, {0x67, 0xD6}, {0x67, 0xD7}, /* 0xB4-0xB7 */ + {0x67, 0xDB}, {0x67, 0xDF}, {0x67, 0xE1}, {0x67, 0xE3}, /* 0xB8-0xBB */ + {0x67, 0xE4}, {0x67, 0xE6}, {0x67, 0xE7}, {0x67, 0xE8}, /* 0xBC-0xBF */ + {0x67, 0xEA}, {0x67, 0xEB}, {0x67, 0xED}, {0x67, 0xEE}, /* 0xC0-0xC3 */ + {0x67, 0xF2}, {0x67, 0xF5}, {0x67, 0xF6}, {0x67, 0xF7}, /* 0xC4-0xC7 */ + {0x67, 0xF8}, {0x67, 0xF9}, {0x67, 0xFA}, {0x67, 0xFB}, /* 0xC8-0xCB */ + {0x67, 0xFC}, {0x67, 0xFE}, {0x68, 0x01}, {0x68, 0x02}, /* 0xCC-0xCF */ + {0x68, 0x03}, {0x68, 0x04}, {0x68, 0x06}, {0x68, 0x0D}, /* 0xD0-0xD3 */ + {0x68, 0x10}, {0x68, 0x12}, {0x68, 0x14}, {0x68, 0x15}, /* 0xD4-0xD7 */ + {0x68, 0x18}, {0x68, 0x19}, {0x68, 0x1A}, {0x68, 0x1B}, /* 0xD8-0xDB */ + {0x68, 0x1C}, {0x68, 0x1E}, {0x68, 0x1F}, {0x68, 0x20}, /* 0xDC-0xDF */ + {0x68, 0x22}, {0x68, 0x23}, {0x68, 0x24}, {0x68, 0x25}, /* 0xE0-0xE3 */ + {0x68, 0x26}, {0x68, 0x27}, {0x68, 0x28}, {0x68, 0x2B}, /* 0xE4-0xE7 */ + {0x68, 0x2C}, {0x68, 0x2D}, {0x68, 0x2E}, {0x68, 0x2F}, /* 0xE8-0xEB */ + {0x68, 0x30}, {0x68, 0x31}, {0x68, 0x34}, {0x68, 0x35}, /* 0xEC-0xEF */ + {0x68, 0x36}, {0x68, 0x3A}, {0x68, 0x3B}, {0x68, 0x3F}, /* 0xF0-0xF3 */ + {0x68, 0x47}, {0x68, 0x4B}, {0x68, 0x4D}, {0x68, 0x4F}, /* 0xF4-0xF7 */ + {0x68, 0x52}, {0x68, 0x56}, {0x68, 0x57}, {0x68, 0x58}, /* 0xF8-0xFB */ + {0x68, 0x59}, {0x68, 0x5A}, {0x68, 0x5B}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_97[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x68, 0x5C}, {0x68, 0x5D}, {0x68, 0x5E}, {0x68, 0x5F}, /* 0x40-0x43 */ + {0x68, 0x6A}, {0x68, 0x6C}, {0x68, 0x6D}, {0x68, 0x6E}, /* 0x44-0x47 */ + {0x68, 0x6F}, {0x68, 0x70}, {0x68, 0x71}, {0x68, 0x72}, /* 0x48-0x4B */ + {0x68, 0x73}, {0x68, 0x75}, {0x68, 0x78}, {0x68, 0x79}, /* 0x4C-0x4F */ + {0x68, 0x7A}, {0x68, 0x7B}, {0x68, 0x7C}, {0x68, 0x7D}, /* 0x50-0x53 */ + {0x68, 0x7E}, {0x68, 0x7F}, {0x68, 0x80}, {0x68, 0x82}, /* 0x54-0x57 */ + {0x68, 0x84}, {0x68, 0x87}, {0x68, 0x88}, {0x68, 0x89}, /* 0x58-0x5B */ + {0x68, 0x8A}, {0x68, 0x8B}, {0x68, 0x8C}, {0x68, 0x8D}, /* 0x5C-0x5F */ + {0x68, 0x8E}, {0x68, 0x90}, {0x68, 0x91}, {0x68, 0x92}, /* 0x60-0x63 */ + {0x68, 0x94}, {0x68, 0x95}, {0x68, 0x96}, {0x68, 0x98}, /* 0x64-0x67 */ + {0x68, 0x99}, {0x68, 0x9A}, {0x68, 0x9B}, {0x68, 0x9C}, /* 0x68-0x6B */ + {0x68, 0x9D}, {0x68, 0x9E}, {0x68, 0x9F}, {0x68, 0xA0}, /* 0x6C-0x6F */ + {0x68, 0xA1}, {0x68, 0xA3}, {0x68, 0xA4}, {0x68, 0xA5}, /* 0x70-0x73 */ + {0x68, 0xA9}, {0x68, 0xAA}, {0x68, 0xAB}, {0x68, 0xAC}, /* 0x74-0x77 */ + {0x68, 0xAE}, {0x68, 0xB1}, {0x68, 0xB2}, {0x68, 0xB4}, /* 0x78-0x7B */ + {0x68, 0xB6}, {0x68, 0xB7}, {0x68, 0xB8}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x68, 0xB9}, {0x68, 0xBA}, {0x68, 0xBB}, {0x68, 0xBC}, /* 0x80-0x83 */ + {0x68, 0xBD}, {0x68, 0xBE}, {0x68, 0xBF}, {0x68, 0xC1}, /* 0x84-0x87 */ + {0x68, 0xC3}, {0x68, 0xC4}, {0x68, 0xC5}, {0x68, 0xC6}, /* 0x88-0x8B */ + {0x68, 0xC7}, {0x68, 0xC8}, {0x68, 0xCA}, {0x68, 0xCC}, /* 0x8C-0x8F */ + {0x68, 0xCE}, {0x68, 0xCF}, {0x68, 0xD0}, {0x68, 0xD1}, /* 0x90-0x93 */ + {0x68, 0xD3}, {0x68, 0xD4}, {0x68, 0xD6}, {0x68, 0xD7}, /* 0x94-0x97 */ + {0x68, 0xD9}, {0x68, 0xDB}, {0x68, 0xDC}, {0x68, 0xDD}, /* 0x98-0x9B */ + {0x68, 0xDE}, {0x68, 0xDF}, {0x68, 0xE1}, {0x68, 0xE2}, /* 0x9C-0x9F */ + {0x68, 0xE4}, {0x68, 0xE5}, {0x68, 0xE6}, {0x68, 0xE7}, /* 0xA0-0xA3 */ + {0x68, 0xE8}, {0x68, 0xE9}, {0x68, 0xEA}, {0x68, 0xEB}, /* 0xA4-0xA7 */ + {0x68, 0xEC}, {0x68, 0xED}, {0x68, 0xEF}, {0x68, 0xF2}, /* 0xA8-0xAB */ + {0x68, 0xF3}, {0x68, 0xF4}, {0x68, 0xF6}, {0x68, 0xF7}, /* 0xAC-0xAF */ + {0x68, 0xF8}, {0x68, 0xFB}, {0x68, 0xFD}, {0x68, 0xFE}, /* 0xB0-0xB3 */ + {0x68, 0xFF}, {0x69, 0x00}, {0x69, 0x02}, {0x69, 0x03}, /* 0xB4-0xB7 */ + {0x69, 0x04}, {0x69, 0x06}, {0x69, 0x07}, {0x69, 0x08}, /* 0xB8-0xBB */ + {0x69, 0x09}, {0x69, 0x0A}, {0x69, 0x0C}, {0x69, 0x0F}, /* 0xBC-0xBF */ + {0x69, 0x11}, {0x69, 0x13}, {0x69, 0x14}, {0x69, 0x15}, /* 0xC0-0xC3 */ + {0x69, 0x16}, {0x69, 0x17}, {0x69, 0x18}, {0x69, 0x19}, /* 0xC4-0xC7 */ + {0x69, 0x1A}, {0x69, 0x1B}, {0x69, 0x1C}, {0x69, 0x1D}, /* 0xC8-0xCB */ + {0x69, 0x1E}, {0x69, 0x21}, {0x69, 0x22}, {0x69, 0x23}, /* 0xCC-0xCF */ + {0x69, 0x25}, {0x69, 0x26}, {0x69, 0x27}, {0x69, 0x28}, /* 0xD0-0xD3 */ + {0x69, 0x29}, {0x69, 0x2A}, {0x69, 0x2B}, {0x69, 0x2C}, /* 0xD4-0xD7 */ + {0x69, 0x2E}, {0x69, 0x2F}, {0x69, 0x31}, {0x69, 0x32}, /* 0xD8-0xDB */ + {0x69, 0x33}, {0x69, 0x35}, {0x69, 0x36}, {0x69, 0x37}, /* 0xDC-0xDF */ + {0x69, 0x38}, {0x69, 0x3A}, {0x69, 0x3B}, {0x69, 0x3C}, /* 0xE0-0xE3 */ + {0x69, 0x3E}, {0x69, 0x40}, {0x69, 0x41}, {0x69, 0x43}, /* 0xE4-0xE7 */ + {0x69, 0x44}, {0x69, 0x45}, {0x69, 0x46}, {0x69, 0x47}, /* 0xE8-0xEB */ + {0x69, 0x48}, {0x69, 0x49}, {0x69, 0x4A}, {0x69, 0x4B}, /* 0xEC-0xEF */ + {0x69, 0x4C}, {0x69, 0x4D}, {0x69, 0x4E}, {0x69, 0x4F}, /* 0xF0-0xF3 */ + {0x69, 0x50}, {0x69, 0x51}, {0x69, 0x52}, {0x69, 0x53}, /* 0xF4-0xF7 */ + {0x69, 0x55}, {0x69, 0x56}, {0x69, 0x58}, {0x69, 0x59}, /* 0xF8-0xFB */ + {0x69, 0x5B}, {0x69, 0x5C}, {0x69, 0x5F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_98[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x69, 0x61}, {0x69, 0x62}, {0x69, 0x64}, {0x69, 0x65}, /* 0x40-0x43 */ + {0x69, 0x67}, {0x69, 0x68}, {0x69, 0x69}, {0x69, 0x6A}, /* 0x44-0x47 */ + {0x69, 0x6C}, {0x69, 0x6D}, {0x69, 0x6F}, {0x69, 0x70}, /* 0x48-0x4B */ + {0x69, 0x72}, {0x69, 0x73}, {0x69, 0x74}, {0x69, 0x75}, /* 0x4C-0x4F */ + {0x69, 0x76}, {0x69, 0x7A}, {0x69, 0x7B}, {0x69, 0x7D}, /* 0x50-0x53 */ + {0x69, 0x7E}, {0x69, 0x7F}, {0x69, 0x81}, {0x69, 0x83}, /* 0x54-0x57 */ + {0x69, 0x85}, {0x69, 0x8A}, {0x69, 0x8B}, {0x69, 0x8C}, /* 0x58-0x5B */ + {0x69, 0x8E}, {0x69, 0x8F}, {0x69, 0x90}, {0x69, 0x91}, /* 0x5C-0x5F */ + {0x69, 0x92}, {0x69, 0x93}, {0x69, 0x96}, {0x69, 0x97}, /* 0x60-0x63 */ + {0x69, 0x99}, {0x69, 0x9A}, {0x69, 0x9D}, {0x69, 0x9E}, /* 0x64-0x67 */ + {0x69, 0x9F}, {0x69, 0xA0}, {0x69, 0xA1}, {0x69, 0xA2}, /* 0x68-0x6B */ + {0x69, 0xA3}, {0x69, 0xA4}, {0x69, 0xA5}, {0x69, 0xA6}, /* 0x6C-0x6F */ + {0x69, 0xA9}, {0x69, 0xAA}, {0x69, 0xAC}, {0x69, 0xAE}, /* 0x70-0x73 */ + {0x69, 0xAF}, {0x69, 0xB0}, {0x69, 0xB2}, {0x69, 0xB3}, /* 0x74-0x77 */ + {0x69, 0xB5}, {0x69, 0xB6}, {0x69, 0xB8}, {0x69, 0xB9}, /* 0x78-0x7B */ + {0x69, 0xBA}, {0x69, 0xBC}, {0x69, 0xBD}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x69, 0xBE}, {0x69, 0xBF}, {0x69, 0xC0}, {0x69, 0xC2}, /* 0x80-0x83 */ + {0x69, 0xC3}, {0x69, 0xC4}, {0x69, 0xC5}, {0x69, 0xC6}, /* 0x84-0x87 */ + {0x69, 0xC7}, {0x69, 0xC8}, {0x69, 0xC9}, {0x69, 0xCB}, /* 0x88-0x8B */ + {0x69, 0xCD}, {0x69, 0xCF}, {0x69, 0xD1}, {0x69, 0xD2}, /* 0x8C-0x8F */ + {0x69, 0xD3}, {0x69, 0xD5}, {0x69, 0xD6}, {0x69, 0xD7}, /* 0x90-0x93 */ + {0x69, 0xD8}, {0x69, 0xD9}, {0x69, 0xDA}, {0x69, 0xDC}, /* 0x94-0x97 */ + {0x69, 0xDD}, {0x69, 0xDE}, {0x69, 0xE1}, {0x69, 0xE2}, /* 0x98-0x9B */ + {0x69, 0xE3}, {0x69, 0xE4}, {0x69, 0xE5}, {0x69, 0xE6}, /* 0x9C-0x9F */ + {0x69, 0xE7}, {0x69, 0xE8}, {0x69, 0xE9}, {0x69, 0xEA}, /* 0xA0-0xA3 */ + {0x69, 0xEB}, {0x69, 0xEC}, {0x69, 0xEE}, {0x69, 0xEF}, /* 0xA4-0xA7 */ + {0x69, 0xF0}, {0x69, 0xF1}, {0x69, 0xF3}, {0x69, 0xF4}, /* 0xA8-0xAB */ + {0x69, 0xF5}, {0x69, 0xF6}, {0x69, 0xF7}, {0x69, 0xF8}, /* 0xAC-0xAF */ + {0x69, 0xF9}, {0x69, 0xFA}, {0x69, 0xFB}, {0x69, 0xFC}, /* 0xB0-0xB3 */ + {0x69, 0xFE}, {0x6A, 0x00}, {0x6A, 0x01}, {0x6A, 0x02}, /* 0xB4-0xB7 */ + {0x6A, 0x03}, {0x6A, 0x04}, {0x6A, 0x05}, {0x6A, 0x06}, /* 0xB8-0xBB */ + {0x6A, 0x07}, {0x6A, 0x08}, {0x6A, 0x09}, {0x6A, 0x0B}, /* 0xBC-0xBF */ + {0x6A, 0x0C}, {0x6A, 0x0D}, {0x6A, 0x0E}, {0x6A, 0x0F}, /* 0xC0-0xC3 */ + {0x6A, 0x10}, {0x6A, 0x11}, {0x6A, 0x12}, {0x6A, 0x13}, /* 0xC4-0xC7 */ + {0x6A, 0x14}, {0x6A, 0x15}, {0x6A, 0x16}, {0x6A, 0x19}, /* 0xC8-0xCB */ + {0x6A, 0x1A}, {0x6A, 0x1B}, {0x6A, 0x1C}, {0x6A, 0x1D}, /* 0xCC-0xCF */ + {0x6A, 0x1E}, {0x6A, 0x20}, {0x6A, 0x22}, {0x6A, 0x23}, /* 0xD0-0xD3 */ + {0x6A, 0x24}, {0x6A, 0x25}, {0x6A, 0x26}, {0x6A, 0x27}, /* 0xD4-0xD7 */ + {0x6A, 0x29}, {0x6A, 0x2B}, {0x6A, 0x2C}, {0x6A, 0x2D}, /* 0xD8-0xDB */ + {0x6A, 0x2E}, {0x6A, 0x30}, {0x6A, 0x32}, {0x6A, 0x33}, /* 0xDC-0xDF */ + {0x6A, 0x34}, {0x6A, 0x36}, {0x6A, 0x37}, {0x6A, 0x38}, /* 0xE0-0xE3 */ + {0x6A, 0x39}, {0x6A, 0x3A}, {0x6A, 0x3B}, {0x6A, 0x3C}, /* 0xE4-0xE7 */ + {0x6A, 0x3F}, {0x6A, 0x40}, {0x6A, 0x41}, {0x6A, 0x42}, /* 0xE8-0xEB */ + {0x6A, 0x43}, {0x6A, 0x45}, {0x6A, 0x46}, {0x6A, 0x48}, /* 0xEC-0xEF */ + {0x6A, 0x49}, {0x6A, 0x4A}, {0x6A, 0x4B}, {0x6A, 0x4C}, /* 0xF0-0xF3 */ + {0x6A, 0x4D}, {0x6A, 0x4E}, {0x6A, 0x4F}, {0x6A, 0x51}, /* 0xF4-0xF7 */ + {0x6A, 0x52}, {0x6A, 0x53}, {0x6A, 0x54}, {0x6A, 0x55}, /* 0xF8-0xFB */ + {0x6A, 0x56}, {0x6A, 0x57}, {0x6A, 0x5A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_99[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6A, 0x5C}, {0x6A, 0x5D}, {0x6A, 0x5E}, {0x6A, 0x5F}, /* 0x40-0x43 */ + {0x6A, 0x60}, {0x6A, 0x62}, {0x6A, 0x63}, {0x6A, 0x64}, /* 0x44-0x47 */ + {0x6A, 0x66}, {0x6A, 0x67}, {0x6A, 0x68}, {0x6A, 0x69}, /* 0x48-0x4B */ + {0x6A, 0x6A}, {0x6A, 0x6B}, {0x6A, 0x6C}, {0x6A, 0x6D}, /* 0x4C-0x4F */ + {0x6A, 0x6E}, {0x6A, 0x6F}, {0x6A, 0x70}, {0x6A, 0x72}, /* 0x50-0x53 */ + {0x6A, 0x73}, {0x6A, 0x74}, {0x6A, 0x75}, {0x6A, 0x76}, /* 0x54-0x57 */ + {0x6A, 0x77}, {0x6A, 0x78}, {0x6A, 0x7A}, {0x6A, 0x7B}, /* 0x58-0x5B */ + {0x6A, 0x7D}, {0x6A, 0x7E}, {0x6A, 0x7F}, {0x6A, 0x81}, /* 0x5C-0x5F */ + {0x6A, 0x82}, {0x6A, 0x83}, {0x6A, 0x85}, {0x6A, 0x86}, /* 0x60-0x63 */ + {0x6A, 0x87}, {0x6A, 0x88}, {0x6A, 0x89}, {0x6A, 0x8A}, /* 0x64-0x67 */ + {0x6A, 0x8B}, {0x6A, 0x8C}, {0x6A, 0x8D}, {0x6A, 0x8F}, /* 0x68-0x6B */ + {0x6A, 0x92}, {0x6A, 0x93}, {0x6A, 0x94}, {0x6A, 0x95}, /* 0x6C-0x6F */ + {0x6A, 0x96}, {0x6A, 0x98}, {0x6A, 0x99}, {0x6A, 0x9A}, /* 0x70-0x73 */ + {0x6A, 0x9B}, {0x6A, 0x9C}, {0x6A, 0x9D}, {0x6A, 0x9E}, /* 0x74-0x77 */ + {0x6A, 0x9F}, {0x6A, 0xA1}, {0x6A, 0xA2}, {0x6A, 0xA3}, /* 0x78-0x7B */ + {0x6A, 0xA4}, {0x6A, 0xA5}, {0x6A, 0xA6}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x6A, 0xA7}, {0x6A, 0xA8}, {0x6A, 0xAA}, {0x6A, 0xAD}, /* 0x80-0x83 */ + {0x6A, 0xAE}, {0x6A, 0xAF}, {0x6A, 0xB0}, {0x6A, 0xB1}, /* 0x84-0x87 */ + {0x6A, 0xB2}, {0x6A, 0xB3}, {0x6A, 0xB4}, {0x6A, 0xB5}, /* 0x88-0x8B */ + {0x6A, 0xB6}, {0x6A, 0xB7}, {0x6A, 0xB8}, {0x6A, 0xB9}, /* 0x8C-0x8F */ + {0x6A, 0xBA}, {0x6A, 0xBB}, {0x6A, 0xBC}, {0x6A, 0xBD}, /* 0x90-0x93 */ + {0x6A, 0xBE}, {0x6A, 0xBF}, {0x6A, 0xC0}, {0x6A, 0xC1}, /* 0x94-0x97 */ + {0x6A, 0xC2}, {0x6A, 0xC3}, {0x6A, 0xC4}, {0x6A, 0xC5}, /* 0x98-0x9B */ + {0x6A, 0xC6}, {0x6A, 0xC7}, {0x6A, 0xC8}, {0x6A, 0xC9}, /* 0x9C-0x9F */ + {0x6A, 0xCA}, {0x6A, 0xCB}, {0x6A, 0xCC}, {0x6A, 0xCD}, /* 0xA0-0xA3 */ + {0x6A, 0xCE}, {0x6A, 0xCF}, {0x6A, 0xD0}, {0x6A, 0xD1}, /* 0xA4-0xA7 */ + {0x6A, 0xD2}, {0x6A, 0xD3}, {0x6A, 0xD4}, {0x6A, 0xD5}, /* 0xA8-0xAB */ + {0x6A, 0xD6}, {0x6A, 0xD7}, {0x6A, 0xD8}, {0x6A, 0xD9}, /* 0xAC-0xAF */ + {0x6A, 0xDA}, {0x6A, 0xDB}, {0x6A, 0xDC}, {0x6A, 0xDD}, /* 0xB0-0xB3 */ + {0x6A, 0xDE}, {0x6A, 0xDF}, {0x6A, 0xE0}, {0x6A, 0xE1}, /* 0xB4-0xB7 */ + {0x6A, 0xE2}, {0x6A, 0xE3}, {0x6A, 0xE4}, {0x6A, 0xE5}, /* 0xB8-0xBB */ + {0x6A, 0xE6}, {0x6A, 0xE7}, {0x6A, 0xE8}, {0x6A, 0xE9}, /* 0xBC-0xBF */ + {0x6A, 0xEA}, {0x6A, 0xEB}, {0x6A, 0xEC}, {0x6A, 0xED}, /* 0xC0-0xC3 */ + {0x6A, 0xEE}, {0x6A, 0xEF}, {0x6A, 0xF0}, {0x6A, 0xF1}, /* 0xC4-0xC7 */ + {0x6A, 0xF2}, {0x6A, 0xF3}, {0x6A, 0xF4}, {0x6A, 0xF5}, /* 0xC8-0xCB */ + {0x6A, 0xF6}, {0x6A, 0xF7}, {0x6A, 0xF8}, {0x6A, 0xF9}, /* 0xCC-0xCF */ + {0x6A, 0xFA}, {0x6A, 0xFB}, {0x6A, 0xFC}, {0x6A, 0xFD}, /* 0xD0-0xD3 */ + {0x6A, 0xFE}, {0x6A, 0xFF}, {0x6B, 0x00}, {0x6B, 0x01}, /* 0xD4-0xD7 */ + {0x6B, 0x02}, {0x6B, 0x03}, {0x6B, 0x04}, {0x6B, 0x05}, /* 0xD8-0xDB */ + {0x6B, 0x06}, {0x6B, 0x07}, {0x6B, 0x08}, {0x6B, 0x09}, /* 0xDC-0xDF */ + {0x6B, 0x0A}, {0x6B, 0x0B}, {0x6B, 0x0C}, {0x6B, 0x0D}, /* 0xE0-0xE3 */ + {0x6B, 0x0E}, {0x6B, 0x0F}, {0x6B, 0x10}, {0x6B, 0x11}, /* 0xE4-0xE7 */ + {0x6B, 0x12}, {0x6B, 0x13}, {0x6B, 0x14}, {0x6B, 0x15}, /* 0xE8-0xEB */ + {0x6B, 0x16}, {0x6B, 0x17}, {0x6B, 0x18}, {0x6B, 0x19}, /* 0xEC-0xEF */ + {0x6B, 0x1A}, {0x6B, 0x1B}, {0x6B, 0x1C}, {0x6B, 0x1D}, /* 0xF0-0xF3 */ + {0x6B, 0x1E}, {0x6B, 0x1F}, {0x6B, 0x25}, {0x6B, 0x26}, /* 0xF4-0xF7 */ + {0x6B, 0x28}, {0x6B, 0x29}, {0x6B, 0x2A}, {0x6B, 0x2B}, /* 0xF8-0xFB */ + {0x6B, 0x2C}, {0x6B, 0x2D}, {0x6B, 0x2E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9A[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6B, 0x2F}, {0x6B, 0x30}, {0x6B, 0x31}, {0x6B, 0x33}, /* 0x40-0x43 */ + {0x6B, 0x34}, {0x6B, 0x35}, {0x6B, 0x36}, {0x6B, 0x38}, /* 0x44-0x47 */ + {0x6B, 0x3B}, {0x6B, 0x3C}, {0x6B, 0x3D}, {0x6B, 0x3F}, /* 0x48-0x4B */ + {0x6B, 0x40}, {0x6B, 0x41}, {0x6B, 0x42}, {0x6B, 0x44}, /* 0x4C-0x4F */ + {0x6B, 0x45}, {0x6B, 0x48}, {0x6B, 0x4A}, {0x6B, 0x4B}, /* 0x50-0x53 */ + {0x6B, 0x4D}, {0x6B, 0x4E}, {0x6B, 0x4F}, {0x6B, 0x50}, /* 0x54-0x57 */ + {0x6B, 0x51}, {0x6B, 0x52}, {0x6B, 0x53}, {0x6B, 0x54}, /* 0x58-0x5B */ + {0x6B, 0x55}, {0x6B, 0x56}, {0x6B, 0x57}, {0x6B, 0x58}, /* 0x5C-0x5F */ + {0x6B, 0x5A}, {0x6B, 0x5B}, {0x6B, 0x5C}, {0x6B, 0x5D}, /* 0x60-0x63 */ + {0x6B, 0x5E}, {0x6B, 0x5F}, {0x6B, 0x60}, {0x6B, 0x61}, /* 0x64-0x67 */ + {0x6B, 0x68}, {0x6B, 0x69}, {0x6B, 0x6B}, {0x6B, 0x6C}, /* 0x68-0x6B */ + {0x6B, 0x6D}, {0x6B, 0x6E}, {0x6B, 0x6F}, {0x6B, 0x70}, /* 0x6C-0x6F */ + {0x6B, 0x71}, {0x6B, 0x72}, {0x6B, 0x73}, {0x6B, 0x74}, /* 0x70-0x73 */ + {0x6B, 0x75}, {0x6B, 0x76}, {0x6B, 0x77}, {0x6B, 0x78}, /* 0x74-0x77 */ + {0x6B, 0x7A}, {0x6B, 0x7D}, {0x6B, 0x7E}, {0x6B, 0x7F}, /* 0x78-0x7B */ + {0x6B, 0x80}, {0x6B, 0x85}, {0x6B, 0x88}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x6B, 0x8C}, {0x6B, 0x8E}, {0x6B, 0x8F}, {0x6B, 0x90}, /* 0x80-0x83 */ + {0x6B, 0x91}, {0x6B, 0x94}, {0x6B, 0x95}, {0x6B, 0x97}, /* 0x84-0x87 */ + {0x6B, 0x98}, {0x6B, 0x99}, {0x6B, 0x9C}, {0x6B, 0x9D}, /* 0x88-0x8B */ + {0x6B, 0x9E}, {0x6B, 0x9F}, {0x6B, 0xA0}, {0x6B, 0xA2}, /* 0x8C-0x8F */ + {0x6B, 0xA3}, {0x6B, 0xA4}, {0x6B, 0xA5}, {0x6B, 0xA6}, /* 0x90-0x93 */ + {0x6B, 0xA7}, {0x6B, 0xA8}, {0x6B, 0xA9}, {0x6B, 0xAB}, /* 0x94-0x97 */ + {0x6B, 0xAC}, {0x6B, 0xAD}, {0x6B, 0xAE}, {0x6B, 0xAF}, /* 0x98-0x9B */ + {0x6B, 0xB0}, {0x6B, 0xB1}, {0x6B, 0xB2}, {0x6B, 0xB6}, /* 0x9C-0x9F */ + {0x6B, 0xB8}, {0x6B, 0xB9}, {0x6B, 0xBA}, {0x6B, 0xBB}, /* 0xA0-0xA3 */ + {0x6B, 0xBC}, {0x6B, 0xBD}, {0x6B, 0xBE}, {0x6B, 0xC0}, /* 0xA4-0xA7 */ + {0x6B, 0xC3}, {0x6B, 0xC4}, {0x6B, 0xC6}, {0x6B, 0xC7}, /* 0xA8-0xAB */ + {0x6B, 0xC8}, {0x6B, 0xC9}, {0x6B, 0xCA}, {0x6B, 0xCC}, /* 0xAC-0xAF */ + {0x6B, 0xCE}, {0x6B, 0xD0}, {0x6B, 0xD1}, {0x6B, 0xD8}, /* 0xB0-0xB3 */ + {0x6B, 0xDA}, {0x6B, 0xDC}, {0x6B, 0xDD}, {0x6B, 0xDE}, /* 0xB4-0xB7 */ + {0x6B, 0xDF}, {0x6B, 0xE0}, {0x6B, 0xE2}, {0x6B, 0xE3}, /* 0xB8-0xBB */ + {0x6B, 0xE4}, {0x6B, 0xE5}, {0x6B, 0xE6}, {0x6B, 0xE7}, /* 0xBC-0xBF */ + {0x6B, 0xE8}, {0x6B, 0xE9}, {0x6B, 0xEC}, {0x6B, 0xED}, /* 0xC0-0xC3 */ + {0x6B, 0xEE}, {0x6B, 0xF0}, {0x6B, 0xF1}, {0x6B, 0xF2}, /* 0xC4-0xC7 */ + {0x6B, 0xF4}, {0x6B, 0xF6}, {0x6B, 0xF7}, {0x6B, 0xF8}, /* 0xC8-0xCB */ + {0x6B, 0xFA}, {0x6B, 0xFB}, {0x6B, 0xFC}, {0x6B, 0xFE}, /* 0xCC-0xCF */ + {0x6B, 0xFF}, {0x6C, 0x00}, {0x6C, 0x01}, {0x6C, 0x02}, /* 0xD0-0xD3 */ + {0x6C, 0x03}, {0x6C, 0x04}, {0x6C, 0x08}, {0x6C, 0x09}, /* 0xD4-0xD7 */ + {0x6C, 0x0A}, {0x6C, 0x0B}, {0x6C, 0x0C}, {0x6C, 0x0E}, /* 0xD8-0xDB */ + {0x6C, 0x12}, {0x6C, 0x17}, {0x6C, 0x1C}, {0x6C, 0x1D}, /* 0xDC-0xDF */ + {0x6C, 0x1E}, {0x6C, 0x20}, {0x6C, 0x23}, {0x6C, 0x25}, /* 0xE0-0xE3 */ + {0x6C, 0x2B}, {0x6C, 0x2C}, {0x6C, 0x2D}, {0x6C, 0x31}, /* 0xE4-0xE7 */ + {0x6C, 0x33}, {0x6C, 0x36}, {0x6C, 0x37}, {0x6C, 0x39}, /* 0xE8-0xEB */ + {0x6C, 0x3A}, {0x6C, 0x3B}, {0x6C, 0x3C}, {0x6C, 0x3E}, /* 0xEC-0xEF */ + {0x6C, 0x3F}, {0x6C, 0x43}, {0x6C, 0x44}, {0x6C, 0x45}, /* 0xF0-0xF3 */ + {0x6C, 0x48}, {0x6C, 0x4B}, {0x6C, 0x4C}, {0x6C, 0x4D}, /* 0xF4-0xF7 */ + {0x6C, 0x4E}, {0x6C, 0x4F}, {0x6C, 0x51}, {0x6C, 0x52}, /* 0xF8-0xFB */ + {0x6C, 0x53}, {0x6C, 0x56}, {0x6C, 0x58}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9B[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6C, 0x59}, {0x6C, 0x5A}, {0x6C, 0x62}, {0x6C, 0x63}, /* 0x40-0x43 */ + {0x6C, 0x65}, {0x6C, 0x66}, {0x6C, 0x67}, {0x6C, 0x6B}, /* 0x44-0x47 */ + {0x6C, 0x6C}, {0x6C, 0x6D}, {0x6C, 0x6E}, {0x6C, 0x6F}, /* 0x48-0x4B */ + {0x6C, 0x71}, {0x6C, 0x73}, {0x6C, 0x75}, {0x6C, 0x77}, /* 0x4C-0x4F */ + {0x6C, 0x78}, {0x6C, 0x7A}, {0x6C, 0x7B}, {0x6C, 0x7C}, /* 0x50-0x53 */ + {0x6C, 0x7F}, {0x6C, 0x80}, {0x6C, 0x84}, {0x6C, 0x87}, /* 0x54-0x57 */ + {0x6C, 0x8A}, {0x6C, 0x8B}, {0x6C, 0x8D}, {0x6C, 0x8E}, /* 0x58-0x5B */ + {0x6C, 0x91}, {0x6C, 0x92}, {0x6C, 0x95}, {0x6C, 0x96}, /* 0x5C-0x5F */ + {0x6C, 0x97}, {0x6C, 0x98}, {0x6C, 0x9A}, {0x6C, 0x9C}, /* 0x60-0x63 */ + {0x6C, 0x9D}, {0x6C, 0x9E}, {0x6C, 0xA0}, {0x6C, 0xA2}, /* 0x64-0x67 */ + {0x6C, 0xA8}, {0x6C, 0xAC}, {0x6C, 0xAF}, {0x6C, 0xB0}, /* 0x68-0x6B */ + {0x6C, 0xB4}, {0x6C, 0xB5}, {0x6C, 0xB6}, {0x6C, 0xB7}, /* 0x6C-0x6F */ + {0x6C, 0xBA}, {0x6C, 0xC0}, {0x6C, 0xC1}, {0x6C, 0xC2}, /* 0x70-0x73 */ + {0x6C, 0xC3}, {0x6C, 0xC6}, {0x6C, 0xC7}, {0x6C, 0xC8}, /* 0x74-0x77 */ + {0x6C, 0xCB}, {0x6C, 0xCD}, {0x6C, 0xCE}, {0x6C, 0xCF}, /* 0x78-0x7B */ + {0x6C, 0xD1}, {0x6C, 0xD2}, {0x6C, 0xD8}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x6C, 0xD9}, {0x6C, 0xDA}, {0x6C, 0xDC}, {0x6C, 0xDD}, /* 0x80-0x83 */ + {0x6C, 0xDF}, {0x6C, 0xE4}, {0x6C, 0xE6}, {0x6C, 0xE7}, /* 0x84-0x87 */ + {0x6C, 0xE9}, {0x6C, 0xEC}, {0x6C, 0xED}, {0x6C, 0xF2}, /* 0x88-0x8B */ + {0x6C, 0xF4}, {0x6C, 0xF9}, {0x6C, 0xFF}, {0x6D, 0x00}, /* 0x8C-0x8F */ + {0x6D, 0x02}, {0x6D, 0x03}, {0x6D, 0x05}, {0x6D, 0x06}, /* 0x90-0x93 */ + {0x6D, 0x08}, {0x6D, 0x09}, {0x6D, 0x0A}, {0x6D, 0x0D}, /* 0x94-0x97 */ + {0x6D, 0x0F}, {0x6D, 0x10}, {0x6D, 0x11}, {0x6D, 0x13}, /* 0x98-0x9B */ + {0x6D, 0x14}, {0x6D, 0x15}, {0x6D, 0x16}, {0x6D, 0x18}, /* 0x9C-0x9F */ + {0x6D, 0x1C}, {0x6D, 0x1D}, {0x6D, 0x1F}, {0x6D, 0x20}, /* 0xA0-0xA3 */ + {0x6D, 0x21}, {0x6D, 0x22}, {0x6D, 0x23}, {0x6D, 0x24}, /* 0xA4-0xA7 */ + {0x6D, 0x26}, {0x6D, 0x28}, {0x6D, 0x29}, {0x6D, 0x2C}, /* 0xA8-0xAB */ + {0x6D, 0x2D}, {0x6D, 0x2F}, {0x6D, 0x30}, {0x6D, 0x34}, /* 0xAC-0xAF */ + {0x6D, 0x36}, {0x6D, 0x37}, {0x6D, 0x38}, {0x6D, 0x3A}, /* 0xB0-0xB3 */ + {0x6D, 0x3F}, {0x6D, 0x40}, {0x6D, 0x42}, {0x6D, 0x44}, /* 0xB4-0xB7 */ + {0x6D, 0x49}, {0x6D, 0x4C}, {0x6D, 0x50}, {0x6D, 0x55}, /* 0xB8-0xBB */ + {0x6D, 0x56}, {0x6D, 0x57}, {0x6D, 0x58}, {0x6D, 0x5B}, /* 0xBC-0xBF */ + {0x6D, 0x5D}, {0x6D, 0x5F}, {0x6D, 0x61}, {0x6D, 0x62}, /* 0xC0-0xC3 */ + {0x6D, 0x64}, {0x6D, 0x65}, {0x6D, 0x67}, {0x6D, 0x68}, /* 0xC4-0xC7 */ + {0x6D, 0x6B}, {0x6D, 0x6C}, {0x6D, 0x6D}, {0x6D, 0x70}, /* 0xC8-0xCB */ + {0x6D, 0x71}, {0x6D, 0x72}, {0x6D, 0x73}, {0x6D, 0x75}, /* 0xCC-0xCF */ + {0x6D, 0x76}, {0x6D, 0x79}, {0x6D, 0x7A}, {0x6D, 0x7B}, /* 0xD0-0xD3 */ + {0x6D, 0x7D}, {0x6D, 0x7E}, {0x6D, 0x7F}, {0x6D, 0x80}, /* 0xD4-0xD7 */ + {0x6D, 0x81}, {0x6D, 0x83}, {0x6D, 0x84}, {0x6D, 0x86}, /* 0xD8-0xDB */ + {0x6D, 0x87}, {0x6D, 0x8A}, {0x6D, 0x8B}, {0x6D, 0x8D}, /* 0xDC-0xDF */ + {0x6D, 0x8F}, {0x6D, 0x90}, {0x6D, 0x92}, {0x6D, 0x96}, /* 0xE0-0xE3 */ + {0x6D, 0x97}, {0x6D, 0x98}, {0x6D, 0x99}, {0x6D, 0x9A}, /* 0xE4-0xE7 */ + {0x6D, 0x9C}, {0x6D, 0xA2}, {0x6D, 0xA5}, {0x6D, 0xAC}, /* 0xE8-0xEB */ + {0x6D, 0xAD}, {0x6D, 0xB0}, {0x6D, 0xB1}, {0x6D, 0xB3}, /* 0xEC-0xEF */ + {0x6D, 0xB4}, {0x6D, 0xB6}, {0x6D, 0xB7}, {0x6D, 0xB9}, /* 0xF0-0xF3 */ + {0x6D, 0xBA}, {0x6D, 0xBB}, {0x6D, 0xBC}, {0x6D, 0xBD}, /* 0xF4-0xF7 */ + {0x6D, 0xBE}, {0x6D, 0xC1}, {0x6D, 0xC2}, {0x6D, 0xC3}, /* 0xF8-0xFB */ + {0x6D, 0xC8}, {0x6D, 0xC9}, {0x6D, 0xCA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9C[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6D, 0xCD}, {0x6D, 0xCE}, {0x6D, 0xCF}, {0x6D, 0xD0}, /* 0x40-0x43 */ + {0x6D, 0xD2}, {0x6D, 0xD3}, {0x6D, 0xD4}, {0x6D, 0xD5}, /* 0x44-0x47 */ + {0x6D, 0xD7}, {0x6D, 0xDA}, {0x6D, 0xDB}, {0x6D, 0xDC}, /* 0x48-0x4B */ + {0x6D, 0xDF}, {0x6D, 0xE2}, {0x6D, 0xE3}, {0x6D, 0xE5}, /* 0x4C-0x4F */ + {0x6D, 0xE7}, {0x6D, 0xE8}, {0x6D, 0xE9}, {0x6D, 0xEA}, /* 0x50-0x53 */ + {0x6D, 0xED}, {0x6D, 0xEF}, {0x6D, 0xF0}, {0x6D, 0xF2}, /* 0x54-0x57 */ + {0x6D, 0xF4}, {0x6D, 0xF5}, {0x6D, 0xF6}, {0x6D, 0xF8}, /* 0x58-0x5B */ + {0x6D, 0xFA}, {0x6D, 0xFD}, {0x6D, 0xFE}, {0x6D, 0xFF}, /* 0x5C-0x5F */ + {0x6E, 0x00}, {0x6E, 0x01}, {0x6E, 0x02}, {0x6E, 0x03}, /* 0x60-0x63 */ + {0x6E, 0x04}, {0x6E, 0x06}, {0x6E, 0x07}, {0x6E, 0x08}, /* 0x64-0x67 */ + {0x6E, 0x09}, {0x6E, 0x0B}, {0x6E, 0x0F}, {0x6E, 0x12}, /* 0x68-0x6B */ + {0x6E, 0x13}, {0x6E, 0x15}, {0x6E, 0x18}, {0x6E, 0x19}, /* 0x6C-0x6F */ + {0x6E, 0x1B}, {0x6E, 0x1C}, {0x6E, 0x1E}, {0x6E, 0x1F}, /* 0x70-0x73 */ + {0x6E, 0x22}, {0x6E, 0x26}, {0x6E, 0x27}, {0x6E, 0x28}, /* 0x74-0x77 */ + {0x6E, 0x2A}, {0x6E, 0x2C}, {0x6E, 0x2E}, {0x6E, 0x30}, /* 0x78-0x7B */ + {0x6E, 0x31}, {0x6E, 0x33}, {0x6E, 0x35}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x6E, 0x36}, {0x6E, 0x37}, {0x6E, 0x39}, {0x6E, 0x3B}, /* 0x80-0x83 */ + {0x6E, 0x3C}, {0x6E, 0x3D}, {0x6E, 0x3E}, {0x6E, 0x3F}, /* 0x84-0x87 */ + {0x6E, 0x40}, {0x6E, 0x41}, {0x6E, 0x42}, {0x6E, 0x45}, /* 0x88-0x8B */ + {0x6E, 0x46}, {0x6E, 0x47}, {0x6E, 0x48}, {0x6E, 0x49}, /* 0x8C-0x8F */ + {0x6E, 0x4A}, {0x6E, 0x4B}, {0x6E, 0x4C}, {0x6E, 0x4F}, /* 0x90-0x93 */ + {0x6E, 0x50}, {0x6E, 0x51}, {0x6E, 0x52}, {0x6E, 0x55}, /* 0x94-0x97 */ + {0x6E, 0x57}, {0x6E, 0x59}, {0x6E, 0x5A}, {0x6E, 0x5C}, /* 0x98-0x9B */ + {0x6E, 0x5D}, {0x6E, 0x5E}, {0x6E, 0x60}, {0x6E, 0x61}, /* 0x9C-0x9F */ + {0x6E, 0x62}, {0x6E, 0x63}, {0x6E, 0x64}, {0x6E, 0x65}, /* 0xA0-0xA3 */ + {0x6E, 0x66}, {0x6E, 0x67}, {0x6E, 0x68}, {0x6E, 0x69}, /* 0xA4-0xA7 */ + {0x6E, 0x6A}, {0x6E, 0x6C}, {0x6E, 0x6D}, {0x6E, 0x6F}, /* 0xA8-0xAB */ + {0x6E, 0x70}, {0x6E, 0x71}, {0x6E, 0x72}, {0x6E, 0x73}, /* 0xAC-0xAF */ + {0x6E, 0x74}, {0x6E, 0x75}, {0x6E, 0x76}, {0x6E, 0x77}, /* 0xB0-0xB3 */ + {0x6E, 0x78}, {0x6E, 0x79}, {0x6E, 0x7A}, {0x6E, 0x7B}, /* 0xB4-0xB7 */ + {0x6E, 0x7C}, {0x6E, 0x7D}, {0x6E, 0x80}, {0x6E, 0x81}, /* 0xB8-0xBB */ + {0x6E, 0x82}, {0x6E, 0x84}, {0x6E, 0x87}, {0x6E, 0x88}, /* 0xBC-0xBF */ + {0x6E, 0x8A}, {0x6E, 0x8B}, {0x6E, 0x8C}, {0x6E, 0x8D}, /* 0xC0-0xC3 */ + {0x6E, 0x8E}, {0x6E, 0x91}, {0x6E, 0x92}, {0x6E, 0x93}, /* 0xC4-0xC7 */ + {0x6E, 0x94}, {0x6E, 0x95}, {0x6E, 0x96}, {0x6E, 0x97}, /* 0xC8-0xCB */ + {0x6E, 0x99}, {0x6E, 0x9A}, {0x6E, 0x9B}, {0x6E, 0x9D}, /* 0xCC-0xCF */ + {0x6E, 0x9E}, {0x6E, 0xA0}, {0x6E, 0xA1}, {0x6E, 0xA3}, /* 0xD0-0xD3 */ + {0x6E, 0xA4}, {0x6E, 0xA6}, {0x6E, 0xA8}, {0x6E, 0xA9}, /* 0xD4-0xD7 */ + {0x6E, 0xAB}, {0x6E, 0xAC}, {0x6E, 0xAD}, {0x6E, 0xAE}, /* 0xD8-0xDB */ + {0x6E, 0xB0}, {0x6E, 0xB3}, {0x6E, 0xB5}, {0x6E, 0xB8}, /* 0xDC-0xDF */ + {0x6E, 0xB9}, {0x6E, 0xBC}, {0x6E, 0xBE}, {0x6E, 0xBF}, /* 0xE0-0xE3 */ + {0x6E, 0xC0}, {0x6E, 0xC3}, {0x6E, 0xC4}, {0x6E, 0xC5}, /* 0xE4-0xE7 */ + {0x6E, 0xC6}, {0x6E, 0xC8}, {0x6E, 0xC9}, {0x6E, 0xCA}, /* 0xE8-0xEB */ + {0x6E, 0xCC}, {0x6E, 0xCD}, {0x6E, 0xCE}, {0x6E, 0xD0}, /* 0xEC-0xEF */ + {0x6E, 0xD2}, {0x6E, 0xD6}, {0x6E, 0xD8}, {0x6E, 0xD9}, /* 0xF0-0xF3 */ + {0x6E, 0xDB}, {0x6E, 0xDC}, {0x6E, 0xDD}, {0x6E, 0xE3}, /* 0xF4-0xF7 */ + {0x6E, 0xE7}, {0x6E, 0xEA}, {0x6E, 0xEB}, {0x6E, 0xEC}, /* 0xF8-0xFB */ + {0x6E, 0xED}, {0x6E, 0xEE}, {0x6E, 0xEF}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9D[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6E, 0xF0}, {0x6E, 0xF1}, {0x6E, 0xF2}, {0x6E, 0xF3}, /* 0x40-0x43 */ + {0x6E, 0xF5}, {0x6E, 0xF6}, {0x6E, 0xF7}, {0x6E, 0xF8}, /* 0x44-0x47 */ + {0x6E, 0xFA}, {0x6E, 0xFB}, {0x6E, 0xFC}, {0x6E, 0xFD}, /* 0x48-0x4B */ + {0x6E, 0xFE}, {0x6E, 0xFF}, {0x6F, 0x00}, {0x6F, 0x01}, /* 0x4C-0x4F */ + {0x6F, 0x03}, {0x6F, 0x04}, {0x6F, 0x05}, {0x6F, 0x07}, /* 0x50-0x53 */ + {0x6F, 0x08}, {0x6F, 0x0A}, {0x6F, 0x0B}, {0x6F, 0x0C}, /* 0x54-0x57 */ + {0x6F, 0x0D}, {0x6F, 0x0E}, {0x6F, 0x10}, {0x6F, 0x11}, /* 0x58-0x5B */ + {0x6F, 0x12}, {0x6F, 0x16}, {0x6F, 0x17}, {0x6F, 0x18}, /* 0x5C-0x5F */ + {0x6F, 0x19}, {0x6F, 0x1A}, {0x6F, 0x1B}, {0x6F, 0x1C}, /* 0x60-0x63 */ + {0x6F, 0x1D}, {0x6F, 0x1E}, {0x6F, 0x1F}, {0x6F, 0x21}, /* 0x64-0x67 */ + {0x6F, 0x22}, {0x6F, 0x23}, {0x6F, 0x25}, {0x6F, 0x26}, /* 0x68-0x6B */ + {0x6F, 0x27}, {0x6F, 0x28}, {0x6F, 0x2C}, {0x6F, 0x2E}, /* 0x6C-0x6F */ + {0x6F, 0x30}, {0x6F, 0x32}, {0x6F, 0x34}, {0x6F, 0x35}, /* 0x70-0x73 */ + {0x6F, 0x37}, {0x6F, 0x38}, {0x6F, 0x39}, {0x6F, 0x3A}, /* 0x74-0x77 */ + {0x6F, 0x3B}, {0x6F, 0x3C}, {0x6F, 0x3D}, {0x6F, 0x3F}, /* 0x78-0x7B */ + {0x6F, 0x40}, {0x6F, 0x41}, {0x6F, 0x42}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x6F, 0x43}, {0x6F, 0x44}, {0x6F, 0x45}, {0x6F, 0x48}, /* 0x80-0x83 */ + {0x6F, 0x49}, {0x6F, 0x4A}, {0x6F, 0x4C}, {0x6F, 0x4E}, /* 0x84-0x87 */ + {0x6F, 0x4F}, {0x6F, 0x50}, {0x6F, 0x51}, {0x6F, 0x52}, /* 0x88-0x8B */ + {0x6F, 0x53}, {0x6F, 0x54}, {0x6F, 0x55}, {0x6F, 0x56}, /* 0x8C-0x8F */ + {0x6F, 0x57}, {0x6F, 0x59}, {0x6F, 0x5A}, {0x6F, 0x5B}, /* 0x90-0x93 */ + {0x6F, 0x5D}, {0x6F, 0x5F}, {0x6F, 0x60}, {0x6F, 0x61}, /* 0x94-0x97 */ + {0x6F, 0x63}, {0x6F, 0x64}, {0x6F, 0x65}, {0x6F, 0x67}, /* 0x98-0x9B */ + {0x6F, 0x68}, {0x6F, 0x69}, {0x6F, 0x6A}, {0x6F, 0x6B}, /* 0x9C-0x9F */ + {0x6F, 0x6C}, {0x6F, 0x6F}, {0x6F, 0x70}, {0x6F, 0x71}, /* 0xA0-0xA3 */ + {0x6F, 0x73}, {0x6F, 0x75}, {0x6F, 0x76}, {0x6F, 0x77}, /* 0xA4-0xA7 */ + {0x6F, 0x79}, {0x6F, 0x7B}, {0x6F, 0x7D}, {0x6F, 0x7E}, /* 0xA8-0xAB */ + {0x6F, 0x7F}, {0x6F, 0x80}, {0x6F, 0x81}, {0x6F, 0x82}, /* 0xAC-0xAF */ + {0x6F, 0x83}, {0x6F, 0x85}, {0x6F, 0x86}, {0x6F, 0x87}, /* 0xB0-0xB3 */ + {0x6F, 0x8A}, {0x6F, 0x8B}, {0x6F, 0x8F}, {0x6F, 0x90}, /* 0xB4-0xB7 */ + {0x6F, 0x91}, {0x6F, 0x92}, {0x6F, 0x93}, {0x6F, 0x94}, /* 0xB8-0xBB */ + {0x6F, 0x95}, {0x6F, 0x96}, {0x6F, 0x97}, {0x6F, 0x98}, /* 0xBC-0xBF */ + {0x6F, 0x99}, {0x6F, 0x9A}, {0x6F, 0x9B}, {0x6F, 0x9D}, /* 0xC0-0xC3 */ + {0x6F, 0x9E}, {0x6F, 0x9F}, {0x6F, 0xA0}, {0x6F, 0xA2}, /* 0xC4-0xC7 */ + {0x6F, 0xA3}, {0x6F, 0xA4}, {0x6F, 0xA5}, {0x6F, 0xA6}, /* 0xC8-0xCB */ + {0x6F, 0xA8}, {0x6F, 0xA9}, {0x6F, 0xAA}, {0x6F, 0xAB}, /* 0xCC-0xCF */ + {0x6F, 0xAC}, {0x6F, 0xAD}, {0x6F, 0xAE}, {0x6F, 0xAF}, /* 0xD0-0xD3 */ + {0x6F, 0xB0}, {0x6F, 0xB1}, {0x6F, 0xB2}, {0x6F, 0xB4}, /* 0xD4-0xD7 */ + {0x6F, 0xB5}, {0x6F, 0xB7}, {0x6F, 0xB8}, {0x6F, 0xBA}, /* 0xD8-0xDB */ + {0x6F, 0xBB}, {0x6F, 0xBC}, {0x6F, 0xBD}, {0x6F, 0xBE}, /* 0xDC-0xDF */ + {0x6F, 0xBF}, {0x6F, 0xC1}, {0x6F, 0xC3}, {0x6F, 0xC4}, /* 0xE0-0xE3 */ + {0x6F, 0xC5}, {0x6F, 0xC6}, {0x6F, 0xC7}, {0x6F, 0xC8}, /* 0xE4-0xE7 */ + {0x6F, 0xCA}, {0x6F, 0xCB}, {0x6F, 0xCC}, {0x6F, 0xCD}, /* 0xE8-0xEB */ + {0x6F, 0xCE}, {0x6F, 0xCF}, {0x6F, 0xD0}, {0x6F, 0xD3}, /* 0xEC-0xEF */ + {0x6F, 0xD4}, {0x6F, 0xD5}, {0x6F, 0xD6}, {0x6F, 0xD7}, /* 0xF0-0xF3 */ + {0x6F, 0xD8}, {0x6F, 0xD9}, {0x6F, 0xDA}, {0x6F, 0xDB}, /* 0xF4-0xF7 */ + {0x6F, 0xDC}, {0x6F, 0xDD}, {0x6F, 0xDF}, {0x6F, 0xE2}, /* 0xF8-0xFB */ + {0x6F, 0xE3}, {0x6F, 0xE4}, {0x6F, 0xE5}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9E[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6F, 0xE6}, {0x6F, 0xE7}, {0x6F, 0xE8}, {0x6F, 0xE9}, /* 0x40-0x43 */ + {0x6F, 0xEA}, {0x6F, 0xEB}, {0x6F, 0xEC}, {0x6F, 0xED}, /* 0x44-0x47 */ + {0x6F, 0xF0}, {0x6F, 0xF1}, {0x6F, 0xF2}, {0x6F, 0xF3}, /* 0x48-0x4B */ + {0x6F, 0xF4}, {0x6F, 0xF5}, {0x6F, 0xF6}, {0x6F, 0xF7}, /* 0x4C-0x4F */ + {0x6F, 0xF8}, {0x6F, 0xF9}, {0x6F, 0xFA}, {0x6F, 0xFB}, /* 0x50-0x53 */ + {0x6F, 0xFC}, {0x6F, 0xFD}, {0x6F, 0xFE}, {0x6F, 0xFF}, /* 0x54-0x57 */ + {0x70, 0x00}, {0x70, 0x01}, {0x70, 0x02}, {0x70, 0x03}, /* 0x58-0x5B */ + {0x70, 0x04}, {0x70, 0x05}, {0x70, 0x06}, {0x70, 0x07}, /* 0x5C-0x5F */ + {0x70, 0x08}, {0x70, 0x09}, {0x70, 0x0A}, {0x70, 0x0B}, /* 0x60-0x63 */ + {0x70, 0x0C}, {0x70, 0x0D}, {0x70, 0x0E}, {0x70, 0x0F}, /* 0x64-0x67 */ + {0x70, 0x10}, {0x70, 0x12}, {0x70, 0x13}, {0x70, 0x14}, /* 0x68-0x6B */ + {0x70, 0x15}, {0x70, 0x16}, {0x70, 0x17}, {0x70, 0x18}, /* 0x6C-0x6F */ + {0x70, 0x19}, {0x70, 0x1C}, {0x70, 0x1D}, {0x70, 0x1E}, /* 0x70-0x73 */ + {0x70, 0x1F}, {0x70, 0x20}, {0x70, 0x21}, {0x70, 0x22}, /* 0x74-0x77 */ + {0x70, 0x24}, {0x70, 0x25}, {0x70, 0x26}, {0x70, 0x27}, /* 0x78-0x7B */ + {0x70, 0x28}, {0x70, 0x29}, {0x70, 0x2A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x70, 0x2B}, {0x70, 0x2C}, {0x70, 0x2D}, {0x70, 0x2E}, /* 0x80-0x83 */ + {0x70, 0x2F}, {0x70, 0x30}, {0x70, 0x31}, {0x70, 0x32}, /* 0x84-0x87 */ + {0x70, 0x33}, {0x70, 0x34}, {0x70, 0x36}, {0x70, 0x37}, /* 0x88-0x8B */ + {0x70, 0x38}, {0x70, 0x3A}, {0x70, 0x3B}, {0x70, 0x3C}, /* 0x8C-0x8F */ + {0x70, 0x3D}, {0x70, 0x3E}, {0x70, 0x3F}, {0x70, 0x40}, /* 0x90-0x93 */ + {0x70, 0x41}, {0x70, 0x42}, {0x70, 0x43}, {0x70, 0x44}, /* 0x94-0x97 */ + {0x70, 0x45}, {0x70, 0x46}, {0x70, 0x47}, {0x70, 0x48}, /* 0x98-0x9B */ + {0x70, 0x49}, {0x70, 0x4A}, {0x70, 0x4B}, {0x70, 0x4D}, /* 0x9C-0x9F */ + {0x70, 0x4E}, {0x70, 0x50}, {0x70, 0x51}, {0x70, 0x52}, /* 0xA0-0xA3 */ + {0x70, 0x53}, {0x70, 0x54}, {0x70, 0x55}, {0x70, 0x56}, /* 0xA4-0xA7 */ + {0x70, 0x57}, {0x70, 0x58}, {0x70, 0x59}, {0x70, 0x5A}, /* 0xA8-0xAB */ + {0x70, 0x5B}, {0x70, 0x5C}, {0x70, 0x5D}, {0x70, 0x5F}, /* 0xAC-0xAF */ + {0x70, 0x60}, {0x70, 0x61}, {0x70, 0x62}, {0x70, 0x63}, /* 0xB0-0xB3 */ + {0x70, 0x64}, {0x70, 0x65}, {0x70, 0x66}, {0x70, 0x67}, /* 0xB4-0xB7 */ + {0x70, 0x68}, {0x70, 0x69}, {0x70, 0x6A}, {0x70, 0x6E}, /* 0xB8-0xBB */ + {0x70, 0x71}, {0x70, 0x72}, {0x70, 0x73}, {0x70, 0x74}, /* 0xBC-0xBF */ + {0x70, 0x77}, {0x70, 0x79}, {0x70, 0x7A}, {0x70, 0x7B}, /* 0xC0-0xC3 */ + {0x70, 0x7D}, {0x70, 0x81}, {0x70, 0x82}, {0x70, 0x83}, /* 0xC4-0xC7 */ + {0x70, 0x84}, {0x70, 0x86}, {0x70, 0x87}, {0x70, 0x88}, /* 0xC8-0xCB */ + {0x70, 0x8B}, {0x70, 0x8C}, {0x70, 0x8D}, {0x70, 0x8F}, /* 0xCC-0xCF */ + {0x70, 0x90}, {0x70, 0x91}, {0x70, 0x93}, {0x70, 0x97}, /* 0xD0-0xD3 */ + {0x70, 0x98}, {0x70, 0x9A}, {0x70, 0x9B}, {0x70, 0x9E}, /* 0xD4-0xD7 */ + {0x70, 0x9F}, {0x70, 0xA0}, {0x70, 0xA1}, {0x70, 0xA2}, /* 0xD8-0xDB */ + {0x70, 0xA3}, {0x70, 0xA4}, {0x70, 0xA5}, {0x70, 0xA6}, /* 0xDC-0xDF */ + {0x70, 0xA7}, {0x70, 0xA8}, {0x70, 0xA9}, {0x70, 0xAA}, /* 0xE0-0xE3 */ + {0x70, 0xB0}, {0x70, 0xB2}, {0x70, 0xB4}, {0x70, 0xB5}, /* 0xE4-0xE7 */ + {0x70, 0xB6}, {0x70, 0xBA}, {0x70, 0xBE}, {0x70, 0xBF}, /* 0xE8-0xEB */ + {0x70, 0xC4}, {0x70, 0xC5}, {0x70, 0xC6}, {0x70, 0xC7}, /* 0xEC-0xEF */ + {0x70, 0xC9}, {0x70, 0xCB}, {0x70, 0xCC}, {0x70, 0xCD}, /* 0xF0-0xF3 */ + {0x70, 0xCE}, {0x70, 0xCF}, {0x70, 0xD0}, {0x70, 0xD1}, /* 0xF4-0xF7 */ + {0x70, 0xD2}, {0x70, 0xD3}, {0x70, 0xD4}, {0x70, 0xD5}, /* 0xF8-0xFB */ + {0x70, 0xD6}, {0x70, 0xD7}, {0x70, 0xDA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9F[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x70, 0xDC}, {0x70, 0xDD}, {0x70, 0xDE}, {0x70, 0xE0}, /* 0x40-0x43 */ + {0x70, 0xE1}, {0x70, 0xE2}, {0x70, 0xE3}, {0x70, 0xE5}, /* 0x44-0x47 */ + {0x70, 0xEA}, {0x70, 0xEE}, {0x70, 0xF0}, {0x70, 0xF1}, /* 0x48-0x4B */ + {0x70, 0xF2}, {0x70, 0xF3}, {0x70, 0xF4}, {0x70, 0xF5}, /* 0x4C-0x4F */ + {0x70, 0xF6}, {0x70, 0xF8}, {0x70, 0xFA}, {0x70, 0xFB}, /* 0x50-0x53 */ + {0x70, 0xFC}, {0x70, 0xFE}, {0x70, 0xFF}, {0x71, 0x00}, /* 0x54-0x57 */ + {0x71, 0x01}, {0x71, 0x02}, {0x71, 0x03}, {0x71, 0x04}, /* 0x58-0x5B */ + {0x71, 0x05}, {0x71, 0x06}, {0x71, 0x07}, {0x71, 0x08}, /* 0x5C-0x5F */ + {0x71, 0x0B}, {0x71, 0x0C}, {0x71, 0x0D}, {0x71, 0x0E}, /* 0x60-0x63 */ + {0x71, 0x0F}, {0x71, 0x11}, {0x71, 0x12}, {0x71, 0x14}, /* 0x64-0x67 */ + {0x71, 0x17}, {0x71, 0x1B}, {0x71, 0x1C}, {0x71, 0x1D}, /* 0x68-0x6B */ + {0x71, 0x1E}, {0x71, 0x1F}, {0x71, 0x20}, {0x71, 0x21}, /* 0x6C-0x6F */ + {0x71, 0x22}, {0x71, 0x23}, {0x71, 0x24}, {0x71, 0x25}, /* 0x70-0x73 */ + {0x71, 0x27}, {0x71, 0x28}, {0x71, 0x29}, {0x71, 0x2A}, /* 0x74-0x77 */ + {0x71, 0x2B}, {0x71, 0x2C}, {0x71, 0x2D}, {0x71, 0x2E}, /* 0x78-0x7B */ + {0x71, 0x32}, {0x71, 0x33}, {0x71, 0x34}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x71, 0x35}, {0x71, 0x37}, {0x71, 0x38}, {0x71, 0x39}, /* 0x80-0x83 */ + {0x71, 0x3A}, {0x71, 0x3B}, {0x71, 0x3C}, {0x71, 0x3D}, /* 0x84-0x87 */ + {0x71, 0x3E}, {0x71, 0x3F}, {0x71, 0x40}, {0x71, 0x41}, /* 0x88-0x8B */ + {0x71, 0x42}, {0x71, 0x43}, {0x71, 0x44}, {0x71, 0x46}, /* 0x8C-0x8F */ + {0x71, 0x47}, {0x71, 0x48}, {0x71, 0x49}, {0x71, 0x4B}, /* 0x90-0x93 */ + {0x71, 0x4D}, {0x71, 0x4F}, {0x71, 0x50}, {0x71, 0x51}, /* 0x94-0x97 */ + {0x71, 0x52}, {0x71, 0x53}, {0x71, 0x54}, {0x71, 0x55}, /* 0x98-0x9B */ + {0x71, 0x56}, {0x71, 0x57}, {0x71, 0x58}, {0x71, 0x59}, /* 0x9C-0x9F */ + {0x71, 0x5A}, {0x71, 0x5B}, {0x71, 0x5D}, {0x71, 0x5F}, /* 0xA0-0xA3 */ + {0x71, 0x60}, {0x71, 0x61}, {0x71, 0x62}, {0x71, 0x63}, /* 0xA4-0xA7 */ + {0x71, 0x65}, {0x71, 0x69}, {0x71, 0x6A}, {0x71, 0x6B}, /* 0xA8-0xAB */ + {0x71, 0x6C}, {0x71, 0x6D}, {0x71, 0x6F}, {0x71, 0x70}, /* 0xAC-0xAF */ + {0x71, 0x71}, {0x71, 0x74}, {0x71, 0x75}, {0x71, 0x76}, /* 0xB0-0xB3 */ + {0x71, 0x77}, {0x71, 0x79}, {0x71, 0x7B}, {0x71, 0x7C}, /* 0xB4-0xB7 */ + {0x71, 0x7E}, {0x71, 0x7F}, {0x71, 0x80}, {0x71, 0x81}, /* 0xB8-0xBB */ + {0x71, 0x82}, {0x71, 0x83}, {0x71, 0x85}, {0x71, 0x86}, /* 0xBC-0xBF */ + {0x71, 0x87}, {0x71, 0x88}, {0x71, 0x89}, {0x71, 0x8B}, /* 0xC0-0xC3 */ + {0x71, 0x8C}, {0x71, 0x8D}, {0x71, 0x8E}, {0x71, 0x90}, /* 0xC4-0xC7 */ + {0x71, 0x91}, {0x71, 0x92}, {0x71, 0x93}, {0x71, 0x95}, /* 0xC8-0xCB */ + {0x71, 0x96}, {0x71, 0x97}, {0x71, 0x9A}, {0x71, 0x9B}, /* 0xCC-0xCF */ + {0x71, 0x9C}, {0x71, 0x9D}, {0x71, 0x9E}, {0x71, 0xA1}, /* 0xD0-0xD3 */ + {0x71, 0xA2}, {0x71, 0xA3}, {0x71, 0xA4}, {0x71, 0xA5}, /* 0xD4-0xD7 */ + {0x71, 0xA6}, {0x71, 0xA7}, {0x71, 0xA9}, {0x71, 0xAA}, /* 0xD8-0xDB */ + {0x71, 0xAB}, {0x71, 0xAD}, {0x71, 0xAE}, {0x71, 0xAF}, /* 0xDC-0xDF */ + {0x71, 0xB0}, {0x71, 0xB1}, {0x71, 0xB2}, {0x71, 0xB4}, /* 0xE0-0xE3 */ + {0x71, 0xB6}, {0x71, 0xB7}, {0x71, 0xB8}, {0x71, 0xBA}, /* 0xE4-0xE7 */ + {0x71, 0xBB}, {0x71, 0xBC}, {0x71, 0xBD}, {0x71, 0xBE}, /* 0xE8-0xEB */ + {0x71, 0xBF}, {0x71, 0xC0}, {0x71, 0xC1}, {0x71, 0xC2}, /* 0xEC-0xEF */ + {0x71, 0xC4}, {0x71, 0xC5}, {0x71, 0xC6}, {0x71, 0xC7}, /* 0xF0-0xF3 */ + {0x71, 0xC8}, {0x71, 0xC9}, {0x71, 0xCA}, {0x71, 0xCB}, /* 0xF4-0xF7 */ + {0x71, 0xCC}, {0x71, 0xCD}, {0x71, 0xCF}, {0x71, 0xD0}, /* 0xF8-0xFB */ + {0x71, 0xD1}, {0x71, 0xD2}, {0x71, 0xD3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x71, 0xD6}, {0x71, 0xD7}, {0x71, 0xD8}, {0x71, 0xD9}, /* 0x40-0x43 */ + {0x71, 0xDA}, {0x71, 0xDB}, {0x71, 0xDC}, {0x71, 0xDD}, /* 0x44-0x47 */ + {0x71, 0xDE}, {0x71, 0xDF}, {0x71, 0xE1}, {0x71, 0xE2}, /* 0x48-0x4B */ + {0x71, 0xE3}, {0x71, 0xE4}, {0x71, 0xE6}, {0x71, 0xE8}, /* 0x4C-0x4F */ + {0x71, 0xE9}, {0x71, 0xEA}, {0x71, 0xEB}, {0x71, 0xEC}, /* 0x50-0x53 */ + {0x71, 0xED}, {0x71, 0xEF}, {0x71, 0xF0}, {0x71, 0xF1}, /* 0x54-0x57 */ + {0x71, 0xF2}, {0x71, 0xF3}, {0x71, 0xF4}, {0x71, 0xF5}, /* 0x58-0x5B */ + {0x71, 0xF6}, {0x71, 0xF7}, {0x71, 0xF8}, {0x71, 0xFA}, /* 0x5C-0x5F */ + {0x71, 0xFB}, {0x71, 0xFC}, {0x71, 0xFD}, {0x71, 0xFE}, /* 0x60-0x63 */ + {0x71, 0xFF}, {0x72, 0x00}, {0x72, 0x01}, {0x72, 0x02}, /* 0x64-0x67 */ + {0x72, 0x03}, {0x72, 0x04}, {0x72, 0x05}, {0x72, 0x07}, /* 0x68-0x6B */ + {0x72, 0x08}, {0x72, 0x09}, {0x72, 0x0A}, {0x72, 0x0B}, /* 0x6C-0x6F */ + {0x72, 0x0C}, {0x72, 0x0D}, {0x72, 0x0E}, {0x72, 0x0F}, /* 0x70-0x73 */ + {0x72, 0x10}, {0x72, 0x11}, {0x72, 0x12}, {0x72, 0x13}, /* 0x74-0x77 */ + {0x72, 0x14}, {0x72, 0x15}, {0x72, 0x16}, {0x72, 0x17}, /* 0x78-0x7B */ + {0x72, 0x18}, {0x72, 0x19}, {0x72, 0x1A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x72, 0x1B}, {0x72, 0x1C}, {0x72, 0x1E}, {0x72, 0x1F}, /* 0x80-0x83 */ + {0x72, 0x20}, {0x72, 0x21}, {0x72, 0x22}, {0x72, 0x23}, /* 0x84-0x87 */ + {0x72, 0x24}, {0x72, 0x25}, {0x72, 0x26}, {0x72, 0x27}, /* 0x88-0x8B */ + {0x72, 0x29}, {0x72, 0x2B}, {0x72, 0x2D}, {0x72, 0x2E}, /* 0x8C-0x8F */ + {0x72, 0x2F}, {0x72, 0x32}, {0x72, 0x33}, {0x72, 0x34}, /* 0x90-0x93 */ + {0x72, 0x3A}, {0x72, 0x3C}, {0x72, 0x3E}, {0x72, 0x40}, /* 0x94-0x97 */ + {0x72, 0x41}, {0x72, 0x42}, {0x72, 0x43}, {0x72, 0x44}, /* 0x98-0x9B */ + {0x72, 0x45}, {0x72, 0x46}, {0x72, 0x49}, {0x72, 0x4A}, /* 0x9C-0x9F */ + {0x72, 0x4B}, {0x72, 0x4E}, {0x72, 0x4F}, {0x72, 0x50}, /* 0xA0-0xA3 */ + {0x72, 0x51}, {0x72, 0x53}, {0x72, 0x54}, {0x72, 0x55}, /* 0xA4-0xA7 */ + {0x72, 0x57}, {0x72, 0x58}, {0x72, 0x5A}, {0x72, 0x5C}, /* 0xA8-0xAB */ + {0x72, 0x5E}, {0x72, 0x60}, {0x72, 0x63}, {0x72, 0x64}, /* 0xAC-0xAF */ + {0x72, 0x65}, {0x72, 0x68}, {0x72, 0x6A}, {0x72, 0x6B}, /* 0xB0-0xB3 */ + {0x72, 0x6C}, {0x72, 0x6D}, {0x72, 0x70}, {0x72, 0x71}, /* 0xB4-0xB7 */ + {0x72, 0x73}, {0x72, 0x74}, {0x72, 0x76}, {0x72, 0x77}, /* 0xB8-0xBB */ + {0x72, 0x78}, {0x72, 0x7B}, {0x72, 0x7C}, {0x72, 0x7D}, /* 0xBC-0xBF */ + {0x72, 0x82}, {0x72, 0x83}, {0x72, 0x85}, {0x72, 0x86}, /* 0xC0-0xC3 */ + {0x72, 0x87}, {0x72, 0x88}, {0x72, 0x89}, {0x72, 0x8C}, /* 0xC4-0xC7 */ + {0x72, 0x8E}, {0x72, 0x90}, {0x72, 0x91}, {0x72, 0x93}, /* 0xC8-0xCB */ + {0x72, 0x94}, {0x72, 0x95}, {0x72, 0x96}, {0x72, 0x97}, /* 0xCC-0xCF */ + {0x72, 0x98}, {0x72, 0x99}, {0x72, 0x9A}, {0x72, 0x9B}, /* 0xD0-0xD3 */ + {0x72, 0x9C}, {0x72, 0x9D}, {0x72, 0x9E}, {0x72, 0xA0}, /* 0xD4-0xD7 */ + {0x72, 0xA1}, {0x72, 0xA2}, {0x72, 0xA3}, {0x72, 0xA4}, /* 0xD8-0xDB */ + {0x72, 0xA5}, {0x72, 0xA6}, {0x72, 0xA7}, {0x72, 0xA8}, /* 0xDC-0xDF */ + {0x72, 0xA9}, {0x72, 0xAA}, {0x72, 0xAB}, {0x72, 0xAE}, /* 0xE0-0xE3 */ + {0x72, 0xB1}, {0x72, 0xB2}, {0x72, 0xB3}, {0x72, 0xB5}, /* 0xE4-0xE7 */ + {0x72, 0xBA}, {0x72, 0xBB}, {0x72, 0xBC}, {0x72, 0xBD}, /* 0xE8-0xEB */ + {0x72, 0xBE}, {0x72, 0xBF}, {0x72, 0xC0}, {0x72, 0xC5}, /* 0xEC-0xEF */ + {0x72, 0xC6}, {0x72, 0xC7}, {0x72, 0xC9}, {0x72, 0xCA}, /* 0xF0-0xF3 */ + {0x72, 0xCB}, {0x72, 0xCC}, {0x72, 0xCF}, {0x72, 0xD1}, /* 0xF4-0xF7 */ + {0x72, 0xD3}, {0x72, 0xD4}, {0x72, 0xD5}, {0x72, 0xD6}, /* 0xF8-0xFB */ + {0x72, 0xD8}, {0x72, 0xDA}, {0x72, 0xDB}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x30, 0x00}, {0x30, 0x01}, {0x30, 0x02}, /* 0xA0-0xA3 */ + {0x00, 0xB7}, {0x02, 0xC9}, {0x02, 0xC7}, {0x00, 0xA8}, /* 0xA4-0xA7 */ + {0x30, 0x03}, {0x30, 0x05}, {0x20, 0x14}, {0xFF, 0x5E}, /* 0xA8-0xAB */ + {0x20, 0x16}, {0x20, 0x26}, {0x20, 0x18}, {0x20, 0x19}, /* 0xAC-0xAF */ + {0x20, 0x1C}, {0x20, 0x1D}, {0x30, 0x14}, {0x30, 0x15}, /* 0xB0-0xB3 */ + {0x30, 0x08}, {0x30, 0x09}, {0x30, 0x0A}, {0x30, 0x0B}, /* 0xB4-0xB7 */ + {0x30, 0x0C}, {0x30, 0x0D}, {0x30, 0x0E}, {0x30, 0x0F}, /* 0xB8-0xBB */ + {0x30, 0x16}, {0x30, 0x17}, {0x30, 0x10}, {0x30, 0x11}, /* 0xBC-0xBF */ + {0x00, 0xB1}, {0x00, 0xD7}, {0x00, 0xF7}, {0x22, 0x36}, /* 0xC0-0xC3 */ + {0x22, 0x27}, {0x22, 0x28}, {0x22, 0x11}, {0x22, 0x0F}, /* 0xC4-0xC7 */ + {0x22, 0x2A}, {0x22, 0x29}, {0x22, 0x08}, {0x22, 0x37}, /* 0xC8-0xCB */ + {0x22, 0x1A}, {0x22, 0xA5}, {0x22, 0x25}, {0x22, 0x20}, /* 0xCC-0xCF */ + {0x23, 0x12}, {0x22, 0x99}, {0x22, 0x2B}, {0x22, 0x2E}, /* 0xD0-0xD3 */ + {0x22, 0x61}, {0x22, 0x4C}, {0x22, 0x48}, {0x22, 0x3D}, /* 0xD4-0xD7 */ + {0x22, 0x1D}, {0x22, 0x60}, {0x22, 0x6E}, {0x22, 0x6F}, /* 0xD8-0xDB */ + {0x22, 0x64}, {0x22, 0x65}, {0x22, 0x1E}, {0x22, 0x35}, /* 0xDC-0xDF */ + {0x22, 0x34}, {0x26, 0x42}, {0x26, 0x40}, {0x00, 0xB0}, /* 0xE0-0xE3 */ + {0x20, 0x32}, {0x20, 0x33}, {0x21, 0x03}, {0xFF, 0x04}, /* 0xE4-0xE7 */ + {0x00, 0xA4}, {0xFF, 0xE0}, {0xFF, 0xE1}, {0x20, 0x30}, /* 0xE8-0xEB */ + {0x00, 0xA7}, {0x21, 0x16}, {0x26, 0x06}, {0x26, 0x05}, /* 0xEC-0xEF */ + {0x25, 0xCB}, {0x25, 0xCF}, {0x25, 0xCE}, {0x25, 0xC7}, /* 0xF0-0xF3 */ + {0x25, 0xC6}, {0x25, 0xA1}, {0x25, 0xA0}, {0x25, 0xB3}, /* 0xF4-0xF7 */ + {0x25, 0xB2}, {0x20, 0x3B}, {0x21, 0x92}, {0x21, 0x90}, /* 0xF8-0xFB */ + {0x21, 0x91}, {0x21, 0x93}, {0x30, 0x13}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x21, 0x70}, {0x21, 0x71}, {0x21, 0x72}, /* 0xA0-0xA3 */ + {0x21, 0x73}, {0x21, 0x74}, {0x21, 0x75}, {0x21, 0x76}, /* 0xA4-0xA7 */ + {0x21, 0x77}, {0x21, 0x78}, {0x21, 0x79}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x24, 0x88}, {0x24, 0x89}, {0x24, 0x8A}, /* 0xB0-0xB3 */ + {0x24, 0x8B}, {0x24, 0x8C}, {0x24, 0x8D}, {0x24, 0x8E}, /* 0xB4-0xB7 */ + {0x24, 0x8F}, {0x24, 0x90}, {0x24, 0x91}, {0x24, 0x92}, /* 0xB8-0xBB */ + {0x24, 0x93}, {0x24, 0x94}, {0x24, 0x95}, {0x24, 0x96}, /* 0xBC-0xBF */ + {0x24, 0x97}, {0x24, 0x98}, {0x24, 0x99}, {0x24, 0x9A}, /* 0xC0-0xC3 */ + {0x24, 0x9B}, {0x24, 0x74}, {0x24, 0x75}, {0x24, 0x76}, /* 0xC4-0xC7 */ + {0x24, 0x77}, {0x24, 0x78}, {0x24, 0x79}, {0x24, 0x7A}, /* 0xC8-0xCB */ + {0x24, 0x7B}, {0x24, 0x7C}, {0x24, 0x7D}, {0x24, 0x7E}, /* 0xCC-0xCF */ + {0x24, 0x7F}, {0x24, 0x80}, {0x24, 0x81}, {0x24, 0x82}, /* 0xD0-0xD3 */ + {0x24, 0x83}, {0x24, 0x84}, {0x24, 0x85}, {0x24, 0x86}, /* 0xD4-0xD7 */ + {0x24, 0x87}, {0x24, 0x60}, {0x24, 0x61}, {0x24, 0x62}, /* 0xD8-0xDB */ + {0x24, 0x63}, {0x24, 0x64}, {0x24, 0x65}, {0x24, 0x66}, /* 0xDC-0xDF */ + {0x24, 0x67}, {0x24, 0x68}, {0x24, 0x69}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x32, 0x20}, {0x32, 0x21}, {0x32, 0x22}, /* 0xE4-0xE7 */ + {0x32, 0x23}, {0x32, 0x24}, {0x32, 0x25}, {0x32, 0x26}, /* 0xE8-0xEB */ + {0x32, 0x27}, {0x32, 0x28}, {0x32, 0x29}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x21, 0x60}, {0x21, 0x61}, {0x21, 0x62}, /* 0xF0-0xF3 */ + {0x21, 0x63}, {0x21, 0x64}, {0x21, 0x65}, {0x21, 0x66}, /* 0xF4-0xF7 */ + {0x21, 0x67}, {0x21, 0x68}, {0x21, 0x69}, {0x21, 0x6A}, /* 0xF8-0xFB */ + {0x21, 0x6B}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xFF, 0x01}, {0xFF, 0x02}, {0xFF, 0x03}, /* 0xA0-0xA3 */ + {0xFF, 0xE5}, {0xFF, 0x05}, {0xFF, 0x06}, {0xFF, 0x07}, /* 0xA4-0xA7 */ + {0xFF, 0x08}, {0xFF, 0x09}, {0xFF, 0x0A}, {0xFF, 0x0B}, /* 0xA8-0xAB */ + {0xFF, 0x0C}, {0xFF, 0x0D}, {0xFF, 0x0E}, {0xFF, 0x0F}, /* 0xAC-0xAF */ + {0xFF, 0x10}, {0xFF, 0x11}, {0xFF, 0x12}, {0xFF, 0x13}, /* 0xB0-0xB3 */ + {0xFF, 0x14}, {0xFF, 0x15}, {0xFF, 0x16}, {0xFF, 0x17}, /* 0xB4-0xB7 */ + {0xFF, 0x18}, {0xFF, 0x19}, {0xFF, 0x1A}, {0xFF, 0x1B}, /* 0xB8-0xBB */ + {0xFF, 0x1C}, {0xFF, 0x1D}, {0xFF, 0x1E}, {0xFF, 0x1F}, /* 0xBC-0xBF */ + {0xFF, 0x20}, {0xFF, 0x21}, {0xFF, 0x22}, {0xFF, 0x23}, /* 0xC0-0xC3 */ + {0xFF, 0x24}, {0xFF, 0x25}, {0xFF, 0x26}, {0xFF, 0x27}, /* 0xC4-0xC7 */ + {0xFF, 0x28}, {0xFF, 0x29}, {0xFF, 0x2A}, {0xFF, 0x2B}, /* 0xC8-0xCB */ + {0xFF, 0x2C}, {0xFF, 0x2D}, {0xFF, 0x2E}, {0xFF, 0x2F}, /* 0xCC-0xCF */ + {0xFF, 0x30}, {0xFF, 0x31}, {0xFF, 0x32}, {0xFF, 0x33}, /* 0xD0-0xD3 */ + {0xFF, 0x34}, {0xFF, 0x35}, {0xFF, 0x36}, {0xFF, 0x37}, /* 0xD4-0xD7 */ + {0xFF, 0x38}, {0xFF, 0x39}, {0xFF, 0x3A}, {0xFF, 0x3B}, /* 0xD8-0xDB */ + {0xFF, 0x3C}, {0xFF, 0x3D}, {0xFF, 0x3E}, {0xFF, 0x3F}, /* 0xDC-0xDF */ + {0xFF, 0x40}, {0xFF, 0x41}, {0xFF, 0x42}, {0xFF, 0x43}, /* 0xE0-0xE3 */ + {0xFF, 0x44}, {0xFF, 0x45}, {0xFF, 0x46}, {0xFF, 0x47}, /* 0xE4-0xE7 */ + {0xFF, 0x48}, {0xFF, 0x49}, {0xFF, 0x4A}, {0xFF, 0x4B}, /* 0xE8-0xEB */ + {0xFF, 0x4C}, {0xFF, 0x4D}, {0xFF, 0x4E}, {0xFF, 0x4F}, /* 0xEC-0xEF */ + {0xFF, 0x50}, {0xFF, 0x51}, {0xFF, 0x52}, {0xFF, 0x53}, /* 0xF0-0xF3 */ + {0xFF, 0x54}, {0xFF, 0x55}, {0xFF, 0x56}, {0xFF, 0x57}, /* 0xF4-0xF7 */ + {0xFF, 0x58}, {0xFF, 0x59}, {0xFF, 0x5A}, {0xFF, 0x5B}, /* 0xF8-0xFB */ + {0xFF, 0x5C}, {0xFF, 0x5D}, {0xFF, 0xE3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x30, 0x41}, {0x30, 0x42}, {0x30, 0x43}, /* 0xA0-0xA3 */ + {0x30, 0x44}, {0x30, 0x45}, {0x30, 0x46}, {0x30, 0x47}, /* 0xA4-0xA7 */ + {0x30, 0x48}, {0x30, 0x49}, {0x30, 0x4A}, {0x30, 0x4B}, /* 0xA8-0xAB */ + {0x30, 0x4C}, {0x30, 0x4D}, {0x30, 0x4E}, {0x30, 0x4F}, /* 0xAC-0xAF */ + {0x30, 0x50}, {0x30, 0x51}, {0x30, 0x52}, {0x30, 0x53}, /* 0xB0-0xB3 */ + {0x30, 0x54}, {0x30, 0x55}, {0x30, 0x56}, {0x30, 0x57}, /* 0xB4-0xB7 */ + {0x30, 0x58}, {0x30, 0x59}, {0x30, 0x5A}, {0x30, 0x5B}, /* 0xB8-0xBB */ + {0x30, 0x5C}, {0x30, 0x5D}, {0x30, 0x5E}, {0x30, 0x5F}, /* 0xBC-0xBF */ + {0x30, 0x60}, {0x30, 0x61}, {0x30, 0x62}, {0x30, 0x63}, /* 0xC0-0xC3 */ + {0x30, 0x64}, {0x30, 0x65}, {0x30, 0x66}, {0x30, 0x67}, /* 0xC4-0xC7 */ + {0x30, 0x68}, {0x30, 0x69}, {0x30, 0x6A}, {0x30, 0x6B}, /* 0xC8-0xCB */ + {0x30, 0x6C}, {0x30, 0x6D}, {0x30, 0x6E}, {0x30, 0x6F}, /* 0xCC-0xCF */ + {0x30, 0x70}, {0x30, 0x71}, {0x30, 0x72}, {0x30, 0x73}, /* 0xD0-0xD3 */ + {0x30, 0x74}, {0x30, 0x75}, {0x30, 0x76}, {0x30, 0x77}, /* 0xD4-0xD7 */ + {0x30, 0x78}, {0x30, 0x79}, {0x30, 0x7A}, {0x30, 0x7B}, /* 0xD8-0xDB */ + {0x30, 0x7C}, {0x30, 0x7D}, {0x30, 0x7E}, {0x30, 0x7F}, /* 0xDC-0xDF */ + {0x30, 0x80}, {0x30, 0x81}, {0x30, 0x82}, {0x30, 0x83}, /* 0xE0-0xE3 */ + {0x30, 0x84}, {0x30, 0x85}, {0x30, 0x86}, {0x30, 0x87}, /* 0xE4-0xE7 */ + {0x30, 0x88}, {0x30, 0x89}, {0x30, 0x8A}, {0x30, 0x8B}, /* 0xE8-0xEB */ + {0x30, 0x8C}, {0x30, 0x8D}, {0x30, 0x8E}, {0x30, 0x8F}, /* 0xEC-0xEF */ + {0x30, 0x90}, {0x30, 0x91}, {0x30, 0x92}, {0x30, 0x93}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x30, 0xA1}, {0x30, 0xA2}, {0x30, 0xA3}, /* 0xA0-0xA3 */ + {0x30, 0xA4}, {0x30, 0xA5}, {0x30, 0xA6}, {0x30, 0xA7}, /* 0xA4-0xA7 */ + {0x30, 0xA8}, {0x30, 0xA9}, {0x30, 0xAA}, {0x30, 0xAB}, /* 0xA8-0xAB */ + {0x30, 0xAC}, {0x30, 0xAD}, {0x30, 0xAE}, {0x30, 0xAF}, /* 0xAC-0xAF */ + {0x30, 0xB0}, {0x30, 0xB1}, {0x30, 0xB2}, {0x30, 0xB3}, /* 0xB0-0xB3 */ + {0x30, 0xB4}, {0x30, 0xB5}, {0x30, 0xB6}, {0x30, 0xB7}, /* 0xB4-0xB7 */ + {0x30, 0xB8}, {0x30, 0xB9}, {0x30, 0xBA}, {0x30, 0xBB}, /* 0xB8-0xBB */ + {0x30, 0xBC}, {0x30, 0xBD}, {0x30, 0xBE}, {0x30, 0xBF}, /* 0xBC-0xBF */ + {0x30, 0xC0}, {0x30, 0xC1}, {0x30, 0xC2}, {0x30, 0xC3}, /* 0xC0-0xC3 */ + {0x30, 0xC4}, {0x30, 0xC5}, {0x30, 0xC6}, {0x30, 0xC7}, /* 0xC4-0xC7 */ + {0x30, 0xC8}, {0x30, 0xC9}, {0x30, 0xCA}, {0x30, 0xCB}, /* 0xC8-0xCB */ + {0x30, 0xCC}, {0x30, 0xCD}, {0x30, 0xCE}, {0x30, 0xCF}, /* 0xCC-0xCF */ + {0x30, 0xD0}, {0x30, 0xD1}, {0x30, 0xD2}, {0x30, 0xD3}, /* 0xD0-0xD3 */ + {0x30, 0xD4}, {0x30, 0xD5}, {0x30, 0xD6}, {0x30, 0xD7}, /* 0xD4-0xD7 */ + {0x30, 0xD8}, {0x30, 0xD9}, {0x30, 0xDA}, {0x30, 0xDB}, /* 0xD8-0xDB */ + {0x30, 0xDC}, {0x30, 0xDD}, {0x30, 0xDE}, {0x30, 0xDF}, /* 0xDC-0xDF */ + {0x30, 0xE0}, {0x30, 0xE1}, {0x30, 0xE2}, {0x30, 0xE3}, /* 0xE0-0xE3 */ + {0x30, 0xE4}, {0x30, 0xE5}, {0x30, 0xE6}, {0x30, 0xE7}, /* 0xE4-0xE7 */ + {0x30, 0xE8}, {0x30, 0xE9}, {0x30, 0xEA}, {0x30, 0xEB}, /* 0xE8-0xEB */ + {0x30, 0xEC}, {0x30, 0xED}, {0x30, 0xEE}, {0x30, 0xEF}, /* 0xEC-0xEF */ + {0x30, 0xF0}, {0x30, 0xF1}, {0x30, 0xF2}, {0x30, 0xF3}, /* 0xF0-0xF3 */ + {0x30, 0xF4}, {0x30, 0xF5}, {0x30, 0xF6}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x03, 0x91}, {0x03, 0x92}, {0x03, 0x93}, /* 0xA0-0xA3 */ + {0x03, 0x94}, {0x03, 0x95}, {0x03, 0x96}, {0x03, 0x97}, /* 0xA4-0xA7 */ + {0x03, 0x98}, {0x03, 0x99}, {0x03, 0x9A}, {0x03, 0x9B}, /* 0xA8-0xAB */ + {0x03, 0x9C}, {0x03, 0x9D}, {0x03, 0x9E}, {0x03, 0x9F}, /* 0xAC-0xAF */ + {0x03, 0xA0}, {0x03, 0xA1}, {0x03, 0xA3}, {0x03, 0xA4}, /* 0xB0-0xB3 */ + {0x03, 0xA5}, {0x03, 0xA6}, {0x03, 0xA7}, {0x03, 0xA8}, /* 0xB4-0xB7 */ + {0x03, 0xA9}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x03, 0xB1}, {0x03, 0xB2}, {0x03, 0xB3}, /* 0xC0-0xC3 */ + {0x03, 0xB4}, {0x03, 0xB5}, {0x03, 0xB6}, {0x03, 0xB7}, /* 0xC4-0xC7 */ + {0x03, 0xB8}, {0x03, 0xB9}, {0x03, 0xBA}, {0x03, 0xBB}, /* 0xC8-0xCB */ + {0x03, 0xBC}, {0x03, 0xBD}, {0x03, 0xBE}, {0x03, 0xBF}, /* 0xCC-0xCF */ + {0x03, 0xC0}, {0x03, 0xC1}, {0x03, 0xC3}, {0x03, 0xC4}, /* 0xD0-0xD3 */ + {0x03, 0xC5}, {0x03, 0xC6}, {0x03, 0xC7}, {0x03, 0xC8}, /* 0xD4-0xD7 */ + {0x03, 0xC9}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0xFE, 0x35}, {0xFE, 0x36}, {0xFE, 0x39}, {0xFE, 0x3A}, /* 0xE0-0xE3 */ + {0xFE, 0x3F}, {0xFE, 0x40}, {0xFE, 0x3D}, {0xFE, 0x3E}, /* 0xE4-0xE7 */ + {0xFE, 0x41}, {0xFE, 0x42}, {0xFE, 0x43}, {0xFE, 0x44}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0xFE, 0x3B}, {0xFE, 0x3C}, /* 0xEC-0xEF */ + {0xFE, 0x37}, {0xFE, 0x38}, {0xFE, 0x31}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0xFE, 0x33}, {0xFE, 0x34}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x04, 0x10}, {0x04, 0x11}, {0x04, 0x12}, /* 0xA0-0xA3 */ + {0x04, 0x13}, {0x04, 0x14}, {0x04, 0x15}, {0x04, 0x01}, /* 0xA4-0xA7 */ + {0x04, 0x16}, {0x04, 0x17}, {0x04, 0x18}, {0x04, 0x19}, /* 0xA8-0xAB */ + {0x04, 0x1A}, {0x04, 0x1B}, {0x04, 0x1C}, {0x04, 0x1D}, /* 0xAC-0xAF */ + {0x04, 0x1E}, {0x04, 0x1F}, {0x04, 0x20}, {0x04, 0x21}, /* 0xB0-0xB3 */ + {0x04, 0x22}, {0x04, 0x23}, {0x04, 0x24}, {0x04, 0x25}, /* 0xB4-0xB7 */ + {0x04, 0x26}, {0x04, 0x27}, {0x04, 0x28}, {0x04, 0x29}, /* 0xB8-0xBB */ + {0x04, 0x2A}, {0x04, 0x2B}, {0x04, 0x2C}, {0x04, 0x2D}, /* 0xBC-0xBF */ + {0x04, 0x2E}, {0x04, 0x2F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x04, 0x30}, {0x04, 0x31}, {0x04, 0x32}, /* 0xD0-0xD3 */ + {0x04, 0x33}, {0x04, 0x34}, {0x04, 0x35}, {0x04, 0x51}, /* 0xD4-0xD7 */ + {0x04, 0x36}, {0x04, 0x37}, {0x04, 0x38}, {0x04, 0x39}, /* 0xD8-0xDB */ + {0x04, 0x3A}, {0x04, 0x3B}, {0x04, 0x3C}, {0x04, 0x3D}, /* 0xDC-0xDF */ + {0x04, 0x3E}, {0x04, 0x3F}, {0x04, 0x40}, {0x04, 0x41}, /* 0xE0-0xE3 */ + {0x04, 0x42}, {0x04, 0x43}, {0x04, 0x44}, {0x04, 0x45}, /* 0xE4-0xE7 */ + {0x04, 0x46}, {0x04, 0x47}, {0x04, 0x48}, {0x04, 0x49}, /* 0xE8-0xEB */ + {0x04, 0x4A}, {0x04, 0x4B}, {0x04, 0x4C}, {0x04, 0x4D}, /* 0xEC-0xEF */ + {0x04, 0x4E}, {0x04, 0x4F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x02, 0xCA}, {0x02, 0xCB}, {0x02, 0xD9}, {0x20, 0x13}, /* 0x40-0x43 */ + {0x20, 0x15}, {0x20, 0x25}, {0x20, 0x35}, {0x21, 0x05}, /* 0x44-0x47 */ + {0x21, 0x09}, {0x21, 0x96}, {0x21, 0x97}, {0x21, 0x98}, /* 0x48-0x4B */ + {0x21, 0x99}, {0x22, 0x15}, {0x22, 0x1F}, {0x22, 0x23}, /* 0x4C-0x4F */ + {0x22, 0x52}, {0x22, 0x66}, {0x22, 0x67}, {0x22, 0xBF}, /* 0x50-0x53 */ + {0x25, 0x50}, {0x25, 0x51}, {0x25, 0x52}, {0x25, 0x53}, /* 0x54-0x57 */ + {0x25, 0x54}, {0x25, 0x55}, {0x25, 0x56}, {0x25, 0x57}, /* 0x58-0x5B */ + {0x25, 0x58}, {0x25, 0x59}, {0x25, 0x5A}, {0x25, 0x5B}, /* 0x5C-0x5F */ + {0x25, 0x5C}, {0x25, 0x5D}, {0x25, 0x5E}, {0x25, 0x5F}, /* 0x60-0x63 */ + {0x25, 0x60}, {0x25, 0x61}, {0x25, 0x62}, {0x25, 0x63}, /* 0x64-0x67 */ + {0x25, 0x64}, {0x25, 0x65}, {0x25, 0x66}, {0x25, 0x67}, /* 0x68-0x6B */ + {0x25, 0x68}, {0x25, 0x69}, {0x25, 0x6A}, {0x25, 0x6B}, /* 0x6C-0x6F */ + {0x25, 0x6C}, {0x25, 0x6D}, {0x25, 0x6E}, {0x25, 0x6F}, /* 0x70-0x73 */ + {0x25, 0x70}, {0x25, 0x71}, {0x25, 0x72}, {0x25, 0x73}, /* 0x74-0x77 */ + {0x25, 0x81}, {0x25, 0x82}, {0x25, 0x83}, {0x25, 0x84}, /* 0x78-0x7B */ + {0x25, 0x85}, {0x25, 0x86}, {0x25, 0x87}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x25, 0x88}, {0x25, 0x89}, {0x25, 0x8A}, {0x25, 0x8B}, /* 0x80-0x83 */ + {0x25, 0x8C}, {0x25, 0x8D}, {0x25, 0x8E}, {0x25, 0x8F}, /* 0x84-0x87 */ + {0x25, 0x93}, {0x25, 0x94}, {0x25, 0x95}, {0x25, 0xBC}, /* 0x88-0x8B */ + {0x25, 0xBD}, {0x25, 0xE2}, {0x25, 0xE3}, {0x25, 0xE4}, /* 0x8C-0x8F */ + {0x25, 0xE5}, {0x26, 0x09}, {0x22, 0x95}, {0x30, 0x12}, /* 0x90-0x93 */ + {0x30, 0x1D}, {0x30, 0x1E}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x01, 0x01}, {0x00, 0xE1}, {0x01, 0xCE}, /* 0xA0-0xA3 */ + {0x00, 0xE0}, {0x01, 0x13}, {0x00, 0xE9}, {0x01, 0x1B}, /* 0xA4-0xA7 */ + {0x00, 0xE8}, {0x01, 0x2B}, {0x00, 0xED}, {0x01, 0xD0}, /* 0xA8-0xAB */ + {0x00, 0xEC}, {0x01, 0x4D}, {0x00, 0xF3}, {0x01, 0xD2}, /* 0xAC-0xAF */ + {0x00, 0xF2}, {0x01, 0x6B}, {0x00, 0xFA}, {0x01, 0xD4}, /* 0xB0-0xB3 */ + {0x00, 0xF9}, {0x01, 0xD6}, {0x01, 0xD8}, {0x01, 0xDA}, /* 0xB4-0xB7 */ + {0x01, 0xDC}, {0x00, 0xFC}, {0x00, 0xEA}, {0x02, 0x51}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x01, 0x44}, {0x01, 0x48}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x02, 0x61}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x31, 0x05}, {0x31, 0x06}, {0x31, 0x07}, /* 0xC4-0xC7 */ + {0x31, 0x08}, {0x31, 0x09}, {0x31, 0x0A}, {0x31, 0x0B}, /* 0xC8-0xCB */ + {0x31, 0x0C}, {0x31, 0x0D}, {0x31, 0x0E}, {0x31, 0x0F}, /* 0xCC-0xCF */ + {0x31, 0x10}, {0x31, 0x11}, {0x31, 0x12}, {0x31, 0x13}, /* 0xD0-0xD3 */ + {0x31, 0x14}, {0x31, 0x15}, {0x31, 0x16}, {0x31, 0x17}, /* 0xD4-0xD7 */ + {0x31, 0x18}, {0x31, 0x19}, {0x31, 0x1A}, {0x31, 0x1B}, /* 0xD8-0xDB */ + {0x31, 0x1C}, {0x31, 0x1D}, {0x31, 0x1E}, {0x31, 0x1F}, /* 0xDC-0xDF */ + {0x31, 0x20}, {0x31, 0x21}, {0x31, 0x22}, {0x31, 0x23}, /* 0xE0-0xE3 */ + {0x31, 0x24}, {0x31, 0x25}, {0x31, 0x26}, {0x31, 0x27}, /* 0xE4-0xE7 */ + {0x31, 0x28}, {0x31, 0x29}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x30, 0x21}, {0x30, 0x22}, {0x30, 0x23}, {0x30, 0x24}, /* 0x40-0x43 */ + {0x30, 0x25}, {0x30, 0x26}, {0x30, 0x27}, {0x30, 0x28}, /* 0x44-0x47 */ + {0x30, 0x29}, {0x32, 0xA3}, {0x33, 0x8E}, {0x33, 0x8F}, /* 0x48-0x4B */ + {0x33, 0x9C}, {0x33, 0x9D}, {0x33, 0x9E}, {0x33, 0xA1}, /* 0x4C-0x4F */ + {0x33, 0xC4}, {0x33, 0xCE}, {0x33, 0xD1}, {0x33, 0xD2}, /* 0x50-0x53 */ + {0x33, 0xD5}, {0xFE, 0x30}, {0xFF, 0xE2}, {0xFF, 0xE4}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x21, 0x21}, {0x32, 0x31}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x20, 0x10}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x30, 0xFC}, {0x30, 0x9B}, {0x30, 0x9C}, {0x30, 0xFD}, /* 0x60-0x63 */ + {0x30, 0xFE}, {0x30, 0x06}, {0x30, 0x9D}, {0x30, 0x9E}, /* 0x64-0x67 */ + {0xFE, 0x49}, {0xFE, 0x4A}, {0xFE, 0x4B}, {0xFE, 0x4C}, /* 0x68-0x6B */ + {0xFE, 0x4D}, {0xFE, 0x4E}, {0xFE, 0x4F}, {0xFE, 0x50}, /* 0x6C-0x6F */ + {0xFE, 0x51}, {0xFE, 0x52}, {0xFE, 0x54}, {0xFE, 0x55}, /* 0x70-0x73 */ + {0xFE, 0x56}, {0xFE, 0x57}, {0xFE, 0x59}, {0xFE, 0x5A}, /* 0x74-0x77 */ + {0xFE, 0x5B}, {0xFE, 0x5C}, {0xFE, 0x5D}, {0xFE, 0x5E}, /* 0x78-0x7B */ + {0xFE, 0x5F}, {0xFE, 0x60}, {0xFE, 0x61}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0xFE, 0x62}, {0xFE, 0x63}, {0xFE, 0x64}, {0xFE, 0x65}, /* 0x80-0x83 */ + {0xFE, 0x66}, {0xFE, 0x68}, {0xFE, 0x69}, {0xFE, 0x6A}, /* 0x84-0x87 */ + {0xFE, 0x6B}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x30, 0x07}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x25, 0x00}, {0x25, 0x01}, {0x25, 0x02}, {0x25, 0x03}, /* 0xA4-0xA7 */ + {0x25, 0x04}, {0x25, 0x05}, {0x25, 0x06}, {0x25, 0x07}, /* 0xA8-0xAB */ + {0x25, 0x08}, {0x25, 0x09}, {0x25, 0x0A}, {0x25, 0x0B}, /* 0xAC-0xAF */ + {0x25, 0x0C}, {0x25, 0x0D}, {0x25, 0x0E}, {0x25, 0x0F}, /* 0xB0-0xB3 */ + {0x25, 0x10}, {0x25, 0x11}, {0x25, 0x12}, {0x25, 0x13}, /* 0xB4-0xB7 */ + {0x25, 0x14}, {0x25, 0x15}, {0x25, 0x16}, {0x25, 0x17}, /* 0xB8-0xBB */ + {0x25, 0x18}, {0x25, 0x19}, {0x25, 0x1A}, {0x25, 0x1B}, /* 0xBC-0xBF */ + {0x25, 0x1C}, {0x25, 0x1D}, {0x25, 0x1E}, {0x25, 0x1F}, /* 0xC0-0xC3 */ + {0x25, 0x20}, {0x25, 0x21}, {0x25, 0x22}, {0x25, 0x23}, /* 0xC4-0xC7 */ + {0x25, 0x24}, {0x25, 0x25}, {0x25, 0x26}, {0x25, 0x27}, /* 0xC8-0xCB */ + {0x25, 0x28}, {0x25, 0x29}, {0x25, 0x2A}, {0x25, 0x2B}, /* 0xCC-0xCF */ + {0x25, 0x2C}, {0x25, 0x2D}, {0x25, 0x2E}, {0x25, 0x2F}, /* 0xD0-0xD3 */ + {0x25, 0x30}, {0x25, 0x31}, {0x25, 0x32}, {0x25, 0x33}, /* 0xD4-0xD7 */ + {0x25, 0x34}, {0x25, 0x35}, {0x25, 0x36}, {0x25, 0x37}, /* 0xD8-0xDB */ + {0x25, 0x38}, {0x25, 0x39}, {0x25, 0x3A}, {0x25, 0x3B}, /* 0xDC-0xDF */ + {0x25, 0x3C}, {0x25, 0x3D}, {0x25, 0x3E}, {0x25, 0x3F}, /* 0xE0-0xE3 */ + {0x25, 0x40}, {0x25, 0x41}, {0x25, 0x42}, {0x25, 0x43}, /* 0xE4-0xE7 */ + {0x25, 0x44}, {0x25, 0x45}, {0x25, 0x46}, {0x25, 0x47}, /* 0xE8-0xEB */ + {0x25, 0x48}, {0x25, 0x49}, {0x25, 0x4A}, {0x25, 0x4B}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x72, 0xDC}, {0x72, 0xDD}, {0x72, 0xDF}, {0x72, 0xE2}, /* 0x40-0x43 */ + {0x72, 0xE3}, {0x72, 0xE4}, {0x72, 0xE5}, {0x72, 0xE6}, /* 0x44-0x47 */ + {0x72, 0xE7}, {0x72, 0xEA}, {0x72, 0xEB}, {0x72, 0xF5}, /* 0x48-0x4B */ + {0x72, 0xF6}, {0x72, 0xF9}, {0x72, 0xFD}, {0x72, 0xFE}, /* 0x4C-0x4F */ + {0x72, 0xFF}, {0x73, 0x00}, {0x73, 0x02}, {0x73, 0x04}, /* 0x50-0x53 */ + {0x73, 0x05}, {0x73, 0x06}, {0x73, 0x07}, {0x73, 0x08}, /* 0x54-0x57 */ + {0x73, 0x09}, {0x73, 0x0B}, {0x73, 0x0C}, {0x73, 0x0D}, /* 0x58-0x5B */ + {0x73, 0x0F}, {0x73, 0x10}, {0x73, 0x11}, {0x73, 0x12}, /* 0x5C-0x5F */ + {0x73, 0x14}, {0x73, 0x18}, {0x73, 0x19}, {0x73, 0x1A}, /* 0x60-0x63 */ + {0x73, 0x1F}, {0x73, 0x20}, {0x73, 0x23}, {0x73, 0x24}, /* 0x64-0x67 */ + {0x73, 0x26}, {0x73, 0x27}, {0x73, 0x28}, {0x73, 0x2D}, /* 0x68-0x6B */ + {0x73, 0x2F}, {0x73, 0x30}, {0x73, 0x32}, {0x73, 0x33}, /* 0x6C-0x6F */ + {0x73, 0x35}, {0x73, 0x36}, {0x73, 0x3A}, {0x73, 0x3B}, /* 0x70-0x73 */ + {0x73, 0x3C}, {0x73, 0x3D}, {0x73, 0x40}, {0x73, 0x41}, /* 0x74-0x77 */ + {0x73, 0x42}, {0x73, 0x43}, {0x73, 0x44}, {0x73, 0x45}, /* 0x78-0x7B */ + {0x73, 0x46}, {0x73, 0x47}, {0x73, 0x48}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x73, 0x49}, {0x73, 0x4A}, {0x73, 0x4B}, {0x73, 0x4C}, /* 0x80-0x83 */ + {0x73, 0x4E}, {0x73, 0x4F}, {0x73, 0x51}, {0x73, 0x53}, /* 0x84-0x87 */ + {0x73, 0x54}, {0x73, 0x55}, {0x73, 0x56}, {0x73, 0x58}, /* 0x88-0x8B */ + {0x73, 0x59}, {0x73, 0x5A}, {0x73, 0x5B}, {0x73, 0x5C}, /* 0x8C-0x8F */ + {0x73, 0x5D}, {0x73, 0x5E}, {0x73, 0x5F}, {0x73, 0x61}, /* 0x90-0x93 */ + {0x73, 0x62}, {0x73, 0x63}, {0x73, 0x64}, {0x73, 0x65}, /* 0x94-0x97 */ + {0x73, 0x66}, {0x73, 0x67}, {0x73, 0x68}, {0x73, 0x69}, /* 0x98-0x9B */ + {0x73, 0x6A}, {0x73, 0x6B}, {0x73, 0x6E}, {0x73, 0x70}, /* 0x9C-0x9F */ + {0x73, 0x71}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x73, 0x72}, {0x73, 0x73}, {0x73, 0x74}, {0x73, 0x75}, /* 0x40-0x43 */ + {0x73, 0x76}, {0x73, 0x77}, {0x73, 0x78}, {0x73, 0x79}, /* 0x44-0x47 */ + {0x73, 0x7A}, {0x73, 0x7B}, {0x73, 0x7C}, {0x73, 0x7D}, /* 0x48-0x4B */ + {0x73, 0x7F}, {0x73, 0x80}, {0x73, 0x81}, {0x73, 0x82}, /* 0x4C-0x4F */ + {0x73, 0x83}, {0x73, 0x85}, {0x73, 0x86}, {0x73, 0x88}, /* 0x50-0x53 */ + {0x73, 0x8A}, {0x73, 0x8C}, {0x73, 0x8D}, {0x73, 0x8F}, /* 0x54-0x57 */ + {0x73, 0x90}, {0x73, 0x92}, {0x73, 0x93}, {0x73, 0x94}, /* 0x58-0x5B */ + {0x73, 0x95}, {0x73, 0x97}, {0x73, 0x98}, {0x73, 0x99}, /* 0x5C-0x5F */ + {0x73, 0x9A}, {0x73, 0x9C}, {0x73, 0x9D}, {0x73, 0x9E}, /* 0x60-0x63 */ + {0x73, 0xA0}, {0x73, 0xA1}, {0x73, 0xA3}, {0x73, 0xA4}, /* 0x64-0x67 */ + {0x73, 0xA5}, {0x73, 0xA6}, {0x73, 0xA7}, {0x73, 0xA8}, /* 0x68-0x6B */ + {0x73, 0xAA}, {0x73, 0xAC}, {0x73, 0xAD}, {0x73, 0xB1}, /* 0x6C-0x6F */ + {0x73, 0xB4}, {0x73, 0xB5}, {0x73, 0xB6}, {0x73, 0xB8}, /* 0x70-0x73 */ + {0x73, 0xB9}, {0x73, 0xBC}, {0x73, 0xBD}, {0x73, 0xBE}, /* 0x74-0x77 */ + {0x73, 0xBF}, {0x73, 0xC1}, {0x73, 0xC3}, {0x73, 0xC4}, /* 0x78-0x7B */ + {0x73, 0xC5}, {0x73, 0xC6}, {0x73, 0xC7}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x73, 0xCB}, {0x73, 0xCC}, {0x73, 0xCE}, {0x73, 0xD2}, /* 0x80-0x83 */ + {0x73, 0xD3}, {0x73, 0xD4}, {0x73, 0xD5}, {0x73, 0xD6}, /* 0x84-0x87 */ + {0x73, 0xD7}, {0x73, 0xD8}, {0x73, 0xDA}, {0x73, 0xDB}, /* 0x88-0x8B */ + {0x73, 0xDC}, {0x73, 0xDD}, {0x73, 0xDF}, {0x73, 0xE1}, /* 0x8C-0x8F */ + {0x73, 0xE2}, {0x73, 0xE3}, {0x73, 0xE4}, {0x73, 0xE6}, /* 0x90-0x93 */ + {0x73, 0xE8}, {0x73, 0xEA}, {0x73, 0xEB}, {0x73, 0xEC}, /* 0x94-0x97 */ + {0x73, 0xEE}, {0x73, 0xEF}, {0x73, 0xF0}, {0x73, 0xF1}, /* 0x98-0x9B */ + {0x73, 0xF3}, {0x73, 0xF4}, {0x73, 0xF5}, {0x73, 0xF6}, /* 0x9C-0x9F */ + {0x73, 0xF7}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x73, 0xF8}, {0x73, 0xF9}, {0x73, 0xFA}, {0x73, 0xFB}, /* 0x40-0x43 */ + {0x73, 0xFC}, {0x73, 0xFD}, {0x73, 0xFE}, {0x73, 0xFF}, /* 0x44-0x47 */ + {0x74, 0x00}, {0x74, 0x01}, {0x74, 0x02}, {0x74, 0x04}, /* 0x48-0x4B */ + {0x74, 0x07}, {0x74, 0x08}, {0x74, 0x0B}, {0x74, 0x0C}, /* 0x4C-0x4F */ + {0x74, 0x0D}, {0x74, 0x0E}, {0x74, 0x11}, {0x74, 0x12}, /* 0x50-0x53 */ + {0x74, 0x13}, {0x74, 0x14}, {0x74, 0x15}, {0x74, 0x16}, /* 0x54-0x57 */ + {0x74, 0x17}, {0x74, 0x18}, {0x74, 0x19}, {0x74, 0x1C}, /* 0x58-0x5B */ + {0x74, 0x1D}, {0x74, 0x1E}, {0x74, 0x1F}, {0x74, 0x20}, /* 0x5C-0x5F */ + {0x74, 0x21}, {0x74, 0x23}, {0x74, 0x24}, {0x74, 0x27}, /* 0x60-0x63 */ + {0x74, 0x29}, {0x74, 0x2B}, {0x74, 0x2D}, {0x74, 0x2F}, /* 0x64-0x67 */ + {0x74, 0x31}, {0x74, 0x32}, {0x74, 0x37}, {0x74, 0x38}, /* 0x68-0x6B */ + {0x74, 0x39}, {0x74, 0x3A}, {0x74, 0x3B}, {0x74, 0x3D}, /* 0x6C-0x6F */ + {0x74, 0x3E}, {0x74, 0x3F}, {0x74, 0x40}, {0x74, 0x42}, /* 0x70-0x73 */ + {0x74, 0x43}, {0x74, 0x44}, {0x74, 0x45}, {0x74, 0x46}, /* 0x74-0x77 */ + {0x74, 0x47}, {0x74, 0x48}, {0x74, 0x49}, {0x74, 0x4A}, /* 0x78-0x7B */ + {0x74, 0x4B}, {0x74, 0x4C}, {0x74, 0x4D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x74, 0x4E}, {0x74, 0x4F}, {0x74, 0x50}, {0x74, 0x51}, /* 0x80-0x83 */ + {0x74, 0x52}, {0x74, 0x53}, {0x74, 0x54}, {0x74, 0x56}, /* 0x84-0x87 */ + {0x74, 0x58}, {0x74, 0x5D}, {0x74, 0x60}, {0x74, 0x61}, /* 0x88-0x8B */ + {0x74, 0x62}, {0x74, 0x63}, {0x74, 0x64}, {0x74, 0x65}, /* 0x8C-0x8F */ + {0x74, 0x66}, {0x74, 0x67}, {0x74, 0x68}, {0x74, 0x69}, /* 0x90-0x93 */ + {0x74, 0x6A}, {0x74, 0x6B}, {0x74, 0x6C}, {0x74, 0x6E}, /* 0x94-0x97 */ + {0x74, 0x6F}, {0x74, 0x71}, {0x74, 0x72}, {0x74, 0x73}, /* 0x98-0x9B */ + {0x74, 0x74}, {0x74, 0x75}, {0x74, 0x78}, {0x74, 0x79}, /* 0x9C-0x9F */ + {0x74, 0x7A}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x74, 0x7B}, {0x74, 0x7C}, {0x74, 0x7D}, {0x74, 0x7F}, /* 0x40-0x43 */ + {0x74, 0x82}, {0x74, 0x84}, {0x74, 0x85}, {0x74, 0x86}, /* 0x44-0x47 */ + {0x74, 0x88}, {0x74, 0x89}, {0x74, 0x8A}, {0x74, 0x8C}, /* 0x48-0x4B */ + {0x74, 0x8D}, {0x74, 0x8F}, {0x74, 0x91}, {0x74, 0x92}, /* 0x4C-0x4F */ + {0x74, 0x93}, {0x74, 0x94}, {0x74, 0x95}, {0x74, 0x96}, /* 0x50-0x53 */ + {0x74, 0x97}, {0x74, 0x98}, {0x74, 0x99}, {0x74, 0x9A}, /* 0x54-0x57 */ + {0x74, 0x9B}, {0x74, 0x9D}, {0x74, 0x9F}, {0x74, 0xA0}, /* 0x58-0x5B */ + {0x74, 0xA1}, {0x74, 0xA2}, {0x74, 0xA3}, {0x74, 0xA4}, /* 0x5C-0x5F */ + {0x74, 0xA5}, {0x74, 0xA6}, {0x74, 0xAA}, {0x74, 0xAB}, /* 0x60-0x63 */ + {0x74, 0xAC}, {0x74, 0xAD}, {0x74, 0xAE}, {0x74, 0xAF}, /* 0x64-0x67 */ + {0x74, 0xB0}, {0x74, 0xB1}, {0x74, 0xB2}, {0x74, 0xB3}, /* 0x68-0x6B */ + {0x74, 0xB4}, {0x74, 0xB5}, {0x74, 0xB6}, {0x74, 0xB7}, /* 0x6C-0x6F */ + {0x74, 0xB8}, {0x74, 0xB9}, {0x74, 0xBB}, {0x74, 0xBC}, /* 0x70-0x73 */ + {0x74, 0xBD}, {0x74, 0xBE}, {0x74, 0xBF}, {0x74, 0xC0}, /* 0x74-0x77 */ + {0x74, 0xC1}, {0x74, 0xC2}, {0x74, 0xC3}, {0x74, 0xC4}, /* 0x78-0x7B */ + {0x74, 0xC5}, {0x74, 0xC6}, {0x74, 0xC7}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x74, 0xC8}, {0x74, 0xC9}, {0x74, 0xCA}, {0x74, 0xCB}, /* 0x80-0x83 */ + {0x74, 0xCC}, {0x74, 0xCD}, {0x74, 0xCE}, {0x74, 0xCF}, /* 0x84-0x87 */ + {0x74, 0xD0}, {0x74, 0xD1}, {0x74, 0xD3}, {0x74, 0xD4}, /* 0x88-0x8B */ + {0x74, 0xD5}, {0x74, 0xD6}, {0x74, 0xD7}, {0x74, 0xD8}, /* 0x8C-0x8F */ + {0x74, 0xD9}, {0x74, 0xDA}, {0x74, 0xDB}, {0x74, 0xDD}, /* 0x90-0x93 */ + {0x74, 0xDF}, {0x74, 0xE1}, {0x74, 0xE5}, {0x74, 0xE7}, /* 0x94-0x97 */ + {0x74, 0xE8}, {0x74, 0xE9}, {0x74, 0xEA}, {0x74, 0xEB}, /* 0x98-0x9B */ + {0x74, 0xEC}, {0x74, 0xED}, {0x74, 0xF0}, {0x74, 0xF1}, /* 0x9C-0x9F */ + {0x74, 0xF2}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x74, 0xF3}, {0x74, 0xF5}, {0x74, 0xF8}, {0x74, 0xF9}, /* 0x40-0x43 */ + {0x74, 0xFA}, {0x74, 0xFB}, {0x74, 0xFC}, {0x74, 0xFD}, /* 0x44-0x47 */ + {0x74, 0xFE}, {0x75, 0x00}, {0x75, 0x01}, {0x75, 0x02}, /* 0x48-0x4B */ + {0x75, 0x03}, {0x75, 0x05}, {0x75, 0x06}, {0x75, 0x07}, /* 0x4C-0x4F */ + {0x75, 0x08}, {0x75, 0x09}, {0x75, 0x0A}, {0x75, 0x0B}, /* 0x50-0x53 */ + {0x75, 0x0C}, {0x75, 0x0E}, {0x75, 0x10}, {0x75, 0x12}, /* 0x54-0x57 */ + {0x75, 0x14}, {0x75, 0x15}, {0x75, 0x16}, {0x75, 0x17}, /* 0x58-0x5B */ + {0x75, 0x1B}, {0x75, 0x1D}, {0x75, 0x1E}, {0x75, 0x20}, /* 0x5C-0x5F */ + {0x75, 0x21}, {0x75, 0x22}, {0x75, 0x23}, {0x75, 0x24}, /* 0x60-0x63 */ + {0x75, 0x26}, {0x75, 0x27}, {0x75, 0x2A}, {0x75, 0x2E}, /* 0x64-0x67 */ + {0x75, 0x34}, {0x75, 0x36}, {0x75, 0x39}, {0x75, 0x3C}, /* 0x68-0x6B */ + {0x75, 0x3D}, {0x75, 0x3F}, {0x75, 0x41}, {0x75, 0x42}, /* 0x6C-0x6F */ + {0x75, 0x43}, {0x75, 0x44}, {0x75, 0x46}, {0x75, 0x47}, /* 0x70-0x73 */ + {0x75, 0x49}, {0x75, 0x4A}, {0x75, 0x4D}, {0x75, 0x50}, /* 0x74-0x77 */ + {0x75, 0x51}, {0x75, 0x52}, {0x75, 0x53}, {0x75, 0x55}, /* 0x78-0x7B */ + {0x75, 0x56}, {0x75, 0x57}, {0x75, 0x58}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x75, 0x5D}, {0x75, 0x5E}, {0x75, 0x5F}, {0x75, 0x60}, /* 0x80-0x83 */ + {0x75, 0x61}, {0x75, 0x62}, {0x75, 0x63}, {0x75, 0x64}, /* 0x84-0x87 */ + {0x75, 0x67}, {0x75, 0x68}, {0x75, 0x69}, {0x75, 0x6B}, /* 0x88-0x8B */ + {0x75, 0x6C}, {0x75, 0x6D}, {0x75, 0x6E}, {0x75, 0x6F}, /* 0x8C-0x8F */ + {0x75, 0x70}, {0x75, 0x71}, {0x75, 0x73}, {0x75, 0x75}, /* 0x90-0x93 */ + {0x75, 0x76}, {0x75, 0x77}, {0x75, 0x7A}, {0x75, 0x7B}, /* 0x94-0x97 */ + {0x75, 0x7C}, {0x75, 0x7D}, {0x75, 0x7E}, {0x75, 0x80}, /* 0x98-0x9B */ + {0x75, 0x81}, {0x75, 0x82}, {0x75, 0x84}, {0x75, 0x85}, /* 0x9C-0x9F */ + {0x75, 0x87}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x75, 0x88}, {0x75, 0x89}, {0x75, 0x8A}, {0x75, 0x8C}, /* 0x40-0x43 */ + {0x75, 0x8D}, {0x75, 0x8E}, {0x75, 0x90}, {0x75, 0x93}, /* 0x44-0x47 */ + {0x75, 0x95}, {0x75, 0x98}, {0x75, 0x9B}, {0x75, 0x9C}, /* 0x48-0x4B */ + {0x75, 0x9E}, {0x75, 0xA2}, {0x75, 0xA6}, {0x75, 0xA7}, /* 0x4C-0x4F */ + {0x75, 0xA8}, {0x75, 0xA9}, {0x75, 0xAA}, {0x75, 0xAD}, /* 0x50-0x53 */ + {0x75, 0xB6}, {0x75, 0xB7}, {0x75, 0xBA}, {0x75, 0xBB}, /* 0x54-0x57 */ + {0x75, 0xBF}, {0x75, 0xC0}, {0x75, 0xC1}, {0x75, 0xC6}, /* 0x58-0x5B */ + {0x75, 0xCB}, {0x75, 0xCC}, {0x75, 0xCE}, {0x75, 0xCF}, /* 0x5C-0x5F */ + {0x75, 0xD0}, {0x75, 0xD1}, {0x75, 0xD3}, {0x75, 0xD7}, /* 0x60-0x63 */ + {0x75, 0xD9}, {0x75, 0xDA}, {0x75, 0xDC}, {0x75, 0xDD}, /* 0x64-0x67 */ + {0x75, 0xDF}, {0x75, 0xE0}, {0x75, 0xE1}, {0x75, 0xE5}, /* 0x68-0x6B */ + {0x75, 0xE9}, {0x75, 0xEC}, {0x75, 0xED}, {0x75, 0xEE}, /* 0x6C-0x6F */ + {0x75, 0xEF}, {0x75, 0xF2}, {0x75, 0xF3}, {0x75, 0xF5}, /* 0x70-0x73 */ + {0x75, 0xF6}, {0x75, 0xF7}, {0x75, 0xF8}, {0x75, 0xFA}, /* 0x74-0x77 */ + {0x75, 0xFB}, {0x75, 0xFD}, {0x75, 0xFE}, {0x76, 0x02}, /* 0x78-0x7B */ + {0x76, 0x04}, {0x76, 0x06}, {0x76, 0x07}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x76, 0x08}, {0x76, 0x09}, {0x76, 0x0B}, {0x76, 0x0D}, /* 0x80-0x83 */ + {0x76, 0x0E}, {0x76, 0x0F}, {0x76, 0x11}, {0x76, 0x12}, /* 0x84-0x87 */ + {0x76, 0x13}, {0x76, 0x14}, {0x76, 0x16}, {0x76, 0x1A}, /* 0x88-0x8B */ + {0x76, 0x1C}, {0x76, 0x1D}, {0x76, 0x1E}, {0x76, 0x21}, /* 0x8C-0x8F */ + {0x76, 0x23}, {0x76, 0x27}, {0x76, 0x28}, {0x76, 0x2C}, /* 0x90-0x93 */ + {0x76, 0x2E}, {0x76, 0x2F}, {0x76, 0x31}, {0x76, 0x32}, /* 0x94-0x97 */ + {0x76, 0x36}, {0x76, 0x37}, {0x76, 0x39}, {0x76, 0x3A}, /* 0x98-0x9B */ + {0x76, 0x3B}, {0x76, 0x3D}, {0x76, 0x41}, {0x76, 0x42}, /* 0x9C-0x9F */ + {0x76, 0x44}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x76, 0x45}, {0x76, 0x46}, {0x76, 0x47}, {0x76, 0x48}, /* 0x40-0x43 */ + {0x76, 0x49}, {0x76, 0x4A}, {0x76, 0x4B}, {0x76, 0x4E}, /* 0x44-0x47 */ + {0x76, 0x4F}, {0x76, 0x50}, {0x76, 0x51}, {0x76, 0x52}, /* 0x48-0x4B */ + {0x76, 0x53}, {0x76, 0x55}, {0x76, 0x57}, {0x76, 0x58}, /* 0x4C-0x4F */ + {0x76, 0x59}, {0x76, 0x5A}, {0x76, 0x5B}, {0x76, 0x5D}, /* 0x50-0x53 */ + {0x76, 0x5F}, {0x76, 0x60}, {0x76, 0x61}, {0x76, 0x62}, /* 0x54-0x57 */ + {0x76, 0x64}, {0x76, 0x65}, {0x76, 0x66}, {0x76, 0x67}, /* 0x58-0x5B */ + {0x76, 0x68}, {0x76, 0x69}, {0x76, 0x6A}, {0x76, 0x6C}, /* 0x5C-0x5F */ + {0x76, 0x6D}, {0x76, 0x6E}, {0x76, 0x70}, {0x76, 0x71}, /* 0x60-0x63 */ + {0x76, 0x72}, {0x76, 0x73}, {0x76, 0x74}, {0x76, 0x75}, /* 0x64-0x67 */ + {0x76, 0x76}, {0x76, 0x77}, {0x76, 0x79}, {0x76, 0x7A}, /* 0x68-0x6B */ + {0x76, 0x7C}, {0x76, 0x7F}, {0x76, 0x80}, {0x76, 0x81}, /* 0x6C-0x6F */ + {0x76, 0x83}, {0x76, 0x85}, {0x76, 0x89}, {0x76, 0x8A}, /* 0x70-0x73 */ + {0x76, 0x8C}, {0x76, 0x8D}, {0x76, 0x8F}, {0x76, 0x90}, /* 0x74-0x77 */ + {0x76, 0x92}, {0x76, 0x94}, {0x76, 0x95}, {0x76, 0x97}, /* 0x78-0x7B */ + {0x76, 0x98}, {0x76, 0x9A}, {0x76, 0x9B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x76, 0x9C}, {0x76, 0x9D}, {0x76, 0x9E}, {0x76, 0x9F}, /* 0x80-0x83 */ + {0x76, 0xA0}, {0x76, 0xA1}, {0x76, 0xA2}, {0x76, 0xA3}, /* 0x84-0x87 */ + {0x76, 0xA5}, {0x76, 0xA6}, {0x76, 0xA7}, {0x76, 0xA8}, /* 0x88-0x8B */ + {0x76, 0xA9}, {0x76, 0xAA}, {0x76, 0xAB}, {0x76, 0xAC}, /* 0x8C-0x8F */ + {0x76, 0xAD}, {0x76, 0xAF}, {0x76, 0xB0}, {0x76, 0xB3}, /* 0x90-0x93 */ + {0x76, 0xB5}, {0x76, 0xB6}, {0x76, 0xB7}, {0x76, 0xB8}, /* 0x94-0x97 */ + {0x76, 0xB9}, {0x76, 0xBA}, {0x76, 0xBB}, {0x76, 0xBC}, /* 0x98-0x9B */ + {0x76, 0xBD}, {0x76, 0xBE}, {0x76, 0xC0}, {0x76, 0xC1}, /* 0x9C-0x9F */ + {0x76, 0xC3}, {0x55, 0x4A}, {0x96, 0x3F}, {0x57, 0xC3}, /* 0xA0-0xA3 */ + {0x63, 0x28}, {0x54, 0xCE}, {0x55, 0x09}, {0x54, 0xC0}, /* 0xA4-0xA7 */ + {0x76, 0x91}, {0x76, 0x4C}, {0x85, 0x3C}, {0x77, 0xEE}, /* 0xA8-0xAB */ + {0x82, 0x7E}, {0x78, 0x8D}, {0x72, 0x31}, {0x96, 0x98}, /* 0xAC-0xAF */ + {0x97, 0x8D}, {0x6C, 0x28}, {0x5B, 0x89}, {0x4F, 0xFA}, /* 0xB0-0xB3 */ + {0x63, 0x09}, {0x66, 0x97}, {0x5C, 0xB8}, {0x80, 0xFA}, /* 0xB4-0xB7 */ + {0x68, 0x48}, {0x80, 0xAE}, {0x66, 0x02}, {0x76, 0xCE}, /* 0xB8-0xBB */ + {0x51, 0xF9}, {0x65, 0x56}, {0x71, 0xAC}, {0x7F, 0xF1}, /* 0xBC-0xBF */ + {0x88, 0x84}, {0x50, 0xB2}, {0x59, 0x65}, {0x61, 0xCA}, /* 0xC0-0xC3 */ + {0x6F, 0xB3}, {0x82, 0xAD}, {0x63, 0x4C}, {0x62, 0x52}, /* 0xC4-0xC7 */ + {0x53, 0xED}, {0x54, 0x27}, {0x7B, 0x06}, {0x51, 0x6B}, /* 0xC8-0xCB */ + {0x75, 0xA4}, {0x5D, 0xF4}, {0x62, 0xD4}, {0x8D, 0xCB}, /* 0xCC-0xCF */ + {0x97, 0x76}, {0x62, 0x8A}, {0x80, 0x19}, {0x57, 0x5D}, /* 0xD0-0xD3 */ + {0x97, 0x38}, {0x7F, 0x62}, {0x72, 0x38}, {0x76, 0x7D}, /* 0xD4-0xD7 */ + {0x67, 0xCF}, {0x76, 0x7E}, {0x64, 0x46}, {0x4F, 0x70}, /* 0xD8-0xDB */ + {0x8D, 0x25}, {0x62, 0xDC}, {0x7A, 0x17}, {0x65, 0x91}, /* 0xDC-0xDF */ + {0x73, 0xED}, {0x64, 0x2C}, {0x62, 0x73}, {0x82, 0x2C}, /* 0xE0-0xE3 */ + {0x98, 0x81}, {0x67, 0x7F}, {0x72, 0x48}, {0x62, 0x6E}, /* 0xE4-0xE7 */ + {0x62, 0xCC}, {0x4F, 0x34}, {0x74, 0xE3}, {0x53, 0x4A}, /* 0xE8-0xEB */ + {0x52, 0x9E}, {0x7E, 0xCA}, {0x90, 0xA6}, {0x5E, 0x2E}, /* 0xEC-0xEF */ + {0x68, 0x86}, {0x69, 0x9C}, {0x81, 0x80}, {0x7E, 0xD1}, /* 0xF0-0xF3 */ + {0x68, 0xD2}, {0x78, 0xC5}, {0x86, 0x8C}, {0x95, 0x51}, /* 0xF4-0xF7 */ + {0x50, 0x8D}, {0x8C, 0x24}, {0x82, 0xDE}, {0x80, 0xDE}, /* 0xF8-0xFB */ + {0x53, 0x05}, {0x89, 0x12}, {0x52, 0x65}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x76, 0xC4}, {0x76, 0xC7}, {0x76, 0xC9}, {0x76, 0xCB}, /* 0x40-0x43 */ + {0x76, 0xCC}, {0x76, 0xD3}, {0x76, 0xD5}, {0x76, 0xD9}, /* 0x44-0x47 */ + {0x76, 0xDA}, {0x76, 0xDC}, {0x76, 0xDD}, {0x76, 0xDE}, /* 0x48-0x4B */ + {0x76, 0xE0}, {0x76, 0xE1}, {0x76, 0xE2}, {0x76, 0xE3}, /* 0x4C-0x4F */ + {0x76, 0xE4}, {0x76, 0xE6}, {0x76, 0xE7}, {0x76, 0xE8}, /* 0x50-0x53 */ + {0x76, 0xE9}, {0x76, 0xEA}, {0x76, 0xEB}, {0x76, 0xEC}, /* 0x54-0x57 */ + {0x76, 0xED}, {0x76, 0xF0}, {0x76, 0xF3}, {0x76, 0xF5}, /* 0x58-0x5B */ + {0x76, 0xF6}, {0x76, 0xF7}, {0x76, 0xFA}, {0x76, 0xFB}, /* 0x5C-0x5F */ + {0x76, 0xFD}, {0x76, 0xFF}, {0x77, 0x00}, {0x77, 0x02}, /* 0x60-0x63 */ + {0x77, 0x03}, {0x77, 0x05}, {0x77, 0x06}, {0x77, 0x0A}, /* 0x64-0x67 */ + {0x77, 0x0C}, {0x77, 0x0E}, {0x77, 0x0F}, {0x77, 0x10}, /* 0x68-0x6B */ + {0x77, 0x11}, {0x77, 0x12}, {0x77, 0x13}, {0x77, 0x14}, /* 0x6C-0x6F */ + {0x77, 0x15}, {0x77, 0x16}, {0x77, 0x17}, {0x77, 0x18}, /* 0x70-0x73 */ + {0x77, 0x1B}, {0x77, 0x1C}, {0x77, 0x1D}, {0x77, 0x1E}, /* 0x74-0x77 */ + {0x77, 0x21}, {0x77, 0x23}, {0x77, 0x24}, {0x77, 0x25}, /* 0x78-0x7B */ + {0x77, 0x27}, {0x77, 0x2A}, {0x77, 0x2B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x77, 0x2C}, {0x77, 0x2E}, {0x77, 0x30}, {0x77, 0x31}, /* 0x80-0x83 */ + {0x77, 0x32}, {0x77, 0x33}, {0x77, 0x34}, {0x77, 0x39}, /* 0x84-0x87 */ + {0x77, 0x3B}, {0x77, 0x3D}, {0x77, 0x3E}, {0x77, 0x3F}, /* 0x88-0x8B */ + {0x77, 0x42}, {0x77, 0x44}, {0x77, 0x45}, {0x77, 0x46}, /* 0x8C-0x8F */ + {0x77, 0x48}, {0x77, 0x49}, {0x77, 0x4A}, {0x77, 0x4B}, /* 0x90-0x93 */ + {0x77, 0x4C}, {0x77, 0x4D}, {0x77, 0x4E}, {0x77, 0x4F}, /* 0x94-0x97 */ + {0x77, 0x52}, {0x77, 0x53}, {0x77, 0x54}, {0x77, 0x55}, /* 0x98-0x9B */ + {0x77, 0x56}, {0x77, 0x57}, {0x77, 0x58}, {0x77, 0x59}, /* 0x9C-0x9F */ + {0x77, 0x5C}, {0x85, 0x84}, {0x96, 0xF9}, {0x4F, 0xDD}, /* 0xA0-0xA3 */ + {0x58, 0x21}, {0x99, 0x71}, {0x5B, 0x9D}, {0x62, 0xB1}, /* 0xA4-0xA7 */ + {0x62, 0xA5}, {0x66, 0xB4}, {0x8C, 0x79}, {0x9C, 0x8D}, /* 0xA8-0xAB */ + {0x72, 0x06}, {0x67, 0x6F}, {0x78, 0x91}, {0x60, 0xB2}, /* 0xAC-0xAF */ + {0x53, 0x51}, {0x53, 0x17}, {0x8F, 0x88}, {0x80, 0xCC}, /* 0xB0-0xB3 */ + {0x8D, 0x1D}, {0x94, 0xA1}, {0x50, 0x0D}, {0x72, 0xC8}, /* 0xB4-0xB7 */ + {0x59, 0x07}, {0x60, 0xEB}, {0x71, 0x19}, {0x88, 0xAB}, /* 0xB8-0xBB */ + {0x59, 0x54}, {0x82, 0xEF}, {0x67, 0x2C}, {0x7B, 0x28}, /* 0xBC-0xBF */ + {0x5D, 0x29}, {0x7E, 0xF7}, {0x75, 0x2D}, {0x6C, 0xF5}, /* 0xC0-0xC3 */ + {0x8E, 0x66}, {0x8F, 0xF8}, {0x90, 0x3C}, {0x9F, 0x3B}, /* 0xC4-0xC7 */ + {0x6B, 0xD4}, {0x91, 0x19}, {0x7B, 0x14}, {0x5F, 0x7C}, /* 0xC8-0xCB */ + {0x78, 0xA7}, {0x84, 0xD6}, {0x85, 0x3D}, {0x6B, 0xD5}, /* 0xCC-0xCF */ + {0x6B, 0xD9}, {0x6B, 0xD6}, {0x5E, 0x01}, {0x5E, 0x87}, /* 0xD0-0xD3 */ + {0x75, 0xF9}, {0x95, 0xED}, {0x65, 0x5D}, {0x5F, 0x0A}, /* 0xD4-0xD7 */ + {0x5F, 0xC5}, {0x8F, 0x9F}, {0x58, 0xC1}, {0x81, 0xC2}, /* 0xD8-0xDB */ + {0x90, 0x7F}, {0x96, 0x5B}, {0x97, 0xAD}, {0x8F, 0xB9}, /* 0xDC-0xDF */ + {0x7F, 0x16}, {0x8D, 0x2C}, {0x62, 0x41}, {0x4F, 0xBF}, /* 0xE0-0xE3 */ + {0x53, 0xD8}, {0x53, 0x5E}, {0x8F, 0xA8}, {0x8F, 0xA9}, /* 0xE4-0xE7 */ + {0x8F, 0xAB}, {0x90, 0x4D}, {0x68, 0x07}, {0x5F, 0x6A}, /* 0xE8-0xEB */ + {0x81, 0x98}, {0x88, 0x68}, {0x9C, 0xD6}, {0x61, 0x8B}, /* 0xEC-0xEF */ + {0x52, 0x2B}, {0x76, 0x2A}, {0x5F, 0x6C}, {0x65, 0x8C}, /* 0xF0-0xF3 */ + {0x6F, 0xD2}, {0x6E, 0xE8}, {0x5B, 0xBE}, {0x64, 0x48}, /* 0xF4-0xF7 */ + {0x51, 0x75}, {0x51, 0xB0}, {0x67, 0xC4}, {0x4E, 0x19}, /* 0xF8-0xFB */ + {0x79, 0xC9}, {0x99, 0x7C}, {0x70, 0xB3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x77, 0x5D}, {0x77, 0x5E}, {0x77, 0x5F}, {0x77, 0x60}, /* 0x40-0x43 */ + {0x77, 0x64}, {0x77, 0x67}, {0x77, 0x69}, {0x77, 0x6A}, /* 0x44-0x47 */ + {0x77, 0x6D}, {0x77, 0x6E}, {0x77, 0x6F}, {0x77, 0x70}, /* 0x48-0x4B */ + {0x77, 0x71}, {0x77, 0x72}, {0x77, 0x73}, {0x77, 0x74}, /* 0x4C-0x4F */ + {0x77, 0x75}, {0x77, 0x76}, {0x77, 0x77}, {0x77, 0x78}, /* 0x50-0x53 */ + {0x77, 0x7A}, {0x77, 0x7B}, {0x77, 0x7C}, {0x77, 0x81}, /* 0x54-0x57 */ + {0x77, 0x82}, {0x77, 0x83}, {0x77, 0x86}, {0x77, 0x87}, /* 0x58-0x5B */ + {0x77, 0x88}, {0x77, 0x89}, {0x77, 0x8A}, {0x77, 0x8B}, /* 0x5C-0x5F */ + {0x77, 0x8F}, {0x77, 0x90}, {0x77, 0x93}, {0x77, 0x94}, /* 0x60-0x63 */ + {0x77, 0x95}, {0x77, 0x96}, {0x77, 0x97}, {0x77, 0x98}, /* 0x64-0x67 */ + {0x77, 0x99}, {0x77, 0x9A}, {0x77, 0x9B}, {0x77, 0x9C}, /* 0x68-0x6B */ + {0x77, 0x9D}, {0x77, 0x9E}, {0x77, 0xA1}, {0x77, 0xA3}, /* 0x6C-0x6F */ + {0x77, 0xA4}, {0x77, 0xA6}, {0x77, 0xA8}, {0x77, 0xAB}, /* 0x70-0x73 */ + {0x77, 0xAD}, {0x77, 0xAE}, {0x77, 0xAF}, {0x77, 0xB1}, /* 0x74-0x77 */ + {0x77, 0xB2}, {0x77, 0xB4}, {0x77, 0xB6}, {0x77, 0xB7}, /* 0x78-0x7B */ + {0x77, 0xB8}, {0x77, 0xB9}, {0x77, 0xBA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x77, 0xBC}, {0x77, 0xBE}, {0x77, 0xC0}, {0x77, 0xC1}, /* 0x80-0x83 */ + {0x77, 0xC2}, {0x77, 0xC3}, {0x77, 0xC4}, {0x77, 0xC5}, /* 0x84-0x87 */ + {0x77, 0xC6}, {0x77, 0xC7}, {0x77, 0xC8}, {0x77, 0xC9}, /* 0x88-0x8B */ + {0x77, 0xCA}, {0x77, 0xCB}, {0x77, 0xCC}, {0x77, 0xCE}, /* 0x8C-0x8F */ + {0x77, 0xCF}, {0x77, 0xD0}, {0x77, 0xD1}, {0x77, 0xD2}, /* 0x90-0x93 */ + {0x77, 0xD3}, {0x77, 0xD4}, {0x77, 0xD5}, {0x77, 0xD6}, /* 0x94-0x97 */ + {0x77, 0xD8}, {0x77, 0xD9}, {0x77, 0xDA}, {0x77, 0xDD}, /* 0x98-0x9B */ + {0x77, 0xDE}, {0x77, 0xDF}, {0x77, 0xE0}, {0x77, 0xE1}, /* 0x9C-0x9F */ + {0x77, 0xE4}, {0x75, 0xC5}, {0x5E, 0x76}, {0x73, 0xBB}, /* 0xA0-0xA3 */ + {0x83, 0xE0}, {0x64, 0xAD}, {0x62, 0xE8}, {0x94, 0xB5}, /* 0xA4-0xA7 */ + {0x6C, 0xE2}, {0x53, 0x5A}, {0x52, 0xC3}, {0x64, 0x0F}, /* 0xA8-0xAB */ + {0x94, 0xC2}, {0x7B, 0x94}, {0x4F, 0x2F}, {0x5E, 0x1B}, /* 0xAC-0xAF */ + {0x82, 0x36}, {0x81, 0x16}, {0x81, 0x8A}, {0x6E, 0x24}, /* 0xB0-0xB3 */ + {0x6C, 0xCA}, {0x9A, 0x73}, {0x63, 0x55}, {0x53, 0x5C}, /* 0xB4-0xB7 */ + {0x54, 0xFA}, {0x88, 0x65}, {0x57, 0xE0}, {0x4E, 0x0D}, /* 0xB8-0xBB */ + {0x5E, 0x03}, {0x6B, 0x65}, {0x7C, 0x3F}, {0x90, 0xE8}, /* 0xBC-0xBF */ + {0x60, 0x16}, {0x64, 0xE6}, {0x73, 0x1C}, {0x88, 0xC1}, /* 0xC0-0xC3 */ + {0x67, 0x50}, {0x62, 0x4D}, {0x8D, 0x22}, {0x77, 0x6C}, /* 0xC4-0xC7 */ + {0x8E, 0x29}, {0x91, 0xC7}, {0x5F, 0x69}, {0x83, 0xDC}, /* 0xC8-0xCB */ + {0x85, 0x21}, {0x99, 0x10}, {0x53, 0xC2}, {0x86, 0x95}, /* 0xCC-0xCF */ + {0x6B, 0x8B}, {0x60, 0xED}, {0x60, 0xE8}, {0x70, 0x7F}, /* 0xD0-0xD3 */ + {0x82, 0xCD}, {0x82, 0x31}, {0x4E, 0xD3}, {0x6C, 0xA7}, /* 0xD4-0xD7 */ + {0x85, 0xCF}, {0x64, 0xCD}, {0x7C, 0xD9}, {0x69, 0xFD}, /* 0xD8-0xDB */ + {0x66, 0xF9}, {0x83, 0x49}, {0x53, 0x95}, {0x7B, 0x56}, /* 0xDC-0xDF */ + {0x4F, 0xA7}, {0x51, 0x8C}, {0x6D, 0x4B}, {0x5C, 0x42}, /* 0xE0-0xE3 */ + {0x8E, 0x6D}, {0x63, 0xD2}, {0x53, 0xC9}, {0x83, 0x2C}, /* 0xE4-0xE7 */ + {0x83, 0x36}, {0x67, 0xE5}, {0x78, 0xB4}, {0x64, 0x3D}, /* 0xE8-0xEB */ + {0x5B, 0xDF}, {0x5C, 0x94}, {0x5D, 0xEE}, {0x8B, 0xE7}, /* 0xEC-0xEF */ + {0x62, 0xC6}, {0x67, 0xF4}, {0x8C, 0x7A}, {0x64, 0x00}, /* 0xF0-0xF3 */ + {0x63, 0xBA}, {0x87, 0x49}, {0x99, 0x8B}, {0x8C, 0x17}, /* 0xF4-0xF7 */ + {0x7F, 0x20}, {0x94, 0xF2}, {0x4E, 0xA7}, {0x96, 0x10}, /* 0xF8-0xFB */ + {0x98, 0xA4}, {0x66, 0x0C}, {0x73, 0x16}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x77, 0xE6}, {0x77, 0xE8}, {0x77, 0xEA}, {0x77, 0xEF}, /* 0x40-0x43 */ + {0x77, 0xF0}, {0x77, 0xF1}, {0x77, 0xF2}, {0x77, 0xF4}, /* 0x44-0x47 */ + {0x77, 0xF5}, {0x77, 0xF7}, {0x77, 0xF9}, {0x77, 0xFA}, /* 0x48-0x4B */ + {0x77, 0xFB}, {0x77, 0xFC}, {0x78, 0x03}, {0x78, 0x04}, /* 0x4C-0x4F */ + {0x78, 0x05}, {0x78, 0x06}, {0x78, 0x07}, {0x78, 0x08}, /* 0x50-0x53 */ + {0x78, 0x0A}, {0x78, 0x0B}, {0x78, 0x0E}, {0x78, 0x0F}, /* 0x54-0x57 */ + {0x78, 0x10}, {0x78, 0x13}, {0x78, 0x15}, {0x78, 0x19}, /* 0x58-0x5B */ + {0x78, 0x1B}, {0x78, 0x1E}, {0x78, 0x20}, {0x78, 0x21}, /* 0x5C-0x5F */ + {0x78, 0x22}, {0x78, 0x24}, {0x78, 0x28}, {0x78, 0x2A}, /* 0x60-0x63 */ + {0x78, 0x2B}, {0x78, 0x2E}, {0x78, 0x2F}, {0x78, 0x31}, /* 0x64-0x67 */ + {0x78, 0x32}, {0x78, 0x33}, {0x78, 0x35}, {0x78, 0x36}, /* 0x68-0x6B */ + {0x78, 0x3D}, {0x78, 0x3F}, {0x78, 0x41}, {0x78, 0x42}, /* 0x6C-0x6F */ + {0x78, 0x43}, {0x78, 0x44}, {0x78, 0x46}, {0x78, 0x48}, /* 0x70-0x73 */ + {0x78, 0x49}, {0x78, 0x4A}, {0x78, 0x4B}, {0x78, 0x4D}, /* 0x74-0x77 */ + {0x78, 0x4F}, {0x78, 0x51}, {0x78, 0x53}, {0x78, 0x54}, /* 0x78-0x7B */ + {0x78, 0x58}, {0x78, 0x59}, {0x78, 0x5A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x78, 0x5B}, {0x78, 0x5C}, {0x78, 0x5E}, {0x78, 0x5F}, /* 0x80-0x83 */ + {0x78, 0x60}, {0x78, 0x61}, {0x78, 0x62}, {0x78, 0x63}, /* 0x84-0x87 */ + {0x78, 0x64}, {0x78, 0x65}, {0x78, 0x66}, {0x78, 0x67}, /* 0x88-0x8B */ + {0x78, 0x68}, {0x78, 0x69}, {0x78, 0x6F}, {0x78, 0x70}, /* 0x8C-0x8F */ + {0x78, 0x71}, {0x78, 0x72}, {0x78, 0x73}, {0x78, 0x74}, /* 0x90-0x93 */ + {0x78, 0x75}, {0x78, 0x76}, {0x78, 0x78}, {0x78, 0x79}, /* 0x94-0x97 */ + {0x78, 0x7A}, {0x78, 0x7B}, {0x78, 0x7D}, {0x78, 0x7E}, /* 0x98-0x9B */ + {0x78, 0x7F}, {0x78, 0x80}, {0x78, 0x81}, {0x78, 0x82}, /* 0x9C-0x9F */ + {0x78, 0x83}, {0x57, 0x3A}, {0x5C, 0x1D}, {0x5E, 0x38}, /* 0xA0-0xA3 */ + {0x95, 0x7F}, {0x50, 0x7F}, {0x80, 0xA0}, {0x53, 0x82}, /* 0xA4-0xA7 */ + {0x65, 0x5E}, {0x75, 0x45}, {0x55, 0x31}, {0x50, 0x21}, /* 0xA8-0xAB */ + {0x8D, 0x85}, {0x62, 0x84}, {0x94, 0x9E}, {0x67, 0x1D}, /* 0xAC-0xAF */ + {0x56, 0x32}, {0x6F, 0x6E}, {0x5D, 0xE2}, {0x54, 0x35}, /* 0xB0-0xB3 */ + {0x70, 0x92}, {0x8F, 0x66}, {0x62, 0x6F}, {0x64, 0xA4}, /* 0xB4-0xB7 */ + {0x63, 0xA3}, {0x5F, 0x7B}, {0x6F, 0x88}, {0x90, 0xF4}, /* 0xB8-0xBB */ + {0x81, 0xE3}, {0x8F, 0xB0}, {0x5C, 0x18}, {0x66, 0x68}, /* 0xBC-0xBF */ + {0x5F, 0xF1}, {0x6C, 0x89}, {0x96, 0x48}, {0x8D, 0x81}, /* 0xC0-0xC3 */ + {0x88, 0x6C}, {0x64, 0x91}, {0x79, 0xF0}, {0x57, 0xCE}, /* 0xC4-0xC7 */ + {0x6A, 0x59}, {0x62, 0x10}, {0x54, 0x48}, {0x4E, 0x58}, /* 0xC8-0xCB */ + {0x7A, 0x0B}, {0x60, 0xE9}, {0x6F, 0x84}, {0x8B, 0xDA}, /* 0xCC-0xCF */ + {0x62, 0x7F}, {0x90, 0x1E}, {0x9A, 0x8B}, {0x79, 0xE4}, /* 0xD0-0xD3 */ + {0x54, 0x03}, {0x75, 0xF4}, {0x63, 0x01}, {0x53, 0x19}, /* 0xD4-0xD7 */ + {0x6C, 0x60}, {0x8F, 0xDF}, {0x5F, 0x1B}, {0x9A, 0x70}, /* 0xD8-0xDB */ + {0x80, 0x3B}, {0x9F, 0x7F}, {0x4F, 0x88}, {0x5C, 0x3A}, /* 0xDC-0xDF */ + {0x8D, 0x64}, {0x7F, 0xC5}, {0x65, 0xA5}, {0x70, 0xBD}, /* 0xE0-0xE3 */ + {0x51, 0x45}, {0x51, 0xB2}, {0x86, 0x6B}, {0x5D, 0x07}, /* 0xE4-0xE7 */ + {0x5B, 0xA0}, {0x62, 0xBD}, {0x91, 0x6C}, {0x75, 0x74}, /* 0xE8-0xEB */ + {0x8E, 0x0C}, {0x7A, 0x20}, {0x61, 0x01}, {0x7B, 0x79}, /* 0xEC-0xEF */ + {0x4E, 0xC7}, {0x7E, 0xF8}, {0x77, 0x85}, {0x4E, 0x11}, /* 0xF0-0xF3 */ + {0x81, 0xED}, {0x52, 0x1D}, {0x51, 0xFA}, {0x6A, 0x71}, /* 0xF4-0xF7 */ + {0x53, 0xA8}, {0x8E, 0x87}, {0x95, 0x04}, {0x96, 0xCF}, /* 0xF8-0xFB */ + {0x6E, 0xC1}, {0x96, 0x64}, {0x69, 0x5A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x78, 0x84}, {0x78, 0x85}, {0x78, 0x86}, {0x78, 0x88}, /* 0x40-0x43 */ + {0x78, 0x8A}, {0x78, 0x8B}, {0x78, 0x8F}, {0x78, 0x90}, /* 0x44-0x47 */ + {0x78, 0x92}, {0x78, 0x94}, {0x78, 0x95}, {0x78, 0x96}, /* 0x48-0x4B */ + {0x78, 0x99}, {0x78, 0x9D}, {0x78, 0x9E}, {0x78, 0xA0}, /* 0x4C-0x4F */ + {0x78, 0xA2}, {0x78, 0xA4}, {0x78, 0xA6}, {0x78, 0xA8}, /* 0x50-0x53 */ + {0x78, 0xA9}, {0x78, 0xAA}, {0x78, 0xAB}, {0x78, 0xAC}, /* 0x54-0x57 */ + {0x78, 0xAD}, {0x78, 0xAE}, {0x78, 0xAF}, {0x78, 0xB5}, /* 0x58-0x5B */ + {0x78, 0xB6}, {0x78, 0xB7}, {0x78, 0xB8}, {0x78, 0xBA}, /* 0x5C-0x5F */ + {0x78, 0xBB}, {0x78, 0xBC}, {0x78, 0xBD}, {0x78, 0xBF}, /* 0x60-0x63 */ + {0x78, 0xC0}, {0x78, 0xC2}, {0x78, 0xC3}, {0x78, 0xC4}, /* 0x64-0x67 */ + {0x78, 0xC6}, {0x78, 0xC7}, {0x78, 0xC8}, {0x78, 0xCC}, /* 0x68-0x6B */ + {0x78, 0xCD}, {0x78, 0xCE}, {0x78, 0xCF}, {0x78, 0xD1}, /* 0x6C-0x6F */ + {0x78, 0xD2}, {0x78, 0xD3}, {0x78, 0xD6}, {0x78, 0xD7}, /* 0x70-0x73 */ + {0x78, 0xD8}, {0x78, 0xDA}, {0x78, 0xDB}, {0x78, 0xDC}, /* 0x74-0x77 */ + {0x78, 0xDD}, {0x78, 0xDE}, {0x78, 0xDF}, {0x78, 0xE0}, /* 0x78-0x7B */ + {0x78, 0xE1}, {0x78, 0xE2}, {0x78, 0xE3}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x78, 0xE4}, {0x78, 0xE5}, {0x78, 0xE6}, {0x78, 0xE7}, /* 0x80-0x83 */ + {0x78, 0xE9}, {0x78, 0xEA}, {0x78, 0xEB}, {0x78, 0xED}, /* 0x84-0x87 */ + {0x78, 0xEE}, {0x78, 0xEF}, {0x78, 0xF0}, {0x78, 0xF1}, /* 0x88-0x8B */ + {0x78, 0xF3}, {0x78, 0xF5}, {0x78, 0xF6}, {0x78, 0xF8}, /* 0x8C-0x8F */ + {0x78, 0xF9}, {0x78, 0xFB}, {0x78, 0xFC}, {0x78, 0xFD}, /* 0x90-0x93 */ + {0x78, 0xFE}, {0x78, 0xFF}, {0x79, 0x00}, {0x79, 0x02}, /* 0x94-0x97 */ + {0x79, 0x03}, {0x79, 0x04}, {0x79, 0x06}, {0x79, 0x07}, /* 0x98-0x9B */ + {0x79, 0x08}, {0x79, 0x09}, {0x79, 0x0A}, {0x79, 0x0B}, /* 0x9C-0x9F */ + {0x79, 0x0C}, {0x78, 0x40}, {0x50, 0xA8}, {0x77, 0xD7}, /* 0xA0-0xA3 */ + {0x64, 0x10}, {0x89, 0xE6}, {0x59, 0x04}, {0x63, 0xE3}, /* 0xA4-0xA7 */ + {0x5D, 0xDD}, {0x7A, 0x7F}, {0x69, 0x3D}, {0x4F, 0x20}, /* 0xA8-0xAB */ + {0x82, 0x39}, {0x55, 0x98}, {0x4E, 0x32}, {0x75, 0xAE}, /* 0xAC-0xAF */ + {0x7A, 0x97}, {0x5E, 0x62}, {0x5E, 0x8A}, {0x95, 0xEF}, /* 0xB0-0xB3 */ + {0x52, 0x1B}, {0x54, 0x39}, {0x70, 0x8A}, {0x63, 0x76}, /* 0xB4-0xB7 */ + {0x95, 0x24}, {0x57, 0x82}, {0x66, 0x25}, {0x69, 0x3F}, /* 0xB8-0xBB */ + {0x91, 0x87}, {0x55, 0x07}, {0x6D, 0xF3}, {0x7E, 0xAF}, /* 0xBC-0xBF */ + {0x88, 0x22}, {0x62, 0x33}, {0x7E, 0xF0}, {0x75, 0xB5}, /* 0xC0-0xC3 */ + {0x83, 0x28}, {0x78, 0xC1}, {0x96, 0xCC}, {0x8F, 0x9E}, /* 0xC4-0xC7 */ + {0x61, 0x48}, {0x74, 0xF7}, {0x8B, 0xCD}, {0x6B, 0x64}, /* 0xC8-0xCB */ + {0x52, 0x3A}, {0x8D, 0x50}, {0x6B, 0x21}, {0x80, 0x6A}, /* 0xCC-0xCF */ + {0x84, 0x71}, {0x56, 0xF1}, {0x53, 0x06}, {0x4E, 0xCE}, /* 0xD0-0xD3 */ + {0x4E, 0x1B}, {0x51, 0xD1}, {0x7C, 0x97}, {0x91, 0x8B}, /* 0xD4-0xD7 */ + {0x7C, 0x07}, {0x4F, 0xC3}, {0x8E, 0x7F}, {0x7B, 0xE1}, /* 0xD8-0xDB */ + {0x7A, 0x9C}, {0x64, 0x67}, {0x5D, 0x14}, {0x50, 0xAC}, /* 0xDC-0xDF */ + {0x81, 0x06}, {0x76, 0x01}, {0x7C, 0xB9}, {0x6D, 0xEC}, /* 0xE0-0xE3 */ + {0x7F, 0xE0}, {0x67, 0x51}, {0x5B, 0x58}, {0x5B, 0xF8}, /* 0xE4-0xE7 */ + {0x78, 0xCB}, {0x64, 0xAE}, {0x64, 0x13}, {0x63, 0xAA}, /* 0xE8-0xEB */ + {0x63, 0x2B}, {0x95, 0x19}, {0x64, 0x2D}, {0x8F, 0xBE}, /* 0xEC-0xEF */ + {0x7B, 0x54}, {0x76, 0x29}, {0x62, 0x53}, {0x59, 0x27}, /* 0xF0-0xF3 */ + {0x54, 0x46}, {0x6B, 0x79}, {0x50, 0xA3}, {0x62, 0x34}, /* 0xF4-0xF7 */ + {0x5E, 0x26}, {0x6B, 0x86}, {0x4E, 0xE3}, {0x8D, 0x37}, /* 0xF8-0xFB */ + {0x88, 0x8B}, {0x5F, 0x85}, {0x90, 0x2E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x79, 0x0D}, {0x79, 0x0E}, {0x79, 0x0F}, {0x79, 0x10}, /* 0x40-0x43 */ + {0x79, 0x11}, {0x79, 0x12}, {0x79, 0x14}, {0x79, 0x15}, /* 0x44-0x47 */ + {0x79, 0x16}, {0x79, 0x17}, {0x79, 0x18}, {0x79, 0x19}, /* 0x48-0x4B */ + {0x79, 0x1A}, {0x79, 0x1B}, {0x79, 0x1C}, {0x79, 0x1D}, /* 0x4C-0x4F */ + {0x79, 0x1F}, {0x79, 0x20}, {0x79, 0x21}, {0x79, 0x22}, /* 0x50-0x53 */ + {0x79, 0x23}, {0x79, 0x25}, {0x79, 0x26}, {0x79, 0x27}, /* 0x54-0x57 */ + {0x79, 0x28}, {0x79, 0x29}, {0x79, 0x2A}, {0x79, 0x2B}, /* 0x58-0x5B */ + {0x79, 0x2C}, {0x79, 0x2D}, {0x79, 0x2E}, {0x79, 0x2F}, /* 0x5C-0x5F */ + {0x79, 0x30}, {0x79, 0x31}, {0x79, 0x32}, {0x79, 0x33}, /* 0x60-0x63 */ + {0x79, 0x35}, {0x79, 0x36}, {0x79, 0x37}, {0x79, 0x38}, /* 0x64-0x67 */ + {0x79, 0x39}, {0x79, 0x3D}, {0x79, 0x3F}, {0x79, 0x42}, /* 0x68-0x6B */ + {0x79, 0x43}, {0x79, 0x44}, {0x79, 0x45}, {0x79, 0x47}, /* 0x6C-0x6F */ + {0x79, 0x4A}, {0x79, 0x4B}, {0x79, 0x4C}, {0x79, 0x4D}, /* 0x70-0x73 */ + {0x79, 0x4E}, {0x79, 0x4F}, {0x79, 0x50}, {0x79, 0x51}, /* 0x74-0x77 */ + {0x79, 0x52}, {0x79, 0x54}, {0x79, 0x55}, {0x79, 0x58}, /* 0x78-0x7B */ + {0x79, 0x59}, {0x79, 0x61}, {0x79, 0x63}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x79, 0x64}, {0x79, 0x66}, {0x79, 0x69}, {0x79, 0x6A}, /* 0x80-0x83 */ + {0x79, 0x6B}, {0x79, 0x6C}, {0x79, 0x6E}, {0x79, 0x70}, /* 0x84-0x87 */ + {0x79, 0x71}, {0x79, 0x72}, {0x79, 0x73}, {0x79, 0x74}, /* 0x88-0x8B */ + {0x79, 0x75}, {0x79, 0x76}, {0x79, 0x79}, {0x79, 0x7B}, /* 0x8C-0x8F */ + {0x79, 0x7C}, {0x79, 0x7D}, {0x79, 0x7E}, {0x79, 0x7F}, /* 0x90-0x93 */ + {0x79, 0x82}, {0x79, 0x83}, {0x79, 0x86}, {0x79, 0x87}, /* 0x94-0x97 */ + {0x79, 0x88}, {0x79, 0x89}, {0x79, 0x8B}, {0x79, 0x8C}, /* 0x98-0x9B */ + {0x79, 0x8D}, {0x79, 0x8E}, {0x79, 0x90}, {0x79, 0x91}, /* 0x9C-0x9F */ + {0x79, 0x92}, {0x60, 0x20}, {0x80, 0x3D}, {0x62, 0xC5}, /* 0xA0-0xA3 */ + {0x4E, 0x39}, {0x53, 0x55}, {0x90, 0xF8}, {0x63, 0xB8}, /* 0xA4-0xA7 */ + {0x80, 0xC6}, {0x65, 0xE6}, {0x6C, 0x2E}, {0x4F, 0x46}, /* 0xA8-0xAB */ + {0x60, 0xEE}, {0x6D, 0xE1}, {0x8B, 0xDE}, {0x5F, 0x39}, /* 0xAC-0xAF */ + {0x86, 0xCB}, {0x5F, 0x53}, {0x63, 0x21}, {0x51, 0x5A}, /* 0xB0-0xB3 */ + {0x83, 0x61}, {0x68, 0x63}, {0x52, 0x00}, {0x63, 0x63}, /* 0xB4-0xB7 */ + {0x8E, 0x48}, {0x50, 0x12}, {0x5C, 0x9B}, {0x79, 0x77}, /* 0xB8-0xBB */ + {0x5B, 0xFC}, {0x52, 0x30}, {0x7A, 0x3B}, {0x60, 0xBC}, /* 0xBC-0xBF */ + {0x90, 0x53}, {0x76, 0xD7}, {0x5F, 0xB7}, {0x5F, 0x97}, /* 0xC0-0xC3 */ + {0x76, 0x84}, {0x8E, 0x6C}, {0x70, 0x6F}, {0x76, 0x7B}, /* 0xC4-0xC7 */ + {0x7B, 0x49}, {0x77, 0xAA}, {0x51, 0xF3}, {0x90, 0x93}, /* 0xC8-0xCB */ + {0x58, 0x24}, {0x4F, 0x4E}, {0x6E, 0xF4}, {0x8F, 0xEA}, /* 0xCC-0xCF */ + {0x65, 0x4C}, {0x7B, 0x1B}, {0x72, 0xC4}, {0x6D, 0xA4}, /* 0xD0-0xD3 */ + {0x7F, 0xDF}, {0x5A, 0xE1}, {0x62, 0xB5}, {0x5E, 0x95}, /* 0xD4-0xD7 */ + {0x57, 0x30}, {0x84, 0x82}, {0x7B, 0x2C}, {0x5E, 0x1D}, /* 0xD8-0xDB */ + {0x5F, 0x1F}, {0x90, 0x12}, {0x7F, 0x14}, {0x98, 0xA0}, /* 0xDC-0xDF */ + {0x63, 0x82}, {0x6E, 0xC7}, {0x78, 0x98}, {0x70, 0xB9}, /* 0xE0-0xE3 */ + {0x51, 0x78}, {0x97, 0x5B}, {0x57, 0xAB}, {0x75, 0x35}, /* 0xE4-0xE7 */ + {0x4F, 0x43}, {0x75, 0x38}, {0x5E, 0x97}, {0x60, 0xE6}, /* 0xE8-0xEB */ + {0x59, 0x60}, {0x6D, 0xC0}, {0x6B, 0xBF}, {0x78, 0x89}, /* 0xEC-0xEF */ + {0x53, 0xFC}, {0x96, 0xD5}, {0x51, 0xCB}, {0x52, 0x01}, /* 0xF0-0xF3 */ + {0x63, 0x89}, {0x54, 0x0A}, {0x94, 0x93}, {0x8C, 0x03}, /* 0xF4-0xF7 */ + {0x8D, 0xCC}, {0x72, 0x39}, {0x78, 0x9F}, {0x87, 0x76}, /* 0xF8-0xFB */ + {0x8F, 0xED}, {0x8C, 0x0D}, {0x53, 0xE0}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x79, 0x93}, {0x79, 0x94}, {0x79, 0x95}, {0x79, 0x96}, /* 0x40-0x43 */ + {0x79, 0x97}, {0x79, 0x98}, {0x79, 0x99}, {0x79, 0x9B}, /* 0x44-0x47 */ + {0x79, 0x9C}, {0x79, 0x9D}, {0x79, 0x9E}, {0x79, 0x9F}, /* 0x48-0x4B */ + {0x79, 0xA0}, {0x79, 0xA1}, {0x79, 0xA2}, {0x79, 0xA3}, /* 0x4C-0x4F */ + {0x79, 0xA4}, {0x79, 0xA5}, {0x79, 0xA6}, {0x79, 0xA8}, /* 0x50-0x53 */ + {0x79, 0xA9}, {0x79, 0xAA}, {0x79, 0xAB}, {0x79, 0xAC}, /* 0x54-0x57 */ + {0x79, 0xAD}, {0x79, 0xAE}, {0x79, 0xAF}, {0x79, 0xB0}, /* 0x58-0x5B */ + {0x79, 0xB1}, {0x79, 0xB2}, {0x79, 0xB4}, {0x79, 0xB5}, /* 0x5C-0x5F */ + {0x79, 0xB6}, {0x79, 0xB7}, {0x79, 0xB8}, {0x79, 0xBC}, /* 0x60-0x63 */ + {0x79, 0xBF}, {0x79, 0xC2}, {0x79, 0xC4}, {0x79, 0xC5}, /* 0x64-0x67 */ + {0x79, 0xC7}, {0x79, 0xC8}, {0x79, 0xCA}, {0x79, 0xCC}, /* 0x68-0x6B */ + {0x79, 0xCE}, {0x79, 0xCF}, {0x79, 0xD0}, {0x79, 0xD3}, /* 0x6C-0x6F */ + {0x79, 0xD4}, {0x79, 0xD6}, {0x79, 0xD7}, {0x79, 0xD9}, /* 0x70-0x73 */ + {0x79, 0xDA}, {0x79, 0xDB}, {0x79, 0xDC}, {0x79, 0xDD}, /* 0x74-0x77 */ + {0x79, 0xDE}, {0x79, 0xE0}, {0x79, 0xE1}, {0x79, 0xE2}, /* 0x78-0x7B */ + {0x79, 0xE5}, {0x79, 0xE8}, {0x79, 0xEA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x79, 0xEC}, {0x79, 0xEE}, {0x79, 0xF1}, {0x79, 0xF2}, /* 0x80-0x83 */ + {0x79, 0xF3}, {0x79, 0xF4}, {0x79, 0xF5}, {0x79, 0xF6}, /* 0x84-0x87 */ + {0x79, 0xF7}, {0x79, 0xF9}, {0x79, 0xFA}, {0x79, 0xFC}, /* 0x88-0x8B */ + {0x79, 0xFE}, {0x79, 0xFF}, {0x7A, 0x01}, {0x7A, 0x04}, /* 0x8C-0x8F */ + {0x7A, 0x05}, {0x7A, 0x07}, {0x7A, 0x08}, {0x7A, 0x09}, /* 0x90-0x93 */ + {0x7A, 0x0A}, {0x7A, 0x0C}, {0x7A, 0x0F}, {0x7A, 0x10}, /* 0x94-0x97 */ + {0x7A, 0x11}, {0x7A, 0x12}, {0x7A, 0x13}, {0x7A, 0x15}, /* 0x98-0x9B */ + {0x7A, 0x16}, {0x7A, 0x18}, {0x7A, 0x19}, {0x7A, 0x1B}, /* 0x9C-0x9F */ + {0x7A, 0x1C}, {0x4E, 0x01}, {0x76, 0xEF}, {0x53, 0xEE}, /* 0xA0-0xA3 */ + {0x94, 0x89}, {0x98, 0x76}, {0x9F, 0x0E}, {0x95, 0x2D}, /* 0xA4-0xA7 */ + {0x5B, 0x9A}, {0x8B, 0xA2}, {0x4E, 0x22}, {0x4E, 0x1C}, /* 0xA8-0xAB */ + {0x51, 0xAC}, {0x84, 0x63}, {0x61, 0xC2}, {0x52, 0xA8}, /* 0xAC-0xAF */ + {0x68, 0x0B}, {0x4F, 0x97}, {0x60, 0x6B}, {0x51, 0xBB}, /* 0xB0-0xB3 */ + {0x6D, 0x1E}, {0x51, 0x5C}, {0x62, 0x96}, {0x65, 0x97}, /* 0xB4-0xB7 */ + {0x96, 0x61}, {0x8C, 0x46}, {0x90, 0x17}, {0x75, 0xD8}, /* 0xB8-0xBB */ + {0x90, 0xFD}, {0x77, 0x63}, {0x6B, 0xD2}, {0x72, 0x8A}, /* 0xBC-0xBF */ + {0x72, 0xEC}, {0x8B, 0xFB}, {0x58, 0x35}, {0x77, 0x79}, /* 0xC0-0xC3 */ + {0x8D, 0x4C}, {0x67, 0x5C}, {0x95, 0x40}, {0x80, 0x9A}, /* 0xC4-0xC7 */ + {0x5E, 0xA6}, {0x6E, 0x21}, {0x59, 0x92}, {0x7A, 0xEF}, /* 0xC8-0xCB */ + {0x77, 0xED}, {0x95, 0x3B}, {0x6B, 0xB5}, {0x65, 0xAD}, /* 0xCC-0xCF */ + {0x7F, 0x0E}, {0x58, 0x06}, {0x51, 0x51}, {0x96, 0x1F}, /* 0xD0-0xD3 */ + {0x5B, 0xF9}, {0x58, 0xA9}, {0x54, 0x28}, {0x8E, 0x72}, /* 0xD4-0xD7 */ + {0x65, 0x66}, {0x98, 0x7F}, {0x56, 0xE4}, {0x94, 0x9D}, /* 0xD8-0xDB */ + {0x76, 0xFE}, {0x90, 0x41}, {0x63, 0x87}, {0x54, 0xC6}, /* 0xDC-0xDF */ + {0x59, 0x1A}, {0x59, 0x3A}, {0x57, 0x9B}, {0x8E, 0xB2}, /* 0xE0-0xE3 */ + {0x67, 0x35}, {0x8D, 0xFA}, {0x82, 0x35}, {0x52, 0x41}, /* 0xE4-0xE7 */ + {0x60, 0xF0}, {0x58, 0x15}, {0x86, 0xFE}, {0x5C, 0xE8}, /* 0xE8-0xEB */ + {0x9E, 0x45}, {0x4F, 0xC4}, {0x98, 0x9D}, {0x8B, 0xB9}, /* 0xEC-0xEF */ + {0x5A, 0x25}, {0x60, 0x76}, {0x53, 0x84}, {0x62, 0x7C}, /* 0xF0-0xF3 */ + {0x90, 0x4F}, {0x91, 0x02}, {0x99, 0x7F}, {0x60, 0x69}, /* 0xF4-0xF7 */ + {0x80, 0x0C}, {0x51, 0x3F}, {0x80, 0x33}, {0x5C, 0x14}, /* 0xF8-0xFB */ + {0x99, 0x75}, {0x6D, 0x31}, {0x4E, 0x8C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7A, 0x1D}, {0x7A, 0x1F}, {0x7A, 0x21}, {0x7A, 0x22}, /* 0x40-0x43 */ + {0x7A, 0x24}, {0x7A, 0x25}, {0x7A, 0x26}, {0x7A, 0x27}, /* 0x44-0x47 */ + {0x7A, 0x28}, {0x7A, 0x29}, {0x7A, 0x2A}, {0x7A, 0x2B}, /* 0x48-0x4B */ + {0x7A, 0x2C}, {0x7A, 0x2D}, {0x7A, 0x2E}, {0x7A, 0x2F}, /* 0x4C-0x4F */ + {0x7A, 0x30}, {0x7A, 0x31}, {0x7A, 0x32}, {0x7A, 0x34}, /* 0x50-0x53 */ + {0x7A, 0x35}, {0x7A, 0x36}, {0x7A, 0x38}, {0x7A, 0x3A}, /* 0x54-0x57 */ + {0x7A, 0x3E}, {0x7A, 0x40}, {0x7A, 0x41}, {0x7A, 0x42}, /* 0x58-0x5B */ + {0x7A, 0x43}, {0x7A, 0x44}, {0x7A, 0x45}, {0x7A, 0x47}, /* 0x5C-0x5F */ + {0x7A, 0x48}, {0x7A, 0x49}, {0x7A, 0x4A}, {0x7A, 0x4B}, /* 0x60-0x63 */ + {0x7A, 0x4C}, {0x7A, 0x4D}, {0x7A, 0x4E}, {0x7A, 0x4F}, /* 0x64-0x67 */ + {0x7A, 0x50}, {0x7A, 0x52}, {0x7A, 0x53}, {0x7A, 0x54}, /* 0x68-0x6B */ + {0x7A, 0x55}, {0x7A, 0x56}, {0x7A, 0x58}, {0x7A, 0x59}, /* 0x6C-0x6F */ + {0x7A, 0x5A}, {0x7A, 0x5B}, {0x7A, 0x5C}, {0x7A, 0x5D}, /* 0x70-0x73 */ + {0x7A, 0x5E}, {0x7A, 0x5F}, {0x7A, 0x60}, {0x7A, 0x61}, /* 0x74-0x77 */ + {0x7A, 0x62}, {0x7A, 0x63}, {0x7A, 0x64}, {0x7A, 0x65}, /* 0x78-0x7B */ + {0x7A, 0x66}, {0x7A, 0x67}, {0x7A, 0x68}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7A, 0x69}, {0x7A, 0x6A}, {0x7A, 0x6B}, {0x7A, 0x6C}, /* 0x80-0x83 */ + {0x7A, 0x6D}, {0x7A, 0x6E}, {0x7A, 0x6F}, {0x7A, 0x71}, /* 0x84-0x87 */ + {0x7A, 0x72}, {0x7A, 0x73}, {0x7A, 0x75}, {0x7A, 0x7B}, /* 0x88-0x8B */ + {0x7A, 0x7C}, {0x7A, 0x7D}, {0x7A, 0x7E}, {0x7A, 0x82}, /* 0x8C-0x8F */ + {0x7A, 0x85}, {0x7A, 0x87}, {0x7A, 0x89}, {0x7A, 0x8A}, /* 0x90-0x93 */ + {0x7A, 0x8B}, {0x7A, 0x8C}, {0x7A, 0x8E}, {0x7A, 0x8F}, /* 0x94-0x97 */ + {0x7A, 0x90}, {0x7A, 0x93}, {0x7A, 0x94}, {0x7A, 0x99}, /* 0x98-0x9B */ + {0x7A, 0x9A}, {0x7A, 0x9B}, {0x7A, 0x9E}, {0x7A, 0xA1}, /* 0x9C-0x9F */ + {0x7A, 0xA2}, {0x8D, 0x30}, {0x53, 0xD1}, {0x7F, 0x5A}, /* 0xA0-0xA3 */ + {0x7B, 0x4F}, {0x4F, 0x10}, {0x4E, 0x4F}, {0x96, 0x00}, /* 0xA4-0xA7 */ + {0x6C, 0xD5}, {0x73, 0xD0}, {0x85, 0xE9}, {0x5E, 0x06}, /* 0xA8-0xAB */ + {0x75, 0x6A}, {0x7F, 0xFB}, {0x6A, 0x0A}, {0x77, 0xFE}, /* 0xAC-0xAF */ + {0x94, 0x92}, {0x7E, 0x41}, {0x51, 0xE1}, {0x70, 0xE6}, /* 0xB0-0xB3 */ + {0x53, 0xCD}, {0x8F, 0xD4}, {0x83, 0x03}, {0x8D, 0x29}, /* 0xB4-0xB7 */ + {0x72, 0xAF}, {0x99, 0x6D}, {0x6C, 0xDB}, {0x57, 0x4A}, /* 0xB8-0xBB */ + {0x82, 0xB3}, {0x65, 0xB9}, {0x80, 0xAA}, {0x62, 0x3F}, /* 0xBC-0xBF */ + {0x96, 0x32}, {0x59, 0xA8}, {0x4E, 0xFF}, {0x8B, 0xBF}, /* 0xC0-0xC3 */ + {0x7E, 0xBA}, {0x65, 0x3E}, {0x83, 0xF2}, {0x97, 0x5E}, /* 0xC4-0xC7 */ + {0x55, 0x61}, {0x98, 0xDE}, {0x80, 0xA5}, {0x53, 0x2A}, /* 0xC8-0xCB */ + {0x8B, 0xFD}, {0x54, 0x20}, {0x80, 0xBA}, {0x5E, 0x9F}, /* 0xCC-0xCF */ + {0x6C, 0xB8}, {0x8D, 0x39}, {0x82, 0xAC}, {0x91, 0x5A}, /* 0xD0-0xD3 */ + {0x54, 0x29}, {0x6C, 0x1B}, {0x52, 0x06}, {0x7E, 0xB7}, /* 0xD4-0xD7 */ + {0x57, 0x5F}, {0x71, 0x1A}, {0x6C, 0x7E}, {0x7C, 0x89}, /* 0xD8-0xDB */ + {0x59, 0x4B}, {0x4E, 0xFD}, {0x5F, 0xFF}, {0x61, 0x24}, /* 0xDC-0xDF */ + {0x7C, 0xAA}, {0x4E, 0x30}, {0x5C, 0x01}, {0x67, 0xAB}, /* 0xE0-0xE3 */ + {0x87, 0x02}, {0x5C, 0xF0}, {0x95, 0x0B}, {0x98, 0xCE}, /* 0xE4-0xE7 */ + {0x75, 0xAF}, {0x70, 0xFD}, {0x90, 0x22}, {0x51, 0xAF}, /* 0xE8-0xEB */ + {0x7F, 0x1D}, {0x8B, 0xBD}, {0x59, 0x49}, {0x51, 0xE4}, /* 0xEC-0xEF */ + {0x4F, 0x5B}, {0x54, 0x26}, {0x59, 0x2B}, {0x65, 0x77}, /* 0xF0-0xF3 */ + {0x80, 0xA4}, {0x5B, 0x75}, {0x62, 0x76}, {0x62, 0xC2}, /* 0xF4-0xF7 */ + {0x8F, 0x90}, {0x5E, 0x45}, {0x6C, 0x1F}, {0x7B, 0x26}, /* 0xF8-0xFB */ + {0x4F, 0x0F}, {0x4F, 0xD8}, {0x67, 0x0D}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7A, 0xA3}, {0x7A, 0xA4}, {0x7A, 0xA7}, {0x7A, 0xA9}, /* 0x40-0x43 */ + {0x7A, 0xAA}, {0x7A, 0xAB}, {0x7A, 0xAE}, {0x7A, 0xAF}, /* 0x44-0x47 */ + {0x7A, 0xB0}, {0x7A, 0xB1}, {0x7A, 0xB2}, {0x7A, 0xB4}, /* 0x48-0x4B */ + {0x7A, 0xB5}, {0x7A, 0xB6}, {0x7A, 0xB7}, {0x7A, 0xB8}, /* 0x4C-0x4F */ + {0x7A, 0xB9}, {0x7A, 0xBA}, {0x7A, 0xBB}, {0x7A, 0xBC}, /* 0x50-0x53 */ + {0x7A, 0xBD}, {0x7A, 0xBE}, {0x7A, 0xC0}, {0x7A, 0xC1}, /* 0x54-0x57 */ + {0x7A, 0xC2}, {0x7A, 0xC3}, {0x7A, 0xC4}, {0x7A, 0xC5}, /* 0x58-0x5B */ + {0x7A, 0xC6}, {0x7A, 0xC7}, {0x7A, 0xC8}, {0x7A, 0xC9}, /* 0x5C-0x5F */ + {0x7A, 0xCA}, {0x7A, 0xCC}, {0x7A, 0xCD}, {0x7A, 0xCE}, /* 0x60-0x63 */ + {0x7A, 0xCF}, {0x7A, 0xD0}, {0x7A, 0xD1}, {0x7A, 0xD2}, /* 0x64-0x67 */ + {0x7A, 0xD3}, {0x7A, 0xD4}, {0x7A, 0xD5}, {0x7A, 0xD7}, /* 0x68-0x6B */ + {0x7A, 0xD8}, {0x7A, 0xDA}, {0x7A, 0xDB}, {0x7A, 0xDC}, /* 0x6C-0x6F */ + {0x7A, 0xDD}, {0x7A, 0xE1}, {0x7A, 0xE2}, {0x7A, 0xE4}, /* 0x70-0x73 */ + {0x7A, 0xE7}, {0x7A, 0xE8}, {0x7A, 0xE9}, {0x7A, 0xEA}, /* 0x74-0x77 */ + {0x7A, 0xEB}, {0x7A, 0xEC}, {0x7A, 0xEE}, {0x7A, 0xF0}, /* 0x78-0x7B */ + {0x7A, 0xF1}, {0x7A, 0xF2}, {0x7A, 0xF3}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7A, 0xF4}, {0x7A, 0xF5}, {0x7A, 0xF6}, {0x7A, 0xF7}, /* 0x80-0x83 */ + {0x7A, 0xF8}, {0x7A, 0xFB}, {0x7A, 0xFC}, {0x7A, 0xFE}, /* 0x84-0x87 */ + {0x7B, 0x00}, {0x7B, 0x01}, {0x7B, 0x02}, {0x7B, 0x05}, /* 0x88-0x8B */ + {0x7B, 0x07}, {0x7B, 0x09}, {0x7B, 0x0C}, {0x7B, 0x0D}, /* 0x8C-0x8F */ + {0x7B, 0x0E}, {0x7B, 0x10}, {0x7B, 0x12}, {0x7B, 0x13}, /* 0x90-0x93 */ + {0x7B, 0x16}, {0x7B, 0x17}, {0x7B, 0x18}, {0x7B, 0x1A}, /* 0x94-0x97 */ + {0x7B, 0x1C}, {0x7B, 0x1D}, {0x7B, 0x1F}, {0x7B, 0x21}, /* 0x98-0x9B */ + {0x7B, 0x22}, {0x7B, 0x23}, {0x7B, 0x27}, {0x7B, 0x29}, /* 0x9C-0x9F */ + {0x7B, 0x2D}, {0x6D, 0x6E}, {0x6D, 0xAA}, {0x79, 0x8F}, /* 0xA0-0xA3 */ + {0x88, 0xB1}, {0x5F, 0x17}, {0x75, 0x2B}, {0x62, 0x9A}, /* 0xA4-0xA7 */ + {0x8F, 0x85}, {0x4F, 0xEF}, {0x91, 0xDC}, {0x65, 0xA7}, /* 0xA8-0xAB */ + {0x81, 0x2F}, {0x81, 0x51}, {0x5E, 0x9C}, {0x81, 0x50}, /* 0xAC-0xAF */ + {0x8D, 0x74}, {0x52, 0x6F}, {0x89, 0x86}, {0x8D, 0x4B}, /* 0xB0-0xB3 */ + {0x59, 0x0D}, {0x50, 0x85}, {0x4E, 0xD8}, {0x96, 0x1C}, /* 0xB4-0xB7 */ + {0x72, 0x36}, {0x81, 0x79}, {0x8D, 0x1F}, {0x5B, 0xCC}, /* 0xB8-0xBB */ + {0x8B, 0xA3}, {0x96, 0x44}, {0x59, 0x87}, {0x7F, 0x1A}, /* 0xBC-0xBF */ + {0x54, 0x90}, {0x56, 0x76}, {0x56, 0x0E}, {0x8B, 0xE5}, /* 0xC0-0xC3 */ + {0x65, 0x39}, {0x69, 0x82}, {0x94, 0x99}, {0x76, 0xD6}, /* 0xC4-0xC7 */ + {0x6E, 0x89}, {0x5E, 0x72}, {0x75, 0x18}, {0x67, 0x46}, /* 0xC8-0xCB */ + {0x67, 0xD1}, {0x7A, 0xFF}, {0x80, 0x9D}, {0x8D, 0x76}, /* 0xCC-0xCF */ + {0x61, 0x1F}, {0x79, 0xC6}, {0x65, 0x62}, {0x8D, 0x63}, /* 0xD0-0xD3 */ + {0x51, 0x88}, {0x52, 0x1A}, {0x94, 0xA2}, {0x7F, 0x38}, /* 0xD4-0xD7 */ + {0x80, 0x9B}, {0x7E, 0xB2}, {0x5C, 0x97}, {0x6E, 0x2F}, /* 0xD8-0xDB */ + {0x67, 0x60}, {0x7B, 0xD9}, {0x76, 0x8B}, {0x9A, 0xD8}, /* 0xDC-0xDF */ + {0x81, 0x8F}, {0x7F, 0x94}, {0x7C, 0xD5}, {0x64, 0x1E}, /* 0xE0-0xE3 */ + {0x95, 0x50}, {0x7A, 0x3F}, {0x54, 0x4A}, {0x54, 0xE5}, /* 0xE4-0xE7 */ + {0x6B, 0x4C}, {0x64, 0x01}, {0x62, 0x08}, {0x9E, 0x3D}, /* 0xE8-0xEB */ + {0x80, 0xF3}, {0x75, 0x99}, {0x52, 0x72}, {0x97, 0x69}, /* 0xEC-0xEF */ + {0x84, 0x5B}, {0x68, 0x3C}, {0x86, 0xE4}, {0x96, 0x01}, /* 0xF0-0xF3 */ + {0x96, 0x94}, {0x94, 0xEC}, {0x4E, 0x2A}, {0x54, 0x04}, /* 0xF4-0xF7 */ + {0x7E, 0xD9}, {0x68, 0x39}, {0x8D, 0xDF}, {0x80, 0x15}, /* 0xF8-0xFB */ + {0x66, 0xF4}, {0x5E, 0x9A}, {0x7F, 0xB9}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7B, 0x2F}, {0x7B, 0x30}, {0x7B, 0x32}, {0x7B, 0x34}, /* 0x40-0x43 */ + {0x7B, 0x35}, {0x7B, 0x36}, {0x7B, 0x37}, {0x7B, 0x39}, /* 0x44-0x47 */ + {0x7B, 0x3B}, {0x7B, 0x3D}, {0x7B, 0x3F}, {0x7B, 0x40}, /* 0x48-0x4B */ + {0x7B, 0x41}, {0x7B, 0x42}, {0x7B, 0x43}, {0x7B, 0x44}, /* 0x4C-0x4F */ + {0x7B, 0x46}, {0x7B, 0x48}, {0x7B, 0x4A}, {0x7B, 0x4D}, /* 0x50-0x53 */ + {0x7B, 0x4E}, {0x7B, 0x53}, {0x7B, 0x55}, {0x7B, 0x57}, /* 0x54-0x57 */ + {0x7B, 0x59}, {0x7B, 0x5C}, {0x7B, 0x5E}, {0x7B, 0x5F}, /* 0x58-0x5B */ + {0x7B, 0x61}, {0x7B, 0x63}, {0x7B, 0x64}, {0x7B, 0x65}, /* 0x5C-0x5F */ + {0x7B, 0x66}, {0x7B, 0x67}, {0x7B, 0x68}, {0x7B, 0x69}, /* 0x60-0x63 */ + {0x7B, 0x6A}, {0x7B, 0x6B}, {0x7B, 0x6C}, {0x7B, 0x6D}, /* 0x64-0x67 */ + {0x7B, 0x6F}, {0x7B, 0x70}, {0x7B, 0x73}, {0x7B, 0x74}, /* 0x68-0x6B */ + {0x7B, 0x76}, {0x7B, 0x78}, {0x7B, 0x7A}, {0x7B, 0x7C}, /* 0x6C-0x6F */ + {0x7B, 0x7D}, {0x7B, 0x7F}, {0x7B, 0x81}, {0x7B, 0x82}, /* 0x70-0x73 */ + {0x7B, 0x83}, {0x7B, 0x84}, {0x7B, 0x86}, {0x7B, 0x87}, /* 0x74-0x77 */ + {0x7B, 0x88}, {0x7B, 0x89}, {0x7B, 0x8A}, {0x7B, 0x8B}, /* 0x78-0x7B */ + {0x7B, 0x8C}, {0x7B, 0x8E}, {0x7B, 0x8F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7B, 0x91}, {0x7B, 0x92}, {0x7B, 0x93}, {0x7B, 0x96}, /* 0x80-0x83 */ + {0x7B, 0x98}, {0x7B, 0x99}, {0x7B, 0x9A}, {0x7B, 0x9B}, /* 0x84-0x87 */ + {0x7B, 0x9E}, {0x7B, 0x9F}, {0x7B, 0xA0}, {0x7B, 0xA3}, /* 0x88-0x8B */ + {0x7B, 0xA4}, {0x7B, 0xA5}, {0x7B, 0xAE}, {0x7B, 0xAF}, /* 0x8C-0x8F */ + {0x7B, 0xB0}, {0x7B, 0xB2}, {0x7B, 0xB3}, {0x7B, 0xB5}, /* 0x90-0x93 */ + {0x7B, 0xB6}, {0x7B, 0xB7}, {0x7B, 0xB9}, {0x7B, 0xBA}, /* 0x94-0x97 */ + {0x7B, 0xBB}, {0x7B, 0xBC}, {0x7B, 0xBD}, {0x7B, 0xBE}, /* 0x98-0x9B */ + {0x7B, 0xBF}, {0x7B, 0xC0}, {0x7B, 0xC2}, {0x7B, 0xC3}, /* 0x9C-0x9F */ + {0x7B, 0xC4}, {0x57, 0xC2}, {0x80, 0x3F}, {0x68, 0x97}, /* 0xA0-0xA3 */ + {0x5D, 0xE5}, {0x65, 0x3B}, {0x52, 0x9F}, {0x60, 0x6D}, /* 0xA4-0xA7 */ + {0x9F, 0x9A}, {0x4F, 0x9B}, {0x8E, 0xAC}, {0x51, 0x6C}, /* 0xA8-0xAB */ + {0x5B, 0xAB}, {0x5F, 0x13}, {0x5D, 0xE9}, {0x6C, 0x5E}, /* 0xAC-0xAF */ + {0x62, 0xF1}, {0x8D, 0x21}, {0x51, 0x71}, {0x94, 0xA9}, /* 0xB0-0xB3 */ + {0x52, 0xFE}, {0x6C, 0x9F}, {0x82, 0xDF}, {0x72, 0xD7}, /* 0xB4-0xB7 */ + {0x57, 0xA2}, {0x67, 0x84}, {0x8D, 0x2D}, {0x59, 0x1F}, /* 0xB8-0xBB */ + {0x8F, 0x9C}, {0x83, 0xC7}, {0x54, 0x95}, {0x7B, 0x8D}, /* 0xBC-0xBF */ + {0x4F, 0x30}, {0x6C, 0xBD}, {0x5B, 0x64}, {0x59, 0xD1}, /* 0xC0-0xC3 */ + {0x9F, 0x13}, {0x53, 0xE4}, {0x86, 0xCA}, {0x9A, 0xA8}, /* 0xC4-0xC7 */ + {0x8C, 0x37}, {0x80, 0xA1}, {0x65, 0x45}, {0x98, 0x7E}, /* 0xC8-0xCB */ + {0x56, 0xFA}, {0x96, 0xC7}, {0x52, 0x2E}, {0x74, 0xDC}, /* 0xCC-0xCF */ + {0x52, 0x50}, {0x5B, 0xE1}, {0x63, 0x02}, {0x89, 0x02}, /* 0xD0-0xD3 */ + {0x4E, 0x56}, {0x62, 0xD0}, {0x60, 0x2A}, {0x68, 0xFA}, /* 0xD4-0xD7 */ + {0x51, 0x73}, {0x5B, 0x98}, {0x51, 0xA0}, {0x89, 0xC2}, /* 0xD8-0xDB */ + {0x7B, 0xA1}, {0x99, 0x86}, {0x7F, 0x50}, {0x60, 0xEF}, /* 0xDC-0xDF */ + {0x70, 0x4C}, {0x8D, 0x2F}, {0x51, 0x49}, {0x5E, 0x7F}, /* 0xE0-0xE3 */ + {0x90, 0x1B}, {0x74, 0x70}, {0x89, 0xC4}, {0x57, 0x2D}, /* 0xE4-0xE7 */ + {0x78, 0x45}, {0x5F, 0x52}, {0x9F, 0x9F}, {0x95, 0xFA}, /* 0xE8-0xEB */ + {0x8F, 0x68}, {0x9B, 0x3C}, {0x8B, 0xE1}, {0x76, 0x78}, /* 0xEC-0xEF */ + {0x68, 0x42}, {0x67, 0xDC}, {0x8D, 0xEA}, {0x8D, 0x35}, /* 0xF0-0xF3 */ + {0x52, 0x3D}, {0x8F, 0x8A}, {0x6E, 0xDA}, {0x68, 0xCD}, /* 0xF4-0xF7 */ + {0x95, 0x05}, {0x90, 0xED}, {0x56, 0xFD}, {0x67, 0x9C}, /* 0xF8-0xFB */ + {0x88, 0xF9}, {0x8F, 0xC7}, {0x54, 0xC8}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7B, 0xC5}, {0x7B, 0xC8}, {0x7B, 0xC9}, {0x7B, 0xCA}, /* 0x40-0x43 */ + {0x7B, 0xCB}, {0x7B, 0xCD}, {0x7B, 0xCE}, {0x7B, 0xCF}, /* 0x44-0x47 */ + {0x7B, 0xD0}, {0x7B, 0xD2}, {0x7B, 0xD4}, {0x7B, 0xD5}, /* 0x48-0x4B */ + {0x7B, 0xD6}, {0x7B, 0xD7}, {0x7B, 0xD8}, {0x7B, 0xDB}, /* 0x4C-0x4F */ + {0x7B, 0xDC}, {0x7B, 0xDE}, {0x7B, 0xDF}, {0x7B, 0xE0}, /* 0x50-0x53 */ + {0x7B, 0xE2}, {0x7B, 0xE3}, {0x7B, 0xE4}, {0x7B, 0xE7}, /* 0x54-0x57 */ + {0x7B, 0xE8}, {0x7B, 0xE9}, {0x7B, 0xEB}, {0x7B, 0xEC}, /* 0x58-0x5B */ + {0x7B, 0xED}, {0x7B, 0xEF}, {0x7B, 0xF0}, {0x7B, 0xF2}, /* 0x5C-0x5F */ + {0x7B, 0xF3}, {0x7B, 0xF4}, {0x7B, 0xF5}, {0x7B, 0xF6}, /* 0x60-0x63 */ + {0x7B, 0xF8}, {0x7B, 0xF9}, {0x7B, 0xFA}, {0x7B, 0xFB}, /* 0x64-0x67 */ + {0x7B, 0xFD}, {0x7B, 0xFF}, {0x7C, 0x00}, {0x7C, 0x01}, /* 0x68-0x6B */ + {0x7C, 0x02}, {0x7C, 0x03}, {0x7C, 0x04}, {0x7C, 0x05}, /* 0x6C-0x6F */ + {0x7C, 0x06}, {0x7C, 0x08}, {0x7C, 0x09}, {0x7C, 0x0A}, /* 0x70-0x73 */ + {0x7C, 0x0D}, {0x7C, 0x0E}, {0x7C, 0x10}, {0x7C, 0x11}, /* 0x74-0x77 */ + {0x7C, 0x12}, {0x7C, 0x13}, {0x7C, 0x14}, {0x7C, 0x15}, /* 0x78-0x7B */ + {0x7C, 0x17}, {0x7C, 0x18}, {0x7C, 0x19}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7C, 0x1A}, {0x7C, 0x1B}, {0x7C, 0x1C}, {0x7C, 0x1D}, /* 0x80-0x83 */ + {0x7C, 0x1E}, {0x7C, 0x20}, {0x7C, 0x21}, {0x7C, 0x22}, /* 0x84-0x87 */ + {0x7C, 0x23}, {0x7C, 0x24}, {0x7C, 0x25}, {0x7C, 0x28}, /* 0x88-0x8B */ + {0x7C, 0x29}, {0x7C, 0x2B}, {0x7C, 0x2C}, {0x7C, 0x2D}, /* 0x8C-0x8F */ + {0x7C, 0x2E}, {0x7C, 0x2F}, {0x7C, 0x30}, {0x7C, 0x31}, /* 0x90-0x93 */ + {0x7C, 0x32}, {0x7C, 0x33}, {0x7C, 0x34}, {0x7C, 0x35}, /* 0x94-0x97 */ + {0x7C, 0x36}, {0x7C, 0x37}, {0x7C, 0x39}, {0x7C, 0x3A}, /* 0x98-0x9B */ + {0x7C, 0x3B}, {0x7C, 0x3C}, {0x7C, 0x3D}, {0x7C, 0x3E}, /* 0x9C-0x9F */ + {0x7C, 0x42}, {0x9A, 0xB8}, {0x5B, 0x69}, {0x6D, 0x77}, /* 0xA0-0xA3 */ + {0x6C, 0x26}, {0x4E, 0xA5}, {0x5B, 0xB3}, {0x9A, 0x87}, /* 0xA4-0xA7 */ + {0x91, 0x63}, {0x61, 0xA8}, {0x90, 0xAF}, {0x97, 0xE9}, /* 0xA8-0xAB */ + {0x54, 0x2B}, {0x6D, 0xB5}, {0x5B, 0xD2}, {0x51, 0xFD}, /* 0xAC-0xAF */ + {0x55, 0x8A}, {0x7F, 0x55}, {0x7F, 0xF0}, {0x64, 0xBC}, /* 0xB0-0xB3 */ + {0x63, 0x4D}, {0x65, 0xF1}, {0x61, 0xBE}, {0x60, 0x8D}, /* 0xB4-0xB7 */ + {0x71, 0x0A}, {0x6C, 0x57}, {0x6C, 0x49}, {0x59, 0x2F}, /* 0xB8-0xBB */ + {0x67, 0x6D}, {0x82, 0x2A}, {0x58, 0xD5}, {0x56, 0x8E}, /* 0xBC-0xBF */ + {0x8C, 0x6A}, {0x6B, 0xEB}, {0x90, 0xDD}, {0x59, 0x7D}, /* 0xC0-0xC3 */ + {0x80, 0x17}, {0x53, 0xF7}, {0x6D, 0x69}, {0x54, 0x75}, /* 0xC4-0xC7 */ + {0x55, 0x9D}, {0x83, 0x77}, {0x83, 0xCF}, {0x68, 0x38}, /* 0xC8-0xCB */ + {0x79, 0xBE}, {0x54, 0x8C}, {0x4F, 0x55}, {0x54, 0x08}, /* 0xCC-0xCF */ + {0x76, 0xD2}, {0x8C, 0x89}, {0x96, 0x02}, {0x6C, 0xB3}, /* 0xD0-0xD3 */ + {0x6D, 0xB8}, {0x8D, 0x6B}, {0x89, 0x10}, {0x9E, 0x64}, /* 0xD4-0xD7 */ + {0x8D, 0x3A}, {0x56, 0x3F}, {0x9E, 0xD1}, {0x75, 0xD5}, /* 0xD8-0xDB */ + {0x5F, 0x88}, {0x72, 0xE0}, {0x60, 0x68}, {0x54, 0xFC}, /* 0xDC-0xDF */ + {0x4E, 0xA8}, {0x6A, 0x2A}, {0x88, 0x61}, {0x60, 0x52}, /* 0xE0-0xE3 */ + {0x8F, 0x70}, {0x54, 0xC4}, {0x70, 0xD8}, {0x86, 0x79}, /* 0xE4-0xE7 */ + {0x9E, 0x3F}, {0x6D, 0x2A}, {0x5B, 0x8F}, {0x5F, 0x18}, /* 0xE8-0xEB */ + {0x7E, 0xA2}, {0x55, 0x89}, {0x4F, 0xAF}, {0x73, 0x34}, /* 0xEC-0xEF */ + {0x54, 0x3C}, {0x53, 0x9A}, {0x50, 0x19}, {0x54, 0x0E}, /* 0xF0-0xF3 */ + {0x54, 0x7C}, {0x4E, 0x4E}, {0x5F, 0xFD}, {0x74, 0x5A}, /* 0xF4-0xF7 */ + {0x58, 0xF6}, {0x84, 0x6B}, {0x80, 0xE1}, {0x87, 0x74}, /* 0xF8-0xFB */ + {0x72, 0xD0}, {0x7C, 0xCA}, {0x6E, 0x56}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7C, 0x43}, {0x7C, 0x44}, {0x7C, 0x45}, {0x7C, 0x46}, /* 0x40-0x43 */ + {0x7C, 0x47}, {0x7C, 0x48}, {0x7C, 0x49}, {0x7C, 0x4A}, /* 0x44-0x47 */ + {0x7C, 0x4B}, {0x7C, 0x4C}, {0x7C, 0x4E}, {0x7C, 0x4F}, /* 0x48-0x4B */ + {0x7C, 0x50}, {0x7C, 0x51}, {0x7C, 0x52}, {0x7C, 0x53}, /* 0x4C-0x4F */ + {0x7C, 0x54}, {0x7C, 0x55}, {0x7C, 0x56}, {0x7C, 0x57}, /* 0x50-0x53 */ + {0x7C, 0x58}, {0x7C, 0x59}, {0x7C, 0x5A}, {0x7C, 0x5B}, /* 0x54-0x57 */ + {0x7C, 0x5C}, {0x7C, 0x5D}, {0x7C, 0x5E}, {0x7C, 0x5F}, /* 0x58-0x5B */ + {0x7C, 0x60}, {0x7C, 0x61}, {0x7C, 0x62}, {0x7C, 0x63}, /* 0x5C-0x5F */ + {0x7C, 0x64}, {0x7C, 0x65}, {0x7C, 0x66}, {0x7C, 0x67}, /* 0x60-0x63 */ + {0x7C, 0x68}, {0x7C, 0x69}, {0x7C, 0x6A}, {0x7C, 0x6B}, /* 0x64-0x67 */ + {0x7C, 0x6C}, {0x7C, 0x6D}, {0x7C, 0x6E}, {0x7C, 0x6F}, /* 0x68-0x6B */ + {0x7C, 0x70}, {0x7C, 0x71}, {0x7C, 0x72}, {0x7C, 0x75}, /* 0x6C-0x6F */ + {0x7C, 0x76}, {0x7C, 0x77}, {0x7C, 0x78}, {0x7C, 0x79}, /* 0x70-0x73 */ + {0x7C, 0x7A}, {0x7C, 0x7E}, {0x7C, 0x7F}, {0x7C, 0x80}, /* 0x74-0x77 */ + {0x7C, 0x81}, {0x7C, 0x82}, {0x7C, 0x83}, {0x7C, 0x84}, /* 0x78-0x7B */ + {0x7C, 0x85}, {0x7C, 0x86}, {0x7C, 0x87}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7C, 0x88}, {0x7C, 0x8A}, {0x7C, 0x8B}, {0x7C, 0x8C}, /* 0x80-0x83 */ + {0x7C, 0x8D}, {0x7C, 0x8E}, {0x7C, 0x8F}, {0x7C, 0x90}, /* 0x84-0x87 */ + {0x7C, 0x93}, {0x7C, 0x94}, {0x7C, 0x96}, {0x7C, 0x99}, /* 0x88-0x8B */ + {0x7C, 0x9A}, {0x7C, 0x9B}, {0x7C, 0xA0}, {0x7C, 0xA1}, /* 0x8C-0x8F */ + {0x7C, 0xA3}, {0x7C, 0xA6}, {0x7C, 0xA7}, {0x7C, 0xA8}, /* 0x90-0x93 */ + {0x7C, 0xA9}, {0x7C, 0xAB}, {0x7C, 0xAC}, {0x7C, 0xAD}, /* 0x94-0x97 */ + {0x7C, 0xAF}, {0x7C, 0xB0}, {0x7C, 0xB4}, {0x7C, 0xB5}, /* 0x98-0x9B */ + {0x7C, 0xB6}, {0x7C, 0xB7}, {0x7C, 0xB8}, {0x7C, 0xBA}, /* 0x9C-0x9F */ + {0x7C, 0xBB}, {0x5F, 0x27}, {0x86, 0x4E}, {0x55, 0x2C}, /* 0xA0-0xA3 */ + {0x62, 0xA4}, {0x4E, 0x92}, {0x6C, 0xAA}, {0x62, 0x37}, /* 0xA4-0xA7 */ + {0x82, 0xB1}, {0x54, 0xD7}, {0x53, 0x4E}, {0x73, 0x3E}, /* 0xA8-0xAB */ + {0x6E, 0xD1}, {0x75, 0x3B}, {0x52, 0x12}, {0x53, 0x16}, /* 0xAC-0xAF */ + {0x8B, 0xDD}, {0x69, 0xD0}, {0x5F, 0x8A}, {0x60, 0x00}, /* 0xB0-0xB3 */ + {0x6D, 0xEE}, {0x57, 0x4F}, {0x6B, 0x22}, {0x73, 0xAF}, /* 0xB4-0xB7 */ + {0x68, 0x53}, {0x8F, 0xD8}, {0x7F, 0x13}, {0x63, 0x62}, /* 0xB8-0xBB */ + {0x60, 0xA3}, {0x55, 0x24}, {0x75, 0xEA}, {0x8C, 0x62}, /* 0xBC-0xBF */ + {0x71, 0x15}, {0x6D, 0xA3}, {0x5B, 0xA6}, {0x5E, 0x7B}, /* 0xC0-0xC3 */ + {0x83, 0x52}, {0x61, 0x4C}, {0x9E, 0xC4}, {0x78, 0xFA}, /* 0xC4-0xC7 */ + {0x87, 0x57}, {0x7C, 0x27}, {0x76, 0x87}, {0x51, 0xF0}, /* 0xC8-0xCB */ + {0x60, 0xF6}, {0x71, 0x4C}, {0x66, 0x43}, {0x5E, 0x4C}, /* 0xCC-0xCF */ + {0x60, 0x4D}, {0x8C, 0x0E}, {0x70, 0x70}, {0x63, 0x25}, /* 0xD0-0xD3 */ + {0x8F, 0x89}, {0x5F, 0xBD}, {0x60, 0x62}, {0x86, 0xD4}, /* 0xD4-0xD7 */ + {0x56, 0xDE}, {0x6B, 0xC1}, {0x60, 0x94}, {0x61, 0x67}, /* 0xD8-0xDB */ + {0x53, 0x49}, {0x60, 0xE0}, {0x66, 0x66}, {0x8D, 0x3F}, /* 0xDC-0xDF */ + {0x79, 0xFD}, {0x4F, 0x1A}, {0x70, 0xE9}, {0x6C, 0x47}, /* 0xE0-0xE3 */ + {0x8B, 0xB3}, {0x8B, 0xF2}, {0x7E, 0xD8}, {0x83, 0x64}, /* 0xE4-0xE7 */ + {0x66, 0x0F}, {0x5A, 0x5A}, {0x9B, 0x42}, {0x6D, 0x51}, /* 0xE8-0xEB */ + {0x6D, 0xF7}, {0x8C, 0x41}, {0x6D, 0x3B}, {0x4F, 0x19}, /* 0xEC-0xEF */ + {0x70, 0x6B}, {0x83, 0xB7}, {0x62, 0x16}, {0x60, 0xD1}, /* 0xF0-0xF3 */ + {0x97, 0x0D}, {0x8D, 0x27}, {0x79, 0x78}, {0x51, 0xFB}, /* 0xF4-0xF7 */ + {0x57, 0x3E}, {0x57, 0xFA}, {0x67, 0x3A}, {0x75, 0x78}, /* 0xF8-0xFB */ + {0x7A, 0x3D}, {0x79, 0xEF}, {0x7B, 0x95}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7C, 0xBF}, {0x7C, 0xC0}, {0x7C, 0xC2}, {0x7C, 0xC3}, /* 0x40-0x43 */ + {0x7C, 0xC4}, {0x7C, 0xC6}, {0x7C, 0xC9}, {0x7C, 0xCB}, /* 0x44-0x47 */ + {0x7C, 0xCE}, {0x7C, 0xCF}, {0x7C, 0xD0}, {0x7C, 0xD1}, /* 0x48-0x4B */ + {0x7C, 0xD2}, {0x7C, 0xD3}, {0x7C, 0xD4}, {0x7C, 0xD8}, /* 0x4C-0x4F */ + {0x7C, 0xDA}, {0x7C, 0xDB}, {0x7C, 0xDD}, {0x7C, 0xDE}, /* 0x50-0x53 */ + {0x7C, 0xE1}, {0x7C, 0xE2}, {0x7C, 0xE3}, {0x7C, 0xE4}, /* 0x54-0x57 */ + {0x7C, 0xE5}, {0x7C, 0xE6}, {0x7C, 0xE7}, {0x7C, 0xE9}, /* 0x58-0x5B */ + {0x7C, 0xEA}, {0x7C, 0xEB}, {0x7C, 0xEC}, {0x7C, 0xED}, /* 0x5C-0x5F */ + {0x7C, 0xEE}, {0x7C, 0xF0}, {0x7C, 0xF1}, {0x7C, 0xF2}, /* 0x60-0x63 */ + {0x7C, 0xF3}, {0x7C, 0xF4}, {0x7C, 0xF5}, {0x7C, 0xF6}, /* 0x64-0x67 */ + {0x7C, 0xF7}, {0x7C, 0xF9}, {0x7C, 0xFA}, {0x7C, 0xFC}, /* 0x68-0x6B */ + {0x7C, 0xFD}, {0x7C, 0xFE}, {0x7C, 0xFF}, {0x7D, 0x00}, /* 0x6C-0x6F */ + {0x7D, 0x01}, {0x7D, 0x02}, {0x7D, 0x03}, {0x7D, 0x04}, /* 0x70-0x73 */ + {0x7D, 0x05}, {0x7D, 0x06}, {0x7D, 0x07}, {0x7D, 0x08}, /* 0x74-0x77 */ + {0x7D, 0x09}, {0x7D, 0x0B}, {0x7D, 0x0C}, {0x7D, 0x0D}, /* 0x78-0x7B */ + {0x7D, 0x0E}, {0x7D, 0x0F}, {0x7D, 0x10}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7D, 0x11}, {0x7D, 0x12}, {0x7D, 0x13}, {0x7D, 0x14}, /* 0x80-0x83 */ + {0x7D, 0x15}, {0x7D, 0x16}, {0x7D, 0x17}, {0x7D, 0x18}, /* 0x84-0x87 */ + {0x7D, 0x19}, {0x7D, 0x1A}, {0x7D, 0x1B}, {0x7D, 0x1C}, /* 0x88-0x8B */ + {0x7D, 0x1D}, {0x7D, 0x1E}, {0x7D, 0x1F}, {0x7D, 0x21}, /* 0x8C-0x8F */ + {0x7D, 0x23}, {0x7D, 0x24}, {0x7D, 0x25}, {0x7D, 0x26}, /* 0x90-0x93 */ + {0x7D, 0x28}, {0x7D, 0x29}, {0x7D, 0x2A}, {0x7D, 0x2C}, /* 0x94-0x97 */ + {0x7D, 0x2D}, {0x7D, 0x2E}, {0x7D, 0x30}, {0x7D, 0x31}, /* 0x98-0x9B */ + {0x7D, 0x32}, {0x7D, 0x33}, {0x7D, 0x34}, {0x7D, 0x35}, /* 0x9C-0x9F */ + {0x7D, 0x36}, {0x80, 0x8C}, {0x99, 0x65}, {0x8F, 0xF9}, /* 0xA0-0xA3 */ + {0x6F, 0xC0}, {0x8B, 0xA5}, {0x9E, 0x21}, {0x59, 0xEC}, /* 0xA4-0xA7 */ + {0x7E, 0xE9}, {0x7F, 0x09}, {0x54, 0x09}, {0x67, 0x81}, /* 0xA8-0xAB */ + {0x68, 0xD8}, {0x8F, 0x91}, {0x7C, 0x4D}, {0x96, 0xC6}, /* 0xAC-0xAF */ + {0x53, 0xCA}, {0x60, 0x25}, {0x75, 0xBE}, {0x6C, 0x72}, /* 0xB0-0xB3 */ + {0x53, 0x73}, {0x5A, 0xC9}, {0x7E, 0xA7}, {0x63, 0x24}, /* 0xB4-0xB7 */ + {0x51, 0xE0}, {0x81, 0x0A}, {0x5D, 0xF1}, {0x84, 0xDF}, /* 0xB8-0xBB */ + {0x62, 0x80}, {0x51, 0x80}, {0x5B, 0x63}, {0x4F, 0x0E}, /* 0xBC-0xBF */ + {0x79, 0x6D}, {0x52, 0x42}, {0x60, 0xB8}, {0x6D, 0x4E}, /* 0xC0-0xC3 */ + {0x5B, 0xC4}, {0x5B, 0xC2}, {0x8B, 0xA1}, {0x8B, 0xB0}, /* 0xC4-0xC7 */ + {0x65, 0xE2}, {0x5F, 0xCC}, {0x96, 0x45}, {0x59, 0x93}, /* 0xC8-0xCB */ + {0x7E, 0xE7}, {0x7E, 0xAA}, {0x56, 0x09}, {0x67, 0xB7}, /* 0xCC-0xCF */ + {0x59, 0x39}, {0x4F, 0x73}, {0x5B, 0xB6}, {0x52, 0xA0}, /* 0xD0-0xD3 */ + {0x83, 0x5A}, {0x98, 0x8A}, {0x8D, 0x3E}, {0x75, 0x32}, /* 0xD4-0xD7 */ + {0x94, 0xBE}, {0x50, 0x47}, {0x7A, 0x3C}, {0x4E, 0xF7}, /* 0xD8-0xDB */ + {0x67, 0xB6}, {0x9A, 0x7E}, {0x5A, 0xC1}, {0x6B, 0x7C}, /* 0xDC-0xDF */ + {0x76, 0xD1}, {0x57, 0x5A}, {0x5C, 0x16}, {0x7B, 0x3A}, /* 0xE0-0xE3 */ + {0x95, 0xF4}, {0x71, 0x4E}, {0x51, 0x7C}, {0x80, 0xA9}, /* 0xE4-0xE7 */ + {0x82, 0x70}, {0x59, 0x78}, {0x7F, 0x04}, {0x83, 0x27}, /* 0xE8-0xEB */ + {0x68, 0xC0}, {0x67, 0xEC}, {0x78, 0xB1}, {0x78, 0x77}, /* 0xEC-0xEF */ + {0x62, 0xE3}, {0x63, 0x61}, {0x7B, 0x80}, {0x4F, 0xED}, /* 0xF0-0xF3 */ + {0x52, 0x6A}, {0x51, 0xCF}, {0x83, 0x50}, {0x69, 0xDB}, /* 0xF4-0xF7 */ + {0x92, 0x74}, {0x8D, 0xF5}, {0x8D, 0x31}, {0x89, 0xC1}, /* 0xF8-0xFB */ + {0x95, 0x2E}, {0x7B, 0xAD}, {0x4E, 0xF6}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7D, 0x37}, {0x7D, 0x38}, {0x7D, 0x39}, {0x7D, 0x3A}, /* 0x40-0x43 */ + {0x7D, 0x3B}, {0x7D, 0x3C}, {0x7D, 0x3D}, {0x7D, 0x3E}, /* 0x44-0x47 */ + {0x7D, 0x3F}, {0x7D, 0x40}, {0x7D, 0x41}, {0x7D, 0x42}, /* 0x48-0x4B */ + {0x7D, 0x43}, {0x7D, 0x44}, {0x7D, 0x45}, {0x7D, 0x46}, /* 0x4C-0x4F */ + {0x7D, 0x47}, {0x7D, 0x48}, {0x7D, 0x49}, {0x7D, 0x4A}, /* 0x50-0x53 */ + {0x7D, 0x4B}, {0x7D, 0x4C}, {0x7D, 0x4D}, {0x7D, 0x4E}, /* 0x54-0x57 */ + {0x7D, 0x4F}, {0x7D, 0x50}, {0x7D, 0x51}, {0x7D, 0x52}, /* 0x58-0x5B */ + {0x7D, 0x53}, {0x7D, 0x54}, {0x7D, 0x55}, {0x7D, 0x56}, /* 0x5C-0x5F */ + {0x7D, 0x57}, {0x7D, 0x58}, {0x7D, 0x59}, {0x7D, 0x5A}, /* 0x60-0x63 */ + {0x7D, 0x5B}, {0x7D, 0x5C}, {0x7D, 0x5D}, {0x7D, 0x5E}, /* 0x64-0x67 */ + {0x7D, 0x5F}, {0x7D, 0x60}, {0x7D, 0x61}, {0x7D, 0x62}, /* 0x68-0x6B */ + {0x7D, 0x63}, {0x7D, 0x64}, {0x7D, 0x65}, {0x7D, 0x66}, /* 0x6C-0x6F */ + {0x7D, 0x67}, {0x7D, 0x68}, {0x7D, 0x69}, {0x7D, 0x6A}, /* 0x70-0x73 */ + {0x7D, 0x6B}, {0x7D, 0x6C}, {0x7D, 0x6D}, {0x7D, 0x6F}, /* 0x74-0x77 */ + {0x7D, 0x70}, {0x7D, 0x71}, {0x7D, 0x72}, {0x7D, 0x73}, /* 0x78-0x7B */ + {0x7D, 0x74}, {0x7D, 0x75}, {0x7D, 0x76}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7D, 0x78}, {0x7D, 0x79}, {0x7D, 0x7A}, {0x7D, 0x7B}, /* 0x80-0x83 */ + {0x7D, 0x7C}, {0x7D, 0x7D}, {0x7D, 0x7E}, {0x7D, 0x7F}, /* 0x84-0x87 */ + {0x7D, 0x80}, {0x7D, 0x81}, {0x7D, 0x82}, {0x7D, 0x83}, /* 0x88-0x8B */ + {0x7D, 0x84}, {0x7D, 0x85}, {0x7D, 0x86}, {0x7D, 0x87}, /* 0x8C-0x8F */ + {0x7D, 0x88}, {0x7D, 0x89}, {0x7D, 0x8A}, {0x7D, 0x8B}, /* 0x90-0x93 */ + {0x7D, 0x8C}, {0x7D, 0x8D}, {0x7D, 0x8E}, {0x7D, 0x8F}, /* 0x94-0x97 */ + {0x7D, 0x90}, {0x7D, 0x91}, {0x7D, 0x92}, {0x7D, 0x93}, /* 0x98-0x9B */ + {0x7D, 0x94}, {0x7D, 0x95}, {0x7D, 0x96}, {0x7D, 0x97}, /* 0x9C-0x9F */ + {0x7D, 0x98}, {0x50, 0x65}, {0x82, 0x30}, {0x52, 0x51}, /* 0xA0-0xA3 */ + {0x99, 0x6F}, {0x6E, 0x10}, {0x6E, 0x85}, {0x6D, 0xA7}, /* 0xA4-0xA7 */ + {0x5E, 0xFA}, {0x50, 0xF5}, {0x59, 0xDC}, {0x5C, 0x06}, /* 0xA8-0xAB */ + {0x6D, 0x46}, {0x6C, 0x5F}, {0x75, 0x86}, {0x84, 0x8B}, /* 0xAC-0xAF */ + {0x68, 0x68}, {0x59, 0x56}, {0x8B, 0xB2}, {0x53, 0x20}, /* 0xB0-0xB3 */ + {0x91, 0x71}, {0x96, 0x4D}, {0x85, 0x49}, {0x69, 0x12}, /* 0xB4-0xB7 */ + {0x79, 0x01}, {0x71, 0x26}, {0x80, 0xF6}, {0x4E, 0xA4}, /* 0xB8-0xBB */ + {0x90, 0xCA}, {0x6D, 0x47}, {0x9A, 0x84}, {0x5A, 0x07}, /* 0xBC-0xBF */ + {0x56, 0xBC}, {0x64, 0x05}, {0x94, 0xF0}, {0x77, 0xEB}, /* 0xC0-0xC3 */ + {0x4F, 0xA5}, {0x81, 0x1A}, {0x72, 0xE1}, {0x89, 0xD2}, /* 0xC4-0xC7 */ + {0x99, 0x7A}, {0x7F, 0x34}, {0x7E, 0xDE}, {0x52, 0x7F}, /* 0xC8-0xCB */ + {0x65, 0x59}, {0x91, 0x75}, {0x8F, 0x7F}, {0x8F, 0x83}, /* 0xCC-0xCF */ + {0x53, 0xEB}, {0x7A, 0x96}, {0x63, 0xED}, {0x63, 0xA5}, /* 0xD0-0xD3 */ + {0x76, 0x86}, {0x79, 0xF8}, {0x88, 0x57}, {0x96, 0x36}, /* 0xD4-0xD7 */ + {0x62, 0x2A}, {0x52, 0xAB}, {0x82, 0x82}, {0x68, 0x54}, /* 0xD8-0xDB */ + {0x67, 0x70}, {0x63, 0x77}, {0x77, 0x6B}, {0x7A, 0xED}, /* 0xDC-0xDF */ + {0x6D, 0x01}, {0x7E, 0xD3}, {0x89, 0xE3}, {0x59, 0xD0}, /* 0xE0-0xE3 */ + {0x62, 0x12}, {0x85, 0xC9}, {0x82, 0xA5}, {0x75, 0x4C}, /* 0xE4-0xE7 */ + {0x50, 0x1F}, {0x4E, 0xCB}, {0x75, 0xA5}, {0x8B, 0xEB}, /* 0xE8-0xEB */ + {0x5C, 0x4A}, {0x5D, 0xFE}, {0x7B, 0x4B}, {0x65, 0xA4}, /* 0xEC-0xEF */ + {0x91, 0xD1}, {0x4E, 0xCA}, {0x6D, 0x25}, {0x89, 0x5F}, /* 0xF0-0xF3 */ + {0x7D, 0x27}, {0x95, 0x26}, {0x4E, 0xC5}, {0x8C, 0x28}, /* 0xF4-0xF7 */ + {0x8F, 0xDB}, {0x97, 0x73}, {0x66, 0x4B}, {0x79, 0x81}, /* 0xF8-0xFB */ + {0x8F, 0xD1}, {0x70, 0xEC}, {0x6D, 0x78}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7D, 0x99}, {0x7D, 0x9A}, {0x7D, 0x9B}, {0x7D, 0x9C}, /* 0x40-0x43 */ + {0x7D, 0x9D}, {0x7D, 0x9E}, {0x7D, 0x9F}, {0x7D, 0xA0}, /* 0x44-0x47 */ + {0x7D, 0xA1}, {0x7D, 0xA2}, {0x7D, 0xA3}, {0x7D, 0xA4}, /* 0x48-0x4B */ + {0x7D, 0xA5}, {0x7D, 0xA7}, {0x7D, 0xA8}, {0x7D, 0xA9}, /* 0x4C-0x4F */ + {0x7D, 0xAA}, {0x7D, 0xAB}, {0x7D, 0xAC}, {0x7D, 0xAD}, /* 0x50-0x53 */ + {0x7D, 0xAF}, {0x7D, 0xB0}, {0x7D, 0xB1}, {0x7D, 0xB2}, /* 0x54-0x57 */ + {0x7D, 0xB3}, {0x7D, 0xB4}, {0x7D, 0xB5}, {0x7D, 0xB6}, /* 0x58-0x5B */ + {0x7D, 0xB7}, {0x7D, 0xB8}, {0x7D, 0xB9}, {0x7D, 0xBA}, /* 0x5C-0x5F */ + {0x7D, 0xBB}, {0x7D, 0xBC}, {0x7D, 0xBD}, {0x7D, 0xBE}, /* 0x60-0x63 */ + {0x7D, 0xBF}, {0x7D, 0xC0}, {0x7D, 0xC1}, {0x7D, 0xC2}, /* 0x64-0x67 */ + {0x7D, 0xC3}, {0x7D, 0xC4}, {0x7D, 0xC5}, {0x7D, 0xC6}, /* 0x68-0x6B */ + {0x7D, 0xC7}, {0x7D, 0xC8}, {0x7D, 0xC9}, {0x7D, 0xCA}, /* 0x6C-0x6F */ + {0x7D, 0xCB}, {0x7D, 0xCC}, {0x7D, 0xCD}, {0x7D, 0xCE}, /* 0x70-0x73 */ + {0x7D, 0xCF}, {0x7D, 0xD0}, {0x7D, 0xD1}, {0x7D, 0xD2}, /* 0x74-0x77 */ + {0x7D, 0xD3}, {0x7D, 0xD4}, {0x7D, 0xD5}, {0x7D, 0xD6}, /* 0x78-0x7B */ + {0x7D, 0xD7}, {0x7D, 0xD8}, {0x7D, 0xD9}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7D, 0xDA}, {0x7D, 0xDB}, {0x7D, 0xDC}, {0x7D, 0xDD}, /* 0x80-0x83 */ + {0x7D, 0xDE}, {0x7D, 0xDF}, {0x7D, 0xE0}, {0x7D, 0xE1}, /* 0x84-0x87 */ + {0x7D, 0xE2}, {0x7D, 0xE3}, {0x7D, 0xE4}, {0x7D, 0xE5}, /* 0x88-0x8B */ + {0x7D, 0xE6}, {0x7D, 0xE7}, {0x7D, 0xE8}, {0x7D, 0xE9}, /* 0x8C-0x8F */ + {0x7D, 0xEA}, {0x7D, 0xEB}, {0x7D, 0xEC}, {0x7D, 0xED}, /* 0x90-0x93 */ + {0x7D, 0xEE}, {0x7D, 0xEF}, {0x7D, 0xF0}, {0x7D, 0xF1}, /* 0x94-0x97 */ + {0x7D, 0xF2}, {0x7D, 0xF3}, {0x7D, 0xF4}, {0x7D, 0xF5}, /* 0x98-0x9B */ + {0x7D, 0xF6}, {0x7D, 0xF7}, {0x7D, 0xF8}, {0x7D, 0xF9}, /* 0x9C-0x9F */ + {0x7D, 0xFA}, {0x5C, 0x3D}, {0x52, 0xB2}, {0x83, 0x46}, /* 0xA0-0xA3 */ + {0x51, 0x62}, {0x83, 0x0E}, {0x77, 0x5B}, {0x66, 0x76}, /* 0xA4-0xA7 */ + {0x9C, 0xB8}, {0x4E, 0xAC}, {0x60, 0xCA}, {0x7C, 0xBE}, /* 0xA8-0xAB */ + {0x7C, 0xB3}, {0x7E, 0xCF}, {0x4E, 0x95}, {0x8B, 0x66}, /* 0xAC-0xAF */ + {0x66, 0x6F}, {0x98, 0x88}, {0x97, 0x59}, {0x58, 0x83}, /* 0xB0-0xB3 */ + {0x65, 0x6C}, {0x95, 0x5C}, {0x5F, 0x84}, {0x75, 0xC9}, /* 0xB4-0xB7 */ + {0x97, 0x56}, {0x7A, 0xDF}, {0x7A, 0xDE}, {0x51, 0xC0}, /* 0xB8-0xBB */ + {0x70, 0xAF}, {0x7A, 0x98}, {0x63, 0xEA}, {0x7A, 0x76}, /* 0xBC-0xBF */ + {0x7E, 0xA0}, {0x73, 0x96}, {0x97, 0xED}, {0x4E, 0x45}, /* 0xC0-0xC3 */ + {0x70, 0x78}, {0x4E, 0x5D}, {0x91, 0x52}, {0x53, 0xA9}, /* 0xC4-0xC7 */ + {0x65, 0x51}, {0x65, 0xE7}, {0x81, 0xFC}, {0x82, 0x05}, /* 0xC8-0xCB */ + {0x54, 0x8E}, {0x5C, 0x31}, {0x75, 0x9A}, {0x97, 0xA0}, /* 0xCC-0xCF */ + {0x62, 0xD8}, {0x72, 0xD9}, {0x75, 0xBD}, {0x5C, 0x45}, /* 0xD0-0xD3 */ + {0x9A, 0x79}, {0x83, 0xCA}, {0x5C, 0x40}, {0x54, 0x80}, /* 0xD4-0xD7 */ + {0x77, 0xE9}, {0x4E, 0x3E}, {0x6C, 0xAE}, {0x80, 0x5A}, /* 0xD8-0xDB */ + {0x62, 0xD2}, {0x63, 0x6E}, {0x5D, 0xE8}, {0x51, 0x77}, /* 0xDC-0xDF */ + {0x8D, 0xDD}, {0x8E, 0x1E}, {0x95, 0x2F}, {0x4F, 0xF1}, /* 0xE0-0xE3 */ + {0x53, 0xE5}, {0x60, 0xE7}, {0x70, 0xAC}, {0x52, 0x67}, /* 0xE4-0xE7 */ + {0x63, 0x50}, {0x9E, 0x43}, {0x5A, 0x1F}, {0x50, 0x26}, /* 0xE8-0xEB */ + {0x77, 0x37}, {0x53, 0x77}, {0x7E, 0xE2}, {0x64, 0x85}, /* 0xEC-0xEF */ + {0x65, 0x2B}, {0x62, 0x89}, {0x63, 0x98}, {0x50, 0x14}, /* 0xF0-0xF3 */ + {0x72, 0x35}, {0x89, 0xC9}, {0x51, 0xB3}, {0x8B, 0xC0}, /* 0xF4-0xF7 */ + {0x7E, 0xDD}, {0x57, 0x47}, {0x83, 0xCC}, {0x94, 0xA7}, /* 0xF8-0xFB */ + {0x51, 0x9B}, {0x54, 0x1B}, {0x5C, 0xFB}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7D, 0xFB}, {0x7D, 0xFC}, {0x7D, 0xFD}, {0x7D, 0xFE}, /* 0x40-0x43 */ + {0x7D, 0xFF}, {0x7E, 0x00}, {0x7E, 0x01}, {0x7E, 0x02}, /* 0x44-0x47 */ + {0x7E, 0x03}, {0x7E, 0x04}, {0x7E, 0x05}, {0x7E, 0x06}, /* 0x48-0x4B */ + {0x7E, 0x07}, {0x7E, 0x08}, {0x7E, 0x09}, {0x7E, 0x0A}, /* 0x4C-0x4F */ + {0x7E, 0x0B}, {0x7E, 0x0C}, {0x7E, 0x0D}, {0x7E, 0x0E}, /* 0x50-0x53 */ + {0x7E, 0x0F}, {0x7E, 0x10}, {0x7E, 0x11}, {0x7E, 0x12}, /* 0x54-0x57 */ + {0x7E, 0x13}, {0x7E, 0x14}, {0x7E, 0x15}, {0x7E, 0x16}, /* 0x58-0x5B */ + {0x7E, 0x17}, {0x7E, 0x18}, {0x7E, 0x19}, {0x7E, 0x1A}, /* 0x5C-0x5F */ + {0x7E, 0x1B}, {0x7E, 0x1C}, {0x7E, 0x1D}, {0x7E, 0x1E}, /* 0x60-0x63 */ + {0x7E, 0x1F}, {0x7E, 0x20}, {0x7E, 0x21}, {0x7E, 0x22}, /* 0x64-0x67 */ + {0x7E, 0x23}, {0x7E, 0x24}, {0x7E, 0x25}, {0x7E, 0x26}, /* 0x68-0x6B */ + {0x7E, 0x27}, {0x7E, 0x28}, {0x7E, 0x29}, {0x7E, 0x2A}, /* 0x6C-0x6F */ + {0x7E, 0x2B}, {0x7E, 0x2C}, {0x7E, 0x2D}, {0x7E, 0x2E}, /* 0x70-0x73 */ + {0x7E, 0x2F}, {0x7E, 0x30}, {0x7E, 0x31}, {0x7E, 0x32}, /* 0x74-0x77 */ + {0x7E, 0x33}, {0x7E, 0x34}, {0x7E, 0x35}, {0x7E, 0x36}, /* 0x78-0x7B */ + {0x7E, 0x37}, {0x7E, 0x38}, {0x7E, 0x39}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7E, 0x3A}, {0x7E, 0x3C}, {0x7E, 0x3D}, {0x7E, 0x3E}, /* 0x80-0x83 */ + {0x7E, 0x3F}, {0x7E, 0x40}, {0x7E, 0x42}, {0x7E, 0x43}, /* 0x84-0x87 */ + {0x7E, 0x44}, {0x7E, 0x45}, {0x7E, 0x46}, {0x7E, 0x48}, /* 0x88-0x8B */ + {0x7E, 0x49}, {0x7E, 0x4A}, {0x7E, 0x4B}, {0x7E, 0x4C}, /* 0x8C-0x8F */ + {0x7E, 0x4D}, {0x7E, 0x4E}, {0x7E, 0x4F}, {0x7E, 0x50}, /* 0x90-0x93 */ + {0x7E, 0x51}, {0x7E, 0x52}, {0x7E, 0x53}, {0x7E, 0x54}, /* 0x94-0x97 */ + {0x7E, 0x55}, {0x7E, 0x56}, {0x7E, 0x57}, {0x7E, 0x58}, /* 0x98-0x9B */ + {0x7E, 0x59}, {0x7E, 0x5A}, {0x7E, 0x5B}, {0x7E, 0x5C}, /* 0x9C-0x9F */ + {0x7E, 0x5D}, {0x4F, 0xCA}, {0x7A, 0xE3}, {0x6D, 0x5A}, /* 0xA0-0xA3 */ + {0x90, 0xE1}, {0x9A, 0x8F}, {0x55, 0x80}, {0x54, 0x96}, /* 0xA4-0xA7 */ + {0x53, 0x61}, {0x54, 0xAF}, {0x5F, 0x00}, {0x63, 0xE9}, /* 0xA8-0xAB */ + {0x69, 0x77}, {0x51, 0xEF}, {0x61, 0x68}, {0x52, 0x0A}, /* 0xAC-0xAF */ + {0x58, 0x2A}, {0x52, 0xD8}, {0x57, 0x4E}, {0x78, 0x0D}, /* 0xB0-0xB3 */ + {0x77, 0x0B}, {0x5E, 0xB7}, {0x61, 0x77}, {0x7C, 0xE0}, /* 0xB4-0xB7 */ + {0x62, 0x5B}, {0x62, 0x97}, {0x4E, 0xA2}, {0x70, 0x95}, /* 0xB8-0xBB */ + {0x80, 0x03}, {0x62, 0xF7}, {0x70, 0xE4}, {0x97, 0x60}, /* 0xBC-0xBF */ + {0x57, 0x77}, {0x82, 0xDB}, {0x67, 0xEF}, {0x68, 0xF5}, /* 0xC0-0xC3 */ + {0x78, 0xD5}, {0x98, 0x97}, {0x79, 0xD1}, {0x58, 0xF3}, /* 0xC4-0xC7 */ + {0x54, 0xB3}, {0x53, 0xEF}, {0x6E, 0x34}, {0x51, 0x4B}, /* 0xC8-0xCB */ + {0x52, 0x3B}, {0x5B, 0xA2}, {0x8B, 0xFE}, {0x80, 0xAF}, /* 0xCC-0xCF */ + {0x55, 0x43}, {0x57, 0xA6}, {0x60, 0x73}, {0x57, 0x51}, /* 0xD0-0xD3 */ + {0x54, 0x2D}, {0x7A, 0x7A}, {0x60, 0x50}, {0x5B, 0x54}, /* 0xD4-0xD7 */ + {0x63, 0xA7}, {0x62, 0xA0}, {0x53, 0xE3}, {0x62, 0x63}, /* 0xD8-0xDB */ + {0x5B, 0xC7}, {0x67, 0xAF}, {0x54, 0xED}, {0x7A, 0x9F}, /* 0xDC-0xDF */ + {0x82, 0xE6}, {0x91, 0x77}, {0x5E, 0x93}, {0x88, 0xE4}, /* 0xE0-0xE3 */ + {0x59, 0x38}, {0x57, 0xAE}, {0x63, 0x0E}, {0x8D, 0xE8}, /* 0xE4-0xE7 */ + {0x80, 0xEF}, {0x57, 0x57}, {0x7B, 0x77}, {0x4F, 0xA9}, /* 0xE8-0xEB */ + {0x5F, 0xEB}, {0x5B, 0xBD}, {0x6B, 0x3E}, {0x53, 0x21}, /* 0xEC-0xEF */ + {0x7B, 0x50}, {0x72, 0xC2}, {0x68, 0x46}, {0x77, 0xFF}, /* 0xF0-0xF3 */ + {0x77, 0x36}, {0x65, 0xF7}, {0x51, 0xB5}, {0x4E, 0x8F}, /* 0xF4-0xF7 */ + {0x76, 0xD4}, {0x5C, 0xBF}, {0x7A, 0xA5}, {0x84, 0x75}, /* 0xF8-0xFB */ + {0x59, 0x4E}, {0x9B, 0x41}, {0x50, 0x80}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7E, 0x5E}, {0x7E, 0x5F}, {0x7E, 0x60}, {0x7E, 0x61}, /* 0x40-0x43 */ + {0x7E, 0x62}, {0x7E, 0x63}, {0x7E, 0x64}, {0x7E, 0x65}, /* 0x44-0x47 */ + {0x7E, 0x66}, {0x7E, 0x67}, {0x7E, 0x68}, {0x7E, 0x69}, /* 0x48-0x4B */ + {0x7E, 0x6A}, {0x7E, 0x6B}, {0x7E, 0x6C}, {0x7E, 0x6D}, /* 0x4C-0x4F */ + {0x7E, 0x6E}, {0x7E, 0x6F}, {0x7E, 0x70}, {0x7E, 0x71}, /* 0x50-0x53 */ + {0x7E, 0x72}, {0x7E, 0x73}, {0x7E, 0x74}, {0x7E, 0x75}, /* 0x54-0x57 */ + {0x7E, 0x76}, {0x7E, 0x77}, {0x7E, 0x78}, {0x7E, 0x79}, /* 0x58-0x5B */ + {0x7E, 0x7A}, {0x7E, 0x7B}, {0x7E, 0x7C}, {0x7E, 0x7D}, /* 0x5C-0x5F */ + {0x7E, 0x7E}, {0x7E, 0x7F}, {0x7E, 0x80}, {0x7E, 0x81}, /* 0x60-0x63 */ + {0x7E, 0x83}, {0x7E, 0x84}, {0x7E, 0x85}, {0x7E, 0x86}, /* 0x64-0x67 */ + {0x7E, 0x87}, {0x7E, 0x88}, {0x7E, 0x89}, {0x7E, 0x8A}, /* 0x68-0x6B */ + {0x7E, 0x8B}, {0x7E, 0x8C}, {0x7E, 0x8D}, {0x7E, 0x8E}, /* 0x6C-0x6F */ + {0x7E, 0x8F}, {0x7E, 0x90}, {0x7E, 0x91}, {0x7E, 0x92}, /* 0x70-0x73 */ + {0x7E, 0x93}, {0x7E, 0x94}, {0x7E, 0x95}, {0x7E, 0x96}, /* 0x74-0x77 */ + {0x7E, 0x97}, {0x7E, 0x98}, {0x7E, 0x99}, {0x7E, 0x9A}, /* 0x78-0x7B */ + {0x7E, 0x9C}, {0x7E, 0x9D}, {0x7E, 0x9E}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7E, 0xAE}, {0x7E, 0xB4}, {0x7E, 0xBB}, {0x7E, 0xBC}, /* 0x80-0x83 */ + {0x7E, 0xD6}, {0x7E, 0xE4}, {0x7E, 0xEC}, {0x7E, 0xF9}, /* 0x84-0x87 */ + {0x7F, 0x0A}, {0x7F, 0x10}, {0x7F, 0x1E}, {0x7F, 0x37}, /* 0x88-0x8B */ + {0x7F, 0x39}, {0x7F, 0x3B}, {0x7F, 0x3C}, {0x7F, 0x3D}, /* 0x8C-0x8F */ + {0x7F, 0x3E}, {0x7F, 0x3F}, {0x7F, 0x40}, {0x7F, 0x41}, /* 0x90-0x93 */ + {0x7F, 0x43}, {0x7F, 0x46}, {0x7F, 0x47}, {0x7F, 0x48}, /* 0x94-0x97 */ + {0x7F, 0x49}, {0x7F, 0x4A}, {0x7F, 0x4B}, {0x7F, 0x4C}, /* 0x98-0x9B */ + {0x7F, 0x4D}, {0x7F, 0x4E}, {0x7F, 0x4F}, {0x7F, 0x52}, /* 0x9C-0x9F */ + {0x7F, 0x53}, {0x99, 0x88}, {0x61, 0x27}, {0x6E, 0x83}, /* 0xA0-0xA3 */ + {0x57, 0x64}, {0x66, 0x06}, {0x63, 0x46}, {0x56, 0xF0}, /* 0xA4-0xA7 */ + {0x62, 0xEC}, {0x62, 0x69}, {0x5E, 0xD3}, {0x96, 0x14}, /* 0xA8-0xAB */ + {0x57, 0x83}, {0x62, 0xC9}, {0x55, 0x87}, {0x87, 0x21}, /* 0xAC-0xAF */ + {0x81, 0x4A}, {0x8F, 0xA3}, {0x55, 0x66}, {0x83, 0xB1}, /* 0xB0-0xB3 */ + {0x67, 0x65}, {0x8D, 0x56}, {0x84, 0xDD}, {0x5A, 0x6A}, /* 0xB4-0xB7 */ + {0x68, 0x0F}, {0x62, 0xE6}, {0x7B, 0xEE}, {0x96, 0x11}, /* 0xB8-0xBB */ + {0x51, 0x70}, {0x6F, 0x9C}, {0x8C, 0x30}, {0x63, 0xFD}, /* 0xBC-0xBF */ + {0x89, 0xC8}, {0x61, 0xD2}, {0x7F, 0x06}, {0x70, 0xC2}, /* 0xC0-0xC3 */ + {0x6E, 0xE5}, {0x74, 0x05}, {0x69, 0x94}, {0x72, 0xFC}, /* 0xC4-0xC7 */ + {0x5E, 0xCA}, {0x90, 0xCE}, {0x67, 0x17}, {0x6D, 0x6A}, /* 0xC8-0xCB */ + {0x63, 0x5E}, {0x52, 0xB3}, {0x72, 0x62}, {0x80, 0x01}, /* 0xCC-0xCF */ + {0x4F, 0x6C}, {0x59, 0xE5}, {0x91, 0x6A}, {0x70, 0xD9}, /* 0xD0-0xD3 */ + {0x6D, 0x9D}, {0x52, 0xD2}, {0x4E, 0x50}, {0x96, 0xF7}, /* 0xD4-0xD7 */ + {0x95, 0x6D}, {0x85, 0x7E}, {0x78, 0xCA}, {0x7D, 0x2F}, /* 0xD8-0xDB */ + {0x51, 0x21}, {0x57, 0x92}, {0x64, 0xC2}, {0x80, 0x8B}, /* 0xDC-0xDF */ + {0x7C, 0x7B}, {0x6C, 0xEA}, {0x68, 0xF1}, {0x69, 0x5E}, /* 0xE0-0xE3 */ + {0x51, 0xB7}, {0x53, 0x98}, {0x68, 0xA8}, {0x72, 0x81}, /* 0xE4-0xE7 */ + {0x9E, 0xCE}, {0x7B, 0xF1}, {0x72, 0xF8}, {0x79, 0xBB}, /* 0xE8-0xEB */ + {0x6F, 0x13}, {0x74, 0x06}, {0x67, 0x4E}, {0x91, 0xCC}, /* 0xEC-0xEF */ + {0x9C, 0xA4}, {0x79, 0x3C}, {0x83, 0x89}, {0x83, 0x54}, /* 0xF0-0xF3 */ + {0x54, 0x0F}, {0x68, 0x17}, {0x4E, 0x3D}, {0x53, 0x89}, /* 0xF4-0xF7 */ + {0x52, 0xB1}, {0x78, 0x3E}, {0x53, 0x86}, {0x52, 0x29}, /* 0xF8-0xFB */ + {0x50, 0x88}, {0x4F, 0x8B}, {0x4F, 0xD0}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7F, 0x56}, {0x7F, 0x59}, {0x7F, 0x5B}, {0x7F, 0x5C}, /* 0x40-0x43 */ + {0x7F, 0x5D}, {0x7F, 0x5E}, {0x7F, 0x60}, {0x7F, 0x63}, /* 0x44-0x47 */ + {0x7F, 0x64}, {0x7F, 0x65}, {0x7F, 0x66}, {0x7F, 0x67}, /* 0x48-0x4B */ + {0x7F, 0x6B}, {0x7F, 0x6C}, {0x7F, 0x6D}, {0x7F, 0x6F}, /* 0x4C-0x4F */ + {0x7F, 0x70}, {0x7F, 0x73}, {0x7F, 0x75}, {0x7F, 0x76}, /* 0x50-0x53 */ + {0x7F, 0x77}, {0x7F, 0x78}, {0x7F, 0x7A}, {0x7F, 0x7B}, /* 0x54-0x57 */ + {0x7F, 0x7C}, {0x7F, 0x7D}, {0x7F, 0x7F}, {0x7F, 0x80}, /* 0x58-0x5B */ + {0x7F, 0x82}, {0x7F, 0x83}, {0x7F, 0x84}, {0x7F, 0x85}, /* 0x5C-0x5F */ + {0x7F, 0x86}, {0x7F, 0x87}, {0x7F, 0x88}, {0x7F, 0x89}, /* 0x60-0x63 */ + {0x7F, 0x8B}, {0x7F, 0x8D}, {0x7F, 0x8F}, {0x7F, 0x90}, /* 0x64-0x67 */ + {0x7F, 0x91}, {0x7F, 0x92}, {0x7F, 0x93}, {0x7F, 0x95}, /* 0x68-0x6B */ + {0x7F, 0x96}, {0x7F, 0x97}, {0x7F, 0x98}, {0x7F, 0x99}, /* 0x6C-0x6F */ + {0x7F, 0x9B}, {0x7F, 0x9C}, {0x7F, 0xA0}, {0x7F, 0xA2}, /* 0x70-0x73 */ + {0x7F, 0xA3}, {0x7F, 0xA5}, {0x7F, 0xA6}, {0x7F, 0xA8}, /* 0x74-0x77 */ + {0x7F, 0xA9}, {0x7F, 0xAA}, {0x7F, 0xAB}, {0x7F, 0xAC}, /* 0x78-0x7B */ + {0x7F, 0xAD}, {0x7F, 0xAE}, {0x7F, 0xB1}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x7F, 0xB3}, {0x7F, 0xB4}, {0x7F, 0xB5}, {0x7F, 0xB6}, /* 0x80-0x83 */ + {0x7F, 0xB7}, {0x7F, 0xBA}, {0x7F, 0xBB}, {0x7F, 0xBE}, /* 0x84-0x87 */ + {0x7F, 0xC0}, {0x7F, 0xC2}, {0x7F, 0xC3}, {0x7F, 0xC4}, /* 0x88-0x8B */ + {0x7F, 0xC6}, {0x7F, 0xC7}, {0x7F, 0xC8}, {0x7F, 0xC9}, /* 0x8C-0x8F */ + {0x7F, 0xCB}, {0x7F, 0xCD}, {0x7F, 0xCF}, {0x7F, 0xD0}, /* 0x90-0x93 */ + {0x7F, 0xD1}, {0x7F, 0xD2}, {0x7F, 0xD3}, {0x7F, 0xD6}, /* 0x94-0x97 */ + {0x7F, 0xD7}, {0x7F, 0xD9}, {0x7F, 0xDA}, {0x7F, 0xDB}, /* 0x98-0x9B */ + {0x7F, 0xDC}, {0x7F, 0xDD}, {0x7F, 0xDE}, {0x7F, 0xE2}, /* 0x9C-0x9F */ + {0x7F, 0xE3}, {0x75, 0xE2}, {0x7A, 0xCB}, {0x7C, 0x92}, /* 0xA0-0xA3 */ + {0x6C, 0xA5}, {0x96, 0xB6}, {0x52, 0x9B}, {0x74, 0x83}, /* 0xA4-0xA7 */ + {0x54, 0xE9}, {0x4F, 0xE9}, {0x80, 0x54}, {0x83, 0xB2}, /* 0xA8-0xAB */ + {0x8F, 0xDE}, {0x95, 0x70}, {0x5E, 0xC9}, {0x60, 0x1C}, /* 0xAC-0xAF */ + {0x6D, 0x9F}, {0x5E, 0x18}, {0x65, 0x5B}, {0x81, 0x38}, /* 0xB0-0xB3 */ + {0x94, 0xFE}, {0x60, 0x4B}, {0x70, 0xBC}, {0x7E, 0xC3}, /* 0xB4-0xB7 */ + {0x7C, 0xAE}, {0x51, 0xC9}, {0x68, 0x81}, {0x7C, 0xB1}, /* 0xB8-0xBB */ + {0x82, 0x6F}, {0x4E, 0x24}, {0x8F, 0x86}, {0x91, 0xCF}, /* 0xBC-0xBF */ + {0x66, 0x7E}, {0x4E, 0xAE}, {0x8C, 0x05}, {0x64, 0xA9}, /* 0xC0-0xC3 */ + {0x80, 0x4A}, {0x50, 0xDA}, {0x75, 0x97}, {0x71, 0xCE}, /* 0xC4-0xC7 */ + {0x5B, 0xE5}, {0x8F, 0xBD}, {0x6F, 0x66}, {0x4E, 0x86}, /* 0xC8-0xCB */ + {0x64, 0x82}, {0x95, 0x63}, {0x5E, 0xD6}, {0x65, 0x99}, /* 0xCC-0xCF */ + {0x52, 0x17}, {0x88, 0xC2}, {0x70, 0xC8}, {0x52, 0xA3}, /* 0xD0-0xD3 */ + {0x73, 0x0E}, {0x74, 0x33}, {0x67, 0x97}, {0x78, 0xF7}, /* 0xD4-0xD7 */ + {0x97, 0x16}, {0x4E, 0x34}, {0x90, 0xBB}, {0x9C, 0xDE}, /* 0xD8-0xDB */ + {0x6D, 0xCB}, {0x51, 0xDB}, {0x8D, 0x41}, {0x54, 0x1D}, /* 0xDC-0xDF */ + {0x62, 0xCE}, {0x73, 0xB2}, {0x83, 0xF1}, {0x96, 0xF6}, /* 0xE0-0xE3 */ + {0x9F, 0x84}, {0x94, 0xC3}, {0x4F, 0x36}, {0x7F, 0x9A}, /* 0xE4-0xE7 */ + {0x51, 0xCC}, {0x70, 0x75}, {0x96, 0x75}, {0x5C, 0xAD}, /* 0xE8-0xEB */ + {0x98, 0x86}, {0x53, 0xE6}, {0x4E, 0xE4}, {0x6E, 0x9C}, /* 0xEC-0xEF */ + {0x74, 0x09}, {0x69, 0xB4}, {0x78, 0x6B}, {0x99, 0x8F}, /* 0xF0-0xF3 */ + {0x75, 0x59}, {0x52, 0x18}, {0x76, 0x24}, {0x6D, 0x41}, /* 0xF4-0xF7 */ + {0x67, 0xF3}, {0x51, 0x6D}, {0x9F, 0x99}, {0x80, 0x4B}, /* 0xF8-0xFB */ + {0x54, 0x99}, {0x7B, 0x3C}, {0x7A, 0xBF}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7F, 0xE4}, {0x7F, 0xE7}, {0x7F, 0xE8}, {0x7F, 0xEA}, /* 0x40-0x43 */ + {0x7F, 0xEB}, {0x7F, 0xEC}, {0x7F, 0xED}, {0x7F, 0xEF}, /* 0x44-0x47 */ + {0x7F, 0xF2}, {0x7F, 0xF4}, {0x7F, 0xF5}, {0x7F, 0xF6}, /* 0x48-0x4B */ + {0x7F, 0xF7}, {0x7F, 0xF8}, {0x7F, 0xF9}, {0x7F, 0xFA}, /* 0x4C-0x4F */ + {0x7F, 0xFD}, {0x7F, 0xFE}, {0x7F, 0xFF}, {0x80, 0x02}, /* 0x50-0x53 */ + {0x80, 0x07}, {0x80, 0x08}, {0x80, 0x09}, {0x80, 0x0A}, /* 0x54-0x57 */ + {0x80, 0x0E}, {0x80, 0x0F}, {0x80, 0x11}, {0x80, 0x13}, /* 0x58-0x5B */ + {0x80, 0x1A}, {0x80, 0x1B}, {0x80, 0x1D}, {0x80, 0x1E}, /* 0x5C-0x5F */ + {0x80, 0x1F}, {0x80, 0x21}, {0x80, 0x23}, {0x80, 0x24}, /* 0x60-0x63 */ + {0x80, 0x2B}, {0x80, 0x2C}, {0x80, 0x2D}, {0x80, 0x2E}, /* 0x64-0x67 */ + {0x80, 0x2F}, {0x80, 0x30}, {0x80, 0x32}, {0x80, 0x34}, /* 0x68-0x6B */ + {0x80, 0x39}, {0x80, 0x3A}, {0x80, 0x3C}, {0x80, 0x3E}, /* 0x6C-0x6F */ + {0x80, 0x40}, {0x80, 0x41}, {0x80, 0x44}, {0x80, 0x45}, /* 0x70-0x73 */ + {0x80, 0x47}, {0x80, 0x48}, {0x80, 0x49}, {0x80, 0x4E}, /* 0x74-0x77 */ + {0x80, 0x4F}, {0x80, 0x50}, {0x80, 0x51}, {0x80, 0x53}, /* 0x78-0x7B */ + {0x80, 0x55}, {0x80, 0x56}, {0x80, 0x57}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x80, 0x59}, {0x80, 0x5B}, {0x80, 0x5C}, {0x80, 0x5D}, /* 0x80-0x83 */ + {0x80, 0x5E}, {0x80, 0x5F}, {0x80, 0x60}, {0x80, 0x61}, /* 0x84-0x87 */ + {0x80, 0x62}, {0x80, 0x63}, {0x80, 0x64}, {0x80, 0x65}, /* 0x88-0x8B */ + {0x80, 0x66}, {0x80, 0x67}, {0x80, 0x68}, {0x80, 0x6B}, /* 0x8C-0x8F */ + {0x80, 0x6C}, {0x80, 0x6D}, {0x80, 0x6E}, {0x80, 0x6F}, /* 0x90-0x93 */ + {0x80, 0x70}, {0x80, 0x72}, {0x80, 0x73}, {0x80, 0x74}, /* 0x94-0x97 */ + {0x80, 0x75}, {0x80, 0x76}, {0x80, 0x77}, {0x80, 0x78}, /* 0x98-0x9B */ + {0x80, 0x79}, {0x80, 0x7A}, {0x80, 0x7B}, {0x80, 0x7C}, /* 0x9C-0x9F */ + {0x80, 0x7D}, {0x96, 0x86}, {0x57, 0x84}, {0x62, 0xE2}, /* 0xA0-0xA3 */ + {0x96, 0x47}, {0x69, 0x7C}, {0x5A, 0x04}, {0x64, 0x02}, /* 0xA4-0xA7 */ + {0x7B, 0xD3}, {0x6F, 0x0F}, {0x96, 0x4B}, {0x82, 0xA6}, /* 0xA8-0xAB */ + {0x53, 0x62}, {0x98, 0x85}, {0x5E, 0x90}, {0x70, 0x89}, /* 0xAC-0xAF */ + {0x63, 0xB3}, {0x53, 0x64}, {0x86, 0x4F}, {0x9C, 0x81}, /* 0xB0-0xB3 */ + {0x9E, 0x93}, {0x78, 0x8C}, {0x97, 0x32}, {0x8D, 0xEF}, /* 0xB4-0xB7 */ + {0x8D, 0x42}, {0x9E, 0x7F}, {0x6F, 0x5E}, {0x79, 0x84}, /* 0xB8-0xBB */ + {0x5F, 0x55}, {0x96, 0x46}, {0x62, 0x2E}, {0x9A, 0x74}, /* 0xBC-0xBF */ + {0x54, 0x15}, {0x94, 0xDD}, {0x4F, 0xA3}, {0x65, 0xC5}, /* 0xC0-0xC3 */ + {0x5C, 0x65}, {0x5C, 0x61}, {0x7F, 0x15}, {0x86, 0x51}, /* 0xC4-0xC7 */ + {0x6C, 0x2F}, {0x5F, 0x8B}, {0x73, 0x87}, {0x6E, 0xE4}, /* 0xC8-0xCB */ + {0x7E, 0xFF}, {0x5C, 0xE6}, {0x63, 0x1B}, {0x5B, 0x6A}, /* 0xCC-0xCF */ + {0x6E, 0xE6}, {0x53, 0x75}, {0x4E, 0x71}, {0x63, 0xA0}, /* 0xD0-0xD3 */ + {0x75, 0x65}, {0x62, 0xA1}, {0x8F, 0x6E}, {0x4F, 0x26}, /* 0xD4-0xD7 */ + {0x4E, 0xD1}, {0x6C, 0xA6}, {0x7E, 0xB6}, {0x8B, 0xBA}, /* 0xD8-0xDB */ + {0x84, 0x1D}, {0x87, 0xBA}, {0x7F, 0x57}, {0x90, 0x3B}, /* 0xDC-0xDF */ + {0x95, 0x23}, {0x7B, 0xA9}, {0x9A, 0xA1}, {0x88, 0xF8}, /* 0xE0-0xE3 */ + {0x84, 0x3D}, {0x6D, 0x1B}, {0x9A, 0x86}, {0x7E, 0xDC}, /* 0xE4-0xE7 */ + {0x59, 0x88}, {0x9E, 0xBB}, {0x73, 0x9B}, {0x78, 0x01}, /* 0xE8-0xEB */ + {0x86, 0x82}, {0x9A, 0x6C}, {0x9A, 0x82}, {0x56, 0x1B}, /* 0xEC-0xEF */ + {0x54, 0x17}, {0x57, 0xCB}, {0x4E, 0x70}, {0x9E, 0xA6}, /* 0xF0-0xF3 */ + {0x53, 0x56}, {0x8F, 0xC8}, {0x81, 0x09}, {0x77, 0x92}, /* 0xF4-0xF7 */ + {0x99, 0x92}, {0x86, 0xEE}, {0x6E, 0xE1}, {0x85, 0x13}, /* 0xF8-0xFB */ + {0x66, 0xFC}, {0x61, 0x62}, {0x6F, 0x2B}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x80, 0x7E}, {0x80, 0x81}, {0x80, 0x82}, {0x80, 0x85}, /* 0x40-0x43 */ + {0x80, 0x88}, {0x80, 0x8A}, {0x80, 0x8D}, {0x80, 0x8E}, /* 0x44-0x47 */ + {0x80, 0x8F}, {0x80, 0x90}, {0x80, 0x91}, {0x80, 0x92}, /* 0x48-0x4B */ + {0x80, 0x94}, {0x80, 0x95}, {0x80, 0x97}, {0x80, 0x99}, /* 0x4C-0x4F */ + {0x80, 0x9E}, {0x80, 0xA3}, {0x80, 0xA6}, {0x80, 0xA7}, /* 0x50-0x53 */ + {0x80, 0xA8}, {0x80, 0xAC}, {0x80, 0xB0}, {0x80, 0xB3}, /* 0x54-0x57 */ + {0x80, 0xB5}, {0x80, 0xB6}, {0x80, 0xB8}, {0x80, 0xB9}, /* 0x58-0x5B */ + {0x80, 0xBB}, {0x80, 0xC5}, {0x80, 0xC7}, {0x80, 0xC8}, /* 0x5C-0x5F */ + {0x80, 0xC9}, {0x80, 0xCA}, {0x80, 0xCB}, {0x80, 0xCF}, /* 0x60-0x63 */ + {0x80, 0xD0}, {0x80, 0xD1}, {0x80, 0xD2}, {0x80, 0xD3}, /* 0x64-0x67 */ + {0x80, 0xD4}, {0x80, 0xD5}, {0x80, 0xD8}, {0x80, 0xDF}, /* 0x68-0x6B */ + {0x80, 0xE0}, {0x80, 0xE2}, {0x80, 0xE3}, {0x80, 0xE6}, /* 0x6C-0x6F */ + {0x80, 0xEE}, {0x80, 0xF5}, {0x80, 0xF7}, {0x80, 0xF9}, /* 0x70-0x73 */ + {0x80, 0xFB}, {0x80, 0xFE}, {0x80, 0xFF}, {0x81, 0x00}, /* 0x74-0x77 */ + {0x81, 0x01}, {0x81, 0x03}, {0x81, 0x04}, {0x81, 0x05}, /* 0x78-0x7B */ + {0x81, 0x07}, {0x81, 0x08}, {0x81, 0x0B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x81, 0x0C}, {0x81, 0x15}, {0x81, 0x17}, {0x81, 0x19}, /* 0x80-0x83 */ + {0x81, 0x1B}, {0x81, 0x1C}, {0x81, 0x1D}, {0x81, 0x1F}, /* 0x84-0x87 */ + {0x81, 0x20}, {0x81, 0x21}, {0x81, 0x22}, {0x81, 0x23}, /* 0x88-0x8B */ + {0x81, 0x24}, {0x81, 0x25}, {0x81, 0x26}, {0x81, 0x27}, /* 0x8C-0x8F */ + {0x81, 0x28}, {0x81, 0x29}, {0x81, 0x2A}, {0x81, 0x2B}, /* 0x90-0x93 */ + {0x81, 0x2D}, {0x81, 0x2E}, {0x81, 0x30}, {0x81, 0x33}, /* 0x94-0x97 */ + {0x81, 0x34}, {0x81, 0x35}, {0x81, 0x37}, {0x81, 0x39}, /* 0x98-0x9B */ + {0x81, 0x3A}, {0x81, 0x3B}, {0x81, 0x3C}, {0x81, 0x3D}, /* 0x9C-0x9F */ + {0x81, 0x3F}, {0x8C, 0x29}, {0x82, 0x92}, {0x83, 0x2B}, /* 0xA0-0xA3 */ + {0x76, 0xF2}, {0x6C, 0x13}, {0x5F, 0xD9}, {0x83, 0xBD}, /* 0xA4-0xA7 */ + {0x73, 0x2B}, {0x83, 0x05}, {0x95, 0x1A}, {0x6B, 0xDB}, /* 0xA8-0xAB */ + {0x77, 0xDB}, {0x94, 0xC6}, {0x53, 0x6F}, {0x83, 0x02}, /* 0xAC-0xAF */ + {0x51, 0x92}, {0x5E, 0x3D}, {0x8C, 0x8C}, {0x8D, 0x38}, /* 0xB0-0xB3 */ + {0x4E, 0x48}, {0x73, 0xAB}, {0x67, 0x9A}, {0x68, 0x85}, /* 0xB4-0xB7 */ + {0x91, 0x76}, {0x97, 0x09}, {0x71, 0x64}, {0x6C, 0xA1}, /* 0xB8-0xBB */ + {0x77, 0x09}, {0x5A, 0x92}, {0x95, 0x41}, {0x6B, 0xCF}, /* 0xBC-0xBF */ + {0x7F, 0x8E}, {0x66, 0x27}, {0x5B, 0xD0}, {0x59, 0xB9}, /* 0xC0-0xC3 */ + {0x5A, 0x9A}, {0x95, 0xE8}, {0x95, 0xF7}, {0x4E, 0xEC}, /* 0xC4-0xC7 */ + {0x84, 0x0C}, {0x84, 0x99}, {0x6A, 0xAC}, {0x76, 0xDF}, /* 0xC8-0xCB */ + {0x95, 0x30}, {0x73, 0x1B}, {0x68, 0xA6}, {0x5B, 0x5F}, /* 0xCC-0xCF */ + {0x77, 0x2F}, {0x91, 0x9A}, {0x97, 0x61}, {0x7C, 0xDC}, /* 0xD0-0xD3 */ + {0x8F, 0xF7}, {0x8C, 0x1C}, {0x5F, 0x25}, {0x7C, 0x73}, /* 0xD4-0xD7 */ + {0x79, 0xD8}, {0x89, 0xC5}, {0x6C, 0xCC}, {0x87, 0x1C}, /* 0xD8-0xDB */ + {0x5B, 0xC6}, {0x5E, 0x42}, {0x68, 0xC9}, {0x77, 0x20}, /* 0xDC-0xDF */ + {0x7E, 0xF5}, {0x51, 0x95}, {0x51, 0x4D}, {0x52, 0xC9}, /* 0xE0-0xE3 */ + {0x5A, 0x29}, {0x7F, 0x05}, {0x97, 0x62}, {0x82, 0xD7}, /* 0xE4-0xE7 */ + {0x63, 0xCF}, {0x77, 0x84}, {0x85, 0xD0}, {0x79, 0xD2}, /* 0xE8-0xEB */ + {0x6E, 0x3A}, {0x5E, 0x99}, {0x59, 0x99}, {0x85, 0x11}, /* 0xEC-0xEF */ + {0x70, 0x6D}, {0x6C, 0x11}, {0x62, 0xBF}, {0x76, 0xBF}, /* 0xF0-0xF3 */ + {0x65, 0x4F}, {0x60, 0xAF}, {0x95, 0xFD}, {0x66, 0x0E}, /* 0xF4-0xF7 */ + {0x87, 0x9F}, {0x9E, 0x23}, {0x94, 0xED}, {0x54, 0x0D}, /* 0xF8-0xFB */ + {0x54, 0x7D}, {0x8C, 0x2C}, {0x64, 0x78}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x81, 0x40}, {0x81, 0x41}, {0x81, 0x42}, {0x81, 0x43}, /* 0x40-0x43 */ + {0x81, 0x44}, {0x81, 0x45}, {0x81, 0x47}, {0x81, 0x49}, /* 0x44-0x47 */ + {0x81, 0x4D}, {0x81, 0x4E}, {0x81, 0x4F}, {0x81, 0x52}, /* 0x48-0x4B */ + {0x81, 0x56}, {0x81, 0x57}, {0x81, 0x58}, {0x81, 0x5B}, /* 0x4C-0x4F */ + {0x81, 0x5C}, {0x81, 0x5D}, {0x81, 0x5E}, {0x81, 0x5F}, /* 0x50-0x53 */ + {0x81, 0x61}, {0x81, 0x62}, {0x81, 0x63}, {0x81, 0x64}, /* 0x54-0x57 */ + {0x81, 0x66}, {0x81, 0x68}, {0x81, 0x6A}, {0x81, 0x6B}, /* 0x58-0x5B */ + {0x81, 0x6C}, {0x81, 0x6F}, {0x81, 0x72}, {0x81, 0x73}, /* 0x5C-0x5F */ + {0x81, 0x75}, {0x81, 0x76}, {0x81, 0x77}, {0x81, 0x78}, /* 0x60-0x63 */ + {0x81, 0x81}, {0x81, 0x83}, {0x81, 0x84}, {0x81, 0x85}, /* 0x64-0x67 */ + {0x81, 0x86}, {0x81, 0x87}, {0x81, 0x89}, {0x81, 0x8B}, /* 0x68-0x6B */ + {0x81, 0x8C}, {0x81, 0x8D}, {0x81, 0x8E}, {0x81, 0x90}, /* 0x6C-0x6F */ + {0x81, 0x92}, {0x81, 0x93}, {0x81, 0x94}, {0x81, 0x95}, /* 0x70-0x73 */ + {0x81, 0x96}, {0x81, 0x97}, {0x81, 0x99}, {0x81, 0x9A}, /* 0x74-0x77 */ + {0x81, 0x9E}, {0x81, 0x9F}, {0x81, 0xA0}, {0x81, 0xA1}, /* 0x78-0x7B */ + {0x81, 0xA2}, {0x81, 0xA4}, {0x81, 0xA5}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x81, 0xA7}, {0x81, 0xA9}, {0x81, 0xAB}, {0x81, 0xAC}, /* 0x80-0x83 */ + {0x81, 0xAD}, {0x81, 0xAE}, {0x81, 0xAF}, {0x81, 0xB0}, /* 0x84-0x87 */ + {0x81, 0xB1}, {0x81, 0xB2}, {0x81, 0xB4}, {0x81, 0xB5}, /* 0x88-0x8B */ + {0x81, 0xB6}, {0x81, 0xB7}, {0x81, 0xB8}, {0x81, 0xB9}, /* 0x8C-0x8F */ + {0x81, 0xBC}, {0x81, 0xBD}, {0x81, 0xBE}, {0x81, 0xBF}, /* 0x90-0x93 */ + {0x81, 0xC4}, {0x81, 0xC5}, {0x81, 0xC7}, {0x81, 0xC8}, /* 0x94-0x97 */ + {0x81, 0xC9}, {0x81, 0xCB}, {0x81, 0xCD}, {0x81, 0xCE}, /* 0x98-0x9B */ + {0x81, 0xCF}, {0x81, 0xD0}, {0x81, 0xD1}, {0x81, 0xD2}, /* 0x9C-0x9F */ + {0x81, 0xD3}, {0x64, 0x79}, {0x86, 0x11}, {0x6A, 0x21}, /* 0xA0-0xA3 */ + {0x81, 0x9C}, {0x78, 0xE8}, {0x64, 0x69}, {0x9B, 0x54}, /* 0xA4-0xA7 */ + {0x62, 0xB9}, {0x67, 0x2B}, {0x83, 0xAB}, {0x58, 0xA8}, /* 0xA8-0xAB */ + {0x9E, 0xD8}, {0x6C, 0xAB}, {0x6F, 0x20}, {0x5B, 0xDE}, /* 0xAC-0xAF */ + {0x96, 0x4C}, {0x8C, 0x0B}, {0x72, 0x5F}, {0x67, 0xD0}, /* 0xB0-0xB3 */ + {0x62, 0xC7}, {0x72, 0x61}, {0x4E, 0xA9}, {0x59, 0xC6}, /* 0xB4-0xB7 */ + {0x6B, 0xCD}, {0x58, 0x93}, {0x66, 0xAE}, {0x5E, 0x55}, /* 0xB8-0xBB */ + {0x52, 0xDF}, {0x61, 0x55}, {0x67, 0x28}, {0x76, 0xEE}, /* 0xBC-0xBF */ + {0x77, 0x66}, {0x72, 0x67}, {0x7A, 0x46}, {0x62, 0xFF}, /* 0xC0-0xC3 */ + {0x54, 0xEA}, {0x54, 0x50}, {0x94, 0xA0}, {0x90, 0xA3}, /* 0xC4-0xC7 */ + {0x5A, 0x1C}, {0x7E, 0xB3}, {0x6C, 0x16}, {0x4E, 0x43}, /* 0xC8-0xCB */ + {0x59, 0x76}, {0x80, 0x10}, {0x59, 0x48}, {0x53, 0x57}, /* 0xCC-0xCF */ + {0x75, 0x37}, {0x96, 0xBE}, {0x56, 0xCA}, {0x63, 0x20}, /* 0xD0-0xD3 */ + {0x81, 0x11}, {0x60, 0x7C}, {0x95, 0xF9}, {0x6D, 0xD6}, /* 0xD4-0xD7 */ + {0x54, 0x62}, {0x99, 0x81}, {0x51, 0x85}, {0x5A, 0xE9}, /* 0xD8-0xDB */ + {0x80, 0xFD}, {0x59, 0xAE}, {0x97, 0x13}, {0x50, 0x2A}, /* 0xDC-0xDF */ + {0x6C, 0xE5}, {0x5C, 0x3C}, {0x62, 0xDF}, {0x4F, 0x60}, /* 0xE0-0xE3 */ + {0x53, 0x3F}, {0x81, 0x7B}, {0x90, 0x06}, {0x6E, 0xBA}, /* 0xE4-0xE7 */ + {0x85, 0x2B}, {0x62, 0xC8}, {0x5E, 0x74}, {0x78, 0xBE}, /* 0xE8-0xEB */ + {0x64, 0xB5}, {0x63, 0x7B}, {0x5F, 0xF5}, {0x5A, 0x18}, /* 0xEC-0xEF */ + {0x91, 0x7F}, {0x9E, 0x1F}, {0x5C, 0x3F}, {0x63, 0x4F}, /* 0xF0-0xF3 */ + {0x80, 0x42}, {0x5B, 0x7D}, {0x55, 0x6E}, {0x95, 0x4A}, /* 0xF4-0xF7 */ + {0x95, 0x4D}, {0x6D, 0x85}, {0x60, 0xA8}, {0x67, 0xE0}, /* 0xF8-0xFB */ + {0x72, 0xDE}, {0x51, 0xDD}, {0x5B, 0x81}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x81, 0xD4}, {0x81, 0xD5}, {0x81, 0xD6}, {0x81, 0xD7}, /* 0x40-0x43 */ + {0x81, 0xD8}, {0x81, 0xD9}, {0x81, 0xDA}, {0x81, 0xDB}, /* 0x44-0x47 */ + {0x81, 0xDC}, {0x81, 0xDD}, {0x81, 0xDE}, {0x81, 0xDF}, /* 0x48-0x4B */ + {0x81, 0xE0}, {0x81, 0xE1}, {0x81, 0xE2}, {0x81, 0xE4}, /* 0x4C-0x4F */ + {0x81, 0xE5}, {0x81, 0xE6}, {0x81, 0xE8}, {0x81, 0xE9}, /* 0x50-0x53 */ + {0x81, 0xEB}, {0x81, 0xEE}, {0x81, 0xEF}, {0x81, 0xF0}, /* 0x54-0x57 */ + {0x81, 0xF1}, {0x81, 0xF2}, {0x81, 0xF5}, {0x81, 0xF6}, /* 0x58-0x5B */ + {0x81, 0xF7}, {0x81, 0xF8}, {0x81, 0xF9}, {0x81, 0xFA}, /* 0x5C-0x5F */ + {0x81, 0xFD}, {0x81, 0xFF}, {0x82, 0x03}, {0x82, 0x07}, /* 0x60-0x63 */ + {0x82, 0x08}, {0x82, 0x09}, {0x82, 0x0A}, {0x82, 0x0B}, /* 0x64-0x67 */ + {0x82, 0x0E}, {0x82, 0x0F}, {0x82, 0x11}, {0x82, 0x13}, /* 0x68-0x6B */ + {0x82, 0x15}, {0x82, 0x16}, {0x82, 0x17}, {0x82, 0x18}, /* 0x6C-0x6F */ + {0x82, 0x19}, {0x82, 0x1A}, {0x82, 0x1D}, {0x82, 0x20}, /* 0x70-0x73 */ + {0x82, 0x24}, {0x82, 0x25}, {0x82, 0x26}, {0x82, 0x27}, /* 0x74-0x77 */ + {0x82, 0x29}, {0x82, 0x2E}, {0x82, 0x32}, {0x82, 0x3A}, /* 0x78-0x7B */ + {0x82, 0x3C}, {0x82, 0x3D}, {0x82, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x82, 0x40}, {0x82, 0x41}, {0x82, 0x42}, {0x82, 0x43}, /* 0x80-0x83 */ + {0x82, 0x45}, {0x82, 0x46}, {0x82, 0x48}, {0x82, 0x4A}, /* 0x84-0x87 */ + {0x82, 0x4C}, {0x82, 0x4D}, {0x82, 0x4E}, {0x82, 0x50}, /* 0x88-0x8B */ + {0x82, 0x51}, {0x82, 0x52}, {0x82, 0x53}, {0x82, 0x54}, /* 0x8C-0x8F */ + {0x82, 0x55}, {0x82, 0x56}, {0x82, 0x57}, {0x82, 0x59}, /* 0x90-0x93 */ + {0x82, 0x5B}, {0x82, 0x5C}, {0x82, 0x5D}, {0x82, 0x5E}, /* 0x94-0x97 */ + {0x82, 0x60}, {0x82, 0x61}, {0x82, 0x62}, {0x82, 0x63}, /* 0x98-0x9B */ + {0x82, 0x64}, {0x82, 0x65}, {0x82, 0x66}, {0x82, 0x67}, /* 0x9C-0x9F */ + {0x82, 0x69}, {0x62, 0xE7}, {0x6C, 0xDE}, {0x72, 0x5B}, /* 0xA0-0xA3 */ + {0x62, 0x6D}, {0x94, 0xAE}, {0x7E, 0xBD}, {0x81, 0x13}, /* 0xA4-0xA7 */ + {0x6D, 0x53}, {0x51, 0x9C}, {0x5F, 0x04}, {0x59, 0x74}, /* 0xA8-0xAB */ + {0x52, 0xAA}, {0x60, 0x12}, {0x59, 0x73}, {0x66, 0x96}, /* 0xAC-0xAF */ + {0x86, 0x50}, {0x75, 0x9F}, {0x63, 0x2A}, {0x61, 0xE6}, /* 0xB0-0xB3 */ + {0x7C, 0xEF}, {0x8B, 0xFA}, {0x54, 0xE6}, {0x6B, 0x27}, /* 0xB4-0xB7 */ + {0x9E, 0x25}, {0x6B, 0xB4}, {0x85, 0xD5}, {0x54, 0x55}, /* 0xB8-0xBB */ + {0x50, 0x76}, {0x6C, 0xA4}, {0x55, 0x6A}, {0x8D, 0xB4}, /* 0xBC-0xBF */ + {0x72, 0x2C}, {0x5E, 0x15}, {0x60, 0x15}, {0x74, 0x36}, /* 0xC0-0xC3 */ + {0x62, 0xCD}, {0x63, 0x92}, {0x72, 0x4C}, {0x5F, 0x98}, /* 0xC4-0xC7 */ + {0x6E, 0x43}, {0x6D, 0x3E}, {0x65, 0x00}, {0x6F, 0x58}, /* 0xC8-0xCB */ + {0x76, 0xD8}, {0x78, 0xD0}, {0x76, 0xFC}, {0x75, 0x54}, /* 0xCC-0xCF */ + {0x52, 0x24}, {0x53, 0xDB}, {0x4E, 0x53}, {0x5E, 0x9E}, /* 0xD0-0xD3 */ + {0x65, 0xC1}, {0x80, 0x2A}, {0x80, 0xD6}, {0x62, 0x9B}, /* 0xD4-0xD7 */ + {0x54, 0x86}, {0x52, 0x28}, {0x70, 0xAE}, {0x88, 0x8D}, /* 0xD8-0xDB */ + {0x8D, 0xD1}, {0x6C, 0xE1}, {0x54, 0x78}, {0x80, 0xDA}, /* 0xDC-0xDF */ + {0x57, 0xF9}, {0x88, 0xF4}, {0x8D, 0x54}, {0x96, 0x6A}, /* 0xE0-0xE3 */ + {0x91, 0x4D}, {0x4F, 0x69}, {0x6C, 0x9B}, {0x55, 0xB7}, /* 0xE4-0xE7 */ + {0x76, 0xC6}, {0x78, 0x30}, {0x62, 0xA8}, {0x70, 0xF9}, /* 0xE8-0xEB */ + {0x6F, 0x8E}, {0x5F, 0x6D}, {0x84, 0xEC}, {0x68, 0xDA}, /* 0xEC-0xEF */ + {0x78, 0x7C}, {0x7B, 0xF7}, {0x81, 0xA8}, {0x67, 0x0B}, /* 0xF0-0xF3 */ + {0x9E, 0x4F}, {0x63, 0x67}, {0x78, 0xB0}, {0x57, 0x6F}, /* 0xF4-0xF7 */ + {0x78, 0x12}, {0x97, 0x39}, {0x62, 0x79}, {0x62, 0xAB}, /* 0xF8-0xFB */ + {0x52, 0x88}, {0x74, 0x35}, {0x6B, 0xD7}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x82, 0x6A}, {0x82, 0x6B}, {0x82, 0x6C}, {0x82, 0x6D}, /* 0x40-0x43 */ + {0x82, 0x71}, {0x82, 0x75}, {0x82, 0x76}, {0x82, 0x77}, /* 0x44-0x47 */ + {0x82, 0x78}, {0x82, 0x7B}, {0x82, 0x7C}, {0x82, 0x80}, /* 0x48-0x4B */ + {0x82, 0x81}, {0x82, 0x83}, {0x82, 0x85}, {0x82, 0x86}, /* 0x4C-0x4F */ + {0x82, 0x87}, {0x82, 0x89}, {0x82, 0x8C}, {0x82, 0x90}, /* 0x50-0x53 */ + {0x82, 0x93}, {0x82, 0x94}, {0x82, 0x95}, {0x82, 0x96}, /* 0x54-0x57 */ + {0x82, 0x9A}, {0x82, 0x9B}, {0x82, 0x9E}, {0x82, 0xA0}, /* 0x58-0x5B */ + {0x82, 0xA2}, {0x82, 0xA3}, {0x82, 0xA7}, {0x82, 0xB2}, /* 0x5C-0x5F */ + {0x82, 0xB5}, {0x82, 0xB6}, {0x82, 0xBA}, {0x82, 0xBB}, /* 0x60-0x63 */ + {0x82, 0xBC}, {0x82, 0xBF}, {0x82, 0xC0}, {0x82, 0xC2}, /* 0x64-0x67 */ + {0x82, 0xC3}, {0x82, 0xC5}, {0x82, 0xC6}, {0x82, 0xC9}, /* 0x68-0x6B */ + {0x82, 0xD0}, {0x82, 0xD6}, {0x82, 0xD9}, {0x82, 0xDA}, /* 0x6C-0x6F */ + {0x82, 0xDD}, {0x82, 0xE2}, {0x82, 0xE7}, {0x82, 0xE8}, /* 0x70-0x73 */ + {0x82, 0xE9}, {0x82, 0xEA}, {0x82, 0xEC}, {0x82, 0xED}, /* 0x74-0x77 */ + {0x82, 0xEE}, {0x82, 0xF0}, {0x82, 0xF2}, {0x82, 0xF3}, /* 0x78-0x7B */ + {0x82, 0xF5}, {0x82, 0xF6}, {0x82, 0xF8}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x82, 0xFA}, {0x82, 0xFC}, {0x82, 0xFD}, {0x82, 0xFE}, /* 0x80-0x83 */ + {0x82, 0xFF}, {0x83, 0x00}, {0x83, 0x0A}, {0x83, 0x0B}, /* 0x84-0x87 */ + {0x83, 0x0D}, {0x83, 0x10}, {0x83, 0x12}, {0x83, 0x13}, /* 0x88-0x8B */ + {0x83, 0x16}, {0x83, 0x18}, {0x83, 0x19}, {0x83, 0x1D}, /* 0x8C-0x8F */ + {0x83, 0x1E}, {0x83, 0x1F}, {0x83, 0x20}, {0x83, 0x21}, /* 0x90-0x93 */ + {0x83, 0x22}, {0x83, 0x23}, {0x83, 0x24}, {0x83, 0x25}, /* 0x94-0x97 */ + {0x83, 0x26}, {0x83, 0x29}, {0x83, 0x2A}, {0x83, 0x2E}, /* 0x98-0x9B */ + {0x83, 0x30}, {0x83, 0x32}, {0x83, 0x37}, {0x83, 0x3B}, /* 0x9C-0x9F */ + {0x83, 0x3D}, {0x55, 0x64}, {0x81, 0x3E}, {0x75, 0xB2}, /* 0xA0-0xA3 */ + {0x76, 0xAE}, {0x53, 0x39}, {0x75, 0xDE}, {0x50, 0xFB}, /* 0xA4-0xA7 */ + {0x5C, 0x41}, {0x8B, 0x6C}, {0x7B, 0xC7}, {0x50, 0x4F}, /* 0xA8-0xAB */ + {0x72, 0x47}, {0x9A, 0x97}, {0x98, 0xD8}, {0x6F, 0x02}, /* 0xAC-0xAF */ + {0x74, 0xE2}, {0x79, 0x68}, {0x64, 0x87}, {0x77, 0xA5}, /* 0xB0-0xB3 */ + {0x62, 0xFC}, {0x98, 0x91}, {0x8D, 0x2B}, {0x54, 0xC1}, /* 0xB4-0xB7 */ + {0x80, 0x58}, {0x4E, 0x52}, {0x57, 0x6A}, {0x82, 0xF9}, /* 0xB8-0xBB */ + {0x84, 0x0D}, {0x5E, 0x73}, {0x51, 0xED}, {0x74, 0xF6}, /* 0xBC-0xBF */ + {0x8B, 0xC4}, {0x5C, 0x4F}, {0x57, 0x61}, {0x6C, 0xFC}, /* 0xC0-0xC3 */ + {0x98, 0x87}, {0x5A, 0x46}, {0x78, 0x34}, {0x9B, 0x44}, /* 0xC4-0xC7 */ + {0x8F, 0xEB}, {0x7C, 0x95}, {0x52, 0x56}, {0x62, 0x51}, /* 0xC8-0xCB */ + {0x94, 0xFA}, {0x4E, 0xC6}, {0x83, 0x86}, {0x84, 0x61}, /* 0xCC-0xCF */ + {0x83, 0xE9}, {0x84, 0xB2}, {0x57, 0xD4}, {0x67, 0x34}, /* 0xD0-0xD3 */ + {0x57, 0x03}, {0x66, 0x6E}, {0x6D, 0x66}, {0x8C, 0x31}, /* 0xD4-0xD7 */ + {0x66, 0xDD}, {0x70, 0x11}, {0x67, 0x1F}, {0x6B, 0x3A}, /* 0xD8-0xDB */ + {0x68, 0x16}, {0x62, 0x1A}, {0x59, 0xBB}, {0x4E, 0x03}, /* 0xDC-0xDF */ + {0x51, 0xC4}, {0x6F, 0x06}, {0x67, 0xD2}, {0x6C, 0x8F}, /* 0xE0-0xE3 */ + {0x51, 0x76}, {0x68, 0xCB}, {0x59, 0x47}, {0x6B, 0x67}, /* 0xE4-0xE7 */ + {0x75, 0x66}, {0x5D, 0x0E}, {0x81, 0x10}, {0x9F, 0x50}, /* 0xE8-0xEB */ + {0x65, 0xD7}, {0x79, 0x48}, {0x79, 0x41}, {0x9A, 0x91}, /* 0xEC-0xEF */ + {0x8D, 0x77}, {0x5C, 0x82}, {0x4E, 0x5E}, {0x4F, 0x01}, /* 0xF0-0xF3 */ + {0x54, 0x2F}, {0x59, 0x51}, {0x78, 0x0C}, {0x56, 0x68}, /* 0xF4-0xF7 */ + {0x6C, 0x14}, {0x8F, 0xC4}, {0x5F, 0x03}, {0x6C, 0x7D}, /* 0xF8-0xFB */ + {0x6C, 0xE3}, {0x8B, 0xAB}, {0x63, 0x90}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x83, 0x3E}, {0x83, 0x3F}, {0x83, 0x41}, {0x83, 0x42}, /* 0x40-0x43 */ + {0x83, 0x44}, {0x83, 0x45}, {0x83, 0x48}, {0x83, 0x4A}, /* 0x44-0x47 */ + {0x83, 0x4B}, {0x83, 0x4C}, {0x83, 0x4D}, {0x83, 0x4E}, /* 0x48-0x4B */ + {0x83, 0x53}, {0x83, 0x55}, {0x83, 0x56}, {0x83, 0x57}, /* 0x4C-0x4F */ + {0x83, 0x58}, {0x83, 0x59}, {0x83, 0x5D}, {0x83, 0x62}, /* 0x50-0x53 */ + {0x83, 0x70}, {0x83, 0x71}, {0x83, 0x72}, {0x83, 0x73}, /* 0x54-0x57 */ + {0x83, 0x74}, {0x83, 0x75}, {0x83, 0x76}, {0x83, 0x79}, /* 0x58-0x5B */ + {0x83, 0x7A}, {0x83, 0x7E}, {0x83, 0x7F}, {0x83, 0x80}, /* 0x5C-0x5F */ + {0x83, 0x81}, {0x83, 0x82}, {0x83, 0x83}, {0x83, 0x84}, /* 0x60-0x63 */ + {0x83, 0x87}, {0x83, 0x88}, {0x83, 0x8A}, {0x83, 0x8B}, /* 0x64-0x67 */ + {0x83, 0x8C}, {0x83, 0x8D}, {0x83, 0x8F}, {0x83, 0x90}, /* 0x68-0x6B */ + {0x83, 0x91}, {0x83, 0x94}, {0x83, 0x95}, {0x83, 0x96}, /* 0x6C-0x6F */ + {0x83, 0x97}, {0x83, 0x99}, {0x83, 0x9A}, {0x83, 0x9D}, /* 0x70-0x73 */ + {0x83, 0x9F}, {0x83, 0xA1}, {0x83, 0xA2}, {0x83, 0xA3}, /* 0x74-0x77 */ + {0x83, 0xA4}, {0x83, 0xA5}, {0x83, 0xA6}, {0x83, 0xA7}, /* 0x78-0x7B */ + {0x83, 0xAC}, {0x83, 0xAD}, {0x83, 0xAE}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x83, 0xAF}, {0x83, 0xB5}, {0x83, 0xBB}, {0x83, 0xBE}, /* 0x80-0x83 */ + {0x83, 0xBF}, {0x83, 0xC2}, {0x83, 0xC3}, {0x83, 0xC4}, /* 0x84-0x87 */ + {0x83, 0xC6}, {0x83, 0xC8}, {0x83, 0xC9}, {0x83, 0xCB}, /* 0x88-0x8B */ + {0x83, 0xCD}, {0x83, 0xCE}, {0x83, 0xD0}, {0x83, 0xD1}, /* 0x8C-0x8F */ + {0x83, 0xD2}, {0x83, 0xD3}, {0x83, 0xD5}, {0x83, 0xD7}, /* 0x90-0x93 */ + {0x83, 0xD9}, {0x83, 0xDA}, {0x83, 0xDB}, {0x83, 0xDE}, /* 0x94-0x97 */ + {0x83, 0xE2}, {0x83, 0xE3}, {0x83, 0xE4}, {0x83, 0xE6}, /* 0x98-0x9B */ + {0x83, 0xE7}, {0x83, 0xE8}, {0x83, 0xEB}, {0x83, 0xEC}, /* 0x9C-0x9F */ + {0x83, 0xED}, {0x60, 0x70}, {0x6D, 0x3D}, {0x72, 0x75}, /* 0xA0-0xA3 */ + {0x62, 0x66}, {0x94, 0x8E}, {0x94, 0xC5}, {0x53, 0x43}, /* 0xA4-0xA7 */ + {0x8F, 0xC1}, {0x7B, 0x7E}, {0x4E, 0xDF}, {0x8C, 0x26}, /* 0xA8-0xAB */ + {0x4E, 0x7E}, {0x9E, 0xD4}, {0x94, 0xB1}, {0x94, 0xB3}, /* 0xAC-0xAF */ + {0x52, 0x4D}, {0x6F, 0x5C}, {0x90, 0x63}, {0x6D, 0x45}, /* 0xB0-0xB3 */ + {0x8C, 0x34}, {0x58, 0x11}, {0x5D, 0x4C}, {0x6B, 0x20}, /* 0xB4-0xB7 */ + {0x6B, 0x49}, {0x67, 0xAA}, {0x54, 0x5B}, {0x81, 0x54}, /* 0xB8-0xBB */ + {0x7F, 0x8C}, {0x58, 0x99}, {0x85, 0x37}, {0x5F, 0x3A}, /* 0xBC-0xBF */ + {0x62, 0xA2}, {0x6A, 0x47}, {0x95, 0x39}, {0x65, 0x72}, /* 0xC0-0xC3 */ + {0x60, 0x84}, {0x68, 0x65}, {0x77, 0xA7}, {0x4E, 0x54}, /* 0xC4-0xC7 */ + {0x4F, 0xA8}, {0x5D, 0xE7}, {0x97, 0x98}, {0x64, 0xAC}, /* 0xC8-0xCB */ + {0x7F, 0xD8}, {0x5C, 0xED}, {0x4F, 0xCF}, {0x7A, 0x8D}, /* 0xCC-0xCF */ + {0x52, 0x07}, {0x83, 0x04}, {0x4E, 0x14}, {0x60, 0x2F}, /* 0xD0-0xD3 */ + {0x7A, 0x83}, {0x94, 0xA6}, {0x4F, 0xB5}, {0x4E, 0xB2}, /* 0xD4-0xD7 */ + {0x79, 0xE6}, {0x74, 0x34}, {0x52, 0xE4}, {0x82, 0xB9}, /* 0xD8-0xDB */ + {0x64, 0xD2}, {0x79, 0xBD}, {0x5B, 0xDD}, {0x6C, 0x81}, /* 0xDC-0xDF */ + {0x97, 0x52}, {0x8F, 0x7B}, {0x6C, 0x22}, {0x50, 0x3E}, /* 0xE0-0xE3 */ + {0x53, 0x7F}, {0x6E, 0x05}, {0x64, 0xCE}, {0x66, 0x74}, /* 0xE4-0xE7 */ + {0x6C, 0x30}, {0x60, 0xC5}, {0x98, 0x77}, {0x8B, 0xF7}, /* 0xE8-0xEB */ + {0x5E, 0x86}, {0x74, 0x3C}, {0x7A, 0x77}, {0x79, 0xCB}, /* 0xEC-0xEF */ + {0x4E, 0x18}, {0x90, 0xB1}, {0x74, 0x03}, {0x6C, 0x42}, /* 0xF0-0xF3 */ + {0x56, 0xDA}, {0x91, 0x4B}, {0x6C, 0xC5}, {0x8D, 0x8B}, /* 0xF4-0xF7 */ + {0x53, 0x3A}, {0x86, 0xC6}, {0x66, 0xF2}, {0x8E, 0xAF}, /* 0xF8-0xFB */ + {0x5C, 0x48}, {0x9A, 0x71}, {0x6E, 0x20}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x83, 0xEE}, {0x83, 0xEF}, {0x83, 0xF3}, {0x83, 0xF4}, /* 0x40-0x43 */ + {0x83, 0xF5}, {0x83, 0xF6}, {0x83, 0xF7}, {0x83, 0xFA}, /* 0x44-0x47 */ + {0x83, 0xFB}, {0x83, 0xFC}, {0x83, 0xFE}, {0x83, 0xFF}, /* 0x48-0x4B */ + {0x84, 0x00}, {0x84, 0x02}, {0x84, 0x05}, {0x84, 0x07}, /* 0x4C-0x4F */ + {0x84, 0x08}, {0x84, 0x09}, {0x84, 0x0A}, {0x84, 0x10}, /* 0x50-0x53 */ + {0x84, 0x12}, {0x84, 0x13}, {0x84, 0x14}, {0x84, 0x15}, /* 0x54-0x57 */ + {0x84, 0x16}, {0x84, 0x17}, {0x84, 0x19}, {0x84, 0x1A}, /* 0x58-0x5B */ + {0x84, 0x1B}, {0x84, 0x1E}, {0x84, 0x1F}, {0x84, 0x20}, /* 0x5C-0x5F */ + {0x84, 0x21}, {0x84, 0x22}, {0x84, 0x23}, {0x84, 0x29}, /* 0x60-0x63 */ + {0x84, 0x2A}, {0x84, 0x2B}, {0x84, 0x2C}, {0x84, 0x2D}, /* 0x64-0x67 */ + {0x84, 0x2E}, {0x84, 0x2F}, {0x84, 0x30}, {0x84, 0x32}, /* 0x68-0x6B */ + {0x84, 0x33}, {0x84, 0x34}, {0x84, 0x35}, {0x84, 0x36}, /* 0x6C-0x6F */ + {0x84, 0x37}, {0x84, 0x39}, {0x84, 0x3A}, {0x84, 0x3B}, /* 0x70-0x73 */ + {0x84, 0x3E}, {0x84, 0x3F}, {0x84, 0x40}, {0x84, 0x41}, /* 0x74-0x77 */ + {0x84, 0x42}, {0x84, 0x43}, {0x84, 0x44}, {0x84, 0x45}, /* 0x78-0x7B */ + {0x84, 0x47}, {0x84, 0x48}, {0x84, 0x49}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x84, 0x4A}, {0x84, 0x4B}, {0x84, 0x4C}, {0x84, 0x4D}, /* 0x80-0x83 */ + {0x84, 0x4E}, {0x84, 0x4F}, {0x84, 0x50}, {0x84, 0x52}, /* 0x84-0x87 */ + {0x84, 0x53}, {0x84, 0x54}, {0x84, 0x55}, {0x84, 0x56}, /* 0x88-0x8B */ + {0x84, 0x58}, {0x84, 0x5D}, {0x84, 0x5E}, {0x84, 0x5F}, /* 0x8C-0x8F */ + {0x84, 0x60}, {0x84, 0x62}, {0x84, 0x64}, {0x84, 0x65}, /* 0x90-0x93 */ + {0x84, 0x66}, {0x84, 0x67}, {0x84, 0x68}, {0x84, 0x6A}, /* 0x94-0x97 */ + {0x84, 0x6E}, {0x84, 0x6F}, {0x84, 0x70}, {0x84, 0x72}, /* 0x98-0x9B */ + {0x84, 0x74}, {0x84, 0x77}, {0x84, 0x79}, {0x84, 0x7B}, /* 0x9C-0x9F */ + {0x84, 0x7C}, {0x53, 0xD6}, {0x5A, 0x36}, {0x9F, 0x8B}, /* 0xA0-0xA3 */ + {0x8D, 0xA3}, {0x53, 0xBB}, {0x57, 0x08}, {0x98, 0xA7}, /* 0xA4-0xA7 */ + {0x67, 0x43}, {0x91, 0x9B}, {0x6C, 0xC9}, {0x51, 0x68}, /* 0xA8-0xAB */ + {0x75, 0xCA}, {0x62, 0xF3}, {0x72, 0xAC}, {0x52, 0x38}, /* 0xAC-0xAF */ + {0x52, 0x9D}, {0x7F, 0x3A}, {0x70, 0x94}, {0x76, 0x38}, /* 0xB0-0xB3 */ + {0x53, 0x74}, {0x9E, 0x4A}, {0x69, 0xB7}, {0x78, 0x6E}, /* 0xB4-0xB7 */ + {0x96, 0xC0}, {0x88, 0xD9}, {0x7F, 0xA4}, {0x71, 0x36}, /* 0xB8-0xBB */ + {0x71, 0xC3}, {0x51, 0x89}, {0x67, 0xD3}, {0x74, 0xE4}, /* 0xBC-0xBF */ + {0x58, 0xE4}, {0x65, 0x18}, {0x56, 0xB7}, {0x8B, 0xA9}, /* 0xC0-0xC3 */ + {0x99, 0x76}, {0x62, 0x70}, {0x7E, 0xD5}, {0x60, 0xF9}, /* 0xC4-0xC7 */ + {0x70, 0xED}, {0x58, 0xEC}, {0x4E, 0xC1}, {0x4E, 0xBA}, /* 0xC8-0xCB */ + {0x5F, 0xCD}, {0x97, 0xE7}, {0x4E, 0xFB}, {0x8B, 0xA4}, /* 0xCC-0xCF */ + {0x52, 0x03}, {0x59, 0x8A}, {0x7E, 0xAB}, {0x62, 0x54}, /* 0xD0-0xD3 */ + {0x4E, 0xCD}, {0x65, 0xE5}, {0x62, 0x0E}, {0x83, 0x38}, /* 0xD4-0xD7 */ + {0x84, 0xC9}, {0x83, 0x63}, {0x87, 0x8D}, {0x71, 0x94}, /* 0xD8-0xDB */ + {0x6E, 0xB6}, {0x5B, 0xB9}, {0x7E, 0xD2}, {0x51, 0x97}, /* 0xDC-0xDF */ + {0x63, 0xC9}, {0x67, 0xD4}, {0x80, 0x89}, {0x83, 0x39}, /* 0xE0-0xE3 */ + {0x88, 0x15}, {0x51, 0x12}, {0x5B, 0x7A}, {0x59, 0x82}, /* 0xE4-0xE7 */ + {0x8F, 0xB1}, {0x4E, 0x73}, {0x6C, 0x5D}, {0x51, 0x65}, /* 0xE8-0xEB */ + {0x89, 0x25}, {0x8F, 0x6F}, {0x96, 0x2E}, {0x85, 0x4A}, /* 0xEC-0xEF */ + {0x74, 0x5E}, {0x95, 0x10}, {0x95, 0xF0}, {0x6D, 0xA6}, /* 0xF0-0xF3 */ + {0x82, 0xE5}, {0x5F, 0x31}, {0x64, 0x92}, {0x6D, 0x12}, /* 0xF4-0xF7 */ + {0x84, 0x28}, {0x81, 0x6E}, {0x9C, 0xC3}, {0x58, 0x5E}, /* 0xF8-0xFB */ + {0x8D, 0x5B}, {0x4E, 0x09}, {0x53, 0xC1}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x84, 0x7D}, {0x84, 0x7E}, {0x84, 0x7F}, {0x84, 0x80}, /* 0x40-0x43 */ + {0x84, 0x81}, {0x84, 0x83}, {0x84, 0x84}, {0x84, 0x85}, /* 0x44-0x47 */ + {0x84, 0x86}, {0x84, 0x8A}, {0x84, 0x8D}, {0x84, 0x8F}, /* 0x48-0x4B */ + {0x84, 0x90}, {0x84, 0x91}, {0x84, 0x92}, {0x84, 0x93}, /* 0x4C-0x4F */ + {0x84, 0x94}, {0x84, 0x95}, {0x84, 0x96}, {0x84, 0x98}, /* 0x50-0x53 */ + {0x84, 0x9A}, {0x84, 0x9B}, {0x84, 0x9D}, {0x84, 0x9E}, /* 0x54-0x57 */ + {0x84, 0x9F}, {0x84, 0xA0}, {0x84, 0xA2}, {0x84, 0xA3}, /* 0x58-0x5B */ + {0x84, 0xA4}, {0x84, 0xA5}, {0x84, 0xA6}, {0x84, 0xA7}, /* 0x5C-0x5F */ + {0x84, 0xA8}, {0x84, 0xA9}, {0x84, 0xAA}, {0x84, 0xAB}, /* 0x60-0x63 */ + {0x84, 0xAC}, {0x84, 0xAD}, {0x84, 0xAE}, {0x84, 0xB0}, /* 0x64-0x67 */ + {0x84, 0xB1}, {0x84, 0xB3}, {0x84, 0xB5}, {0x84, 0xB6}, /* 0x68-0x6B */ + {0x84, 0xB7}, {0x84, 0xBB}, {0x84, 0xBC}, {0x84, 0xBE}, /* 0x6C-0x6F */ + {0x84, 0xC0}, {0x84, 0xC2}, {0x84, 0xC3}, {0x84, 0xC5}, /* 0x70-0x73 */ + {0x84, 0xC6}, {0x84, 0xC7}, {0x84, 0xC8}, {0x84, 0xCB}, /* 0x74-0x77 */ + {0x84, 0xCC}, {0x84, 0xCE}, {0x84, 0xCF}, {0x84, 0xD2}, /* 0x78-0x7B */ + {0x84, 0xD4}, {0x84, 0xD5}, {0x84, 0xD7}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x84, 0xD8}, {0x84, 0xD9}, {0x84, 0xDA}, {0x84, 0xDB}, /* 0x80-0x83 */ + {0x84, 0xDC}, {0x84, 0xDE}, {0x84, 0xE1}, {0x84, 0xE2}, /* 0x84-0x87 */ + {0x84, 0xE4}, {0x84, 0xE7}, {0x84, 0xE8}, {0x84, 0xE9}, /* 0x88-0x8B */ + {0x84, 0xEA}, {0x84, 0xEB}, {0x84, 0xED}, {0x84, 0xEE}, /* 0x8C-0x8F */ + {0x84, 0xEF}, {0x84, 0xF1}, {0x84, 0xF2}, {0x84, 0xF3}, /* 0x90-0x93 */ + {0x84, 0xF4}, {0x84, 0xF5}, {0x84, 0xF6}, {0x84, 0xF7}, /* 0x94-0x97 */ + {0x84, 0xF8}, {0x84, 0xF9}, {0x84, 0xFA}, {0x84, 0xFB}, /* 0x98-0x9B */ + {0x84, 0xFD}, {0x84, 0xFE}, {0x85, 0x00}, {0x85, 0x01}, /* 0x9C-0x9F */ + {0x85, 0x02}, {0x4F, 0x1E}, {0x65, 0x63}, {0x68, 0x51}, /* 0xA0-0xA3 */ + {0x55, 0xD3}, {0x4E, 0x27}, {0x64, 0x14}, {0x9A, 0x9A}, /* 0xA4-0xA7 */ + {0x62, 0x6B}, {0x5A, 0xC2}, {0x74, 0x5F}, {0x82, 0x72}, /* 0xA8-0xAB */ + {0x6D, 0xA9}, {0x68, 0xEE}, {0x50, 0xE7}, {0x83, 0x8E}, /* 0xAC-0xAF */ + {0x78, 0x02}, {0x67, 0x40}, {0x52, 0x39}, {0x6C, 0x99}, /* 0xB0-0xB3 */ + {0x7E, 0xB1}, {0x50, 0xBB}, {0x55, 0x65}, {0x71, 0x5E}, /* 0xB4-0xB7 */ + {0x7B, 0x5B}, {0x66, 0x52}, {0x73, 0xCA}, {0x82, 0xEB}, /* 0xB8-0xBB */ + {0x67, 0x49}, {0x5C, 0x71}, {0x52, 0x20}, {0x71, 0x7D}, /* 0xBC-0xBF */ + {0x88, 0x6B}, {0x95, 0xEA}, {0x96, 0x55}, {0x64, 0xC5}, /* 0xC0-0xC3 */ + {0x8D, 0x61}, {0x81, 0xB3}, {0x55, 0x84}, {0x6C, 0x55}, /* 0xC4-0xC7 */ + {0x62, 0x47}, {0x7F, 0x2E}, {0x58, 0x92}, {0x4F, 0x24}, /* 0xC8-0xCB */ + {0x55, 0x46}, {0x8D, 0x4F}, {0x66, 0x4C}, {0x4E, 0x0A}, /* 0xCC-0xCF */ + {0x5C, 0x1A}, {0x88, 0xF3}, {0x68, 0xA2}, {0x63, 0x4E}, /* 0xD0-0xD3 */ + {0x7A, 0x0D}, {0x70, 0xE7}, {0x82, 0x8D}, {0x52, 0xFA}, /* 0xD4-0xD7 */ + {0x97, 0xF6}, {0x5C, 0x11}, {0x54, 0xE8}, {0x90, 0xB5}, /* 0xD8-0xDB */ + {0x7E, 0xCD}, {0x59, 0x62}, {0x8D, 0x4A}, {0x86, 0xC7}, /* 0xDC-0xDF */ + {0x82, 0x0C}, {0x82, 0x0D}, {0x8D, 0x66}, {0x64, 0x44}, /* 0xE0-0xE3 */ + {0x5C, 0x04}, {0x61, 0x51}, {0x6D, 0x89}, {0x79, 0x3E}, /* 0xE4-0xE7 */ + {0x8B, 0xBE}, {0x78, 0x37}, {0x75, 0x33}, {0x54, 0x7B}, /* 0xE8-0xEB */ + {0x4F, 0x38}, {0x8E, 0xAB}, {0x6D, 0xF1}, {0x5A, 0x20}, /* 0xEC-0xEF */ + {0x7E, 0xC5}, {0x79, 0x5E}, {0x6C, 0x88}, {0x5B, 0xA1}, /* 0xF0-0xF3 */ + {0x5A, 0x76}, {0x75, 0x1A}, {0x80, 0xBE}, {0x61, 0x4E}, /* 0xF4-0xF7 */ + {0x6E, 0x17}, {0x58, 0xF0}, {0x75, 0x1F}, {0x75, 0x25}, /* 0xF8-0xFB */ + {0x72, 0x72}, {0x53, 0x47}, {0x7E, 0xF3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x85, 0x03}, {0x85, 0x04}, {0x85, 0x05}, {0x85, 0x06}, /* 0x40-0x43 */ + {0x85, 0x07}, {0x85, 0x08}, {0x85, 0x09}, {0x85, 0x0A}, /* 0x44-0x47 */ + {0x85, 0x0B}, {0x85, 0x0D}, {0x85, 0x0E}, {0x85, 0x0F}, /* 0x48-0x4B */ + {0x85, 0x10}, {0x85, 0x12}, {0x85, 0x14}, {0x85, 0x15}, /* 0x4C-0x4F */ + {0x85, 0x16}, {0x85, 0x18}, {0x85, 0x19}, {0x85, 0x1B}, /* 0x50-0x53 */ + {0x85, 0x1C}, {0x85, 0x1D}, {0x85, 0x1E}, {0x85, 0x20}, /* 0x54-0x57 */ + {0x85, 0x22}, {0x85, 0x23}, {0x85, 0x24}, {0x85, 0x25}, /* 0x58-0x5B */ + {0x85, 0x26}, {0x85, 0x27}, {0x85, 0x28}, {0x85, 0x29}, /* 0x5C-0x5F */ + {0x85, 0x2A}, {0x85, 0x2D}, {0x85, 0x2E}, {0x85, 0x2F}, /* 0x60-0x63 */ + {0x85, 0x30}, {0x85, 0x31}, {0x85, 0x32}, {0x85, 0x33}, /* 0x64-0x67 */ + {0x85, 0x34}, {0x85, 0x35}, {0x85, 0x36}, {0x85, 0x3E}, /* 0x68-0x6B */ + {0x85, 0x3F}, {0x85, 0x40}, {0x85, 0x41}, {0x85, 0x42}, /* 0x6C-0x6F */ + {0x85, 0x44}, {0x85, 0x45}, {0x85, 0x46}, {0x85, 0x47}, /* 0x70-0x73 */ + {0x85, 0x4B}, {0x85, 0x4C}, {0x85, 0x4D}, {0x85, 0x4E}, /* 0x74-0x77 */ + {0x85, 0x4F}, {0x85, 0x50}, {0x85, 0x51}, {0x85, 0x52}, /* 0x78-0x7B */ + {0x85, 0x53}, {0x85, 0x54}, {0x85, 0x55}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x85, 0x57}, {0x85, 0x58}, {0x85, 0x5A}, {0x85, 0x5B}, /* 0x80-0x83 */ + {0x85, 0x5C}, {0x85, 0x5D}, {0x85, 0x5F}, {0x85, 0x60}, /* 0x84-0x87 */ + {0x85, 0x61}, {0x85, 0x62}, {0x85, 0x63}, {0x85, 0x65}, /* 0x88-0x8B */ + {0x85, 0x66}, {0x85, 0x67}, {0x85, 0x69}, {0x85, 0x6A}, /* 0x8C-0x8F */ + {0x85, 0x6B}, {0x85, 0x6C}, {0x85, 0x6D}, {0x85, 0x6E}, /* 0x90-0x93 */ + {0x85, 0x6F}, {0x85, 0x70}, {0x85, 0x71}, {0x85, 0x73}, /* 0x94-0x97 */ + {0x85, 0x75}, {0x85, 0x76}, {0x85, 0x77}, {0x85, 0x78}, /* 0x98-0x9B */ + {0x85, 0x7C}, {0x85, 0x7D}, {0x85, 0x7F}, {0x85, 0x80}, /* 0x9C-0x9F */ + {0x85, 0x81}, {0x77, 0x01}, {0x76, 0xDB}, {0x52, 0x69}, /* 0xA0-0xA3 */ + {0x80, 0xDC}, {0x57, 0x23}, {0x5E, 0x08}, {0x59, 0x31}, /* 0xA4-0xA7 */ + {0x72, 0xEE}, {0x65, 0xBD}, {0x6E, 0x7F}, {0x8B, 0xD7}, /* 0xA8-0xAB */ + {0x5C, 0x38}, {0x86, 0x71}, {0x53, 0x41}, {0x77, 0xF3}, /* 0xAC-0xAF */ + {0x62, 0xFE}, {0x65, 0xF6}, {0x4E, 0xC0}, {0x98, 0xDF}, /* 0xB0-0xB3 */ + {0x86, 0x80}, {0x5B, 0x9E}, {0x8B, 0xC6}, {0x53, 0xF2}, /* 0xB4-0xB7 */ + {0x77, 0xE2}, {0x4F, 0x7F}, {0x5C, 0x4E}, {0x9A, 0x76}, /* 0xB8-0xBB */ + {0x59, 0xCB}, {0x5F, 0x0F}, {0x79, 0x3A}, {0x58, 0xEB}, /* 0xBC-0xBF */ + {0x4E, 0x16}, {0x67, 0xFF}, {0x4E, 0x8B}, {0x62, 0xED}, /* 0xC0-0xC3 */ + {0x8A, 0x93}, {0x90, 0x1D}, {0x52, 0xBF}, {0x66, 0x2F}, /* 0xC4-0xC7 */ + {0x55, 0xDC}, {0x56, 0x6C}, {0x90, 0x02}, {0x4E, 0xD5}, /* 0xC8-0xCB */ + {0x4F, 0x8D}, {0x91, 0xCA}, {0x99, 0x70}, {0x6C, 0x0F}, /* 0xCC-0xCF */ + {0x5E, 0x02}, {0x60, 0x43}, {0x5B, 0xA4}, {0x89, 0xC6}, /* 0xD0-0xD3 */ + {0x8B, 0xD5}, {0x65, 0x36}, {0x62, 0x4B}, {0x99, 0x96}, /* 0xD4-0xD7 */ + {0x5B, 0x88}, {0x5B, 0xFF}, {0x63, 0x88}, {0x55, 0x2E}, /* 0xD8-0xDB */ + {0x53, 0xD7}, {0x76, 0x26}, {0x51, 0x7D}, {0x85, 0x2C}, /* 0xDC-0xDF */ + {0x67, 0xA2}, {0x68, 0xB3}, {0x6B, 0x8A}, {0x62, 0x92}, /* 0xE0-0xE3 */ + {0x8F, 0x93}, {0x53, 0xD4}, {0x82, 0x12}, {0x6D, 0xD1}, /* 0xE4-0xE7 */ + {0x75, 0x8F}, {0x4E, 0x66}, {0x8D, 0x4E}, {0x5B, 0x70}, /* 0xE8-0xEB */ + {0x71, 0x9F}, {0x85, 0xAF}, {0x66, 0x91}, {0x66, 0xD9}, /* 0xEC-0xEF */ + {0x7F, 0x72}, {0x87, 0x00}, {0x9E, 0xCD}, {0x9F, 0x20}, /* 0xF0-0xF3 */ + {0x5C, 0x5E}, {0x67, 0x2F}, {0x8F, 0xF0}, {0x68, 0x11}, /* 0xF4-0xF7 */ + {0x67, 0x5F}, {0x62, 0x0D}, {0x7A, 0xD6}, {0x58, 0x85}, /* 0xF8-0xFB */ + {0x5E, 0xB6}, {0x65, 0x70}, {0x6F, 0x31}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x85, 0x82}, {0x85, 0x83}, {0x85, 0x86}, {0x85, 0x88}, /* 0x40-0x43 */ + {0x85, 0x89}, {0x85, 0x8A}, {0x85, 0x8B}, {0x85, 0x8C}, /* 0x44-0x47 */ + {0x85, 0x8D}, {0x85, 0x8E}, {0x85, 0x90}, {0x85, 0x91}, /* 0x48-0x4B */ + {0x85, 0x92}, {0x85, 0x93}, {0x85, 0x94}, {0x85, 0x95}, /* 0x4C-0x4F */ + {0x85, 0x96}, {0x85, 0x97}, {0x85, 0x98}, {0x85, 0x99}, /* 0x50-0x53 */ + {0x85, 0x9A}, {0x85, 0x9D}, {0x85, 0x9E}, {0x85, 0x9F}, /* 0x54-0x57 */ + {0x85, 0xA0}, {0x85, 0xA1}, {0x85, 0xA2}, {0x85, 0xA3}, /* 0x58-0x5B */ + {0x85, 0xA5}, {0x85, 0xA6}, {0x85, 0xA7}, {0x85, 0xA9}, /* 0x5C-0x5F */ + {0x85, 0xAB}, {0x85, 0xAC}, {0x85, 0xAD}, {0x85, 0xB1}, /* 0x60-0x63 */ + {0x85, 0xB2}, {0x85, 0xB3}, {0x85, 0xB4}, {0x85, 0xB5}, /* 0x64-0x67 */ + {0x85, 0xB6}, {0x85, 0xB8}, {0x85, 0xBA}, {0x85, 0xBB}, /* 0x68-0x6B */ + {0x85, 0xBC}, {0x85, 0xBD}, {0x85, 0xBE}, {0x85, 0xBF}, /* 0x6C-0x6F */ + {0x85, 0xC0}, {0x85, 0xC2}, {0x85, 0xC3}, {0x85, 0xC4}, /* 0x70-0x73 */ + {0x85, 0xC5}, {0x85, 0xC6}, {0x85, 0xC7}, {0x85, 0xC8}, /* 0x74-0x77 */ + {0x85, 0xCA}, {0x85, 0xCB}, {0x85, 0xCC}, {0x85, 0xCD}, /* 0x78-0x7B */ + {0x85, 0xCE}, {0x85, 0xD1}, {0x85, 0xD2}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x85, 0xD4}, {0x85, 0xD6}, {0x85, 0xD7}, {0x85, 0xD8}, /* 0x80-0x83 */ + {0x85, 0xD9}, {0x85, 0xDA}, {0x85, 0xDB}, {0x85, 0xDD}, /* 0x84-0x87 */ + {0x85, 0xDE}, {0x85, 0xDF}, {0x85, 0xE0}, {0x85, 0xE1}, /* 0x88-0x8B */ + {0x85, 0xE2}, {0x85, 0xE3}, {0x85, 0xE5}, {0x85, 0xE6}, /* 0x8C-0x8F */ + {0x85, 0xE7}, {0x85, 0xE8}, {0x85, 0xEA}, {0x85, 0xEB}, /* 0x90-0x93 */ + {0x85, 0xEC}, {0x85, 0xED}, {0x85, 0xEE}, {0x85, 0xEF}, /* 0x94-0x97 */ + {0x85, 0xF0}, {0x85, 0xF1}, {0x85, 0xF2}, {0x85, 0xF3}, /* 0x98-0x9B */ + {0x85, 0xF4}, {0x85, 0xF5}, {0x85, 0xF6}, {0x85, 0xF7}, /* 0x9C-0x9F */ + {0x85, 0xF8}, {0x60, 0x55}, {0x52, 0x37}, {0x80, 0x0D}, /* 0xA0-0xA3 */ + {0x64, 0x54}, {0x88, 0x70}, {0x75, 0x29}, {0x5E, 0x05}, /* 0xA4-0xA7 */ + {0x68, 0x13}, {0x62, 0xF4}, {0x97, 0x1C}, {0x53, 0xCC}, /* 0xA8-0xAB */ + {0x72, 0x3D}, {0x8C, 0x01}, {0x6C, 0x34}, {0x77, 0x61}, /* 0xAC-0xAF */ + {0x7A, 0x0E}, {0x54, 0x2E}, {0x77, 0xAC}, {0x98, 0x7A}, /* 0xB0-0xB3 */ + {0x82, 0x1C}, {0x8B, 0xF4}, {0x78, 0x55}, {0x67, 0x14}, /* 0xB4-0xB7 */ + {0x70, 0xC1}, {0x65, 0xAF}, {0x64, 0x95}, {0x56, 0x36}, /* 0xB8-0xBB */ + {0x60, 0x1D}, {0x79, 0xC1}, {0x53, 0xF8}, {0x4E, 0x1D}, /* 0xBC-0xBF */ + {0x6B, 0x7B}, {0x80, 0x86}, {0x5B, 0xFA}, {0x55, 0xE3}, /* 0xC0-0xC3 */ + {0x56, 0xDB}, {0x4F, 0x3A}, {0x4F, 0x3C}, {0x99, 0x72}, /* 0xC4-0xC7 */ + {0x5D, 0xF3}, {0x67, 0x7E}, {0x80, 0x38}, {0x60, 0x02}, /* 0xC8-0xCB */ + {0x98, 0x82}, {0x90, 0x01}, {0x5B, 0x8B}, {0x8B, 0xBC}, /* 0xCC-0xCF */ + {0x8B, 0xF5}, {0x64, 0x1C}, {0x82, 0x58}, {0x64, 0xDE}, /* 0xD0-0xD3 */ + {0x55, 0xFD}, {0x82, 0xCF}, {0x91, 0x65}, {0x4F, 0xD7}, /* 0xD4-0xD7 */ + {0x7D, 0x20}, {0x90, 0x1F}, {0x7C, 0x9F}, {0x50, 0xF3}, /* 0xD8-0xDB */ + {0x58, 0x51}, {0x6E, 0xAF}, {0x5B, 0xBF}, {0x8B, 0xC9}, /* 0xDC-0xDF */ + {0x80, 0x83}, {0x91, 0x78}, {0x84, 0x9C}, {0x7B, 0x97}, /* 0xE0-0xE3 */ + {0x86, 0x7D}, {0x96, 0x8B}, {0x96, 0x8F}, {0x7E, 0xE5}, /* 0xE4-0xE7 */ + {0x9A, 0xD3}, {0x78, 0x8E}, {0x5C, 0x81}, {0x7A, 0x57}, /* 0xE8-0xEB */ + {0x90, 0x42}, {0x96, 0xA7}, {0x79, 0x5F}, {0x5B, 0x59}, /* 0xEC-0xEF */ + {0x63, 0x5F}, {0x7B, 0x0B}, {0x84, 0xD1}, {0x68, 0xAD}, /* 0xF0-0xF3 */ + {0x55, 0x06}, {0x7F, 0x29}, {0x74, 0x10}, {0x7D, 0x22}, /* 0xF4-0xF7 */ + {0x95, 0x01}, {0x62, 0x40}, {0x58, 0x4C}, {0x4E, 0xD6}, /* 0xF8-0xFB */ + {0x5B, 0x83}, {0x59, 0x79}, {0x58, 0x54}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x85, 0xF9}, {0x85, 0xFA}, {0x85, 0xFC}, {0x85, 0xFD}, /* 0x40-0x43 */ + {0x85, 0xFE}, {0x86, 0x00}, {0x86, 0x01}, {0x86, 0x02}, /* 0x44-0x47 */ + {0x86, 0x03}, {0x86, 0x04}, {0x86, 0x06}, {0x86, 0x07}, /* 0x48-0x4B */ + {0x86, 0x08}, {0x86, 0x09}, {0x86, 0x0A}, {0x86, 0x0B}, /* 0x4C-0x4F */ + {0x86, 0x0C}, {0x86, 0x0D}, {0x86, 0x0E}, {0x86, 0x0F}, /* 0x50-0x53 */ + {0x86, 0x10}, {0x86, 0x12}, {0x86, 0x13}, {0x86, 0x14}, /* 0x54-0x57 */ + {0x86, 0x15}, {0x86, 0x17}, {0x86, 0x18}, {0x86, 0x19}, /* 0x58-0x5B */ + {0x86, 0x1A}, {0x86, 0x1B}, {0x86, 0x1C}, {0x86, 0x1D}, /* 0x5C-0x5F */ + {0x86, 0x1E}, {0x86, 0x1F}, {0x86, 0x20}, {0x86, 0x21}, /* 0x60-0x63 */ + {0x86, 0x22}, {0x86, 0x23}, {0x86, 0x24}, {0x86, 0x25}, /* 0x64-0x67 */ + {0x86, 0x26}, {0x86, 0x28}, {0x86, 0x2A}, {0x86, 0x2B}, /* 0x68-0x6B */ + {0x86, 0x2C}, {0x86, 0x2D}, {0x86, 0x2E}, {0x86, 0x2F}, /* 0x6C-0x6F */ + {0x86, 0x30}, {0x86, 0x31}, {0x86, 0x32}, {0x86, 0x33}, /* 0x70-0x73 */ + {0x86, 0x34}, {0x86, 0x35}, {0x86, 0x36}, {0x86, 0x37}, /* 0x74-0x77 */ + {0x86, 0x39}, {0x86, 0x3A}, {0x86, 0x3B}, {0x86, 0x3D}, /* 0x78-0x7B */ + {0x86, 0x3E}, {0x86, 0x3F}, {0x86, 0x40}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x86, 0x41}, {0x86, 0x42}, {0x86, 0x43}, {0x86, 0x44}, /* 0x80-0x83 */ + {0x86, 0x45}, {0x86, 0x46}, {0x86, 0x47}, {0x86, 0x48}, /* 0x84-0x87 */ + {0x86, 0x49}, {0x86, 0x4A}, {0x86, 0x4B}, {0x86, 0x4C}, /* 0x88-0x8B */ + {0x86, 0x52}, {0x86, 0x53}, {0x86, 0x55}, {0x86, 0x56}, /* 0x8C-0x8F */ + {0x86, 0x57}, {0x86, 0x58}, {0x86, 0x59}, {0x86, 0x5B}, /* 0x90-0x93 */ + {0x86, 0x5C}, {0x86, 0x5D}, {0x86, 0x5F}, {0x86, 0x60}, /* 0x94-0x97 */ + {0x86, 0x61}, {0x86, 0x63}, {0x86, 0x64}, {0x86, 0x65}, /* 0x98-0x9B */ + {0x86, 0x66}, {0x86, 0x67}, {0x86, 0x68}, {0x86, 0x69}, /* 0x9C-0x9F */ + {0x86, 0x6A}, {0x73, 0x6D}, {0x63, 0x1E}, {0x8E, 0x4B}, /* 0xA0-0xA3 */ + {0x8E, 0x0F}, {0x80, 0xCE}, {0x82, 0xD4}, {0x62, 0xAC}, /* 0xA4-0xA7 */ + {0x53, 0xF0}, {0x6C, 0xF0}, {0x91, 0x5E}, {0x59, 0x2A}, /* 0xA8-0xAB */ + {0x60, 0x01}, {0x6C, 0x70}, {0x57, 0x4D}, {0x64, 0x4A}, /* 0xAC-0xAF */ + {0x8D, 0x2A}, {0x76, 0x2B}, {0x6E, 0xE9}, {0x57, 0x5B}, /* 0xB0-0xB3 */ + {0x6A, 0x80}, {0x75, 0xF0}, {0x6F, 0x6D}, {0x8C, 0x2D}, /* 0xB4-0xB7 */ + {0x8C, 0x08}, {0x57, 0x66}, {0x6B, 0xEF}, {0x88, 0x92}, /* 0xB8-0xBB */ + {0x78, 0xB3}, {0x63, 0xA2}, {0x53, 0xF9}, {0x70, 0xAD}, /* 0xBC-0xBF */ + {0x6C, 0x64}, {0x58, 0x58}, {0x64, 0x2A}, {0x58, 0x02}, /* 0xC0-0xC3 */ + {0x68, 0xE0}, {0x81, 0x9B}, {0x55, 0x10}, {0x7C, 0xD6}, /* 0xC4-0xC7 */ + {0x50, 0x18}, {0x8E, 0xBA}, {0x6D, 0xCC}, {0x8D, 0x9F}, /* 0xC8-0xCB */ + {0x70, 0xEB}, {0x63, 0x8F}, {0x6D, 0x9B}, {0x6E, 0xD4}, /* 0xCC-0xCF */ + {0x7E, 0xE6}, {0x84, 0x04}, {0x68, 0x43}, {0x90, 0x03}, /* 0xD0-0xD3 */ + {0x6D, 0xD8}, {0x96, 0x76}, {0x8B, 0xA8}, {0x59, 0x57}, /* 0xD4-0xD7 */ + {0x72, 0x79}, {0x85, 0xE4}, {0x81, 0x7E}, {0x75, 0xBC}, /* 0xD8-0xDB */ + {0x8A, 0x8A}, {0x68, 0xAF}, {0x52, 0x54}, {0x8E, 0x22}, /* 0xDC-0xDF */ + {0x95, 0x11}, {0x63, 0xD0}, {0x98, 0x98}, {0x8E, 0x44}, /* 0xE0-0xE3 */ + {0x55, 0x7C}, {0x4F, 0x53}, {0x66, 0xFF}, {0x56, 0x8F}, /* 0xE4-0xE7 */ + {0x60, 0xD5}, {0x6D, 0x95}, {0x52, 0x43}, {0x5C, 0x49}, /* 0xE8-0xEB */ + {0x59, 0x29}, {0x6D, 0xFB}, {0x58, 0x6B}, {0x75, 0x30}, /* 0xEC-0xEF */ + {0x75, 0x1C}, {0x60, 0x6C}, {0x82, 0x14}, {0x81, 0x46}, /* 0xF0-0xF3 */ + {0x63, 0x11}, {0x67, 0x61}, {0x8F, 0xE2}, {0x77, 0x3A}, /* 0xF4-0xF7 */ + {0x8D, 0xF3}, {0x8D, 0x34}, {0x94, 0xC1}, {0x5E, 0x16}, /* 0xF8-0xFB */ + {0x53, 0x85}, {0x54, 0x2C}, {0x70, 0xC3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x86, 0x6D}, {0x86, 0x6F}, {0x86, 0x70}, {0x86, 0x72}, /* 0x40-0x43 */ + {0x86, 0x73}, {0x86, 0x74}, {0x86, 0x75}, {0x86, 0x76}, /* 0x44-0x47 */ + {0x86, 0x77}, {0x86, 0x78}, {0x86, 0x83}, {0x86, 0x84}, /* 0x48-0x4B */ + {0x86, 0x85}, {0x86, 0x86}, {0x86, 0x87}, {0x86, 0x88}, /* 0x4C-0x4F */ + {0x86, 0x89}, {0x86, 0x8E}, {0x86, 0x8F}, {0x86, 0x90}, /* 0x50-0x53 */ + {0x86, 0x91}, {0x86, 0x92}, {0x86, 0x94}, {0x86, 0x96}, /* 0x54-0x57 */ + {0x86, 0x97}, {0x86, 0x98}, {0x86, 0x99}, {0x86, 0x9A}, /* 0x58-0x5B */ + {0x86, 0x9B}, {0x86, 0x9E}, {0x86, 0x9F}, {0x86, 0xA0}, /* 0x5C-0x5F */ + {0x86, 0xA1}, {0x86, 0xA2}, {0x86, 0xA5}, {0x86, 0xA6}, /* 0x60-0x63 */ + {0x86, 0xAB}, {0x86, 0xAD}, {0x86, 0xAE}, {0x86, 0xB2}, /* 0x64-0x67 */ + {0x86, 0xB3}, {0x86, 0xB7}, {0x86, 0xB8}, {0x86, 0xB9}, /* 0x68-0x6B */ + {0x86, 0xBB}, {0x86, 0xBC}, {0x86, 0xBD}, {0x86, 0xBE}, /* 0x6C-0x6F */ + {0x86, 0xBF}, {0x86, 0xC1}, {0x86, 0xC2}, {0x86, 0xC3}, /* 0x70-0x73 */ + {0x86, 0xC5}, {0x86, 0xC8}, {0x86, 0xCC}, {0x86, 0xCD}, /* 0x74-0x77 */ + {0x86, 0xD2}, {0x86, 0xD3}, {0x86, 0xD5}, {0x86, 0xD6}, /* 0x78-0x7B */ + {0x86, 0xD7}, {0x86, 0xDA}, {0x86, 0xDC}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x86, 0xDD}, {0x86, 0xE0}, {0x86, 0xE1}, {0x86, 0xE2}, /* 0x80-0x83 */ + {0x86, 0xE3}, {0x86, 0xE5}, {0x86, 0xE6}, {0x86, 0xE7}, /* 0x84-0x87 */ + {0x86, 0xE8}, {0x86, 0xEA}, {0x86, 0xEB}, {0x86, 0xEC}, /* 0x88-0x8B */ + {0x86, 0xEF}, {0x86, 0xF5}, {0x86, 0xF6}, {0x86, 0xF7}, /* 0x8C-0x8F */ + {0x86, 0xFA}, {0x86, 0xFB}, {0x86, 0xFC}, {0x86, 0xFD}, /* 0x90-0x93 */ + {0x86, 0xFF}, {0x87, 0x01}, {0x87, 0x04}, {0x87, 0x05}, /* 0x94-0x97 */ + {0x87, 0x06}, {0x87, 0x0B}, {0x87, 0x0C}, {0x87, 0x0E}, /* 0x98-0x9B */ + {0x87, 0x0F}, {0x87, 0x10}, {0x87, 0x11}, {0x87, 0x14}, /* 0x9C-0x9F */ + {0x87, 0x16}, {0x6C, 0x40}, {0x5E, 0xF7}, {0x50, 0x5C}, /* 0xA0-0xA3 */ + {0x4E, 0xAD}, {0x5E, 0xAD}, {0x63, 0x3A}, {0x82, 0x47}, /* 0xA4-0xA7 */ + {0x90, 0x1A}, {0x68, 0x50}, {0x91, 0x6E}, {0x77, 0xB3}, /* 0xA8-0xAB */ + {0x54, 0x0C}, {0x94, 0xDC}, {0x5F, 0x64}, {0x7A, 0xE5}, /* 0xAC-0xAF */ + {0x68, 0x76}, {0x63, 0x45}, {0x7B, 0x52}, {0x7E, 0xDF}, /* 0xB0-0xB3 */ + {0x75, 0xDB}, {0x50, 0x77}, {0x62, 0x95}, {0x59, 0x34}, /* 0xB4-0xB7 */ + {0x90, 0x0F}, {0x51, 0xF8}, {0x79, 0xC3}, {0x7A, 0x81}, /* 0xB8-0xBB */ + {0x56, 0xFE}, {0x5F, 0x92}, {0x90, 0x14}, {0x6D, 0x82}, /* 0xBC-0xBF */ + {0x5C, 0x60}, {0x57, 0x1F}, {0x54, 0x10}, {0x51, 0x54}, /* 0xC0-0xC3 */ + {0x6E, 0x4D}, {0x56, 0xE2}, {0x63, 0xA8}, {0x98, 0x93}, /* 0xC4-0xC7 */ + {0x81, 0x7F}, {0x87, 0x15}, {0x89, 0x2A}, {0x90, 0x00}, /* 0xC8-0xCB */ + {0x54, 0x1E}, {0x5C, 0x6F}, {0x81, 0xC0}, {0x62, 0xD6}, /* 0xCC-0xCF */ + {0x62, 0x58}, {0x81, 0x31}, {0x9E, 0x35}, {0x96, 0x40}, /* 0xD0-0xD3 */ + {0x9A, 0x6E}, {0x9A, 0x7C}, {0x69, 0x2D}, {0x59, 0xA5}, /* 0xD4-0xD7 */ + {0x62, 0xD3}, {0x55, 0x3E}, {0x63, 0x16}, {0x54, 0xC7}, /* 0xD8-0xDB */ + {0x86, 0xD9}, {0x6D, 0x3C}, {0x5A, 0x03}, {0x74, 0xE6}, /* 0xDC-0xDF */ + {0x88, 0x9C}, {0x6B, 0x6A}, {0x59, 0x16}, {0x8C, 0x4C}, /* 0xE0-0xE3 */ + {0x5F, 0x2F}, {0x6E, 0x7E}, {0x73, 0xA9}, {0x98, 0x7D}, /* 0xE4-0xE7 */ + {0x4E, 0x38}, {0x70, 0xF7}, {0x5B, 0x8C}, {0x78, 0x97}, /* 0xE8-0xEB */ + {0x63, 0x3D}, {0x66, 0x5A}, {0x76, 0x96}, {0x60, 0xCB}, /* 0xEC-0xEF */ + {0x5B, 0x9B}, {0x5A, 0x49}, {0x4E, 0x07}, {0x81, 0x55}, /* 0xF0-0xF3 */ + {0x6C, 0x6A}, {0x73, 0x8B}, {0x4E, 0xA1}, {0x67, 0x89}, /* 0xF4-0xF7 */ + {0x7F, 0x51}, {0x5F, 0x80}, {0x65, 0xFA}, {0x67, 0x1B}, /* 0xF8-0xFB */ + {0x5F, 0xD8}, {0x59, 0x84}, {0x5A, 0x01}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x87, 0x19}, {0x87, 0x1B}, {0x87, 0x1D}, {0x87, 0x1F}, /* 0x40-0x43 */ + {0x87, 0x20}, {0x87, 0x24}, {0x87, 0x26}, {0x87, 0x27}, /* 0x44-0x47 */ + {0x87, 0x28}, {0x87, 0x2A}, {0x87, 0x2B}, {0x87, 0x2C}, /* 0x48-0x4B */ + {0x87, 0x2D}, {0x87, 0x2F}, {0x87, 0x30}, {0x87, 0x32}, /* 0x4C-0x4F */ + {0x87, 0x33}, {0x87, 0x35}, {0x87, 0x36}, {0x87, 0x38}, /* 0x50-0x53 */ + {0x87, 0x39}, {0x87, 0x3A}, {0x87, 0x3C}, {0x87, 0x3D}, /* 0x54-0x57 */ + {0x87, 0x40}, {0x87, 0x41}, {0x87, 0x42}, {0x87, 0x43}, /* 0x58-0x5B */ + {0x87, 0x44}, {0x87, 0x45}, {0x87, 0x46}, {0x87, 0x4A}, /* 0x5C-0x5F */ + {0x87, 0x4B}, {0x87, 0x4D}, {0x87, 0x4F}, {0x87, 0x50}, /* 0x60-0x63 */ + {0x87, 0x51}, {0x87, 0x52}, {0x87, 0x54}, {0x87, 0x55}, /* 0x64-0x67 */ + {0x87, 0x56}, {0x87, 0x58}, {0x87, 0x5A}, {0x87, 0x5B}, /* 0x68-0x6B */ + {0x87, 0x5C}, {0x87, 0x5D}, {0x87, 0x5E}, {0x87, 0x5F}, /* 0x6C-0x6F */ + {0x87, 0x61}, {0x87, 0x62}, {0x87, 0x66}, {0x87, 0x67}, /* 0x70-0x73 */ + {0x87, 0x68}, {0x87, 0x69}, {0x87, 0x6A}, {0x87, 0x6B}, /* 0x74-0x77 */ + {0x87, 0x6C}, {0x87, 0x6D}, {0x87, 0x6F}, {0x87, 0x71}, /* 0x78-0x7B */ + {0x87, 0x72}, {0x87, 0x73}, {0x87, 0x75}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x87, 0x77}, {0x87, 0x78}, {0x87, 0x79}, {0x87, 0x7A}, /* 0x80-0x83 */ + {0x87, 0x7F}, {0x87, 0x80}, {0x87, 0x81}, {0x87, 0x84}, /* 0x84-0x87 */ + {0x87, 0x86}, {0x87, 0x87}, {0x87, 0x89}, {0x87, 0x8A}, /* 0x88-0x8B */ + {0x87, 0x8C}, {0x87, 0x8E}, {0x87, 0x8F}, {0x87, 0x90}, /* 0x8C-0x8F */ + {0x87, 0x91}, {0x87, 0x92}, {0x87, 0x94}, {0x87, 0x95}, /* 0x90-0x93 */ + {0x87, 0x96}, {0x87, 0x98}, {0x87, 0x99}, {0x87, 0x9A}, /* 0x94-0x97 */ + {0x87, 0x9B}, {0x87, 0x9C}, {0x87, 0x9D}, {0x87, 0x9E}, /* 0x98-0x9B */ + {0x87, 0xA0}, {0x87, 0xA1}, {0x87, 0xA2}, {0x87, 0xA3}, /* 0x9C-0x9F */ + {0x87, 0xA4}, {0x5D, 0xCD}, {0x5F, 0xAE}, {0x53, 0x71}, /* 0xA0-0xA3 */ + {0x97, 0xE6}, {0x8F, 0xDD}, {0x68, 0x45}, {0x56, 0xF4}, /* 0xA4-0xA7 */ + {0x55, 0x2F}, {0x60, 0xDF}, {0x4E, 0x3A}, {0x6F, 0x4D}, /* 0xA8-0xAB */ + {0x7E, 0xF4}, {0x82, 0xC7}, {0x84, 0x0E}, {0x59, 0xD4}, /* 0xAC-0xAF */ + {0x4F, 0x1F}, {0x4F, 0x2A}, {0x5C, 0x3E}, {0x7E, 0xAC}, /* 0xB0-0xB3 */ + {0x67, 0x2A}, {0x85, 0x1A}, {0x54, 0x73}, {0x75, 0x4F}, /* 0xB4-0xB7 */ + {0x80, 0xC3}, {0x55, 0x82}, {0x9B, 0x4F}, {0x4F, 0x4D}, /* 0xB8-0xBB */ + {0x6E, 0x2D}, {0x8C, 0x13}, {0x5C, 0x09}, {0x61, 0x70}, /* 0xBC-0xBF */ + {0x53, 0x6B}, {0x76, 0x1F}, {0x6E, 0x29}, {0x86, 0x8A}, /* 0xC0-0xC3 */ + {0x65, 0x87}, {0x95, 0xFB}, {0x7E, 0xB9}, {0x54, 0x3B}, /* 0xC4-0xC7 */ + {0x7A, 0x33}, {0x7D, 0x0A}, {0x95, 0xEE}, {0x55, 0xE1}, /* 0xC8-0xCB */ + {0x7F, 0xC1}, {0x74, 0xEE}, {0x63, 0x1D}, {0x87, 0x17}, /* 0xCC-0xCF */ + {0x6D, 0xA1}, {0x7A, 0x9D}, {0x62, 0x11}, {0x65, 0xA1}, /* 0xD0-0xD3 */ + {0x53, 0x67}, {0x63, 0xE1}, {0x6C, 0x83}, {0x5D, 0xEB}, /* 0xD4-0xD7 */ + {0x54, 0x5C}, {0x94, 0xA8}, {0x4E, 0x4C}, {0x6C, 0x61}, /* 0xD8-0xDB */ + {0x8B, 0xEC}, {0x5C, 0x4B}, {0x65, 0xE0}, {0x82, 0x9C}, /* 0xDC-0xDF */ + {0x68, 0xA7}, {0x54, 0x3E}, {0x54, 0x34}, {0x6B, 0xCB}, /* 0xE0-0xE3 */ + {0x6B, 0x66}, {0x4E, 0x94}, {0x63, 0x42}, {0x53, 0x48}, /* 0xE4-0xE7 */ + {0x82, 0x1E}, {0x4F, 0x0D}, {0x4F, 0xAE}, {0x57, 0x5E}, /* 0xE8-0xEB */ + {0x62, 0x0A}, {0x96, 0xFE}, {0x66, 0x64}, {0x72, 0x69}, /* 0xEC-0xEF */ + {0x52, 0xFF}, {0x52, 0xA1}, {0x60, 0x9F}, {0x8B, 0xEF}, /* 0xF0-0xF3 */ + {0x66, 0x14}, {0x71, 0x99}, {0x67, 0x90}, {0x89, 0x7F}, /* 0xF4-0xF7 */ + {0x78, 0x52}, {0x77, 0xFD}, {0x66, 0x70}, {0x56, 0x3B}, /* 0xF8-0xFB */ + {0x54, 0x38}, {0x95, 0x21}, {0x72, 0x7A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x87, 0xA5}, {0x87, 0xA6}, {0x87, 0xA7}, {0x87, 0xA9}, /* 0x40-0x43 */ + {0x87, 0xAA}, {0x87, 0xAE}, {0x87, 0xB0}, {0x87, 0xB1}, /* 0x44-0x47 */ + {0x87, 0xB2}, {0x87, 0xB4}, {0x87, 0xB6}, {0x87, 0xB7}, /* 0x48-0x4B */ + {0x87, 0xB8}, {0x87, 0xB9}, {0x87, 0xBB}, {0x87, 0xBC}, /* 0x4C-0x4F */ + {0x87, 0xBE}, {0x87, 0xBF}, {0x87, 0xC1}, {0x87, 0xC2}, /* 0x50-0x53 */ + {0x87, 0xC3}, {0x87, 0xC4}, {0x87, 0xC5}, {0x87, 0xC7}, /* 0x54-0x57 */ + {0x87, 0xC8}, {0x87, 0xC9}, {0x87, 0xCC}, {0x87, 0xCD}, /* 0x58-0x5B */ + {0x87, 0xCE}, {0x87, 0xCF}, {0x87, 0xD0}, {0x87, 0xD4}, /* 0x5C-0x5F */ + {0x87, 0xD5}, {0x87, 0xD6}, {0x87, 0xD7}, {0x87, 0xD8}, /* 0x60-0x63 */ + {0x87, 0xD9}, {0x87, 0xDA}, {0x87, 0xDC}, {0x87, 0xDD}, /* 0x64-0x67 */ + {0x87, 0xDE}, {0x87, 0xDF}, {0x87, 0xE1}, {0x87, 0xE2}, /* 0x68-0x6B */ + {0x87, 0xE3}, {0x87, 0xE4}, {0x87, 0xE6}, {0x87, 0xE7}, /* 0x6C-0x6F */ + {0x87, 0xE8}, {0x87, 0xE9}, {0x87, 0xEB}, {0x87, 0xEC}, /* 0x70-0x73 */ + {0x87, 0xED}, {0x87, 0xEF}, {0x87, 0xF0}, {0x87, 0xF1}, /* 0x74-0x77 */ + {0x87, 0xF2}, {0x87, 0xF3}, {0x87, 0xF4}, {0x87, 0xF5}, /* 0x78-0x7B */ + {0x87, 0xF6}, {0x87, 0xF7}, {0x87, 0xF8}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x87, 0xFA}, {0x87, 0xFB}, {0x87, 0xFC}, {0x87, 0xFD}, /* 0x80-0x83 */ + {0x87, 0xFF}, {0x88, 0x00}, {0x88, 0x01}, {0x88, 0x02}, /* 0x84-0x87 */ + {0x88, 0x04}, {0x88, 0x05}, {0x88, 0x06}, {0x88, 0x07}, /* 0x88-0x8B */ + {0x88, 0x08}, {0x88, 0x09}, {0x88, 0x0B}, {0x88, 0x0C}, /* 0x8C-0x8F */ + {0x88, 0x0D}, {0x88, 0x0E}, {0x88, 0x0F}, {0x88, 0x10}, /* 0x90-0x93 */ + {0x88, 0x11}, {0x88, 0x12}, {0x88, 0x14}, {0x88, 0x17}, /* 0x94-0x97 */ + {0x88, 0x18}, {0x88, 0x19}, {0x88, 0x1A}, {0x88, 0x1C}, /* 0x98-0x9B */ + {0x88, 0x1D}, {0x88, 0x1E}, {0x88, 0x1F}, {0x88, 0x20}, /* 0x9C-0x9F */ + {0x88, 0x23}, {0x7A, 0x00}, {0x60, 0x6F}, {0x5E, 0x0C}, /* 0xA0-0xA3 */ + {0x60, 0x89}, {0x81, 0x9D}, {0x59, 0x15}, {0x60, 0xDC}, /* 0xA4-0xA7 */ + {0x71, 0x84}, {0x70, 0xEF}, {0x6E, 0xAA}, {0x6C, 0x50}, /* 0xA8-0xAB */ + {0x72, 0x80}, {0x6A, 0x84}, {0x88, 0xAD}, {0x5E, 0x2D}, /* 0xAC-0xAF */ + {0x4E, 0x60}, {0x5A, 0xB3}, {0x55, 0x9C}, {0x94, 0xE3}, /* 0xB0-0xB3 */ + {0x6D, 0x17}, {0x7C, 0xFB}, {0x96, 0x99}, {0x62, 0x0F}, /* 0xB4-0xB7 */ + {0x7E, 0xC6}, {0x77, 0x8E}, {0x86, 0x7E}, {0x53, 0x23}, /* 0xB8-0xBB */ + {0x97, 0x1E}, {0x8F, 0x96}, {0x66, 0x87}, {0x5C, 0xE1}, /* 0xBC-0xBF */ + {0x4F, 0xA0}, {0x72, 0xED}, {0x4E, 0x0B}, {0x53, 0xA6}, /* 0xC0-0xC3 */ + {0x59, 0x0F}, {0x54, 0x13}, {0x63, 0x80}, {0x95, 0x28}, /* 0xC4-0xC7 */ + {0x51, 0x48}, {0x4E, 0xD9}, {0x9C, 0x9C}, {0x7E, 0xA4}, /* 0xC8-0xCB */ + {0x54, 0xB8}, {0x8D, 0x24}, {0x88, 0x54}, {0x82, 0x37}, /* 0xCC-0xCF */ + {0x95, 0xF2}, {0x6D, 0x8E}, {0x5F, 0x26}, {0x5A, 0xCC}, /* 0xD0-0xD3 */ + {0x66, 0x3E}, {0x96, 0x69}, {0x73, 0xB0}, {0x73, 0x2E}, /* 0xD4-0xD7 */ + {0x53, 0xBF}, {0x81, 0x7A}, {0x99, 0x85}, {0x7F, 0xA1}, /* 0xD8-0xDB */ + {0x5B, 0xAA}, {0x96, 0x77}, {0x96, 0x50}, {0x7E, 0xBF}, /* 0xDC-0xDF */ + {0x76, 0xF8}, {0x53, 0xA2}, {0x95, 0x76}, {0x99, 0x99}, /* 0xE0-0xE3 */ + {0x7B, 0xB1}, {0x89, 0x44}, {0x6E, 0x58}, {0x4E, 0x61}, /* 0xE4-0xE7 */ + {0x7F, 0xD4}, {0x79, 0x65}, {0x8B, 0xE6}, {0x60, 0xF3}, /* 0xE8-0xEB */ + {0x54, 0xCD}, {0x4E, 0xAB}, {0x98, 0x79}, {0x5D, 0xF7}, /* 0xEC-0xEF */ + {0x6A, 0x61}, {0x50, 0xCF}, {0x54, 0x11}, {0x8C, 0x61}, /* 0xF0-0xF3 */ + {0x84, 0x27}, {0x78, 0x5D}, {0x97, 0x04}, {0x52, 0x4A}, /* 0xF4-0xF7 */ + {0x54, 0xEE}, {0x56, 0xA3}, {0x95, 0x00}, {0x6D, 0x88}, /* 0xF8-0xFB */ + {0x5B, 0xB5}, {0x6D, 0xC6}, {0x66, 0x53}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x88, 0x24}, {0x88, 0x25}, {0x88, 0x26}, {0x88, 0x27}, /* 0x40-0x43 */ + {0x88, 0x28}, {0x88, 0x29}, {0x88, 0x2A}, {0x88, 0x2B}, /* 0x44-0x47 */ + {0x88, 0x2C}, {0x88, 0x2D}, {0x88, 0x2E}, {0x88, 0x2F}, /* 0x48-0x4B */ + {0x88, 0x30}, {0x88, 0x31}, {0x88, 0x33}, {0x88, 0x34}, /* 0x4C-0x4F */ + {0x88, 0x35}, {0x88, 0x36}, {0x88, 0x37}, {0x88, 0x38}, /* 0x50-0x53 */ + {0x88, 0x3A}, {0x88, 0x3B}, {0x88, 0x3D}, {0x88, 0x3E}, /* 0x54-0x57 */ + {0x88, 0x3F}, {0x88, 0x41}, {0x88, 0x42}, {0x88, 0x43}, /* 0x58-0x5B */ + {0x88, 0x46}, {0x88, 0x47}, {0x88, 0x48}, {0x88, 0x49}, /* 0x5C-0x5F */ + {0x88, 0x4A}, {0x88, 0x4B}, {0x88, 0x4E}, {0x88, 0x4F}, /* 0x60-0x63 */ + {0x88, 0x50}, {0x88, 0x51}, {0x88, 0x52}, {0x88, 0x53}, /* 0x64-0x67 */ + {0x88, 0x55}, {0x88, 0x56}, {0x88, 0x58}, {0x88, 0x5A}, /* 0x68-0x6B */ + {0x88, 0x5B}, {0x88, 0x5C}, {0x88, 0x5D}, {0x88, 0x5E}, /* 0x6C-0x6F */ + {0x88, 0x5F}, {0x88, 0x60}, {0x88, 0x66}, {0x88, 0x67}, /* 0x70-0x73 */ + {0x88, 0x6A}, {0x88, 0x6D}, {0x88, 0x6F}, {0x88, 0x71}, /* 0x74-0x77 */ + {0x88, 0x73}, {0x88, 0x74}, {0x88, 0x75}, {0x88, 0x76}, /* 0x78-0x7B */ + {0x88, 0x78}, {0x88, 0x79}, {0x88, 0x7A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x88, 0x7B}, {0x88, 0x7C}, {0x88, 0x80}, {0x88, 0x83}, /* 0x80-0x83 */ + {0x88, 0x86}, {0x88, 0x87}, {0x88, 0x89}, {0x88, 0x8A}, /* 0x84-0x87 */ + {0x88, 0x8C}, {0x88, 0x8E}, {0x88, 0x8F}, {0x88, 0x90}, /* 0x88-0x8B */ + {0x88, 0x91}, {0x88, 0x93}, {0x88, 0x94}, {0x88, 0x95}, /* 0x8C-0x8F */ + {0x88, 0x97}, {0x88, 0x98}, {0x88, 0x99}, {0x88, 0x9A}, /* 0x90-0x93 */ + {0x88, 0x9B}, {0x88, 0x9D}, {0x88, 0x9E}, {0x88, 0x9F}, /* 0x94-0x97 */ + {0x88, 0xA0}, {0x88, 0xA1}, {0x88, 0xA3}, {0x88, 0xA5}, /* 0x98-0x9B */ + {0x88, 0xA6}, {0x88, 0xA7}, {0x88, 0xA8}, {0x88, 0xA9}, /* 0x9C-0x9F */ + {0x88, 0xAA}, {0x5C, 0x0F}, {0x5B, 0x5D}, {0x68, 0x21}, /* 0xA0-0xA3 */ + {0x80, 0x96}, {0x55, 0x78}, {0x7B, 0x11}, {0x65, 0x48}, /* 0xA4-0xA7 */ + {0x69, 0x54}, {0x4E, 0x9B}, {0x6B, 0x47}, {0x87, 0x4E}, /* 0xA8-0xAB */ + {0x97, 0x8B}, {0x53, 0x4F}, {0x63, 0x1F}, {0x64, 0x3A}, /* 0xAC-0xAF */ + {0x90, 0xAA}, {0x65, 0x9C}, {0x80, 0xC1}, {0x8C, 0x10}, /* 0xB0-0xB3 */ + {0x51, 0x99}, {0x68, 0xB0}, {0x53, 0x78}, {0x87, 0xF9}, /* 0xB4-0xB7 */ + {0x61, 0xC8}, {0x6C, 0xC4}, {0x6C, 0xFB}, {0x8C, 0x22}, /* 0xB8-0xBB */ + {0x5C, 0x51}, {0x85, 0xAA}, {0x82, 0xAF}, {0x95, 0x0C}, /* 0xBC-0xBF */ + {0x6B, 0x23}, {0x8F, 0x9B}, {0x65, 0xB0}, {0x5F, 0xFB}, /* 0xC0-0xC3 */ + {0x5F, 0xC3}, {0x4F, 0xE1}, {0x88, 0x45}, {0x66, 0x1F}, /* 0xC4-0xC7 */ + {0x81, 0x65}, {0x73, 0x29}, {0x60, 0xFA}, {0x51, 0x74}, /* 0xC8-0xCB */ + {0x52, 0x11}, {0x57, 0x8B}, {0x5F, 0x62}, {0x90, 0xA2}, /* 0xCC-0xCF */ + {0x88, 0x4C}, {0x91, 0x92}, {0x5E, 0x78}, {0x67, 0x4F}, /* 0xD0-0xD3 */ + {0x60, 0x27}, {0x59, 0xD3}, {0x51, 0x44}, {0x51, 0xF6}, /* 0xD4-0xD7 */ + {0x80, 0xF8}, {0x53, 0x08}, {0x6C, 0x79}, {0x96, 0xC4}, /* 0xD8-0xDB */ + {0x71, 0x8A}, {0x4F, 0x11}, {0x4F, 0xEE}, {0x7F, 0x9E}, /* 0xDC-0xDF */ + {0x67, 0x3D}, {0x55, 0xC5}, {0x95, 0x08}, {0x79, 0xC0}, /* 0xE0-0xE3 */ + {0x88, 0x96}, {0x7E, 0xE3}, {0x58, 0x9F}, {0x62, 0x0C}, /* 0xE4-0xE7 */ + {0x97, 0x00}, {0x86, 0x5A}, {0x56, 0x18}, {0x98, 0x7B}, /* 0xE8-0xEB */ + {0x5F, 0x90}, {0x8B, 0xB8}, {0x84, 0xC4}, {0x91, 0x57}, /* 0xEC-0xEF */ + {0x53, 0xD9}, {0x65, 0xED}, {0x5E, 0x8F}, {0x75, 0x5C}, /* 0xF0-0xF3 */ + {0x60, 0x64}, {0x7D, 0x6E}, {0x5A, 0x7F}, {0x7E, 0xEA}, /* 0xF4-0xF7 */ + {0x7E, 0xED}, {0x8F, 0x69}, {0x55, 0xA7}, {0x5B, 0xA3}, /* 0xF8-0xFB */ + {0x60, 0xAC}, {0x65, 0xCB}, {0x73, 0x84}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x88, 0xAC}, {0x88, 0xAE}, {0x88, 0xAF}, {0x88, 0xB0}, /* 0x40-0x43 */ + {0x88, 0xB2}, {0x88, 0xB3}, {0x88, 0xB4}, {0x88, 0xB5}, /* 0x44-0x47 */ + {0x88, 0xB6}, {0x88, 0xB8}, {0x88, 0xB9}, {0x88, 0xBA}, /* 0x48-0x4B */ + {0x88, 0xBB}, {0x88, 0xBD}, {0x88, 0xBE}, {0x88, 0xBF}, /* 0x4C-0x4F */ + {0x88, 0xC0}, {0x88, 0xC3}, {0x88, 0xC4}, {0x88, 0xC7}, /* 0x50-0x53 */ + {0x88, 0xC8}, {0x88, 0xCA}, {0x88, 0xCB}, {0x88, 0xCC}, /* 0x54-0x57 */ + {0x88, 0xCD}, {0x88, 0xCF}, {0x88, 0xD0}, {0x88, 0xD1}, /* 0x58-0x5B */ + {0x88, 0xD3}, {0x88, 0xD6}, {0x88, 0xD7}, {0x88, 0xDA}, /* 0x5C-0x5F */ + {0x88, 0xDB}, {0x88, 0xDC}, {0x88, 0xDD}, {0x88, 0xDE}, /* 0x60-0x63 */ + {0x88, 0xE0}, {0x88, 0xE1}, {0x88, 0xE6}, {0x88, 0xE7}, /* 0x64-0x67 */ + {0x88, 0xE9}, {0x88, 0xEA}, {0x88, 0xEB}, {0x88, 0xEC}, /* 0x68-0x6B */ + {0x88, 0xED}, {0x88, 0xEE}, {0x88, 0xEF}, {0x88, 0xF2}, /* 0x6C-0x6F */ + {0x88, 0xF5}, {0x88, 0xF6}, {0x88, 0xF7}, {0x88, 0xFA}, /* 0x70-0x73 */ + {0x88, 0xFB}, {0x88, 0xFD}, {0x88, 0xFF}, {0x89, 0x00}, /* 0x74-0x77 */ + {0x89, 0x01}, {0x89, 0x03}, {0x89, 0x04}, {0x89, 0x05}, /* 0x78-0x7B */ + {0x89, 0x06}, {0x89, 0x07}, {0x89, 0x08}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x89, 0x09}, {0x89, 0x0B}, {0x89, 0x0C}, {0x89, 0x0D}, /* 0x80-0x83 */ + {0x89, 0x0E}, {0x89, 0x0F}, {0x89, 0x11}, {0x89, 0x14}, /* 0x84-0x87 */ + {0x89, 0x15}, {0x89, 0x16}, {0x89, 0x17}, {0x89, 0x18}, /* 0x88-0x8B */ + {0x89, 0x1C}, {0x89, 0x1D}, {0x89, 0x1E}, {0x89, 0x1F}, /* 0x8C-0x8F */ + {0x89, 0x20}, {0x89, 0x22}, {0x89, 0x23}, {0x89, 0x24}, /* 0x90-0x93 */ + {0x89, 0x26}, {0x89, 0x27}, {0x89, 0x28}, {0x89, 0x29}, /* 0x94-0x97 */ + {0x89, 0x2C}, {0x89, 0x2D}, {0x89, 0x2E}, {0x89, 0x2F}, /* 0x98-0x9B */ + {0x89, 0x31}, {0x89, 0x32}, {0x89, 0x33}, {0x89, 0x35}, /* 0x9C-0x9F */ + {0x89, 0x37}, {0x90, 0x09}, {0x76, 0x63}, {0x77, 0x29}, /* 0xA0-0xA3 */ + {0x7E, 0xDA}, {0x97, 0x74}, {0x85, 0x9B}, {0x5B, 0x66}, /* 0xA4-0xA7 */ + {0x7A, 0x74}, {0x96, 0xEA}, {0x88, 0x40}, {0x52, 0xCB}, /* 0xA8-0xAB */ + {0x71, 0x8F}, {0x5F, 0xAA}, {0x65, 0xEC}, {0x8B, 0xE2}, /* 0xAC-0xAF */ + {0x5B, 0xFB}, {0x9A, 0x6F}, {0x5D, 0xE1}, {0x6B, 0x89}, /* 0xB0-0xB3 */ + {0x6C, 0x5B}, {0x8B, 0xAD}, {0x8B, 0xAF}, {0x90, 0x0A}, /* 0xB4-0xB7 */ + {0x8F, 0xC5}, {0x53, 0x8B}, {0x62, 0xBC}, {0x9E, 0x26}, /* 0xB8-0xBB */ + {0x9E, 0x2D}, {0x54, 0x40}, {0x4E, 0x2B}, {0x82, 0xBD}, /* 0xBC-0xBF */ + {0x72, 0x59}, {0x86, 0x9C}, {0x5D, 0x16}, {0x88, 0x59}, /* 0xC0-0xC3 */ + {0x6D, 0xAF}, {0x96, 0xC5}, {0x54, 0xD1}, {0x4E, 0x9A}, /* 0xC4-0xC7 */ + {0x8B, 0xB6}, {0x71, 0x09}, {0x54, 0xBD}, {0x96, 0x09}, /* 0xC8-0xCB */ + {0x70, 0xDF}, {0x6D, 0xF9}, {0x76, 0xD0}, {0x4E, 0x25}, /* 0xCC-0xCF */ + {0x78, 0x14}, {0x87, 0x12}, {0x5C, 0xA9}, {0x5E, 0xF6}, /* 0xD0-0xD3 */ + {0x8A, 0x00}, {0x98, 0x9C}, {0x96, 0x0E}, {0x70, 0x8E}, /* 0xD4-0xD7 */ + {0x6C, 0xBF}, {0x59, 0x44}, {0x63, 0xA9}, {0x77, 0x3C}, /* 0xD8-0xDB */ + {0x88, 0x4D}, {0x6F, 0x14}, {0x82, 0x73}, {0x58, 0x30}, /* 0xDC-0xDF */ + {0x71, 0xD5}, {0x53, 0x8C}, {0x78, 0x1A}, {0x96, 0xC1}, /* 0xE0-0xE3 */ + {0x55, 0x01}, {0x5F, 0x66}, {0x71, 0x30}, {0x5B, 0xB4}, /* 0xE4-0xE7 */ + {0x8C, 0x1A}, {0x9A, 0x8C}, {0x6B, 0x83}, {0x59, 0x2E}, /* 0xE8-0xEB */ + {0x9E, 0x2F}, {0x79, 0xE7}, {0x67, 0x68}, {0x62, 0x6C}, /* 0xEC-0xEF */ + {0x4F, 0x6F}, {0x75, 0xA1}, {0x7F, 0x8A}, {0x6D, 0x0B}, /* 0xF0-0xF3 */ + {0x96, 0x33}, {0x6C, 0x27}, {0x4E, 0xF0}, {0x75, 0xD2}, /* 0xF4-0xF7 */ + {0x51, 0x7B}, {0x68, 0x37}, {0x6F, 0x3E}, {0x90, 0x80}, /* 0xF8-0xFB */ + {0x81, 0x70}, {0x59, 0x96}, {0x74, 0x76}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x89, 0x38}, {0x89, 0x39}, {0x89, 0x3A}, {0x89, 0x3B}, /* 0x40-0x43 */ + {0x89, 0x3C}, {0x89, 0x3D}, {0x89, 0x3E}, {0x89, 0x3F}, /* 0x44-0x47 */ + {0x89, 0x40}, {0x89, 0x42}, {0x89, 0x43}, {0x89, 0x45}, /* 0x48-0x4B */ + {0x89, 0x46}, {0x89, 0x47}, {0x89, 0x48}, {0x89, 0x49}, /* 0x4C-0x4F */ + {0x89, 0x4A}, {0x89, 0x4B}, {0x89, 0x4C}, {0x89, 0x4D}, /* 0x50-0x53 */ + {0x89, 0x4E}, {0x89, 0x4F}, {0x89, 0x50}, {0x89, 0x51}, /* 0x54-0x57 */ + {0x89, 0x52}, {0x89, 0x53}, {0x89, 0x54}, {0x89, 0x55}, /* 0x58-0x5B */ + {0x89, 0x56}, {0x89, 0x57}, {0x89, 0x58}, {0x89, 0x59}, /* 0x5C-0x5F */ + {0x89, 0x5A}, {0x89, 0x5B}, {0x89, 0x5C}, {0x89, 0x5D}, /* 0x60-0x63 */ + {0x89, 0x60}, {0x89, 0x61}, {0x89, 0x62}, {0x89, 0x63}, /* 0x64-0x67 */ + {0x89, 0x64}, {0x89, 0x65}, {0x89, 0x67}, {0x89, 0x68}, /* 0x68-0x6B */ + {0x89, 0x69}, {0x89, 0x6A}, {0x89, 0x6B}, {0x89, 0x6C}, /* 0x6C-0x6F */ + {0x89, 0x6D}, {0x89, 0x6E}, {0x89, 0x6F}, {0x89, 0x70}, /* 0x70-0x73 */ + {0x89, 0x71}, {0x89, 0x72}, {0x89, 0x73}, {0x89, 0x74}, /* 0x74-0x77 */ + {0x89, 0x75}, {0x89, 0x76}, {0x89, 0x77}, {0x89, 0x78}, /* 0x78-0x7B */ + {0x89, 0x79}, {0x89, 0x7A}, {0x89, 0x7C}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x89, 0x7D}, {0x89, 0x7E}, {0x89, 0x80}, {0x89, 0x82}, /* 0x80-0x83 */ + {0x89, 0x84}, {0x89, 0x85}, {0x89, 0x87}, {0x89, 0x88}, /* 0x84-0x87 */ + {0x89, 0x89}, {0x89, 0x8A}, {0x89, 0x8B}, {0x89, 0x8C}, /* 0x88-0x8B */ + {0x89, 0x8D}, {0x89, 0x8E}, {0x89, 0x8F}, {0x89, 0x90}, /* 0x8C-0x8F */ + {0x89, 0x91}, {0x89, 0x92}, {0x89, 0x93}, {0x89, 0x94}, /* 0x90-0x93 */ + {0x89, 0x95}, {0x89, 0x96}, {0x89, 0x97}, {0x89, 0x98}, /* 0x94-0x97 */ + {0x89, 0x99}, {0x89, 0x9A}, {0x89, 0x9B}, {0x89, 0x9C}, /* 0x98-0x9B */ + {0x89, 0x9D}, {0x89, 0x9E}, {0x89, 0x9F}, {0x89, 0xA0}, /* 0x9C-0x9F */ + {0x89, 0xA1}, {0x64, 0x47}, {0x5C, 0x27}, {0x90, 0x65}, /* 0xA0-0xA3 */ + {0x7A, 0x91}, {0x8C, 0x23}, {0x59, 0xDA}, {0x54, 0xAC}, /* 0xA4-0xA7 */ + {0x82, 0x00}, {0x83, 0x6F}, {0x89, 0x81}, {0x80, 0x00}, /* 0xA8-0xAB */ + {0x69, 0x30}, {0x56, 0x4E}, {0x80, 0x36}, {0x72, 0x37}, /* 0xAC-0xAF */ + {0x91, 0xCE}, {0x51, 0xB6}, {0x4E, 0x5F}, {0x98, 0x75}, /* 0xB0-0xB3 */ + {0x63, 0x96}, {0x4E, 0x1A}, {0x53, 0xF6}, {0x66, 0xF3}, /* 0xB4-0xB7 */ + {0x81, 0x4B}, {0x59, 0x1C}, {0x6D, 0xB2}, {0x4E, 0x00}, /* 0xB8-0xBB */ + {0x58, 0xF9}, {0x53, 0x3B}, {0x63, 0xD6}, {0x94, 0xF1}, /* 0xBC-0xBF */ + {0x4F, 0x9D}, {0x4F, 0x0A}, {0x88, 0x63}, {0x98, 0x90}, /* 0xC0-0xC3 */ + {0x59, 0x37}, {0x90, 0x57}, {0x79, 0xFB}, {0x4E, 0xEA}, /* 0xC4-0xC7 */ + {0x80, 0xF0}, {0x75, 0x91}, {0x6C, 0x82}, {0x5B, 0x9C}, /* 0xC8-0xCB */ + {0x59, 0xE8}, {0x5F, 0x5D}, {0x69, 0x05}, {0x86, 0x81}, /* 0xCC-0xCF */ + {0x50, 0x1A}, {0x5D, 0xF2}, {0x4E, 0x59}, {0x77, 0xE3}, /* 0xD0-0xD3 */ + {0x4E, 0xE5}, {0x82, 0x7A}, {0x62, 0x91}, {0x66, 0x13}, /* 0xD4-0xD7 */ + {0x90, 0x91}, {0x5C, 0x79}, {0x4E, 0xBF}, {0x5F, 0x79}, /* 0xD8-0xDB */ + {0x81, 0xC6}, {0x90, 0x38}, {0x80, 0x84}, {0x75, 0xAB}, /* 0xDC-0xDF */ + {0x4E, 0xA6}, {0x88, 0xD4}, {0x61, 0x0F}, {0x6B, 0xC5}, /* 0xE0-0xE3 */ + {0x5F, 0xC6}, {0x4E, 0x49}, {0x76, 0xCA}, {0x6E, 0xA2}, /* 0xE4-0xE7 */ + {0x8B, 0xE3}, {0x8B, 0xAE}, {0x8C, 0x0A}, {0x8B, 0xD1}, /* 0xE8-0xEB */ + {0x5F, 0x02}, {0x7F, 0xFC}, {0x7F, 0xCC}, {0x7E, 0xCE}, /* 0xEC-0xEF */ + {0x83, 0x35}, {0x83, 0x6B}, {0x56, 0xE0}, {0x6B, 0xB7}, /* 0xF0-0xF3 */ + {0x97, 0xF3}, {0x96, 0x34}, {0x59, 0xFB}, {0x54, 0x1F}, /* 0xF4-0xF7 */ + {0x94, 0xF6}, {0x6D, 0xEB}, {0x5B, 0xC5}, {0x99, 0x6E}, /* 0xF8-0xFB */ + {0x5C, 0x39}, {0x5F, 0x15}, {0x96, 0x90}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x89, 0xA2}, {0x89, 0xA3}, {0x89, 0xA4}, {0x89, 0xA5}, /* 0x40-0x43 */ + {0x89, 0xA6}, {0x89, 0xA7}, {0x89, 0xA8}, {0x89, 0xA9}, /* 0x44-0x47 */ + {0x89, 0xAA}, {0x89, 0xAB}, {0x89, 0xAC}, {0x89, 0xAD}, /* 0x48-0x4B */ + {0x89, 0xAE}, {0x89, 0xAF}, {0x89, 0xB0}, {0x89, 0xB1}, /* 0x4C-0x4F */ + {0x89, 0xB2}, {0x89, 0xB3}, {0x89, 0xB4}, {0x89, 0xB5}, /* 0x50-0x53 */ + {0x89, 0xB6}, {0x89, 0xB7}, {0x89, 0xB8}, {0x89, 0xB9}, /* 0x54-0x57 */ + {0x89, 0xBA}, {0x89, 0xBB}, {0x89, 0xBC}, {0x89, 0xBD}, /* 0x58-0x5B */ + {0x89, 0xBE}, {0x89, 0xBF}, {0x89, 0xC0}, {0x89, 0xC3}, /* 0x5C-0x5F */ + {0x89, 0xCD}, {0x89, 0xD3}, {0x89, 0xD4}, {0x89, 0xD5}, /* 0x60-0x63 */ + {0x89, 0xD7}, {0x89, 0xD8}, {0x89, 0xD9}, {0x89, 0xDB}, /* 0x64-0x67 */ + {0x89, 0xDD}, {0x89, 0xDF}, {0x89, 0xE0}, {0x89, 0xE1}, /* 0x68-0x6B */ + {0x89, 0xE2}, {0x89, 0xE4}, {0x89, 0xE7}, {0x89, 0xE8}, /* 0x6C-0x6F */ + {0x89, 0xE9}, {0x89, 0xEA}, {0x89, 0xEC}, {0x89, 0xED}, /* 0x70-0x73 */ + {0x89, 0xEE}, {0x89, 0xF0}, {0x89, 0xF1}, {0x89, 0xF2}, /* 0x74-0x77 */ + {0x89, 0xF4}, {0x89, 0xF5}, {0x89, 0xF6}, {0x89, 0xF7}, /* 0x78-0x7B */ + {0x89, 0xF8}, {0x89, 0xF9}, {0x89, 0xFA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x89, 0xFB}, {0x89, 0xFC}, {0x89, 0xFD}, {0x89, 0xFE}, /* 0x80-0x83 */ + {0x89, 0xFF}, {0x8A, 0x01}, {0x8A, 0x02}, {0x8A, 0x03}, /* 0x84-0x87 */ + {0x8A, 0x04}, {0x8A, 0x05}, {0x8A, 0x06}, {0x8A, 0x08}, /* 0x88-0x8B */ + {0x8A, 0x09}, {0x8A, 0x0A}, {0x8A, 0x0B}, {0x8A, 0x0C}, /* 0x8C-0x8F */ + {0x8A, 0x0D}, {0x8A, 0x0E}, {0x8A, 0x0F}, {0x8A, 0x10}, /* 0x90-0x93 */ + {0x8A, 0x11}, {0x8A, 0x12}, {0x8A, 0x13}, {0x8A, 0x14}, /* 0x94-0x97 */ + {0x8A, 0x15}, {0x8A, 0x16}, {0x8A, 0x17}, {0x8A, 0x18}, /* 0x98-0x9B */ + {0x8A, 0x19}, {0x8A, 0x1A}, {0x8A, 0x1B}, {0x8A, 0x1C}, /* 0x9C-0x9F */ + {0x8A, 0x1D}, {0x53, 0x70}, {0x82, 0xF1}, {0x6A, 0x31}, /* 0xA0-0xA3 */ + {0x5A, 0x74}, {0x9E, 0x70}, {0x5E, 0x94}, {0x7F, 0x28}, /* 0xA4-0xA7 */ + {0x83, 0xB9}, {0x84, 0x24}, {0x84, 0x25}, {0x83, 0x67}, /* 0xA8-0xAB */ + {0x87, 0x47}, {0x8F, 0xCE}, {0x8D, 0x62}, {0x76, 0xC8}, /* 0xAC-0xAF */ + {0x5F, 0x71}, {0x98, 0x96}, {0x78, 0x6C}, {0x66, 0x20}, /* 0xB0-0xB3 */ + {0x54, 0xDF}, {0x62, 0xE5}, {0x4F, 0x63}, {0x81, 0xC3}, /* 0xB4-0xB7 */ + {0x75, 0xC8}, {0x5E, 0xB8}, {0x96, 0xCD}, {0x8E, 0x0A}, /* 0xB8-0xBB */ + {0x86, 0xF9}, {0x54, 0x8F}, {0x6C, 0xF3}, {0x6D, 0x8C}, /* 0xBC-0xBF */ + {0x6C, 0x38}, {0x60, 0x7F}, {0x52, 0xC7}, {0x75, 0x28}, /* 0xC0-0xC3 */ + {0x5E, 0x7D}, {0x4F, 0x18}, {0x60, 0xA0}, {0x5F, 0xE7}, /* 0xC4-0xC7 */ + {0x5C, 0x24}, {0x75, 0x31}, {0x90, 0xAE}, {0x94, 0xC0}, /* 0xC8-0xCB */ + {0x72, 0xB9}, {0x6C, 0xB9}, {0x6E, 0x38}, {0x91, 0x49}, /* 0xCC-0xCF */ + {0x67, 0x09}, {0x53, 0xCB}, {0x53, 0xF3}, {0x4F, 0x51}, /* 0xD0-0xD3 */ + {0x91, 0xC9}, {0x8B, 0xF1}, {0x53, 0xC8}, {0x5E, 0x7C}, /* 0xD4-0xD7 */ + {0x8F, 0xC2}, {0x6D, 0xE4}, {0x4E, 0x8E}, {0x76, 0xC2}, /* 0xD8-0xDB */ + {0x69, 0x86}, {0x86, 0x5E}, {0x61, 0x1A}, {0x82, 0x06}, /* 0xDC-0xDF */ + {0x4F, 0x59}, {0x4F, 0xDE}, {0x90, 0x3E}, {0x9C, 0x7C}, /* 0xE0-0xE3 */ + {0x61, 0x09}, {0x6E, 0x1D}, {0x6E, 0x14}, {0x96, 0x85}, /* 0xE4-0xE7 */ + {0x4E, 0x88}, {0x5A, 0x31}, {0x96, 0xE8}, {0x4E, 0x0E}, /* 0xE8-0xEB */ + {0x5C, 0x7F}, {0x79, 0xB9}, {0x5B, 0x87}, {0x8B, 0xED}, /* 0xEC-0xEF */ + {0x7F, 0xBD}, {0x73, 0x89}, {0x57, 0xDF}, {0x82, 0x8B}, /* 0xF0-0xF3 */ + {0x90, 0xC1}, {0x54, 0x01}, {0x90, 0x47}, {0x55, 0xBB}, /* 0xF4-0xF7 */ + {0x5C, 0xEA}, {0x5F, 0xA1}, {0x61, 0x08}, {0x6B, 0x32}, /* 0xF8-0xFB */ + {0x72, 0xF1}, {0x80, 0xB2}, {0x8A, 0x89}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8A, 0x1E}, {0x8A, 0x1F}, {0x8A, 0x20}, {0x8A, 0x21}, /* 0x40-0x43 */ + {0x8A, 0x22}, {0x8A, 0x23}, {0x8A, 0x24}, {0x8A, 0x25}, /* 0x44-0x47 */ + {0x8A, 0x26}, {0x8A, 0x27}, {0x8A, 0x28}, {0x8A, 0x29}, /* 0x48-0x4B */ + {0x8A, 0x2A}, {0x8A, 0x2B}, {0x8A, 0x2C}, {0x8A, 0x2D}, /* 0x4C-0x4F */ + {0x8A, 0x2E}, {0x8A, 0x2F}, {0x8A, 0x30}, {0x8A, 0x31}, /* 0x50-0x53 */ + {0x8A, 0x32}, {0x8A, 0x33}, {0x8A, 0x34}, {0x8A, 0x35}, /* 0x54-0x57 */ + {0x8A, 0x36}, {0x8A, 0x37}, {0x8A, 0x38}, {0x8A, 0x39}, /* 0x58-0x5B */ + {0x8A, 0x3A}, {0x8A, 0x3B}, {0x8A, 0x3C}, {0x8A, 0x3D}, /* 0x5C-0x5F */ + {0x8A, 0x3F}, {0x8A, 0x40}, {0x8A, 0x41}, {0x8A, 0x42}, /* 0x60-0x63 */ + {0x8A, 0x43}, {0x8A, 0x44}, {0x8A, 0x45}, {0x8A, 0x46}, /* 0x64-0x67 */ + {0x8A, 0x47}, {0x8A, 0x49}, {0x8A, 0x4A}, {0x8A, 0x4B}, /* 0x68-0x6B */ + {0x8A, 0x4C}, {0x8A, 0x4D}, {0x8A, 0x4E}, {0x8A, 0x4F}, /* 0x6C-0x6F */ + {0x8A, 0x50}, {0x8A, 0x51}, {0x8A, 0x52}, {0x8A, 0x53}, /* 0x70-0x73 */ + {0x8A, 0x54}, {0x8A, 0x55}, {0x8A, 0x56}, {0x8A, 0x57}, /* 0x74-0x77 */ + {0x8A, 0x58}, {0x8A, 0x59}, {0x8A, 0x5A}, {0x8A, 0x5B}, /* 0x78-0x7B */ + {0x8A, 0x5C}, {0x8A, 0x5D}, {0x8A, 0x5E}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8A, 0x5F}, {0x8A, 0x60}, {0x8A, 0x61}, {0x8A, 0x62}, /* 0x80-0x83 */ + {0x8A, 0x63}, {0x8A, 0x64}, {0x8A, 0x65}, {0x8A, 0x66}, /* 0x84-0x87 */ + {0x8A, 0x67}, {0x8A, 0x68}, {0x8A, 0x69}, {0x8A, 0x6A}, /* 0x88-0x8B */ + {0x8A, 0x6B}, {0x8A, 0x6C}, {0x8A, 0x6D}, {0x8A, 0x6E}, /* 0x8C-0x8F */ + {0x8A, 0x6F}, {0x8A, 0x70}, {0x8A, 0x71}, {0x8A, 0x72}, /* 0x90-0x93 */ + {0x8A, 0x73}, {0x8A, 0x74}, {0x8A, 0x75}, {0x8A, 0x76}, /* 0x94-0x97 */ + {0x8A, 0x77}, {0x8A, 0x78}, {0x8A, 0x7A}, {0x8A, 0x7B}, /* 0x98-0x9B */ + {0x8A, 0x7C}, {0x8A, 0x7D}, {0x8A, 0x7E}, {0x8A, 0x7F}, /* 0x9C-0x9F */ + {0x8A, 0x80}, {0x6D, 0x74}, {0x5B, 0xD3}, {0x88, 0xD5}, /* 0xA0-0xA3 */ + {0x98, 0x84}, {0x8C, 0x6B}, {0x9A, 0x6D}, {0x9E, 0x33}, /* 0xA4-0xA7 */ + {0x6E, 0x0A}, {0x51, 0xA4}, {0x51, 0x43}, {0x57, 0xA3}, /* 0xA8-0xAB */ + {0x88, 0x81}, {0x53, 0x9F}, {0x63, 0xF4}, {0x8F, 0x95}, /* 0xAC-0xAF */ + {0x56, 0xED}, {0x54, 0x58}, {0x57, 0x06}, {0x73, 0x3F}, /* 0xB0-0xB3 */ + {0x6E, 0x90}, {0x7F, 0x18}, {0x8F, 0xDC}, {0x82, 0xD1}, /* 0xB4-0xB7 */ + {0x61, 0x3F}, {0x60, 0x28}, {0x96, 0x62}, {0x66, 0xF0}, /* 0xB8-0xBB */ + {0x7E, 0xA6}, {0x8D, 0x8A}, {0x8D, 0xC3}, {0x94, 0xA5}, /* 0xBC-0xBF */ + {0x5C, 0xB3}, {0x7C, 0xA4}, {0x67, 0x08}, {0x60, 0xA6}, /* 0xC0-0xC3 */ + {0x96, 0x05}, {0x80, 0x18}, {0x4E, 0x91}, {0x90, 0xE7}, /* 0xC4-0xC7 */ + {0x53, 0x00}, {0x96, 0x68}, {0x51, 0x41}, {0x8F, 0xD0}, /* 0xC8-0xCB */ + {0x85, 0x74}, {0x91, 0x5D}, {0x66, 0x55}, {0x97, 0xF5}, /* 0xCC-0xCF */ + {0x5B, 0x55}, {0x53, 0x1D}, {0x78, 0x38}, {0x67, 0x42}, /* 0xD0-0xD3 */ + {0x68, 0x3D}, {0x54, 0xC9}, {0x70, 0x7E}, {0x5B, 0xB0}, /* 0xD4-0xD7 */ + {0x8F, 0x7D}, {0x51, 0x8D}, {0x57, 0x28}, {0x54, 0xB1}, /* 0xD8-0xDB */ + {0x65, 0x12}, {0x66, 0x82}, {0x8D, 0x5E}, {0x8D, 0x43}, /* 0xDC-0xDF */ + {0x81, 0x0F}, {0x84, 0x6C}, {0x90, 0x6D}, {0x7C, 0xDF}, /* 0xE0-0xE3 */ + {0x51, 0xFF}, {0x85, 0xFB}, {0x67, 0xA3}, {0x65, 0xE9}, /* 0xE4-0xE7 */ + {0x6F, 0xA1}, {0x86, 0xA4}, {0x8E, 0x81}, {0x56, 0x6A}, /* 0xE8-0xEB */ + {0x90, 0x20}, {0x76, 0x82}, {0x70, 0x76}, {0x71, 0xE5}, /* 0xEC-0xEF */ + {0x8D, 0x23}, {0x62, 0xE9}, {0x52, 0x19}, {0x6C, 0xFD}, /* 0xF0-0xF3 */ + {0x8D, 0x3C}, {0x60, 0x0E}, {0x58, 0x9E}, {0x61, 0x8E}, /* 0xF4-0xF7 */ + {0x66, 0xFE}, {0x8D, 0x60}, {0x62, 0x4E}, {0x55, 0xB3}, /* 0xF8-0xFB */ + {0x6E, 0x23}, {0x67, 0x2D}, {0x8F, 0x67}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8A, 0x81}, {0x8A, 0x82}, {0x8A, 0x83}, {0x8A, 0x84}, /* 0x40-0x43 */ + {0x8A, 0x85}, {0x8A, 0x86}, {0x8A, 0x87}, {0x8A, 0x88}, /* 0x44-0x47 */ + {0x8A, 0x8B}, {0x8A, 0x8C}, {0x8A, 0x8D}, {0x8A, 0x8E}, /* 0x48-0x4B */ + {0x8A, 0x8F}, {0x8A, 0x90}, {0x8A, 0x91}, {0x8A, 0x92}, /* 0x4C-0x4F */ + {0x8A, 0x94}, {0x8A, 0x95}, {0x8A, 0x96}, {0x8A, 0x97}, /* 0x50-0x53 */ + {0x8A, 0x98}, {0x8A, 0x99}, {0x8A, 0x9A}, {0x8A, 0x9B}, /* 0x54-0x57 */ + {0x8A, 0x9C}, {0x8A, 0x9D}, {0x8A, 0x9E}, {0x8A, 0x9F}, /* 0x58-0x5B */ + {0x8A, 0xA0}, {0x8A, 0xA1}, {0x8A, 0xA2}, {0x8A, 0xA3}, /* 0x5C-0x5F */ + {0x8A, 0xA4}, {0x8A, 0xA5}, {0x8A, 0xA6}, {0x8A, 0xA7}, /* 0x60-0x63 */ + {0x8A, 0xA8}, {0x8A, 0xA9}, {0x8A, 0xAA}, {0x8A, 0xAB}, /* 0x64-0x67 */ + {0x8A, 0xAC}, {0x8A, 0xAD}, {0x8A, 0xAE}, {0x8A, 0xAF}, /* 0x68-0x6B */ + {0x8A, 0xB0}, {0x8A, 0xB1}, {0x8A, 0xB2}, {0x8A, 0xB3}, /* 0x6C-0x6F */ + {0x8A, 0xB4}, {0x8A, 0xB5}, {0x8A, 0xB6}, {0x8A, 0xB7}, /* 0x70-0x73 */ + {0x8A, 0xB8}, {0x8A, 0xB9}, {0x8A, 0xBA}, {0x8A, 0xBB}, /* 0x74-0x77 */ + {0x8A, 0xBC}, {0x8A, 0xBD}, {0x8A, 0xBE}, {0x8A, 0xBF}, /* 0x78-0x7B */ + {0x8A, 0xC0}, {0x8A, 0xC1}, {0x8A, 0xC2}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8A, 0xC3}, {0x8A, 0xC4}, {0x8A, 0xC5}, {0x8A, 0xC6}, /* 0x80-0x83 */ + {0x8A, 0xC7}, {0x8A, 0xC8}, {0x8A, 0xC9}, {0x8A, 0xCA}, /* 0x84-0x87 */ + {0x8A, 0xCB}, {0x8A, 0xCC}, {0x8A, 0xCD}, {0x8A, 0xCE}, /* 0x88-0x8B */ + {0x8A, 0xCF}, {0x8A, 0xD0}, {0x8A, 0xD1}, {0x8A, 0xD2}, /* 0x8C-0x8F */ + {0x8A, 0xD3}, {0x8A, 0xD4}, {0x8A, 0xD5}, {0x8A, 0xD6}, /* 0x90-0x93 */ + {0x8A, 0xD7}, {0x8A, 0xD8}, {0x8A, 0xD9}, {0x8A, 0xDA}, /* 0x94-0x97 */ + {0x8A, 0xDB}, {0x8A, 0xDC}, {0x8A, 0xDD}, {0x8A, 0xDE}, /* 0x98-0x9B */ + {0x8A, 0xDF}, {0x8A, 0xE0}, {0x8A, 0xE1}, {0x8A, 0xE2}, /* 0x9C-0x9F */ + {0x8A, 0xE3}, {0x94, 0xE1}, {0x95, 0xF8}, {0x77, 0x28}, /* 0xA0-0xA3 */ + {0x68, 0x05}, {0x69, 0xA8}, {0x54, 0x8B}, {0x4E, 0x4D}, /* 0xA4-0xA7 */ + {0x70, 0xB8}, {0x8B, 0xC8}, {0x64, 0x58}, {0x65, 0x8B}, /* 0xA8-0xAB */ + {0x5B, 0x85}, {0x7A, 0x84}, {0x50, 0x3A}, {0x5B, 0xE8}, /* 0xAC-0xAF */ + {0x77, 0xBB}, {0x6B, 0xE1}, {0x8A, 0x79}, {0x7C, 0x98}, /* 0xB0-0xB3 */ + {0x6C, 0xBE}, {0x76, 0xCF}, {0x65, 0xA9}, {0x8F, 0x97}, /* 0xB4-0xB7 */ + {0x5D, 0x2D}, {0x5C, 0x55}, {0x86, 0x38}, {0x68, 0x08}, /* 0xB8-0xBB */ + {0x53, 0x60}, {0x62, 0x18}, {0x7A, 0xD9}, {0x6E, 0x5B}, /* 0xBC-0xBF */ + {0x7E, 0xFD}, {0x6A, 0x1F}, {0x7A, 0xE0}, {0x5F, 0x70}, /* 0xC0-0xC3 */ + {0x6F, 0x33}, {0x5F, 0x20}, {0x63, 0x8C}, {0x6D, 0xA8}, /* 0xC4-0xC7 */ + {0x67, 0x56}, {0x4E, 0x08}, {0x5E, 0x10}, {0x8D, 0x26}, /* 0xC8-0xCB */ + {0x4E, 0xD7}, {0x80, 0xC0}, {0x76, 0x34}, {0x96, 0x9C}, /* 0xCC-0xCF */ + {0x62, 0xDB}, {0x66, 0x2D}, {0x62, 0x7E}, {0x6C, 0xBC}, /* 0xD0-0xD3 */ + {0x8D, 0x75}, {0x71, 0x67}, {0x7F, 0x69}, {0x51, 0x46}, /* 0xD4-0xD7 */ + {0x80, 0x87}, {0x53, 0xEC}, {0x90, 0x6E}, {0x62, 0x98}, /* 0xD8-0xDB */ + {0x54, 0xF2}, {0x86, 0xF0}, {0x8F, 0x99}, {0x80, 0x05}, /* 0xDC-0xDF */ + {0x95, 0x17}, {0x85, 0x17}, {0x8F, 0xD9}, {0x6D, 0x59}, /* 0xE0-0xE3 */ + {0x73, 0xCD}, {0x65, 0x9F}, {0x77, 0x1F}, {0x75, 0x04}, /* 0xE4-0xE7 */ + {0x78, 0x27}, {0x81, 0xFB}, {0x8D, 0x1E}, {0x94, 0x88}, /* 0xE8-0xEB */ + {0x4F, 0xA6}, {0x67, 0x95}, {0x75, 0xB9}, {0x8B, 0xCA}, /* 0xEC-0xEF */ + {0x97, 0x07}, {0x63, 0x2F}, {0x95, 0x47}, {0x96, 0x35}, /* 0xF0-0xF3 */ + {0x84, 0xB8}, {0x63, 0x23}, {0x77, 0x41}, {0x5F, 0x81}, /* 0xF4-0xF7 */ + {0x72, 0xF0}, {0x4E, 0x89}, {0x60, 0x14}, {0x65, 0x74}, /* 0xF8-0xFB */ + {0x62, 0xEF}, {0x6B, 0x63}, {0x65, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8A, 0xE4}, {0x8A, 0xE5}, {0x8A, 0xE6}, {0x8A, 0xE7}, /* 0x40-0x43 */ + {0x8A, 0xE8}, {0x8A, 0xE9}, {0x8A, 0xEA}, {0x8A, 0xEB}, /* 0x44-0x47 */ + {0x8A, 0xEC}, {0x8A, 0xED}, {0x8A, 0xEE}, {0x8A, 0xEF}, /* 0x48-0x4B */ + {0x8A, 0xF0}, {0x8A, 0xF1}, {0x8A, 0xF2}, {0x8A, 0xF3}, /* 0x4C-0x4F */ + {0x8A, 0xF4}, {0x8A, 0xF5}, {0x8A, 0xF6}, {0x8A, 0xF7}, /* 0x50-0x53 */ + {0x8A, 0xF8}, {0x8A, 0xF9}, {0x8A, 0xFA}, {0x8A, 0xFB}, /* 0x54-0x57 */ + {0x8A, 0xFC}, {0x8A, 0xFD}, {0x8A, 0xFE}, {0x8A, 0xFF}, /* 0x58-0x5B */ + {0x8B, 0x00}, {0x8B, 0x01}, {0x8B, 0x02}, {0x8B, 0x03}, /* 0x5C-0x5F */ + {0x8B, 0x04}, {0x8B, 0x05}, {0x8B, 0x06}, {0x8B, 0x08}, /* 0x60-0x63 */ + {0x8B, 0x09}, {0x8B, 0x0A}, {0x8B, 0x0B}, {0x8B, 0x0C}, /* 0x64-0x67 */ + {0x8B, 0x0D}, {0x8B, 0x0E}, {0x8B, 0x0F}, {0x8B, 0x10}, /* 0x68-0x6B */ + {0x8B, 0x11}, {0x8B, 0x12}, {0x8B, 0x13}, {0x8B, 0x14}, /* 0x6C-0x6F */ + {0x8B, 0x15}, {0x8B, 0x16}, {0x8B, 0x17}, {0x8B, 0x18}, /* 0x70-0x73 */ + {0x8B, 0x19}, {0x8B, 0x1A}, {0x8B, 0x1B}, {0x8B, 0x1C}, /* 0x74-0x77 */ + {0x8B, 0x1D}, {0x8B, 0x1E}, {0x8B, 0x1F}, {0x8B, 0x20}, /* 0x78-0x7B */ + {0x8B, 0x21}, {0x8B, 0x22}, {0x8B, 0x23}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8B, 0x24}, {0x8B, 0x25}, {0x8B, 0x27}, {0x8B, 0x28}, /* 0x80-0x83 */ + {0x8B, 0x29}, {0x8B, 0x2A}, {0x8B, 0x2B}, {0x8B, 0x2C}, /* 0x84-0x87 */ + {0x8B, 0x2D}, {0x8B, 0x2E}, {0x8B, 0x2F}, {0x8B, 0x30}, /* 0x88-0x8B */ + {0x8B, 0x31}, {0x8B, 0x32}, {0x8B, 0x33}, {0x8B, 0x34}, /* 0x8C-0x8F */ + {0x8B, 0x35}, {0x8B, 0x36}, {0x8B, 0x37}, {0x8B, 0x38}, /* 0x90-0x93 */ + {0x8B, 0x39}, {0x8B, 0x3A}, {0x8B, 0x3B}, {0x8B, 0x3C}, /* 0x94-0x97 */ + {0x8B, 0x3D}, {0x8B, 0x3E}, {0x8B, 0x3F}, {0x8B, 0x40}, /* 0x98-0x9B */ + {0x8B, 0x41}, {0x8B, 0x42}, {0x8B, 0x43}, {0x8B, 0x44}, /* 0x9C-0x9F */ + {0x8B, 0x45}, {0x5E, 0x27}, {0x75, 0xC7}, {0x90, 0xD1}, /* 0xA0-0xA3 */ + {0x8B, 0xC1}, {0x82, 0x9D}, {0x67, 0x9D}, {0x65, 0x2F}, /* 0xA4-0xA7 */ + {0x54, 0x31}, {0x87, 0x18}, {0x77, 0xE5}, {0x80, 0xA2}, /* 0xA8-0xAB */ + {0x81, 0x02}, {0x6C, 0x41}, {0x4E, 0x4B}, {0x7E, 0xC7}, /* 0xAC-0xAF */ + {0x80, 0x4C}, {0x76, 0xF4}, {0x69, 0x0D}, {0x6B, 0x96}, /* 0xB0-0xB3 */ + {0x62, 0x67}, {0x50, 0x3C}, {0x4F, 0x84}, {0x57, 0x40}, /* 0xB4-0xB7 */ + {0x63, 0x07}, {0x6B, 0x62}, {0x8D, 0xBE}, {0x53, 0xEA}, /* 0xB8-0xBB */ + {0x65, 0xE8}, {0x7E, 0xB8}, {0x5F, 0xD7}, {0x63, 0x1A}, /* 0xBC-0xBF */ + {0x63, 0xB7}, {0x81, 0xF3}, {0x81, 0xF4}, {0x7F, 0x6E}, /* 0xC0-0xC3 */ + {0x5E, 0x1C}, {0x5C, 0xD9}, {0x52, 0x36}, {0x66, 0x7A}, /* 0xC4-0xC7 */ + {0x79, 0xE9}, {0x7A, 0x1A}, {0x8D, 0x28}, {0x70, 0x99}, /* 0xC8-0xCB */ + {0x75, 0xD4}, {0x6E, 0xDE}, {0x6C, 0xBB}, {0x7A, 0x92}, /* 0xCC-0xCF */ + {0x4E, 0x2D}, {0x76, 0xC5}, {0x5F, 0xE0}, {0x94, 0x9F}, /* 0xD0-0xD3 */ + {0x88, 0x77}, {0x7E, 0xC8}, {0x79, 0xCD}, {0x80, 0xBF}, /* 0xD4-0xD7 */ + {0x91, 0xCD}, {0x4E, 0xF2}, {0x4F, 0x17}, {0x82, 0x1F}, /* 0xD8-0xDB */ + {0x54, 0x68}, {0x5D, 0xDE}, {0x6D, 0x32}, {0x8B, 0xCC}, /* 0xDC-0xDF */ + {0x7C, 0xA5}, {0x8F, 0x74}, {0x80, 0x98}, {0x5E, 0x1A}, /* 0xE0-0xE3 */ + {0x54, 0x92}, {0x76, 0xB1}, {0x5B, 0x99}, {0x66, 0x3C}, /* 0xE4-0xE7 */ + {0x9A, 0xA4}, {0x73, 0xE0}, {0x68, 0x2A}, {0x86, 0xDB}, /* 0xE8-0xEB */ + {0x67, 0x31}, {0x73, 0x2A}, {0x8B, 0xF8}, {0x8B, 0xDB}, /* 0xEC-0xEF */ + {0x90, 0x10}, {0x7A, 0xF9}, {0x70, 0xDB}, {0x71, 0x6E}, /* 0xF0-0xF3 */ + {0x62, 0xC4}, {0x77, 0xA9}, {0x56, 0x31}, {0x4E, 0x3B}, /* 0xF4-0xF7 */ + {0x84, 0x57}, {0x67, 0xF1}, {0x52, 0xA9}, {0x86, 0xC0}, /* 0xF8-0xFB */ + {0x8D, 0x2E}, {0x94, 0xF8}, {0x7B, 0x51}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8B, 0x46}, {0x8B, 0x47}, {0x8B, 0x48}, {0x8B, 0x49}, /* 0x40-0x43 */ + {0x8B, 0x4A}, {0x8B, 0x4B}, {0x8B, 0x4C}, {0x8B, 0x4D}, /* 0x44-0x47 */ + {0x8B, 0x4E}, {0x8B, 0x4F}, {0x8B, 0x50}, {0x8B, 0x51}, /* 0x48-0x4B */ + {0x8B, 0x52}, {0x8B, 0x53}, {0x8B, 0x54}, {0x8B, 0x55}, /* 0x4C-0x4F */ + {0x8B, 0x56}, {0x8B, 0x57}, {0x8B, 0x58}, {0x8B, 0x59}, /* 0x50-0x53 */ + {0x8B, 0x5A}, {0x8B, 0x5B}, {0x8B, 0x5C}, {0x8B, 0x5D}, /* 0x54-0x57 */ + {0x8B, 0x5E}, {0x8B, 0x5F}, {0x8B, 0x60}, {0x8B, 0x61}, /* 0x58-0x5B */ + {0x8B, 0x62}, {0x8B, 0x63}, {0x8B, 0x64}, {0x8B, 0x65}, /* 0x5C-0x5F */ + {0x8B, 0x67}, {0x8B, 0x68}, {0x8B, 0x69}, {0x8B, 0x6A}, /* 0x60-0x63 */ + {0x8B, 0x6B}, {0x8B, 0x6D}, {0x8B, 0x6E}, {0x8B, 0x6F}, /* 0x64-0x67 */ + {0x8B, 0x70}, {0x8B, 0x71}, {0x8B, 0x72}, {0x8B, 0x73}, /* 0x68-0x6B */ + {0x8B, 0x74}, {0x8B, 0x75}, {0x8B, 0x76}, {0x8B, 0x77}, /* 0x6C-0x6F */ + {0x8B, 0x78}, {0x8B, 0x79}, {0x8B, 0x7A}, {0x8B, 0x7B}, /* 0x70-0x73 */ + {0x8B, 0x7C}, {0x8B, 0x7D}, {0x8B, 0x7E}, {0x8B, 0x7F}, /* 0x74-0x77 */ + {0x8B, 0x80}, {0x8B, 0x81}, {0x8B, 0x82}, {0x8B, 0x83}, /* 0x78-0x7B */ + {0x8B, 0x84}, {0x8B, 0x85}, {0x8B, 0x86}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8B, 0x87}, {0x8B, 0x88}, {0x8B, 0x89}, {0x8B, 0x8A}, /* 0x80-0x83 */ + {0x8B, 0x8B}, {0x8B, 0x8C}, {0x8B, 0x8D}, {0x8B, 0x8E}, /* 0x84-0x87 */ + {0x8B, 0x8F}, {0x8B, 0x90}, {0x8B, 0x91}, {0x8B, 0x92}, /* 0x88-0x8B */ + {0x8B, 0x93}, {0x8B, 0x94}, {0x8B, 0x95}, {0x8B, 0x96}, /* 0x8C-0x8F */ + {0x8B, 0x97}, {0x8B, 0x98}, {0x8B, 0x99}, {0x8B, 0x9A}, /* 0x90-0x93 */ + {0x8B, 0x9B}, {0x8B, 0x9C}, {0x8B, 0x9D}, {0x8B, 0x9E}, /* 0x94-0x97 */ + {0x8B, 0x9F}, {0x8B, 0xAC}, {0x8B, 0xB1}, {0x8B, 0xBB}, /* 0x98-0x9B */ + {0x8B, 0xC7}, {0x8B, 0xD0}, {0x8B, 0xEA}, {0x8C, 0x09}, /* 0x9C-0x9F */ + {0x8C, 0x1E}, {0x4F, 0x4F}, {0x6C, 0xE8}, {0x79, 0x5D}, /* 0xA0-0xA3 */ + {0x9A, 0x7B}, {0x62, 0x93}, {0x72, 0x2A}, {0x62, 0xFD}, /* 0xA4-0xA7 */ + {0x4E, 0x13}, {0x78, 0x16}, {0x8F, 0x6C}, {0x64, 0xB0}, /* 0xA8-0xAB */ + {0x8D, 0x5A}, {0x7B, 0xC6}, {0x68, 0x69}, {0x5E, 0x84}, /* 0xAC-0xAF */ + {0x88, 0xC5}, {0x59, 0x86}, {0x64, 0x9E}, {0x58, 0xEE}, /* 0xB0-0xB3 */ + {0x72, 0xB6}, {0x69, 0x0E}, {0x95, 0x25}, {0x8F, 0xFD}, /* 0xB4-0xB7 */ + {0x8D, 0x58}, {0x57, 0x60}, {0x7F, 0x00}, {0x8C, 0x06}, /* 0xB8-0xBB */ + {0x51, 0xC6}, {0x63, 0x49}, {0x62, 0xD9}, {0x53, 0x53}, /* 0xBC-0xBF */ + {0x68, 0x4C}, {0x74, 0x22}, {0x83, 0x01}, {0x91, 0x4C}, /* 0xC0-0xC3 */ + {0x55, 0x44}, {0x77, 0x40}, {0x70, 0x7C}, {0x6D, 0x4A}, /* 0xC4-0xC7 */ + {0x51, 0x79}, {0x54, 0xA8}, {0x8D, 0x44}, {0x59, 0xFF}, /* 0xC8-0xCB */ + {0x6E, 0xCB}, {0x6D, 0xC4}, {0x5B, 0x5C}, {0x7D, 0x2B}, /* 0xCC-0xCF */ + {0x4E, 0xD4}, {0x7C, 0x7D}, {0x6E, 0xD3}, {0x5B, 0x50}, /* 0xD0-0xD3 */ + {0x81, 0xEA}, {0x6E, 0x0D}, {0x5B, 0x57}, {0x9B, 0x03}, /* 0xD4-0xD7 */ + {0x68, 0xD5}, {0x8E, 0x2A}, {0x5B, 0x97}, {0x7E, 0xFC}, /* 0xD8-0xDB */ + {0x60, 0x3B}, {0x7E, 0xB5}, {0x90, 0xB9}, {0x8D, 0x70}, /* 0xDC-0xDF */ + {0x59, 0x4F}, {0x63, 0xCD}, {0x79, 0xDF}, {0x8D, 0xB3}, /* 0xE0-0xE3 */ + {0x53, 0x52}, {0x65, 0xCF}, {0x79, 0x56}, {0x8B, 0xC5}, /* 0xE4-0xE7 */ + {0x96, 0x3B}, {0x7E, 0xC4}, {0x94, 0xBB}, {0x7E, 0x82}, /* 0xE8-0xEB */ + {0x56, 0x34}, {0x91, 0x89}, {0x67, 0x00}, {0x7F, 0x6A}, /* 0xEC-0xEF */ + {0x5C, 0x0A}, {0x90, 0x75}, {0x66, 0x28}, {0x5D, 0xE6}, /* 0xF0-0xF3 */ + {0x4F, 0x50}, {0x67, 0xDE}, {0x50, 0x5A}, {0x4F, 0x5C}, /* 0xF4-0xF7 */ + {0x57, 0x50}, {0x5E, 0xA7}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8C, 0x38}, {0x8C, 0x39}, {0x8C, 0x3A}, {0x8C, 0x3B}, /* 0x40-0x43 */ + {0x8C, 0x3C}, {0x8C, 0x3D}, {0x8C, 0x3E}, {0x8C, 0x3F}, /* 0x44-0x47 */ + {0x8C, 0x40}, {0x8C, 0x42}, {0x8C, 0x43}, {0x8C, 0x44}, /* 0x48-0x4B */ + {0x8C, 0x45}, {0x8C, 0x48}, {0x8C, 0x4A}, {0x8C, 0x4B}, /* 0x4C-0x4F */ + {0x8C, 0x4D}, {0x8C, 0x4E}, {0x8C, 0x4F}, {0x8C, 0x50}, /* 0x50-0x53 */ + {0x8C, 0x51}, {0x8C, 0x52}, {0x8C, 0x53}, {0x8C, 0x54}, /* 0x54-0x57 */ + {0x8C, 0x56}, {0x8C, 0x57}, {0x8C, 0x58}, {0x8C, 0x59}, /* 0x58-0x5B */ + {0x8C, 0x5B}, {0x8C, 0x5C}, {0x8C, 0x5D}, {0x8C, 0x5E}, /* 0x5C-0x5F */ + {0x8C, 0x5F}, {0x8C, 0x60}, {0x8C, 0x63}, {0x8C, 0x64}, /* 0x60-0x63 */ + {0x8C, 0x65}, {0x8C, 0x66}, {0x8C, 0x67}, {0x8C, 0x68}, /* 0x64-0x67 */ + {0x8C, 0x69}, {0x8C, 0x6C}, {0x8C, 0x6D}, {0x8C, 0x6E}, /* 0x68-0x6B */ + {0x8C, 0x6F}, {0x8C, 0x70}, {0x8C, 0x71}, {0x8C, 0x72}, /* 0x6C-0x6F */ + {0x8C, 0x74}, {0x8C, 0x75}, {0x8C, 0x76}, {0x8C, 0x77}, /* 0x70-0x73 */ + {0x8C, 0x7B}, {0x8C, 0x7C}, {0x8C, 0x7D}, {0x8C, 0x7E}, /* 0x74-0x77 */ + {0x8C, 0x7F}, {0x8C, 0x80}, {0x8C, 0x81}, {0x8C, 0x83}, /* 0x78-0x7B */ + {0x8C, 0x84}, {0x8C, 0x86}, {0x8C, 0x87}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8C, 0x88}, {0x8C, 0x8B}, {0x8C, 0x8D}, {0x8C, 0x8E}, /* 0x80-0x83 */ + {0x8C, 0x8F}, {0x8C, 0x90}, {0x8C, 0x91}, {0x8C, 0x92}, /* 0x84-0x87 */ + {0x8C, 0x93}, {0x8C, 0x95}, {0x8C, 0x96}, {0x8C, 0x97}, /* 0x88-0x8B */ + {0x8C, 0x99}, {0x8C, 0x9A}, {0x8C, 0x9B}, {0x8C, 0x9C}, /* 0x8C-0x8F */ + {0x8C, 0x9D}, {0x8C, 0x9E}, {0x8C, 0x9F}, {0x8C, 0xA0}, /* 0x90-0x93 */ + {0x8C, 0xA1}, {0x8C, 0xA2}, {0x8C, 0xA3}, {0x8C, 0xA4}, /* 0x94-0x97 */ + {0x8C, 0xA5}, {0x8C, 0xA6}, {0x8C, 0xA7}, {0x8C, 0xA8}, /* 0x98-0x9B */ + {0x8C, 0xA9}, {0x8C, 0xAA}, {0x8C, 0xAB}, {0x8C, 0xAC}, /* 0x9C-0x9F */ + {0x8C, 0xAD}, {0x4E, 0x8D}, {0x4E, 0x0C}, {0x51, 0x40}, /* 0xA0-0xA3 */ + {0x4E, 0x10}, {0x5E, 0xFF}, {0x53, 0x45}, {0x4E, 0x15}, /* 0xA4-0xA7 */ + {0x4E, 0x98}, {0x4E, 0x1E}, {0x9B, 0x32}, {0x5B, 0x6C}, /* 0xA8-0xAB */ + {0x56, 0x69}, {0x4E, 0x28}, {0x79, 0xBA}, {0x4E, 0x3F}, /* 0xAC-0xAF */ + {0x53, 0x15}, {0x4E, 0x47}, {0x59, 0x2D}, {0x72, 0x3B}, /* 0xB0-0xB3 */ + {0x53, 0x6E}, {0x6C, 0x10}, {0x56, 0xDF}, {0x80, 0xE4}, /* 0xB4-0xB7 */ + {0x99, 0x97}, {0x6B, 0xD3}, {0x77, 0x7E}, {0x9F, 0x17}, /* 0xB8-0xBB */ + {0x4E, 0x36}, {0x4E, 0x9F}, {0x9F, 0x10}, {0x4E, 0x5C}, /* 0xBC-0xBF */ + {0x4E, 0x69}, {0x4E, 0x93}, {0x82, 0x88}, {0x5B, 0x5B}, /* 0xC0-0xC3 */ + {0x55, 0x6C}, {0x56, 0x0F}, {0x4E, 0xC4}, {0x53, 0x8D}, /* 0xC4-0xC7 */ + {0x53, 0x9D}, {0x53, 0xA3}, {0x53, 0xA5}, {0x53, 0xAE}, /* 0xC8-0xCB */ + {0x97, 0x65}, {0x8D, 0x5D}, {0x53, 0x1A}, {0x53, 0xF5}, /* 0xCC-0xCF */ + {0x53, 0x26}, {0x53, 0x2E}, {0x53, 0x3E}, {0x8D, 0x5C}, /* 0xD0-0xD3 */ + {0x53, 0x66}, {0x53, 0x63}, {0x52, 0x02}, {0x52, 0x08}, /* 0xD4-0xD7 */ + {0x52, 0x0E}, {0x52, 0x2D}, {0x52, 0x33}, {0x52, 0x3F}, /* 0xD8-0xDB */ + {0x52, 0x40}, {0x52, 0x4C}, {0x52, 0x5E}, {0x52, 0x61}, /* 0xDC-0xDF */ + {0x52, 0x5C}, {0x84, 0xAF}, {0x52, 0x7D}, {0x52, 0x82}, /* 0xE0-0xE3 */ + {0x52, 0x81}, {0x52, 0x90}, {0x52, 0x93}, {0x51, 0x82}, /* 0xE4-0xE7 */ + {0x7F, 0x54}, {0x4E, 0xBB}, {0x4E, 0xC3}, {0x4E, 0xC9}, /* 0xE8-0xEB */ + {0x4E, 0xC2}, {0x4E, 0xE8}, {0x4E, 0xE1}, {0x4E, 0xEB}, /* 0xEC-0xEF */ + {0x4E, 0xDE}, {0x4F, 0x1B}, {0x4E, 0xF3}, {0x4F, 0x22}, /* 0xF0-0xF3 */ + {0x4F, 0x64}, {0x4E, 0xF5}, {0x4F, 0x25}, {0x4F, 0x27}, /* 0xF4-0xF7 */ + {0x4F, 0x09}, {0x4F, 0x2B}, {0x4F, 0x5E}, {0x4F, 0x67}, /* 0xF8-0xFB */ + {0x65, 0x38}, {0x4F, 0x5A}, {0x4F, 0x5D}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8C, 0xAE}, {0x8C, 0xAF}, {0x8C, 0xB0}, {0x8C, 0xB1}, /* 0x40-0x43 */ + {0x8C, 0xB2}, {0x8C, 0xB3}, {0x8C, 0xB4}, {0x8C, 0xB5}, /* 0x44-0x47 */ + {0x8C, 0xB6}, {0x8C, 0xB7}, {0x8C, 0xB8}, {0x8C, 0xB9}, /* 0x48-0x4B */ + {0x8C, 0xBA}, {0x8C, 0xBB}, {0x8C, 0xBC}, {0x8C, 0xBD}, /* 0x4C-0x4F */ + {0x8C, 0xBE}, {0x8C, 0xBF}, {0x8C, 0xC0}, {0x8C, 0xC1}, /* 0x50-0x53 */ + {0x8C, 0xC2}, {0x8C, 0xC3}, {0x8C, 0xC4}, {0x8C, 0xC5}, /* 0x54-0x57 */ + {0x8C, 0xC6}, {0x8C, 0xC7}, {0x8C, 0xC8}, {0x8C, 0xC9}, /* 0x58-0x5B */ + {0x8C, 0xCA}, {0x8C, 0xCB}, {0x8C, 0xCC}, {0x8C, 0xCD}, /* 0x5C-0x5F */ + {0x8C, 0xCE}, {0x8C, 0xCF}, {0x8C, 0xD0}, {0x8C, 0xD1}, /* 0x60-0x63 */ + {0x8C, 0xD2}, {0x8C, 0xD3}, {0x8C, 0xD4}, {0x8C, 0xD5}, /* 0x64-0x67 */ + {0x8C, 0xD6}, {0x8C, 0xD7}, {0x8C, 0xD8}, {0x8C, 0xD9}, /* 0x68-0x6B */ + {0x8C, 0xDA}, {0x8C, 0xDB}, {0x8C, 0xDC}, {0x8C, 0xDD}, /* 0x6C-0x6F */ + {0x8C, 0xDE}, {0x8C, 0xDF}, {0x8C, 0xE0}, {0x8C, 0xE1}, /* 0x70-0x73 */ + {0x8C, 0xE2}, {0x8C, 0xE3}, {0x8C, 0xE4}, {0x8C, 0xE5}, /* 0x74-0x77 */ + {0x8C, 0xE6}, {0x8C, 0xE7}, {0x8C, 0xE8}, {0x8C, 0xE9}, /* 0x78-0x7B */ + {0x8C, 0xEA}, {0x8C, 0xEB}, {0x8C, 0xEC}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8C, 0xED}, {0x8C, 0xEE}, {0x8C, 0xEF}, {0x8C, 0xF0}, /* 0x80-0x83 */ + {0x8C, 0xF1}, {0x8C, 0xF2}, {0x8C, 0xF3}, {0x8C, 0xF4}, /* 0x84-0x87 */ + {0x8C, 0xF5}, {0x8C, 0xF6}, {0x8C, 0xF7}, {0x8C, 0xF8}, /* 0x88-0x8B */ + {0x8C, 0xF9}, {0x8C, 0xFA}, {0x8C, 0xFB}, {0x8C, 0xFC}, /* 0x8C-0x8F */ + {0x8C, 0xFD}, {0x8C, 0xFE}, {0x8C, 0xFF}, {0x8D, 0x00}, /* 0x90-0x93 */ + {0x8D, 0x01}, {0x8D, 0x02}, {0x8D, 0x03}, {0x8D, 0x04}, /* 0x94-0x97 */ + {0x8D, 0x05}, {0x8D, 0x06}, {0x8D, 0x07}, {0x8D, 0x08}, /* 0x98-0x9B */ + {0x8D, 0x09}, {0x8D, 0x0A}, {0x8D, 0x0B}, {0x8D, 0x0C}, /* 0x9C-0x9F */ + {0x8D, 0x0D}, {0x4F, 0x5F}, {0x4F, 0x57}, {0x4F, 0x32}, /* 0xA0-0xA3 */ + {0x4F, 0x3D}, {0x4F, 0x76}, {0x4F, 0x74}, {0x4F, 0x91}, /* 0xA4-0xA7 */ + {0x4F, 0x89}, {0x4F, 0x83}, {0x4F, 0x8F}, {0x4F, 0x7E}, /* 0xA8-0xAB */ + {0x4F, 0x7B}, {0x4F, 0xAA}, {0x4F, 0x7C}, {0x4F, 0xAC}, /* 0xAC-0xAF */ + {0x4F, 0x94}, {0x4F, 0xE6}, {0x4F, 0xE8}, {0x4F, 0xEA}, /* 0xB0-0xB3 */ + {0x4F, 0xC5}, {0x4F, 0xDA}, {0x4F, 0xE3}, {0x4F, 0xDC}, /* 0xB4-0xB7 */ + {0x4F, 0xD1}, {0x4F, 0xDF}, {0x4F, 0xF8}, {0x50, 0x29}, /* 0xB8-0xBB */ + {0x50, 0x4C}, {0x4F, 0xF3}, {0x50, 0x2C}, {0x50, 0x0F}, /* 0xBC-0xBF */ + {0x50, 0x2E}, {0x50, 0x2D}, {0x4F, 0xFE}, {0x50, 0x1C}, /* 0xC0-0xC3 */ + {0x50, 0x0C}, {0x50, 0x25}, {0x50, 0x28}, {0x50, 0x7E}, /* 0xC4-0xC7 */ + {0x50, 0x43}, {0x50, 0x55}, {0x50, 0x48}, {0x50, 0x4E}, /* 0xC8-0xCB */ + {0x50, 0x6C}, {0x50, 0x7B}, {0x50, 0xA5}, {0x50, 0xA7}, /* 0xCC-0xCF */ + {0x50, 0xA9}, {0x50, 0xBA}, {0x50, 0xD6}, {0x51, 0x06}, /* 0xD0-0xD3 */ + {0x50, 0xED}, {0x50, 0xEC}, {0x50, 0xE6}, {0x50, 0xEE}, /* 0xD4-0xD7 */ + {0x51, 0x07}, {0x51, 0x0B}, {0x4E, 0xDD}, {0x6C, 0x3D}, /* 0xD8-0xDB */ + {0x4F, 0x58}, {0x4F, 0x65}, {0x4F, 0xCE}, {0x9F, 0xA0}, /* 0xDC-0xDF */ + {0x6C, 0x46}, {0x7C, 0x74}, {0x51, 0x6E}, {0x5D, 0xFD}, /* 0xE0-0xE3 */ + {0x9E, 0xC9}, {0x99, 0x98}, {0x51, 0x81}, {0x59, 0x14}, /* 0xE4-0xE7 */ + {0x52, 0xF9}, {0x53, 0x0D}, {0x8A, 0x07}, {0x53, 0x10}, /* 0xE8-0xEB */ + {0x51, 0xEB}, {0x59, 0x19}, {0x51, 0x55}, {0x4E, 0xA0}, /* 0xEC-0xEF */ + {0x51, 0x56}, {0x4E, 0xB3}, {0x88, 0x6E}, {0x88, 0xA4}, /* 0xF0-0xF3 */ + {0x4E, 0xB5}, {0x81, 0x14}, {0x88, 0xD2}, {0x79, 0x80}, /* 0xF4-0xF7 */ + {0x5B, 0x34}, {0x88, 0x03}, {0x7F, 0xB8}, {0x51, 0xAB}, /* 0xF8-0xFB */ + {0x51, 0xB1}, {0x51, 0xBD}, {0x51, 0xBC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8D, 0x0E}, {0x8D, 0x0F}, {0x8D, 0x10}, {0x8D, 0x11}, /* 0x40-0x43 */ + {0x8D, 0x12}, {0x8D, 0x13}, {0x8D, 0x14}, {0x8D, 0x15}, /* 0x44-0x47 */ + {0x8D, 0x16}, {0x8D, 0x17}, {0x8D, 0x18}, {0x8D, 0x19}, /* 0x48-0x4B */ + {0x8D, 0x1A}, {0x8D, 0x1B}, {0x8D, 0x1C}, {0x8D, 0x20}, /* 0x4C-0x4F */ + {0x8D, 0x51}, {0x8D, 0x52}, {0x8D, 0x57}, {0x8D, 0x5F}, /* 0x50-0x53 */ + {0x8D, 0x65}, {0x8D, 0x68}, {0x8D, 0x69}, {0x8D, 0x6A}, /* 0x54-0x57 */ + {0x8D, 0x6C}, {0x8D, 0x6E}, {0x8D, 0x6F}, {0x8D, 0x71}, /* 0x58-0x5B */ + {0x8D, 0x72}, {0x8D, 0x78}, {0x8D, 0x79}, {0x8D, 0x7A}, /* 0x5C-0x5F */ + {0x8D, 0x7B}, {0x8D, 0x7C}, {0x8D, 0x7D}, {0x8D, 0x7E}, /* 0x60-0x63 */ + {0x8D, 0x7F}, {0x8D, 0x80}, {0x8D, 0x82}, {0x8D, 0x83}, /* 0x64-0x67 */ + {0x8D, 0x86}, {0x8D, 0x87}, {0x8D, 0x88}, {0x8D, 0x89}, /* 0x68-0x6B */ + {0x8D, 0x8C}, {0x8D, 0x8D}, {0x8D, 0x8E}, {0x8D, 0x8F}, /* 0x6C-0x6F */ + {0x8D, 0x90}, {0x8D, 0x92}, {0x8D, 0x93}, {0x8D, 0x95}, /* 0x70-0x73 */ + {0x8D, 0x96}, {0x8D, 0x97}, {0x8D, 0x98}, {0x8D, 0x99}, /* 0x74-0x77 */ + {0x8D, 0x9A}, {0x8D, 0x9B}, {0x8D, 0x9C}, {0x8D, 0x9D}, /* 0x78-0x7B */ + {0x8D, 0x9E}, {0x8D, 0xA0}, {0x8D, 0xA1}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8D, 0xA2}, {0x8D, 0xA4}, {0x8D, 0xA5}, {0x8D, 0xA6}, /* 0x80-0x83 */ + {0x8D, 0xA7}, {0x8D, 0xA8}, {0x8D, 0xA9}, {0x8D, 0xAA}, /* 0x84-0x87 */ + {0x8D, 0xAB}, {0x8D, 0xAC}, {0x8D, 0xAD}, {0x8D, 0xAE}, /* 0x88-0x8B */ + {0x8D, 0xAF}, {0x8D, 0xB0}, {0x8D, 0xB2}, {0x8D, 0xB6}, /* 0x8C-0x8F */ + {0x8D, 0xB7}, {0x8D, 0xB9}, {0x8D, 0xBB}, {0x8D, 0xBD}, /* 0x90-0x93 */ + {0x8D, 0xC0}, {0x8D, 0xC1}, {0x8D, 0xC2}, {0x8D, 0xC5}, /* 0x94-0x97 */ + {0x8D, 0xC7}, {0x8D, 0xC8}, {0x8D, 0xC9}, {0x8D, 0xCA}, /* 0x98-0x9B */ + {0x8D, 0xCD}, {0x8D, 0xD0}, {0x8D, 0xD2}, {0x8D, 0xD3}, /* 0x9C-0x9F */ + {0x8D, 0xD4}, {0x51, 0xC7}, {0x51, 0x96}, {0x51, 0xA2}, /* 0xA0-0xA3 */ + {0x51, 0xA5}, {0x8B, 0xA0}, {0x8B, 0xA6}, {0x8B, 0xA7}, /* 0xA4-0xA7 */ + {0x8B, 0xAA}, {0x8B, 0xB4}, {0x8B, 0xB5}, {0x8B, 0xB7}, /* 0xA8-0xAB */ + {0x8B, 0xC2}, {0x8B, 0xC3}, {0x8B, 0xCB}, {0x8B, 0xCF}, /* 0xAC-0xAF */ + {0x8B, 0xCE}, {0x8B, 0xD2}, {0x8B, 0xD3}, {0x8B, 0xD4}, /* 0xB0-0xB3 */ + {0x8B, 0xD6}, {0x8B, 0xD8}, {0x8B, 0xD9}, {0x8B, 0xDC}, /* 0xB4-0xB7 */ + {0x8B, 0xDF}, {0x8B, 0xE0}, {0x8B, 0xE4}, {0x8B, 0xE8}, /* 0xB8-0xBB */ + {0x8B, 0xE9}, {0x8B, 0xEE}, {0x8B, 0xF0}, {0x8B, 0xF3}, /* 0xBC-0xBF */ + {0x8B, 0xF6}, {0x8B, 0xF9}, {0x8B, 0xFC}, {0x8B, 0xFF}, /* 0xC0-0xC3 */ + {0x8C, 0x00}, {0x8C, 0x02}, {0x8C, 0x04}, {0x8C, 0x07}, /* 0xC4-0xC7 */ + {0x8C, 0x0C}, {0x8C, 0x0F}, {0x8C, 0x11}, {0x8C, 0x12}, /* 0xC8-0xCB */ + {0x8C, 0x14}, {0x8C, 0x15}, {0x8C, 0x16}, {0x8C, 0x19}, /* 0xCC-0xCF */ + {0x8C, 0x1B}, {0x8C, 0x18}, {0x8C, 0x1D}, {0x8C, 0x1F}, /* 0xD0-0xD3 */ + {0x8C, 0x20}, {0x8C, 0x21}, {0x8C, 0x25}, {0x8C, 0x27}, /* 0xD4-0xD7 */ + {0x8C, 0x2A}, {0x8C, 0x2B}, {0x8C, 0x2E}, {0x8C, 0x2F}, /* 0xD8-0xDB */ + {0x8C, 0x32}, {0x8C, 0x33}, {0x8C, 0x35}, {0x8C, 0x36}, /* 0xDC-0xDF */ + {0x53, 0x69}, {0x53, 0x7A}, {0x96, 0x1D}, {0x96, 0x22}, /* 0xE0-0xE3 */ + {0x96, 0x21}, {0x96, 0x31}, {0x96, 0x2A}, {0x96, 0x3D}, /* 0xE4-0xE7 */ + {0x96, 0x3C}, {0x96, 0x42}, {0x96, 0x49}, {0x96, 0x54}, /* 0xE8-0xEB */ + {0x96, 0x5F}, {0x96, 0x67}, {0x96, 0x6C}, {0x96, 0x72}, /* 0xEC-0xEF */ + {0x96, 0x74}, {0x96, 0x88}, {0x96, 0x8D}, {0x96, 0x97}, /* 0xF0-0xF3 */ + {0x96, 0xB0}, {0x90, 0x97}, {0x90, 0x9B}, {0x90, 0x9D}, /* 0xF4-0xF7 */ + {0x90, 0x99}, {0x90, 0xAC}, {0x90, 0xA1}, {0x90, 0xB4}, /* 0xF8-0xFB */ + {0x90, 0xB3}, {0x90, 0xB6}, {0x90, 0xBA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8D, 0xD5}, {0x8D, 0xD8}, {0x8D, 0xD9}, {0x8D, 0xDC}, /* 0x40-0x43 */ + {0x8D, 0xE0}, {0x8D, 0xE1}, {0x8D, 0xE2}, {0x8D, 0xE5}, /* 0x44-0x47 */ + {0x8D, 0xE6}, {0x8D, 0xE7}, {0x8D, 0xE9}, {0x8D, 0xED}, /* 0x48-0x4B */ + {0x8D, 0xEE}, {0x8D, 0xF0}, {0x8D, 0xF1}, {0x8D, 0xF2}, /* 0x4C-0x4F */ + {0x8D, 0xF4}, {0x8D, 0xF6}, {0x8D, 0xFC}, {0x8D, 0xFE}, /* 0x50-0x53 */ + {0x8D, 0xFF}, {0x8E, 0x00}, {0x8E, 0x01}, {0x8E, 0x02}, /* 0x54-0x57 */ + {0x8E, 0x03}, {0x8E, 0x04}, {0x8E, 0x06}, {0x8E, 0x07}, /* 0x58-0x5B */ + {0x8E, 0x08}, {0x8E, 0x0B}, {0x8E, 0x0D}, {0x8E, 0x0E}, /* 0x5C-0x5F */ + {0x8E, 0x10}, {0x8E, 0x11}, {0x8E, 0x12}, {0x8E, 0x13}, /* 0x60-0x63 */ + {0x8E, 0x15}, {0x8E, 0x16}, {0x8E, 0x17}, {0x8E, 0x18}, /* 0x64-0x67 */ + {0x8E, 0x19}, {0x8E, 0x1A}, {0x8E, 0x1B}, {0x8E, 0x1C}, /* 0x68-0x6B */ + {0x8E, 0x20}, {0x8E, 0x21}, {0x8E, 0x24}, {0x8E, 0x25}, /* 0x6C-0x6F */ + {0x8E, 0x26}, {0x8E, 0x27}, {0x8E, 0x28}, {0x8E, 0x2B}, /* 0x70-0x73 */ + {0x8E, 0x2D}, {0x8E, 0x30}, {0x8E, 0x32}, {0x8E, 0x33}, /* 0x74-0x77 */ + {0x8E, 0x34}, {0x8E, 0x36}, {0x8E, 0x37}, {0x8E, 0x38}, /* 0x78-0x7B */ + {0x8E, 0x3B}, {0x8E, 0x3C}, {0x8E, 0x3E}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8E, 0x3F}, {0x8E, 0x43}, {0x8E, 0x45}, {0x8E, 0x46}, /* 0x80-0x83 */ + {0x8E, 0x4C}, {0x8E, 0x4D}, {0x8E, 0x4E}, {0x8E, 0x4F}, /* 0x84-0x87 */ + {0x8E, 0x50}, {0x8E, 0x53}, {0x8E, 0x54}, {0x8E, 0x55}, /* 0x88-0x8B */ + {0x8E, 0x56}, {0x8E, 0x57}, {0x8E, 0x58}, {0x8E, 0x5A}, /* 0x8C-0x8F */ + {0x8E, 0x5B}, {0x8E, 0x5C}, {0x8E, 0x5D}, {0x8E, 0x5E}, /* 0x90-0x93 */ + {0x8E, 0x5F}, {0x8E, 0x60}, {0x8E, 0x61}, {0x8E, 0x62}, /* 0x94-0x97 */ + {0x8E, 0x63}, {0x8E, 0x64}, {0x8E, 0x65}, {0x8E, 0x67}, /* 0x98-0x9B */ + {0x8E, 0x68}, {0x8E, 0x6A}, {0x8E, 0x6B}, {0x8E, 0x6E}, /* 0x9C-0x9F */ + {0x8E, 0x71}, {0x90, 0xB8}, {0x90, 0xB0}, {0x90, 0xCF}, /* 0xA0-0xA3 */ + {0x90, 0xC5}, {0x90, 0xBE}, {0x90, 0xD0}, {0x90, 0xC4}, /* 0xA4-0xA7 */ + {0x90, 0xC7}, {0x90, 0xD3}, {0x90, 0xE6}, {0x90, 0xE2}, /* 0xA8-0xAB */ + {0x90, 0xDC}, {0x90, 0xD7}, {0x90, 0xDB}, {0x90, 0xEB}, /* 0xAC-0xAF */ + {0x90, 0xEF}, {0x90, 0xFE}, {0x91, 0x04}, {0x91, 0x22}, /* 0xB0-0xB3 */ + {0x91, 0x1E}, {0x91, 0x23}, {0x91, 0x31}, {0x91, 0x2F}, /* 0xB4-0xB7 */ + {0x91, 0x39}, {0x91, 0x43}, {0x91, 0x46}, {0x52, 0x0D}, /* 0xB8-0xBB */ + {0x59, 0x42}, {0x52, 0xA2}, {0x52, 0xAC}, {0x52, 0xAD}, /* 0xBC-0xBF */ + {0x52, 0xBE}, {0x54, 0xFF}, {0x52, 0xD0}, {0x52, 0xD6}, /* 0xC0-0xC3 */ + {0x52, 0xF0}, {0x53, 0xDF}, {0x71, 0xEE}, {0x77, 0xCD}, /* 0xC4-0xC7 */ + {0x5E, 0xF4}, {0x51, 0xF5}, {0x51, 0xFC}, {0x9B, 0x2F}, /* 0xC8-0xCB */ + {0x53, 0xB6}, {0x5F, 0x01}, {0x75, 0x5A}, {0x5D, 0xEF}, /* 0xCC-0xCF */ + {0x57, 0x4C}, {0x57, 0xA9}, {0x57, 0xA1}, {0x58, 0x7E}, /* 0xD0-0xD3 */ + {0x58, 0xBC}, {0x58, 0xC5}, {0x58, 0xD1}, {0x57, 0x29}, /* 0xD4-0xD7 */ + {0x57, 0x2C}, {0x57, 0x2A}, {0x57, 0x33}, {0x57, 0x39}, /* 0xD8-0xDB */ + {0x57, 0x2E}, {0x57, 0x2F}, {0x57, 0x5C}, {0x57, 0x3B}, /* 0xDC-0xDF */ + {0x57, 0x42}, {0x57, 0x69}, {0x57, 0x85}, {0x57, 0x6B}, /* 0xE0-0xE3 */ + {0x57, 0x86}, {0x57, 0x7C}, {0x57, 0x7B}, {0x57, 0x68}, /* 0xE4-0xE7 */ + {0x57, 0x6D}, {0x57, 0x76}, {0x57, 0x73}, {0x57, 0xAD}, /* 0xE8-0xEB */ + {0x57, 0xA4}, {0x57, 0x8C}, {0x57, 0xB2}, {0x57, 0xCF}, /* 0xEC-0xEF */ + {0x57, 0xA7}, {0x57, 0xB4}, {0x57, 0x93}, {0x57, 0xA0}, /* 0xF0-0xF3 */ + {0x57, 0xD5}, {0x57, 0xD8}, {0x57, 0xDA}, {0x57, 0xD9}, /* 0xF4-0xF7 */ + {0x57, 0xD2}, {0x57, 0xB8}, {0x57, 0xF4}, {0x57, 0xEF}, /* 0xF8-0xFB */ + {0x57, 0xF8}, {0x57, 0xE4}, {0x57, 0xDD}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8E, 0x73}, {0x8E, 0x75}, {0x8E, 0x77}, {0x8E, 0x78}, /* 0x40-0x43 */ + {0x8E, 0x79}, {0x8E, 0x7A}, {0x8E, 0x7B}, {0x8E, 0x7D}, /* 0x44-0x47 */ + {0x8E, 0x7E}, {0x8E, 0x80}, {0x8E, 0x82}, {0x8E, 0x83}, /* 0x48-0x4B */ + {0x8E, 0x84}, {0x8E, 0x86}, {0x8E, 0x88}, {0x8E, 0x89}, /* 0x4C-0x4F */ + {0x8E, 0x8A}, {0x8E, 0x8B}, {0x8E, 0x8C}, {0x8E, 0x8D}, /* 0x50-0x53 */ + {0x8E, 0x8E}, {0x8E, 0x91}, {0x8E, 0x92}, {0x8E, 0x93}, /* 0x54-0x57 */ + {0x8E, 0x95}, {0x8E, 0x96}, {0x8E, 0x97}, {0x8E, 0x98}, /* 0x58-0x5B */ + {0x8E, 0x99}, {0x8E, 0x9A}, {0x8E, 0x9B}, {0x8E, 0x9D}, /* 0x5C-0x5F */ + {0x8E, 0x9F}, {0x8E, 0xA0}, {0x8E, 0xA1}, {0x8E, 0xA2}, /* 0x60-0x63 */ + {0x8E, 0xA3}, {0x8E, 0xA4}, {0x8E, 0xA5}, {0x8E, 0xA6}, /* 0x64-0x67 */ + {0x8E, 0xA7}, {0x8E, 0xA8}, {0x8E, 0xA9}, {0x8E, 0xAA}, /* 0x68-0x6B */ + {0x8E, 0xAD}, {0x8E, 0xAE}, {0x8E, 0xB0}, {0x8E, 0xB1}, /* 0x6C-0x6F */ + {0x8E, 0xB3}, {0x8E, 0xB4}, {0x8E, 0xB5}, {0x8E, 0xB6}, /* 0x70-0x73 */ + {0x8E, 0xB7}, {0x8E, 0xB8}, {0x8E, 0xB9}, {0x8E, 0xBB}, /* 0x74-0x77 */ + {0x8E, 0xBC}, {0x8E, 0xBD}, {0x8E, 0xBE}, {0x8E, 0xBF}, /* 0x78-0x7B */ + {0x8E, 0xC0}, {0x8E, 0xC1}, {0x8E, 0xC2}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8E, 0xC3}, {0x8E, 0xC4}, {0x8E, 0xC5}, {0x8E, 0xC6}, /* 0x80-0x83 */ + {0x8E, 0xC7}, {0x8E, 0xC8}, {0x8E, 0xC9}, {0x8E, 0xCA}, /* 0x84-0x87 */ + {0x8E, 0xCB}, {0x8E, 0xCC}, {0x8E, 0xCD}, {0x8E, 0xCF}, /* 0x88-0x8B */ + {0x8E, 0xD0}, {0x8E, 0xD1}, {0x8E, 0xD2}, {0x8E, 0xD3}, /* 0x8C-0x8F */ + {0x8E, 0xD4}, {0x8E, 0xD5}, {0x8E, 0xD6}, {0x8E, 0xD7}, /* 0x90-0x93 */ + {0x8E, 0xD8}, {0x8E, 0xD9}, {0x8E, 0xDA}, {0x8E, 0xDB}, /* 0x94-0x97 */ + {0x8E, 0xDC}, {0x8E, 0xDD}, {0x8E, 0xDE}, {0x8E, 0xDF}, /* 0x98-0x9B */ + {0x8E, 0xE0}, {0x8E, 0xE1}, {0x8E, 0xE2}, {0x8E, 0xE3}, /* 0x9C-0x9F */ + {0x8E, 0xE4}, {0x58, 0x0B}, {0x58, 0x0D}, {0x57, 0xFD}, /* 0xA0-0xA3 */ + {0x57, 0xED}, {0x58, 0x00}, {0x58, 0x1E}, {0x58, 0x19}, /* 0xA4-0xA7 */ + {0x58, 0x44}, {0x58, 0x20}, {0x58, 0x65}, {0x58, 0x6C}, /* 0xA8-0xAB */ + {0x58, 0x81}, {0x58, 0x89}, {0x58, 0x9A}, {0x58, 0x80}, /* 0xAC-0xAF */ + {0x99, 0xA8}, {0x9F, 0x19}, {0x61, 0xFF}, {0x82, 0x79}, /* 0xB0-0xB3 */ + {0x82, 0x7D}, {0x82, 0x7F}, {0x82, 0x8F}, {0x82, 0x8A}, /* 0xB4-0xB7 */ + {0x82, 0xA8}, {0x82, 0x84}, {0x82, 0x8E}, {0x82, 0x91}, /* 0xB8-0xBB */ + {0x82, 0x97}, {0x82, 0x99}, {0x82, 0xAB}, {0x82, 0xB8}, /* 0xBC-0xBF */ + {0x82, 0xBE}, {0x82, 0xB0}, {0x82, 0xC8}, {0x82, 0xCA}, /* 0xC0-0xC3 */ + {0x82, 0xE3}, {0x82, 0x98}, {0x82, 0xB7}, {0x82, 0xAE}, /* 0xC4-0xC7 */ + {0x82, 0xCB}, {0x82, 0xCC}, {0x82, 0xC1}, {0x82, 0xA9}, /* 0xC8-0xCB */ + {0x82, 0xB4}, {0x82, 0xA1}, {0x82, 0xAA}, {0x82, 0x9F}, /* 0xCC-0xCF */ + {0x82, 0xC4}, {0x82, 0xCE}, {0x82, 0xA4}, {0x82, 0xE1}, /* 0xD0-0xD3 */ + {0x83, 0x09}, {0x82, 0xF7}, {0x82, 0xE4}, {0x83, 0x0F}, /* 0xD4-0xD7 */ + {0x83, 0x07}, {0x82, 0xDC}, {0x82, 0xF4}, {0x82, 0xD2}, /* 0xD8-0xDB */ + {0x82, 0xD8}, {0x83, 0x0C}, {0x82, 0xFB}, {0x82, 0xD3}, /* 0xDC-0xDF */ + {0x83, 0x11}, {0x83, 0x1A}, {0x83, 0x06}, {0x83, 0x14}, /* 0xE0-0xE3 */ + {0x83, 0x15}, {0x82, 0xE0}, {0x82, 0xD5}, {0x83, 0x1C}, /* 0xE4-0xE7 */ + {0x83, 0x51}, {0x83, 0x5B}, {0x83, 0x5C}, {0x83, 0x08}, /* 0xE8-0xEB */ + {0x83, 0x92}, {0x83, 0x3C}, {0x83, 0x34}, {0x83, 0x31}, /* 0xEC-0xEF */ + {0x83, 0x9B}, {0x83, 0x5E}, {0x83, 0x2F}, {0x83, 0x4F}, /* 0xF0-0xF3 */ + {0x83, 0x47}, {0x83, 0x43}, {0x83, 0x5F}, {0x83, 0x40}, /* 0xF4-0xF7 */ + {0x83, 0x17}, {0x83, 0x60}, {0x83, 0x2D}, {0x83, 0x3A}, /* 0xF8-0xFB */ + {0x83, 0x33}, {0x83, 0x66}, {0x83, 0x65}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8E, 0xE5}, {0x8E, 0xE6}, {0x8E, 0xE7}, {0x8E, 0xE8}, /* 0x40-0x43 */ + {0x8E, 0xE9}, {0x8E, 0xEA}, {0x8E, 0xEB}, {0x8E, 0xEC}, /* 0x44-0x47 */ + {0x8E, 0xED}, {0x8E, 0xEE}, {0x8E, 0xEF}, {0x8E, 0xF0}, /* 0x48-0x4B */ + {0x8E, 0xF1}, {0x8E, 0xF2}, {0x8E, 0xF3}, {0x8E, 0xF4}, /* 0x4C-0x4F */ + {0x8E, 0xF5}, {0x8E, 0xF6}, {0x8E, 0xF7}, {0x8E, 0xF8}, /* 0x50-0x53 */ + {0x8E, 0xF9}, {0x8E, 0xFA}, {0x8E, 0xFB}, {0x8E, 0xFC}, /* 0x54-0x57 */ + {0x8E, 0xFD}, {0x8E, 0xFE}, {0x8E, 0xFF}, {0x8F, 0x00}, /* 0x58-0x5B */ + {0x8F, 0x01}, {0x8F, 0x02}, {0x8F, 0x03}, {0x8F, 0x04}, /* 0x5C-0x5F */ + {0x8F, 0x05}, {0x8F, 0x06}, {0x8F, 0x07}, {0x8F, 0x08}, /* 0x60-0x63 */ + {0x8F, 0x09}, {0x8F, 0x0A}, {0x8F, 0x0B}, {0x8F, 0x0C}, /* 0x64-0x67 */ + {0x8F, 0x0D}, {0x8F, 0x0E}, {0x8F, 0x0F}, {0x8F, 0x10}, /* 0x68-0x6B */ + {0x8F, 0x11}, {0x8F, 0x12}, {0x8F, 0x13}, {0x8F, 0x14}, /* 0x6C-0x6F */ + {0x8F, 0x15}, {0x8F, 0x16}, {0x8F, 0x17}, {0x8F, 0x18}, /* 0x70-0x73 */ + {0x8F, 0x19}, {0x8F, 0x1A}, {0x8F, 0x1B}, {0x8F, 0x1C}, /* 0x74-0x77 */ + {0x8F, 0x1D}, {0x8F, 0x1E}, {0x8F, 0x1F}, {0x8F, 0x20}, /* 0x78-0x7B */ + {0x8F, 0x21}, {0x8F, 0x22}, {0x8F, 0x23}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8F, 0x24}, {0x8F, 0x25}, {0x8F, 0x26}, {0x8F, 0x27}, /* 0x80-0x83 */ + {0x8F, 0x28}, {0x8F, 0x29}, {0x8F, 0x2A}, {0x8F, 0x2B}, /* 0x84-0x87 */ + {0x8F, 0x2C}, {0x8F, 0x2D}, {0x8F, 0x2E}, {0x8F, 0x2F}, /* 0x88-0x8B */ + {0x8F, 0x30}, {0x8F, 0x31}, {0x8F, 0x32}, {0x8F, 0x33}, /* 0x8C-0x8F */ + {0x8F, 0x34}, {0x8F, 0x35}, {0x8F, 0x36}, {0x8F, 0x37}, /* 0x90-0x93 */ + {0x8F, 0x38}, {0x8F, 0x39}, {0x8F, 0x3A}, {0x8F, 0x3B}, /* 0x94-0x97 */ + {0x8F, 0x3C}, {0x8F, 0x3D}, {0x8F, 0x3E}, {0x8F, 0x3F}, /* 0x98-0x9B */ + {0x8F, 0x40}, {0x8F, 0x41}, {0x8F, 0x42}, {0x8F, 0x43}, /* 0x9C-0x9F */ + {0x8F, 0x44}, {0x83, 0x68}, {0x83, 0x1B}, {0x83, 0x69}, /* 0xA0-0xA3 */ + {0x83, 0x6C}, {0x83, 0x6A}, {0x83, 0x6D}, {0x83, 0x6E}, /* 0xA4-0xA7 */ + {0x83, 0xB0}, {0x83, 0x78}, {0x83, 0xB3}, {0x83, 0xB4}, /* 0xA8-0xAB */ + {0x83, 0xA0}, {0x83, 0xAA}, {0x83, 0x93}, {0x83, 0x9C}, /* 0xAC-0xAF */ + {0x83, 0x85}, {0x83, 0x7C}, {0x83, 0xB6}, {0x83, 0xA9}, /* 0xB0-0xB3 */ + {0x83, 0x7D}, {0x83, 0xB8}, {0x83, 0x7B}, {0x83, 0x98}, /* 0xB4-0xB7 */ + {0x83, 0x9E}, {0x83, 0xA8}, {0x83, 0xBA}, {0x83, 0xBC}, /* 0xB8-0xBB */ + {0x83, 0xC1}, {0x84, 0x01}, {0x83, 0xE5}, {0x83, 0xD8}, /* 0xBC-0xBF */ + {0x58, 0x07}, {0x84, 0x18}, {0x84, 0x0B}, {0x83, 0xDD}, /* 0xC0-0xC3 */ + {0x83, 0xFD}, {0x83, 0xD6}, {0x84, 0x1C}, {0x84, 0x38}, /* 0xC4-0xC7 */ + {0x84, 0x11}, {0x84, 0x06}, {0x83, 0xD4}, {0x83, 0xDF}, /* 0xC8-0xCB */ + {0x84, 0x0F}, {0x84, 0x03}, {0x83, 0xF8}, {0x83, 0xF9}, /* 0xCC-0xCF */ + {0x83, 0xEA}, {0x83, 0xC5}, {0x83, 0xC0}, {0x84, 0x26}, /* 0xD0-0xD3 */ + {0x83, 0xF0}, {0x83, 0xE1}, {0x84, 0x5C}, {0x84, 0x51}, /* 0xD4-0xD7 */ + {0x84, 0x5A}, {0x84, 0x59}, {0x84, 0x73}, {0x84, 0x87}, /* 0xD8-0xDB */ + {0x84, 0x88}, {0x84, 0x7A}, {0x84, 0x89}, {0x84, 0x78}, /* 0xDC-0xDF */ + {0x84, 0x3C}, {0x84, 0x46}, {0x84, 0x69}, {0x84, 0x76}, /* 0xE0-0xE3 */ + {0x84, 0x8C}, {0x84, 0x8E}, {0x84, 0x31}, {0x84, 0x6D}, /* 0xE4-0xE7 */ + {0x84, 0xC1}, {0x84, 0xCD}, {0x84, 0xD0}, {0x84, 0xE6}, /* 0xE8-0xEB */ + {0x84, 0xBD}, {0x84, 0xD3}, {0x84, 0xCA}, {0x84, 0xBF}, /* 0xEC-0xEF */ + {0x84, 0xBA}, {0x84, 0xE0}, {0x84, 0xA1}, {0x84, 0xB9}, /* 0xF0-0xF3 */ + {0x84, 0xB4}, {0x84, 0x97}, {0x84, 0xE5}, {0x84, 0xE3}, /* 0xF4-0xF7 */ + {0x85, 0x0C}, {0x75, 0x0D}, {0x85, 0x38}, {0x84, 0xF0}, /* 0xF8-0xFB */ + {0x85, 0x39}, {0x85, 0x1F}, {0x85, 0x3A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8F, 0x45}, {0x8F, 0x46}, {0x8F, 0x47}, {0x8F, 0x48}, /* 0x40-0x43 */ + {0x8F, 0x49}, {0x8F, 0x4A}, {0x8F, 0x4B}, {0x8F, 0x4C}, /* 0x44-0x47 */ + {0x8F, 0x4D}, {0x8F, 0x4E}, {0x8F, 0x4F}, {0x8F, 0x50}, /* 0x48-0x4B */ + {0x8F, 0x51}, {0x8F, 0x52}, {0x8F, 0x53}, {0x8F, 0x54}, /* 0x4C-0x4F */ + {0x8F, 0x55}, {0x8F, 0x56}, {0x8F, 0x57}, {0x8F, 0x58}, /* 0x50-0x53 */ + {0x8F, 0x59}, {0x8F, 0x5A}, {0x8F, 0x5B}, {0x8F, 0x5C}, /* 0x54-0x57 */ + {0x8F, 0x5D}, {0x8F, 0x5E}, {0x8F, 0x5F}, {0x8F, 0x60}, /* 0x58-0x5B */ + {0x8F, 0x61}, {0x8F, 0x62}, {0x8F, 0x63}, {0x8F, 0x64}, /* 0x5C-0x5F */ + {0x8F, 0x65}, {0x8F, 0x6A}, {0x8F, 0x80}, {0x8F, 0x8C}, /* 0x60-0x63 */ + {0x8F, 0x92}, {0x8F, 0x9D}, {0x8F, 0xA0}, {0x8F, 0xA1}, /* 0x64-0x67 */ + {0x8F, 0xA2}, {0x8F, 0xA4}, {0x8F, 0xA5}, {0x8F, 0xA6}, /* 0x68-0x6B */ + {0x8F, 0xA7}, {0x8F, 0xAA}, {0x8F, 0xAC}, {0x8F, 0xAD}, /* 0x6C-0x6F */ + {0x8F, 0xAE}, {0x8F, 0xAF}, {0x8F, 0xB2}, {0x8F, 0xB3}, /* 0x70-0x73 */ + {0x8F, 0xB4}, {0x8F, 0xB5}, {0x8F, 0xB7}, {0x8F, 0xB8}, /* 0x74-0x77 */ + {0x8F, 0xBA}, {0x8F, 0xBB}, {0x8F, 0xBC}, {0x8F, 0xBF}, /* 0x78-0x7B */ + {0x8F, 0xC0}, {0x8F, 0xC3}, {0x8F, 0xC6}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x8F, 0xC9}, {0x8F, 0xCA}, {0x8F, 0xCB}, {0x8F, 0xCC}, /* 0x80-0x83 */ + {0x8F, 0xCD}, {0x8F, 0xCF}, {0x8F, 0xD2}, {0x8F, 0xD6}, /* 0x84-0x87 */ + {0x8F, 0xD7}, {0x8F, 0xDA}, {0x8F, 0xE0}, {0x8F, 0xE1}, /* 0x88-0x8B */ + {0x8F, 0xE3}, {0x8F, 0xE7}, {0x8F, 0xEC}, {0x8F, 0xEF}, /* 0x8C-0x8F */ + {0x8F, 0xF1}, {0x8F, 0xF2}, {0x8F, 0xF4}, {0x8F, 0xF5}, /* 0x90-0x93 */ + {0x8F, 0xF6}, {0x8F, 0xFA}, {0x8F, 0xFB}, {0x8F, 0xFC}, /* 0x94-0x97 */ + {0x8F, 0xFE}, {0x8F, 0xFF}, {0x90, 0x07}, {0x90, 0x08}, /* 0x98-0x9B */ + {0x90, 0x0C}, {0x90, 0x0E}, {0x90, 0x13}, {0x90, 0x15}, /* 0x9C-0x9F */ + {0x90, 0x18}, {0x85, 0x56}, {0x85, 0x3B}, {0x84, 0xFF}, /* 0xA0-0xA3 */ + {0x84, 0xFC}, {0x85, 0x59}, {0x85, 0x48}, {0x85, 0x68}, /* 0xA4-0xA7 */ + {0x85, 0x64}, {0x85, 0x5E}, {0x85, 0x7A}, {0x77, 0xA2}, /* 0xA8-0xAB */ + {0x85, 0x43}, {0x85, 0x72}, {0x85, 0x7B}, {0x85, 0xA4}, /* 0xAC-0xAF */ + {0x85, 0xA8}, {0x85, 0x87}, {0x85, 0x8F}, {0x85, 0x79}, /* 0xB0-0xB3 */ + {0x85, 0xAE}, {0x85, 0x9C}, {0x85, 0x85}, {0x85, 0xB9}, /* 0xB4-0xB7 */ + {0x85, 0xB7}, {0x85, 0xB0}, {0x85, 0xD3}, {0x85, 0xC1}, /* 0xB8-0xBB */ + {0x85, 0xDC}, {0x85, 0xFF}, {0x86, 0x27}, {0x86, 0x05}, /* 0xBC-0xBF */ + {0x86, 0x29}, {0x86, 0x16}, {0x86, 0x3C}, {0x5E, 0xFE}, /* 0xC0-0xC3 */ + {0x5F, 0x08}, {0x59, 0x3C}, {0x59, 0x41}, {0x80, 0x37}, /* 0xC4-0xC7 */ + {0x59, 0x55}, {0x59, 0x5A}, {0x59, 0x58}, {0x53, 0x0F}, /* 0xC8-0xCB */ + {0x5C, 0x22}, {0x5C, 0x25}, {0x5C, 0x2C}, {0x5C, 0x34}, /* 0xCC-0xCF */ + {0x62, 0x4C}, {0x62, 0x6A}, {0x62, 0x9F}, {0x62, 0xBB}, /* 0xD0-0xD3 */ + {0x62, 0xCA}, {0x62, 0xDA}, {0x62, 0xD7}, {0x62, 0xEE}, /* 0xD4-0xD7 */ + {0x63, 0x22}, {0x62, 0xF6}, {0x63, 0x39}, {0x63, 0x4B}, /* 0xD8-0xDB */ + {0x63, 0x43}, {0x63, 0xAD}, {0x63, 0xF6}, {0x63, 0x71}, /* 0xDC-0xDF */ + {0x63, 0x7A}, {0x63, 0x8E}, {0x63, 0xB4}, {0x63, 0x6D}, /* 0xE0-0xE3 */ + {0x63, 0xAC}, {0x63, 0x8A}, {0x63, 0x69}, {0x63, 0xAE}, /* 0xE4-0xE7 */ + {0x63, 0xBC}, {0x63, 0xF2}, {0x63, 0xF8}, {0x63, 0xE0}, /* 0xE8-0xEB */ + {0x63, 0xFF}, {0x63, 0xC4}, {0x63, 0xDE}, {0x63, 0xCE}, /* 0xEC-0xEF */ + {0x64, 0x52}, {0x63, 0xC6}, {0x63, 0xBE}, {0x64, 0x45}, /* 0xF0-0xF3 */ + {0x64, 0x41}, {0x64, 0x0B}, {0x64, 0x1B}, {0x64, 0x20}, /* 0xF4-0xF7 */ + {0x64, 0x0C}, {0x64, 0x26}, {0x64, 0x21}, {0x64, 0x5E}, /* 0xF8-0xFB */ + {0x64, 0x84}, {0x64, 0x6D}, {0x64, 0x96}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x90, 0x19}, {0x90, 0x1C}, {0x90, 0x23}, {0x90, 0x24}, /* 0x40-0x43 */ + {0x90, 0x25}, {0x90, 0x27}, {0x90, 0x28}, {0x90, 0x29}, /* 0x44-0x47 */ + {0x90, 0x2A}, {0x90, 0x2B}, {0x90, 0x2C}, {0x90, 0x30}, /* 0x48-0x4B */ + {0x90, 0x31}, {0x90, 0x32}, {0x90, 0x33}, {0x90, 0x34}, /* 0x4C-0x4F */ + {0x90, 0x37}, {0x90, 0x39}, {0x90, 0x3A}, {0x90, 0x3D}, /* 0x50-0x53 */ + {0x90, 0x3F}, {0x90, 0x40}, {0x90, 0x43}, {0x90, 0x45}, /* 0x54-0x57 */ + {0x90, 0x46}, {0x90, 0x48}, {0x90, 0x49}, {0x90, 0x4A}, /* 0x58-0x5B */ + {0x90, 0x4B}, {0x90, 0x4C}, {0x90, 0x4E}, {0x90, 0x54}, /* 0x5C-0x5F */ + {0x90, 0x55}, {0x90, 0x56}, {0x90, 0x59}, {0x90, 0x5A}, /* 0x60-0x63 */ + {0x90, 0x5C}, {0x90, 0x5D}, {0x90, 0x5E}, {0x90, 0x5F}, /* 0x64-0x67 */ + {0x90, 0x60}, {0x90, 0x61}, {0x90, 0x64}, {0x90, 0x66}, /* 0x68-0x6B */ + {0x90, 0x67}, {0x90, 0x69}, {0x90, 0x6A}, {0x90, 0x6B}, /* 0x6C-0x6F */ + {0x90, 0x6C}, {0x90, 0x6F}, {0x90, 0x70}, {0x90, 0x71}, /* 0x70-0x73 */ + {0x90, 0x72}, {0x90, 0x73}, {0x90, 0x76}, {0x90, 0x77}, /* 0x74-0x77 */ + {0x90, 0x78}, {0x90, 0x79}, {0x90, 0x7A}, {0x90, 0x7B}, /* 0x78-0x7B */ + {0x90, 0x7C}, {0x90, 0x7E}, {0x90, 0x81}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x90, 0x84}, {0x90, 0x85}, {0x90, 0x86}, {0x90, 0x87}, /* 0x80-0x83 */ + {0x90, 0x89}, {0x90, 0x8A}, {0x90, 0x8C}, {0x90, 0x8D}, /* 0x84-0x87 */ + {0x90, 0x8E}, {0x90, 0x8F}, {0x90, 0x90}, {0x90, 0x92}, /* 0x88-0x8B */ + {0x90, 0x94}, {0x90, 0x96}, {0x90, 0x98}, {0x90, 0x9A}, /* 0x8C-0x8F */ + {0x90, 0x9C}, {0x90, 0x9E}, {0x90, 0x9F}, {0x90, 0xA0}, /* 0x90-0x93 */ + {0x90, 0xA4}, {0x90, 0xA5}, {0x90, 0xA7}, {0x90, 0xA8}, /* 0x94-0x97 */ + {0x90, 0xA9}, {0x90, 0xAB}, {0x90, 0xAD}, {0x90, 0xB2}, /* 0x98-0x9B */ + {0x90, 0xB7}, {0x90, 0xBC}, {0x90, 0xBD}, {0x90, 0xBF}, /* 0x9C-0x9F */ + {0x90, 0xC0}, {0x64, 0x7A}, {0x64, 0xB7}, {0x64, 0xB8}, /* 0xA0-0xA3 */ + {0x64, 0x99}, {0x64, 0xBA}, {0x64, 0xC0}, {0x64, 0xD0}, /* 0xA4-0xA7 */ + {0x64, 0xD7}, {0x64, 0xE4}, {0x64, 0xE2}, {0x65, 0x09}, /* 0xA8-0xAB */ + {0x65, 0x25}, {0x65, 0x2E}, {0x5F, 0x0B}, {0x5F, 0xD2}, /* 0xAC-0xAF */ + {0x75, 0x19}, {0x5F, 0x11}, {0x53, 0x5F}, {0x53, 0xF1}, /* 0xB0-0xB3 */ + {0x53, 0xFD}, {0x53, 0xE9}, {0x53, 0xE8}, {0x53, 0xFB}, /* 0xB4-0xB7 */ + {0x54, 0x12}, {0x54, 0x16}, {0x54, 0x06}, {0x54, 0x4B}, /* 0xB8-0xBB */ + {0x54, 0x52}, {0x54, 0x53}, {0x54, 0x54}, {0x54, 0x56}, /* 0xBC-0xBF */ + {0x54, 0x43}, {0x54, 0x21}, {0x54, 0x57}, {0x54, 0x59}, /* 0xC0-0xC3 */ + {0x54, 0x23}, {0x54, 0x32}, {0x54, 0x82}, {0x54, 0x94}, /* 0xC4-0xC7 */ + {0x54, 0x77}, {0x54, 0x71}, {0x54, 0x64}, {0x54, 0x9A}, /* 0xC8-0xCB */ + {0x54, 0x9B}, {0x54, 0x84}, {0x54, 0x76}, {0x54, 0x66}, /* 0xCC-0xCF */ + {0x54, 0x9D}, {0x54, 0xD0}, {0x54, 0xAD}, {0x54, 0xC2}, /* 0xD0-0xD3 */ + {0x54, 0xB4}, {0x54, 0xD2}, {0x54, 0xA7}, {0x54, 0xA6}, /* 0xD4-0xD7 */ + {0x54, 0xD3}, {0x54, 0xD4}, {0x54, 0x72}, {0x54, 0xA3}, /* 0xD8-0xDB */ + {0x54, 0xD5}, {0x54, 0xBB}, {0x54, 0xBF}, {0x54, 0xCC}, /* 0xDC-0xDF */ + {0x54, 0xD9}, {0x54, 0xDA}, {0x54, 0xDC}, {0x54, 0xA9}, /* 0xE0-0xE3 */ + {0x54, 0xAA}, {0x54, 0xA4}, {0x54, 0xDD}, {0x54, 0xCF}, /* 0xE4-0xE7 */ + {0x54, 0xDE}, {0x55, 0x1B}, {0x54, 0xE7}, {0x55, 0x20}, /* 0xE8-0xEB */ + {0x54, 0xFD}, {0x55, 0x14}, {0x54, 0xF3}, {0x55, 0x22}, /* 0xEC-0xEF */ + {0x55, 0x23}, {0x55, 0x0F}, {0x55, 0x11}, {0x55, 0x27}, /* 0xF0-0xF3 */ + {0x55, 0x2A}, {0x55, 0x67}, {0x55, 0x8F}, {0x55, 0xB5}, /* 0xF4-0xF7 */ + {0x55, 0x49}, {0x55, 0x6D}, {0x55, 0x41}, {0x55, 0x55}, /* 0xF8-0xFB */ + {0x55, 0x3F}, {0x55, 0x50}, {0x55, 0x3C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x90, 0xC2}, {0x90, 0xC3}, {0x90, 0xC6}, {0x90, 0xC8}, /* 0x40-0x43 */ + {0x90, 0xC9}, {0x90, 0xCB}, {0x90, 0xCC}, {0x90, 0xCD}, /* 0x44-0x47 */ + {0x90, 0xD2}, {0x90, 0xD4}, {0x90, 0xD5}, {0x90, 0xD6}, /* 0x48-0x4B */ + {0x90, 0xD8}, {0x90, 0xD9}, {0x90, 0xDA}, {0x90, 0xDE}, /* 0x4C-0x4F */ + {0x90, 0xDF}, {0x90, 0xE0}, {0x90, 0xE3}, {0x90, 0xE4}, /* 0x50-0x53 */ + {0x90, 0xE5}, {0x90, 0xE9}, {0x90, 0xEA}, {0x90, 0xEC}, /* 0x54-0x57 */ + {0x90, 0xEE}, {0x90, 0xF0}, {0x90, 0xF1}, {0x90, 0xF2}, /* 0x58-0x5B */ + {0x90, 0xF3}, {0x90, 0xF5}, {0x90, 0xF6}, {0x90, 0xF7}, /* 0x5C-0x5F */ + {0x90, 0xF9}, {0x90, 0xFA}, {0x90, 0xFB}, {0x90, 0xFC}, /* 0x60-0x63 */ + {0x90, 0xFF}, {0x91, 0x00}, {0x91, 0x01}, {0x91, 0x03}, /* 0x64-0x67 */ + {0x91, 0x05}, {0x91, 0x06}, {0x91, 0x07}, {0x91, 0x08}, /* 0x68-0x6B */ + {0x91, 0x09}, {0x91, 0x0A}, {0x91, 0x0B}, {0x91, 0x0C}, /* 0x6C-0x6F */ + {0x91, 0x0D}, {0x91, 0x0E}, {0x91, 0x0F}, {0x91, 0x10}, /* 0x70-0x73 */ + {0x91, 0x11}, {0x91, 0x12}, {0x91, 0x13}, {0x91, 0x14}, /* 0x74-0x77 */ + {0x91, 0x15}, {0x91, 0x16}, {0x91, 0x17}, {0x91, 0x18}, /* 0x78-0x7B */ + {0x91, 0x1A}, {0x91, 0x1B}, {0x91, 0x1C}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x91, 0x1D}, {0x91, 0x1F}, {0x91, 0x20}, {0x91, 0x21}, /* 0x80-0x83 */ + {0x91, 0x24}, {0x91, 0x25}, {0x91, 0x26}, {0x91, 0x27}, /* 0x84-0x87 */ + {0x91, 0x28}, {0x91, 0x29}, {0x91, 0x2A}, {0x91, 0x2B}, /* 0x88-0x8B */ + {0x91, 0x2C}, {0x91, 0x2D}, {0x91, 0x2E}, {0x91, 0x30}, /* 0x8C-0x8F */ + {0x91, 0x32}, {0x91, 0x33}, {0x91, 0x34}, {0x91, 0x35}, /* 0x90-0x93 */ + {0x91, 0x36}, {0x91, 0x37}, {0x91, 0x38}, {0x91, 0x3A}, /* 0x94-0x97 */ + {0x91, 0x3B}, {0x91, 0x3C}, {0x91, 0x3D}, {0x91, 0x3E}, /* 0x98-0x9B */ + {0x91, 0x3F}, {0x91, 0x40}, {0x91, 0x41}, {0x91, 0x42}, /* 0x9C-0x9F */ + {0x91, 0x44}, {0x55, 0x37}, {0x55, 0x56}, {0x55, 0x75}, /* 0xA0-0xA3 */ + {0x55, 0x76}, {0x55, 0x77}, {0x55, 0x33}, {0x55, 0x30}, /* 0xA4-0xA7 */ + {0x55, 0x5C}, {0x55, 0x8B}, {0x55, 0xD2}, {0x55, 0x83}, /* 0xA8-0xAB */ + {0x55, 0xB1}, {0x55, 0xB9}, {0x55, 0x88}, {0x55, 0x81}, /* 0xAC-0xAF */ + {0x55, 0x9F}, {0x55, 0x7E}, {0x55, 0xD6}, {0x55, 0x91}, /* 0xB0-0xB3 */ + {0x55, 0x7B}, {0x55, 0xDF}, {0x55, 0xBD}, {0x55, 0xBE}, /* 0xB4-0xB7 */ + {0x55, 0x94}, {0x55, 0x99}, {0x55, 0xEA}, {0x55, 0xF7}, /* 0xB8-0xBB */ + {0x55, 0xC9}, {0x56, 0x1F}, {0x55, 0xD1}, {0x55, 0xEB}, /* 0xBC-0xBF */ + {0x55, 0xEC}, {0x55, 0xD4}, {0x55, 0xE6}, {0x55, 0xDD}, /* 0xC0-0xC3 */ + {0x55, 0xC4}, {0x55, 0xEF}, {0x55, 0xE5}, {0x55, 0xF2}, /* 0xC4-0xC7 */ + {0x55, 0xF3}, {0x55, 0xCC}, {0x55, 0xCD}, {0x55, 0xE8}, /* 0xC8-0xCB */ + {0x55, 0xF5}, {0x55, 0xE4}, {0x8F, 0x94}, {0x56, 0x1E}, /* 0xCC-0xCF */ + {0x56, 0x08}, {0x56, 0x0C}, {0x56, 0x01}, {0x56, 0x24}, /* 0xD0-0xD3 */ + {0x56, 0x23}, {0x55, 0xFE}, {0x56, 0x00}, {0x56, 0x27}, /* 0xD4-0xD7 */ + {0x56, 0x2D}, {0x56, 0x58}, {0x56, 0x39}, {0x56, 0x57}, /* 0xD8-0xDB */ + {0x56, 0x2C}, {0x56, 0x4D}, {0x56, 0x62}, {0x56, 0x59}, /* 0xDC-0xDF */ + {0x56, 0x5C}, {0x56, 0x4C}, {0x56, 0x54}, {0x56, 0x86}, /* 0xE0-0xE3 */ + {0x56, 0x64}, {0x56, 0x71}, {0x56, 0x6B}, {0x56, 0x7B}, /* 0xE4-0xE7 */ + {0x56, 0x7C}, {0x56, 0x85}, {0x56, 0x93}, {0x56, 0xAF}, /* 0xE8-0xEB */ + {0x56, 0xD4}, {0x56, 0xD7}, {0x56, 0xDD}, {0x56, 0xE1}, /* 0xEC-0xEF */ + {0x56, 0xF5}, {0x56, 0xEB}, {0x56, 0xF9}, {0x56, 0xFF}, /* 0xF0-0xF3 */ + {0x57, 0x04}, {0x57, 0x0A}, {0x57, 0x09}, {0x57, 0x1C}, /* 0xF4-0xF7 */ + {0x5E, 0x0F}, {0x5E, 0x19}, {0x5E, 0x14}, {0x5E, 0x11}, /* 0xF8-0xFB */ + {0x5E, 0x31}, {0x5E, 0x3B}, {0x5E, 0x3C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x91, 0x45}, {0x91, 0x47}, {0x91, 0x48}, {0x91, 0x51}, /* 0x40-0x43 */ + {0x91, 0x53}, {0x91, 0x54}, {0x91, 0x55}, {0x91, 0x56}, /* 0x44-0x47 */ + {0x91, 0x58}, {0x91, 0x59}, {0x91, 0x5B}, {0x91, 0x5C}, /* 0x48-0x4B */ + {0x91, 0x5F}, {0x91, 0x60}, {0x91, 0x66}, {0x91, 0x67}, /* 0x4C-0x4F */ + {0x91, 0x68}, {0x91, 0x6B}, {0x91, 0x6D}, {0x91, 0x73}, /* 0x50-0x53 */ + {0x91, 0x7A}, {0x91, 0x7B}, {0x91, 0x7C}, {0x91, 0x80}, /* 0x54-0x57 */ + {0x91, 0x81}, {0x91, 0x82}, {0x91, 0x83}, {0x91, 0x84}, /* 0x58-0x5B */ + {0x91, 0x86}, {0x91, 0x88}, {0x91, 0x8A}, {0x91, 0x8E}, /* 0x5C-0x5F */ + {0x91, 0x8F}, {0x91, 0x93}, {0x91, 0x94}, {0x91, 0x95}, /* 0x60-0x63 */ + {0x91, 0x96}, {0x91, 0x97}, {0x91, 0x98}, {0x91, 0x99}, /* 0x64-0x67 */ + {0x91, 0x9C}, {0x91, 0x9D}, {0x91, 0x9E}, {0x91, 0x9F}, /* 0x68-0x6B */ + {0x91, 0xA0}, {0x91, 0xA1}, {0x91, 0xA4}, {0x91, 0xA5}, /* 0x6C-0x6F */ + {0x91, 0xA6}, {0x91, 0xA7}, {0x91, 0xA8}, {0x91, 0xA9}, /* 0x70-0x73 */ + {0x91, 0xAB}, {0x91, 0xAC}, {0x91, 0xB0}, {0x91, 0xB1}, /* 0x74-0x77 */ + {0x91, 0xB2}, {0x91, 0xB3}, {0x91, 0xB6}, {0x91, 0xB7}, /* 0x78-0x7B */ + {0x91, 0xB8}, {0x91, 0xB9}, {0x91, 0xBB}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x91, 0xBC}, {0x91, 0xBD}, {0x91, 0xBE}, {0x91, 0xBF}, /* 0x80-0x83 */ + {0x91, 0xC0}, {0x91, 0xC1}, {0x91, 0xC2}, {0x91, 0xC3}, /* 0x84-0x87 */ + {0x91, 0xC4}, {0x91, 0xC5}, {0x91, 0xC6}, {0x91, 0xC8}, /* 0x88-0x8B */ + {0x91, 0xCB}, {0x91, 0xD0}, {0x91, 0xD2}, {0x91, 0xD3}, /* 0x8C-0x8F */ + {0x91, 0xD4}, {0x91, 0xD5}, {0x91, 0xD6}, {0x91, 0xD7}, /* 0x90-0x93 */ + {0x91, 0xD8}, {0x91, 0xD9}, {0x91, 0xDA}, {0x91, 0xDB}, /* 0x94-0x97 */ + {0x91, 0xDD}, {0x91, 0xDE}, {0x91, 0xDF}, {0x91, 0xE0}, /* 0x98-0x9B */ + {0x91, 0xE1}, {0x91, 0xE2}, {0x91, 0xE3}, {0x91, 0xE4}, /* 0x9C-0x9F */ + {0x91, 0xE5}, {0x5E, 0x37}, {0x5E, 0x44}, {0x5E, 0x54}, /* 0xA0-0xA3 */ + {0x5E, 0x5B}, {0x5E, 0x5E}, {0x5E, 0x61}, {0x5C, 0x8C}, /* 0xA4-0xA7 */ + {0x5C, 0x7A}, {0x5C, 0x8D}, {0x5C, 0x90}, {0x5C, 0x96}, /* 0xA8-0xAB */ + {0x5C, 0x88}, {0x5C, 0x98}, {0x5C, 0x99}, {0x5C, 0x91}, /* 0xAC-0xAF */ + {0x5C, 0x9A}, {0x5C, 0x9C}, {0x5C, 0xB5}, {0x5C, 0xA2}, /* 0xB0-0xB3 */ + {0x5C, 0xBD}, {0x5C, 0xAC}, {0x5C, 0xAB}, {0x5C, 0xB1}, /* 0xB4-0xB7 */ + {0x5C, 0xA3}, {0x5C, 0xC1}, {0x5C, 0xB7}, {0x5C, 0xC4}, /* 0xB8-0xBB */ + {0x5C, 0xD2}, {0x5C, 0xE4}, {0x5C, 0xCB}, {0x5C, 0xE5}, /* 0xBC-0xBF */ + {0x5D, 0x02}, {0x5D, 0x03}, {0x5D, 0x27}, {0x5D, 0x26}, /* 0xC0-0xC3 */ + {0x5D, 0x2E}, {0x5D, 0x24}, {0x5D, 0x1E}, {0x5D, 0x06}, /* 0xC4-0xC7 */ + {0x5D, 0x1B}, {0x5D, 0x58}, {0x5D, 0x3E}, {0x5D, 0x34}, /* 0xC8-0xCB */ + {0x5D, 0x3D}, {0x5D, 0x6C}, {0x5D, 0x5B}, {0x5D, 0x6F}, /* 0xCC-0xCF */ + {0x5D, 0x5D}, {0x5D, 0x6B}, {0x5D, 0x4B}, {0x5D, 0x4A}, /* 0xD0-0xD3 */ + {0x5D, 0x69}, {0x5D, 0x74}, {0x5D, 0x82}, {0x5D, 0x99}, /* 0xD4-0xD7 */ + {0x5D, 0x9D}, {0x8C, 0x73}, {0x5D, 0xB7}, {0x5D, 0xC5}, /* 0xD8-0xDB */ + {0x5F, 0x73}, {0x5F, 0x77}, {0x5F, 0x82}, {0x5F, 0x87}, /* 0xDC-0xDF */ + {0x5F, 0x89}, {0x5F, 0x8C}, {0x5F, 0x95}, {0x5F, 0x99}, /* 0xE0-0xE3 */ + {0x5F, 0x9C}, {0x5F, 0xA8}, {0x5F, 0xAD}, {0x5F, 0xB5}, /* 0xE4-0xE7 */ + {0x5F, 0xBC}, {0x88, 0x62}, {0x5F, 0x61}, {0x72, 0xAD}, /* 0xE8-0xEB */ + {0x72, 0xB0}, {0x72, 0xB4}, {0x72, 0xB7}, {0x72, 0xB8}, /* 0xEC-0xEF */ + {0x72, 0xC3}, {0x72, 0xC1}, {0x72, 0xCE}, {0x72, 0xCD}, /* 0xF0-0xF3 */ + {0x72, 0xD2}, {0x72, 0xE8}, {0x72, 0xEF}, {0x72, 0xE9}, /* 0xF4-0xF7 */ + {0x72, 0xF2}, {0x72, 0xF4}, {0x72, 0xF7}, {0x73, 0x01}, /* 0xF8-0xFB */ + {0x72, 0xF3}, {0x73, 0x03}, {0x72, 0xFA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x91, 0xE6}, {0x91, 0xE7}, {0x91, 0xE8}, {0x91, 0xE9}, /* 0x40-0x43 */ + {0x91, 0xEA}, {0x91, 0xEB}, {0x91, 0xEC}, {0x91, 0xED}, /* 0x44-0x47 */ + {0x91, 0xEE}, {0x91, 0xEF}, {0x91, 0xF0}, {0x91, 0xF1}, /* 0x48-0x4B */ + {0x91, 0xF2}, {0x91, 0xF3}, {0x91, 0xF4}, {0x91, 0xF5}, /* 0x4C-0x4F */ + {0x91, 0xF6}, {0x91, 0xF7}, {0x91, 0xF8}, {0x91, 0xF9}, /* 0x50-0x53 */ + {0x91, 0xFA}, {0x91, 0xFB}, {0x91, 0xFC}, {0x91, 0xFD}, /* 0x54-0x57 */ + {0x91, 0xFE}, {0x91, 0xFF}, {0x92, 0x00}, {0x92, 0x01}, /* 0x58-0x5B */ + {0x92, 0x02}, {0x92, 0x03}, {0x92, 0x04}, {0x92, 0x05}, /* 0x5C-0x5F */ + {0x92, 0x06}, {0x92, 0x07}, {0x92, 0x08}, {0x92, 0x09}, /* 0x60-0x63 */ + {0x92, 0x0A}, {0x92, 0x0B}, {0x92, 0x0C}, {0x92, 0x0D}, /* 0x64-0x67 */ + {0x92, 0x0E}, {0x92, 0x0F}, {0x92, 0x10}, {0x92, 0x11}, /* 0x68-0x6B */ + {0x92, 0x12}, {0x92, 0x13}, {0x92, 0x14}, {0x92, 0x15}, /* 0x6C-0x6F */ + {0x92, 0x16}, {0x92, 0x17}, {0x92, 0x18}, {0x92, 0x19}, /* 0x70-0x73 */ + {0x92, 0x1A}, {0x92, 0x1B}, {0x92, 0x1C}, {0x92, 0x1D}, /* 0x74-0x77 */ + {0x92, 0x1E}, {0x92, 0x1F}, {0x92, 0x20}, {0x92, 0x21}, /* 0x78-0x7B */ + {0x92, 0x22}, {0x92, 0x23}, {0x92, 0x24}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x92, 0x25}, {0x92, 0x26}, {0x92, 0x27}, {0x92, 0x28}, /* 0x80-0x83 */ + {0x92, 0x29}, {0x92, 0x2A}, {0x92, 0x2B}, {0x92, 0x2C}, /* 0x84-0x87 */ + {0x92, 0x2D}, {0x92, 0x2E}, {0x92, 0x2F}, {0x92, 0x30}, /* 0x88-0x8B */ + {0x92, 0x31}, {0x92, 0x32}, {0x92, 0x33}, {0x92, 0x34}, /* 0x8C-0x8F */ + {0x92, 0x35}, {0x92, 0x36}, {0x92, 0x37}, {0x92, 0x38}, /* 0x90-0x93 */ + {0x92, 0x39}, {0x92, 0x3A}, {0x92, 0x3B}, {0x92, 0x3C}, /* 0x94-0x97 */ + {0x92, 0x3D}, {0x92, 0x3E}, {0x92, 0x3F}, {0x92, 0x40}, /* 0x98-0x9B */ + {0x92, 0x41}, {0x92, 0x42}, {0x92, 0x43}, {0x92, 0x44}, /* 0x9C-0x9F */ + {0x92, 0x45}, {0x72, 0xFB}, {0x73, 0x17}, {0x73, 0x13}, /* 0xA0-0xA3 */ + {0x73, 0x21}, {0x73, 0x0A}, {0x73, 0x1E}, {0x73, 0x1D}, /* 0xA4-0xA7 */ + {0x73, 0x15}, {0x73, 0x22}, {0x73, 0x39}, {0x73, 0x25}, /* 0xA8-0xAB */ + {0x73, 0x2C}, {0x73, 0x38}, {0x73, 0x31}, {0x73, 0x50}, /* 0xAC-0xAF */ + {0x73, 0x4D}, {0x73, 0x57}, {0x73, 0x60}, {0x73, 0x6C}, /* 0xB0-0xB3 */ + {0x73, 0x6F}, {0x73, 0x7E}, {0x82, 0x1B}, {0x59, 0x25}, /* 0xB4-0xB7 */ + {0x98, 0xE7}, {0x59, 0x24}, {0x59, 0x02}, {0x99, 0x63}, /* 0xB8-0xBB */ + {0x99, 0x67}, {0x99, 0x68}, {0x99, 0x69}, {0x99, 0x6A}, /* 0xBC-0xBF */ + {0x99, 0x6B}, {0x99, 0x6C}, {0x99, 0x74}, {0x99, 0x77}, /* 0xC0-0xC3 */ + {0x99, 0x7D}, {0x99, 0x80}, {0x99, 0x84}, {0x99, 0x87}, /* 0xC4-0xC7 */ + {0x99, 0x8A}, {0x99, 0x8D}, {0x99, 0x90}, {0x99, 0x91}, /* 0xC8-0xCB */ + {0x99, 0x93}, {0x99, 0x94}, {0x99, 0x95}, {0x5E, 0x80}, /* 0xCC-0xCF */ + {0x5E, 0x91}, {0x5E, 0x8B}, {0x5E, 0x96}, {0x5E, 0xA5}, /* 0xD0-0xD3 */ + {0x5E, 0xA0}, {0x5E, 0xB9}, {0x5E, 0xB5}, {0x5E, 0xBE}, /* 0xD4-0xD7 */ + {0x5E, 0xB3}, {0x8D, 0x53}, {0x5E, 0xD2}, {0x5E, 0xD1}, /* 0xD8-0xDB */ + {0x5E, 0xDB}, {0x5E, 0xE8}, {0x5E, 0xEA}, {0x81, 0xBA}, /* 0xDC-0xDF */ + {0x5F, 0xC4}, {0x5F, 0xC9}, {0x5F, 0xD6}, {0x5F, 0xCF}, /* 0xE0-0xE3 */ + {0x60, 0x03}, {0x5F, 0xEE}, {0x60, 0x04}, {0x5F, 0xE1}, /* 0xE4-0xE7 */ + {0x5F, 0xE4}, {0x5F, 0xFE}, {0x60, 0x05}, {0x60, 0x06}, /* 0xE8-0xEB */ + {0x5F, 0xEA}, {0x5F, 0xED}, {0x5F, 0xF8}, {0x60, 0x19}, /* 0xEC-0xEF */ + {0x60, 0x35}, {0x60, 0x26}, {0x60, 0x1B}, {0x60, 0x0F}, /* 0xF0-0xF3 */ + {0x60, 0x0D}, {0x60, 0x29}, {0x60, 0x2B}, {0x60, 0x0A}, /* 0xF4-0xF7 */ + {0x60, 0x3F}, {0x60, 0x21}, {0x60, 0x78}, {0x60, 0x79}, /* 0xF8-0xFB */ + {0x60, 0x7B}, {0x60, 0x7A}, {0x60, 0x42}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x92, 0x46}, {0x92, 0x47}, {0x92, 0x48}, {0x92, 0x49}, /* 0x40-0x43 */ + {0x92, 0x4A}, {0x92, 0x4B}, {0x92, 0x4C}, {0x92, 0x4D}, /* 0x44-0x47 */ + {0x92, 0x4E}, {0x92, 0x4F}, {0x92, 0x50}, {0x92, 0x51}, /* 0x48-0x4B */ + {0x92, 0x52}, {0x92, 0x53}, {0x92, 0x54}, {0x92, 0x55}, /* 0x4C-0x4F */ + {0x92, 0x56}, {0x92, 0x57}, {0x92, 0x58}, {0x92, 0x59}, /* 0x50-0x53 */ + {0x92, 0x5A}, {0x92, 0x5B}, {0x92, 0x5C}, {0x92, 0x5D}, /* 0x54-0x57 */ + {0x92, 0x5E}, {0x92, 0x5F}, {0x92, 0x60}, {0x92, 0x61}, /* 0x58-0x5B */ + {0x92, 0x62}, {0x92, 0x63}, {0x92, 0x64}, {0x92, 0x65}, /* 0x5C-0x5F */ + {0x92, 0x66}, {0x92, 0x67}, {0x92, 0x68}, {0x92, 0x69}, /* 0x60-0x63 */ + {0x92, 0x6A}, {0x92, 0x6B}, {0x92, 0x6C}, {0x92, 0x6D}, /* 0x64-0x67 */ + {0x92, 0x6E}, {0x92, 0x6F}, {0x92, 0x70}, {0x92, 0x71}, /* 0x68-0x6B */ + {0x92, 0x72}, {0x92, 0x73}, {0x92, 0x75}, {0x92, 0x76}, /* 0x6C-0x6F */ + {0x92, 0x77}, {0x92, 0x78}, {0x92, 0x79}, {0x92, 0x7A}, /* 0x70-0x73 */ + {0x92, 0x7B}, {0x92, 0x7C}, {0x92, 0x7D}, {0x92, 0x7E}, /* 0x74-0x77 */ + {0x92, 0x7F}, {0x92, 0x80}, {0x92, 0x81}, {0x92, 0x82}, /* 0x78-0x7B */ + {0x92, 0x83}, {0x92, 0x84}, {0x92, 0x85}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x92, 0x86}, {0x92, 0x87}, {0x92, 0x88}, {0x92, 0x89}, /* 0x80-0x83 */ + {0x92, 0x8A}, {0x92, 0x8B}, {0x92, 0x8C}, {0x92, 0x8D}, /* 0x84-0x87 */ + {0x92, 0x8F}, {0x92, 0x90}, {0x92, 0x91}, {0x92, 0x92}, /* 0x88-0x8B */ + {0x92, 0x93}, {0x92, 0x94}, {0x92, 0x95}, {0x92, 0x96}, /* 0x8C-0x8F */ + {0x92, 0x97}, {0x92, 0x98}, {0x92, 0x99}, {0x92, 0x9A}, /* 0x90-0x93 */ + {0x92, 0x9B}, {0x92, 0x9C}, {0x92, 0x9D}, {0x92, 0x9E}, /* 0x94-0x97 */ + {0x92, 0x9F}, {0x92, 0xA0}, {0x92, 0xA1}, {0x92, 0xA2}, /* 0x98-0x9B */ + {0x92, 0xA3}, {0x92, 0xA4}, {0x92, 0xA5}, {0x92, 0xA6}, /* 0x9C-0x9F */ + {0x92, 0xA7}, {0x60, 0x6A}, {0x60, 0x7D}, {0x60, 0x96}, /* 0xA0-0xA3 */ + {0x60, 0x9A}, {0x60, 0xAD}, {0x60, 0x9D}, {0x60, 0x83}, /* 0xA4-0xA7 */ + {0x60, 0x92}, {0x60, 0x8C}, {0x60, 0x9B}, {0x60, 0xEC}, /* 0xA8-0xAB */ + {0x60, 0xBB}, {0x60, 0xB1}, {0x60, 0xDD}, {0x60, 0xD8}, /* 0xAC-0xAF */ + {0x60, 0xC6}, {0x60, 0xDA}, {0x60, 0xB4}, {0x61, 0x20}, /* 0xB0-0xB3 */ + {0x61, 0x26}, {0x61, 0x15}, {0x61, 0x23}, {0x60, 0xF4}, /* 0xB4-0xB7 */ + {0x61, 0x00}, {0x61, 0x0E}, {0x61, 0x2B}, {0x61, 0x4A}, /* 0xB8-0xBB */ + {0x61, 0x75}, {0x61, 0xAC}, {0x61, 0x94}, {0x61, 0xA7}, /* 0xBC-0xBF */ + {0x61, 0xB7}, {0x61, 0xD4}, {0x61, 0xF5}, {0x5F, 0xDD}, /* 0xC0-0xC3 */ + {0x96, 0xB3}, {0x95, 0xE9}, {0x95, 0xEB}, {0x95, 0xF1}, /* 0xC4-0xC7 */ + {0x95, 0xF3}, {0x95, 0xF5}, {0x95, 0xF6}, {0x95, 0xFC}, /* 0xC8-0xCB */ + {0x95, 0xFE}, {0x96, 0x03}, {0x96, 0x04}, {0x96, 0x06}, /* 0xCC-0xCF */ + {0x96, 0x08}, {0x96, 0x0A}, {0x96, 0x0B}, {0x96, 0x0C}, /* 0xD0-0xD3 */ + {0x96, 0x0D}, {0x96, 0x0F}, {0x96, 0x12}, {0x96, 0x15}, /* 0xD4-0xD7 */ + {0x96, 0x16}, {0x96, 0x17}, {0x96, 0x19}, {0x96, 0x1A}, /* 0xD8-0xDB */ + {0x4E, 0x2C}, {0x72, 0x3F}, {0x62, 0x15}, {0x6C, 0x35}, /* 0xDC-0xDF */ + {0x6C, 0x54}, {0x6C, 0x5C}, {0x6C, 0x4A}, {0x6C, 0xA3}, /* 0xE0-0xE3 */ + {0x6C, 0x85}, {0x6C, 0x90}, {0x6C, 0x94}, {0x6C, 0x8C}, /* 0xE4-0xE7 */ + {0x6C, 0x68}, {0x6C, 0x69}, {0x6C, 0x74}, {0x6C, 0x76}, /* 0xE8-0xEB */ + {0x6C, 0x86}, {0x6C, 0xA9}, {0x6C, 0xD0}, {0x6C, 0xD4}, /* 0xEC-0xEF */ + {0x6C, 0xAD}, {0x6C, 0xF7}, {0x6C, 0xF8}, {0x6C, 0xF1}, /* 0xF0-0xF3 */ + {0x6C, 0xD7}, {0x6C, 0xB2}, {0x6C, 0xE0}, {0x6C, 0xD6}, /* 0xF4-0xF7 */ + {0x6C, 0xFA}, {0x6C, 0xEB}, {0x6C, 0xEE}, {0x6C, 0xB1}, /* 0xF8-0xFB */ + {0x6C, 0xD3}, {0x6C, 0xEF}, {0x6C, 0xFE}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x92, 0xA8}, {0x92, 0xA9}, {0x92, 0xAA}, {0x92, 0xAB}, /* 0x40-0x43 */ + {0x92, 0xAC}, {0x92, 0xAD}, {0x92, 0xAF}, {0x92, 0xB0}, /* 0x44-0x47 */ + {0x92, 0xB1}, {0x92, 0xB2}, {0x92, 0xB3}, {0x92, 0xB4}, /* 0x48-0x4B */ + {0x92, 0xB5}, {0x92, 0xB6}, {0x92, 0xB7}, {0x92, 0xB8}, /* 0x4C-0x4F */ + {0x92, 0xB9}, {0x92, 0xBA}, {0x92, 0xBB}, {0x92, 0xBC}, /* 0x50-0x53 */ + {0x92, 0xBD}, {0x92, 0xBE}, {0x92, 0xBF}, {0x92, 0xC0}, /* 0x54-0x57 */ + {0x92, 0xC1}, {0x92, 0xC2}, {0x92, 0xC3}, {0x92, 0xC4}, /* 0x58-0x5B */ + {0x92, 0xC5}, {0x92, 0xC6}, {0x92, 0xC7}, {0x92, 0xC9}, /* 0x5C-0x5F */ + {0x92, 0xCA}, {0x92, 0xCB}, {0x92, 0xCC}, {0x92, 0xCD}, /* 0x60-0x63 */ + {0x92, 0xCE}, {0x92, 0xCF}, {0x92, 0xD0}, {0x92, 0xD1}, /* 0x64-0x67 */ + {0x92, 0xD2}, {0x92, 0xD3}, {0x92, 0xD4}, {0x92, 0xD5}, /* 0x68-0x6B */ + {0x92, 0xD6}, {0x92, 0xD7}, {0x92, 0xD8}, {0x92, 0xD9}, /* 0x6C-0x6F */ + {0x92, 0xDA}, {0x92, 0xDB}, {0x92, 0xDC}, {0x92, 0xDD}, /* 0x70-0x73 */ + {0x92, 0xDE}, {0x92, 0xDF}, {0x92, 0xE0}, {0x92, 0xE1}, /* 0x74-0x77 */ + {0x92, 0xE2}, {0x92, 0xE3}, {0x92, 0xE4}, {0x92, 0xE5}, /* 0x78-0x7B */ + {0x92, 0xE6}, {0x92, 0xE7}, {0x92, 0xE8}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x92, 0xE9}, {0x92, 0xEA}, {0x92, 0xEB}, {0x92, 0xEC}, /* 0x80-0x83 */ + {0x92, 0xED}, {0x92, 0xEE}, {0x92, 0xEF}, {0x92, 0xF0}, /* 0x84-0x87 */ + {0x92, 0xF1}, {0x92, 0xF2}, {0x92, 0xF3}, {0x92, 0xF4}, /* 0x88-0x8B */ + {0x92, 0xF5}, {0x92, 0xF6}, {0x92, 0xF7}, {0x92, 0xF8}, /* 0x8C-0x8F */ + {0x92, 0xF9}, {0x92, 0xFA}, {0x92, 0xFB}, {0x92, 0xFC}, /* 0x90-0x93 */ + {0x92, 0xFD}, {0x92, 0xFE}, {0x92, 0xFF}, {0x93, 0x00}, /* 0x94-0x97 */ + {0x93, 0x01}, {0x93, 0x02}, {0x93, 0x03}, {0x93, 0x04}, /* 0x98-0x9B */ + {0x93, 0x05}, {0x93, 0x06}, {0x93, 0x07}, {0x93, 0x08}, /* 0x9C-0x9F */ + {0x93, 0x09}, {0x6D, 0x39}, {0x6D, 0x27}, {0x6D, 0x0C}, /* 0xA0-0xA3 */ + {0x6D, 0x43}, {0x6D, 0x48}, {0x6D, 0x07}, {0x6D, 0x04}, /* 0xA4-0xA7 */ + {0x6D, 0x19}, {0x6D, 0x0E}, {0x6D, 0x2B}, {0x6D, 0x4D}, /* 0xA8-0xAB */ + {0x6D, 0x2E}, {0x6D, 0x35}, {0x6D, 0x1A}, {0x6D, 0x4F}, /* 0xAC-0xAF */ + {0x6D, 0x52}, {0x6D, 0x54}, {0x6D, 0x33}, {0x6D, 0x91}, /* 0xB0-0xB3 */ + {0x6D, 0x6F}, {0x6D, 0x9E}, {0x6D, 0xA0}, {0x6D, 0x5E}, /* 0xB4-0xB7 */ + {0x6D, 0x93}, {0x6D, 0x94}, {0x6D, 0x5C}, {0x6D, 0x60}, /* 0xB8-0xBB */ + {0x6D, 0x7C}, {0x6D, 0x63}, {0x6E, 0x1A}, {0x6D, 0xC7}, /* 0xBC-0xBF */ + {0x6D, 0xC5}, {0x6D, 0xDE}, {0x6E, 0x0E}, {0x6D, 0xBF}, /* 0xC0-0xC3 */ + {0x6D, 0xE0}, {0x6E, 0x11}, {0x6D, 0xE6}, {0x6D, 0xDD}, /* 0xC4-0xC7 */ + {0x6D, 0xD9}, {0x6E, 0x16}, {0x6D, 0xAB}, {0x6E, 0x0C}, /* 0xC8-0xCB */ + {0x6D, 0xAE}, {0x6E, 0x2B}, {0x6E, 0x6E}, {0x6E, 0x4E}, /* 0xCC-0xCF */ + {0x6E, 0x6B}, {0x6E, 0xB2}, {0x6E, 0x5F}, {0x6E, 0x86}, /* 0xD0-0xD3 */ + {0x6E, 0x53}, {0x6E, 0x54}, {0x6E, 0x32}, {0x6E, 0x25}, /* 0xD4-0xD7 */ + {0x6E, 0x44}, {0x6E, 0xDF}, {0x6E, 0xB1}, {0x6E, 0x98}, /* 0xD8-0xDB */ + {0x6E, 0xE0}, {0x6F, 0x2D}, {0x6E, 0xE2}, {0x6E, 0xA5}, /* 0xDC-0xDF */ + {0x6E, 0xA7}, {0x6E, 0xBD}, {0x6E, 0xBB}, {0x6E, 0xB7}, /* 0xE0-0xE3 */ + {0x6E, 0xD7}, {0x6E, 0xB4}, {0x6E, 0xCF}, {0x6E, 0x8F}, /* 0xE4-0xE7 */ + {0x6E, 0xC2}, {0x6E, 0x9F}, {0x6F, 0x62}, {0x6F, 0x46}, /* 0xE8-0xEB */ + {0x6F, 0x47}, {0x6F, 0x24}, {0x6F, 0x15}, {0x6E, 0xF9}, /* 0xEC-0xEF */ + {0x6F, 0x2F}, {0x6F, 0x36}, {0x6F, 0x4B}, {0x6F, 0x74}, /* 0xF0-0xF3 */ + {0x6F, 0x2A}, {0x6F, 0x09}, {0x6F, 0x29}, {0x6F, 0x89}, /* 0xF4-0xF7 */ + {0x6F, 0x8D}, {0x6F, 0x8C}, {0x6F, 0x78}, {0x6F, 0x72}, /* 0xF8-0xFB */ + {0x6F, 0x7C}, {0x6F, 0x7A}, {0x6F, 0xD1}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x93, 0x0A}, {0x93, 0x0B}, {0x93, 0x0C}, {0x93, 0x0D}, /* 0x40-0x43 */ + {0x93, 0x0E}, {0x93, 0x0F}, {0x93, 0x10}, {0x93, 0x11}, /* 0x44-0x47 */ + {0x93, 0x12}, {0x93, 0x13}, {0x93, 0x14}, {0x93, 0x15}, /* 0x48-0x4B */ + {0x93, 0x16}, {0x93, 0x17}, {0x93, 0x18}, {0x93, 0x19}, /* 0x4C-0x4F */ + {0x93, 0x1A}, {0x93, 0x1B}, {0x93, 0x1C}, {0x93, 0x1D}, /* 0x50-0x53 */ + {0x93, 0x1E}, {0x93, 0x1F}, {0x93, 0x20}, {0x93, 0x21}, /* 0x54-0x57 */ + {0x93, 0x22}, {0x93, 0x23}, {0x93, 0x24}, {0x93, 0x25}, /* 0x58-0x5B */ + {0x93, 0x26}, {0x93, 0x27}, {0x93, 0x28}, {0x93, 0x29}, /* 0x5C-0x5F */ + {0x93, 0x2A}, {0x93, 0x2B}, {0x93, 0x2C}, {0x93, 0x2D}, /* 0x60-0x63 */ + {0x93, 0x2E}, {0x93, 0x2F}, {0x93, 0x30}, {0x93, 0x31}, /* 0x64-0x67 */ + {0x93, 0x32}, {0x93, 0x33}, {0x93, 0x34}, {0x93, 0x35}, /* 0x68-0x6B */ + {0x93, 0x36}, {0x93, 0x37}, {0x93, 0x38}, {0x93, 0x39}, /* 0x6C-0x6F */ + {0x93, 0x3A}, {0x93, 0x3B}, {0x93, 0x3C}, {0x93, 0x3D}, /* 0x70-0x73 */ + {0x93, 0x3F}, {0x93, 0x40}, {0x93, 0x41}, {0x93, 0x42}, /* 0x74-0x77 */ + {0x93, 0x43}, {0x93, 0x44}, {0x93, 0x45}, {0x93, 0x46}, /* 0x78-0x7B */ + {0x93, 0x47}, {0x93, 0x48}, {0x93, 0x49}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x93, 0x4A}, {0x93, 0x4B}, {0x93, 0x4C}, {0x93, 0x4D}, /* 0x80-0x83 */ + {0x93, 0x4E}, {0x93, 0x4F}, {0x93, 0x50}, {0x93, 0x51}, /* 0x84-0x87 */ + {0x93, 0x52}, {0x93, 0x53}, {0x93, 0x54}, {0x93, 0x55}, /* 0x88-0x8B */ + {0x93, 0x56}, {0x93, 0x57}, {0x93, 0x58}, {0x93, 0x59}, /* 0x8C-0x8F */ + {0x93, 0x5A}, {0x93, 0x5B}, {0x93, 0x5C}, {0x93, 0x5D}, /* 0x90-0x93 */ + {0x93, 0x5E}, {0x93, 0x5F}, {0x93, 0x60}, {0x93, 0x61}, /* 0x94-0x97 */ + {0x93, 0x62}, {0x93, 0x63}, {0x93, 0x64}, {0x93, 0x65}, /* 0x98-0x9B */ + {0x93, 0x66}, {0x93, 0x67}, {0x93, 0x68}, {0x93, 0x69}, /* 0x9C-0x9F */ + {0x93, 0x6B}, {0x6F, 0xC9}, {0x6F, 0xA7}, {0x6F, 0xB9}, /* 0xA0-0xA3 */ + {0x6F, 0xB6}, {0x6F, 0xC2}, {0x6F, 0xE1}, {0x6F, 0xEE}, /* 0xA4-0xA7 */ + {0x6F, 0xDE}, {0x6F, 0xE0}, {0x6F, 0xEF}, {0x70, 0x1A}, /* 0xA8-0xAB */ + {0x70, 0x23}, {0x70, 0x1B}, {0x70, 0x39}, {0x70, 0x35}, /* 0xAC-0xAF */ + {0x70, 0x4F}, {0x70, 0x5E}, {0x5B, 0x80}, {0x5B, 0x84}, /* 0xB0-0xB3 */ + {0x5B, 0x95}, {0x5B, 0x93}, {0x5B, 0xA5}, {0x5B, 0xB8}, /* 0xB4-0xB7 */ + {0x75, 0x2F}, {0x9A, 0x9E}, {0x64, 0x34}, {0x5B, 0xE4}, /* 0xB8-0xBB */ + {0x5B, 0xEE}, {0x89, 0x30}, {0x5B, 0xF0}, {0x8E, 0x47}, /* 0xBC-0xBF */ + {0x8B, 0x07}, {0x8F, 0xB6}, {0x8F, 0xD3}, {0x8F, 0xD5}, /* 0xC0-0xC3 */ + {0x8F, 0xE5}, {0x8F, 0xEE}, {0x8F, 0xE4}, {0x8F, 0xE9}, /* 0xC4-0xC7 */ + {0x8F, 0xE6}, {0x8F, 0xF3}, {0x8F, 0xE8}, {0x90, 0x05}, /* 0xC8-0xCB */ + {0x90, 0x04}, {0x90, 0x0B}, {0x90, 0x26}, {0x90, 0x11}, /* 0xCC-0xCF */ + {0x90, 0x0D}, {0x90, 0x16}, {0x90, 0x21}, {0x90, 0x35}, /* 0xD0-0xD3 */ + {0x90, 0x36}, {0x90, 0x2D}, {0x90, 0x2F}, {0x90, 0x44}, /* 0xD4-0xD7 */ + {0x90, 0x51}, {0x90, 0x52}, {0x90, 0x50}, {0x90, 0x68}, /* 0xD8-0xDB */ + {0x90, 0x58}, {0x90, 0x62}, {0x90, 0x5B}, {0x66, 0xB9}, /* 0xDC-0xDF */ + {0x90, 0x74}, {0x90, 0x7D}, {0x90, 0x82}, {0x90, 0x88}, /* 0xE0-0xE3 */ + {0x90, 0x83}, {0x90, 0x8B}, {0x5F, 0x50}, {0x5F, 0x57}, /* 0xE4-0xE7 */ + {0x5F, 0x56}, {0x5F, 0x58}, {0x5C, 0x3B}, {0x54, 0xAB}, /* 0xE8-0xEB */ + {0x5C, 0x50}, {0x5C, 0x59}, {0x5B, 0x71}, {0x5C, 0x63}, /* 0xEC-0xEF */ + {0x5C, 0x66}, {0x7F, 0xBC}, {0x5F, 0x2A}, {0x5F, 0x29}, /* 0xF0-0xF3 */ + {0x5F, 0x2D}, {0x82, 0x74}, {0x5F, 0x3C}, {0x9B, 0x3B}, /* 0xF4-0xF7 */ + {0x5C, 0x6E}, {0x59, 0x81}, {0x59, 0x83}, {0x59, 0x8D}, /* 0xF8-0xFB */ + {0x59, 0xA9}, {0x59, 0xAA}, {0x59, 0xA3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x93, 0x6C}, {0x93, 0x6D}, {0x93, 0x6E}, {0x93, 0x6F}, /* 0x40-0x43 */ + {0x93, 0x70}, {0x93, 0x71}, {0x93, 0x72}, {0x93, 0x73}, /* 0x44-0x47 */ + {0x93, 0x74}, {0x93, 0x75}, {0x93, 0x76}, {0x93, 0x77}, /* 0x48-0x4B */ + {0x93, 0x78}, {0x93, 0x79}, {0x93, 0x7A}, {0x93, 0x7B}, /* 0x4C-0x4F */ + {0x93, 0x7C}, {0x93, 0x7D}, {0x93, 0x7E}, {0x93, 0x7F}, /* 0x50-0x53 */ + {0x93, 0x80}, {0x93, 0x81}, {0x93, 0x82}, {0x93, 0x83}, /* 0x54-0x57 */ + {0x93, 0x84}, {0x93, 0x85}, {0x93, 0x86}, {0x93, 0x87}, /* 0x58-0x5B */ + {0x93, 0x88}, {0x93, 0x89}, {0x93, 0x8A}, {0x93, 0x8B}, /* 0x5C-0x5F */ + {0x93, 0x8C}, {0x93, 0x8D}, {0x93, 0x8E}, {0x93, 0x90}, /* 0x60-0x63 */ + {0x93, 0x91}, {0x93, 0x92}, {0x93, 0x93}, {0x93, 0x94}, /* 0x64-0x67 */ + {0x93, 0x95}, {0x93, 0x96}, {0x93, 0x97}, {0x93, 0x98}, /* 0x68-0x6B */ + {0x93, 0x99}, {0x93, 0x9A}, {0x93, 0x9B}, {0x93, 0x9C}, /* 0x6C-0x6F */ + {0x93, 0x9D}, {0x93, 0x9E}, {0x93, 0x9F}, {0x93, 0xA0}, /* 0x70-0x73 */ + {0x93, 0xA1}, {0x93, 0xA2}, {0x93, 0xA3}, {0x93, 0xA4}, /* 0x74-0x77 */ + {0x93, 0xA5}, {0x93, 0xA6}, {0x93, 0xA7}, {0x93, 0xA8}, /* 0x78-0x7B */ + {0x93, 0xA9}, {0x93, 0xAA}, {0x93, 0xAB}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x93, 0xAC}, {0x93, 0xAD}, {0x93, 0xAE}, {0x93, 0xAF}, /* 0x80-0x83 */ + {0x93, 0xB0}, {0x93, 0xB1}, {0x93, 0xB2}, {0x93, 0xB3}, /* 0x84-0x87 */ + {0x93, 0xB4}, {0x93, 0xB5}, {0x93, 0xB6}, {0x93, 0xB7}, /* 0x88-0x8B */ + {0x93, 0xB8}, {0x93, 0xB9}, {0x93, 0xBA}, {0x93, 0xBB}, /* 0x8C-0x8F */ + {0x93, 0xBC}, {0x93, 0xBD}, {0x93, 0xBE}, {0x93, 0xBF}, /* 0x90-0x93 */ + {0x93, 0xC0}, {0x93, 0xC1}, {0x93, 0xC2}, {0x93, 0xC3}, /* 0x94-0x97 */ + {0x93, 0xC4}, {0x93, 0xC5}, {0x93, 0xC6}, {0x93, 0xC7}, /* 0x98-0x9B */ + {0x93, 0xC8}, {0x93, 0xC9}, {0x93, 0xCB}, {0x93, 0xCC}, /* 0x9C-0x9F */ + {0x93, 0xCD}, {0x59, 0x97}, {0x59, 0xCA}, {0x59, 0xAB}, /* 0xA0-0xA3 */ + {0x59, 0x9E}, {0x59, 0xA4}, {0x59, 0xD2}, {0x59, 0xB2}, /* 0xA4-0xA7 */ + {0x59, 0xAF}, {0x59, 0xD7}, {0x59, 0xBE}, {0x5A, 0x05}, /* 0xA8-0xAB */ + {0x5A, 0x06}, {0x59, 0xDD}, {0x5A, 0x08}, {0x59, 0xE3}, /* 0xAC-0xAF */ + {0x59, 0xD8}, {0x59, 0xF9}, {0x5A, 0x0C}, {0x5A, 0x09}, /* 0xB0-0xB3 */ + {0x5A, 0x32}, {0x5A, 0x34}, {0x5A, 0x11}, {0x5A, 0x23}, /* 0xB4-0xB7 */ + {0x5A, 0x13}, {0x5A, 0x40}, {0x5A, 0x67}, {0x5A, 0x4A}, /* 0xB8-0xBB */ + {0x5A, 0x55}, {0x5A, 0x3C}, {0x5A, 0x62}, {0x5A, 0x75}, /* 0xBC-0xBF */ + {0x80, 0xEC}, {0x5A, 0xAA}, {0x5A, 0x9B}, {0x5A, 0x77}, /* 0xC0-0xC3 */ + {0x5A, 0x7A}, {0x5A, 0xBE}, {0x5A, 0xEB}, {0x5A, 0xB2}, /* 0xC4-0xC7 */ + {0x5A, 0xD2}, {0x5A, 0xD4}, {0x5A, 0xB8}, {0x5A, 0xE0}, /* 0xC8-0xCB */ + {0x5A, 0xE3}, {0x5A, 0xF1}, {0x5A, 0xD6}, {0x5A, 0xE6}, /* 0xCC-0xCF */ + {0x5A, 0xD8}, {0x5A, 0xDC}, {0x5B, 0x09}, {0x5B, 0x17}, /* 0xD0-0xD3 */ + {0x5B, 0x16}, {0x5B, 0x32}, {0x5B, 0x37}, {0x5B, 0x40}, /* 0xD4-0xD7 */ + {0x5C, 0x15}, {0x5C, 0x1C}, {0x5B, 0x5A}, {0x5B, 0x65}, /* 0xD8-0xDB */ + {0x5B, 0x73}, {0x5B, 0x51}, {0x5B, 0x53}, {0x5B, 0x62}, /* 0xDC-0xDF */ + {0x9A, 0x75}, {0x9A, 0x77}, {0x9A, 0x78}, {0x9A, 0x7A}, /* 0xE0-0xE3 */ + {0x9A, 0x7F}, {0x9A, 0x7D}, {0x9A, 0x80}, {0x9A, 0x81}, /* 0xE4-0xE7 */ + {0x9A, 0x85}, {0x9A, 0x88}, {0x9A, 0x8A}, {0x9A, 0x90}, /* 0xE8-0xEB */ + {0x9A, 0x92}, {0x9A, 0x93}, {0x9A, 0x96}, {0x9A, 0x98}, /* 0xEC-0xEF */ + {0x9A, 0x9B}, {0x9A, 0x9C}, {0x9A, 0x9D}, {0x9A, 0x9F}, /* 0xF0-0xF3 */ + {0x9A, 0xA0}, {0x9A, 0xA2}, {0x9A, 0xA3}, {0x9A, 0xA5}, /* 0xF4-0xF7 */ + {0x9A, 0xA7}, {0x7E, 0x9F}, {0x7E, 0xA1}, {0x7E, 0xA3}, /* 0xF8-0xFB */ + {0x7E, 0xA5}, {0x7E, 0xA8}, {0x7E, 0xA9}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x93, 0xCE}, {0x93, 0xCF}, {0x93, 0xD0}, {0x93, 0xD1}, /* 0x40-0x43 */ + {0x93, 0xD2}, {0x93, 0xD3}, {0x93, 0xD4}, {0x93, 0xD5}, /* 0x44-0x47 */ + {0x93, 0xD7}, {0x93, 0xD8}, {0x93, 0xD9}, {0x93, 0xDA}, /* 0x48-0x4B */ + {0x93, 0xDB}, {0x93, 0xDC}, {0x93, 0xDD}, {0x93, 0xDE}, /* 0x4C-0x4F */ + {0x93, 0xDF}, {0x93, 0xE0}, {0x93, 0xE1}, {0x93, 0xE2}, /* 0x50-0x53 */ + {0x93, 0xE3}, {0x93, 0xE4}, {0x93, 0xE5}, {0x93, 0xE6}, /* 0x54-0x57 */ + {0x93, 0xE7}, {0x93, 0xE8}, {0x93, 0xE9}, {0x93, 0xEA}, /* 0x58-0x5B */ + {0x93, 0xEB}, {0x93, 0xEC}, {0x93, 0xED}, {0x93, 0xEE}, /* 0x5C-0x5F */ + {0x93, 0xEF}, {0x93, 0xF0}, {0x93, 0xF1}, {0x93, 0xF2}, /* 0x60-0x63 */ + {0x93, 0xF3}, {0x93, 0xF4}, {0x93, 0xF5}, {0x93, 0xF6}, /* 0x64-0x67 */ + {0x93, 0xF7}, {0x93, 0xF8}, {0x93, 0xF9}, {0x93, 0xFA}, /* 0x68-0x6B */ + {0x93, 0xFB}, {0x93, 0xFC}, {0x93, 0xFD}, {0x93, 0xFE}, /* 0x6C-0x6F */ + {0x93, 0xFF}, {0x94, 0x00}, {0x94, 0x01}, {0x94, 0x02}, /* 0x70-0x73 */ + {0x94, 0x03}, {0x94, 0x04}, {0x94, 0x05}, {0x94, 0x06}, /* 0x74-0x77 */ + {0x94, 0x07}, {0x94, 0x08}, {0x94, 0x09}, {0x94, 0x0A}, /* 0x78-0x7B */ + {0x94, 0x0B}, {0x94, 0x0C}, {0x94, 0x0D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x94, 0x0E}, {0x94, 0x0F}, {0x94, 0x10}, {0x94, 0x11}, /* 0x80-0x83 */ + {0x94, 0x12}, {0x94, 0x13}, {0x94, 0x14}, {0x94, 0x15}, /* 0x84-0x87 */ + {0x94, 0x16}, {0x94, 0x17}, {0x94, 0x18}, {0x94, 0x19}, /* 0x88-0x8B */ + {0x94, 0x1A}, {0x94, 0x1B}, {0x94, 0x1C}, {0x94, 0x1D}, /* 0x8C-0x8F */ + {0x94, 0x1E}, {0x94, 0x1F}, {0x94, 0x20}, {0x94, 0x21}, /* 0x90-0x93 */ + {0x94, 0x22}, {0x94, 0x23}, {0x94, 0x24}, {0x94, 0x25}, /* 0x94-0x97 */ + {0x94, 0x26}, {0x94, 0x27}, {0x94, 0x28}, {0x94, 0x29}, /* 0x98-0x9B */ + {0x94, 0x2A}, {0x94, 0x2B}, {0x94, 0x2C}, {0x94, 0x2D}, /* 0x9C-0x9F */ + {0x94, 0x2E}, {0x7E, 0xAD}, {0x7E, 0xB0}, {0x7E, 0xBE}, /* 0xA0-0xA3 */ + {0x7E, 0xC0}, {0x7E, 0xC1}, {0x7E, 0xC2}, {0x7E, 0xC9}, /* 0xA4-0xA7 */ + {0x7E, 0xCB}, {0x7E, 0xCC}, {0x7E, 0xD0}, {0x7E, 0xD4}, /* 0xA8-0xAB */ + {0x7E, 0xD7}, {0x7E, 0xDB}, {0x7E, 0xE0}, {0x7E, 0xE1}, /* 0xAC-0xAF */ + {0x7E, 0xE8}, {0x7E, 0xEB}, {0x7E, 0xEE}, {0x7E, 0xEF}, /* 0xB0-0xB3 */ + {0x7E, 0xF1}, {0x7E, 0xF2}, {0x7F, 0x0D}, {0x7E, 0xF6}, /* 0xB4-0xB7 */ + {0x7E, 0xFA}, {0x7E, 0xFB}, {0x7E, 0xFE}, {0x7F, 0x01}, /* 0xB8-0xBB */ + {0x7F, 0x02}, {0x7F, 0x03}, {0x7F, 0x07}, {0x7F, 0x08}, /* 0xBC-0xBF */ + {0x7F, 0x0B}, {0x7F, 0x0C}, {0x7F, 0x0F}, {0x7F, 0x11}, /* 0xC0-0xC3 */ + {0x7F, 0x12}, {0x7F, 0x17}, {0x7F, 0x19}, {0x7F, 0x1C}, /* 0xC4-0xC7 */ + {0x7F, 0x1B}, {0x7F, 0x1F}, {0x7F, 0x21}, {0x7F, 0x22}, /* 0xC8-0xCB */ + {0x7F, 0x23}, {0x7F, 0x24}, {0x7F, 0x25}, {0x7F, 0x26}, /* 0xCC-0xCF */ + {0x7F, 0x27}, {0x7F, 0x2A}, {0x7F, 0x2B}, {0x7F, 0x2C}, /* 0xD0-0xD3 */ + {0x7F, 0x2D}, {0x7F, 0x2F}, {0x7F, 0x30}, {0x7F, 0x31}, /* 0xD4-0xD7 */ + {0x7F, 0x32}, {0x7F, 0x33}, {0x7F, 0x35}, {0x5E, 0x7A}, /* 0xD8-0xDB */ + {0x75, 0x7F}, {0x5D, 0xDB}, {0x75, 0x3E}, {0x90, 0x95}, /* 0xDC-0xDF */ + {0x73, 0x8E}, {0x73, 0x91}, {0x73, 0xAE}, {0x73, 0xA2}, /* 0xE0-0xE3 */ + {0x73, 0x9F}, {0x73, 0xCF}, {0x73, 0xC2}, {0x73, 0xD1}, /* 0xE4-0xE7 */ + {0x73, 0xB7}, {0x73, 0xB3}, {0x73, 0xC0}, {0x73, 0xC9}, /* 0xE8-0xEB */ + {0x73, 0xC8}, {0x73, 0xE5}, {0x73, 0xD9}, {0x98, 0x7C}, /* 0xEC-0xEF */ + {0x74, 0x0A}, {0x73, 0xE9}, {0x73, 0xE7}, {0x73, 0xDE}, /* 0xF0-0xF3 */ + {0x73, 0xBA}, {0x73, 0xF2}, {0x74, 0x0F}, {0x74, 0x2A}, /* 0xF4-0xF7 */ + {0x74, 0x5B}, {0x74, 0x26}, {0x74, 0x25}, {0x74, 0x28}, /* 0xF8-0xFB */ + {0x74, 0x30}, {0x74, 0x2E}, {0x74, 0x2C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x94, 0x2F}, {0x94, 0x30}, {0x94, 0x31}, {0x94, 0x32}, /* 0x40-0x43 */ + {0x94, 0x33}, {0x94, 0x34}, {0x94, 0x35}, {0x94, 0x36}, /* 0x44-0x47 */ + {0x94, 0x37}, {0x94, 0x38}, {0x94, 0x39}, {0x94, 0x3A}, /* 0x48-0x4B */ + {0x94, 0x3B}, {0x94, 0x3C}, {0x94, 0x3D}, {0x94, 0x3F}, /* 0x4C-0x4F */ + {0x94, 0x40}, {0x94, 0x41}, {0x94, 0x42}, {0x94, 0x43}, /* 0x50-0x53 */ + {0x94, 0x44}, {0x94, 0x45}, {0x94, 0x46}, {0x94, 0x47}, /* 0x54-0x57 */ + {0x94, 0x48}, {0x94, 0x49}, {0x94, 0x4A}, {0x94, 0x4B}, /* 0x58-0x5B */ + {0x94, 0x4C}, {0x94, 0x4D}, {0x94, 0x4E}, {0x94, 0x4F}, /* 0x5C-0x5F */ + {0x94, 0x50}, {0x94, 0x51}, {0x94, 0x52}, {0x94, 0x53}, /* 0x60-0x63 */ + {0x94, 0x54}, {0x94, 0x55}, {0x94, 0x56}, {0x94, 0x57}, /* 0x64-0x67 */ + {0x94, 0x58}, {0x94, 0x59}, {0x94, 0x5A}, {0x94, 0x5B}, /* 0x68-0x6B */ + {0x94, 0x5C}, {0x94, 0x5D}, {0x94, 0x5E}, {0x94, 0x5F}, /* 0x6C-0x6F */ + {0x94, 0x60}, {0x94, 0x61}, {0x94, 0x62}, {0x94, 0x63}, /* 0x70-0x73 */ + {0x94, 0x64}, {0x94, 0x65}, {0x94, 0x66}, {0x94, 0x67}, /* 0x74-0x77 */ + {0x94, 0x68}, {0x94, 0x69}, {0x94, 0x6A}, {0x94, 0x6C}, /* 0x78-0x7B */ + {0x94, 0x6D}, {0x94, 0x6E}, {0x94, 0x6F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x94, 0x70}, {0x94, 0x71}, {0x94, 0x72}, {0x94, 0x73}, /* 0x80-0x83 */ + {0x94, 0x74}, {0x94, 0x75}, {0x94, 0x76}, {0x94, 0x77}, /* 0x84-0x87 */ + {0x94, 0x78}, {0x94, 0x79}, {0x94, 0x7A}, {0x94, 0x7B}, /* 0x88-0x8B */ + {0x94, 0x7C}, {0x94, 0x7D}, {0x94, 0x7E}, {0x94, 0x7F}, /* 0x8C-0x8F */ + {0x94, 0x80}, {0x94, 0x81}, {0x94, 0x82}, {0x94, 0x83}, /* 0x90-0x93 */ + {0x94, 0x84}, {0x94, 0x91}, {0x94, 0x96}, {0x94, 0x98}, /* 0x94-0x97 */ + {0x94, 0xC7}, {0x94, 0xCF}, {0x94, 0xD3}, {0x94, 0xD4}, /* 0x98-0x9B */ + {0x94, 0xDA}, {0x94, 0xE6}, {0x94, 0xFB}, {0x95, 0x1C}, /* 0x9C-0x9F */ + {0x95, 0x20}, {0x74, 0x1B}, {0x74, 0x1A}, {0x74, 0x41}, /* 0xA0-0xA3 */ + {0x74, 0x5C}, {0x74, 0x57}, {0x74, 0x55}, {0x74, 0x59}, /* 0xA4-0xA7 */ + {0x74, 0x77}, {0x74, 0x6D}, {0x74, 0x7E}, {0x74, 0x9C}, /* 0xA8-0xAB */ + {0x74, 0x8E}, {0x74, 0x80}, {0x74, 0x81}, {0x74, 0x87}, /* 0xAC-0xAF */ + {0x74, 0x8B}, {0x74, 0x9E}, {0x74, 0xA8}, {0x74, 0xA9}, /* 0xB0-0xB3 */ + {0x74, 0x90}, {0x74, 0xA7}, {0x74, 0xD2}, {0x74, 0xBA}, /* 0xB4-0xB7 */ + {0x97, 0xEA}, {0x97, 0xEB}, {0x97, 0xEC}, {0x67, 0x4C}, /* 0xB8-0xBB */ + {0x67, 0x53}, {0x67, 0x5E}, {0x67, 0x48}, {0x67, 0x69}, /* 0xBC-0xBF */ + {0x67, 0xA5}, {0x67, 0x87}, {0x67, 0x6A}, {0x67, 0x73}, /* 0xC0-0xC3 */ + {0x67, 0x98}, {0x67, 0xA7}, {0x67, 0x75}, {0x67, 0xA8}, /* 0xC4-0xC7 */ + {0x67, 0x9E}, {0x67, 0xAD}, {0x67, 0x8B}, {0x67, 0x77}, /* 0xC8-0xCB */ + {0x67, 0x7C}, {0x67, 0xF0}, {0x68, 0x09}, {0x67, 0xD8}, /* 0xCC-0xCF */ + {0x68, 0x0A}, {0x67, 0xE9}, {0x67, 0xB0}, {0x68, 0x0C}, /* 0xD0-0xD3 */ + {0x67, 0xD9}, {0x67, 0xB5}, {0x67, 0xDA}, {0x67, 0xB3}, /* 0xD4-0xD7 */ + {0x67, 0xDD}, {0x68, 0x00}, {0x67, 0xC3}, {0x67, 0xB8}, /* 0xD8-0xDB */ + {0x67, 0xE2}, {0x68, 0x0E}, {0x67, 0xC1}, {0x67, 0xFD}, /* 0xDC-0xDF */ + {0x68, 0x32}, {0x68, 0x33}, {0x68, 0x60}, {0x68, 0x61}, /* 0xE0-0xE3 */ + {0x68, 0x4E}, {0x68, 0x62}, {0x68, 0x44}, {0x68, 0x64}, /* 0xE4-0xE7 */ + {0x68, 0x83}, {0x68, 0x1D}, {0x68, 0x55}, {0x68, 0x66}, /* 0xE8-0xEB */ + {0x68, 0x41}, {0x68, 0x67}, {0x68, 0x40}, {0x68, 0x3E}, /* 0xEC-0xEF */ + {0x68, 0x4A}, {0x68, 0x49}, {0x68, 0x29}, {0x68, 0xB5}, /* 0xF0-0xF3 */ + {0x68, 0x8F}, {0x68, 0x74}, {0x68, 0x77}, {0x68, 0x93}, /* 0xF4-0xF7 */ + {0x68, 0x6B}, {0x68, 0xC2}, {0x69, 0x6E}, {0x68, 0xFC}, /* 0xF8-0xFB */ + {0x69, 0x1F}, {0x69, 0x20}, {0x68, 0xF9}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x95, 0x27}, {0x95, 0x33}, {0x95, 0x3D}, {0x95, 0x43}, /* 0x40-0x43 */ + {0x95, 0x48}, {0x95, 0x4B}, {0x95, 0x55}, {0x95, 0x5A}, /* 0x44-0x47 */ + {0x95, 0x60}, {0x95, 0x6E}, {0x95, 0x74}, {0x95, 0x75}, /* 0x48-0x4B */ + {0x95, 0x77}, {0x95, 0x78}, {0x95, 0x79}, {0x95, 0x7A}, /* 0x4C-0x4F */ + {0x95, 0x7B}, {0x95, 0x7C}, {0x95, 0x7D}, {0x95, 0x7E}, /* 0x50-0x53 */ + {0x95, 0x80}, {0x95, 0x81}, {0x95, 0x82}, {0x95, 0x83}, /* 0x54-0x57 */ + {0x95, 0x84}, {0x95, 0x85}, {0x95, 0x86}, {0x95, 0x87}, /* 0x58-0x5B */ + {0x95, 0x88}, {0x95, 0x89}, {0x95, 0x8A}, {0x95, 0x8B}, /* 0x5C-0x5F */ + {0x95, 0x8C}, {0x95, 0x8D}, {0x95, 0x8E}, {0x95, 0x8F}, /* 0x60-0x63 */ + {0x95, 0x90}, {0x95, 0x91}, {0x95, 0x92}, {0x95, 0x93}, /* 0x64-0x67 */ + {0x95, 0x94}, {0x95, 0x95}, {0x95, 0x96}, {0x95, 0x97}, /* 0x68-0x6B */ + {0x95, 0x98}, {0x95, 0x99}, {0x95, 0x9A}, {0x95, 0x9B}, /* 0x6C-0x6F */ + {0x95, 0x9C}, {0x95, 0x9D}, {0x95, 0x9E}, {0x95, 0x9F}, /* 0x70-0x73 */ + {0x95, 0xA0}, {0x95, 0xA1}, {0x95, 0xA2}, {0x95, 0xA3}, /* 0x74-0x77 */ + {0x95, 0xA4}, {0x95, 0xA5}, {0x95, 0xA6}, {0x95, 0xA7}, /* 0x78-0x7B */ + {0x95, 0xA8}, {0x95, 0xA9}, {0x95, 0xAA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x95, 0xAB}, {0x95, 0xAC}, {0x95, 0xAD}, {0x95, 0xAE}, /* 0x80-0x83 */ + {0x95, 0xAF}, {0x95, 0xB0}, {0x95, 0xB1}, {0x95, 0xB2}, /* 0x84-0x87 */ + {0x95, 0xB3}, {0x95, 0xB4}, {0x95, 0xB5}, {0x95, 0xB6}, /* 0x88-0x8B */ + {0x95, 0xB7}, {0x95, 0xB8}, {0x95, 0xB9}, {0x95, 0xBA}, /* 0x8C-0x8F */ + {0x95, 0xBB}, {0x95, 0xBC}, {0x95, 0xBD}, {0x95, 0xBE}, /* 0x90-0x93 */ + {0x95, 0xBF}, {0x95, 0xC0}, {0x95, 0xC1}, {0x95, 0xC2}, /* 0x94-0x97 */ + {0x95, 0xC3}, {0x95, 0xC4}, {0x95, 0xC5}, {0x95, 0xC6}, /* 0x98-0x9B */ + {0x95, 0xC7}, {0x95, 0xC8}, {0x95, 0xC9}, {0x95, 0xCA}, /* 0x9C-0x9F */ + {0x95, 0xCB}, {0x69, 0x24}, {0x68, 0xF0}, {0x69, 0x0B}, /* 0xA0-0xA3 */ + {0x69, 0x01}, {0x69, 0x57}, {0x68, 0xE3}, {0x69, 0x10}, /* 0xA4-0xA7 */ + {0x69, 0x71}, {0x69, 0x39}, {0x69, 0x60}, {0x69, 0x42}, /* 0xA8-0xAB */ + {0x69, 0x5D}, {0x69, 0x84}, {0x69, 0x6B}, {0x69, 0x80}, /* 0xAC-0xAF */ + {0x69, 0x98}, {0x69, 0x78}, {0x69, 0x34}, {0x69, 0xCC}, /* 0xB0-0xB3 */ + {0x69, 0x87}, {0x69, 0x88}, {0x69, 0xCE}, {0x69, 0x89}, /* 0xB4-0xB7 */ + {0x69, 0x66}, {0x69, 0x63}, {0x69, 0x79}, {0x69, 0x9B}, /* 0xB8-0xBB */ + {0x69, 0xA7}, {0x69, 0xBB}, {0x69, 0xAB}, {0x69, 0xAD}, /* 0xBC-0xBF */ + {0x69, 0xD4}, {0x69, 0xB1}, {0x69, 0xC1}, {0x69, 0xCA}, /* 0xC0-0xC3 */ + {0x69, 0xDF}, {0x69, 0x95}, {0x69, 0xE0}, {0x69, 0x8D}, /* 0xC4-0xC7 */ + {0x69, 0xFF}, {0x6A, 0x2F}, {0x69, 0xED}, {0x6A, 0x17}, /* 0xC8-0xCB */ + {0x6A, 0x18}, {0x6A, 0x65}, {0x69, 0xF2}, {0x6A, 0x44}, /* 0xCC-0xCF */ + {0x6A, 0x3E}, {0x6A, 0xA0}, {0x6A, 0x50}, {0x6A, 0x5B}, /* 0xD0-0xD3 */ + {0x6A, 0x35}, {0x6A, 0x8E}, {0x6A, 0x79}, {0x6A, 0x3D}, /* 0xD4-0xD7 */ + {0x6A, 0x28}, {0x6A, 0x58}, {0x6A, 0x7C}, {0x6A, 0x91}, /* 0xD8-0xDB */ + {0x6A, 0x90}, {0x6A, 0xA9}, {0x6A, 0x97}, {0x6A, 0xAB}, /* 0xDC-0xDF */ + {0x73, 0x37}, {0x73, 0x52}, {0x6B, 0x81}, {0x6B, 0x82}, /* 0xE0-0xE3 */ + {0x6B, 0x87}, {0x6B, 0x84}, {0x6B, 0x92}, {0x6B, 0x93}, /* 0xE4-0xE7 */ + {0x6B, 0x8D}, {0x6B, 0x9A}, {0x6B, 0x9B}, {0x6B, 0xA1}, /* 0xE8-0xEB */ + {0x6B, 0xAA}, {0x8F, 0x6B}, {0x8F, 0x6D}, {0x8F, 0x71}, /* 0xEC-0xEF */ + {0x8F, 0x72}, {0x8F, 0x73}, {0x8F, 0x75}, {0x8F, 0x76}, /* 0xF0-0xF3 */ + {0x8F, 0x78}, {0x8F, 0x77}, {0x8F, 0x79}, {0x8F, 0x7A}, /* 0xF4-0xF7 */ + {0x8F, 0x7C}, {0x8F, 0x7E}, {0x8F, 0x81}, {0x8F, 0x82}, /* 0xF8-0xFB */ + {0x8F, 0x84}, {0x8F, 0x87}, {0x8F, 0x8B}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x95, 0xCC}, {0x95, 0xCD}, {0x95, 0xCE}, {0x95, 0xCF}, /* 0x40-0x43 */ + {0x95, 0xD0}, {0x95, 0xD1}, {0x95, 0xD2}, {0x95, 0xD3}, /* 0x44-0x47 */ + {0x95, 0xD4}, {0x95, 0xD5}, {0x95, 0xD6}, {0x95, 0xD7}, /* 0x48-0x4B */ + {0x95, 0xD8}, {0x95, 0xD9}, {0x95, 0xDA}, {0x95, 0xDB}, /* 0x4C-0x4F */ + {0x95, 0xDC}, {0x95, 0xDD}, {0x95, 0xDE}, {0x95, 0xDF}, /* 0x50-0x53 */ + {0x95, 0xE0}, {0x95, 0xE1}, {0x95, 0xE2}, {0x95, 0xE3}, /* 0x54-0x57 */ + {0x95, 0xE4}, {0x95, 0xE5}, {0x95, 0xE6}, {0x95, 0xE7}, /* 0x58-0x5B */ + {0x95, 0xEC}, {0x95, 0xFF}, {0x96, 0x07}, {0x96, 0x13}, /* 0x5C-0x5F */ + {0x96, 0x18}, {0x96, 0x1B}, {0x96, 0x1E}, {0x96, 0x20}, /* 0x60-0x63 */ + {0x96, 0x23}, {0x96, 0x24}, {0x96, 0x25}, {0x96, 0x26}, /* 0x64-0x67 */ + {0x96, 0x27}, {0x96, 0x28}, {0x96, 0x29}, {0x96, 0x2B}, /* 0x68-0x6B */ + {0x96, 0x2C}, {0x96, 0x2D}, {0x96, 0x2F}, {0x96, 0x30}, /* 0x6C-0x6F */ + {0x96, 0x37}, {0x96, 0x38}, {0x96, 0x39}, {0x96, 0x3A}, /* 0x70-0x73 */ + {0x96, 0x3E}, {0x96, 0x41}, {0x96, 0x43}, {0x96, 0x4A}, /* 0x74-0x77 */ + {0x96, 0x4E}, {0x96, 0x4F}, {0x96, 0x51}, {0x96, 0x52}, /* 0x78-0x7B */ + {0x96, 0x53}, {0x96, 0x56}, {0x96, 0x57}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x96, 0x58}, {0x96, 0x59}, {0x96, 0x5A}, {0x96, 0x5C}, /* 0x80-0x83 */ + {0x96, 0x5D}, {0x96, 0x5E}, {0x96, 0x60}, {0x96, 0x63}, /* 0x84-0x87 */ + {0x96, 0x65}, {0x96, 0x66}, {0x96, 0x6B}, {0x96, 0x6D}, /* 0x88-0x8B */ + {0x96, 0x6E}, {0x96, 0x6F}, {0x96, 0x70}, {0x96, 0x71}, /* 0x8C-0x8F */ + {0x96, 0x73}, {0x96, 0x78}, {0x96, 0x79}, {0x96, 0x7A}, /* 0x90-0x93 */ + {0x96, 0x7B}, {0x96, 0x7C}, {0x96, 0x7D}, {0x96, 0x7E}, /* 0x94-0x97 */ + {0x96, 0x7F}, {0x96, 0x80}, {0x96, 0x81}, {0x96, 0x82}, /* 0x98-0x9B */ + {0x96, 0x83}, {0x96, 0x84}, {0x96, 0x87}, {0x96, 0x89}, /* 0x9C-0x9F */ + {0x96, 0x8A}, {0x8F, 0x8D}, {0x8F, 0x8E}, {0x8F, 0x8F}, /* 0xA0-0xA3 */ + {0x8F, 0x98}, {0x8F, 0x9A}, {0x8E, 0xCE}, {0x62, 0x0B}, /* 0xA4-0xA7 */ + {0x62, 0x17}, {0x62, 0x1B}, {0x62, 0x1F}, {0x62, 0x22}, /* 0xA8-0xAB */ + {0x62, 0x21}, {0x62, 0x25}, {0x62, 0x24}, {0x62, 0x2C}, /* 0xAC-0xAF */ + {0x81, 0xE7}, {0x74, 0xEF}, {0x74, 0xF4}, {0x74, 0xFF}, /* 0xB0-0xB3 */ + {0x75, 0x0F}, {0x75, 0x11}, {0x75, 0x13}, {0x65, 0x34}, /* 0xB4-0xB7 */ + {0x65, 0xEE}, {0x65, 0xEF}, {0x65, 0xF0}, {0x66, 0x0A}, /* 0xB8-0xBB */ + {0x66, 0x19}, {0x67, 0x72}, {0x66, 0x03}, {0x66, 0x15}, /* 0xBC-0xBF */ + {0x66, 0x00}, {0x70, 0x85}, {0x66, 0xF7}, {0x66, 0x1D}, /* 0xC0-0xC3 */ + {0x66, 0x34}, {0x66, 0x31}, {0x66, 0x36}, {0x66, 0x35}, /* 0xC4-0xC7 */ + {0x80, 0x06}, {0x66, 0x5F}, {0x66, 0x54}, {0x66, 0x41}, /* 0xC8-0xCB */ + {0x66, 0x4F}, {0x66, 0x56}, {0x66, 0x61}, {0x66, 0x57}, /* 0xCC-0xCF */ + {0x66, 0x77}, {0x66, 0x84}, {0x66, 0x8C}, {0x66, 0xA7}, /* 0xD0-0xD3 */ + {0x66, 0x9D}, {0x66, 0xBE}, {0x66, 0xDB}, {0x66, 0xDC}, /* 0xD4-0xD7 */ + {0x66, 0xE6}, {0x66, 0xE9}, {0x8D, 0x32}, {0x8D, 0x33}, /* 0xD8-0xDB */ + {0x8D, 0x36}, {0x8D, 0x3B}, {0x8D, 0x3D}, {0x8D, 0x40}, /* 0xDC-0xDF */ + {0x8D, 0x45}, {0x8D, 0x46}, {0x8D, 0x48}, {0x8D, 0x49}, /* 0xE0-0xE3 */ + {0x8D, 0x47}, {0x8D, 0x4D}, {0x8D, 0x55}, {0x8D, 0x59}, /* 0xE4-0xE7 */ + {0x89, 0xC7}, {0x89, 0xCA}, {0x89, 0xCB}, {0x89, 0xCC}, /* 0xE8-0xEB */ + {0x89, 0xCE}, {0x89, 0xCF}, {0x89, 0xD0}, {0x89, 0xD1}, /* 0xEC-0xEF */ + {0x72, 0x6E}, {0x72, 0x9F}, {0x72, 0x5D}, {0x72, 0x66}, /* 0xF0-0xF3 */ + {0x72, 0x6F}, {0x72, 0x7E}, {0x72, 0x7F}, {0x72, 0x84}, /* 0xF4-0xF7 */ + {0x72, 0x8B}, {0x72, 0x8D}, {0x72, 0x8F}, {0x72, 0x92}, /* 0xF8-0xFB */ + {0x63, 0x08}, {0x63, 0x32}, {0x63, 0xB0}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x96, 0x8C}, {0x96, 0x8E}, {0x96, 0x91}, {0x96, 0x92}, /* 0x40-0x43 */ + {0x96, 0x93}, {0x96, 0x95}, {0x96, 0x96}, {0x96, 0x9A}, /* 0x44-0x47 */ + {0x96, 0x9B}, {0x96, 0x9D}, {0x96, 0x9E}, {0x96, 0x9F}, /* 0x48-0x4B */ + {0x96, 0xA0}, {0x96, 0xA1}, {0x96, 0xA2}, {0x96, 0xA3}, /* 0x4C-0x4F */ + {0x96, 0xA4}, {0x96, 0xA5}, {0x96, 0xA6}, {0x96, 0xA8}, /* 0x50-0x53 */ + {0x96, 0xA9}, {0x96, 0xAA}, {0x96, 0xAB}, {0x96, 0xAC}, /* 0x54-0x57 */ + {0x96, 0xAD}, {0x96, 0xAE}, {0x96, 0xAF}, {0x96, 0xB1}, /* 0x58-0x5B */ + {0x96, 0xB2}, {0x96, 0xB4}, {0x96, 0xB5}, {0x96, 0xB7}, /* 0x5C-0x5F */ + {0x96, 0xB8}, {0x96, 0xBA}, {0x96, 0xBB}, {0x96, 0xBF}, /* 0x60-0x63 */ + {0x96, 0xC2}, {0x96, 0xC3}, {0x96, 0xC8}, {0x96, 0xCA}, /* 0x64-0x67 */ + {0x96, 0xCB}, {0x96, 0xD0}, {0x96, 0xD1}, {0x96, 0xD3}, /* 0x68-0x6B */ + {0x96, 0xD4}, {0x96, 0xD6}, {0x96, 0xD7}, {0x96, 0xD8}, /* 0x6C-0x6F */ + {0x96, 0xD9}, {0x96, 0xDA}, {0x96, 0xDB}, {0x96, 0xDC}, /* 0x70-0x73 */ + {0x96, 0xDD}, {0x96, 0xDE}, {0x96, 0xDF}, {0x96, 0xE1}, /* 0x74-0x77 */ + {0x96, 0xE2}, {0x96, 0xE3}, {0x96, 0xE4}, {0x96, 0xE5}, /* 0x78-0x7B */ + {0x96, 0xE6}, {0x96, 0xE7}, {0x96, 0xEB}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x96, 0xEC}, {0x96, 0xED}, {0x96, 0xEE}, {0x96, 0xF0}, /* 0x80-0x83 */ + {0x96, 0xF1}, {0x96, 0xF2}, {0x96, 0xF4}, {0x96, 0xF5}, /* 0x84-0x87 */ + {0x96, 0xF8}, {0x96, 0xFA}, {0x96, 0xFB}, {0x96, 0xFC}, /* 0x88-0x8B */ + {0x96, 0xFD}, {0x96, 0xFF}, {0x97, 0x02}, {0x97, 0x03}, /* 0x8C-0x8F */ + {0x97, 0x05}, {0x97, 0x0A}, {0x97, 0x0B}, {0x97, 0x0C}, /* 0x90-0x93 */ + {0x97, 0x10}, {0x97, 0x11}, {0x97, 0x12}, {0x97, 0x14}, /* 0x94-0x97 */ + {0x97, 0x15}, {0x97, 0x17}, {0x97, 0x18}, {0x97, 0x19}, /* 0x98-0x9B */ + {0x97, 0x1A}, {0x97, 0x1B}, {0x97, 0x1D}, {0x97, 0x1F}, /* 0x9C-0x9F */ + {0x97, 0x20}, {0x64, 0x3F}, {0x64, 0xD8}, {0x80, 0x04}, /* 0xA0-0xA3 */ + {0x6B, 0xEA}, {0x6B, 0xF3}, {0x6B, 0xFD}, {0x6B, 0xF5}, /* 0xA4-0xA7 */ + {0x6B, 0xF9}, {0x6C, 0x05}, {0x6C, 0x07}, {0x6C, 0x06}, /* 0xA8-0xAB */ + {0x6C, 0x0D}, {0x6C, 0x15}, {0x6C, 0x18}, {0x6C, 0x19}, /* 0xAC-0xAF */ + {0x6C, 0x1A}, {0x6C, 0x21}, {0x6C, 0x29}, {0x6C, 0x24}, /* 0xB0-0xB3 */ + {0x6C, 0x2A}, {0x6C, 0x32}, {0x65, 0x35}, {0x65, 0x55}, /* 0xB4-0xB7 */ + {0x65, 0x6B}, {0x72, 0x4D}, {0x72, 0x52}, {0x72, 0x56}, /* 0xB8-0xBB */ + {0x72, 0x30}, {0x86, 0x62}, {0x52, 0x16}, {0x80, 0x9F}, /* 0xBC-0xBF */ + {0x80, 0x9C}, {0x80, 0x93}, {0x80, 0xBC}, {0x67, 0x0A}, /* 0xC0-0xC3 */ + {0x80, 0xBD}, {0x80, 0xB1}, {0x80, 0xAB}, {0x80, 0xAD}, /* 0xC4-0xC7 */ + {0x80, 0xB4}, {0x80, 0xB7}, {0x80, 0xE7}, {0x80, 0xE8}, /* 0xC8-0xCB */ + {0x80, 0xE9}, {0x80, 0xEA}, {0x80, 0xDB}, {0x80, 0xC2}, /* 0xCC-0xCF */ + {0x80, 0xC4}, {0x80, 0xD9}, {0x80, 0xCD}, {0x80, 0xD7}, /* 0xD0-0xD3 */ + {0x67, 0x10}, {0x80, 0xDD}, {0x80, 0xEB}, {0x80, 0xF1}, /* 0xD4-0xD7 */ + {0x80, 0xF4}, {0x80, 0xED}, {0x81, 0x0D}, {0x81, 0x0E}, /* 0xD8-0xDB */ + {0x80, 0xF2}, {0x80, 0xFC}, {0x67, 0x15}, {0x81, 0x12}, /* 0xDC-0xDF */ + {0x8C, 0x5A}, {0x81, 0x36}, {0x81, 0x1E}, {0x81, 0x2C}, /* 0xE0-0xE3 */ + {0x81, 0x18}, {0x81, 0x32}, {0x81, 0x48}, {0x81, 0x4C}, /* 0xE4-0xE7 */ + {0x81, 0x53}, {0x81, 0x74}, {0x81, 0x59}, {0x81, 0x5A}, /* 0xE8-0xEB */ + {0x81, 0x71}, {0x81, 0x60}, {0x81, 0x69}, {0x81, 0x7C}, /* 0xEC-0xEF */ + {0x81, 0x7D}, {0x81, 0x6D}, {0x81, 0x67}, {0x58, 0x4D}, /* 0xF0-0xF3 */ + {0x5A, 0xB5}, {0x81, 0x88}, {0x81, 0x82}, {0x81, 0x91}, /* 0xF4-0xF7 */ + {0x6E, 0xD5}, {0x81, 0xA3}, {0x81, 0xAA}, {0x81, 0xCC}, /* 0xF8-0xFB */ + {0x67, 0x26}, {0x81, 0xCA}, {0x81, 0xBB}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x97, 0x21}, {0x97, 0x22}, {0x97, 0x23}, {0x97, 0x24}, /* 0x40-0x43 */ + {0x97, 0x25}, {0x97, 0x26}, {0x97, 0x27}, {0x97, 0x28}, /* 0x44-0x47 */ + {0x97, 0x29}, {0x97, 0x2B}, {0x97, 0x2C}, {0x97, 0x2E}, /* 0x48-0x4B */ + {0x97, 0x2F}, {0x97, 0x31}, {0x97, 0x33}, {0x97, 0x34}, /* 0x4C-0x4F */ + {0x97, 0x35}, {0x97, 0x36}, {0x97, 0x37}, {0x97, 0x3A}, /* 0x50-0x53 */ + {0x97, 0x3B}, {0x97, 0x3C}, {0x97, 0x3D}, {0x97, 0x3F}, /* 0x54-0x57 */ + {0x97, 0x40}, {0x97, 0x41}, {0x97, 0x42}, {0x97, 0x43}, /* 0x58-0x5B */ + {0x97, 0x44}, {0x97, 0x45}, {0x97, 0x46}, {0x97, 0x47}, /* 0x5C-0x5F */ + {0x97, 0x48}, {0x97, 0x49}, {0x97, 0x4A}, {0x97, 0x4B}, /* 0x60-0x63 */ + {0x97, 0x4C}, {0x97, 0x4D}, {0x97, 0x4E}, {0x97, 0x4F}, /* 0x64-0x67 */ + {0x97, 0x50}, {0x97, 0x51}, {0x97, 0x54}, {0x97, 0x55}, /* 0x68-0x6B */ + {0x97, 0x57}, {0x97, 0x58}, {0x97, 0x5A}, {0x97, 0x5C}, /* 0x6C-0x6F */ + {0x97, 0x5D}, {0x97, 0x5F}, {0x97, 0x63}, {0x97, 0x64}, /* 0x70-0x73 */ + {0x97, 0x66}, {0x97, 0x67}, {0x97, 0x68}, {0x97, 0x6A}, /* 0x74-0x77 */ + {0x97, 0x6B}, {0x97, 0x6C}, {0x97, 0x6D}, {0x97, 0x6E}, /* 0x78-0x7B */ + {0x97, 0x6F}, {0x97, 0x70}, {0x97, 0x71}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x97, 0x72}, {0x97, 0x75}, {0x97, 0x77}, {0x97, 0x78}, /* 0x80-0x83 */ + {0x97, 0x79}, {0x97, 0x7A}, {0x97, 0x7B}, {0x97, 0x7D}, /* 0x84-0x87 */ + {0x97, 0x7E}, {0x97, 0x7F}, {0x97, 0x80}, {0x97, 0x81}, /* 0x88-0x8B */ + {0x97, 0x82}, {0x97, 0x83}, {0x97, 0x84}, {0x97, 0x86}, /* 0x8C-0x8F */ + {0x97, 0x87}, {0x97, 0x88}, {0x97, 0x89}, {0x97, 0x8A}, /* 0x90-0x93 */ + {0x97, 0x8C}, {0x97, 0x8E}, {0x97, 0x8F}, {0x97, 0x90}, /* 0x94-0x97 */ + {0x97, 0x93}, {0x97, 0x95}, {0x97, 0x96}, {0x97, 0x97}, /* 0x98-0x9B */ + {0x97, 0x99}, {0x97, 0x9A}, {0x97, 0x9B}, {0x97, 0x9C}, /* 0x9C-0x9F */ + {0x97, 0x9D}, {0x81, 0xC1}, {0x81, 0xA6}, {0x6B, 0x24}, /* 0xA0-0xA3 */ + {0x6B, 0x37}, {0x6B, 0x39}, {0x6B, 0x43}, {0x6B, 0x46}, /* 0xA4-0xA7 */ + {0x6B, 0x59}, {0x98, 0xD1}, {0x98, 0xD2}, {0x98, 0xD3}, /* 0xA8-0xAB */ + {0x98, 0xD5}, {0x98, 0xD9}, {0x98, 0xDA}, {0x6B, 0xB3}, /* 0xAC-0xAF */ + {0x5F, 0x40}, {0x6B, 0xC2}, {0x89, 0xF3}, {0x65, 0x90}, /* 0xB0-0xB3 */ + {0x9F, 0x51}, {0x65, 0x93}, {0x65, 0xBC}, {0x65, 0xC6}, /* 0xB4-0xB7 */ + {0x65, 0xC4}, {0x65, 0xC3}, {0x65, 0xCC}, {0x65, 0xCE}, /* 0xB8-0xBB */ + {0x65, 0xD2}, {0x65, 0xD6}, {0x70, 0x80}, {0x70, 0x9C}, /* 0xBC-0xBF */ + {0x70, 0x96}, {0x70, 0x9D}, {0x70, 0xBB}, {0x70, 0xC0}, /* 0xC0-0xC3 */ + {0x70, 0xB7}, {0x70, 0xAB}, {0x70, 0xB1}, {0x70, 0xE8}, /* 0xC4-0xC7 */ + {0x70, 0xCA}, {0x71, 0x10}, {0x71, 0x13}, {0x71, 0x16}, /* 0xC8-0xCB */ + {0x71, 0x2F}, {0x71, 0x31}, {0x71, 0x73}, {0x71, 0x5C}, /* 0xCC-0xCF */ + {0x71, 0x68}, {0x71, 0x45}, {0x71, 0x72}, {0x71, 0x4A}, /* 0xD0-0xD3 */ + {0x71, 0x78}, {0x71, 0x7A}, {0x71, 0x98}, {0x71, 0xB3}, /* 0xD4-0xD7 */ + {0x71, 0xB5}, {0x71, 0xA8}, {0x71, 0xA0}, {0x71, 0xE0}, /* 0xD8-0xDB */ + {0x71, 0xD4}, {0x71, 0xE7}, {0x71, 0xF9}, {0x72, 0x1D}, /* 0xDC-0xDF */ + {0x72, 0x28}, {0x70, 0x6C}, {0x71, 0x18}, {0x71, 0x66}, /* 0xE0-0xE3 */ + {0x71, 0xB9}, {0x62, 0x3E}, {0x62, 0x3D}, {0x62, 0x43}, /* 0xE4-0xE7 */ + {0x62, 0x48}, {0x62, 0x49}, {0x79, 0x3B}, {0x79, 0x40}, /* 0xE8-0xEB */ + {0x79, 0x46}, {0x79, 0x49}, {0x79, 0x5B}, {0x79, 0x5C}, /* 0xEC-0xEF */ + {0x79, 0x53}, {0x79, 0x5A}, {0x79, 0x62}, {0x79, 0x57}, /* 0xF0-0xF3 */ + {0x79, 0x60}, {0x79, 0x6F}, {0x79, 0x67}, {0x79, 0x7A}, /* 0xF4-0xF7 */ + {0x79, 0x85}, {0x79, 0x8A}, {0x79, 0x9A}, {0x79, 0xA7}, /* 0xF8-0xFB */ + {0x79, 0xB3}, {0x5F, 0xD1}, {0x5F, 0xD0}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_ED[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x97, 0x9E}, {0x97, 0x9F}, {0x97, 0xA1}, {0x97, 0xA2}, /* 0x40-0x43 */ + {0x97, 0xA4}, {0x97, 0xA5}, {0x97, 0xA6}, {0x97, 0xA7}, /* 0x44-0x47 */ + {0x97, 0xA8}, {0x97, 0xA9}, {0x97, 0xAA}, {0x97, 0xAC}, /* 0x48-0x4B */ + {0x97, 0xAE}, {0x97, 0xB0}, {0x97, 0xB1}, {0x97, 0xB3}, /* 0x4C-0x4F */ + {0x97, 0xB5}, {0x97, 0xB6}, {0x97, 0xB7}, {0x97, 0xB8}, /* 0x50-0x53 */ + {0x97, 0xB9}, {0x97, 0xBA}, {0x97, 0xBB}, {0x97, 0xBC}, /* 0x54-0x57 */ + {0x97, 0xBD}, {0x97, 0xBE}, {0x97, 0xBF}, {0x97, 0xC0}, /* 0x58-0x5B */ + {0x97, 0xC1}, {0x97, 0xC2}, {0x97, 0xC3}, {0x97, 0xC4}, /* 0x5C-0x5F */ + {0x97, 0xC5}, {0x97, 0xC6}, {0x97, 0xC7}, {0x97, 0xC8}, /* 0x60-0x63 */ + {0x97, 0xC9}, {0x97, 0xCA}, {0x97, 0xCB}, {0x97, 0xCC}, /* 0x64-0x67 */ + {0x97, 0xCD}, {0x97, 0xCE}, {0x97, 0xCF}, {0x97, 0xD0}, /* 0x68-0x6B */ + {0x97, 0xD1}, {0x97, 0xD2}, {0x97, 0xD3}, {0x97, 0xD4}, /* 0x6C-0x6F */ + {0x97, 0xD5}, {0x97, 0xD6}, {0x97, 0xD7}, {0x97, 0xD8}, /* 0x70-0x73 */ + {0x97, 0xD9}, {0x97, 0xDA}, {0x97, 0xDB}, {0x97, 0xDC}, /* 0x74-0x77 */ + {0x97, 0xDD}, {0x97, 0xDE}, {0x97, 0xDF}, {0x97, 0xE0}, /* 0x78-0x7B */ + {0x97, 0xE1}, {0x97, 0xE2}, {0x97, 0xE3}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x97, 0xE4}, {0x97, 0xE5}, {0x97, 0xE8}, {0x97, 0xEE}, /* 0x80-0x83 */ + {0x97, 0xEF}, {0x97, 0xF0}, {0x97, 0xF1}, {0x97, 0xF2}, /* 0x84-0x87 */ + {0x97, 0xF4}, {0x97, 0xF7}, {0x97, 0xF8}, {0x97, 0xF9}, /* 0x88-0x8B */ + {0x97, 0xFA}, {0x97, 0xFB}, {0x97, 0xFC}, {0x97, 0xFD}, /* 0x8C-0x8F */ + {0x97, 0xFE}, {0x97, 0xFF}, {0x98, 0x00}, {0x98, 0x01}, /* 0x90-0x93 */ + {0x98, 0x02}, {0x98, 0x03}, {0x98, 0x04}, {0x98, 0x05}, /* 0x94-0x97 */ + {0x98, 0x06}, {0x98, 0x07}, {0x98, 0x08}, {0x98, 0x09}, /* 0x98-0x9B */ + {0x98, 0x0A}, {0x98, 0x0B}, {0x98, 0x0C}, {0x98, 0x0D}, /* 0x9C-0x9F */ + {0x98, 0x0E}, {0x60, 0x3C}, {0x60, 0x5D}, {0x60, 0x5A}, /* 0xA0-0xA3 */ + {0x60, 0x67}, {0x60, 0x41}, {0x60, 0x59}, {0x60, 0x63}, /* 0xA4-0xA7 */ + {0x60, 0xAB}, {0x61, 0x06}, {0x61, 0x0D}, {0x61, 0x5D}, /* 0xA8-0xAB */ + {0x61, 0xA9}, {0x61, 0x9D}, {0x61, 0xCB}, {0x61, 0xD1}, /* 0xAC-0xAF */ + {0x62, 0x06}, {0x80, 0x80}, {0x80, 0x7F}, {0x6C, 0x93}, /* 0xB0-0xB3 */ + {0x6C, 0xF6}, {0x6D, 0xFC}, {0x77, 0xF6}, {0x77, 0xF8}, /* 0xB4-0xB7 */ + {0x78, 0x00}, {0x78, 0x09}, {0x78, 0x17}, {0x78, 0x18}, /* 0xB8-0xBB */ + {0x78, 0x11}, {0x65, 0xAB}, {0x78, 0x2D}, {0x78, 0x1C}, /* 0xBC-0xBF */ + {0x78, 0x1D}, {0x78, 0x39}, {0x78, 0x3A}, {0x78, 0x3B}, /* 0xC0-0xC3 */ + {0x78, 0x1F}, {0x78, 0x3C}, {0x78, 0x25}, {0x78, 0x2C}, /* 0xC4-0xC7 */ + {0x78, 0x23}, {0x78, 0x29}, {0x78, 0x4E}, {0x78, 0x6D}, /* 0xC8-0xCB */ + {0x78, 0x56}, {0x78, 0x57}, {0x78, 0x26}, {0x78, 0x50}, /* 0xCC-0xCF */ + {0x78, 0x47}, {0x78, 0x4C}, {0x78, 0x6A}, {0x78, 0x9B}, /* 0xD0-0xD3 */ + {0x78, 0x93}, {0x78, 0x9A}, {0x78, 0x87}, {0x78, 0x9C}, /* 0xD4-0xD7 */ + {0x78, 0xA1}, {0x78, 0xA3}, {0x78, 0xB2}, {0x78, 0xB9}, /* 0xD8-0xDB */ + {0x78, 0xA5}, {0x78, 0xD4}, {0x78, 0xD9}, {0x78, 0xC9}, /* 0xDC-0xDF */ + {0x78, 0xEC}, {0x78, 0xF2}, {0x79, 0x05}, {0x78, 0xF4}, /* 0xE0-0xE3 */ + {0x79, 0x13}, {0x79, 0x24}, {0x79, 0x1E}, {0x79, 0x34}, /* 0xE4-0xE7 */ + {0x9F, 0x9B}, {0x9E, 0xF9}, {0x9E, 0xFB}, {0x9E, 0xFC}, /* 0xE8-0xEB */ + {0x76, 0xF1}, {0x77, 0x04}, {0x77, 0x0D}, {0x76, 0xF9}, /* 0xEC-0xEF */ + {0x77, 0x07}, {0x77, 0x08}, {0x77, 0x1A}, {0x77, 0x22}, /* 0xF0-0xF3 */ + {0x77, 0x19}, {0x77, 0x2D}, {0x77, 0x26}, {0x77, 0x35}, /* 0xF4-0xF7 */ + {0x77, 0x38}, {0x77, 0x50}, {0x77, 0x51}, {0x77, 0x47}, /* 0xF8-0xFB */ + {0x77, 0x43}, {0x77, 0x5A}, {0x77, 0x68}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x98, 0x0F}, {0x98, 0x10}, {0x98, 0x11}, {0x98, 0x12}, /* 0x40-0x43 */ + {0x98, 0x13}, {0x98, 0x14}, {0x98, 0x15}, {0x98, 0x16}, /* 0x44-0x47 */ + {0x98, 0x17}, {0x98, 0x18}, {0x98, 0x19}, {0x98, 0x1A}, /* 0x48-0x4B */ + {0x98, 0x1B}, {0x98, 0x1C}, {0x98, 0x1D}, {0x98, 0x1E}, /* 0x4C-0x4F */ + {0x98, 0x1F}, {0x98, 0x20}, {0x98, 0x21}, {0x98, 0x22}, /* 0x50-0x53 */ + {0x98, 0x23}, {0x98, 0x24}, {0x98, 0x25}, {0x98, 0x26}, /* 0x54-0x57 */ + {0x98, 0x27}, {0x98, 0x28}, {0x98, 0x29}, {0x98, 0x2A}, /* 0x58-0x5B */ + {0x98, 0x2B}, {0x98, 0x2C}, {0x98, 0x2D}, {0x98, 0x2E}, /* 0x5C-0x5F */ + {0x98, 0x2F}, {0x98, 0x30}, {0x98, 0x31}, {0x98, 0x32}, /* 0x60-0x63 */ + {0x98, 0x33}, {0x98, 0x34}, {0x98, 0x35}, {0x98, 0x36}, /* 0x64-0x67 */ + {0x98, 0x37}, {0x98, 0x38}, {0x98, 0x39}, {0x98, 0x3A}, /* 0x68-0x6B */ + {0x98, 0x3B}, {0x98, 0x3C}, {0x98, 0x3D}, {0x98, 0x3E}, /* 0x6C-0x6F */ + {0x98, 0x3F}, {0x98, 0x40}, {0x98, 0x41}, {0x98, 0x42}, /* 0x70-0x73 */ + {0x98, 0x43}, {0x98, 0x44}, {0x98, 0x45}, {0x98, 0x46}, /* 0x74-0x77 */ + {0x98, 0x47}, {0x98, 0x48}, {0x98, 0x49}, {0x98, 0x4A}, /* 0x78-0x7B */ + {0x98, 0x4B}, {0x98, 0x4C}, {0x98, 0x4D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x98, 0x4E}, {0x98, 0x4F}, {0x98, 0x50}, {0x98, 0x51}, /* 0x80-0x83 */ + {0x98, 0x52}, {0x98, 0x53}, {0x98, 0x54}, {0x98, 0x55}, /* 0x84-0x87 */ + {0x98, 0x56}, {0x98, 0x57}, {0x98, 0x58}, {0x98, 0x59}, /* 0x88-0x8B */ + {0x98, 0x5A}, {0x98, 0x5B}, {0x98, 0x5C}, {0x98, 0x5D}, /* 0x8C-0x8F */ + {0x98, 0x5E}, {0x98, 0x5F}, {0x98, 0x60}, {0x98, 0x61}, /* 0x90-0x93 */ + {0x98, 0x62}, {0x98, 0x63}, {0x98, 0x64}, {0x98, 0x65}, /* 0x94-0x97 */ + {0x98, 0x66}, {0x98, 0x67}, {0x98, 0x68}, {0x98, 0x69}, /* 0x98-0x9B */ + {0x98, 0x6A}, {0x98, 0x6B}, {0x98, 0x6C}, {0x98, 0x6D}, /* 0x9C-0x9F */ + {0x98, 0x6E}, {0x77, 0x62}, {0x77, 0x65}, {0x77, 0x7F}, /* 0xA0-0xA3 */ + {0x77, 0x8D}, {0x77, 0x7D}, {0x77, 0x80}, {0x77, 0x8C}, /* 0xA4-0xA7 */ + {0x77, 0x91}, {0x77, 0x9F}, {0x77, 0xA0}, {0x77, 0xB0}, /* 0xA8-0xAB */ + {0x77, 0xB5}, {0x77, 0xBD}, {0x75, 0x3A}, {0x75, 0x40}, /* 0xAC-0xAF */ + {0x75, 0x4E}, {0x75, 0x4B}, {0x75, 0x48}, {0x75, 0x5B}, /* 0xB0-0xB3 */ + {0x75, 0x72}, {0x75, 0x79}, {0x75, 0x83}, {0x7F, 0x58}, /* 0xB4-0xB7 */ + {0x7F, 0x61}, {0x7F, 0x5F}, {0x8A, 0x48}, {0x7F, 0x68}, /* 0xB8-0xBB */ + {0x7F, 0x74}, {0x7F, 0x71}, {0x7F, 0x79}, {0x7F, 0x81}, /* 0xBC-0xBF */ + {0x7F, 0x7E}, {0x76, 0xCD}, {0x76, 0xE5}, {0x88, 0x32}, /* 0xC0-0xC3 */ + {0x94, 0x85}, {0x94, 0x86}, {0x94, 0x87}, {0x94, 0x8B}, /* 0xC4-0xC7 */ + {0x94, 0x8A}, {0x94, 0x8C}, {0x94, 0x8D}, {0x94, 0x8F}, /* 0xC8-0xCB */ + {0x94, 0x90}, {0x94, 0x94}, {0x94, 0x97}, {0x94, 0x95}, /* 0xCC-0xCF */ + {0x94, 0x9A}, {0x94, 0x9B}, {0x94, 0x9C}, {0x94, 0xA3}, /* 0xD0-0xD3 */ + {0x94, 0xA4}, {0x94, 0xAB}, {0x94, 0xAA}, {0x94, 0xAD}, /* 0xD4-0xD7 */ + {0x94, 0xAC}, {0x94, 0xAF}, {0x94, 0xB0}, {0x94, 0xB2}, /* 0xD8-0xDB */ + {0x94, 0xB4}, {0x94, 0xB6}, {0x94, 0xB7}, {0x94, 0xB8}, /* 0xDC-0xDF */ + {0x94, 0xB9}, {0x94, 0xBA}, {0x94, 0xBC}, {0x94, 0xBD}, /* 0xE0-0xE3 */ + {0x94, 0xBF}, {0x94, 0xC4}, {0x94, 0xC8}, {0x94, 0xC9}, /* 0xE4-0xE7 */ + {0x94, 0xCA}, {0x94, 0xCB}, {0x94, 0xCC}, {0x94, 0xCD}, /* 0xE8-0xEB */ + {0x94, 0xCE}, {0x94, 0xD0}, {0x94, 0xD1}, {0x94, 0xD2}, /* 0xEC-0xEF */ + {0x94, 0xD5}, {0x94, 0xD6}, {0x94, 0xD7}, {0x94, 0xD9}, /* 0xF0-0xF3 */ + {0x94, 0xD8}, {0x94, 0xDB}, {0x94, 0xDE}, {0x94, 0xDF}, /* 0xF4-0xF7 */ + {0x94, 0xE0}, {0x94, 0xE2}, {0x94, 0xE4}, {0x94, 0xE5}, /* 0xF8-0xFB */ + {0x94, 0xE7}, {0x94, 0xE8}, {0x94, 0xEA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x98, 0x6F}, {0x98, 0x70}, {0x98, 0x71}, {0x98, 0x72}, /* 0x40-0x43 */ + {0x98, 0x73}, {0x98, 0x74}, {0x98, 0x8B}, {0x98, 0x8E}, /* 0x44-0x47 */ + {0x98, 0x92}, {0x98, 0x95}, {0x98, 0x99}, {0x98, 0xA3}, /* 0x48-0x4B */ + {0x98, 0xA8}, {0x98, 0xA9}, {0x98, 0xAA}, {0x98, 0xAB}, /* 0x4C-0x4F */ + {0x98, 0xAC}, {0x98, 0xAD}, {0x98, 0xAE}, {0x98, 0xAF}, /* 0x50-0x53 */ + {0x98, 0xB0}, {0x98, 0xB1}, {0x98, 0xB2}, {0x98, 0xB3}, /* 0x54-0x57 */ + {0x98, 0xB4}, {0x98, 0xB5}, {0x98, 0xB6}, {0x98, 0xB7}, /* 0x58-0x5B */ + {0x98, 0xB8}, {0x98, 0xB9}, {0x98, 0xBA}, {0x98, 0xBB}, /* 0x5C-0x5F */ + {0x98, 0xBC}, {0x98, 0xBD}, {0x98, 0xBE}, {0x98, 0xBF}, /* 0x60-0x63 */ + {0x98, 0xC0}, {0x98, 0xC1}, {0x98, 0xC2}, {0x98, 0xC3}, /* 0x64-0x67 */ + {0x98, 0xC4}, {0x98, 0xC5}, {0x98, 0xC6}, {0x98, 0xC7}, /* 0x68-0x6B */ + {0x98, 0xC8}, {0x98, 0xC9}, {0x98, 0xCA}, {0x98, 0xCB}, /* 0x6C-0x6F */ + {0x98, 0xCC}, {0x98, 0xCD}, {0x98, 0xCF}, {0x98, 0xD0}, /* 0x70-0x73 */ + {0x98, 0xD4}, {0x98, 0xD6}, {0x98, 0xD7}, {0x98, 0xDB}, /* 0x74-0x77 */ + {0x98, 0xDC}, {0x98, 0xDD}, {0x98, 0xE0}, {0x98, 0xE1}, /* 0x78-0x7B */ + {0x98, 0xE2}, {0x98, 0xE3}, {0x98, 0xE4}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x98, 0xE5}, {0x98, 0xE6}, {0x98, 0xE9}, {0x98, 0xEA}, /* 0x80-0x83 */ + {0x98, 0xEB}, {0x98, 0xEC}, {0x98, 0xED}, {0x98, 0xEE}, /* 0x84-0x87 */ + {0x98, 0xEF}, {0x98, 0xF0}, {0x98, 0xF1}, {0x98, 0xF2}, /* 0x88-0x8B */ + {0x98, 0xF3}, {0x98, 0xF4}, {0x98, 0xF5}, {0x98, 0xF6}, /* 0x8C-0x8F */ + {0x98, 0xF7}, {0x98, 0xF8}, {0x98, 0xF9}, {0x98, 0xFA}, /* 0x90-0x93 */ + {0x98, 0xFB}, {0x98, 0xFC}, {0x98, 0xFD}, {0x98, 0xFE}, /* 0x94-0x97 */ + {0x98, 0xFF}, {0x99, 0x00}, {0x99, 0x01}, {0x99, 0x02}, /* 0x98-0x9B */ + {0x99, 0x03}, {0x99, 0x04}, {0x99, 0x05}, {0x99, 0x06}, /* 0x9C-0x9F */ + {0x99, 0x07}, {0x94, 0xE9}, {0x94, 0xEB}, {0x94, 0xEE}, /* 0xA0-0xA3 */ + {0x94, 0xEF}, {0x94, 0xF3}, {0x94, 0xF4}, {0x94, 0xF5}, /* 0xA4-0xA7 */ + {0x94, 0xF7}, {0x94, 0xF9}, {0x94, 0xFC}, {0x94, 0xFD}, /* 0xA8-0xAB */ + {0x94, 0xFF}, {0x95, 0x03}, {0x95, 0x02}, {0x95, 0x06}, /* 0xAC-0xAF */ + {0x95, 0x07}, {0x95, 0x09}, {0x95, 0x0A}, {0x95, 0x0D}, /* 0xB0-0xB3 */ + {0x95, 0x0E}, {0x95, 0x0F}, {0x95, 0x12}, {0x95, 0x13}, /* 0xB4-0xB7 */ + {0x95, 0x14}, {0x95, 0x15}, {0x95, 0x16}, {0x95, 0x18}, /* 0xB8-0xBB */ + {0x95, 0x1B}, {0x95, 0x1D}, {0x95, 0x1E}, {0x95, 0x1F}, /* 0xBC-0xBF */ + {0x95, 0x22}, {0x95, 0x2A}, {0x95, 0x2B}, {0x95, 0x29}, /* 0xC0-0xC3 */ + {0x95, 0x2C}, {0x95, 0x31}, {0x95, 0x32}, {0x95, 0x34}, /* 0xC4-0xC7 */ + {0x95, 0x36}, {0x95, 0x37}, {0x95, 0x38}, {0x95, 0x3C}, /* 0xC8-0xCB */ + {0x95, 0x3E}, {0x95, 0x3F}, {0x95, 0x42}, {0x95, 0x35}, /* 0xCC-0xCF */ + {0x95, 0x44}, {0x95, 0x45}, {0x95, 0x46}, {0x95, 0x49}, /* 0xD0-0xD3 */ + {0x95, 0x4C}, {0x95, 0x4E}, {0x95, 0x4F}, {0x95, 0x52}, /* 0xD4-0xD7 */ + {0x95, 0x53}, {0x95, 0x54}, {0x95, 0x56}, {0x95, 0x57}, /* 0xD8-0xDB */ + {0x95, 0x58}, {0x95, 0x59}, {0x95, 0x5B}, {0x95, 0x5E}, /* 0xDC-0xDF */ + {0x95, 0x5F}, {0x95, 0x5D}, {0x95, 0x61}, {0x95, 0x62}, /* 0xE0-0xE3 */ + {0x95, 0x64}, {0x95, 0x65}, {0x95, 0x66}, {0x95, 0x67}, /* 0xE4-0xE7 */ + {0x95, 0x68}, {0x95, 0x69}, {0x95, 0x6A}, {0x95, 0x6B}, /* 0xE8-0xEB */ + {0x95, 0x6C}, {0x95, 0x6F}, {0x95, 0x71}, {0x95, 0x72}, /* 0xEC-0xEF */ + {0x95, 0x73}, {0x95, 0x3A}, {0x77, 0xE7}, {0x77, 0xEC}, /* 0xF0-0xF3 */ + {0x96, 0xC9}, {0x79, 0xD5}, {0x79, 0xED}, {0x79, 0xE3}, /* 0xF4-0xF7 */ + {0x79, 0xEB}, {0x7A, 0x06}, {0x5D, 0x47}, {0x7A, 0x03}, /* 0xF8-0xFB */ + {0x7A, 0x02}, {0x7A, 0x1E}, {0x7A, 0x14}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x99, 0x08}, {0x99, 0x09}, {0x99, 0x0A}, {0x99, 0x0B}, /* 0x40-0x43 */ + {0x99, 0x0C}, {0x99, 0x0E}, {0x99, 0x0F}, {0x99, 0x11}, /* 0x44-0x47 */ + {0x99, 0x12}, {0x99, 0x13}, {0x99, 0x14}, {0x99, 0x15}, /* 0x48-0x4B */ + {0x99, 0x16}, {0x99, 0x17}, {0x99, 0x18}, {0x99, 0x19}, /* 0x4C-0x4F */ + {0x99, 0x1A}, {0x99, 0x1B}, {0x99, 0x1C}, {0x99, 0x1D}, /* 0x50-0x53 */ + {0x99, 0x1E}, {0x99, 0x1F}, {0x99, 0x20}, {0x99, 0x21}, /* 0x54-0x57 */ + {0x99, 0x22}, {0x99, 0x23}, {0x99, 0x24}, {0x99, 0x25}, /* 0x58-0x5B */ + {0x99, 0x26}, {0x99, 0x27}, {0x99, 0x28}, {0x99, 0x29}, /* 0x5C-0x5F */ + {0x99, 0x2A}, {0x99, 0x2B}, {0x99, 0x2C}, {0x99, 0x2D}, /* 0x60-0x63 */ + {0x99, 0x2F}, {0x99, 0x30}, {0x99, 0x31}, {0x99, 0x32}, /* 0x64-0x67 */ + {0x99, 0x33}, {0x99, 0x34}, {0x99, 0x35}, {0x99, 0x36}, /* 0x68-0x6B */ + {0x99, 0x37}, {0x99, 0x38}, {0x99, 0x39}, {0x99, 0x3A}, /* 0x6C-0x6F */ + {0x99, 0x3B}, {0x99, 0x3C}, {0x99, 0x3D}, {0x99, 0x3E}, /* 0x70-0x73 */ + {0x99, 0x3F}, {0x99, 0x40}, {0x99, 0x41}, {0x99, 0x42}, /* 0x74-0x77 */ + {0x99, 0x43}, {0x99, 0x44}, {0x99, 0x45}, {0x99, 0x46}, /* 0x78-0x7B */ + {0x99, 0x47}, {0x99, 0x48}, {0x99, 0x49}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x99, 0x4A}, {0x99, 0x4B}, {0x99, 0x4C}, {0x99, 0x4D}, /* 0x80-0x83 */ + {0x99, 0x4E}, {0x99, 0x4F}, {0x99, 0x50}, {0x99, 0x51}, /* 0x84-0x87 */ + {0x99, 0x52}, {0x99, 0x53}, {0x99, 0x56}, {0x99, 0x57}, /* 0x88-0x8B */ + {0x99, 0x58}, {0x99, 0x59}, {0x99, 0x5A}, {0x99, 0x5B}, /* 0x8C-0x8F */ + {0x99, 0x5C}, {0x99, 0x5D}, {0x99, 0x5E}, {0x99, 0x5F}, /* 0x90-0x93 */ + {0x99, 0x60}, {0x99, 0x61}, {0x99, 0x62}, {0x99, 0x64}, /* 0x94-0x97 */ + {0x99, 0x66}, {0x99, 0x73}, {0x99, 0x78}, {0x99, 0x79}, /* 0x98-0x9B */ + {0x99, 0x7B}, {0x99, 0x7E}, {0x99, 0x82}, {0x99, 0x83}, /* 0x9C-0x9F */ + {0x99, 0x89}, {0x7A, 0x39}, {0x7A, 0x37}, {0x7A, 0x51}, /* 0xA0-0xA3 */ + {0x9E, 0xCF}, {0x99, 0xA5}, {0x7A, 0x70}, {0x76, 0x88}, /* 0xA4-0xA7 */ + {0x76, 0x8E}, {0x76, 0x93}, {0x76, 0x99}, {0x76, 0xA4}, /* 0xA8-0xAB */ + {0x74, 0xDE}, {0x74, 0xE0}, {0x75, 0x2C}, {0x9E, 0x20}, /* 0xAC-0xAF */ + {0x9E, 0x22}, {0x9E, 0x28}, {0x9E, 0x29}, {0x9E, 0x2A}, /* 0xB0-0xB3 */ + {0x9E, 0x2B}, {0x9E, 0x2C}, {0x9E, 0x32}, {0x9E, 0x31}, /* 0xB4-0xB7 */ + {0x9E, 0x36}, {0x9E, 0x38}, {0x9E, 0x37}, {0x9E, 0x39}, /* 0xB8-0xBB */ + {0x9E, 0x3A}, {0x9E, 0x3E}, {0x9E, 0x41}, {0x9E, 0x42}, /* 0xBC-0xBF */ + {0x9E, 0x44}, {0x9E, 0x46}, {0x9E, 0x47}, {0x9E, 0x48}, /* 0xC0-0xC3 */ + {0x9E, 0x49}, {0x9E, 0x4B}, {0x9E, 0x4C}, {0x9E, 0x4E}, /* 0xC4-0xC7 */ + {0x9E, 0x51}, {0x9E, 0x55}, {0x9E, 0x57}, {0x9E, 0x5A}, /* 0xC8-0xCB */ + {0x9E, 0x5B}, {0x9E, 0x5C}, {0x9E, 0x5E}, {0x9E, 0x63}, /* 0xCC-0xCF */ + {0x9E, 0x66}, {0x9E, 0x67}, {0x9E, 0x68}, {0x9E, 0x69}, /* 0xD0-0xD3 */ + {0x9E, 0x6A}, {0x9E, 0x6B}, {0x9E, 0x6C}, {0x9E, 0x71}, /* 0xD4-0xD7 */ + {0x9E, 0x6D}, {0x9E, 0x73}, {0x75, 0x92}, {0x75, 0x94}, /* 0xD8-0xDB */ + {0x75, 0x96}, {0x75, 0xA0}, {0x75, 0x9D}, {0x75, 0xAC}, /* 0xDC-0xDF */ + {0x75, 0xA3}, {0x75, 0xB3}, {0x75, 0xB4}, {0x75, 0xB8}, /* 0xE0-0xE3 */ + {0x75, 0xC4}, {0x75, 0xB1}, {0x75, 0xB0}, {0x75, 0xC3}, /* 0xE4-0xE7 */ + {0x75, 0xC2}, {0x75, 0xD6}, {0x75, 0xCD}, {0x75, 0xE3}, /* 0xE8-0xEB */ + {0x75, 0xE8}, {0x75, 0xE6}, {0x75, 0xE4}, {0x75, 0xEB}, /* 0xEC-0xEF */ + {0x75, 0xE7}, {0x76, 0x03}, {0x75, 0xF1}, {0x75, 0xFC}, /* 0xF0-0xF3 */ + {0x75, 0xFF}, {0x76, 0x10}, {0x76, 0x00}, {0x76, 0x05}, /* 0xF4-0xF7 */ + {0x76, 0x0C}, {0x76, 0x17}, {0x76, 0x0A}, {0x76, 0x25}, /* 0xF8-0xFB */ + {0x76, 0x18}, {0x76, 0x15}, {0x76, 0x19}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x99, 0x8C}, {0x99, 0x8E}, {0x99, 0x9A}, {0x99, 0x9B}, /* 0x40-0x43 */ + {0x99, 0x9C}, {0x99, 0x9D}, {0x99, 0x9E}, {0x99, 0x9F}, /* 0x44-0x47 */ + {0x99, 0xA0}, {0x99, 0xA1}, {0x99, 0xA2}, {0x99, 0xA3}, /* 0x48-0x4B */ + {0x99, 0xA4}, {0x99, 0xA6}, {0x99, 0xA7}, {0x99, 0xA9}, /* 0x4C-0x4F */ + {0x99, 0xAA}, {0x99, 0xAB}, {0x99, 0xAC}, {0x99, 0xAD}, /* 0x50-0x53 */ + {0x99, 0xAE}, {0x99, 0xAF}, {0x99, 0xB0}, {0x99, 0xB1}, /* 0x54-0x57 */ + {0x99, 0xB2}, {0x99, 0xB3}, {0x99, 0xB4}, {0x99, 0xB5}, /* 0x58-0x5B */ + {0x99, 0xB6}, {0x99, 0xB7}, {0x99, 0xB8}, {0x99, 0xB9}, /* 0x5C-0x5F */ + {0x99, 0xBA}, {0x99, 0xBB}, {0x99, 0xBC}, {0x99, 0xBD}, /* 0x60-0x63 */ + {0x99, 0xBE}, {0x99, 0xBF}, {0x99, 0xC0}, {0x99, 0xC1}, /* 0x64-0x67 */ + {0x99, 0xC2}, {0x99, 0xC3}, {0x99, 0xC4}, {0x99, 0xC5}, /* 0x68-0x6B */ + {0x99, 0xC6}, {0x99, 0xC7}, {0x99, 0xC8}, {0x99, 0xC9}, /* 0x6C-0x6F */ + {0x99, 0xCA}, {0x99, 0xCB}, {0x99, 0xCC}, {0x99, 0xCD}, /* 0x70-0x73 */ + {0x99, 0xCE}, {0x99, 0xCF}, {0x99, 0xD0}, {0x99, 0xD1}, /* 0x74-0x77 */ + {0x99, 0xD2}, {0x99, 0xD3}, {0x99, 0xD4}, {0x99, 0xD5}, /* 0x78-0x7B */ + {0x99, 0xD6}, {0x99, 0xD7}, {0x99, 0xD8}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x99, 0xD9}, {0x99, 0xDA}, {0x99, 0xDB}, {0x99, 0xDC}, /* 0x80-0x83 */ + {0x99, 0xDD}, {0x99, 0xDE}, {0x99, 0xDF}, {0x99, 0xE0}, /* 0x84-0x87 */ + {0x99, 0xE1}, {0x99, 0xE2}, {0x99, 0xE3}, {0x99, 0xE4}, /* 0x88-0x8B */ + {0x99, 0xE5}, {0x99, 0xE6}, {0x99, 0xE7}, {0x99, 0xE8}, /* 0x8C-0x8F */ + {0x99, 0xE9}, {0x99, 0xEA}, {0x99, 0xEB}, {0x99, 0xEC}, /* 0x90-0x93 */ + {0x99, 0xED}, {0x99, 0xEE}, {0x99, 0xEF}, {0x99, 0xF0}, /* 0x94-0x97 */ + {0x99, 0xF1}, {0x99, 0xF2}, {0x99, 0xF3}, {0x99, 0xF4}, /* 0x98-0x9B */ + {0x99, 0xF5}, {0x99, 0xF6}, {0x99, 0xF7}, {0x99, 0xF8}, /* 0x9C-0x9F */ + {0x99, 0xF9}, {0x76, 0x1B}, {0x76, 0x3C}, {0x76, 0x22}, /* 0xA0-0xA3 */ + {0x76, 0x20}, {0x76, 0x40}, {0x76, 0x2D}, {0x76, 0x30}, /* 0xA4-0xA7 */ + {0x76, 0x3F}, {0x76, 0x35}, {0x76, 0x43}, {0x76, 0x3E}, /* 0xA8-0xAB */ + {0x76, 0x33}, {0x76, 0x4D}, {0x76, 0x5E}, {0x76, 0x54}, /* 0xAC-0xAF */ + {0x76, 0x5C}, {0x76, 0x56}, {0x76, 0x6B}, {0x76, 0x6F}, /* 0xB0-0xB3 */ + {0x7F, 0xCA}, {0x7A, 0xE6}, {0x7A, 0x78}, {0x7A, 0x79}, /* 0xB4-0xB7 */ + {0x7A, 0x80}, {0x7A, 0x86}, {0x7A, 0x88}, {0x7A, 0x95}, /* 0xB8-0xBB */ + {0x7A, 0xA6}, {0x7A, 0xA0}, {0x7A, 0xAC}, {0x7A, 0xA8}, /* 0xBC-0xBF */ + {0x7A, 0xAD}, {0x7A, 0xB3}, {0x88, 0x64}, {0x88, 0x69}, /* 0xC0-0xC3 */ + {0x88, 0x72}, {0x88, 0x7D}, {0x88, 0x7F}, {0x88, 0x82}, /* 0xC4-0xC7 */ + {0x88, 0xA2}, {0x88, 0xC6}, {0x88, 0xB7}, {0x88, 0xBC}, /* 0xC8-0xCB */ + {0x88, 0xC9}, {0x88, 0xE2}, {0x88, 0xCE}, {0x88, 0xE3}, /* 0xCC-0xCF */ + {0x88, 0xE5}, {0x88, 0xF1}, {0x89, 0x1A}, {0x88, 0xFC}, /* 0xD0-0xD3 */ + {0x88, 0xE8}, {0x88, 0xFE}, {0x88, 0xF0}, {0x89, 0x21}, /* 0xD4-0xD7 */ + {0x89, 0x19}, {0x89, 0x13}, {0x89, 0x1B}, {0x89, 0x0A}, /* 0xD8-0xDB */ + {0x89, 0x34}, {0x89, 0x2B}, {0x89, 0x36}, {0x89, 0x41}, /* 0xDC-0xDF */ + {0x89, 0x66}, {0x89, 0x7B}, {0x75, 0x8B}, {0x80, 0xE5}, /* 0xE0-0xE3 */ + {0x76, 0xB2}, {0x76, 0xB4}, {0x77, 0xDC}, {0x80, 0x12}, /* 0xE4-0xE7 */ + {0x80, 0x14}, {0x80, 0x16}, {0x80, 0x1C}, {0x80, 0x20}, /* 0xE8-0xEB */ + {0x80, 0x22}, {0x80, 0x25}, {0x80, 0x26}, {0x80, 0x27}, /* 0xEC-0xEF */ + {0x80, 0x29}, {0x80, 0x28}, {0x80, 0x31}, {0x80, 0x0B}, /* 0xF0-0xF3 */ + {0x80, 0x35}, {0x80, 0x43}, {0x80, 0x46}, {0x80, 0x4D}, /* 0xF4-0xF7 */ + {0x80, 0x52}, {0x80, 0x69}, {0x80, 0x71}, {0x89, 0x83}, /* 0xF8-0xFB */ + {0x98, 0x78}, {0x98, 0x80}, {0x98, 0x83}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x99, 0xFA}, {0x99, 0xFB}, {0x99, 0xFC}, {0x99, 0xFD}, /* 0x40-0x43 */ + {0x99, 0xFE}, {0x99, 0xFF}, {0x9A, 0x00}, {0x9A, 0x01}, /* 0x44-0x47 */ + {0x9A, 0x02}, {0x9A, 0x03}, {0x9A, 0x04}, {0x9A, 0x05}, /* 0x48-0x4B */ + {0x9A, 0x06}, {0x9A, 0x07}, {0x9A, 0x08}, {0x9A, 0x09}, /* 0x4C-0x4F */ + {0x9A, 0x0A}, {0x9A, 0x0B}, {0x9A, 0x0C}, {0x9A, 0x0D}, /* 0x50-0x53 */ + {0x9A, 0x0E}, {0x9A, 0x0F}, {0x9A, 0x10}, {0x9A, 0x11}, /* 0x54-0x57 */ + {0x9A, 0x12}, {0x9A, 0x13}, {0x9A, 0x14}, {0x9A, 0x15}, /* 0x58-0x5B */ + {0x9A, 0x16}, {0x9A, 0x17}, {0x9A, 0x18}, {0x9A, 0x19}, /* 0x5C-0x5F */ + {0x9A, 0x1A}, {0x9A, 0x1B}, {0x9A, 0x1C}, {0x9A, 0x1D}, /* 0x60-0x63 */ + {0x9A, 0x1E}, {0x9A, 0x1F}, {0x9A, 0x20}, {0x9A, 0x21}, /* 0x64-0x67 */ + {0x9A, 0x22}, {0x9A, 0x23}, {0x9A, 0x24}, {0x9A, 0x25}, /* 0x68-0x6B */ + {0x9A, 0x26}, {0x9A, 0x27}, {0x9A, 0x28}, {0x9A, 0x29}, /* 0x6C-0x6F */ + {0x9A, 0x2A}, {0x9A, 0x2B}, {0x9A, 0x2C}, {0x9A, 0x2D}, /* 0x70-0x73 */ + {0x9A, 0x2E}, {0x9A, 0x2F}, {0x9A, 0x30}, {0x9A, 0x31}, /* 0x74-0x77 */ + {0x9A, 0x32}, {0x9A, 0x33}, {0x9A, 0x34}, {0x9A, 0x35}, /* 0x78-0x7B */ + {0x9A, 0x36}, {0x9A, 0x37}, {0x9A, 0x38}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9A, 0x39}, {0x9A, 0x3A}, {0x9A, 0x3B}, {0x9A, 0x3C}, /* 0x80-0x83 */ + {0x9A, 0x3D}, {0x9A, 0x3E}, {0x9A, 0x3F}, {0x9A, 0x40}, /* 0x84-0x87 */ + {0x9A, 0x41}, {0x9A, 0x42}, {0x9A, 0x43}, {0x9A, 0x44}, /* 0x88-0x8B */ + {0x9A, 0x45}, {0x9A, 0x46}, {0x9A, 0x47}, {0x9A, 0x48}, /* 0x8C-0x8F */ + {0x9A, 0x49}, {0x9A, 0x4A}, {0x9A, 0x4B}, {0x9A, 0x4C}, /* 0x90-0x93 */ + {0x9A, 0x4D}, {0x9A, 0x4E}, {0x9A, 0x4F}, {0x9A, 0x50}, /* 0x94-0x97 */ + {0x9A, 0x51}, {0x9A, 0x52}, {0x9A, 0x53}, {0x9A, 0x54}, /* 0x98-0x9B */ + {0x9A, 0x55}, {0x9A, 0x56}, {0x9A, 0x57}, {0x9A, 0x58}, /* 0x9C-0x9F */ + {0x9A, 0x59}, {0x98, 0x89}, {0x98, 0x8C}, {0x98, 0x8D}, /* 0xA0-0xA3 */ + {0x98, 0x8F}, {0x98, 0x94}, {0x98, 0x9A}, {0x98, 0x9B}, /* 0xA4-0xA7 */ + {0x98, 0x9E}, {0x98, 0x9F}, {0x98, 0xA1}, {0x98, 0xA2}, /* 0xA8-0xAB */ + {0x98, 0xA5}, {0x98, 0xA6}, {0x86, 0x4D}, {0x86, 0x54}, /* 0xAC-0xAF */ + {0x86, 0x6C}, {0x86, 0x6E}, {0x86, 0x7F}, {0x86, 0x7A}, /* 0xB0-0xB3 */ + {0x86, 0x7C}, {0x86, 0x7B}, {0x86, 0xA8}, {0x86, 0x8D}, /* 0xB4-0xB7 */ + {0x86, 0x8B}, {0x86, 0xAC}, {0x86, 0x9D}, {0x86, 0xA7}, /* 0xB8-0xBB */ + {0x86, 0xA3}, {0x86, 0xAA}, {0x86, 0x93}, {0x86, 0xA9}, /* 0xBC-0xBF */ + {0x86, 0xB6}, {0x86, 0xC4}, {0x86, 0xB5}, {0x86, 0xCE}, /* 0xC0-0xC3 */ + {0x86, 0xB0}, {0x86, 0xBA}, {0x86, 0xB1}, {0x86, 0xAF}, /* 0xC4-0xC7 */ + {0x86, 0xC9}, {0x86, 0xCF}, {0x86, 0xB4}, {0x86, 0xE9}, /* 0xC8-0xCB */ + {0x86, 0xF1}, {0x86, 0xF2}, {0x86, 0xED}, {0x86, 0xF3}, /* 0xCC-0xCF */ + {0x86, 0xD0}, {0x87, 0x13}, {0x86, 0xDE}, {0x86, 0xF4}, /* 0xD0-0xD3 */ + {0x86, 0xDF}, {0x86, 0xD8}, {0x86, 0xD1}, {0x87, 0x03}, /* 0xD4-0xD7 */ + {0x87, 0x07}, {0x86, 0xF8}, {0x87, 0x08}, {0x87, 0x0A}, /* 0xD8-0xDB */ + {0x87, 0x0D}, {0x87, 0x09}, {0x87, 0x23}, {0x87, 0x3B}, /* 0xDC-0xDF */ + {0x87, 0x1E}, {0x87, 0x25}, {0x87, 0x2E}, {0x87, 0x1A}, /* 0xE0-0xE3 */ + {0x87, 0x3E}, {0x87, 0x48}, {0x87, 0x34}, {0x87, 0x31}, /* 0xE4-0xE7 */ + {0x87, 0x29}, {0x87, 0x37}, {0x87, 0x3F}, {0x87, 0x82}, /* 0xE8-0xEB */ + {0x87, 0x22}, {0x87, 0x7D}, {0x87, 0x7E}, {0x87, 0x7B}, /* 0xEC-0xEF */ + {0x87, 0x60}, {0x87, 0x70}, {0x87, 0x4C}, {0x87, 0x6E}, /* 0xF0-0xF3 */ + {0x87, 0x8B}, {0x87, 0x53}, {0x87, 0x63}, {0x87, 0x7C}, /* 0xF4-0xF7 */ + {0x87, 0x64}, {0x87, 0x59}, {0x87, 0x65}, {0x87, 0x93}, /* 0xF8-0xFB */ + {0x87, 0xAF}, {0x87, 0xA8}, {0x87, 0xD2}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9A, 0x5A}, {0x9A, 0x5B}, {0x9A, 0x5C}, {0x9A, 0x5D}, /* 0x40-0x43 */ + {0x9A, 0x5E}, {0x9A, 0x5F}, {0x9A, 0x60}, {0x9A, 0x61}, /* 0x44-0x47 */ + {0x9A, 0x62}, {0x9A, 0x63}, {0x9A, 0x64}, {0x9A, 0x65}, /* 0x48-0x4B */ + {0x9A, 0x66}, {0x9A, 0x67}, {0x9A, 0x68}, {0x9A, 0x69}, /* 0x4C-0x4F */ + {0x9A, 0x6A}, {0x9A, 0x6B}, {0x9A, 0x72}, {0x9A, 0x83}, /* 0x50-0x53 */ + {0x9A, 0x89}, {0x9A, 0x8D}, {0x9A, 0x8E}, {0x9A, 0x94}, /* 0x54-0x57 */ + {0x9A, 0x95}, {0x9A, 0x99}, {0x9A, 0xA6}, {0x9A, 0xA9}, /* 0x58-0x5B */ + {0x9A, 0xAA}, {0x9A, 0xAB}, {0x9A, 0xAC}, {0x9A, 0xAD}, /* 0x5C-0x5F */ + {0x9A, 0xAE}, {0x9A, 0xAF}, {0x9A, 0xB2}, {0x9A, 0xB3}, /* 0x60-0x63 */ + {0x9A, 0xB4}, {0x9A, 0xB5}, {0x9A, 0xB9}, {0x9A, 0xBB}, /* 0x64-0x67 */ + {0x9A, 0xBD}, {0x9A, 0xBE}, {0x9A, 0xBF}, {0x9A, 0xC3}, /* 0x68-0x6B */ + {0x9A, 0xC4}, {0x9A, 0xC6}, {0x9A, 0xC7}, {0x9A, 0xC8}, /* 0x6C-0x6F */ + {0x9A, 0xC9}, {0x9A, 0xCA}, {0x9A, 0xCD}, {0x9A, 0xCE}, /* 0x70-0x73 */ + {0x9A, 0xCF}, {0x9A, 0xD0}, {0x9A, 0xD2}, {0x9A, 0xD4}, /* 0x74-0x77 */ + {0x9A, 0xD5}, {0x9A, 0xD6}, {0x9A, 0xD7}, {0x9A, 0xD9}, /* 0x78-0x7B */ + {0x9A, 0xDA}, {0x9A, 0xDB}, {0x9A, 0xDC}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9A, 0xDD}, {0x9A, 0xDE}, {0x9A, 0xE0}, {0x9A, 0xE2}, /* 0x80-0x83 */ + {0x9A, 0xE3}, {0x9A, 0xE4}, {0x9A, 0xE5}, {0x9A, 0xE7}, /* 0x84-0x87 */ + {0x9A, 0xE8}, {0x9A, 0xE9}, {0x9A, 0xEA}, {0x9A, 0xEC}, /* 0x88-0x8B */ + {0x9A, 0xEE}, {0x9A, 0xF0}, {0x9A, 0xF1}, {0x9A, 0xF2}, /* 0x8C-0x8F */ + {0x9A, 0xF3}, {0x9A, 0xF4}, {0x9A, 0xF5}, {0x9A, 0xF6}, /* 0x90-0x93 */ + {0x9A, 0xF7}, {0x9A, 0xF8}, {0x9A, 0xFA}, {0x9A, 0xFC}, /* 0x94-0x97 */ + {0x9A, 0xFD}, {0x9A, 0xFE}, {0x9A, 0xFF}, {0x9B, 0x00}, /* 0x98-0x9B */ + {0x9B, 0x01}, {0x9B, 0x02}, {0x9B, 0x04}, {0x9B, 0x05}, /* 0x9C-0x9F */ + {0x9B, 0x06}, {0x87, 0xC6}, {0x87, 0x88}, {0x87, 0x85}, /* 0xA0-0xA3 */ + {0x87, 0xAD}, {0x87, 0x97}, {0x87, 0x83}, {0x87, 0xAB}, /* 0xA4-0xA7 */ + {0x87, 0xE5}, {0x87, 0xAC}, {0x87, 0xB5}, {0x87, 0xB3}, /* 0xA8-0xAB */ + {0x87, 0xCB}, {0x87, 0xD3}, {0x87, 0xBD}, {0x87, 0xD1}, /* 0xAC-0xAF */ + {0x87, 0xC0}, {0x87, 0xCA}, {0x87, 0xDB}, {0x87, 0xEA}, /* 0xB0-0xB3 */ + {0x87, 0xE0}, {0x87, 0xEE}, {0x88, 0x16}, {0x88, 0x13}, /* 0xB4-0xB7 */ + {0x87, 0xFE}, {0x88, 0x0A}, {0x88, 0x1B}, {0x88, 0x21}, /* 0xB8-0xBB */ + {0x88, 0x39}, {0x88, 0x3C}, {0x7F, 0x36}, {0x7F, 0x42}, /* 0xBC-0xBF */ + {0x7F, 0x44}, {0x7F, 0x45}, {0x82, 0x10}, {0x7A, 0xFA}, /* 0xC0-0xC3 */ + {0x7A, 0xFD}, {0x7B, 0x08}, {0x7B, 0x03}, {0x7B, 0x04}, /* 0xC4-0xC7 */ + {0x7B, 0x15}, {0x7B, 0x0A}, {0x7B, 0x2B}, {0x7B, 0x0F}, /* 0xC8-0xCB */ + {0x7B, 0x47}, {0x7B, 0x38}, {0x7B, 0x2A}, {0x7B, 0x19}, /* 0xCC-0xCF */ + {0x7B, 0x2E}, {0x7B, 0x31}, {0x7B, 0x20}, {0x7B, 0x25}, /* 0xD0-0xD3 */ + {0x7B, 0x24}, {0x7B, 0x33}, {0x7B, 0x3E}, {0x7B, 0x1E}, /* 0xD4-0xD7 */ + {0x7B, 0x58}, {0x7B, 0x5A}, {0x7B, 0x45}, {0x7B, 0x75}, /* 0xD8-0xDB */ + {0x7B, 0x4C}, {0x7B, 0x5D}, {0x7B, 0x60}, {0x7B, 0x6E}, /* 0xDC-0xDF */ + {0x7B, 0x7B}, {0x7B, 0x62}, {0x7B, 0x72}, {0x7B, 0x71}, /* 0xE0-0xE3 */ + {0x7B, 0x90}, {0x7B, 0xA6}, {0x7B, 0xA7}, {0x7B, 0xB8}, /* 0xE4-0xE7 */ + {0x7B, 0xAC}, {0x7B, 0x9D}, {0x7B, 0xA8}, {0x7B, 0x85}, /* 0xE8-0xEB */ + {0x7B, 0xAA}, {0x7B, 0x9C}, {0x7B, 0xA2}, {0x7B, 0xAB}, /* 0xEC-0xEF */ + {0x7B, 0xB4}, {0x7B, 0xD1}, {0x7B, 0xC1}, {0x7B, 0xCC}, /* 0xF0-0xF3 */ + {0x7B, 0xDD}, {0x7B, 0xDA}, {0x7B, 0xE5}, {0x7B, 0xE6}, /* 0xF4-0xF7 */ + {0x7B, 0xEA}, {0x7C, 0x0C}, {0x7B, 0xFE}, {0x7B, 0xFC}, /* 0xF8-0xFB */ + {0x7C, 0x0F}, {0x7C, 0x16}, {0x7C, 0x0B}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9B, 0x07}, {0x9B, 0x09}, {0x9B, 0x0A}, {0x9B, 0x0B}, /* 0x40-0x43 */ + {0x9B, 0x0C}, {0x9B, 0x0D}, {0x9B, 0x0E}, {0x9B, 0x10}, /* 0x44-0x47 */ + {0x9B, 0x11}, {0x9B, 0x12}, {0x9B, 0x14}, {0x9B, 0x15}, /* 0x48-0x4B */ + {0x9B, 0x16}, {0x9B, 0x17}, {0x9B, 0x18}, {0x9B, 0x19}, /* 0x4C-0x4F */ + {0x9B, 0x1A}, {0x9B, 0x1B}, {0x9B, 0x1C}, {0x9B, 0x1D}, /* 0x50-0x53 */ + {0x9B, 0x1E}, {0x9B, 0x20}, {0x9B, 0x21}, {0x9B, 0x22}, /* 0x54-0x57 */ + {0x9B, 0x24}, {0x9B, 0x25}, {0x9B, 0x26}, {0x9B, 0x27}, /* 0x58-0x5B */ + {0x9B, 0x28}, {0x9B, 0x29}, {0x9B, 0x2A}, {0x9B, 0x2B}, /* 0x5C-0x5F */ + {0x9B, 0x2C}, {0x9B, 0x2D}, {0x9B, 0x2E}, {0x9B, 0x30}, /* 0x60-0x63 */ + {0x9B, 0x31}, {0x9B, 0x33}, {0x9B, 0x34}, {0x9B, 0x35}, /* 0x64-0x67 */ + {0x9B, 0x36}, {0x9B, 0x37}, {0x9B, 0x38}, {0x9B, 0x39}, /* 0x68-0x6B */ + {0x9B, 0x3A}, {0x9B, 0x3D}, {0x9B, 0x3E}, {0x9B, 0x3F}, /* 0x6C-0x6F */ + {0x9B, 0x40}, {0x9B, 0x46}, {0x9B, 0x4A}, {0x9B, 0x4B}, /* 0x70-0x73 */ + {0x9B, 0x4C}, {0x9B, 0x4E}, {0x9B, 0x50}, {0x9B, 0x52}, /* 0x74-0x77 */ + {0x9B, 0x53}, {0x9B, 0x55}, {0x9B, 0x56}, {0x9B, 0x57}, /* 0x78-0x7B */ + {0x9B, 0x58}, {0x9B, 0x59}, {0x9B, 0x5A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9B, 0x5B}, {0x9B, 0x5C}, {0x9B, 0x5D}, {0x9B, 0x5E}, /* 0x80-0x83 */ + {0x9B, 0x5F}, {0x9B, 0x60}, {0x9B, 0x61}, {0x9B, 0x62}, /* 0x84-0x87 */ + {0x9B, 0x63}, {0x9B, 0x64}, {0x9B, 0x65}, {0x9B, 0x66}, /* 0x88-0x8B */ + {0x9B, 0x67}, {0x9B, 0x68}, {0x9B, 0x69}, {0x9B, 0x6A}, /* 0x8C-0x8F */ + {0x9B, 0x6B}, {0x9B, 0x6C}, {0x9B, 0x6D}, {0x9B, 0x6E}, /* 0x90-0x93 */ + {0x9B, 0x6F}, {0x9B, 0x70}, {0x9B, 0x71}, {0x9B, 0x72}, /* 0x94-0x97 */ + {0x9B, 0x73}, {0x9B, 0x74}, {0x9B, 0x75}, {0x9B, 0x76}, /* 0x98-0x9B */ + {0x9B, 0x77}, {0x9B, 0x78}, {0x9B, 0x79}, {0x9B, 0x7A}, /* 0x9C-0x9F */ + {0x9B, 0x7B}, {0x7C, 0x1F}, {0x7C, 0x2A}, {0x7C, 0x26}, /* 0xA0-0xA3 */ + {0x7C, 0x38}, {0x7C, 0x41}, {0x7C, 0x40}, {0x81, 0xFE}, /* 0xA4-0xA7 */ + {0x82, 0x01}, {0x82, 0x02}, {0x82, 0x04}, {0x81, 0xEC}, /* 0xA8-0xAB */ + {0x88, 0x44}, {0x82, 0x21}, {0x82, 0x22}, {0x82, 0x23}, /* 0xAC-0xAF */ + {0x82, 0x2D}, {0x82, 0x2F}, {0x82, 0x28}, {0x82, 0x2B}, /* 0xB0-0xB3 */ + {0x82, 0x38}, {0x82, 0x3B}, {0x82, 0x33}, {0x82, 0x34}, /* 0xB4-0xB7 */ + {0x82, 0x3E}, {0x82, 0x44}, {0x82, 0x49}, {0x82, 0x4B}, /* 0xB8-0xBB */ + {0x82, 0x4F}, {0x82, 0x5A}, {0x82, 0x5F}, {0x82, 0x68}, /* 0xBC-0xBF */ + {0x88, 0x7E}, {0x88, 0x85}, {0x88, 0x88}, {0x88, 0xD8}, /* 0xC0-0xC3 */ + {0x88, 0xDF}, {0x89, 0x5E}, {0x7F, 0x9D}, {0x7F, 0x9F}, /* 0xC4-0xC7 */ + {0x7F, 0xA7}, {0x7F, 0xAF}, {0x7F, 0xB0}, {0x7F, 0xB2}, /* 0xC8-0xCB */ + {0x7C, 0x7C}, {0x65, 0x49}, {0x7C, 0x91}, {0x7C, 0x9D}, /* 0xCC-0xCF */ + {0x7C, 0x9C}, {0x7C, 0x9E}, {0x7C, 0xA2}, {0x7C, 0xB2}, /* 0xD0-0xD3 */ + {0x7C, 0xBC}, {0x7C, 0xBD}, {0x7C, 0xC1}, {0x7C, 0xC7}, /* 0xD4-0xD7 */ + {0x7C, 0xCC}, {0x7C, 0xCD}, {0x7C, 0xC8}, {0x7C, 0xC5}, /* 0xD8-0xDB */ + {0x7C, 0xD7}, {0x7C, 0xE8}, {0x82, 0x6E}, {0x66, 0xA8}, /* 0xDC-0xDF */ + {0x7F, 0xBF}, {0x7F, 0xCE}, {0x7F, 0xD5}, {0x7F, 0xE5}, /* 0xE0-0xE3 */ + {0x7F, 0xE1}, {0x7F, 0xE6}, {0x7F, 0xE9}, {0x7F, 0xEE}, /* 0xE4-0xE7 */ + {0x7F, 0xF3}, {0x7C, 0xF8}, {0x7D, 0x77}, {0x7D, 0xA6}, /* 0xE8-0xEB */ + {0x7D, 0xAE}, {0x7E, 0x47}, {0x7E, 0x9B}, {0x9E, 0xB8}, /* 0xEC-0xEF */ + {0x9E, 0xB4}, {0x8D, 0x73}, {0x8D, 0x84}, {0x8D, 0x94}, /* 0xF0-0xF3 */ + {0x8D, 0x91}, {0x8D, 0xB1}, {0x8D, 0x67}, {0x8D, 0x6D}, /* 0xF4-0xF7 */ + {0x8C, 0x47}, {0x8C, 0x49}, {0x91, 0x4A}, {0x91, 0x50}, /* 0xF8-0xFB */ + {0x91, 0x4E}, {0x91, 0x4F}, {0x91, 0x64}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9B, 0x7C}, {0x9B, 0x7D}, {0x9B, 0x7E}, {0x9B, 0x7F}, /* 0x40-0x43 */ + {0x9B, 0x80}, {0x9B, 0x81}, {0x9B, 0x82}, {0x9B, 0x83}, /* 0x44-0x47 */ + {0x9B, 0x84}, {0x9B, 0x85}, {0x9B, 0x86}, {0x9B, 0x87}, /* 0x48-0x4B */ + {0x9B, 0x88}, {0x9B, 0x89}, {0x9B, 0x8A}, {0x9B, 0x8B}, /* 0x4C-0x4F */ + {0x9B, 0x8C}, {0x9B, 0x8D}, {0x9B, 0x8E}, {0x9B, 0x8F}, /* 0x50-0x53 */ + {0x9B, 0x90}, {0x9B, 0x91}, {0x9B, 0x92}, {0x9B, 0x93}, /* 0x54-0x57 */ + {0x9B, 0x94}, {0x9B, 0x95}, {0x9B, 0x96}, {0x9B, 0x97}, /* 0x58-0x5B */ + {0x9B, 0x98}, {0x9B, 0x99}, {0x9B, 0x9A}, {0x9B, 0x9B}, /* 0x5C-0x5F */ + {0x9B, 0x9C}, {0x9B, 0x9D}, {0x9B, 0x9E}, {0x9B, 0x9F}, /* 0x60-0x63 */ + {0x9B, 0xA0}, {0x9B, 0xA1}, {0x9B, 0xA2}, {0x9B, 0xA3}, /* 0x64-0x67 */ + {0x9B, 0xA4}, {0x9B, 0xA5}, {0x9B, 0xA6}, {0x9B, 0xA7}, /* 0x68-0x6B */ + {0x9B, 0xA8}, {0x9B, 0xA9}, {0x9B, 0xAA}, {0x9B, 0xAB}, /* 0x6C-0x6F */ + {0x9B, 0xAC}, {0x9B, 0xAD}, {0x9B, 0xAE}, {0x9B, 0xAF}, /* 0x70-0x73 */ + {0x9B, 0xB0}, {0x9B, 0xB1}, {0x9B, 0xB2}, {0x9B, 0xB3}, /* 0x74-0x77 */ + {0x9B, 0xB4}, {0x9B, 0xB5}, {0x9B, 0xB6}, {0x9B, 0xB7}, /* 0x78-0x7B */ + {0x9B, 0xB8}, {0x9B, 0xB9}, {0x9B, 0xBA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9B, 0xBB}, {0x9B, 0xBC}, {0x9B, 0xBD}, {0x9B, 0xBE}, /* 0x80-0x83 */ + {0x9B, 0xBF}, {0x9B, 0xC0}, {0x9B, 0xC1}, {0x9B, 0xC2}, /* 0x84-0x87 */ + {0x9B, 0xC3}, {0x9B, 0xC4}, {0x9B, 0xC5}, {0x9B, 0xC6}, /* 0x88-0x8B */ + {0x9B, 0xC7}, {0x9B, 0xC8}, {0x9B, 0xC9}, {0x9B, 0xCA}, /* 0x8C-0x8F */ + {0x9B, 0xCB}, {0x9B, 0xCC}, {0x9B, 0xCD}, {0x9B, 0xCE}, /* 0x90-0x93 */ + {0x9B, 0xCF}, {0x9B, 0xD0}, {0x9B, 0xD1}, {0x9B, 0xD2}, /* 0x94-0x97 */ + {0x9B, 0xD3}, {0x9B, 0xD4}, {0x9B, 0xD5}, {0x9B, 0xD6}, /* 0x98-0x9B */ + {0x9B, 0xD7}, {0x9B, 0xD8}, {0x9B, 0xD9}, {0x9B, 0xDA}, /* 0x9C-0x9F */ + {0x9B, 0xDB}, {0x91, 0x62}, {0x91, 0x61}, {0x91, 0x70}, /* 0xA0-0xA3 */ + {0x91, 0x69}, {0x91, 0x6F}, {0x91, 0x7D}, {0x91, 0x7E}, /* 0xA4-0xA7 */ + {0x91, 0x72}, {0x91, 0x74}, {0x91, 0x79}, {0x91, 0x8C}, /* 0xA8-0xAB */ + {0x91, 0x85}, {0x91, 0x90}, {0x91, 0x8D}, {0x91, 0x91}, /* 0xAC-0xAF */ + {0x91, 0xA2}, {0x91, 0xA3}, {0x91, 0xAA}, {0x91, 0xAD}, /* 0xB0-0xB3 */ + {0x91, 0xAE}, {0x91, 0xAF}, {0x91, 0xB5}, {0x91, 0xB4}, /* 0xB4-0xB7 */ + {0x91, 0xBA}, {0x8C, 0x55}, {0x9E, 0x7E}, {0x8D, 0xB8}, /* 0xB8-0xBB */ + {0x8D, 0xEB}, {0x8E, 0x05}, {0x8E, 0x59}, {0x8E, 0x69}, /* 0xBC-0xBF */ + {0x8D, 0xB5}, {0x8D, 0xBF}, {0x8D, 0xBC}, {0x8D, 0xBA}, /* 0xC0-0xC3 */ + {0x8D, 0xC4}, {0x8D, 0xD6}, {0x8D, 0xD7}, {0x8D, 0xDA}, /* 0xC4-0xC7 */ + {0x8D, 0xDE}, {0x8D, 0xCE}, {0x8D, 0xCF}, {0x8D, 0xDB}, /* 0xC8-0xCB */ + {0x8D, 0xC6}, {0x8D, 0xEC}, {0x8D, 0xF7}, {0x8D, 0xF8}, /* 0xCC-0xCF */ + {0x8D, 0xE3}, {0x8D, 0xF9}, {0x8D, 0xFB}, {0x8D, 0xE4}, /* 0xD0-0xD3 */ + {0x8E, 0x09}, {0x8D, 0xFD}, {0x8E, 0x14}, {0x8E, 0x1D}, /* 0xD4-0xD7 */ + {0x8E, 0x1F}, {0x8E, 0x2C}, {0x8E, 0x2E}, {0x8E, 0x23}, /* 0xD8-0xDB */ + {0x8E, 0x2F}, {0x8E, 0x3A}, {0x8E, 0x40}, {0x8E, 0x39}, /* 0xDC-0xDF */ + {0x8E, 0x35}, {0x8E, 0x3D}, {0x8E, 0x31}, {0x8E, 0x49}, /* 0xE0-0xE3 */ + {0x8E, 0x41}, {0x8E, 0x42}, {0x8E, 0x51}, {0x8E, 0x52}, /* 0xE4-0xE7 */ + {0x8E, 0x4A}, {0x8E, 0x70}, {0x8E, 0x76}, {0x8E, 0x7C}, /* 0xE8-0xEB */ + {0x8E, 0x6F}, {0x8E, 0x74}, {0x8E, 0x85}, {0x8E, 0x8F}, /* 0xEC-0xEF */ + {0x8E, 0x94}, {0x8E, 0x90}, {0x8E, 0x9C}, {0x8E, 0x9E}, /* 0xF0-0xF3 */ + {0x8C, 0x78}, {0x8C, 0x82}, {0x8C, 0x8A}, {0x8C, 0x85}, /* 0xF4-0xF7 */ + {0x8C, 0x98}, {0x8C, 0x94}, {0x65, 0x9B}, {0x89, 0xD6}, /* 0xF8-0xFB */ + {0x89, 0xDE}, {0x89, 0xDA}, {0x89, 0xDC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9B, 0xDC}, {0x9B, 0xDD}, {0x9B, 0xDE}, {0x9B, 0xDF}, /* 0x40-0x43 */ + {0x9B, 0xE0}, {0x9B, 0xE1}, {0x9B, 0xE2}, {0x9B, 0xE3}, /* 0x44-0x47 */ + {0x9B, 0xE4}, {0x9B, 0xE5}, {0x9B, 0xE6}, {0x9B, 0xE7}, /* 0x48-0x4B */ + {0x9B, 0xE8}, {0x9B, 0xE9}, {0x9B, 0xEA}, {0x9B, 0xEB}, /* 0x4C-0x4F */ + {0x9B, 0xEC}, {0x9B, 0xED}, {0x9B, 0xEE}, {0x9B, 0xEF}, /* 0x50-0x53 */ + {0x9B, 0xF0}, {0x9B, 0xF1}, {0x9B, 0xF2}, {0x9B, 0xF3}, /* 0x54-0x57 */ + {0x9B, 0xF4}, {0x9B, 0xF5}, {0x9B, 0xF6}, {0x9B, 0xF7}, /* 0x58-0x5B */ + {0x9B, 0xF8}, {0x9B, 0xF9}, {0x9B, 0xFA}, {0x9B, 0xFB}, /* 0x5C-0x5F */ + {0x9B, 0xFC}, {0x9B, 0xFD}, {0x9B, 0xFE}, {0x9B, 0xFF}, /* 0x60-0x63 */ + {0x9C, 0x00}, {0x9C, 0x01}, {0x9C, 0x02}, {0x9C, 0x03}, /* 0x64-0x67 */ + {0x9C, 0x04}, {0x9C, 0x05}, {0x9C, 0x06}, {0x9C, 0x07}, /* 0x68-0x6B */ + {0x9C, 0x08}, {0x9C, 0x09}, {0x9C, 0x0A}, {0x9C, 0x0B}, /* 0x6C-0x6F */ + {0x9C, 0x0C}, {0x9C, 0x0D}, {0x9C, 0x0E}, {0x9C, 0x0F}, /* 0x70-0x73 */ + {0x9C, 0x10}, {0x9C, 0x11}, {0x9C, 0x12}, {0x9C, 0x13}, /* 0x74-0x77 */ + {0x9C, 0x14}, {0x9C, 0x15}, {0x9C, 0x16}, {0x9C, 0x17}, /* 0x78-0x7B */ + {0x9C, 0x18}, {0x9C, 0x19}, {0x9C, 0x1A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9C, 0x1B}, {0x9C, 0x1C}, {0x9C, 0x1D}, {0x9C, 0x1E}, /* 0x80-0x83 */ + {0x9C, 0x1F}, {0x9C, 0x20}, {0x9C, 0x21}, {0x9C, 0x22}, /* 0x84-0x87 */ + {0x9C, 0x23}, {0x9C, 0x24}, {0x9C, 0x25}, {0x9C, 0x26}, /* 0x88-0x8B */ + {0x9C, 0x27}, {0x9C, 0x28}, {0x9C, 0x29}, {0x9C, 0x2A}, /* 0x8C-0x8F */ + {0x9C, 0x2B}, {0x9C, 0x2C}, {0x9C, 0x2D}, {0x9C, 0x2E}, /* 0x90-0x93 */ + {0x9C, 0x2F}, {0x9C, 0x30}, {0x9C, 0x31}, {0x9C, 0x32}, /* 0x94-0x97 */ + {0x9C, 0x33}, {0x9C, 0x34}, {0x9C, 0x35}, {0x9C, 0x36}, /* 0x98-0x9B */ + {0x9C, 0x37}, {0x9C, 0x38}, {0x9C, 0x39}, {0x9C, 0x3A}, /* 0x9C-0x9F */ + {0x9C, 0x3B}, {0x89, 0xE5}, {0x89, 0xEB}, {0x89, 0xEF}, /* 0xA0-0xA3 */ + {0x8A, 0x3E}, {0x8B, 0x26}, {0x97, 0x53}, {0x96, 0xE9}, /* 0xA4-0xA7 */ + {0x96, 0xF3}, {0x96, 0xEF}, {0x97, 0x06}, {0x97, 0x01}, /* 0xA8-0xAB */ + {0x97, 0x08}, {0x97, 0x0F}, {0x97, 0x0E}, {0x97, 0x2A}, /* 0xAC-0xAF */ + {0x97, 0x2D}, {0x97, 0x30}, {0x97, 0x3E}, {0x9F, 0x80}, /* 0xB0-0xB3 */ + {0x9F, 0x83}, {0x9F, 0x85}, {0x9F, 0x86}, {0x9F, 0x87}, /* 0xB4-0xB7 */ + {0x9F, 0x88}, {0x9F, 0x89}, {0x9F, 0x8A}, {0x9F, 0x8C}, /* 0xB8-0xBB */ + {0x9E, 0xFE}, {0x9F, 0x0B}, {0x9F, 0x0D}, {0x96, 0xB9}, /* 0xBC-0xBF */ + {0x96, 0xBC}, {0x96, 0xBD}, {0x96, 0xCE}, {0x96, 0xD2}, /* 0xC0-0xC3 */ + {0x77, 0xBF}, {0x96, 0xE0}, {0x92, 0x8E}, {0x92, 0xAE}, /* 0xC4-0xC7 */ + {0x92, 0xC8}, {0x93, 0x3E}, {0x93, 0x6A}, {0x93, 0xCA}, /* 0xC8-0xCB */ + {0x93, 0x8F}, {0x94, 0x3E}, {0x94, 0x6B}, {0x9C, 0x7F}, /* 0xCC-0xCF */ + {0x9C, 0x82}, {0x9C, 0x85}, {0x9C, 0x86}, {0x9C, 0x87}, /* 0xD0-0xD3 */ + {0x9C, 0x88}, {0x7A, 0x23}, {0x9C, 0x8B}, {0x9C, 0x8E}, /* 0xD4-0xD7 */ + {0x9C, 0x90}, {0x9C, 0x91}, {0x9C, 0x92}, {0x9C, 0x94}, /* 0xD8-0xDB */ + {0x9C, 0x95}, {0x9C, 0x9A}, {0x9C, 0x9B}, {0x9C, 0x9E}, /* 0xDC-0xDF */ + {0x9C, 0x9F}, {0x9C, 0xA0}, {0x9C, 0xA1}, {0x9C, 0xA2}, /* 0xE0-0xE3 */ + {0x9C, 0xA3}, {0x9C, 0xA5}, {0x9C, 0xA6}, {0x9C, 0xA7}, /* 0xE4-0xE7 */ + {0x9C, 0xA8}, {0x9C, 0xA9}, {0x9C, 0xAB}, {0x9C, 0xAD}, /* 0xE8-0xEB */ + {0x9C, 0xAE}, {0x9C, 0xB0}, {0x9C, 0xB1}, {0x9C, 0xB2}, /* 0xEC-0xEF */ + {0x9C, 0xB3}, {0x9C, 0xB4}, {0x9C, 0xB5}, {0x9C, 0xB6}, /* 0xF0-0xF3 */ + {0x9C, 0xB7}, {0x9C, 0xBA}, {0x9C, 0xBB}, {0x9C, 0xBC}, /* 0xF4-0xF7 */ + {0x9C, 0xBD}, {0x9C, 0xC4}, {0x9C, 0xC5}, {0x9C, 0xC6}, /* 0xF8-0xFB */ + {0x9C, 0xC7}, {0x9C, 0xCA}, {0x9C, 0xCB}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9C, 0x3C}, {0x9C, 0x3D}, {0x9C, 0x3E}, {0x9C, 0x3F}, /* 0x40-0x43 */ + {0x9C, 0x40}, {0x9C, 0x41}, {0x9C, 0x42}, {0x9C, 0x43}, /* 0x44-0x47 */ + {0x9C, 0x44}, {0x9C, 0x45}, {0x9C, 0x46}, {0x9C, 0x47}, /* 0x48-0x4B */ + {0x9C, 0x48}, {0x9C, 0x49}, {0x9C, 0x4A}, {0x9C, 0x4B}, /* 0x4C-0x4F */ + {0x9C, 0x4C}, {0x9C, 0x4D}, {0x9C, 0x4E}, {0x9C, 0x4F}, /* 0x50-0x53 */ + {0x9C, 0x50}, {0x9C, 0x51}, {0x9C, 0x52}, {0x9C, 0x53}, /* 0x54-0x57 */ + {0x9C, 0x54}, {0x9C, 0x55}, {0x9C, 0x56}, {0x9C, 0x57}, /* 0x58-0x5B */ + {0x9C, 0x58}, {0x9C, 0x59}, {0x9C, 0x5A}, {0x9C, 0x5B}, /* 0x5C-0x5F */ + {0x9C, 0x5C}, {0x9C, 0x5D}, {0x9C, 0x5E}, {0x9C, 0x5F}, /* 0x60-0x63 */ + {0x9C, 0x60}, {0x9C, 0x61}, {0x9C, 0x62}, {0x9C, 0x63}, /* 0x64-0x67 */ + {0x9C, 0x64}, {0x9C, 0x65}, {0x9C, 0x66}, {0x9C, 0x67}, /* 0x68-0x6B */ + {0x9C, 0x68}, {0x9C, 0x69}, {0x9C, 0x6A}, {0x9C, 0x6B}, /* 0x6C-0x6F */ + {0x9C, 0x6C}, {0x9C, 0x6D}, {0x9C, 0x6E}, {0x9C, 0x6F}, /* 0x70-0x73 */ + {0x9C, 0x70}, {0x9C, 0x71}, {0x9C, 0x72}, {0x9C, 0x73}, /* 0x74-0x77 */ + {0x9C, 0x74}, {0x9C, 0x75}, {0x9C, 0x76}, {0x9C, 0x77}, /* 0x78-0x7B */ + {0x9C, 0x78}, {0x9C, 0x79}, {0x9C, 0x7A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9C, 0x7B}, {0x9C, 0x7D}, {0x9C, 0x7E}, {0x9C, 0x80}, /* 0x80-0x83 */ + {0x9C, 0x83}, {0x9C, 0x84}, {0x9C, 0x89}, {0x9C, 0x8A}, /* 0x84-0x87 */ + {0x9C, 0x8C}, {0x9C, 0x8F}, {0x9C, 0x93}, {0x9C, 0x96}, /* 0x88-0x8B */ + {0x9C, 0x97}, {0x9C, 0x98}, {0x9C, 0x99}, {0x9C, 0x9D}, /* 0x8C-0x8F */ + {0x9C, 0xAA}, {0x9C, 0xAC}, {0x9C, 0xAF}, {0x9C, 0xB9}, /* 0x90-0x93 */ + {0x9C, 0xBE}, {0x9C, 0xBF}, {0x9C, 0xC0}, {0x9C, 0xC1}, /* 0x94-0x97 */ + {0x9C, 0xC2}, {0x9C, 0xC8}, {0x9C, 0xC9}, {0x9C, 0xD1}, /* 0x98-0x9B */ + {0x9C, 0xD2}, {0x9C, 0xDA}, {0x9C, 0xDB}, {0x9C, 0xE0}, /* 0x9C-0x9F */ + {0x9C, 0xE1}, {0x9C, 0xCC}, {0x9C, 0xCD}, {0x9C, 0xCE}, /* 0xA0-0xA3 */ + {0x9C, 0xCF}, {0x9C, 0xD0}, {0x9C, 0xD3}, {0x9C, 0xD4}, /* 0xA4-0xA7 */ + {0x9C, 0xD5}, {0x9C, 0xD7}, {0x9C, 0xD8}, {0x9C, 0xD9}, /* 0xA8-0xAB */ + {0x9C, 0xDC}, {0x9C, 0xDD}, {0x9C, 0xDF}, {0x9C, 0xE2}, /* 0xAC-0xAF */ + {0x97, 0x7C}, {0x97, 0x85}, {0x97, 0x91}, {0x97, 0x92}, /* 0xB0-0xB3 */ + {0x97, 0x94}, {0x97, 0xAF}, {0x97, 0xAB}, {0x97, 0xA3}, /* 0xB4-0xB7 */ + {0x97, 0xB2}, {0x97, 0xB4}, {0x9A, 0xB1}, {0x9A, 0xB0}, /* 0xB8-0xBB */ + {0x9A, 0xB7}, {0x9E, 0x58}, {0x9A, 0xB6}, {0x9A, 0xBA}, /* 0xBC-0xBF */ + {0x9A, 0xBC}, {0x9A, 0xC1}, {0x9A, 0xC0}, {0x9A, 0xC5}, /* 0xC0-0xC3 */ + {0x9A, 0xC2}, {0x9A, 0xCB}, {0x9A, 0xCC}, {0x9A, 0xD1}, /* 0xC4-0xC7 */ + {0x9B, 0x45}, {0x9B, 0x43}, {0x9B, 0x47}, {0x9B, 0x49}, /* 0xC8-0xCB */ + {0x9B, 0x48}, {0x9B, 0x4D}, {0x9B, 0x51}, {0x98, 0xE8}, /* 0xCC-0xCF */ + {0x99, 0x0D}, {0x99, 0x2E}, {0x99, 0x55}, {0x99, 0x54}, /* 0xD0-0xD3 */ + {0x9A, 0xDF}, {0x9A, 0xE1}, {0x9A, 0xE6}, {0x9A, 0xEF}, /* 0xD4-0xD7 */ + {0x9A, 0xEB}, {0x9A, 0xFB}, {0x9A, 0xED}, {0x9A, 0xF9}, /* 0xD8-0xDB */ + {0x9B, 0x08}, {0x9B, 0x0F}, {0x9B, 0x13}, {0x9B, 0x1F}, /* 0xDC-0xDF */ + {0x9B, 0x23}, {0x9E, 0xBD}, {0x9E, 0xBE}, {0x7E, 0x3B}, /* 0xE0-0xE3 */ + {0x9E, 0x82}, {0x9E, 0x87}, {0x9E, 0x88}, {0x9E, 0x8B}, /* 0xE4-0xE7 */ + {0x9E, 0x92}, {0x93, 0xD6}, {0x9E, 0x9D}, {0x9E, 0x9F}, /* 0xE8-0xEB */ + {0x9E, 0xDB}, {0x9E, 0xDC}, {0x9E, 0xDD}, {0x9E, 0xE0}, /* 0xEC-0xEF */ + {0x9E, 0xDF}, {0x9E, 0xE2}, {0x9E, 0xE9}, {0x9E, 0xE7}, /* 0xF0-0xF3 */ + {0x9E, 0xE5}, {0x9E, 0xEA}, {0x9E, 0xEF}, {0x9F, 0x22}, /* 0xF4-0xF7 */ + {0x9F, 0x2C}, {0x9F, 0x2F}, {0x9F, 0x39}, {0x9F, 0x37}, /* 0xF8-0xFB */ + {0x9F, 0x3D}, {0x9F, 0x3E}, {0x9F, 0x44}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9C, 0xE3}, {0x9C, 0xE4}, {0x9C, 0xE5}, {0x9C, 0xE6}, /* 0x40-0x43 */ + {0x9C, 0xE7}, {0x9C, 0xE8}, {0x9C, 0xE9}, {0x9C, 0xEA}, /* 0x44-0x47 */ + {0x9C, 0xEB}, {0x9C, 0xEC}, {0x9C, 0xED}, {0x9C, 0xEE}, /* 0x48-0x4B */ + {0x9C, 0xEF}, {0x9C, 0xF0}, {0x9C, 0xF1}, {0x9C, 0xF2}, /* 0x4C-0x4F */ + {0x9C, 0xF3}, {0x9C, 0xF4}, {0x9C, 0xF5}, {0x9C, 0xF6}, /* 0x50-0x53 */ + {0x9C, 0xF7}, {0x9C, 0xF8}, {0x9C, 0xF9}, {0x9C, 0xFA}, /* 0x54-0x57 */ + {0x9C, 0xFB}, {0x9C, 0xFC}, {0x9C, 0xFD}, {0x9C, 0xFE}, /* 0x58-0x5B */ + {0x9C, 0xFF}, {0x9D, 0x00}, {0x9D, 0x01}, {0x9D, 0x02}, /* 0x5C-0x5F */ + {0x9D, 0x03}, {0x9D, 0x04}, {0x9D, 0x05}, {0x9D, 0x06}, /* 0x60-0x63 */ + {0x9D, 0x07}, {0x9D, 0x08}, {0x9D, 0x09}, {0x9D, 0x0A}, /* 0x64-0x67 */ + {0x9D, 0x0B}, {0x9D, 0x0C}, {0x9D, 0x0D}, {0x9D, 0x0E}, /* 0x68-0x6B */ + {0x9D, 0x0F}, {0x9D, 0x10}, {0x9D, 0x11}, {0x9D, 0x12}, /* 0x6C-0x6F */ + {0x9D, 0x13}, {0x9D, 0x14}, {0x9D, 0x15}, {0x9D, 0x16}, /* 0x70-0x73 */ + {0x9D, 0x17}, {0x9D, 0x18}, {0x9D, 0x19}, {0x9D, 0x1A}, /* 0x74-0x77 */ + {0x9D, 0x1B}, {0x9D, 0x1C}, {0x9D, 0x1D}, {0x9D, 0x1E}, /* 0x78-0x7B */ + {0x9D, 0x1F}, {0x9D, 0x20}, {0x9D, 0x21}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9D, 0x22}, {0x9D, 0x23}, {0x9D, 0x24}, {0x9D, 0x25}, /* 0x80-0x83 */ + {0x9D, 0x26}, {0x9D, 0x27}, {0x9D, 0x28}, {0x9D, 0x29}, /* 0x84-0x87 */ + {0x9D, 0x2A}, {0x9D, 0x2B}, {0x9D, 0x2C}, {0x9D, 0x2D}, /* 0x88-0x8B */ + {0x9D, 0x2E}, {0x9D, 0x2F}, {0x9D, 0x30}, {0x9D, 0x31}, /* 0x8C-0x8F */ + {0x9D, 0x32}, {0x9D, 0x33}, {0x9D, 0x34}, {0x9D, 0x35}, /* 0x90-0x93 */ + {0x9D, 0x36}, {0x9D, 0x37}, {0x9D, 0x38}, {0x9D, 0x39}, /* 0x94-0x97 */ + {0x9D, 0x3A}, {0x9D, 0x3B}, {0x9D, 0x3C}, {0x9D, 0x3D}, /* 0x98-0x9B */ + {0x9D, 0x3E}, {0x9D, 0x3F}, {0x9D, 0x40}, {0x9D, 0x41}, /* 0x9C-0x9F */ + {0x9D, 0x42}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9D, 0x43}, {0x9D, 0x44}, {0x9D, 0x45}, {0x9D, 0x46}, /* 0x40-0x43 */ + {0x9D, 0x47}, {0x9D, 0x48}, {0x9D, 0x49}, {0x9D, 0x4A}, /* 0x44-0x47 */ + {0x9D, 0x4B}, {0x9D, 0x4C}, {0x9D, 0x4D}, {0x9D, 0x4E}, /* 0x48-0x4B */ + {0x9D, 0x4F}, {0x9D, 0x50}, {0x9D, 0x51}, {0x9D, 0x52}, /* 0x4C-0x4F */ + {0x9D, 0x53}, {0x9D, 0x54}, {0x9D, 0x55}, {0x9D, 0x56}, /* 0x50-0x53 */ + {0x9D, 0x57}, {0x9D, 0x58}, {0x9D, 0x59}, {0x9D, 0x5A}, /* 0x54-0x57 */ + {0x9D, 0x5B}, {0x9D, 0x5C}, {0x9D, 0x5D}, {0x9D, 0x5E}, /* 0x58-0x5B */ + {0x9D, 0x5F}, {0x9D, 0x60}, {0x9D, 0x61}, {0x9D, 0x62}, /* 0x5C-0x5F */ + {0x9D, 0x63}, {0x9D, 0x64}, {0x9D, 0x65}, {0x9D, 0x66}, /* 0x60-0x63 */ + {0x9D, 0x67}, {0x9D, 0x68}, {0x9D, 0x69}, {0x9D, 0x6A}, /* 0x64-0x67 */ + {0x9D, 0x6B}, {0x9D, 0x6C}, {0x9D, 0x6D}, {0x9D, 0x6E}, /* 0x68-0x6B */ + {0x9D, 0x6F}, {0x9D, 0x70}, {0x9D, 0x71}, {0x9D, 0x72}, /* 0x6C-0x6F */ + {0x9D, 0x73}, {0x9D, 0x74}, {0x9D, 0x75}, {0x9D, 0x76}, /* 0x70-0x73 */ + {0x9D, 0x77}, {0x9D, 0x78}, {0x9D, 0x79}, {0x9D, 0x7A}, /* 0x74-0x77 */ + {0x9D, 0x7B}, {0x9D, 0x7C}, {0x9D, 0x7D}, {0x9D, 0x7E}, /* 0x78-0x7B */ + {0x9D, 0x7F}, {0x9D, 0x80}, {0x9D, 0x81}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9D, 0x82}, {0x9D, 0x83}, {0x9D, 0x84}, {0x9D, 0x85}, /* 0x80-0x83 */ + {0x9D, 0x86}, {0x9D, 0x87}, {0x9D, 0x88}, {0x9D, 0x89}, /* 0x84-0x87 */ + {0x9D, 0x8A}, {0x9D, 0x8B}, {0x9D, 0x8C}, {0x9D, 0x8D}, /* 0x88-0x8B */ + {0x9D, 0x8E}, {0x9D, 0x8F}, {0x9D, 0x90}, {0x9D, 0x91}, /* 0x8C-0x8F */ + {0x9D, 0x92}, {0x9D, 0x93}, {0x9D, 0x94}, {0x9D, 0x95}, /* 0x90-0x93 */ + {0x9D, 0x96}, {0x9D, 0x97}, {0x9D, 0x98}, {0x9D, 0x99}, /* 0x94-0x97 */ + {0x9D, 0x9A}, {0x9D, 0x9B}, {0x9D, 0x9C}, {0x9D, 0x9D}, /* 0x98-0x9B */ + {0x9D, 0x9E}, {0x9D, 0x9F}, {0x9D, 0xA0}, {0x9D, 0xA1}, /* 0x9C-0x9F */ + {0x9D, 0xA2}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9D, 0xA3}, {0x9D, 0xA4}, {0x9D, 0xA5}, {0x9D, 0xA6}, /* 0x40-0x43 */ + {0x9D, 0xA7}, {0x9D, 0xA8}, {0x9D, 0xA9}, {0x9D, 0xAA}, /* 0x44-0x47 */ + {0x9D, 0xAB}, {0x9D, 0xAC}, {0x9D, 0xAD}, {0x9D, 0xAE}, /* 0x48-0x4B */ + {0x9D, 0xAF}, {0x9D, 0xB0}, {0x9D, 0xB1}, {0x9D, 0xB2}, /* 0x4C-0x4F */ + {0x9D, 0xB3}, {0x9D, 0xB4}, {0x9D, 0xB5}, {0x9D, 0xB6}, /* 0x50-0x53 */ + {0x9D, 0xB7}, {0x9D, 0xB8}, {0x9D, 0xB9}, {0x9D, 0xBA}, /* 0x54-0x57 */ + {0x9D, 0xBB}, {0x9D, 0xBC}, {0x9D, 0xBD}, {0x9D, 0xBE}, /* 0x58-0x5B */ + {0x9D, 0xBF}, {0x9D, 0xC0}, {0x9D, 0xC1}, {0x9D, 0xC2}, /* 0x5C-0x5F */ + {0x9D, 0xC3}, {0x9D, 0xC4}, {0x9D, 0xC5}, {0x9D, 0xC6}, /* 0x60-0x63 */ + {0x9D, 0xC7}, {0x9D, 0xC8}, {0x9D, 0xC9}, {0x9D, 0xCA}, /* 0x64-0x67 */ + {0x9D, 0xCB}, {0x9D, 0xCC}, {0x9D, 0xCD}, {0x9D, 0xCE}, /* 0x68-0x6B */ + {0x9D, 0xCF}, {0x9D, 0xD0}, {0x9D, 0xD1}, {0x9D, 0xD2}, /* 0x6C-0x6F */ + {0x9D, 0xD3}, {0x9D, 0xD4}, {0x9D, 0xD5}, {0x9D, 0xD6}, /* 0x70-0x73 */ + {0x9D, 0xD7}, {0x9D, 0xD8}, {0x9D, 0xD9}, {0x9D, 0xDA}, /* 0x74-0x77 */ + {0x9D, 0xDB}, {0x9D, 0xDC}, {0x9D, 0xDD}, {0x9D, 0xDE}, /* 0x78-0x7B */ + {0x9D, 0xDF}, {0x9D, 0xE0}, {0x9D, 0xE1}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9D, 0xE2}, {0x9D, 0xE3}, {0x9D, 0xE4}, {0x9D, 0xE5}, /* 0x80-0x83 */ + {0x9D, 0xE6}, {0x9D, 0xE7}, {0x9D, 0xE8}, {0x9D, 0xE9}, /* 0x84-0x87 */ + {0x9D, 0xEA}, {0x9D, 0xEB}, {0x9D, 0xEC}, {0x9D, 0xED}, /* 0x88-0x8B */ + {0x9D, 0xEE}, {0x9D, 0xEF}, {0x9D, 0xF0}, {0x9D, 0xF1}, /* 0x8C-0x8F */ + {0x9D, 0xF2}, {0x9D, 0xF3}, {0x9D, 0xF4}, {0x9D, 0xF5}, /* 0x90-0x93 */ + {0x9D, 0xF6}, {0x9D, 0xF7}, {0x9D, 0xF8}, {0x9D, 0xF9}, /* 0x94-0x97 */ + {0x9D, 0xFA}, {0x9D, 0xFB}, {0x9D, 0xFC}, {0x9D, 0xFD}, /* 0x98-0x9B */ + {0x9D, 0xFE}, {0x9D, 0xFF}, {0x9E, 0x00}, {0x9E, 0x01}, /* 0x9C-0x9F */ + {0x9E, 0x02}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9E, 0x03}, {0x9E, 0x04}, {0x9E, 0x05}, {0x9E, 0x06}, /* 0x40-0x43 */ + {0x9E, 0x07}, {0x9E, 0x08}, {0x9E, 0x09}, {0x9E, 0x0A}, /* 0x44-0x47 */ + {0x9E, 0x0B}, {0x9E, 0x0C}, {0x9E, 0x0D}, {0x9E, 0x0E}, /* 0x48-0x4B */ + {0x9E, 0x0F}, {0x9E, 0x10}, {0x9E, 0x11}, {0x9E, 0x12}, /* 0x4C-0x4F */ + {0x9E, 0x13}, {0x9E, 0x14}, {0x9E, 0x15}, {0x9E, 0x16}, /* 0x50-0x53 */ + {0x9E, 0x17}, {0x9E, 0x18}, {0x9E, 0x19}, {0x9E, 0x1A}, /* 0x54-0x57 */ + {0x9E, 0x1B}, {0x9E, 0x1C}, {0x9E, 0x1D}, {0x9E, 0x1E}, /* 0x58-0x5B */ + {0x9E, 0x24}, {0x9E, 0x27}, {0x9E, 0x2E}, {0x9E, 0x30}, /* 0x5C-0x5F */ + {0x9E, 0x34}, {0x9E, 0x3B}, {0x9E, 0x3C}, {0x9E, 0x40}, /* 0x60-0x63 */ + {0x9E, 0x4D}, {0x9E, 0x50}, {0x9E, 0x52}, {0x9E, 0x53}, /* 0x64-0x67 */ + {0x9E, 0x54}, {0x9E, 0x56}, {0x9E, 0x59}, {0x9E, 0x5D}, /* 0x68-0x6B */ + {0x9E, 0x5F}, {0x9E, 0x60}, {0x9E, 0x61}, {0x9E, 0x62}, /* 0x6C-0x6F */ + {0x9E, 0x65}, {0x9E, 0x6E}, {0x9E, 0x6F}, {0x9E, 0x72}, /* 0x70-0x73 */ + {0x9E, 0x74}, {0x9E, 0x75}, {0x9E, 0x76}, {0x9E, 0x77}, /* 0x74-0x77 */ + {0x9E, 0x78}, {0x9E, 0x79}, {0x9E, 0x7A}, {0x9E, 0x7B}, /* 0x78-0x7B */ + {0x9E, 0x7C}, {0x9E, 0x7D}, {0x9E, 0x80}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9E, 0x81}, {0x9E, 0x83}, {0x9E, 0x84}, {0x9E, 0x85}, /* 0x80-0x83 */ + {0x9E, 0x86}, {0x9E, 0x89}, {0x9E, 0x8A}, {0x9E, 0x8C}, /* 0x84-0x87 */ + {0x9E, 0x8D}, {0x9E, 0x8E}, {0x9E, 0x8F}, {0x9E, 0x90}, /* 0x88-0x8B */ + {0x9E, 0x91}, {0x9E, 0x94}, {0x9E, 0x95}, {0x9E, 0x96}, /* 0x8C-0x8F */ + {0x9E, 0x97}, {0x9E, 0x98}, {0x9E, 0x99}, {0x9E, 0x9A}, /* 0x90-0x93 */ + {0x9E, 0x9B}, {0x9E, 0x9C}, {0x9E, 0x9E}, {0x9E, 0xA0}, /* 0x94-0x97 */ + {0x9E, 0xA1}, {0x9E, 0xA2}, {0x9E, 0xA3}, {0x9E, 0xA4}, /* 0x98-0x9B */ + {0x9E, 0xA5}, {0x9E, 0xA7}, {0x9E, 0xA8}, {0x9E, 0xA9}, /* 0x9C-0x9F */ + {0x9E, 0xAA}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9E, 0xAB}, {0x9E, 0xAC}, {0x9E, 0xAD}, {0x9E, 0xAE}, /* 0x40-0x43 */ + {0x9E, 0xAF}, {0x9E, 0xB0}, {0x9E, 0xB1}, {0x9E, 0xB2}, /* 0x44-0x47 */ + {0x9E, 0xB3}, {0x9E, 0xB5}, {0x9E, 0xB6}, {0x9E, 0xB7}, /* 0x48-0x4B */ + {0x9E, 0xB9}, {0x9E, 0xBA}, {0x9E, 0xBC}, {0x9E, 0xBF}, /* 0x4C-0x4F */ + {0x9E, 0xC0}, {0x9E, 0xC1}, {0x9E, 0xC2}, {0x9E, 0xC3}, /* 0x50-0x53 */ + {0x9E, 0xC5}, {0x9E, 0xC6}, {0x9E, 0xC7}, {0x9E, 0xC8}, /* 0x54-0x57 */ + {0x9E, 0xCA}, {0x9E, 0xCB}, {0x9E, 0xCC}, {0x9E, 0xD0}, /* 0x58-0x5B */ + {0x9E, 0xD2}, {0x9E, 0xD3}, {0x9E, 0xD5}, {0x9E, 0xD6}, /* 0x5C-0x5F */ + {0x9E, 0xD7}, {0x9E, 0xD9}, {0x9E, 0xDA}, {0x9E, 0xDE}, /* 0x60-0x63 */ + {0x9E, 0xE1}, {0x9E, 0xE3}, {0x9E, 0xE4}, {0x9E, 0xE6}, /* 0x64-0x67 */ + {0x9E, 0xE8}, {0x9E, 0xEB}, {0x9E, 0xEC}, {0x9E, 0xED}, /* 0x68-0x6B */ + {0x9E, 0xEE}, {0x9E, 0xF0}, {0x9E, 0xF1}, {0x9E, 0xF2}, /* 0x6C-0x6F */ + {0x9E, 0xF3}, {0x9E, 0xF4}, {0x9E, 0xF5}, {0x9E, 0xF6}, /* 0x70-0x73 */ + {0x9E, 0xF7}, {0x9E, 0xF8}, {0x9E, 0xFA}, {0x9E, 0xFD}, /* 0x74-0x77 */ + {0x9E, 0xFF}, {0x9F, 0x00}, {0x9F, 0x01}, {0x9F, 0x02}, /* 0x78-0x7B */ + {0x9F, 0x03}, {0x9F, 0x04}, {0x9F, 0x05}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9F, 0x06}, {0x9F, 0x07}, {0x9F, 0x08}, {0x9F, 0x09}, /* 0x80-0x83 */ + {0x9F, 0x0A}, {0x9F, 0x0C}, {0x9F, 0x0F}, {0x9F, 0x11}, /* 0x84-0x87 */ + {0x9F, 0x12}, {0x9F, 0x14}, {0x9F, 0x15}, {0x9F, 0x16}, /* 0x88-0x8B */ + {0x9F, 0x18}, {0x9F, 0x1A}, {0x9F, 0x1B}, {0x9F, 0x1C}, /* 0x8C-0x8F */ + {0x9F, 0x1D}, {0x9F, 0x1E}, {0x9F, 0x1F}, {0x9F, 0x21}, /* 0x90-0x93 */ + {0x9F, 0x23}, {0x9F, 0x24}, {0x9F, 0x25}, {0x9F, 0x26}, /* 0x94-0x97 */ + {0x9F, 0x27}, {0x9F, 0x28}, {0x9F, 0x29}, {0x9F, 0x2A}, /* 0x98-0x9B */ + {0x9F, 0x2B}, {0x9F, 0x2D}, {0x9F, 0x2E}, {0x9F, 0x30}, /* 0x9C-0x9F */ + {0x9F, 0x31}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x9F, 0x32}, {0x9F, 0x33}, {0x9F, 0x34}, {0x9F, 0x35}, /* 0x40-0x43 */ + {0x9F, 0x36}, {0x9F, 0x38}, {0x9F, 0x3A}, {0x9F, 0x3C}, /* 0x44-0x47 */ + {0x9F, 0x3F}, {0x9F, 0x40}, {0x9F, 0x41}, {0x9F, 0x42}, /* 0x48-0x4B */ + {0x9F, 0x43}, {0x9F, 0x45}, {0x9F, 0x46}, {0x9F, 0x47}, /* 0x4C-0x4F */ + {0x9F, 0x48}, {0x9F, 0x49}, {0x9F, 0x4A}, {0x9F, 0x4B}, /* 0x50-0x53 */ + {0x9F, 0x4C}, {0x9F, 0x4D}, {0x9F, 0x4E}, {0x9F, 0x4F}, /* 0x54-0x57 */ + {0x9F, 0x52}, {0x9F, 0x53}, {0x9F, 0x54}, {0x9F, 0x55}, /* 0x58-0x5B */ + {0x9F, 0x56}, {0x9F, 0x57}, {0x9F, 0x58}, {0x9F, 0x59}, /* 0x5C-0x5F */ + {0x9F, 0x5A}, {0x9F, 0x5B}, {0x9F, 0x5C}, {0x9F, 0x5D}, /* 0x60-0x63 */ + {0x9F, 0x5E}, {0x9F, 0x5F}, {0x9F, 0x60}, {0x9F, 0x61}, /* 0x64-0x67 */ + {0x9F, 0x62}, {0x9F, 0x63}, {0x9F, 0x64}, {0x9F, 0x65}, /* 0x68-0x6B */ + {0x9F, 0x66}, {0x9F, 0x67}, {0x9F, 0x68}, {0x9F, 0x69}, /* 0x6C-0x6F */ + {0x9F, 0x6A}, {0x9F, 0x6B}, {0x9F, 0x6C}, {0x9F, 0x6D}, /* 0x70-0x73 */ + {0x9F, 0x6E}, {0x9F, 0x6F}, {0x9F, 0x70}, {0x9F, 0x71}, /* 0x74-0x77 */ + {0x9F, 0x72}, {0x9F, 0x73}, {0x9F, 0x74}, {0x9F, 0x75}, /* 0x78-0x7B */ + {0x9F, 0x76}, {0x9F, 0x77}, {0x9F, 0x78}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x9F, 0x79}, {0x9F, 0x7A}, {0x9F, 0x7B}, {0x9F, 0x7C}, /* 0x80-0x83 */ + {0x9F, 0x7D}, {0x9F, 0x7E}, {0x9F, 0x81}, {0x9F, 0x82}, /* 0x84-0x87 */ + {0x9F, 0x8D}, {0x9F, 0x8E}, {0x9F, 0x8F}, {0x9F, 0x90}, /* 0x88-0x8B */ + {0x9F, 0x91}, {0x9F, 0x92}, {0x9F, 0x93}, {0x9F, 0x94}, /* 0x8C-0x8F */ + {0x9F, 0x95}, {0x9F, 0x96}, {0x9F, 0x97}, {0x9F, 0x98}, /* 0x90-0x93 */ + {0x9F, 0x9C}, {0x9F, 0x9D}, {0x9F, 0x9E}, {0x9F, 0xA1}, /* 0x94-0x97 */ + {0x9F, 0xA2}, {0x9F, 0xA3}, {0x9F, 0xA4}, {0x9F, 0xA5}, /* 0x98-0x9B */ + {0xF9, 0x2C}, {0xF9, 0x79}, {0xF9, 0x95}, {0xF9, 0xE7}, /* 0x9C-0x9F */ + {0xF9, 0xF1}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0xFA, 0x0C}, {0xFA, 0x0D}, {0xFA, 0x0E}, {0xFA, 0x0F}, /* 0x40-0x43 */ + {0xFA, 0x11}, {0xFA, 0x13}, {0xFA, 0x14}, {0xFA, 0x18}, /* 0x44-0x47 */ + {0xFA, 0x1F}, {0xFA, 0x20}, {0xFA, 0x21}, {0xFA, 0x23}, /* 0x48-0x4B */ + {0xFA, 0x24}, {0xFA, 0x27}, {0xFA, 0x28}, {0xFA, 0x29}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode *page_charset2uni[256] = { + 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, c2u_81, c2u_82, c2u_83, c2u_84, c2u_85, c2u_86, c2u_87, + c2u_88, c2u_89, c2u_8A, c2u_8B, c2u_8C, c2u_8D, c2u_8E, c2u_8F, + c2u_90, c2u_91, c2u_92, c2u_93, c2u_94, c2u_95, c2u_96, c2u_97, + c2u_98, c2u_99, c2u_9A, c2u_9B, c2u_9C, c2u_9D, c2u_9E, c2u_9F, + c2u_A0, c2u_A1, c2u_A2, c2u_A3, c2u_A4, c2u_A5, c2u_A6, c2u_A7, + c2u_A8, c2u_A9, c2u_AA, c2u_AB, c2u_AC, c2u_AD, c2u_AE, c2u_AF, + c2u_B0, c2u_B1, c2u_B2, c2u_B3, c2u_B4, c2u_B5, c2u_B6, c2u_B7, + c2u_B8, c2u_B9, c2u_BA, c2u_BB, c2u_BC, c2u_BD, c2u_BE, c2u_BF, + c2u_C0, c2u_C1, c2u_C2, c2u_C3, c2u_C4, c2u_C5, c2u_C6, c2u_C7, + c2u_C8, c2u_C9, c2u_CA, c2u_CB, c2u_CC, c2u_CD, c2u_CE, c2u_CF, + c2u_D0, c2u_D1, c2u_D2, c2u_D3, c2u_D4, c2u_D5, c2u_D6, c2u_D7, + c2u_D8, c2u_D9, c2u_DA, c2u_DB, c2u_DC, c2u_DD, c2u_DE, c2u_DF, + c2u_E0, c2u_E1, c2u_E2, c2u_E3, c2u_E4, c2u_E5, c2u_E6, c2u_E7, + c2u_E8, c2u_E9, c2u_EA, c2u_EB, c2u_EC, c2u_ED, c2u_EE, c2u_EF, + c2u_F0, c2u_F1, c2u_F2, c2u_F3, c2u_F4, c2u_F5, c2u_F6, c2u_F7, + c2u_F8, c2u_F9, c2u_FA, c2u_FB, c2u_FC, c2u_FD, c2u_FE, NULL, +}; + +static unsigned char u2c_01[512] = { + 0x3F, 0x3F, 0xA8, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xA5, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xA7, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xA9, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xA8, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xA8, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xA8, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xB1, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xA3, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xA8, 0xAB, 0x3F, 0x3F, 0xA8, 0xAF, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xA8, 0xB3, 0x3F, 0x3F, 0xA8, 0xB5, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xA8, 0xB6, 0x3F, 0x3F, 0xA8, 0xB7, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xA8, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_02[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xA8, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xA8, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xA6, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xA1, 0xA5, 0xA8, 0x40, 0xA8, 0x41, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xA8, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_03[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xA6, 0xA1, 0xA6, 0xA2, 0xA6, 0xA3, /* 0x90-0x93 */ + 0xA6, 0xA4, 0xA6, 0xA5, 0xA6, 0xA6, 0xA6, 0xA7, /* 0x94-0x97 */ + 0xA6, 0xA8, 0xA6, 0xA9, 0xA6, 0xAA, 0xA6, 0xAB, /* 0x98-0x9B */ + 0xA6, 0xAC, 0xA6, 0xAD, 0xA6, 0xAE, 0xA6, 0xAF, /* 0x9C-0x9F */ + 0xA6, 0xB0, 0xA6, 0xB1, 0x3F, 0x3F, 0xA6, 0xB2, /* 0xA0-0xA3 */ + 0xA6, 0xB3, 0xA6, 0xB4, 0xA6, 0xB5, 0xA6, 0xB6, /* 0xA4-0xA7 */ + 0xA6, 0xB7, 0xA6, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xA6, 0xC1, 0xA6, 0xC2, 0xA6, 0xC3, /* 0xB0-0xB3 */ + 0xA6, 0xC4, 0xA6, 0xC5, 0xA6, 0xC6, 0xA6, 0xC7, /* 0xB4-0xB7 */ + 0xA6, 0xC8, 0xA6, 0xC9, 0xA6, 0xCA, 0xA6, 0xCB, /* 0xB8-0xBB */ + 0xA6, 0xCC, 0xA6, 0xCD, 0xA6, 0xCE, 0xA6, 0xCF, /* 0xBC-0xBF */ + 0xA6, 0xD0, 0xA6, 0xD1, 0x3F, 0x3F, 0xA6, 0xD2, /* 0xC0-0xC3 */ + 0xA6, 0xD3, 0xA6, 0xD4, 0xA6, 0xD5, 0xA6, 0xD6, /* 0xC4-0xC7 */ + 0xA6, 0xD7, 0xA6, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_04[512] = { + 0x3F, 0x3F, 0xA7, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xA7, 0xA1, 0xA7, 0xA2, 0xA7, 0xA3, 0xA7, 0xA4, /* 0x10-0x13 */ + 0xA7, 0xA5, 0xA7, 0xA6, 0xA7, 0xA8, 0xA7, 0xA9, /* 0x14-0x17 */ + 0xA7, 0xAA, 0xA7, 0xAB, 0xA7, 0xAC, 0xA7, 0xAD, /* 0x18-0x1B */ + 0xA7, 0xAE, 0xA7, 0xAF, 0xA7, 0xB0, 0xA7, 0xB1, /* 0x1C-0x1F */ + 0xA7, 0xB2, 0xA7, 0xB3, 0xA7, 0xB4, 0xA7, 0xB5, /* 0x20-0x23 */ + 0xA7, 0xB6, 0xA7, 0xB7, 0xA7, 0xB8, 0xA7, 0xB9, /* 0x24-0x27 */ + 0xA7, 0xBA, 0xA7, 0xBB, 0xA7, 0xBC, 0xA7, 0xBD, /* 0x28-0x2B */ + 0xA7, 0xBE, 0xA7, 0xBF, 0xA7, 0xC0, 0xA7, 0xC1, /* 0x2C-0x2F */ + 0xA7, 0xD1, 0xA7, 0xD2, 0xA7, 0xD3, 0xA7, 0xD4, /* 0x30-0x33 */ + 0xA7, 0xD5, 0xA7, 0xD6, 0xA7, 0xD8, 0xA7, 0xD9, /* 0x34-0x37 */ + 0xA7, 0xDA, 0xA7, 0xDB, 0xA7, 0xDC, 0xA7, 0xDD, /* 0x38-0x3B */ + 0xA7, 0xDE, 0xA7, 0xDF, 0xA7, 0xE0, 0xA7, 0xE1, /* 0x3C-0x3F */ + 0xA7, 0xE2, 0xA7, 0xE3, 0xA7, 0xE4, 0xA7, 0xE5, /* 0x40-0x43 */ + 0xA7, 0xE6, 0xA7, 0xE7, 0xA7, 0xE8, 0xA7, 0xE9, /* 0x44-0x47 */ + 0xA7, 0xEA, 0xA7, 0xEB, 0xA7, 0xEC, 0xA7, 0xED, /* 0x48-0x4B */ + 0xA7, 0xEE, 0xA7, 0xEF, 0xA7, 0xF0, 0xA7, 0xF1, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xA7, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_20[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xA9, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0x43, /* 0x10-0x13 */ + 0xA1, 0xAA, 0xA8, 0x44, 0xA1, 0xAC, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xA1, 0xAE, 0xA1, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xA1, 0xB0, 0xA1, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xA8, 0x45, 0xA1, 0xAD, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xA1, 0xEB, 0x3F, 0x3F, 0xA1, 0xE4, 0xA1, 0xE5, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xA8, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xF9, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_21[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xE6, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xA8, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xA8, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xED, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xA9, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA2, 0xF1, 0xA2, 0xF2, 0xA2, 0xF3, 0xA2, 0xF4, /* 0x60-0x63 */ + 0xA2, 0xF5, 0xA2, 0xF6, 0xA2, 0xF7, 0xA2, 0xF8, /* 0x64-0x67 */ + 0xA2, 0xF9, 0xA2, 0xFA, 0xA2, 0xFB, 0xA2, 0xFC, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xA2, 0xA1, 0xA2, 0xA2, 0xA2, 0xA3, 0xA2, 0xA4, /* 0x70-0x73 */ + 0xA2, 0xA5, 0xA2, 0xA6, 0xA2, 0xA7, 0xA2, 0xA8, /* 0x74-0x77 */ + 0xA2, 0xA9, 0xA2, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xA1, 0xFB, 0xA1, 0xFC, 0xA1, 0xFA, 0xA1, 0xFD, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0x49, 0xA8, 0x4A, /* 0x94-0x97 */ + 0xA8, 0x4B, 0xA8, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_22[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xA1, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xC7, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xA1, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xA8, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xCC, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xA1, 0xD8, 0xA1, 0xDE, 0xA8, 0x4E, /* 0x1C-0x1F */ + 0xA1, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0x4F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xA1, 0xCE, 0x3F, 0x3F, 0xA1, 0xC4, /* 0x24-0x27 */ + 0xA1, 0xC5, 0xA1, 0xC9, 0xA1, 0xC8, 0xA1, 0xD2, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xD3, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xA1, 0xE0, 0xA1, 0xDF, 0xA1, 0xC3, 0xA1, 0xCB, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xA1, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xA1, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xA1, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0x50, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA1, 0xD9, 0xA1, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xA1, 0xDC, 0xA1, 0xDD, 0xA8, 0x51, 0xA8, 0x52, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xDA, 0xA1, 0xDB, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xA8, 0x92, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xA1, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xA1, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0x53, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_23[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xD0, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_24[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA2, 0xD9, 0xA2, 0xDA, 0xA2, 0xDB, 0xA2, 0xDC, /* 0x60-0x63 */ + 0xA2, 0xDD, 0xA2, 0xDE, 0xA2, 0xDF, 0xA2, 0xE0, /* 0x64-0x67 */ + 0xA2, 0xE1, 0xA2, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xA2, 0xC5, 0xA2, 0xC6, 0xA2, 0xC7, 0xA2, 0xC8, /* 0x74-0x77 */ + 0xA2, 0xC9, 0xA2, 0xCA, 0xA2, 0xCB, 0xA2, 0xCC, /* 0x78-0x7B */ + 0xA2, 0xCD, 0xA2, 0xCE, 0xA2, 0xCF, 0xA2, 0xD0, /* 0x7C-0x7F */ + + 0xA2, 0xD1, 0xA2, 0xD2, 0xA2, 0xD3, 0xA2, 0xD4, /* 0x80-0x83 */ + 0xA2, 0xD5, 0xA2, 0xD6, 0xA2, 0xD7, 0xA2, 0xD8, /* 0x84-0x87 */ + 0xA2, 0xB1, 0xA2, 0xB2, 0xA2, 0xB3, 0xA2, 0xB4, /* 0x88-0x8B */ + 0xA2, 0xB5, 0xA2, 0xB6, 0xA2, 0xB7, 0xA2, 0xB8, /* 0x8C-0x8F */ + 0xA2, 0xB9, 0xA2, 0xBA, 0xA2, 0xBB, 0xA2, 0xBC, /* 0x90-0x93 */ + 0xA2, 0xBD, 0xA2, 0xBE, 0xA2, 0xBF, 0xA2, 0xC0, /* 0x94-0x97 */ + 0xA2, 0xC1, 0xA2, 0xC2, 0xA2, 0xC3, 0xA2, 0xC4, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_25[512] = { + 0xA9, 0xA4, 0xA9, 0xA5, 0xA9, 0xA6, 0xA9, 0xA7, /* 0x00-0x03 */ + 0xA9, 0xA8, 0xA9, 0xA9, 0xA9, 0xAA, 0xA9, 0xAB, /* 0x04-0x07 */ + 0xA9, 0xAC, 0xA9, 0xAD, 0xA9, 0xAE, 0xA9, 0xAF, /* 0x08-0x0B */ + 0xA9, 0xB0, 0xA9, 0xB1, 0xA9, 0xB2, 0xA9, 0xB3, /* 0x0C-0x0F */ + 0xA9, 0xB4, 0xA9, 0xB5, 0xA9, 0xB6, 0xA9, 0xB7, /* 0x10-0x13 */ + 0xA9, 0xB8, 0xA9, 0xB9, 0xA9, 0xBA, 0xA9, 0xBB, /* 0x14-0x17 */ + 0xA9, 0xBC, 0xA9, 0xBD, 0xA9, 0xBE, 0xA9, 0xBF, /* 0x18-0x1B */ + 0xA9, 0xC0, 0xA9, 0xC1, 0xA9, 0xC2, 0xA9, 0xC3, /* 0x1C-0x1F */ + 0xA9, 0xC4, 0xA9, 0xC5, 0xA9, 0xC6, 0xA9, 0xC7, /* 0x20-0x23 */ + 0xA9, 0xC8, 0xA9, 0xC9, 0xA9, 0xCA, 0xA9, 0xCB, /* 0x24-0x27 */ + 0xA9, 0xCC, 0xA9, 0xCD, 0xA9, 0xCE, 0xA9, 0xCF, /* 0x28-0x2B */ + 0xA9, 0xD0, 0xA9, 0xD1, 0xA9, 0xD2, 0xA9, 0xD3, /* 0x2C-0x2F */ + 0xA9, 0xD4, 0xA9, 0xD5, 0xA9, 0xD6, 0xA9, 0xD7, /* 0x30-0x33 */ + 0xA9, 0xD8, 0xA9, 0xD9, 0xA9, 0xDA, 0xA9, 0xDB, /* 0x34-0x37 */ + 0xA9, 0xDC, 0xA9, 0xDD, 0xA9, 0xDE, 0xA9, 0xDF, /* 0x38-0x3B */ + 0xA9, 0xE0, 0xA9, 0xE1, 0xA9, 0xE2, 0xA9, 0xE3, /* 0x3C-0x3F */ + 0xA9, 0xE4, 0xA9, 0xE5, 0xA9, 0xE6, 0xA9, 0xE7, /* 0x40-0x43 */ + 0xA9, 0xE8, 0xA9, 0xE9, 0xA9, 0xEA, 0xA9, 0xEB, /* 0x44-0x47 */ + 0xA9, 0xEC, 0xA9, 0xED, 0xA9, 0xEE, 0xA9, 0xEF, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xA8, 0x54, 0xA8, 0x55, 0xA8, 0x56, 0xA8, 0x57, /* 0x50-0x53 */ + 0xA8, 0x58, 0xA8, 0x59, 0xA8, 0x5A, 0xA8, 0x5B, /* 0x54-0x57 */ + 0xA8, 0x5C, 0xA8, 0x5D, 0xA8, 0x5E, 0xA8, 0x5F, /* 0x58-0x5B */ + 0xA8, 0x60, 0xA8, 0x61, 0xA8, 0x62, 0xA8, 0x63, /* 0x5C-0x5F */ + 0xA8, 0x64, 0xA8, 0x65, 0xA8, 0x66, 0xA8, 0x67, /* 0x60-0x63 */ + 0xA8, 0x68, 0xA8, 0x69, 0xA8, 0x6A, 0xA8, 0x6B, /* 0x64-0x67 */ + 0xA8, 0x6C, 0xA8, 0x6D, 0xA8, 0x6E, 0xA8, 0x6F, /* 0x68-0x6B */ + 0xA8, 0x70, 0xA8, 0x71, 0xA8, 0x72, 0xA8, 0x73, /* 0x6C-0x6F */ + 0xA8, 0x74, 0xA8, 0x75, 0xA8, 0x76, 0xA8, 0x77, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xA8, 0x78, 0xA8, 0x79, 0xA8, 0x7A, /* 0x80-0x83 */ + 0xA8, 0x7B, 0xA8, 0x7C, 0xA8, 0x7D, 0xA8, 0x7E, /* 0x84-0x87 */ + 0xA8, 0x80, 0xA8, 0x81, 0xA8, 0x82, 0xA8, 0x83, /* 0x88-0x8B */ + 0xA8, 0x84, 0xA8, 0x85, 0xA8, 0x86, 0xA8, 0x87, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0x88, /* 0x90-0x93 */ + 0xA8, 0x89, 0xA8, 0x8A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xA1, 0xF6, 0xA1, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xF8, 0xA1, 0xF7, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xA8, 0x8B, 0xA8, 0x8C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xF4, 0xA1, 0xF3, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xF0, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xF2, 0xA1, 0xF1, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0x8D, 0xA8, 0x8E, /* 0xE0-0xE3 */ + 0xA8, 0x8F, 0xA8, 0x90, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_26[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xA1, 0xEF, 0xA1, 0xEE, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xA8, 0x91, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xA1, 0xE2, 0x3F, 0x3F, 0xA1, 0xE1, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_30[512] = { + 0xA1, 0xA1, 0xA1, 0xA2, 0xA1, 0xA3, 0xA1, 0xA8, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xA1, 0xA9, 0xA9, 0x65, 0xA9, 0x96, /* 0x04-0x07 */ + 0xA1, 0xB4, 0xA1, 0xB5, 0xA1, 0xB6, 0xA1, 0xB7, /* 0x08-0x0B */ + 0xA1, 0xB8, 0xA1, 0xB9, 0xA1, 0xBA, 0xA1, 0xBB, /* 0x0C-0x0F */ + 0xA1, 0xBE, 0xA1, 0xBF, 0xA8, 0x93, 0xA1, 0xFE, /* 0x10-0x13 */ + 0xA1, 0xB2, 0xA1, 0xB3, 0xA1, 0xBC, 0xA1, 0xBD, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xA8, 0x94, 0xA8, 0x95, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xA9, 0x40, 0xA9, 0x41, 0xA9, 0x42, /* 0x20-0x23 */ + 0xA9, 0x43, 0xA9, 0x44, 0xA9, 0x45, 0xA9, 0x46, /* 0x24-0x27 */ + 0xA9, 0x47, 0xA9, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xA4, 0xA1, 0xA4, 0xA2, 0xA4, 0xA3, /* 0x40-0x43 */ + 0xA4, 0xA4, 0xA4, 0xA5, 0xA4, 0xA6, 0xA4, 0xA7, /* 0x44-0x47 */ + 0xA4, 0xA8, 0xA4, 0xA9, 0xA4, 0xAA, 0xA4, 0xAB, /* 0x48-0x4B */ + 0xA4, 0xAC, 0xA4, 0xAD, 0xA4, 0xAE, 0xA4, 0xAF, /* 0x4C-0x4F */ + 0xA4, 0xB0, 0xA4, 0xB1, 0xA4, 0xB2, 0xA4, 0xB3, /* 0x50-0x53 */ + 0xA4, 0xB4, 0xA4, 0xB5, 0xA4, 0xB6, 0xA4, 0xB7, /* 0x54-0x57 */ + 0xA4, 0xB8, 0xA4, 0xB9, 0xA4, 0xBA, 0xA4, 0xBB, /* 0x58-0x5B */ + 0xA4, 0xBC, 0xA4, 0xBD, 0xA4, 0xBE, 0xA4, 0xBF, /* 0x5C-0x5F */ + 0xA4, 0xC0, 0xA4, 0xC1, 0xA4, 0xC2, 0xA4, 0xC3, /* 0x60-0x63 */ + 0xA4, 0xC4, 0xA4, 0xC5, 0xA4, 0xC6, 0xA4, 0xC7, /* 0x64-0x67 */ + 0xA4, 0xC8, 0xA4, 0xC9, 0xA4, 0xCA, 0xA4, 0xCB, /* 0x68-0x6B */ + 0xA4, 0xCC, 0xA4, 0xCD, 0xA4, 0xCE, 0xA4, 0xCF, /* 0x6C-0x6F */ + 0xA4, 0xD0, 0xA4, 0xD1, 0xA4, 0xD2, 0xA4, 0xD3, /* 0x70-0x73 */ + 0xA4, 0xD4, 0xA4, 0xD5, 0xA4, 0xD6, 0xA4, 0xD7, /* 0x74-0x77 */ + 0xA4, 0xD8, 0xA4, 0xD9, 0xA4, 0xDA, 0xA4, 0xDB, /* 0x78-0x7B */ + 0xA4, 0xDC, 0xA4, 0xDD, 0xA4, 0xDE, 0xA4, 0xDF, /* 0x7C-0x7F */ + + 0xA4, 0xE0, 0xA4, 0xE1, 0xA4, 0xE2, 0xA4, 0xE3, /* 0x80-0x83 */ + 0xA4, 0xE4, 0xA4, 0xE5, 0xA4, 0xE6, 0xA4, 0xE7, /* 0x84-0x87 */ + 0xA4, 0xE8, 0xA4, 0xE9, 0xA4, 0xEA, 0xA4, 0xEB, /* 0x88-0x8B */ + 0xA4, 0xEC, 0xA4, 0xED, 0xA4, 0xEE, 0xA4, 0xEF, /* 0x8C-0x8F */ + 0xA4, 0xF0, 0xA4, 0xF1, 0xA4, 0xF2, 0xA4, 0xF3, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0x61, /* 0x98-0x9B */ + 0xA9, 0x62, 0xA9, 0x66, 0xA9, 0x67, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xA5, 0xA1, 0xA5, 0xA2, 0xA5, 0xA3, /* 0xA0-0xA3 */ + 0xA5, 0xA4, 0xA5, 0xA5, 0xA5, 0xA6, 0xA5, 0xA7, /* 0xA4-0xA7 */ + 0xA5, 0xA8, 0xA5, 0xA9, 0xA5, 0xAA, 0xA5, 0xAB, /* 0xA8-0xAB */ + 0xA5, 0xAC, 0xA5, 0xAD, 0xA5, 0xAE, 0xA5, 0xAF, /* 0xAC-0xAF */ + 0xA5, 0xB0, 0xA5, 0xB1, 0xA5, 0xB2, 0xA5, 0xB3, /* 0xB0-0xB3 */ + 0xA5, 0xB4, 0xA5, 0xB5, 0xA5, 0xB6, 0xA5, 0xB7, /* 0xB4-0xB7 */ + 0xA5, 0xB8, 0xA5, 0xB9, 0xA5, 0xBA, 0xA5, 0xBB, /* 0xB8-0xBB */ + 0xA5, 0xBC, 0xA5, 0xBD, 0xA5, 0xBE, 0xA5, 0xBF, /* 0xBC-0xBF */ + 0xA5, 0xC0, 0xA5, 0xC1, 0xA5, 0xC2, 0xA5, 0xC3, /* 0xC0-0xC3 */ + 0xA5, 0xC4, 0xA5, 0xC5, 0xA5, 0xC6, 0xA5, 0xC7, /* 0xC4-0xC7 */ + 0xA5, 0xC8, 0xA5, 0xC9, 0xA5, 0xCA, 0xA5, 0xCB, /* 0xC8-0xCB */ + 0xA5, 0xCC, 0xA5, 0xCD, 0xA5, 0xCE, 0xA5, 0xCF, /* 0xCC-0xCF */ + 0xA5, 0xD0, 0xA5, 0xD1, 0xA5, 0xD2, 0xA5, 0xD3, /* 0xD0-0xD3 */ + 0xA5, 0xD4, 0xA5, 0xD5, 0xA5, 0xD6, 0xA5, 0xD7, /* 0xD4-0xD7 */ + 0xA5, 0xD8, 0xA5, 0xD9, 0xA5, 0xDA, 0xA5, 0xDB, /* 0xD8-0xDB */ + 0xA5, 0xDC, 0xA5, 0xDD, 0xA5, 0xDE, 0xA5, 0xDF, /* 0xDC-0xDF */ + 0xA5, 0xE0, 0xA5, 0xE1, 0xA5, 0xE2, 0xA5, 0xE3, /* 0xE0-0xE3 */ + 0xA5, 0xE4, 0xA5, 0xE5, 0xA5, 0xE6, 0xA5, 0xE7, /* 0xE4-0xE7 */ + 0xA5, 0xE8, 0xA5, 0xE9, 0xA5, 0xEA, 0xA5, 0xEB, /* 0xE8-0xEB */ + 0xA5, 0xEC, 0xA5, 0xED, 0xA5, 0xEE, 0xA5, 0xEF, /* 0xEC-0xEF */ + 0xA5, 0xF0, 0xA5, 0xF1, 0xA5, 0xF2, 0xA5, 0xF3, /* 0xF0-0xF3 */ + 0xA5, 0xF4, 0xA5, 0xF5, 0xA5, 0xF6, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xA9, 0x60, 0xA9, 0x63, 0xA9, 0x64, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_31[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xA8, 0xC5, 0xA8, 0xC6, 0xA8, 0xC7, /* 0x04-0x07 */ + 0xA8, 0xC8, 0xA8, 0xC9, 0xA8, 0xCA, 0xA8, 0xCB, /* 0x08-0x0B */ + 0xA8, 0xCC, 0xA8, 0xCD, 0xA8, 0xCE, 0xA8, 0xCF, /* 0x0C-0x0F */ + 0xA8, 0xD0, 0xA8, 0xD1, 0xA8, 0xD2, 0xA8, 0xD3, /* 0x10-0x13 */ + 0xA8, 0xD4, 0xA8, 0xD5, 0xA8, 0xD6, 0xA8, 0xD7, /* 0x14-0x17 */ + 0xA8, 0xD8, 0xA8, 0xD9, 0xA8, 0xDA, 0xA8, 0xDB, /* 0x18-0x1B */ + 0xA8, 0xDC, 0xA8, 0xDD, 0xA8, 0xDE, 0xA8, 0xDF, /* 0x1C-0x1F */ + 0xA8, 0xE0, 0xA8, 0xE1, 0xA8, 0xE2, 0xA8, 0xE3, /* 0x20-0x23 */ + 0xA8, 0xE4, 0xA8, 0xE5, 0xA8, 0xE6, 0xA8, 0xE7, /* 0x24-0x27 */ + 0xA8, 0xE8, 0xA8, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_32[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xA2, 0xE5, 0xA2, 0xE6, 0xA2, 0xE7, 0xA2, 0xE8, /* 0x20-0x23 */ + 0xA2, 0xE9, 0xA2, 0xEA, 0xA2, 0xEB, 0xA2, 0xEC, /* 0x24-0x27 */ + 0xA2, 0xED, 0xA2, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xA9, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0x49, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_33[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0x4A, 0xA9, 0x4B, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xA9, 0x4C, 0xA9, 0x4D, 0xA9, 0x4E, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xA9, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xA9, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0x51, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xA9, 0x52, 0xA9, 0x53, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xA9, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_4E[512] = { + 0xD2, 0xBB, 0xB6, 0xA1, 0x81, 0x40, 0xC6, 0xDF, /* 0x00-0x03 */ + 0x81, 0x41, 0x81, 0x42, 0x81, 0x43, 0xCD, 0xF2, /* 0x04-0x07 */ + 0xD5, 0xC9, 0xC8, 0xFD, 0xC9, 0xCF, 0xCF, 0xC2, /* 0x08-0x0B */ + 0xD8, 0xA2, 0xB2, 0xBB, 0xD3, 0xEB, 0x81, 0x44, /* 0x0C-0x0F */ + 0xD8, 0xA4, 0xB3, 0xF3, 0x81, 0x45, 0xD7, 0xA8, /* 0x10-0x13 */ + 0xC7, 0xD2, 0xD8, 0xA7, 0xCA, 0xC0, 0x81, 0x46, /* 0x14-0x17 */ + 0xC7, 0xF0, 0xB1, 0xFB, 0xD2, 0xB5, 0xB4, 0xD4, /* 0x18-0x1B */ + 0xB6, 0xAB, 0xCB, 0xBF, 0xD8, 0xA9, 0x81, 0x47, /* 0x1C-0x1F */ + 0x81, 0x48, 0x81, 0x49, 0xB6, 0xAA, 0x81, 0x4A, /* 0x20-0x23 */ + 0xC1, 0xBD, 0xD1, 0xCF, 0x81, 0x4B, 0xC9, 0xA5, /* 0x24-0x27 */ + 0xD8, 0xAD, 0x81, 0x4C, 0xB8, 0xF6, 0xD1, 0xBE, /* 0x28-0x2B */ + 0xE3, 0xDC, 0xD6, 0xD0, 0x81, 0x4D, 0x81, 0x4E, /* 0x2C-0x2F */ + 0xB7, 0xE1, 0x81, 0x4F, 0xB4, 0xAE, 0x81, 0x50, /* 0x30-0x33 */ + 0xC1, 0xD9, 0x81, 0x51, 0xD8, 0xBC, 0x81, 0x52, /* 0x34-0x37 */ + 0xCD, 0xE8, 0xB5, 0xA4, 0xCE, 0xAA, 0xD6, 0xF7, /* 0x38-0x3B */ + 0x81, 0x53, 0xC0, 0xF6, 0xBE, 0xD9, 0xD8, 0xAF, /* 0x3C-0x3F */ + 0x81, 0x54, 0x81, 0x55, 0x81, 0x56, 0xC4, 0xCB, /* 0x40-0x43 */ + 0x81, 0x57, 0xBE, 0xC3, 0x81, 0x58, 0xD8, 0xB1, /* 0x44-0x47 */ + 0xC3, 0xB4, 0xD2, 0xE5, 0x81, 0x59, 0xD6, 0xAE, /* 0x48-0x4B */ + 0xCE, 0xDA, 0xD5, 0xA7, 0xBA, 0xF5, 0xB7, 0xA6, /* 0x4C-0x4F */ + 0xC0, 0xD6, 0x81, 0x5A, 0xC6, 0xB9, 0xC5, 0xD2, /* 0x50-0x53 */ + 0xC7, 0xC7, 0x81, 0x5B, 0xB9, 0xD4, 0x81, 0x5C, /* 0x54-0x57 */ + 0xB3, 0xCB, 0xD2, 0xD2, 0x81, 0x5D, 0x81, 0x5E, /* 0x58-0x5B */ + 0xD8, 0xBF, 0xBE, 0xC5, 0xC6, 0xF2, 0xD2, 0xB2, /* 0x5C-0x5F */ + 0xCF, 0xB0, 0xCF, 0xE7, 0x81, 0x5F, 0x81, 0x60, /* 0x60-0x63 */ + 0x81, 0x61, 0x81, 0x62, 0xCA, 0xE9, 0x81, 0x63, /* 0x64-0x67 */ + 0x81, 0x64, 0xD8, 0xC0, 0x81, 0x65, 0x81, 0x66, /* 0x68-0x6B */ + 0x81, 0x67, 0x81, 0x68, 0x81, 0x69, 0x81, 0x6A, /* 0x6C-0x6F */ + 0xC2, 0xF2, 0xC2, 0xD2, 0x81, 0x6B, 0xC8, 0xE9, /* 0x70-0x73 */ + 0x81, 0x6C, 0x81, 0x6D, 0x81, 0x6E, 0x81, 0x6F, /* 0x74-0x77 */ + 0x81, 0x70, 0x81, 0x71, 0x81, 0x72, 0x81, 0x73, /* 0x78-0x7B */ + 0x81, 0x74, 0x81, 0x75, 0xC7, 0xAC, 0x81, 0x76, /* 0x7C-0x7F */ + + 0x81, 0x77, 0x81, 0x78, 0x81, 0x79, 0x81, 0x7A, /* 0x80-0x83 */ + 0x81, 0x7B, 0x81, 0x7C, 0xC1, 0xCB, 0x81, 0x7D, /* 0x84-0x87 */ + 0xD3, 0xE8, 0xD5, 0xF9, 0x81, 0x7E, 0xCA, 0xC2, /* 0x88-0x8B */ + 0xB6, 0xFE, 0xD8, 0xA1, 0xD3, 0xDA, 0xBF, 0xF7, /* 0x8C-0x8F */ + 0x81, 0x80, 0xD4, 0xC6, 0xBB, 0xA5, 0xD8, 0xC1, /* 0x90-0x93 */ + 0xCE, 0xE5, 0xBE, 0xAE, 0x81, 0x81, 0x81, 0x82, /* 0x94-0x97 */ + 0xD8, 0xA8, 0x81, 0x83, 0xD1, 0xC7, 0xD0, 0xA9, /* 0x98-0x9B */ + 0x81, 0x84, 0x81, 0x85, 0x81, 0x86, 0xD8, 0xBD, /* 0x9C-0x9F */ + 0xD9, 0xEF, 0xCD, 0xF6, 0xBF, 0xBA, 0x81, 0x87, /* 0xA0-0xA3 */ + 0xBD, 0xBB, 0xBA, 0xA5, 0xD2, 0xE0, 0xB2, 0xFA, /* 0xA4-0xA7 */ + 0xBA, 0xE0, 0xC4, 0xB6, 0x81, 0x88, 0xCF, 0xED, /* 0xA8-0xAB */ + 0xBE, 0xA9, 0xCD, 0xA4, 0xC1, 0xC1, 0x81, 0x89, /* 0xAC-0xAF */ + 0x81, 0x8A, 0x81, 0x8B, 0xC7, 0xD7, 0xD9, 0xF1, /* 0xB0-0xB3 */ + 0x81, 0x8C, 0xD9, 0xF4, 0x81, 0x8D, 0x81, 0x8E, /* 0xB4-0xB7 */ + 0x81, 0x8F, 0x81, 0x90, 0xC8, 0xCB, 0xD8, 0xE9, /* 0xB8-0xBB */ + 0x81, 0x91, 0x81, 0x92, 0x81, 0x93, 0xD2, 0xDA, /* 0xBC-0xBF */ + 0xCA, 0xB2, 0xC8, 0xCA, 0xD8, 0xEC, 0xD8, 0xEA, /* 0xC0-0xC3 */ + 0xD8, 0xC6, 0xBD, 0xF6, 0xC6, 0xCD, 0xB3, 0xF0, /* 0xC4-0xC7 */ + 0x81, 0x94, 0xD8, 0xEB, 0xBD, 0xF1, 0xBD, 0xE9, /* 0xC8-0xCB */ + 0x81, 0x95, 0xC8, 0xD4, 0xB4, 0xD3, 0x81, 0x96, /* 0xCC-0xCF */ + 0x81, 0x97, 0xC2, 0xD8, 0x81, 0x98, 0xB2, 0xD6, /* 0xD0-0xD3 */ + 0xD7, 0xD0, 0xCA, 0xCB, 0xCB, 0xFB, 0xD5, 0xCC, /* 0xD4-0xD7 */ + 0xB8, 0xB6, 0xCF, 0xC9, 0x81, 0x99, 0x81, 0x9A, /* 0xD8-0xDB */ + 0x81, 0x9B, 0xD9, 0xDA, 0xD8, 0xF0, 0xC7, 0xAA, /* 0xDC-0xDF */ + 0x81, 0x9C, 0xD8, 0xEE, 0x81, 0x9D, 0xB4, 0xFA, /* 0xE0-0xE3 */ + 0xC1, 0xEE, 0xD2, 0xD4, 0x81, 0x9E, 0x81, 0x9F, /* 0xE4-0xE7 */ + 0xD8, 0xED, 0x81, 0xA0, 0xD2, 0xC7, 0xD8, 0xEF, /* 0xE8-0xEB */ + 0xC3, 0xC7, 0x81, 0xA1, 0x81, 0xA2, 0x81, 0xA3, /* 0xEC-0xEF */ + 0xD1, 0xF6, 0x81, 0xA4, 0xD6, 0xD9, 0xD8, 0xF2, /* 0xF0-0xF3 */ + 0x81, 0xA5, 0xD8, 0xF5, 0xBC, 0xFE, 0xBC, 0xDB, /* 0xF4-0xF7 */ + 0x81, 0xA6, 0x81, 0xA7, 0x81, 0xA8, 0xC8, 0xCE, /* 0xF8-0xFB */ + 0x81, 0xA9, 0xB7, 0xDD, 0x81, 0xAA, 0xB7, 0xC2, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_4F[512] = { + 0x81, 0xAB, 0xC6, 0xF3, 0x81, 0xAC, 0x81, 0xAD, /* 0x00-0x03 */ + 0x81, 0xAE, 0x81, 0xAF, 0x81, 0xB0, 0x81, 0xB1, /* 0x04-0x07 */ + 0x81, 0xB2, 0xD8, 0xF8, 0xD2, 0xC1, 0x81, 0xB3, /* 0x08-0x0B */ + 0x81, 0xB4, 0xCE, 0xE9, 0xBC, 0xBF, 0xB7, 0xFC, /* 0x0C-0x0F */ + 0xB7, 0xA5, 0xD0, 0xDD, 0x81, 0xB5, 0x81, 0xB6, /* 0x10-0x13 */ + 0x81, 0xB7, 0x81, 0xB8, 0x81, 0xB9, 0xD6, 0xDA, /* 0x14-0x17 */ + 0xD3, 0xC5, 0xBB, 0xEF, 0xBB, 0xE1, 0xD8, 0xF1, /* 0x18-0x1B */ + 0x81, 0xBA, 0x81, 0xBB, 0xC9, 0xA1, 0xCE, 0xB0, /* 0x1C-0x1F */ + 0xB4, 0xAB, 0x81, 0xBC, 0xD8, 0xF3, 0x81, 0xBD, /* 0x20-0x23 */ + 0xC9, 0xCB, 0xD8, 0xF6, 0xC2, 0xD7, 0xD8, 0xF7, /* 0x24-0x27 */ + 0x81, 0xBE, 0x81, 0xBF, 0xCE, 0xB1, 0xD8, 0xF9, /* 0x28-0x2B */ + 0x81, 0xC0, 0x81, 0xC1, 0x81, 0xC2, 0xB2, 0xAE, /* 0x2C-0x2F */ + 0xB9, 0xC0, 0x81, 0xC3, 0xD9, 0xA3, 0x81, 0xC4, /* 0x30-0x33 */ + 0xB0, 0xE9, 0x81, 0xC5, 0xC1, 0xE6, 0x81, 0xC6, /* 0x34-0x37 */ + 0xC9, 0xEC, 0x81, 0xC7, 0xCB, 0xC5, 0x81, 0xC8, /* 0x38-0x3B */ + 0xCB, 0xC6, 0xD9, 0xA4, 0x81, 0xC9, 0x81, 0xCA, /* 0x3C-0x3F */ + 0x81, 0xCB, 0x81, 0xCC, 0x81, 0xCD, 0xB5, 0xE8, /* 0x40-0x43 */ + 0x81, 0xCE, 0x81, 0xCF, 0xB5, 0xAB, 0x81, 0xD0, /* 0x44-0x47 */ + 0x81, 0xD1, 0x81, 0xD2, 0x81, 0xD3, 0x81, 0xD4, /* 0x48-0x4B */ + 0x81, 0xD5, 0xCE, 0xBB, 0xB5, 0xCD, 0xD7, 0xA1, /* 0x4C-0x4F */ + 0xD7, 0xF4, 0xD3, 0xD3, 0x81, 0xD6, 0xCC, 0xE5, /* 0x50-0x53 */ + 0x81, 0xD7, 0xBA, 0xCE, 0x81, 0xD8, 0xD9, 0xA2, /* 0x54-0x57 */ + 0xD9, 0xDC, 0xD3, 0xE0, 0xD8, 0xFD, 0xB7, 0xF0, /* 0x58-0x5B */ + 0xD7, 0xF7, 0xD8, 0xFE, 0xD8, 0xFA, 0xD9, 0xA1, /* 0x5C-0x5F */ + 0xC4, 0xE3, 0x81, 0xD9, 0x81, 0xDA, 0xD3, 0xB6, /* 0x60-0x63 */ + 0xD8, 0xF4, 0xD9, 0xDD, 0x81, 0xDB, 0xD8, 0xFB, /* 0x64-0x67 */ + 0x81, 0xDC, 0xC5, 0xE5, 0x81, 0xDD, 0x81, 0xDE, /* 0x68-0x6B */ + 0xC0, 0xD0, 0x81, 0xDF, 0x81, 0xE0, 0xD1, 0xF0, /* 0x6C-0x6F */ + 0xB0, 0xDB, 0x81, 0xE1, 0x81, 0xE2, 0xBC, 0xD1, /* 0x70-0x73 */ + 0xD9, 0xA6, 0x81, 0xE3, 0xD9, 0xA5, 0x81, 0xE4, /* 0x74-0x77 */ + 0x81, 0xE5, 0x81, 0xE6, 0x81, 0xE7, 0xD9, 0xAC, /* 0x78-0x7B */ + 0xD9, 0xAE, 0x81, 0xE8, 0xD9, 0xAB, 0xCA, 0xB9, /* 0x7C-0x7F */ + + 0x81, 0xE9, 0x81, 0xEA, 0x81, 0xEB, 0xD9, 0xA9, /* 0x80-0x83 */ + 0xD6, 0xB6, 0x81, 0xEC, 0x81, 0xED, 0x81, 0xEE, /* 0x84-0x87 */ + 0xB3, 0xDE, 0xD9, 0xA8, 0x81, 0xEF, 0xC0, 0xFD, /* 0x88-0x8B */ + 0x81, 0xF0, 0xCA, 0xCC, 0x81, 0xF1, 0xD9, 0xAA, /* 0x8C-0x8F */ + 0x81, 0xF2, 0xD9, 0xA7, 0x81, 0xF3, 0x81, 0xF4, /* 0x90-0x93 */ + 0xD9, 0xB0, 0x81, 0xF5, 0x81, 0xF6, 0xB6, 0xB1, /* 0x94-0x97 */ + 0x81, 0xF7, 0x81, 0xF8, 0x81, 0xF9, 0xB9, 0xA9, /* 0x98-0x9B */ + 0x81, 0xFA, 0xD2, 0xC0, 0x81, 0xFB, 0x81, 0xFC, /* 0x9C-0x9F */ + 0xCF, 0xC0, 0x81, 0xFD, 0x81, 0xFE, 0xC2, 0xC2, /* 0xA0-0xA3 */ + 0x82, 0x40, 0xBD, 0xC4, 0xD5, 0xEC, 0xB2, 0xE0, /* 0xA4-0xA7 */ + 0xC7, 0xC8, 0xBF, 0xEB, 0xD9, 0xAD, 0x82, 0x41, /* 0xA8-0xAB */ + 0xD9, 0xAF, 0x82, 0x42, 0xCE, 0xEA, 0xBA, 0xEE, /* 0xAC-0xAF */ + 0x82, 0x43, 0x82, 0x44, 0x82, 0x45, 0x82, 0x46, /* 0xB0-0xB3 */ + 0x82, 0x47, 0xC7, 0xD6, 0x82, 0x48, 0x82, 0x49, /* 0xB4-0xB7 */ + 0x82, 0x4A, 0x82, 0x4B, 0x82, 0x4C, 0x82, 0x4D, /* 0xB8-0xBB */ + 0x82, 0x4E, 0x82, 0x4F, 0x82, 0x50, 0xB1, 0xE3, /* 0xBC-0xBF */ + 0x82, 0x51, 0x82, 0x52, 0x82, 0x53, 0xB4, 0xD9, /* 0xC0-0xC3 */ + 0xB6, 0xED, 0xD9, 0xB4, 0x82, 0x54, 0x82, 0x55, /* 0xC4-0xC7 */ + 0x82, 0x56, 0x82, 0x57, 0xBF, 0xA1, 0x82, 0x58, /* 0xC8-0xCB */ + 0x82, 0x59, 0x82, 0x5A, 0xD9, 0xDE, 0xC7, 0xCE, /* 0xCC-0xCF */ + 0xC0, 0xFE, 0xD9, 0xB8, 0x82, 0x5B, 0x82, 0x5C, /* 0xD0-0xD3 */ + 0x82, 0x5D, 0x82, 0x5E, 0x82, 0x5F, 0xCB, 0xD7, /* 0xD4-0xD7 */ + 0xB7, 0xFD, 0x82, 0x60, 0xD9, 0xB5, 0x82, 0x61, /* 0xD8-0xDB */ + 0xD9, 0xB7, 0xB1, 0xA3, 0xD3, 0xE1, 0xD9, 0xB9, /* 0xDC-0xDF */ + 0x82, 0x62, 0xD0, 0xC5, 0x82, 0x63, 0xD9, 0xB6, /* 0xE0-0xE3 */ + 0x82, 0x64, 0x82, 0x65, 0xD9, 0xB1, 0x82, 0x66, /* 0xE4-0xE7 */ + 0xD9, 0xB2, 0xC1, 0xA9, 0xD9, 0xB3, 0x82, 0x67, /* 0xE8-0xEB */ + 0x82, 0x68, 0xBC, 0xF3, 0xD0, 0xDE, 0xB8, 0xA9, /* 0xEC-0xEF */ + 0x82, 0x69, 0xBE, 0xE3, 0x82, 0x6A, 0xD9, 0xBD, /* 0xF0-0xF3 */ + 0x82, 0x6B, 0x82, 0x6C, 0x82, 0x6D, 0x82, 0x6E, /* 0xF4-0xF7 */ + 0xD9, 0xBA, 0x82, 0x6F, 0xB0, 0xB3, 0x82, 0x70, /* 0xF8-0xFB */ + 0x82, 0x71, 0x82, 0x72, 0xD9, 0xC2, 0x82, 0x73, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_50[512] = { + 0x82, 0x74, 0x82, 0x75, 0x82, 0x76, 0x82, 0x77, /* 0x00-0x03 */ + 0x82, 0x78, 0x82, 0x79, 0x82, 0x7A, 0x82, 0x7B, /* 0x04-0x07 */ + 0x82, 0x7C, 0x82, 0x7D, 0x82, 0x7E, 0x82, 0x80, /* 0x08-0x0B */ + 0xD9, 0xC4, 0xB1, 0xB6, 0x82, 0x81, 0xD9, 0xBF, /* 0x0C-0x0F */ + 0x82, 0x82, 0x82, 0x83, 0xB5, 0xB9, 0x82, 0x84, /* 0x10-0x13 */ + 0xBE, 0xF3, 0x82, 0x85, 0x82, 0x86, 0x82, 0x87, /* 0x14-0x17 */ + 0xCC, 0xC8, 0xBA, 0xF2, 0xD2, 0xD0, 0x82, 0x88, /* 0x18-0x1B */ + 0xD9, 0xC3, 0x82, 0x89, 0x82, 0x8A, 0xBD, 0xE8, /* 0x1C-0x1F */ + 0x82, 0x8B, 0xB3, 0xAB, 0x82, 0x8C, 0x82, 0x8D, /* 0x20-0x23 */ + 0x82, 0x8E, 0xD9, 0xC5, 0xBE, 0xEB, 0x82, 0x8F, /* 0x24-0x27 */ + 0xD9, 0xC6, 0xD9, 0xBB, 0xC4, 0xDF, 0x82, 0x90, /* 0x28-0x2B */ + 0xD9, 0xBE, 0xD9, 0xC1, 0xD9, 0xC0, 0x82, 0x91, /* 0x2C-0x2F */ + 0x82, 0x92, 0x82, 0x93, 0x82, 0x94, 0x82, 0x95, /* 0x30-0x33 */ + 0x82, 0x96, 0x82, 0x97, 0x82, 0x98, 0x82, 0x99, /* 0x34-0x37 */ + 0x82, 0x9A, 0x82, 0x9B, 0xD5, 0xAE, 0x82, 0x9C, /* 0x38-0x3B */ + 0xD6, 0xB5, 0x82, 0x9D, 0xC7, 0xE3, 0x82, 0x9E, /* 0x3C-0x3F */ + 0x82, 0x9F, 0x82, 0xA0, 0x82, 0xA1, 0xD9, 0xC8, /* 0x40-0x43 */ + 0x82, 0xA2, 0x82, 0xA3, 0x82, 0xA4, 0xBC, 0xD9, /* 0x44-0x47 */ + 0xD9, 0xCA, 0x82, 0xA5, 0x82, 0xA6, 0x82, 0xA7, /* 0x48-0x4B */ + 0xD9, 0xBC, 0x82, 0xA8, 0xD9, 0xCB, 0xC6, 0xAB, /* 0x4C-0x4F */ + 0x82, 0xA9, 0x82, 0xAA, 0x82, 0xAB, 0x82, 0xAC, /* 0x50-0x53 */ + 0x82, 0xAD, 0xD9, 0xC9, 0x82, 0xAE, 0x82, 0xAF, /* 0x54-0x57 */ + 0x82, 0xB0, 0x82, 0xB1, 0xD7, 0xF6, 0x82, 0xB2, /* 0x58-0x5B */ + 0xCD, 0xA3, 0x82, 0xB3, 0x82, 0xB4, 0x82, 0xB5, /* 0x5C-0x5F */ + 0x82, 0xB6, 0x82, 0xB7, 0x82, 0xB8, 0x82, 0xB9, /* 0x60-0x63 */ + 0x82, 0xBA, 0xBD, 0xA1, 0x82, 0xBB, 0x82, 0xBC, /* 0x64-0x67 */ + 0x82, 0xBD, 0x82, 0xBE, 0x82, 0xBF, 0x82, 0xC0, /* 0x68-0x6B */ + 0xD9, 0xCC, 0x82, 0xC1, 0x82, 0xC2, 0x82, 0xC3, /* 0x6C-0x6F */ + 0x82, 0xC4, 0x82, 0xC5, 0x82, 0xC6, 0x82, 0xC7, /* 0x70-0x73 */ + 0x82, 0xC8, 0x82, 0xC9, 0xC5, 0xBC, 0xCD, 0xB5, /* 0x74-0x77 */ + 0x82, 0xCA, 0x82, 0xCB, 0x82, 0xCC, 0xD9, 0xCD, /* 0x78-0x7B */ + 0x82, 0xCD, 0x82, 0xCE, 0xD9, 0xC7, 0xB3, 0xA5, /* 0x7C-0x7F */ + + 0xBF, 0xFE, 0x82, 0xCF, 0x82, 0xD0, 0x82, 0xD1, /* 0x80-0x83 */ + 0x82, 0xD2, 0xB8, 0xB5, 0x82, 0xD3, 0x82, 0xD4, /* 0x84-0x87 */ + 0xC0, 0xFC, 0x82, 0xD5, 0x82, 0xD6, 0x82, 0xD7, /* 0x88-0x8B */ + 0x82, 0xD8, 0xB0, 0xF8, 0x82, 0xD9, 0x82, 0xDA, /* 0x8C-0x8F */ + 0x82, 0xDB, 0x82, 0xDC, 0x82, 0xDD, 0x82, 0xDE, /* 0x90-0x93 */ + 0x82, 0xDF, 0x82, 0xE0, 0x82, 0xE1, 0x82, 0xE2, /* 0x94-0x97 */ + 0x82, 0xE3, 0x82, 0xE4, 0x82, 0xE5, 0x82, 0xE6, /* 0x98-0x9B */ + 0x82, 0xE7, 0x82, 0xE8, 0x82, 0xE9, 0x82, 0xEA, /* 0x9C-0x9F */ + 0x82, 0xEB, 0x82, 0xEC, 0x82, 0xED, 0xB4, 0xF6, /* 0xA0-0xA3 */ + 0x82, 0xEE, 0xD9, 0xCE, 0x82, 0xEF, 0xD9, 0xCF, /* 0xA4-0xA7 */ + 0xB4, 0xA2, 0xD9, 0xD0, 0x82, 0xF0, 0x82, 0xF1, /* 0xA8-0xAB */ + 0xB4, 0xDF, 0x82, 0xF2, 0x82, 0xF3, 0x82, 0xF4, /* 0xAC-0xAF */ + 0x82, 0xF5, 0x82, 0xF6, 0xB0, 0xC1, 0x82, 0xF7, /* 0xB0-0xB3 */ + 0x82, 0xF8, 0x82, 0xF9, 0x82, 0xFA, 0x82, 0xFB, /* 0xB4-0xB7 */ + 0x82, 0xFC, 0x82, 0xFD, 0xD9, 0xD1, 0xC9, 0xB5, /* 0xB8-0xBB */ + 0x82, 0xFE, 0x83, 0x40, 0x83, 0x41, 0x83, 0x42, /* 0xBC-0xBF */ + 0x83, 0x43, 0x83, 0x44, 0x83, 0x45, 0x83, 0x46, /* 0xC0-0xC3 */ + 0x83, 0x47, 0x83, 0x48, 0x83, 0x49, 0x83, 0x4A, /* 0xC4-0xC7 */ + 0x83, 0x4B, 0x83, 0x4C, 0x83, 0x4D, 0x83, 0x4E, /* 0xC8-0xCB */ + 0x83, 0x4F, 0x83, 0x50, 0x83, 0x51, 0xCF, 0xF1, /* 0xCC-0xCF */ + 0x83, 0x52, 0x83, 0x53, 0x83, 0x54, 0x83, 0x55, /* 0xD0-0xD3 */ + 0x83, 0x56, 0x83, 0x57, 0xD9, 0xD2, 0x83, 0x58, /* 0xD4-0xD7 */ + 0x83, 0x59, 0x83, 0x5A, 0xC1, 0xC5, 0x83, 0x5B, /* 0xD8-0xDB */ + 0x83, 0x5C, 0x83, 0x5D, 0x83, 0x5E, 0x83, 0x5F, /* 0xDC-0xDF */ + 0x83, 0x60, 0x83, 0x61, 0x83, 0x62, 0x83, 0x63, /* 0xE0-0xE3 */ + 0x83, 0x64, 0x83, 0x65, 0xD9, 0xD6, 0xC9, 0xAE, /* 0xE4-0xE7 */ + 0x83, 0x66, 0x83, 0x67, 0x83, 0x68, 0x83, 0x69, /* 0xE8-0xEB */ + 0xD9, 0xD5, 0xD9, 0xD4, 0xD9, 0xD7, 0x83, 0x6A, /* 0xEC-0xEF */ + 0x83, 0x6B, 0x83, 0x6C, 0x83, 0x6D, 0xCB, 0xDB, /* 0xF0-0xF3 */ + 0x83, 0x6E, 0xBD, 0xA9, 0x83, 0x6F, 0x83, 0x70, /* 0xF4-0xF7 */ + 0x83, 0x71, 0x83, 0x72, 0x83, 0x73, 0xC6, 0xA7, /* 0xF8-0xFB */ + 0x83, 0x74, 0x83, 0x75, 0x83, 0x76, 0x83, 0x77, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_51[512] = { + 0x83, 0x78, 0x83, 0x79, 0x83, 0x7A, 0x83, 0x7B, /* 0x00-0x03 */ + 0x83, 0x7C, 0x83, 0x7D, 0xD9, 0xD3, 0xD9, 0xD8, /* 0x04-0x07 */ + 0x83, 0x7E, 0x83, 0x80, 0x83, 0x81, 0xD9, 0xD9, /* 0x08-0x0B */ + 0x83, 0x82, 0x83, 0x83, 0x83, 0x84, 0x83, 0x85, /* 0x0C-0x0F */ + 0x83, 0x86, 0x83, 0x87, 0xC8, 0xE5, 0x83, 0x88, /* 0x10-0x13 */ + 0x83, 0x89, 0x83, 0x8A, 0x83, 0x8B, 0x83, 0x8C, /* 0x14-0x17 */ + 0x83, 0x8D, 0x83, 0x8E, 0x83, 0x8F, 0x83, 0x90, /* 0x18-0x1B */ + 0x83, 0x91, 0x83, 0x92, 0x83, 0x93, 0x83, 0x94, /* 0x1C-0x1F */ + 0x83, 0x95, 0xC0, 0xDC, 0x83, 0x96, 0x83, 0x97, /* 0x20-0x23 */ + 0x83, 0x98, 0x83, 0x99, 0x83, 0x9A, 0x83, 0x9B, /* 0x24-0x27 */ + 0x83, 0x9C, 0x83, 0x9D, 0x83, 0x9E, 0x83, 0x9F, /* 0x28-0x2B */ + 0x83, 0xA0, 0x83, 0xA1, 0x83, 0xA2, 0x83, 0xA3, /* 0x2C-0x2F */ + 0x83, 0xA4, 0x83, 0xA5, 0x83, 0xA6, 0x83, 0xA7, /* 0x30-0x33 */ + 0x83, 0xA8, 0x83, 0xA9, 0x83, 0xAA, 0x83, 0xAB, /* 0x34-0x37 */ + 0x83, 0xAC, 0x83, 0xAD, 0x83, 0xAE, 0x83, 0xAF, /* 0x38-0x3B */ + 0x83, 0xB0, 0x83, 0xB1, 0x83, 0xB2, 0xB6, 0xF9, /* 0x3C-0x3F */ + 0xD8, 0xA3, 0xD4, 0xCA, 0x83, 0xB3, 0xD4, 0xAA, /* 0x40-0x43 */ + 0xD0, 0xD6, 0xB3, 0xE4, 0xD5, 0xD7, 0x83, 0xB4, /* 0x44-0x47 */ + 0xCF, 0xC8, 0xB9, 0xE2, 0x83, 0xB5, 0xBF, 0xCB, /* 0x48-0x4B */ + 0x83, 0xB6, 0xC3, 0xE2, 0x83, 0xB7, 0x83, 0xB8, /* 0x4C-0x4F */ + 0x83, 0xB9, 0xB6, 0xD2, 0x83, 0xBA, 0x83, 0xBB, /* 0x50-0x53 */ + 0xCD, 0xC3, 0xD9, 0xEE, 0xD9, 0xF0, 0x83, 0xBC, /* 0x54-0x57 */ + 0x83, 0xBD, 0x83, 0xBE, 0xB5, 0xB3, 0x83, 0xBF, /* 0x58-0x5B */ + 0xB6, 0xB5, 0x83, 0xC0, 0x83, 0xC1, 0x83, 0xC2, /* 0x5C-0x5F */ + 0x83, 0xC3, 0x83, 0xC4, 0xBE, 0xA4, 0x83, 0xC5, /* 0x60-0x63 */ + 0x83, 0xC6, 0xC8, 0xEB, 0x83, 0xC7, 0x83, 0xC8, /* 0x64-0x67 */ + 0xC8, 0xAB, 0x83, 0xC9, 0x83, 0xCA, 0xB0, 0xCB, /* 0x68-0x6B */ + 0xB9, 0xAB, 0xC1, 0xF9, 0xD9, 0xE2, 0x83, 0xCB, /* 0x6C-0x6F */ + 0xC0, 0xBC, 0xB9, 0xB2, 0x83, 0xCC, 0xB9, 0xD8, /* 0x70-0x73 */ + 0xD0, 0xCB, 0xB1, 0xF8, 0xC6, 0xE4, 0xBE, 0xDF, /* 0x74-0x77 */ + 0xB5, 0xE4, 0xD7, 0xC8, 0x83, 0xCD, 0xD1, 0xF8, /* 0x78-0x7B */ + 0xBC, 0xE6, 0xCA, 0xDE, 0x83, 0xCE, 0x83, 0xCF, /* 0x7C-0x7F */ + + 0xBC, 0xBD, 0xD9, 0xE6, 0xD8, 0xE7, 0x83, 0xD0, /* 0x80-0x83 */ + 0x83, 0xD1, 0xC4, 0xDA, 0x83, 0xD2, 0x83, 0xD3, /* 0x84-0x87 */ + 0xB8, 0xD4, 0xC8, 0xBD, 0x83, 0xD4, 0x83, 0xD5, /* 0x88-0x8B */ + 0xB2, 0xE1, 0xD4, 0xD9, 0x83, 0xD6, 0x83, 0xD7, /* 0x8C-0x8F */ + 0x83, 0xD8, 0x83, 0xD9, 0xC3, 0xB0, 0x83, 0xDA, /* 0x90-0x93 */ + 0x83, 0xDB, 0xC3, 0xE1, 0xDA, 0xA2, 0xC8, 0xDF, /* 0x94-0x97 */ + 0x83, 0xDC, 0xD0, 0xB4, 0x83, 0xDD, 0xBE, 0xFC, /* 0x98-0x9B */ + 0xC5, 0xA9, 0x83, 0xDE, 0x83, 0xDF, 0x83, 0xE0, /* 0x9C-0x9F */ + 0xB9, 0xDA, 0x83, 0xE1, 0xDA, 0xA3, 0x83, 0xE2, /* 0xA0-0xA3 */ + 0xD4, 0xA9, 0xDA, 0xA4, 0x83, 0xE3, 0x83, 0xE4, /* 0xA4-0xA7 */ + 0x83, 0xE5, 0x83, 0xE6, 0x83, 0xE7, 0xD9, 0xFB, /* 0xA8-0xAB */ + 0xB6, 0xAC, 0x83, 0xE8, 0x83, 0xE9, 0xB7, 0xEB, /* 0xAC-0xAF */ + 0xB1, 0xF9, 0xD9, 0xFC, 0xB3, 0xE5, 0xBE, 0xF6, /* 0xB0-0xB3 */ + 0x83, 0xEA, 0xBF, 0xF6, 0xD2, 0xB1, 0xC0, 0xE4, /* 0xB4-0xB7 */ + 0x83, 0xEB, 0x83, 0xEC, 0x83, 0xED, 0xB6, 0xB3, /* 0xB8-0xBB */ + 0xD9, 0xFE, 0xD9, 0xFD, 0x83, 0xEE, 0x83, 0xEF, /* 0xBC-0xBF */ + 0xBE, 0xBB, 0x83, 0xF0, 0x83, 0xF1, 0x83, 0xF2, /* 0xC0-0xC3 */ + 0xC6, 0xE0, 0x83, 0xF3, 0xD7, 0xBC, 0xDA, 0xA1, /* 0xC4-0xC7 */ + 0x83, 0xF4, 0xC1, 0xB9, 0x83, 0xF5, 0xB5, 0xF2, /* 0xC8-0xCB */ + 0xC1, 0xE8, 0x83, 0xF6, 0x83, 0xF7, 0xBC, 0xF5, /* 0xCC-0xCF */ + 0x83, 0xF8, 0xB4, 0xD5, 0x83, 0xF9, 0x83, 0xFA, /* 0xD0-0xD3 */ + 0x83, 0xFB, 0x83, 0xFC, 0x83, 0xFD, 0x83, 0xFE, /* 0xD4-0xD7 */ + 0x84, 0x40, 0x84, 0x41, 0x84, 0x42, 0xC1, 0xDD, /* 0xD8-0xDB */ + 0x84, 0x43, 0xC4, 0xFD, 0x84, 0x44, 0x84, 0x45, /* 0xDC-0xDF */ + 0xBC, 0xB8, 0xB7, 0xB2, 0x84, 0x46, 0x84, 0x47, /* 0xE0-0xE3 */ + 0xB7, 0xEF, 0x84, 0x48, 0x84, 0x49, 0x84, 0x4A, /* 0xE4-0xE7 */ + 0x84, 0x4B, 0x84, 0x4C, 0x84, 0x4D, 0xD9, 0xEC, /* 0xE8-0xEB */ + 0x84, 0x4E, 0xC6, 0xBE, 0x84, 0x4F, 0xBF, 0xAD, /* 0xEC-0xEF */ + 0xBB, 0xCB, 0x84, 0x50, 0x84, 0x51, 0xB5, 0xCA, /* 0xF0-0xF3 */ + 0x84, 0x52, 0xDB, 0xC9, 0xD0, 0xD7, 0x84, 0x53, /* 0xF4-0xF7 */ + 0xCD, 0xB9, 0xB0, 0xBC, 0xB3, 0xF6, 0xBB, 0xF7, /* 0xF8-0xFB */ + 0xDB, 0xCA, 0xBA, 0xAF, 0x84, 0x54, 0xD4, 0xE4, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_52[512] = { + 0xB5, 0xB6, 0xB5, 0xF3, 0xD8, 0xD6, 0xC8, 0xD0, /* 0x00-0x03 */ + 0x84, 0x55, 0x84, 0x56, 0xB7, 0xD6, 0xC7, 0xD0, /* 0x04-0x07 */ + 0xD8, 0xD7, 0x84, 0x57, 0xBF, 0xAF, 0x84, 0x58, /* 0x08-0x0B */ + 0x84, 0x59, 0xDB, 0xBB, 0xD8, 0xD8, 0x84, 0x5A, /* 0x0C-0x0F */ + 0x84, 0x5B, 0xD0, 0xCC, 0xBB, 0xAE, 0x84, 0x5C, /* 0x10-0x13 */ + 0x84, 0x5D, 0x84, 0x5E, 0xEB, 0xBE, 0xC1, 0xD0, /* 0x14-0x17 */ + 0xC1, 0xF5, 0xD4, 0xF2, 0xB8, 0xD5, 0xB4, 0xB4, /* 0x18-0x1B */ + 0x84, 0x5F, 0xB3, 0xF5, 0x84, 0x60, 0x84, 0x61, /* 0x1C-0x1F */ + 0xC9, 0xBE, 0x84, 0x62, 0x84, 0x63, 0x84, 0x64, /* 0x20-0x23 */ + 0xC5, 0xD0, 0x84, 0x65, 0x84, 0x66, 0x84, 0x67, /* 0x24-0x27 */ + 0xC5, 0xD9, 0xC0, 0xFB, 0x84, 0x68, 0xB1, 0xF0, /* 0x28-0x2B */ + 0x84, 0x69, 0xD8, 0xD9, 0xB9, 0xCE, 0x84, 0x6A, /* 0x2C-0x2F */ + 0xB5, 0xBD, 0x84, 0x6B, 0x84, 0x6C, 0xD8, 0xDA, /* 0x30-0x33 */ + 0x84, 0x6D, 0x84, 0x6E, 0xD6, 0xC6, 0xCB, 0xA2, /* 0x34-0x37 */ + 0xC8, 0xAF, 0xC9, 0xB2, 0xB4, 0xCC, 0xBF, 0xCC, /* 0x38-0x3B */ + 0x84, 0x6F, 0xB9, 0xF4, 0x84, 0x70, 0xD8, 0xDB, /* 0x3C-0x3F */ + 0xD8, 0xDC, 0xB6, 0xE7, 0xBC, 0xC1, 0xCC, 0xEA, /* 0x40-0x43 */ + 0x84, 0x71, 0x84, 0x72, 0x84, 0x73, 0x84, 0x74, /* 0x44-0x47 */ + 0x84, 0x75, 0x84, 0x76, 0xCF, 0xF7, 0x84, 0x77, /* 0x48-0x4B */ + 0xD8, 0xDD, 0xC7, 0xB0, 0x84, 0x78, 0x84, 0x79, /* 0x4C-0x4F */ + 0xB9, 0xD0, 0xBD, 0xA3, 0x84, 0x7A, 0x84, 0x7B, /* 0x50-0x53 */ + 0xCC, 0xDE, 0x84, 0x7C, 0xC6, 0xCA, 0x84, 0x7D, /* 0x54-0x57 */ + 0x84, 0x7E, 0x84, 0x80, 0x84, 0x81, 0x84, 0x82, /* 0x58-0x5B */ + 0xD8, 0xE0, 0x84, 0x83, 0xD8, 0xDE, 0x84, 0x84, /* 0x5C-0x5F */ + 0x84, 0x85, 0xD8, 0xDF, 0x84, 0x86, 0x84, 0x87, /* 0x60-0x63 */ + 0x84, 0x88, 0xB0, 0xFE, 0x84, 0x89, 0xBE, 0xE7, /* 0x64-0x67 */ + 0x84, 0x8A, 0xCA, 0xA3, 0xBC, 0xF4, 0x84, 0x8B, /* 0x68-0x6B */ + 0x84, 0x8C, 0x84, 0x8D, 0x84, 0x8E, 0xB8, 0xB1, /* 0x6C-0x6F */ + 0x84, 0x8F, 0x84, 0x90, 0xB8, 0xEE, 0x84, 0x91, /* 0x70-0x73 */ + 0x84, 0x92, 0x84, 0x93, 0x84, 0x94, 0x84, 0x95, /* 0x74-0x77 */ + 0x84, 0x96, 0x84, 0x97, 0x84, 0x98, 0x84, 0x99, /* 0x78-0x7B */ + 0x84, 0x9A, 0xD8, 0xE2, 0x84, 0x9B, 0xBD, 0xCB, /* 0x7C-0x7F */ + + 0x84, 0x9C, 0xD8, 0xE4, 0xD8, 0xE3, 0x84, 0x9D, /* 0x80-0x83 */ + 0x84, 0x9E, 0x84, 0x9F, 0x84, 0xA0, 0x84, 0xA1, /* 0x84-0x87 */ + 0xC5, 0xFC, 0x84, 0xA2, 0x84, 0xA3, 0x84, 0xA4, /* 0x88-0x8B */ + 0x84, 0xA5, 0x84, 0xA6, 0x84, 0xA7, 0x84, 0xA8, /* 0x8C-0x8F */ + 0xD8, 0xE5, 0x84, 0xA9, 0x84, 0xAA, 0xD8, 0xE6, /* 0x90-0x93 */ + 0x84, 0xAB, 0x84, 0xAC, 0x84, 0xAD, 0x84, 0xAE, /* 0x94-0x97 */ + 0x84, 0xAF, 0x84, 0xB0, 0x84, 0xB1, 0xC1, 0xA6, /* 0x98-0x9B */ + 0x84, 0xB2, 0xC8, 0xB0, 0xB0, 0xEC, 0xB9, 0xA6, /* 0x9C-0x9F */ + 0xBC, 0xD3, 0xCE, 0xF1, 0xDB, 0xBD, 0xC1, 0xD3, /* 0xA0-0xA3 */ + 0x84, 0xB3, 0x84, 0xB4, 0x84, 0xB5, 0x84, 0xB6, /* 0xA4-0xA7 */ + 0xB6, 0xAF, 0xD6, 0xFA, 0xC5, 0xAC, 0xBD, 0xD9, /* 0xA8-0xAB */ + 0xDB, 0xBE, 0xDB, 0xBF, 0x84, 0xB7, 0x84, 0xB8, /* 0xAC-0xAF */ + 0x84, 0xB9, 0xC0, 0xF8, 0xBE, 0xA2, 0xC0, 0xCD, /* 0xB0-0xB3 */ + 0x84, 0xBA, 0x84, 0xBB, 0x84, 0xBC, 0x84, 0xBD, /* 0xB4-0xB7 */ + 0x84, 0xBE, 0x84, 0xBF, 0x84, 0xC0, 0x84, 0xC1, /* 0xB8-0xBB */ + 0x84, 0xC2, 0x84, 0xC3, 0xDB, 0xC0, 0xCA, 0xC6, /* 0xBC-0xBF */ + 0x84, 0xC4, 0x84, 0xC5, 0x84, 0xC6, 0xB2, 0xAA, /* 0xC0-0xC3 */ + 0x84, 0xC7, 0x84, 0xC8, 0x84, 0xC9, 0xD3, 0xC2, /* 0xC4-0xC7 */ + 0x84, 0xCA, 0xC3, 0xE3, 0x84, 0xCB, 0xD1, 0xAB, /* 0xC8-0xCB */ + 0x84, 0xCC, 0x84, 0xCD, 0x84, 0xCE, 0x84, 0xCF, /* 0xCC-0xCF */ + 0xDB, 0xC2, 0x84, 0xD0, 0xC0, 0xD5, 0x84, 0xD1, /* 0xD0-0xD3 */ + 0x84, 0xD2, 0x84, 0xD3, 0xDB, 0xC3, 0x84, 0xD4, /* 0xD4-0xD7 */ + 0xBF, 0xB1, 0x84, 0xD5, 0x84, 0xD6, 0x84, 0xD7, /* 0xD8-0xDB */ + 0x84, 0xD8, 0x84, 0xD9, 0x84, 0xDA, 0xC4, 0xBC, /* 0xDC-0xDF */ + 0x84, 0xDB, 0x84, 0xDC, 0x84, 0xDD, 0x84, 0xDE, /* 0xE0-0xE3 */ + 0xC7, 0xDA, 0x84, 0xDF, 0x84, 0xE0, 0x84, 0xE1, /* 0xE4-0xE7 */ + 0x84, 0xE2, 0x84, 0xE3, 0x84, 0xE4, 0x84, 0xE5, /* 0xE8-0xEB */ + 0x84, 0xE6, 0x84, 0xE7, 0x84, 0xE8, 0x84, 0xE9, /* 0xEC-0xEF */ + 0xDB, 0xC4, 0x84, 0xEA, 0x84, 0xEB, 0x84, 0xEC, /* 0xF0-0xF3 */ + 0x84, 0xED, 0x84, 0xEE, 0x84, 0xEF, 0x84, 0xF0, /* 0xF4-0xF7 */ + 0x84, 0xF1, 0xD9, 0xE8, 0xC9, 0xD7, 0x84, 0xF2, /* 0xF8-0xFB */ + 0x84, 0xF3, 0x84, 0xF4, 0xB9, 0xB4, 0xCE, 0xF0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_53[512] = { + 0xD4, 0xC8, 0x84, 0xF5, 0x84, 0xF6, 0x84, 0xF7, /* 0x00-0x03 */ + 0x84, 0xF8, 0xB0, 0xFC, 0xB4, 0xD2, 0x84, 0xF9, /* 0x04-0x07 */ + 0xD0, 0xD9, 0x84, 0xFA, 0x84, 0xFB, 0x84, 0xFC, /* 0x08-0x0B */ + 0x84, 0xFD, 0xD9, 0xE9, 0x84, 0xFE, 0xDE, 0xCB, /* 0x0C-0x0F */ + 0xD9, 0xEB, 0x85, 0x40, 0x85, 0x41, 0x85, 0x42, /* 0x10-0x13 */ + 0x85, 0x43, 0xD8, 0xB0, 0xBB, 0xAF, 0xB1, 0xB1, /* 0x14-0x17 */ + 0x85, 0x44, 0xB3, 0xD7, 0xD8, 0xCE, 0x85, 0x45, /* 0x18-0x1B */ + 0x85, 0x46, 0xD4, 0xD1, 0x85, 0x47, 0x85, 0x48, /* 0x1C-0x1F */ + 0xBD, 0xB3, 0xBF, 0xEF, 0x85, 0x49, 0xCF, 0xBB, /* 0x20-0x23 */ + 0x85, 0x4A, 0x85, 0x4B, 0xD8, 0xD0, 0x85, 0x4C, /* 0x24-0x27 */ + 0x85, 0x4D, 0x85, 0x4E, 0xB7, 0xCB, 0x85, 0x4F, /* 0x28-0x2B */ + 0x85, 0x50, 0x85, 0x51, 0xD8, 0xD1, 0x85, 0x52, /* 0x2C-0x2F */ + 0x85, 0x53, 0x85, 0x54, 0x85, 0x55, 0x85, 0x56, /* 0x30-0x33 */ + 0x85, 0x57, 0x85, 0x58, 0x85, 0x59, 0x85, 0x5A, /* 0x34-0x37 */ + 0x85, 0x5B, 0xC6, 0xA5, 0xC7, 0xF8, 0xD2, 0xBD, /* 0x38-0x3B */ + 0x85, 0x5C, 0x85, 0x5D, 0xD8, 0xD2, 0xC4, 0xE4, /* 0x3C-0x3F */ + 0x85, 0x5E, 0xCA, 0xAE, 0x85, 0x5F, 0xC7, 0xA7, /* 0x40-0x43 */ + 0x85, 0x60, 0xD8, 0xA6, 0x85, 0x61, 0xC9, 0xFD, /* 0x44-0x47 */ + 0xCE, 0xE7, 0xBB, 0xDC, 0xB0, 0xEB, 0x85, 0x62, /* 0x48-0x4B */ + 0x85, 0x63, 0x85, 0x64, 0xBB, 0xAA, 0xD0, 0xAD, /* 0x4C-0x4F */ + 0x85, 0x65, 0xB1, 0xB0, 0xD7, 0xE4, 0xD7, 0xBF, /* 0x50-0x53 */ + 0x85, 0x66, 0xB5, 0xA5, 0xC2, 0xF4, 0xC4, 0xCF, /* 0x54-0x57 */ + 0x85, 0x67, 0x85, 0x68, 0xB2, 0xA9, 0x85, 0x69, /* 0x58-0x5B */ + 0xB2, 0xB7, 0x85, 0x6A, 0xB1, 0xE5, 0xDF, 0xB2, /* 0x5C-0x5F */ + 0xD5, 0xBC, 0xBF, 0xA8, 0xC2, 0xAC, 0xD8, 0xD5, /* 0x60-0x63 */ + 0xC2, 0xB1, 0x85, 0x6B, 0xD8, 0xD4, 0xCE, 0xD4, /* 0x64-0x67 */ + 0x85, 0x6C, 0xDA, 0xE0, 0x85, 0x6D, 0xCE, 0xC0, /* 0x68-0x6B */ + 0x85, 0x6E, 0x85, 0x6F, 0xD8, 0xB4, 0xC3, 0xAE, /* 0x6C-0x6F */ + 0xD3, 0xA1, 0xCE, 0xA3, 0x85, 0x70, 0xBC, 0xB4, /* 0x70-0x73 */ + 0xC8, 0xB4, 0xC2, 0xD1, 0x85, 0x71, 0xBE, 0xED, /* 0x74-0x77 */ + 0xD0, 0xB6, 0x85, 0x72, 0xDA, 0xE1, 0x85, 0x73, /* 0x78-0x7B */ + 0x85, 0x74, 0x85, 0x75, 0x85, 0x76, 0xC7, 0xE4, /* 0x7C-0x7F */ + + 0x85, 0x77, 0x85, 0x78, 0xB3, 0xA7, 0x85, 0x79, /* 0x80-0x83 */ + 0xB6, 0xF2, 0xCC, 0xFC, 0xC0, 0xFA, 0x85, 0x7A, /* 0x84-0x87 */ + 0x85, 0x7B, 0xC0, 0xF7, 0x85, 0x7C, 0xD1, 0xB9, /* 0x88-0x8B */ + 0xD1, 0xE1, 0xD8, 0xC7, 0x85, 0x7D, 0x85, 0x7E, /* 0x8C-0x8F */ + 0x85, 0x80, 0x85, 0x81, 0x85, 0x82, 0x85, 0x83, /* 0x90-0x93 */ + 0x85, 0x84, 0xB2, 0xDE, 0x85, 0x85, 0x85, 0x86, /* 0x94-0x97 */ + 0xC0, 0xE5, 0x85, 0x87, 0xBA, 0xF1, 0x85, 0x88, /* 0x98-0x9B */ + 0x85, 0x89, 0xD8, 0xC8, 0x85, 0x8A, 0xD4, 0xAD, /* 0x9C-0x9F */ + 0x85, 0x8B, 0x85, 0x8C, 0xCF, 0xE1, 0xD8, 0xC9, /* 0xA0-0xA3 */ + 0x85, 0x8D, 0xD8, 0xCA, 0xCF, 0xC3, 0x85, 0x8E, /* 0xA4-0xA7 */ + 0xB3, 0xF8, 0xBE, 0xC7, 0x85, 0x8F, 0x85, 0x90, /* 0xA8-0xAB */ + 0x85, 0x91, 0x85, 0x92, 0xD8, 0xCB, 0x85, 0x93, /* 0xAC-0xAF */ + 0x85, 0x94, 0x85, 0x95, 0x85, 0x96, 0x85, 0x97, /* 0xB0-0xB3 */ + 0x85, 0x98, 0x85, 0x99, 0xDB, 0xCC, 0x85, 0x9A, /* 0xB4-0xB7 */ + 0x85, 0x9B, 0x85, 0x9C, 0x85, 0x9D, 0xC8, 0xA5, /* 0xB8-0xBB */ + 0x85, 0x9E, 0x85, 0x9F, 0x85, 0xA0, 0xCF, 0xD8, /* 0xBC-0xBF */ + 0x85, 0xA1, 0xC8, 0xFE, 0xB2, 0xCE, 0x85, 0xA2, /* 0xC0-0xC3 */ + 0x85, 0xA3, 0x85, 0xA4, 0x85, 0xA5, 0x85, 0xA6, /* 0xC4-0xC7 */ + 0xD3, 0xD6, 0xB2, 0xE6, 0xBC, 0xB0, 0xD3, 0xD1, /* 0xC8-0xCB */ + 0xCB, 0xAB, 0xB7, 0xB4, 0x85, 0xA7, 0x85, 0xA8, /* 0xCC-0xCF */ + 0x85, 0xA9, 0xB7, 0xA2, 0x85, 0xAA, 0x85, 0xAB, /* 0xD0-0xD3 */ + 0xCA, 0xE5, 0x85, 0xAC, 0xC8, 0xA1, 0xCA, 0xDC, /* 0xD4-0xD7 */ + 0xB1, 0xE4, 0xD0, 0xF0, 0x85, 0xAD, 0xC5, 0xD1, /* 0xD8-0xDB */ + 0x85, 0xAE, 0x85, 0xAF, 0x85, 0xB0, 0xDB, 0xC5, /* 0xDC-0xDF */ + 0xB5, 0xFE, 0x85, 0xB1, 0x85, 0xB2, 0xBF, 0xDA, /* 0xE0-0xE3 */ + 0xB9, 0xC5, 0xBE, 0xE4, 0xC1, 0xED, 0x85, 0xB3, /* 0xE4-0xE7 */ + 0xDF, 0xB6, 0xDF, 0xB5, 0xD6, 0xBB, 0xBD, 0xD0, /* 0xE8-0xEB */ + 0xD5, 0xD9, 0xB0, 0xC8, 0xB6, 0xA3, 0xBF, 0xC9, /* 0xEC-0xEF */ + 0xCC, 0xA8, 0xDF, 0xB3, 0xCA, 0xB7, 0xD3, 0xD2, /* 0xF0-0xF3 */ + 0x85, 0xB4, 0xD8, 0xCF, 0xD2, 0xB6, 0xBA, 0xC5, /* 0xF4-0xF7 */ + 0xCB, 0xBE, 0xCC, 0xBE, 0x85, 0xB5, 0xDF, 0xB7, /* 0xF8-0xFB */ + 0xB5, 0xF0, 0xDF, 0xB4, 0x85, 0xB6, 0x85, 0xB7, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_54[512] = { + 0x85, 0xB8, 0xD3, 0xF5, 0x85, 0xB9, 0xB3, 0xD4, /* 0x00-0x03 */ + 0xB8, 0xF7, 0x85, 0xBA, 0xDF, 0xBA, 0x85, 0xBB, /* 0x04-0x07 */ + 0xBA, 0xCF, 0xBC, 0xAA, 0xB5, 0xF5, 0x85, 0xBC, /* 0x08-0x0B */ + 0xCD, 0xAC, 0xC3, 0xFB, 0xBA, 0xF3, 0xC0, 0xF4, /* 0x0C-0x0F */ + 0xCD, 0xC2, 0xCF, 0xF2, 0xDF, 0xB8, 0xCF, 0xC5, /* 0x10-0x13 */ + 0x85, 0xBD, 0xC2, 0xC0, 0xDF, 0xB9, 0xC2, 0xF0, /* 0x14-0x17 */ + 0x85, 0xBE, 0x85, 0xBF, 0x85, 0xC0, 0xBE, 0xFD, /* 0x18-0x1B */ + 0x85, 0xC1, 0xC1, 0xDF, 0xCD, 0xCC, 0xD2, 0xF7, /* 0x1C-0x1F */ + 0xB7, 0xCD, 0xDF, 0xC1, 0x85, 0xC2, 0xDF, 0xC4, /* 0x20-0x23 */ + 0x85, 0xC3, 0x85, 0xC4, 0xB7, 0xF1, 0xB0, 0xC9, /* 0x24-0x27 */ + 0xB6, 0xD6, 0xB7, 0xD4, 0x85, 0xC5, 0xBA, 0xAC, /* 0x28-0x2B */ + 0xCC, 0xFD, 0xBF, 0xD4, 0xCB, 0xB1, 0xC6, 0xF4, /* 0x2C-0x2F */ + 0x85, 0xC6, 0xD6, 0xA8, 0xDF, 0xC5, 0x85, 0xC7, /* 0x30-0x33 */ + 0xCE, 0xE2, 0xB3, 0xB3, 0x85, 0xC8, 0x85, 0xC9, /* 0x34-0x37 */ + 0xCE, 0xFC, 0xB4, 0xB5, 0x85, 0xCA, 0xCE, 0xC7, /* 0x38-0x3B */ + 0xBA, 0xF0, 0x85, 0xCB, 0xCE, 0xE1, 0x85, 0xCC, /* 0x3C-0x3F */ + 0xD1, 0xBD, 0x85, 0xCD, 0x85, 0xCE, 0xDF, 0xC0, /* 0x40-0x43 */ + 0x85, 0xCF, 0x85, 0xD0, 0xB4, 0xF4, 0x85, 0xD1, /* 0x44-0x47 */ + 0xB3, 0xCA, 0x85, 0xD2, 0xB8, 0xE6, 0xDF, 0xBB, /* 0x48-0x4B */ + 0x85, 0xD3, 0x85, 0xD4, 0x85, 0xD5, 0x85, 0xD6, /* 0x4C-0x4F */ + 0xC4, 0xC5, 0x85, 0xD7, 0xDF, 0xBC, 0xDF, 0xBD, /* 0x50-0x53 */ + 0xDF, 0xBE, 0xC5, 0xBB, 0xDF, 0xBF, 0xDF, 0xC2, /* 0x54-0x57 */ + 0xD4, 0xB1, 0xDF, 0xC3, 0x85, 0xD8, 0xC7, 0xBA, /* 0x58-0x5B */ + 0xCE, 0xD8, 0x85, 0xD9, 0x85, 0xDA, 0x85, 0xDB, /* 0x5C-0x5F */ + 0x85, 0xDC, 0x85, 0xDD, 0xC4, 0xD8, 0x85, 0xDE, /* 0x60-0x63 */ + 0xDF, 0xCA, 0x85, 0xDF, 0xDF, 0xCF, 0x85, 0xE0, /* 0x64-0x67 */ + 0xD6, 0xDC, 0x85, 0xE1, 0x85, 0xE2, 0x85, 0xE3, /* 0x68-0x6B */ + 0x85, 0xE4, 0x85, 0xE5, 0x85, 0xE6, 0x85, 0xE7, /* 0x6C-0x6F */ + 0x85, 0xE8, 0xDF, 0xC9, 0xDF, 0xDA, 0xCE, 0xB6, /* 0x70-0x73 */ + 0x85, 0xE9, 0xBA, 0xC7, 0xDF, 0xCE, 0xDF, 0xC8, /* 0x74-0x77 */ + 0xC5, 0xDE, 0x85, 0xEA, 0x85, 0xEB, 0xC9, 0xEB, /* 0x78-0x7B */ + 0xBA, 0xF4, 0xC3, 0xFC, 0x85, 0xEC, 0x85, 0xED, /* 0x7C-0x7F */ + + 0xBE, 0xD7, 0x85, 0xEE, 0xDF, 0xC6, 0x85, 0xEF, /* 0x80-0x83 */ + 0xDF, 0xCD, 0x85, 0xF0, 0xC5, 0xD8, 0x85, 0xF1, /* 0x84-0x87 */ + 0x85, 0xF2, 0x85, 0xF3, 0x85, 0xF4, 0xD5, 0xA6, /* 0x88-0x8B */ + 0xBA, 0xCD, 0x85, 0xF5, 0xBE, 0xCC, 0xD3, 0xBD, /* 0x8C-0x8F */ + 0xB8, 0xC0, 0x85, 0xF6, 0xD6, 0xE4, 0x85, 0xF7, /* 0x90-0x93 */ + 0xDF, 0xC7, 0xB9, 0xBE, 0xBF, 0xA7, 0x85, 0xF8, /* 0x94-0x97 */ + 0x85, 0xF9, 0xC1, 0xFC, 0xDF, 0xCB, 0xDF, 0xCC, /* 0x98-0x9B */ + 0x85, 0xFA, 0xDF, 0xD0, 0x85, 0xFB, 0x85, 0xFC, /* 0x9C-0x9F */ + 0x85, 0xFD, 0x85, 0xFE, 0x86, 0x40, 0xDF, 0xDB, /* 0xA0-0xA3 */ + 0xDF, 0xE5, 0x86, 0x41, 0xDF, 0xD7, 0xDF, 0xD6, /* 0xA4-0xA7 */ + 0xD7, 0xC9, 0xDF, 0xE3, 0xDF, 0xE4, 0xE5, 0xEB, /* 0xA8-0xAB */ + 0xD2, 0xA7, 0xDF, 0xD2, 0x86, 0x42, 0xBF, 0xA9, /* 0xAC-0xAF */ + 0x86, 0x43, 0xD4, 0xDB, 0x86, 0x44, 0xBF, 0xC8, /* 0xB0-0xB3 */ + 0xDF, 0xD4, 0x86, 0x45, 0x86, 0x46, 0x86, 0x47, /* 0xB4-0xB7 */ + 0xCF, 0xCC, 0x86, 0x48, 0x86, 0x49, 0xDF, 0xDD, /* 0xB8-0xBB */ + 0x86, 0x4A, 0xD1, 0xCA, 0x86, 0x4B, 0xDF, 0xDE, /* 0xBC-0xBF */ + 0xB0, 0xA7, 0xC6, 0xB7, 0xDF, 0xD3, 0x86, 0x4C, /* 0xC0-0xC3 */ + 0xBA, 0xE5, 0x86, 0x4D, 0xB6, 0xDF, 0xCD, 0xDB, /* 0xC4-0xC7 */ + 0xB9, 0xFE, 0xD4, 0xD5, 0x86, 0x4E, 0x86, 0x4F, /* 0xC8-0xCB */ + 0xDF, 0xDF, 0xCF, 0xEC, 0xB0, 0xA5, 0xDF, 0xE7, /* 0xCC-0xCF */ + 0xDF, 0xD1, 0xD1, 0xC6, 0xDF, 0xD5, 0xDF, 0xD8, /* 0xD0-0xD3 */ + 0xDF, 0xD9, 0xDF, 0xDC, 0x86, 0x50, 0xBB, 0xA9, /* 0xD4-0xD7 */ + 0x86, 0x51, 0xDF, 0xE0, 0xDF, 0xE1, 0x86, 0x52, /* 0xD8-0xDB */ + 0xDF, 0xE2, 0xDF, 0xE6, 0xDF, 0xE8, 0xD3, 0xB4, /* 0xDC-0xDF */ + 0x86, 0x53, 0x86, 0x54, 0x86, 0x55, 0x86, 0x56, /* 0xE0-0xE3 */ + 0x86, 0x57, 0xB8, 0xE7, 0xC5, 0xB6, 0xDF, 0xEA, /* 0xE4-0xE7 */ + 0xC9, 0xDA, 0xC1, 0xA8, 0xC4, 0xC4, 0x86, 0x58, /* 0xE8-0xEB */ + 0x86, 0x59, 0xBF, 0xDE, 0xCF, 0xF8, 0x86, 0x5A, /* 0xEC-0xEF */ + 0x86, 0x5B, 0x86, 0x5C, 0xD5, 0xDC, 0xDF, 0xEE, /* 0xF0-0xF3 */ + 0x86, 0x5D, 0x86, 0x5E, 0x86, 0x5F, 0x86, 0x60, /* 0xF4-0xF7 */ + 0x86, 0x61, 0x86, 0x62, 0xB2, 0xB8, 0x86, 0x63, /* 0xF8-0xFB */ + 0xBA, 0xDF, 0xDF, 0xEC, 0x86, 0x64, 0xDB, 0xC1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_55[512] = { + 0x86, 0x65, 0xD1, 0xE4, 0x86, 0x66, 0x86, 0x67, /* 0x00-0x03 */ + 0x86, 0x68, 0x86, 0x69, 0xCB, 0xF4, 0xB4, 0xBD, /* 0x04-0x07 */ + 0x86, 0x6A, 0xB0, 0xA6, 0x86, 0x6B, 0x86, 0x6C, /* 0x08-0x0B */ + 0x86, 0x6D, 0x86, 0x6E, 0x86, 0x6F, 0xDF, 0xF1, /* 0x0C-0x0F */ + 0xCC, 0xC6, 0xDF, 0xF2, 0x86, 0x70, 0x86, 0x71, /* 0x10-0x13 */ + 0xDF, 0xED, 0x86, 0x72, 0x86, 0x73, 0x86, 0x74, /* 0x14-0x17 */ + 0x86, 0x75, 0x86, 0x76, 0x86, 0x77, 0xDF, 0xE9, /* 0x18-0x1B */ + 0x86, 0x78, 0x86, 0x79, 0x86, 0x7A, 0x86, 0x7B, /* 0x1C-0x1F */ + 0xDF, 0xEB, 0x86, 0x7C, 0xDF, 0xEF, 0xDF, 0xF0, /* 0x20-0x23 */ + 0xBB, 0xBD, 0x86, 0x7D, 0x86, 0x7E, 0xDF, 0xF3, /* 0x24-0x27 */ + 0x86, 0x80, 0x86, 0x81, 0xDF, 0xF4, 0x86, 0x82, /* 0x28-0x2B */ + 0xBB, 0xA3, 0x86, 0x83, 0xCA, 0xDB, 0xCE, 0xA8, /* 0x2C-0x2F */ + 0xE0, 0xA7, 0xB3, 0xAA, 0x86, 0x84, 0xE0, 0xA6, /* 0x30-0x33 */ + 0x86, 0x85, 0x86, 0x86, 0x86, 0x87, 0xE0, 0xA1, /* 0x34-0x37 */ + 0x86, 0x88, 0x86, 0x89, 0x86, 0x8A, 0x86, 0x8B, /* 0x38-0x3B */ + 0xDF, 0xFE, 0x86, 0x8C, 0xCD, 0xD9, 0xDF, 0xFC, /* 0x3C-0x3F */ + 0x86, 0x8D, 0xDF, 0xFA, 0x86, 0x8E, 0xBF, 0xD0, /* 0x40-0x43 */ + 0xD7, 0xC4, 0x86, 0x8F, 0xC9, 0xCC, 0x86, 0x90, /* 0x44-0x47 */ + 0x86, 0x91, 0xDF, 0xF8, 0xB0, 0xA1, 0x86, 0x92, /* 0x48-0x4B */ + 0x86, 0x93, 0x86, 0x94, 0x86, 0x95, 0x86, 0x96, /* 0x4C-0x4F */ + 0xDF, 0xFD, 0x86, 0x97, 0x86, 0x98, 0x86, 0x99, /* 0x50-0x53 */ + 0x86, 0x9A, 0xDF, 0xFB, 0xE0, 0xA2, 0x86, 0x9B, /* 0x54-0x57 */ + 0x86, 0x9C, 0x86, 0x9D, 0x86, 0x9E, 0x86, 0x9F, /* 0x58-0x5B */ + 0xE0, 0xA8, 0x86, 0xA0, 0x86, 0xA1, 0x86, 0xA2, /* 0x5C-0x5F */ + 0x86, 0xA3, 0xB7, 0xC8, 0x86, 0xA4, 0x86, 0xA5, /* 0x60-0x63 */ + 0xC6, 0xA1, 0xC9, 0xB6, 0xC0, 0xB2, 0xDF, 0xF5, /* 0x64-0x67 */ + 0x86, 0xA6, 0x86, 0xA7, 0xC5, 0xBE, 0x86, 0xA8, /* 0x68-0x6B */ + 0xD8, 0xC4, 0xDF, 0xF9, 0xC4, 0xF6, 0x86, 0xA9, /* 0x6C-0x6F */ + 0x86, 0xAA, 0x86, 0xAB, 0x86, 0xAC, 0x86, 0xAD, /* 0x70-0x73 */ + 0x86, 0xAE, 0xE0, 0xA3, 0xE0, 0xA4, 0xE0, 0xA5, /* 0x74-0x77 */ + 0xD0, 0xA5, 0x86, 0xAF, 0x86, 0xB0, 0xE0, 0xB4, /* 0x78-0x7B */ + 0xCC, 0xE4, 0x86, 0xB1, 0xE0, 0xB1, 0x86, 0xB2, /* 0x7C-0x7F */ + + 0xBF, 0xA6, 0xE0, 0xAF, 0xCE, 0xB9, 0xE0, 0xAB, /* 0x80-0x83 */ + 0xC9, 0xC6, 0x86, 0xB3, 0x86, 0xB4, 0xC0, 0xAE, /* 0x84-0x87 */ + 0xE0, 0xAE, 0xBA, 0xED, 0xBA, 0xB0, 0xE0, 0xA9, /* 0x88-0x8B */ + 0x86, 0xB5, 0x86, 0xB6, 0x86, 0xB7, 0xDF, 0xF6, /* 0x8C-0x8F */ + 0x86, 0xB8, 0xE0, 0xB3, 0x86, 0xB9, 0x86, 0xBA, /* 0x90-0x93 */ + 0xE0, 0xB8, 0x86, 0xBB, 0x86, 0xBC, 0x86, 0xBD, /* 0x94-0x97 */ + 0xB4, 0xAD, 0xE0, 0xB9, 0x86, 0xBE, 0x86, 0xBF, /* 0x98-0x9B */ + 0xCF, 0xB2, 0xBA, 0xC8, 0x86, 0xC0, 0xE0, 0xB0, /* 0x9C-0x9F */ + 0x86, 0xC1, 0x86, 0xC2, 0x86, 0xC3, 0x86, 0xC4, /* 0xA0-0xA3 */ + 0x86, 0xC5, 0x86, 0xC6, 0x86, 0xC7, 0xD0, 0xFA, /* 0xA4-0xA7 */ + 0x86, 0xC8, 0x86, 0xC9, 0x86, 0xCA, 0x86, 0xCB, /* 0xA8-0xAB */ + 0x86, 0xCC, 0x86, 0xCD, 0x86, 0xCE, 0x86, 0xCF, /* 0xAC-0xAF */ + 0x86, 0xD0, 0xE0, 0xAC, 0x86, 0xD1, 0xD4, 0xFB, /* 0xB0-0xB3 */ + 0x86, 0xD2, 0xDF, 0xF7, 0x86, 0xD3, 0xC5, 0xE7, /* 0xB4-0xB7 */ + 0x86, 0xD4, 0xE0, 0xAD, 0x86, 0xD5, 0xD3, 0xF7, /* 0xB8-0xBB */ + 0x86, 0xD6, 0xE0, 0xB6, 0xE0, 0xB7, 0x86, 0xD7, /* 0xBC-0xBF */ + 0x86, 0xD8, 0x86, 0xD9, 0x86, 0xDA, 0x86, 0xDB, /* 0xC0-0xC3 */ + 0xE0, 0xC4, 0xD0, 0xE1, 0x86, 0xDC, 0x86, 0xDD, /* 0xC4-0xC7 */ + 0x86, 0xDE, 0xE0, 0xBC, 0x86, 0xDF, 0x86, 0xE0, /* 0xC8-0xCB */ + 0xE0, 0xC9, 0xE0, 0xCA, 0x86, 0xE1, 0x86, 0xE2, /* 0xCC-0xCF */ + 0x86, 0xE3, 0xE0, 0xBE, 0xE0, 0xAA, 0xC9, 0xA4, /* 0xD0-0xD3 */ + 0xE0, 0xC1, 0x86, 0xE4, 0xE0, 0xB2, 0x86, 0xE5, /* 0xD4-0xD7 */ + 0x86, 0xE6, 0x86, 0xE7, 0x86, 0xE8, 0x86, 0xE9, /* 0xD8-0xDB */ + 0xCA, 0xC8, 0xE0, 0xC3, 0x86, 0xEA, 0xE0, 0xB5, /* 0xDC-0xDF */ + 0x86, 0xEB, 0xCE, 0xCB, 0x86, 0xEC, 0xCB, 0xC3, /* 0xE0-0xE3 */ + 0xE0, 0xCD, 0xE0, 0xC6, 0xE0, 0xC2, 0x86, 0xED, /* 0xE4-0xE7 */ + 0xE0, 0xCB, 0x86, 0xEE, 0xE0, 0xBA, 0xE0, 0xBF, /* 0xE8-0xEB */ + 0xE0, 0xC0, 0x86, 0xEF, 0x86, 0xF0, 0xE0, 0xC5, /* 0xEC-0xEF */ + 0x86, 0xF1, 0x86, 0xF2, 0xE0, 0xC7, 0xE0, 0xC8, /* 0xF0-0xF3 */ + 0x86, 0xF3, 0xE0, 0xCC, 0x86, 0xF4, 0xE0, 0xBB, /* 0xF4-0xF7 */ + 0x86, 0xF5, 0x86, 0xF6, 0x86, 0xF7, 0x86, 0xF8, /* 0xF8-0xFB */ + 0x86, 0xF9, 0xCB, 0xD4, 0xE0, 0xD5, 0x86, 0xFA, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_56[512] = { + 0xE0, 0xD6, 0xE0, 0xD2, 0x86, 0xFB, 0x86, 0xFC, /* 0x00-0x03 */ + 0x86, 0xFD, 0x86, 0xFE, 0x87, 0x40, 0x87, 0x41, /* 0x04-0x07 */ + 0xE0, 0xD0, 0xBC, 0xCE, 0x87, 0x42, 0x87, 0x43, /* 0x08-0x0B */ + 0xE0, 0xD1, 0x87, 0x44, 0xB8, 0xC2, 0xD8, 0xC5, /* 0x0C-0x0F */ + 0x87, 0x45, 0x87, 0x46, 0x87, 0x47, 0x87, 0x48, /* 0x10-0x13 */ + 0x87, 0x49, 0x87, 0x4A, 0x87, 0x4B, 0x87, 0x4C, /* 0x14-0x17 */ + 0xD0, 0xEA, 0x87, 0x4D, 0x87, 0x4E, 0xC2, 0xEF, /* 0x18-0x1B */ + 0x87, 0x4F, 0x87, 0x50, 0xE0, 0xCF, 0xE0, 0xBD, /* 0x1C-0x1F */ + 0x87, 0x51, 0x87, 0x52, 0x87, 0x53, 0xE0, 0xD4, /* 0x20-0x23 */ + 0xE0, 0xD3, 0x87, 0x54, 0x87, 0x55, 0xE0, 0xD7, /* 0x24-0x27 */ + 0x87, 0x56, 0x87, 0x57, 0x87, 0x58, 0x87, 0x59, /* 0x28-0x2B */ + 0xE0, 0xDC, 0xE0, 0xD8, 0x87, 0x5A, 0x87, 0x5B, /* 0x2C-0x2F */ + 0x87, 0x5C, 0xD6, 0xF6, 0xB3, 0xB0, 0x87, 0x5D, /* 0x30-0x33 */ + 0xD7, 0xEC, 0x87, 0x5E, 0xCB, 0xBB, 0x87, 0x5F, /* 0x34-0x37 */ + 0x87, 0x60, 0xE0, 0xDA, 0x87, 0x61, 0xCE, 0xFB, /* 0x38-0x3B */ + 0x87, 0x62, 0x87, 0x63, 0x87, 0x64, 0xBA, 0xD9, /* 0x3C-0x3F */ + 0x87, 0x65, 0x87, 0x66, 0x87, 0x67, 0x87, 0x68, /* 0x40-0x43 */ + 0x87, 0x69, 0x87, 0x6A, 0x87, 0x6B, 0x87, 0x6C, /* 0x44-0x47 */ + 0x87, 0x6D, 0x87, 0x6E, 0x87, 0x6F, 0x87, 0x70, /* 0x48-0x4B */ + 0xE0, 0xE1, 0xE0, 0xDD, 0xD2, 0xAD, 0x87, 0x71, /* 0x4C-0x4F */ + 0x87, 0x72, 0x87, 0x73, 0x87, 0x74, 0x87, 0x75, /* 0x50-0x53 */ + 0xE0, 0xE2, 0x87, 0x76, 0x87, 0x77, 0xE0, 0xDB, /* 0x54-0x57 */ + 0xE0, 0xD9, 0xE0, 0xDF, 0x87, 0x78, 0x87, 0x79, /* 0x58-0x5B */ + 0xE0, 0xE0, 0x87, 0x7A, 0x87, 0x7B, 0x87, 0x7C, /* 0x5C-0x5F */ + 0x87, 0x7D, 0x87, 0x7E, 0xE0, 0xDE, 0x87, 0x80, /* 0x60-0x63 */ + 0xE0, 0xE4, 0x87, 0x81, 0x87, 0x82, 0x87, 0x83, /* 0x64-0x67 */ + 0xC6, 0xF7, 0xD8, 0xAC, 0xD4, 0xEB, 0xE0, 0xE6, /* 0x68-0x6B */ + 0xCA, 0xC9, 0x87, 0x84, 0x87, 0x85, 0x87, 0x86, /* 0x6C-0x6F */ + 0x87, 0x87, 0xE0, 0xE5, 0x87, 0x88, 0x87, 0x89, /* 0x70-0x73 */ + 0x87, 0x8A, 0x87, 0x8B, 0xB8, 0xC1, 0x87, 0x8C, /* 0x74-0x77 */ + 0x87, 0x8D, 0x87, 0x8E, 0x87, 0x8F, 0xE0, 0xE7, /* 0x78-0x7B */ + 0xE0, 0xE8, 0x87, 0x90, 0x87, 0x91, 0x87, 0x92, /* 0x7C-0x7F */ + + 0x87, 0x93, 0x87, 0x94, 0x87, 0x95, 0x87, 0x96, /* 0x80-0x83 */ + 0x87, 0x97, 0xE0, 0xE9, 0xE0, 0xE3, 0x87, 0x98, /* 0x84-0x87 */ + 0x87, 0x99, 0x87, 0x9A, 0x87, 0x9B, 0x87, 0x9C, /* 0x88-0x8B */ + 0x87, 0x9D, 0x87, 0x9E, 0xBA, 0xBF, 0xCC, 0xE7, /* 0x8C-0x8F */ + 0x87, 0x9F, 0x87, 0xA0, 0x87, 0xA1, 0xE0, 0xEA, /* 0x90-0x93 */ + 0x87, 0xA2, 0x87, 0xA3, 0x87, 0xA4, 0x87, 0xA5, /* 0x94-0x97 */ + 0x87, 0xA6, 0x87, 0xA7, 0x87, 0xA8, 0x87, 0xA9, /* 0x98-0x9B */ + 0x87, 0xAA, 0x87, 0xAB, 0x87, 0xAC, 0x87, 0xAD, /* 0x9C-0x9F */ + 0x87, 0xAE, 0x87, 0xAF, 0x87, 0xB0, 0xCF, 0xF9, /* 0xA0-0xA3 */ + 0x87, 0xB1, 0x87, 0xB2, 0x87, 0xB3, 0x87, 0xB4, /* 0xA4-0xA7 */ + 0x87, 0xB5, 0x87, 0xB6, 0x87, 0xB7, 0x87, 0xB8, /* 0xA8-0xAB */ + 0x87, 0xB9, 0x87, 0xBA, 0x87, 0xBB, 0xE0, 0xEB, /* 0xAC-0xAF */ + 0x87, 0xBC, 0x87, 0xBD, 0x87, 0xBE, 0x87, 0xBF, /* 0xB0-0xB3 */ + 0x87, 0xC0, 0x87, 0xC1, 0x87, 0xC2, 0xC8, 0xC2, /* 0xB4-0xB7 */ + 0x87, 0xC3, 0x87, 0xC4, 0x87, 0xC5, 0x87, 0xC6, /* 0xB8-0xBB */ + 0xBD, 0xC0, 0x87, 0xC7, 0x87, 0xC8, 0x87, 0xC9, /* 0xBC-0xBF */ + 0x87, 0xCA, 0x87, 0xCB, 0x87, 0xCC, 0x87, 0xCD, /* 0xC0-0xC3 */ + 0x87, 0xCE, 0x87, 0xCF, 0x87, 0xD0, 0x87, 0xD1, /* 0xC4-0xC7 */ + 0x87, 0xD2, 0x87, 0xD3, 0xC4, 0xD2, 0x87, 0xD4, /* 0xC8-0xCB */ + 0x87, 0xD5, 0x87, 0xD6, 0x87, 0xD7, 0x87, 0xD8, /* 0xCC-0xCF */ + 0x87, 0xD9, 0x87, 0xDA, 0x87, 0xDB, 0x87, 0xDC, /* 0xD0-0xD3 */ + 0xE0, 0xEC, 0x87, 0xDD, 0x87, 0xDE, 0xE0, 0xED, /* 0xD4-0xD7 */ + 0x87, 0xDF, 0x87, 0xE0, 0xC7, 0xF4, 0xCB, 0xC4, /* 0xD8-0xDB */ + 0x87, 0xE1, 0xE0, 0xEE, 0xBB, 0xD8, 0xD8, 0xB6, /* 0xDC-0xDF */ + 0xD2, 0xF2, 0xE0, 0xEF, 0xCD, 0xC5, 0x87, 0xE2, /* 0xE0-0xE3 */ + 0xB6, 0xDA, 0x87, 0xE3, 0x87, 0xE4, 0x87, 0xE5, /* 0xE4-0xE7 */ + 0x87, 0xE6, 0x87, 0xE7, 0x87, 0xE8, 0xE0, 0xF1, /* 0xE8-0xEB */ + 0x87, 0xE9, 0xD4, 0xB0, 0x87, 0xEA, 0x87, 0xEB, /* 0xEC-0xEF */ + 0xC0, 0xA7, 0xB4, 0xD1, 0x87, 0xEC, 0x87, 0xED, /* 0xF0-0xF3 */ + 0xCE, 0xA7, 0xE0, 0xF0, 0x87, 0xEE, 0x87, 0xEF, /* 0xF4-0xF7 */ + 0x87, 0xF0, 0xE0, 0xF2, 0xB9, 0xCC, 0x87, 0xF1, /* 0xF8-0xFB */ + 0x87, 0xF2, 0xB9, 0xFA, 0xCD, 0xBC, 0xE0, 0xF3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_57[512] = { + 0x87, 0xF3, 0x87, 0xF4, 0x87, 0xF5, 0xC6, 0xD4, /* 0x00-0x03 */ + 0xE0, 0xF4, 0x87, 0xF6, 0xD4, 0xB2, 0x87, 0xF7, /* 0x04-0x07 */ + 0xC8, 0xA6, 0xE0, 0xF6, 0xE0, 0xF5, 0x87, 0xF8, /* 0x08-0x0B */ + 0x87, 0xF9, 0x87, 0xFA, 0x87, 0xFB, 0x87, 0xFC, /* 0x0C-0x0F */ + 0x87, 0xFD, 0x87, 0xFE, 0x88, 0x40, 0x88, 0x41, /* 0x10-0x13 */ + 0x88, 0x42, 0x88, 0x43, 0x88, 0x44, 0x88, 0x45, /* 0x14-0x17 */ + 0x88, 0x46, 0x88, 0x47, 0x88, 0x48, 0x88, 0x49, /* 0x18-0x1B */ + 0xE0, 0xF7, 0x88, 0x4A, 0x88, 0x4B, 0xCD, 0xC1, /* 0x1C-0x1F */ + 0x88, 0x4C, 0x88, 0x4D, 0x88, 0x4E, 0xCA, 0xA5, /* 0x20-0x23 */ + 0x88, 0x4F, 0x88, 0x50, 0x88, 0x51, 0x88, 0x52, /* 0x24-0x27 */ + 0xD4, 0xDA, 0xDB, 0xD7, 0xDB, 0xD9, 0x88, 0x53, /* 0x28-0x2B */ + 0xDB, 0xD8, 0xB9, 0xE7, 0xDB, 0xDC, 0xDB, 0xDD, /* 0x2C-0x2F */ + 0xB5, 0xD8, 0x88, 0x54, 0x88, 0x55, 0xDB, 0xDA, /* 0x30-0x33 */ + 0x88, 0x56, 0x88, 0x57, 0x88, 0x58, 0x88, 0x59, /* 0x34-0x37 */ + 0x88, 0x5A, 0xDB, 0xDB, 0xB3, 0xA1, 0xDB, 0xDF, /* 0x38-0x3B */ + 0x88, 0x5B, 0x88, 0x5C, 0xBB, 0xF8, 0x88, 0x5D, /* 0x3C-0x3F */ + 0xD6, 0xB7, 0x88, 0x5E, 0xDB, 0xE0, 0x88, 0x5F, /* 0x40-0x43 */ + 0x88, 0x60, 0x88, 0x61, 0x88, 0x62, 0xBE, 0xF9, /* 0x44-0x47 */ + 0x88, 0x63, 0x88, 0x64, 0xB7, 0xBB, 0x88, 0x65, /* 0x48-0x4B */ + 0xDB, 0xD0, 0xCC, 0xAE, 0xBF, 0xB2, 0xBB, 0xB5, /* 0x4C-0x4F */ + 0xD7, 0xF8, 0xBF, 0xD3, 0x88, 0x66, 0x88, 0x67, /* 0x50-0x53 */ + 0x88, 0x68, 0x88, 0x69, 0x88, 0x6A, 0xBF, 0xE9, /* 0x54-0x57 */ + 0x88, 0x6B, 0x88, 0x6C, 0xBC, 0xE1, 0xCC, 0xB3, /* 0x58-0x5B */ + 0xDB, 0xDE, 0xB0, 0xD3, 0xCE, 0xEB, 0xB7, 0xD8, /* 0x5C-0x5F */ + 0xD7, 0xB9, 0xC6, 0xC2, 0x88, 0x6D, 0x88, 0x6E, /* 0x60-0x63 */ + 0xC0, 0xA4, 0x88, 0x6F, 0xCC, 0xB9, 0x88, 0x70, /* 0x64-0x67 */ + 0xDB, 0xE7, 0xDB, 0xE1, 0xC6, 0xBA, 0xDB, 0xE3, /* 0x68-0x6B */ + 0x88, 0x71, 0xDB, 0xE8, 0x88, 0x72, 0xC5, 0xF7, /* 0x6C-0x6F */ + 0x88, 0x73, 0x88, 0x74, 0x88, 0x75, 0xDB, 0xEA, /* 0x70-0x73 */ + 0x88, 0x76, 0x88, 0x77, 0xDB, 0xE9, 0xBF, 0xC0, /* 0x74-0x77 */ + 0x88, 0x78, 0x88, 0x79, 0x88, 0x7A, 0xDB, 0xE6, /* 0x78-0x7B */ + 0xDB, 0xE5, 0x88, 0x7B, 0x88, 0x7C, 0x88, 0x7D, /* 0x7C-0x7F */ + + 0x88, 0x7E, 0x88, 0x80, 0xB4, 0xB9, 0xC0, 0xAC, /* 0x80-0x83 */ + 0xC2, 0xA2, 0xDB, 0xE2, 0xDB, 0xE4, 0x88, 0x81, /* 0x84-0x87 */ + 0x88, 0x82, 0x88, 0x83, 0x88, 0x84, 0xD0, 0xCD, /* 0x88-0x8B */ + 0xDB, 0xED, 0x88, 0x85, 0x88, 0x86, 0x88, 0x87, /* 0x8C-0x8F */ + 0x88, 0x88, 0x88, 0x89, 0xC0, 0xDD, 0xDB, 0xF2, /* 0x90-0x93 */ + 0x88, 0x8A, 0x88, 0x8B, 0x88, 0x8C, 0x88, 0x8D, /* 0x94-0x97 */ + 0x88, 0x8E, 0x88, 0x8F, 0x88, 0x90, 0xB6, 0xE2, /* 0x98-0x9B */ + 0x88, 0x91, 0x88, 0x92, 0x88, 0x93, 0x88, 0x94, /* 0x9C-0x9F */ + 0xDB, 0xF3, 0xDB, 0xD2, 0xB9, 0xB8, 0xD4, 0xAB, /* 0xA0-0xA3 */ + 0xDB, 0xEC, 0x88, 0x95, 0xBF, 0xD1, 0xDB, 0xF0, /* 0xA4-0xA7 */ + 0x88, 0x96, 0xDB, 0xD1, 0x88, 0x97, 0xB5, 0xE6, /* 0xA8-0xAB */ + 0x88, 0x98, 0xDB, 0xEB, 0xBF, 0xE5, 0x88, 0x99, /* 0xAC-0xAF */ + 0x88, 0x9A, 0x88, 0x9B, 0xDB, 0xEE, 0x88, 0x9C, /* 0xB0-0xB3 */ + 0xDB, 0xF1, 0x88, 0x9D, 0x88, 0x9E, 0x88, 0x9F, /* 0xB4-0xB7 */ + 0xDB, 0xF9, 0x88, 0xA0, 0x88, 0xA1, 0x88, 0xA2, /* 0xB8-0xBB */ + 0x88, 0xA3, 0x88, 0xA4, 0x88, 0xA5, 0x88, 0xA6, /* 0xBC-0xBF */ + 0x88, 0xA7, 0x88, 0xA8, 0xB9, 0xA1, 0xB0, 0xA3, /* 0xC0-0xC3 */ + 0x88, 0xA9, 0x88, 0xAA, 0x88, 0xAB, 0x88, 0xAC, /* 0xC4-0xC7 */ + 0x88, 0xAD, 0x88, 0xAE, 0x88, 0xAF, 0xC2, 0xF1, /* 0xC8-0xCB */ + 0x88, 0xB0, 0x88, 0xB1, 0xB3, 0xC7, 0xDB, 0xEF, /* 0xCC-0xCF */ + 0x88, 0xB2, 0x88, 0xB3, 0xDB, 0xF8, 0x88, 0xB4, /* 0xD0-0xD3 */ + 0xC6, 0xD2, 0xDB, 0xF4, 0x88, 0xB5, 0x88, 0xB6, /* 0xD4-0xD7 */ + 0xDB, 0xF5, 0xDB, 0xF7, 0xDB, 0xF6, 0x88, 0xB7, /* 0xD8-0xDB */ + 0x88, 0xB8, 0xDB, 0xFE, 0x88, 0xB9, 0xD3, 0xF2, /* 0xDC-0xDF */ + 0xB2, 0xBA, 0x88, 0xBA, 0x88, 0xBB, 0x88, 0xBC, /* 0xE0-0xE3 */ + 0xDB, 0xFD, 0x88, 0xBD, 0x88, 0xBE, 0x88, 0xBF, /* 0xE4-0xE7 */ + 0x88, 0xC0, 0x88, 0xC1, 0x88, 0xC2, 0x88, 0xC3, /* 0xE8-0xEB */ + 0x88, 0xC4, 0xDC, 0xA4, 0x88, 0xC5, 0xDB, 0xFB, /* 0xEC-0xEF */ + 0x88, 0xC6, 0x88, 0xC7, 0x88, 0xC8, 0x88, 0xC9, /* 0xF0-0xF3 */ + 0xDB, 0xFA, 0x88, 0xCA, 0x88, 0xCB, 0x88, 0xCC, /* 0xF4-0xF7 */ + 0xDB, 0xFC, 0xC5, 0xE0, 0xBB, 0xF9, 0x88, 0xCD, /* 0xF8-0xFB */ + 0x88, 0xCE, 0xDC, 0xA3, 0x88, 0xCF, 0x88, 0xD0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_58[512] = { + 0xDC, 0xA5, 0x88, 0xD1, 0xCC, 0xC3, 0x88, 0xD2, /* 0x00-0x03 */ + 0x88, 0xD3, 0x88, 0xD4, 0xB6, 0xD1, 0xDD, 0xC0, /* 0x04-0x07 */ + 0x88, 0xD5, 0x88, 0xD6, 0x88, 0xD7, 0xDC, 0xA1, /* 0x08-0x0B */ + 0x88, 0xD8, 0xDC, 0xA2, 0x88, 0xD9, 0x88, 0xDA, /* 0x0C-0x0F */ + 0x88, 0xDB, 0xC7, 0xB5, 0x88, 0xDC, 0x88, 0xDD, /* 0x10-0x13 */ + 0x88, 0xDE, 0xB6, 0xE9, 0x88, 0xDF, 0x88, 0xE0, /* 0x14-0x17 */ + 0x88, 0xE1, 0xDC, 0xA7, 0x88, 0xE2, 0x88, 0xE3, /* 0x18-0x1B */ + 0x88, 0xE4, 0x88, 0xE5, 0xDC, 0xA6, 0x88, 0xE6, /* 0x1C-0x1F */ + 0xDC, 0xA9, 0xB1, 0xA4, 0x88, 0xE7, 0x88, 0xE8, /* 0x20-0x23 */ + 0xB5, 0xCC, 0x88, 0xE9, 0x88, 0xEA, 0x88, 0xEB, /* 0x24-0x27 */ + 0x88, 0xEC, 0x88, 0xED, 0xBF, 0xB0, 0x88, 0xEE, /* 0x28-0x2B */ + 0x88, 0xEF, 0x88, 0xF0, 0x88, 0xF1, 0x88, 0xF2, /* 0x2C-0x2F */ + 0xD1, 0xDF, 0x88, 0xF3, 0x88, 0xF4, 0x88, 0xF5, /* 0x30-0x33 */ + 0x88, 0xF6, 0xB6, 0xC2, 0x88, 0xF7, 0x88, 0xF8, /* 0x34-0x37 */ + 0x88, 0xF9, 0x88, 0xFA, 0x88, 0xFB, 0x88, 0xFC, /* 0x38-0x3B */ + 0x88, 0xFD, 0x88, 0xFE, 0x89, 0x40, 0x89, 0x41, /* 0x3C-0x3F */ + 0x89, 0x42, 0x89, 0x43, 0x89, 0x44, 0x89, 0x45, /* 0x40-0x43 */ + 0xDC, 0xA8, 0x89, 0x46, 0x89, 0x47, 0x89, 0x48, /* 0x44-0x47 */ + 0x89, 0x49, 0x89, 0x4A, 0x89, 0x4B, 0x89, 0x4C, /* 0x48-0x4B */ + 0xCB, 0xFA, 0xEB, 0xF3, 0x89, 0x4D, 0x89, 0x4E, /* 0x4C-0x4F */ + 0x89, 0x4F, 0xCB, 0xDC, 0x89, 0x50, 0x89, 0x51, /* 0x50-0x53 */ + 0xCB, 0xFE, 0x89, 0x52, 0x89, 0x53, 0x89, 0x54, /* 0x54-0x57 */ + 0xCC, 0xC1, 0x89, 0x55, 0x89, 0x56, 0x89, 0x57, /* 0x58-0x5B */ + 0x89, 0x58, 0x89, 0x59, 0xC8, 0xFB, 0x89, 0x5A, /* 0x5C-0x5F */ + 0x89, 0x5B, 0x89, 0x5C, 0x89, 0x5D, 0x89, 0x5E, /* 0x60-0x63 */ + 0x89, 0x5F, 0xDC, 0xAA, 0x89, 0x60, 0x89, 0x61, /* 0x64-0x67 */ + 0x89, 0x62, 0x89, 0x63, 0x89, 0x64, 0xCC, 0xEE, /* 0x68-0x6B */ + 0xDC, 0xAB, 0x89, 0x65, 0x89, 0x66, 0x89, 0x67, /* 0x6C-0x6F */ + 0x89, 0x68, 0x89, 0x69, 0x89, 0x6A, 0x89, 0x6B, /* 0x70-0x73 */ + 0x89, 0x6C, 0x89, 0x6D, 0x89, 0x6E, 0x89, 0x6F, /* 0x74-0x77 */ + 0x89, 0x70, 0x89, 0x71, 0x89, 0x72, 0x89, 0x73, /* 0x78-0x7B */ + 0x89, 0x74, 0x89, 0x75, 0xDB, 0xD3, 0x89, 0x76, /* 0x7C-0x7F */ + + 0xDC, 0xAF, 0xDC, 0xAC, 0x89, 0x77, 0xBE, 0xB3, /* 0x80-0x83 */ + 0x89, 0x78, 0xCA, 0xFB, 0x89, 0x79, 0x89, 0x7A, /* 0x84-0x87 */ + 0x89, 0x7B, 0xDC, 0xAD, 0x89, 0x7C, 0x89, 0x7D, /* 0x88-0x8B */ + 0x89, 0x7E, 0x89, 0x80, 0x89, 0x81, 0x89, 0x82, /* 0x8C-0x8F */ + 0x89, 0x83, 0x89, 0x84, 0xC9, 0xCA, 0xC4, 0xB9, /* 0x90-0x93 */ + 0x89, 0x85, 0x89, 0x86, 0x89, 0x87, 0x89, 0x88, /* 0x94-0x97 */ + 0x89, 0x89, 0xC7, 0xBD, 0xDC, 0xAE, 0x89, 0x8A, /* 0x98-0x9B */ + 0x89, 0x8B, 0x89, 0x8C, 0xD4, 0xF6, 0xD0, 0xE6, /* 0x9C-0x9F */ + 0x89, 0x8D, 0x89, 0x8E, 0x89, 0x8F, 0x89, 0x90, /* 0xA0-0xA3 */ + 0x89, 0x91, 0x89, 0x92, 0x89, 0x93, 0x89, 0x94, /* 0xA4-0xA7 */ + 0xC4, 0xAB, 0xB6, 0xD5, 0x89, 0x95, 0x89, 0x96, /* 0xA8-0xAB */ + 0x89, 0x97, 0x89, 0x98, 0x89, 0x99, 0x89, 0x9A, /* 0xAC-0xAF */ + 0x89, 0x9B, 0x89, 0x9C, 0x89, 0x9D, 0x89, 0x9E, /* 0xB0-0xB3 */ + 0x89, 0x9F, 0x89, 0xA0, 0x89, 0xA1, 0x89, 0xA2, /* 0xB4-0xB7 */ + 0x89, 0xA3, 0x89, 0xA4, 0x89, 0xA5, 0x89, 0xA6, /* 0xB8-0xBB */ + 0xDB, 0xD4, 0x89, 0xA7, 0x89, 0xA8, 0x89, 0xA9, /* 0xBC-0xBF */ + 0x89, 0xAA, 0xB1, 0xDA, 0x89, 0xAB, 0x89, 0xAC, /* 0xC0-0xC3 */ + 0x89, 0xAD, 0xDB, 0xD5, 0x89, 0xAE, 0x89, 0xAF, /* 0xC4-0xC7 */ + 0x89, 0xB0, 0x89, 0xB1, 0x89, 0xB2, 0x89, 0xB3, /* 0xC8-0xCB */ + 0x89, 0xB4, 0x89, 0xB5, 0x89, 0xB6, 0x89, 0xB7, /* 0xCC-0xCF */ + 0x89, 0xB8, 0xDB, 0xD6, 0x89, 0xB9, 0x89, 0xBA, /* 0xD0-0xD3 */ + 0x89, 0xBB, 0xBA, 0xBE, 0x89, 0xBC, 0x89, 0xBD, /* 0xD4-0xD7 */ + 0x89, 0xBE, 0x89, 0xBF, 0x89, 0xC0, 0x89, 0xC1, /* 0xD8-0xDB */ + 0x89, 0xC2, 0x89, 0xC3, 0x89, 0xC4, 0x89, 0xC5, /* 0xDC-0xDF */ + 0x89, 0xC6, 0x89, 0xC7, 0x89, 0xC8, 0x89, 0xC9, /* 0xE0-0xE3 */ + 0xC8, 0xC0, 0x89, 0xCA, 0x89, 0xCB, 0x89, 0xCC, /* 0xE4-0xE7 */ + 0x89, 0xCD, 0x89, 0xCE, 0x89, 0xCF, 0xCA, 0xBF, /* 0xE8-0xEB */ + 0xC8, 0xC9, 0x89, 0xD0, 0xD7, 0xB3, 0x89, 0xD1, /* 0xEC-0xEF */ + 0xC9, 0xF9, 0x89, 0xD2, 0x89, 0xD3, 0xBF, 0xC7, /* 0xF0-0xF3 */ + 0x89, 0xD4, 0x89, 0xD5, 0xBA, 0xF8, 0x89, 0xD6, /* 0xF4-0xF7 */ + 0x89, 0xD7, 0xD2, 0xBC, 0x89, 0xD8, 0x89, 0xD9, /* 0xF8-0xFB */ + 0x89, 0xDA, 0x89, 0xDB, 0x89, 0xDC, 0x89, 0xDD, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_59[512] = { + 0x89, 0xDE, 0x89, 0xDF, 0xE2, 0xBA, 0x89, 0xE0, /* 0x00-0x03 */ + 0xB4, 0xA6, 0x89, 0xE1, 0x89, 0xE2, 0xB1, 0xB8, /* 0x04-0x07 */ + 0x89, 0xE3, 0x89, 0xE4, 0x89, 0xE5, 0x89, 0xE6, /* 0x08-0x0B */ + 0x89, 0xE7, 0xB8, 0xB4, 0x89, 0xE8, 0xCF, 0xC4, /* 0x0C-0x0F */ + 0x89, 0xE9, 0x89, 0xEA, 0x89, 0xEB, 0x89, 0xEC, /* 0x10-0x13 */ + 0xD9, 0xE7, 0xCF, 0xA6, 0xCD, 0xE2, 0x89, 0xED, /* 0x14-0x17 */ + 0x89, 0xEE, 0xD9, 0xED, 0xB6, 0xE0, 0x89, 0xEF, /* 0x18-0x1B */ + 0xD2, 0xB9, 0x89, 0xF0, 0x89, 0xF1, 0xB9, 0xBB, /* 0x1C-0x1F */ + 0x89, 0xF2, 0x89, 0xF3, 0x89, 0xF4, 0x89, 0xF5, /* 0x20-0x23 */ + 0xE2, 0xB9, 0xE2, 0xB7, 0x89, 0xF6, 0xB4, 0xF3, /* 0x24-0x27 */ + 0x89, 0xF7, 0xCC, 0xEC, 0xCC, 0xAB, 0xB7, 0xF2, /* 0x28-0x2B */ + 0x89, 0xF8, 0xD8, 0xB2, 0xD1, 0xEB, 0xBA, 0xBB, /* 0x2C-0x2F */ + 0x89, 0xF9, 0xCA, 0xA7, 0x89, 0xFA, 0x89, 0xFB, /* 0x30-0x33 */ + 0xCD, 0xB7, 0x89, 0xFC, 0x89, 0xFD, 0xD2, 0xC4, /* 0x34-0x37 */ + 0xBF, 0xE4, 0xBC, 0xD0, 0xB6, 0xE1, 0x89, 0xFE, /* 0x38-0x3B */ + 0xDE, 0xC5, 0x8A, 0x40, 0x8A, 0x41, 0x8A, 0x42, /* 0x3C-0x3F */ + 0x8A, 0x43, 0xDE, 0xC6, 0xDB, 0xBC, 0x8A, 0x44, /* 0x40-0x43 */ + 0xD1, 0xD9, 0x8A, 0x45, 0x8A, 0x46, 0xC6, 0xE6, /* 0x44-0x47 */ + 0xC4, 0xCE, 0xB7, 0xEE, 0x8A, 0x47, 0xB7, 0xDC, /* 0x48-0x4B */ + 0x8A, 0x48, 0x8A, 0x49, 0xBF, 0xFC, 0xD7, 0xE0, /* 0x4C-0x4F */ + 0x8A, 0x4A, 0xC6, 0xF5, 0x8A, 0x4B, 0x8A, 0x4C, /* 0x50-0x53 */ + 0xB1, 0xBC, 0xDE, 0xC8, 0xBD, 0xB1, 0xCC, 0xD7, /* 0x54-0x57 */ + 0xDE, 0xCA, 0x8A, 0x4D, 0xDE, 0xC9, 0x8A, 0x4E, /* 0x58-0x5B */ + 0x8A, 0x4F, 0x8A, 0x50, 0x8A, 0x51, 0x8A, 0x52, /* 0x5C-0x5F */ + 0xB5, 0xEC, 0x8A, 0x53, 0xC9, 0xDD, 0x8A, 0x54, /* 0x60-0x63 */ + 0x8A, 0x55, 0xB0, 0xC2, 0x8A, 0x56, 0x8A, 0x57, /* 0x64-0x67 */ + 0x8A, 0x58, 0x8A, 0x59, 0x8A, 0x5A, 0x8A, 0x5B, /* 0x68-0x6B */ + 0x8A, 0x5C, 0x8A, 0x5D, 0x8A, 0x5E, 0x8A, 0x5F, /* 0x6C-0x6F */ + 0x8A, 0x60, 0x8A, 0x61, 0x8A, 0x62, 0xC5, 0xAE, /* 0x70-0x73 */ + 0xC5, 0xAB, 0x8A, 0x63, 0xC4, 0xCC, 0x8A, 0x64, /* 0x74-0x77 */ + 0xBC, 0xE9, 0xCB, 0xFD, 0x8A, 0x65, 0x8A, 0x66, /* 0x78-0x7B */ + 0x8A, 0x67, 0xBA, 0xC3, 0x8A, 0x68, 0x8A, 0x69, /* 0x7C-0x7F */ + + 0x8A, 0x6A, 0xE5, 0xF9, 0xC8, 0xE7, 0xE5, 0xFA, /* 0x80-0x83 */ + 0xCD, 0xFD, 0x8A, 0x6B, 0xD7, 0xB1, 0xB8, 0xBE, /* 0x84-0x87 */ + 0xC2, 0xE8, 0x8A, 0x6C, 0xC8, 0xD1, 0x8A, 0x6D, /* 0x88-0x8B */ + 0x8A, 0x6E, 0xE5, 0xFB, 0x8A, 0x6F, 0x8A, 0x70, /* 0x8C-0x8F */ + 0x8A, 0x71, 0x8A, 0x72, 0xB6, 0xCA, 0xBC, 0xCB, /* 0x90-0x93 */ + 0x8A, 0x73, 0x8A, 0x74, 0xD1, 0xFD, 0xE6, 0xA1, /* 0x94-0x97 */ + 0x8A, 0x75, 0xC3, 0xEE, 0x8A, 0x76, 0x8A, 0x77, /* 0x98-0x9B */ + 0x8A, 0x78, 0x8A, 0x79, 0xE6, 0xA4, 0x8A, 0x7A, /* 0x9C-0x9F */ + 0x8A, 0x7B, 0x8A, 0x7C, 0x8A, 0x7D, 0xE5, 0xFE, /* 0xA0-0xA3 */ + 0xE6, 0xA5, 0xCD, 0xD7, 0x8A, 0x7E, 0x8A, 0x80, /* 0xA4-0xA7 */ + 0xB7, 0xC1, 0xE5, 0xFC, 0xE5, 0xFD, 0xE6, 0xA3, /* 0xA8-0xAB */ + 0x8A, 0x81, 0x8A, 0x82, 0xC4, 0xDD, 0xE6, 0xA8, /* 0xAC-0xAF */ + 0x8A, 0x83, 0x8A, 0x84, 0xE6, 0xA7, 0x8A, 0x85, /* 0xB0-0xB3 */ + 0x8A, 0x86, 0x8A, 0x87, 0x8A, 0x88, 0x8A, 0x89, /* 0xB4-0xB7 */ + 0x8A, 0x8A, 0xC3, 0xC3, 0x8A, 0x8B, 0xC6, 0xDE, /* 0xB8-0xBB */ + 0x8A, 0x8C, 0x8A, 0x8D, 0xE6, 0xAA, 0x8A, 0x8E, /* 0xBC-0xBF */ + 0x8A, 0x8F, 0x8A, 0x90, 0x8A, 0x91, 0x8A, 0x92, /* 0xC0-0xC3 */ + 0x8A, 0x93, 0x8A, 0x94, 0xC4, 0xB7, 0x8A, 0x95, /* 0xC4-0xC7 */ + 0x8A, 0x96, 0x8A, 0x97, 0xE6, 0xA2, 0xCA, 0xBC, /* 0xC8-0xCB */ + 0x8A, 0x98, 0x8A, 0x99, 0x8A, 0x9A, 0x8A, 0x9B, /* 0xCC-0xCF */ + 0xBD, 0xE3, 0xB9, 0xC3, 0xE6, 0xA6, 0xD0, 0xD5, /* 0xD0-0xD3 */ + 0xCE, 0xAF, 0x8A, 0x9C, 0x8A, 0x9D, 0xE6, 0xA9, /* 0xD4-0xD7 */ + 0xE6, 0xB0, 0x8A, 0x9E, 0xD2, 0xA6, 0x8A, 0x9F, /* 0xD8-0xDB */ + 0xBD, 0xAA, 0xE6, 0xAD, 0x8A, 0xA0, 0x8A, 0xA1, /* 0xDC-0xDF */ + 0x8A, 0xA2, 0x8A, 0xA3, 0x8A, 0xA4, 0xE6, 0xAF, /* 0xE0-0xE3 */ + 0x8A, 0xA5, 0xC0, 0xD1, 0x8A, 0xA6, 0x8A, 0xA7, /* 0xE4-0xE7 */ + 0xD2, 0xCC, 0x8A, 0xA8, 0x8A, 0xA9, 0x8A, 0xAA, /* 0xE8-0xEB */ + 0xBC, 0xA7, 0x8A, 0xAB, 0x8A, 0xAC, 0x8A, 0xAD, /* 0xEC-0xEF */ + 0x8A, 0xAE, 0x8A, 0xAF, 0x8A, 0xB0, 0x8A, 0xB1, /* 0xF0-0xF3 */ + 0x8A, 0xB2, 0x8A, 0xB3, 0x8A, 0xB4, 0x8A, 0xB5, /* 0xF4-0xF7 */ + 0x8A, 0xB6, 0xE6, 0xB1, 0x8A, 0xB7, 0xD2, 0xF6, /* 0xF8-0xFB */ + 0x8A, 0xB8, 0x8A, 0xB9, 0x8A, 0xBA, 0xD7, 0xCB, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5A[512] = { + 0x8A, 0xBB, 0xCD, 0xFE, 0x8A, 0xBC, 0xCD, 0xDE, /* 0x00-0x03 */ + 0xC2, 0xA6, 0xE6, 0xAB, 0xE6, 0xAC, 0xBD, 0xBF, /* 0x04-0x07 */ + 0xE6, 0xAE, 0xE6, 0xB3, 0x8A, 0xBD, 0x8A, 0xBE, /* 0x08-0x0B */ + 0xE6, 0xB2, 0x8A, 0xBF, 0x8A, 0xC0, 0x8A, 0xC1, /* 0x0C-0x0F */ + 0x8A, 0xC2, 0xE6, 0xB6, 0x8A, 0xC3, 0xE6, 0xB8, /* 0x10-0x13 */ + 0x8A, 0xC4, 0x8A, 0xC5, 0x8A, 0xC6, 0x8A, 0xC7, /* 0x14-0x17 */ + 0xC4, 0xEF, 0x8A, 0xC8, 0x8A, 0xC9, 0x8A, 0xCA, /* 0x18-0x1B */ + 0xC4, 0xC8, 0x8A, 0xCB, 0x8A, 0xCC, 0xBE, 0xEA, /* 0x1C-0x1F */ + 0xC9, 0xEF, 0x8A, 0xCD, 0x8A, 0xCE, 0xE6, 0xB7, /* 0x20-0x23 */ + 0x8A, 0xCF, 0xB6, 0xF0, 0x8A, 0xD0, 0x8A, 0xD1, /* 0x24-0x27 */ + 0x8A, 0xD2, 0xC3, 0xE4, 0x8A, 0xD3, 0x8A, 0xD4, /* 0x28-0x2B */ + 0x8A, 0xD5, 0x8A, 0xD6, 0x8A, 0xD7, 0x8A, 0xD8, /* 0x2C-0x2F */ + 0x8A, 0xD9, 0xD3, 0xE9, 0xE6, 0xB4, 0x8A, 0xDA, /* 0x30-0x33 */ + 0xE6, 0xB5, 0x8A, 0xDB, 0xC8, 0xA2, 0x8A, 0xDC, /* 0x34-0x37 */ + 0x8A, 0xDD, 0x8A, 0xDE, 0x8A, 0xDF, 0x8A, 0xE0, /* 0x38-0x3B */ + 0xE6, 0xBD, 0x8A, 0xE1, 0x8A, 0xE2, 0x8A, 0xE3, /* 0x3C-0x3F */ + 0xE6, 0xB9, 0x8A, 0xE4, 0x8A, 0xE5, 0x8A, 0xE6, /* 0x40-0x43 */ + 0x8A, 0xE7, 0x8A, 0xE8, 0xC6, 0xC5, 0x8A, 0xE9, /* 0x44-0x47 */ + 0x8A, 0xEA, 0xCD, 0xF1, 0xE6, 0xBB, 0x8A, 0xEB, /* 0x48-0x4B */ + 0x8A, 0xEC, 0x8A, 0xED, 0x8A, 0xEE, 0x8A, 0xEF, /* 0x4C-0x4F */ + 0x8A, 0xF0, 0x8A, 0xF1, 0x8A, 0xF2, 0x8A, 0xF3, /* 0x50-0x53 */ + 0x8A, 0xF4, 0xE6, 0xBC, 0x8A, 0xF5, 0x8A, 0xF6, /* 0x54-0x57 */ + 0x8A, 0xF7, 0x8A, 0xF8, 0xBB, 0xE9, 0x8A, 0xF9, /* 0x58-0x5B */ + 0x8A, 0xFA, 0x8A, 0xFB, 0x8A, 0xFC, 0x8A, 0xFD, /* 0x5C-0x5F */ + 0x8A, 0xFE, 0x8B, 0x40, 0xE6, 0xBE, 0x8B, 0x41, /* 0x60-0x63 */ + 0x8B, 0x42, 0x8B, 0x43, 0x8B, 0x44, 0xE6, 0xBA, /* 0x64-0x67 */ + 0x8B, 0x45, 0x8B, 0x46, 0xC0, 0xB7, 0x8B, 0x47, /* 0x68-0x6B */ + 0x8B, 0x48, 0x8B, 0x49, 0x8B, 0x4A, 0x8B, 0x4B, /* 0x6C-0x6F */ + 0x8B, 0x4C, 0x8B, 0x4D, 0x8B, 0x4E, 0x8B, 0x4F, /* 0x70-0x73 */ + 0xD3, 0xA4, 0xE6, 0xBF, 0xC9, 0xF4, 0xE6, 0xC3, /* 0x74-0x77 */ + 0x8B, 0x50, 0x8B, 0x51, 0xE6, 0xC4, 0x8B, 0x52, /* 0x78-0x7B */ + 0x8B, 0x53, 0x8B, 0x54, 0x8B, 0x55, 0xD0, 0xF6, /* 0x7C-0x7F */ + + 0x8B, 0x56, 0x8B, 0x57, 0x8B, 0x58, 0x8B, 0x59, /* 0x80-0x83 */ + 0x8B, 0x5A, 0x8B, 0x5B, 0x8B, 0x5C, 0x8B, 0x5D, /* 0x84-0x87 */ + 0x8B, 0x5E, 0x8B, 0x5F, 0x8B, 0x60, 0x8B, 0x61, /* 0x88-0x8B */ + 0x8B, 0x62, 0x8B, 0x63, 0x8B, 0x64, 0x8B, 0x65, /* 0x8C-0x8F */ + 0x8B, 0x66, 0x8B, 0x67, 0xC3, 0xBD, 0x8B, 0x68, /* 0x90-0x93 */ + 0x8B, 0x69, 0x8B, 0x6A, 0x8B, 0x6B, 0x8B, 0x6C, /* 0x94-0x97 */ + 0x8B, 0x6D, 0x8B, 0x6E, 0xC3, 0xC4, 0xE6, 0xC2, /* 0x98-0x9B */ + 0x8B, 0x6F, 0x8B, 0x70, 0x8B, 0x71, 0x8B, 0x72, /* 0x9C-0x9F */ + 0x8B, 0x73, 0x8B, 0x74, 0x8B, 0x75, 0x8B, 0x76, /* 0xA0-0xA3 */ + 0x8B, 0x77, 0x8B, 0x78, 0x8B, 0x79, 0x8B, 0x7A, /* 0xA4-0xA7 */ + 0x8B, 0x7B, 0x8B, 0x7C, 0xE6, 0xC1, 0x8B, 0x7D, /* 0xA8-0xAB */ + 0x8B, 0x7E, 0x8B, 0x80, 0x8B, 0x81, 0x8B, 0x82, /* 0xAC-0xAF */ + 0x8B, 0x83, 0x8B, 0x84, 0xE6, 0xC7, 0xCF, 0xB1, /* 0xB0-0xB3 */ + 0x8B, 0x85, 0xEB, 0xF4, 0x8B, 0x86, 0x8B, 0x87, /* 0xB4-0xB7 */ + 0xE6, 0xCA, 0x8B, 0x88, 0x8B, 0x89, 0x8B, 0x8A, /* 0xB8-0xBB */ + 0x8B, 0x8B, 0x8B, 0x8C, 0xE6, 0xC5, 0x8B, 0x8D, /* 0xBC-0xBF */ + 0x8B, 0x8E, 0xBC, 0xDE, 0xC9, 0xA9, 0x8B, 0x8F, /* 0xC0-0xC3 */ + 0x8B, 0x90, 0x8B, 0x91, 0x8B, 0x92, 0x8B, 0x93, /* 0xC4-0xC7 */ + 0x8B, 0x94, 0xBC, 0xB5, 0x8B, 0x95, 0x8B, 0x96, /* 0xC8-0xCB */ + 0xCF, 0xD3, 0x8B, 0x97, 0x8B, 0x98, 0x8B, 0x99, /* 0xCC-0xCF */ + 0x8B, 0x9A, 0x8B, 0x9B, 0xE6, 0xC8, 0x8B, 0x9C, /* 0xD0-0xD3 */ + 0xE6, 0xC9, 0x8B, 0x9D, 0xE6, 0xCE, 0x8B, 0x9E, /* 0xD4-0xD7 */ + 0xE6, 0xD0, 0x8B, 0x9F, 0x8B, 0xA0, 0x8B, 0xA1, /* 0xD8-0xDB */ + 0xE6, 0xD1, 0x8B, 0xA2, 0x8B, 0xA3, 0x8B, 0xA4, /* 0xDC-0xDF */ + 0xE6, 0xCB, 0xB5, 0xD5, 0x8B, 0xA5, 0xE6, 0xCC, /* 0xE0-0xE3 */ + 0x8B, 0xA6, 0x8B, 0xA7, 0xE6, 0xCF, 0x8B, 0xA8, /* 0xE4-0xE7 */ + 0x8B, 0xA9, 0xC4, 0xDB, 0x8B, 0xAA, 0xE6, 0xC6, /* 0xE8-0xEB */ + 0x8B, 0xAB, 0x8B, 0xAC, 0x8B, 0xAD, 0x8B, 0xAE, /* 0xEC-0xEF */ + 0x8B, 0xAF, 0xE6, 0xCD, 0x8B, 0xB0, 0x8B, 0xB1, /* 0xF0-0xF3 */ + 0x8B, 0xB2, 0x8B, 0xB3, 0x8B, 0xB4, 0x8B, 0xB5, /* 0xF4-0xF7 */ + 0x8B, 0xB6, 0x8B, 0xB7, 0x8B, 0xB8, 0x8B, 0xB9, /* 0xF8-0xFB */ + 0x8B, 0xBA, 0x8B, 0xBB, 0x8B, 0xBC, 0x8B, 0xBD, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5B[512] = { + 0x8B, 0xBE, 0x8B, 0xBF, 0x8B, 0xC0, 0x8B, 0xC1, /* 0x00-0x03 */ + 0x8B, 0xC2, 0x8B, 0xC3, 0x8B, 0xC4, 0x8B, 0xC5, /* 0x04-0x07 */ + 0x8B, 0xC6, 0xE6, 0xD2, 0x8B, 0xC7, 0x8B, 0xC8, /* 0x08-0x0B */ + 0x8B, 0xC9, 0x8B, 0xCA, 0x8B, 0xCB, 0x8B, 0xCC, /* 0x0C-0x0F */ + 0x8B, 0xCD, 0x8B, 0xCE, 0x8B, 0xCF, 0x8B, 0xD0, /* 0x10-0x13 */ + 0x8B, 0xD1, 0x8B, 0xD2, 0xE6, 0xD4, 0xE6, 0xD3, /* 0x14-0x17 */ + 0x8B, 0xD3, 0x8B, 0xD4, 0x8B, 0xD5, 0x8B, 0xD6, /* 0x18-0x1B */ + 0x8B, 0xD7, 0x8B, 0xD8, 0x8B, 0xD9, 0x8B, 0xDA, /* 0x1C-0x1F */ + 0x8B, 0xDB, 0x8B, 0xDC, 0x8B, 0xDD, 0x8B, 0xDE, /* 0x20-0x23 */ + 0x8B, 0xDF, 0x8B, 0xE0, 0x8B, 0xE1, 0x8B, 0xE2, /* 0x24-0x27 */ + 0x8B, 0xE3, 0x8B, 0xE4, 0x8B, 0xE5, 0x8B, 0xE6, /* 0x28-0x2B */ + 0x8B, 0xE7, 0x8B, 0xE8, 0x8B, 0xE9, 0x8B, 0xEA, /* 0x2C-0x2F */ + 0x8B, 0xEB, 0x8B, 0xEC, 0xE6, 0xD5, 0x8B, 0xED, /* 0x30-0x33 */ + 0xD9, 0xF8, 0x8B, 0xEE, 0x8B, 0xEF, 0xE6, 0xD6, /* 0x34-0x37 */ + 0x8B, 0xF0, 0x8B, 0xF1, 0x8B, 0xF2, 0x8B, 0xF3, /* 0x38-0x3B */ + 0x8B, 0xF4, 0x8B, 0xF5, 0x8B, 0xF6, 0x8B, 0xF7, /* 0x3C-0x3F */ + 0xE6, 0xD7, 0x8B, 0xF8, 0x8B, 0xF9, 0x8B, 0xFA, /* 0x40-0x43 */ + 0x8B, 0xFB, 0x8B, 0xFC, 0x8B, 0xFD, 0x8B, 0xFE, /* 0x44-0x47 */ + 0x8C, 0x40, 0x8C, 0x41, 0x8C, 0x42, 0x8C, 0x43, /* 0x48-0x4B */ + 0x8C, 0x44, 0x8C, 0x45, 0x8C, 0x46, 0x8C, 0x47, /* 0x4C-0x4F */ + 0xD7, 0xD3, 0xE6, 0xDD, 0x8C, 0x48, 0xE6, 0xDE, /* 0x50-0x53 */ + 0xBF, 0xD7, 0xD4, 0xD0, 0x8C, 0x49, 0xD7, 0xD6, /* 0x54-0x57 */ + 0xB4, 0xE6, 0xCB, 0xEF, 0xE6, 0xDA, 0xD8, 0xC3, /* 0x58-0x5B */ + 0xD7, 0xCE, 0xD0, 0xA2, 0x8C, 0x4A, 0xC3, 0xCF, /* 0x5C-0x5F */ + 0x8C, 0x4B, 0x8C, 0x4C, 0xE6, 0xDF, 0xBC, 0xBE, /* 0x60-0x63 */ + 0xB9, 0xC2, 0xE6, 0xDB, 0xD1, 0xA7, 0x8C, 0x4D, /* 0x64-0x67 */ + 0x8C, 0x4E, 0xBA, 0xA2, 0xC2, 0xCF, 0x8C, 0x4F, /* 0x68-0x6B */ + 0xD8, 0xAB, 0x8C, 0x50, 0x8C, 0x51, 0x8C, 0x52, /* 0x6C-0x6F */ + 0xCA, 0xEB, 0xE5, 0xEE, 0x8C, 0x53, 0xE6, 0xDC, /* 0x70-0x73 */ + 0x8C, 0x54, 0xB7, 0xF5, 0x8C, 0x55, 0x8C, 0x56, /* 0x74-0x77 */ + 0x8C, 0x57, 0x8C, 0x58, 0xC8, 0xE6, 0x8C, 0x59, /* 0x78-0x7B */ + 0x8C, 0x5A, 0xC4, 0xF5, 0x8C, 0x5B, 0x8C, 0x5C, /* 0x7C-0x7F */ + + 0xE5, 0xB2, 0xC4, 0xFE, 0x8C, 0x5D, 0xCB, 0xFC, /* 0x80-0x83 */ + 0xE5, 0xB3, 0xD5, 0xAC, 0x8C, 0x5E, 0xD3, 0xEE, /* 0x84-0x87 */ + 0xCA, 0xD8, 0xB0, 0xB2, 0x8C, 0x5F, 0xCB, 0xCE, /* 0x88-0x8B */ + 0xCD, 0xEA, 0x8C, 0x60, 0x8C, 0x61, 0xBA, 0xEA, /* 0x8C-0x8F */ + 0x8C, 0x62, 0x8C, 0x63, 0x8C, 0x64, 0xE5, 0xB5, /* 0x90-0x93 */ + 0x8C, 0x65, 0xE5, 0xB4, 0x8C, 0x66, 0xD7, 0xDA, /* 0x94-0x97 */ + 0xB9, 0xD9, 0xD6, 0xE6, 0xB6, 0xA8, 0xCD, 0xF0, /* 0x98-0x9B */ + 0xD2, 0xCB, 0xB1, 0xA6, 0xCA, 0xB5, 0x8C, 0x67, /* 0x9C-0x9F */ + 0xB3, 0xE8, 0xC9, 0xF3, 0xBF, 0xCD, 0xD0, 0xFB, /* 0xA0-0xA3 */ + 0xCA, 0xD2, 0xE5, 0xB6, 0xBB, 0xC2, 0x8C, 0x68, /* 0xA4-0xA7 */ + 0x8C, 0x69, 0x8C, 0x6A, 0xCF, 0xDC, 0xB9, 0xAC, /* 0xA8-0xAB */ + 0x8C, 0x6B, 0x8C, 0x6C, 0x8C, 0x6D, 0x8C, 0x6E, /* 0xAC-0xAF */ + 0xD4, 0xD7, 0x8C, 0x6F, 0x8C, 0x70, 0xBA, 0xA6, /* 0xB0-0xB3 */ + 0xD1, 0xE7, 0xCF, 0xFC, 0xBC, 0xD2, 0x8C, 0x71, /* 0xB4-0xB7 */ + 0xE5, 0xB7, 0xC8, 0xDD, 0x8C, 0x72, 0x8C, 0x73, /* 0xB8-0xBB */ + 0x8C, 0x74, 0xBF, 0xED, 0xB1, 0xF6, 0xCB, 0xDE, /* 0xBC-0xBF */ + 0x8C, 0x75, 0x8C, 0x76, 0xBC, 0xC5, 0x8C, 0x77, /* 0xC0-0xC3 */ + 0xBC, 0xC4, 0xD2, 0xFA, 0xC3, 0xDC, 0xBF, 0xDC, /* 0xC4-0xC7 */ + 0x8C, 0x78, 0x8C, 0x79, 0x8C, 0x7A, 0x8C, 0x7B, /* 0xC8-0xCB */ + 0xB8, 0xBB, 0x8C, 0x7C, 0x8C, 0x7D, 0x8C, 0x7E, /* 0xCC-0xCF */ + 0xC3, 0xC2, 0x8C, 0x80, 0xBA, 0xAE, 0xD4, 0xA2, /* 0xD0-0xD3 */ + 0x8C, 0x81, 0x8C, 0x82, 0x8C, 0x83, 0x8C, 0x84, /* 0xD4-0xD7 */ + 0x8C, 0x85, 0x8C, 0x86, 0x8C, 0x87, 0x8C, 0x88, /* 0xD8-0xDB */ + 0x8C, 0x89, 0xC7, 0xDE, 0xC4, 0xAF, 0xB2, 0xEC, /* 0xDC-0xDF */ + 0x8C, 0x8A, 0xB9, 0xD1, 0x8C, 0x8B, 0x8C, 0x8C, /* 0xE0-0xE3 */ + 0xE5, 0xBB, 0xC1, 0xC8, 0x8C, 0x8D, 0x8C, 0x8E, /* 0xE4-0xE7 */ + 0xD5, 0xAF, 0x8C, 0x8F, 0x8C, 0x90, 0x8C, 0x91, /* 0xE8-0xEB */ + 0x8C, 0x92, 0x8C, 0x93, 0xE5, 0xBC, 0x8C, 0x94, /* 0xEC-0xEF */ + 0xE5, 0xBE, 0x8C, 0x95, 0x8C, 0x96, 0x8C, 0x97, /* 0xF0-0xF3 */ + 0x8C, 0x98, 0x8C, 0x99, 0x8C, 0x9A, 0x8C, 0x9B, /* 0xF4-0xF7 */ + 0xB4, 0xE7, 0xB6, 0xD4, 0xCB, 0xC2, 0xD1, 0xB0, /* 0xF8-0xFB */ + 0xB5, 0xBC, 0x8C, 0x9C, 0x8C, 0x9D, 0xCA, 0xD9, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5C[512] = { + 0x8C, 0x9E, 0xB7, 0xE2, 0x8C, 0x9F, 0x8C, 0xA0, /* 0x00-0x03 */ + 0xC9, 0xE4, 0x8C, 0xA1, 0xBD, 0xAB, 0x8C, 0xA2, /* 0x04-0x07 */ + 0x8C, 0xA3, 0xCE, 0xBE, 0xD7, 0xF0, 0x8C, 0xA4, /* 0x08-0x0B */ + 0x8C, 0xA5, 0x8C, 0xA6, 0x8C, 0xA7, 0xD0, 0xA1, /* 0x0C-0x0F */ + 0x8C, 0xA8, 0xC9, 0xD9, 0x8C, 0xA9, 0x8C, 0xAA, /* 0x10-0x13 */ + 0xB6, 0xFB, 0xE6, 0xD8, 0xBC, 0xE2, 0x8C, 0xAB, /* 0x14-0x17 */ + 0xB3, 0xBE, 0x8C, 0xAC, 0xC9, 0xD0, 0x8C, 0xAD, /* 0x18-0x1B */ + 0xE6, 0xD9, 0xB3, 0xA2, 0x8C, 0xAE, 0x8C, 0xAF, /* 0x1C-0x1F */ + 0x8C, 0xB0, 0x8C, 0xB1, 0xDE, 0xCC, 0x8C, 0xB2, /* 0x20-0x23 */ + 0xD3, 0xC8, 0xDE, 0xCD, 0x8C, 0xB3, 0xD2, 0xA2, /* 0x24-0x27 */ + 0x8C, 0xB4, 0x8C, 0xB5, 0x8C, 0xB6, 0x8C, 0xB7, /* 0x28-0x2B */ + 0xDE, 0xCE, 0x8C, 0xB8, 0x8C, 0xB9, 0x8C, 0xBA, /* 0x2C-0x2F */ + 0x8C, 0xBB, 0xBE, 0xCD, 0x8C, 0xBC, 0x8C, 0xBD, /* 0x30-0x33 */ + 0xDE, 0xCF, 0x8C, 0xBE, 0x8C, 0xBF, 0x8C, 0xC0, /* 0x34-0x37 */ + 0xCA, 0xAC, 0xD2, 0xFC, 0xB3, 0xDF, 0xE5, 0xEA, /* 0x38-0x3B */ + 0xC4, 0xE1, 0xBE, 0xA1, 0xCE, 0xB2, 0xC4, 0xF2, /* 0x3C-0x3F */ + 0xBE, 0xD6, 0xC6, 0xA8, 0xB2, 0xE3, 0x8C, 0xC1, /* 0x40-0x43 */ + 0x8C, 0xC2, 0xBE, 0xD3, 0x8C, 0xC3, 0x8C, 0xC4, /* 0x44-0x47 */ + 0xC7, 0xFC, 0xCC, 0xEB, 0xBD, 0xEC, 0xCE, 0xDD, /* 0x48-0x4B */ + 0x8C, 0xC5, 0x8C, 0xC6, 0xCA, 0xBA, 0xC6, 0xC1, /* 0x4C-0x4F */ + 0xE5, 0xEC, 0xD0, 0xBC, 0x8C, 0xC7, 0x8C, 0xC8, /* 0x50-0x53 */ + 0x8C, 0xC9, 0xD5, 0xB9, 0x8C, 0xCA, 0x8C, 0xCB, /* 0x54-0x57 */ + 0x8C, 0xCC, 0xE5, 0xED, 0x8C, 0xCD, 0x8C, 0xCE, /* 0x58-0x5B */ + 0x8C, 0xCF, 0x8C, 0xD0, 0xCA, 0xF4, 0x8C, 0xD1, /* 0x5C-0x5F */ + 0xCD, 0xC0, 0xC2, 0xC5, 0x8C, 0xD2, 0xE5, 0xEF, /* 0x60-0x63 */ + 0x8C, 0xD3, 0xC2, 0xC4, 0xE5, 0xF0, 0x8C, 0xD4, /* 0x64-0x67 */ + 0x8C, 0xD5, 0x8C, 0xD6, 0x8C, 0xD7, 0x8C, 0xD8, /* 0x68-0x6B */ + 0x8C, 0xD9, 0x8C, 0xDA, 0xE5, 0xF8, 0xCD, 0xCD, /* 0x6C-0x6F */ + 0x8C, 0xDB, 0xC9, 0xBD, 0x8C, 0xDC, 0x8C, 0xDD, /* 0x70-0x73 */ + 0x8C, 0xDE, 0x8C, 0xDF, 0x8C, 0xE0, 0x8C, 0xE1, /* 0x74-0x77 */ + 0x8C, 0xE2, 0xD2, 0xD9, 0xE1, 0xA8, 0x8C, 0xE3, /* 0x78-0x7B */ + 0x8C, 0xE4, 0x8C, 0xE5, 0x8C, 0xE6, 0xD3, 0xEC, /* 0x7C-0x7F */ + + 0x8C, 0xE7, 0xCB, 0xEA, 0xC6, 0xF1, 0x8C, 0xE8, /* 0x80-0x83 */ + 0x8C, 0xE9, 0x8C, 0xEA, 0x8C, 0xEB, 0x8C, 0xEC, /* 0x84-0x87 */ + 0xE1, 0xAC, 0x8C, 0xED, 0x8C, 0xEE, 0x8C, 0xEF, /* 0x88-0x8B */ + 0xE1, 0xA7, 0xE1, 0xA9, 0x8C, 0xF0, 0x8C, 0xF1, /* 0x8C-0x8F */ + 0xE1, 0xAA, 0xE1, 0xAF, 0x8C, 0xF2, 0x8C, 0xF3, /* 0x90-0x93 */ + 0xB2, 0xED, 0x8C, 0xF4, 0xE1, 0xAB, 0xB8, 0xDA, /* 0x94-0x97 */ + 0xE1, 0xAD, 0xE1, 0xAE, 0xE1, 0xB0, 0xB5, 0xBA, /* 0x98-0x9B */ + 0xE1, 0xB1, 0x8C, 0xF5, 0x8C, 0xF6, 0x8C, 0xF7, /* 0x9C-0x9F */ + 0x8C, 0xF8, 0x8C, 0xF9, 0xE1, 0xB3, 0xE1, 0xB8, /* 0xA0-0xA3 */ + 0x8C, 0xFA, 0x8C, 0xFB, 0x8C, 0xFC, 0x8C, 0xFD, /* 0xA4-0xA7 */ + 0x8C, 0xFE, 0xD1, 0xD2, 0x8D, 0x40, 0xE1, 0xB6, /* 0xA8-0xAB */ + 0xE1, 0xB5, 0xC1, 0xEB, 0x8D, 0x41, 0x8D, 0x42, /* 0xAC-0xAF */ + 0x8D, 0x43, 0xE1, 0xB7, 0x8D, 0x44, 0xD4, 0xC0, /* 0xB0-0xB3 */ + 0x8D, 0x45, 0xE1, 0xB2, 0x8D, 0x46, 0xE1, 0xBA, /* 0xB4-0xB7 */ + 0xB0, 0xB6, 0x8D, 0x47, 0x8D, 0x48, 0x8D, 0x49, /* 0xB8-0xBB */ + 0x8D, 0x4A, 0xE1, 0xB4, 0x8D, 0x4B, 0xBF, 0xF9, /* 0xBC-0xBF */ + 0x8D, 0x4C, 0xE1, 0xB9, 0x8D, 0x4D, 0x8D, 0x4E, /* 0xC0-0xC3 */ + 0xE1, 0xBB, 0x8D, 0x4F, 0x8D, 0x50, 0x8D, 0x51, /* 0xC4-0xC7 */ + 0x8D, 0x52, 0x8D, 0x53, 0x8D, 0x54, 0xE1, 0xBE, /* 0xC8-0xCB */ + 0x8D, 0x55, 0x8D, 0x56, 0x8D, 0x57, 0x8D, 0x58, /* 0xCC-0xCF */ + 0x8D, 0x59, 0x8D, 0x5A, 0xE1, 0xBC, 0x8D, 0x5B, /* 0xD0-0xD3 */ + 0x8D, 0x5C, 0x8D, 0x5D, 0x8D, 0x5E, 0x8D, 0x5F, /* 0xD4-0xD7 */ + 0x8D, 0x60, 0xD6, 0xC5, 0x8D, 0x61, 0x8D, 0x62, /* 0xD8-0xDB */ + 0x8D, 0x63, 0x8D, 0x64, 0x8D, 0x65, 0x8D, 0x66, /* 0xDC-0xDF */ + 0x8D, 0x67, 0xCF, 0xBF, 0x8D, 0x68, 0x8D, 0x69, /* 0xE0-0xE3 */ + 0xE1, 0xBD, 0xE1, 0xBF, 0xC2, 0xCD, 0x8D, 0x6A, /* 0xE4-0xE7 */ + 0xB6, 0xEB, 0x8D, 0x6B, 0xD3, 0xF8, 0x8D, 0x6C, /* 0xE8-0xEB */ + 0x8D, 0x6D, 0xC7, 0xCD, 0x8D, 0x6E, 0x8D, 0x6F, /* 0xEC-0xEF */ + 0xB7, 0xE5, 0x8D, 0x70, 0x8D, 0x71, 0x8D, 0x72, /* 0xF0-0xF3 */ + 0x8D, 0x73, 0x8D, 0x74, 0x8D, 0x75, 0x8D, 0x76, /* 0xF4-0xF7 */ + 0x8D, 0x77, 0x8D, 0x78, 0x8D, 0x79, 0xBE, 0xFE, /* 0xF8-0xFB */ + 0x8D, 0x7A, 0x8D, 0x7B, 0x8D, 0x7C, 0x8D, 0x7D, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5D[512] = { + 0x8D, 0x7E, 0x8D, 0x80, 0xE1, 0xC0, 0xE1, 0xC1, /* 0x00-0x03 */ + 0x8D, 0x81, 0x8D, 0x82, 0xE1, 0xC7, 0xB3, 0xE7, /* 0x04-0x07 */ + 0x8D, 0x83, 0x8D, 0x84, 0x8D, 0x85, 0x8D, 0x86, /* 0x08-0x0B */ + 0x8D, 0x87, 0x8D, 0x88, 0xC6, 0xE9, 0x8D, 0x89, /* 0x0C-0x0F */ + 0x8D, 0x8A, 0x8D, 0x8B, 0x8D, 0x8C, 0x8D, 0x8D, /* 0x10-0x13 */ + 0xB4, 0xDE, 0x8D, 0x8E, 0xD1, 0xC2, 0x8D, 0x8F, /* 0x14-0x17 */ + 0x8D, 0x90, 0x8D, 0x91, 0x8D, 0x92, 0xE1, 0xC8, /* 0x18-0x1B */ + 0x8D, 0x93, 0x8D, 0x94, 0xE1, 0xC6, 0x8D, 0x95, /* 0x1C-0x1F */ + 0x8D, 0x96, 0x8D, 0x97, 0x8D, 0x98, 0x8D, 0x99, /* 0x20-0x23 */ + 0xE1, 0xC5, 0x8D, 0x9A, 0xE1, 0xC3, 0xE1, 0xC2, /* 0x24-0x27 */ + 0x8D, 0x9B, 0xB1, 0xC0, 0x8D, 0x9C, 0x8D, 0x9D, /* 0x28-0x2B */ + 0x8D, 0x9E, 0xD5, 0xB8, 0xE1, 0xC4, 0x8D, 0x9F, /* 0x2C-0x2F */ + 0x8D, 0xA0, 0x8D, 0xA1, 0x8D, 0xA2, 0x8D, 0xA3, /* 0x30-0x33 */ + 0xE1, 0xCB, 0x8D, 0xA4, 0x8D, 0xA5, 0x8D, 0xA6, /* 0x34-0x37 */ + 0x8D, 0xA7, 0x8D, 0xA8, 0x8D, 0xA9, 0x8D, 0xAA, /* 0x38-0x3B */ + 0x8D, 0xAB, 0xE1, 0xCC, 0xE1, 0xCA, 0x8D, 0xAC, /* 0x3C-0x3F */ + 0x8D, 0xAD, 0x8D, 0xAE, 0x8D, 0xAF, 0x8D, 0xB0, /* 0x40-0x43 */ + 0x8D, 0xB1, 0x8D, 0xB2, 0x8D, 0xB3, 0xEF, 0xFA, /* 0x44-0x47 */ + 0x8D, 0xB4, 0x8D, 0xB5, 0xE1, 0xD3, 0xE1, 0xD2, /* 0x48-0x4B */ + 0xC7, 0xB6, 0x8D, 0xB6, 0x8D, 0xB7, 0x8D, 0xB8, /* 0x4C-0x4F */ + 0x8D, 0xB9, 0x8D, 0xBA, 0x8D, 0xBB, 0x8D, 0xBC, /* 0x50-0x53 */ + 0x8D, 0xBD, 0x8D, 0xBE, 0x8D, 0xBF, 0x8D, 0xC0, /* 0x54-0x57 */ + 0xE1, 0xC9, 0x8D, 0xC1, 0x8D, 0xC2, 0xE1, 0xCE, /* 0x58-0x5B */ + 0x8D, 0xC3, 0xE1, 0xD0, 0x8D, 0xC4, 0x8D, 0xC5, /* 0x5C-0x5F */ + 0x8D, 0xC6, 0x8D, 0xC7, 0x8D, 0xC8, 0x8D, 0xC9, /* 0x60-0x63 */ + 0x8D, 0xCA, 0x8D, 0xCB, 0x8D, 0xCC, 0x8D, 0xCD, /* 0x64-0x67 */ + 0x8D, 0xCE, 0xE1, 0xD4, 0x8D, 0xCF, 0xE1, 0xD1, /* 0x68-0x6B */ + 0xE1, 0xCD, 0x8D, 0xD0, 0x8D, 0xD1, 0xE1, 0xCF, /* 0x6C-0x6F */ + 0x8D, 0xD2, 0x8D, 0xD3, 0x8D, 0xD4, 0x8D, 0xD5, /* 0x70-0x73 */ + 0xE1, 0xD5, 0x8D, 0xD6, 0x8D, 0xD7, 0x8D, 0xD8, /* 0x74-0x77 */ + 0x8D, 0xD9, 0x8D, 0xDA, 0x8D, 0xDB, 0x8D, 0xDC, /* 0x78-0x7B */ + 0x8D, 0xDD, 0x8D, 0xDE, 0x8D, 0xDF, 0x8D, 0xE0, /* 0x7C-0x7F */ + + 0x8D, 0xE1, 0x8D, 0xE2, 0xE1, 0xD6, 0x8D, 0xE3, /* 0x80-0x83 */ + 0x8D, 0xE4, 0x8D, 0xE5, 0x8D, 0xE6, 0x8D, 0xE7, /* 0x84-0x87 */ + 0x8D, 0xE8, 0x8D, 0xE9, 0x8D, 0xEA, 0x8D, 0xEB, /* 0x88-0x8B */ + 0x8D, 0xEC, 0x8D, 0xED, 0x8D, 0xEE, 0x8D, 0xEF, /* 0x8C-0x8F */ + 0x8D, 0xF0, 0x8D, 0xF1, 0x8D, 0xF2, 0x8D, 0xF3, /* 0x90-0x93 */ + 0x8D, 0xF4, 0x8D, 0xF5, 0x8D, 0xF6, 0x8D, 0xF7, /* 0x94-0x97 */ + 0x8D, 0xF8, 0xE1, 0xD7, 0x8D, 0xF9, 0x8D, 0xFA, /* 0x98-0x9B */ + 0x8D, 0xFB, 0xE1, 0xD8, 0x8D, 0xFC, 0x8D, 0xFD, /* 0x9C-0x9F */ + 0x8D, 0xFE, 0x8E, 0x40, 0x8E, 0x41, 0x8E, 0x42, /* 0xA0-0xA3 */ + 0x8E, 0x43, 0x8E, 0x44, 0x8E, 0x45, 0x8E, 0x46, /* 0xA4-0xA7 */ + 0x8E, 0x47, 0x8E, 0x48, 0x8E, 0x49, 0x8E, 0x4A, /* 0xA8-0xAB */ + 0x8E, 0x4B, 0x8E, 0x4C, 0x8E, 0x4D, 0x8E, 0x4E, /* 0xAC-0xAF */ + 0x8E, 0x4F, 0x8E, 0x50, 0x8E, 0x51, 0x8E, 0x52, /* 0xB0-0xB3 */ + 0x8E, 0x53, 0x8E, 0x54, 0x8E, 0x55, 0xE1, 0xDA, /* 0xB4-0xB7 */ + 0x8E, 0x56, 0x8E, 0x57, 0x8E, 0x58, 0x8E, 0x59, /* 0xB8-0xBB */ + 0x8E, 0x5A, 0x8E, 0x5B, 0x8E, 0x5C, 0x8E, 0x5D, /* 0xBC-0xBF */ + 0x8E, 0x5E, 0x8E, 0x5F, 0x8E, 0x60, 0x8E, 0x61, /* 0xC0-0xC3 */ + 0x8E, 0x62, 0xE1, 0xDB, 0x8E, 0x63, 0x8E, 0x64, /* 0xC4-0xC7 */ + 0x8E, 0x65, 0x8E, 0x66, 0x8E, 0x67, 0x8E, 0x68, /* 0xC8-0xCB */ + 0x8E, 0x69, 0xCE, 0xA1, 0x8E, 0x6A, 0x8E, 0x6B, /* 0xCC-0xCF */ + 0x8E, 0x6C, 0x8E, 0x6D, 0x8E, 0x6E, 0x8E, 0x6F, /* 0xD0-0xD3 */ + 0x8E, 0x70, 0x8E, 0x71, 0x8E, 0x72, 0x8E, 0x73, /* 0xD4-0xD7 */ + 0x8E, 0x74, 0x8E, 0x75, 0x8E, 0x76, 0xE7, 0xDD, /* 0xD8-0xDB */ + 0x8E, 0x77, 0xB4, 0xA8, 0xD6, 0xDD, 0x8E, 0x78, /* 0xDC-0xDF */ + 0x8E, 0x79, 0xD1, 0xB2, 0xB3, 0xB2, 0x8E, 0x7A, /* 0xE0-0xE3 */ + 0x8E, 0x7B, 0xB9, 0xA4, 0xD7, 0xF3, 0xC7, 0xC9, /* 0xE4-0xE7 */ + 0xBE, 0xDE, 0xB9, 0xAE, 0x8E, 0x7C, 0xCE, 0xD7, /* 0xE8-0xEB */ + 0x8E, 0x7D, 0x8E, 0x7E, 0xB2, 0xEE, 0xDB, 0xCF, /* 0xEC-0xEF */ + 0x8E, 0x80, 0xBC, 0xBA, 0xD2, 0xD1, 0xCB, 0xC8, /* 0xF0-0xF3 */ + 0xB0, 0xCD, 0x8E, 0x81, 0x8E, 0x82, 0xCF, 0xEF, /* 0xF4-0xF7 */ + 0x8E, 0x83, 0x8E, 0x84, 0x8E, 0x85, 0x8E, 0x86, /* 0xF8-0xFB */ + 0x8E, 0x87, 0xD9, 0xE3, 0xBD, 0xED, 0x8E, 0x88, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5E[512] = { + 0x8E, 0x89, 0xB1, 0xD2, 0xCA, 0xD0, 0xB2, 0xBC, /* 0x00-0x03 */ + 0x8E, 0x8A, 0xCB, 0xA7, 0xB7, 0xAB, 0x8E, 0x8B, /* 0x04-0x07 */ + 0xCA, 0xA6, 0x8E, 0x8C, 0x8E, 0x8D, 0x8E, 0x8E, /* 0x08-0x0B */ + 0xCF, 0xA3, 0x8E, 0x8F, 0x8E, 0x90, 0xE0, 0xF8, /* 0x0C-0x0F */ + 0xD5, 0xCA, 0xE0, 0xFB, 0x8E, 0x91, 0x8E, 0x92, /* 0x10-0x13 */ + 0xE0, 0xFA, 0xC5, 0xC1, 0xCC, 0xFB, 0x8E, 0x93, /* 0x14-0x17 */ + 0xC1, 0xB1, 0xE0, 0xF9, 0xD6, 0xE3, 0xB2, 0xAF, /* 0x18-0x1B */ + 0xD6, 0xC4, 0xB5, 0xDB, 0x8E, 0x94, 0x8E, 0x95, /* 0x1C-0x1F */ + 0x8E, 0x96, 0x8E, 0x97, 0x8E, 0x98, 0x8E, 0x99, /* 0x20-0x23 */ + 0x8E, 0x9A, 0x8E, 0x9B, 0xB4, 0xF8, 0xD6, 0xA1, /* 0x24-0x27 */ + 0x8E, 0x9C, 0x8E, 0x9D, 0x8E, 0x9E, 0x8E, 0x9F, /* 0x28-0x2B */ + 0x8E, 0xA0, 0xCF, 0xAF, 0xB0, 0xEF, 0x8E, 0xA1, /* 0x2C-0x2F */ + 0x8E, 0xA2, 0xE0, 0xFC, 0x8E, 0xA3, 0x8E, 0xA4, /* 0x30-0x33 */ + 0x8E, 0xA5, 0x8E, 0xA6, 0x8E, 0xA7, 0xE1, 0xA1, /* 0x34-0x37 */ + 0xB3, 0xA3, 0x8E, 0xA8, 0x8E, 0xA9, 0xE0, 0xFD, /* 0x38-0x3B */ + 0xE0, 0xFE, 0xC3, 0xB1, 0x8E, 0xAA, 0x8E, 0xAB, /* 0x3C-0x3F */ + 0x8E, 0xAC, 0x8E, 0xAD, 0xC3, 0xDD, 0x8E, 0xAE, /* 0x40-0x43 */ + 0xE1, 0xA2, 0xB7, 0xF9, 0x8E, 0xAF, 0x8E, 0xB0, /* 0x44-0x47 */ + 0x8E, 0xB1, 0x8E, 0xB2, 0x8E, 0xB3, 0x8E, 0xB4, /* 0x48-0x4B */ + 0xBB, 0xCF, 0x8E, 0xB5, 0x8E, 0xB6, 0x8E, 0xB7, /* 0x4C-0x4F */ + 0x8E, 0xB8, 0x8E, 0xB9, 0x8E, 0xBA, 0x8E, 0xBB, /* 0x50-0x53 */ + 0xE1, 0xA3, 0xC4, 0xBB, 0x8E, 0xBC, 0x8E, 0xBD, /* 0x54-0x57 */ + 0x8E, 0xBE, 0x8E, 0xBF, 0x8E, 0xC0, 0xE1, 0xA4, /* 0x58-0x5B */ + 0x8E, 0xC1, 0x8E, 0xC2, 0xE1, 0xA5, 0x8E, 0xC3, /* 0x5C-0x5F */ + 0x8E, 0xC4, 0xE1, 0xA6, 0xB4, 0xB1, 0x8E, 0xC5, /* 0x60-0x63 */ + 0x8E, 0xC6, 0x8E, 0xC7, 0x8E, 0xC8, 0x8E, 0xC9, /* 0x64-0x67 */ + 0x8E, 0xCA, 0x8E, 0xCB, 0x8E, 0xCC, 0x8E, 0xCD, /* 0x68-0x6B */ + 0x8E, 0xCE, 0x8E, 0xCF, 0x8E, 0xD0, 0x8E, 0xD1, /* 0x6C-0x6F */ + 0x8E, 0xD2, 0x8E, 0xD3, 0xB8, 0xC9, 0xC6, 0xBD, /* 0x70-0x73 */ + 0xC4, 0xEA, 0x8E, 0xD4, 0xB2, 0xA2, 0x8E, 0xD5, /* 0x74-0x77 */ + 0xD0, 0xD2, 0x8E, 0xD6, 0xE7, 0xDB, 0xBB, 0xC3, /* 0x78-0x7B */ + 0xD3, 0xD7, 0xD3, 0xC4, 0x8E, 0xD7, 0xB9, 0xE3, /* 0x7C-0x7F */ + + 0xE2, 0xCF, 0x8E, 0xD8, 0x8E, 0xD9, 0x8E, 0xDA, /* 0x80-0x83 */ + 0xD7, 0xAF, 0x8E, 0xDB, 0xC7, 0xEC, 0xB1, 0xD3, /* 0x84-0x87 */ + 0x8E, 0xDC, 0x8E, 0xDD, 0xB4, 0xB2, 0xE2, 0xD1, /* 0x88-0x8B */ + 0x8E, 0xDE, 0x8E, 0xDF, 0x8E, 0xE0, 0xD0, 0xF2, /* 0x8C-0x8F */ + 0xC2, 0xAE, 0xE2, 0xD0, 0x8E, 0xE1, 0xBF, 0xE2, /* 0x90-0x93 */ + 0xD3, 0xA6, 0xB5, 0xD7, 0xE2, 0xD2, 0xB5, 0xEA, /* 0x94-0x97 */ + 0x8E, 0xE2, 0xC3, 0xED, 0xB8, 0xFD, 0x8E, 0xE3, /* 0x98-0x9B */ + 0xB8, 0xAE, 0x8E, 0xE4, 0xC5, 0xD3, 0xB7, 0xCF, /* 0x9C-0x9F */ + 0xE2, 0xD4, 0x8E, 0xE5, 0x8E, 0xE6, 0x8E, 0xE7, /* 0xA0-0xA3 */ + 0x8E, 0xE8, 0xE2, 0xD3, 0xB6, 0xC8, 0xD7, 0xF9, /* 0xA4-0xA7 */ + 0x8E, 0xE9, 0x8E, 0xEA, 0x8E, 0xEB, 0x8E, 0xEC, /* 0xA8-0xAB */ + 0x8E, 0xED, 0xCD, 0xA5, 0x8E, 0xEE, 0x8E, 0xEF, /* 0xAC-0xAF */ + 0x8E, 0xF0, 0x8E, 0xF1, 0x8E, 0xF2, 0xE2, 0xD8, /* 0xB0-0xB3 */ + 0x8E, 0xF3, 0xE2, 0xD6, 0xCA, 0xFC, 0xBF, 0xB5, /* 0xB4-0xB7 */ + 0xD3, 0xB9, 0xE2, 0xD5, 0x8E, 0xF4, 0x8E, 0xF5, /* 0xB8-0xBB */ + 0x8E, 0xF6, 0x8E, 0xF7, 0xE2, 0xD7, 0x8E, 0xF8, /* 0xBC-0xBF */ + 0x8E, 0xF9, 0x8E, 0xFA, 0x8E, 0xFB, 0x8E, 0xFC, /* 0xC0-0xC3 */ + 0x8E, 0xFD, 0x8E, 0xFE, 0x8F, 0x40, 0x8F, 0x41, /* 0xC4-0xC7 */ + 0x8F, 0x42, 0xC1, 0xAE, 0xC0, 0xC8, 0x8F, 0x43, /* 0xC8-0xCB */ + 0x8F, 0x44, 0x8F, 0x45, 0x8F, 0x46, 0x8F, 0x47, /* 0xCC-0xCF */ + 0x8F, 0x48, 0xE2, 0xDB, 0xE2, 0xDA, 0xC0, 0xAA, /* 0xD0-0xD3 */ + 0x8F, 0x49, 0x8F, 0x4A, 0xC1, 0xCE, 0x8F, 0x4B, /* 0xD4-0xD7 */ + 0x8F, 0x4C, 0x8F, 0x4D, 0x8F, 0x4E, 0xE2, 0xDC, /* 0xD8-0xDB */ + 0x8F, 0x4F, 0x8F, 0x50, 0x8F, 0x51, 0x8F, 0x52, /* 0xDC-0xDF */ + 0x8F, 0x53, 0x8F, 0x54, 0x8F, 0x55, 0x8F, 0x56, /* 0xE0-0xE3 */ + 0x8F, 0x57, 0x8F, 0x58, 0x8F, 0x59, 0x8F, 0x5A, /* 0xE4-0xE7 */ + 0xE2, 0xDD, 0x8F, 0x5B, 0xE2, 0xDE, 0x8F, 0x5C, /* 0xE8-0xEB */ + 0x8F, 0x5D, 0x8F, 0x5E, 0x8F, 0x5F, 0x8F, 0x60, /* 0xEC-0xEF */ + 0x8F, 0x61, 0x8F, 0x62, 0x8F, 0x63, 0x8F, 0x64, /* 0xF0-0xF3 */ + 0xDB, 0xC8, 0x8F, 0x65, 0xD1, 0xD3, 0xCD, 0xA2, /* 0xF4-0xF7 */ + 0x8F, 0x66, 0x8F, 0x67, 0xBD, 0xA8, 0x8F, 0x68, /* 0xF8-0xFB */ + 0x8F, 0x69, 0x8F, 0x6A, 0xDE, 0xC3, 0xD8, 0xA5, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5F[512] = { + 0xBF, 0xAA, 0xDB, 0xCD, 0xD2, 0xEC, 0xC6, 0xFA, /* 0x00-0x03 */ + 0xC5, 0xAA, 0x8F, 0x6B, 0x8F, 0x6C, 0x8F, 0x6D, /* 0x04-0x07 */ + 0xDE, 0xC4, 0x8F, 0x6E, 0xB1, 0xD7, 0xDF, 0xAE, /* 0x08-0x0B */ + 0x8F, 0x6F, 0x8F, 0x70, 0x8F, 0x71, 0xCA, 0xBD, /* 0x0C-0x0F */ + 0x8F, 0x72, 0xDF, 0xB1, 0x8F, 0x73, 0xB9, 0xAD, /* 0x10-0x13 */ + 0x8F, 0x74, 0xD2, 0xFD, 0x8F, 0x75, 0xB8, 0xA5, /* 0x14-0x17 */ + 0xBA, 0xEB, 0x8F, 0x76, 0x8F, 0x77, 0xB3, 0xDA, /* 0x18-0x1B */ + 0x8F, 0x78, 0x8F, 0x79, 0x8F, 0x7A, 0xB5, 0xDC, /* 0x1C-0x1F */ + 0xD5, 0xC5, 0x8F, 0x7B, 0x8F, 0x7C, 0x8F, 0x7D, /* 0x20-0x23 */ + 0x8F, 0x7E, 0xC3, 0xD6, 0xCF, 0xD2, 0xBB, 0xA1, /* 0x24-0x27 */ + 0x8F, 0x80, 0xE5, 0xF3, 0xE5, 0xF2, 0x8F, 0x81, /* 0x28-0x2B */ + 0x8F, 0x82, 0xE5, 0xF4, 0x8F, 0x83, 0xCD, 0xE4, /* 0x2C-0x2F */ + 0x8F, 0x84, 0xC8, 0xF5, 0x8F, 0x85, 0x8F, 0x86, /* 0x30-0x33 */ + 0x8F, 0x87, 0x8F, 0x88, 0x8F, 0x89, 0x8F, 0x8A, /* 0x34-0x37 */ + 0x8F, 0x8B, 0xB5, 0xAF, 0xC7, 0xBF, 0x8F, 0x8C, /* 0x38-0x3B */ + 0xE5, 0xF6, 0x8F, 0x8D, 0x8F, 0x8E, 0x8F, 0x8F, /* 0x3C-0x3F */ + 0xEC, 0xB0, 0x8F, 0x90, 0x8F, 0x91, 0x8F, 0x92, /* 0x40-0x43 */ + 0x8F, 0x93, 0x8F, 0x94, 0x8F, 0x95, 0x8F, 0x96, /* 0x44-0x47 */ + 0x8F, 0x97, 0x8F, 0x98, 0x8F, 0x99, 0x8F, 0x9A, /* 0x48-0x4B */ + 0x8F, 0x9B, 0x8F, 0x9C, 0x8F, 0x9D, 0x8F, 0x9E, /* 0x4C-0x4F */ + 0xE5, 0xE6, 0x8F, 0x9F, 0xB9, 0xE9, 0xB5, 0xB1, /* 0x50-0x53 */ + 0x8F, 0xA0, 0xC2, 0xBC, 0xE5, 0xE8, 0xE5, 0xE7, /* 0x54-0x57 */ + 0xE5, 0xE9, 0x8F, 0xA1, 0x8F, 0xA2, 0x8F, 0xA3, /* 0x58-0x5B */ + 0x8F, 0xA4, 0xD2, 0xCD, 0x8F, 0xA5, 0x8F, 0xA6, /* 0x5C-0x5F */ + 0x8F, 0xA7, 0xE1, 0xEA, 0xD0, 0xCE, 0x8F, 0xA8, /* 0x60-0x63 */ + 0xCD, 0xAE, 0x8F, 0xA9, 0xD1, 0xE5, 0x8F, 0xAA, /* 0x64-0x67 */ + 0x8F, 0xAB, 0xB2, 0xCA, 0xB1, 0xEB, 0x8F, 0xAC, /* 0x68-0x6B */ + 0xB1, 0xF2, 0xC5, 0xED, 0x8F, 0xAD, 0x8F, 0xAE, /* 0x6C-0x6F */ + 0xD5, 0xC3, 0xD3, 0xB0, 0x8F, 0xAF, 0xE1, 0xDC, /* 0x70-0x73 */ + 0x8F, 0xB0, 0x8F, 0xB1, 0x8F, 0xB2, 0xE1, 0xDD, /* 0x74-0x77 */ + 0x8F, 0xB3, 0xD2, 0xDB, 0x8F, 0xB4, 0xB3, 0xB9, /* 0x78-0x7B */ + 0xB1, 0xCB, 0x8F, 0xB5, 0x8F, 0xB6, 0x8F, 0xB7, /* 0x7C-0x7F */ + + 0xCD, 0xF9, 0xD5, 0xF7, 0xE1, 0xDE, 0x8F, 0xB8, /* 0x80-0x83 */ + 0xBE, 0xB6, 0xB4, 0xFD, 0x8F, 0xB9, 0xE1, 0xDF, /* 0x84-0x87 */ + 0xBA, 0xDC, 0xE1, 0xE0, 0xBB, 0xB2, 0xC2, 0xC9, /* 0x88-0x8B */ + 0xE1, 0xE1, 0x8F, 0xBA, 0x8F, 0xBB, 0x8F, 0xBC, /* 0x8C-0x8F */ + 0xD0, 0xEC, 0x8F, 0xBD, 0xCD, 0xBD, 0x8F, 0xBE, /* 0x90-0x93 */ + 0x8F, 0xBF, 0xE1, 0xE2, 0x8F, 0xC0, 0xB5, 0xC3, /* 0x94-0x97 */ + 0xC5, 0xC7, 0xE1, 0xE3, 0x8F, 0xC1, 0x8F, 0xC2, /* 0x98-0x9B */ + 0xE1, 0xE4, 0x8F, 0xC3, 0x8F, 0xC4, 0x8F, 0xC5, /* 0x9C-0x9F */ + 0x8F, 0xC6, 0xD3, 0xF9, 0x8F, 0xC7, 0x8F, 0xC8, /* 0xA0-0xA3 */ + 0x8F, 0xC9, 0x8F, 0xCA, 0x8F, 0xCB, 0x8F, 0xCC, /* 0xA4-0xA7 */ + 0xE1, 0xE5, 0x8F, 0xCD, 0xD1, 0xAD, 0x8F, 0xCE, /* 0xA8-0xAB */ + 0x8F, 0xCF, 0xE1, 0xE6, 0xCE, 0xA2, 0x8F, 0xD0, /* 0xAC-0xAF */ + 0x8F, 0xD1, 0x8F, 0xD2, 0x8F, 0xD3, 0x8F, 0xD4, /* 0xB0-0xB3 */ + 0x8F, 0xD5, 0xE1, 0xE7, 0x8F, 0xD6, 0xB5, 0xC2, /* 0xB4-0xB7 */ + 0x8F, 0xD7, 0x8F, 0xD8, 0x8F, 0xD9, 0x8F, 0xDA, /* 0xB8-0xBB */ + 0xE1, 0xE8, 0xBB, 0xD5, 0x8F, 0xDB, 0x8F, 0xDC, /* 0xBC-0xBF */ + 0x8F, 0xDD, 0x8F, 0xDE, 0x8F, 0xDF, 0xD0, 0xC4, /* 0xC0-0xC3 */ + 0xE2, 0xE0, 0xB1, 0xD8, 0xD2, 0xE4, 0x8F, 0xE0, /* 0xC4-0xC7 */ + 0x8F, 0xE1, 0xE2, 0xE1, 0x8F, 0xE2, 0x8F, 0xE3, /* 0xC8-0xCB */ + 0xBC, 0xC9, 0xC8, 0xCC, 0x8F, 0xE4, 0xE2, 0xE3, /* 0xCC-0xCF */ + 0xEC, 0xFE, 0xEC, 0xFD, 0xDF, 0xAF, 0x8F, 0xE5, /* 0xD0-0xD3 */ + 0x8F, 0xE6, 0x8F, 0xE7, 0xE2, 0xE2, 0xD6, 0xBE, /* 0xD4-0xD7 */ + 0xCD, 0xFC, 0xC3, 0xA6, 0x8F, 0xE8, 0x8F, 0xE9, /* 0xD8-0xDB */ + 0x8F, 0xEA, 0xE3, 0xC3, 0x8F, 0xEB, 0x8F, 0xEC, /* 0xDC-0xDF */ + 0xD6, 0xD2, 0xE2, 0xE7, 0x8F, 0xED, 0x8F, 0xEE, /* 0xE0-0xE3 */ + 0xE2, 0xE8, 0x8F, 0xEF, 0x8F, 0xF0, 0xD3, 0xC7, /* 0xE4-0xE7 */ + 0x8F, 0xF1, 0x8F, 0xF2, 0xE2, 0xEC, 0xBF, 0xEC, /* 0xE8-0xEB */ + 0x8F, 0xF3, 0xE2, 0xED, 0xE2, 0xE5, 0x8F, 0xF4, /* 0xEC-0xEF */ + 0x8F, 0xF5, 0xB3, 0xC0, 0x8F, 0xF6, 0x8F, 0xF7, /* 0xF0-0xF3 */ + 0x8F, 0xF8, 0xC4, 0xEE, 0x8F, 0xF9, 0x8F, 0xFA, /* 0xF4-0xF7 */ + 0xE2, 0xEE, 0x8F, 0xFB, 0x8F, 0xFC, 0xD0, 0xC3, /* 0xF8-0xFB */ + 0x8F, 0xFD, 0xBA, 0xF6, 0xE2, 0xE9, 0xB7, 0xDE, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_60[512] = { + 0xBB, 0xB3, 0xCC, 0xAC, 0xCB, 0xCB, 0xE2, 0xE4, /* 0x00-0x03 */ + 0xE2, 0xE6, 0xE2, 0xEA, 0xE2, 0xEB, 0x8F, 0xFE, /* 0x04-0x07 */ + 0x90, 0x40, 0x90, 0x41, 0xE2, 0xF7, 0x90, 0x42, /* 0x08-0x0B */ + 0x90, 0x43, 0xE2, 0xF4, 0xD4, 0xF5, 0xE2, 0xF3, /* 0x0C-0x0F */ + 0x90, 0x44, 0x90, 0x45, 0xC5, 0xAD, 0x90, 0x46, /* 0x10-0x13 */ + 0xD5, 0xFA, 0xC5, 0xC2, 0xB2, 0xC0, 0x90, 0x47, /* 0x14-0x17 */ + 0x90, 0x48, 0xE2, 0xEF, 0x90, 0x49, 0xE2, 0xF2, /* 0x18-0x1B */ + 0xC1, 0xAF, 0xCB, 0xBC, 0x90, 0x4A, 0x90, 0x4B, /* 0x1C-0x1F */ + 0xB5, 0xA1, 0xE2, 0xF9, 0x90, 0x4C, 0x90, 0x4D, /* 0x20-0x23 */ + 0x90, 0x4E, 0xBC, 0xB1, 0xE2, 0xF1, 0xD0, 0xD4, /* 0x24-0x27 */ + 0xD4, 0xB9, 0xE2, 0xF5, 0xB9, 0xD6, 0xE2, 0xF6, /* 0x28-0x2B */ + 0x90, 0x4F, 0x90, 0x50, 0x90, 0x51, 0xC7, 0xD3, /* 0x2C-0x2F */ + 0x90, 0x52, 0x90, 0x53, 0x90, 0x54, 0x90, 0x55, /* 0x30-0x33 */ + 0x90, 0x56, 0xE2, 0xF0, 0x90, 0x57, 0x90, 0x58, /* 0x34-0x37 */ + 0x90, 0x59, 0x90, 0x5A, 0x90, 0x5B, 0xD7, 0xDC, /* 0x38-0x3B */ + 0xED, 0xA1, 0x90, 0x5C, 0x90, 0x5D, 0xE2, 0xF8, /* 0x3C-0x3F */ + 0x90, 0x5E, 0xED, 0xA5, 0xE2, 0xFE, 0xCA, 0xD1, /* 0x40-0x43 */ + 0x90, 0x5F, 0x90, 0x60, 0x90, 0x61, 0x90, 0x62, /* 0x44-0x47 */ + 0x90, 0x63, 0x90, 0x64, 0x90, 0x65, 0xC1, 0xB5, /* 0x48-0x4B */ + 0x90, 0x66, 0xBB, 0xD0, 0x90, 0x67, 0x90, 0x68, /* 0x4C-0x4F */ + 0xBF, 0xD6, 0x90, 0x69, 0xBA, 0xE3, 0x90, 0x6A, /* 0x50-0x53 */ + 0x90, 0x6B, 0xCB, 0xA1, 0x90, 0x6C, 0x90, 0x6D, /* 0x54-0x57 */ + 0x90, 0x6E, 0xED, 0xA6, 0xED, 0xA3, 0x90, 0x6F, /* 0x58-0x5B */ + 0x90, 0x70, 0xED, 0xA2, 0x90, 0x71, 0x90, 0x72, /* 0x5C-0x5F */ + 0x90, 0x73, 0x90, 0x74, 0xBB, 0xD6, 0xED, 0xA7, /* 0x60-0x63 */ + 0xD0, 0xF4, 0x90, 0x75, 0x90, 0x76, 0xED, 0xA4, /* 0x64-0x67 */ + 0xBA, 0xDE, 0xB6, 0xF7, 0xE3, 0xA1, 0xB6, 0xB2, /* 0x68-0x6B */ + 0xCC, 0xF1, 0xB9, 0xA7, 0x90, 0x77, 0xCF, 0xA2, /* 0x6C-0x6F */ + 0xC7, 0xA1, 0x90, 0x78, 0x90, 0x79, 0xBF, 0xD2, /* 0x70-0x73 */ + 0x90, 0x7A, 0x90, 0x7B, 0xB6, 0xF1, 0x90, 0x7C, /* 0x74-0x77 */ + 0xE2, 0xFA, 0xE2, 0xFB, 0xE2, 0xFD, 0xE2, 0xFC, /* 0x78-0x7B */ + 0xC4, 0xD5, 0xE3, 0xA2, 0x90, 0x7D, 0xD3, 0xC1, /* 0x7C-0x7F */ + + 0x90, 0x7E, 0x90, 0x80, 0x90, 0x81, 0xE3, 0xA7, /* 0x80-0x83 */ + 0xC7, 0xC4, 0x90, 0x82, 0x90, 0x83, 0x90, 0x84, /* 0x84-0x87 */ + 0x90, 0x85, 0xCF, 0xA4, 0x90, 0x86, 0x90, 0x87, /* 0x88-0x8B */ + 0xE3, 0xA9, 0xBA, 0xB7, 0x90, 0x88, 0x90, 0x89, /* 0x8C-0x8F */ + 0x90, 0x8A, 0x90, 0x8B, 0xE3, 0xA8, 0x90, 0x8C, /* 0x90-0x93 */ + 0xBB, 0xDA, 0x90, 0x8D, 0xE3, 0xA3, 0x90, 0x8E, /* 0x94-0x97 */ + 0x90, 0x8F, 0x90, 0x90, 0xE3, 0xA4, 0xE3, 0xAA, /* 0x98-0x9B */ + 0x90, 0x91, 0xE3, 0xA6, 0x90, 0x92, 0xCE, 0xF2, /* 0x9C-0x9F */ + 0xD3, 0xC6, 0x90, 0x93, 0x90, 0x94, 0xBB, 0xBC, /* 0xA0-0xA3 */ + 0x90, 0x95, 0x90, 0x96, 0xD4, 0xC3, 0x90, 0x97, /* 0xA4-0xA7 */ + 0xC4, 0xFA, 0x90, 0x98, 0x90, 0x99, 0xED, 0xA8, /* 0xA8-0xAB */ + 0xD0, 0xFC, 0xE3, 0xA5, 0x90, 0x9A, 0xC3, 0xF5, /* 0xAC-0xAF */ + 0x90, 0x9B, 0xE3, 0xAD, 0xB1, 0xAF, 0x90, 0x9C, /* 0xB0-0xB3 */ + 0xE3, 0xB2, 0x90, 0x9D, 0x90, 0x9E, 0x90, 0x9F, /* 0xB4-0xB7 */ + 0xBC, 0xC2, 0x90, 0xA0, 0x90, 0xA1, 0xE3, 0xAC, /* 0xB8-0xBB */ + 0xB5, 0xBF, 0x90, 0xA2, 0x90, 0xA3, 0x90, 0xA4, /* 0xBC-0xBF */ + 0x90, 0xA5, 0x90, 0xA6, 0x90, 0xA7, 0x90, 0xA8, /* 0xC0-0xC3 */ + 0x90, 0xA9, 0xC7, 0xE9, 0xE3, 0xB0, 0x90, 0xAA, /* 0xC4-0xC7 */ + 0x90, 0xAB, 0x90, 0xAC, 0xBE, 0xAA, 0xCD, 0xEF, /* 0xC8-0xCB */ + 0x90, 0xAD, 0x90, 0xAE, 0x90, 0xAF, 0x90, 0xB0, /* 0xCC-0xCF */ + 0x90, 0xB1, 0xBB, 0xF3, 0x90, 0xB2, 0x90, 0xB3, /* 0xD0-0xD3 */ + 0x90, 0xB4, 0xCC, 0xE8, 0x90, 0xB5, 0x90, 0xB6, /* 0xD4-0xD7 */ + 0xE3, 0xAF, 0x90, 0xB7, 0xE3, 0xB1, 0x90, 0xB8, /* 0xD8-0xDB */ + 0xCF, 0xA7, 0xE3, 0xAE, 0x90, 0xB9, 0xCE, 0xA9, /* 0xDC-0xDF */ + 0xBB, 0xDD, 0x90, 0xBA, 0x90, 0xBB, 0x90, 0xBC, /* 0xE0-0xE3 */ + 0x90, 0xBD, 0x90, 0xBE, 0xB5, 0xEB, 0xBE, 0xE5, /* 0xE4-0xE7 */ + 0xB2, 0xD2, 0xB3, 0xCD, 0x90, 0xBF, 0xB1, 0xB9, /* 0xE8-0xEB */ + 0xE3, 0xAB, 0xB2, 0xD1, 0xB5, 0xAC, 0xB9, 0xDF, /* 0xEC-0xEF */ + 0xB6, 0xE8, 0x90, 0xC0, 0x90, 0xC1, 0xCF, 0xEB, /* 0xF0-0xF3 */ + 0xE3, 0xB7, 0x90, 0xC2, 0xBB, 0xCC, 0x90, 0xC3, /* 0xF4-0xF7 */ + 0x90, 0xC4, 0xC8, 0xC7, 0xD0, 0xCA, 0x90, 0xC5, /* 0xF8-0xFB */ + 0x90, 0xC6, 0x90, 0xC7, 0x90, 0xC8, 0x90, 0xC9, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_61[512] = { + 0xE3, 0xB8, 0xB3, 0xEE, 0x90, 0xCA, 0x90, 0xCB, /* 0x00-0x03 */ + 0x90, 0xCC, 0x90, 0xCD, 0xED, 0xA9, 0x90, 0xCE, /* 0x04-0x07 */ + 0xD3, 0xFA, 0xD3, 0xE4, 0x90, 0xCF, 0x90, 0xD0, /* 0x08-0x0B */ + 0x90, 0xD1, 0xED, 0xAA, 0xE3, 0xB9, 0xD2, 0xE2, /* 0x0C-0x0F */ + 0x90, 0xD2, 0x90, 0xD3, 0x90, 0xD4, 0x90, 0xD5, /* 0x10-0x13 */ + 0x90, 0xD6, 0xE3, 0xB5, 0x90, 0xD7, 0x90, 0xD8, /* 0x14-0x17 */ + 0x90, 0xD9, 0x90, 0xDA, 0xD3, 0xDE, 0x90, 0xDB, /* 0x18-0x1B */ + 0x90, 0xDC, 0x90, 0xDD, 0x90, 0xDE, 0xB8, 0xD0, /* 0x1C-0x1F */ + 0xE3, 0xB3, 0x90, 0xDF, 0x90, 0xE0, 0xE3, 0xB6, /* 0x20-0x23 */ + 0xB7, 0xDF, 0x90, 0xE1, 0xE3, 0xB4, 0xC0, 0xA2, /* 0x24-0x27 */ + 0x90, 0xE2, 0x90, 0xE3, 0x90, 0xE4, 0xE3, 0xBA, /* 0x28-0x2B */ + 0x90, 0xE5, 0x90, 0xE6, 0x90, 0xE7, 0x90, 0xE8, /* 0x2C-0x2F */ + 0x90, 0xE9, 0x90, 0xEA, 0x90, 0xEB, 0x90, 0xEC, /* 0x30-0x33 */ + 0x90, 0xED, 0x90, 0xEE, 0x90, 0xEF, 0x90, 0xF0, /* 0x34-0x37 */ + 0x90, 0xF1, 0x90, 0xF2, 0x90, 0xF3, 0x90, 0xF4, /* 0x38-0x3B */ + 0x90, 0xF5, 0x90, 0xF6, 0x90, 0xF7, 0xD4, 0xB8, /* 0x3C-0x3F */ + 0x90, 0xF8, 0x90, 0xF9, 0x90, 0xFA, 0x90, 0xFB, /* 0x40-0x43 */ + 0x90, 0xFC, 0x90, 0xFD, 0x90, 0xFE, 0x91, 0x40, /* 0x44-0x47 */ + 0xB4, 0xC8, 0x91, 0x41, 0xE3, 0xBB, 0x91, 0x42, /* 0x48-0x4B */ + 0xBB, 0xC5, 0x91, 0x43, 0xC9, 0xF7, 0x91, 0x44, /* 0x4C-0x4F */ + 0x91, 0x45, 0xC9, 0xE5, 0x91, 0x46, 0x91, 0x47, /* 0x50-0x53 */ + 0x91, 0x48, 0xC4, 0xBD, 0x91, 0x49, 0x91, 0x4A, /* 0x54-0x57 */ + 0x91, 0x4B, 0x91, 0x4C, 0x91, 0x4D, 0x91, 0x4E, /* 0x58-0x5B */ + 0x91, 0x4F, 0xED, 0xAB, 0x91, 0x50, 0x91, 0x51, /* 0x5C-0x5F */ + 0x91, 0x52, 0x91, 0x53, 0xC2, 0xFD, 0x91, 0x54, /* 0x60-0x63 */ + 0x91, 0x55, 0x91, 0x56, 0x91, 0x57, 0xBB, 0xDB, /* 0x64-0x67 */ + 0xBF, 0xAE, 0x91, 0x58, 0x91, 0x59, 0x91, 0x5A, /* 0x68-0x6B */ + 0x91, 0x5B, 0x91, 0x5C, 0x91, 0x5D, 0x91, 0x5E, /* 0x6C-0x6F */ + 0xCE, 0xBF, 0x91, 0x5F, 0x91, 0x60, 0x91, 0x61, /* 0x70-0x73 */ + 0x91, 0x62, 0xE3, 0xBC, 0x91, 0x63, 0xBF, 0xB6, /* 0x74-0x77 */ + 0x91, 0x64, 0x91, 0x65, 0x91, 0x66, 0x91, 0x67, /* 0x78-0x7B */ + 0x91, 0x68, 0x91, 0x69, 0x91, 0x6A, 0x91, 0x6B, /* 0x7C-0x7F */ + + 0x91, 0x6C, 0x91, 0x6D, 0x91, 0x6E, 0x91, 0x6F, /* 0x80-0x83 */ + 0x91, 0x70, 0x91, 0x71, 0x91, 0x72, 0x91, 0x73, /* 0x84-0x87 */ + 0x91, 0x74, 0x91, 0x75, 0x91, 0x76, 0xB1, 0xEF, /* 0x88-0x8B */ + 0x91, 0x77, 0x91, 0x78, 0xD4, 0xF7, 0x91, 0x79, /* 0x8C-0x8F */ + 0x91, 0x7A, 0x91, 0x7B, 0x91, 0x7C, 0x91, 0x7D, /* 0x90-0x93 */ + 0xE3, 0xBE, 0x91, 0x7E, 0x91, 0x80, 0x91, 0x81, /* 0x94-0x97 */ + 0x91, 0x82, 0x91, 0x83, 0x91, 0x84, 0x91, 0x85, /* 0x98-0x9B */ + 0x91, 0x86, 0xED, 0xAD, 0x91, 0x87, 0x91, 0x88, /* 0x9C-0x9F */ + 0x91, 0x89, 0x91, 0x8A, 0x91, 0x8B, 0x91, 0x8C, /* 0xA0-0xA3 */ + 0x91, 0x8D, 0x91, 0x8E, 0x91, 0x8F, 0xE3, 0xBF, /* 0xA4-0xA7 */ + 0xBA, 0xA9, 0xED, 0xAC, 0x91, 0x90, 0x91, 0x91, /* 0xA8-0xAB */ + 0xE3, 0xBD, 0x91, 0x92, 0x91, 0x93, 0x91, 0x94, /* 0xAC-0xAF */ + 0x91, 0x95, 0x91, 0x96, 0x91, 0x97, 0x91, 0x98, /* 0xB0-0xB3 */ + 0x91, 0x99, 0x91, 0x9A, 0x91, 0x9B, 0xE3, 0xC0, /* 0xB4-0xB7 */ + 0x91, 0x9C, 0x91, 0x9D, 0x91, 0x9E, 0x91, 0x9F, /* 0xB8-0xBB */ + 0x91, 0xA0, 0x91, 0xA1, 0xBA, 0xB6, 0x91, 0xA2, /* 0xBC-0xBF */ + 0x91, 0xA3, 0x91, 0xA4, 0xB6, 0xAE, 0x91, 0xA5, /* 0xC0-0xC3 */ + 0x91, 0xA6, 0x91, 0xA7, 0x91, 0xA8, 0x91, 0xA9, /* 0xC4-0xC7 */ + 0xD0, 0xB8, 0x91, 0xAA, 0xB0, 0xC3, 0xED, 0xAE, /* 0xC8-0xCB */ + 0x91, 0xAB, 0x91, 0xAC, 0x91, 0xAD, 0x91, 0xAE, /* 0xCC-0xCF */ + 0x91, 0xAF, 0xED, 0xAF, 0xC0, 0xC1, 0x91, 0xB0, /* 0xD0-0xD3 */ + 0xE3, 0xC1, 0x91, 0xB1, 0x91, 0xB2, 0x91, 0xB3, /* 0xD4-0xD7 */ + 0x91, 0xB4, 0x91, 0xB5, 0x91, 0xB6, 0x91, 0xB7, /* 0xD8-0xDB */ + 0x91, 0xB8, 0x91, 0xB9, 0x91, 0xBA, 0x91, 0xBB, /* 0xDC-0xDF */ + 0x91, 0xBC, 0x91, 0xBD, 0x91, 0xBE, 0x91, 0xBF, /* 0xE0-0xE3 */ + 0x91, 0xC0, 0x91, 0xC1, 0xC5, 0xB3, 0x91, 0xC2, /* 0xE4-0xE7 */ + 0x91, 0xC3, 0x91, 0xC4, 0x91, 0xC5, 0x91, 0xC6, /* 0xE8-0xEB */ + 0x91, 0xC7, 0x91, 0xC8, 0x91, 0xC9, 0x91, 0xCA, /* 0xEC-0xEF */ + 0x91, 0xCB, 0x91, 0xCC, 0x91, 0xCD, 0x91, 0xCE, /* 0xF0-0xF3 */ + 0x91, 0xCF, 0xE3, 0xC2, 0x91, 0xD0, 0x91, 0xD1, /* 0xF4-0xF7 */ + 0x91, 0xD2, 0x91, 0xD3, 0x91, 0xD4, 0x91, 0xD5, /* 0xF8-0xFB */ + 0x91, 0xD6, 0x91, 0xD7, 0x91, 0xD8, 0xDC, 0xB2, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_62[512] = { + 0x91, 0xD9, 0x91, 0xDA, 0x91, 0xDB, 0x91, 0xDC, /* 0x00-0x03 */ + 0x91, 0xDD, 0x91, 0xDE, 0xED, 0xB0, 0x91, 0xDF, /* 0x04-0x07 */ + 0xB8, 0xEA, 0x91, 0xE0, 0xCE, 0xEC, 0xEA, 0xA7, /* 0x08-0x0B */ + 0xD0, 0xE7, 0xCA, 0xF9, 0xC8, 0xD6, 0xCF, 0xB7, /* 0x0C-0x0F */ + 0xB3, 0xC9, 0xCE, 0xD2, 0xBD, 0xE4, 0x91, 0xE1, /* 0x10-0x13 */ + 0x91, 0xE2, 0xE3, 0xDE, 0xBB, 0xF2, 0xEA, 0xA8, /* 0x14-0x17 */ + 0xD5, 0xBD, 0x91, 0xE3, 0xC6, 0xDD, 0xEA, 0xA9, /* 0x18-0x1B */ + 0x91, 0xE4, 0x91, 0xE5, 0x91, 0xE6, 0xEA, 0xAA, /* 0x1C-0x1F */ + 0x91, 0xE7, 0xEA, 0xAC, 0xEA, 0xAB, 0x91, 0xE8, /* 0x20-0x23 */ + 0xEA, 0xAE, 0xEA, 0xAD, 0x91, 0xE9, 0x91, 0xEA, /* 0x24-0x27 */ + 0x91, 0xEB, 0x91, 0xEC, 0xBD, 0xD8, 0x91, 0xED, /* 0x28-0x2B */ + 0xEA, 0xAF, 0x91, 0xEE, 0xC2, 0xBE, 0x91, 0xEF, /* 0x2C-0x2F */ + 0x91, 0xF0, 0x91, 0xF1, 0x91, 0xF2, 0xB4, 0xC1, /* 0x30-0x33 */ + 0xB4, 0xF7, 0x91, 0xF3, 0x91, 0xF4, 0xBB, 0xA7, /* 0x34-0x37 */ + 0x91, 0xF5, 0x91, 0xF6, 0x91, 0xF7, 0x91, 0xF8, /* 0x38-0x3B */ + 0x91, 0xF9, 0xEC, 0xE6, 0xEC, 0xE5, 0xB7, 0xBF, /* 0x3C-0x3F */ + 0xCB, 0xF9, 0xB1, 0xE2, 0x91, 0xFA, 0xEC, 0xE7, /* 0x40-0x43 */ + 0x91, 0xFB, 0x91, 0xFC, 0x91, 0xFD, 0xC9, 0xC8, /* 0x44-0x47 */ + 0xEC, 0xE8, 0xEC, 0xE9, 0x91, 0xFE, 0xCA, 0xD6, /* 0x48-0x4B */ + 0xDE, 0xD0, 0xB2, 0xC5, 0xD4, 0xFA, 0x92, 0x40, /* 0x4C-0x4F */ + 0x92, 0x41, 0xC6, 0xCB, 0xB0, 0xC7, 0xB4, 0xF2, /* 0x50-0x53 */ + 0xC8, 0xD3, 0x92, 0x42, 0x92, 0x43, 0x92, 0x44, /* 0x54-0x57 */ + 0xCD, 0xD0, 0x92, 0x45, 0x92, 0x46, 0xBF, 0xB8, /* 0x58-0x5B */ + 0x92, 0x47, 0x92, 0x48, 0x92, 0x49, 0x92, 0x4A, /* 0x5C-0x5F */ + 0x92, 0x4B, 0x92, 0x4C, 0x92, 0x4D, 0xBF, 0xDB, /* 0x60-0x63 */ + 0x92, 0x4E, 0x92, 0x4F, 0xC7, 0xA4, 0xD6, 0xB4, /* 0x64-0x67 */ + 0x92, 0x50, 0xC0, 0xA9, 0xDE, 0xD1, 0xC9, 0xA8, /* 0x68-0x6B */ + 0xD1, 0xEF, 0xC5, 0xA4, 0xB0, 0xE7, 0xB3, 0xB6, /* 0x6C-0x6F */ + 0xC8, 0xC5, 0x92, 0x51, 0x92, 0x52, 0xB0, 0xE2, /* 0x70-0x73 */ + 0x92, 0x53, 0x92, 0x54, 0xB7, 0xF6, 0x92, 0x55, /* 0x74-0x77 */ + 0x92, 0x56, 0xC5, 0xFA, 0x92, 0x57, 0x92, 0x58, /* 0x78-0x7B */ + 0xB6, 0xF3, 0x92, 0x59, 0xD5, 0xD2, 0xB3, 0xD0, /* 0x7C-0x7F */ + + 0xBC, 0xBC, 0x92, 0x5A, 0x92, 0x5B, 0x92, 0x5C, /* 0x80-0x83 */ + 0xB3, 0xAD, 0x92, 0x5D, 0x92, 0x5E, 0x92, 0x5F, /* 0x84-0x87 */ + 0x92, 0x60, 0xBE, 0xF1, 0xB0, 0xD1, 0x92, 0x61, /* 0x88-0x8B */ + 0x92, 0x62, 0x92, 0x63, 0x92, 0x64, 0x92, 0x65, /* 0x8C-0x8F */ + 0x92, 0x66, 0xD2, 0xD6, 0xCA, 0xE3, 0xD7, 0xA5, /* 0x90-0x93 */ + 0x92, 0x67, 0xCD, 0xB6, 0xB6, 0xB6, 0xBF, 0xB9, /* 0x94-0x97 */ + 0xD5, 0xDB, 0x92, 0x68, 0xB8, 0xA7, 0xC5, 0xD7, /* 0x98-0x9B */ + 0x92, 0x69, 0x92, 0x6A, 0x92, 0x6B, 0xDE, 0xD2, /* 0x9C-0x9F */ + 0xBF, 0xD9, 0xC2, 0xD5, 0xC7, 0xC0, 0x92, 0x6C, /* 0xA0-0xA3 */ + 0xBB, 0xA4, 0xB1, 0xA8, 0x92, 0x6D, 0x92, 0x6E, /* 0xA4-0xA7 */ + 0xC5, 0xEA, 0x92, 0x6F, 0x92, 0x70, 0xC5, 0xFB, /* 0xA8-0xAB */ + 0xCC, 0xA7, 0x92, 0x71, 0x92, 0x72, 0x92, 0x73, /* 0xAC-0xAF */ + 0x92, 0x74, 0xB1, 0xA7, 0x92, 0x75, 0x92, 0x76, /* 0xB0-0xB3 */ + 0x92, 0x77, 0xB5, 0xD6, 0x92, 0x78, 0x92, 0x79, /* 0xB4-0xB7 */ + 0x92, 0x7A, 0xC4, 0xA8, 0x92, 0x7B, 0xDE, 0xD3, /* 0xB8-0xBB */ + 0xD1, 0xBA, 0xB3, 0xE9, 0x92, 0x7C, 0xC3, 0xF2, /* 0xBC-0xBF */ + 0x92, 0x7D, 0x92, 0x7E, 0xB7, 0xF7, 0x92, 0x80, /* 0xC0-0xC3 */ + 0xD6, 0xF4, 0xB5, 0xA3, 0xB2, 0xF0, 0xC4, 0xB4, /* 0xC4-0xC7 */ + 0xC4, 0xE9, 0xC0, 0xAD, 0xDE, 0xD4, 0x92, 0x81, /* 0xC8-0xCB */ + 0xB0, 0xE8, 0xC5, 0xC4, 0xC1, 0xE0, 0x92, 0x82, /* 0xCC-0xCF */ + 0xB9, 0xD5, 0x92, 0x83, 0xBE, 0xDC, 0xCD, 0xD8, /* 0xD0-0xD3 */ + 0xB0, 0xCE, 0x92, 0x84, 0xCD, 0xCF, 0xDE, 0xD6, /* 0xD4-0xD7 */ + 0xBE, 0xD0, 0xD7, 0xBE, 0xDE, 0xD5, 0xD5, 0xD0, /* 0xD8-0xDB */ + 0xB0, 0xDD, 0x92, 0x85, 0x92, 0x86, 0xC4, 0xE2, /* 0xDC-0xDF */ + 0x92, 0x87, 0x92, 0x88, 0xC2, 0xA3, 0xBC, 0xF0, /* 0xE0-0xE3 */ + 0x92, 0x89, 0xD3, 0xB5, 0xC0, 0xB9, 0xC5, 0xA1, /* 0xE4-0xE7 */ + 0xB2, 0xA6, 0xD4, 0xF1, 0x92, 0x8A, 0x92, 0x8B, /* 0xE8-0xEB */ + 0xC0, 0xA8, 0xCA, 0xC3, 0xDE, 0xD7, 0xD5, 0xFC, /* 0xEC-0xEF */ + 0x92, 0x8C, 0xB9, 0xB0, 0x92, 0x8D, 0xC8, 0xAD, /* 0xF0-0xF3 */ + 0xCB, 0xA9, 0x92, 0x8E, 0xDE, 0xD9, 0xBF, 0xBD, /* 0xF4-0xF7 */ + 0x92, 0x8F, 0x92, 0x90, 0x92, 0x91, 0x92, 0x92, /* 0xF8-0xFB */ + 0xC6, 0xB4, 0xD7, 0xA7, 0xCA, 0xB0, 0xC4, 0xC3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_63[512] = { + 0x92, 0x93, 0xB3, 0xD6, 0xB9, 0xD2, 0x92, 0x94, /* 0x00-0x03 */ + 0x92, 0x95, 0x92, 0x96, 0x92, 0x97, 0xD6, 0xB8, /* 0x04-0x07 */ + 0xEA, 0xFC, 0xB0, 0xB4, 0x92, 0x98, 0x92, 0x99, /* 0x08-0x0B */ + 0x92, 0x9A, 0x92, 0x9B, 0xBF, 0xE6, 0x92, 0x9C, /* 0x0C-0x0F */ + 0x92, 0x9D, 0xCC, 0xF4, 0x92, 0x9E, 0x92, 0x9F, /* 0x10-0x13 */ + 0x92, 0xA0, 0x92, 0xA1, 0xCD, 0xDA, 0x92, 0xA2, /* 0x14-0x17 */ + 0x92, 0xA3, 0x92, 0xA4, 0xD6, 0xBF, 0xC2, 0xCE, /* 0x18-0x1B */ + 0x92, 0xA5, 0xCE, 0xCE, 0xCC, 0xA2, 0xD0, 0xAE, /* 0x1C-0x1F */ + 0xC4, 0xD3, 0xB5, 0xB2, 0xDE, 0xD8, 0xD5, 0xF5, /* 0x20-0x23 */ + 0xBC, 0xB7, 0xBB, 0xD3, 0x92, 0xA6, 0x92, 0xA7, /* 0x24-0x27 */ + 0xB0, 0xA4, 0x92, 0xA8, 0xC5, 0xB2, 0xB4, 0xEC, /* 0x28-0x2B */ + 0x92, 0xA9, 0x92, 0xAA, 0x92, 0xAB, 0xD5, 0xF1, /* 0x2C-0x2F */ + 0x92, 0xAC, 0x92, 0xAD, 0xEA, 0xFD, 0x92, 0xAE, /* 0x30-0x33 */ + 0x92, 0xAF, 0x92, 0xB0, 0x92, 0xB1, 0x92, 0xB2, /* 0x34-0x37 */ + 0x92, 0xB3, 0xDE, 0xDA, 0xCD, 0xA6, 0x92, 0xB4, /* 0x38-0x3B */ + 0x92, 0xB5, 0xCD, 0xEC, 0x92, 0xB6, 0x92, 0xB7, /* 0x3C-0x3F */ + 0x92, 0xB8, 0x92, 0xB9, 0xCE, 0xE6, 0xDE, 0xDC, /* 0x40-0x43 */ + 0x92, 0xBA, 0xCD, 0xB1, 0xC0, 0xA6, 0x92, 0xBB, /* 0x44-0x47 */ + 0x92, 0xBC, 0xD7, 0xBD, 0x92, 0xBD, 0xDE, 0xDB, /* 0x48-0x4B */ + 0xB0, 0xC6, 0xBA, 0xB4, 0xC9, 0xD3, 0xC4, 0xF3, /* 0x4C-0x4F */ + 0xBE, 0xE8, 0x92, 0xBE, 0x92, 0xBF, 0x92, 0xC0, /* 0x50-0x53 */ + 0x92, 0xC1, 0xB2, 0xB6, 0x92, 0xC2, 0x92, 0xC3, /* 0x54-0x57 */ + 0x92, 0xC4, 0x92, 0xC5, 0x92, 0xC6, 0x92, 0xC7, /* 0x58-0x5B */ + 0x92, 0xC8, 0x92, 0xC9, 0xC0, 0xCC, 0xCB, 0xF0, /* 0x5C-0x5F */ + 0x92, 0xCA, 0xBC, 0xF1, 0xBB, 0xBB, 0xB5, 0xB7, /* 0x60-0x63 */ + 0x92, 0xCB, 0x92, 0xCC, 0x92, 0xCD, 0xC5, 0xF5, /* 0x64-0x67 */ + 0x92, 0xCE, 0xDE, 0xE6, 0x92, 0xCF, 0x92, 0xD0, /* 0x68-0x6B */ + 0x92, 0xD1, 0xDE, 0xE3, 0xBE, 0xDD, 0x92, 0xD2, /* 0x6C-0x6F */ + 0x92, 0xD3, 0xDE, 0xDF, 0x92, 0xD4, 0x92, 0xD5, /* 0x70-0x73 */ + 0x92, 0xD6, 0x92, 0xD7, 0xB4, 0xB7, 0xBD, 0xDD, /* 0x74-0x77 */ + 0x92, 0xD8, 0x92, 0xD9, 0xDE, 0xE0, 0xC4, 0xED, /* 0x78-0x7B */ + 0x92, 0xDA, 0x92, 0xDB, 0x92, 0xDC, 0x92, 0xDD, /* 0x7C-0x7F */ + + 0xCF, 0xC6, 0x92, 0xDE, 0xB5, 0xE0, 0x92, 0xDF, /* 0x80-0x83 */ + 0x92, 0xE0, 0x92, 0xE1, 0x92, 0xE2, 0xB6, 0xDE, /* 0x84-0x87 */ + 0xCA, 0xDA, 0xB5, 0xF4, 0xDE, 0xE5, 0x92, 0xE3, /* 0x88-0x8B */ + 0xD5, 0xC6, 0x92, 0xE4, 0xDE, 0xE1, 0xCC, 0xCD, /* 0x8C-0x8F */ + 0xC6, 0xFE, 0x92, 0xE5, 0xC5, 0xC5, 0x92, 0xE6, /* 0x90-0x93 */ + 0x92, 0xE7, 0x92, 0xE8, 0xD2, 0xB4, 0x92, 0xE9, /* 0x94-0x97 */ + 0xBE, 0xF2, 0x92, 0xEA, 0x92, 0xEB, 0x92, 0xEC, /* 0x98-0x9B */ + 0x92, 0xED, 0x92, 0xEE, 0x92, 0xEF, 0x92, 0xF0, /* 0x9C-0x9F */ + 0xC2, 0xD3, 0x92, 0xF1, 0xCC, 0xBD, 0xB3, 0xB8, /* 0xA0-0xA3 */ + 0x92, 0xF2, 0xBD, 0xD3, 0x92, 0xF3, 0xBF, 0xD8, /* 0xA4-0xA7 */ + 0xCD, 0xC6, 0xD1, 0xDA, 0xB4, 0xEB, 0x92, 0xF4, /* 0xA8-0xAB */ + 0xDE, 0xE4, 0xDE, 0xDD, 0xDE, 0xE7, 0x92, 0xF5, /* 0xAC-0xAF */ + 0xEA, 0xFE, 0x92, 0xF6, 0x92, 0xF7, 0xC2, 0xB0, /* 0xB0-0xB3 */ + 0xDE, 0xE2, 0x92, 0xF8, 0x92, 0xF9, 0xD6, 0xC0, /* 0xB4-0xB7 */ + 0xB5, 0xA7, 0x92, 0xFA, 0xB2, 0xF4, 0x92, 0xFB, /* 0xB8-0xBB */ + 0xDE, 0xE8, 0x92, 0xFC, 0xDE, 0xF2, 0x92, 0xFD, /* 0xBC-0xBF */ + 0x92, 0xFE, 0x93, 0x40, 0x93, 0x41, 0x93, 0x42, /* 0xC0-0xC3 */ + 0xDE, 0xED, 0x93, 0x43, 0xDE, 0xF1, 0x93, 0x44, /* 0xC4-0xC7 */ + 0x93, 0x45, 0xC8, 0xE0, 0x93, 0x46, 0x93, 0x47, /* 0xC8-0xCB */ + 0x93, 0x48, 0xD7, 0xE1, 0xDE, 0xEF, 0xC3, 0xE8, /* 0xCC-0xCF */ + 0xCC, 0xE1, 0x93, 0x49, 0xB2, 0xE5, 0x93, 0x4A, /* 0xD0-0xD3 */ + 0x93, 0x4B, 0x93, 0x4C, 0xD2, 0xBE, 0x93, 0x4D, /* 0xD4-0xD7 */ + 0x93, 0x4E, 0x93, 0x4F, 0x93, 0x50, 0x93, 0x51, /* 0xD8-0xDB */ + 0x93, 0x52, 0x93, 0x53, 0xDE, 0xEE, 0x93, 0x54, /* 0xDC-0xDF */ + 0xDE, 0xEB, 0xCE, 0xD5, 0x93, 0x55, 0xB4, 0xA7, /* 0xE0-0xE3 */ + 0x93, 0x56, 0x93, 0x57, 0x93, 0x58, 0x93, 0x59, /* 0xE4-0xE7 */ + 0x93, 0x5A, 0xBF, 0xAB, 0xBE, 0xBE, 0x93, 0x5B, /* 0xE8-0xEB */ + 0x93, 0x5C, 0xBD, 0xD2, 0x93, 0x5D, 0x93, 0x5E, /* 0xEC-0xEF */ + 0x93, 0x5F, 0x93, 0x60, 0xDE, 0xE9, 0x93, 0x61, /* 0xF0-0xF3 */ + 0xD4, 0xAE, 0x93, 0x62, 0xDE, 0xDE, 0x93, 0x63, /* 0xF4-0xF7 */ + 0xDE, 0xEA, 0x93, 0x64, 0x93, 0x65, 0x93, 0x66, /* 0xF8-0xFB */ + 0x93, 0x67, 0xC0, 0xBF, 0x93, 0x68, 0xDE, 0xEC, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_64[512] = { + 0xB2, 0xF3, 0xB8, 0xE9, 0xC2, 0xA7, 0x93, 0x69, /* 0x00-0x03 */ + 0x93, 0x6A, 0xBD, 0xC1, 0x93, 0x6B, 0x93, 0x6C, /* 0x04-0x07 */ + 0x93, 0x6D, 0x93, 0x6E, 0x93, 0x6F, 0xDE, 0xF5, /* 0x08-0x0B */ + 0xDE, 0xF8, 0x93, 0x70, 0x93, 0x71, 0xB2, 0xAB, /* 0x0C-0x0F */ + 0xB4, 0xA4, 0x93, 0x72, 0x93, 0x73, 0xB4, 0xEA, /* 0x10-0x13 */ + 0xC9, 0xA6, 0x93, 0x74, 0x93, 0x75, 0x93, 0x76, /* 0x14-0x17 */ + 0x93, 0x77, 0x93, 0x78, 0x93, 0x79, 0xDE, 0xF6, /* 0x18-0x1B */ + 0xCB, 0xD1, 0x93, 0x7A, 0xB8, 0xE3, 0x93, 0x7B, /* 0x1C-0x1F */ + 0xDE, 0xF7, 0xDE, 0xFA, 0x93, 0x7C, 0x93, 0x7D, /* 0x20-0x23 */ + 0x93, 0x7E, 0x93, 0x80, 0xDE, 0xF9, 0x93, 0x81, /* 0x24-0x27 */ + 0x93, 0x82, 0x93, 0x83, 0xCC, 0xC2, 0x93, 0x84, /* 0x28-0x2B */ + 0xB0, 0xE1, 0xB4, 0xEE, 0x93, 0x85, 0x93, 0x86, /* 0x2C-0x2F */ + 0x93, 0x87, 0x93, 0x88, 0x93, 0x89, 0x93, 0x8A, /* 0x30-0x33 */ + 0xE5, 0xBA, 0x93, 0x8B, 0x93, 0x8C, 0x93, 0x8D, /* 0x34-0x37 */ + 0x93, 0x8E, 0x93, 0x8F, 0xD0, 0xAF, 0x93, 0x90, /* 0x38-0x3B */ + 0x93, 0x91, 0xB2, 0xEB, 0x93, 0x92, 0xEB, 0xA1, /* 0x3C-0x3F */ + 0x93, 0x93, 0xDE, 0xF4, 0x93, 0x94, 0x93, 0x95, /* 0x40-0x43 */ + 0xC9, 0xE3, 0xDE, 0xF3, 0xB0, 0xDA, 0xD2, 0xA1, /* 0x44-0x47 */ + 0xB1, 0xF7, 0x93, 0x96, 0xCC, 0xAF, 0x93, 0x97, /* 0x48-0x4B */ + 0x93, 0x98, 0x93, 0x99, 0x93, 0x9A, 0x93, 0x9B, /* 0x4C-0x4F */ + 0x93, 0x9C, 0x93, 0x9D, 0xDE, 0xF0, 0x93, 0x9E, /* 0x50-0x53 */ + 0xCB, 0xA4, 0x93, 0x9F, 0x93, 0xA0, 0x93, 0xA1, /* 0x54-0x57 */ + 0xD5, 0xAA, 0x93, 0xA2, 0x93, 0xA3, 0x93, 0xA4, /* 0x58-0x5B */ + 0x93, 0xA5, 0x93, 0xA6, 0xDE, 0xFB, 0x93, 0xA7, /* 0x5C-0x5F */ + 0x93, 0xA8, 0x93, 0xA9, 0x93, 0xAA, 0x93, 0xAB, /* 0x60-0x63 */ + 0x93, 0xAC, 0x93, 0xAD, 0x93, 0xAE, 0xB4, 0xDD, /* 0x64-0x67 */ + 0x93, 0xAF, 0xC4, 0xA6, 0x93, 0xB0, 0x93, 0xB1, /* 0x68-0x6B */ + 0x93, 0xB2, 0xDE, 0xFD, 0x93, 0xB3, 0x93, 0xB4, /* 0x6C-0x6F */ + 0x93, 0xB5, 0x93, 0xB6, 0x93, 0xB7, 0x93, 0xB8, /* 0x70-0x73 */ + 0x93, 0xB9, 0x93, 0xBA, 0x93, 0xBB, 0x93, 0xBC, /* 0x74-0x77 */ + 0xC3, 0xFE, 0xC4, 0xA1, 0xDF, 0xA1, 0x93, 0xBD, /* 0x78-0x7B */ + 0x93, 0xBE, 0x93, 0xBF, 0x93, 0xC0, 0x93, 0xC1, /* 0x7C-0x7F */ + + 0x93, 0xC2, 0x93, 0xC3, 0xC1, 0xCC, 0x93, 0xC4, /* 0x80-0x83 */ + 0xDE, 0xFC, 0xBE, 0xEF, 0x93, 0xC5, 0xC6, 0xB2, /* 0x84-0x87 */ + 0x93, 0xC6, 0x93, 0xC7, 0x93, 0xC8, 0x93, 0xC9, /* 0x88-0x8B */ + 0x93, 0xCA, 0x93, 0xCB, 0x93, 0xCC, 0x93, 0xCD, /* 0x8C-0x8F */ + 0x93, 0xCE, 0xB3, 0xC5, 0xC8, 0xF6, 0x93, 0xCF, /* 0x90-0x93 */ + 0x93, 0xD0, 0xCB, 0xBA, 0xDE, 0xFE, 0x93, 0xD1, /* 0x94-0x97 */ + 0x93, 0xD2, 0xDF, 0xA4, 0x93, 0xD3, 0x93, 0xD4, /* 0x98-0x9B */ + 0x93, 0xD5, 0x93, 0xD6, 0xD7, 0xB2, 0x93, 0xD7, /* 0x9C-0x9F */ + 0x93, 0xD8, 0x93, 0xD9, 0x93, 0xDA, 0x93, 0xDB, /* 0xA0-0xA3 */ + 0xB3, 0xB7, 0x93, 0xDC, 0x93, 0xDD, 0x93, 0xDE, /* 0xA4-0xA7 */ + 0x93, 0xDF, 0xC1, 0xC3, 0x93, 0xE0, 0x93, 0xE1, /* 0xA8-0xAB */ + 0xC7, 0xCB, 0xB2, 0xA5, 0xB4, 0xE9, 0x93, 0xE2, /* 0xAC-0xAF */ + 0xD7, 0xAB, 0x93, 0xE3, 0x93, 0xE4, 0x93, 0xE5, /* 0xB0-0xB3 */ + 0x93, 0xE6, 0xC4, 0xEC, 0x93, 0xE7, 0xDF, 0xA2, /* 0xB4-0xB7 */ + 0xDF, 0xA3, 0x93, 0xE8, 0xDF, 0xA5, 0x93, 0xE9, /* 0xB8-0xBB */ + 0xBA, 0xB3, 0x93, 0xEA, 0x93, 0xEB, 0x93, 0xEC, /* 0xBC-0xBF */ + 0xDF, 0xA6, 0x93, 0xED, 0xC0, 0xDE, 0x93, 0xEE, /* 0xC0-0xC3 */ + 0x93, 0xEF, 0xC9, 0xC3, 0x93, 0xF0, 0x93, 0xF1, /* 0xC4-0xC7 */ + 0x93, 0xF2, 0x93, 0xF3, 0x93, 0xF4, 0x93, 0xF5, /* 0xC8-0xCB */ + 0x93, 0xF6, 0xB2, 0xD9, 0xC7, 0xE6, 0x93, 0xF7, /* 0xCC-0xCF */ + 0xDF, 0xA7, 0x93, 0xF8, 0xC7, 0xDC, 0x93, 0xF9, /* 0xD0-0xD3 */ + 0x93, 0xFA, 0x93, 0xFB, 0x93, 0xFC, 0xDF, 0xA8, /* 0xD4-0xD7 */ + 0xEB, 0xA2, 0x93, 0xFD, 0x93, 0xFE, 0x94, 0x40, /* 0xD8-0xDB */ + 0x94, 0x41, 0x94, 0x42, 0xCB, 0xD3, 0x94, 0x43, /* 0xDC-0xDF */ + 0x94, 0x44, 0x94, 0x45, 0xDF, 0xAA, 0x94, 0x46, /* 0xE0-0xE3 */ + 0xDF, 0xA9, 0x94, 0x47, 0xB2, 0xC1, 0x94, 0x48, /* 0xE4-0xE7 */ + 0x94, 0x49, 0x94, 0x4A, 0x94, 0x4B, 0x94, 0x4C, /* 0xE8-0xEB */ + 0x94, 0x4D, 0x94, 0x4E, 0x94, 0x4F, 0x94, 0x50, /* 0xEC-0xEF */ + 0x94, 0x51, 0x94, 0x52, 0x94, 0x53, 0x94, 0x54, /* 0xF0-0xF3 */ + 0x94, 0x55, 0x94, 0x56, 0x94, 0x57, 0x94, 0x58, /* 0xF4-0xF7 */ + 0x94, 0x59, 0x94, 0x5A, 0x94, 0x5B, 0x94, 0x5C, /* 0xF8-0xFB */ + 0x94, 0x5D, 0x94, 0x5E, 0x94, 0x5F, 0x94, 0x60, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_65[512] = { + 0xC5, 0xCA, 0x94, 0x61, 0x94, 0x62, 0x94, 0x63, /* 0x00-0x03 */ + 0x94, 0x64, 0x94, 0x65, 0x94, 0x66, 0x94, 0x67, /* 0x04-0x07 */ + 0x94, 0x68, 0xDF, 0xAB, 0x94, 0x69, 0x94, 0x6A, /* 0x08-0x0B */ + 0x94, 0x6B, 0x94, 0x6C, 0x94, 0x6D, 0x94, 0x6E, /* 0x0C-0x0F */ + 0x94, 0x6F, 0x94, 0x70, 0xD4, 0xDC, 0x94, 0x71, /* 0x10-0x13 */ + 0x94, 0x72, 0x94, 0x73, 0x94, 0x74, 0x94, 0x75, /* 0x14-0x17 */ + 0xC8, 0xC1, 0x94, 0x76, 0x94, 0x77, 0x94, 0x78, /* 0x18-0x1B */ + 0x94, 0x79, 0x94, 0x7A, 0x94, 0x7B, 0x94, 0x7C, /* 0x1C-0x1F */ + 0x94, 0x7D, 0x94, 0x7E, 0x94, 0x80, 0x94, 0x81, /* 0x20-0x23 */ + 0x94, 0x82, 0xDF, 0xAC, 0x94, 0x83, 0x94, 0x84, /* 0x24-0x27 */ + 0x94, 0x85, 0x94, 0x86, 0x94, 0x87, 0xBE, 0xF0, /* 0x28-0x2B */ + 0x94, 0x88, 0x94, 0x89, 0xDF, 0xAD, 0xD6, 0xA7, /* 0x2C-0x2F */ + 0x94, 0x8A, 0x94, 0x8B, 0x94, 0x8C, 0x94, 0x8D, /* 0x30-0x33 */ + 0xEA, 0xB7, 0xEB, 0xB6, 0xCA, 0xD5, 0x94, 0x8E, /* 0x34-0x37 */ + 0xD8, 0xFC, 0xB8, 0xC4, 0x94, 0x8F, 0xB9, 0xA5, /* 0x38-0x3B */ + 0x94, 0x90, 0x94, 0x91, 0xB7, 0xC5, 0xD5, 0xFE, /* 0x3C-0x3F */ + 0x94, 0x92, 0x94, 0x93, 0x94, 0x94, 0x94, 0x95, /* 0x40-0x43 */ + 0x94, 0x96, 0xB9, 0xCA, 0x94, 0x97, 0x94, 0x98, /* 0x44-0x47 */ + 0xD0, 0xA7, 0xF4, 0xCD, 0x94, 0x99, 0x94, 0x9A, /* 0x48-0x4B */ + 0xB5, 0xD0, 0x94, 0x9B, 0x94, 0x9C, 0xC3, 0xF4, /* 0x4C-0x4F */ + 0x94, 0x9D, 0xBE, 0xC8, 0x94, 0x9E, 0x94, 0x9F, /* 0x50-0x53 */ + 0x94, 0xA0, 0xEB, 0xB7, 0xB0, 0xBD, 0x94, 0xA1, /* 0x54-0x57 */ + 0x94, 0xA2, 0xBD, 0xCC, 0x94, 0xA3, 0xC1, 0xB2, /* 0x58-0x5B */ + 0x94, 0xA4, 0xB1, 0xD6, 0xB3, 0xA8, 0x94, 0xA5, /* 0x5C-0x5F */ + 0x94, 0xA6, 0x94, 0xA7, 0xB8, 0xD2, 0xC9, 0xA2, /* 0x60-0x63 */ + 0x94, 0xA8, 0x94, 0xA9, 0xB6, 0xD8, 0x94, 0xAA, /* 0x64-0x67 */ + 0x94, 0xAB, 0x94, 0xAC, 0x94, 0xAD, 0xEB, 0xB8, /* 0x68-0x6B */ + 0xBE, 0xB4, 0x94, 0xAE, 0x94, 0xAF, 0x94, 0xB0, /* 0x6C-0x6F */ + 0xCA, 0xFD, 0x94, 0xB1, 0xC7, 0xC3, 0x94, 0xB2, /* 0x70-0x73 */ + 0xD5, 0xFB, 0x94, 0xB3, 0x94, 0xB4, 0xB7, 0xF3, /* 0x74-0x77 */ + 0x94, 0xB5, 0x94, 0xB6, 0x94, 0xB7, 0x94, 0xB8, /* 0x78-0x7B */ + 0x94, 0xB9, 0x94, 0xBA, 0x94, 0xBB, 0x94, 0xBC, /* 0x7C-0x7F */ + + 0x94, 0xBD, 0x94, 0xBE, 0x94, 0xBF, 0x94, 0xC0, /* 0x80-0x83 */ + 0x94, 0xC1, 0x94, 0xC2, 0x94, 0xC3, 0xCE, 0xC4, /* 0x84-0x87 */ + 0x94, 0xC4, 0x94, 0xC5, 0x94, 0xC6, 0xD5, 0xAB, /* 0x88-0x8B */ + 0xB1, 0xF3, 0x94, 0xC7, 0x94, 0xC8, 0x94, 0xC9, /* 0x8C-0x8F */ + 0xEC, 0xB3, 0xB0, 0xDF, 0x94, 0xCA, 0xEC, 0xB5, /* 0x90-0x93 */ + 0x94, 0xCB, 0x94, 0xCC, 0x94, 0xCD, 0xB6, 0xB7, /* 0x94-0x97 */ + 0x94, 0xCE, 0xC1, 0xCF, 0x94, 0xCF, 0xF5, 0xFA, /* 0x98-0x9B */ + 0xD0, 0xB1, 0x94, 0xD0, 0x94, 0xD1, 0xD5, 0xE5, /* 0x9C-0x9F */ + 0x94, 0xD2, 0xCE, 0xD3, 0x94, 0xD3, 0x94, 0xD4, /* 0xA0-0xA3 */ + 0xBD, 0xEF, 0xB3, 0xE2, 0x94, 0xD5, 0xB8, 0xAB, /* 0xA4-0xA7 */ + 0x94, 0xD6, 0xD5, 0xB6, 0x94, 0xD7, 0xED, 0xBD, /* 0xA8-0xAB */ + 0x94, 0xD8, 0xB6, 0xCF, 0x94, 0xD9, 0xCB, 0xB9, /* 0xAC-0xAF */ + 0xD0, 0xC2, 0x94, 0xDA, 0x94, 0xDB, 0x94, 0xDC, /* 0xB0-0xB3 */ + 0x94, 0xDD, 0x94, 0xDE, 0x94, 0xDF, 0x94, 0xE0, /* 0xB4-0xB7 */ + 0x94, 0xE1, 0xB7, 0xBD, 0x94, 0xE2, 0x94, 0xE3, /* 0xB8-0xBB */ + 0xEC, 0xB6, 0xCA, 0xA9, 0x94, 0xE4, 0x94, 0xE5, /* 0xBC-0xBF */ + 0x94, 0xE6, 0xC5, 0xD4, 0x94, 0xE7, 0xEC, 0xB9, /* 0xC0-0xC3 */ + 0xEC, 0xB8, 0xC2, 0xC3, 0xEC, 0xB7, 0x94, 0xE8, /* 0xC4-0xC7 */ + 0x94, 0xE9, 0x94, 0xEA, 0x94, 0xEB, 0xD0, 0xFD, /* 0xC8-0xCB */ + 0xEC, 0xBA, 0x94, 0xEC, 0xEC, 0xBB, 0xD7, 0xE5, /* 0xCC-0xCF */ + 0x94, 0xED, 0x94, 0xEE, 0xEC, 0xBC, 0x94, 0xEF, /* 0xD0-0xD3 */ + 0x94, 0xF0, 0x94, 0xF1, 0xEC, 0xBD, 0xC6, 0xEC, /* 0xD4-0xD7 */ + 0x94, 0xF2, 0x94, 0xF3, 0x94, 0xF4, 0x94, 0xF5, /* 0xD8-0xDB */ + 0x94, 0xF6, 0x94, 0xF7, 0x94, 0xF8, 0x94, 0xF9, /* 0xDC-0xDF */ + 0xCE, 0xDE, 0x94, 0xFA, 0xBC, 0xC8, 0x94, 0xFB, /* 0xE0-0xE3 */ + 0x94, 0xFC, 0xC8, 0xD5, 0xB5, 0xA9, 0xBE, 0xC9, /* 0xE4-0xE7 */ + 0xD6, 0xBC, 0xD4, 0xE7, 0x94, 0xFD, 0x94, 0xFE, /* 0xE8-0xEB */ + 0xD1, 0xAE, 0xD0, 0xF1, 0xEA, 0xB8, 0xEA, 0xB9, /* 0xEC-0xEF */ + 0xEA, 0xBA, 0xBA, 0xB5, 0x95, 0x40, 0x95, 0x41, /* 0xF0-0xF3 */ + 0x95, 0x42, 0x95, 0x43, 0xCA, 0xB1, 0xBF, 0xF5, /* 0xF4-0xF7 */ + 0x95, 0x44, 0x95, 0x45, 0xCD, 0xFA, 0x95, 0x46, /* 0xF8-0xFB */ + 0x95, 0x47, 0x95, 0x48, 0x95, 0x49, 0x95, 0x4A, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_66[512] = { + 0xEA, 0xC0, 0x95, 0x4B, 0xB0, 0xBA, 0xEA, 0xBE, /* 0x00-0x03 */ + 0x95, 0x4C, 0x95, 0x4D, 0xC0, 0xA5, 0x95, 0x4E, /* 0x04-0x07 */ + 0x95, 0x4F, 0x95, 0x50, 0xEA, 0xBB, 0x95, 0x51, /* 0x08-0x0B */ + 0xB2, 0xFD, 0x95, 0x52, 0xC3, 0xF7, 0xBB, 0xE8, /* 0x0C-0x0F */ + 0x95, 0x53, 0x95, 0x54, 0x95, 0x55, 0xD2, 0xD7, /* 0x10-0x13 */ + 0xCE, 0xF4, 0xEA, 0xBF, 0x95, 0x56, 0x95, 0x57, /* 0x14-0x17 */ + 0x95, 0x58, 0xEA, 0xBC, 0x95, 0x59, 0x95, 0x5A, /* 0x18-0x1B */ + 0x95, 0x5B, 0xEA, 0xC3, 0x95, 0x5C, 0xD0, 0xC7, /* 0x1C-0x1F */ + 0xD3, 0xB3, 0x95, 0x5D, 0x95, 0x5E, 0x95, 0x5F, /* 0x20-0x23 */ + 0x95, 0x60, 0xB4, 0xBA, 0x95, 0x61, 0xC3, 0xC1, /* 0x24-0x27 */ + 0xD7, 0xF2, 0x95, 0x62, 0x95, 0x63, 0x95, 0x64, /* 0x28-0x2B */ + 0x95, 0x65, 0xD5, 0xD1, 0x95, 0x66, 0xCA, 0xC7, /* 0x2C-0x2F */ + 0x95, 0x67, 0xEA, 0xC5, 0x95, 0x68, 0x95, 0x69, /* 0x30-0x33 */ + 0xEA, 0xC4, 0xEA, 0xC7, 0xEA, 0xC6, 0x95, 0x6A, /* 0x34-0x37 */ + 0x95, 0x6B, 0x95, 0x6C, 0x95, 0x6D, 0x95, 0x6E, /* 0x38-0x3B */ + 0xD6, 0xE7, 0x95, 0x6F, 0xCF, 0xD4, 0x95, 0x70, /* 0x3C-0x3F */ + 0x95, 0x71, 0xEA, 0xCB, 0x95, 0x72, 0xBB, 0xCE, /* 0x40-0x43 */ + 0x95, 0x73, 0x95, 0x74, 0x95, 0x75, 0x95, 0x76, /* 0x44-0x47 */ + 0x95, 0x77, 0x95, 0x78, 0x95, 0x79, 0xBD, 0xFA, /* 0x48-0x4B */ + 0xC9, 0xCE, 0x95, 0x7A, 0x95, 0x7B, 0xEA, 0xCC, /* 0x4C-0x4F */ + 0x95, 0x7C, 0x95, 0x7D, 0xC9, 0xB9, 0xCF, 0xFE, /* 0x50-0x53 */ + 0xEA, 0xCA, 0xD4, 0xCE, 0xEA, 0xCD, 0xEA, 0xCF, /* 0x54-0x57 */ + 0x95, 0x7E, 0x95, 0x80, 0xCD, 0xED, 0x95, 0x81, /* 0x58-0x5B */ + 0x95, 0x82, 0x95, 0x83, 0x95, 0x84, 0xEA, 0xC9, /* 0x5C-0x5F */ + 0x95, 0x85, 0xEA, 0xCE, 0x95, 0x86, 0x95, 0x87, /* 0x60-0x63 */ + 0xCE, 0xEE, 0x95, 0x88, 0xBB, 0xDE, 0x95, 0x89, /* 0x64-0x67 */ + 0xB3, 0xBF, 0x95, 0x8A, 0x95, 0x8B, 0x95, 0x8C, /* 0x68-0x6B */ + 0x95, 0x8D, 0x95, 0x8E, 0xC6, 0xD5, 0xBE, 0xB0, /* 0x6C-0x6F */ + 0xCE, 0xFA, 0x95, 0x8F, 0x95, 0x90, 0x95, 0x91, /* 0x70-0x73 */ + 0xC7, 0xE7, 0x95, 0x92, 0xBE, 0xA7, 0xEA, 0xD0, /* 0x74-0x77 */ + 0x95, 0x93, 0x95, 0x94, 0xD6, 0xC7, 0x95, 0x95, /* 0x78-0x7B */ + 0x95, 0x96, 0x95, 0x97, 0xC1, 0xC0, 0x95, 0x98, /* 0x7C-0x7F */ + + 0x95, 0x99, 0x95, 0x9A, 0xD4, 0xDD, 0x95, 0x9B, /* 0x80-0x83 */ + 0xEA, 0xD1, 0x95, 0x9C, 0x95, 0x9D, 0xCF, 0xBE, /* 0x84-0x87 */ + 0x95, 0x9E, 0x95, 0x9F, 0x95, 0xA0, 0x95, 0xA1, /* 0x88-0x8B */ + 0xEA, 0xD2, 0x95, 0xA2, 0x95, 0xA3, 0x95, 0xA4, /* 0x8C-0x8F */ + 0x95, 0xA5, 0xCA, 0xEE, 0x95, 0xA6, 0x95, 0xA7, /* 0x90-0x93 */ + 0x95, 0xA8, 0x95, 0xA9, 0xC5, 0xAF, 0xB0, 0xB5, /* 0x94-0x97 */ + 0x95, 0xAA, 0x95, 0xAB, 0x95, 0xAC, 0x95, 0xAD, /* 0x98-0x9B */ + 0x95, 0xAE, 0xEA, 0xD4, 0x95, 0xAF, 0x95, 0xB0, /* 0x9C-0x9F */ + 0x95, 0xB1, 0x95, 0xB2, 0x95, 0xB3, 0x95, 0xB4, /* 0xA0-0xA3 */ + 0x95, 0xB5, 0x95, 0xB6, 0x95, 0xB7, 0xEA, 0xD3, /* 0xA4-0xA7 */ + 0xF4, 0xDF, 0x95, 0xB8, 0x95, 0xB9, 0x95, 0xBA, /* 0xA8-0xAB */ + 0x95, 0xBB, 0x95, 0xBC, 0xC4, 0xBA, 0x95, 0xBD, /* 0xAC-0xAF */ + 0x95, 0xBE, 0x95, 0xBF, 0x95, 0xC0, 0x95, 0xC1, /* 0xB0-0xB3 */ + 0xB1, 0xA9, 0x95, 0xC2, 0x95, 0xC3, 0x95, 0xC4, /* 0xB4-0xB7 */ + 0x95, 0xC5, 0xE5, 0xDF, 0x95, 0xC6, 0x95, 0xC7, /* 0xB8-0xBB */ + 0x95, 0xC8, 0x95, 0xC9, 0xEA, 0xD5, 0x95, 0xCA, /* 0xBC-0xBF */ + 0x95, 0xCB, 0x95, 0xCC, 0x95, 0xCD, 0x95, 0xCE, /* 0xC0-0xC3 */ + 0x95, 0xCF, 0x95, 0xD0, 0x95, 0xD1, 0x95, 0xD2, /* 0xC4-0xC7 */ + 0x95, 0xD3, 0x95, 0xD4, 0x95, 0xD5, 0x95, 0xD6, /* 0xC8-0xCB */ + 0x95, 0xD7, 0x95, 0xD8, 0x95, 0xD9, 0x95, 0xDA, /* 0xCC-0xCF */ + 0x95, 0xDB, 0x95, 0xDC, 0x95, 0xDD, 0x95, 0xDE, /* 0xD0-0xD3 */ + 0x95, 0xDF, 0x95, 0xE0, 0x95, 0xE1, 0x95, 0xE2, /* 0xD4-0xD7 */ + 0x95, 0xE3, 0xCA, 0xEF, 0x95, 0xE4, 0xEA, 0xD6, /* 0xD8-0xDB */ + 0xEA, 0xD7, 0xC6, 0xD8, 0x95, 0xE5, 0x95, 0xE6, /* 0xDC-0xDF */ + 0x95, 0xE7, 0x95, 0xE8, 0x95, 0xE9, 0x95, 0xEA, /* 0xE0-0xE3 */ + 0x95, 0xEB, 0x95, 0xEC, 0xEA, 0xD8, 0x95, 0xED, /* 0xE4-0xE7 */ + 0x95, 0xEE, 0xEA, 0xD9, 0x95, 0xEF, 0x95, 0xF0, /* 0xE8-0xEB */ + 0x95, 0xF1, 0x95, 0xF2, 0x95, 0xF3, 0x95, 0xF4, /* 0xEC-0xEF */ + 0xD4, 0xBB, 0x95, 0xF5, 0xC7, 0xFA, 0xD2, 0xB7, /* 0xF0-0xF3 */ + 0xB8, 0xFC, 0x95, 0xF6, 0x95, 0xF7, 0xEA, 0xC2, /* 0xF4-0xF7 */ + 0x95, 0xF8, 0xB2, 0xDC, 0x95, 0xF9, 0x95, 0xFA, /* 0xF8-0xFB */ + 0xC2, 0xFC, 0x95, 0xFB, 0xD4, 0xF8, 0xCC, 0xE6, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_67[512] = { + 0xD7, 0xEE, 0x95, 0xFC, 0x95, 0xFD, 0x95, 0xFE, /* 0x00-0x03 */ + 0x96, 0x40, 0x96, 0x41, 0x96, 0x42, 0x96, 0x43, /* 0x04-0x07 */ + 0xD4, 0xC2, 0xD3, 0xD0, 0xEB, 0xC3, 0xC5, 0xF3, /* 0x08-0x0B */ + 0x96, 0x44, 0xB7, 0xFE, 0x96, 0x45, 0x96, 0x46, /* 0x0C-0x0F */ + 0xEB, 0xD4, 0x96, 0x47, 0x96, 0x48, 0x96, 0x49, /* 0x10-0x13 */ + 0xCB, 0xB7, 0xEB, 0xDE, 0x96, 0x4A, 0xC0, 0xCA, /* 0x14-0x17 */ + 0x96, 0x4B, 0x96, 0x4C, 0x96, 0x4D, 0xCD, 0xFB, /* 0x18-0x1B */ + 0x96, 0x4E, 0xB3, 0xAF, 0x96, 0x4F, 0xC6, 0xDA, /* 0x1C-0x1F */ + 0x96, 0x50, 0x96, 0x51, 0x96, 0x52, 0x96, 0x53, /* 0x20-0x23 */ + 0x96, 0x54, 0x96, 0x55, 0xEB, 0xFC, 0x96, 0x56, /* 0x24-0x27 */ + 0xC4, 0xBE, 0x96, 0x57, 0xCE, 0xB4, 0xC4, 0xA9, /* 0x28-0x2B */ + 0xB1, 0xBE, 0xD4, 0xFD, 0x96, 0x58, 0xCA, 0xF5, /* 0x2C-0x2F */ + 0x96, 0x59, 0xD6, 0xEC, 0x96, 0x5A, 0x96, 0x5B, /* 0x30-0x33 */ + 0xC6, 0xD3, 0xB6, 0xE4, 0x96, 0x5C, 0x96, 0x5D, /* 0x34-0x37 */ + 0x96, 0x5E, 0x96, 0x5F, 0xBB, 0xFA, 0x96, 0x60, /* 0x38-0x3B */ + 0x96, 0x61, 0xD0, 0xE0, 0x96, 0x62, 0x96, 0x63, /* 0x3C-0x3F */ + 0xC9, 0xB1, 0x96, 0x64, 0xD4, 0xD3, 0xC8, 0xA8, /* 0x40-0x43 */ + 0x96, 0x65, 0x96, 0x66, 0xB8, 0xCB, 0x96, 0x67, /* 0x44-0x47 */ + 0xE8, 0xBE, 0xC9, 0xBC, 0x96, 0x68, 0x96, 0x69, /* 0x48-0x4B */ + 0xE8, 0xBB, 0x96, 0x6A, 0xC0, 0xEE, 0xD0, 0xD3, /* 0x4C-0x4F */ + 0xB2, 0xC4, 0xB4, 0xE5, 0x96, 0x6B, 0xE8, 0xBC, /* 0x50-0x53 */ + 0x96, 0x6C, 0x96, 0x6D, 0xD5, 0xC8, 0x96, 0x6E, /* 0x54-0x57 */ + 0x96, 0x6F, 0x96, 0x70, 0x96, 0x71, 0x96, 0x72, /* 0x58-0x5B */ + 0xB6, 0xC5, 0x96, 0x73, 0xE8, 0xBD, 0xCA, 0xF8, /* 0x5C-0x5F */ + 0xB8, 0xDC, 0xCC, 0xF5, 0x96, 0x74, 0x96, 0x75, /* 0x60-0x63 */ + 0x96, 0x76, 0xC0, 0xB4, 0x96, 0x77, 0x96, 0x78, /* 0x64-0x67 */ + 0xD1, 0xEE, 0xE8, 0xBF, 0xE8, 0xC2, 0x96, 0x79, /* 0x68-0x6B */ + 0x96, 0x7A, 0xBA, 0xBC, 0x96, 0x7B, 0xB1, 0xAD, /* 0x6C-0x6F */ + 0xBD, 0xDC, 0x96, 0x7C, 0xEA, 0xBD, 0xE8, 0xC3, /* 0x70-0x73 */ + 0x96, 0x7D, 0xE8, 0xC6, 0x96, 0x7E, 0xE8, 0xCB, /* 0x74-0x77 */ + 0x96, 0x80, 0x96, 0x81, 0x96, 0x82, 0x96, 0x83, /* 0x78-0x7B */ + 0xE8, 0xCC, 0x96, 0x84, 0xCB, 0xC9, 0xB0, 0xE5, /* 0x7C-0x7F */ + + 0x96, 0x85, 0xBC, 0xAB, 0x96, 0x86, 0x96, 0x87, /* 0x80-0x83 */ + 0xB9, 0xB9, 0x96, 0x88, 0x96, 0x89, 0xE8, 0xC1, /* 0x84-0x87 */ + 0x96, 0x8A, 0xCD, 0xF7, 0x96, 0x8B, 0xE8, 0xCA, /* 0x88-0x8B */ + 0x96, 0x8C, 0x96, 0x8D, 0x96, 0x8E, 0x96, 0x8F, /* 0x8C-0x8F */ + 0xCE, 0xF6, 0x96, 0x90, 0x96, 0x91, 0x96, 0x92, /* 0x90-0x93 */ + 0x96, 0x93, 0xD5, 0xED, 0x96, 0x94, 0xC1, 0xD6, /* 0x94-0x97 */ + 0xE8, 0xC4, 0x96, 0x95, 0xC3, 0xB6, 0x96, 0x96, /* 0x98-0x9B */ + 0xB9, 0xFB, 0xD6, 0xA6, 0xE8, 0xC8, 0x96, 0x97, /* 0x9C-0x9F */ + 0x96, 0x98, 0x96, 0x99, 0xCA, 0xE0, 0xD4, 0xE6, /* 0xA0-0xA3 */ + 0x96, 0x9A, 0xE8, 0xC0, 0x96, 0x9B, 0xE8, 0xC5, /* 0xA4-0xA7 */ + 0xE8, 0xC7, 0x96, 0x9C, 0xC7, 0xB9, 0xB7, 0xE3, /* 0xA8-0xAB */ + 0x96, 0x9D, 0xE8, 0xC9, 0x96, 0x9E, 0xBF, 0xDD, /* 0xAC-0xAF */ + 0xE8, 0xD2, 0x96, 0x9F, 0x96, 0xA0, 0xE8, 0xD7, /* 0xB0-0xB3 */ + 0x96, 0xA1, 0xE8, 0xD5, 0xBC, 0xDC, 0xBC, 0xCF, /* 0xB4-0xB7 */ + 0xE8, 0xDB, 0x96, 0xA2, 0x96, 0xA3, 0x96, 0xA4, /* 0xB8-0xBB */ + 0x96, 0xA5, 0x96, 0xA6, 0x96, 0xA7, 0x96, 0xA8, /* 0xBC-0xBF */ + 0x96, 0xA9, 0xE8, 0xDE, 0x96, 0xAA, 0xE8, 0xDA, /* 0xC0-0xC3 */ + 0xB1, 0xFA, 0x96, 0xAB, 0x96, 0xAC, 0x96, 0xAD, /* 0xC4-0xC7 */ + 0x96, 0xAE, 0x96, 0xAF, 0x96, 0xB0, 0x96, 0xB1, /* 0xC8-0xCB */ + 0x96, 0xB2, 0x96, 0xB3, 0x96, 0xB4, 0xB0, 0xD8, /* 0xCC-0xCF */ + 0xC4, 0xB3, 0xB8, 0xCC, 0xC6, 0xE2, 0xC8, 0xBE, /* 0xD0-0xD3 */ + 0xC8, 0xE1, 0x96, 0xB5, 0x96, 0xB6, 0x96, 0xB7, /* 0xD4-0xD7 */ + 0xE8, 0xCF, 0xE8, 0xD4, 0xE8, 0xD6, 0x96, 0xB8, /* 0xD8-0xDB */ + 0xB9, 0xF1, 0xE8, 0xD8, 0xD7, 0xF5, 0x96, 0xB9, /* 0xDC-0xDF */ + 0xC4, 0xFB, 0x96, 0xBA, 0xE8, 0xDC, 0x96, 0xBB, /* 0xE0-0xE3 */ + 0x96, 0xBC, 0xB2, 0xE9, 0x96, 0xBD, 0x96, 0xBE, /* 0xE4-0xE7 */ + 0x96, 0xBF, 0xE8, 0xD1, 0x96, 0xC0, 0x96, 0xC1, /* 0xE8-0xEB */ + 0xBC, 0xED, 0x96, 0xC2, 0x96, 0xC3, 0xBF, 0xC2, /* 0xEC-0xEF */ + 0xE8, 0xCD, 0xD6, 0xF9, 0x96, 0xC4, 0xC1, 0xF8, /* 0xF0-0xF3 */ + 0xB2, 0xF1, 0x96, 0xC5, 0x96, 0xC6, 0x96, 0xC7, /* 0xF4-0xF7 */ + 0x96, 0xC8, 0x96, 0xC9, 0x96, 0xCA, 0x96, 0xCB, /* 0xF8-0xFB */ + 0x96, 0xCC, 0xE8, 0xDF, 0x96, 0xCD, 0xCA, 0xC1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_68[512] = { + 0xE8, 0xD9, 0x96, 0xCE, 0x96, 0xCF, 0x96, 0xD0, /* 0x00-0x03 */ + 0x96, 0xD1, 0xD5, 0xA4, 0x96, 0xD2, 0xB1, 0xEA, /* 0x04-0x07 */ + 0xD5, 0xBB, 0xE8, 0xCE, 0xE8, 0xD0, 0xB6, 0xB0, /* 0x08-0x0B */ + 0xE8, 0xD3, 0x96, 0xD3, 0xE8, 0xDD, 0xC0, 0xB8, /* 0x0C-0x0F */ + 0x96, 0xD4, 0xCA, 0xF7, 0x96, 0xD5, 0xCB, 0xA8, /* 0x10-0x13 */ + 0x96, 0xD6, 0x96, 0xD7, 0xC6, 0xDC, 0xC0, 0xF5, /* 0x14-0x17 */ + 0x96, 0xD8, 0x96, 0xD9, 0x96, 0xDA, 0x96, 0xDB, /* 0x18-0x1B */ + 0x96, 0xDC, 0xE8, 0xE9, 0x96, 0xDD, 0x96, 0xDE, /* 0x1C-0x1F */ + 0x96, 0xDF, 0xD0, 0xA3, 0x96, 0xE0, 0x96, 0xE1, /* 0x20-0x23 */ + 0x96, 0xE2, 0x96, 0xE3, 0x96, 0xE4, 0x96, 0xE5, /* 0x24-0x27 */ + 0x96, 0xE6, 0xE8, 0xF2, 0xD6, 0xEA, 0x96, 0xE7, /* 0x28-0x2B */ + 0x96, 0xE8, 0x96, 0xE9, 0x96, 0xEA, 0x96, 0xEB, /* 0x2C-0x2F */ + 0x96, 0xEC, 0x96, 0xED, 0xE8, 0xE0, 0xE8, 0xE1, /* 0x30-0x33 */ + 0x96, 0xEE, 0x96, 0xEF, 0x96, 0xF0, 0xD1, 0xF9, /* 0x34-0x37 */ + 0xBA, 0xCB, 0xB8, 0xF9, 0x96, 0xF1, 0x96, 0xF2, /* 0x38-0x3B */ + 0xB8, 0xF1, 0xD4, 0xD4, 0xE8, 0xEF, 0x96, 0xF3, /* 0x3C-0x3F */ + 0xE8, 0xEE, 0xE8, 0xEC, 0xB9, 0xF0, 0xCC, 0xD2, /* 0x40-0x43 */ + 0xE8, 0xE6, 0xCE, 0xA6, 0xBF, 0xF2, 0x96, 0xF4, /* 0x44-0x47 */ + 0xB0, 0xB8, 0xE8, 0xF1, 0xE8, 0xF0, 0x96, 0xF5, /* 0x48-0x4B */ + 0xD7, 0xC0, 0x96, 0xF6, 0xE8, 0xE4, 0x96, 0xF7, /* 0x4C-0x4F */ + 0xCD, 0xA9, 0xC9, 0xA3, 0x96, 0xF8, 0xBB, 0xB8, /* 0x50-0x53 */ + 0xBD, 0xDB, 0xE8, 0xEA, 0x96, 0xF9, 0x96, 0xFA, /* 0x54-0x57 */ + 0x96, 0xFB, 0x96, 0xFC, 0x96, 0xFD, 0x96, 0xFE, /* 0x58-0x5B */ + 0x97, 0x40, 0x97, 0x41, 0x97, 0x42, 0x97, 0x43, /* 0x5C-0x5F */ + 0xE8, 0xE2, 0xE8, 0xE3, 0xE8, 0xE5, 0xB5, 0xB5, /* 0x60-0x63 */ + 0xE8, 0xE7, 0xC7, 0xC5, 0xE8, 0xEB, 0xE8, 0xED, /* 0x64-0x67 */ + 0xBD, 0xB0, 0xD7, 0xAE, 0x97, 0x44, 0xE8, 0xF8, /* 0x68-0x6B */ + 0x97, 0x45, 0x97, 0x46, 0x97, 0x47, 0x97, 0x48, /* 0x6C-0x6F */ + 0x97, 0x49, 0x97, 0x4A, 0x97, 0x4B, 0x97, 0x4C, /* 0x70-0x73 */ + 0xE8, 0xF5, 0x97, 0x4D, 0xCD, 0xB0, 0xE8, 0xF6, /* 0x74-0x77 */ + 0x97, 0x4E, 0x97, 0x4F, 0x97, 0x50, 0x97, 0x51, /* 0x78-0x7B */ + 0x97, 0x52, 0x97, 0x53, 0x97, 0x54, 0x97, 0x55, /* 0x7C-0x7F */ + + 0x97, 0x56, 0xC1, 0xBA, 0x97, 0x57, 0xE8, 0xE8, /* 0x80-0x83 */ + 0x97, 0x58, 0xC3, 0xB7, 0xB0, 0xF0, 0x97, 0x59, /* 0x84-0x87 */ + 0x97, 0x5A, 0x97, 0x5B, 0x97, 0x5C, 0x97, 0x5D, /* 0x88-0x8B */ + 0x97, 0x5E, 0x97, 0x5F, 0x97, 0x60, 0xE8, 0xF4, /* 0x8C-0x8F */ + 0x97, 0x61, 0x97, 0x62, 0x97, 0x63, 0xE8, 0xF7, /* 0x90-0x93 */ + 0x97, 0x64, 0x97, 0x65, 0x97, 0x66, 0xB9, 0xA3, /* 0x94-0x97 */ + 0x97, 0x67, 0x97, 0x68, 0x97, 0x69, 0x97, 0x6A, /* 0x98-0x9B */ + 0x97, 0x6B, 0x97, 0x6C, 0x97, 0x6D, 0x97, 0x6E, /* 0x9C-0x9F */ + 0x97, 0x6F, 0x97, 0x70, 0xC9, 0xD2, 0x97, 0x71, /* 0xA0-0xA3 */ + 0x97, 0x72, 0x97, 0x73, 0xC3, 0xCE, 0xCE, 0xE0, /* 0xA4-0xA7 */ + 0xC0, 0xE6, 0x97, 0x74, 0x97, 0x75, 0x97, 0x76, /* 0xA8-0xAB */ + 0x97, 0x77, 0xCB, 0xF3, 0x97, 0x78, 0xCC, 0xDD, /* 0xAC-0xAF */ + 0xD0, 0xB5, 0x97, 0x79, 0x97, 0x7A, 0xCA, 0xE1, /* 0xB0-0xB3 */ + 0x97, 0x7B, 0xE8, 0xF3, 0x97, 0x7C, 0x97, 0x7D, /* 0xB4-0xB7 */ + 0x97, 0x7E, 0x97, 0x80, 0x97, 0x81, 0x97, 0x82, /* 0xB8-0xBB */ + 0x97, 0x83, 0x97, 0x84, 0x97, 0x85, 0x97, 0x86, /* 0xBC-0xBF */ + 0xBC, 0xEC, 0x97, 0x87, 0xE8, 0xF9, 0x97, 0x88, /* 0xC0-0xC3 */ + 0x97, 0x89, 0x97, 0x8A, 0x97, 0x8B, 0x97, 0x8C, /* 0xC4-0xC7 */ + 0x97, 0x8D, 0xC3, 0xDE, 0x97, 0x8E, 0xC6, 0xE5, /* 0xC8-0xCB */ + 0x97, 0x8F, 0xB9, 0xF7, 0x97, 0x90, 0x97, 0x91, /* 0xCC-0xCF */ + 0x97, 0x92, 0x97, 0x93, 0xB0, 0xF4, 0x97, 0x94, /* 0xD0-0xD3 */ + 0x97, 0x95, 0xD7, 0xD8, 0x97, 0x96, 0x97, 0x97, /* 0xD4-0xD7 */ + 0xBC, 0xAC, 0x97, 0x98, 0xC5, 0xEF, 0x97, 0x99, /* 0xD8-0xDB */ + 0x97, 0x9A, 0x97, 0x9B, 0x97, 0x9C, 0x97, 0x9D, /* 0xDC-0xDF */ + 0xCC, 0xC4, 0x97, 0x9E, 0x97, 0x9F, 0xE9, 0xA6, /* 0xE0-0xE3 */ + 0x97, 0xA0, 0x97, 0xA1, 0x97, 0xA2, 0x97, 0xA3, /* 0xE4-0xE7 */ + 0x97, 0xA4, 0x97, 0xA5, 0x97, 0xA6, 0x97, 0xA7, /* 0xE8-0xEB */ + 0x97, 0xA8, 0x97, 0xA9, 0xC9, 0xAD, 0x97, 0xAA, /* 0xEC-0xEF */ + 0xE9, 0xA2, 0xC0, 0xE2, 0x97, 0xAB, 0x97, 0xAC, /* 0xF0-0xF3 */ + 0x97, 0xAD, 0xBF, 0xC3, 0x97, 0xAE, 0x97, 0xAF, /* 0xF4-0xF7 */ + 0x97, 0xB0, 0xE8, 0xFE, 0xB9, 0xD7, 0x97, 0xB1, /* 0xF8-0xFB */ + 0xE8, 0xFB, 0x97, 0xB2, 0x97, 0xB3, 0x97, 0xB4, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_69[512] = { + 0x97, 0xB5, 0xE9, 0xA4, 0x97, 0xB6, 0x97, 0xB7, /* 0x00-0x03 */ + 0x97, 0xB8, 0xD2, 0xCE, 0x97, 0xB9, 0x97, 0xBA, /* 0x04-0x07 */ + 0x97, 0xBB, 0x97, 0xBC, 0x97, 0xBD, 0xE9, 0xA3, /* 0x08-0x0B */ + 0x97, 0xBE, 0xD6, 0xB2, 0xD7, 0xB5, 0x97, 0xBF, /* 0x0C-0x0F */ + 0xE9, 0xA7, 0x97, 0xC0, 0xBD, 0xB7, 0x97, 0xC1, /* 0x10-0x13 */ + 0x97, 0xC2, 0x97, 0xC3, 0x97, 0xC4, 0x97, 0xC5, /* 0x14-0x17 */ + 0x97, 0xC6, 0x97, 0xC7, 0x97, 0xC8, 0x97, 0xC9, /* 0x18-0x1B */ + 0x97, 0xCA, 0x97, 0xCB, 0x97, 0xCC, 0xE8, 0xFC, /* 0x1C-0x1F */ + 0xE8, 0xFD, 0x97, 0xCD, 0x97, 0xCE, 0x97, 0xCF, /* 0x20-0x23 */ + 0xE9, 0xA1, 0x97, 0xD0, 0x97, 0xD1, 0x97, 0xD2, /* 0x24-0x27 */ + 0x97, 0xD3, 0x97, 0xD4, 0x97, 0xD5, 0x97, 0xD6, /* 0x28-0x2B */ + 0x97, 0xD7, 0xCD, 0xD6, 0x97, 0xD8, 0x97, 0xD9, /* 0x2C-0x2F */ + 0xD2, 0xAC, 0x97, 0xDA, 0x97, 0xDB, 0x97, 0xDC, /* 0x30-0x33 */ + 0xE9, 0xB2, 0x97, 0xDD, 0x97, 0xDE, 0x97, 0xDF, /* 0x34-0x37 */ + 0x97, 0xE0, 0xE9, 0xA9, 0x97, 0xE1, 0x97, 0xE2, /* 0x38-0x3B */ + 0x97, 0xE3, 0xB4, 0xAA, 0x97, 0xE4, 0xB4, 0xBB, /* 0x3C-0x3F */ + 0x97, 0xE5, 0x97, 0xE6, 0xE9, 0xAB, 0x97, 0xE7, /* 0x40-0x43 */ + 0x97, 0xE8, 0x97, 0xE9, 0x97, 0xEA, 0x97, 0xEB, /* 0x44-0x47 */ + 0x97, 0xEC, 0x97, 0xED, 0x97, 0xEE, 0x97, 0xEF, /* 0x48-0x4B */ + 0x97, 0xF0, 0x97, 0xF1, 0x97, 0xF2, 0x97, 0xF3, /* 0x4C-0x4F */ + 0x97, 0xF4, 0x97, 0xF5, 0x97, 0xF6, 0x97, 0xF7, /* 0x50-0x53 */ + 0xD0, 0xA8, 0x97, 0xF8, 0x97, 0xF9, 0xE9, 0xA5, /* 0x54-0x57 */ + 0x97, 0xFA, 0x97, 0xFB, 0xB3, 0xFE, 0x97, 0xFC, /* 0x58-0x5B */ + 0x97, 0xFD, 0xE9, 0xAC, 0xC0, 0xE3, 0x97, 0xFE, /* 0x5C-0x5F */ + 0xE9, 0xAA, 0x98, 0x40, 0x98, 0x41, 0xE9, 0xB9, /* 0x60-0x63 */ + 0x98, 0x42, 0x98, 0x43, 0xE9, 0xB8, 0x98, 0x44, /* 0x64-0x67 */ + 0x98, 0x45, 0x98, 0x46, 0x98, 0x47, 0xE9, 0xAE, /* 0x68-0x6B */ + 0x98, 0x48, 0x98, 0x49, 0xE8, 0xFA, 0x98, 0x4A, /* 0x6C-0x6F */ + 0x98, 0x4B, 0xE9, 0xA8, 0x98, 0x4C, 0x98, 0x4D, /* 0x70-0x73 */ + 0x98, 0x4E, 0x98, 0x4F, 0x98, 0x50, 0xBF, 0xAC, /* 0x74-0x77 */ + 0xE9, 0xB1, 0xE9, 0xBA, 0x98, 0x51, 0x98, 0x52, /* 0x78-0x7B */ + 0xC2, 0xA5, 0x98, 0x53, 0x98, 0x54, 0x98, 0x55, /* 0x7C-0x7F */ + + 0xE9, 0xAF, 0x98, 0x56, 0xB8, 0xC5, 0x98, 0x57, /* 0x80-0x83 */ + 0xE9, 0xAD, 0x98, 0x58, 0xD3, 0xDC, 0xE9, 0xB4, /* 0x84-0x87 */ + 0xE9, 0xB5, 0xE9, 0xB7, 0x98, 0x59, 0x98, 0x5A, /* 0x88-0x8B */ + 0x98, 0x5B, 0xE9, 0xC7, 0x98, 0x5C, 0x98, 0x5D, /* 0x8C-0x8F */ + 0x98, 0x5E, 0x98, 0x5F, 0x98, 0x60, 0x98, 0x61, /* 0x90-0x93 */ + 0xC0, 0xC6, 0xE9, 0xC5, 0x98, 0x62, 0x98, 0x63, /* 0x94-0x97 */ + 0xE9, 0xB0, 0x98, 0x64, 0x98, 0x65, 0xE9, 0xBB, /* 0x98-0x9B */ + 0xB0, 0xF1, 0x98, 0x66, 0x98, 0x67, 0x98, 0x68, /* 0x9C-0x9F */ + 0x98, 0x69, 0x98, 0x6A, 0x98, 0x6B, 0x98, 0x6C, /* 0xA0-0xA3 */ + 0x98, 0x6D, 0x98, 0x6E, 0x98, 0x6F, 0xE9, 0xBC, /* 0xA4-0xA7 */ + 0xD5, 0xA5, 0x98, 0x70, 0x98, 0x71, 0xE9, 0xBE, /* 0xA8-0xAB */ + 0x98, 0x72, 0xE9, 0xBF, 0x98, 0x73, 0x98, 0x74, /* 0xAC-0xAF */ + 0x98, 0x75, 0xE9, 0xC1, 0x98, 0x76, 0x98, 0x77, /* 0xB0-0xB3 */ + 0xC1, 0xF1, 0x98, 0x78, 0x98, 0x79, 0xC8, 0xB6, /* 0xB4-0xB7 */ + 0x98, 0x7A, 0x98, 0x7B, 0x98, 0x7C, 0xE9, 0xBD, /* 0xB8-0xBB */ + 0x98, 0x7D, 0x98, 0x7E, 0x98, 0x80, 0x98, 0x81, /* 0xBC-0xBF */ + 0x98, 0x82, 0xE9, 0xC2, 0x98, 0x83, 0x98, 0x84, /* 0xC0-0xC3 */ + 0x98, 0x85, 0x98, 0x86, 0x98, 0x87, 0x98, 0x88, /* 0xC4-0xC7 */ + 0x98, 0x89, 0x98, 0x8A, 0xE9, 0xC3, 0x98, 0x8B, /* 0xC8-0xCB */ + 0xE9, 0xB3, 0x98, 0x8C, 0xE9, 0xB6, 0x98, 0x8D, /* 0xCC-0xCF */ + 0xBB, 0xB1, 0x98, 0x8E, 0x98, 0x8F, 0x98, 0x90, /* 0xD0-0xD3 */ + 0xE9, 0xC0, 0x98, 0x91, 0x98, 0x92, 0x98, 0x93, /* 0xD4-0xD7 */ + 0x98, 0x94, 0x98, 0x95, 0x98, 0x96, 0xBC, 0xF7, /* 0xD8-0xDB */ + 0x98, 0x97, 0x98, 0x98, 0x98, 0x99, 0xE9, 0xC4, /* 0xDC-0xDF */ + 0xE9, 0xC6, 0x98, 0x9A, 0x98, 0x9B, 0x98, 0x9C, /* 0xE0-0xE3 */ + 0x98, 0x9D, 0x98, 0x9E, 0x98, 0x9F, 0x98, 0xA0, /* 0xE4-0xE7 */ + 0x98, 0xA1, 0x98, 0xA2, 0x98, 0xA3, 0x98, 0xA4, /* 0xE8-0xEB */ + 0x98, 0xA5, 0xE9, 0xCA, 0x98, 0xA6, 0x98, 0xA7, /* 0xEC-0xEF */ + 0x98, 0xA8, 0x98, 0xA9, 0xE9, 0xCE, 0x98, 0xAA, /* 0xF0-0xF3 */ + 0x98, 0xAB, 0x98, 0xAC, 0x98, 0xAD, 0x98, 0xAE, /* 0xF4-0xF7 */ + 0x98, 0xAF, 0x98, 0xB0, 0x98, 0xB1, 0x98, 0xB2, /* 0xF8-0xFB */ + 0x98, 0xB3, 0xB2, 0xDB, 0x98, 0xB4, 0xE9, 0xC8, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6A[512] = { + 0x98, 0xB5, 0x98, 0xB6, 0x98, 0xB7, 0x98, 0xB8, /* 0x00-0x03 */ + 0x98, 0xB9, 0x98, 0xBA, 0x98, 0xBB, 0x98, 0xBC, /* 0x04-0x07 */ + 0x98, 0xBD, 0x98, 0xBE, 0xB7, 0xAE, 0x98, 0xBF, /* 0x08-0x0B */ + 0x98, 0xC0, 0x98, 0xC1, 0x98, 0xC2, 0x98, 0xC3, /* 0x0C-0x0F */ + 0x98, 0xC4, 0x98, 0xC5, 0x98, 0xC6, 0x98, 0xC7, /* 0x10-0x13 */ + 0x98, 0xC8, 0x98, 0xC9, 0x98, 0xCA, 0xE9, 0xCB, /* 0x14-0x17 */ + 0xE9, 0xCC, 0x98, 0xCB, 0x98, 0xCC, 0x98, 0xCD, /* 0x18-0x1B */ + 0x98, 0xCE, 0x98, 0xCF, 0x98, 0xD0, 0xD5, 0xC1, /* 0x1C-0x1F */ + 0x98, 0xD1, 0xC4, 0xA3, 0x98, 0xD2, 0x98, 0xD3, /* 0x20-0x23 */ + 0x98, 0xD4, 0x98, 0xD5, 0x98, 0xD6, 0x98, 0xD7, /* 0x24-0x27 */ + 0xE9, 0xD8, 0x98, 0xD8, 0xBA, 0xE1, 0x98, 0xD9, /* 0x28-0x2B */ + 0x98, 0xDA, 0x98, 0xDB, 0x98, 0xDC, 0xE9, 0xC9, /* 0x2C-0x2F */ + 0x98, 0xDD, 0xD3, 0xA3, 0x98, 0xDE, 0x98, 0xDF, /* 0x30-0x33 */ + 0x98, 0xE0, 0xE9, 0xD4, 0x98, 0xE1, 0x98, 0xE2, /* 0x34-0x37 */ + 0x98, 0xE3, 0x98, 0xE4, 0x98, 0xE5, 0x98, 0xE6, /* 0x38-0x3B */ + 0x98, 0xE7, 0xE9, 0xD7, 0xE9, 0xD0, 0x98, 0xE8, /* 0x3C-0x3F */ + 0x98, 0xE9, 0x98, 0xEA, 0x98, 0xEB, 0x98, 0xEC, /* 0x40-0x43 */ + 0xE9, 0xCF, 0x98, 0xED, 0x98, 0xEE, 0xC7, 0xC1, /* 0x44-0x47 */ + 0x98, 0xEF, 0x98, 0xF0, 0x98, 0xF1, 0x98, 0xF2, /* 0x48-0x4B */ + 0x98, 0xF3, 0x98, 0xF4, 0x98, 0xF5, 0x98, 0xF6, /* 0x4C-0x4F */ + 0xE9, 0xD2, 0x98, 0xF7, 0x98, 0xF8, 0x98, 0xF9, /* 0x50-0x53 */ + 0x98, 0xFA, 0x98, 0xFB, 0x98, 0xFC, 0x98, 0xFD, /* 0x54-0x57 */ + 0xE9, 0xD9, 0xB3, 0xC8, 0x98, 0xFE, 0xE9, 0xD3, /* 0x58-0x5B */ + 0x99, 0x40, 0x99, 0x41, 0x99, 0x42, 0x99, 0x43, /* 0x5C-0x5F */ + 0x99, 0x44, 0xCF, 0xF0, 0x99, 0x45, 0x99, 0x46, /* 0x60-0x63 */ + 0x99, 0x47, 0xE9, 0xCD, 0x99, 0x48, 0x99, 0x49, /* 0x64-0x67 */ + 0x99, 0x4A, 0x99, 0x4B, 0x99, 0x4C, 0x99, 0x4D, /* 0x68-0x6B */ + 0x99, 0x4E, 0x99, 0x4F, 0x99, 0x50, 0x99, 0x51, /* 0x6C-0x6F */ + 0x99, 0x52, 0xB3, 0xF7, 0x99, 0x53, 0x99, 0x54, /* 0x70-0x73 */ + 0x99, 0x55, 0x99, 0x56, 0x99, 0x57, 0x99, 0x58, /* 0x74-0x77 */ + 0x99, 0x59, 0xE9, 0xD6, 0x99, 0x5A, 0x99, 0x5B, /* 0x78-0x7B */ + 0xE9, 0xDA, 0x99, 0x5C, 0x99, 0x5D, 0x99, 0x5E, /* 0x7C-0x7F */ + + 0xCC, 0xB4, 0x99, 0x5F, 0x99, 0x60, 0x99, 0x61, /* 0x80-0x83 */ + 0xCF, 0xAD, 0x99, 0x62, 0x99, 0x63, 0x99, 0x64, /* 0x84-0x87 */ + 0x99, 0x65, 0x99, 0x66, 0x99, 0x67, 0x99, 0x68, /* 0x88-0x8B */ + 0x99, 0x69, 0x99, 0x6A, 0xE9, 0xD5, 0x99, 0x6B, /* 0x8C-0x8F */ + 0xE9, 0xDC, 0xE9, 0xDB, 0x99, 0x6C, 0x99, 0x6D, /* 0x90-0x93 */ + 0x99, 0x6E, 0x99, 0x6F, 0x99, 0x70, 0xE9, 0xDE, /* 0x94-0x97 */ + 0x99, 0x71, 0x99, 0x72, 0x99, 0x73, 0x99, 0x74, /* 0x98-0x9B */ + 0x99, 0x75, 0x99, 0x76, 0x99, 0x77, 0x99, 0x78, /* 0x9C-0x9F */ + 0xE9, 0xD1, 0x99, 0x79, 0x99, 0x7A, 0x99, 0x7B, /* 0xA0-0xA3 */ + 0x99, 0x7C, 0x99, 0x7D, 0x99, 0x7E, 0x99, 0x80, /* 0xA4-0xA7 */ + 0x99, 0x81, 0xE9, 0xDD, 0x99, 0x82, 0xE9, 0xDF, /* 0xA8-0xAB */ + 0xC3, 0xCA, 0x99, 0x83, 0x99, 0x84, 0x99, 0x85, /* 0xAC-0xAF */ + 0x99, 0x86, 0x99, 0x87, 0x99, 0x88, 0x99, 0x89, /* 0xB0-0xB3 */ + 0x99, 0x8A, 0x99, 0x8B, 0x99, 0x8C, 0x99, 0x8D, /* 0xB4-0xB7 */ + 0x99, 0x8E, 0x99, 0x8F, 0x99, 0x90, 0x99, 0x91, /* 0xB8-0xBB */ + 0x99, 0x92, 0x99, 0x93, 0x99, 0x94, 0x99, 0x95, /* 0xBC-0xBF */ + 0x99, 0x96, 0x99, 0x97, 0x99, 0x98, 0x99, 0x99, /* 0xC0-0xC3 */ + 0x99, 0x9A, 0x99, 0x9B, 0x99, 0x9C, 0x99, 0x9D, /* 0xC4-0xC7 */ + 0x99, 0x9E, 0x99, 0x9F, 0x99, 0xA0, 0x99, 0xA1, /* 0xC8-0xCB */ + 0x99, 0xA2, 0x99, 0xA3, 0x99, 0xA4, 0x99, 0xA5, /* 0xCC-0xCF */ + 0x99, 0xA6, 0x99, 0xA7, 0x99, 0xA8, 0x99, 0xA9, /* 0xD0-0xD3 */ + 0x99, 0xAA, 0x99, 0xAB, 0x99, 0xAC, 0x99, 0xAD, /* 0xD4-0xD7 */ + 0x99, 0xAE, 0x99, 0xAF, 0x99, 0xB0, 0x99, 0xB1, /* 0xD8-0xDB */ + 0x99, 0xB2, 0x99, 0xB3, 0x99, 0xB4, 0x99, 0xB5, /* 0xDC-0xDF */ + 0x99, 0xB6, 0x99, 0xB7, 0x99, 0xB8, 0x99, 0xB9, /* 0xE0-0xE3 */ + 0x99, 0xBA, 0x99, 0xBB, 0x99, 0xBC, 0x99, 0xBD, /* 0xE4-0xE7 */ + 0x99, 0xBE, 0x99, 0xBF, 0x99, 0xC0, 0x99, 0xC1, /* 0xE8-0xEB */ + 0x99, 0xC2, 0x99, 0xC3, 0x99, 0xC4, 0x99, 0xC5, /* 0xEC-0xEF */ + 0x99, 0xC6, 0x99, 0xC7, 0x99, 0xC8, 0x99, 0xC9, /* 0xF0-0xF3 */ + 0x99, 0xCA, 0x99, 0xCB, 0x99, 0xCC, 0x99, 0xCD, /* 0xF4-0xF7 */ + 0x99, 0xCE, 0x99, 0xCF, 0x99, 0xD0, 0x99, 0xD1, /* 0xF8-0xFB */ + 0x99, 0xD2, 0x99, 0xD3, 0x99, 0xD4, 0x99, 0xD5, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6B[512] = { + 0x99, 0xD6, 0x99, 0xD7, 0x99, 0xD8, 0x99, 0xD9, /* 0x00-0x03 */ + 0x99, 0xDA, 0x99, 0xDB, 0x99, 0xDC, 0x99, 0xDD, /* 0x04-0x07 */ + 0x99, 0xDE, 0x99, 0xDF, 0x99, 0xE0, 0x99, 0xE1, /* 0x08-0x0B */ + 0x99, 0xE2, 0x99, 0xE3, 0x99, 0xE4, 0x99, 0xE5, /* 0x0C-0x0F */ + 0x99, 0xE6, 0x99, 0xE7, 0x99, 0xE8, 0x99, 0xE9, /* 0x10-0x13 */ + 0x99, 0xEA, 0x99, 0xEB, 0x99, 0xEC, 0x99, 0xED, /* 0x14-0x17 */ + 0x99, 0xEE, 0x99, 0xEF, 0x99, 0xF0, 0x99, 0xF1, /* 0x18-0x1B */ + 0x99, 0xF2, 0x99, 0xF3, 0x99, 0xF4, 0x99, 0xF5, /* 0x1C-0x1F */ + 0xC7, 0xB7, 0xB4, 0xCE, 0xBB, 0xB6, 0xD0, 0xC0, /* 0x20-0x23 */ + 0xEC, 0xA3, 0x99, 0xF6, 0x99, 0xF7, 0xC5, 0xB7, /* 0x24-0x27 */ + 0x99, 0xF8, 0x99, 0xF9, 0x99, 0xFA, 0x99, 0xFB, /* 0x28-0x2B */ + 0x99, 0xFC, 0x99, 0xFD, 0x99, 0xFE, 0x9A, 0x40, /* 0x2C-0x2F */ + 0x9A, 0x41, 0x9A, 0x42, 0xD3, 0xFB, 0x9A, 0x43, /* 0x30-0x33 */ + 0x9A, 0x44, 0x9A, 0x45, 0x9A, 0x46, 0xEC, 0xA4, /* 0x34-0x37 */ + 0x9A, 0x47, 0xEC, 0xA5, 0xC6, 0xDB, 0x9A, 0x48, /* 0x38-0x3B */ + 0x9A, 0x49, 0x9A, 0x4A, 0xBF, 0xEE, 0x9A, 0x4B, /* 0x3C-0x3F */ + 0x9A, 0x4C, 0x9A, 0x4D, 0x9A, 0x4E, 0xEC, 0xA6, /* 0x40-0x43 */ + 0x9A, 0x4F, 0x9A, 0x50, 0xEC, 0xA7, 0xD0, 0xAA, /* 0x44-0x47 */ + 0x9A, 0x51, 0xC7, 0xB8, 0x9A, 0x52, 0x9A, 0x53, /* 0x48-0x4B */ + 0xB8, 0xE8, 0x9A, 0x54, 0x9A, 0x55, 0x9A, 0x56, /* 0x4C-0x4F */ + 0x9A, 0x57, 0x9A, 0x58, 0x9A, 0x59, 0x9A, 0x5A, /* 0x50-0x53 */ + 0x9A, 0x5B, 0x9A, 0x5C, 0x9A, 0x5D, 0x9A, 0x5E, /* 0x54-0x57 */ + 0x9A, 0x5F, 0xEC, 0xA8, 0x9A, 0x60, 0x9A, 0x61, /* 0x58-0x5B */ + 0x9A, 0x62, 0x9A, 0x63, 0x9A, 0x64, 0x9A, 0x65, /* 0x5C-0x5F */ + 0x9A, 0x66, 0x9A, 0x67, 0xD6, 0xB9, 0xD5, 0xFD, /* 0x60-0x63 */ + 0xB4, 0xCB, 0xB2, 0xBD, 0xCE, 0xE4, 0xC6, 0xE7, /* 0x64-0x67 */ + 0x9A, 0x68, 0x9A, 0x69, 0xCD, 0xE1, 0x9A, 0x6A, /* 0x68-0x6B */ + 0x9A, 0x6B, 0x9A, 0x6C, 0x9A, 0x6D, 0x9A, 0x6E, /* 0x6C-0x6F */ + 0x9A, 0x6F, 0x9A, 0x70, 0x9A, 0x71, 0x9A, 0x72, /* 0x70-0x73 */ + 0x9A, 0x73, 0x9A, 0x74, 0x9A, 0x75, 0x9A, 0x76, /* 0x74-0x77 */ + 0x9A, 0x77, 0xB4, 0xF5, 0x9A, 0x78, 0xCB, 0xC0, /* 0x78-0x7B */ + 0xBC, 0xDF, 0x9A, 0x79, 0x9A, 0x7A, 0x9A, 0x7B, /* 0x7C-0x7F */ + + 0x9A, 0x7C, 0xE9, 0xE2, 0xE9, 0xE3, 0xD1, 0xEA, /* 0x80-0x83 */ + 0xE9, 0xE5, 0x9A, 0x7D, 0xB4, 0xF9, 0xE9, 0xE4, /* 0x84-0x87 */ + 0x9A, 0x7E, 0xD1, 0xB3, 0xCA, 0xE2, 0xB2, 0xD0, /* 0x88-0x8B */ + 0x9A, 0x80, 0xE9, 0xE8, 0x9A, 0x81, 0x9A, 0x82, /* 0x8C-0x8F */ + 0x9A, 0x83, 0x9A, 0x84, 0xE9, 0xE6, 0xE9, 0xE7, /* 0x90-0x93 */ + 0x9A, 0x85, 0x9A, 0x86, 0xD6, 0xB3, 0x9A, 0x87, /* 0x94-0x97 */ + 0x9A, 0x88, 0x9A, 0x89, 0xE9, 0xE9, 0xE9, 0xEA, /* 0x98-0x9B */ + 0x9A, 0x8A, 0x9A, 0x8B, 0x9A, 0x8C, 0x9A, 0x8D, /* 0x9C-0x9F */ + 0x9A, 0x8E, 0xE9, 0xEB, 0x9A, 0x8F, 0x9A, 0x90, /* 0xA0-0xA3 */ + 0x9A, 0x91, 0x9A, 0x92, 0x9A, 0x93, 0x9A, 0x94, /* 0xA4-0xA7 */ + 0x9A, 0x95, 0x9A, 0x96, 0xE9, 0xEC, 0x9A, 0x97, /* 0xA8-0xAB */ + 0x9A, 0x98, 0x9A, 0x99, 0x9A, 0x9A, 0x9A, 0x9B, /* 0xAC-0xAF */ + 0x9A, 0x9C, 0x9A, 0x9D, 0x9A, 0x9E, 0xEC, 0xAF, /* 0xB0-0xB3 */ + 0xC5, 0xB9, 0xB6, 0xCE, 0x9A, 0x9F, 0xD2, 0xF3, /* 0xB4-0xB7 */ + 0x9A, 0xA0, 0x9A, 0xA1, 0x9A, 0xA2, 0x9A, 0xA3, /* 0xB8-0xBB */ + 0x9A, 0xA4, 0x9A, 0xA5, 0x9A, 0xA6, 0xB5, 0xEE, /* 0xBC-0xBF */ + 0x9A, 0xA7, 0xBB, 0xD9, 0xEC, 0xB1, 0x9A, 0xA8, /* 0xC0-0xC3 */ + 0x9A, 0xA9, 0xD2, 0xE3, 0x9A, 0xAA, 0x9A, 0xAB, /* 0xC4-0xC7 */ + 0x9A, 0xAC, 0x9A, 0xAD, 0x9A, 0xAE, 0xCE, 0xE3, /* 0xC8-0xCB */ + 0x9A, 0xAF, 0xC4, 0xB8, 0x9A, 0xB0, 0xC3, 0xBF, /* 0xCC-0xCF */ + 0x9A, 0xB1, 0x9A, 0xB2, 0xB6, 0xBE, 0xD8, 0xB9, /* 0xD0-0xD3 */ + 0xB1, 0xC8, 0xB1, 0xCF, 0xB1, 0xD1, 0xC5, 0xFE, /* 0xD4-0xD7 */ + 0x9A, 0xB3, 0xB1, 0xD0, 0x9A, 0xB4, 0xC3, 0xAB, /* 0xD8-0xDB */ + 0x9A, 0xB5, 0x9A, 0xB6, 0x9A, 0xB7, 0x9A, 0xB8, /* 0xDC-0xDF */ + 0x9A, 0xB9, 0xD5, 0xB1, 0x9A, 0xBA, 0x9A, 0xBB, /* 0xE0-0xE3 */ + 0x9A, 0xBC, 0x9A, 0xBD, 0x9A, 0xBE, 0x9A, 0xBF, /* 0xE4-0xE7 */ + 0x9A, 0xC0, 0x9A, 0xC1, 0xEB, 0xA4, 0xBA, 0xC1, /* 0xE8-0xEB */ + 0x9A, 0xC2, 0x9A, 0xC3, 0x9A, 0xC4, 0xCC, 0xBA, /* 0xEC-0xEF */ + 0x9A, 0xC5, 0x9A, 0xC6, 0x9A, 0xC7, 0xEB, 0xA5, /* 0xF0-0xF3 */ + 0x9A, 0xC8, 0xEB, 0xA7, 0x9A, 0xC9, 0x9A, 0xCA, /* 0xF4-0xF7 */ + 0x9A, 0xCB, 0xEB, 0xA8, 0x9A, 0xCC, 0x9A, 0xCD, /* 0xF8-0xFB */ + 0x9A, 0xCE, 0xEB, 0xA6, 0x9A, 0xCF, 0x9A, 0xD0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6C[512] = { + 0x9A, 0xD1, 0x9A, 0xD2, 0x9A, 0xD3, 0x9A, 0xD4, /* 0x00-0x03 */ + 0x9A, 0xD5, 0xEB, 0xA9, 0xEB, 0xAB, 0xEB, 0xAA, /* 0x04-0x07 */ + 0x9A, 0xD6, 0x9A, 0xD7, 0x9A, 0xD8, 0x9A, 0xD9, /* 0x08-0x0B */ + 0x9A, 0xDA, 0xEB, 0xAC, 0x9A, 0xDB, 0xCA, 0xCF, /* 0x0C-0x0F */ + 0xD8, 0xB5, 0xC3, 0xF1, 0x9A, 0xDC, 0xC3, 0xA5, /* 0x10-0x13 */ + 0xC6, 0xF8, 0xEB, 0xAD, 0xC4, 0xCA, 0x9A, 0xDD, /* 0x14-0x17 */ + 0xEB, 0xAE, 0xEB, 0xAF, 0xEB, 0xB0, 0xB7, 0xD5, /* 0x18-0x1B */ + 0x9A, 0xDE, 0x9A, 0xDF, 0x9A, 0xE0, 0xB7, 0xFA, /* 0x1C-0x1F */ + 0x9A, 0xE1, 0xEB, 0xB1, 0xC7, 0xE2, 0x9A, 0xE2, /* 0x20-0x23 */ + 0xEB, 0xB3, 0x9A, 0xE3, 0xBA, 0xA4, 0xD1, 0xF5, /* 0x24-0x27 */ + 0xB0, 0xB1, 0xEB, 0xB2, 0xEB, 0xB4, 0x9A, 0xE4, /* 0x28-0x2B */ + 0x9A, 0xE5, 0x9A, 0xE6, 0xB5, 0xAA, 0xC2, 0xC8, /* 0x2C-0x2F */ + 0xC7, 0xE8, 0x9A, 0xE7, 0xEB, 0xB5, 0x9A, 0xE8, /* 0x30-0x33 */ + 0xCB, 0xAE, 0xE3, 0xDF, 0x9A, 0xE9, 0x9A, 0xEA, /* 0x34-0x37 */ + 0xD3, 0xC0, 0x9A, 0xEB, 0x9A, 0xEC, 0x9A, 0xED, /* 0x38-0x3B */ + 0x9A, 0xEE, 0xD9, 0xDB, 0x9A, 0xEF, 0x9A, 0xF0, /* 0x3C-0x3F */ + 0xCD, 0xA1, 0xD6, 0xAD, 0xC7, 0xF3, 0x9A, 0xF1, /* 0x40-0x43 */ + 0x9A, 0xF2, 0x9A, 0xF3, 0xD9, 0xE0, 0xBB, 0xE3, /* 0x44-0x47 */ + 0x9A, 0xF4, 0xBA, 0xBA, 0xE3, 0xE2, 0x9A, 0xF5, /* 0x48-0x4B */ + 0x9A, 0xF6, 0x9A, 0xF7, 0x9A, 0xF8, 0x9A, 0xF9, /* 0x4C-0x4F */ + 0xCF, 0xAB, 0x9A, 0xFA, 0x9A, 0xFB, 0x9A, 0xFC, /* 0x50-0x53 */ + 0xE3, 0xE0, 0xC9, 0xC7, 0x9A, 0xFD, 0xBA, 0xB9, /* 0x54-0x57 */ + 0x9A, 0xFE, 0x9B, 0x40, 0x9B, 0x41, 0xD1, 0xB4, /* 0x58-0x5B */ + 0xE3, 0xE1, 0xC8, 0xEA, 0xB9, 0xAF, 0xBD, 0xAD, /* 0x5C-0x5F */ + 0xB3, 0xD8, 0xCE, 0xDB, 0x9B, 0x42, 0x9B, 0x43, /* 0x60-0x63 */ + 0xCC, 0xC0, 0x9B, 0x44, 0x9B, 0x45, 0x9B, 0x46, /* 0x64-0x67 */ + 0xE3, 0xE8, 0xE3, 0xE9, 0xCD, 0xF4, 0x9B, 0x47, /* 0x68-0x6B */ + 0x9B, 0x48, 0x9B, 0x49, 0x9B, 0x4A, 0x9B, 0x4B, /* 0x6C-0x6F */ + 0xCC, 0xAD, 0x9B, 0x4C, 0xBC, 0xB3, 0x9B, 0x4D, /* 0x70-0x73 */ + 0xE3, 0xEA, 0x9B, 0x4E, 0xE3, 0xEB, 0x9B, 0x4F, /* 0x74-0x77 */ + 0x9B, 0x50, 0xD0, 0xDA, 0x9B, 0x51, 0x9B, 0x52, /* 0x78-0x7B */ + 0x9B, 0x53, 0xC6, 0xFB, 0xB7, 0xDA, 0x9B, 0x54, /* 0x7C-0x7F */ + + 0x9B, 0x55, 0xC7, 0xDF, 0xD2, 0xCA, 0xCE, 0xD6, /* 0x80-0x83 */ + 0x9B, 0x56, 0xE3, 0xE4, 0xE3, 0xEC, 0x9B, 0x57, /* 0x84-0x87 */ + 0xC9, 0xF2, 0xB3, 0xC1, 0x9B, 0x58, 0x9B, 0x59, /* 0x88-0x8B */ + 0xE3, 0xE7, 0x9B, 0x5A, 0x9B, 0x5B, 0xC6, 0xE3, /* 0x8C-0x8F */ + 0xE3, 0xE5, 0x9B, 0x5C, 0x9B, 0x5D, 0xED, 0xB3, /* 0x90-0x93 */ + 0xE3, 0xE6, 0x9B, 0x5E, 0x9B, 0x5F, 0x9B, 0x60, /* 0x94-0x97 */ + 0x9B, 0x61, 0xC9, 0xB3, 0x9B, 0x62, 0xC5, 0xE6, /* 0x98-0x9B */ + 0x9B, 0x63, 0x9B, 0x64, 0x9B, 0x65, 0xB9, 0xB5, /* 0x9C-0x9F */ + 0x9B, 0x66, 0xC3, 0xBB, 0x9B, 0x67, 0xE3, 0xE3, /* 0xA0-0xA3 */ + 0xC5, 0xBD, 0xC1, 0xA4, 0xC2, 0xD9, 0xB2, 0xD7, /* 0xA4-0xA7 */ + 0x9B, 0x68, 0xE3, 0xED, 0xBB, 0xA6, 0xC4, 0xAD, /* 0xA8-0xAB */ + 0x9B, 0x69, 0xE3, 0xF0, 0xBE, 0xDA, 0x9B, 0x6A, /* 0xAC-0xAF */ + 0x9B, 0x6B, 0xE3, 0xFB, 0xE3, 0xF5, 0xBA, 0xD3, /* 0xB0-0xB3 */ + 0x9B, 0x6C, 0x9B, 0x6D, 0x9B, 0x6E, 0x9B, 0x6F, /* 0xB4-0xB7 */ + 0xB7, 0xD0, 0xD3, 0xCD, 0x9B, 0x70, 0xD6, 0xCE, /* 0xB8-0xBB */ + 0xD5, 0xD3, 0xB9, 0xC1, 0xD5, 0xB4, 0xD1, 0xD8, /* 0xBC-0xBF */ + 0x9B, 0x71, 0x9B, 0x72, 0x9B, 0x73, 0x9B, 0x74, /* 0xC0-0xC3 */ + 0xD0, 0xB9, 0xC7, 0xF6, 0x9B, 0x75, 0x9B, 0x76, /* 0xC4-0xC7 */ + 0x9B, 0x77, 0xC8, 0xAA, 0xB2, 0xB4, 0x9B, 0x78, /* 0xC8-0xCB */ + 0xC3, 0xDA, 0x9B, 0x79, 0x9B, 0x7A, 0x9B, 0x7B, /* 0xCC-0xCF */ + 0xE3, 0xEE, 0x9B, 0x7C, 0x9B, 0x7D, 0xE3, 0xFC, /* 0xD0-0xD3 */ + 0xE3, 0xEF, 0xB7, 0xA8, 0xE3, 0xF7, 0xE3, 0xF4, /* 0xD4-0xD7 */ + 0x9B, 0x7E, 0x9B, 0x80, 0x9B, 0x81, 0xB7, 0xBA, /* 0xD8-0xDB */ + 0x9B, 0x82, 0x9B, 0x83, 0xC5, 0xA2, 0x9B, 0x84, /* 0xDC-0xDF */ + 0xE3, 0xF6, 0xC5, 0xDD, 0xB2, 0xA8, 0xC6, 0xFC, /* 0xE0-0xE3 */ + 0x9B, 0x85, 0xC4, 0xE0, 0x9B, 0x86, 0x9B, 0x87, /* 0xE4-0xE7 */ + 0xD7, 0xA2, 0x9B, 0x88, 0xC0, 0xE1, 0xE3, 0xF9, /* 0xE8-0xEB */ + 0x9B, 0x89, 0x9B, 0x8A, 0xE3, 0xFA, 0xE3, 0xFD, /* 0xEC-0xEF */ + 0xCC, 0xA9, 0xE3, 0xF3, 0x9B, 0x8B, 0xD3, 0xBE, /* 0xF0-0xF3 */ + 0x9B, 0x8C, 0xB1, 0xC3, 0xED, 0xB4, 0xE3, 0xF1, /* 0xF4-0xF7 */ + 0xE3, 0xF2, 0x9B, 0x8D, 0xE3, 0xF8, 0xD0, 0xBA, /* 0xF8-0xFB */ + 0xC6, 0xC3, 0xD4, 0xF3, 0xE3, 0xFE, 0x9B, 0x8E, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6D[512] = { + 0x9B, 0x8F, 0xBD, 0xE0, 0x9B, 0x90, 0x9B, 0x91, /* 0x00-0x03 */ + 0xE4, 0xA7, 0x9B, 0x92, 0x9B, 0x93, 0xE4, 0xA6, /* 0x04-0x07 */ + 0x9B, 0x94, 0x9B, 0x95, 0x9B, 0x96, 0xD1, 0xF3, /* 0x08-0x0B */ + 0xE4, 0xA3, 0x9B, 0x97, 0xE4, 0xA9, 0x9B, 0x98, /* 0x0C-0x0F */ + 0x9B, 0x99, 0x9B, 0x9A, 0xC8, 0xF7, 0x9B, 0x9B, /* 0x10-0x13 */ + 0x9B, 0x9C, 0x9B, 0x9D, 0x9B, 0x9E, 0xCF, 0xB4, /* 0x14-0x17 */ + 0x9B, 0x9F, 0xE4, 0xA8, 0xE4, 0xAE, 0xC2, 0xE5, /* 0x18-0x1B */ + 0x9B, 0xA0, 0x9B, 0xA1, 0xB6, 0xB4, 0x9B, 0xA2, /* 0x1C-0x1F */ + 0x9B, 0xA3, 0x9B, 0xA4, 0x9B, 0xA5, 0x9B, 0xA6, /* 0x20-0x23 */ + 0x9B, 0xA7, 0xBD, 0xF2, 0x9B, 0xA8, 0xE4, 0xA2, /* 0x24-0x27 */ + 0x9B, 0xA9, 0x9B, 0xAA, 0xBA, 0xE9, 0xE4, 0xAA, /* 0x28-0x2B */ + 0x9B, 0xAB, 0x9B, 0xAC, 0xE4, 0xAC, 0x9B, 0xAD, /* 0x2C-0x2F */ + 0x9B, 0xAE, 0xB6, 0xFD, 0xD6, 0xDE, 0xE4, 0xB2, /* 0x30-0x33 */ + 0x9B, 0xAF, 0xE4, 0xAD, 0x9B, 0xB0, 0x9B, 0xB1, /* 0x34-0x37 */ + 0x9B, 0xB2, 0xE4, 0xA1, 0x9B, 0xB3, 0xBB, 0xEE, /* 0x38-0x3B */ + 0xCD, 0xDD, 0xC7, 0xA2, 0xC5, 0xC9, 0x9B, 0xB4, /* 0x3C-0x3F */ + 0x9B, 0xB5, 0xC1, 0xF7, 0x9B, 0xB6, 0xE4, 0xA4, /* 0x40-0x43 */ + 0x9B, 0xB7, 0xC7, 0xB3, 0xBD, 0xAC, 0xBD, 0xBD, /* 0x44-0x47 */ + 0xE4, 0xA5, 0x9B, 0xB8, 0xD7, 0xC7, 0xB2, 0xE2, /* 0x48-0x4B */ + 0x9B, 0xB9, 0xE4, 0xAB, 0xBC, 0xC3, 0xE4, 0xAF, /* 0x4C-0x4F */ + 0x9B, 0xBA, 0xBB, 0xEB, 0xE4, 0xB0, 0xC5, 0xA8, /* 0x50-0x53 */ + 0xE4, 0xB1, 0x9B, 0xBB, 0x9B, 0xBC, 0x9B, 0xBD, /* 0x54-0x57 */ + 0x9B, 0xBE, 0xD5, 0xE3, 0xBF, 0xA3, 0x9B, 0xBF, /* 0x58-0x5B */ + 0xE4, 0xBA, 0x9B, 0xC0, 0xE4, 0xB7, 0x9B, 0xC1, /* 0x5C-0x5F */ + 0xE4, 0xBB, 0x9B, 0xC2, 0x9B, 0xC3, 0xE4, 0xBD, /* 0x60-0x63 */ + 0x9B, 0xC4, 0x9B, 0xC5, 0xC6, 0xD6, 0x9B, 0xC6, /* 0x64-0x67 */ + 0x9B, 0xC7, 0xBA, 0xC6, 0xC0, 0xCB, 0x9B, 0xC8, /* 0x68-0x6B */ + 0x9B, 0xC9, 0x9B, 0xCA, 0xB8, 0xA1, 0xE4, 0xB4, /* 0x6C-0x6F */ + 0x9B, 0xCB, 0x9B, 0xCC, 0x9B, 0xCD, 0x9B, 0xCE, /* 0x70-0x73 */ + 0xD4, 0xA1, 0x9B, 0xCF, 0x9B, 0xD0, 0xBA, 0xA3, /* 0x74-0x77 */ + 0xBD, 0xFE, 0x9B, 0xD1, 0x9B, 0xD2, 0x9B, 0xD3, /* 0x78-0x7B */ + 0xE4, 0xBC, 0x9B, 0xD4, 0x9B, 0xD5, 0x9B, 0xD6, /* 0x7C-0x7F */ + + 0x9B, 0xD7, 0x9B, 0xD8, 0xCD, 0xBF, 0x9B, 0xD9, /* 0x80-0x83 */ + 0x9B, 0xDA, 0xC4, 0xF9, 0x9B, 0xDB, 0x9B, 0xDC, /* 0x84-0x87 */ + 0xCF, 0xFB, 0xC9, 0xE6, 0x9B, 0xDD, 0x9B, 0xDE, /* 0x88-0x8B */ + 0xD3, 0xBF, 0x9B, 0xDF, 0xCF, 0xD1, 0x9B, 0xE0, /* 0x8C-0x8F */ + 0x9B, 0xE1, 0xE4, 0xB3, 0x9B, 0xE2, 0xE4, 0xB8, /* 0x90-0x93 */ + 0xE4, 0xB9, 0xCC, 0xE9, 0x9B, 0xE3, 0x9B, 0xE4, /* 0x94-0x97 */ + 0x9B, 0xE5, 0x9B, 0xE6, 0x9B, 0xE7, 0xCC, 0xCE, /* 0x98-0x9B */ + 0x9B, 0xE8, 0xC0, 0xD4, 0xE4, 0xB5, 0xC1, 0xB0, /* 0x9C-0x9F */ + 0xE4, 0xB6, 0xCE, 0xD0, 0x9B, 0xE9, 0xBB, 0xC1, /* 0xA0-0xA3 */ + 0xB5, 0xD3, 0x9B, 0xEA, 0xC8, 0xF3, 0xBD, 0xA7, /* 0xA4-0xA7 */ + 0xD5, 0xC7, 0xC9, 0xAC, 0xB8, 0xA2, 0xE4, 0xCA, /* 0xA8-0xAB */ + 0x9B, 0xEB, 0x9B, 0xEC, 0xE4, 0xCC, 0xD1, 0xC4, /* 0xAC-0xAF */ + 0x9B, 0xED, 0x9B, 0xEE, 0xD2, 0xBA, 0x9B, 0xEF, /* 0xB0-0xB3 */ + 0x9B, 0xF0, 0xBA, 0xAD, 0x9B, 0xF1, 0x9B, 0xF2, /* 0xB4-0xB7 */ + 0xBA, 0xD4, 0x9B, 0xF3, 0x9B, 0xF4, 0x9B, 0xF5, /* 0xB8-0xBB */ + 0x9B, 0xF6, 0x9B, 0xF7, 0x9B, 0xF8, 0xE4, 0xC3, /* 0xBC-0xBF */ + 0xB5, 0xED, 0x9B, 0xF9, 0x9B, 0xFA, 0x9B, 0xFB, /* 0xC0-0xC3 */ + 0xD7, 0xCD, 0xE4, 0xC0, 0xCF, 0xFD, 0xE4, 0xBF, /* 0xC4-0xC7 */ + 0x9B, 0xFC, 0x9B, 0xFD, 0x9B, 0xFE, 0xC1, 0xDC, /* 0xC8-0xCB */ + 0xCC, 0xCA, 0x9C, 0x40, 0x9C, 0x41, 0x9C, 0x42, /* 0xCC-0xCF */ + 0x9C, 0x43, 0xCA, 0xE7, 0x9C, 0x44, 0x9C, 0x45, /* 0xD0-0xD3 */ + 0x9C, 0x46, 0x9C, 0x47, 0xC4, 0xD7, 0x9C, 0x48, /* 0xD4-0xD7 */ + 0xCC, 0xD4, 0xE4, 0xC8, 0x9C, 0x49, 0x9C, 0x4A, /* 0xD8-0xDB */ + 0x9C, 0x4B, 0xE4, 0xC7, 0xE4, 0xC1, 0x9C, 0x4C, /* 0xDC-0xDF */ + 0xE4, 0xC4, 0xB5, 0xAD, 0x9C, 0x4D, 0x9C, 0x4E, /* 0xE0-0xE3 */ + 0xD3, 0xD9, 0x9C, 0x4F, 0xE4, 0xC6, 0x9C, 0x50, /* 0xE4-0xE7 */ + 0x9C, 0x51, 0x9C, 0x52, 0x9C, 0x53, 0xD2, 0xF9, /* 0xE8-0xEB */ + 0xB4, 0xE3, 0x9C, 0x54, 0xBB, 0xB4, 0x9C, 0x55, /* 0xEC-0xEF */ + 0x9C, 0x56, 0xC9, 0xEE, 0x9C, 0x57, 0xB4, 0xBE, /* 0xF0-0xF3 */ + 0x9C, 0x58, 0x9C, 0x59, 0x9C, 0x5A, 0xBB, 0xEC, /* 0xF4-0xF7 */ + 0x9C, 0x5B, 0xD1, 0xCD, 0x9C, 0x5C, 0xCC, 0xED, /* 0xF8-0xFB */ + 0xED, 0xB5, 0x9C, 0x5D, 0x9C, 0x5E, 0x9C, 0x5F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6E[512] = { + 0x9C, 0x60, 0x9C, 0x61, 0x9C, 0x62, 0x9C, 0x63, /* 0x00-0x03 */ + 0x9C, 0x64, 0xC7, 0xE5, 0x9C, 0x65, 0x9C, 0x66, /* 0x04-0x07 */ + 0x9C, 0x67, 0x9C, 0x68, 0xD4, 0xA8, 0x9C, 0x69, /* 0x08-0x0B */ + 0xE4, 0xCB, 0xD7, 0xD5, 0xE4, 0xC2, 0x9C, 0x6A, /* 0x0C-0x0F */ + 0xBD, 0xA5, 0xE4, 0xC5, 0x9C, 0x6B, 0x9C, 0x6C, /* 0x10-0x13 */ + 0xD3, 0xE6, 0x9C, 0x6D, 0xE4, 0xC9, 0xC9, 0xF8, /* 0x14-0x17 */ + 0x9C, 0x6E, 0x9C, 0x6F, 0xE4, 0xBE, 0x9C, 0x70, /* 0x18-0x1B */ + 0x9C, 0x71, 0xD3, 0xE5, 0x9C, 0x72, 0x9C, 0x73, /* 0x1C-0x1F */ + 0xC7, 0xFE, 0xB6, 0xC9, 0x9C, 0x74, 0xD4, 0xFC, /* 0x20-0x23 */ + 0xB2, 0xB3, 0xE4, 0xD7, 0x9C, 0x75, 0x9C, 0x76, /* 0x24-0x27 */ + 0x9C, 0x77, 0xCE, 0xC2, 0x9C, 0x78, 0xE4, 0xCD, /* 0x28-0x2B */ + 0x9C, 0x79, 0xCE, 0xBC, 0x9C, 0x7A, 0xB8, 0xDB, /* 0x2C-0x2F */ + 0x9C, 0x7B, 0x9C, 0x7C, 0xE4, 0xD6, 0x9C, 0x7D, /* 0x30-0x33 */ + 0xBF, 0xCA, 0x9C, 0x7E, 0x9C, 0x80, 0x9C, 0x81, /* 0x34-0x37 */ + 0xD3, 0xCE, 0x9C, 0x82, 0xC3, 0xEC, 0x9C, 0x83, /* 0x38-0x3B */ + 0x9C, 0x84, 0x9C, 0x85, 0x9C, 0x86, 0x9C, 0x87, /* 0x3C-0x3F */ + 0x9C, 0x88, 0x9C, 0x89, 0x9C, 0x8A, 0xC5, 0xC8, /* 0x40-0x43 */ + 0xE4, 0xD8, 0x9C, 0x8B, 0x9C, 0x8C, 0x9C, 0x8D, /* 0x44-0x47 */ + 0x9C, 0x8E, 0x9C, 0x8F, 0x9C, 0x90, 0x9C, 0x91, /* 0x48-0x4B */ + 0x9C, 0x92, 0xCD, 0xC4, 0xE4, 0xCF, 0x9C, 0x93, /* 0x4C-0x4F */ + 0x9C, 0x94, 0x9C, 0x95, 0x9C, 0x96, 0xE4, 0xD4, /* 0x50-0x53 */ + 0xE4, 0xD5, 0x9C, 0x97, 0xBA, 0xFE, 0x9C, 0x98, /* 0x54-0x57 */ + 0xCF, 0xE6, 0x9C, 0x99, 0x9C, 0x9A, 0xD5, 0xBF, /* 0x58-0x5B */ + 0x9C, 0x9B, 0x9C, 0x9C, 0x9C, 0x9D, 0xE4, 0xD2, /* 0x5C-0x5F */ + 0x9C, 0x9E, 0x9C, 0x9F, 0x9C, 0xA0, 0x9C, 0xA1, /* 0x60-0x63 */ + 0x9C, 0xA2, 0x9C, 0xA3, 0x9C, 0xA4, 0x9C, 0xA5, /* 0x64-0x67 */ + 0x9C, 0xA6, 0x9C, 0xA7, 0x9C, 0xA8, 0xE4, 0xD0, /* 0x68-0x6B */ + 0x9C, 0xA9, 0x9C, 0xAA, 0xE4, 0xCE, 0x9C, 0xAB, /* 0x6C-0x6F */ + 0x9C, 0xAC, 0x9C, 0xAD, 0x9C, 0xAE, 0x9C, 0xAF, /* 0x70-0x73 */ + 0x9C, 0xB0, 0x9C, 0xB1, 0x9C, 0xB2, 0x9C, 0xB3, /* 0x74-0x77 */ + 0x9C, 0xB4, 0x9C, 0xB5, 0x9C, 0xB6, 0x9C, 0xB7, /* 0x78-0x7B */ + 0x9C, 0xB8, 0x9C, 0xB9, 0xCD, 0xE5, 0xCA, 0xAA, /* 0x7C-0x7F */ + + 0x9C, 0xBA, 0x9C, 0xBB, 0x9C, 0xBC, 0xC0, 0xA3, /* 0x80-0x83 */ + 0x9C, 0xBD, 0xBD, 0xA6, 0xE4, 0xD3, 0x9C, 0xBE, /* 0x84-0x87 */ + 0x9C, 0xBF, 0xB8, 0xC8, 0x9C, 0xC0, 0x9C, 0xC1, /* 0x88-0x8B */ + 0x9C, 0xC2, 0x9C, 0xC3, 0x9C, 0xC4, 0xE4, 0xE7, /* 0x8C-0x8F */ + 0xD4, 0xB4, 0x9C, 0xC5, 0x9C, 0xC6, 0x9C, 0xC7, /* 0x90-0x93 */ + 0x9C, 0xC8, 0x9C, 0xC9, 0x9C, 0xCA, 0x9C, 0xCB, /* 0x94-0x97 */ + 0xE4, 0xDB, 0x9C, 0xCC, 0x9C, 0xCD, 0x9C, 0xCE, /* 0x98-0x9B */ + 0xC1, 0xEF, 0x9C, 0xCF, 0x9C, 0xD0, 0xE4, 0xE9, /* 0x9C-0x9F */ + 0x9C, 0xD1, 0x9C, 0xD2, 0xD2, 0xE7, 0x9C, 0xD3, /* 0xA0-0xA3 */ + 0x9C, 0xD4, 0xE4, 0xDF, 0x9C, 0xD5, 0xE4, 0xE0, /* 0xA4-0xA7 */ + 0x9C, 0xD6, 0x9C, 0xD7, 0xCF, 0xAA, 0x9C, 0xD8, /* 0xA8-0xAB */ + 0x9C, 0xD9, 0x9C, 0xDA, 0x9C, 0xDB, 0xCB, 0xDD, /* 0xAC-0xAF */ + 0x9C, 0xDC, 0xE4, 0xDA, 0xE4, 0xD1, 0x9C, 0xDD, /* 0xB0-0xB3 */ + 0xE4, 0xE5, 0x9C, 0xDE, 0xC8, 0xDC, 0xE4, 0xE3, /* 0xB4-0xB7 */ + 0x9C, 0xDF, 0x9C, 0xE0, 0xC4, 0xE7, 0xE4, 0xE2, /* 0xB8-0xBB */ + 0x9C, 0xE1, 0xE4, 0xE1, 0x9C, 0xE2, 0x9C, 0xE3, /* 0xBC-0xBF */ + 0x9C, 0xE4, 0xB3, 0xFC, 0xE4, 0xE8, 0x9C, 0xE5, /* 0xC0-0xC3 */ + 0x9C, 0xE6, 0x9C, 0xE7, 0x9C, 0xE8, 0xB5, 0xE1, /* 0xC4-0xC7 */ + 0x9C, 0xE9, 0x9C, 0xEA, 0x9C, 0xEB, 0xD7, 0xCC, /* 0xC8-0xCB */ + 0x9C, 0xEC, 0x9C, 0xED, 0x9C, 0xEE, 0xE4, 0xE6, /* 0xCC-0xCF */ + 0x9C, 0xEF, 0xBB, 0xAC, 0x9C, 0xF0, 0xD7, 0xD2, /* 0xD0-0xD3 */ + 0xCC, 0xCF, 0xEB, 0xF8, 0x9C, 0xF1, 0xE4, 0xE4, /* 0xD4-0xD7 */ + 0x9C, 0xF2, 0x9C, 0xF3, 0xB9, 0xF6, 0x9C, 0xF4, /* 0xD8-0xDB */ + 0x9C, 0xF5, 0x9C, 0xF6, 0xD6, 0xCD, 0xE4, 0xD9, /* 0xDC-0xDF */ + 0xE4, 0xDC, 0xC2, 0xFA, 0xE4, 0xDE, 0x9C, 0xF7, /* 0xE0-0xE3 */ + 0xC2, 0xCB, 0xC0, 0xC4, 0xC2, 0xD0, 0x9C, 0xF8, /* 0xE4-0xE7 */ + 0xB1, 0xF5, 0xCC, 0xB2, 0x9C, 0xF9, 0x9C, 0xFA, /* 0xE8-0xEB */ + 0x9C, 0xFB, 0x9C, 0xFC, 0x9C, 0xFD, 0x9C, 0xFE, /* 0xEC-0xEF */ + 0x9D, 0x40, 0x9D, 0x41, 0x9D, 0x42, 0x9D, 0x43, /* 0xF0-0xF3 */ + 0xB5, 0xCE, 0x9D, 0x44, 0x9D, 0x45, 0x9D, 0x46, /* 0xF4-0xF7 */ + 0x9D, 0x47, 0xE4, 0xEF, 0x9D, 0x48, 0x9D, 0x49, /* 0xF8-0xFB */ + 0x9D, 0x4A, 0x9D, 0x4B, 0x9D, 0x4C, 0x9D, 0x4D, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6F[512] = { + 0x9D, 0x4E, 0x9D, 0x4F, 0xC6, 0xAF, 0x9D, 0x50, /* 0x00-0x03 */ + 0x9D, 0x51, 0x9D, 0x52, 0xC6, 0xE1, 0x9D, 0x53, /* 0x04-0x07 */ + 0x9D, 0x54, 0xE4, 0xF5, 0x9D, 0x55, 0x9D, 0x56, /* 0x08-0x0B */ + 0x9D, 0x57, 0x9D, 0x58, 0x9D, 0x59, 0xC2, 0xA9, /* 0x0C-0x0F */ + 0x9D, 0x5A, 0x9D, 0x5B, 0x9D, 0x5C, 0xC0, 0xEC, /* 0x10-0x13 */ + 0xD1, 0xDD, 0xE4, 0xEE, 0x9D, 0x5D, 0x9D, 0x5E, /* 0x14-0x17 */ + 0x9D, 0x5F, 0x9D, 0x60, 0x9D, 0x61, 0x9D, 0x62, /* 0x18-0x1B */ + 0x9D, 0x63, 0x9D, 0x64, 0x9D, 0x65, 0x9D, 0x66, /* 0x1C-0x1F */ + 0xC4, 0xAE, 0x9D, 0x67, 0x9D, 0x68, 0x9D, 0x69, /* 0x20-0x23 */ + 0xE4, 0xED, 0x9D, 0x6A, 0x9D, 0x6B, 0x9D, 0x6C, /* 0x24-0x27 */ + 0x9D, 0x6D, 0xE4, 0xF6, 0xE4, 0xF4, 0xC2, 0xFE, /* 0x28-0x2B */ + 0x9D, 0x6E, 0xE4, 0xDD, 0x9D, 0x6F, 0xE4, 0xF0, /* 0x2C-0x2F */ + 0x9D, 0x70, 0xCA, 0xFE, 0x9D, 0x71, 0xD5, 0xC4, /* 0x30-0x33 */ + 0x9D, 0x72, 0x9D, 0x73, 0xE4, 0xF1, 0x9D, 0x74, /* 0x34-0x37 */ + 0x9D, 0x75, 0x9D, 0x76, 0x9D, 0x77, 0x9D, 0x78, /* 0x38-0x3B */ + 0x9D, 0x79, 0x9D, 0x7A, 0xD1, 0xFA, 0x9D, 0x7B, /* 0x3C-0x3F */ + 0x9D, 0x7C, 0x9D, 0x7D, 0x9D, 0x7E, 0x9D, 0x80, /* 0x40-0x43 */ + 0x9D, 0x81, 0x9D, 0x82, 0xE4, 0xEB, 0xE4, 0xEC, /* 0x44-0x47 */ + 0x9D, 0x83, 0x9D, 0x84, 0x9D, 0x85, 0xE4, 0xF2, /* 0x48-0x4B */ + 0x9D, 0x86, 0xCE, 0xAB, 0x9D, 0x87, 0x9D, 0x88, /* 0x4C-0x4F */ + 0x9D, 0x89, 0x9D, 0x8A, 0x9D, 0x8B, 0x9D, 0x8C, /* 0x50-0x53 */ + 0x9D, 0x8D, 0x9D, 0x8E, 0x9D, 0x8F, 0x9D, 0x90, /* 0x54-0x57 */ + 0xC5, 0xCB, 0x9D, 0x91, 0x9D, 0x92, 0x9D, 0x93, /* 0x58-0x5B */ + 0xC7, 0xB1, 0x9D, 0x94, 0xC2, 0xBA, 0x9D, 0x95, /* 0x5C-0x5F */ + 0x9D, 0x96, 0x9D, 0x97, 0xE4, 0xEA, 0x9D, 0x98, /* 0x60-0x63 */ + 0x9D, 0x99, 0x9D, 0x9A, 0xC1, 0xCA, 0x9D, 0x9B, /* 0x64-0x67 */ + 0x9D, 0x9C, 0x9D, 0x9D, 0x9D, 0x9E, 0x9D, 0x9F, /* 0x68-0x6B */ + 0x9D, 0xA0, 0xCC, 0xB6, 0xB3, 0xB1, 0x9D, 0xA1, /* 0x6C-0x6F */ + 0x9D, 0xA2, 0x9D, 0xA3, 0xE4, 0xFB, 0x9D, 0xA4, /* 0x70-0x73 */ + 0xE4, 0xF3, 0x9D, 0xA5, 0x9D, 0xA6, 0x9D, 0xA7, /* 0x74-0x77 */ + 0xE4, 0xFA, 0x9D, 0xA8, 0xE4, 0xFD, 0x9D, 0xA9, /* 0x78-0x7B */ + 0xE4, 0xFC, 0x9D, 0xAA, 0x9D, 0xAB, 0x9D, 0xAC, /* 0x7C-0x7F */ + + 0x9D, 0xAD, 0x9D, 0xAE, 0x9D, 0xAF, 0x9D, 0xB0, /* 0x80-0x83 */ + 0xB3, 0xCE, 0x9D, 0xB1, 0x9D, 0xB2, 0x9D, 0xB3, /* 0x84-0x87 */ + 0xB3, 0xBA, 0xE4, 0xF7, 0x9D, 0xB4, 0x9D, 0xB5, /* 0x88-0x8B */ + 0xE4, 0xF9, 0xE4, 0xF8, 0xC5, 0xEC, 0x9D, 0xB6, /* 0x8C-0x8F */ + 0x9D, 0xB7, 0x9D, 0xB8, 0x9D, 0xB9, 0x9D, 0xBA, /* 0x90-0x93 */ + 0x9D, 0xBB, 0x9D, 0xBC, 0x9D, 0xBD, 0x9D, 0xBE, /* 0x94-0x97 */ + 0x9D, 0xBF, 0x9D, 0xC0, 0x9D, 0xC1, 0x9D, 0xC2, /* 0x98-0x9B */ + 0xC0, 0xBD, 0x9D, 0xC3, 0x9D, 0xC4, 0x9D, 0xC5, /* 0x9C-0x9F */ + 0x9D, 0xC6, 0xD4, 0xE8, 0x9D, 0xC7, 0x9D, 0xC8, /* 0xA0-0xA3 */ + 0x9D, 0xC9, 0x9D, 0xCA, 0x9D, 0xCB, 0xE5, 0xA2, /* 0xA4-0xA7 */ + 0x9D, 0xCC, 0x9D, 0xCD, 0x9D, 0xCE, 0x9D, 0xCF, /* 0xA8-0xAB */ + 0x9D, 0xD0, 0x9D, 0xD1, 0x9D, 0xD2, 0x9D, 0xD3, /* 0xAC-0xAF */ + 0x9D, 0xD4, 0x9D, 0xD5, 0x9D, 0xD6, 0xB0, 0xC4, /* 0xB0-0xB3 */ + 0x9D, 0xD7, 0x9D, 0xD8, 0xE5, 0xA4, 0x9D, 0xD9, /* 0xB4-0xB7 */ + 0x9D, 0xDA, 0xE5, 0xA3, 0x9D, 0xDB, 0x9D, 0xDC, /* 0xB8-0xBB */ + 0x9D, 0xDD, 0x9D, 0xDE, 0x9D, 0xDF, 0x9D, 0xE0, /* 0xBC-0xBF */ + 0xBC, 0xA4, 0x9D, 0xE1, 0xE5, 0xA5, 0x9D, 0xE2, /* 0xC0-0xC3 */ + 0x9D, 0xE3, 0x9D, 0xE4, 0x9D, 0xE5, 0x9D, 0xE6, /* 0xC4-0xC7 */ + 0x9D, 0xE7, 0xE5, 0xA1, 0x9D, 0xE8, 0x9D, 0xE9, /* 0xC8-0xCB */ + 0x9D, 0xEA, 0x9D, 0xEB, 0x9D, 0xEC, 0x9D, 0xED, /* 0xCC-0xCF */ + 0x9D, 0xEE, 0xE4, 0xFE, 0xB1, 0xF4, 0x9D, 0xEF, /* 0xD0-0xD3 */ + 0x9D, 0xF0, 0x9D, 0xF1, 0x9D, 0xF2, 0x9D, 0xF3, /* 0xD4-0xD7 */ + 0x9D, 0xF4, 0x9D, 0xF5, 0x9D, 0xF6, 0x9D, 0xF7, /* 0xD8-0xDB */ + 0x9D, 0xF8, 0x9D, 0xF9, 0xE5, 0xA8, 0x9D, 0xFA, /* 0xDC-0xDF */ + 0xE5, 0xA9, 0xE5, 0xA6, 0x9D, 0xFB, 0x9D, 0xFC, /* 0xE0-0xE3 */ + 0x9D, 0xFD, 0x9D, 0xFE, 0x9E, 0x40, 0x9E, 0x41, /* 0xE4-0xE7 */ + 0x9E, 0x42, 0x9E, 0x43, 0x9E, 0x44, 0x9E, 0x45, /* 0xE8-0xEB */ + 0x9E, 0x46, 0x9E, 0x47, 0xE5, 0xA7, 0xE5, 0xAA, /* 0xEC-0xEF */ + 0x9E, 0x48, 0x9E, 0x49, 0x9E, 0x4A, 0x9E, 0x4B, /* 0xF0-0xF3 */ + 0x9E, 0x4C, 0x9E, 0x4D, 0x9E, 0x4E, 0x9E, 0x4F, /* 0xF4-0xF7 */ + 0x9E, 0x50, 0x9E, 0x51, 0x9E, 0x52, 0x9E, 0x53, /* 0xF8-0xFB */ + 0x9E, 0x54, 0x9E, 0x55, 0x9E, 0x56, 0x9E, 0x57, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_70[512] = { + 0x9E, 0x58, 0x9E, 0x59, 0x9E, 0x5A, 0x9E, 0x5B, /* 0x00-0x03 */ + 0x9E, 0x5C, 0x9E, 0x5D, 0x9E, 0x5E, 0x9E, 0x5F, /* 0x04-0x07 */ + 0x9E, 0x60, 0x9E, 0x61, 0x9E, 0x62, 0x9E, 0x63, /* 0x08-0x0B */ + 0x9E, 0x64, 0x9E, 0x65, 0x9E, 0x66, 0x9E, 0x67, /* 0x0C-0x0F */ + 0x9E, 0x68, 0xC6, 0xD9, 0x9E, 0x69, 0x9E, 0x6A, /* 0x10-0x13 */ + 0x9E, 0x6B, 0x9E, 0x6C, 0x9E, 0x6D, 0x9E, 0x6E, /* 0x14-0x17 */ + 0x9E, 0x6F, 0x9E, 0x70, 0xE5, 0xAB, 0xE5, 0xAD, /* 0x18-0x1B */ + 0x9E, 0x71, 0x9E, 0x72, 0x9E, 0x73, 0x9E, 0x74, /* 0x1C-0x1F */ + 0x9E, 0x75, 0x9E, 0x76, 0x9E, 0x77, 0xE5, 0xAC, /* 0x20-0x23 */ + 0x9E, 0x78, 0x9E, 0x79, 0x9E, 0x7A, 0x9E, 0x7B, /* 0x24-0x27 */ + 0x9E, 0x7C, 0x9E, 0x7D, 0x9E, 0x7E, 0x9E, 0x80, /* 0x28-0x2B */ + 0x9E, 0x81, 0x9E, 0x82, 0x9E, 0x83, 0x9E, 0x84, /* 0x2C-0x2F */ + 0x9E, 0x85, 0x9E, 0x86, 0x9E, 0x87, 0x9E, 0x88, /* 0x30-0x33 */ + 0x9E, 0x89, 0xE5, 0xAF, 0x9E, 0x8A, 0x9E, 0x8B, /* 0x34-0x37 */ + 0x9E, 0x8C, 0xE5, 0xAE, 0x9E, 0x8D, 0x9E, 0x8E, /* 0x38-0x3B */ + 0x9E, 0x8F, 0x9E, 0x90, 0x9E, 0x91, 0x9E, 0x92, /* 0x3C-0x3F */ + 0x9E, 0x93, 0x9E, 0x94, 0x9E, 0x95, 0x9E, 0x96, /* 0x40-0x43 */ + 0x9E, 0x97, 0x9E, 0x98, 0x9E, 0x99, 0x9E, 0x9A, /* 0x44-0x47 */ + 0x9E, 0x9B, 0x9E, 0x9C, 0x9E, 0x9D, 0x9E, 0x9E, /* 0x48-0x4B */ + 0xB9, 0xE0, 0x9E, 0x9F, 0x9E, 0xA0, 0xE5, 0xB0, /* 0x4C-0x4F */ + 0x9E, 0xA1, 0x9E, 0xA2, 0x9E, 0xA3, 0x9E, 0xA4, /* 0x50-0x53 */ + 0x9E, 0xA5, 0x9E, 0xA6, 0x9E, 0xA7, 0x9E, 0xA8, /* 0x54-0x57 */ + 0x9E, 0xA9, 0x9E, 0xAA, 0x9E, 0xAB, 0x9E, 0xAC, /* 0x58-0x5B */ + 0x9E, 0xAD, 0x9E, 0xAE, 0xE5, 0xB1, 0x9E, 0xAF, /* 0x5C-0x5F */ + 0x9E, 0xB0, 0x9E, 0xB1, 0x9E, 0xB2, 0x9E, 0xB3, /* 0x60-0x63 */ + 0x9E, 0xB4, 0x9E, 0xB5, 0x9E, 0xB6, 0x9E, 0xB7, /* 0x64-0x67 */ + 0x9E, 0xB8, 0x9E, 0xB9, 0x9E, 0xBA, 0xBB, 0xF0, /* 0x68-0x6B */ + 0xEC, 0xE1, 0xC3, 0xF0, 0x9E, 0xBB, 0xB5, 0xC6, /* 0x6C-0x6F */ + 0xBB, 0xD2, 0x9E, 0xBC, 0x9E, 0xBD, 0x9E, 0xBE, /* 0x70-0x73 */ + 0x9E, 0xBF, 0xC1, 0xE9, 0xD4, 0xEE, 0x9E, 0xC0, /* 0x74-0x77 */ + 0xBE, 0xC4, 0x9E, 0xC1, 0x9E, 0xC2, 0x9E, 0xC3, /* 0x78-0x7B */ + 0xD7, 0xC6, 0x9E, 0xC4, 0xD4, 0xD6, 0xB2, 0xD3, /* 0x7C-0x7F */ + + 0xEC, 0xBE, 0x9E, 0xC5, 0x9E, 0xC6, 0x9E, 0xC7, /* 0x80-0x83 */ + 0x9E, 0xC8, 0xEA, 0xC1, 0x9E, 0xC9, 0x9E, 0xCA, /* 0x84-0x87 */ + 0x9E, 0xCB, 0xC2, 0xAF, 0xB4, 0xB6, 0x9E, 0xCC, /* 0x88-0x8B */ + 0x9E, 0xCD, 0x9E, 0xCE, 0xD1, 0xD7, 0x9E, 0xCF, /* 0x8C-0x8F */ + 0x9E, 0xD0, 0x9E, 0xD1, 0xB3, 0xB4, 0x9E, 0xD2, /* 0x90-0x93 */ + 0xC8, 0xB2, 0xBF, 0xBB, 0xEC, 0xC0, 0x9E, 0xD3, /* 0x94-0x97 */ + 0x9E, 0xD4, 0xD6, 0xCB, 0x9E, 0xD5, 0x9E, 0xD6, /* 0x98-0x9B */ + 0xEC, 0xBF, 0xEC, 0xC1, 0x9E, 0xD7, 0x9E, 0xD8, /* 0x9C-0x9F */ + 0x9E, 0xD9, 0x9E, 0xDA, 0x9E, 0xDB, 0x9E, 0xDC, /* 0xA0-0xA3 */ + 0x9E, 0xDD, 0x9E, 0xDE, 0x9E, 0xDF, 0x9E, 0xE0, /* 0xA4-0xA7 */ + 0x9E, 0xE1, 0x9E, 0xE2, 0x9E, 0xE3, 0xEC, 0xC5, /* 0xA8-0xAB */ + 0xBE, 0xE6, 0xCC, 0xBF, 0xC5, 0xDA, 0xBE, 0xBC, /* 0xAC-0xAF */ + 0x9E, 0xE4, 0xEC, 0xC6, 0x9E, 0xE5, 0xB1, 0xFE, /* 0xB0-0xB3 */ + 0x9E, 0xE6, 0x9E, 0xE7, 0x9E, 0xE8, 0xEC, 0xC4, /* 0xB4-0xB7 */ + 0xD5, 0xA8, 0xB5, 0xE3, 0x9E, 0xE9, 0xEC, 0xC2, /* 0xB8-0xBB */ + 0xC1, 0xB6, 0xB3, 0xE3, 0x9E, 0xEA, 0x9E, 0xEB, /* 0xBC-0xBF */ + 0xEC, 0xC3, 0xCB, 0xB8, 0xC0, 0xC3, 0xCC, 0xFE, /* 0xC0-0xC3 */ + 0x9E, 0xEC, 0x9E, 0xED, 0x9E, 0xEE, 0x9E, 0xEF, /* 0xC4-0xC7 */ + 0xC1, 0xD2, 0x9E, 0xF0, 0xEC, 0xC8, 0x9E, 0xF1, /* 0xC8-0xCB */ + 0x9E, 0xF2, 0x9E, 0xF3, 0x9E, 0xF4, 0x9E, 0xF5, /* 0xCC-0xCF */ + 0x9E, 0xF6, 0x9E, 0xF7, 0x9E, 0xF8, 0x9E, 0xF9, /* 0xD0-0xD3 */ + 0x9E, 0xFA, 0x9E, 0xFB, 0x9E, 0xFC, 0x9E, 0xFD, /* 0xD4-0xD7 */ + 0xBA, 0xE6, 0xC0, 0xD3, 0x9E, 0xFE, 0xD6, 0xF2, /* 0xD8-0xDB */ + 0x9F, 0x40, 0x9F, 0x41, 0x9F, 0x42, 0xD1, 0xCC, /* 0xDC-0xDF */ + 0x9F, 0x43, 0x9F, 0x44, 0x9F, 0x45, 0x9F, 0x46, /* 0xE0-0xE3 */ + 0xBF, 0xBE, 0x9F, 0x47, 0xB7, 0xB3, 0xC9, 0xD5, /* 0xE4-0xE7 */ + 0xEC, 0xC7, 0xBB, 0xE2, 0x9F, 0x48, 0xCC, 0xCC, /* 0xE8-0xEB */ + 0xBD, 0xFD, 0xC8, 0xC8, 0x9F, 0x49, 0xCF, 0xA9, /* 0xEC-0xEF */ + 0x9F, 0x4A, 0x9F, 0x4B, 0x9F, 0x4C, 0x9F, 0x4D, /* 0xF0-0xF3 */ + 0x9F, 0x4E, 0x9F, 0x4F, 0x9F, 0x50, 0xCD, 0xE9, /* 0xF4-0xF7 */ + 0x9F, 0x51, 0xC5, 0xEB, 0x9F, 0x52, 0x9F, 0x53, /* 0xF8-0xFB */ + 0x9F, 0x54, 0xB7, 0xE9, 0x9F, 0x55, 0x9F, 0x56, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_71[512] = { + 0x9F, 0x57, 0x9F, 0x58, 0x9F, 0x59, 0x9F, 0x5A, /* 0x00-0x03 */ + 0x9F, 0x5B, 0x9F, 0x5C, 0x9F, 0x5D, 0x9F, 0x5E, /* 0x04-0x07 */ + 0x9F, 0x5F, 0xD1, 0xC9, 0xBA, 0xB8, 0x9F, 0x60, /* 0x08-0x0B */ + 0x9F, 0x61, 0x9F, 0x62, 0x9F, 0x63, 0x9F, 0x64, /* 0x0C-0x0F */ + 0xEC, 0xC9, 0x9F, 0x65, 0x9F, 0x66, 0xEC, 0xCA, /* 0x10-0x13 */ + 0x9F, 0x67, 0xBB, 0xC0, 0xEC, 0xCB, 0x9F, 0x68, /* 0x14-0x17 */ + 0xEC, 0xE2, 0xB1, 0xBA, 0xB7, 0xD9, 0x9F, 0x69, /* 0x18-0x1B */ + 0x9F, 0x6A, 0x9F, 0x6B, 0x9F, 0x6C, 0x9F, 0x6D, /* 0x1C-0x1F */ + 0x9F, 0x6E, 0x9F, 0x6F, 0x9F, 0x70, 0x9F, 0x71, /* 0x20-0x23 */ + 0x9F, 0x72, 0x9F, 0x73, 0xBD, 0xB9, 0x9F, 0x74, /* 0x24-0x27 */ + 0x9F, 0x75, 0x9F, 0x76, 0x9F, 0x77, 0x9F, 0x78, /* 0x28-0x2B */ + 0x9F, 0x79, 0x9F, 0x7A, 0x9F, 0x7B, 0xEC, 0xCC, /* 0x2C-0x2F */ + 0xD1, 0xE6, 0xEC, 0xCD, 0x9F, 0x7C, 0x9F, 0x7D, /* 0x30-0x33 */ + 0x9F, 0x7E, 0x9F, 0x80, 0xC8, 0xBB, 0x9F, 0x81, /* 0x34-0x37 */ + 0x9F, 0x82, 0x9F, 0x83, 0x9F, 0x84, 0x9F, 0x85, /* 0x38-0x3B */ + 0x9F, 0x86, 0x9F, 0x87, 0x9F, 0x88, 0x9F, 0x89, /* 0x3C-0x3F */ + 0x9F, 0x8A, 0x9F, 0x8B, 0x9F, 0x8C, 0x9F, 0x8D, /* 0x40-0x43 */ + 0x9F, 0x8E, 0xEC, 0xD1, 0x9F, 0x8F, 0x9F, 0x90, /* 0x44-0x47 */ + 0x9F, 0x91, 0x9F, 0x92, 0xEC, 0xD3, 0x9F, 0x93, /* 0x48-0x4B */ + 0xBB, 0xCD, 0x9F, 0x94, 0xBC, 0xE5, 0x9F, 0x95, /* 0x4C-0x4F */ + 0x9F, 0x96, 0x9F, 0x97, 0x9F, 0x98, 0x9F, 0x99, /* 0x50-0x53 */ + 0x9F, 0x9A, 0x9F, 0x9B, 0x9F, 0x9C, 0x9F, 0x9D, /* 0x54-0x57 */ + 0x9F, 0x9E, 0x9F, 0x9F, 0x9F, 0xA0, 0x9F, 0xA1, /* 0x58-0x5B */ + 0xEC, 0xCF, 0x9F, 0xA2, 0xC9, 0xB7, 0x9F, 0xA3, /* 0x5C-0x5F */ + 0x9F, 0xA4, 0x9F, 0xA5, 0x9F, 0xA6, 0x9F, 0xA7, /* 0x60-0x63 */ + 0xC3, 0xBA, 0x9F, 0xA8, 0xEC, 0xE3, 0xD5, 0xD5, /* 0x64-0x67 */ + 0xEC, 0xD0, 0x9F, 0xA9, 0x9F, 0xAA, 0x9F, 0xAB, /* 0x68-0x6B */ + 0x9F, 0xAC, 0x9F, 0xAD, 0xD6, 0xF3, 0x9F, 0xAE, /* 0x6C-0x6F */ + 0x9F, 0xAF, 0x9F, 0xB0, 0xEC, 0xD2, 0xEC, 0xCE, /* 0x70-0x73 */ + 0x9F, 0xB1, 0x9F, 0xB2, 0x9F, 0xB3, 0x9F, 0xB4, /* 0x74-0x77 */ + 0xEC, 0xD4, 0x9F, 0xB5, 0xEC, 0xD5, 0x9F, 0xB6, /* 0x78-0x7B */ + 0x9F, 0xB7, 0xC9, 0xBF, 0x9F, 0xB8, 0x9F, 0xB9, /* 0x7C-0x7F */ + + 0x9F, 0xBA, 0x9F, 0xBB, 0x9F, 0xBC, 0x9F, 0xBD, /* 0x80-0x83 */ + 0xCF, 0xA8, 0x9F, 0xBE, 0x9F, 0xBF, 0x9F, 0xC0, /* 0x84-0x87 */ + 0x9F, 0xC1, 0x9F, 0xC2, 0xD0, 0xDC, 0x9F, 0xC3, /* 0x88-0x8B */ + 0x9F, 0xC4, 0x9F, 0xC5, 0x9F, 0xC6, 0xD1, 0xAC, /* 0x8C-0x8F */ + 0x9F, 0xC7, 0x9F, 0xC8, 0x9F, 0xC9, 0x9F, 0xCA, /* 0x90-0x93 */ + 0xC8, 0xDB, 0x9F, 0xCB, 0x9F, 0xCC, 0x9F, 0xCD, /* 0x94-0x97 */ + 0xEC, 0xD6, 0xCE, 0xF5, 0x9F, 0xCE, 0x9F, 0xCF, /* 0x98-0x9B */ + 0x9F, 0xD0, 0x9F, 0xD1, 0x9F, 0xD2, 0xCA, 0xEC, /* 0x9C-0x9F */ + 0xEC, 0xDA, 0x9F, 0xD3, 0x9F, 0xD4, 0x9F, 0xD5, /* 0xA0-0xA3 */ + 0x9F, 0xD6, 0x9F, 0xD7, 0x9F, 0xD8, 0x9F, 0xD9, /* 0xA4-0xA7 */ + 0xEC, 0xD9, 0x9F, 0xDA, 0x9F, 0xDB, 0x9F, 0xDC, /* 0xA8-0xAB */ + 0xB0, 0xBE, 0x9F, 0xDD, 0x9F, 0xDE, 0x9F, 0xDF, /* 0xAC-0xAF */ + 0x9F, 0xE0, 0x9F, 0xE1, 0x9F, 0xE2, 0xEC, 0xD7, /* 0xB0-0xB3 */ + 0x9F, 0xE3, 0xEC, 0xD8, 0x9F, 0xE4, 0x9F, 0xE5, /* 0xB4-0xB7 */ + 0x9F, 0xE6, 0xEC, 0xE4, 0x9F, 0xE7, 0x9F, 0xE8, /* 0xB8-0xBB */ + 0x9F, 0xE9, 0x9F, 0xEA, 0x9F, 0xEB, 0x9F, 0xEC, /* 0xBC-0xBF */ + 0x9F, 0xED, 0x9F, 0xEE, 0x9F, 0xEF, 0xC8, 0xBC, /* 0xC0-0xC3 */ + 0x9F, 0xF0, 0x9F, 0xF1, 0x9F, 0xF2, 0x9F, 0xF3, /* 0xC4-0xC7 */ + 0x9F, 0xF4, 0x9F, 0xF5, 0x9F, 0xF6, 0x9F, 0xF7, /* 0xC8-0xCB */ + 0x9F, 0xF8, 0x9F, 0xF9, 0xC1, 0xC7, 0x9F, 0xFA, /* 0xCC-0xCF */ + 0x9F, 0xFB, 0x9F, 0xFC, 0x9F, 0xFD, 0x9F, 0xFE, /* 0xD0-0xD3 */ + 0xEC, 0xDC, 0xD1, 0xE0, 0xA0, 0x40, 0xA0, 0x41, /* 0xD4-0xD7 */ + 0xA0, 0x42, 0xA0, 0x43, 0xA0, 0x44, 0xA0, 0x45, /* 0xD8-0xDB */ + 0xA0, 0x46, 0xA0, 0x47, 0xA0, 0x48, 0xA0, 0x49, /* 0xDC-0xDF */ + 0xEC, 0xDB, 0xA0, 0x4A, 0xA0, 0x4B, 0xA0, 0x4C, /* 0xE0-0xE3 */ + 0xA0, 0x4D, 0xD4, 0xEF, 0xA0, 0x4E, 0xEC, 0xDD, /* 0xE4-0xE7 */ + 0xA0, 0x4F, 0xA0, 0x50, 0xA0, 0x51, 0xA0, 0x52, /* 0xE8-0xEB */ + 0xA0, 0x53, 0xA0, 0x54, 0xDB, 0xC6, 0xA0, 0x55, /* 0xEC-0xEF */ + 0xA0, 0x56, 0xA0, 0x57, 0xA0, 0x58, 0xA0, 0x59, /* 0xF0-0xF3 */ + 0xA0, 0x5A, 0xA0, 0x5B, 0xA0, 0x5C, 0xA0, 0x5D, /* 0xF4-0xF7 */ + 0xA0, 0x5E, 0xEC, 0xDE, 0xA0, 0x5F, 0xA0, 0x60, /* 0xF8-0xFB */ + 0xA0, 0x61, 0xA0, 0x62, 0xA0, 0x63, 0xA0, 0x64, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_72[512] = { + 0xA0, 0x65, 0xA0, 0x66, 0xA0, 0x67, 0xA0, 0x68, /* 0x00-0x03 */ + 0xA0, 0x69, 0xA0, 0x6A, 0xB1, 0xAC, 0xA0, 0x6B, /* 0x04-0x07 */ + 0xA0, 0x6C, 0xA0, 0x6D, 0xA0, 0x6E, 0xA0, 0x6F, /* 0x08-0x0B */ + 0xA0, 0x70, 0xA0, 0x71, 0xA0, 0x72, 0xA0, 0x73, /* 0x0C-0x0F */ + 0xA0, 0x74, 0xA0, 0x75, 0xA0, 0x76, 0xA0, 0x77, /* 0x10-0x13 */ + 0xA0, 0x78, 0xA0, 0x79, 0xA0, 0x7A, 0xA0, 0x7B, /* 0x14-0x17 */ + 0xA0, 0x7C, 0xA0, 0x7D, 0xA0, 0x7E, 0xA0, 0x80, /* 0x18-0x1B */ + 0xA0, 0x81, 0xEC, 0xDF, 0xA0, 0x82, 0xA0, 0x83, /* 0x1C-0x1F */ + 0xA0, 0x84, 0xA0, 0x85, 0xA0, 0x86, 0xA0, 0x87, /* 0x20-0x23 */ + 0xA0, 0x88, 0xA0, 0x89, 0xA0, 0x8A, 0xA0, 0x8B, /* 0x24-0x27 */ + 0xEC, 0xE0, 0xA0, 0x8C, 0xD7, 0xA6, 0xA0, 0x8D, /* 0x28-0x2B */ + 0xC5, 0xC0, 0xA0, 0x8E, 0xA0, 0x8F, 0xA0, 0x90, /* 0x2C-0x2F */ + 0xEB, 0xBC, 0xB0, 0xAE, 0xA0, 0x91, 0xA0, 0x92, /* 0x30-0x33 */ + 0xA0, 0x93, 0xBE, 0xF4, 0xB8, 0xB8, 0xD2, 0xAF, /* 0x34-0x37 */ + 0xB0, 0xD6, 0xB5, 0xF9, 0xA0, 0x94, 0xD8, 0xB3, /* 0x38-0x3B */ + 0xA0, 0x95, 0xCB, 0xAC, 0xA0, 0x96, 0xE3, 0xDD, /* 0x3C-0x3F */ + 0xA0, 0x97, 0xA0, 0x98, 0xA0, 0x99, 0xA0, 0x9A, /* 0x40-0x43 */ + 0xA0, 0x9B, 0xA0, 0x9C, 0xA0, 0x9D, 0xC6, 0xAC, /* 0x44-0x47 */ + 0xB0, 0xE6, 0xA0, 0x9E, 0xA0, 0x9F, 0xA0, 0xA0, /* 0x48-0x4B */ + 0xC5, 0xC6, 0xEB, 0xB9, 0xA0, 0xA1, 0xA0, 0xA2, /* 0x4C-0x4F */ + 0xA0, 0xA3, 0xA0, 0xA4, 0xEB, 0xBA, 0xA0, 0xA5, /* 0x50-0x53 */ + 0xA0, 0xA6, 0xA0, 0xA7, 0xEB, 0xBB, 0xA0, 0xA8, /* 0x54-0x57 */ + 0xA0, 0xA9, 0xD1, 0xC0, 0xA0, 0xAA, 0xC5, 0xA3, /* 0x58-0x5B */ + 0xA0, 0xAB, 0xEA, 0xF2, 0xA0, 0xAC, 0xC4, 0xB2, /* 0x5C-0x5F */ + 0xA0, 0xAD, 0xC4, 0xB5, 0xC0, 0xCE, 0xA0, 0xAE, /* 0x60-0x63 */ + 0xA0, 0xAF, 0xA0, 0xB0, 0xEA, 0xF3, 0xC4, 0xC1, /* 0x64-0x67 */ + 0xA0, 0xB1, 0xCE, 0xEF, 0xA0, 0xB2, 0xA0, 0xB3, /* 0x68-0x6B */ + 0xA0, 0xB4, 0xA0, 0xB5, 0xEA, 0xF0, 0xEA, 0xF4, /* 0x6C-0x6F */ + 0xA0, 0xB6, 0xA0, 0xB7, 0xC9, 0xFC, 0xA0, 0xB8, /* 0x70-0x73 */ + 0xA0, 0xB9, 0xC7, 0xA3, 0xA0, 0xBA, 0xA0, 0xBB, /* 0x74-0x77 */ + 0xA0, 0xBC, 0xCC, 0xD8, 0xCE, 0xFE, 0xA0, 0xBD, /* 0x78-0x7B */ + 0xA0, 0xBE, 0xA0, 0xBF, 0xEA, 0xF5, 0xEA, 0xF6, /* 0x7C-0x7F */ + + 0xCF, 0xAC, 0xC0, 0xE7, 0xA0, 0xC0, 0xA0, 0xC1, /* 0x80-0x83 */ + 0xEA, 0xF7, 0xA0, 0xC2, 0xA0, 0xC3, 0xA0, 0xC4, /* 0x84-0x87 */ + 0xA0, 0xC5, 0xA0, 0xC6, 0xB6, 0xBF, 0xEA, 0xF8, /* 0x88-0x8B */ + 0xA0, 0xC7, 0xEA, 0xF9, 0xA0, 0xC8, 0xEA, 0xFA, /* 0x8C-0x8F */ + 0xA0, 0xC9, 0xA0, 0xCA, 0xEA, 0xFB, 0xA0, 0xCB, /* 0x90-0x93 */ + 0xA0, 0xCC, 0xA0, 0xCD, 0xA0, 0xCE, 0xA0, 0xCF, /* 0x94-0x97 */ + 0xA0, 0xD0, 0xA0, 0xD1, 0xA0, 0xD2, 0xA0, 0xD3, /* 0x98-0x9B */ + 0xA0, 0xD4, 0xA0, 0xD5, 0xA0, 0xD6, 0xEA, 0xF1, /* 0x9C-0x9F */ + 0xA0, 0xD7, 0xA0, 0xD8, 0xA0, 0xD9, 0xA0, 0xDA, /* 0xA0-0xA3 */ + 0xA0, 0xDB, 0xA0, 0xDC, 0xA0, 0xDD, 0xA0, 0xDE, /* 0xA4-0xA7 */ + 0xA0, 0xDF, 0xA0, 0xE0, 0xA0, 0xE1, 0xA0, 0xE2, /* 0xA8-0xAB */ + 0xC8, 0xAE, 0xE1, 0xEB, 0xA0, 0xE3, 0xB7, 0xB8, /* 0xAC-0xAF */ + 0xE1, 0xEC, 0xA0, 0xE4, 0xA0, 0xE5, 0xA0, 0xE6, /* 0xB0-0xB3 */ + 0xE1, 0xED, 0xA0, 0xE7, 0xD7, 0xB4, 0xE1, 0xEE, /* 0xB4-0xB7 */ + 0xE1, 0xEF, 0xD3, 0xCC, 0xA0, 0xE8, 0xA0, 0xE9, /* 0xB8-0xBB */ + 0xA0, 0xEA, 0xA0, 0xEB, 0xA0, 0xEC, 0xA0, 0xED, /* 0xBC-0xBF */ + 0xA0, 0xEE, 0xE1, 0xF1, 0xBF, 0xF1, 0xE1, 0xF0, /* 0xC0-0xC3 */ + 0xB5, 0xD2, 0xA0, 0xEF, 0xA0, 0xF0, 0xA0, 0xF1, /* 0xC4-0xC7 */ + 0xB1, 0xB7, 0xA0, 0xF2, 0xA0, 0xF3, 0xA0, 0xF4, /* 0xC8-0xCB */ + 0xA0, 0xF5, 0xE1, 0xF3, 0xE1, 0xF2, 0xA0, 0xF6, /* 0xCC-0xCF */ + 0xBA, 0xFC, 0xA0, 0xF7, 0xE1, 0xF4, 0xA0, 0xF8, /* 0xD0-0xD3 */ + 0xA0, 0xF9, 0xA0, 0xFA, 0xA0, 0xFB, 0xB9, 0xB7, /* 0xD4-0xD7 */ + 0xA0, 0xFC, 0xBE, 0xD1, 0xA0, 0xFD, 0xA0, 0xFE, /* 0xD8-0xDB */ + 0xAA, 0x40, 0xAA, 0x41, 0xC4, 0xFC, 0xAA, 0x42, /* 0xDC-0xDF */ + 0xBA, 0xDD, 0xBD, 0xC6, 0xAA, 0x43, 0xAA, 0x44, /* 0xE0-0xE3 */ + 0xAA, 0x45, 0xAA, 0x46, 0xAA, 0x47, 0xAA, 0x48, /* 0xE4-0xE7 */ + 0xE1, 0xF5, 0xE1, 0xF7, 0xAA, 0x49, 0xAA, 0x4A, /* 0xE8-0xEB */ + 0xB6, 0xC0, 0xCF, 0xC1, 0xCA, 0xA8, 0xE1, 0xF6, /* 0xEC-0xEF */ + 0xD5, 0xF8, 0xD3, 0xFC, 0xE1, 0xF8, 0xE1, 0xFC, /* 0xF0-0xF3 */ + 0xE1, 0xF9, 0xAA, 0x4B, 0xAA, 0x4C, 0xE1, 0xFA, /* 0xF4-0xF7 */ + 0xC0, 0xEA, 0xAA, 0x4D, 0xE1, 0xFE, 0xE2, 0xA1, /* 0xF8-0xFB */ + 0xC0, 0xC7, 0xAA, 0x4E, 0xAA, 0x4F, 0xAA, 0x50, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_73[512] = { + 0xAA, 0x51, 0xE1, 0xFB, 0xAA, 0x52, 0xE1, 0xFD, /* 0x00-0x03 */ + 0xAA, 0x53, 0xAA, 0x54, 0xAA, 0x55, 0xAA, 0x56, /* 0x04-0x07 */ + 0xAA, 0x57, 0xAA, 0x58, 0xE2, 0xA5, 0xAA, 0x59, /* 0x08-0x0B */ + 0xAA, 0x5A, 0xAA, 0x5B, 0xC1, 0xD4, 0xAA, 0x5C, /* 0x0C-0x0F */ + 0xAA, 0x5D, 0xAA, 0x5E, 0xAA, 0x5F, 0xE2, 0xA3, /* 0x10-0x13 */ + 0xAA, 0x60, 0xE2, 0xA8, 0xB2, 0xFE, 0xE2, 0xA2, /* 0x14-0x17 */ + 0xAA, 0x61, 0xAA, 0x62, 0xAA, 0x63, 0xC3, 0xCD, /* 0x18-0x1B */ + 0xB2, 0xC2, 0xE2, 0xA7, 0xE2, 0xA6, 0xAA, 0x64, /* 0x1C-0x1F */ + 0xAA, 0x65, 0xE2, 0xA4, 0xE2, 0xA9, 0xAA, 0x66, /* 0x20-0x23 */ + 0xAA, 0x67, 0xE2, 0xAB, 0xAA, 0x68, 0xAA, 0x69, /* 0x24-0x27 */ + 0xAA, 0x6A, 0xD0, 0xC9, 0xD6, 0xED, 0xC3, 0xA8, /* 0x28-0x2B */ + 0xE2, 0xAC, 0xAA, 0x6B, 0xCF, 0xD7, 0xAA, 0x6C, /* 0x2C-0x2F */ + 0xAA, 0x6D, 0xE2, 0xAE, 0xAA, 0x6E, 0xAA, 0x6F, /* 0x30-0x33 */ + 0xBA, 0xEF, 0xAA, 0x70, 0xAA, 0x71, 0xE9, 0xE0, /* 0x34-0x37 */ + 0xE2, 0xAD, 0xE2, 0xAA, 0xAA, 0x72, 0xAA, 0x73, /* 0x38-0x3B */ + 0xAA, 0x74, 0xAA, 0x75, 0xBB, 0xAB, 0xD4, 0xB3, /* 0x3C-0x3F */ + 0xAA, 0x76, 0xAA, 0x77, 0xAA, 0x78, 0xAA, 0x79, /* 0x40-0x43 */ + 0xAA, 0x7A, 0xAA, 0x7B, 0xAA, 0x7C, 0xAA, 0x7D, /* 0x44-0x47 */ + 0xAA, 0x7E, 0xAA, 0x80, 0xAA, 0x81, 0xAA, 0x82, /* 0x48-0x4B */ + 0xAA, 0x83, 0xE2, 0xB0, 0xAA, 0x84, 0xAA, 0x85, /* 0x4C-0x4F */ + 0xE2, 0xAF, 0xAA, 0x86, 0xE9, 0xE1, 0xAA, 0x87, /* 0x50-0x53 */ + 0xAA, 0x88, 0xAA, 0x89, 0xAA, 0x8A, 0xE2, 0xB1, /* 0x54-0x57 */ + 0xAA, 0x8B, 0xAA, 0x8C, 0xAA, 0x8D, 0xAA, 0x8E, /* 0x58-0x5B */ + 0xAA, 0x8F, 0xAA, 0x90, 0xAA, 0x91, 0xAA, 0x92, /* 0x5C-0x5F */ + 0xE2, 0xB2, 0xAA, 0x93, 0xAA, 0x94, 0xAA, 0x95, /* 0x60-0x63 */ + 0xAA, 0x96, 0xAA, 0x97, 0xAA, 0x98, 0xAA, 0x99, /* 0x64-0x67 */ + 0xAA, 0x9A, 0xAA, 0x9B, 0xAA, 0x9C, 0xAA, 0x9D, /* 0x68-0x6B */ + 0xE2, 0xB3, 0xCC, 0xA1, 0xAA, 0x9E, 0xE2, 0xB4, /* 0x6C-0x6F */ + 0xAA, 0x9F, 0xAA, 0xA0, 0xAB, 0x40, 0xAB, 0x41, /* 0x70-0x73 */ + 0xAB, 0x42, 0xAB, 0x43, 0xAB, 0x44, 0xAB, 0x45, /* 0x74-0x77 */ + 0xAB, 0x46, 0xAB, 0x47, 0xAB, 0x48, 0xAB, 0x49, /* 0x78-0x7B */ + 0xAB, 0x4A, 0xAB, 0x4B, 0xE2, 0xB5, 0xAB, 0x4C, /* 0x7C-0x7F */ + + 0xAB, 0x4D, 0xAB, 0x4E, 0xAB, 0x4F, 0xAB, 0x50, /* 0x80-0x83 */ + 0xD0, 0xFE, 0xAB, 0x51, 0xAB, 0x52, 0xC2, 0xCA, /* 0x84-0x87 */ + 0xAB, 0x53, 0xD3, 0xF1, 0xAB, 0x54, 0xCD, 0xF5, /* 0x88-0x8B */ + 0xAB, 0x55, 0xAB, 0x56, 0xE7, 0xE0, 0xAB, 0x57, /* 0x8C-0x8F */ + 0xAB, 0x58, 0xE7, 0xE1, 0xAB, 0x59, 0xAB, 0x5A, /* 0x90-0x93 */ + 0xAB, 0x5B, 0xAB, 0x5C, 0xBE, 0xC1, 0xAB, 0x5D, /* 0x94-0x97 */ + 0xAB, 0x5E, 0xAB, 0x5F, 0xAB, 0x60, 0xC2, 0xEA, /* 0x98-0x9B */ + 0xAB, 0x61, 0xAB, 0x62, 0xAB, 0x63, 0xE7, 0xE4, /* 0x9C-0x9F */ + 0xAB, 0x64, 0xAB, 0x65, 0xE7, 0xE3, 0xAB, 0x66, /* 0xA0-0xA3 */ + 0xAB, 0x67, 0xAB, 0x68, 0xAB, 0x69, 0xAB, 0x6A, /* 0xA4-0xA7 */ + 0xAB, 0x6B, 0xCD, 0xE6, 0xAB, 0x6C, 0xC3, 0xB5, /* 0xA8-0xAB */ + 0xAB, 0x6D, 0xAB, 0x6E, 0xE7, 0xE2, 0xBB, 0xB7, /* 0xAC-0xAF */ + 0xCF, 0xD6, 0xAB, 0x6F, 0xC1, 0xE1, 0xE7, 0xE9, /* 0xB0-0xB3 */ + 0xAB, 0x70, 0xAB, 0x71, 0xAB, 0x72, 0xE7, 0xE8, /* 0xB4-0xB7 */ + 0xAB, 0x73, 0xAB, 0x74, 0xE7, 0xF4, 0xB2, 0xA3, /* 0xB8-0xBB */ + 0xAB, 0x75, 0xAB, 0x76, 0xAB, 0x77, 0xAB, 0x78, /* 0xBC-0xBF */ + 0xE7, 0xEA, 0xAB, 0x79, 0xE7, 0xE6, 0xAB, 0x7A, /* 0xC0-0xC3 */ + 0xAB, 0x7B, 0xAB, 0x7C, 0xAB, 0x7D, 0xAB, 0x7E, /* 0xC4-0xC7 */ + 0xE7, 0xEC, 0xE7, 0xEB, 0xC9, 0xBA, 0xAB, 0x80, /* 0xC8-0xCB */ + 0xAB, 0x81, 0xD5, 0xE4, 0xAB, 0x82, 0xE7, 0xE5, /* 0xCC-0xCF */ + 0xB7, 0xA9, 0xE7, 0xE7, 0xAB, 0x83, 0xAB, 0x84, /* 0xD0-0xD3 */ + 0xAB, 0x85, 0xAB, 0x86, 0xAB, 0x87, 0xAB, 0x88, /* 0xD4-0xD7 */ + 0xAB, 0x89, 0xE7, 0xEE, 0xAB, 0x8A, 0xAB, 0x8B, /* 0xD8-0xDB */ + 0xAB, 0x8C, 0xAB, 0x8D, 0xE7, 0xF3, 0xAB, 0x8E, /* 0xDC-0xDF */ + 0xD6, 0xE9, 0xAB, 0x8F, 0xAB, 0x90, 0xAB, 0x91, /* 0xE0-0xE3 */ + 0xAB, 0x92, 0xE7, 0xED, 0xAB, 0x93, 0xE7, 0xF2, /* 0xE4-0xE7 */ + 0xAB, 0x94, 0xE7, 0xF1, 0xAB, 0x95, 0xAB, 0x96, /* 0xE8-0xEB */ + 0xAB, 0x97, 0xB0, 0xE0, 0xAB, 0x98, 0xAB, 0x99, /* 0xEC-0xEF */ + 0xAB, 0x9A, 0xAB, 0x9B, 0xE7, 0xF5, 0xAB, 0x9C, /* 0xF0-0xF3 */ + 0xAB, 0x9D, 0xAB, 0x9E, 0xAB, 0x9F, 0xAB, 0xA0, /* 0xF4-0xF7 */ + 0xAC, 0x40, 0xAC, 0x41, 0xAC, 0x42, 0xAC, 0x43, /* 0xF8-0xFB */ + 0xAC, 0x44, 0xAC, 0x45, 0xAC, 0x46, 0xAC, 0x47, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_74[512] = { + 0xAC, 0x48, 0xAC, 0x49, 0xAC, 0x4A, 0xC7, 0xF2, /* 0x00-0x03 */ + 0xAC, 0x4B, 0xC0, 0xC5, 0xC0, 0xED, 0xAC, 0x4C, /* 0x04-0x07 */ + 0xAC, 0x4D, 0xC1, 0xF0, 0xE7, 0xF0, 0xAC, 0x4E, /* 0x08-0x0B */ + 0xAC, 0x4F, 0xAC, 0x50, 0xAC, 0x51, 0xE7, 0xF6, /* 0x0C-0x0F */ + 0xCB, 0xF6, 0xAC, 0x52, 0xAC, 0x53, 0xAC, 0x54, /* 0x10-0x13 */ + 0xAC, 0x55, 0xAC, 0x56, 0xAC, 0x57, 0xAC, 0x58, /* 0x14-0x17 */ + 0xAC, 0x59, 0xAC, 0x5A, 0xE8, 0xA2, 0xE8, 0xA1, /* 0x18-0x1B */ + 0xAC, 0x5B, 0xAC, 0x5C, 0xAC, 0x5D, 0xAC, 0x5E, /* 0x1C-0x1F */ + 0xAC, 0x5F, 0xAC, 0x60, 0xD7, 0xC1, 0xAC, 0x61, /* 0x20-0x23 */ + 0xAC, 0x62, 0xE7, 0xFA, 0xE7, 0xF9, 0xAC, 0x63, /* 0x24-0x27 */ + 0xE7, 0xFB, 0xAC, 0x64, 0xE7, 0xF7, 0xAC, 0x65, /* 0x28-0x2B */ + 0xE7, 0xFE, 0xAC, 0x66, 0xE7, 0xFD, 0xAC, 0x67, /* 0x2C-0x2F */ + 0xE7, 0xFC, 0xAC, 0x68, 0xAC, 0x69, 0xC1, 0xD5, /* 0x30-0x33 */ + 0xC7, 0xD9, 0xC5, 0xFD, 0xC5, 0xC3, 0xAC, 0x6A, /* 0x34-0x37 */ + 0xAC, 0x6B, 0xAC, 0x6C, 0xAC, 0x6D, 0xAC, 0x6E, /* 0x38-0x3B */ + 0xC7, 0xED, 0xAC, 0x6F, 0xAC, 0x70, 0xAC, 0x71, /* 0x3C-0x3F */ + 0xAC, 0x72, 0xE8, 0xA3, 0xAC, 0x73, 0xAC, 0x74, /* 0x40-0x43 */ + 0xAC, 0x75, 0xAC, 0x76, 0xAC, 0x77, 0xAC, 0x78, /* 0x44-0x47 */ + 0xAC, 0x79, 0xAC, 0x7A, 0xAC, 0x7B, 0xAC, 0x7C, /* 0x48-0x4B */ + 0xAC, 0x7D, 0xAC, 0x7E, 0xAC, 0x80, 0xAC, 0x81, /* 0x4C-0x4F */ + 0xAC, 0x82, 0xAC, 0x83, 0xAC, 0x84, 0xAC, 0x85, /* 0x50-0x53 */ + 0xAC, 0x86, 0xE8, 0xA6, 0xAC, 0x87, 0xE8, 0xA5, /* 0x54-0x57 */ + 0xAC, 0x88, 0xE8, 0xA7, 0xBA, 0xF7, 0xE7, 0xF8, /* 0x58-0x5B */ + 0xE8, 0xA4, 0xAC, 0x89, 0xC8, 0xF0, 0xC9, 0xAA, /* 0x5C-0x5F */ + 0xAC, 0x8A, 0xAC, 0x8B, 0xAC, 0x8C, 0xAC, 0x8D, /* 0x60-0x63 */ + 0xAC, 0x8E, 0xAC, 0x8F, 0xAC, 0x90, 0xAC, 0x91, /* 0x64-0x67 */ + 0xAC, 0x92, 0xAC, 0x93, 0xAC, 0x94, 0xAC, 0x95, /* 0x68-0x6B */ + 0xAC, 0x96, 0xE8, 0xA9, 0xAC, 0x97, 0xAC, 0x98, /* 0x6C-0x6F */ + 0xB9, 0xE5, 0xAC, 0x99, 0xAC, 0x9A, 0xAC, 0x9B, /* 0x70-0x73 */ + 0xAC, 0x9C, 0xAC, 0x9D, 0xD1, 0xFE, 0xE8, 0xA8, /* 0x74-0x77 */ + 0xAC, 0x9E, 0xAC, 0x9F, 0xAC, 0xA0, 0xAD, 0x40, /* 0x78-0x7B */ + 0xAD, 0x41, 0xAD, 0x42, 0xE8, 0xAA, 0xAD, 0x43, /* 0x7C-0x7F */ + + 0xE8, 0xAD, 0xE8, 0xAE, 0xAD, 0x44, 0xC1, 0xA7, /* 0x80-0x83 */ + 0xAD, 0x45, 0xAD, 0x46, 0xAD, 0x47, 0xE8, 0xAF, /* 0x84-0x87 */ + 0xAD, 0x48, 0xAD, 0x49, 0xAD, 0x4A, 0xE8, 0xB0, /* 0x88-0x8B */ + 0xAD, 0x4B, 0xAD, 0x4C, 0xE8, 0xAC, 0xAD, 0x4D, /* 0x8C-0x8F */ + 0xE8, 0xB4, 0xAD, 0x4E, 0xAD, 0x4F, 0xAD, 0x50, /* 0x90-0x93 */ + 0xAD, 0x51, 0xAD, 0x52, 0xAD, 0x53, 0xAD, 0x54, /* 0x94-0x97 */ + 0xAD, 0x55, 0xAD, 0x56, 0xAD, 0x57, 0xAD, 0x58, /* 0x98-0x9B */ + 0xE8, 0xAB, 0xAD, 0x59, 0xE8, 0xB1, 0xAD, 0x5A, /* 0x9C-0x9F */ + 0xAD, 0x5B, 0xAD, 0x5C, 0xAD, 0x5D, 0xAD, 0x5E, /* 0xA0-0xA3 */ + 0xAD, 0x5F, 0xAD, 0x60, 0xAD, 0x61, 0xE8, 0xB5, /* 0xA4-0xA7 */ + 0xE8, 0xB2, 0xE8, 0xB3, 0xAD, 0x62, 0xAD, 0x63, /* 0xA8-0xAB */ + 0xAD, 0x64, 0xAD, 0x65, 0xAD, 0x66, 0xAD, 0x67, /* 0xAC-0xAF */ + 0xAD, 0x68, 0xAD, 0x69, 0xAD, 0x6A, 0xAD, 0x6B, /* 0xB0-0xB3 */ + 0xAD, 0x6C, 0xAD, 0x6D, 0xAD, 0x6E, 0xAD, 0x6F, /* 0xB4-0xB7 */ + 0xAD, 0x70, 0xAD, 0x71, 0xE8, 0xB7, 0xAD, 0x72, /* 0xB8-0xBB */ + 0xAD, 0x73, 0xAD, 0x74, 0xAD, 0x75, 0xAD, 0x76, /* 0xBC-0xBF */ + 0xAD, 0x77, 0xAD, 0x78, 0xAD, 0x79, 0xAD, 0x7A, /* 0xC0-0xC3 */ + 0xAD, 0x7B, 0xAD, 0x7C, 0xAD, 0x7D, 0xAD, 0x7E, /* 0xC4-0xC7 */ + 0xAD, 0x80, 0xAD, 0x81, 0xAD, 0x82, 0xAD, 0x83, /* 0xC8-0xCB */ + 0xAD, 0x84, 0xAD, 0x85, 0xAD, 0x86, 0xAD, 0x87, /* 0xCC-0xCF */ + 0xAD, 0x88, 0xAD, 0x89, 0xE8, 0xB6, 0xAD, 0x8A, /* 0xD0-0xD3 */ + 0xAD, 0x8B, 0xAD, 0x8C, 0xAD, 0x8D, 0xAD, 0x8E, /* 0xD4-0xD7 */ + 0xAD, 0x8F, 0xAD, 0x90, 0xAD, 0x91, 0xAD, 0x92, /* 0xD8-0xDB */ + 0xB9, 0xCF, 0xAD, 0x93, 0xF0, 0xAC, 0xAD, 0x94, /* 0xDC-0xDF */ + 0xF0, 0xAD, 0xAD, 0x95, 0xC6, 0xB0, 0xB0, 0xEA, /* 0xE0-0xE3 */ + 0xC8, 0xBF, 0xAD, 0x96, 0xCD, 0xDF, 0xAD, 0x97, /* 0xE4-0xE7 */ + 0xAD, 0x98, 0xAD, 0x99, 0xAD, 0x9A, 0xAD, 0x9B, /* 0xE8-0xEB */ + 0xAD, 0x9C, 0xAD, 0x9D, 0xCE, 0xCD, 0xEA, 0xB1, /* 0xEC-0xEF */ + 0xAD, 0x9E, 0xAD, 0x9F, 0xAD, 0xA0, 0xAE, 0x40, /* 0xF0-0xF3 */ + 0xEA, 0xB2, 0xAE, 0x41, 0xC6, 0xBF, 0xB4, 0xC9, /* 0xF4-0xF7 */ + 0xAE, 0x42, 0xAE, 0x43, 0xAE, 0x44, 0xAE, 0x45, /* 0xF8-0xFB */ + 0xAE, 0x46, 0xAE, 0x47, 0xAE, 0x48, 0xEA, 0xB3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_75[512] = { + 0xAE, 0x49, 0xAE, 0x4A, 0xAE, 0x4B, 0xAE, 0x4C, /* 0x00-0x03 */ + 0xD5, 0xE7, 0xAE, 0x4D, 0xAE, 0x4E, 0xAE, 0x4F, /* 0x04-0x07 */ + 0xAE, 0x50, 0xAE, 0x51, 0xAE, 0x52, 0xAE, 0x53, /* 0x08-0x0B */ + 0xAE, 0x54, 0xDD, 0xF9, 0xAE, 0x55, 0xEA, 0xB4, /* 0x0C-0x0F */ + 0xAE, 0x56, 0xEA, 0xB5, 0xAE, 0x57, 0xEA, 0xB6, /* 0x10-0x13 */ + 0xAE, 0x58, 0xAE, 0x59, 0xAE, 0x5A, 0xAE, 0x5B, /* 0x14-0x17 */ + 0xB8, 0xCA, 0xDF, 0xB0, 0xC9, 0xF5, 0xAE, 0x5C, /* 0x18-0x1B */ + 0xCC, 0xF0, 0xAE, 0x5D, 0xAE, 0x5E, 0xC9, 0xFA, /* 0x1C-0x1F */ + 0xAE, 0x5F, 0xAE, 0x60, 0xAE, 0x61, 0xAE, 0x62, /* 0x20-0x23 */ + 0xAE, 0x63, 0xC9, 0xFB, 0xAE, 0x64, 0xAE, 0x65, /* 0x24-0x27 */ + 0xD3, 0xC3, 0xCB, 0xA6, 0xAE, 0x66, 0xB8, 0xA6, /* 0x28-0x2B */ + 0xF0, 0xAE, 0xB1, 0xC2, 0xAE, 0x67, 0xE5, 0xB8, /* 0x2C-0x2F */ + 0xCC, 0xEF, 0xD3, 0xC9, 0xBC, 0xD7, 0xC9, 0xEA, /* 0x30-0x33 */ + 0xAE, 0x68, 0xB5, 0xE7, 0xAE, 0x69, 0xC4, 0xD0, /* 0x34-0x37 */ + 0xB5, 0xE9, 0xAE, 0x6A, 0xEE, 0xAE, 0xBB, 0xAD, /* 0x38-0x3B */ + 0xAE, 0x6B, 0xAE, 0x6C, 0xE7, 0xDE, 0xAE, 0x6D, /* 0x3C-0x3F */ + 0xEE, 0xAF, 0xAE, 0x6E, 0xAE, 0x6F, 0xAE, 0x70, /* 0x40-0x43 */ + 0xAE, 0x71, 0xB3, 0xA9, 0xAE, 0x72, 0xAE, 0x73, /* 0x44-0x47 */ + 0xEE, 0xB2, 0xAE, 0x74, 0xAE, 0x75, 0xEE, 0xB1, /* 0x48-0x4B */ + 0xBD, 0xE7, 0xAE, 0x76, 0xEE, 0xB0, 0xCE, 0xB7, /* 0x4C-0x4F */ + 0xAE, 0x77, 0xAE, 0x78, 0xAE, 0x79, 0xAE, 0x7A, /* 0x50-0x53 */ + 0xC5, 0xCF, 0xAE, 0x7B, 0xAE, 0x7C, 0xAE, 0x7D, /* 0x54-0x57 */ + 0xAE, 0x7E, 0xC1, 0xF4, 0xDB, 0xCE, 0xEE, 0xB3, /* 0x58-0x5B */ + 0xD0, 0xF3, 0xAE, 0x80, 0xAE, 0x81, 0xAE, 0x82, /* 0x5C-0x5F */ + 0xAE, 0x83, 0xAE, 0x84, 0xAE, 0x85, 0xAE, 0x86, /* 0x60-0x63 */ + 0xAE, 0x87, 0xC2, 0xD4, 0xC6, 0xE8, 0xAE, 0x88, /* 0x64-0x67 */ + 0xAE, 0x89, 0xAE, 0x8A, 0xB7, 0xAC, 0xAE, 0x8B, /* 0x68-0x6B */ + 0xAE, 0x8C, 0xAE, 0x8D, 0xAE, 0x8E, 0xAE, 0x8F, /* 0x6C-0x6F */ + 0xAE, 0x90, 0xAE, 0x91, 0xEE, 0xB4, 0xAE, 0x92, /* 0x70-0x73 */ + 0xB3, 0xEB, 0xAE, 0x93, 0xAE, 0x94, 0xAE, 0x95, /* 0x74-0x77 */ + 0xBB, 0xFB, 0xEE, 0xB5, 0xAE, 0x96, 0xAE, 0x97, /* 0x78-0x7B */ + 0xAE, 0x98, 0xAE, 0x99, 0xAE, 0x9A, 0xE7, 0xDC, /* 0x7C-0x7F */ + + 0xAE, 0x9B, 0xAE, 0x9C, 0xAE, 0x9D, 0xEE, 0xB6, /* 0x80-0x83 */ + 0xAE, 0x9E, 0xAE, 0x9F, 0xBD, 0xAE, 0xAE, 0xA0, /* 0x84-0x87 */ + 0xAF, 0x40, 0xAF, 0x41, 0xAF, 0x42, 0xF1, 0xE2, /* 0x88-0x8B */ + 0xAF, 0x43, 0xAF, 0x44, 0xAF, 0x45, 0xCA, 0xE8, /* 0x8C-0x8F */ + 0xAF, 0x46, 0xD2, 0xC9, 0xF0, 0xDA, 0xAF, 0x47, /* 0x90-0x93 */ + 0xF0, 0xDB, 0xAF, 0x48, 0xF0, 0xDC, 0xC1, 0xC6, /* 0x94-0x97 */ + 0xAF, 0x49, 0xB8, 0xED, 0xBE, 0xCE, 0xAF, 0x4A, /* 0x98-0x9B */ + 0xAF, 0x4B, 0xF0, 0xDE, 0xAF, 0x4C, 0xC5, 0xB1, /* 0x9C-0x9F */ + 0xF0, 0xDD, 0xD1, 0xF1, 0xAF, 0x4D, 0xF0, 0xE0, /* 0xA0-0xA3 */ + 0xB0, 0xCC, 0xBD, 0xEA, 0xAF, 0x4E, 0xAF, 0x4F, /* 0xA4-0xA7 */ + 0xAF, 0x50, 0xAF, 0x51, 0xAF, 0x52, 0xD2, 0xDF, /* 0xA8-0xAB */ + 0xF0, 0xDF, 0xAF, 0x53, 0xB4, 0xAF, 0xB7, 0xE8, /* 0xAC-0xAF */ + 0xF0, 0xE6, 0xF0, 0xE5, 0xC6, 0xA3, 0xF0, 0xE1, /* 0xB0-0xB3 */ + 0xF0, 0xE2, 0xB4, 0xC3, 0xAF, 0x54, 0xAF, 0x55, /* 0xB4-0xB7 */ + 0xF0, 0xE3, 0xD5, 0xEE, 0xAF, 0x56, 0xAF, 0x57, /* 0xB8-0xBB */ + 0xCC, 0xDB, 0xBE, 0xD2, 0xBC, 0xB2, 0xAF, 0x58, /* 0xBC-0xBF */ + 0xAF, 0x59, 0xAF, 0x5A, 0xF0, 0xE8, 0xF0, 0xE7, /* 0xC0-0xC3 */ + 0xF0, 0xE4, 0xB2, 0xA1, 0xAF, 0x5B, 0xD6, 0xA2, /* 0xC4-0xC7 */ + 0xD3, 0xB8, 0xBE, 0xB7, 0xC8, 0xAC, 0xAF, 0x5C, /* 0xC8-0xCB */ + 0xAF, 0x5D, 0xF0, 0xEA, 0xAF, 0x5E, 0xAF, 0x5F, /* 0xCC-0xCF */ + 0xAF, 0x60, 0xAF, 0x61, 0xD1, 0xF7, 0xAF, 0x62, /* 0xD0-0xD3 */ + 0xD6, 0xCC, 0xBA, 0xDB, 0xF0, 0xE9, 0xAF, 0x63, /* 0xD4-0xD7 */ + 0xB6, 0xBB, 0xAF, 0x64, 0xAF, 0x65, 0xCD, 0xB4, /* 0xD8-0xDB */ + 0xAF, 0x66, 0xAF, 0x67, 0xC6, 0xA6, 0xAF, 0x68, /* 0xDC-0xDF */ + 0xAF, 0x69, 0xAF, 0x6A, 0xC1, 0xA1, 0xF0, 0xEB, /* 0xE0-0xE3 */ + 0xF0, 0xEE, 0xAF, 0x6B, 0xF0, 0xED, 0xF0, 0xF0, /* 0xE4-0xE7 */ + 0xF0, 0xEC, 0xAF, 0x6C, 0xBB, 0xBE, 0xF0, 0xEF, /* 0xE8-0xEB */ + 0xAF, 0x6D, 0xAF, 0x6E, 0xAF, 0x6F, 0xAF, 0x70, /* 0xEC-0xEF */ + 0xCC, 0xB5, 0xF0, 0xF2, 0xAF, 0x71, 0xAF, 0x72, /* 0xF0-0xF3 */ + 0xB3, 0xD5, 0xAF, 0x73, 0xAF, 0x74, 0xAF, 0x75, /* 0xF4-0xF7 */ + 0xAF, 0x76, 0xB1, 0xD4, 0xAF, 0x77, 0xAF, 0x78, /* 0xF8-0xFB */ + 0xF0, 0xF3, 0xAF, 0x79, 0xAF, 0x7A, 0xF0, 0xF4, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_76[512] = { + 0xF0, 0xF6, 0xB4, 0xE1, 0xAF, 0x7B, 0xF0, 0xF1, /* 0x00-0x03 */ + 0xAF, 0x7C, 0xF0, 0xF7, 0xAF, 0x7D, 0xAF, 0x7E, /* 0x04-0x07 */ + 0xAF, 0x80, 0xAF, 0x81, 0xF0, 0xFA, 0xAF, 0x82, /* 0x08-0x0B */ + 0xF0, 0xF8, 0xAF, 0x83, 0xAF, 0x84, 0xAF, 0x85, /* 0x0C-0x0F */ + 0xF0, 0xF5, 0xAF, 0x86, 0xAF, 0x87, 0xAF, 0x88, /* 0x10-0x13 */ + 0xAF, 0x89, 0xF0, 0xFD, 0xAF, 0x8A, 0xF0, 0xF9, /* 0x14-0x17 */ + 0xF0, 0xFC, 0xF0, 0xFE, 0xAF, 0x8B, 0xF1, 0xA1, /* 0x18-0x1B */ + 0xAF, 0x8C, 0xAF, 0x8D, 0xAF, 0x8E, 0xCE, 0xC1, /* 0x1C-0x1F */ + 0xF1, 0xA4, 0xAF, 0x8F, 0xF1, 0xA3, 0xAF, 0x90, /* 0x20-0x23 */ + 0xC1, 0xF6, 0xF0, 0xFB, 0xCA, 0xDD, 0xAF, 0x91, /* 0x24-0x27 */ + 0xAF, 0x92, 0xB4, 0xF1, 0xB1, 0xF1, 0xCC, 0xB1, /* 0x28-0x2B */ + 0xAF, 0x93, 0xF1, 0xA6, 0xAF, 0x94, 0xAF, 0x95, /* 0x2C-0x2F */ + 0xF1, 0xA7, 0xAF, 0x96, 0xAF, 0x97, 0xF1, 0xAC, /* 0x30-0x33 */ + 0xD5, 0xCE, 0xF1, 0xA9, 0xAF, 0x98, 0xAF, 0x99, /* 0x34-0x37 */ + 0xC8, 0xB3, 0xAF, 0x9A, 0xAF, 0x9B, 0xAF, 0x9C, /* 0x38-0x3B */ + 0xF1, 0xA2, 0xAF, 0x9D, 0xF1, 0xAB, 0xF1, 0xA8, /* 0x3C-0x3F */ + 0xF1, 0xA5, 0xAF, 0x9E, 0xAF, 0x9F, 0xF1, 0xAA, /* 0x40-0x43 */ + 0xAF, 0xA0, 0xB0, 0x40, 0xB0, 0x41, 0xB0, 0x42, /* 0x44-0x47 */ + 0xB0, 0x43, 0xB0, 0x44, 0xB0, 0x45, 0xB0, 0x46, /* 0x48-0x4B */ + 0xB0, 0xA9, 0xF1, 0xAD, 0xB0, 0x47, 0xB0, 0x48, /* 0x4C-0x4F */ + 0xB0, 0x49, 0xB0, 0x4A, 0xB0, 0x4B, 0xB0, 0x4C, /* 0x50-0x53 */ + 0xF1, 0xAF, 0xB0, 0x4D, 0xF1, 0xB1, 0xB0, 0x4E, /* 0x54-0x57 */ + 0xB0, 0x4F, 0xB0, 0x50, 0xB0, 0x51, 0xB0, 0x52, /* 0x58-0x5B */ + 0xF1, 0xB0, 0xB0, 0x53, 0xF1, 0xAE, 0xB0, 0x54, /* 0x5C-0x5F */ + 0xB0, 0x55, 0xB0, 0x56, 0xB0, 0x57, 0xD1, 0xA2, /* 0x60-0x63 */ + 0xB0, 0x58, 0xB0, 0x59, 0xB0, 0x5A, 0xB0, 0x5B, /* 0x64-0x67 */ + 0xB0, 0x5C, 0xB0, 0x5D, 0xB0, 0x5E, 0xF1, 0xB2, /* 0x68-0x6B */ + 0xB0, 0x5F, 0xB0, 0x60, 0xB0, 0x61, 0xF1, 0xB3, /* 0x6C-0x6F */ + 0xB0, 0x62, 0xB0, 0x63, 0xB0, 0x64, 0xB0, 0x65, /* 0x70-0x73 */ + 0xB0, 0x66, 0xB0, 0x67, 0xB0, 0x68, 0xB0, 0x69, /* 0x74-0x77 */ + 0xB9, 0xEF, 0xB0, 0x6A, 0xB0, 0x6B, 0xB5, 0xC7, /* 0x78-0x7B */ + 0xB0, 0x6C, 0xB0, 0xD7, 0xB0, 0xD9, 0xB0, 0x6D, /* 0x7C-0x7F */ + + 0xB0, 0x6E, 0xB0, 0x6F, 0xD4, 0xED, 0xB0, 0x70, /* 0x80-0x83 */ + 0xB5, 0xC4, 0xB0, 0x71, 0xBD, 0xD4, 0xBB, 0xCA, /* 0x84-0x87 */ + 0xF0, 0xA7, 0xB0, 0x72, 0xB0, 0x73, 0xB8, 0xDE, /* 0x88-0x8B */ + 0xB0, 0x74, 0xB0, 0x75, 0xF0, 0xA8, 0xB0, 0x76, /* 0x8C-0x8F */ + 0xB0, 0x77, 0xB0, 0xA8, 0xB0, 0x78, 0xF0, 0xA9, /* 0x90-0x93 */ + 0xB0, 0x79, 0xB0, 0x7A, 0xCD, 0xEE, 0xB0, 0x7B, /* 0x94-0x97 */ + 0xB0, 0x7C, 0xF0, 0xAA, 0xB0, 0x7D, 0xB0, 0x7E, /* 0x98-0x9B */ + 0xB0, 0x80, 0xB0, 0x81, 0xB0, 0x82, 0xB0, 0x83, /* 0x9C-0x9F */ + 0xB0, 0x84, 0xB0, 0x85, 0xB0, 0x86, 0xB0, 0x87, /* 0xA0-0xA3 */ + 0xF0, 0xAB, 0xB0, 0x88, 0xB0, 0x89, 0xB0, 0x8A, /* 0xA4-0xA7 */ + 0xB0, 0x8B, 0xB0, 0x8C, 0xB0, 0x8D, 0xB0, 0x8E, /* 0xA8-0xAB */ + 0xB0, 0x8F, 0xB0, 0x90, 0xC6, 0xA4, 0xB0, 0x91, /* 0xAC-0xAF */ + 0xB0, 0x92, 0xD6, 0xE5, 0xF1, 0xE4, 0xB0, 0x93, /* 0xB0-0xB3 */ + 0xF1, 0xE5, 0xB0, 0x94, 0xB0, 0x95, 0xB0, 0x96, /* 0xB4-0xB7 */ + 0xB0, 0x97, 0xB0, 0x98, 0xB0, 0x99, 0xB0, 0x9A, /* 0xB8-0xBB */ + 0xB0, 0x9B, 0xB0, 0x9C, 0xB0, 0x9D, 0xC3, 0xF3, /* 0xBC-0xBF */ + 0xB0, 0x9E, 0xB0, 0x9F, 0xD3, 0xDB, 0xB0, 0xA0, /* 0xC0-0xC3 */ + 0xB1, 0x40, 0xD6, 0xD1, 0xC5, 0xE8, 0xB1, 0x41, /* 0xC4-0xC7 */ + 0xD3, 0xAF, 0xB1, 0x42, 0xD2, 0xE6, 0xB1, 0x43, /* 0xC8-0xCB */ + 0xB1, 0x44, 0xEE, 0xC1, 0xB0, 0xBB, 0xD5, 0xB5, /* 0xCC-0xCF */ + 0xD1, 0xCE, 0xBC, 0xE0, 0xBA, 0xD0, 0xB1, 0x45, /* 0xD0-0xD3 */ + 0xBF, 0xF8, 0xB1, 0x46, 0xB8, 0xC7, 0xB5, 0xC1, /* 0xD4-0xD7 */ + 0xC5, 0xCC, 0xB1, 0x47, 0xB1, 0x48, 0xCA, 0xA2, /* 0xD8-0xDB */ + 0xB1, 0x49, 0xB1, 0x4A, 0xB1, 0x4B, 0xC3, 0xCB, /* 0xDC-0xDF */ + 0xB1, 0x4C, 0xB1, 0x4D, 0xB1, 0x4E, 0xB1, 0x4F, /* 0xE0-0xE3 */ + 0xB1, 0x50, 0xEE, 0xC2, 0xB1, 0x51, 0xB1, 0x52, /* 0xE4-0xE7 */ + 0xB1, 0x53, 0xB1, 0x54, 0xB1, 0x55, 0xB1, 0x56, /* 0xE8-0xEB */ + 0xB1, 0x57, 0xB1, 0x58, 0xC4, 0xBF, 0xB6, 0xA2, /* 0xEC-0xEF */ + 0xB1, 0x59, 0xED, 0xEC, 0xC3, 0xA4, 0xB1, 0x5A, /* 0xF0-0xF3 */ + 0xD6, 0xB1, 0xB1, 0x5B, 0xB1, 0x5C, 0xB1, 0x5D, /* 0xF4-0xF7 */ + 0xCF, 0xE0, 0xED, 0xEF, 0xB1, 0x5E, 0xB1, 0x5F, /* 0xF8-0xFB */ + 0xC5, 0xCE, 0xB1, 0x60, 0xB6, 0xDC, 0xB1, 0x61, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_77[512] = { + 0xB1, 0x62, 0xCA, 0xA1, 0xB1, 0x63, 0xB1, 0x64, /* 0x00-0x03 */ + 0xED, 0xED, 0xB1, 0x65, 0xB1, 0x66, 0xED, 0xF0, /* 0x04-0x07 */ + 0xED, 0xF1, 0xC3, 0xBC, 0xB1, 0x67, 0xBF, 0xB4, /* 0x08-0x0B */ + 0xB1, 0x68, 0xED, 0xEE, 0xB1, 0x69, 0xB1, 0x6A, /* 0x0C-0x0F */ + 0xB1, 0x6B, 0xB1, 0x6C, 0xB1, 0x6D, 0xB1, 0x6E, /* 0x10-0x13 */ + 0xB1, 0x6F, 0xB1, 0x70, 0xB1, 0x71, 0xB1, 0x72, /* 0x14-0x17 */ + 0xB1, 0x73, 0xED, 0xF4, 0xED, 0xF2, 0xB1, 0x74, /* 0x18-0x1B */ + 0xB1, 0x75, 0xB1, 0x76, 0xB1, 0x77, 0xD5, 0xE6, /* 0x1C-0x1F */ + 0xC3, 0xDF, 0xB1, 0x78, 0xED, 0xF3, 0xB1, 0x79, /* 0x20-0x23 */ + 0xB1, 0x7A, 0xB1, 0x7B, 0xED, 0xF6, 0xB1, 0x7C, /* 0x24-0x27 */ + 0xD5, 0xA3, 0xD1, 0xA3, 0xB1, 0x7D, 0xB1, 0x7E, /* 0x28-0x2B */ + 0xB1, 0x80, 0xED, 0xF5, 0xB1, 0x81, 0xC3, 0xD0, /* 0x2C-0x2F */ + 0xB1, 0x82, 0xB1, 0x83, 0xB1, 0x84, 0xB1, 0x85, /* 0x30-0x33 */ + 0xB1, 0x86, 0xED, 0xF7, 0xBF, 0xF4, 0xBE, 0xEC, /* 0x34-0x37 */ + 0xED, 0xF8, 0xB1, 0x87, 0xCC, 0xF7, 0xB1, 0x88, /* 0x38-0x3B */ + 0xD1, 0xDB, 0xB1, 0x89, 0xB1, 0x8A, 0xB1, 0x8B, /* 0x3C-0x3F */ + 0xD7, 0xC5, 0xD5, 0xF6, 0xB1, 0x8C, 0xED, 0xFC, /* 0x40-0x43 */ + 0xB1, 0x8D, 0xB1, 0x8E, 0xB1, 0x8F, 0xED, 0xFB, /* 0x44-0x47 */ + 0xB1, 0x90, 0xB1, 0x91, 0xB1, 0x92, 0xB1, 0x93, /* 0x48-0x4B */ + 0xB1, 0x94, 0xB1, 0x95, 0xB1, 0x96, 0xB1, 0x97, /* 0x4C-0x4F */ + 0xED, 0xF9, 0xED, 0xFA, 0xB1, 0x98, 0xB1, 0x99, /* 0x50-0x53 */ + 0xB1, 0x9A, 0xB1, 0x9B, 0xB1, 0x9C, 0xB1, 0x9D, /* 0x54-0x57 */ + 0xB1, 0x9E, 0xB1, 0x9F, 0xED, 0xFD, 0xBE, 0xA6, /* 0x58-0x5B */ + 0xB1, 0xA0, 0xB2, 0x40, 0xB2, 0x41, 0xB2, 0x42, /* 0x5C-0x5F */ + 0xB2, 0x43, 0xCB, 0xAF, 0xEE, 0xA1, 0xB6, 0xBD, /* 0x60-0x63 */ + 0xB2, 0x44, 0xEE, 0xA2, 0xC4, 0xC0, 0xB2, 0x45, /* 0x64-0x67 */ + 0xED, 0xFE, 0xB2, 0x46, 0xB2, 0x47, 0xBD, 0xDE, /* 0x68-0x6B */ + 0xB2, 0xC7, 0xB2, 0x48, 0xB2, 0x49, 0xB2, 0x4A, /* 0x6C-0x6F */ + 0xB2, 0x4B, 0xB2, 0x4C, 0xB2, 0x4D, 0xB2, 0x4E, /* 0x70-0x73 */ + 0xB2, 0x4F, 0xB2, 0x50, 0xB2, 0x51, 0xB2, 0x52, /* 0x74-0x77 */ + 0xB2, 0x53, 0xB6, 0xC3, 0xB2, 0x54, 0xB2, 0x55, /* 0x78-0x7B */ + 0xB2, 0x56, 0xEE, 0xA5, 0xD8, 0xBA, 0xEE, 0xA3, /* 0x7C-0x7F */ + + 0xEE, 0xA6, 0xB2, 0x57, 0xB2, 0x58, 0xB2, 0x59, /* 0x80-0x83 */ + 0xC3, 0xE9, 0xB3, 0xF2, 0xB2, 0x5A, 0xB2, 0x5B, /* 0x84-0x87 */ + 0xB2, 0x5C, 0xB2, 0x5D, 0xB2, 0x5E, 0xB2, 0x5F, /* 0x88-0x8B */ + 0xEE, 0xA7, 0xEE, 0xA4, 0xCF, 0xB9, 0xB2, 0x60, /* 0x8C-0x8F */ + 0xB2, 0x61, 0xEE, 0xA8, 0xC2, 0xF7, 0xB2, 0x62, /* 0x90-0x93 */ + 0xB2, 0x63, 0xB2, 0x64, 0xB2, 0x65, 0xB2, 0x66, /* 0x94-0x97 */ + 0xB2, 0x67, 0xB2, 0x68, 0xB2, 0x69, 0xB2, 0x6A, /* 0x98-0x9B */ + 0xB2, 0x6B, 0xB2, 0x6C, 0xB2, 0x6D, 0xEE, 0xA9, /* 0x9C-0x9F */ + 0xEE, 0xAA, 0xB2, 0x6E, 0xDE, 0xAB, 0xB2, 0x6F, /* 0xA0-0xA3 */ + 0xB2, 0x70, 0xC6, 0xB3, 0xB2, 0x71, 0xC7, 0xC6, /* 0xA4-0xA7 */ + 0xB2, 0x72, 0xD6, 0xF5, 0xB5, 0xC9, 0xB2, 0x73, /* 0xA8-0xAB */ + 0xCB, 0xB2, 0xB2, 0x74, 0xB2, 0x75, 0xB2, 0x76, /* 0xAC-0xAF */ + 0xEE, 0xAB, 0xB2, 0x77, 0xB2, 0x78, 0xCD, 0xAB, /* 0xB0-0xB3 */ + 0xB2, 0x79, 0xEE, 0xAC, 0xB2, 0x7A, 0xB2, 0x7B, /* 0xB4-0xB7 */ + 0xB2, 0x7C, 0xB2, 0x7D, 0xB2, 0x7E, 0xD5, 0xB0, /* 0xB8-0xBB */ + 0xB2, 0x80, 0xEE, 0xAD, 0xB2, 0x81, 0xF6, 0xC4, /* 0xBC-0xBF */ + 0xB2, 0x82, 0xB2, 0x83, 0xB2, 0x84, 0xB2, 0x85, /* 0xC0-0xC3 */ + 0xB2, 0x86, 0xB2, 0x87, 0xB2, 0x88, 0xB2, 0x89, /* 0xC4-0xC7 */ + 0xB2, 0x8A, 0xB2, 0x8B, 0xB2, 0x8C, 0xB2, 0x8D, /* 0xC8-0xCB */ + 0xB2, 0x8E, 0xDB, 0xC7, 0xB2, 0x8F, 0xB2, 0x90, /* 0xCC-0xCF */ + 0xB2, 0x91, 0xB2, 0x92, 0xB2, 0x93, 0xB2, 0x94, /* 0xD0-0xD3 */ + 0xB2, 0x95, 0xB2, 0x96, 0xB2, 0x97, 0xB4, 0xA3, /* 0xD4-0xD7 */ + 0xB2, 0x98, 0xB2, 0x99, 0xB2, 0x9A, 0xC3, 0xAC, /* 0xD8-0xDB */ + 0xF1, 0xE6, 0xB2, 0x9B, 0xB2, 0x9C, 0xB2, 0x9D, /* 0xDC-0xDF */ + 0xB2, 0x9E, 0xB2, 0x9F, 0xCA, 0xB8, 0xD2, 0xD3, /* 0xE0-0xE3 */ + 0xB2, 0xA0, 0xD6, 0xAA, 0xB3, 0x40, 0xEF, 0xF2, /* 0xE4-0xE7 */ + 0xB3, 0x41, 0xBE, 0xD8, 0xB3, 0x42, 0xBD, 0xC3, /* 0xE8-0xEB */ + 0xEF, 0xF3, 0xB6, 0xCC, 0xB0, 0xAB, 0xB3, 0x43, /* 0xEC-0xEF */ + 0xB3, 0x44, 0xB3, 0x45, 0xB3, 0x46, 0xCA, 0xAF, /* 0xF0-0xF3 */ + 0xB3, 0x47, 0xB3, 0x48, 0xED, 0xB6, 0xB3, 0x49, /* 0xF4-0xF7 */ + 0xED, 0xB7, 0xB3, 0x4A, 0xB3, 0x4B, 0xB3, 0x4C, /* 0xF8-0xFB */ + 0xB3, 0x4D, 0xCE, 0xF9, 0xB7, 0xAF, 0xBF, 0xF3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_78[512] = { + 0xED, 0xB8, 0xC2, 0xEB, 0xC9, 0xB0, 0xB3, 0x4E, /* 0x00-0x03 */ + 0xB3, 0x4F, 0xB3, 0x50, 0xB3, 0x51, 0xB3, 0x52, /* 0x04-0x07 */ + 0xB3, 0x53, 0xED, 0xB9, 0xB3, 0x54, 0xB3, 0x55, /* 0x08-0x0B */ + 0xC6, 0xF6, 0xBF, 0xB3, 0xB3, 0x56, 0xB3, 0x57, /* 0x0C-0x0F */ + 0xB3, 0x58, 0xED, 0xBC, 0xC5, 0xF8, 0xB3, 0x59, /* 0x10-0x13 */ + 0xD1, 0xD0, 0xB3, 0x5A, 0xD7, 0xA9, 0xED, 0xBA, /* 0x14-0x17 */ + 0xED, 0xBB, 0xB3, 0x5B, 0xD1, 0xE2, 0xB3, 0x5C, /* 0x18-0x1B */ + 0xED, 0xBF, 0xED, 0xC0, 0xB3, 0x5D, 0xED, 0xC4, /* 0x1C-0x1F */ + 0xB3, 0x5E, 0xB3, 0x5F, 0xB3, 0x60, 0xED, 0xC8, /* 0x20-0x23 */ + 0xB3, 0x61, 0xED, 0xC6, 0xED, 0xCE, 0xD5, 0xE8, /* 0x24-0x27 */ + 0xB3, 0x62, 0xED, 0xC9, 0xB3, 0x63, 0xB3, 0x64, /* 0x28-0x2B */ + 0xED, 0xC7, 0xED, 0xBE, 0xB3, 0x65, 0xB3, 0x66, /* 0x2C-0x2F */ + 0xC5, 0xE9, 0xB3, 0x67, 0xB3, 0x68, 0xB3, 0x69, /* 0x30-0x33 */ + 0xC6, 0xC6, 0xB3, 0x6A, 0xB3, 0x6B, 0xC9, 0xE9, /* 0x34-0x37 */ + 0xD4, 0xD2, 0xED, 0xC1, 0xED, 0xC2, 0xED, 0xC3, /* 0x38-0x3B */ + 0xED, 0xC5, 0xB3, 0x6C, 0xC0, 0xF9, 0xB3, 0x6D, /* 0x3C-0x3F */ + 0xB4, 0xA1, 0xB3, 0x6E, 0xB3, 0x6F, 0xB3, 0x70, /* 0x40-0x43 */ + 0xB3, 0x71, 0xB9, 0xE8, 0xB3, 0x72, 0xED, 0xD0, /* 0x44-0x47 */ + 0xB3, 0x73, 0xB3, 0x74, 0xB3, 0x75, 0xB3, 0x76, /* 0x48-0x4B */ + 0xED, 0xD1, 0xB3, 0x77, 0xED, 0xCA, 0xB3, 0x78, /* 0x4C-0x4F */ + 0xED, 0xCF, 0xB3, 0x79, 0xCE, 0xF8, 0xB3, 0x7A, /* 0x50-0x53 */ + 0xB3, 0x7B, 0xCB, 0xB6, 0xED, 0xCC, 0xED, 0xCD, /* 0x54-0x57 */ + 0xB3, 0x7C, 0xB3, 0x7D, 0xB3, 0x7E, 0xB3, 0x80, /* 0x58-0x5B */ + 0xB3, 0x81, 0xCF, 0xF5, 0xB3, 0x82, 0xB3, 0x83, /* 0x5C-0x5F */ + 0xB3, 0x84, 0xB3, 0x85, 0xB3, 0x86, 0xB3, 0x87, /* 0x60-0x63 */ + 0xB3, 0x88, 0xB3, 0x89, 0xB3, 0x8A, 0xB3, 0x8B, /* 0x64-0x67 */ + 0xB3, 0x8C, 0xB3, 0x8D, 0xED, 0xD2, 0xC1, 0xF2, /* 0x68-0x6B */ + 0xD3, 0xB2, 0xED, 0xCB, 0xC8, 0xB7, 0xB3, 0x8E, /* 0x6C-0x6F */ + 0xB3, 0x8F, 0xB3, 0x90, 0xB3, 0x91, 0xB3, 0x92, /* 0x70-0x73 */ + 0xB3, 0x93, 0xB3, 0x94, 0xB3, 0x95, 0xBC, 0xEF, /* 0x74-0x77 */ + 0xB3, 0x96, 0xB3, 0x97, 0xB3, 0x98, 0xB3, 0x99, /* 0x78-0x7B */ + 0xC5, 0xF0, 0xB3, 0x9A, 0xB3, 0x9B, 0xB3, 0x9C, /* 0x7C-0x7F */ + + 0xB3, 0x9D, 0xB3, 0x9E, 0xB3, 0x9F, 0xB3, 0xA0, /* 0x80-0x83 */ + 0xB4, 0x40, 0xB4, 0x41, 0xB4, 0x42, 0xED, 0xD6, /* 0x84-0x87 */ + 0xB4, 0x43, 0xB5, 0xEF, 0xB4, 0x44, 0xB4, 0x45, /* 0x88-0x8B */ + 0xC2, 0xB5, 0xB0, 0xAD, 0xCB, 0xE9, 0xB4, 0x46, /* 0x8C-0x8F */ + 0xB4, 0x47, 0xB1, 0xAE, 0xB4, 0x48, 0xED, 0xD4, /* 0x90-0x93 */ + 0xB4, 0x49, 0xB4, 0x4A, 0xB4, 0x4B, 0xCD, 0xEB, /* 0x94-0x97 */ + 0xB5, 0xE2, 0xB4, 0x4C, 0xED, 0xD5, 0xED, 0xD3, /* 0x98-0x9B */ + 0xED, 0xD7, 0xB4, 0x4D, 0xB4, 0x4E, 0xB5, 0xFA, /* 0x9C-0x9F */ + 0xB4, 0x4F, 0xED, 0xD8, 0xB4, 0x50, 0xED, 0xD9, /* 0xA0-0xA3 */ + 0xB4, 0x51, 0xED, 0xDC, 0xB4, 0x52, 0xB1, 0xCC, /* 0xA4-0xA7 */ + 0xB4, 0x53, 0xB4, 0x54, 0xB4, 0x55, 0xB4, 0x56, /* 0xA8-0xAB */ + 0xB4, 0x57, 0xB4, 0x58, 0xB4, 0x59, 0xB4, 0x5A, /* 0xAC-0xAF */ + 0xC5, 0xF6, 0xBC, 0xEE, 0xED, 0xDA, 0xCC, 0xBC, /* 0xB0-0xB3 */ + 0xB2, 0xEA, 0xB4, 0x5B, 0xB4, 0x5C, 0xB4, 0x5D, /* 0xB4-0xB7 */ + 0xB4, 0x5E, 0xED, 0xDB, 0xB4, 0x5F, 0xB4, 0x60, /* 0xB8-0xBB */ + 0xB4, 0x61, 0xB4, 0x62, 0xC4, 0xEB, 0xB4, 0x63, /* 0xBC-0xBF */ + 0xB4, 0x64, 0xB4, 0xC5, 0xB4, 0x65, 0xB4, 0x66, /* 0xC0-0xC3 */ + 0xB4, 0x67, 0xB0, 0xF5, 0xB4, 0x68, 0xB4, 0x69, /* 0xC4-0xC7 */ + 0xB4, 0x6A, 0xED, 0xDF, 0xC0, 0xDA, 0xB4, 0xE8, /* 0xC8-0xCB */ + 0xB4, 0x6B, 0xB4, 0x6C, 0xB4, 0x6D, 0xB4, 0x6E, /* 0xCC-0xCF */ + 0xC5, 0xCD, 0xB4, 0x6F, 0xB4, 0x70, 0xB4, 0x71, /* 0xD0-0xD3 */ + 0xED, 0xDD, 0xBF, 0xC4, 0xB4, 0x72, 0xB4, 0x73, /* 0xD4-0xD7 */ + 0xB4, 0x74, 0xED, 0xDE, 0xB4, 0x75, 0xB4, 0x76, /* 0xD8-0xDB */ + 0xB4, 0x77, 0xB4, 0x78, 0xB4, 0x79, 0xB4, 0x7A, /* 0xDC-0xDF */ + 0xB4, 0x7B, 0xB4, 0x7C, 0xB4, 0x7D, 0xB4, 0x7E, /* 0xE0-0xE3 */ + 0xB4, 0x80, 0xB4, 0x81, 0xB4, 0x82, 0xB4, 0x83, /* 0xE4-0xE7 */ + 0xC4, 0xA5, 0xB4, 0x84, 0xB4, 0x85, 0xB4, 0x86, /* 0xE8-0xEB */ + 0xED, 0xE0, 0xB4, 0x87, 0xB4, 0x88, 0xB4, 0x89, /* 0xEC-0xEF */ + 0xB4, 0x8A, 0xB4, 0x8B, 0xED, 0xE1, 0xB4, 0x8C, /* 0xF0-0xF3 */ + 0xED, 0xE3, 0xB4, 0x8D, 0xB4, 0x8E, 0xC1, 0xD7, /* 0xF4-0xF7 */ + 0xB4, 0x8F, 0xB4, 0x90, 0xBB, 0xC7, 0xB4, 0x91, /* 0xF8-0xFB */ + 0xB4, 0x92, 0xB4, 0x93, 0xB4, 0x94, 0xB4, 0x95, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_79[512] = { + 0xB4, 0x96, 0xBD, 0xB8, 0xB4, 0x97, 0xB4, 0x98, /* 0x00-0x03 */ + 0xB4, 0x99, 0xED, 0xE2, 0xB4, 0x9A, 0xB4, 0x9B, /* 0x04-0x07 */ + 0xB4, 0x9C, 0xB4, 0x9D, 0xB4, 0x9E, 0xB4, 0x9F, /* 0x08-0x0B */ + 0xB4, 0xA0, 0xB5, 0x40, 0xB5, 0x41, 0xB5, 0x42, /* 0x0C-0x0F */ + 0xB5, 0x43, 0xB5, 0x44, 0xB5, 0x45, 0xED, 0xE4, /* 0x10-0x13 */ + 0xB5, 0x46, 0xB5, 0x47, 0xB5, 0x48, 0xB5, 0x49, /* 0x14-0x17 */ + 0xB5, 0x4A, 0xB5, 0x4B, 0xB5, 0x4C, 0xB5, 0x4D, /* 0x18-0x1B */ + 0xB5, 0x4E, 0xB5, 0x4F, 0xED, 0xE6, 0xB5, 0x50, /* 0x1C-0x1F */ + 0xB5, 0x51, 0xB5, 0x52, 0xB5, 0x53, 0xB5, 0x54, /* 0x20-0x23 */ + 0xED, 0xE5, 0xB5, 0x55, 0xB5, 0x56, 0xB5, 0x57, /* 0x24-0x27 */ + 0xB5, 0x58, 0xB5, 0x59, 0xB5, 0x5A, 0xB5, 0x5B, /* 0x28-0x2B */ + 0xB5, 0x5C, 0xB5, 0x5D, 0xB5, 0x5E, 0xB5, 0x5F, /* 0x2C-0x2F */ + 0xB5, 0x60, 0xB5, 0x61, 0xB5, 0x62, 0xB5, 0x63, /* 0x30-0x33 */ + 0xED, 0xE7, 0xB5, 0x64, 0xB5, 0x65, 0xB5, 0x66, /* 0x34-0x37 */ + 0xB5, 0x67, 0xB5, 0x68, 0xCA, 0xBE, 0xEC, 0xEA, /* 0x38-0x3B */ + 0xC0, 0xF1, 0xB5, 0x69, 0xC9, 0xE7, 0xB5, 0x6A, /* 0x3C-0x3F */ + 0xEC, 0xEB, 0xC6, 0xEE, 0xB5, 0x6B, 0xB5, 0x6C, /* 0x40-0x43 */ + 0xB5, 0x6D, 0xB5, 0x6E, 0xEC, 0xEC, 0xB5, 0x6F, /* 0x44-0x47 */ + 0xC6, 0xED, 0xEC, 0xED, 0xB5, 0x70, 0xB5, 0x71, /* 0x48-0x4B */ + 0xB5, 0x72, 0xB5, 0x73, 0xB5, 0x74, 0xB5, 0x75, /* 0x4C-0x4F */ + 0xB5, 0x76, 0xB5, 0x77, 0xB5, 0x78, 0xEC, 0xF0, /* 0x50-0x53 */ + 0xB5, 0x79, 0xB5, 0x7A, 0xD7, 0xE6, 0xEC, 0xF3, /* 0x54-0x57 */ + 0xB5, 0x7B, 0xB5, 0x7C, 0xEC, 0xF1, 0xEC, 0xEE, /* 0x58-0x5B */ + 0xEC, 0xEF, 0xD7, 0xA3, 0xC9, 0xF1, 0xCB, 0xEE, /* 0x5C-0x5F */ + 0xEC, 0xF4, 0xB5, 0x7D, 0xEC, 0xF2, 0xB5, 0x7E, /* 0x60-0x63 */ + 0xB5, 0x80, 0xCF, 0xE9, 0xB5, 0x81, 0xEC, 0xF6, /* 0x64-0x67 */ + 0xC6, 0xB1, 0xB5, 0x82, 0xB5, 0x83, 0xB5, 0x84, /* 0x68-0x6B */ + 0xB5, 0x85, 0xBC, 0xC0, 0xB5, 0x86, 0xEC, 0xF5, /* 0x6C-0x6F */ + 0xB5, 0x87, 0xB5, 0x88, 0xB5, 0x89, 0xB5, 0x8A, /* 0x70-0x73 */ + 0xB5, 0x8B, 0xB5, 0x8C, 0xB5, 0x8D, 0xB5, 0xBB, /* 0x74-0x77 */ + 0xBB, 0xF6, 0xB5, 0x8E, 0xEC, 0xF7, 0xB5, 0x8F, /* 0x78-0x7B */ + 0xB5, 0x90, 0xB5, 0x91, 0xB5, 0x92, 0xB5, 0x93, /* 0x7C-0x7F */ + + 0xD9, 0xF7, 0xBD, 0xFB, 0xB5, 0x94, 0xB5, 0x95, /* 0x80-0x83 */ + 0xC2, 0xBB, 0xEC, 0xF8, 0xB5, 0x96, 0xB5, 0x97, /* 0x84-0x87 */ + 0xB5, 0x98, 0xB5, 0x99, 0xEC, 0xF9, 0xB5, 0x9A, /* 0x88-0x8B */ + 0xB5, 0x9B, 0xB5, 0x9C, 0xB5, 0x9D, 0xB8, 0xA3, /* 0x8C-0x8F */ + 0xB5, 0x9E, 0xB5, 0x9F, 0xB5, 0xA0, 0xB6, 0x40, /* 0x90-0x93 */ + 0xB6, 0x41, 0xB6, 0x42, 0xB6, 0x43, 0xB6, 0x44, /* 0x94-0x97 */ + 0xB6, 0x45, 0xB6, 0x46, 0xEC, 0xFA, 0xB6, 0x47, /* 0x98-0x9B */ + 0xB6, 0x48, 0xB6, 0x49, 0xB6, 0x4A, 0xB6, 0x4B, /* 0x9C-0x9F */ + 0xB6, 0x4C, 0xB6, 0x4D, 0xB6, 0x4E, 0xB6, 0x4F, /* 0xA0-0xA3 */ + 0xB6, 0x50, 0xB6, 0x51, 0xB6, 0x52, 0xEC, 0xFB, /* 0xA4-0xA7 */ + 0xB6, 0x53, 0xB6, 0x54, 0xB6, 0x55, 0xB6, 0x56, /* 0xA8-0xAB */ + 0xB6, 0x57, 0xB6, 0x58, 0xB6, 0x59, 0xB6, 0x5A, /* 0xAC-0xAF */ + 0xB6, 0x5B, 0xB6, 0x5C, 0xB6, 0x5D, 0xEC, 0xFC, /* 0xB0-0xB3 */ + 0xB6, 0x5E, 0xB6, 0x5F, 0xB6, 0x60, 0xB6, 0x61, /* 0xB4-0xB7 */ + 0xB6, 0x62, 0xD3, 0xED, 0xD8, 0xAE, 0xC0, 0xEB, /* 0xB8-0xBB */ + 0xB6, 0x63, 0xC7, 0xDD, 0xBA, 0xCC, 0xB6, 0x64, /* 0xBC-0xBF */ + 0xD0, 0xE3, 0xCB, 0xBD, 0xB6, 0x65, 0xCD, 0xBA, /* 0xC0-0xC3 */ + 0xB6, 0x66, 0xB6, 0x67, 0xB8, 0xD1, 0xB6, 0x68, /* 0xC4-0xC7 */ + 0xB6, 0x69, 0xB1, 0xFC, 0xB6, 0x6A, 0xC7, 0xEF, /* 0xC8-0xCB */ + 0xB6, 0x6B, 0xD6, 0xD6, 0xB6, 0x6C, 0xB6, 0x6D, /* 0xCC-0xCF */ + 0xB6, 0x6E, 0xBF, 0xC6, 0xC3, 0xEB, 0xB6, 0x6F, /* 0xD0-0xD3 */ + 0xB6, 0x70, 0xEF, 0xF5, 0xB6, 0x71, 0xB6, 0x72, /* 0xD4-0xD7 */ + 0xC3, 0xD8, 0xB6, 0x73, 0xB6, 0x74, 0xB6, 0x75, /* 0xD8-0xDB */ + 0xB6, 0x76, 0xB6, 0x77, 0xB6, 0x78, 0xD7, 0xE2, /* 0xDC-0xDF */ + 0xB6, 0x79, 0xB6, 0x7A, 0xB6, 0x7B, 0xEF, 0xF7, /* 0xE0-0xE3 */ + 0xB3, 0xD3, 0xB6, 0x7C, 0xC7, 0xD8, 0xD1, 0xED, /* 0xE4-0xE7 */ + 0xB6, 0x7D, 0xD6, 0xC8, 0xB6, 0x7E, 0xEF, 0xF8, /* 0xE8-0xEB */ + 0xB6, 0x80, 0xEF, 0xF6, 0xB6, 0x81, 0xBB, 0xFD, /* 0xEC-0xEF */ + 0xB3, 0xC6, 0xB6, 0x82, 0xB6, 0x83, 0xB6, 0x84, /* 0xF0-0xF3 */ + 0xB6, 0x85, 0xB6, 0x86, 0xB6, 0x87, 0xB6, 0x88, /* 0xF4-0xF7 */ + 0xBD, 0xD5, 0xB6, 0x89, 0xB6, 0x8A, 0xD2, 0xC6, /* 0xF8-0xFB */ + 0xB6, 0x8B, 0xBB, 0xE0, 0xB6, 0x8C, 0xB6, 0x8D, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7A[512] = { + 0xCF, 0xA1, 0xB6, 0x8E, 0xEF, 0xFC, 0xEF, 0xFB, /* 0x00-0x03 */ + 0xB6, 0x8F, 0xB6, 0x90, 0xEF, 0xF9, 0xB6, 0x91, /* 0x04-0x07 */ + 0xB6, 0x92, 0xB6, 0x93, 0xB6, 0x94, 0xB3, 0xCC, /* 0x08-0x0B */ + 0xB6, 0x95, 0xC9, 0xD4, 0xCB, 0xB0, 0xB6, 0x96, /* 0x0C-0x0F */ + 0xB6, 0x97, 0xB6, 0x98, 0xB6, 0x99, 0xB6, 0x9A, /* 0x10-0x13 */ + 0xEF, 0xFE, 0xB6, 0x9B, 0xB6, 0x9C, 0xB0, 0xDE, /* 0x14-0x17 */ + 0xB6, 0x9D, 0xB6, 0x9E, 0xD6, 0xC9, 0xB6, 0x9F, /* 0x18-0x1B */ + 0xB6, 0xA0, 0xB7, 0x40, 0xEF, 0xFD, 0xB7, 0x41, /* 0x1C-0x1F */ + 0xB3, 0xED, 0xB7, 0x42, 0xB7, 0x43, 0xF6, 0xD5, /* 0x20-0x23 */ + 0xB7, 0x44, 0xB7, 0x45, 0xB7, 0x46, 0xB7, 0x47, /* 0x24-0x27 */ + 0xB7, 0x48, 0xB7, 0x49, 0xB7, 0x4A, 0xB7, 0x4B, /* 0x28-0x2B */ + 0xB7, 0x4C, 0xB7, 0x4D, 0xB7, 0x4E, 0xB7, 0x4F, /* 0x2C-0x2F */ + 0xB7, 0x50, 0xB7, 0x51, 0xB7, 0x52, 0xCE, 0xC8, /* 0x30-0x33 */ + 0xB7, 0x53, 0xB7, 0x54, 0xB7, 0x55, 0xF0, 0xA2, /* 0x34-0x37 */ + 0xB7, 0x56, 0xF0, 0xA1, 0xB7, 0x57, 0xB5, 0xBE, /* 0x38-0x3B */ + 0xBC, 0xDA, 0xBB, 0xFC, 0xB7, 0x58, 0xB8, 0xE5, /* 0x3C-0x3F */ + 0xB7, 0x59, 0xB7, 0x5A, 0xB7, 0x5B, 0xB7, 0x5C, /* 0x40-0x43 */ + 0xB7, 0x5D, 0xB7, 0x5E, 0xC4, 0xC2, 0xB7, 0x5F, /* 0x44-0x47 */ + 0xB7, 0x60, 0xB7, 0x61, 0xB7, 0x62, 0xB7, 0x63, /* 0x48-0x4B */ + 0xB7, 0x64, 0xB7, 0x65, 0xB7, 0x66, 0xB7, 0x67, /* 0x4C-0x4F */ + 0xB7, 0x68, 0xF0, 0xA3, 0xB7, 0x69, 0xB7, 0x6A, /* 0x50-0x53 */ + 0xB7, 0x6B, 0xB7, 0x6C, 0xB7, 0x6D, 0xCB, 0xEB, /* 0x54-0x57 */ + 0xB7, 0x6E, 0xB7, 0x6F, 0xB7, 0x70, 0xB7, 0x71, /* 0x58-0x5B */ + 0xB7, 0x72, 0xB7, 0x73, 0xB7, 0x74, 0xB7, 0x75, /* 0x5C-0x5F */ + 0xB7, 0x76, 0xB7, 0x77, 0xB7, 0x78, 0xB7, 0x79, /* 0x60-0x63 */ + 0xB7, 0x7A, 0xB7, 0x7B, 0xB7, 0x7C, 0xB7, 0x7D, /* 0x64-0x67 */ + 0xB7, 0x7E, 0xB7, 0x80, 0xB7, 0x81, 0xB7, 0x82, /* 0x68-0x6B */ + 0xB7, 0x83, 0xB7, 0x84, 0xB7, 0x85, 0xB7, 0x86, /* 0x6C-0x6F */ + 0xF0, 0xA6, 0xB7, 0x87, 0xB7, 0x88, 0xB7, 0x89, /* 0x70-0x73 */ + 0xD1, 0xA8, 0xB7, 0x8A, 0xBE, 0xBF, 0xC7, 0xEE, /* 0x74-0x77 */ + 0xF1, 0xB6, 0xF1, 0xB7, 0xBF, 0xD5, 0xB7, 0x8B, /* 0x78-0x7B */ + 0xB7, 0x8C, 0xB7, 0x8D, 0xB7, 0x8E, 0xB4, 0xA9, /* 0x7C-0x7F */ + + 0xF1, 0xB8, 0xCD, 0xBB, 0xB7, 0x8F, 0xC7, 0xD4, /* 0x80-0x83 */ + 0xD5, 0xAD, 0xB7, 0x90, 0xF1, 0xB9, 0xB7, 0x91, /* 0x84-0x87 */ + 0xF1, 0xBA, 0xB7, 0x92, 0xB7, 0x93, 0xB7, 0x94, /* 0x88-0x8B */ + 0xB7, 0x95, 0xC7, 0xCF, 0xB7, 0x96, 0xB7, 0x97, /* 0x8C-0x8F */ + 0xB7, 0x98, 0xD2, 0xA4, 0xD6, 0xCF, 0xB7, 0x99, /* 0x90-0x93 */ + 0xB7, 0x9A, 0xF1, 0xBB, 0xBD, 0xD1, 0xB4, 0xB0, /* 0x94-0x97 */ + 0xBE, 0xBD, 0xB7, 0x9B, 0xB7, 0x9C, 0xB7, 0x9D, /* 0x98-0x9B */ + 0xB4, 0xDC, 0xCE, 0xD1, 0xB7, 0x9E, 0xBF, 0xDF, /* 0x9C-0x9F */ + 0xF1, 0xBD, 0xB7, 0x9F, 0xB7, 0xA0, 0xB8, 0x40, /* 0xA0-0xA3 */ + 0xB8, 0x41, 0xBF, 0xFA, 0xF1, 0xBC, 0xB8, 0x42, /* 0xA4-0xA7 */ + 0xF1, 0xBF, 0xB8, 0x43, 0xB8, 0x44, 0xB8, 0x45, /* 0xA8-0xAB */ + 0xF1, 0xBE, 0xF1, 0xC0, 0xB8, 0x46, 0xB8, 0x47, /* 0xAC-0xAF */ + 0xB8, 0x48, 0xB8, 0x49, 0xB8, 0x4A, 0xF1, 0xC1, /* 0xB0-0xB3 */ + 0xB8, 0x4B, 0xB8, 0x4C, 0xB8, 0x4D, 0xB8, 0x4E, /* 0xB4-0xB7 */ + 0xB8, 0x4F, 0xB8, 0x50, 0xB8, 0x51, 0xB8, 0x52, /* 0xB8-0xBB */ + 0xB8, 0x53, 0xB8, 0x54, 0xB8, 0x55, 0xC1, 0xFE, /* 0xBC-0xBF */ + 0xB8, 0x56, 0xB8, 0x57, 0xB8, 0x58, 0xB8, 0x59, /* 0xC0-0xC3 */ + 0xB8, 0x5A, 0xB8, 0x5B, 0xB8, 0x5C, 0xB8, 0x5D, /* 0xC4-0xC7 */ + 0xB8, 0x5E, 0xB8, 0x5F, 0xB8, 0x60, 0xC1, 0xA2, /* 0xC8-0xCB */ + 0xB8, 0x61, 0xB8, 0x62, 0xB8, 0x63, 0xB8, 0x64, /* 0xCC-0xCF */ + 0xB8, 0x65, 0xB8, 0x66, 0xB8, 0x67, 0xB8, 0x68, /* 0xD0-0xD3 */ + 0xB8, 0x69, 0xB8, 0x6A, 0xCA, 0xFA, 0xB8, 0x6B, /* 0xD4-0xD7 */ + 0xB8, 0x6C, 0xD5, 0xBE, 0xB8, 0x6D, 0xB8, 0x6E, /* 0xD8-0xDB */ + 0xB8, 0x6F, 0xB8, 0x70, 0xBE, 0xBA, 0xBE, 0xB9, /* 0xDC-0xDF */ + 0xD5, 0xC2, 0xB8, 0x71, 0xB8, 0x72, 0xBF, 0xA2, /* 0xE0-0xE3 */ + 0xB8, 0x73, 0xCD, 0xAF, 0xF1, 0xB5, 0xB8, 0x74, /* 0xE4-0xE7 */ + 0xB8, 0x75, 0xB8, 0x76, 0xB8, 0x77, 0xB8, 0x78, /* 0xE8-0xEB */ + 0xB8, 0x79, 0xBD, 0xDF, 0xB8, 0x7A, 0xB6, 0xCB, /* 0xEC-0xEF */ + 0xB8, 0x7B, 0xB8, 0x7C, 0xB8, 0x7D, 0xB8, 0x7E, /* 0xF0-0xF3 */ + 0xB8, 0x80, 0xB8, 0x81, 0xB8, 0x82, 0xB8, 0x83, /* 0xF4-0xF7 */ + 0xB8, 0x84, 0xD6, 0xF1, 0xF3, 0xC3, 0xB8, 0x85, /* 0xF8-0xFB */ + 0xB8, 0x86, 0xF3, 0xC4, 0xB8, 0x87, 0xB8, 0xCD, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7B[512] = { + 0xB8, 0x88, 0xB8, 0x89, 0xB8, 0x8A, 0xF3, 0xC6, /* 0x00-0x03 */ + 0xF3, 0xC7, 0xB8, 0x8B, 0xB0, 0xCA, 0xB8, 0x8C, /* 0x04-0x07 */ + 0xF3, 0xC5, 0xB8, 0x8D, 0xF3, 0xC9, 0xCB, 0xF1, /* 0x08-0x0B */ + 0xB8, 0x8E, 0xB8, 0x8F, 0xB8, 0x90, 0xF3, 0xCB, /* 0x0C-0x0F */ + 0xB8, 0x91, 0xD0, 0xA6, 0xB8, 0x92, 0xB8, 0x93, /* 0x10-0x13 */ + 0xB1, 0xCA, 0xF3, 0xC8, 0xB8, 0x94, 0xB8, 0x95, /* 0x14-0x17 */ + 0xB8, 0x96, 0xF3, 0xCF, 0xB8, 0x97, 0xB5, 0xD1, /* 0x18-0x1B */ + 0xB8, 0x98, 0xB8, 0x99, 0xF3, 0xD7, 0xB8, 0x9A, /* 0x1C-0x1F */ + 0xF3, 0xD2, 0xB8, 0x9B, 0xB8, 0x9C, 0xB8, 0x9D, /* 0x20-0x23 */ + 0xF3, 0xD4, 0xF3, 0xD3, 0xB7, 0xFB, 0xB8, 0x9E, /* 0x24-0x27 */ + 0xB1, 0xBF, 0xB8, 0x9F, 0xF3, 0xCE, 0xF3, 0xCA, /* 0x28-0x2B */ + 0xB5, 0xDA, 0xB8, 0xA0, 0xF3, 0xD0, 0xB9, 0x40, /* 0x2C-0x2F */ + 0xB9, 0x41, 0xF3, 0xD1, 0xB9, 0x42, 0xF3, 0xD5, /* 0x30-0x33 */ + 0xB9, 0x43, 0xB9, 0x44, 0xB9, 0x45, 0xB9, 0x46, /* 0x34-0x37 */ + 0xF3, 0xCD, 0xB9, 0x47, 0xBC, 0xE3, 0xB9, 0x48, /* 0x38-0x3B */ + 0xC1, 0xFD, 0xB9, 0x49, 0xF3, 0xD6, 0xB9, 0x4A, /* 0x3C-0x3F */ + 0xB9, 0x4B, 0xB9, 0x4C, 0xB9, 0x4D, 0xB9, 0x4E, /* 0x40-0x43 */ + 0xB9, 0x4F, 0xF3, 0xDA, 0xB9, 0x50, 0xF3, 0xCC, /* 0x44-0x47 */ + 0xB9, 0x51, 0xB5, 0xC8, 0xB9, 0x52, 0xBD, 0xEE, /* 0x48-0x4B */ + 0xF3, 0xDC, 0xB9, 0x53, 0xB9, 0x54, 0xB7, 0xA4, /* 0x4C-0x4F */ + 0xBF, 0xF0, 0xD6, 0xFE, 0xCD, 0xB2, 0xB9, 0x55, /* 0x50-0x53 */ + 0xB4, 0xF0, 0xB9, 0x56, 0xB2, 0xDF, 0xB9, 0x57, /* 0x54-0x57 */ + 0xF3, 0xD8, 0xB9, 0x58, 0xF3, 0xD9, 0xC9, 0xB8, /* 0x58-0x5B */ + 0xB9, 0x59, 0xF3, 0xDD, 0xB9, 0x5A, 0xB9, 0x5B, /* 0x5C-0x5F */ + 0xF3, 0xDE, 0xB9, 0x5C, 0xF3, 0xE1, 0xB9, 0x5D, /* 0x60-0x63 */ + 0xB9, 0x5E, 0xB9, 0x5F, 0xB9, 0x60, 0xB9, 0x61, /* 0x64-0x67 */ + 0xB9, 0x62, 0xB9, 0x63, 0xB9, 0x64, 0xB9, 0x65, /* 0x68-0x6B */ + 0xB9, 0x66, 0xB9, 0x67, 0xF3, 0xDF, 0xB9, 0x68, /* 0x6C-0x6F */ + 0xB9, 0x69, 0xF3, 0xE3, 0xF3, 0xE2, 0xB9, 0x6A, /* 0x70-0x73 */ + 0xB9, 0x6B, 0xF3, 0xDB, 0xB9, 0x6C, 0xBF, 0xEA, /* 0x74-0x77 */ + 0xB9, 0x6D, 0xB3, 0xEF, 0xB9, 0x6E, 0xF3, 0xE0, /* 0x78-0x7B */ + 0xB9, 0x6F, 0xB9, 0x70, 0xC7, 0xA9, 0xB9, 0x71, /* 0x7C-0x7F */ + + 0xBC, 0xF2, 0xB9, 0x72, 0xB9, 0x73, 0xB9, 0x74, /* 0x80-0x83 */ + 0xB9, 0x75, 0xF3, 0xEB, 0xB9, 0x76, 0xB9, 0x77, /* 0x84-0x87 */ + 0xB9, 0x78, 0xB9, 0x79, 0xB9, 0x7A, 0xB9, 0x7B, /* 0x88-0x8B */ + 0xB9, 0x7C, 0xB9, 0xBF, 0xB9, 0x7D, 0xB9, 0x7E, /* 0x8C-0x8F */ + 0xF3, 0xE4, 0xB9, 0x80, 0xB9, 0x81, 0xB9, 0x82, /* 0x90-0x93 */ + 0xB2, 0xAD, 0xBB, 0xFE, 0xB9, 0x83, 0xCB, 0xE3, /* 0x94-0x97 */ + 0xB9, 0x84, 0xB9, 0x85, 0xB9, 0x86, 0xB9, 0x87, /* 0x98-0x9B */ + 0xF3, 0xED, 0xF3, 0xE9, 0xB9, 0x88, 0xB9, 0x89, /* 0x9C-0x9F */ + 0xB9, 0x8A, 0xB9, 0xDC, 0xF3, 0xEE, 0xB9, 0x8B, /* 0xA0-0xA3 */ + 0xB9, 0x8C, 0xB9, 0x8D, 0xF3, 0xE5, 0xF3, 0xE6, /* 0xA4-0xA7 */ + 0xF3, 0xEA, 0xC2, 0xE1, 0xF3, 0xEC, 0xF3, 0xEF, /* 0xA8-0xAB */ + 0xF3, 0xE8, 0xBC, 0xFD, 0xB9, 0x8E, 0xB9, 0x8F, /* 0xAC-0xAF */ + 0xB9, 0x90, 0xCF, 0xE4, 0xB9, 0x91, 0xB9, 0x92, /* 0xB0-0xB3 */ + 0xF3, 0xF0, 0xB9, 0x93, 0xB9, 0x94, 0xB9, 0x95, /* 0xB4-0xB7 */ + 0xF3, 0xE7, 0xB9, 0x96, 0xB9, 0x97, 0xB9, 0x98, /* 0xB8-0xBB */ + 0xB9, 0x99, 0xB9, 0x9A, 0xB9, 0x9B, 0xB9, 0x9C, /* 0xBC-0xBF */ + 0xB9, 0x9D, 0xF3, 0xF2, 0xB9, 0x9E, 0xB9, 0x9F, /* 0xC0-0xC3 */ + 0xB9, 0xA0, 0xBA, 0x40, 0xD7, 0xAD, 0xC6, 0xAA, /* 0xC4-0xC7 */ + 0xBA, 0x41, 0xBA, 0x42, 0xBA, 0x43, 0xBA, 0x44, /* 0xC8-0xCB */ + 0xF3, 0xF3, 0xBA, 0x45, 0xBA, 0x46, 0xBA, 0x47, /* 0xCC-0xCF */ + 0xBA, 0x48, 0xF3, 0xF1, 0xBA, 0x49, 0xC2, 0xA8, /* 0xD0-0xD3 */ + 0xBA, 0x4A, 0xBA, 0x4B, 0xBA, 0x4C, 0xBA, 0x4D, /* 0xD4-0xD7 */ + 0xBA, 0x4E, 0xB8, 0xDD, 0xF3, 0xF5, 0xBA, 0x4F, /* 0xD8-0xDB */ + 0xBA, 0x50, 0xF3, 0xF4, 0xBA, 0x51, 0xBA, 0x52, /* 0xDC-0xDF */ + 0xBA, 0x53, 0xB4, 0xDB, 0xBA, 0x54, 0xBA, 0x55, /* 0xE0-0xE3 */ + 0xBA, 0x56, 0xF3, 0xF6, 0xF3, 0xF7, 0xBA, 0x57, /* 0xE4-0xE7 */ + 0xBA, 0x58, 0xBA, 0x59, 0xF3, 0xF8, 0xBA, 0x5A, /* 0xE8-0xEB */ + 0xBA, 0x5B, 0xBA, 0x5C, 0xC0, 0xBA, 0xBA, 0x5D, /* 0xEC-0xEF */ + 0xBA, 0x5E, 0xC0, 0xE9, 0xBA, 0x5F, 0xBA, 0x60, /* 0xF0-0xF3 */ + 0xBA, 0x61, 0xBA, 0x62, 0xBA, 0x63, 0xC5, 0xF1, /* 0xF4-0xF7 */ + 0xBA, 0x64, 0xBA, 0x65, 0xBA, 0x66, 0xBA, 0x67, /* 0xF8-0xFB */ + 0xF3, 0xFB, 0xBA, 0x68, 0xF3, 0xFA, 0xBA, 0x69, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7C[512] = { + 0xBA, 0x6A, 0xBA, 0x6B, 0xBA, 0x6C, 0xBA, 0x6D, /* 0x00-0x03 */ + 0xBA, 0x6E, 0xBA, 0x6F, 0xBA, 0x70, 0xB4, 0xD8, /* 0x04-0x07 */ + 0xBA, 0x71, 0xBA, 0x72, 0xBA, 0x73, 0xF3, 0xFE, /* 0x08-0x0B */ + 0xF3, 0xF9, 0xBA, 0x74, 0xBA, 0x75, 0xF3, 0xFC, /* 0x0C-0x0F */ + 0xBA, 0x76, 0xBA, 0x77, 0xBA, 0x78, 0xBA, 0x79, /* 0x10-0x13 */ + 0xBA, 0x7A, 0xBA, 0x7B, 0xF3, 0xFD, 0xBA, 0x7C, /* 0x14-0x17 */ + 0xBA, 0x7D, 0xBA, 0x7E, 0xBA, 0x80, 0xBA, 0x81, /* 0x18-0x1B */ + 0xBA, 0x82, 0xBA, 0x83, 0xBA, 0x84, 0xF4, 0xA1, /* 0x1C-0x1F */ + 0xBA, 0x85, 0xBA, 0x86, 0xBA, 0x87, 0xBA, 0x88, /* 0x20-0x23 */ + 0xBA, 0x89, 0xBA, 0x8A, 0xF4, 0xA3, 0xBB, 0xC9, /* 0x24-0x27 */ + 0xBA, 0x8B, 0xBA, 0x8C, 0xF4, 0xA2, 0xBA, 0x8D, /* 0x28-0x2B */ + 0xBA, 0x8E, 0xBA, 0x8F, 0xBA, 0x90, 0xBA, 0x91, /* 0x2C-0x2F */ + 0xBA, 0x92, 0xBA, 0x93, 0xBA, 0x94, 0xBA, 0x95, /* 0x30-0x33 */ + 0xBA, 0x96, 0xBA, 0x97, 0xBA, 0x98, 0xBA, 0x99, /* 0x34-0x37 */ + 0xF4, 0xA4, 0xBA, 0x9A, 0xBA, 0x9B, 0xBA, 0x9C, /* 0x38-0x3B */ + 0xBA, 0x9D, 0xBA, 0x9E, 0xBA, 0x9F, 0xB2, 0xBE, /* 0x3C-0x3F */ + 0xF4, 0xA6, 0xF4, 0xA5, 0xBA, 0xA0, 0xBB, 0x40, /* 0x40-0x43 */ + 0xBB, 0x41, 0xBB, 0x42, 0xBB, 0x43, 0xBB, 0x44, /* 0x44-0x47 */ + 0xBB, 0x45, 0xBB, 0x46, 0xBB, 0x47, 0xBB, 0x48, /* 0x48-0x4B */ + 0xBB, 0x49, 0xBC, 0xAE, 0xBB, 0x4A, 0xBB, 0x4B, /* 0x4C-0x4F */ + 0xBB, 0x4C, 0xBB, 0x4D, 0xBB, 0x4E, 0xBB, 0x4F, /* 0x50-0x53 */ + 0xBB, 0x50, 0xBB, 0x51, 0xBB, 0x52, 0xBB, 0x53, /* 0x54-0x57 */ + 0xBB, 0x54, 0xBB, 0x55, 0xBB, 0x56, 0xBB, 0x57, /* 0x58-0x5B */ + 0xBB, 0x58, 0xBB, 0x59, 0xBB, 0x5A, 0xBB, 0x5B, /* 0x5C-0x5F */ + 0xBB, 0x5C, 0xBB, 0x5D, 0xBB, 0x5E, 0xBB, 0x5F, /* 0x60-0x63 */ + 0xBB, 0x60, 0xBB, 0x61, 0xBB, 0x62, 0xBB, 0x63, /* 0x64-0x67 */ + 0xBB, 0x64, 0xBB, 0x65, 0xBB, 0x66, 0xBB, 0x67, /* 0x68-0x6B */ + 0xBB, 0x68, 0xBB, 0x69, 0xBB, 0x6A, 0xBB, 0x6B, /* 0x6C-0x6F */ + 0xBB, 0x6C, 0xBB, 0x6D, 0xBB, 0x6E, 0xC3, 0xD7, /* 0x70-0x73 */ + 0xD9, 0xE1, 0xBB, 0x6F, 0xBB, 0x70, 0xBB, 0x71, /* 0x74-0x77 */ + 0xBB, 0x72, 0xBB, 0x73, 0xBB, 0x74, 0xC0, 0xE0, /* 0x78-0x7B */ + 0xF4, 0xCC, 0xD7, 0xD1, 0xBB, 0x75, 0xBB, 0x76, /* 0x7C-0x7F */ + + 0xBB, 0x77, 0xBB, 0x78, 0xBB, 0x79, 0xBB, 0x7A, /* 0x80-0x83 */ + 0xBB, 0x7B, 0xBB, 0x7C, 0xBB, 0x7D, 0xBB, 0x7E, /* 0x84-0x87 */ + 0xBB, 0x80, 0xB7, 0xDB, 0xBB, 0x81, 0xBB, 0x82, /* 0x88-0x8B */ + 0xBB, 0x83, 0xBB, 0x84, 0xBB, 0x85, 0xBB, 0x86, /* 0x8C-0x8F */ + 0xBB, 0x87, 0xF4, 0xCE, 0xC1, 0xA3, 0xBB, 0x88, /* 0x90-0x93 */ + 0xBB, 0x89, 0xC6, 0xC9, 0xBB, 0x8A, 0xB4, 0xD6, /* 0x94-0x97 */ + 0xD5, 0xB3, 0xBB, 0x8B, 0xBB, 0x8C, 0xBB, 0x8D, /* 0x98-0x9B */ + 0xF4, 0xD0, 0xF4, 0xCF, 0xF4, 0xD1, 0xCB, 0xDA, /* 0x9C-0x9F */ + 0xBB, 0x8E, 0xBB, 0x8F, 0xF4, 0xD2, 0xBB, 0x90, /* 0xA0-0xA3 */ + 0xD4, 0xC1, 0xD6, 0xE0, 0xBB, 0x91, 0xBB, 0x92, /* 0xA4-0xA7 */ + 0xBB, 0x93, 0xBB, 0x94, 0xB7, 0xE0, 0xBB, 0x95, /* 0xA8-0xAB */ + 0xBB, 0x96, 0xBB, 0x97, 0xC1, 0xB8, 0xBB, 0x98, /* 0xAC-0xAF */ + 0xBB, 0x99, 0xC1, 0xBB, 0xF4, 0xD3, 0xBE, 0xAC, /* 0xB0-0xB3 */ + 0xBB, 0x9A, 0xBB, 0x9B, 0xBB, 0x9C, 0xBB, 0x9D, /* 0xB4-0xB7 */ + 0xBB, 0x9E, 0xB4, 0xE2, 0xBB, 0x9F, 0xBB, 0xA0, /* 0xB8-0xBB */ + 0xF4, 0xD4, 0xF4, 0xD5, 0xBE, 0xAB, 0xBC, 0x40, /* 0xBC-0xBF */ + 0xBC, 0x41, 0xF4, 0xD6, 0xBC, 0x42, 0xBC, 0x43, /* 0xC0-0xC3 */ + 0xBC, 0x44, 0xF4, 0xDB, 0xBC, 0x45, 0xF4, 0xD7, /* 0xC4-0xC7 */ + 0xF4, 0xDA, 0xBC, 0x46, 0xBA, 0xFD, 0xBC, 0x47, /* 0xC8-0xCB */ + 0xF4, 0xD8, 0xF4, 0xD9, 0xBC, 0x48, 0xBC, 0x49, /* 0xCC-0xCF */ + 0xBC, 0x4A, 0xBC, 0x4B, 0xBC, 0x4C, 0xBC, 0x4D, /* 0xD0-0xD3 */ + 0xBC, 0x4E, 0xB8, 0xE2, 0xCC, 0xC7, 0xF4, 0xDC, /* 0xD4-0xD7 */ + 0xBC, 0x4F, 0xB2, 0xDA, 0xBC, 0x50, 0xBC, 0x51, /* 0xD8-0xDB */ + 0xC3, 0xD3, 0xBC, 0x52, 0xBC, 0x53, 0xD4, 0xE3, /* 0xDC-0xDF */ + 0xBF, 0xB7, 0xBC, 0x54, 0xBC, 0x55, 0xBC, 0x56, /* 0xE0-0xE3 */ + 0xBC, 0x57, 0xBC, 0x58, 0xBC, 0x59, 0xBC, 0x5A, /* 0xE4-0xE7 */ + 0xF4, 0xDD, 0xBC, 0x5B, 0xBC, 0x5C, 0xBC, 0x5D, /* 0xE8-0xEB */ + 0xBC, 0x5E, 0xBC, 0x5F, 0xBC, 0x60, 0xC5, 0xB4, /* 0xEC-0xEF */ + 0xBC, 0x61, 0xBC, 0x62, 0xBC, 0x63, 0xBC, 0x64, /* 0xF0-0xF3 */ + 0xBC, 0x65, 0xBC, 0x66, 0xBC, 0x67, 0xBC, 0x68, /* 0xF4-0xF7 */ + 0xF4, 0xE9, 0xBC, 0x69, 0xBC, 0x6A, 0xCF, 0xB5, /* 0xF8-0xFB */ + 0xBC, 0x6B, 0xBC, 0x6C, 0xBC, 0x6D, 0xBC, 0x6E, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7D[512] = { + 0xBC, 0x6F, 0xBC, 0x70, 0xBC, 0x71, 0xBC, 0x72, /* 0x00-0x03 */ + 0xBC, 0x73, 0xBC, 0x74, 0xBC, 0x75, 0xBC, 0x76, /* 0x04-0x07 */ + 0xBC, 0x77, 0xBC, 0x78, 0xCE, 0xC9, 0xBC, 0x79, /* 0x08-0x0B */ + 0xBC, 0x7A, 0xBC, 0x7B, 0xBC, 0x7C, 0xBC, 0x7D, /* 0x0C-0x0F */ + 0xBC, 0x7E, 0xBC, 0x80, 0xBC, 0x81, 0xBC, 0x82, /* 0x10-0x13 */ + 0xBC, 0x83, 0xBC, 0x84, 0xBC, 0x85, 0xBC, 0x86, /* 0x14-0x17 */ + 0xBC, 0x87, 0xBC, 0x88, 0xBC, 0x89, 0xBC, 0x8A, /* 0x18-0x1B */ + 0xBC, 0x8B, 0xBC, 0x8C, 0xBC, 0x8D, 0xBC, 0x8E, /* 0x1C-0x1F */ + 0xCB, 0xD8, 0xBC, 0x8F, 0xCB, 0xF7, 0xBC, 0x90, /* 0x20-0x23 */ + 0xBC, 0x91, 0xBC, 0x92, 0xBC, 0x93, 0xBD, 0xF4, /* 0x24-0x27 */ + 0xBC, 0x94, 0xBC, 0x95, 0xBC, 0x96, 0xD7, 0xCF, /* 0x28-0x2B */ + 0xBC, 0x97, 0xBC, 0x98, 0xBC, 0x99, 0xC0, 0xDB, /* 0x2C-0x2F */ + 0xBC, 0x9A, 0xBC, 0x9B, 0xBC, 0x9C, 0xBC, 0x9D, /* 0x30-0x33 */ + 0xBC, 0x9E, 0xBC, 0x9F, 0xBC, 0xA0, 0xBD, 0x40, /* 0x34-0x37 */ + 0xBD, 0x41, 0xBD, 0x42, 0xBD, 0x43, 0xBD, 0x44, /* 0x38-0x3B */ + 0xBD, 0x45, 0xBD, 0x46, 0xBD, 0x47, 0xBD, 0x48, /* 0x3C-0x3F */ + 0xBD, 0x49, 0xBD, 0x4A, 0xBD, 0x4B, 0xBD, 0x4C, /* 0x40-0x43 */ + 0xBD, 0x4D, 0xBD, 0x4E, 0xBD, 0x4F, 0xBD, 0x50, /* 0x44-0x47 */ + 0xBD, 0x51, 0xBD, 0x52, 0xBD, 0x53, 0xBD, 0x54, /* 0x48-0x4B */ + 0xBD, 0x55, 0xBD, 0x56, 0xBD, 0x57, 0xBD, 0x58, /* 0x4C-0x4F */ + 0xBD, 0x59, 0xBD, 0x5A, 0xBD, 0x5B, 0xBD, 0x5C, /* 0x50-0x53 */ + 0xBD, 0x5D, 0xBD, 0x5E, 0xBD, 0x5F, 0xBD, 0x60, /* 0x54-0x57 */ + 0xBD, 0x61, 0xBD, 0x62, 0xBD, 0x63, 0xBD, 0x64, /* 0x58-0x5B */ + 0xBD, 0x65, 0xBD, 0x66, 0xBD, 0x67, 0xBD, 0x68, /* 0x5C-0x5F */ + 0xBD, 0x69, 0xBD, 0x6A, 0xBD, 0x6B, 0xBD, 0x6C, /* 0x60-0x63 */ + 0xBD, 0x6D, 0xBD, 0x6E, 0xBD, 0x6F, 0xBD, 0x70, /* 0x64-0x67 */ + 0xBD, 0x71, 0xBD, 0x72, 0xBD, 0x73, 0xBD, 0x74, /* 0x68-0x6B */ + 0xBD, 0x75, 0xBD, 0x76, 0xD0, 0xF5, 0xBD, 0x77, /* 0x6C-0x6F */ + 0xBD, 0x78, 0xBD, 0x79, 0xBD, 0x7A, 0xBD, 0x7B, /* 0x70-0x73 */ + 0xBD, 0x7C, 0xBD, 0x7D, 0xBD, 0x7E, 0xF4, 0xEA, /* 0x74-0x77 */ + 0xBD, 0x80, 0xBD, 0x81, 0xBD, 0x82, 0xBD, 0x83, /* 0x78-0x7B */ + 0xBD, 0x84, 0xBD, 0x85, 0xBD, 0x86, 0xBD, 0x87, /* 0x7C-0x7F */ + + 0xBD, 0x88, 0xBD, 0x89, 0xBD, 0x8A, 0xBD, 0x8B, /* 0x80-0x83 */ + 0xBD, 0x8C, 0xBD, 0x8D, 0xBD, 0x8E, 0xBD, 0x8F, /* 0x84-0x87 */ + 0xBD, 0x90, 0xBD, 0x91, 0xBD, 0x92, 0xBD, 0x93, /* 0x88-0x8B */ + 0xBD, 0x94, 0xBD, 0x95, 0xBD, 0x96, 0xBD, 0x97, /* 0x8C-0x8F */ + 0xBD, 0x98, 0xBD, 0x99, 0xBD, 0x9A, 0xBD, 0x9B, /* 0x90-0x93 */ + 0xBD, 0x9C, 0xBD, 0x9D, 0xBD, 0x9E, 0xBD, 0x9F, /* 0x94-0x97 */ + 0xBD, 0xA0, 0xBE, 0x40, 0xBE, 0x41, 0xBE, 0x42, /* 0x98-0x9B */ + 0xBE, 0x43, 0xBE, 0x44, 0xBE, 0x45, 0xBE, 0x46, /* 0x9C-0x9F */ + 0xBE, 0x47, 0xBE, 0x48, 0xBE, 0x49, 0xBE, 0x4A, /* 0xA0-0xA3 */ + 0xBE, 0x4B, 0xBE, 0x4C, 0xF4, 0xEB, 0xBE, 0x4D, /* 0xA4-0xA7 */ + 0xBE, 0x4E, 0xBE, 0x4F, 0xBE, 0x50, 0xBE, 0x51, /* 0xA8-0xAB */ + 0xBE, 0x52, 0xBE, 0x53, 0xF4, 0xEC, 0xBE, 0x54, /* 0xAC-0xAF */ + 0xBE, 0x55, 0xBE, 0x56, 0xBE, 0x57, 0xBE, 0x58, /* 0xB0-0xB3 */ + 0xBE, 0x59, 0xBE, 0x5A, 0xBE, 0x5B, 0xBE, 0x5C, /* 0xB4-0xB7 */ + 0xBE, 0x5D, 0xBE, 0x5E, 0xBE, 0x5F, 0xBE, 0x60, /* 0xB8-0xBB */ + 0xBE, 0x61, 0xBE, 0x62, 0xBE, 0x63, 0xBE, 0x64, /* 0xBC-0xBF */ + 0xBE, 0x65, 0xBE, 0x66, 0xBE, 0x67, 0xBE, 0x68, /* 0xC0-0xC3 */ + 0xBE, 0x69, 0xBE, 0x6A, 0xBE, 0x6B, 0xBE, 0x6C, /* 0xC4-0xC7 */ + 0xBE, 0x6D, 0xBE, 0x6E, 0xBE, 0x6F, 0xBE, 0x70, /* 0xC8-0xCB */ + 0xBE, 0x71, 0xBE, 0x72, 0xBE, 0x73, 0xBE, 0x74, /* 0xCC-0xCF */ + 0xBE, 0x75, 0xBE, 0x76, 0xBE, 0x77, 0xBE, 0x78, /* 0xD0-0xD3 */ + 0xBE, 0x79, 0xBE, 0x7A, 0xBE, 0x7B, 0xBE, 0x7C, /* 0xD4-0xD7 */ + 0xBE, 0x7D, 0xBE, 0x7E, 0xBE, 0x80, 0xBE, 0x81, /* 0xD8-0xDB */ + 0xBE, 0x82, 0xBE, 0x83, 0xBE, 0x84, 0xBE, 0x85, /* 0xDC-0xDF */ + 0xBE, 0x86, 0xBE, 0x87, 0xBE, 0x88, 0xBE, 0x89, /* 0xE0-0xE3 */ + 0xBE, 0x8A, 0xBE, 0x8B, 0xBE, 0x8C, 0xBE, 0x8D, /* 0xE4-0xE7 */ + 0xBE, 0x8E, 0xBE, 0x8F, 0xBE, 0x90, 0xBE, 0x91, /* 0xE8-0xEB */ + 0xBE, 0x92, 0xBE, 0x93, 0xBE, 0x94, 0xBE, 0x95, /* 0xEC-0xEF */ + 0xBE, 0x96, 0xBE, 0x97, 0xBE, 0x98, 0xBE, 0x99, /* 0xF0-0xF3 */ + 0xBE, 0x9A, 0xBE, 0x9B, 0xBE, 0x9C, 0xBE, 0x9D, /* 0xF4-0xF7 */ + 0xBE, 0x9E, 0xBE, 0x9F, 0xBE, 0xA0, 0xBF, 0x40, /* 0xF8-0xFB */ + 0xBF, 0x41, 0xBF, 0x42, 0xBF, 0x43, 0xBF, 0x44, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7E[512] = { + 0xBF, 0x45, 0xBF, 0x46, 0xBF, 0x47, 0xBF, 0x48, /* 0x00-0x03 */ + 0xBF, 0x49, 0xBF, 0x4A, 0xBF, 0x4B, 0xBF, 0x4C, /* 0x04-0x07 */ + 0xBF, 0x4D, 0xBF, 0x4E, 0xBF, 0x4F, 0xBF, 0x50, /* 0x08-0x0B */ + 0xBF, 0x51, 0xBF, 0x52, 0xBF, 0x53, 0xBF, 0x54, /* 0x0C-0x0F */ + 0xBF, 0x55, 0xBF, 0x56, 0xBF, 0x57, 0xBF, 0x58, /* 0x10-0x13 */ + 0xBF, 0x59, 0xBF, 0x5A, 0xBF, 0x5B, 0xBF, 0x5C, /* 0x14-0x17 */ + 0xBF, 0x5D, 0xBF, 0x5E, 0xBF, 0x5F, 0xBF, 0x60, /* 0x18-0x1B */ + 0xBF, 0x61, 0xBF, 0x62, 0xBF, 0x63, 0xBF, 0x64, /* 0x1C-0x1F */ + 0xBF, 0x65, 0xBF, 0x66, 0xBF, 0x67, 0xBF, 0x68, /* 0x20-0x23 */ + 0xBF, 0x69, 0xBF, 0x6A, 0xBF, 0x6B, 0xBF, 0x6C, /* 0x24-0x27 */ + 0xBF, 0x6D, 0xBF, 0x6E, 0xBF, 0x6F, 0xBF, 0x70, /* 0x28-0x2B */ + 0xBF, 0x71, 0xBF, 0x72, 0xBF, 0x73, 0xBF, 0x74, /* 0x2C-0x2F */ + 0xBF, 0x75, 0xBF, 0x76, 0xBF, 0x77, 0xBF, 0x78, /* 0x30-0x33 */ + 0xBF, 0x79, 0xBF, 0x7A, 0xBF, 0x7B, 0xBF, 0x7C, /* 0x34-0x37 */ + 0xBF, 0x7D, 0xBF, 0x7E, 0xBF, 0x80, 0xF7, 0xE3, /* 0x38-0x3B */ + 0xBF, 0x81, 0xBF, 0x82, 0xBF, 0x83, 0xBF, 0x84, /* 0x3C-0x3F */ + 0xBF, 0x85, 0xB7, 0xB1, 0xBF, 0x86, 0xBF, 0x87, /* 0x40-0x43 */ + 0xBF, 0x88, 0xBF, 0x89, 0xBF, 0x8A, 0xF4, 0xED, /* 0x44-0x47 */ + 0xBF, 0x8B, 0xBF, 0x8C, 0xBF, 0x8D, 0xBF, 0x8E, /* 0x48-0x4B */ + 0xBF, 0x8F, 0xBF, 0x90, 0xBF, 0x91, 0xBF, 0x92, /* 0x4C-0x4F */ + 0xBF, 0x93, 0xBF, 0x94, 0xBF, 0x95, 0xBF, 0x96, /* 0x50-0x53 */ + 0xBF, 0x97, 0xBF, 0x98, 0xBF, 0x99, 0xBF, 0x9A, /* 0x54-0x57 */ + 0xBF, 0x9B, 0xBF, 0x9C, 0xBF, 0x9D, 0xBF, 0x9E, /* 0x58-0x5B */ + 0xBF, 0x9F, 0xBF, 0xA0, 0xC0, 0x40, 0xC0, 0x41, /* 0x5C-0x5F */ + 0xC0, 0x42, 0xC0, 0x43, 0xC0, 0x44, 0xC0, 0x45, /* 0x60-0x63 */ + 0xC0, 0x46, 0xC0, 0x47, 0xC0, 0x48, 0xC0, 0x49, /* 0x64-0x67 */ + 0xC0, 0x4A, 0xC0, 0x4B, 0xC0, 0x4C, 0xC0, 0x4D, /* 0x68-0x6B */ + 0xC0, 0x4E, 0xC0, 0x4F, 0xC0, 0x50, 0xC0, 0x51, /* 0x6C-0x6F */ + 0xC0, 0x52, 0xC0, 0x53, 0xC0, 0x54, 0xC0, 0x55, /* 0x70-0x73 */ + 0xC0, 0x56, 0xC0, 0x57, 0xC0, 0x58, 0xC0, 0x59, /* 0x74-0x77 */ + 0xC0, 0x5A, 0xC0, 0x5B, 0xC0, 0x5C, 0xC0, 0x5D, /* 0x78-0x7B */ + 0xC0, 0x5E, 0xC0, 0x5F, 0xC0, 0x60, 0xC0, 0x61, /* 0x7C-0x7F */ + + 0xC0, 0x62, 0xC0, 0x63, 0xD7, 0xEB, 0xC0, 0x64, /* 0x80-0x83 */ + 0xC0, 0x65, 0xC0, 0x66, 0xC0, 0x67, 0xC0, 0x68, /* 0x84-0x87 */ + 0xC0, 0x69, 0xC0, 0x6A, 0xC0, 0x6B, 0xC0, 0x6C, /* 0x88-0x8B */ + 0xC0, 0x6D, 0xC0, 0x6E, 0xC0, 0x6F, 0xC0, 0x70, /* 0x8C-0x8F */ + 0xC0, 0x71, 0xC0, 0x72, 0xC0, 0x73, 0xC0, 0x74, /* 0x90-0x93 */ + 0xC0, 0x75, 0xC0, 0x76, 0xC0, 0x77, 0xC0, 0x78, /* 0x94-0x97 */ + 0xC0, 0x79, 0xC0, 0x7A, 0xC0, 0x7B, 0xF4, 0xEE, /* 0x98-0x9B */ + 0xC0, 0x7C, 0xC0, 0x7D, 0xC0, 0x7E, 0xE6, 0xF9, /* 0x9C-0x9F */ + 0xBE, 0xC0, 0xE6, 0xFA, 0xBA, 0xEC, 0xE6, 0xFB, /* 0xA0-0xA3 */ + 0xCF, 0xCB, 0xE6, 0xFC, 0xD4, 0xBC, 0xBC, 0xB6, /* 0xA4-0xA7 */ + 0xE6, 0xFD, 0xE6, 0xFE, 0xBC, 0xCD, 0xC8, 0xD2, /* 0xA8-0xAB */ + 0xCE, 0xB3, 0xE7, 0xA1, 0xC0, 0x80, 0xB4, 0xBF, /* 0xAC-0xAF */ + 0xE7, 0xA2, 0xC9, 0xB4, 0xB8, 0xD9, 0xC4, 0xC9, /* 0xB0-0xB3 */ + 0xC0, 0x81, 0xD7, 0xDD, 0xC2, 0xDA, 0xB7, 0xD7, /* 0xB4-0xB7 */ + 0xD6, 0xBD, 0xCE, 0xC6, 0xB7, 0xC4, 0xC0, 0x82, /* 0xB8-0xBB */ + 0xC0, 0x83, 0xC5, 0xA6, 0xE7, 0xA3, 0xCF, 0xDF, /* 0xBC-0xBF */ + 0xE7, 0xA4, 0xE7, 0xA5, 0xE7, 0xA6, 0xC1, 0xB7, /* 0xC0-0xC3 */ + 0xD7, 0xE9, 0xC9, 0xF0, 0xCF, 0xB8, 0xD6, 0xAF, /* 0xC4-0xC7 */ + 0xD6, 0xD5, 0xE7, 0xA7, 0xB0, 0xED, 0xE7, 0xA8, /* 0xC8-0xCB */ + 0xE7, 0xA9, 0xC9, 0xDC, 0xD2, 0xEF, 0xBE, 0xAD, /* 0xCC-0xCF */ + 0xE7, 0xAA, 0xB0, 0xF3, 0xC8, 0xDE, 0xBD, 0xE1, /* 0xD0-0xD3 */ + 0xE7, 0xAB, 0xC8, 0xC6, 0xC0, 0x84, 0xE7, 0xAC, /* 0xD4-0xD7 */ + 0xBB, 0xE6, 0xB8, 0xF8, 0xD1, 0xA4, 0xE7, 0xAD, /* 0xD8-0xDB */ + 0xC2, 0xE7, 0xBE, 0xF8, 0xBD, 0xCA, 0xCD, 0xB3, /* 0xDC-0xDF */ + 0xE7, 0xAE, 0xE7, 0xAF, 0xBE, 0xEE, 0xD0, 0xE5, /* 0xE0-0xE3 */ + 0xC0, 0x85, 0xCB, 0xE7, 0xCC, 0xD0, 0xBC, 0xCC, /* 0xE4-0xE7 */ + 0xE7, 0xB0, 0xBC, 0xA8, 0xD0, 0xF7, 0xE7, 0xB1, /* 0xE8-0xEB */ + 0xC0, 0x86, 0xD0, 0xF8, 0xE7, 0xB2, 0xE7, 0xB3, /* 0xEC-0xEF */ + 0xB4, 0xC2, 0xE7, 0xB4, 0xE7, 0xB5, 0xC9, 0xFE, /* 0xF0-0xF3 */ + 0xCE, 0xAC, 0xC3, 0xE0, 0xE7, 0xB7, 0xB1, 0xC1, /* 0xF4-0xF7 */ + 0xB3, 0xF1, 0xC0, 0x87, 0xE7, 0xB8, 0xE7, 0xB9, /* 0xF8-0xFB */ + 0xD7, 0xDB, 0xD5, 0xC0, 0xE7, 0xBA, 0xC2, 0xCC, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7F[512] = { + 0xD7, 0xBA, 0xE7, 0xBB, 0xE7, 0xBC, 0xE7, 0xBD, /* 0x00-0x03 */ + 0xBC, 0xEA, 0xC3, 0xE5, 0xC0, 0xC2, 0xE7, 0xBE, /* 0x04-0x07 */ + 0xE7, 0xBF, 0xBC, 0xA9, 0xC0, 0x88, 0xE7, 0xC0, /* 0x08-0x0B */ + 0xE7, 0xC1, 0xE7, 0xB6, 0xB6, 0xD0, 0xE7, 0xC2, /* 0x0C-0x0F */ + 0xC0, 0x89, 0xE7, 0xC3, 0xE7, 0xC4, 0xBB, 0xBA, /* 0x10-0x13 */ + 0xB5, 0xDE, 0xC2, 0xC6, 0xB1, 0xE0, 0xE7, 0xC5, /* 0x14-0x17 */ + 0xD4, 0xB5, 0xE7, 0xC6, 0xB8, 0xBF, 0xE7, 0xC8, /* 0x18-0x1B */ + 0xE7, 0xC7, 0xB7, 0xEC, 0xC0, 0x8A, 0xE7, 0xC9, /* 0x1C-0x1F */ + 0xB2, 0xF8, 0xE7, 0xCA, 0xE7, 0xCB, 0xE7, 0xCC, /* 0x20-0x23 */ + 0xE7, 0xCD, 0xE7, 0xCE, 0xE7, 0xCF, 0xE7, 0xD0, /* 0x24-0x27 */ + 0xD3, 0xA7, 0xCB, 0xF5, 0xE7, 0xD1, 0xE7, 0xD2, /* 0x28-0x2B */ + 0xE7, 0xD3, 0xE7, 0xD4, 0xC9, 0xC9, 0xE7, 0xD5, /* 0x2C-0x2F */ + 0xE7, 0xD6, 0xE7, 0xD7, 0xE7, 0xD8, 0xE7, 0xD9, /* 0x30-0x33 */ + 0xBD, 0xC9, 0xE7, 0xDA, 0xF3, 0xBE, 0xC0, 0x8B, /* 0x34-0x37 */ + 0xB8, 0xD7, 0xC0, 0x8C, 0xC8, 0xB1, 0xC0, 0x8D, /* 0x38-0x3B */ + 0xC0, 0x8E, 0xC0, 0x8F, 0xC0, 0x90, 0xC0, 0x91, /* 0x3C-0x3F */ + 0xC0, 0x92, 0xC0, 0x93, 0xF3, 0xBF, 0xC0, 0x94, /* 0x40-0x43 */ + 0xF3, 0xC0, 0xF3, 0xC1, 0xC0, 0x95, 0xC0, 0x96, /* 0x44-0x47 */ + 0xC0, 0x97, 0xC0, 0x98, 0xC0, 0x99, 0xC0, 0x9A, /* 0x48-0x4B */ + 0xC0, 0x9B, 0xC0, 0x9C, 0xC0, 0x9D, 0xC0, 0x9E, /* 0x4C-0x4F */ + 0xB9, 0xDE, 0xCD, 0xF8, 0xC0, 0x9F, 0xC0, 0xA0, /* 0x50-0x53 */ + 0xD8, 0xE8, 0xBA, 0xB1, 0xC1, 0x40, 0xC2, 0xDE, /* 0x54-0x57 */ + 0xEE, 0xB7, 0xC1, 0x41, 0xB7, 0xA3, 0xC1, 0x42, /* 0x58-0x5B */ + 0xC1, 0x43, 0xC1, 0x44, 0xC1, 0x45, 0xEE, 0xB9, /* 0x5C-0x5F */ + 0xC1, 0x46, 0xEE, 0xB8, 0xB0, 0xD5, 0xC1, 0x47, /* 0x60-0x63 */ + 0xC1, 0x48, 0xC1, 0x49, 0xC1, 0x4A, 0xC1, 0x4B, /* 0x64-0x67 */ + 0xEE, 0xBB, 0xD5, 0xD6, 0xD7, 0xEF, 0xC1, 0x4C, /* 0x68-0x6B */ + 0xC1, 0x4D, 0xC1, 0x4E, 0xD6, 0xC3, 0xC1, 0x4F, /* 0x6C-0x6F */ + 0xC1, 0x50, 0xEE, 0xBD, 0xCA, 0xF0, 0xC1, 0x51, /* 0x70-0x73 */ + 0xEE, 0xBC, 0xC1, 0x52, 0xC1, 0x53, 0xC1, 0x54, /* 0x74-0x77 */ + 0xC1, 0x55, 0xEE, 0xBE, 0xC1, 0x56, 0xC1, 0x57, /* 0x78-0x7B */ + 0xC1, 0x58, 0xC1, 0x59, 0xEE, 0xC0, 0xC1, 0x5A, /* 0x7C-0x7F */ + + 0xC1, 0x5B, 0xEE, 0xBF, 0xC1, 0x5C, 0xC1, 0x5D, /* 0x80-0x83 */ + 0xC1, 0x5E, 0xC1, 0x5F, 0xC1, 0x60, 0xC1, 0x61, /* 0x84-0x87 */ + 0xC1, 0x62, 0xC1, 0x63, 0xD1, 0xF2, 0xC1, 0x64, /* 0x88-0x8B */ + 0xC7, 0xBC, 0xC1, 0x65, 0xC3, 0xC0, 0xC1, 0x66, /* 0x8C-0x8F */ + 0xC1, 0x67, 0xC1, 0x68, 0xC1, 0x69, 0xC1, 0x6A, /* 0x90-0x93 */ + 0xB8, 0xE1, 0xC1, 0x6B, 0xC1, 0x6C, 0xC1, 0x6D, /* 0x94-0x97 */ + 0xC1, 0x6E, 0xC1, 0x6F, 0xC1, 0xE7, 0xC1, 0x70, /* 0x98-0x9B */ + 0xC1, 0x71, 0xF4, 0xC6, 0xD0, 0xDF, 0xF4, 0xC7, /* 0x9C-0x9F */ + 0xC1, 0x72, 0xCF, 0xDB, 0xC1, 0x73, 0xC1, 0x74, /* 0xA0-0xA3 */ + 0xC8, 0xBA, 0xC1, 0x75, 0xC1, 0x76, 0xF4, 0xC8, /* 0xA4-0xA7 */ + 0xC1, 0x77, 0xC1, 0x78, 0xC1, 0x79, 0xC1, 0x7A, /* 0xA8-0xAB */ + 0xC1, 0x7B, 0xC1, 0x7C, 0xC1, 0x7D, 0xF4, 0xC9, /* 0xAC-0xAF */ + 0xF4, 0xCA, 0xC1, 0x7E, 0xF4, 0xCB, 0xC1, 0x80, /* 0xB0-0xB3 */ + 0xC1, 0x81, 0xC1, 0x82, 0xC1, 0x83, 0xC1, 0x84, /* 0xB4-0xB7 */ + 0xD9, 0xFA, 0xB8, 0xFE, 0xC1, 0x85, 0xC1, 0x86, /* 0xB8-0xBB */ + 0xE5, 0xF1, 0xD3, 0xF0, 0xC1, 0x87, 0xF4, 0xE0, /* 0xBC-0xBF */ + 0xC1, 0x88, 0xCE, 0xCC, 0xC1, 0x89, 0xC1, 0x8A, /* 0xC0-0xC3 */ + 0xC1, 0x8B, 0xB3, 0xE1, 0xC1, 0x8C, 0xC1, 0x8D, /* 0xC4-0xC7 */ + 0xC1, 0x8E, 0xC1, 0x8F, 0xF1, 0xB4, 0xC1, 0x90, /* 0xC8-0xCB */ + 0xD2, 0xEE, 0xC1, 0x91, 0xF4, 0xE1, 0xC1, 0x92, /* 0xCC-0xCF */ + 0xC1, 0x93, 0xC1, 0x94, 0xC1, 0x95, 0xC1, 0x96, /* 0xD0-0xD3 */ + 0xCF, 0xE8, 0xF4, 0xE2, 0xC1, 0x97, 0xC1, 0x98, /* 0xD4-0xD7 */ + 0xC7, 0xCC, 0xC1, 0x99, 0xC1, 0x9A, 0xC1, 0x9B, /* 0xD8-0xDB */ + 0xC1, 0x9C, 0xC1, 0x9D, 0xC1, 0x9E, 0xB5, 0xD4, /* 0xDC-0xDF */ + 0xB4, 0xE4, 0xF4, 0xE4, 0xC1, 0x9F, 0xC1, 0xA0, /* 0xE0-0xE3 */ + 0xC2, 0x40, 0xF4, 0xE3, 0xF4, 0xE5, 0xC2, 0x41, /* 0xE4-0xE7 */ + 0xC2, 0x42, 0xF4, 0xE6, 0xC2, 0x43, 0xC2, 0x44, /* 0xE8-0xEB */ + 0xC2, 0x45, 0xC2, 0x46, 0xF4, 0xE7, 0xC2, 0x47, /* 0xEC-0xEF */ + 0xBA, 0xB2, 0xB0, 0xBF, 0xC2, 0x48, 0xF4, 0xE8, /* 0xF0-0xF3 */ + 0xC2, 0x49, 0xC2, 0x4A, 0xC2, 0x4B, 0xC2, 0x4C, /* 0xF4-0xF7 */ + 0xC2, 0x4D, 0xC2, 0x4E, 0xC2, 0x4F, 0xB7, 0xAD, /* 0xF8-0xFB */ + 0xD2, 0xED, 0xC2, 0x50, 0xC2, 0x51, 0xC2, 0x52, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_80[512] = { + 0xD2, 0xAB, 0xC0, 0xCF, 0xC2, 0x53, 0xBF, 0xBC, /* 0x00-0x03 */ + 0xEB, 0xA3, 0xD5, 0xDF, 0xEA, 0xC8, 0xC2, 0x54, /* 0x04-0x07 */ + 0xC2, 0x55, 0xC2, 0x56, 0xC2, 0x57, 0xF1, 0xF3, /* 0x08-0x0B */ + 0xB6, 0xF8, 0xCB, 0xA3, 0xC2, 0x58, 0xC2, 0x59, /* 0x0C-0x0F */ + 0xC4, 0xCD, 0xC2, 0x5A, 0xF1, 0xE7, 0xC2, 0x5B, /* 0x10-0x13 */ + 0xF1, 0xE8, 0xB8, 0xFB, 0xF1, 0xE9, 0xBA, 0xC4, /* 0x14-0x17 */ + 0xD4, 0xC5, 0xB0, 0xD2, 0xC2, 0x5C, 0xC2, 0x5D, /* 0x18-0x1B */ + 0xF1, 0xEA, 0xC2, 0x5E, 0xC2, 0x5F, 0xC2, 0x60, /* 0x1C-0x1F */ + 0xF1, 0xEB, 0xC2, 0x61, 0xF1, 0xEC, 0xC2, 0x62, /* 0x20-0x23 */ + 0xC2, 0x63, 0xF1, 0xED, 0xF1, 0xEE, 0xF1, 0xEF, /* 0x24-0x27 */ + 0xF1, 0xF1, 0xF1, 0xF0, 0xC5, 0xD5, 0xC2, 0x64, /* 0x28-0x2B */ + 0xC2, 0x65, 0xC2, 0x66, 0xC2, 0x67, 0xC2, 0x68, /* 0x2C-0x2F */ + 0xC2, 0x69, 0xF1, 0xF2, 0xC2, 0x6A, 0xB6, 0xFA, /* 0x30-0x33 */ + 0xC2, 0x6B, 0xF1, 0xF4, 0xD2, 0xAE, 0xDE, 0xC7, /* 0x34-0x37 */ + 0xCB, 0xCA, 0xC2, 0x6C, 0xC2, 0x6D, 0xB3, 0xDC, /* 0x38-0x3B */ + 0xC2, 0x6E, 0xB5, 0xA2, 0xC2, 0x6F, 0xB9, 0xA2, /* 0x3C-0x3F */ + 0xC2, 0x70, 0xC2, 0x71, 0xC4, 0xF4, 0xF1, 0xF5, /* 0x40-0x43 */ + 0xC2, 0x72, 0xC2, 0x73, 0xF1, 0xF6, 0xC2, 0x74, /* 0x44-0x47 */ + 0xC2, 0x75, 0xC2, 0x76, 0xC1, 0xC4, 0xC1, 0xFB, /* 0x48-0x4B */ + 0xD6, 0xB0, 0xF1, 0xF7, 0xC2, 0x77, 0xC2, 0x78, /* 0x4C-0x4F */ + 0xC2, 0x79, 0xC2, 0x7A, 0xF1, 0xF8, 0xC2, 0x7B, /* 0x50-0x53 */ + 0xC1, 0xAA, 0xC2, 0x7C, 0xC2, 0x7D, 0xC2, 0x7E, /* 0x54-0x57 */ + 0xC6, 0xB8, 0xC2, 0x80, 0xBE, 0xDB, 0xC2, 0x81, /* 0x58-0x5B */ + 0xC2, 0x82, 0xC2, 0x83, 0xC2, 0x84, 0xC2, 0x85, /* 0x5C-0x5F */ + 0xC2, 0x86, 0xC2, 0x87, 0xC2, 0x88, 0xC2, 0x89, /* 0x60-0x63 */ + 0xC2, 0x8A, 0xC2, 0x8B, 0xC2, 0x8C, 0xC2, 0x8D, /* 0x64-0x67 */ + 0xC2, 0x8E, 0xF1, 0xF9, 0xB4, 0xCF, 0xC2, 0x8F, /* 0x68-0x6B */ + 0xC2, 0x90, 0xC2, 0x91, 0xC2, 0x92, 0xC2, 0x93, /* 0x6C-0x6F */ + 0xC2, 0x94, 0xF1, 0xFA, 0xC2, 0x95, 0xC2, 0x96, /* 0x70-0x73 */ + 0xC2, 0x97, 0xC2, 0x98, 0xC2, 0x99, 0xC2, 0x9A, /* 0x74-0x77 */ + 0xC2, 0x9B, 0xC2, 0x9C, 0xC2, 0x9D, 0xC2, 0x9E, /* 0x78-0x7B */ + 0xC2, 0x9F, 0xC2, 0xA0, 0xC3, 0x40, 0xED, 0xB2, /* 0x7C-0x7F */ + + 0xED, 0xB1, 0xC3, 0x41, 0xC3, 0x42, 0xCB, 0xE0, /* 0x80-0x83 */ + 0xD2, 0xDE, 0xC3, 0x43, 0xCB, 0xC1, 0xD5, 0xD8, /* 0x84-0x87 */ + 0xC3, 0x44, 0xC8, 0xE2, 0xC3, 0x45, 0xC0, 0xDF, /* 0x88-0x8B */ + 0xBC, 0xA1, 0xC3, 0x46, 0xC3, 0x47, 0xC3, 0x48, /* 0x8C-0x8F */ + 0xC3, 0x49, 0xC3, 0x4A, 0xC3, 0x4B, 0xEB, 0xC1, /* 0x90-0x93 */ + 0xC3, 0x4C, 0xC3, 0x4D, 0xD0, 0xA4, 0xC3, 0x4E, /* 0x94-0x97 */ + 0xD6, 0xE2, 0xC3, 0x4F, 0xB6, 0xC7, 0xB8, 0xD8, /* 0x98-0x9B */ + 0xEB, 0xC0, 0xB8, 0xCE, 0xC3, 0x50, 0xEB, 0xBF, /* 0x9C-0x9F */ + 0xB3, 0xA6, 0xB9, 0xC9, 0xD6, 0xAB, 0xC3, 0x51, /* 0xA0-0xA3 */ + 0xB7, 0xF4, 0xB7, 0xCA, 0xC3, 0x52, 0xC3, 0x53, /* 0xA4-0xA7 */ + 0xC3, 0x54, 0xBC, 0xE7, 0xB7, 0xBE, 0xEB, 0xC6, /* 0xA8-0xAB */ + 0xC3, 0x55, 0xEB, 0xC7, 0xB0, 0xB9, 0xBF, 0xCF, /* 0xAC-0xAF */ + 0xC3, 0x56, 0xEB, 0xC5, 0xD3, 0xFD, 0xC3, 0x57, /* 0xB0-0xB3 */ + 0xEB, 0xC8, 0xC3, 0x58, 0xC3, 0x59, 0xEB, 0xC9, /* 0xB4-0xB7 */ + 0xC3, 0x5A, 0xC3, 0x5B, 0xB7, 0xCE, 0xC3, 0x5C, /* 0xB8-0xBB */ + 0xEB, 0xC2, 0xEB, 0xC4, 0xC9, 0xF6, 0xD6, 0xD7, /* 0xBC-0xBF */ + 0xD5, 0xCD, 0xD0, 0xB2, 0xEB, 0xCF, 0xCE, 0xB8, /* 0xC0-0xC3 */ + 0xEB, 0xD0, 0xC3, 0x5D, 0xB5, 0xA8, 0xC3, 0x5E, /* 0xC4-0xC7 */ + 0xC3, 0x5F, 0xC3, 0x60, 0xC3, 0x61, 0xC3, 0x62, /* 0xC8-0xCB */ + 0xB1, 0xB3, 0xEB, 0xD2, 0xCC, 0xA5, 0xC3, 0x63, /* 0xCC-0xCF */ + 0xC3, 0x64, 0xC3, 0x65, 0xC3, 0x66, 0xC3, 0x67, /* 0xD0-0xD3 */ + 0xC3, 0x68, 0xC3, 0x69, 0xC5, 0xD6, 0xEB, 0xD3, /* 0xD4-0xD7 */ + 0xC3, 0x6A, 0xEB, 0xD1, 0xC5, 0xDF, 0xEB, 0xCE, /* 0xD8-0xDB */ + 0xCA, 0xA4, 0xEB, 0xD5, 0xB0, 0xFB, 0xC3, 0x6B, /* 0xDC-0xDF */ + 0xC3, 0x6C, 0xBA, 0xFA, 0xC3, 0x6D, 0xC3, 0x6E, /* 0xE0-0xE3 */ + 0xD8, 0xB7, 0xF1, 0xE3, 0xC3, 0x6F, 0xEB, 0xCA, /* 0xE4-0xE7 */ + 0xEB, 0xCB, 0xEB, 0xCC, 0xEB, 0xCD, 0xEB, 0xD6, /* 0xE8-0xEB */ + 0xE6, 0xC0, 0xEB, 0xD9, 0xC3, 0x70, 0xBF, 0xE8, /* 0xEC-0xEF */ + 0xD2, 0xC8, 0xEB, 0xD7, 0xEB, 0xDC, 0xB8, 0xEC, /* 0xF0-0xF3 */ + 0xEB, 0xD8, 0xC3, 0x71, 0xBD, 0xBA, 0xC3, 0x72, /* 0xF4-0xF7 */ + 0xD0, 0xD8, 0xC3, 0x73, 0xB0, 0xB7, 0xC3, 0x74, /* 0xF8-0xFB */ + 0xEB, 0xDD, 0xC4, 0xDC, 0xC3, 0x75, 0xC3, 0x76, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_81[512] = { + 0xC3, 0x77, 0xC3, 0x78, 0xD6, 0xAC, 0xC3, 0x79, /* 0x00-0x03 */ + 0xC3, 0x7A, 0xC3, 0x7B, 0xB4, 0xE0, 0xC3, 0x7C, /* 0x04-0x07 */ + 0xC3, 0x7D, 0xC2, 0xF6, 0xBC, 0xB9, 0xC3, 0x7E, /* 0x08-0x0B */ + 0xC3, 0x80, 0xEB, 0xDA, 0xEB, 0xDB, 0xD4, 0xE0, /* 0x0C-0x0F */ + 0xC6, 0xEA, 0xC4, 0xD4, 0xEB, 0xDF, 0xC5, 0xA7, /* 0x10-0x13 */ + 0xD9, 0xF5, 0xC3, 0x81, 0xB2, 0xB1, 0xC3, 0x82, /* 0x14-0x17 */ + 0xEB, 0xE4, 0xC3, 0x83, 0xBD, 0xC5, 0xC3, 0x84, /* 0x18-0x1B */ + 0xC3, 0x85, 0xC3, 0x86, 0xEB, 0xE2, 0xC3, 0x87, /* 0x1C-0x1F */ + 0xC3, 0x88, 0xC3, 0x89, 0xC3, 0x8A, 0xC3, 0x8B, /* 0x20-0x23 */ + 0xC3, 0x8C, 0xC3, 0x8D, 0xC3, 0x8E, 0xC3, 0x8F, /* 0x24-0x27 */ + 0xC3, 0x90, 0xC3, 0x91, 0xC3, 0x92, 0xC3, 0x93, /* 0x28-0x2B */ + 0xEB, 0xE3, 0xC3, 0x94, 0xC3, 0x95, 0xB8, 0xAC, /* 0x2C-0x2F */ + 0xC3, 0x96, 0xCD, 0xD1, 0xEB, 0xE5, 0xC3, 0x97, /* 0x30-0x33 */ + 0xC3, 0x98, 0xC3, 0x99, 0xEB, 0xE1, 0xC3, 0x9A, /* 0x34-0x37 */ + 0xC1, 0xB3, 0xC3, 0x9B, 0xC3, 0x9C, 0xC3, 0x9D, /* 0x38-0x3B */ + 0xC3, 0x9E, 0xC3, 0x9F, 0xC6, 0xA2, 0xC3, 0xA0, /* 0x3C-0x3F */ + 0xC4, 0x40, 0xC4, 0x41, 0xC4, 0x42, 0xC4, 0x43, /* 0x40-0x43 */ + 0xC4, 0x44, 0xC4, 0x45, 0xCC, 0xF3, 0xC4, 0x46, /* 0x44-0x47 */ + 0xEB, 0xE6, 0xC4, 0x47, 0xC0, 0xB0, 0xD2, 0xB8, /* 0x48-0x4B */ + 0xEB, 0xE7, 0xC4, 0x48, 0xC4, 0x49, 0xC4, 0x4A, /* 0x4C-0x4F */ + 0xB8, 0xAF, 0xB8, 0xAD, 0xC4, 0x4B, 0xEB, 0xE8, /* 0x50-0x53 */ + 0xC7, 0xBB, 0xCD, 0xF3, 0xC4, 0x4C, 0xC4, 0x4D, /* 0x54-0x57 */ + 0xC4, 0x4E, 0xEB, 0xEA, 0xEB, 0xEB, 0xC4, 0x4F, /* 0x58-0x5B */ + 0xC4, 0x50, 0xC4, 0x51, 0xC4, 0x52, 0xC4, 0x53, /* 0x5C-0x5F */ + 0xEB, 0xED, 0xC4, 0x54, 0xC4, 0x55, 0xC4, 0x56, /* 0x60-0x63 */ + 0xC4, 0x57, 0xD0, 0xC8, 0xC4, 0x58, 0xEB, 0xF2, /* 0x64-0x67 */ + 0xC4, 0x59, 0xEB, 0xEE, 0xC4, 0x5A, 0xC4, 0x5B, /* 0x68-0x6B */ + 0xC4, 0x5C, 0xEB, 0xF1, 0xC8, 0xF9, 0xC4, 0x5D, /* 0x6C-0x6F */ + 0xD1, 0xFC, 0xEB, 0xEC, 0xC4, 0x5E, 0xC4, 0x5F, /* 0x70-0x73 */ + 0xEB, 0xE9, 0xC4, 0x60, 0xC4, 0x61, 0xC4, 0x62, /* 0x74-0x77 */ + 0xC4, 0x63, 0xB8, 0xB9, 0xCF, 0xD9, 0xC4, 0xE5, /* 0x78-0x7B */ + 0xEB, 0xEF, 0xEB, 0xF0, 0xCC, 0xDA, 0xCD, 0xC8, /* 0x7C-0x7F */ + + 0xB0, 0xF2, 0xC4, 0x64, 0xEB, 0xF6, 0xC4, 0x65, /* 0x80-0x83 */ + 0xC4, 0x66, 0xC4, 0x67, 0xC4, 0x68, 0xC4, 0x69, /* 0x84-0x87 */ + 0xEB, 0xF5, 0xC4, 0x6A, 0xB2, 0xB2, 0xC4, 0x6B, /* 0x88-0x8B */ + 0xC4, 0x6C, 0xC4, 0x6D, 0xC4, 0x6E, 0xB8, 0xE0, /* 0x8C-0x8F */ + 0xC4, 0x6F, 0xEB, 0xF7, 0xC4, 0x70, 0xC4, 0x71, /* 0x90-0x93 */ + 0xC4, 0x72, 0xC4, 0x73, 0xC4, 0x74, 0xC4, 0x75, /* 0x94-0x97 */ + 0xB1, 0xEC, 0xC4, 0x76, 0xC4, 0x77, 0xCC, 0xC5, /* 0x98-0x9B */ + 0xC4, 0xA4, 0xCF, 0xA5, 0xC4, 0x78, 0xC4, 0x79, /* 0x9C-0x9F */ + 0xC4, 0x7A, 0xC4, 0x7B, 0xC4, 0x7C, 0xEB, 0xF9, /* 0xA0-0xA3 */ + 0xC4, 0x7D, 0xC4, 0x7E, 0xEC, 0xA2, 0xC4, 0x80, /* 0xA4-0xA7 */ + 0xC5, 0xF2, 0xC4, 0x81, 0xEB, 0xFA, 0xC4, 0x82, /* 0xA8-0xAB */ + 0xC4, 0x83, 0xC4, 0x84, 0xC4, 0x85, 0xC4, 0x86, /* 0xAC-0xAF */ + 0xC4, 0x87, 0xC4, 0x88, 0xC4, 0x89, 0xC9, 0xC5, /* 0xB0-0xB3 */ + 0xC4, 0x8A, 0xC4, 0x8B, 0xC4, 0x8C, 0xC4, 0x8D, /* 0xB4-0xB7 */ + 0xC4, 0x8E, 0xC4, 0x8F, 0xE2, 0xDF, 0xEB, 0xFE, /* 0xB8-0xBB */ + 0xC4, 0x90, 0xC4, 0x91, 0xC4, 0x92, 0xC4, 0x93, /* 0xBC-0xBF */ + 0xCD, 0xCE, 0xEC, 0xA1, 0xB1, 0xDB, 0xD3, 0xB7, /* 0xC0-0xC3 */ + 0xC4, 0x94, 0xC4, 0x95, 0xD2, 0xDC, 0xC4, 0x96, /* 0xC4-0xC7 */ + 0xC4, 0x97, 0xC4, 0x98, 0xEB, 0xFD, 0xC4, 0x99, /* 0xC8-0xCB */ + 0xEB, 0xFB, 0xC4, 0x9A, 0xC4, 0x9B, 0xC4, 0x9C, /* 0xCC-0xCF */ + 0xC4, 0x9D, 0xC4, 0x9E, 0xC4, 0x9F, 0xC4, 0xA0, /* 0xD0-0xD3 */ + 0xC5, 0x40, 0xC5, 0x41, 0xC5, 0x42, 0xC5, 0x43, /* 0xD4-0xD7 */ + 0xC5, 0x44, 0xC5, 0x45, 0xC5, 0x46, 0xC5, 0x47, /* 0xD8-0xDB */ + 0xC5, 0x48, 0xC5, 0x49, 0xC5, 0x4A, 0xC5, 0x4B, /* 0xDC-0xDF */ + 0xC5, 0x4C, 0xC5, 0x4D, 0xC5, 0x4E, 0xB3, 0xBC, /* 0xE0-0xE3 */ + 0xC5, 0x4F, 0xC5, 0x50, 0xC5, 0x51, 0xEA, 0xB0, /* 0xE4-0xE7 */ + 0xC5, 0x52, 0xC5, 0x53, 0xD7, 0xD4, 0xC5, 0x54, /* 0xE8-0xEB */ + 0xF4, 0xAB, 0xB3, 0xF4, 0xC5, 0x55, 0xC5, 0x56, /* 0xEC-0xEF */ + 0xC5, 0x57, 0xC5, 0x58, 0xC5, 0x59, 0xD6, 0xC1, /* 0xF0-0xF3 */ + 0xD6, 0xC2, 0xC5, 0x5A, 0xC5, 0x5B, 0xC5, 0x5C, /* 0xF4-0xF7 */ + 0xC5, 0x5D, 0xC5, 0x5E, 0xC5, 0x5F, 0xD5, 0xE9, /* 0xF8-0xFB */ + 0xBE, 0xCA, 0xC5, 0x60, 0xF4, 0xA7, 0xC5, 0x61, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_82[512] = { + 0xD2, 0xA8, 0xF4, 0xA8, 0xF4, 0xA9, 0xC5, 0x62, /* 0x00-0x03 */ + 0xF4, 0xAA, 0xBE, 0xCB, 0xD3, 0xDF, 0xC5, 0x63, /* 0x04-0x07 */ + 0xC5, 0x64, 0xC5, 0x65, 0xC5, 0x66, 0xC5, 0x67, /* 0x08-0x0B */ + 0xC9, 0xE0, 0xC9, 0xE1, 0xC5, 0x68, 0xC5, 0x69, /* 0x0C-0x0F */ + 0xF3, 0xC2, 0xC5, 0x6A, 0xCA, 0xE6, 0xC5, 0x6B, /* 0x10-0x13 */ + 0xCC, 0xF2, 0xC5, 0x6C, 0xC5, 0x6D, 0xC5, 0x6E, /* 0x14-0x17 */ + 0xC5, 0x6F, 0xC5, 0x70, 0xC5, 0x71, 0xE2, 0xB6, /* 0x18-0x1B */ + 0xCB, 0xB4, 0xC5, 0x72, 0xCE, 0xE8, 0xD6, 0xDB, /* 0x1C-0x1F */ + 0xC5, 0x73, 0xF4, 0xAD, 0xF4, 0xAE, 0xF4, 0xAF, /* 0x20-0x23 */ + 0xC5, 0x74, 0xC5, 0x75, 0xC5, 0x76, 0xC5, 0x77, /* 0x24-0x27 */ + 0xF4, 0xB2, 0xC5, 0x78, 0xBA, 0xBD, 0xF4, 0xB3, /* 0x28-0x2B */ + 0xB0, 0xE3, 0xF4, 0xB0, 0xC5, 0x79, 0xF4, 0xB1, /* 0x2C-0x2F */ + 0xBD, 0xA2, 0xB2, 0xD5, 0xC5, 0x7A, 0xF4, 0xB6, /* 0x30-0x33 */ + 0xF4, 0xB7, 0xB6, 0xE6, 0xB2, 0xB0, 0xCF, 0xCF, /* 0x34-0x37 */ + 0xF4, 0xB4, 0xB4, 0xAC, 0xC5, 0x7B, 0xF4, 0xB5, /* 0x38-0x3B */ + 0xC5, 0x7C, 0xC5, 0x7D, 0xF4, 0xB8, 0xC5, 0x7E, /* 0x3C-0x3F */ + 0xC5, 0x80, 0xC5, 0x81, 0xC5, 0x82, 0xC5, 0x83, /* 0x40-0x43 */ + 0xF4, 0xB9, 0xC5, 0x84, 0xC5, 0x85, 0xCD, 0xA7, /* 0x44-0x47 */ + 0xC5, 0x86, 0xF4, 0xBA, 0xC5, 0x87, 0xF4, 0xBB, /* 0x48-0x4B */ + 0xC5, 0x88, 0xC5, 0x89, 0xC5, 0x8A, 0xF4, 0xBC, /* 0x4C-0x4F */ + 0xC5, 0x8B, 0xC5, 0x8C, 0xC5, 0x8D, 0xC5, 0x8E, /* 0x50-0x53 */ + 0xC5, 0x8F, 0xC5, 0x90, 0xC5, 0x91, 0xC5, 0x92, /* 0x54-0x57 */ + 0xCB, 0xD2, 0xC5, 0x93, 0xF4, 0xBD, 0xC5, 0x94, /* 0x58-0x5B */ + 0xC5, 0x95, 0xC5, 0x96, 0xC5, 0x97, 0xF4, 0xBE, /* 0x5C-0x5F */ + 0xC5, 0x98, 0xC5, 0x99, 0xC5, 0x9A, 0xC5, 0x9B, /* 0x60-0x63 */ + 0xC5, 0x9C, 0xC5, 0x9D, 0xC5, 0x9E, 0xC5, 0x9F, /* 0x64-0x67 */ + 0xF4, 0xBF, 0xC5, 0xA0, 0xC6, 0x40, 0xC6, 0x41, /* 0x68-0x6B */ + 0xC6, 0x42, 0xC6, 0x43, 0xF4, 0xDE, 0xC1, 0xBC, /* 0x6C-0x6F */ + 0xBC, 0xE8, 0xC6, 0x44, 0xC9, 0xAB, 0xD1, 0xDE, /* 0x70-0x73 */ + 0xE5, 0xF5, 0xC6, 0x45, 0xC6, 0x46, 0xC6, 0x47, /* 0x74-0x77 */ + 0xC6, 0x48, 0xDC, 0xB3, 0xD2, 0xD5, 0xC6, 0x49, /* 0x78-0x7B */ + 0xC6, 0x4A, 0xDC, 0xB4, 0xB0, 0xAC, 0xDC, 0xB5, /* 0x7C-0x7F */ + + 0xC6, 0x4B, 0xC6, 0x4C, 0xBD, 0xDA, 0xC6, 0x4D, /* 0x80-0x83 */ + 0xDC, 0xB9, 0xC6, 0x4E, 0xC6, 0x4F, 0xC6, 0x50, /* 0x84-0x87 */ + 0xD8, 0xC2, 0xC6, 0x51, 0xDC, 0xB7, 0xD3, 0xF3, /* 0x88-0x8B */ + 0xC6, 0x52, 0xC9, 0xD6, 0xDC, 0xBA, 0xDC, 0xB6, /* 0x8C-0x8F */ + 0xC6, 0x53, 0xDC, 0xBB, 0xC3, 0xA2, 0xC6, 0x54, /* 0x90-0x93 */ + 0xC6, 0x55, 0xC6, 0x56, 0xC6, 0x57, 0xDC, 0xBC, /* 0x94-0x97 */ + 0xDC, 0xC5, 0xDC, 0xBD, 0xC6, 0x58, 0xC6, 0x59, /* 0x98-0x9B */ + 0xCE, 0xDF, 0xD6, 0xA5, 0xC6, 0x5A, 0xDC, 0xCF, /* 0x9C-0x9F */ + 0xC6, 0x5B, 0xDC, 0xCD, 0xC6, 0x5C, 0xC6, 0x5D, /* 0xA0-0xA3 */ + 0xDC, 0xD2, 0xBD, 0xE6, 0xC2, 0xAB, 0xC6, 0x5E, /* 0xA4-0xA7 */ + 0xDC, 0xB8, 0xDC, 0xCB, 0xDC, 0xCE, 0xDC, 0xBE, /* 0xA8-0xAB */ + 0xB7, 0xD2, 0xB0, 0xC5, 0xDC, 0xC7, 0xD0, 0xBE, /* 0xAC-0xAF */ + 0xDC, 0xC1, 0xBB, 0xA8, 0xC6, 0x5F, 0xB7, 0xBC, /* 0xB0-0xB3 */ + 0xDC, 0xCC, 0xC6, 0x60, 0xC6, 0x61, 0xDC, 0xC6, /* 0xB4-0xB7 */ + 0xDC, 0xBF, 0xC7, 0xDB, 0xC6, 0x62, 0xC6, 0x63, /* 0xB8-0xBB */ + 0xC6, 0x64, 0xD1, 0xBF, 0xDC, 0xC0, 0xC6, 0x65, /* 0xBC-0xBF */ + 0xC6, 0x66, 0xDC, 0xCA, 0xC6, 0x67, 0xC6, 0x68, /* 0xC0-0xC3 */ + 0xDC, 0xD0, 0xC6, 0x69, 0xC6, 0x6A, 0xCE, 0xAD, /* 0xC4-0xC7 */ + 0xDC, 0xC2, 0xC6, 0x6B, 0xDC, 0xC3, 0xDC, 0xC8, /* 0xC8-0xCB */ + 0xDC, 0xC9, 0xB2, 0xD4, 0xDC, 0xD1, 0xCB, 0xD5, /* 0xCC-0xCF */ + 0xC6, 0x6C, 0xD4, 0xB7, 0xDC, 0xDB, 0xDC, 0xDF, /* 0xD0-0xD3 */ + 0xCC, 0xA6, 0xDC, 0xE6, 0xC6, 0x6D, 0xC3, 0xE7, /* 0xD4-0xD7 */ + 0xDC, 0xDC, 0xC6, 0x6E, 0xC6, 0x6F, 0xBF, 0xC1, /* 0xD8-0xDB */ + 0xDC, 0xD9, 0xC6, 0x70, 0xB0, 0xFA, 0xB9, 0xB6, /* 0xDC-0xDF */ + 0xDC, 0xE5, 0xDC, 0xD3, 0xC6, 0x71, 0xDC, 0xC4, /* 0xE0-0xE3 */ + 0xDC, 0xD6, 0xC8, 0xF4, 0xBF, 0xE0, 0xC6, 0x72, /* 0xE4-0xE7 */ + 0xC6, 0x73, 0xC6, 0x74, 0xC6, 0x75, 0xC9, 0xBB, /* 0xE8-0xEB */ + 0xC6, 0x76, 0xC6, 0x77, 0xC6, 0x78, 0xB1, 0xBD, /* 0xEC-0xEF */ + 0xC6, 0x79, 0xD3, 0xA2, 0xC6, 0x7A, 0xC6, 0x7B, /* 0xF0-0xF3 */ + 0xDC, 0xDA, 0xC6, 0x7C, 0xC6, 0x7D, 0xDC, 0xD5, /* 0xF4-0xF7 */ + 0xC6, 0x7E, 0xC6, 0xBB, 0xC6, 0x80, 0xDC, 0xDE, /* 0xF8-0xFB */ + 0xC6, 0x81, 0xC6, 0x82, 0xC6, 0x83, 0xC6, 0x84, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_83[512] = { + 0xC6, 0x85, 0xD7, 0xC2, 0xC3, 0xAF, 0xB7, 0xB6, /* 0x00-0x03 */ + 0xC7, 0xD1, 0xC3, 0xA9, 0xDC, 0xE2, 0xDC, 0xD8, /* 0x04-0x07 */ + 0xDC, 0xEB, 0xDC, 0xD4, 0xC6, 0x86, 0xC6, 0x87, /* 0x08-0x0B */ + 0xDC, 0xDD, 0xC6, 0x88, 0xBE, 0xA5, 0xDC, 0xD7, /* 0x0C-0x0F */ + 0xC6, 0x89, 0xDC, 0xE0, 0xC6, 0x8A, 0xC6, 0x8B, /* 0x10-0x13 */ + 0xDC, 0xE3, 0xDC, 0xE4, 0xC6, 0x8C, 0xDC, 0xF8, /* 0x14-0x17 */ + 0xC6, 0x8D, 0xC6, 0x8E, 0xDC, 0xE1, 0xDD, 0xA2, /* 0x18-0x1B */ + 0xDC, 0xE7, 0xC6, 0x8F, 0xC6, 0x90, 0xC6, 0x91, /* 0x1C-0x1F */ + 0xC6, 0x92, 0xC6, 0x93, 0xC6, 0x94, 0xC6, 0x95, /* 0x20-0x23 */ + 0xC6, 0x96, 0xC6, 0x97, 0xC6, 0x98, 0xBC, 0xEB, /* 0x24-0x27 */ + 0xB4, 0xC4, 0xC6, 0x99, 0xC6, 0x9A, 0xC3, 0xA3, /* 0x28-0x2B */ + 0xB2, 0xE7, 0xDC, 0xFA, 0xC6, 0x9B, 0xDC, 0xF2, /* 0x2C-0x2F */ + 0xC6, 0x9C, 0xDC, 0xEF, 0xC6, 0x9D, 0xDC, 0xFC, /* 0x30-0x33 */ + 0xDC, 0xEE, 0xD2, 0xF0, 0xB2, 0xE8, 0xC6, 0x9E, /* 0x34-0x37 */ + 0xC8, 0xD7, 0xC8, 0xE3, 0xDC, 0xFB, 0xC6, 0x9F, /* 0x38-0x3B */ + 0xDC, 0xED, 0xC6, 0xA0, 0xC7, 0x40, 0xC7, 0x41, /* 0x3C-0x3F */ + 0xDC, 0xF7, 0xC7, 0x42, 0xC7, 0x43, 0xDC, 0xF5, /* 0x40-0x43 */ + 0xC7, 0x44, 0xC7, 0x45, 0xBE, 0xA3, 0xDC, 0xF4, /* 0x44-0x47 */ + 0xC7, 0x46, 0xB2, 0xDD, 0xC7, 0x47, 0xC7, 0x48, /* 0x48-0x4B */ + 0xC7, 0x49, 0xC7, 0x4A, 0xC7, 0x4B, 0xDC, 0xF3, /* 0x4C-0x4F */ + 0xBC, 0xF6, 0xDC, 0xE8, 0xBB, 0xC4, 0xC7, 0x4C, /* 0x50-0x53 */ + 0xC0, 0xF3, 0xC7, 0x4D, 0xC7, 0x4E, 0xC7, 0x4F, /* 0x54-0x57 */ + 0xC7, 0x50, 0xC7, 0x51, 0xBC, 0xD4, 0xDC, 0xE9, /* 0x58-0x5B */ + 0xDC, 0xEA, 0xC7, 0x52, 0xDC, 0xF1, 0xDC, 0xF6, /* 0x5C-0x5F */ + 0xDC, 0xF9, 0xB5, 0xB4, 0xC7, 0x53, 0xC8, 0xD9, /* 0x60-0x63 */ + 0xBB, 0xE7, 0xDC, 0xFE, 0xDC, 0xFD, 0xD3, 0xAB, /* 0x64-0x67 */ + 0xDD, 0xA1, 0xDD, 0xA3, 0xDD, 0xA5, 0xD2, 0xF1, /* 0x68-0x6B */ + 0xDD, 0xA4, 0xDD, 0xA6, 0xDD, 0xA7, 0xD2, 0xA9, /* 0x6C-0x6F */ + 0xC7, 0x54, 0xC7, 0x55, 0xC7, 0x56, 0xC7, 0x57, /* 0x70-0x73 */ + 0xC7, 0x58, 0xC7, 0x59, 0xC7, 0x5A, 0xBA, 0xC9, /* 0x74-0x77 */ + 0xDD, 0xA9, 0xC7, 0x5B, 0xC7, 0x5C, 0xDD, 0xB6, /* 0x78-0x7B */ + 0xDD, 0xB1, 0xDD, 0xB4, 0xC7, 0x5D, 0xC7, 0x5E, /* 0x7C-0x7F */ + + 0xC7, 0x5F, 0xC7, 0x60, 0xC7, 0x61, 0xC7, 0x62, /* 0x80-0x83 */ + 0xC7, 0x63, 0xDD, 0xB0, 0xC6, 0xCE, 0xC7, 0x64, /* 0x84-0x87 */ + 0xC7, 0x65, 0xC0, 0xF2, 0xC7, 0x66, 0xC7, 0x67, /* 0x88-0x8B */ + 0xC7, 0x68, 0xC7, 0x69, 0xC9, 0xAF, 0xC7, 0x6A, /* 0x8C-0x8F */ + 0xC7, 0x6B, 0xC7, 0x6C, 0xDC, 0xEC, 0xDD, 0xAE, /* 0x90-0x93 */ + 0xC7, 0x6D, 0xC7, 0x6E, 0xC7, 0x6F, 0xC7, 0x70, /* 0x94-0x97 */ + 0xDD, 0xB7, 0xC7, 0x71, 0xC7, 0x72, 0xDC, 0xF0, /* 0x98-0x9B */ + 0xDD, 0xAF, 0xC7, 0x73, 0xDD, 0xB8, 0xC7, 0x74, /* 0x9C-0x9F */ + 0xDD, 0xAC, 0xC7, 0x75, 0xC7, 0x76, 0xC7, 0x77, /* 0xA0-0xA3 */ + 0xC7, 0x78, 0xC7, 0x79, 0xC7, 0x7A, 0xC7, 0x7B, /* 0xA4-0xA7 */ + 0xDD, 0xB9, 0xDD, 0xB3, 0xDD, 0xAD, 0xC4, 0xAA, /* 0xA8-0xAB */ + 0xC7, 0x7C, 0xC7, 0x7D, 0xC7, 0x7E, 0xC7, 0x80, /* 0xAC-0xAF */ + 0xDD, 0xA8, 0xC0, 0xB3, 0xC1, 0xAB, 0xDD, 0xAA, /* 0xB0-0xB3 */ + 0xDD, 0xAB, 0xC7, 0x81, 0xDD, 0xB2, 0xBB, 0xF1, /* 0xB4-0xB7 */ + 0xDD, 0xB5, 0xD3, 0xA8, 0xDD, 0xBA, 0xC7, 0x82, /* 0xB8-0xBB */ + 0xDD, 0xBB, 0xC3, 0xA7, 0xC7, 0x83, 0xC7, 0x84, /* 0xBC-0xBF */ + 0xDD, 0xD2, 0xDD, 0xBC, 0xC7, 0x85, 0xC7, 0x86, /* 0xC0-0xC3 */ + 0xC7, 0x87, 0xDD, 0xD1, 0xC7, 0x88, 0xB9, 0xBD, /* 0xC4-0xC7 */ + 0xC7, 0x89, 0xC7, 0x8A, 0xBE, 0xD5, 0xC7, 0x8B, /* 0xC8-0xCB */ + 0xBE, 0xFA, 0xC7, 0x8C, 0xC7, 0x8D, 0xBA, 0xCA, /* 0xCC-0xCF */ + 0xC7, 0x8E, 0xC7, 0x8F, 0xC7, 0x90, 0xC7, 0x91, /* 0xD0-0xD3 */ + 0xDD, 0xCA, 0xC7, 0x92, 0xDD, 0xC5, 0xC7, 0x93, /* 0xD4-0xD7 */ + 0xDD, 0xBF, 0xC7, 0x94, 0xC7, 0x95, 0xC7, 0x96, /* 0xD8-0xDB */ + 0xB2, 0xCB, 0xDD, 0xC3, 0xC7, 0x97, 0xDD, 0xCB, /* 0xDC-0xDF */ + 0xB2, 0xA4, 0xDD, 0xD5, 0xC7, 0x98, 0xC7, 0x99, /* 0xE0-0xE3 */ + 0xC7, 0x9A, 0xDD, 0xBE, 0xC7, 0x9B, 0xC7, 0x9C, /* 0xE4-0xE7 */ + 0xC7, 0x9D, 0xC6, 0xD0, 0xDD, 0xD0, 0xC7, 0x9E, /* 0xE8-0xEB */ + 0xC7, 0x9F, 0xC7, 0xA0, 0xC8, 0x40, 0xC8, 0x41, /* 0xEC-0xEF */ + 0xDD, 0xD4, 0xC1, 0xE2, 0xB7, 0xC6, 0xC8, 0x42, /* 0xF0-0xF3 */ + 0xC8, 0x43, 0xC8, 0x44, 0xC8, 0x45, 0xC8, 0x46, /* 0xF4-0xF7 */ + 0xDD, 0xCE, 0xDD, 0xCF, 0xC8, 0x47, 0xC8, 0x48, /* 0xF8-0xFB */ + 0xC8, 0x49, 0xDD, 0xC4, 0xC8, 0x4A, 0xC8, 0x4B, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_84[512] = { + 0xC8, 0x4C, 0xDD, 0xBD, 0xC8, 0x4D, 0xDD, 0xCD, /* 0x00-0x03 */ + 0xCC, 0xD1, 0xC8, 0x4E, 0xDD, 0xC9, 0xC8, 0x4F, /* 0x04-0x07 */ + 0xC8, 0x50, 0xC8, 0x51, 0xC8, 0x52, 0xDD, 0xC2, /* 0x08-0x0B */ + 0xC3, 0xC8, 0xC6, 0xBC, 0xCE, 0xAE, 0xDD, 0xCC, /* 0x0C-0x0F */ + 0xC8, 0x53, 0xDD, 0xC8, 0xC8, 0x54, 0xC8, 0x55, /* 0x10-0x13 */ + 0xC8, 0x56, 0xC8, 0x57, 0xC8, 0x58, 0xC8, 0x59, /* 0x14-0x17 */ + 0xDD, 0xC1, 0xC8, 0x5A, 0xC8, 0x5B, 0xC8, 0x5C, /* 0x18-0x1B */ + 0xDD, 0xC6, 0xC2, 0xDC, 0xC8, 0x5D, 0xC8, 0x5E, /* 0x1C-0x1F */ + 0xC8, 0x5F, 0xC8, 0x60, 0xC8, 0x61, 0xC8, 0x62, /* 0x20-0x23 */ + 0xD3, 0xA9, 0xD3, 0xAA, 0xDD, 0xD3, 0xCF, 0xF4, /* 0x24-0x27 */ + 0xC8, 0xF8, 0xC8, 0x63, 0xC8, 0x64, 0xC8, 0x65, /* 0x28-0x2B */ + 0xC8, 0x66, 0xC8, 0x67, 0xC8, 0x68, 0xC8, 0x69, /* 0x2C-0x2F */ + 0xC8, 0x6A, 0xDD, 0xE6, 0xC8, 0x6B, 0xC8, 0x6C, /* 0x30-0x33 */ + 0xC8, 0x6D, 0xC8, 0x6E, 0xC8, 0x6F, 0xC8, 0x70, /* 0x34-0x37 */ + 0xDD, 0xC7, 0xC8, 0x71, 0xC8, 0x72, 0xC8, 0x73, /* 0x38-0x3B */ + 0xDD, 0xE0, 0xC2, 0xE4, 0xC8, 0x74, 0xC8, 0x75, /* 0x3C-0x3F */ + 0xC8, 0x76, 0xC8, 0x77, 0xC8, 0x78, 0xC8, 0x79, /* 0x40-0x43 */ + 0xC8, 0x7A, 0xC8, 0x7B, 0xDD, 0xE1, 0xC8, 0x7C, /* 0x44-0x47 */ + 0xC8, 0x7D, 0xC8, 0x7E, 0xC8, 0x80, 0xC8, 0x81, /* 0x48-0x4B */ + 0xC8, 0x82, 0xC8, 0x83, 0xC8, 0x84, 0xC8, 0x85, /* 0x4C-0x4F */ + 0xC8, 0x86, 0xDD, 0xD7, 0xC8, 0x87, 0xC8, 0x88, /* 0x50-0x53 */ + 0xC8, 0x89, 0xC8, 0x8A, 0xC8, 0x8B, 0xD6, 0xF8, /* 0x54-0x57 */ + 0xC8, 0x8C, 0xDD, 0xD9, 0xDD, 0xD8, 0xB8, 0xF0, /* 0x58-0x5B */ + 0xDD, 0xD6, 0xC8, 0x8D, 0xC8, 0x8E, 0xC8, 0x8F, /* 0x5C-0x5F */ + 0xC8, 0x90, 0xC6, 0xCF, 0xC8, 0x91, 0xB6, 0xAD, /* 0x60-0x63 */ + 0xC8, 0x92, 0xC8, 0x93, 0xC8, 0x94, 0xC8, 0x95, /* 0x64-0x67 */ + 0xC8, 0x96, 0xDD, 0xE2, 0xC8, 0x97, 0xBA, 0xF9, /* 0x68-0x6B */ + 0xD4, 0xE1, 0xDD, 0xE7, 0xC8, 0x98, 0xC8, 0x99, /* 0x6C-0x6F */ + 0xC8, 0x9A, 0xB4, 0xD0, 0xC8, 0x9B, 0xDD, 0xDA, /* 0x70-0x73 */ + 0xC8, 0x9C, 0xBF, 0xFB, 0xDD, 0xE3, 0xC8, 0x9D, /* 0x74-0x77 */ + 0xDD, 0xDF, 0xC8, 0x9E, 0xDD, 0xDD, 0xC8, 0x9F, /* 0x78-0x7B */ + 0xC8, 0xA0, 0xC9, 0x40, 0xC9, 0x41, 0xC9, 0x42, /* 0x7C-0x7F */ + + 0xC9, 0x43, 0xC9, 0x44, 0xB5, 0xD9, 0xC9, 0x45, /* 0x80-0x83 */ + 0xC9, 0x46, 0xC9, 0x47, 0xC9, 0x48, 0xDD, 0xDB, /* 0x84-0x87 */ + 0xDD, 0xDC, 0xDD, 0xDE, 0xC9, 0x49, 0xBD, 0xAF, /* 0x88-0x8B */ + 0xDD, 0xE4, 0xC9, 0x4A, 0xDD, 0xE5, 0xC9, 0x4B, /* 0x8C-0x8F */ + 0xC9, 0x4C, 0xC9, 0x4D, 0xC9, 0x4E, 0xC9, 0x4F, /* 0x90-0x93 */ + 0xC9, 0x50, 0xC9, 0x51, 0xC9, 0x52, 0xDD, 0xF5, /* 0x94-0x97 */ + 0xC9, 0x53, 0xC3, 0xC9, 0xC9, 0x54, 0xC9, 0x55, /* 0x98-0x9B */ + 0xCB, 0xE2, 0xC9, 0x56, 0xC9, 0x57, 0xC9, 0x58, /* 0x9C-0x9F */ + 0xC9, 0x59, 0xDD, 0xF2, 0xC9, 0x5A, 0xC9, 0x5B, /* 0xA0-0xA3 */ + 0xC9, 0x5C, 0xC9, 0x5D, 0xC9, 0x5E, 0xC9, 0x5F, /* 0xA4-0xA7 */ + 0xC9, 0x60, 0xC9, 0x61, 0xC9, 0x62, 0xC9, 0x63, /* 0xA8-0xAB */ + 0xC9, 0x64, 0xC9, 0x65, 0xC9, 0x66, 0xD8, 0xE1, /* 0xAC-0xAF */ + 0xC9, 0x67, 0xC9, 0x68, 0xC6, 0xD1, 0xC9, 0x69, /* 0xB0-0xB3 */ + 0xDD, 0xF4, 0xC9, 0x6A, 0xC9, 0x6B, 0xC9, 0x6C, /* 0xB4-0xB7 */ + 0xD5, 0xF4, 0xDD, 0xF3, 0xDD, 0xF0, 0xC9, 0x6D, /* 0xB8-0xBB */ + 0xC9, 0x6E, 0xDD, 0xEC, 0xC9, 0x6F, 0xDD, 0xEF, /* 0xBC-0xBF */ + 0xC9, 0x70, 0xDD, 0xE8, 0xC9, 0x71, 0xC9, 0x72, /* 0xC0-0xC3 */ + 0xD0, 0xEE, 0xC9, 0x73, 0xC9, 0x74, 0xC9, 0x75, /* 0xC4-0xC7 */ + 0xC9, 0x76, 0xC8, 0xD8, 0xDD, 0xEE, 0xC9, 0x77, /* 0xC8-0xCB */ + 0xC9, 0x78, 0xDD, 0xE9, 0xC9, 0x79, 0xC9, 0x7A, /* 0xCC-0xCF */ + 0xDD, 0xEA, 0xCB, 0xF2, 0xC9, 0x7B, 0xDD, 0xED, /* 0xD0-0xD3 */ + 0xC9, 0x7C, 0xC9, 0x7D, 0xB1, 0xCD, 0xC9, 0x7E, /* 0xD4-0xD7 */ + 0xC9, 0x80, 0xC9, 0x81, 0xC9, 0x82, 0xC9, 0x83, /* 0xD8-0xDB */ + 0xC9, 0x84, 0xC0, 0xB6, 0xC9, 0x85, 0xBC, 0xBB, /* 0xDC-0xDF */ + 0xDD, 0xF1, 0xC9, 0x86, 0xC9, 0x87, 0xDD, 0xF7, /* 0xE0-0xE3 */ + 0xC9, 0x88, 0xDD, 0xF6, 0xDD, 0xEB, 0xC9, 0x89, /* 0xE4-0xE7 */ + 0xC9, 0x8A, 0xC9, 0x8B, 0xC9, 0x8C, 0xC9, 0x8D, /* 0xE8-0xEB */ + 0xC5, 0xEE, 0xC9, 0x8E, 0xC9, 0x8F, 0xC9, 0x90, /* 0xEC-0xEF */ + 0xDD, 0xFB, 0xC9, 0x91, 0xC9, 0x92, 0xC9, 0x93, /* 0xF0-0xF3 */ + 0xC9, 0x94, 0xC9, 0x95, 0xC9, 0x96, 0xC9, 0x97, /* 0xF4-0xF7 */ + 0xC9, 0x98, 0xC9, 0x99, 0xC9, 0x9A, 0xC9, 0x9B, /* 0xF8-0xFB */ + 0xDE, 0xA4, 0xC9, 0x9C, 0xC9, 0x9D, 0xDE, 0xA3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_85[512] = { + 0xC9, 0x9E, 0xC9, 0x9F, 0xC9, 0xA0, 0xCA, 0x40, /* 0x00-0x03 */ + 0xCA, 0x41, 0xCA, 0x42, 0xCA, 0x43, 0xCA, 0x44, /* 0x04-0x07 */ + 0xCA, 0x45, 0xCA, 0x46, 0xCA, 0x47, 0xCA, 0x48, /* 0x08-0x0B */ + 0xDD, 0xF8, 0xCA, 0x49, 0xCA, 0x4A, 0xCA, 0x4B, /* 0x0C-0x0F */ + 0xCA, 0x4C, 0xC3, 0xEF, 0xCA, 0x4D, 0xC2, 0xFB, /* 0x10-0x13 */ + 0xCA, 0x4E, 0xCA, 0x4F, 0xCA, 0x50, 0xD5, 0xE1, /* 0x14-0x17 */ + 0xCA, 0x51, 0xCA, 0x52, 0xCE, 0xB5, 0xCA, 0x53, /* 0x18-0x1B */ + 0xCA, 0x54, 0xCA, 0x55, 0xCA, 0x56, 0xDD, 0xFD, /* 0x1C-0x1F */ + 0xCA, 0x57, 0xB2, 0xCC, 0xCA, 0x58, 0xCA, 0x59, /* 0x20-0x23 */ + 0xCA, 0x5A, 0xCA, 0x5B, 0xCA, 0x5C, 0xCA, 0x5D, /* 0x24-0x27 */ + 0xCA, 0x5E, 0xCA, 0x5F, 0xCA, 0x60, 0xC4, 0xE8, /* 0x28-0x2B */ + 0xCA, 0xDF, 0xCA, 0x61, 0xCA, 0x62, 0xCA, 0x63, /* 0x2C-0x2F */ + 0xCA, 0x64, 0xCA, 0x65, 0xCA, 0x66, 0xCA, 0x67, /* 0x30-0x33 */ + 0xCA, 0x68, 0xCA, 0x69, 0xCA, 0x6A, 0xC7, 0xBE, /* 0x34-0x37 */ + 0xDD, 0xFA, 0xDD, 0xFC, 0xDD, 0xFE, 0xDE, 0xA2, /* 0x38-0x3B */ + 0xB0, 0xAA, 0xB1, 0xCE, 0xCA, 0x6B, 0xCA, 0x6C, /* 0x3C-0x3F */ + 0xCA, 0x6D, 0xCA, 0x6E, 0xCA, 0x6F, 0xDE, 0xAC, /* 0x40-0x43 */ + 0xCA, 0x70, 0xCA, 0x71, 0xCA, 0x72, 0xCA, 0x73, /* 0x44-0x47 */ + 0xDE, 0xA6, 0xBD, 0xB6, 0xC8, 0xEF, 0xCA, 0x74, /* 0x48-0x4B */ + 0xCA, 0x75, 0xCA, 0x76, 0xCA, 0x77, 0xCA, 0x78, /* 0x4C-0x4F */ + 0xCA, 0x79, 0xCA, 0x7A, 0xCA, 0x7B, 0xCA, 0x7C, /* 0x50-0x53 */ + 0xCA, 0x7D, 0xCA, 0x7E, 0xDE, 0xA1, 0xCA, 0x80, /* 0x54-0x57 */ + 0xCA, 0x81, 0xDE, 0xA5, 0xCA, 0x82, 0xCA, 0x83, /* 0x58-0x5B */ + 0xCA, 0x84, 0xCA, 0x85, 0xDE, 0xA9, 0xCA, 0x86, /* 0x5C-0x5F */ + 0xCA, 0x87, 0xCA, 0x88, 0xCA, 0x89, 0xCA, 0x8A, /* 0x60-0x63 */ + 0xDE, 0xA8, 0xCA, 0x8B, 0xCA, 0x8C, 0xCA, 0x8D, /* 0x64-0x67 */ + 0xDE, 0xA7, 0xCA, 0x8E, 0xCA, 0x8F, 0xCA, 0x90, /* 0x68-0x6B */ + 0xCA, 0x91, 0xCA, 0x92, 0xCA, 0x93, 0xCA, 0x94, /* 0x6C-0x6F */ + 0xCA, 0x95, 0xCA, 0x96, 0xDE, 0xAD, 0xCA, 0x97, /* 0x70-0x73 */ + 0xD4, 0xCC, 0xCA, 0x98, 0xCA, 0x99, 0xCA, 0x9A, /* 0x74-0x77 */ + 0xCA, 0x9B, 0xDE, 0xB3, 0xDE, 0xAA, 0xDE, 0xAE, /* 0x78-0x7B */ + 0xCA, 0x9C, 0xCA, 0x9D, 0xC0, 0xD9, 0xCA, 0x9E, /* 0x7C-0x7F */ + + 0xCA, 0x9F, 0xCA, 0xA0, 0xCB, 0x40, 0xCB, 0x41, /* 0x80-0x83 */ + 0xB1, 0xA1, 0xDE, 0xB6, 0xCB, 0x42, 0xDE, 0xB1, /* 0x84-0x87 */ + 0xCB, 0x43, 0xCB, 0x44, 0xCB, 0x45, 0xCB, 0x46, /* 0x88-0x8B */ + 0xCB, 0x47, 0xCB, 0x48, 0xCB, 0x49, 0xDE, 0xB2, /* 0x8C-0x8F */ + 0xCB, 0x4A, 0xCB, 0x4B, 0xCB, 0x4C, 0xCB, 0x4D, /* 0x90-0x93 */ + 0xCB, 0x4E, 0xCB, 0x4F, 0xCB, 0x50, 0xCB, 0x51, /* 0x94-0x97 */ + 0xCB, 0x52, 0xCB, 0x53, 0xCB, 0x54, 0xD1, 0xA6, /* 0x98-0x9B */ + 0xDE, 0xB5, 0xCB, 0x55, 0xCB, 0x56, 0xCB, 0x57, /* 0x9C-0x9F */ + 0xCB, 0x58, 0xCB, 0x59, 0xCB, 0x5A, 0xCB, 0x5B, /* 0xA0-0xA3 */ + 0xDE, 0xAF, 0xCB, 0x5C, 0xCB, 0x5D, 0xCB, 0x5E, /* 0xA4-0xA7 */ + 0xDE, 0xB0, 0xCB, 0x5F, 0xD0, 0xBD, 0xCB, 0x60, /* 0xA8-0xAB */ + 0xCB, 0x61, 0xCB, 0x62, 0xDE, 0xB4, 0xCA, 0xED, /* 0xAC-0xAF */ + 0xDE, 0xB9, 0xCB, 0x63, 0xCB, 0x64, 0xCB, 0x65, /* 0xB0-0xB3 */ + 0xCB, 0x66, 0xCB, 0x67, 0xCB, 0x68, 0xDE, 0xB8, /* 0xB4-0xB7 */ + 0xCB, 0x69, 0xDE, 0xB7, 0xCB, 0x6A, 0xCB, 0x6B, /* 0xB8-0xBB */ + 0xCB, 0x6C, 0xCB, 0x6D, 0xCB, 0x6E, 0xCB, 0x6F, /* 0xBC-0xBF */ + 0xCB, 0x70, 0xDE, 0xBB, 0xCB, 0x71, 0xCB, 0x72, /* 0xC0-0xC3 */ + 0xCB, 0x73, 0xCB, 0x74, 0xCB, 0x75, 0xCB, 0x76, /* 0xC4-0xC7 */ + 0xCB, 0x77, 0xBD, 0xE5, 0xCB, 0x78, 0xCB, 0x79, /* 0xC8-0xCB */ + 0xCB, 0x7A, 0xCB, 0x7B, 0xCB, 0x7C, 0xB2, 0xD8, /* 0xCC-0xCF */ + 0xC3, 0xEA, 0xCB, 0x7D, 0xCB, 0x7E, 0xDE, 0xBA, /* 0xD0-0xD3 */ + 0xCB, 0x80, 0xC5, 0xBA, 0xCB, 0x81, 0xCB, 0x82, /* 0xD4-0xD7 */ + 0xCB, 0x83, 0xCB, 0x84, 0xCB, 0x85, 0xCB, 0x86, /* 0xD8-0xDB */ + 0xDE, 0xBC, 0xCB, 0x87, 0xCB, 0x88, 0xCB, 0x89, /* 0xDC-0xDF */ + 0xCB, 0x8A, 0xCB, 0x8B, 0xCB, 0x8C, 0xCB, 0x8D, /* 0xE0-0xE3 */ + 0xCC, 0xD9, 0xCB, 0x8E, 0xCB, 0x8F, 0xCB, 0x90, /* 0xE4-0xE7 */ + 0xCB, 0x91, 0xB7, 0xAA, 0xCB, 0x92, 0xCB, 0x93, /* 0xE8-0xEB */ + 0xCB, 0x94, 0xCB, 0x95, 0xCB, 0x96, 0xCB, 0x97, /* 0xEC-0xEF */ + 0xCB, 0x98, 0xCB, 0x99, 0xCB, 0x9A, 0xCB, 0x9B, /* 0xF0-0xF3 */ + 0xCB, 0x9C, 0xCB, 0x9D, 0xCB, 0x9E, 0xCB, 0x9F, /* 0xF4-0xF7 */ + 0xCB, 0xA0, 0xCC, 0x40, 0xCC, 0x41, 0xD4, 0xE5, /* 0xF8-0xFB */ + 0xCC, 0x42, 0xCC, 0x43, 0xCC, 0x44, 0xDE, 0xBD, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_86[512] = { + 0xCC, 0x45, 0xCC, 0x46, 0xCC, 0x47, 0xCC, 0x48, /* 0x00-0x03 */ + 0xCC, 0x49, 0xDE, 0xBF, 0xCC, 0x4A, 0xCC, 0x4B, /* 0x04-0x07 */ + 0xCC, 0x4C, 0xCC, 0x4D, 0xCC, 0x4E, 0xCC, 0x4F, /* 0x08-0x0B */ + 0xCC, 0x50, 0xCC, 0x51, 0xCC, 0x52, 0xCC, 0x53, /* 0x0C-0x0F */ + 0xCC, 0x54, 0xC4, 0xA2, 0xCC, 0x55, 0xCC, 0x56, /* 0x10-0x13 */ + 0xCC, 0x57, 0xCC, 0x58, 0xDE, 0xC1, 0xCC, 0x59, /* 0x14-0x17 */ + 0xCC, 0x5A, 0xCC, 0x5B, 0xCC, 0x5C, 0xCC, 0x5D, /* 0x18-0x1B */ + 0xCC, 0x5E, 0xCC, 0x5F, 0xCC, 0x60, 0xCC, 0x61, /* 0x1C-0x1F */ + 0xCC, 0x62, 0xCC, 0x63, 0xCC, 0x64, 0xCC, 0x65, /* 0x20-0x23 */ + 0xCC, 0x66, 0xCC, 0x67, 0xCC, 0x68, 0xDE, 0xBE, /* 0x24-0x27 */ + 0xCC, 0x69, 0xDE, 0xC0, 0xCC, 0x6A, 0xCC, 0x6B, /* 0x28-0x2B */ + 0xCC, 0x6C, 0xCC, 0x6D, 0xCC, 0x6E, 0xCC, 0x6F, /* 0x2C-0x2F */ + 0xCC, 0x70, 0xCC, 0x71, 0xCC, 0x72, 0xCC, 0x73, /* 0x30-0x33 */ + 0xCC, 0x74, 0xCC, 0x75, 0xCC, 0x76, 0xCC, 0x77, /* 0x34-0x37 */ + 0xD5, 0xBA, 0xCC, 0x78, 0xCC, 0x79, 0xCC, 0x7A, /* 0x38-0x3B */ + 0xDE, 0xC2, 0xCC, 0x7B, 0xCC, 0x7C, 0xCC, 0x7D, /* 0x3C-0x3F */ + 0xCC, 0x7E, 0xCC, 0x80, 0xCC, 0x81, 0xCC, 0x82, /* 0x40-0x43 */ + 0xCC, 0x83, 0xCC, 0x84, 0xCC, 0x85, 0xCC, 0x86, /* 0x44-0x47 */ + 0xCC, 0x87, 0xCC, 0x88, 0xCC, 0x89, 0xCC, 0x8A, /* 0x48-0x4B */ + 0xCC, 0x8B, 0xF2, 0xAE, 0xBB, 0xA2, 0xC2, 0xB2, /* 0x4C-0x4F */ + 0xC5, 0xB0, 0xC2, 0xC7, 0xCC, 0x8C, 0xCC, 0x8D, /* 0x50-0x53 */ + 0xF2, 0xAF, 0xCC, 0x8E, 0xCC, 0x8F, 0xCC, 0x90, /* 0x54-0x57 */ + 0xCC, 0x91, 0xCC, 0x92, 0xD0, 0xE9, 0xCC, 0x93, /* 0x58-0x5B */ + 0xCC, 0x94, 0xCC, 0x95, 0xD3, 0xDD, 0xCC, 0x96, /* 0x5C-0x5F */ + 0xCC, 0x97, 0xCC, 0x98, 0xEB, 0xBD, 0xCC, 0x99, /* 0x60-0x63 */ + 0xCC, 0x9A, 0xCC, 0x9B, 0xCC, 0x9C, 0xCC, 0x9D, /* 0x64-0x67 */ + 0xCC, 0x9E, 0xCC, 0x9F, 0xCC, 0xA0, 0xB3, 0xE6, /* 0x68-0x6B */ + 0xF2, 0xB0, 0xCD, 0x40, 0xF2, 0xB1, 0xCD, 0x41, /* 0x6C-0x6F */ + 0xCD, 0x42, 0xCA, 0xAD, 0xCD, 0x43, 0xCD, 0x44, /* 0x70-0x73 */ + 0xCD, 0x45, 0xCD, 0x46, 0xCD, 0x47, 0xCD, 0x48, /* 0x74-0x77 */ + 0xCD, 0x49, 0xBA, 0xE7, 0xF2, 0xB3, 0xF2, 0xB5, /* 0x78-0x7B */ + 0xF2, 0xB4, 0xCB, 0xE4, 0xCF, 0xBA, 0xF2, 0xB2, /* 0x7C-0x7F */ + + 0xCA, 0xB4, 0xD2, 0xCF, 0xC2, 0xEC, 0xCD, 0x4A, /* 0x80-0x83 */ + 0xCD, 0x4B, 0xCD, 0x4C, 0xCD, 0x4D, 0xCD, 0x4E, /* 0x84-0x87 */ + 0xCD, 0x4F, 0xCD, 0x50, 0xCE, 0xC3, 0xF2, 0xB8, /* 0x88-0x8B */ + 0xB0, 0xF6, 0xF2, 0xB7, 0xCD, 0x51, 0xCD, 0x52, /* 0x8C-0x8F */ + 0xCD, 0x53, 0xCD, 0x54, 0xCD, 0x55, 0xF2, 0xBE, /* 0x90-0x93 */ + 0xCD, 0x56, 0xB2, 0xCF, 0xCD, 0x57, 0xCD, 0x58, /* 0x94-0x97 */ + 0xCD, 0x59, 0xCD, 0x5A, 0xCD, 0x5B, 0xCD, 0x5C, /* 0x98-0x9B */ + 0xD1, 0xC1, 0xF2, 0xBA, 0xCD, 0x5D, 0xCD, 0x5E, /* 0x9C-0x9F */ + 0xCD, 0x5F, 0xCD, 0x60, 0xCD, 0x61, 0xF2, 0xBC, /* 0xA0-0xA3 */ + 0xD4, 0xE9, 0xCD, 0x62, 0xCD, 0x63, 0xF2, 0xBB, /* 0xA4-0xA7 */ + 0xF2, 0xB6, 0xF2, 0xBF, 0xF2, 0xBD, 0xCD, 0x64, /* 0xA8-0xAB */ + 0xF2, 0xB9, 0xCD, 0x65, 0xCD, 0x66, 0xF2, 0xC7, /* 0xAC-0xAF */ + 0xF2, 0xC4, 0xF2, 0xC6, 0xCD, 0x67, 0xCD, 0x68, /* 0xB0-0xB3 */ + 0xF2, 0xCA, 0xF2, 0xC2, 0xF2, 0xC0, 0xCD, 0x69, /* 0xB4-0xB7 */ + 0xCD, 0x6A, 0xCD, 0x6B, 0xF2, 0xC5, 0xCD, 0x6C, /* 0xB8-0xBB */ + 0xCD, 0x6D, 0xCD, 0x6E, 0xCD, 0x6F, 0xCD, 0x70, /* 0xBC-0xBF */ + 0xD6, 0xFB, 0xCD, 0x71, 0xCD, 0x72, 0xCD, 0x73, /* 0xC0-0xC3 */ + 0xF2, 0xC1, 0xCD, 0x74, 0xC7, 0xF9, 0xC9, 0xDF, /* 0xC4-0xC7 */ + 0xCD, 0x75, 0xF2, 0xC8, 0xB9, 0xC6, 0xB5, 0xB0, /* 0xC8-0xCB */ + 0xCD, 0x76, 0xCD, 0x77, 0xF2, 0xC3, 0xF2, 0xC9, /* 0xCC-0xCF */ + 0xF2, 0xD0, 0xF2, 0xD6, 0xCD, 0x78, 0xCD, 0x79, /* 0xD0-0xD3 */ + 0xBB, 0xD7, 0xCD, 0x7A, 0xCD, 0x7B, 0xCD, 0x7C, /* 0xD4-0xD7 */ + 0xF2, 0xD5, 0xCD, 0xDC, 0xCD, 0x7D, 0xD6, 0xEB, /* 0xD8-0xDB */ + 0xCD, 0x7E, 0xCD, 0x80, 0xF2, 0xD2, 0xF2, 0xD4, /* 0xDC-0xDF */ + 0xCD, 0x81, 0xCD, 0x82, 0xCD, 0x83, 0xCD, 0x84, /* 0xE0-0xE3 */ + 0xB8, 0xF2, 0xCD, 0x85, 0xCD, 0x86, 0xCD, 0x87, /* 0xE4-0xE7 */ + 0xCD, 0x88, 0xF2, 0xCB, 0xCD, 0x89, 0xCD, 0x8A, /* 0xE8-0xEB */ + 0xCD, 0x8B, 0xF2, 0xCE, 0xC2, 0xF9, 0xCD, 0x8C, /* 0xEC-0xEF */ + 0xD5, 0xDD, 0xF2, 0xCC, 0xF2, 0xCD, 0xF2, 0xCF, /* 0xF0-0xF3 */ + 0xF2, 0xD3, 0xCD, 0x8D, 0xCD, 0x8E, 0xCD, 0x8F, /* 0xF4-0xF7 */ + 0xF2, 0xD9, 0xD3, 0xBC, 0xCD, 0x90, 0xCD, 0x91, /* 0xF8-0xFB */ + 0xCD, 0x92, 0xCD, 0x93, 0xB6, 0xEA, 0xCD, 0x94, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_87[512] = { + 0xCA, 0xF1, 0xCD, 0x95, 0xB7, 0xE4, 0xF2, 0xD7, /* 0x00-0x03 */ + 0xCD, 0x96, 0xCD, 0x97, 0xCD, 0x98, 0xF2, 0xD8, /* 0x04-0x07 */ + 0xF2, 0xDA, 0xF2, 0xDD, 0xF2, 0xDB, 0xCD, 0x99, /* 0x08-0x0B */ + 0xCD, 0x9A, 0xF2, 0xDC, 0xCD, 0x9B, 0xCD, 0x9C, /* 0x0C-0x0F */ + 0xCD, 0x9D, 0xCD, 0x9E, 0xD1, 0xD1, 0xF2, 0xD1, /* 0x10-0x13 */ + 0xCD, 0x9F, 0xCD, 0xC9, 0xCD, 0xA0, 0xCE, 0xCF, /* 0x14-0x17 */ + 0xD6, 0xA9, 0xCE, 0x40, 0xF2, 0xE3, 0xCE, 0x41, /* 0x18-0x1B */ + 0xC3, 0xDB, 0xCE, 0x42, 0xF2, 0xE0, 0xCE, 0x43, /* 0x1C-0x1F */ + 0xCE, 0x44, 0xC0, 0xAF, 0xF2, 0xEC, 0xF2, 0xDE, /* 0x20-0x23 */ + 0xCE, 0x45, 0xF2, 0xE1, 0xCE, 0x46, 0xCE, 0x47, /* 0x24-0x27 */ + 0xCE, 0x48, 0xF2, 0xE8, 0xCE, 0x49, 0xCE, 0x4A, /* 0x28-0x2B */ + 0xCE, 0x4B, 0xCE, 0x4C, 0xF2, 0xE2, 0xCE, 0x4D, /* 0x2C-0x2F */ + 0xCE, 0x4E, 0xF2, 0xE7, 0xCE, 0x4F, 0xCE, 0x50, /* 0x30-0x33 */ + 0xF2, 0xE6, 0xCE, 0x51, 0xCE, 0x52, 0xF2, 0xE9, /* 0x34-0x37 */ + 0xCE, 0x53, 0xCE, 0x54, 0xCE, 0x55, 0xF2, 0xDF, /* 0x38-0x3B */ + 0xCE, 0x56, 0xCE, 0x57, 0xF2, 0xE4, 0xF2, 0xEA, /* 0x3C-0x3F */ + 0xCE, 0x58, 0xCE, 0x59, 0xCE, 0x5A, 0xCE, 0x5B, /* 0x40-0x43 */ + 0xCE, 0x5C, 0xCE, 0x5D, 0xCE, 0x5E, 0xD3, 0xAC, /* 0x44-0x47 */ + 0xF2, 0xE5, 0xB2, 0xF5, 0xCE, 0x5F, 0xCE, 0x60, /* 0x48-0x4B */ + 0xF2, 0xF2, 0xCE, 0x61, 0xD0, 0xAB, 0xCE, 0x62, /* 0x4C-0x4F */ + 0xCE, 0x63, 0xCE, 0x64, 0xCE, 0x65, 0xF2, 0xF5, /* 0x50-0x53 */ + 0xCE, 0x66, 0xCE, 0x67, 0xCE, 0x68, 0xBB, 0xC8, /* 0x54-0x57 */ + 0xCE, 0x69, 0xF2, 0xF9, 0xCE, 0x6A, 0xCE, 0x6B, /* 0x58-0x5B */ + 0xCE, 0x6C, 0xCE, 0x6D, 0xCE, 0x6E, 0xCE, 0x6F, /* 0x5C-0x5F */ + 0xF2, 0xF0, 0xCE, 0x70, 0xCE, 0x71, 0xF2, 0xF6, /* 0x60-0x63 */ + 0xF2, 0xF8, 0xF2, 0xFA, 0xCE, 0x72, 0xCE, 0x73, /* 0x64-0x67 */ + 0xCE, 0x74, 0xCE, 0x75, 0xCE, 0x76, 0xCE, 0x77, /* 0x68-0x6B */ + 0xCE, 0x78, 0xCE, 0x79, 0xF2, 0xF3, 0xCE, 0x7A, /* 0x6C-0x6F */ + 0xF2, 0xF1, 0xCE, 0x7B, 0xCE, 0x7C, 0xCE, 0x7D, /* 0x70-0x73 */ + 0xBA, 0xFB, 0xCE, 0x7E, 0xB5, 0xFB, 0xCE, 0x80, /* 0x74-0x77 */ + 0xCE, 0x81, 0xCE, 0x82, 0xCE, 0x83, 0xF2, 0xEF, /* 0x78-0x7B */ + 0xF2, 0xF7, 0xF2, 0xED, 0xF2, 0xEE, 0xCE, 0x84, /* 0x7C-0x7F */ + + 0xCE, 0x85, 0xCE, 0x86, 0xF2, 0xEB, 0xF3, 0xA6, /* 0x80-0x83 */ + 0xCE, 0x87, 0xF3, 0xA3, 0xCE, 0x88, 0xCE, 0x89, /* 0x84-0x87 */ + 0xF3, 0xA2, 0xCE, 0x8A, 0xCE, 0x8B, 0xF2, 0xF4, /* 0x88-0x8B */ + 0xCE, 0x8C, 0xC8, 0xDA, 0xCE, 0x8D, 0xCE, 0x8E, /* 0x8C-0x8F */ + 0xCE, 0x8F, 0xCE, 0x90, 0xCE, 0x91, 0xF2, 0xFB, /* 0x90-0x93 */ + 0xCE, 0x92, 0xCE, 0x93, 0xCE, 0x94, 0xF3, 0xA5, /* 0x94-0x97 */ + 0xCE, 0x95, 0xCE, 0x96, 0xCE, 0x97, 0xCE, 0x98, /* 0x98-0x9B */ + 0xCE, 0x99, 0xCE, 0x9A, 0xCE, 0x9B, 0xC3, 0xF8, /* 0x9C-0x9F */ + 0xCE, 0x9C, 0xCE, 0x9D, 0xCE, 0x9E, 0xCE, 0x9F, /* 0xA0-0xA3 */ + 0xCE, 0xA0, 0xCF, 0x40, 0xCF, 0x41, 0xCF, 0x42, /* 0xA4-0xA7 */ + 0xF2, 0xFD, 0xCF, 0x43, 0xCF, 0x44, 0xF3, 0xA7, /* 0xA8-0xAB */ + 0xF3, 0xA9, 0xF3, 0xA4, 0xCF, 0x45, 0xF2, 0xFC, /* 0xAC-0xAF */ + 0xCF, 0x46, 0xCF, 0x47, 0xCF, 0x48, 0xF3, 0xAB, /* 0xB0-0xB3 */ + 0xCF, 0x49, 0xF3, 0xAA, 0xCF, 0x4A, 0xCF, 0x4B, /* 0xB4-0xB7 */ + 0xCF, 0x4C, 0xCF, 0x4D, 0xC2, 0xDD, 0xCF, 0x4E, /* 0xB8-0xBB */ + 0xCF, 0x4F, 0xF3, 0xAE, 0xCF, 0x50, 0xCF, 0x51, /* 0xBC-0xBF */ + 0xF3, 0xB0, 0xCF, 0x52, 0xCF, 0x53, 0xCF, 0x54, /* 0xC0-0xC3 */ + 0xCF, 0x55, 0xCF, 0x56, 0xF3, 0xA1, 0xCF, 0x57, /* 0xC4-0xC7 */ + 0xCF, 0x58, 0xCF, 0x59, 0xF3, 0xB1, 0xF3, 0xAC, /* 0xC8-0xCB */ + 0xCF, 0x5A, 0xCF, 0x5B, 0xCF, 0x5C, 0xCF, 0x5D, /* 0xCC-0xCF */ + 0xCF, 0x5E, 0xF3, 0xAF, 0xF2, 0xFE, 0xF3, 0xAD, /* 0xD0-0xD3 */ + 0xCF, 0x5F, 0xCF, 0x60, 0xCF, 0x61, 0xCF, 0x62, /* 0xD4-0xD7 */ + 0xCF, 0x63, 0xCF, 0x64, 0xCF, 0x65, 0xF3, 0xB2, /* 0xD8-0xDB */ + 0xCF, 0x66, 0xCF, 0x67, 0xCF, 0x68, 0xCF, 0x69, /* 0xDC-0xDF */ + 0xF3, 0xB4, 0xCF, 0x6A, 0xCF, 0x6B, 0xCF, 0x6C, /* 0xE0-0xE3 */ + 0xCF, 0x6D, 0xF3, 0xA8, 0xCF, 0x6E, 0xCF, 0x6F, /* 0xE4-0xE7 */ + 0xCF, 0x70, 0xCF, 0x71, 0xF3, 0xB3, 0xCF, 0x72, /* 0xE8-0xEB */ + 0xCF, 0x73, 0xCF, 0x74, 0xF3, 0xB5, 0xCF, 0x75, /* 0xEC-0xEF */ + 0xCF, 0x76, 0xCF, 0x77, 0xCF, 0x78, 0xCF, 0x79, /* 0xF0-0xF3 */ + 0xCF, 0x7A, 0xCF, 0x7B, 0xCF, 0x7C, 0xCF, 0x7D, /* 0xF4-0xF7 */ + 0xCF, 0x7E, 0xD0, 0xB7, 0xCF, 0x80, 0xCF, 0x81, /* 0xF8-0xFB */ + 0xCF, 0x82, 0xCF, 0x83, 0xF3, 0xB8, 0xCF, 0x84, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_88[512] = { + 0xCF, 0x85, 0xCF, 0x86, 0xCF, 0x87, 0xD9, 0xF9, /* 0x00-0x03 */ + 0xCF, 0x88, 0xCF, 0x89, 0xCF, 0x8A, 0xCF, 0x8B, /* 0x04-0x07 */ + 0xCF, 0x8C, 0xCF, 0x8D, 0xF3, 0xB9, 0xCF, 0x8E, /* 0x08-0x0B */ + 0xCF, 0x8F, 0xCF, 0x90, 0xCF, 0x91, 0xCF, 0x92, /* 0x0C-0x0F */ + 0xCF, 0x93, 0xCF, 0x94, 0xCF, 0x95, 0xF3, 0xB7, /* 0x10-0x13 */ + 0xCF, 0x96, 0xC8, 0xE4, 0xF3, 0xB6, 0xCF, 0x97, /* 0x14-0x17 */ + 0xCF, 0x98, 0xCF, 0x99, 0xCF, 0x9A, 0xF3, 0xBA, /* 0x18-0x1B */ + 0xCF, 0x9B, 0xCF, 0x9C, 0xCF, 0x9D, 0xCF, 0x9E, /* 0x1C-0x1F */ + 0xCF, 0x9F, 0xF3, 0xBB, 0xB4, 0xC0, 0xCF, 0xA0, /* 0x20-0x23 */ + 0xD0, 0x40, 0xD0, 0x41, 0xD0, 0x42, 0xD0, 0x43, /* 0x24-0x27 */ + 0xD0, 0x44, 0xD0, 0x45, 0xD0, 0x46, 0xD0, 0x47, /* 0x28-0x2B */ + 0xD0, 0x48, 0xD0, 0x49, 0xD0, 0x4A, 0xD0, 0x4B, /* 0x2C-0x2F */ + 0xD0, 0x4C, 0xD0, 0x4D, 0xEE, 0xC3, 0xD0, 0x4E, /* 0x30-0x33 */ + 0xD0, 0x4F, 0xD0, 0x50, 0xD0, 0x51, 0xD0, 0x52, /* 0x34-0x37 */ + 0xD0, 0x53, 0xF3, 0xBC, 0xD0, 0x54, 0xD0, 0x55, /* 0x38-0x3B */ + 0xF3, 0xBD, 0xD0, 0x56, 0xD0, 0x57, 0xD0, 0x58, /* 0x3C-0x3F */ + 0xD1, 0xAA, 0xD0, 0x59, 0xD0, 0x5A, 0xD0, 0x5B, /* 0x40-0x43 */ + 0xF4, 0xAC, 0xD0, 0xC6, 0xD0, 0x5C, 0xD0, 0x5D, /* 0x44-0x47 */ + 0xD0, 0x5E, 0xD0, 0x5F, 0xD0, 0x60, 0xD0, 0x61, /* 0x48-0x4B */ + 0xD0, 0xD0, 0xD1, 0xDC, 0xD0, 0x62, 0xD0, 0x63, /* 0x4C-0x4F */ + 0xD0, 0x64, 0xD0, 0x65, 0xD0, 0x66, 0xD0, 0x67, /* 0x50-0x53 */ + 0xCF, 0xCE, 0xD0, 0x68, 0xD0, 0x69, 0xBD, 0xD6, /* 0x54-0x57 */ + 0xD0, 0x6A, 0xD1, 0xC3, 0xD0, 0x6B, 0xD0, 0x6C, /* 0x58-0x5B */ + 0xD0, 0x6D, 0xD0, 0x6E, 0xD0, 0x6F, 0xD0, 0x70, /* 0x5C-0x5F */ + 0xD0, 0x71, 0xBA, 0xE2, 0xE1, 0xE9, 0xD2, 0xC2, /* 0x60-0x63 */ + 0xF1, 0xC2, 0xB2, 0xB9, 0xD0, 0x72, 0xD0, 0x73, /* 0x64-0x67 */ + 0xB1, 0xED, 0xF1, 0xC3, 0xD0, 0x74, 0xC9, 0xC0, /* 0x68-0x6B */ + 0xB3, 0xC4, 0xD0, 0x75, 0xD9, 0xF2, 0xD0, 0x76, /* 0x6C-0x6F */ + 0xCB, 0xA5, 0xD0, 0x77, 0xF1, 0xC4, 0xD0, 0x78, /* 0x70-0x73 */ + 0xD0, 0x79, 0xD0, 0x7A, 0xD0, 0x7B, 0xD6, 0xD4, /* 0x74-0x77 */ + 0xD0, 0x7C, 0xD0, 0x7D, 0xD0, 0x7E, 0xD0, 0x80, /* 0x78-0x7B */ + 0xD0, 0x81, 0xF1, 0xC5, 0xF4, 0xC0, 0xF1, 0xC6, /* 0x7C-0x7F */ + + 0xD0, 0x82, 0xD4, 0xAC, 0xF1, 0xC7, 0xD0, 0x83, /* 0x80-0x83 */ + 0xB0, 0xC0, 0xF4, 0xC1, 0xD0, 0x84, 0xD0, 0x85, /* 0x84-0x87 */ + 0xF4, 0xC2, 0xD0, 0x86, 0xD0, 0x87, 0xB4, 0xFC, /* 0x88-0x8B */ + 0xD0, 0x88, 0xC5, 0xDB, 0xD0, 0x89, 0xD0, 0x8A, /* 0x8C-0x8F */ + 0xD0, 0x8B, 0xD0, 0x8C, 0xCC, 0xBB, 0xD0, 0x8D, /* 0x90-0x93 */ + 0xD0, 0x8E, 0xD0, 0x8F, 0xD0, 0xE4, 0xD0, 0x90, /* 0x94-0x97 */ + 0xD0, 0x91, 0xD0, 0x92, 0xD0, 0x93, 0xD0, 0x94, /* 0x98-0x9B */ + 0xCD, 0xE0, 0xD0, 0x95, 0xD0, 0x96, 0xD0, 0x97, /* 0x9C-0x9F */ + 0xD0, 0x98, 0xD0, 0x99, 0xF1, 0xC8, 0xD0, 0x9A, /* 0xA0-0xA3 */ + 0xD9, 0xF3, 0xD0, 0x9B, 0xD0, 0x9C, 0xD0, 0x9D, /* 0xA4-0xA7 */ + 0xD0, 0x9E, 0xD0, 0x9F, 0xD0, 0xA0, 0xB1, 0xBB, /* 0xA8-0xAB */ + 0xD1, 0x40, 0xCF, 0xAE, 0xD1, 0x41, 0xD1, 0x42, /* 0xAC-0xAF */ + 0xD1, 0x43, 0xB8, 0xA4, 0xD1, 0x44, 0xD1, 0x45, /* 0xB0-0xB3 */ + 0xD1, 0x46, 0xD1, 0x47, 0xD1, 0x48, 0xF1, 0xCA, /* 0xB4-0xB7 */ + 0xD1, 0x49, 0xD1, 0x4A, 0xD1, 0x4B, 0xD1, 0x4C, /* 0xB8-0xBB */ + 0xF1, 0xCB, 0xD1, 0x4D, 0xD1, 0x4E, 0xD1, 0x4F, /* 0xBC-0xBF */ + 0xD1, 0x50, 0xB2, 0xC3, 0xC1, 0xD1, 0xD1, 0x51, /* 0xC0-0xC3 */ + 0xD1, 0x52, 0xD7, 0xB0, 0xF1, 0xC9, 0xD1, 0x53, /* 0xC4-0xC7 */ + 0xD1, 0x54, 0xF1, 0xCC, 0xD1, 0x55, 0xD1, 0x56, /* 0xC8-0xCB */ + 0xD1, 0x57, 0xD1, 0x58, 0xF1, 0xCE, 0xD1, 0x59, /* 0xCC-0xCF */ + 0xD1, 0x5A, 0xD1, 0x5B, 0xD9, 0xF6, 0xD1, 0x5C, /* 0xD0-0xD3 */ + 0xD2, 0xE1, 0xD4, 0xA3, 0xD1, 0x5D, 0xD1, 0x5E, /* 0xD4-0xD7 */ + 0xF4, 0xC3, 0xC8, 0xB9, 0xD1, 0x5F, 0xD1, 0x60, /* 0xD8-0xDB */ + 0xD1, 0x61, 0xD1, 0x62, 0xD1, 0x63, 0xF4, 0xC4, /* 0xDC-0xDF */ + 0xD1, 0x64, 0xD1, 0x65, 0xF1, 0xCD, 0xF1, 0xCF, /* 0xE0-0xE3 */ + 0xBF, 0xE3, 0xF1, 0xD0, 0xD1, 0x66, 0xD1, 0x67, /* 0xE4-0xE7 */ + 0xF1, 0xD4, 0xD1, 0x68, 0xD1, 0x69, 0xD1, 0x6A, /* 0xE8-0xEB */ + 0xD1, 0x6B, 0xD1, 0x6C, 0xD1, 0x6D, 0xD1, 0x6E, /* 0xEC-0xEF */ + 0xF1, 0xD6, 0xF1, 0xD1, 0xD1, 0x6F, 0xC9, 0xD1, /* 0xF0-0xF3 */ + 0xC5, 0xE1, 0xD1, 0x70, 0xD1, 0x71, 0xD1, 0x72, /* 0xF4-0xF7 */ + 0xC2, 0xE3, 0xB9, 0xFC, 0xD1, 0x73, 0xD1, 0x74, /* 0xF8-0xFB */ + 0xF1, 0xD3, 0xD1, 0x75, 0xF1, 0xD5, 0xD1, 0x76, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_89[512] = { + 0xD1, 0x77, 0xD1, 0x78, 0xB9, 0xD3, 0xD1, 0x79, /* 0x00-0x03 */ + 0xD1, 0x7A, 0xD1, 0x7B, 0xD1, 0x7C, 0xD1, 0x7D, /* 0x04-0x07 */ + 0xD1, 0x7E, 0xD1, 0x80, 0xF1, 0xDB, 0xD1, 0x81, /* 0x08-0x0B */ + 0xD1, 0x82, 0xD1, 0x83, 0xD1, 0x84, 0xD1, 0x85, /* 0x0C-0x0F */ + 0xBA, 0xD6, 0xD1, 0x86, 0xB0, 0xFD, 0xF1, 0xD9, /* 0x10-0x13 */ + 0xD1, 0x87, 0xD1, 0x88, 0xD1, 0x89, 0xD1, 0x8A, /* 0x14-0x17 */ + 0xD1, 0x8B, 0xF1, 0xD8, 0xF1, 0xD2, 0xF1, 0xDA, /* 0x18-0x1B */ + 0xD1, 0x8C, 0xD1, 0x8D, 0xD1, 0x8E, 0xD1, 0x8F, /* 0x1C-0x1F */ + 0xD1, 0x90, 0xF1, 0xD7, 0xD1, 0x91, 0xD1, 0x92, /* 0x20-0x23 */ + 0xD1, 0x93, 0xC8, 0xEC, 0xD1, 0x94, 0xD1, 0x95, /* 0x24-0x27 */ + 0xD1, 0x96, 0xD1, 0x97, 0xCD, 0xCA, 0xF1, 0xDD, /* 0x28-0x2B */ + 0xD1, 0x98, 0xD1, 0x99, 0xD1, 0x9A, 0xD1, 0x9B, /* 0x2C-0x2F */ + 0xE5, 0xBD, 0xD1, 0x9C, 0xD1, 0x9D, 0xD1, 0x9E, /* 0x30-0x33 */ + 0xF1, 0xDC, 0xD1, 0x9F, 0xF1, 0xDE, 0xD1, 0xA0, /* 0x34-0x37 */ + 0xD2, 0x40, 0xD2, 0x41, 0xD2, 0x42, 0xD2, 0x43, /* 0x38-0x3B */ + 0xD2, 0x44, 0xD2, 0x45, 0xD2, 0x46, 0xD2, 0x47, /* 0x3C-0x3F */ + 0xD2, 0x48, 0xF1, 0xDF, 0xD2, 0x49, 0xD2, 0x4A, /* 0x40-0x43 */ + 0xCF, 0xE5, 0xD2, 0x4B, 0xD2, 0x4C, 0xD2, 0x4D, /* 0x44-0x47 */ + 0xD2, 0x4E, 0xD2, 0x4F, 0xD2, 0x50, 0xD2, 0x51, /* 0x48-0x4B */ + 0xD2, 0x52, 0xD2, 0x53, 0xD2, 0x54, 0xD2, 0x55, /* 0x4C-0x4F */ + 0xD2, 0x56, 0xD2, 0x57, 0xD2, 0x58, 0xD2, 0x59, /* 0x50-0x53 */ + 0xD2, 0x5A, 0xD2, 0x5B, 0xD2, 0x5C, 0xD2, 0x5D, /* 0x54-0x57 */ + 0xD2, 0x5E, 0xD2, 0x5F, 0xD2, 0x60, 0xD2, 0x61, /* 0x58-0x5B */ + 0xD2, 0x62, 0xD2, 0x63, 0xF4, 0xC5, 0xBD, 0xF3, /* 0x5C-0x5F */ + 0xD2, 0x64, 0xD2, 0x65, 0xD2, 0x66, 0xD2, 0x67, /* 0x60-0x63 */ + 0xD2, 0x68, 0xD2, 0x69, 0xF1, 0xE0, 0xD2, 0x6A, /* 0x64-0x67 */ + 0xD2, 0x6B, 0xD2, 0x6C, 0xD2, 0x6D, 0xD2, 0x6E, /* 0x68-0x6B */ + 0xD2, 0x6F, 0xD2, 0x70, 0xD2, 0x71, 0xD2, 0x72, /* 0x6C-0x6F */ + 0xD2, 0x73, 0xD2, 0x74, 0xD2, 0x75, 0xD2, 0x76, /* 0x70-0x73 */ + 0xD2, 0x77, 0xD2, 0x78, 0xD2, 0x79, 0xD2, 0x7A, /* 0x74-0x77 */ + 0xD2, 0x7B, 0xD2, 0x7C, 0xD2, 0x7D, 0xF1, 0xE1, /* 0x78-0x7B */ + 0xD2, 0x7E, 0xD2, 0x80, 0xD2, 0x81, 0xCE, 0xF7, /* 0x7C-0x7F */ + + 0xD2, 0x82, 0xD2, 0xAA, 0xD2, 0x83, 0xF1, 0xFB, /* 0x80-0x83 */ + 0xD2, 0x84, 0xD2, 0x85, 0xB8, 0xB2, 0xD2, 0x86, /* 0x84-0x87 */ + 0xD2, 0x87, 0xD2, 0x88, 0xD2, 0x89, 0xD2, 0x8A, /* 0x88-0x8B */ + 0xD2, 0x8B, 0xD2, 0x8C, 0xD2, 0x8D, 0xD2, 0x8E, /* 0x8C-0x8F */ + 0xD2, 0x8F, 0xD2, 0x90, 0xD2, 0x91, 0xD2, 0x92, /* 0x90-0x93 */ + 0xD2, 0x93, 0xD2, 0x94, 0xD2, 0x95, 0xD2, 0x96, /* 0x94-0x97 */ + 0xD2, 0x97, 0xD2, 0x98, 0xD2, 0x99, 0xD2, 0x9A, /* 0x98-0x9B */ + 0xD2, 0x9B, 0xD2, 0x9C, 0xD2, 0x9D, 0xD2, 0x9E, /* 0x9C-0x9F */ + 0xD2, 0x9F, 0xD2, 0xA0, 0xD3, 0x40, 0xD3, 0x41, /* 0xA0-0xA3 */ + 0xD3, 0x42, 0xD3, 0x43, 0xD3, 0x44, 0xD3, 0x45, /* 0xA4-0xA7 */ + 0xD3, 0x46, 0xD3, 0x47, 0xD3, 0x48, 0xD3, 0x49, /* 0xA8-0xAB */ + 0xD3, 0x4A, 0xD3, 0x4B, 0xD3, 0x4C, 0xD3, 0x4D, /* 0xAC-0xAF */ + 0xD3, 0x4E, 0xD3, 0x4F, 0xD3, 0x50, 0xD3, 0x51, /* 0xB0-0xB3 */ + 0xD3, 0x52, 0xD3, 0x53, 0xD3, 0x54, 0xD3, 0x55, /* 0xB4-0xB7 */ + 0xD3, 0x56, 0xD3, 0x57, 0xD3, 0x58, 0xD3, 0x59, /* 0xB8-0xBB */ + 0xD3, 0x5A, 0xD3, 0x5B, 0xD3, 0x5C, 0xD3, 0x5D, /* 0xBC-0xBF */ + 0xD3, 0x5E, 0xBC, 0xFB, 0xB9, 0xDB, 0xD3, 0x5F, /* 0xC0-0xC3 */ + 0xB9, 0xE6, 0xC3, 0xD9, 0xCA, 0xD3, 0xEA, 0xE8, /* 0xC4-0xC7 */ + 0xC0, 0xC0, 0xBE, 0xF5, 0xEA, 0xE9, 0xEA, 0xEA, /* 0xC8-0xCB */ + 0xEA, 0xEB, 0xD3, 0x60, 0xEA, 0xEC, 0xEA, 0xED, /* 0xCC-0xCF */ + 0xEA, 0xEE, 0xEA, 0xEF, 0xBD, 0xC7, 0xD3, 0x61, /* 0xD0-0xD3 */ + 0xD3, 0x62, 0xD3, 0x63, 0xF5, 0xFB, 0xD3, 0x64, /* 0xD4-0xD7 */ + 0xD3, 0x65, 0xD3, 0x66, 0xF5, 0xFD, 0xD3, 0x67, /* 0xD8-0xDB */ + 0xF5, 0xFE, 0xD3, 0x68, 0xF5, 0xFC, 0xD3, 0x69, /* 0xDC-0xDF */ + 0xD3, 0x6A, 0xD3, 0x6B, 0xD3, 0x6C, 0xBD, 0xE2, /* 0xE0-0xE3 */ + 0xD3, 0x6D, 0xF6, 0xA1, 0xB4, 0xA5, 0xD3, 0x6E, /* 0xE4-0xE7 */ + 0xD3, 0x6F, 0xD3, 0x70, 0xD3, 0x71, 0xF6, 0xA2, /* 0xE8-0xEB */ + 0xD3, 0x72, 0xD3, 0x73, 0xD3, 0x74, 0xF6, 0xA3, /* 0xEC-0xEF */ + 0xD3, 0x75, 0xD3, 0x76, 0xD3, 0x77, 0xEC, 0xB2, /* 0xF0-0xF3 */ + 0xD3, 0x78, 0xD3, 0x79, 0xD3, 0x7A, 0xD3, 0x7B, /* 0xF4-0xF7 */ + 0xD3, 0x7C, 0xD3, 0x7D, 0xD3, 0x7E, 0xD3, 0x80, /* 0xF8-0xFB */ + 0xD3, 0x81, 0xD3, 0x82, 0xD3, 0x83, 0xD3, 0x84, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8A[512] = { + 0xD1, 0xD4, 0xD3, 0x85, 0xD3, 0x86, 0xD3, 0x87, /* 0x00-0x03 */ + 0xD3, 0x88, 0xD3, 0x89, 0xD3, 0x8A, 0xD9, 0xEA, /* 0x04-0x07 */ + 0xD3, 0x8B, 0xD3, 0x8C, 0xD3, 0x8D, 0xD3, 0x8E, /* 0x08-0x0B */ + 0xD3, 0x8F, 0xD3, 0x90, 0xD3, 0x91, 0xD3, 0x92, /* 0x0C-0x0F */ + 0xD3, 0x93, 0xD3, 0x94, 0xD3, 0x95, 0xD3, 0x96, /* 0x10-0x13 */ + 0xD3, 0x97, 0xD3, 0x98, 0xD3, 0x99, 0xD3, 0x9A, /* 0x14-0x17 */ + 0xD3, 0x9B, 0xD3, 0x9C, 0xD3, 0x9D, 0xD3, 0x9E, /* 0x18-0x1B */ + 0xD3, 0x9F, 0xD3, 0xA0, 0xD4, 0x40, 0xD4, 0x41, /* 0x1C-0x1F */ + 0xD4, 0x42, 0xD4, 0x43, 0xD4, 0x44, 0xD4, 0x45, /* 0x20-0x23 */ + 0xD4, 0x46, 0xD4, 0x47, 0xD4, 0x48, 0xD4, 0x49, /* 0x24-0x27 */ + 0xD4, 0x4A, 0xD4, 0x4B, 0xD4, 0x4C, 0xD4, 0x4D, /* 0x28-0x2B */ + 0xD4, 0x4E, 0xD4, 0x4F, 0xD4, 0x50, 0xD4, 0x51, /* 0x2C-0x2F */ + 0xD4, 0x52, 0xD4, 0x53, 0xD4, 0x54, 0xD4, 0x55, /* 0x30-0x33 */ + 0xD4, 0x56, 0xD4, 0x57, 0xD4, 0x58, 0xD4, 0x59, /* 0x34-0x37 */ + 0xD4, 0x5A, 0xD4, 0x5B, 0xD4, 0x5C, 0xD4, 0x5D, /* 0x38-0x3B */ + 0xD4, 0x5E, 0xD4, 0x5F, 0xF6, 0xA4, 0xD4, 0x60, /* 0x3C-0x3F */ + 0xD4, 0x61, 0xD4, 0x62, 0xD4, 0x63, 0xD4, 0x64, /* 0x40-0x43 */ + 0xD4, 0x65, 0xD4, 0x66, 0xD4, 0x67, 0xD4, 0x68, /* 0x44-0x47 */ + 0xEE, 0xBA, 0xD4, 0x69, 0xD4, 0x6A, 0xD4, 0x6B, /* 0x48-0x4B */ + 0xD4, 0x6C, 0xD4, 0x6D, 0xD4, 0x6E, 0xD4, 0x6F, /* 0x4C-0x4F */ + 0xD4, 0x70, 0xD4, 0x71, 0xD4, 0x72, 0xD4, 0x73, /* 0x50-0x53 */ + 0xD4, 0x74, 0xD4, 0x75, 0xD4, 0x76, 0xD4, 0x77, /* 0x54-0x57 */ + 0xD4, 0x78, 0xD4, 0x79, 0xD4, 0x7A, 0xD4, 0x7B, /* 0x58-0x5B */ + 0xD4, 0x7C, 0xD4, 0x7D, 0xD4, 0x7E, 0xD4, 0x80, /* 0x5C-0x5F */ + 0xD4, 0x81, 0xD4, 0x82, 0xD4, 0x83, 0xD4, 0x84, /* 0x60-0x63 */ + 0xD4, 0x85, 0xD4, 0x86, 0xD4, 0x87, 0xD4, 0x88, /* 0x64-0x67 */ + 0xD4, 0x89, 0xD4, 0x8A, 0xD4, 0x8B, 0xD4, 0x8C, /* 0x68-0x6B */ + 0xD4, 0x8D, 0xD4, 0x8E, 0xD4, 0x8F, 0xD4, 0x90, /* 0x6C-0x6F */ + 0xD4, 0x91, 0xD4, 0x92, 0xD4, 0x93, 0xD4, 0x94, /* 0x70-0x73 */ + 0xD4, 0x95, 0xD4, 0x96, 0xD4, 0x97, 0xD4, 0x98, /* 0x74-0x77 */ + 0xD4, 0x99, 0xD5, 0xB2, 0xD4, 0x9A, 0xD4, 0x9B, /* 0x78-0x7B */ + 0xD4, 0x9C, 0xD4, 0x9D, 0xD4, 0x9E, 0xD4, 0x9F, /* 0x7C-0x7F */ + + 0xD4, 0xA0, 0xD5, 0x40, 0xD5, 0x41, 0xD5, 0x42, /* 0x80-0x83 */ + 0xD5, 0x43, 0xD5, 0x44, 0xD5, 0x45, 0xD5, 0x46, /* 0x84-0x87 */ + 0xD5, 0x47, 0xD3, 0xFE, 0xCC, 0xDC, 0xD5, 0x48, /* 0x88-0x8B */ + 0xD5, 0x49, 0xD5, 0x4A, 0xD5, 0x4B, 0xD5, 0x4C, /* 0x8C-0x8F */ + 0xD5, 0x4D, 0xD5, 0x4E, 0xD5, 0x4F, 0xCA, 0xC4, /* 0x90-0x93 */ + 0xD5, 0x50, 0xD5, 0x51, 0xD5, 0x52, 0xD5, 0x53, /* 0x94-0x97 */ + 0xD5, 0x54, 0xD5, 0x55, 0xD5, 0x56, 0xD5, 0x57, /* 0x98-0x9B */ + 0xD5, 0x58, 0xD5, 0x59, 0xD5, 0x5A, 0xD5, 0x5B, /* 0x9C-0x9F */ + 0xD5, 0x5C, 0xD5, 0x5D, 0xD5, 0x5E, 0xD5, 0x5F, /* 0xA0-0xA3 */ + 0xD5, 0x60, 0xD5, 0x61, 0xD5, 0x62, 0xD5, 0x63, /* 0xA4-0xA7 */ + 0xD5, 0x64, 0xD5, 0x65, 0xD5, 0x66, 0xD5, 0x67, /* 0xA8-0xAB */ + 0xD5, 0x68, 0xD5, 0x69, 0xD5, 0x6A, 0xD5, 0x6B, /* 0xAC-0xAF */ + 0xD5, 0x6C, 0xD5, 0x6D, 0xD5, 0x6E, 0xD5, 0x6F, /* 0xB0-0xB3 */ + 0xD5, 0x70, 0xD5, 0x71, 0xD5, 0x72, 0xD5, 0x73, /* 0xB4-0xB7 */ + 0xD5, 0x74, 0xD5, 0x75, 0xD5, 0x76, 0xD5, 0x77, /* 0xB8-0xBB */ + 0xD5, 0x78, 0xD5, 0x79, 0xD5, 0x7A, 0xD5, 0x7B, /* 0xBC-0xBF */ + 0xD5, 0x7C, 0xD5, 0x7D, 0xD5, 0x7E, 0xD5, 0x80, /* 0xC0-0xC3 */ + 0xD5, 0x81, 0xD5, 0x82, 0xD5, 0x83, 0xD5, 0x84, /* 0xC4-0xC7 */ + 0xD5, 0x85, 0xD5, 0x86, 0xD5, 0x87, 0xD5, 0x88, /* 0xC8-0xCB */ + 0xD5, 0x89, 0xD5, 0x8A, 0xD5, 0x8B, 0xD5, 0x8C, /* 0xCC-0xCF */ + 0xD5, 0x8D, 0xD5, 0x8E, 0xD5, 0x8F, 0xD5, 0x90, /* 0xD0-0xD3 */ + 0xD5, 0x91, 0xD5, 0x92, 0xD5, 0x93, 0xD5, 0x94, /* 0xD4-0xD7 */ + 0xD5, 0x95, 0xD5, 0x96, 0xD5, 0x97, 0xD5, 0x98, /* 0xD8-0xDB */ + 0xD5, 0x99, 0xD5, 0x9A, 0xD5, 0x9B, 0xD5, 0x9C, /* 0xDC-0xDF */ + 0xD5, 0x9D, 0xD5, 0x9E, 0xD5, 0x9F, 0xD5, 0xA0, /* 0xE0-0xE3 */ + 0xD6, 0x40, 0xD6, 0x41, 0xD6, 0x42, 0xD6, 0x43, /* 0xE4-0xE7 */ + 0xD6, 0x44, 0xD6, 0x45, 0xD6, 0x46, 0xD6, 0x47, /* 0xE8-0xEB */ + 0xD6, 0x48, 0xD6, 0x49, 0xD6, 0x4A, 0xD6, 0x4B, /* 0xEC-0xEF */ + 0xD6, 0x4C, 0xD6, 0x4D, 0xD6, 0x4E, 0xD6, 0x4F, /* 0xF0-0xF3 */ + 0xD6, 0x50, 0xD6, 0x51, 0xD6, 0x52, 0xD6, 0x53, /* 0xF4-0xF7 */ + 0xD6, 0x54, 0xD6, 0x55, 0xD6, 0x56, 0xD6, 0x57, /* 0xF8-0xFB */ + 0xD6, 0x58, 0xD6, 0x59, 0xD6, 0x5A, 0xD6, 0x5B, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8B[512] = { + 0xD6, 0x5C, 0xD6, 0x5D, 0xD6, 0x5E, 0xD6, 0x5F, /* 0x00-0x03 */ + 0xD6, 0x60, 0xD6, 0x61, 0xD6, 0x62, 0xE5, 0xC0, /* 0x04-0x07 */ + 0xD6, 0x63, 0xD6, 0x64, 0xD6, 0x65, 0xD6, 0x66, /* 0x08-0x0B */ + 0xD6, 0x67, 0xD6, 0x68, 0xD6, 0x69, 0xD6, 0x6A, /* 0x0C-0x0F */ + 0xD6, 0x6B, 0xD6, 0x6C, 0xD6, 0x6D, 0xD6, 0x6E, /* 0x10-0x13 */ + 0xD6, 0x6F, 0xD6, 0x70, 0xD6, 0x71, 0xD6, 0x72, /* 0x14-0x17 */ + 0xD6, 0x73, 0xD6, 0x74, 0xD6, 0x75, 0xD6, 0x76, /* 0x18-0x1B */ + 0xD6, 0x77, 0xD6, 0x78, 0xD6, 0x79, 0xD6, 0x7A, /* 0x1C-0x1F */ + 0xD6, 0x7B, 0xD6, 0x7C, 0xD6, 0x7D, 0xD6, 0x7E, /* 0x20-0x23 */ + 0xD6, 0x80, 0xD6, 0x81, 0xF6, 0xA5, 0xD6, 0x82, /* 0x24-0x27 */ + 0xD6, 0x83, 0xD6, 0x84, 0xD6, 0x85, 0xD6, 0x86, /* 0x28-0x2B */ + 0xD6, 0x87, 0xD6, 0x88, 0xD6, 0x89, 0xD6, 0x8A, /* 0x2C-0x2F */ + 0xD6, 0x8B, 0xD6, 0x8C, 0xD6, 0x8D, 0xD6, 0x8E, /* 0x30-0x33 */ + 0xD6, 0x8F, 0xD6, 0x90, 0xD6, 0x91, 0xD6, 0x92, /* 0x34-0x37 */ + 0xD6, 0x93, 0xD6, 0x94, 0xD6, 0x95, 0xD6, 0x96, /* 0x38-0x3B */ + 0xD6, 0x97, 0xD6, 0x98, 0xD6, 0x99, 0xD6, 0x9A, /* 0x3C-0x3F */ + 0xD6, 0x9B, 0xD6, 0x9C, 0xD6, 0x9D, 0xD6, 0x9E, /* 0x40-0x43 */ + 0xD6, 0x9F, 0xD6, 0xA0, 0xD7, 0x40, 0xD7, 0x41, /* 0x44-0x47 */ + 0xD7, 0x42, 0xD7, 0x43, 0xD7, 0x44, 0xD7, 0x45, /* 0x48-0x4B */ + 0xD7, 0x46, 0xD7, 0x47, 0xD7, 0x48, 0xD7, 0x49, /* 0x4C-0x4F */ + 0xD7, 0x4A, 0xD7, 0x4B, 0xD7, 0x4C, 0xD7, 0x4D, /* 0x50-0x53 */ + 0xD7, 0x4E, 0xD7, 0x4F, 0xD7, 0x50, 0xD7, 0x51, /* 0x54-0x57 */ + 0xD7, 0x52, 0xD7, 0x53, 0xD7, 0x54, 0xD7, 0x55, /* 0x58-0x5B */ + 0xD7, 0x56, 0xD7, 0x57, 0xD7, 0x58, 0xD7, 0x59, /* 0x5C-0x5F */ + 0xD7, 0x5A, 0xD7, 0x5B, 0xD7, 0x5C, 0xD7, 0x5D, /* 0x60-0x63 */ + 0xD7, 0x5E, 0xD7, 0x5F, 0xBE, 0xAF, 0xD7, 0x60, /* 0x64-0x67 */ + 0xD7, 0x61, 0xD7, 0x62, 0xD7, 0x63, 0xD7, 0x64, /* 0x68-0x6B */ + 0xC6, 0xA9, 0xD7, 0x65, 0xD7, 0x66, 0xD7, 0x67, /* 0x6C-0x6F */ + 0xD7, 0x68, 0xD7, 0x69, 0xD7, 0x6A, 0xD7, 0x6B, /* 0x70-0x73 */ + 0xD7, 0x6C, 0xD7, 0x6D, 0xD7, 0x6E, 0xD7, 0x6F, /* 0x74-0x77 */ + 0xD7, 0x70, 0xD7, 0x71, 0xD7, 0x72, 0xD7, 0x73, /* 0x78-0x7B */ + 0xD7, 0x74, 0xD7, 0x75, 0xD7, 0x76, 0xD7, 0x77, /* 0x7C-0x7F */ + + 0xD7, 0x78, 0xD7, 0x79, 0xD7, 0x7A, 0xD7, 0x7B, /* 0x80-0x83 */ + 0xD7, 0x7C, 0xD7, 0x7D, 0xD7, 0x7E, 0xD7, 0x80, /* 0x84-0x87 */ + 0xD7, 0x81, 0xD7, 0x82, 0xD7, 0x83, 0xD7, 0x84, /* 0x88-0x8B */ + 0xD7, 0x85, 0xD7, 0x86, 0xD7, 0x87, 0xD7, 0x88, /* 0x8C-0x8F */ + 0xD7, 0x89, 0xD7, 0x8A, 0xD7, 0x8B, 0xD7, 0x8C, /* 0x90-0x93 */ + 0xD7, 0x8D, 0xD7, 0x8E, 0xD7, 0x8F, 0xD7, 0x90, /* 0x94-0x97 */ + 0xD7, 0x91, 0xD7, 0x92, 0xD7, 0x93, 0xD7, 0x94, /* 0x98-0x9B */ + 0xD7, 0x95, 0xD7, 0x96, 0xD7, 0x97, 0xD7, 0x98, /* 0x9C-0x9F */ + 0xDA, 0xA5, 0xBC, 0xC6, 0xB6, 0xA9, 0xB8, 0xBC, /* 0xA0-0xA3 */ + 0xC8, 0xCF, 0xBC, 0xA5, 0xDA, 0xA6, 0xDA, 0xA7, /* 0xA4-0xA7 */ + 0xCC, 0xD6, 0xC8, 0xC3, 0xDA, 0xA8, 0xC6, 0xFD, /* 0xA8-0xAB */ + 0xD7, 0x99, 0xD1, 0xB5, 0xD2, 0xE9, 0xD1, 0xB6, /* 0xAC-0xAF */ + 0xBC, 0xC7, 0xD7, 0x9A, 0xBD, 0xB2, 0xBB, 0xE4, /* 0xB0-0xB3 */ + 0xDA, 0xA9, 0xDA, 0xAA, 0xD1, 0xC8, 0xDA, 0xAB, /* 0xB4-0xB7 */ + 0xD0, 0xED, 0xB6, 0xEF, 0xC2, 0xDB, 0xD7, 0x9B, /* 0xB8-0xBB */ + 0xCB, 0xCF, 0xB7, 0xED, 0xC9, 0xE8, 0xB7, 0xC3, /* 0xBC-0xBF */ + 0xBE, 0xF7, 0xD6, 0xA4, 0xDA, 0xAC, 0xDA, 0xAD, /* 0xC0-0xC3 */ + 0xC6, 0xC0, 0xD7, 0xE7, 0xCA, 0xB6, 0xD7, 0x9C, /* 0xC4-0xC7 */ + 0xD5, 0xA9, 0xCB, 0xDF, 0xD5, 0xEF, 0xDA, 0xAE, /* 0xC8-0xCB */ + 0xD6, 0xDF, 0xB4, 0xCA, 0xDA, 0xB0, 0xDA, 0xAF, /* 0xCC-0xCF */ + 0xD7, 0x9D, 0xD2, 0xEB, 0xDA, 0xB1, 0xDA, 0xB2, /* 0xD0-0xD3 */ + 0xDA, 0xB3, 0xCA, 0xD4, 0xDA, 0xB4, 0xCA, 0xAB, /* 0xD4-0xD7 */ + 0xDA, 0xB5, 0xDA, 0xB6, 0xB3, 0xCF, 0xD6, 0xEF, /* 0xD8-0xDB */ + 0xDA, 0xB7, 0xBB, 0xB0, 0xB5, 0xAE, 0xDA, 0xB8, /* 0xDC-0xDF */ + 0xDA, 0xB9, 0xB9, 0xEE, 0xD1, 0xAF, 0xD2, 0xE8, /* 0xE0-0xE3 */ + 0xDA, 0xBA, 0xB8, 0xC3, 0xCF, 0xEA, 0xB2, 0xEF, /* 0xE4-0xE7 */ + 0xDA, 0xBB, 0xDA, 0xBC, 0xD7, 0x9E, 0xBD, 0xEB, /* 0xE8-0xEB */ + 0xCE, 0xDC, 0xD3, 0xEF, 0xDA, 0xBD, 0xCE, 0xF3, /* 0xEC-0xEF */ + 0xDA, 0xBE, 0xD3, 0xD5, 0xBB, 0xE5, 0xDA, 0xBF, /* 0xF0-0xF3 */ + 0xCB, 0xB5, 0xCB, 0xD0, 0xDA, 0xC0, 0xC7, 0xEB, /* 0xF4-0xF7 */ + 0xD6, 0xEE, 0xDA, 0xC1, 0xC5, 0xB5, 0xB6, 0xC1, /* 0xF8-0xFB */ + 0xDA, 0xC2, 0xB7, 0xCC, 0xBF, 0xCE, 0xDA, 0xC3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8C[512] = { + 0xDA, 0xC4, 0xCB, 0xAD, 0xDA, 0xC5, 0xB5, 0xF7, /* 0x00-0x03 */ + 0xDA, 0xC6, 0xC1, 0xC2, 0xD7, 0xBB, 0xDA, 0xC7, /* 0x04-0x07 */ + 0xCC, 0xB8, 0xD7, 0x9F, 0xD2, 0xEA, 0xC4, 0xB1, /* 0x08-0x0B */ + 0xDA, 0xC8, 0xB5, 0xFD, 0xBB, 0xD1, 0xDA, 0xC9, /* 0x0C-0x0F */ + 0xD0, 0xB3, 0xDA, 0xCA, 0xDA, 0xCB, 0xCE, 0xBD, /* 0x10-0x13 */ + 0xDA, 0xCC, 0xDA, 0xCD, 0xDA, 0xCE, 0xB2, 0xF7, /* 0x14-0x17 */ + 0xDA, 0xD1, 0xDA, 0xCF, 0xD1, 0xE8, 0xDA, 0xD0, /* 0x18-0x1B */ + 0xC3, 0xD5, 0xDA, 0xD2, 0xD7, 0xA0, 0xDA, 0xD3, /* 0x1C-0x1F */ + 0xDA, 0xD4, 0xDA, 0xD5, 0xD0, 0xBB, 0xD2, 0xA5, /* 0x20-0x23 */ + 0xB0, 0xF9, 0xDA, 0xD6, 0xC7, 0xAB, 0xDA, 0xD7, /* 0x24-0x27 */ + 0xBD, 0xF7, 0xC3, 0xA1, 0xDA, 0xD8, 0xDA, 0xD9, /* 0x28-0x2B */ + 0xC3, 0xFD, 0xCC, 0xB7, 0xDA, 0xDA, 0xDA, 0xDB, /* 0x2C-0x2F */ + 0xC0, 0xBE, 0xC6, 0xD7, 0xDA, 0xDC, 0xDA, 0xDD, /* 0x30-0x33 */ + 0xC7, 0xB4, 0xDA, 0xDE, 0xDA, 0xDF, 0xB9, 0xC8, /* 0x34-0x37 */ + 0xD8, 0x40, 0xD8, 0x41, 0xD8, 0x42, 0xD8, 0x43, /* 0x38-0x3B */ + 0xD8, 0x44, 0xD8, 0x45, 0xD8, 0x46, 0xD8, 0x47, /* 0x3C-0x3F */ + 0xD8, 0x48, 0xBB, 0xED, 0xD8, 0x49, 0xD8, 0x4A, /* 0x40-0x43 */ + 0xD8, 0x4B, 0xD8, 0x4C, 0xB6, 0xB9, 0xF4, 0xF8, /* 0x44-0x47 */ + 0xD8, 0x4D, 0xF4, 0xF9, 0xD8, 0x4E, 0xD8, 0x4F, /* 0x48-0x4B */ + 0xCD, 0xE3, 0xD8, 0x50, 0xD8, 0x51, 0xD8, 0x52, /* 0x4C-0x4F */ + 0xD8, 0x53, 0xD8, 0x54, 0xD8, 0x55, 0xD8, 0x56, /* 0x50-0x53 */ + 0xD8, 0x57, 0xF5, 0xB9, 0xD8, 0x58, 0xD8, 0x59, /* 0x54-0x57 */ + 0xD8, 0x5A, 0xD8, 0x5B, 0xEB, 0xE0, 0xD8, 0x5C, /* 0x58-0x5B */ + 0xD8, 0x5D, 0xD8, 0x5E, 0xD8, 0x5F, 0xD8, 0x60, /* 0x5C-0x5F */ + 0xD8, 0x61, 0xCF, 0xF3, 0xBB, 0xBF, 0xD8, 0x62, /* 0x60-0x63 */ + 0xD8, 0x63, 0xD8, 0x64, 0xD8, 0x65, 0xD8, 0x66, /* 0x64-0x67 */ + 0xD8, 0x67, 0xD8, 0x68, 0xBA, 0xC0, 0xD4, 0xA5, /* 0x68-0x6B */ + 0xD8, 0x69, 0xD8, 0x6A, 0xD8, 0x6B, 0xD8, 0x6C, /* 0x6C-0x6F */ + 0xD8, 0x6D, 0xD8, 0x6E, 0xD8, 0x6F, 0xE1, 0xD9, /* 0x70-0x73 */ + 0xD8, 0x70, 0xD8, 0x71, 0xD8, 0x72, 0xD8, 0x73, /* 0x74-0x77 */ + 0xF5, 0xF4, 0xB1, 0xAA, 0xB2, 0xF2, 0xD8, 0x74, /* 0x78-0x7B */ + 0xD8, 0x75, 0xD8, 0x76, 0xD8, 0x77, 0xD8, 0x78, /* 0x7C-0x7F */ + + 0xD8, 0x79, 0xD8, 0x7A, 0xF5, 0xF5, 0xD8, 0x7B, /* 0x80-0x83 */ + 0xD8, 0x7C, 0xF5, 0xF7, 0xD8, 0x7D, 0xD8, 0x7E, /* 0x84-0x87 */ + 0xD8, 0x80, 0xBA, 0xD1, 0xF5, 0xF6, 0xD8, 0x81, /* 0x88-0x8B */ + 0xC3, 0xB2, 0xD8, 0x82, 0xD8, 0x83, 0xD8, 0x84, /* 0x8C-0x8F */ + 0xD8, 0x85, 0xD8, 0x86, 0xD8, 0x87, 0xD8, 0x88, /* 0x90-0x93 */ + 0xF5, 0xF9, 0xD8, 0x89, 0xD8, 0x8A, 0xD8, 0x8B, /* 0x94-0x97 */ + 0xF5, 0xF8, 0xD8, 0x8C, 0xD8, 0x8D, 0xD8, 0x8E, /* 0x98-0x9B */ + 0xD8, 0x8F, 0xD8, 0x90, 0xD8, 0x91, 0xD8, 0x92, /* 0x9C-0x9F */ + 0xD8, 0x93, 0xD8, 0x94, 0xD8, 0x95, 0xD8, 0x96, /* 0xA0-0xA3 */ + 0xD8, 0x97, 0xD8, 0x98, 0xD8, 0x99, 0xD8, 0x9A, /* 0xA4-0xA7 */ + 0xD8, 0x9B, 0xD8, 0x9C, 0xD8, 0x9D, 0xD8, 0x9E, /* 0xA8-0xAB */ + 0xD8, 0x9F, 0xD8, 0xA0, 0xD9, 0x40, 0xD9, 0x41, /* 0xAC-0xAF */ + 0xD9, 0x42, 0xD9, 0x43, 0xD9, 0x44, 0xD9, 0x45, /* 0xB0-0xB3 */ + 0xD9, 0x46, 0xD9, 0x47, 0xD9, 0x48, 0xD9, 0x49, /* 0xB4-0xB7 */ + 0xD9, 0x4A, 0xD9, 0x4B, 0xD9, 0x4C, 0xD9, 0x4D, /* 0xB8-0xBB */ + 0xD9, 0x4E, 0xD9, 0x4F, 0xD9, 0x50, 0xD9, 0x51, /* 0xBC-0xBF */ + 0xD9, 0x52, 0xD9, 0x53, 0xD9, 0x54, 0xD9, 0x55, /* 0xC0-0xC3 */ + 0xD9, 0x56, 0xD9, 0x57, 0xD9, 0x58, 0xD9, 0x59, /* 0xC4-0xC7 */ + 0xD9, 0x5A, 0xD9, 0x5B, 0xD9, 0x5C, 0xD9, 0x5D, /* 0xC8-0xCB */ + 0xD9, 0x5E, 0xD9, 0x5F, 0xD9, 0x60, 0xD9, 0x61, /* 0xCC-0xCF */ + 0xD9, 0x62, 0xD9, 0x63, 0xD9, 0x64, 0xD9, 0x65, /* 0xD0-0xD3 */ + 0xD9, 0x66, 0xD9, 0x67, 0xD9, 0x68, 0xD9, 0x69, /* 0xD4-0xD7 */ + 0xD9, 0x6A, 0xD9, 0x6B, 0xD9, 0x6C, 0xD9, 0x6D, /* 0xD8-0xDB */ + 0xD9, 0x6E, 0xD9, 0x6F, 0xD9, 0x70, 0xD9, 0x71, /* 0xDC-0xDF */ + 0xD9, 0x72, 0xD9, 0x73, 0xD9, 0x74, 0xD9, 0x75, /* 0xE0-0xE3 */ + 0xD9, 0x76, 0xD9, 0x77, 0xD9, 0x78, 0xD9, 0x79, /* 0xE4-0xE7 */ + 0xD9, 0x7A, 0xD9, 0x7B, 0xD9, 0x7C, 0xD9, 0x7D, /* 0xE8-0xEB */ + 0xD9, 0x7E, 0xD9, 0x80, 0xD9, 0x81, 0xD9, 0x82, /* 0xEC-0xEF */ + 0xD9, 0x83, 0xD9, 0x84, 0xD9, 0x85, 0xD9, 0x86, /* 0xF0-0xF3 */ + 0xD9, 0x87, 0xD9, 0x88, 0xD9, 0x89, 0xD9, 0x8A, /* 0xF4-0xF7 */ + 0xD9, 0x8B, 0xD9, 0x8C, 0xD9, 0x8D, 0xD9, 0x8E, /* 0xF8-0xFB */ + 0xD9, 0x8F, 0xD9, 0x90, 0xD9, 0x91, 0xD9, 0x92, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8D[512] = { + 0xD9, 0x93, 0xD9, 0x94, 0xD9, 0x95, 0xD9, 0x96, /* 0x00-0x03 */ + 0xD9, 0x97, 0xD9, 0x98, 0xD9, 0x99, 0xD9, 0x9A, /* 0x04-0x07 */ + 0xD9, 0x9B, 0xD9, 0x9C, 0xD9, 0x9D, 0xD9, 0x9E, /* 0x08-0x0B */ + 0xD9, 0x9F, 0xD9, 0xA0, 0xDA, 0x40, 0xDA, 0x41, /* 0x0C-0x0F */ + 0xDA, 0x42, 0xDA, 0x43, 0xDA, 0x44, 0xDA, 0x45, /* 0x10-0x13 */ + 0xDA, 0x46, 0xDA, 0x47, 0xDA, 0x48, 0xDA, 0x49, /* 0x14-0x17 */ + 0xDA, 0x4A, 0xDA, 0x4B, 0xDA, 0x4C, 0xDA, 0x4D, /* 0x18-0x1B */ + 0xDA, 0x4E, 0xB1, 0xB4, 0xD5, 0xEA, 0xB8, 0xBA, /* 0x1C-0x1F */ + 0xDA, 0x4F, 0xB9, 0xB1, 0xB2, 0xC6, 0xD4, 0xF0, /* 0x20-0x23 */ + 0xCF, 0xCD, 0xB0, 0xDC, 0xD5, 0xCB, 0xBB, 0xF5, /* 0x24-0x27 */ + 0xD6, 0xCA, 0xB7, 0xB7, 0xCC, 0xB0, 0xC6, 0xB6, /* 0x28-0x2B */ + 0xB1, 0xE1, 0xB9, 0xBA, 0xD6, 0xFC, 0xB9, 0xE1, /* 0x2C-0x2F */ + 0xB7, 0xA1, 0xBC, 0xFA, 0xEA, 0xDA, 0xEA, 0xDB, /* 0x30-0x33 */ + 0xCC, 0xF9, 0xB9, 0xF3, 0xEA, 0xDC, 0xB4, 0xFB, /* 0x34-0x37 */ + 0xC3, 0xB3, 0xB7, 0xD1, 0xBA, 0xD8, 0xEA, 0xDD, /* 0x38-0x3B */ + 0xD4, 0xF4, 0xEA, 0xDE, 0xBC, 0xD6, 0xBB, 0xDF, /* 0x3C-0x3F */ + 0xEA, 0xDF, 0xC1, 0xDE, 0xC2, 0xB8, 0xD4, 0xDF, /* 0x40-0x43 */ + 0xD7, 0xCA, 0xEA, 0xE0, 0xEA, 0xE1, 0xEA, 0xE4, /* 0x44-0x47 */ + 0xEA, 0xE2, 0xEA, 0xE3, 0xC9, 0xDE, 0xB8, 0xB3, /* 0x48-0x4B */ + 0xB6, 0xC4, 0xEA, 0xE5, 0xCA, 0xEA, 0xC9, 0xCD, /* 0x4C-0x4F */ + 0xB4, 0xCD, 0xDA, 0x50, 0xDA, 0x51, 0xE2, 0xD9, /* 0x50-0x53 */ + 0xC5, 0xE2, 0xEA, 0xE6, 0xC0, 0xB5, 0xDA, 0x52, /* 0x54-0x57 */ + 0xD7, 0xB8, 0xEA, 0xE7, 0xD7, 0xAC, 0xC8, 0xFC, /* 0x58-0x5B */ + 0xD8, 0xD3, 0xD8, 0xCD, 0xD4, 0xDE, 0xDA, 0x53, /* 0x5C-0x5F */ + 0xD4, 0xF9, 0xC9, 0xC4, 0xD3, 0xAE, 0xB8, 0xD3, /* 0x60-0x63 */ + 0xB3, 0xE0, 0xDA, 0x54, 0xC9, 0xE2, 0xF4, 0xF6, /* 0x64-0x67 */ + 0xDA, 0x55, 0xDA, 0x56, 0xDA, 0x57, 0xBA, 0xD5, /* 0x68-0x6B */ + 0xDA, 0x58, 0xF4, 0xF7, 0xDA, 0x59, 0xDA, 0x5A, /* 0x6C-0x6F */ + 0xD7, 0xDF, 0xDA, 0x5B, 0xDA, 0x5C, 0xF4, 0xF1, /* 0x70-0x73 */ + 0xB8, 0xB0, 0xD5, 0xD4, 0xB8, 0xCF, 0xC6, 0xF0, /* 0x74-0x77 */ + 0xDA, 0x5D, 0xDA, 0x5E, 0xDA, 0x5F, 0xDA, 0x60, /* 0x78-0x7B */ + 0xDA, 0x61, 0xDA, 0x62, 0xDA, 0x63, 0xDA, 0x64, /* 0x7C-0x7F */ + + 0xDA, 0x65, 0xB3, 0xC3, 0xDA, 0x66, 0xDA, 0x67, /* 0x80-0x83 */ + 0xF4, 0xF2, 0xB3, 0xAC, 0xDA, 0x68, 0xDA, 0x69, /* 0x84-0x87 */ + 0xDA, 0x6A, 0xDA, 0x6B, 0xD4, 0xBD, 0xC7, 0xF7, /* 0x88-0x8B */ + 0xDA, 0x6C, 0xDA, 0x6D, 0xDA, 0x6E, 0xDA, 0x6F, /* 0x8C-0x8F */ + 0xDA, 0x70, 0xF4, 0xF4, 0xDA, 0x71, 0xDA, 0x72, /* 0x90-0x93 */ + 0xF4, 0xF3, 0xDA, 0x73, 0xDA, 0x74, 0xDA, 0x75, /* 0x94-0x97 */ + 0xDA, 0x76, 0xDA, 0x77, 0xDA, 0x78, 0xDA, 0x79, /* 0x98-0x9B */ + 0xDA, 0x7A, 0xDA, 0x7B, 0xDA, 0x7C, 0xCC, 0xCB, /* 0x9C-0x9F */ + 0xDA, 0x7D, 0xDA, 0x7E, 0xDA, 0x80, 0xC8, 0xA4, /* 0xA0-0xA3 */ + 0xDA, 0x81, 0xDA, 0x82, 0xDA, 0x83, 0xDA, 0x84, /* 0xA4-0xA7 */ + 0xDA, 0x85, 0xDA, 0x86, 0xDA, 0x87, 0xDA, 0x88, /* 0xA8-0xAB */ + 0xDA, 0x89, 0xDA, 0x8A, 0xDA, 0x8B, 0xDA, 0x8C, /* 0xAC-0xAF */ + 0xDA, 0x8D, 0xF4, 0xF5, 0xDA, 0x8E, 0xD7, 0xE3, /* 0xB0-0xB3 */ + 0xC5, 0xBF, 0xF5, 0xC0, 0xDA, 0x8F, 0xDA, 0x90, /* 0xB4-0xB7 */ + 0xF5, 0xBB, 0xDA, 0x91, 0xF5, 0xC3, 0xDA, 0x92, /* 0xB8-0xBB */ + 0xF5, 0xC2, 0xDA, 0x93, 0xD6, 0xBA, 0xF5, 0xC1, /* 0xBC-0xBF */ + 0xDA, 0x94, 0xDA, 0x95, 0xDA, 0x96, 0xD4, 0xBE, /* 0xC0-0xC3 */ + 0xF5, 0xC4, 0xDA, 0x97, 0xF5, 0xCC, 0xDA, 0x98, /* 0xC4-0xC7 */ + 0xDA, 0x99, 0xDA, 0x9A, 0xDA, 0x9B, 0xB0, 0xCF, /* 0xC8-0xCB */ + 0xB5, 0xF8, 0xDA, 0x9C, 0xF5, 0xC9, 0xF5, 0xCA, /* 0xCC-0xCF */ + 0xDA, 0x9D, 0xC5, 0xDC, 0xDA, 0x9E, 0xDA, 0x9F, /* 0xD0-0xD3 */ + 0xDA, 0xA0, 0xDB, 0x40, 0xF5, 0xC5, 0xF5, 0xC6, /* 0xD4-0xD7 */ + 0xDB, 0x41, 0xDB, 0x42, 0xF5, 0xC7, 0xF5, 0xCB, /* 0xD8-0xDB */ + 0xDB, 0x43, 0xBE, 0xE0, 0xF5, 0xC8, 0xB8, 0xFA, /* 0xDC-0xDF */ + 0xDB, 0x44, 0xDB, 0x45, 0xDB, 0x46, 0xF5, 0xD0, /* 0xE0-0xE3 */ + 0xF5, 0xD3, 0xDB, 0x47, 0xDB, 0x48, 0xDB, 0x49, /* 0xE4-0xE7 */ + 0xBF, 0xE7, 0xDB, 0x4A, 0xB9, 0xF2, 0xF5, 0xBC, /* 0xE8-0xEB */ + 0xF5, 0xCD, 0xDB, 0x4B, 0xDB, 0x4C, 0xC2, 0xB7, /* 0xEC-0xEF */ + 0xDB, 0x4D, 0xDB, 0x4E, 0xDB, 0x4F, 0xCC, 0xF8, /* 0xF0-0xF3 */ + 0xDB, 0x50, 0xBC, 0xF9, 0xDB, 0x51, 0xF5, 0xCE, /* 0xF4-0xF7 */ + 0xF5, 0xCF, 0xF5, 0xD1, 0xB6, 0xE5, 0xF5, 0xD2, /* 0xF8-0xFB */ + 0xDB, 0x52, 0xF5, 0xD5, 0xDB, 0x53, 0xDB, 0x54, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8E[512] = { + 0xDB, 0x55, 0xDB, 0x56, 0xDB, 0x57, 0xDB, 0x58, /* 0x00-0x03 */ + 0xDB, 0x59, 0xF5, 0xBD, 0xDB, 0x5A, 0xDB, 0x5B, /* 0x04-0x07 */ + 0xDB, 0x5C, 0xF5, 0xD4, 0xD3, 0xBB, 0xDB, 0x5D, /* 0x08-0x0B */ + 0xB3, 0xEC, 0xDB, 0x5E, 0xDB, 0x5F, 0xCC, 0xA4, /* 0x0C-0x0F */ + 0xDB, 0x60, 0xDB, 0x61, 0xDB, 0x62, 0xDB, 0x63, /* 0x10-0x13 */ + 0xF5, 0xD6, 0xDB, 0x64, 0xDB, 0x65, 0xDB, 0x66, /* 0x14-0x17 */ + 0xDB, 0x67, 0xDB, 0x68, 0xDB, 0x69, 0xDB, 0x6A, /* 0x18-0x1B */ + 0xDB, 0x6B, 0xF5, 0xD7, 0xBE, 0xE1, 0xF5, 0xD8, /* 0x1C-0x1F */ + 0xDB, 0x6C, 0xDB, 0x6D, 0xCC, 0xDF, 0xF5, 0xDB, /* 0x20-0x23 */ + 0xDB, 0x6E, 0xDB, 0x6F, 0xDB, 0x70, 0xDB, 0x71, /* 0x24-0x27 */ + 0xDB, 0x72, 0xB2, 0xC8, 0xD7, 0xD9, 0xDB, 0x73, /* 0x28-0x2B */ + 0xF5, 0xD9, 0xDB, 0x74, 0xF5, 0xDA, 0xF5, 0xDC, /* 0x2C-0x2F */ + 0xDB, 0x75, 0xF5, 0xE2, 0xDB, 0x76, 0xDB, 0x77, /* 0x30-0x33 */ + 0xDB, 0x78, 0xF5, 0xE0, 0xDB, 0x79, 0xDB, 0x7A, /* 0x34-0x37 */ + 0xDB, 0x7B, 0xF5, 0xDF, 0xF5, 0xDD, 0xDB, 0x7C, /* 0x38-0x3B */ + 0xDB, 0x7D, 0xF5, 0xE1, 0xDB, 0x7E, 0xDB, 0x80, /* 0x3C-0x3F */ + 0xF5, 0xDE, 0xF5, 0xE4, 0xF5, 0xE5, 0xDB, 0x81, /* 0x40-0x43 */ + 0xCC, 0xE3, 0xDB, 0x82, 0xDB, 0x83, 0xE5, 0xBF, /* 0x44-0x47 */ + 0xB5, 0xB8, 0xF5, 0xE3, 0xF5, 0xE8, 0xCC, 0xA3, /* 0x48-0x4B */ + 0xDB, 0x84, 0xDB, 0x85, 0xDB, 0x86, 0xDB, 0x87, /* 0x4C-0x4F */ + 0xDB, 0x88, 0xF5, 0xE6, 0xF5, 0xE7, 0xDB, 0x89, /* 0x50-0x53 */ + 0xDB, 0x8A, 0xDB, 0x8B, 0xDB, 0x8C, 0xDB, 0x8D, /* 0x54-0x57 */ + 0xDB, 0x8E, 0xF5, 0xBE, 0xDB, 0x8F, 0xDB, 0x90, /* 0x58-0x5B */ + 0xDB, 0x91, 0xDB, 0x92, 0xDB, 0x93, 0xDB, 0x94, /* 0x5C-0x5F */ + 0xDB, 0x95, 0xDB, 0x96, 0xDB, 0x97, 0xDB, 0x98, /* 0x60-0x63 */ + 0xDB, 0x99, 0xDB, 0x9A, 0xB1, 0xC4, 0xDB, 0x9B, /* 0x64-0x67 */ + 0xDB, 0x9C, 0xF5, 0xBF, 0xDB, 0x9D, 0xDB, 0x9E, /* 0x68-0x6B */ + 0xB5, 0xC5, 0xB2, 0xE4, 0xDB, 0x9F, 0xF5, 0xEC, /* 0x6C-0x6F */ + 0xF5, 0xE9, 0xDB, 0xA0, 0xB6, 0xD7, 0xDC, 0x40, /* 0x70-0x73 */ + 0xF5, 0xED, 0xDC, 0x41, 0xF5, 0xEA, 0xDC, 0x42, /* 0x74-0x77 */ + 0xDC, 0x43, 0xDC, 0x44, 0xDC, 0x45, 0xDC, 0x46, /* 0x78-0x7B */ + 0xF5, 0xEB, 0xDC, 0x47, 0xDC, 0x48, 0xB4, 0xDA, /* 0x7C-0x7F */ + + 0xDC, 0x49, 0xD4, 0xEA, 0xDC, 0x4A, 0xDC, 0x4B, /* 0x80-0x83 */ + 0xDC, 0x4C, 0xF5, 0xEE, 0xDC, 0x4D, 0xB3, 0xF9, /* 0x84-0x87 */ + 0xDC, 0x4E, 0xDC, 0x4F, 0xDC, 0x50, 0xDC, 0x51, /* 0x88-0x8B */ + 0xDC, 0x52, 0xDC, 0x53, 0xDC, 0x54, 0xF5, 0xEF, /* 0x8C-0x8F */ + 0xF5, 0xF1, 0xDC, 0x55, 0xDC, 0x56, 0xDC, 0x57, /* 0x90-0x93 */ + 0xF5, 0xF0, 0xDC, 0x58, 0xDC, 0x59, 0xDC, 0x5A, /* 0x94-0x97 */ + 0xDC, 0x5B, 0xDC, 0x5C, 0xDC, 0x5D, 0xDC, 0x5E, /* 0x98-0x9B */ + 0xF5, 0xF2, 0xDC, 0x5F, 0xF5, 0xF3, 0xDC, 0x60, /* 0x9C-0x9F */ + 0xDC, 0x61, 0xDC, 0x62, 0xDC, 0x63, 0xDC, 0x64, /* 0xA0-0xA3 */ + 0xDC, 0x65, 0xDC, 0x66, 0xDC, 0x67, 0xDC, 0x68, /* 0xA4-0xA7 */ + 0xDC, 0x69, 0xDC, 0x6A, 0xDC, 0x6B, 0xC9, 0xED, /* 0xA8-0xAB */ + 0xB9, 0xAA, 0xDC, 0x6C, 0xDC, 0x6D, 0xC7, 0xFB, /* 0xAC-0xAF */ + 0xDC, 0x6E, 0xDC, 0x6F, 0xB6, 0xE3, 0xDC, 0x70, /* 0xB0-0xB3 */ + 0xDC, 0x71, 0xDC, 0x72, 0xDC, 0x73, 0xDC, 0x74, /* 0xB4-0xB7 */ + 0xDC, 0x75, 0xDC, 0x76, 0xCC, 0xC9, 0xDC, 0x77, /* 0xB8-0xBB */ + 0xDC, 0x78, 0xDC, 0x79, 0xDC, 0x7A, 0xDC, 0x7B, /* 0xBC-0xBF */ + 0xDC, 0x7C, 0xDC, 0x7D, 0xDC, 0x7E, 0xDC, 0x80, /* 0xC0-0xC3 */ + 0xDC, 0x81, 0xDC, 0x82, 0xDC, 0x83, 0xDC, 0x84, /* 0xC4-0xC7 */ + 0xDC, 0x85, 0xDC, 0x86, 0xDC, 0x87, 0xDC, 0x88, /* 0xC8-0xCB */ + 0xDC, 0x89, 0xDC, 0x8A, 0xEA, 0xA6, 0xDC, 0x8B, /* 0xCC-0xCF */ + 0xDC, 0x8C, 0xDC, 0x8D, 0xDC, 0x8E, 0xDC, 0x8F, /* 0xD0-0xD3 */ + 0xDC, 0x90, 0xDC, 0x91, 0xDC, 0x92, 0xDC, 0x93, /* 0xD4-0xD7 */ + 0xDC, 0x94, 0xDC, 0x95, 0xDC, 0x96, 0xDC, 0x97, /* 0xD8-0xDB */ + 0xDC, 0x98, 0xDC, 0x99, 0xDC, 0x9A, 0xDC, 0x9B, /* 0xDC-0xDF */ + 0xDC, 0x9C, 0xDC, 0x9D, 0xDC, 0x9E, 0xDC, 0x9F, /* 0xE0-0xE3 */ + 0xDC, 0xA0, 0xDD, 0x40, 0xDD, 0x41, 0xDD, 0x42, /* 0xE4-0xE7 */ + 0xDD, 0x43, 0xDD, 0x44, 0xDD, 0x45, 0xDD, 0x46, /* 0xE8-0xEB */ + 0xDD, 0x47, 0xDD, 0x48, 0xDD, 0x49, 0xDD, 0x4A, /* 0xEC-0xEF */ + 0xDD, 0x4B, 0xDD, 0x4C, 0xDD, 0x4D, 0xDD, 0x4E, /* 0xF0-0xF3 */ + 0xDD, 0x4F, 0xDD, 0x50, 0xDD, 0x51, 0xDD, 0x52, /* 0xF4-0xF7 */ + 0xDD, 0x53, 0xDD, 0x54, 0xDD, 0x55, 0xDD, 0x56, /* 0xF8-0xFB */ + 0xDD, 0x57, 0xDD, 0x58, 0xDD, 0x59, 0xDD, 0x5A, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8F[512] = { + 0xDD, 0x5B, 0xDD, 0x5C, 0xDD, 0x5D, 0xDD, 0x5E, /* 0x00-0x03 */ + 0xDD, 0x5F, 0xDD, 0x60, 0xDD, 0x61, 0xDD, 0x62, /* 0x04-0x07 */ + 0xDD, 0x63, 0xDD, 0x64, 0xDD, 0x65, 0xDD, 0x66, /* 0x08-0x0B */ + 0xDD, 0x67, 0xDD, 0x68, 0xDD, 0x69, 0xDD, 0x6A, /* 0x0C-0x0F */ + 0xDD, 0x6B, 0xDD, 0x6C, 0xDD, 0x6D, 0xDD, 0x6E, /* 0x10-0x13 */ + 0xDD, 0x6F, 0xDD, 0x70, 0xDD, 0x71, 0xDD, 0x72, /* 0x14-0x17 */ + 0xDD, 0x73, 0xDD, 0x74, 0xDD, 0x75, 0xDD, 0x76, /* 0x18-0x1B */ + 0xDD, 0x77, 0xDD, 0x78, 0xDD, 0x79, 0xDD, 0x7A, /* 0x1C-0x1F */ + 0xDD, 0x7B, 0xDD, 0x7C, 0xDD, 0x7D, 0xDD, 0x7E, /* 0x20-0x23 */ + 0xDD, 0x80, 0xDD, 0x81, 0xDD, 0x82, 0xDD, 0x83, /* 0x24-0x27 */ + 0xDD, 0x84, 0xDD, 0x85, 0xDD, 0x86, 0xDD, 0x87, /* 0x28-0x2B */ + 0xDD, 0x88, 0xDD, 0x89, 0xDD, 0x8A, 0xDD, 0x8B, /* 0x2C-0x2F */ + 0xDD, 0x8C, 0xDD, 0x8D, 0xDD, 0x8E, 0xDD, 0x8F, /* 0x30-0x33 */ + 0xDD, 0x90, 0xDD, 0x91, 0xDD, 0x92, 0xDD, 0x93, /* 0x34-0x37 */ + 0xDD, 0x94, 0xDD, 0x95, 0xDD, 0x96, 0xDD, 0x97, /* 0x38-0x3B */ + 0xDD, 0x98, 0xDD, 0x99, 0xDD, 0x9A, 0xDD, 0x9B, /* 0x3C-0x3F */ + 0xDD, 0x9C, 0xDD, 0x9D, 0xDD, 0x9E, 0xDD, 0x9F, /* 0x40-0x43 */ + 0xDD, 0xA0, 0xDE, 0x40, 0xDE, 0x41, 0xDE, 0x42, /* 0x44-0x47 */ + 0xDE, 0x43, 0xDE, 0x44, 0xDE, 0x45, 0xDE, 0x46, /* 0x48-0x4B */ + 0xDE, 0x47, 0xDE, 0x48, 0xDE, 0x49, 0xDE, 0x4A, /* 0x4C-0x4F */ + 0xDE, 0x4B, 0xDE, 0x4C, 0xDE, 0x4D, 0xDE, 0x4E, /* 0x50-0x53 */ + 0xDE, 0x4F, 0xDE, 0x50, 0xDE, 0x51, 0xDE, 0x52, /* 0x54-0x57 */ + 0xDE, 0x53, 0xDE, 0x54, 0xDE, 0x55, 0xDE, 0x56, /* 0x58-0x5B */ + 0xDE, 0x57, 0xDE, 0x58, 0xDE, 0x59, 0xDE, 0x5A, /* 0x5C-0x5F */ + 0xDE, 0x5B, 0xDE, 0x5C, 0xDE, 0x5D, 0xDE, 0x5E, /* 0x60-0x63 */ + 0xDE, 0x5F, 0xDE, 0x60, 0xB3, 0xB5, 0xD4, 0xFE, /* 0x64-0x67 */ + 0xB9, 0xEC, 0xD0, 0xF9, 0xDE, 0x61, 0xE9, 0xED, /* 0x68-0x6B */ + 0xD7, 0xAA, 0xE9, 0xEE, 0xC2, 0xD6, 0xC8, 0xED, /* 0x6C-0x6F */ + 0xBA, 0xE4, 0xE9, 0xEF, 0xE9, 0xF0, 0xE9, 0xF1, /* 0x70-0x73 */ + 0xD6, 0xE1, 0xE9, 0xF2, 0xE9, 0xF3, 0xE9, 0xF5, /* 0x74-0x77 */ + 0xE9, 0xF4, 0xE9, 0xF6, 0xE9, 0xF7, 0xC7, 0xE1, /* 0x78-0x7B */ + 0xE9, 0xF8, 0xD4, 0xD8, 0xE9, 0xF9, 0xBD, 0xCE, /* 0x7C-0x7F */ + + 0xDE, 0x62, 0xE9, 0xFA, 0xE9, 0xFB, 0xBD, 0xCF, /* 0x80-0x83 */ + 0xE9, 0xFC, 0xB8, 0xA8, 0xC1, 0xBE, 0xE9, 0xFD, /* 0x84-0x87 */ + 0xB1, 0xB2, 0xBB, 0xD4, 0xB9, 0xF5, 0xE9, 0xFE, /* 0x88-0x8B */ + 0xDE, 0x63, 0xEA, 0xA1, 0xEA, 0xA2, 0xEA, 0xA3, /* 0x8C-0x8F */ + 0xB7, 0xF8, 0xBC, 0xAD, 0xDE, 0x64, 0xCA, 0xE4, /* 0x90-0x93 */ + 0xE0, 0xCE, 0xD4, 0xAF, 0xCF, 0xBD, 0xD5, 0xB7, /* 0x94-0x97 */ + 0xEA, 0xA4, 0xD5, 0xDE, 0xEA, 0xA5, 0xD0, 0xC1, /* 0x98-0x9B */ + 0xB9, 0xBC, 0xDE, 0x65, 0xB4, 0xC7, 0xB1, 0xD9, /* 0x9C-0x9F */ + 0xDE, 0x66, 0xDE, 0x67, 0xDE, 0x68, 0xC0, 0xB1, /* 0xA0-0xA3 */ + 0xDE, 0x69, 0xDE, 0x6A, 0xDE, 0x6B, 0xDE, 0x6C, /* 0xA4-0xA7 */ + 0xB1, 0xE6, 0xB1, 0xE7, 0xDE, 0x6D, 0xB1, 0xE8, /* 0xA8-0xAB */ + 0xDE, 0x6E, 0xDE, 0x6F, 0xDE, 0x70, 0xDE, 0x71, /* 0xAC-0xAF */ + 0xB3, 0xBD, 0xC8, 0xE8, 0xDE, 0x72, 0xDE, 0x73, /* 0xB0-0xB3 */ + 0xDE, 0x74, 0xDE, 0x75, 0xE5, 0xC1, 0xDE, 0x76, /* 0xB4-0xB7 */ + 0xDE, 0x77, 0xB1, 0xDF, 0xDE, 0x78, 0xDE, 0x79, /* 0xB8-0xBB */ + 0xDE, 0x7A, 0xC1, 0xC9, 0xB4, 0xEF, 0xDE, 0x7B, /* 0xBC-0xBF */ + 0xDE, 0x7C, 0xC7, 0xA8, 0xD3, 0xD8, 0xDE, 0x7D, /* 0xC0-0xC3 */ + 0xC6, 0xF9, 0xD1, 0xB8, 0xDE, 0x7E, 0xB9, 0xFD, /* 0xC4-0xC7 */ + 0xC2, 0xF5, 0xDE, 0x80, 0xDE, 0x81, 0xDE, 0x82, /* 0xC8-0xCB */ + 0xDE, 0x83, 0xDE, 0x84, 0xD3, 0xAD, 0xDE, 0x85, /* 0xCC-0xCF */ + 0xD4, 0xCB, 0xBD, 0xFC, 0xDE, 0x86, 0xE5, 0xC2, /* 0xD0-0xD3 */ + 0xB7, 0xB5, 0xE5, 0xC3, 0xDE, 0x87, 0xDE, 0x88, /* 0xD4-0xD7 */ + 0xBB, 0xB9, 0xD5, 0xE2, 0xDE, 0x89, 0xBD, 0xF8, /* 0xD8-0xDB */ + 0xD4, 0xB6, 0xCE, 0xA5, 0xC1, 0xAC, 0xB3, 0xD9, /* 0xDC-0xDF */ + 0xDE, 0x8A, 0xDE, 0x8B, 0xCC, 0xF6, 0xDE, 0x8C, /* 0xE0-0xE3 */ + 0xE5, 0xC6, 0xE5, 0xC4, 0xE5, 0xC8, 0xDE, 0x8D, /* 0xE4-0xE7 */ + 0xE5, 0xCA, 0xE5, 0xC7, 0xB5, 0xCF, 0xC6, 0xC8, /* 0xE8-0xEB */ + 0xDE, 0x8E, 0xB5, 0xFC, 0xE5, 0xC5, 0xDE, 0x8F, /* 0xEC-0xEF */ + 0xCA, 0xF6, 0xDE, 0x90, 0xDE, 0x91, 0xE5, 0xC9, /* 0xF0-0xF3 */ + 0xDE, 0x92, 0xDE, 0x93, 0xDE, 0x94, 0xC3, 0xD4, /* 0xF4-0xF7 */ + 0xB1, 0xC5, 0xBC, 0xA3, 0xDE, 0x95, 0xDE, 0x96, /* 0xF8-0xFB */ + 0xDE, 0x97, 0xD7, 0xB7, 0xDE, 0x98, 0xDE, 0x99, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_90[512] = { + 0xCD, 0xCB, 0xCB, 0xCD, 0xCA, 0xCA, 0xCC, 0xD3, /* 0x00-0x03 */ + 0xE5, 0xCC, 0xE5, 0xCB, 0xC4, 0xE6, 0xDE, 0x9A, /* 0x04-0x07 */ + 0xDE, 0x9B, 0xD1, 0xA1, 0xD1, 0xB7, 0xE5, 0xCD, /* 0x08-0x0B */ + 0xDE, 0x9C, 0xE5, 0xD0, 0xDE, 0x9D, 0xCD, 0xB8, /* 0x0C-0x0F */ + 0xD6, 0xF0, 0xE5, 0xCF, 0xB5, 0xDD, 0xDE, 0x9E, /* 0x10-0x13 */ + 0xCD, 0xBE, 0xDE, 0x9F, 0xE5, 0xD1, 0xB6, 0xBA, /* 0x14-0x17 */ + 0xDE, 0xA0, 0xDF, 0x40, 0xCD, 0xA8, 0xB9, 0xE4, /* 0x18-0x1B */ + 0xDF, 0x41, 0xCA, 0xC5, 0xB3, 0xD1, 0xCB, 0xD9, /* 0x1C-0x1F */ + 0xD4, 0xEC, 0xE5, 0xD2, 0xB7, 0xEA, 0xDF, 0x42, /* 0x20-0x23 */ + 0xDF, 0x43, 0xDF, 0x44, 0xE5, 0xCE, 0xDF, 0x45, /* 0x24-0x27 */ + 0xDF, 0x46, 0xDF, 0x47, 0xDF, 0x48, 0xDF, 0x49, /* 0x28-0x2B */ + 0xDF, 0x4A, 0xE5, 0xD5, 0xB4, 0xFE, 0xE5, 0xD6, /* 0x2C-0x2F */ + 0xDF, 0x4B, 0xDF, 0x4C, 0xDF, 0x4D, 0xDF, 0x4E, /* 0x30-0x33 */ + 0xDF, 0x4F, 0xE5, 0xD3, 0xE5, 0xD4, 0xDF, 0x50, /* 0x34-0x37 */ + 0xD2, 0xDD, 0xDF, 0x51, 0xDF, 0x52, 0xC2, 0xDF, /* 0x38-0x3B */ + 0xB1, 0xC6, 0xDF, 0x53, 0xD3, 0xE2, 0xDF, 0x54, /* 0x3C-0x3F */ + 0xDF, 0x55, 0xB6, 0xDD, 0xCB, 0xEC, 0xDF, 0x56, /* 0x40-0x43 */ + 0xE5, 0xD7, 0xDF, 0x57, 0xDF, 0x58, 0xD3, 0xF6, /* 0x44-0x47 */ + 0xDF, 0x59, 0xDF, 0x5A, 0xDF, 0x5B, 0xDF, 0x5C, /* 0x48-0x4B */ + 0xDF, 0x5D, 0xB1, 0xE9, 0xDF, 0x5E, 0xB6, 0xF4, /* 0x4C-0x4F */ + 0xE5, 0xDA, 0xE5, 0xD8, 0xE5, 0xD9, 0xB5, 0xC0, /* 0x50-0x53 */ + 0xDF, 0x5F, 0xDF, 0x60, 0xDF, 0x61, 0xD2, 0xC5, /* 0x54-0x57 */ + 0xE5, 0xDC, 0xDF, 0x62, 0xDF, 0x63, 0xE5, 0xDE, /* 0x58-0x5B */ + 0xDF, 0x64, 0xDF, 0x65, 0xDF, 0x66, 0xDF, 0x67, /* 0x5C-0x5F */ + 0xDF, 0x68, 0xDF, 0x69, 0xE5, 0xDD, 0xC7, 0xB2, /* 0x60-0x63 */ + 0xDF, 0x6A, 0xD2, 0xA3, 0xDF, 0x6B, 0xDF, 0x6C, /* 0x64-0x67 */ + 0xE5, 0xDB, 0xDF, 0x6D, 0xDF, 0x6E, 0xDF, 0x6F, /* 0x68-0x6B */ + 0xDF, 0x70, 0xD4, 0xE2, 0xD5, 0xDA, 0xDF, 0x71, /* 0x6C-0x6F */ + 0xDF, 0x72, 0xDF, 0x73, 0xDF, 0x74, 0xDF, 0x75, /* 0x70-0x73 */ + 0xE5, 0xE0, 0xD7, 0xF1, 0xDF, 0x76, 0xDF, 0x77, /* 0x74-0x77 */ + 0xDF, 0x78, 0xDF, 0x79, 0xDF, 0x7A, 0xDF, 0x7B, /* 0x78-0x7B */ + 0xDF, 0x7C, 0xE5, 0xE1, 0xDF, 0x7D, 0xB1, 0xDC, /* 0x7C-0x7F */ + + 0xD1, 0xFB, 0xDF, 0x7E, 0xE5, 0xE2, 0xE5, 0xE4, /* 0x80-0x83 */ + 0xDF, 0x80, 0xDF, 0x81, 0xDF, 0x82, 0xDF, 0x83, /* 0x84-0x87 */ + 0xE5, 0xE3, 0xDF, 0x84, 0xDF, 0x85, 0xE5, 0xE5, /* 0x88-0x8B */ + 0xDF, 0x86, 0xDF, 0x87, 0xDF, 0x88, 0xDF, 0x89, /* 0x8C-0x8F */ + 0xDF, 0x8A, 0xD2, 0xD8, 0xDF, 0x8B, 0xB5, 0xCB, /* 0x90-0x93 */ + 0xDF, 0x8C, 0xE7, 0xDF, 0xDF, 0x8D, 0xDA, 0xF5, /* 0x94-0x97 */ + 0xDF, 0x8E, 0xDA, 0xF8, 0xDF, 0x8F, 0xDA, 0xF6, /* 0x98-0x9B */ + 0xDF, 0x90, 0xDA, 0xF7, 0xDF, 0x91, 0xDF, 0x92, /* 0x9C-0x9F */ + 0xDF, 0x93, 0xDA, 0xFA, 0xD0, 0xCF, 0xC4, 0xC7, /* 0xA0-0xA3 */ + 0xDF, 0x94, 0xDF, 0x95, 0xB0, 0xEE, 0xDF, 0x96, /* 0xA4-0xA7 */ + 0xDF, 0x97, 0xDF, 0x98, 0xD0, 0xB0, 0xDF, 0x99, /* 0xA8-0xAB */ + 0xDA, 0xF9, 0xDF, 0x9A, 0xD3, 0xCA, 0xBA, 0xAA, /* 0xAC-0xAF */ + 0xDB, 0xA2, 0xC7, 0xF1, 0xDF, 0x9B, 0xDA, 0xFC, /* 0xB0-0xB3 */ + 0xDA, 0xFB, 0xC9, 0xDB, 0xDA, 0xFD, 0xDF, 0x9C, /* 0xB4-0xB7 */ + 0xDB, 0xA1, 0xD7, 0xDE, 0xDA, 0xFE, 0xC1, 0xDA, /* 0xB8-0xBB */ + 0xDF, 0x9D, 0xDF, 0x9E, 0xDB, 0xA5, 0xDF, 0x9F, /* 0xBC-0xBF */ + 0xDF, 0xA0, 0xD3, 0xF4, 0xE0, 0x40, 0xE0, 0x41, /* 0xC0-0xC3 */ + 0xDB, 0xA7, 0xDB, 0xA4, 0xE0, 0x42, 0xDB, 0xA8, /* 0xC4-0xC7 */ + 0xE0, 0x43, 0xE0, 0x44, 0xBD, 0xBC, 0xE0, 0x45, /* 0xC8-0xCB */ + 0xE0, 0x46, 0xE0, 0x47, 0xC0, 0xC9, 0xDB, 0xA3, /* 0xCC-0xCF */ + 0xDB, 0xA6, 0xD6, 0xA3, 0xE0, 0x48, 0xDB, 0xA9, /* 0xD0-0xD3 */ + 0xE0, 0x49, 0xE0, 0x4A, 0xE0, 0x4B, 0xDB, 0xAD, /* 0xD4-0xD7 */ + 0xE0, 0x4C, 0xE0, 0x4D, 0xE0, 0x4E, 0xDB, 0xAE, /* 0xD8-0xDB */ + 0xDB, 0xAC, 0xBA, 0xC2, 0xE0, 0x4F, 0xE0, 0x50, /* 0xDC-0xDF */ + 0xE0, 0x51, 0xBF, 0xA4, 0xDB, 0xAB, 0xE0, 0x52, /* 0xE0-0xE3 */ + 0xE0, 0x53, 0xE0, 0x54, 0xDB, 0xAA, 0xD4, 0xC7, /* 0xE4-0xE7 */ + 0xB2, 0xBF, 0xE0, 0x55, 0xE0, 0x56, 0xDB, 0xAF, /* 0xE8-0xEB */ + 0xE0, 0x57, 0xB9, 0xF9, 0xE0, 0x58, 0xDB, 0xB0, /* 0xEC-0xEF */ + 0xE0, 0x59, 0xE0, 0x5A, 0xE0, 0x5B, 0xE0, 0x5C, /* 0xF0-0xF3 */ + 0xB3, 0xBB, 0xE0, 0x5D, 0xE0, 0x5E, 0xE0, 0x5F, /* 0xF4-0xF7 */ + 0xB5, 0xA6, 0xE0, 0x60, 0xE0, 0x61, 0xE0, 0x62, /* 0xF8-0xFB */ + 0xE0, 0x63, 0xB6, 0xBC, 0xDB, 0xB1, 0xE0, 0x64, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_91[512] = { + 0xE0, 0x65, 0xE0, 0x66, 0xB6, 0xF5, 0xE0, 0x67, /* 0x00-0x03 */ + 0xDB, 0xB2, 0xE0, 0x68, 0xE0, 0x69, 0xE0, 0x6A, /* 0x04-0x07 */ + 0xE0, 0x6B, 0xE0, 0x6C, 0xE0, 0x6D, 0xE0, 0x6E, /* 0x08-0x0B */ + 0xE0, 0x6F, 0xE0, 0x70, 0xE0, 0x71, 0xE0, 0x72, /* 0x0C-0x0F */ + 0xE0, 0x73, 0xE0, 0x74, 0xE0, 0x75, 0xE0, 0x76, /* 0x10-0x13 */ + 0xE0, 0x77, 0xE0, 0x78, 0xE0, 0x79, 0xE0, 0x7A, /* 0x14-0x17 */ + 0xE0, 0x7B, 0xB1, 0xC9, 0xE0, 0x7C, 0xE0, 0x7D, /* 0x18-0x1B */ + 0xE0, 0x7E, 0xE0, 0x80, 0xDB, 0xB4, 0xE0, 0x81, /* 0x1C-0x1F */ + 0xE0, 0x82, 0xE0, 0x83, 0xDB, 0xB3, 0xDB, 0xB5, /* 0x20-0x23 */ + 0xE0, 0x84, 0xE0, 0x85, 0xE0, 0x86, 0xE0, 0x87, /* 0x24-0x27 */ + 0xE0, 0x88, 0xE0, 0x89, 0xE0, 0x8A, 0xE0, 0x8B, /* 0x28-0x2B */ + 0xE0, 0x8C, 0xE0, 0x8D, 0xE0, 0x8E, 0xDB, 0xB7, /* 0x2C-0x2F */ + 0xE0, 0x8F, 0xDB, 0xB6, 0xE0, 0x90, 0xE0, 0x91, /* 0x30-0x33 */ + 0xE0, 0x92, 0xE0, 0x93, 0xE0, 0x94, 0xE0, 0x95, /* 0x34-0x37 */ + 0xE0, 0x96, 0xDB, 0xB8, 0xE0, 0x97, 0xE0, 0x98, /* 0x38-0x3B */ + 0xE0, 0x99, 0xE0, 0x9A, 0xE0, 0x9B, 0xE0, 0x9C, /* 0x3C-0x3F */ + 0xE0, 0x9D, 0xE0, 0x9E, 0xE0, 0x9F, 0xDB, 0xB9, /* 0x40-0x43 */ + 0xE0, 0xA0, 0xE1, 0x40, 0xDB, 0xBA, 0xE1, 0x41, /* 0x44-0x47 */ + 0xE1, 0x42, 0xD3, 0xCF, 0xF4, 0xFA, 0xC7, 0xF5, /* 0x48-0x4B */ + 0xD7, 0xC3, 0xC5, 0xE4, 0xF4, 0xFC, 0xF4, 0xFD, /* 0x4C-0x4F */ + 0xF4, 0xFB, 0xE1, 0x43, 0xBE, 0xC6, 0xE1, 0x44, /* 0x50-0x53 */ + 0xE1, 0x45, 0xE1, 0x46, 0xE1, 0x47, 0xD0, 0xEF, /* 0x54-0x57 */ + 0xE1, 0x48, 0xE1, 0x49, 0xB7, 0xD3, 0xE1, 0x4A, /* 0x58-0x5B */ + 0xE1, 0x4B, 0xD4, 0xCD, 0xCC, 0xAA, 0xE1, 0x4C, /* 0x5C-0x5F */ + 0xE1, 0x4D, 0xF5, 0xA2, 0xF5, 0xA1, 0xBA, 0xA8, /* 0x60-0x63 */ + 0xF4, 0xFE, 0xCB, 0xD6, 0xE1, 0x4E, 0xE1, 0x4F, /* 0x64-0x67 */ + 0xE1, 0x50, 0xF5, 0xA4, 0xC0, 0xD2, 0xE1, 0x51, /* 0x68-0x6B */ + 0xB3, 0xEA, 0xE1, 0x52, 0xCD, 0xAA, 0xF5, 0xA5, /* 0x6C-0x6F */ + 0xF5, 0xA3, 0xBD, 0xB4, 0xF5, 0xA8, 0xE1, 0x53, /* 0x70-0x73 */ + 0xF5, 0xA9, 0xBD, 0xCD, 0xC3, 0xB8, 0xBF, 0xE1, /* 0x74-0x77 */ + 0xCB, 0xE1, 0xF5, 0xAA, 0xE1, 0x54, 0xE1, 0x55, /* 0x78-0x7B */ + 0xE1, 0x56, 0xF5, 0xA6, 0xF5, 0xA7, 0xC4, 0xF0, /* 0x7C-0x7F */ + + 0xE1, 0x57, 0xE1, 0x58, 0xE1, 0x59, 0xE1, 0x5A, /* 0x80-0x83 */ + 0xE1, 0x5B, 0xF5, 0xAC, 0xE1, 0x5C, 0xB4, 0xBC, /* 0x84-0x87 */ + 0xE1, 0x5D, 0xD7, 0xED, 0xE1, 0x5E, 0xB4, 0xD7, /* 0x88-0x8B */ + 0xF5, 0xAB, 0xF5, 0xAE, 0xE1, 0x5F, 0xE1, 0x60, /* 0x8C-0x8F */ + 0xF5, 0xAD, 0xF5, 0xAF, 0xD0, 0xD1, 0xE1, 0x61, /* 0x90-0x93 */ + 0xE1, 0x62, 0xE1, 0x63, 0xE1, 0x64, 0xE1, 0x65, /* 0x94-0x97 */ + 0xE1, 0x66, 0xE1, 0x67, 0xC3, 0xD1, 0xC8, 0xA9, /* 0x98-0x9B */ + 0xE1, 0x68, 0xE1, 0x69, 0xE1, 0x6A, 0xE1, 0x6B, /* 0x9C-0x9F */ + 0xE1, 0x6C, 0xE1, 0x6D, 0xF5, 0xB0, 0xF5, 0xB1, /* 0xA0-0xA3 */ + 0xE1, 0x6E, 0xE1, 0x6F, 0xE1, 0x70, 0xE1, 0x71, /* 0xA4-0xA7 */ + 0xE1, 0x72, 0xE1, 0x73, 0xF5, 0xB2, 0xE1, 0x74, /* 0xA8-0xAB */ + 0xE1, 0x75, 0xF5, 0xB3, 0xF5, 0xB4, 0xF5, 0xB5, /* 0xAC-0xAF */ + 0xE1, 0x76, 0xE1, 0x77, 0xE1, 0x78, 0xE1, 0x79, /* 0xB0-0xB3 */ + 0xF5, 0xB7, 0xF5, 0xB6, 0xE1, 0x7A, 0xE1, 0x7B, /* 0xB4-0xB7 */ + 0xE1, 0x7C, 0xE1, 0x7D, 0xF5, 0xB8, 0xE1, 0x7E, /* 0xB8-0xBB */ + 0xE1, 0x80, 0xE1, 0x81, 0xE1, 0x82, 0xE1, 0x83, /* 0xBC-0xBF */ + 0xE1, 0x84, 0xE1, 0x85, 0xE1, 0x86, 0xE1, 0x87, /* 0xC0-0xC3 */ + 0xE1, 0x88, 0xE1, 0x89, 0xE1, 0x8A, 0xB2, 0xC9, /* 0xC4-0xC7 */ + 0xE1, 0x8B, 0xD3, 0xD4, 0xCA, 0xCD, 0xE1, 0x8C, /* 0xC8-0xCB */ + 0xC0, 0xEF, 0xD6, 0xD8, 0xD2, 0xB0, 0xC1, 0xBF, /* 0xCC-0xCF */ + 0xE1, 0x8D, 0xBD, 0xF0, 0xE1, 0x8E, 0xE1, 0x8F, /* 0xD0-0xD3 */ + 0xE1, 0x90, 0xE1, 0x91, 0xE1, 0x92, 0xE1, 0x93, /* 0xD4-0xD7 */ + 0xE1, 0x94, 0xE1, 0x95, 0xE1, 0x96, 0xE1, 0x97, /* 0xD8-0xDB */ + 0xB8, 0xAA, 0xE1, 0x98, 0xE1, 0x99, 0xE1, 0x9A, /* 0xDC-0xDF */ + 0xE1, 0x9B, 0xE1, 0x9C, 0xE1, 0x9D, 0xE1, 0x9E, /* 0xE0-0xE3 */ + 0xE1, 0x9F, 0xE1, 0xA0, 0xE2, 0x40, 0xE2, 0x41, /* 0xE4-0xE7 */ + 0xE2, 0x42, 0xE2, 0x43, 0xE2, 0x44, 0xE2, 0x45, /* 0xE8-0xEB */ + 0xE2, 0x46, 0xE2, 0x47, 0xE2, 0x48, 0xE2, 0x49, /* 0xEC-0xEF */ + 0xE2, 0x4A, 0xE2, 0x4B, 0xE2, 0x4C, 0xE2, 0x4D, /* 0xF0-0xF3 */ + 0xE2, 0x4E, 0xE2, 0x4F, 0xE2, 0x50, 0xE2, 0x51, /* 0xF4-0xF7 */ + 0xE2, 0x52, 0xE2, 0x53, 0xE2, 0x54, 0xE2, 0x55, /* 0xF8-0xFB */ + 0xE2, 0x56, 0xE2, 0x57, 0xE2, 0x58, 0xE2, 0x59, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_92[512] = { + 0xE2, 0x5A, 0xE2, 0x5B, 0xE2, 0x5C, 0xE2, 0x5D, /* 0x00-0x03 */ + 0xE2, 0x5E, 0xE2, 0x5F, 0xE2, 0x60, 0xE2, 0x61, /* 0x04-0x07 */ + 0xE2, 0x62, 0xE2, 0x63, 0xE2, 0x64, 0xE2, 0x65, /* 0x08-0x0B */ + 0xE2, 0x66, 0xE2, 0x67, 0xE2, 0x68, 0xE2, 0x69, /* 0x0C-0x0F */ + 0xE2, 0x6A, 0xE2, 0x6B, 0xE2, 0x6C, 0xE2, 0x6D, /* 0x10-0x13 */ + 0xE2, 0x6E, 0xE2, 0x6F, 0xE2, 0x70, 0xE2, 0x71, /* 0x14-0x17 */ + 0xE2, 0x72, 0xE2, 0x73, 0xE2, 0x74, 0xE2, 0x75, /* 0x18-0x1B */ + 0xE2, 0x76, 0xE2, 0x77, 0xE2, 0x78, 0xE2, 0x79, /* 0x1C-0x1F */ + 0xE2, 0x7A, 0xE2, 0x7B, 0xE2, 0x7C, 0xE2, 0x7D, /* 0x20-0x23 */ + 0xE2, 0x7E, 0xE2, 0x80, 0xE2, 0x81, 0xE2, 0x82, /* 0x24-0x27 */ + 0xE2, 0x83, 0xE2, 0x84, 0xE2, 0x85, 0xE2, 0x86, /* 0x28-0x2B */ + 0xE2, 0x87, 0xE2, 0x88, 0xE2, 0x89, 0xE2, 0x8A, /* 0x2C-0x2F */ + 0xE2, 0x8B, 0xE2, 0x8C, 0xE2, 0x8D, 0xE2, 0x8E, /* 0x30-0x33 */ + 0xE2, 0x8F, 0xE2, 0x90, 0xE2, 0x91, 0xE2, 0x92, /* 0x34-0x37 */ + 0xE2, 0x93, 0xE2, 0x94, 0xE2, 0x95, 0xE2, 0x96, /* 0x38-0x3B */ + 0xE2, 0x97, 0xE2, 0x98, 0xE2, 0x99, 0xE2, 0x9A, /* 0x3C-0x3F */ + 0xE2, 0x9B, 0xE2, 0x9C, 0xE2, 0x9D, 0xE2, 0x9E, /* 0x40-0x43 */ + 0xE2, 0x9F, 0xE2, 0xA0, 0xE3, 0x40, 0xE3, 0x41, /* 0x44-0x47 */ + 0xE3, 0x42, 0xE3, 0x43, 0xE3, 0x44, 0xE3, 0x45, /* 0x48-0x4B */ + 0xE3, 0x46, 0xE3, 0x47, 0xE3, 0x48, 0xE3, 0x49, /* 0x4C-0x4F */ + 0xE3, 0x4A, 0xE3, 0x4B, 0xE3, 0x4C, 0xE3, 0x4D, /* 0x50-0x53 */ + 0xE3, 0x4E, 0xE3, 0x4F, 0xE3, 0x50, 0xE3, 0x51, /* 0x54-0x57 */ + 0xE3, 0x52, 0xE3, 0x53, 0xE3, 0x54, 0xE3, 0x55, /* 0x58-0x5B */ + 0xE3, 0x56, 0xE3, 0x57, 0xE3, 0x58, 0xE3, 0x59, /* 0x5C-0x5F */ + 0xE3, 0x5A, 0xE3, 0x5B, 0xE3, 0x5C, 0xE3, 0x5D, /* 0x60-0x63 */ + 0xE3, 0x5E, 0xE3, 0x5F, 0xE3, 0x60, 0xE3, 0x61, /* 0x64-0x67 */ + 0xE3, 0x62, 0xE3, 0x63, 0xE3, 0x64, 0xE3, 0x65, /* 0x68-0x6B */ + 0xE3, 0x66, 0xE3, 0x67, 0xE3, 0x68, 0xE3, 0x69, /* 0x6C-0x6F */ + 0xE3, 0x6A, 0xE3, 0x6B, 0xE3, 0x6C, 0xE3, 0x6D, /* 0x70-0x73 */ + 0xBC, 0xF8, 0xE3, 0x6E, 0xE3, 0x6F, 0xE3, 0x70, /* 0x74-0x77 */ + 0xE3, 0x71, 0xE3, 0x72, 0xE3, 0x73, 0xE3, 0x74, /* 0x78-0x7B */ + 0xE3, 0x75, 0xE3, 0x76, 0xE3, 0x77, 0xE3, 0x78, /* 0x7C-0x7F */ + + 0xE3, 0x79, 0xE3, 0x7A, 0xE3, 0x7B, 0xE3, 0x7C, /* 0x80-0x83 */ + 0xE3, 0x7D, 0xE3, 0x7E, 0xE3, 0x80, 0xE3, 0x81, /* 0x84-0x87 */ + 0xE3, 0x82, 0xE3, 0x83, 0xE3, 0x84, 0xE3, 0x85, /* 0x88-0x8B */ + 0xE3, 0x86, 0xE3, 0x87, 0xF6, 0xC6, 0xE3, 0x88, /* 0x8C-0x8F */ + 0xE3, 0x89, 0xE3, 0x8A, 0xE3, 0x8B, 0xE3, 0x8C, /* 0x90-0x93 */ + 0xE3, 0x8D, 0xE3, 0x8E, 0xE3, 0x8F, 0xE3, 0x90, /* 0x94-0x97 */ + 0xE3, 0x91, 0xE3, 0x92, 0xE3, 0x93, 0xE3, 0x94, /* 0x98-0x9B */ + 0xE3, 0x95, 0xE3, 0x96, 0xE3, 0x97, 0xE3, 0x98, /* 0x9C-0x9F */ + 0xE3, 0x99, 0xE3, 0x9A, 0xE3, 0x9B, 0xE3, 0x9C, /* 0xA0-0xA3 */ + 0xE3, 0x9D, 0xE3, 0x9E, 0xE3, 0x9F, 0xE3, 0xA0, /* 0xA4-0xA7 */ + 0xE4, 0x40, 0xE4, 0x41, 0xE4, 0x42, 0xE4, 0x43, /* 0xA8-0xAB */ + 0xE4, 0x44, 0xE4, 0x45, 0xF6, 0xC7, 0xE4, 0x46, /* 0xAC-0xAF */ + 0xE4, 0x47, 0xE4, 0x48, 0xE4, 0x49, 0xE4, 0x4A, /* 0xB0-0xB3 */ + 0xE4, 0x4B, 0xE4, 0x4C, 0xE4, 0x4D, 0xE4, 0x4E, /* 0xB4-0xB7 */ + 0xE4, 0x4F, 0xE4, 0x50, 0xE4, 0x51, 0xE4, 0x52, /* 0xB8-0xBB */ + 0xE4, 0x53, 0xE4, 0x54, 0xE4, 0x55, 0xE4, 0x56, /* 0xBC-0xBF */ + 0xE4, 0x57, 0xE4, 0x58, 0xE4, 0x59, 0xE4, 0x5A, /* 0xC0-0xC3 */ + 0xE4, 0x5B, 0xE4, 0x5C, 0xE4, 0x5D, 0xE4, 0x5E, /* 0xC4-0xC7 */ + 0xF6, 0xC8, 0xE4, 0x5F, 0xE4, 0x60, 0xE4, 0x61, /* 0xC8-0xCB */ + 0xE4, 0x62, 0xE4, 0x63, 0xE4, 0x64, 0xE4, 0x65, /* 0xCC-0xCF */ + 0xE4, 0x66, 0xE4, 0x67, 0xE4, 0x68, 0xE4, 0x69, /* 0xD0-0xD3 */ + 0xE4, 0x6A, 0xE4, 0x6B, 0xE4, 0x6C, 0xE4, 0x6D, /* 0xD4-0xD7 */ + 0xE4, 0x6E, 0xE4, 0x6F, 0xE4, 0x70, 0xE4, 0x71, /* 0xD8-0xDB */ + 0xE4, 0x72, 0xE4, 0x73, 0xE4, 0x74, 0xE4, 0x75, /* 0xDC-0xDF */ + 0xE4, 0x76, 0xE4, 0x77, 0xE4, 0x78, 0xE4, 0x79, /* 0xE0-0xE3 */ + 0xE4, 0x7A, 0xE4, 0x7B, 0xE4, 0x7C, 0xE4, 0x7D, /* 0xE4-0xE7 */ + 0xE4, 0x7E, 0xE4, 0x80, 0xE4, 0x81, 0xE4, 0x82, /* 0xE8-0xEB */ + 0xE4, 0x83, 0xE4, 0x84, 0xE4, 0x85, 0xE4, 0x86, /* 0xEC-0xEF */ + 0xE4, 0x87, 0xE4, 0x88, 0xE4, 0x89, 0xE4, 0x8A, /* 0xF0-0xF3 */ + 0xE4, 0x8B, 0xE4, 0x8C, 0xE4, 0x8D, 0xE4, 0x8E, /* 0xF4-0xF7 */ + 0xE4, 0x8F, 0xE4, 0x90, 0xE4, 0x91, 0xE4, 0x92, /* 0xF8-0xFB */ + 0xE4, 0x93, 0xE4, 0x94, 0xE4, 0x95, 0xE4, 0x96, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_93[512] = { + 0xE4, 0x97, 0xE4, 0x98, 0xE4, 0x99, 0xE4, 0x9A, /* 0x00-0x03 */ + 0xE4, 0x9B, 0xE4, 0x9C, 0xE4, 0x9D, 0xE4, 0x9E, /* 0x04-0x07 */ + 0xE4, 0x9F, 0xE4, 0xA0, 0xE5, 0x40, 0xE5, 0x41, /* 0x08-0x0B */ + 0xE5, 0x42, 0xE5, 0x43, 0xE5, 0x44, 0xE5, 0x45, /* 0x0C-0x0F */ + 0xE5, 0x46, 0xE5, 0x47, 0xE5, 0x48, 0xE5, 0x49, /* 0x10-0x13 */ + 0xE5, 0x4A, 0xE5, 0x4B, 0xE5, 0x4C, 0xE5, 0x4D, /* 0x14-0x17 */ + 0xE5, 0x4E, 0xE5, 0x4F, 0xE5, 0x50, 0xE5, 0x51, /* 0x18-0x1B */ + 0xE5, 0x52, 0xE5, 0x53, 0xE5, 0x54, 0xE5, 0x55, /* 0x1C-0x1F */ + 0xE5, 0x56, 0xE5, 0x57, 0xE5, 0x58, 0xE5, 0x59, /* 0x20-0x23 */ + 0xE5, 0x5A, 0xE5, 0x5B, 0xE5, 0x5C, 0xE5, 0x5D, /* 0x24-0x27 */ + 0xE5, 0x5E, 0xE5, 0x5F, 0xE5, 0x60, 0xE5, 0x61, /* 0x28-0x2B */ + 0xE5, 0x62, 0xE5, 0x63, 0xE5, 0x64, 0xE5, 0x65, /* 0x2C-0x2F */ + 0xE5, 0x66, 0xE5, 0x67, 0xE5, 0x68, 0xE5, 0x69, /* 0x30-0x33 */ + 0xE5, 0x6A, 0xE5, 0x6B, 0xE5, 0x6C, 0xE5, 0x6D, /* 0x34-0x37 */ + 0xE5, 0x6E, 0xE5, 0x6F, 0xE5, 0x70, 0xE5, 0x71, /* 0x38-0x3B */ + 0xE5, 0x72, 0xE5, 0x73, 0xF6, 0xC9, 0xE5, 0x74, /* 0x3C-0x3F */ + 0xE5, 0x75, 0xE5, 0x76, 0xE5, 0x77, 0xE5, 0x78, /* 0x40-0x43 */ + 0xE5, 0x79, 0xE5, 0x7A, 0xE5, 0x7B, 0xE5, 0x7C, /* 0x44-0x47 */ + 0xE5, 0x7D, 0xE5, 0x7E, 0xE5, 0x80, 0xE5, 0x81, /* 0x48-0x4B */ + 0xE5, 0x82, 0xE5, 0x83, 0xE5, 0x84, 0xE5, 0x85, /* 0x4C-0x4F */ + 0xE5, 0x86, 0xE5, 0x87, 0xE5, 0x88, 0xE5, 0x89, /* 0x50-0x53 */ + 0xE5, 0x8A, 0xE5, 0x8B, 0xE5, 0x8C, 0xE5, 0x8D, /* 0x54-0x57 */ + 0xE5, 0x8E, 0xE5, 0x8F, 0xE5, 0x90, 0xE5, 0x91, /* 0x58-0x5B */ + 0xE5, 0x92, 0xE5, 0x93, 0xE5, 0x94, 0xE5, 0x95, /* 0x5C-0x5F */ + 0xE5, 0x96, 0xE5, 0x97, 0xE5, 0x98, 0xE5, 0x99, /* 0x60-0x63 */ + 0xE5, 0x9A, 0xE5, 0x9B, 0xE5, 0x9C, 0xE5, 0x9D, /* 0x64-0x67 */ + 0xE5, 0x9E, 0xE5, 0x9F, 0xF6, 0xCA, 0xE5, 0xA0, /* 0x68-0x6B */ + 0xE6, 0x40, 0xE6, 0x41, 0xE6, 0x42, 0xE6, 0x43, /* 0x6C-0x6F */ + 0xE6, 0x44, 0xE6, 0x45, 0xE6, 0x46, 0xE6, 0x47, /* 0x70-0x73 */ + 0xE6, 0x48, 0xE6, 0x49, 0xE6, 0x4A, 0xE6, 0x4B, /* 0x74-0x77 */ + 0xE6, 0x4C, 0xE6, 0x4D, 0xE6, 0x4E, 0xE6, 0x4F, /* 0x78-0x7B */ + 0xE6, 0x50, 0xE6, 0x51, 0xE6, 0x52, 0xE6, 0x53, /* 0x7C-0x7F */ + + 0xE6, 0x54, 0xE6, 0x55, 0xE6, 0x56, 0xE6, 0x57, /* 0x80-0x83 */ + 0xE6, 0x58, 0xE6, 0x59, 0xE6, 0x5A, 0xE6, 0x5B, /* 0x84-0x87 */ + 0xE6, 0x5C, 0xE6, 0x5D, 0xE6, 0x5E, 0xE6, 0x5F, /* 0x88-0x8B */ + 0xE6, 0x60, 0xE6, 0x61, 0xE6, 0x62, 0xF6, 0xCC, /* 0x8C-0x8F */ + 0xE6, 0x63, 0xE6, 0x64, 0xE6, 0x65, 0xE6, 0x66, /* 0x90-0x93 */ + 0xE6, 0x67, 0xE6, 0x68, 0xE6, 0x69, 0xE6, 0x6A, /* 0x94-0x97 */ + 0xE6, 0x6B, 0xE6, 0x6C, 0xE6, 0x6D, 0xE6, 0x6E, /* 0x98-0x9B */ + 0xE6, 0x6F, 0xE6, 0x70, 0xE6, 0x71, 0xE6, 0x72, /* 0x9C-0x9F */ + 0xE6, 0x73, 0xE6, 0x74, 0xE6, 0x75, 0xE6, 0x76, /* 0xA0-0xA3 */ + 0xE6, 0x77, 0xE6, 0x78, 0xE6, 0x79, 0xE6, 0x7A, /* 0xA4-0xA7 */ + 0xE6, 0x7B, 0xE6, 0x7C, 0xE6, 0x7D, 0xE6, 0x7E, /* 0xA8-0xAB */ + 0xE6, 0x80, 0xE6, 0x81, 0xE6, 0x82, 0xE6, 0x83, /* 0xAC-0xAF */ + 0xE6, 0x84, 0xE6, 0x85, 0xE6, 0x86, 0xE6, 0x87, /* 0xB0-0xB3 */ + 0xE6, 0x88, 0xE6, 0x89, 0xE6, 0x8A, 0xE6, 0x8B, /* 0xB4-0xB7 */ + 0xE6, 0x8C, 0xE6, 0x8D, 0xE6, 0x8E, 0xE6, 0x8F, /* 0xB8-0xBB */ + 0xE6, 0x90, 0xE6, 0x91, 0xE6, 0x92, 0xE6, 0x93, /* 0xBC-0xBF */ + 0xE6, 0x94, 0xE6, 0x95, 0xE6, 0x96, 0xE6, 0x97, /* 0xC0-0xC3 */ + 0xE6, 0x98, 0xE6, 0x99, 0xE6, 0x9A, 0xE6, 0x9B, /* 0xC4-0xC7 */ + 0xE6, 0x9C, 0xE6, 0x9D, 0xF6, 0xCB, 0xE6, 0x9E, /* 0xC8-0xCB */ + 0xE6, 0x9F, 0xE6, 0xA0, 0xE7, 0x40, 0xE7, 0x41, /* 0xCC-0xCF */ + 0xE7, 0x42, 0xE7, 0x43, 0xE7, 0x44, 0xE7, 0x45, /* 0xD0-0xD3 */ + 0xE7, 0x46, 0xE7, 0x47, 0xF7, 0xE9, 0xE7, 0x48, /* 0xD4-0xD7 */ + 0xE7, 0x49, 0xE7, 0x4A, 0xE7, 0x4B, 0xE7, 0x4C, /* 0xD8-0xDB */ + 0xE7, 0x4D, 0xE7, 0x4E, 0xE7, 0x4F, 0xE7, 0x50, /* 0xDC-0xDF */ + 0xE7, 0x51, 0xE7, 0x52, 0xE7, 0x53, 0xE7, 0x54, /* 0xE0-0xE3 */ + 0xE7, 0x55, 0xE7, 0x56, 0xE7, 0x57, 0xE7, 0x58, /* 0xE4-0xE7 */ + 0xE7, 0x59, 0xE7, 0x5A, 0xE7, 0x5B, 0xE7, 0x5C, /* 0xE8-0xEB */ + 0xE7, 0x5D, 0xE7, 0x5E, 0xE7, 0x5F, 0xE7, 0x60, /* 0xEC-0xEF */ + 0xE7, 0x61, 0xE7, 0x62, 0xE7, 0x63, 0xE7, 0x64, /* 0xF0-0xF3 */ + 0xE7, 0x65, 0xE7, 0x66, 0xE7, 0x67, 0xE7, 0x68, /* 0xF4-0xF7 */ + 0xE7, 0x69, 0xE7, 0x6A, 0xE7, 0x6B, 0xE7, 0x6C, /* 0xF8-0xFB */ + 0xE7, 0x6D, 0xE7, 0x6E, 0xE7, 0x6F, 0xE7, 0x70, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_94[512] = { + 0xE7, 0x71, 0xE7, 0x72, 0xE7, 0x73, 0xE7, 0x74, /* 0x00-0x03 */ + 0xE7, 0x75, 0xE7, 0x76, 0xE7, 0x77, 0xE7, 0x78, /* 0x04-0x07 */ + 0xE7, 0x79, 0xE7, 0x7A, 0xE7, 0x7B, 0xE7, 0x7C, /* 0x08-0x0B */ + 0xE7, 0x7D, 0xE7, 0x7E, 0xE7, 0x80, 0xE7, 0x81, /* 0x0C-0x0F */ + 0xE7, 0x82, 0xE7, 0x83, 0xE7, 0x84, 0xE7, 0x85, /* 0x10-0x13 */ + 0xE7, 0x86, 0xE7, 0x87, 0xE7, 0x88, 0xE7, 0x89, /* 0x14-0x17 */ + 0xE7, 0x8A, 0xE7, 0x8B, 0xE7, 0x8C, 0xE7, 0x8D, /* 0x18-0x1B */ + 0xE7, 0x8E, 0xE7, 0x8F, 0xE7, 0x90, 0xE7, 0x91, /* 0x1C-0x1F */ + 0xE7, 0x92, 0xE7, 0x93, 0xE7, 0x94, 0xE7, 0x95, /* 0x20-0x23 */ + 0xE7, 0x96, 0xE7, 0x97, 0xE7, 0x98, 0xE7, 0x99, /* 0x24-0x27 */ + 0xE7, 0x9A, 0xE7, 0x9B, 0xE7, 0x9C, 0xE7, 0x9D, /* 0x28-0x2B */ + 0xE7, 0x9E, 0xE7, 0x9F, 0xE7, 0xA0, 0xE8, 0x40, /* 0x2C-0x2F */ + 0xE8, 0x41, 0xE8, 0x42, 0xE8, 0x43, 0xE8, 0x44, /* 0x30-0x33 */ + 0xE8, 0x45, 0xE8, 0x46, 0xE8, 0x47, 0xE8, 0x48, /* 0x34-0x37 */ + 0xE8, 0x49, 0xE8, 0x4A, 0xE8, 0x4B, 0xE8, 0x4C, /* 0x38-0x3B */ + 0xE8, 0x4D, 0xE8, 0x4E, 0xF6, 0xCD, 0xE8, 0x4F, /* 0x3C-0x3F */ + 0xE8, 0x50, 0xE8, 0x51, 0xE8, 0x52, 0xE8, 0x53, /* 0x40-0x43 */ + 0xE8, 0x54, 0xE8, 0x55, 0xE8, 0x56, 0xE8, 0x57, /* 0x44-0x47 */ + 0xE8, 0x58, 0xE8, 0x59, 0xE8, 0x5A, 0xE8, 0x5B, /* 0x48-0x4B */ + 0xE8, 0x5C, 0xE8, 0x5D, 0xE8, 0x5E, 0xE8, 0x5F, /* 0x4C-0x4F */ + 0xE8, 0x60, 0xE8, 0x61, 0xE8, 0x62, 0xE8, 0x63, /* 0x50-0x53 */ + 0xE8, 0x64, 0xE8, 0x65, 0xE8, 0x66, 0xE8, 0x67, /* 0x54-0x57 */ + 0xE8, 0x68, 0xE8, 0x69, 0xE8, 0x6A, 0xE8, 0x6B, /* 0x58-0x5B */ + 0xE8, 0x6C, 0xE8, 0x6D, 0xE8, 0x6E, 0xE8, 0x6F, /* 0x5C-0x5F */ + 0xE8, 0x70, 0xE8, 0x71, 0xE8, 0x72, 0xE8, 0x73, /* 0x60-0x63 */ + 0xE8, 0x74, 0xE8, 0x75, 0xE8, 0x76, 0xE8, 0x77, /* 0x64-0x67 */ + 0xE8, 0x78, 0xE8, 0x79, 0xE8, 0x7A, 0xF6, 0xCE, /* 0x68-0x6B */ + 0xE8, 0x7B, 0xE8, 0x7C, 0xE8, 0x7D, 0xE8, 0x7E, /* 0x6C-0x6F */ + 0xE8, 0x80, 0xE8, 0x81, 0xE8, 0x82, 0xE8, 0x83, /* 0x70-0x73 */ + 0xE8, 0x84, 0xE8, 0x85, 0xE8, 0x86, 0xE8, 0x87, /* 0x74-0x77 */ + 0xE8, 0x88, 0xE8, 0x89, 0xE8, 0x8A, 0xE8, 0x8B, /* 0x78-0x7B */ + 0xE8, 0x8C, 0xE8, 0x8D, 0xE8, 0x8E, 0xE8, 0x8F, /* 0x7C-0x7F */ + + 0xE8, 0x90, 0xE8, 0x91, 0xE8, 0x92, 0xE8, 0x93, /* 0x80-0x83 */ + 0xE8, 0x94, 0xEE, 0xC4, 0xEE, 0xC5, 0xEE, 0xC6, /* 0x84-0x87 */ + 0xD5, 0xEB, 0xB6, 0xA4, 0xEE, 0xC8, 0xEE, 0xC7, /* 0x88-0x8B */ + 0xEE, 0xC9, 0xEE, 0xCA, 0xC7, 0xA5, 0xEE, 0xCB, /* 0x8C-0x8F */ + 0xEE, 0xCC, 0xE8, 0x95, 0xB7, 0xB0, 0xB5, 0xF6, /* 0x90-0x93 */ + 0xEE, 0xCD, 0xEE, 0xCF, 0xE8, 0x96, 0xEE, 0xCE, /* 0x94-0x97 */ + 0xE8, 0x97, 0xB8, 0xC6, 0xEE, 0xD0, 0xEE, 0xD1, /* 0x98-0x9B */ + 0xEE, 0xD2, 0xB6, 0xDB, 0xB3, 0xAE, 0xD6, 0xD3, /* 0x9C-0x9F */ + 0xC4, 0xC6, 0xB1, 0xB5, 0xB8, 0xD6, 0xEE, 0xD3, /* 0xA0-0xA3 */ + 0xEE, 0xD4, 0xD4, 0xBF, 0xC7, 0xD5, 0xBE, 0xFB, /* 0xA4-0xA7 */ + 0xCE, 0xD9, 0xB9, 0xB3, 0xEE, 0xD6, 0xEE, 0xD5, /* 0xA8-0xAB */ + 0xEE, 0xD8, 0xEE, 0xD7, 0xC5, 0xA5, 0xEE, 0xD9, /* 0xAC-0xAF */ + 0xEE, 0xDA, 0xC7, 0xAE, 0xEE, 0xDB, 0xC7, 0xAF, /* 0xB0-0xB3 */ + 0xEE, 0xDC, 0xB2, 0xA7, 0xEE, 0xDD, 0xEE, 0xDE, /* 0xB4-0xB7 */ + 0xEE, 0xDF, 0xEE, 0xE0, 0xEE, 0xE1, 0xD7, 0xEA, /* 0xB8-0xBB */ + 0xEE, 0xE2, 0xEE, 0xE3, 0xBC, 0xD8, 0xEE, 0xE4, /* 0xBC-0xBF */ + 0xD3, 0xCB, 0xCC, 0xFA, 0xB2, 0xAC, 0xC1, 0xE5, /* 0xC0-0xC3 */ + 0xEE, 0xE5, 0xC7, 0xA6, 0xC3, 0xAD, 0xE8, 0x98, /* 0xC4-0xC7 */ + 0xEE, 0xE6, 0xEE, 0xE7, 0xEE, 0xE8, 0xEE, 0xE9, /* 0xC8-0xCB */ + 0xEE, 0xEA, 0xEE, 0xEB, 0xEE, 0xEC, 0xE8, 0x99, /* 0xCC-0xCF */ + 0xEE, 0xED, 0xEE, 0xEE, 0xEE, 0xEF, 0xE8, 0x9A, /* 0xD0-0xD3 */ + 0xE8, 0x9B, 0xEE, 0xF0, 0xEE, 0xF1, 0xEE, 0xF2, /* 0xD4-0xD7 */ + 0xEE, 0xF4, 0xEE, 0xF3, 0xE8, 0x9C, 0xEE, 0xF5, /* 0xD8-0xDB */ + 0xCD, 0xAD, 0xC2, 0xC1, 0xEE, 0xF6, 0xEE, 0xF7, /* 0xDC-0xDF */ + 0xEE, 0xF8, 0xD5, 0xA1, 0xEE, 0xF9, 0xCF, 0xB3, /* 0xE0-0xE3 */ + 0xEE, 0xFA, 0xEE, 0xFB, 0xE8, 0x9D, 0xEE, 0xFC, /* 0xE4-0xE7 */ + 0xEE, 0xFD, 0xEF, 0xA1, 0xEE, 0xFE, 0xEF, 0xA2, /* 0xE8-0xEB */ + 0xB8, 0xF5, 0xC3, 0xFA, 0xEF, 0xA3, 0xEF, 0xA4, /* 0xEC-0xEF */ + 0xBD, 0xC2, 0xD2, 0xBF, 0xB2, 0xF9, 0xEF, 0xA5, /* 0xF0-0xF3 */ + 0xEF, 0xA6, 0xEF, 0xA7, 0xD2, 0xF8, 0xEF, 0xA8, /* 0xF4-0xF7 */ + 0xD6, 0xFD, 0xEF, 0xA9, 0xC6, 0xCC, 0xE8, 0x9E, /* 0xF8-0xFB */ + 0xEF, 0xAA, 0xEF, 0xAB, 0xC1, 0xB4, 0xEF, 0xAC, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_95[512] = { + 0xCF, 0xFA, 0xCB, 0xF8, 0xEF, 0xAE, 0xEF, 0xAD, /* 0x00-0x03 */ + 0xB3, 0xFA, 0xB9, 0xF8, 0xEF, 0xAF, 0xEF, 0xB0, /* 0x04-0x07 */ + 0xD0, 0xE2, 0xEF, 0xB1, 0xEF, 0xB2, 0xB7, 0xE6, /* 0x08-0x0B */ + 0xD0, 0xBF, 0xEF, 0xB3, 0xEF, 0xB4, 0xEF, 0xB5, /* 0x0C-0x0F */ + 0xC8, 0xF1, 0xCC, 0xE0, 0xEF, 0xB6, 0xEF, 0xB7, /* 0x10-0x13 */ + 0xEF, 0xB8, 0xEF, 0xB9, 0xEF, 0xBA, 0xD5, 0xE0, /* 0x14-0x17 */ + 0xEF, 0xBB, 0xB4, 0xED, 0xC3, 0xAA, 0xEF, 0xBC, /* 0x18-0x1B */ + 0xE8, 0x9F, 0xEF, 0xBD, 0xEF, 0xBE, 0xEF, 0xBF, /* 0x1C-0x1F */ + 0xE8, 0xA0, 0xCE, 0xFD, 0xEF, 0xC0, 0xC2, 0xE0, /* 0x20-0x23 */ + 0xB4, 0xB8, 0xD7, 0xB6, 0xBD, 0xF5, 0xE9, 0x40, /* 0x24-0x27 */ + 0xCF, 0xC7, 0xEF, 0xC3, 0xEF, 0xC1, 0xEF, 0xC2, /* 0x28-0x2B */ + 0xEF, 0xC4, 0xB6, 0xA7, 0xBC, 0xFC, 0xBE, 0xE2, /* 0x2C-0x2F */ + 0xC3, 0xCC, 0xEF, 0xC5, 0xEF, 0xC6, 0xE9, 0x41, /* 0x30-0x33 */ + 0xEF, 0xC7, 0xEF, 0xCF, 0xEF, 0xC8, 0xEF, 0xC9, /* 0x34-0x37 */ + 0xEF, 0xCA, 0xC7, 0xC2, 0xEF, 0xF1, 0xB6, 0xCD, /* 0x38-0x3B */ + 0xEF, 0xCB, 0xE9, 0x42, 0xEF, 0xCC, 0xEF, 0xCD, /* 0x3C-0x3F */ + 0xB6, 0xC6, 0xC3, 0xBE, 0xEF, 0xCE, 0xE9, 0x43, /* 0x40-0x43 */ + 0xEF, 0xD0, 0xEF, 0xD1, 0xEF, 0xD2, 0xD5, 0xF2, /* 0x44-0x47 */ + 0xE9, 0x44, 0xEF, 0xD3, 0xC4, 0xF7, 0xE9, 0x45, /* 0x48-0x4B */ + 0xEF, 0xD4, 0xC4, 0xF8, 0xEF, 0xD5, 0xEF, 0xD6, /* 0x4C-0x4F */ + 0xB8, 0xE4, 0xB0, 0xF7, 0xEF, 0xD7, 0xEF, 0xD8, /* 0x50-0x53 */ + 0xEF, 0xD9, 0xE9, 0x46, 0xEF, 0xDA, 0xEF, 0xDB, /* 0x54-0x57 */ + 0xEF, 0xDC, 0xEF, 0xDD, 0xE9, 0x47, 0xEF, 0xDE, /* 0x58-0x5B */ + 0xBE, 0xB5, 0xEF, 0xE1, 0xEF, 0xDF, 0xEF, 0xE0, /* 0x5C-0x5F */ + 0xE9, 0x48, 0xEF, 0xE2, 0xEF, 0xE3, 0xC1, 0xCD, /* 0x60-0x63 */ + 0xEF, 0xE4, 0xEF, 0xE5, 0xEF, 0xE6, 0xEF, 0xE7, /* 0x64-0x67 */ + 0xEF, 0xE8, 0xEF, 0xE9, 0xEF, 0xEA, 0xEF, 0xEB, /* 0x68-0x6B */ + 0xEF, 0xEC, 0xC0, 0xD8, 0xE9, 0x49, 0xEF, 0xED, /* 0x6C-0x6F */ + 0xC1, 0xAD, 0xEF, 0xEE, 0xEF, 0xEF, 0xEF, 0xF0, /* 0x70-0x73 */ + 0xE9, 0x4A, 0xE9, 0x4B, 0xCF, 0xE2, 0xE9, 0x4C, /* 0x74-0x77 */ + 0xE9, 0x4D, 0xE9, 0x4E, 0xE9, 0x4F, 0xE9, 0x50, /* 0x78-0x7B */ + 0xE9, 0x51, 0xE9, 0x52, 0xE9, 0x53, 0xB3, 0xA4, /* 0x7C-0x7F */ + + 0xE9, 0x54, 0xE9, 0x55, 0xE9, 0x56, 0xE9, 0x57, /* 0x80-0x83 */ + 0xE9, 0x58, 0xE9, 0x59, 0xE9, 0x5A, 0xE9, 0x5B, /* 0x84-0x87 */ + 0xE9, 0x5C, 0xE9, 0x5D, 0xE9, 0x5E, 0xE9, 0x5F, /* 0x88-0x8B */ + 0xE9, 0x60, 0xE9, 0x61, 0xE9, 0x62, 0xE9, 0x63, /* 0x8C-0x8F */ + 0xE9, 0x64, 0xE9, 0x65, 0xE9, 0x66, 0xE9, 0x67, /* 0x90-0x93 */ + 0xE9, 0x68, 0xE9, 0x69, 0xE9, 0x6A, 0xE9, 0x6B, /* 0x94-0x97 */ + 0xE9, 0x6C, 0xE9, 0x6D, 0xE9, 0x6E, 0xE9, 0x6F, /* 0x98-0x9B */ + 0xE9, 0x70, 0xE9, 0x71, 0xE9, 0x72, 0xE9, 0x73, /* 0x9C-0x9F */ + 0xE9, 0x74, 0xE9, 0x75, 0xE9, 0x76, 0xE9, 0x77, /* 0xA0-0xA3 */ + 0xE9, 0x78, 0xE9, 0x79, 0xE9, 0x7A, 0xE9, 0x7B, /* 0xA4-0xA7 */ + 0xE9, 0x7C, 0xE9, 0x7D, 0xE9, 0x7E, 0xE9, 0x80, /* 0xA8-0xAB */ + 0xE9, 0x81, 0xE9, 0x82, 0xE9, 0x83, 0xE9, 0x84, /* 0xAC-0xAF */ + 0xE9, 0x85, 0xE9, 0x86, 0xE9, 0x87, 0xE9, 0x88, /* 0xB0-0xB3 */ + 0xE9, 0x89, 0xE9, 0x8A, 0xE9, 0x8B, 0xE9, 0x8C, /* 0xB4-0xB7 */ + 0xE9, 0x8D, 0xE9, 0x8E, 0xE9, 0x8F, 0xE9, 0x90, /* 0xB8-0xBB */ + 0xE9, 0x91, 0xE9, 0x92, 0xE9, 0x93, 0xE9, 0x94, /* 0xBC-0xBF */ + 0xE9, 0x95, 0xE9, 0x96, 0xE9, 0x97, 0xE9, 0x98, /* 0xC0-0xC3 */ + 0xE9, 0x99, 0xE9, 0x9A, 0xE9, 0x9B, 0xE9, 0x9C, /* 0xC4-0xC7 */ + 0xE9, 0x9D, 0xE9, 0x9E, 0xE9, 0x9F, 0xE9, 0xA0, /* 0xC8-0xCB */ + 0xEA, 0x40, 0xEA, 0x41, 0xEA, 0x42, 0xEA, 0x43, /* 0xCC-0xCF */ + 0xEA, 0x44, 0xEA, 0x45, 0xEA, 0x46, 0xEA, 0x47, /* 0xD0-0xD3 */ + 0xEA, 0x48, 0xEA, 0x49, 0xEA, 0x4A, 0xEA, 0x4B, /* 0xD4-0xD7 */ + 0xEA, 0x4C, 0xEA, 0x4D, 0xEA, 0x4E, 0xEA, 0x4F, /* 0xD8-0xDB */ + 0xEA, 0x50, 0xEA, 0x51, 0xEA, 0x52, 0xEA, 0x53, /* 0xDC-0xDF */ + 0xEA, 0x54, 0xEA, 0x55, 0xEA, 0x56, 0xEA, 0x57, /* 0xE0-0xE3 */ + 0xEA, 0x58, 0xEA, 0x59, 0xEA, 0x5A, 0xEA, 0x5B, /* 0xE4-0xE7 */ + 0xC3, 0xC5, 0xE3, 0xC5, 0xC9, 0xC1, 0xE3, 0xC6, /* 0xE8-0xEB */ + 0xEA, 0x5C, 0xB1, 0xD5, 0xCE, 0xCA, 0xB4, 0xB3, /* 0xEC-0xEF */ + 0xC8, 0xF2, 0xE3, 0xC7, 0xCF, 0xD0, 0xE3, 0xC8, /* 0xF0-0xF3 */ + 0xBC, 0xE4, 0xE3, 0xC9, 0xE3, 0xCA, 0xC3, 0xC6, /* 0xF4-0xF7 */ + 0xD5, 0xA2, 0xC4, 0xD6, 0xB9, 0xEB, 0xCE, 0xC5, /* 0xF8-0xFB */ + 0xE3, 0xCB, 0xC3, 0xF6, 0xE3, 0xCC, 0xEA, 0x5D, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_96[512] = { + 0xB7, 0xA7, 0xB8, 0xF3, 0xBA, 0xD2, 0xE3, 0xCD, /* 0x00-0x03 */ + 0xE3, 0xCE, 0xD4, 0xC4, 0xE3, 0xCF, 0xEA, 0x5E, /* 0x04-0x07 */ + 0xE3, 0xD0, 0xD1, 0xCB, 0xE3, 0xD1, 0xE3, 0xD2, /* 0x08-0x0B */ + 0xE3, 0xD3, 0xE3, 0xD4, 0xD1, 0xD6, 0xE3, 0xD5, /* 0x0C-0x0F */ + 0xB2, 0xFB, 0xC0, 0xBB, 0xE3, 0xD6, 0xEA, 0x5F, /* 0x10-0x13 */ + 0xC0, 0xAB, 0xE3, 0xD7, 0xE3, 0xD8, 0xE3, 0xD9, /* 0x14-0x17 */ + 0xEA, 0x60, 0xE3, 0xDA, 0xE3, 0xDB, 0xEA, 0x61, /* 0x18-0x1B */ + 0xB8, 0xB7, 0xDA, 0xE2, 0xEA, 0x62, 0xB6, 0xD3, /* 0x1C-0x1F */ + 0xEA, 0x63, 0xDA, 0xE4, 0xDA, 0xE3, 0xEA, 0x64, /* 0x20-0x23 */ + 0xEA, 0x65, 0xEA, 0x66, 0xEA, 0x67, 0xEA, 0x68, /* 0x24-0x27 */ + 0xEA, 0x69, 0xEA, 0x6A, 0xDA, 0xE6, 0xEA, 0x6B, /* 0x28-0x2B */ + 0xEA, 0x6C, 0xEA, 0x6D, 0xC8, 0xEE, 0xEA, 0x6E, /* 0x2C-0x2F */ + 0xEA, 0x6F, 0xDA, 0xE5, 0xB7, 0xC0, 0xD1, 0xF4, /* 0x30-0x33 */ + 0xD2, 0xF5, 0xD5, 0xF3, 0xBD, 0xD7, 0xEA, 0x70, /* 0x34-0x37 */ + 0xEA, 0x71, 0xEA, 0x72, 0xEA, 0x73, 0xD7, 0xE8, /* 0x38-0x3B */ + 0xDA, 0xE8, 0xDA, 0xE7, 0xEA, 0x74, 0xB0, 0xA2, /* 0x3C-0x3F */ + 0xCD, 0xD3, 0xEA, 0x75, 0xDA, 0xE9, 0xEA, 0x76, /* 0x40-0x43 */ + 0xB8, 0xBD, 0xBC, 0xCA, 0xC2, 0xBD, 0xC2, 0xA4, /* 0x44-0x47 */ + 0xB3, 0xC2, 0xDA, 0xEA, 0xEA, 0x77, 0xC2, 0xAA, /* 0x48-0x4B */ + 0xC4, 0xB0, 0xBD, 0xB5, 0xEA, 0x78, 0xEA, 0x79, /* 0x4C-0x4F */ + 0xCF, 0xDE, 0xEA, 0x7A, 0xEA, 0x7B, 0xEA, 0x7C, /* 0x50-0x53 */ + 0xDA, 0xEB, 0xC9, 0xC2, 0xEA, 0x7D, 0xEA, 0x7E, /* 0x54-0x57 */ + 0xEA, 0x80, 0xEA, 0x81, 0xEA, 0x82, 0xB1, 0xDD, /* 0x58-0x5B */ + 0xEA, 0x83, 0xEA, 0x84, 0xEA, 0x85, 0xDA, 0xEC, /* 0x5C-0x5F */ + 0xEA, 0x86, 0xB6, 0xB8, 0xD4, 0xBA, 0xEA, 0x87, /* 0x60-0x63 */ + 0xB3, 0xFD, 0xEA, 0x88, 0xEA, 0x89, 0xDA, 0xED, /* 0x64-0x67 */ + 0xD4, 0xC9, 0xCF, 0xD5, 0xC5, 0xE3, 0xEA, 0x8A, /* 0x68-0x6B */ + 0xDA, 0xEE, 0xEA, 0x8B, 0xEA, 0x8C, 0xEA, 0x8D, /* 0x6C-0x6F */ + 0xEA, 0x8E, 0xEA, 0x8F, 0xDA, 0xEF, 0xEA, 0x90, /* 0x70-0x73 */ + 0xDA, 0xF0, 0xC1, 0xEA, 0xCC, 0xD5, 0xCF, 0xDD, /* 0x74-0x77 */ + 0xEA, 0x91, 0xEA, 0x92, 0xEA, 0x93, 0xEA, 0x94, /* 0x78-0x7B */ + 0xEA, 0x95, 0xEA, 0x96, 0xEA, 0x97, 0xEA, 0x98, /* 0x7C-0x7F */ + + 0xEA, 0x99, 0xEA, 0x9A, 0xEA, 0x9B, 0xEA, 0x9C, /* 0x80-0x83 */ + 0xEA, 0x9D, 0xD3, 0xE7, 0xC2, 0xA1, 0xEA, 0x9E, /* 0x84-0x87 */ + 0xDA, 0xF1, 0xEA, 0x9F, 0xEA, 0xA0, 0xCB, 0xE5, /* 0x88-0x8B */ + 0xEB, 0x40, 0xDA, 0xF2, 0xEB, 0x41, 0xCB, 0xE6, /* 0x8C-0x8F */ + 0xD2, 0xFE, 0xEB, 0x42, 0xEB, 0x43, 0xEB, 0x44, /* 0x90-0x93 */ + 0xB8, 0xF4, 0xEB, 0x45, 0xEB, 0x46, 0xDA, 0xF3, /* 0x94-0x97 */ + 0xB0, 0xAF, 0xCF, 0xB6, 0xEB, 0x47, 0xEB, 0x48, /* 0x98-0x9B */ + 0xD5, 0xCF, 0xEB, 0x49, 0xEB, 0x4A, 0xEB, 0x4B, /* 0x9C-0x9F */ + 0xEB, 0x4C, 0xEB, 0x4D, 0xEB, 0x4E, 0xEB, 0x4F, /* 0xA0-0xA3 */ + 0xEB, 0x50, 0xEB, 0x51, 0xEB, 0x52, 0xCB, 0xED, /* 0xA4-0xA7 */ + 0xEB, 0x53, 0xEB, 0x54, 0xEB, 0x55, 0xEB, 0x56, /* 0xA8-0xAB */ + 0xEB, 0x57, 0xEB, 0x58, 0xEB, 0x59, 0xEB, 0x5A, /* 0xAC-0xAF */ + 0xDA, 0xF4, 0xEB, 0x5B, 0xEB, 0x5C, 0xE3, 0xC4, /* 0xB0-0xB3 */ + 0xEB, 0x5D, 0xEB, 0x5E, 0xC1, 0xA5, 0xEB, 0x5F, /* 0xB4-0xB7 */ + 0xEB, 0x60, 0xF6, 0xBF, 0xEB, 0x61, 0xEB, 0x62, /* 0xB8-0xBB */ + 0xF6, 0xC0, 0xF6, 0xC1, 0xC4, 0xD1, 0xEB, 0x63, /* 0xBC-0xBF */ + 0xC8, 0xB8, 0xD1, 0xE3, 0xEB, 0x64, 0xEB, 0x65, /* 0xC0-0xC3 */ + 0xD0, 0xDB, 0xD1, 0xC5, 0xBC, 0xAF, 0xB9, 0xCD, /* 0xC4-0xC7 */ + 0xEB, 0x66, 0xEF, 0xF4, 0xEB, 0x67, 0xEB, 0x68, /* 0xC8-0xCB */ + 0xB4, 0xC6, 0xD3, 0xBA, 0xF6, 0xC2, 0xB3, 0xFB, /* 0xCC-0xCF */ + 0xEB, 0x69, 0xEB, 0x6A, 0xF6, 0xC3, 0xEB, 0x6B, /* 0xD0-0xD3 */ + 0xEB, 0x6C, 0xB5, 0xF1, 0xEB, 0x6D, 0xEB, 0x6E, /* 0xD4-0xD7 */ + 0xEB, 0x6F, 0xEB, 0x70, 0xEB, 0x71, 0xEB, 0x72, /* 0xD8-0xDB */ + 0xEB, 0x73, 0xEB, 0x74, 0xEB, 0x75, 0xEB, 0x76, /* 0xDC-0xDF */ + 0xF6, 0xC5, 0xEB, 0x77, 0xEB, 0x78, 0xEB, 0x79, /* 0xE0-0xE3 */ + 0xEB, 0x7A, 0xEB, 0x7B, 0xEB, 0x7C, 0xEB, 0x7D, /* 0xE4-0xE7 */ + 0xD3, 0xEA, 0xF6, 0xA7, 0xD1, 0xA9, 0xEB, 0x7E, /* 0xE8-0xEB */ + 0xEB, 0x80, 0xEB, 0x81, 0xEB, 0x82, 0xF6, 0xA9, /* 0xEC-0xEF */ + 0xEB, 0x83, 0xEB, 0x84, 0xEB, 0x85, 0xF6, 0xA8, /* 0xF0-0xF3 */ + 0xEB, 0x86, 0xEB, 0x87, 0xC1, 0xE3, 0xC0, 0xD7, /* 0xF4-0xF7 */ + 0xEB, 0x88, 0xB1, 0xA2, 0xEB, 0x89, 0xEB, 0x8A, /* 0xF8-0xFB */ + 0xEB, 0x8B, 0xEB, 0x8C, 0xCE, 0xED, 0xEB, 0x8D, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_97[512] = { + 0xD0, 0xE8, 0xF6, 0xAB, 0xEB, 0x8E, 0xEB, 0x8F, /* 0x00-0x03 */ + 0xCF, 0xF6, 0xEB, 0x90, 0xF6, 0xAA, 0xD5, 0xF0, /* 0x04-0x07 */ + 0xF6, 0xAC, 0xC3, 0xB9, 0xEB, 0x91, 0xEB, 0x92, /* 0x08-0x0B */ + 0xEB, 0x93, 0xBB, 0xF4, 0xF6, 0xAE, 0xF6, 0xAD, /* 0x0C-0x0F */ + 0xEB, 0x94, 0xEB, 0x95, 0xEB, 0x96, 0xC4, 0xDE, /* 0x10-0x13 */ + 0xEB, 0x97, 0xEB, 0x98, 0xC1, 0xD8, 0xEB, 0x99, /* 0x14-0x17 */ + 0xEB, 0x9A, 0xEB, 0x9B, 0xEB, 0x9C, 0xEB, 0x9D, /* 0x18-0x1B */ + 0xCB, 0xAA, 0xEB, 0x9E, 0xCF, 0xBC, 0xEB, 0x9F, /* 0x1C-0x1F */ + 0xEB, 0xA0, 0xEC, 0x40, 0xEC, 0x41, 0xEC, 0x42, /* 0x20-0x23 */ + 0xEC, 0x43, 0xEC, 0x44, 0xEC, 0x45, 0xEC, 0x46, /* 0x24-0x27 */ + 0xEC, 0x47, 0xEC, 0x48, 0xF6, 0xAF, 0xEC, 0x49, /* 0x28-0x2B */ + 0xEC, 0x4A, 0xF6, 0xB0, 0xEC, 0x4B, 0xEC, 0x4C, /* 0x2C-0x2F */ + 0xF6, 0xB1, 0xEC, 0x4D, 0xC2, 0xB6, 0xEC, 0x4E, /* 0x30-0x33 */ + 0xEC, 0x4F, 0xEC, 0x50, 0xEC, 0x51, 0xEC, 0x52, /* 0x34-0x37 */ + 0xB0, 0xD4, 0xC5, 0xF9, 0xEC, 0x53, 0xEC, 0x54, /* 0x38-0x3B */ + 0xEC, 0x55, 0xEC, 0x56, 0xF6, 0xB2, 0xEC, 0x57, /* 0x3C-0x3F */ + 0xEC, 0x58, 0xEC, 0x59, 0xEC, 0x5A, 0xEC, 0x5B, /* 0x40-0x43 */ + 0xEC, 0x5C, 0xEC, 0x5D, 0xEC, 0x5E, 0xEC, 0x5F, /* 0x44-0x47 */ + 0xEC, 0x60, 0xEC, 0x61, 0xEC, 0x62, 0xEC, 0x63, /* 0x48-0x4B */ + 0xEC, 0x64, 0xEC, 0x65, 0xEC, 0x66, 0xEC, 0x67, /* 0x4C-0x4F */ + 0xEC, 0x68, 0xEC, 0x69, 0xC7, 0xE0, 0xF6, 0xA6, /* 0x50-0x53 */ + 0xEC, 0x6A, 0xEC, 0x6B, 0xBE, 0xB8, 0xEC, 0x6C, /* 0x54-0x57 */ + 0xEC, 0x6D, 0xBE, 0xB2, 0xEC, 0x6E, 0xB5, 0xE5, /* 0x58-0x5B */ + 0xEC, 0x6F, 0xEC, 0x70, 0xB7, 0xC7, 0xEC, 0x71, /* 0x5C-0x5F */ + 0xBF, 0xBF, 0xC3, 0xD2, 0xC3, 0xE6, 0xEC, 0x72, /* 0x60-0x63 */ + 0xEC, 0x73, 0xD8, 0xCC, 0xEC, 0x74, 0xEC, 0x75, /* 0x64-0x67 */ + 0xEC, 0x76, 0xB8, 0xEF, 0xEC, 0x77, 0xEC, 0x78, /* 0x68-0x6B */ + 0xEC, 0x79, 0xEC, 0x7A, 0xEC, 0x7B, 0xEC, 0x7C, /* 0x6C-0x6F */ + 0xEC, 0x7D, 0xEC, 0x7E, 0xEC, 0x80, 0xBD, 0xF9, /* 0x70-0x73 */ + 0xD1, 0xA5, 0xEC, 0x81, 0xB0, 0xD0, 0xEC, 0x82, /* 0x74-0x77 */ + 0xEC, 0x83, 0xEC, 0x84, 0xEC, 0x85, 0xEC, 0x86, /* 0x78-0x7B */ + 0xF7, 0xB0, 0xEC, 0x87, 0xEC, 0x88, 0xEC, 0x89, /* 0x7C-0x7F */ + + 0xEC, 0x8A, 0xEC, 0x8B, 0xEC, 0x8C, 0xEC, 0x8D, /* 0x80-0x83 */ + 0xEC, 0x8E, 0xF7, 0xB1, 0xEC, 0x8F, 0xEC, 0x90, /* 0x84-0x87 */ + 0xEC, 0x91, 0xEC, 0x92, 0xEC, 0x93, 0xD0, 0xAC, /* 0x88-0x8B */ + 0xEC, 0x94, 0xB0, 0xB0, 0xEC, 0x95, 0xEC, 0x96, /* 0x8C-0x8F */ + 0xEC, 0x97, 0xF7, 0xB2, 0xF7, 0xB3, 0xEC, 0x98, /* 0x90-0x93 */ + 0xF7, 0xB4, 0xEC, 0x99, 0xEC, 0x9A, 0xEC, 0x9B, /* 0x94-0x97 */ + 0xC7, 0xCA, 0xEC, 0x9C, 0xEC, 0x9D, 0xEC, 0x9E, /* 0x98-0x9B */ + 0xEC, 0x9F, 0xEC, 0xA0, 0xED, 0x40, 0xED, 0x41, /* 0x9C-0x9F */ + 0xBE, 0xCF, 0xED, 0x42, 0xED, 0x43, 0xF7, 0xB7, /* 0xA0-0xA3 */ + 0xED, 0x44, 0xED, 0x45, 0xED, 0x46, 0xED, 0x47, /* 0xA4-0xA7 */ + 0xED, 0x48, 0xED, 0x49, 0xED, 0x4A, 0xF7, 0xB6, /* 0xA8-0xAB */ + 0xED, 0x4B, 0xB1, 0xDE, 0xED, 0x4C, 0xF7, 0xB5, /* 0xAC-0xAF */ + 0xED, 0x4D, 0xED, 0x4E, 0xF7, 0xB8, 0xED, 0x4F, /* 0xB0-0xB3 */ + 0xF7, 0xB9, 0xED, 0x50, 0xED, 0x51, 0xED, 0x52, /* 0xB4-0xB7 */ + 0xED, 0x53, 0xED, 0x54, 0xED, 0x55, 0xED, 0x56, /* 0xB8-0xBB */ + 0xED, 0x57, 0xED, 0x58, 0xED, 0x59, 0xED, 0x5A, /* 0xBC-0xBF */ + 0xED, 0x5B, 0xED, 0x5C, 0xED, 0x5D, 0xED, 0x5E, /* 0xC0-0xC3 */ + 0xED, 0x5F, 0xED, 0x60, 0xED, 0x61, 0xED, 0x62, /* 0xC4-0xC7 */ + 0xED, 0x63, 0xED, 0x64, 0xED, 0x65, 0xED, 0x66, /* 0xC8-0xCB */ + 0xED, 0x67, 0xED, 0x68, 0xED, 0x69, 0xED, 0x6A, /* 0xCC-0xCF */ + 0xED, 0x6B, 0xED, 0x6C, 0xED, 0x6D, 0xED, 0x6E, /* 0xD0-0xD3 */ + 0xED, 0x6F, 0xED, 0x70, 0xED, 0x71, 0xED, 0x72, /* 0xD4-0xD7 */ + 0xED, 0x73, 0xED, 0x74, 0xED, 0x75, 0xED, 0x76, /* 0xD8-0xDB */ + 0xED, 0x77, 0xED, 0x78, 0xED, 0x79, 0xED, 0x7A, /* 0xDC-0xDF */ + 0xED, 0x7B, 0xED, 0x7C, 0xED, 0x7D, 0xED, 0x7E, /* 0xE0-0xE3 */ + 0xED, 0x80, 0xED, 0x81, 0xCE, 0xA4, 0xC8, 0xCD, /* 0xE4-0xE7 */ + 0xED, 0x82, 0xBA, 0xAB, 0xE8, 0xB8, 0xE8, 0xB9, /* 0xE8-0xEB */ + 0xE8, 0xBA, 0xBE, 0xC2, 0xED, 0x83, 0xED, 0x84, /* 0xEC-0xEF */ + 0xED, 0x85, 0xED, 0x86, 0xED, 0x87, 0xD2, 0xF4, /* 0xF0-0xF3 */ + 0xED, 0x88, 0xD4, 0xCF, 0xC9, 0xD8, 0xED, 0x89, /* 0xF4-0xF7 */ + 0xED, 0x8A, 0xED, 0x8B, 0xED, 0x8C, 0xED, 0x8D, /* 0xF8-0xFB */ + 0xED, 0x8E, 0xED, 0x8F, 0xED, 0x90, 0xED, 0x91, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_98[512] = { + 0xED, 0x92, 0xED, 0x93, 0xED, 0x94, 0xED, 0x95, /* 0x00-0x03 */ + 0xED, 0x96, 0xED, 0x97, 0xED, 0x98, 0xED, 0x99, /* 0x04-0x07 */ + 0xED, 0x9A, 0xED, 0x9B, 0xED, 0x9C, 0xED, 0x9D, /* 0x08-0x0B */ + 0xED, 0x9E, 0xED, 0x9F, 0xED, 0xA0, 0xEE, 0x40, /* 0x0C-0x0F */ + 0xEE, 0x41, 0xEE, 0x42, 0xEE, 0x43, 0xEE, 0x44, /* 0x10-0x13 */ + 0xEE, 0x45, 0xEE, 0x46, 0xEE, 0x47, 0xEE, 0x48, /* 0x14-0x17 */ + 0xEE, 0x49, 0xEE, 0x4A, 0xEE, 0x4B, 0xEE, 0x4C, /* 0x18-0x1B */ + 0xEE, 0x4D, 0xEE, 0x4E, 0xEE, 0x4F, 0xEE, 0x50, /* 0x1C-0x1F */ + 0xEE, 0x51, 0xEE, 0x52, 0xEE, 0x53, 0xEE, 0x54, /* 0x20-0x23 */ + 0xEE, 0x55, 0xEE, 0x56, 0xEE, 0x57, 0xEE, 0x58, /* 0x24-0x27 */ + 0xEE, 0x59, 0xEE, 0x5A, 0xEE, 0x5B, 0xEE, 0x5C, /* 0x28-0x2B */ + 0xEE, 0x5D, 0xEE, 0x5E, 0xEE, 0x5F, 0xEE, 0x60, /* 0x2C-0x2F */ + 0xEE, 0x61, 0xEE, 0x62, 0xEE, 0x63, 0xEE, 0x64, /* 0x30-0x33 */ + 0xEE, 0x65, 0xEE, 0x66, 0xEE, 0x67, 0xEE, 0x68, /* 0x34-0x37 */ + 0xEE, 0x69, 0xEE, 0x6A, 0xEE, 0x6B, 0xEE, 0x6C, /* 0x38-0x3B */ + 0xEE, 0x6D, 0xEE, 0x6E, 0xEE, 0x6F, 0xEE, 0x70, /* 0x3C-0x3F */ + 0xEE, 0x71, 0xEE, 0x72, 0xEE, 0x73, 0xEE, 0x74, /* 0x40-0x43 */ + 0xEE, 0x75, 0xEE, 0x76, 0xEE, 0x77, 0xEE, 0x78, /* 0x44-0x47 */ + 0xEE, 0x79, 0xEE, 0x7A, 0xEE, 0x7B, 0xEE, 0x7C, /* 0x48-0x4B */ + 0xEE, 0x7D, 0xEE, 0x7E, 0xEE, 0x80, 0xEE, 0x81, /* 0x4C-0x4F */ + 0xEE, 0x82, 0xEE, 0x83, 0xEE, 0x84, 0xEE, 0x85, /* 0x50-0x53 */ + 0xEE, 0x86, 0xEE, 0x87, 0xEE, 0x88, 0xEE, 0x89, /* 0x54-0x57 */ + 0xEE, 0x8A, 0xEE, 0x8B, 0xEE, 0x8C, 0xEE, 0x8D, /* 0x58-0x5B */ + 0xEE, 0x8E, 0xEE, 0x8F, 0xEE, 0x90, 0xEE, 0x91, /* 0x5C-0x5F */ + 0xEE, 0x92, 0xEE, 0x93, 0xEE, 0x94, 0xEE, 0x95, /* 0x60-0x63 */ + 0xEE, 0x96, 0xEE, 0x97, 0xEE, 0x98, 0xEE, 0x99, /* 0x64-0x67 */ + 0xEE, 0x9A, 0xEE, 0x9B, 0xEE, 0x9C, 0xEE, 0x9D, /* 0x68-0x6B */ + 0xEE, 0x9E, 0xEE, 0x9F, 0xEE, 0xA0, 0xEF, 0x40, /* 0x6C-0x6F */ + 0xEF, 0x41, 0xEF, 0x42, 0xEF, 0x43, 0xEF, 0x44, /* 0x70-0x73 */ + 0xEF, 0x45, 0xD2, 0xB3, 0xB6, 0xA5, 0xC7, 0xEA, /* 0x74-0x77 */ + 0xF1, 0xFC, 0xCF, 0xEE, 0xCB, 0xB3, 0xD0, 0xEB, /* 0x78-0x7B */ + 0xE7, 0xEF, 0xCD, 0xE7, 0xB9, 0xCB, 0xB6, 0xD9, /* 0x7C-0x7F */ + + 0xF1, 0xFD, 0xB0, 0xE4, 0xCB, 0xCC, 0xF1, 0xFE, /* 0x80-0x83 */ + 0xD4, 0xA4, 0xC2, 0xAD, 0xC1, 0xEC, 0xC6, 0xC4, /* 0x84-0x87 */ + 0xBE, 0xB1, 0xF2, 0xA1, 0xBC, 0xD5, 0xEF, 0x46, /* 0x88-0x8B */ + 0xF2, 0xA2, 0xF2, 0xA3, 0xEF, 0x47, 0xF2, 0xA4, /* 0x8C-0x8F */ + 0xD2, 0xC3, 0xC6, 0xB5, 0xEF, 0x48, 0xCD, 0xC7, /* 0x90-0x93 */ + 0xF2, 0xA5, 0xEF, 0x49, 0xD3, 0xB1, 0xBF, 0xC5, /* 0x94-0x97 */ + 0xCC, 0xE2, 0xEF, 0x4A, 0xF2, 0xA6, 0xF2, 0xA7, /* 0x98-0x9B */ + 0xD1, 0xD5, 0xB6, 0xEE, 0xF2, 0xA8, 0xF2, 0xA9, /* 0x9C-0x9F */ + 0xB5, 0xDF, 0xF2, 0xAA, 0xF2, 0xAB, 0xEF, 0x4B, /* 0xA0-0xA3 */ + 0xB2, 0xFC, 0xF2, 0xAC, 0xF2, 0xAD, 0xC8, 0xA7, /* 0xA4-0xA7 */ + 0xEF, 0x4C, 0xEF, 0x4D, 0xEF, 0x4E, 0xEF, 0x4F, /* 0xA8-0xAB */ + 0xEF, 0x50, 0xEF, 0x51, 0xEF, 0x52, 0xEF, 0x53, /* 0xAC-0xAF */ + 0xEF, 0x54, 0xEF, 0x55, 0xEF, 0x56, 0xEF, 0x57, /* 0xB0-0xB3 */ + 0xEF, 0x58, 0xEF, 0x59, 0xEF, 0x5A, 0xEF, 0x5B, /* 0xB4-0xB7 */ + 0xEF, 0x5C, 0xEF, 0x5D, 0xEF, 0x5E, 0xEF, 0x5F, /* 0xB8-0xBB */ + 0xEF, 0x60, 0xEF, 0x61, 0xEF, 0x62, 0xEF, 0x63, /* 0xBC-0xBF */ + 0xEF, 0x64, 0xEF, 0x65, 0xEF, 0x66, 0xEF, 0x67, /* 0xC0-0xC3 */ + 0xEF, 0x68, 0xEF, 0x69, 0xEF, 0x6A, 0xEF, 0x6B, /* 0xC4-0xC7 */ + 0xEF, 0x6C, 0xEF, 0x6D, 0xEF, 0x6E, 0xEF, 0x6F, /* 0xC8-0xCB */ + 0xEF, 0x70, 0xEF, 0x71, 0xB7, 0xE7, 0xEF, 0x72, /* 0xCC-0xCF */ + 0xEF, 0x73, 0xEC, 0xA9, 0xEC, 0xAA, 0xEC, 0xAB, /* 0xD0-0xD3 */ + 0xEF, 0x74, 0xEC, 0xAC, 0xEF, 0x75, 0xEF, 0x76, /* 0xD4-0xD7 */ + 0xC6, 0xAE, 0xEC, 0xAD, 0xEC, 0xAE, 0xEF, 0x77, /* 0xD8-0xDB */ + 0xEF, 0x78, 0xEF, 0x79, 0xB7, 0xC9, 0xCA, 0xB3, /* 0xDC-0xDF */ + 0xEF, 0x7A, 0xEF, 0x7B, 0xEF, 0x7C, 0xEF, 0x7D, /* 0xE0-0xE3 */ + 0xEF, 0x7E, 0xEF, 0x80, 0xEF, 0x81, 0xE2, 0xB8, /* 0xE4-0xE7 */ + 0xF7, 0xCF, 0xEF, 0x82, 0xEF, 0x83, 0xEF, 0x84, /* 0xE8-0xEB */ + 0xEF, 0x85, 0xEF, 0x86, 0xEF, 0x87, 0xEF, 0x88, /* 0xEC-0xEF */ + 0xEF, 0x89, 0xEF, 0x8A, 0xEF, 0x8B, 0xEF, 0x8C, /* 0xF0-0xF3 */ + 0xEF, 0x8D, 0xEF, 0x8E, 0xEF, 0x8F, 0xEF, 0x90, /* 0xF4-0xF7 */ + 0xEF, 0x91, 0xEF, 0x92, 0xEF, 0x93, 0xEF, 0x94, /* 0xF8-0xFB */ + 0xEF, 0x95, 0xEF, 0x96, 0xEF, 0x97, 0xEF, 0x98, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_99[512] = { + 0xEF, 0x99, 0xEF, 0x9A, 0xEF, 0x9B, 0xEF, 0x9C, /* 0x00-0x03 */ + 0xEF, 0x9D, 0xEF, 0x9E, 0xEF, 0x9F, 0xEF, 0xA0, /* 0x04-0x07 */ + 0xF0, 0x40, 0xF0, 0x41, 0xF0, 0x42, 0xF0, 0x43, /* 0x08-0x0B */ + 0xF0, 0x44, 0xF7, 0xD0, 0xF0, 0x45, 0xF0, 0x46, /* 0x0C-0x0F */ + 0xB2, 0xCD, 0xF0, 0x47, 0xF0, 0x48, 0xF0, 0x49, /* 0x10-0x13 */ + 0xF0, 0x4A, 0xF0, 0x4B, 0xF0, 0x4C, 0xF0, 0x4D, /* 0x14-0x17 */ + 0xF0, 0x4E, 0xF0, 0x4F, 0xF0, 0x50, 0xF0, 0x51, /* 0x18-0x1B */ + 0xF0, 0x52, 0xF0, 0x53, 0xF0, 0x54, 0xF0, 0x55, /* 0x1C-0x1F */ + 0xF0, 0x56, 0xF0, 0x57, 0xF0, 0x58, 0xF0, 0x59, /* 0x20-0x23 */ + 0xF0, 0x5A, 0xF0, 0x5B, 0xF0, 0x5C, 0xF0, 0x5D, /* 0x24-0x27 */ + 0xF0, 0x5E, 0xF0, 0x5F, 0xF0, 0x60, 0xF0, 0x61, /* 0x28-0x2B */ + 0xF0, 0x62, 0xF0, 0x63, 0xF7, 0xD1, 0xF0, 0x64, /* 0x2C-0x2F */ + 0xF0, 0x65, 0xF0, 0x66, 0xF0, 0x67, 0xF0, 0x68, /* 0x30-0x33 */ + 0xF0, 0x69, 0xF0, 0x6A, 0xF0, 0x6B, 0xF0, 0x6C, /* 0x34-0x37 */ + 0xF0, 0x6D, 0xF0, 0x6E, 0xF0, 0x6F, 0xF0, 0x70, /* 0x38-0x3B */ + 0xF0, 0x71, 0xF0, 0x72, 0xF0, 0x73, 0xF0, 0x74, /* 0x3C-0x3F */ + 0xF0, 0x75, 0xF0, 0x76, 0xF0, 0x77, 0xF0, 0x78, /* 0x40-0x43 */ + 0xF0, 0x79, 0xF0, 0x7A, 0xF0, 0x7B, 0xF0, 0x7C, /* 0x44-0x47 */ + 0xF0, 0x7D, 0xF0, 0x7E, 0xF0, 0x80, 0xF0, 0x81, /* 0x48-0x4B */ + 0xF0, 0x82, 0xF0, 0x83, 0xF0, 0x84, 0xF0, 0x85, /* 0x4C-0x4F */ + 0xF0, 0x86, 0xF0, 0x87, 0xF0, 0x88, 0xF0, 0x89, /* 0x50-0x53 */ + 0xF7, 0xD3, 0xF7, 0xD2, 0xF0, 0x8A, 0xF0, 0x8B, /* 0x54-0x57 */ + 0xF0, 0x8C, 0xF0, 0x8D, 0xF0, 0x8E, 0xF0, 0x8F, /* 0x58-0x5B */ + 0xF0, 0x90, 0xF0, 0x91, 0xF0, 0x92, 0xF0, 0x93, /* 0x5C-0x5F */ + 0xF0, 0x94, 0xF0, 0x95, 0xF0, 0x96, 0xE2, 0xBB, /* 0x60-0x63 */ + 0xF0, 0x97, 0xBC, 0xA2, 0xF0, 0x98, 0xE2, 0xBC, /* 0x64-0x67 */ + 0xE2, 0xBD, 0xE2, 0xBE, 0xE2, 0xBF, 0xE2, 0xC0, /* 0x68-0x6B */ + 0xE2, 0xC1, 0xB7, 0xB9, 0xD2, 0xFB, 0xBD, 0xA4, /* 0x6C-0x6F */ + 0xCA, 0xCE, 0xB1, 0xA5, 0xCB, 0xC7, 0xF0, 0x99, /* 0x70-0x73 */ + 0xE2, 0xC2, 0xB6, 0xFC, 0xC8, 0xC4, 0xE2, 0xC3, /* 0x74-0x77 */ + 0xF0, 0x9A, 0xF0, 0x9B, 0xBD, 0xC8, 0xF0, 0x9C, /* 0x78-0x7B */ + 0xB1, 0xFD, 0xE2, 0xC4, 0xF0, 0x9D, 0xB6, 0xF6, /* 0x7C-0x7F */ + + 0xE2, 0xC5, 0xC4, 0xD9, 0xF0, 0x9E, 0xF0, 0x9F, /* 0x80-0x83 */ + 0xE2, 0xC6, 0xCF, 0xDA, 0xB9, 0xDD, 0xE2, 0xC7, /* 0x84-0x87 */ + 0xC0, 0xA1, 0xF0, 0xA0, 0xE2, 0xC8, 0xB2, 0xF6, /* 0x88-0x8B */ + 0xF1, 0x40, 0xE2, 0xC9, 0xF1, 0x41, 0xC1, 0xF3, /* 0x8C-0x8F */ + 0xE2, 0xCA, 0xE2, 0xCB, 0xC2, 0xF8, 0xE2, 0xCC, /* 0x90-0x93 */ + 0xE2, 0xCD, 0xE2, 0xCE, 0xCA, 0xD7, 0xD8, 0xB8, /* 0x94-0x97 */ + 0xD9, 0xE5, 0xCF, 0xE3, 0xF1, 0x42, 0xF1, 0x43, /* 0x98-0x9B */ + 0xF1, 0x44, 0xF1, 0x45, 0xF1, 0x46, 0xF1, 0x47, /* 0x9C-0x9F */ + 0xF1, 0x48, 0xF1, 0x49, 0xF1, 0x4A, 0xF1, 0x4B, /* 0xA0-0xA3 */ + 0xF1, 0x4C, 0xF0, 0xA5, 0xF1, 0x4D, 0xF1, 0x4E, /* 0xA4-0xA7 */ + 0xDC, 0xB0, 0xF1, 0x4F, 0xF1, 0x50, 0xF1, 0x51, /* 0xA8-0xAB */ + 0xF1, 0x52, 0xF1, 0x53, 0xF1, 0x54, 0xF1, 0x55, /* 0xAC-0xAF */ + 0xF1, 0x56, 0xF1, 0x57, 0xF1, 0x58, 0xF1, 0x59, /* 0xB0-0xB3 */ + 0xF1, 0x5A, 0xF1, 0x5B, 0xF1, 0x5C, 0xF1, 0x5D, /* 0xB4-0xB7 */ + 0xF1, 0x5E, 0xF1, 0x5F, 0xF1, 0x60, 0xF1, 0x61, /* 0xB8-0xBB */ + 0xF1, 0x62, 0xF1, 0x63, 0xF1, 0x64, 0xF1, 0x65, /* 0xBC-0xBF */ + 0xF1, 0x66, 0xF1, 0x67, 0xF1, 0x68, 0xF1, 0x69, /* 0xC0-0xC3 */ + 0xF1, 0x6A, 0xF1, 0x6B, 0xF1, 0x6C, 0xF1, 0x6D, /* 0xC4-0xC7 */ + 0xF1, 0x6E, 0xF1, 0x6F, 0xF1, 0x70, 0xF1, 0x71, /* 0xC8-0xCB */ + 0xF1, 0x72, 0xF1, 0x73, 0xF1, 0x74, 0xF1, 0x75, /* 0xCC-0xCF */ + 0xF1, 0x76, 0xF1, 0x77, 0xF1, 0x78, 0xF1, 0x79, /* 0xD0-0xD3 */ + 0xF1, 0x7A, 0xF1, 0x7B, 0xF1, 0x7C, 0xF1, 0x7D, /* 0xD4-0xD7 */ + 0xF1, 0x7E, 0xF1, 0x80, 0xF1, 0x81, 0xF1, 0x82, /* 0xD8-0xDB */ + 0xF1, 0x83, 0xF1, 0x84, 0xF1, 0x85, 0xF1, 0x86, /* 0xDC-0xDF */ + 0xF1, 0x87, 0xF1, 0x88, 0xF1, 0x89, 0xF1, 0x8A, /* 0xE0-0xE3 */ + 0xF1, 0x8B, 0xF1, 0x8C, 0xF1, 0x8D, 0xF1, 0x8E, /* 0xE4-0xE7 */ + 0xF1, 0x8F, 0xF1, 0x90, 0xF1, 0x91, 0xF1, 0x92, /* 0xE8-0xEB */ + 0xF1, 0x93, 0xF1, 0x94, 0xF1, 0x95, 0xF1, 0x96, /* 0xEC-0xEF */ + 0xF1, 0x97, 0xF1, 0x98, 0xF1, 0x99, 0xF1, 0x9A, /* 0xF0-0xF3 */ + 0xF1, 0x9B, 0xF1, 0x9C, 0xF1, 0x9D, 0xF1, 0x9E, /* 0xF4-0xF7 */ + 0xF1, 0x9F, 0xF1, 0xA0, 0xF2, 0x40, 0xF2, 0x41, /* 0xF8-0xFB */ + 0xF2, 0x42, 0xF2, 0x43, 0xF2, 0x44, 0xF2, 0x45, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9A[512] = { + 0xF2, 0x46, 0xF2, 0x47, 0xF2, 0x48, 0xF2, 0x49, /* 0x00-0x03 */ + 0xF2, 0x4A, 0xF2, 0x4B, 0xF2, 0x4C, 0xF2, 0x4D, /* 0x04-0x07 */ + 0xF2, 0x4E, 0xF2, 0x4F, 0xF2, 0x50, 0xF2, 0x51, /* 0x08-0x0B */ + 0xF2, 0x52, 0xF2, 0x53, 0xF2, 0x54, 0xF2, 0x55, /* 0x0C-0x0F */ + 0xF2, 0x56, 0xF2, 0x57, 0xF2, 0x58, 0xF2, 0x59, /* 0x10-0x13 */ + 0xF2, 0x5A, 0xF2, 0x5B, 0xF2, 0x5C, 0xF2, 0x5D, /* 0x14-0x17 */ + 0xF2, 0x5E, 0xF2, 0x5F, 0xF2, 0x60, 0xF2, 0x61, /* 0x18-0x1B */ + 0xF2, 0x62, 0xF2, 0x63, 0xF2, 0x64, 0xF2, 0x65, /* 0x1C-0x1F */ + 0xF2, 0x66, 0xF2, 0x67, 0xF2, 0x68, 0xF2, 0x69, /* 0x20-0x23 */ + 0xF2, 0x6A, 0xF2, 0x6B, 0xF2, 0x6C, 0xF2, 0x6D, /* 0x24-0x27 */ + 0xF2, 0x6E, 0xF2, 0x6F, 0xF2, 0x70, 0xF2, 0x71, /* 0x28-0x2B */ + 0xF2, 0x72, 0xF2, 0x73, 0xF2, 0x74, 0xF2, 0x75, /* 0x2C-0x2F */ + 0xF2, 0x76, 0xF2, 0x77, 0xF2, 0x78, 0xF2, 0x79, /* 0x30-0x33 */ + 0xF2, 0x7A, 0xF2, 0x7B, 0xF2, 0x7C, 0xF2, 0x7D, /* 0x34-0x37 */ + 0xF2, 0x7E, 0xF2, 0x80, 0xF2, 0x81, 0xF2, 0x82, /* 0x38-0x3B */ + 0xF2, 0x83, 0xF2, 0x84, 0xF2, 0x85, 0xF2, 0x86, /* 0x3C-0x3F */ + 0xF2, 0x87, 0xF2, 0x88, 0xF2, 0x89, 0xF2, 0x8A, /* 0x40-0x43 */ + 0xF2, 0x8B, 0xF2, 0x8C, 0xF2, 0x8D, 0xF2, 0x8E, /* 0x44-0x47 */ + 0xF2, 0x8F, 0xF2, 0x90, 0xF2, 0x91, 0xF2, 0x92, /* 0x48-0x4B */ + 0xF2, 0x93, 0xF2, 0x94, 0xF2, 0x95, 0xF2, 0x96, /* 0x4C-0x4F */ + 0xF2, 0x97, 0xF2, 0x98, 0xF2, 0x99, 0xF2, 0x9A, /* 0x50-0x53 */ + 0xF2, 0x9B, 0xF2, 0x9C, 0xF2, 0x9D, 0xF2, 0x9E, /* 0x54-0x57 */ + 0xF2, 0x9F, 0xF2, 0xA0, 0xF3, 0x40, 0xF3, 0x41, /* 0x58-0x5B */ + 0xF3, 0x42, 0xF3, 0x43, 0xF3, 0x44, 0xF3, 0x45, /* 0x5C-0x5F */ + 0xF3, 0x46, 0xF3, 0x47, 0xF3, 0x48, 0xF3, 0x49, /* 0x60-0x63 */ + 0xF3, 0x4A, 0xF3, 0x4B, 0xF3, 0x4C, 0xF3, 0x4D, /* 0x64-0x67 */ + 0xF3, 0x4E, 0xF3, 0x4F, 0xF3, 0x50, 0xF3, 0x51, /* 0x68-0x6B */ + 0xC2, 0xED, 0xD4, 0xA6, 0xCD, 0xD4, 0xD1, 0xB1, /* 0x6C-0x6F */ + 0xB3, 0xDB, 0xC7, 0xFD, 0xF3, 0x52, 0xB2, 0xB5, /* 0x70-0x73 */ + 0xC2, 0xBF, 0xE6, 0xE0, 0xCA, 0xBB, 0xE6, 0xE1, /* 0x74-0x77 */ + 0xE6, 0xE2, 0xBE, 0xD4, 0xE6, 0xE3, 0xD7, 0xA4, /* 0x78-0x7B */ + 0xCD, 0xD5, 0xE6, 0xE5, 0xBC, 0xDD, 0xE6, 0xE4, /* 0x7C-0x7F */ + + 0xE6, 0xE6, 0xE6, 0xE7, 0xC2, 0xEE, 0xF3, 0x53, /* 0x80-0x83 */ + 0xBD, 0xBE, 0xE6, 0xE8, 0xC2, 0xE6, 0xBA, 0xA7, /* 0x84-0x87 */ + 0xE6, 0xE9, 0xF3, 0x54, 0xE6, 0xEA, 0xB3, 0xD2, /* 0x88-0x8B */ + 0xD1, 0xE9, 0xF3, 0x55, 0xF3, 0x56, 0xBF, 0xA5, /* 0x8C-0x8F */ + 0xE6, 0xEB, 0xC6, 0xEF, 0xE6, 0xEC, 0xE6, 0xED, /* 0x90-0x93 */ + 0xF3, 0x57, 0xF3, 0x58, 0xE6, 0xEE, 0xC6, 0xAD, /* 0x94-0x97 */ + 0xE6, 0xEF, 0xF3, 0x59, 0xC9, 0xA7, 0xE6, 0xF0, /* 0x98-0x9B */ + 0xE6, 0xF1, 0xE6, 0xF2, 0xE5, 0xB9, 0xE6, 0xF3, /* 0x9C-0x9F */ + 0xE6, 0xF4, 0xC2, 0xE2, 0xE6, 0xF5, 0xE6, 0xF6, /* 0xA0-0xA3 */ + 0xD6, 0xE8, 0xE6, 0xF7, 0xF3, 0x5A, 0xE6, 0xF8, /* 0xA4-0xA7 */ + 0xB9, 0xC7, 0xF3, 0x5B, 0xF3, 0x5C, 0xF3, 0x5D, /* 0xA8-0xAB */ + 0xF3, 0x5E, 0xF3, 0x5F, 0xF3, 0x60, 0xF3, 0x61, /* 0xAC-0xAF */ + 0xF7, 0xBB, 0xF7, 0xBA, 0xF3, 0x62, 0xF3, 0x63, /* 0xB0-0xB3 */ + 0xF3, 0x64, 0xF3, 0x65, 0xF7, 0xBE, 0xF7, 0xBC, /* 0xB4-0xB7 */ + 0xBA, 0xA1, 0xF3, 0x66, 0xF7, 0xBF, 0xF3, 0x67, /* 0xB8-0xBB */ + 0xF7, 0xC0, 0xF3, 0x68, 0xF3, 0x69, 0xF3, 0x6A, /* 0xBC-0xBF */ + 0xF7, 0xC2, 0xF7, 0xC1, 0xF7, 0xC4, 0xF3, 0x6B, /* 0xC0-0xC3 */ + 0xF3, 0x6C, 0xF7, 0xC3, 0xF3, 0x6D, 0xF3, 0x6E, /* 0xC4-0xC7 */ + 0xF3, 0x6F, 0xF3, 0x70, 0xF3, 0x71, 0xF7, 0xC5, /* 0xC8-0xCB */ + 0xF7, 0xC6, 0xF3, 0x72, 0xF3, 0x73, 0xF3, 0x74, /* 0xCC-0xCF */ + 0xF3, 0x75, 0xF7, 0xC7, 0xF3, 0x76, 0xCB, 0xE8, /* 0xD0-0xD3 */ + 0xF3, 0x77, 0xF3, 0x78, 0xF3, 0x79, 0xF3, 0x7A, /* 0xD4-0xD7 */ + 0xB8, 0xDF, 0xF3, 0x7B, 0xF3, 0x7C, 0xF3, 0x7D, /* 0xD8-0xDB */ + 0xF3, 0x7E, 0xF3, 0x80, 0xF3, 0x81, 0xF7, 0xD4, /* 0xDC-0xDF */ + 0xF3, 0x82, 0xF7, 0xD5, 0xF3, 0x83, 0xF3, 0x84, /* 0xE0-0xE3 */ + 0xF3, 0x85, 0xF3, 0x86, 0xF7, 0xD6, 0xF3, 0x87, /* 0xE4-0xE7 */ + 0xF3, 0x88, 0xF3, 0x89, 0xF3, 0x8A, 0xF7, 0xD8, /* 0xE8-0xEB */ + 0xF3, 0x8B, 0xF7, 0xDA, 0xF3, 0x8C, 0xF7, 0xD7, /* 0xEC-0xEF */ + 0xF3, 0x8D, 0xF3, 0x8E, 0xF3, 0x8F, 0xF3, 0x90, /* 0xF0-0xF3 */ + 0xF3, 0x91, 0xF3, 0x92, 0xF3, 0x93, 0xF3, 0x94, /* 0xF4-0xF7 */ + 0xF3, 0x95, 0xF7, 0xDB, 0xF3, 0x96, 0xF7, 0xD9, /* 0xF8-0xFB */ + 0xF3, 0x97, 0xF3, 0x98, 0xF3, 0x99, 0xF3, 0x9A, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9B[512] = { + 0xF3, 0x9B, 0xF3, 0x9C, 0xF3, 0x9D, 0xD7, 0xD7, /* 0x00-0x03 */ + 0xF3, 0x9E, 0xF3, 0x9F, 0xF3, 0xA0, 0xF4, 0x40, /* 0x04-0x07 */ + 0xF7, 0xDC, 0xF4, 0x41, 0xF4, 0x42, 0xF4, 0x43, /* 0x08-0x0B */ + 0xF4, 0x44, 0xF4, 0x45, 0xF4, 0x46, 0xF7, 0xDD, /* 0x0C-0x0F */ + 0xF4, 0x47, 0xF4, 0x48, 0xF4, 0x49, 0xF7, 0xDE, /* 0x10-0x13 */ + 0xF4, 0x4A, 0xF4, 0x4B, 0xF4, 0x4C, 0xF4, 0x4D, /* 0x14-0x17 */ + 0xF4, 0x4E, 0xF4, 0x4F, 0xF4, 0x50, 0xF4, 0x51, /* 0x18-0x1B */ + 0xF4, 0x52, 0xF4, 0x53, 0xF4, 0x54, 0xF7, 0xDF, /* 0x1C-0x1F */ + 0xF4, 0x55, 0xF4, 0x56, 0xF4, 0x57, 0xF7, 0xE0, /* 0x20-0x23 */ + 0xF4, 0x58, 0xF4, 0x59, 0xF4, 0x5A, 0xF4, 0x5B, /* 0x24-0x27 */ + 0xF4, 0x5C, 0xF4, 0x5D, 0xF4, 0x5E, 0xF4, 0x5F, /* 0x28-0x2B */ + 0xF4, 0x60, 0xF4, 0x61, 0xF4, 0x62, 0xDB, 0xCB, /* 0x2C-0x2F */ + 0xF4, 0x63, 0xF4, 0x64, 0xD8, 0xAA, 0xF4, 0x65, /* 0x30-0x33 */ + 0xF4, 0x66, 0xF4, 0x67, 0xF4, 0x68, 0xF4, 0x69, /* 0x34-0x37 */ + 0xF4, 0x6A, 0xF4, 0x6B, 0xF4, 0x6C, 0xE5, 0xF7, /* 0x38-0x3B */ + 0xB9, 0xED, 0xF4, 0x6D, 0xF4, 0x6E, 0xF4, 0x6F, /* 0x3C-0x3F */ + 0xF4, 0x70, 0xBF, 0xFD, 0xBB, 0xEA, 0xF7, 0xC9, /* 0x40-0x43 */ + 0xC6, 0xC7, 0xF7, 0xC8, 0xF4, 0x71, 0xF7, 0xCA, /* 0x44-0x47 */ + 0xF7, 0xCC, 0xF7, 0xCB, 0xF4, 0x72, 0xF4, 0x73, /* 0x48-0x4B */ + 0xF4, 0x74, 0xF7, 0xCD, 0xF4, 0x75, 0xCE, 0xBA, /* 0x4C-0x4F */ + 0xF4, 0x76, 0xF7, 0xCE, 0xF4, 0x77, 0xF4, 0x78, /* 0x50-0x53 */ + 0xC4, 0xA7, 0xF4, 0x79, 0xF4, 0x7A, 0xF4, 0x7B, /* 0x54-0x57 */ + 0xF4, 0x7C, 0xF4, 0x7D, 0xF4, 0x7E, 0xF4, 0x80, /* 0x58-0x5B */ + 0xF4, 0x81, 0xF4, 0x82, 0xF4, 0x83, 0xF4, 0x84, /* 0x5C-0x5F */ + 0xF4, 0x85, 0xF4, 0x86, 0xF4, 0x87, 0xF4, 0x88, /* 0x60-0x63 */ + 0xF4, 0x89, 0xF4, 0x8A, 0xF4, 0x8B, 0xF4, 0x8C, /* 0x64-0x67 */ + 0xF4, 0x8D, 0xF4, 0x8E, 0xF4, 0x8F, 0xF4, 0x90, /* 0x68-0x6B */ + 0xF4, 0x91, 0xF4, 0x92, 0xF4, 0x93, 0xF4, 0x94, /* 0x6C-0x6F */ + 0xF4, 0x95, 0xF4, 0x96, 0xF4, 0x97, 0xF4, 0x98, /* 0x70-0x73 */ + 0xF4, 0x99, 0xF4, 0x9A, 0xF4, 0x9B, 0xF4, 0x9C, /* 0x74-0x77 */ + 0xF4, 0x9D, 0xF4, 0x9E, 0xF4, 0x9F, 0xF4, 0xA0, /* 0x78-0x7B */ + 0xF5, 0x40, 0xF5, 0x41, 0xF5, 0x42, 0xF5, 0x43, /* 0x7C-0x7F */ + + 0xF5, 0x44, 0xF5, 0x45, 0xF5, 0x46, 0xF5, 0x47, /* 0x80-0x83 */ + 0xF5, 0x48, 0xF5, 0x49, 0xF5, 0x4A, 0xF5, 0x4B, /* 0x84-0x87 */ + 0xF5, 0x4C, 0xF5, 0x4D, 0xF5, 0x4E, 0xF5, 0x4F, /* 0x88-0x8B */ + 0xF5, 0x50, 0xF5, 0x51, 0xF5, 0x52, 0xF5, 0x53, /* 0x8C-0x8F */ + 0xF5, 0x54, 0xF5, 0x55, 0xF5, 0x56, 0xF5, 0x57, /* 0x90-0x93 */ + 0xF5, 0x58, 0xF5, 0x59, 0xF5, 0x5A, 0xF5, 0x5B, /* 0x94-0x97 */ + 0xF5, 0x5C, 0xF5, 0x5D, 0xF5, 0x5E, 0xF5, 0x5F, /* 0x98-0x9B */ + 0xF5, 0x60, 0xF5, 0x61, 0xF5, 0x62, 0xF5, 0x63, /* 0x9C-0x9F */ + 0xF5, 0x64, 0xF5, 0x65, 0xF5, 0x66, 0xF5, 0x67, /* 0xA0-0xA3 */ + 0xF5, 0x68, 0xF5, 0x69, 0xF5, 0x6A, 0xF5, 0x6B, /* 0xA4-0xA7 */ + 0xF5, 0x6C, 0xF5, 0x6D, 0xF5, 0x6E, 0xF5, 0x6F, /* 0xA8-0xAB */ + 0xF5, 0x70, 0xF5, 0x71, 0xF5, 0x72, 0xF5, 0x73, /* 0xAC-0xAF */ + 0xF5, 0x74, 0xF5, 0x75, 0xF5, 0x76, 0xF5, 0x77, /* 0xB0-0xB3 */ + 0xF5, 0x78, 0xF5, 0x79, 0xF5, 0x7A, 0xF5, 0x7B, /* 0xB4-0xB7 */ + 0xF5, 0x7C, 0xF5, 0x7D, 0xF5, 0x7E, 0xF5, 0x80, /* 0xB8-0xBB */ + 0xF5, 0x81, 0xF5, 0x82, 0xF5, 0x83, 0xF5, 0x84, /* 0xBC-0xBF */ + 0xF5, 0x85, 0xF5, 0x86, 0xF5, 0x87, 0xF5, 0x88, /* 0xC0-0xC3 */ + 0xF5, 0x89, 0xF5, 0x8A, 0xF5, 0x8B, 0xF5, 0x8C, /* 0xC4-0xC7 */ + 0xF5, 0x8D, 0xF5, 0x8E, 0xF5, 0x8F, 0xF5, 0x90, /* 0xC8-0xCB */ + 0xF5, 0x91, 0xF5, 0x92, 0xF5, 0x93, 0xF5, 0x94, /* 0xCC-0xCF */ + 0xF5, 0x95, 0xF5, 0x96, 0xF5, 0x97, 0xF5, 0x98, /* 0xD0-0xD3 */ + 0xF5, 0x99, 0xF5, 0x9A, 0xF5, 0x9B, 0xF5, 0x9C, /* 0xD4-0xD7 */ + 0xF5, 0x9D, 0xF5, 0x9E, 0xF5, 0x9F, 0xF5, 0xA0, /* 0xD8-0xDB */ + 0xF6, 0x40, 0xF6, 0x41, 0xF6, 0x42, 0xF6, 0x43, /* 0xDC-0xDF */ + 0xF6, 0x44, 0xF6, 0x45, 0xF6, 0x46, 0xF6, 0x47, /* 0xE0-0xE3 */ + 0xF6, 0x48, 0xF6, 0x49, 0xF6, 0x4A, 0xF6, 0x4B, /* 0xE4-0xE7 */ + 0xF6, 0x4C, 0xF6, 0x4D, 0xF6, 0x4E, 0xF6, 0x4F, /* 0xE8-0xEB */ + 0xF6, 0x50, 0xF6, 0x51, 0xF6, 0x52, 0xF6, 0x53, /* 0xEC-0xEF */ + 0xF6, 0x54, 0xF6, 0x55, 0xF6, 0x56, 0xF6, 0x57, /* 0xF0-0xF3 */ + 0xF6, 0x58, 0xF6, 0x59, 0xF6, 0x5A, 0xF6, 0x5B, /* 0xF4-0xF7 */ + 0xF6, 0x5C, 0xF6, 0x5D, 0xF6, 0x5E, 0xF6, 0x5F, /* 0xF8-0xFB */ + 0xF6, 0x60, 0xF6, 0x61, 0xF6, 0x62, 0xF6, 0x63, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9C[512] = { + 0xF6, 0x64, 0xF6, 0x65, 0xF6, 0x66, 0xF6, 0x67, /* 0x00-0x03 */ + 0xF6, 0x68, 0xF6, 0x69, 0xF6, 0x6A, 0xF6, 0x6B, /* 0x04-0x07 */ + 0xF6, 0x6C, 0xF6, 0x6D, 0xF6, 0x6E, 0xF6, 0x6F, /* 0x08-0x0B */ + 0xF6, 0x70, 0xF6, 0x71, 0xF6, 0x72, 0xF6, 0x73, /* 0x0C-0x0F */ + 0xF6, 0x74, 0xF6, 0x75, 0xF6, 0x76, 0xF6, 0x77, /* 0x10-0x13 */ + 0xF6, 0x78, 0xF6, 0x79, 0xF6, 0x7A, 0xF6, 0x7B, /* 0x14-0x17 */ + 0xF6, 0x7C, 0xF6, 0x7D, 0xF6, 0x7E, 0xF6, 0x80, /* 0x18-0x1B */ + 0xF6, 0x81, 0xF6, 0x82, 0xF6, 0x83, 0xF6, 0x84, /* 0x1C-0x1F */ + 0xF6, 0x85, 0xF6, 0x86, 0xF6, 0x87, 0xF6, 0x88, /* 0x20-0x23 */ + 0xF6, 0x89, 0xF6, 0x8A, 0xF6, 0x8B, 0xF6, 0x8C, /* 0x24-0x27 */ + 0xF6, 0x8D, 0xF6, 0x8E, 0xF6, 0x8F, 0xF6, 0x90, /* 0x28-0x2B */ + 0xF6, 0x91, 0xF6, 0x92, 0xF6, 0x93, 0xF6, 0x94, /* 0x2C-0x2F */ + 0xF6, 0x95, 0xF6, 0x96, 0xF6, 0x97, 0xF6, 0x98, /* 0x30-0x33 */ + 0xF6, 0x99, 0xF6, 0x9A, 0xF6, 0x9B, 0xF6, 0x9C, /* 0x34-0x37 */ + 0xF6, 0x9D, 0xF6, 0x9E, 0xF6, 0x9F, 0xF6, 0xA0, /* 0x38-0x3B */ + 0xF7, 0x40, 0xF7, 0x41, 0xF7, 0x42, 0xF7, 0x43, /* 0x3C-0x3F */ + 0xF7, 0x44, 0xF7, 0x45, 0xF7, 0x46, 0xF7, 0x47, /* 0x40-0x43 */ + 0xF7, 0x48, 0xF7, 0x49, 0xF7, 0x4A, 0xF7, 0x4B, /* 0x44-0x47 */ + 0xF7, 0x4C, 0xF7, 0x4D, 0xF7, 0x4E, 0xF7, 0x4F, /* 0x48-0x4B */ + 0xF7, 0x50, 0xF7, 0x51, 0xF7, 0x52, 0xF7, 0x53, /* 0x4C-0x4F */ + 0xF7, 0x54, 0xF7, 0x55, 0xF7, 0x56, 0xF7, 0x57, /* 0x50-0x53 */ + 0xF7, 0x58, 0xF7, 0x59, 0xF7, 0x5A, 0xF7, 0x5B, /* 0x54-0x57 */ + 0xF7, 0x5C, 0xF7, 0x5D, 0xF7, 0x5E, 0xF7, 0x5F, /* 0x58-0x5B */ + 0xF7, 0x60, 0xF7, 0x61, 0xF7, 0x62, 0xF7, 0x63, /* 0x5C-0x5F */ + 0xF7, 0x64, 0xF7, 0x65, 0xF7, 0x66, 0xF7, 0x67, /* 0x60-0x63 */ + 0xF7, 0x68, 0xF7, 0x69, 0xF7, 0x6A, 0xF7, 0x6B, /* 0x64-0x67 */ + 0xF7, 0x6C, 0xF7, 0x6D, 0xF7, 0x6E, 0xF7, 0x6F, /* 0x68-0x6B */ + 0xF7, 0x70, 0xF7, 0x71, 0xF7, 0x72, 0xF7, 0x73, /* 0x6C-0x6F */ + 0xF7, 0x74, 0xF7, 0x75, 0xF7, 0x76, 0xF7, 0x77, /* 0x70-0x73 */ + 0xF7, 0x78, 0xF7, 0x79, 0xF7, 0x7A, 0xF7, 0x7B, /* 0x74-0x77 */ + 0xF7, 0x7C, 0xF7, 0x7D, 0xF7, 0x7E, 0xF7, 0x80, /* 0x78-0x7B */ + 0xD3, 0xE3, 0xF7, 0x81, 0xF7, 0x82, 0xF6, 0xCF, /* 0x7C-0x7F */ + + 0xF7, 0x83, 0xC2, 0xB3, 0xF6, 0xD0, 0xF7, 0x84, /* 0x80-0x83 */ + 0xF7, 0x85, 0xF6, 0xD1, 0xF6, 0xD2, 0xF6, 0xD3, /* 0x84-0x87 */ + 0xF6, 0xD4, 0xF7, 0x86, 0xF7, 0x87, 0xF6, 0xD6, /* 0x88-0x8B */ + 0xF7, 0x88, 0xB1, 0xAB, 0xF6, 0xD7, 0xF7, 0x89, /* 0x8C-0x8F */ + 0xF6, 0xD8, 0xF6, 0xD9, 0xF6, 0xDA, 0xF7, 0x8A, /* 0x90-0x93 */ + 0xF6, 0xDB, 0xF6, 0xDC, 0xF7, 0x8B, 0xF7, 0x8C, /* 0x94-0x97 */ + 0xF7, 0x8D, 0xF7, 0x8E, 0xF6, 0xDD, 0xF6, 0xDE, /* 0x98-0x9B */ + 0xCF, 0xCA, 0xF7, 0x8F, 0xF6, 0xDF, 0xF6, 0xE0, /* 0x9C-0x9F */ + 0xF6, 0xE1, 0xF6, 0xE2, 0xF6, 0xE3, 0xF6, 0xE4, /* 0xA0-0xA3 */ + 0xC0, 0xF0, 0xF6, 0xE5, 0xF6, 0xE6, 0xF6, 0xE7, /* 0xA4-0xA7 */ + 0xF6, 0xE8, 0xF6, 0xE9, 0xF7, 0x90, 0xF6, 0xEA, /* 0xA8-0xAB */ + 0xF7, 0x91, 0xF6, 0xEB, 0xF6, 0xEC, 0xF7, 0x92, /* 0xAC-0xAF */ + 0xF6, 0xED, 0xF6, 0xEE, 0xF6, 0xEF, 0xF6, 0xF0, /* 0xB0-0xB3 */ + 0xF6, 0xF1, 0xF6, 0xF2, 0xF6, 0xF3, 0xF6, 0xF4, /* 0xB4-0xB7 */ + 0xBE, 0xA8, 0xF7, 0x93, 0xF6, 0xF5, 0xF6, 0xF6, /* 0xB8-0xBB */ + 0xF6, 0xF7, 0xF6, 0xF8, 0xF7, 0x94, 0xF7, 0x95, /* 0xBC-0xBF */ + 0xF7, 0x96, 0xF7, 0x97, 0xF7, 0x98, 0xC8, 0xFA, /* 0xC0-0xC3 */ + 0xF6, 0xF9, 0xF6, 0xFA, 0xF6, 0xFB, 0xF6, 0xFC, /* 0xC4-0xC7 */ + 0xF7, 0x99, 0xF7, 0x9A, 0xF6, 0xFD, 0xF6, 0xFE, /* 0xC8-0xCB */ + 0xF7, 0xA1, 0xF7, 0xA2, 0xF7, 0xA3, 0xF7, 0xA4, /* 0xCC-0xCF */ + 0xF7, 0xA5, 0xF7, 0x9B, 0xF7, 0x9C, 0xF7, 0xA6, /* 0xD0-0xD3 */ + 0xF7, 0xA7, 0xF7, 0xA8, 0xB1, 0xEE, 0xF7, 0xA9, /* 0xD4-0xD7 */ + 0xF7, 0xAA, 0xF7, 0xAB, 0xF7, 0x9D, 0xF7, 0x9E, /* 0xD8-0xDB */ + 0xF7, 0xAC, 0xF7, 0xAD, 0xC1, 0xDB, 0xF7, 0xAE, /* 0xDC-0xDF */ + 0xF7, 0x9F, 0xF7, 0xA0, 0xF7, 0xAF, 0xF8, 0x40, /* 0xE0-0xE3 */ + 0xF8, 0x41, 0xF8, 0x42, 0xF8, 0x43, 0xF8, 0x44, /* 0xE4-0xE7 */ + 0xF8, 0x45, 0xF8, 0x46, 0xF8, 0x47, 0xF8, 0x48, /* 0xE8-0xEB */ + 0xF8, 0x49, 0xF8, 0x4A, 0xF8, 0x4B, 0xF8, 0x4C, /* 0xEC-0xEF */ + 0xF8, 0x4D, 0xF8, 0x4E, 0xF8, 0x4F, 0xF8, 0x50, /* 0xF0-0xF3 */ + 0xF8, 0x51, 0xF8, 0x52, 0xF8, 0x53, 0xF8, 0x54, /* 0xF4-0xF7 */ + 0xF8, 0x55, 0xF8, 0x56, 0xF8, 0x57, 0xF8, 0x58, /* 0xF8-0xFB */ + 0xF8, 0x59, 0xF8, 0x5A, 0xF8, 0x5B, 0xF8, 0x5C, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9D[512] = { + 0xF8, 0x5D, 0xF8, 0x5E, 0xF8, 0x5F, 0xF8, 0x60, /* 0x00-0x03 */ + 0xF8, 0x61, 0xF8, 0x62, 0xF8, 0x63, 0xF8, 0x64, /* 0x04-0x07 */ + 0xF8, 0x65, 0xF8, 0x66, 0xF8, 0x67, 0xF8, 0x68, /* 0x08-0x0B */ + 0xF8, 0x69, 0xF8, 0x6A, 0xF8, 0x6B, 0xF8, 0x6C, /* 0x0C-0x0F */ + 0xF8, 0x6D, 0xF8, 0x6E, 0xF8, 0x6F, 0xF8, 0x70, /* 0x10-0x13 */ + 0xF8, 0x71, 0xF8, 0x72, 0xF8, 0x73, 0xF8, 0x74, /* 0x14-0x17 */ + 0xF8, 0x75, 0xF8, 0x76, 0xF8, 0x77, 0xF8, 0x78, /* 0x18-0x1B */ + 0xF8, 0x79, 0xF8, 0x7A, 0xF8, 0x7B, 0xF8, 0x7C, /* 0x1C-0x1F */ + 0xF8, 0x7D, 0xF8, 0x7E, 0xF8, 0x80, 0xF8, 0x81, /* 0x20-0x23 */ + 0xF8, 0x82, 0xF8, 0x83, 0xF8, 0x84, 0xF8, 0x85, /* 0x24-0x27 */ + 0xF8, 0x86, 0xF8, 0x87, 0xF8, 0x88, 0xF8, 0x89, /* 0x28-0x2B */ + 0xF8, 0x8A, 0xF8, 0x8B, 0xF8, 0x8C, 0xF8, 0x8D, /* 0x2C-0x2F */ + 0xF8, 0x8E, 0xF8, 0x8F, 0xF8, 0x90, 0xF8, 0x91, /* 0x30-0x33 */ + 0xF8, 0x92, 0xF8, 0x93, 0xF8, 0x94, 0xF8, 0x95, /* 0x34-0x37 */ + 0xF8, 0x96, 0xF8, 0x97, 0xF8, 0x98, 0xF8, 0x99, /* 0x38-0x3B */ + 0xF8, 0x9A, 0xF8, 0x9B, 0xF8, 0x9C, 0xF8, 0x9D, /* 0x3C-0x3F */ + 0xF8, 0x9E, 0xF8, 0x9F, 0xF8, 0xA0, 0xF9, 0x40, /* 0x40-0x43 */ + 0xF9, 0x41, 0xF9, 0x42, 0xF9, 0x43, 0xF9, 0x44, /* 0x44-0x47 */ + 0xF9, 0x45, 0xF9, 0x46, 0xF9, 0x47, 0xF9, 0x48, /* 0x48-0x4B */ + 0xF9, 0x49, 0xF9, 0x4A, 0xF9, 0x4B, 0xF9, 0x4C, /* 0x4C-0x4F */ + 0xF9, 0x4D, 0xF9, 0x4E, 0xF9, 0x4F, 0xF9, 0x50, /* 0x50-0x53 */ + 0xF9, 0x51, 0xF9, 0x52, 0xF9, 0x53, 0xF9, 0x54, /* 0x54-0x57 */ + 0xF9, 0x55, 0xF9, 0x56, 0xF9, 0x57, 0xF9, 0x58, /* 0x58-0x5B */ + 0xF9, 0x59, 0xF9, 0x5A, 0xF9, 0x5B, 0xF9, 0x5C, /* 0x5C-0x5F */ + 0xF9, 0x5D, 0xF9, 0x5E, 0xF9, 0x5F, 0xF9, 0x60, /* 0x60-0x63 */ + 0xF9, 0x61, 0xF9, 0x62, 0xF9, 0x63, 0xF9, 0x64, /* 0x64-0x67 */ + 0xF9, 0x65, 0xF9, 0x66, 0xF9, 0x67, 0xF9, 0x68, /* 0x68-0x6B */ + 0xF9, 0x69, 0xF9, 0x6A, 0xF9, 0x6B, 0xF9, 0x6C, /* 0x6C-0x6F */ + 0xF9, 0x6D, 0xF9, 0x6E, 0xF9, 0x6F, 0xF9, 0x70, /* 0x70-0x73 */ + 0xF9, 0x71, 0xF9, 0x72, 0xF9, 0x73, 0xF9, 0x74, /* 0x74-0x77 */ + 0xF9, 0x75, 0xF9, 0x76, 0xF9, 0x77, 0xF9, 0x78, /* 0x78-0x7B */ + 0xF9, 0x79, 0xF9, 0x7A, 0xF9, 0x7B, 0xF9, 0x7C, /* 0x7C-0x7F */ + + 0xF9, 0x7D, 0xF9, 0x7E, 0xF9, 0x80, 0xF9, 0x81, /* 0x80-0x83 */ + 0xF9, 0x82, 0xF9, 0x83, 0xF9, 0x84, 0xF9, 0x85, /* 0x84-0x87 */ + 0xF9, 0x86, 0xF9, 0x87, 0xF9, 0x88, 0xF9, 0x89, /* 0x88-0x8B */ + 0xF9, 0x8A, 0xF9, 0x8B, 0xF9, 0x8C, 0xF9, 0x8D, /* 0x8C-0x8F */ + 0xF9, 0x8E, 0xF9, 0x8F, 0xF9, 0x90, 0xF9, 0x91, /* 0x90-0x93 */ + 0xF9, 0x92, 0xF9, 0x93, 0xF9, 0x94, 0xF9, 0x95, /* 0x94-0x97 */ + 0xF9, 0x96, 0xF9, 0x97, 0xF9, 0x98, 0xF9, 0x99, /* 0x98-0x9B */ + 0xF9, 0x9A, 0xF9, 0x9B, 0xF9, 0x9C, 0xF9, 0x9D, /* 0x9C-0x9F */ + 0xF9, 0x9E, 0xF9, 0x9F, 0xF9, 0xA0, 0xFA, 0x40, /* 0xA0-0xA3 */ + 0xFA, 0x41, 0xFA, 0x42, 0xFA, 0x43, 0xFA, 0x44, /* 0xA4-0xA7 */ + 0xFA, 0x45, 0xFA, 0x46, 0xFA, 0x47, 0xFA, 0x48, /* 0xA8-0xAB */ + 0xFA, 0x49, 0xFA, 0x4A, 0xFA, 0x4B, 0xFA, 0x4C, /* 0xAC-0xAF */ + 0xFA, 0x4D, 0xFA, 0x4E, 0xFA, 0x4F, 0xFA, 0x50, /* 0xB0-0xB3 */ + 0xFA, 0x51, 0xFA, 0x52, 0xFA, 0x53, 0xFA, 0x54, /* 0xB4-0xB7 */ + 0xFA, 0x55, 0xFA, 0x56, 0xFA, 0x57, 0xFA, 0x58, /* 0xB8-0xBB */ + 0xFA, 0x59, 0xFA, 0x5A, 0xFA, 0x5B, 0xFA, 0x5C, /* 0xBC-0xBF */ + 0xFA, 0x5D, 0xFA, 0x5E, 0xFA, 0x5F, 0xFA, 0x60, /* 0xC0-0xC3 */ + 0xFA, 0x61, 0xFA, 0x62, 0xFA, 0x63, 0xFA, 0x64, /* 0xC4-0xC7 */ + 0xFA, 0x65, 0xFA, 0x66, 0xFA, 0x67, 0xFA, 0x68, /* 0xC8-0xCB */ + 0xFA, 0x69, 0xFA, 0x6A, 0xFA, 0x6B, 0xFA, 0x6C, /* 0xCC-0xCF */ + 0xFA, 0x6D, 0xFA, 0x6E, 0xFA, 0x6F, 0xFA, 0x70, /* 0xD0-0xD3 */ + 0xFA, 0x71, 0xFA, 0x72, 0xFA, 0x73, 0xFA, 0x74, /* 0xD4-0xD7 */ + 0xFA, 0x75, 0xFA, 0x76, 0xFA, 0x77, 0xFA, 0x78, /* 0xD8-0xDB */ + 0xFA, 0x79, 0xFA, 0x7A, 0xFA, 0x7B, 0xFA, 0x7C, /* 0xDC-0xDF */ + 0xFA, 0x7D, 0xFA, 0x7E, 0xFA, 0x80, 0xFA, 0x81, /* 0xE0-0xE3 */ + 0xFA, 0x82, 0xFA, 0x83, 0xFA, 0x84, 0xFA, 0x85, /* 0xE4-0xE7 */ + 0xFA, 0x86, 0xFA, 0x87, 0xFA, 0x88, 0xFA, 0x89, /* 0xE8-0xEB */ + 0xFA, 0x8A, 0xFA, 0x8B, 0xFA, 0x8C, 0xFA, 0x8D, /* 0xEC-0xEF */ + 0xFA, 0x8E, 0xFA, 0x8F, 0xFA, 0x90, 0xFA, 0x91, /* 0xF0-0xF3 */ + 0xFA, 0x92, 0xFA, 0x93, 0xFA, 0x94, 0xFA, 0x95, /* 0xF4-0xF7 */ + 0xFA, 0x96, 0xFA, 0x97, 0xFA, 0x98, 0xFA, 0x99, /* 0xF8-0xFB */ + 0xFA, 0x9A, 0xFA, 0x9B, 0xFA, 0x9C, 0xFA, 0x9D, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9E[512] = { + 0xFA, 0x9E, 0xFA, 0x9F, 0xFA, 0xA0, 0xFB, 0x40, /* 0x00-0x03 */ + 0xFB, 0x41, 0xFB, 0x42, 0xFB, 0x43, 0xFB, 0x44, /* 0x04-0x07 */ + 0xFB, 0x45, 0xFB, 0x46, 0xFB, 0x47, 0xFB, 0x48, /* 0x08-0x0B */ + 0xFB, 0x49, 0xFB, 0x4A, 0xFB, 0x4B, 0xFB, 0x4C, /* 0x0C-0x0F */ + 0xFB, 0x4D, 0xFB, 0x4E, 0xFB, 0x4F, 0xFB, 0x50, /* 0x10-0x13 */ + 0xFB, 0x51, 0xFB, 0x52, 0xFB, 0x53, 0xFB, 0x54, /* 0x14-0x17 */ + 0xFB, 0x55, 0xFB, 0x56, 0xFB, 0x57, 0xFB, 0x58, /* 0x18-0x1B */ + 0xFB, 0x59, 0xFB, 0x5A, 0xFB, 0x5B, 0xC4, 0xF1, /* 0x1C-0x1F */ + 0xF0, 0xAF, 0xBC, 0xA6, 0xF0, 0xB0, 0xC3, 0xF9, /* 0x20-0x23 */ + 0xFB, 0x5C, 0xC5, 0xB8, 0xD1, 0xBB, 0xFB, 0x5D, /* 0x24-0x27 */ + 0xF0, 0xB1, 0xF0, 0xB2, 0xF0, 0xB3, 0xF0, 0xB4, /* 0x28-0x2B */ + 0xF0, 0xB5, 0xD1, 0xBC, 0xFB, 0x5E, 0xD1, 0xEC, /* 0x2C-0x2F */ + 0xFB, 0x5F, 0xF0, 0xB7, 0xF0, 0xB6, 0xD4, 0xA7, /* 0x30-0x33 */ + 0xFB, 0x60, 0xCD, 0xD2, 0xF0, 0xB8, 0xF0, 0xBA, /* 0x34-0x37 */ + 0xF0, 0xB9, 0xF0, 0xBB, 0xF0, 0xBC, 0xFB, 0x61, /* 0x38-0x3B */ + 0xFB, 0x62, 0xB8, 0xEB, 0xF0, 0xBD, 0xBA, 0xE8, /* 0x3C-0x3F */ + 0xFB, 0x63, 0xF0, 0xBE, 0xF0, 0xBF, 0xBE, 0xE9, /* 0x40-0x43 */ + 0xF0, 0xC0, 0xB6, 0xEC, 0xF0, 0xC1, 0xF0, 0xC2, /* 0x44-0x47 */ + 0xF0, 0xC3, 0xF0, 0xC4, 0xC8, 0xB5, 0xF0, 0xC5, /* 0x48-0x4B */ + 0xF0, 0xC6, 0xFB, 0x64, 0xF0, 0xC7, 0xC5, 0xF4, /* 0x4C-0x4F */ + 0xFB, 0x65, 0xF0, 0xC8, 0xFB, 0x66, 0xFB, 0x67, /* 0x50-0x53 */ + 0xFB, 0x68, 0xF0, 0xC9, 0xFB, 0x69, 0xF0, 0xCA, /* 0x54-0x57 */ + 0xF7, 0xBD, 0xFB, 0x6A, 0xF0, 0xCB, 0xF0, 0xCC, /* 0x58-0x5B */ + 0xF0, 0xCD, 0xFB, 0x6B, 0xF0, 0xCE, 0xFB, 0x6C, /* 0x5C-0x5F */ + 0xFB, 0x6D, 0xFB, 0x6E, 0xFB, 0x6F, 0xF0, 0xCF, /* 0x60-0x63 */ + 0xBA, 0xD7, 0xFB, 0x70, 0xF0, 0xD0, 0xF0, 0xD1, /* 0x64-0x67 */ + 0xF0, 0xD2, 0xF0, 0xD3, 0xF0, 0xD4, 0xF0, 0xD5, /* 0x68-0x6B */ + 0xF0, 0xD6, 0xF0, 0xD8, 0xFB, 0x71, 0xFB, 0x72, /* 0x6C-0x6F */ + 0xD3, 0xA5, 0xF0, 0xD7, 0xFB, 0x73, 0xF0, 0xD9, /* 0x70-0x73 */ + 0xFB, 0x74, 0xFB, 0x75, 0xFB, 0x76, 0xFB, 0x77, /* 0x74-0x77 */ + 0xFB, 0x78, 0xFB, 0x79, 0xFB, 0x7A, 0xFB, 0x7B, /* 0x78-0x7B */ + 0xFB, 0x7C, 0xFB, 0x7D, 0xF5, 0xBA, 0xC2, 0xB9, /* 0x7C-0x7F */ + + 0xFB, 0x7E, 0xFB, 0x80, 0xF7, 0xE4, 0xFB, 0x81, /* 0x80-0x83 */ + 0xFB, 0x82, 0xFB, 0x83, 0xFB, 0x84, 0xF7, 0xE5, /* 0x84-0x87 */ + 0xF7, 0xE6, 0xFB, 0x85, 0xFB, 0x86, 0xF7, 0xE7, /* 0x88-0x8B */ + 0xFB, 0x87, 0xFB, 0x88, 0xFB, 0x89, 0xFB, 0x8A, /* 0x8C-0x8F */ + 0xFB, 0x8B, 0xFB, 0x8C, 0xF7, 0xE8, 0xC2, 0xB4, /* 0x90-0x93 */ + 0xFB, 0x8D, 0xFB, 0x8E, 0xFB, 0x8F, 0xFB, 0x90, /* 0x94-0x97 */ + 0xFB, 0x91, 0xFB, 0x92, 0xFB, 0x93, 0xFB, 0x94, /* 0x98-0x9B */ + 0xFB, 0x95, 0xF7, 0xEA, 0xFB, 0x96, 0xF7, 0xEB, /* 0x9C-0x9F */ + 0xFB, 0x97, 0xFB, 0x98, 0xFB, 0x99, 0xFB, 0x9A, /* 0xA0-0xA3 */ + 0xFB, 0x9B, 0xFB, 0x9C, 0xC2, 0xF3, 0xFB, 0x9D, /* 0xA4-0xA7 */ + 0xFB, 0x9E, 0xFB, 0x9F, 0xFB, 0xA0, 0xFC, 0x40, /* 0xA8-0xAB */ + 0xFC, 0x41, 0xFC, 0x42, 0xFC, 0x43, 0xFC, 0x44, /* 0xAC-0xAF */ + 0xFC, 0x45, 0xFC, 0x46, 0xFC, 0x47, 0xFC, 0x48, /* 0xB0-0xB3 */ + 0xF4, 0xF0, 0xFC, 0x49, 0xFC, 0x4A, 0xFC, 0x4B, /* 0xB4-0xB7 */ + 0xF4, 0xEF, 0xFC, 0x4C, 0xFC, 0x4D, 0xC2, 0xE9, /* 0xB8-0xBB */ + 0xFC, 0x4E, 0xF7, 0xE1, 0xF7, 0xE2, 0xFC, 0x4F, /* 0xBC-0xBF */ + 0xFC, 0x50, 0xFC, 0x51, 0xFC, 0x52, 0xFC, 0x53, /* 0xC0-0xC3 */ + 0xBB, 0xC6, 0xFC, 0x54, 0xFC, 0x55, 0xFC, 0x56, /* 0xC4-0xC7 */ + 0xFC, 0x57, 0xD9, 0xE4, 0xFC, 0x58, 0xFC, 0x59, /* 0xC8-0xCB */ + 0xFC, 0x5A, 0xCA, 0xF2, 0xC0, 0xE8, 0xF0, 0xA4, /* 0xCC-0xCF */ + 0xFC, 0x5B, 0xBA, 0xDA, 0xFC, 0x5C, 0xFC, 0x5D, /* 0xD0-0xD3 */ + 0xC7, 0xAD, 0xFC, 0x5E, 0xFC, 0x5F, 0xFC, 0x60, /* 0xD4-0xD7 */ + 0xC4, 0xAC, 0xFC, 0x61, 0xFC, 0x62, 0xF7, 0xEC, /* 0xD8-0xDB */ + 0xF7, 0xED, 0xF7, 0xEE, 0xFC, 0x63, 0xF7, 0xF0, /* 0xDC-0xDF */ + 0xF7, 0xEF, 0xFC, 0x64, 0xF7, 0xF1, 0xFC, 0x65, /* 0xE0-0xE3 */ + 0xFC, 0x66, 0xF7, 0xF4, 0xFC, 0x67, 0xF7, 0xF3, /* 0xE4-0xE7 */ + 0xFC, 0x68, 0xF7, 0xF2, 0xF7, 0xF5, 0xFC, 0x69, /* 0xE8-0xEB */ + 0xFC, 0x6A, 0xFC, 0x6B, 0xFC, 0x6C, 0xF7, 0xF6, /* 0xEC-0xEF */ + 0xFC, 0x6D, 0xFC, 0x6E, 0xFC, 0x6F, 0xFC, 0x70, /* 0xF0-0xF3 */ + 0xFC, 0x71, 0xFC, 0x72, 0xFC, 0x73, 0xFC, 0x74, /* 0xF4-0xF7 */ + 0xFC, 0x75, 0xED, 0xE9, 0xFC, 0x76, 0xED, 0xEA, /* 0xF8-0xFB */ + 0xED, 0xEB, 0xFC, 0x77, 0xF6, 0xBC, 0xFC, 0x78, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9F[512] = { + 0xFC, 0x79, 0xFC, 0x7A, 0xFC, 0x7B, 0xFC, 0x7C, /* 0x00-0x03 */ + 0xFC, 0x7D, 0xFC, 0x7E, 0xFC, 0x80, 0xFC, 0x81, /* 0x04-0x07 */ + 0xFC, 0x82, 0xFC, 0x83, 0xFC, 0x84, 0xF6, 0xBD, /* 0x08-0x0B */ + 0xFC, 0x85, 0xF6, 0xBE, 0xB6, 0xA6, 0xFC, 0x86, /* 0x0C-0x0F */ + 0xD8, 0xBE, 0xFC, 0x87, 0xFC, 0x88, 0xB9, 0xC4, /* 0x10-0x13 */ + 0xFC, 0x89, 0xFC, 0x8A, 0xFC, 0x8B, 0xD8, 0xBB, /* 0x14-0x17 */ + 0xFC, 0x8C, 0xDC, 0xB1, 0xFC, 0x8D, 0xFC, 0x8E, /* 0x18-0x1B */ + 0xFC, 0x8F, 0xFC, 0x90, 0xFC, 0x91, 0xFC, 0x92, /* 0x1C-0x1F */ + 0xCA, 0xF3, 0xFC, 0x93, 0xF7, 0xF7, 0xFC, 0x94, /* 0x20-0x23 */ + 0xFC, 0x95, 0xFC, 0x96, 0xFC, 0x97, 0xFC, 0x98, /* 0x24-0x27 */ + 0xFC, 0x99, 0xFC, 0x9A, 0xFC, 0x9B, 0xFC, 0x9C, /* 0x28-0x2B */ + 0xF7, 0xF8, 0xFC, 0x9D, 0xFC, 0x9E, 0xF7, 0xF9, /* 0x2C-0x2F */ + 0xFC, 0x9F, 0xFC, 0xA0, 0xFD, 0x40, 0xFD, 0x41, /* 0x30-0x33 */ + 0xFD, 0x42, 0xFD, 0x43, 0xFD, 0x44, 0xF7, 0xFB, /* 0x34-0x37 */ + 0xFD, 0x45, 0xF7, 0xFA, 0xFD, 0x46, 0xB1, 0xC7, /* 0x38-0x3B */ + 0xFD, 0x47, 0xF7, 0xFC, 0xF7, 0xFD, 0xFD, 0x48, /* 0x3C-0x3F */ + 0xFD, 0x49, 0xFD, 0x4A, 0xFD, 0x4B, 0xFD, 0x4C, /* 0x40-0x43 */ + 0xF7, 0xFE, 0xFD, 0x4D, 0xFD, 0x4E, 0xFD, 0x4F, /* 0x44-0x47 */ + 0xFD, 0x50, 0xFD, 0x51, 0xFD, 0x52, 0xFD, 0x53, /* 0x48-0x4B */ + 0xFD, 0x54, 0xFD, 0x55, 0xFD, 0x56, 0xFD, 0x57, /* 0x4C-0x4F */ + 0xC6, 0xEB, 0xEC, 0xB4, 0xFD, 0x58, 0xFD, 0x59, /* 0x50-0x53 */ + 0xFD, 0x5A, 0xFD, 0x5B, 0xFD, 0x5C, 0xFD, 0x5D, /* 0x54-0x57 */ + 0xFD, 0x5E, 0xFD, 0x5F, 0xFD, 0x60, 0xFD, 0x61, /* 0x58-0x5B */ + 0xFD, 0x62, 0xFD, 0x63, 0xFD, 0x64, 0xFD, 0x65, /* 0x5C-0x5F */ + 0xFD, 0x66, 0xFD, 0x67, 0xFD, 0x68, 0xFD, 0x69, /* 0x60-0x63 */ + 0xFD, 0x6A, 0xFD, 0x6B, 0xFD, 0x6C, 0xFD, 0x6D, /* 0x64-0x67 */ + 0xFD, 0x6E, 0xFD, 0x6F, 0xFD, 0x70, 0xFD, 0x71, /* 0x68-0x6B */ + 0xFD, 0x72, 0xFD, 0x73, 0xFD, 0x74, 0xFD, 0x75, /* 0x6C-0x6F */ + 0xFD, 0x76, 0xFD, 0x77, 0xFD, 0x78, 0xFD, 0x79, /* 0x70-0x73 */ + 0xFD, 0x7A, 0xFD, 0x7B, 0xFD, 0x7C, 0xFD, 0x7D, /* 0x74-0x77 */ + 0xFD, 0x7E, 0xFD, 0x80, 0xFD, 0x81, 0xFD, 0x82, /* 0x78-0x7B */ + 0xFD, 0x83, 0xFD, 0x84, 0xFD, 0x85, 0xB3, 0xDD, /* 0x7C-0x7F */ + + 0xF6, 0xB3, 0xFD, 0x86, 0xFD, 0x87, 0xF6, 0xB4, /* 0x80-0x83 */ + 0xC1, 0xE4, 0xF6, 0xB5, 0xF6, 0xB6, 0xF6, 0xB7, /* 0x84-0x87 */ + 0xF6, 0xB8, 0xF6, 0xB9, 0xF6, 0xBA, 0xC8, 0xA3, /* 0x88-0x8B */ + 0xF6, 0xBB, 0xFD, 0x88, 0xFD, 0x89, 0xFD, 0x8A, /* 0x8C-0x8F */ + 0xFD, 0x8B, 0xFD, 0x8C, 0xFD, 0x8D, 0xFD, 0x8E, /* 0x90-0x93 */ + 0xFD, 0x8F, 0xFD, 0x90, 0xFD, 0x91, 0xFD, 0x92, /* 0x94-0x97 */ + 0xFD, 0x93, 0xC1, 0xFA, 0xB9, 0xA8, 0xED, 0xE8, /* 0x98-0x9B */ + 0xFD, 0x94, 0xFD, 0x95, 0xFD, 0x96, 0xB9, 0xEA, /* 0x9C-0x9F */ + 0xD9, 0xDF, 0xFD, 0x97, 0xFD, 0x98, 0xFD, 0x99, /* 0xA0-0xA3 */ + 0xFD, 0x9A, 0xFD, 0x9B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_F9[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xFD, 0x9C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xFD, 0x9D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xFD, 0x9E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0x9F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xFD, 0xA0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FA[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xFE, 0x40, 0xFE, 0x41, 0xFE, 0x42, 0xFE, 0x43, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xFE, 0x44, 0x3F, 0x3F, 0xFE, 0x45, /* 0x10-0x13 */ + 0xFE, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xFE, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFE, 0x48, /* 0x1C-0x1F */ + 0xFE, 0x49, 0xFE, 0x4A, 0x3F, 0x3F, 0xFE, 0x4B, /* 0x20-0x23 */ + 0xFE, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, 0xFE, 0x4D, /* 0x24-0x27 */ + 0xFE, 0x4E, 0xFE, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FE[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xA9, 0x55, 0xA6, 0xF2, 0x3F, 0x3F, 0xA6, 0xF4, /* 0x30-0x33 */ + 0xA6, 0xF5, 0xA6, 0xE0, 0xA6, 0xE1, 0xA6, 0xF0, /* 0x34-0x37 */ + 0xA6, 0xF1, 0xA6, 0xE2, 0xA6, 0xE3, 0xA6, 0xEE, /* 0x38-0x3B */ + 0xA6, 0xEF, 0xA6, 0xE6, 0xA6, 0xE7, 0xA6, 0xE4, /* 0x3C-0x3F */ + 0xA6, 0xE5, 0xA6, 0xE8, 0xA6, 0xE9, 0xA6, 0xEA, /* 0x40-0x43 */ + 0xA6, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xA9, 0x68, 0xA9, 0x69, 0xA9, 0x6A, /* 0x48-0x4B */ + 0xA9, 0x6B, 0xA9, 0x6C, 0xA9, 0x6D, 0xA9, 0x6E, /* 0x4C-0x4F */ + 0xA9, 0x6F, 0xA9, 0x70, 0xA9, 0x71, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xA9, 0x72, 0xA9, 0x73, 0xA9, 0x74, 0xA9, 0x75, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xA9, 0x76, 0xA9, 0x77, 0xA9, 0x78, /* 0x58-0x5B */ + 0xA9, 0x79, 0xA9, 0x7A, 0xA9, 0x7B, 0xA9, 0x7C, /* 0x5C-0x5F */ + 0xA9, 0x7D, 0xA9, 0x7E, 0xA9, 0x80, 0xA9, 0x81, /* 0x60-0x63 */ + 0xA9, 0x82, 0xA9, 0x83, 0xA9, 0x84, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xA9, 0x85, 0xA9, 0x86, 0xA9, 0x87, 0xA9, 0x88, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FF[512] = { + 0x3F, 0x3F, 0xA3, 0xA1, 0xA3, 0xA2, 0xA3, 0xA3, /* 0x00-0x03 */ + 0xA1, 0xE7, 0xA3, 0xA5, 0xA3, 0xA6, 0xA3, 0xA7, /* 0x04-0x07 */ + 0xA3, 0xA8, 0xA3, 0xA9, 0xA3, 0xAA, 0xA3, 0xAB, /* 0x08-0x0B */ + 0xA3, 0xAC, 0xA3, 0xAD, 0xA3, 0xAE, 0xA3, 0xAF, /* 0x0C-0x0F */ + 0xA3, 0xB0, 0xA3, 0xB1, 0xA3, 0xB2, 0xA3, 0xB3, /* 0x10-0x13 */ + 0xA3, 0xB4, 0xA3, 0xB5, 0xA3, 0xB6, 0xA3, 0xB7, /* 0x14-0x17 */ + 0xA3, 0xB8, 0xA3, 0xB9, 0xA3, 0xBA, 0xA3, 0xBB, /* 0x18-0x1B */ + 0xA3, 0xBC, 0xA3, 0xBD, 0xA3, 0xBE, 0xA3, 0xBF, /* 0x1C-0x1F */ + 0xA3, 0xC0, 0xA3, 0xC1, 0xA3, 0xC2, 0xA3, 0xC3, /* 0x20-0x23 */ + 0xA3, 0xC4, 0xA3, 0xC5, 0xA3, 0xC6, 0xA3, 0xC7, /* 0x24-0x27 */ + 0xA3, 0xC8, 0xA3, 0xC9, 0xA3, 0xCA, 0xA3, 0xCB, /* 0x28-0x2B */ + 0xA3, 0xCC, 0xA3, 0xCD, 0xA3, 0xCE, 0xA3, 0xCF, /* 0x2C-0x2F */ + 0xA3, 0xD0, 0xA3, 0xD1, 0xA3, 0xD2, 0xA3, 0xD3, /* 0x30-0x33 */ + 0xA3, 0xD4, 0xA3, 0xD5, 0xA3, 0xD6, 0xA3, 0xD7, /* 0x34-0x37 */ + 0xA3, 0xD8, 0xA3, 0xD9, 0xA3, 0xDA, 0xA3, 0xDB, /* 0x38-0x3B */ + 0xA3, 0xDC, 0xA3, 0xDD, 0xA3, 0xDE, 0xA3, 0xDF, /* 0x3C-0x3F */ + 0xA3, 0xE0, 0xA3, 0xE1, 0xA3, 0xE2, 0xA3, 0xE3, /* 0x40-0x43 */ + 0xA3, 0xE4, 0xA3, 0xE5, 0xA3, 0xE6, 0xA3, 0xE7, /* 0x44-0x47 */ + 0xA3, 0xE8, 0xA3, 0xE9, 0xA3, 0xEA, 0xA3, 0xEB, /* 0x48-0x4B */ + 0xA3, 0xEC, 0xA3, 0xED, 0xA3, 0xEE, 0xA3, 0xEF, /* 0x4C-0x4F */ + 0xA3, 0xF0, 0xA3, 0xF1, 0xA3, 0xF2, 0xA3, 0xF3, /* 0x50-0x53 */ + 0xA3, 0xF4, 0xA3, 0xF5, 0xA3, 0xF6, 0xA3, 0xF7, /* 0x54-0x57 */ + 0xA3, 0xF8, 0xA3, 0xF9, 0xA3, 0xFA, 0xA3, 0xFB, /* 0x58-0x5B */ + 0xA3, 0xFC, 0xA3, 0xFD, 0xA1, 0xAB, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xA1, 0xE9, 0xA1, 0xEA, 0xA9, 0x56, 0xA3, 0xFE, /* 0xE0-0xE3 */ + 0xA9, 0x57, 0xA3, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char *page_uni2charset[256] = { + NULL, u2c_01, u2c_02, u2c_03, u2c_04, 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, + u2c_20, u2c_21, u2c_22, u2c_23, u2c_24, u2c_25, u2c_26, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + u2c_30, u2c_31, u2c_32, u2c_33, 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, u2c_4E, u2c_4F, + u2c_50, u2c_51, u2c_52, u2c_53, u2c_54, u2c_55, u2c_56, u2c_57, + u2c_58, u2c_59, u2c_5A, u2c_5B, u2c_5C, u2c_5D, u2c_5E, u2c_5F, + u2c_60, u2c_61, u2c_62, u2c_63, u2c_64, u2c_65, u2c_66, u2c_67, + u2c_68, u2c_69, u2c_6A, u2c_6B, u2c_6C, u2c_6D, u2c_6E, u2c_6F, + u2c_70, u2c_71, u2c_72, u2c_73, u2c_74, u2c_75, u2c_76, u2c_77, + u2c_78, u2c_79, u2c_7A, u2c_7B, u2c_7C, u2c_7D, u2c_7E, u2c_7F, + u2c_80, u2c_81, u2c_82, u2c_83, u2c_84, u2c_85, u2c_86, u2c_87, + u2c_88, u2c_89, u2c_8A, u2c_8B, u2c_8C, u2c_8D, u2c_8E, u2c_8F, + u2c_90, u2c_91, u2c_92, u2c_93, u2c_94, u2c_95, u2c_96, u2c_97, + u2c_98, u2c_99, u2c_9A, u2c_9B, u2c_9C, u2c_9D, u2c_9E, u2c_9F, + 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, u2c_F9, u2c_FA, NULL, NULL, NULL, u2c_FE, u2c_FF, }; + +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + uni2charset = page_uni2charset[ch]; + *outlen = 0; + if (uni2charset){ + if (boundlen <= 1) + return; + out[0] = uni2charset[cl*2]; + out[1] = uni2charset[cl*2+1]; + *outlen = 1; + } else if (ch==0 && cl) + out[0] = cl; + else + out[0] = '?'; + (*outlen)++; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + unsigned char ch, cl; + struct nls_unicode *charset2uni; + + ch = rawstring[0]; + cl = rawstring[1]; + charset2uni = page_charset2uni[ch]; + if (charset2uni && cl){ + *uni1 = charset2uni[cl].uni2; + *uni2 = charset2uni[cl].uni1; + *offset = 2; + } else{ + *uni1 = ch; + *uni2 = 0x00; + *offset = 1; + } + return; +} + +static void inc_use_count(void) +{ + MOD_INC_USE_COUNT; +} + +static void dec_use_count(void) +{ + MOD_DEC_USE_COUNT; +} + +static struct nls_table table = { + "cp936", + uni2char, + char2uni, + inc_use_count, + dec_use_count, + NULL +}; + +int init_nls_cp936(void) +{ + return register_nls(&table); +} + +#ifdef MODULE +int init_module(void) +{ + return init_nls_cp936(); +} + + +void cleanup_module(void) +{ + unregister_nls(&table); + return; +} +#endif + +/* + * Overrides for Emacs so that we follow Linus's tabbing style. + * Emacs will notice this stuff at the end of the file and automatically + * adjust the settings for this buffer only. This must remain at the end + * of the file. + * +--------------------------------------------------------------------------- + * Local variables: + * c-indent-level: 8 + * c-brace-imaginary-offset: 0 + * c-brace-offset: -8 + * c-argdecl-indent: 8 + * c-label-offset: -8 + * c-continued-statement-offset: 8 + * c-continued-brace-offset: 0 + * End: + */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp949.c linux.16p1/fs/nls/nls_cp949.c --- linux.15p19/fs/nls/nls_cp949.c Thu Jan 1 01:00:00 1970 +++ linux.16p1/fs/nls/nls_cp949.c Wed Apr 19 13:58:56 2000 @@ -0,0 +1,18402 @@ +/* + * linux/fs/nls_cp949.c + * + * Charset cp949 translation tables. + * Generated automatically from the Microsoft + */ + +#include +#include +#include +#include + +static struct nls_unicode c2u_81[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xAC, 0x02}, {0xAC, 0x03}, {0xAC, 0x05}, /* 0x40-0x43 */ + {0xAC, 0x06}, {0xAC, 0x0B}, {0xAC, 0x0C}, {0xAC, 0x0D}, /* 0x44-0x47 */ + {0xAC, 0x0E}, {0xAC, 0x0F}, {0xAC, 0x18}, {0xAC, 0x1E}, /* 0x48-0x4B */ + {0xAC, 0x1F}, {0xAC, 0x21}, {0xAC, 0x22}, {0xAC, 0x23}, /* 0x4C-0x4F */ + {0xAC, 0x25}, {0xAC, 0x26}, {0xAC, 0x27}, {0xAC, 0x28}, /* 0x50-0x53 */ + {0xAC, 0x29}, {0xAC, 0x2A}, {0xAC, 0x2B}, {0xAC, 0x2E}, /* 0x54-0x57 */ + {0xAC, 0x32}, {0xAC, 0x33}, {0xAC, 0x34}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xAC, 0x35}, {0xAC, 0x36}, {0xAC, 0x37}, /* 0x60-0x63 */ + {0xAC, 0x3A}, {0xAC, 0x3B}, {0xAC, 0x3D}, {0xAC, 0x3E}, /* 0x64-0x67 */ + {0xAC, 0x3F}, {0xAC, 0x41}, {0xAC, 0x42}, {0xAC, 0x43}, /* 0x68-0x6B */ + {0xAC, 0x44}, {0xAC, 0x45}, {0xAC, 0x46}, {0xAC, 0x47}, /* 0x6C-0x6F */ + {0xAC, 0x48}, {0xAC, 0x49}, {0xAC, 0x4A}, {0xAC, 0x4C}, /* 0x70-0x73 */ + {0xAC, 0x4E}, {0xAC, 0x4F}, {0xAC, 0x50}, {0xAC, 0x51}, /* 0x74-0x77 */ + {0xAC, 0x52}, {0xAC, 0x53}, {0xAC, 0x55}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xAC, 0x56}, {0xAC, 0x57}, {0xAC, 0x59}, /* 0x80-0x83 */ + {0xAC, 0x5A}, {0xAC, 0x5B}, {0xAC, 0x5D}, {0xAC, 0x5E}, /* 0x84-0x87 */ + {0xAC, 0x5F}, {0xAC, 0x60}, {0xAC, 0x61}, {0xAC, 0x62}, /* 0x88-0x8B */ + {0xAC, 0x63}, {0xAC, 0x64}, {0xAC, 0x65}, {0xAC, 0x66}, /* 0x8C-0x8F */ + {0xAC, 0x67}, {0xAC, 0x68}, {0xAC, 0x69}, {0xAC, 0x6A}, /* 0x90-0x93 */ + {0xAC, 0x6B}, {0xAC, 0x6C}, {0xAC, 0x6D}, {0xAC, 0x6E}, /* 0x94-0x97 */ + {0xAC, 0x6F}, {0xAC, 0x72}, {0xAC, 0x73}, {0xAC, 0x75}, /* 0x98-0x9B */ + {0xAC, 0x76}, {0xAC, 0x79}, {0xAC, 0x7B}, {0xAC, 0x7C}, /* 0x9C-0x9F */ + {0xAC, 0x7D}, {0xAC, 0x7E}, {0xAC, 0x7F}, {0xAC, 0x82}, /* 0xA0-0xA3 */ + {0xAC, 0x87}, {0xAC, 0x88}, {0xAC, 0x8D}, {0xAC, 0x8E}, /* 0xA4-0xA7 */ + {0xAC, 0x8F}, {0xAC, 0x91}, {0xAC, 0x92}, {0xAC, 0x93}, /* 0xA8-0xAB */ + {0xAC, 0x95}, {0xAC, 0x96}, {0xAC, 0x97}, {0xAC, 0x98}, /* 0xAC-0xAF */ + {0xAC, 0x99}, {0xAC, 0x9A}, {0xAC, 0x9B}, {0xAC, 0x9E}, /* 0xB0-0xB3 */ + {0xAC, 0xA2}, {0xAC, 0xA3}, {0xAC, 0xA4}, {0xAC, 0xA5}, /* 0xB4-0xB7 */ + {0xAC, 0xA6}, {0xAC, 0xA7}, {0xAC, 0xAB}, {0xAC, 0xAD}, /* 0xB8-0xBB */ + {0xAC, 0xAE}, {0xAC, 0xB1}, {0xAC, 0xB2}, {0xAC, 0xB3}, /* 0xBC-0xBF */ + {0xAC, 0xB4}, {0xAC, 0xB5}, {0xAC, 0xB6}, {0xAC, 0xB7}, /* 0xC0-0xC3 */ + {0xAC, 0xBA}, {0xAC, 0xBE}, {0xAC, 0xBF}, {0xAC, 0xC0}, /* 0xC4-0xC7 */ + {0xAC, 0xC2}, {0xAC, 0xC3}, {0xAC, 0xC5}, {0xAC, 0xC6}, /* 0xC8-0xCB */ + {0xAC, 0xC7}, {0xAC, 0xC9}, {0xAC, 0xCA}, {0xAC, 0xCB}, /* 0xCC-0xCF */ + {0xAC, 0xCD}, {0xAC, 0xCE}, {0xAC, 0xCF}, {0xAC, 0xD0}, /* 0xD0-0xD3 */ + {0xAC, 0xD1}, {0xAC, 0xD2}, {0xAC, 0xD3}, {0xAC, 0xD4}, /* 0xD4-0xD7 */ + {0xAC, 0xD6}, {0xAC, 0xD8}, {0xAC, 0xD9}, {0xAC, 0xDA}, /* 0xD8-0xDB */ + {0xAC, 0xDB}, {0xAC, 0xDC}, {0xAC, 0xDD}, {0xAC, 0xDE}, /* 0xDC-0xDF */ + {0xAC, 0xDF}, {0xAC, 0xE2}, {0xAC, 0xE3}, {0xAC, 0xE5}, /* 0xE0-0xE3 */ + {0xAC, 0xE6}, {0xAC, 0xE9}, {0xAC, 0xEB}, {0xAC, 0xED}, /* 0xE4-0xE7 */ + {0xAC, 0xEE}, {0xAC, 0xF2}, {0xAC, 0xF4}, {0xAC, 0xF7}, /* 0xE8-0xEB */ + {0xAC, 0xF8}, {0xAC, 0xF9}, {0xAC, 0xFA}, {0xAC, 0xFB}, /* 0xEC-0xEF */ + {0xAC, 0xFE}, {0xAC, 0xFF}, {0xAD, 0x01}, {0xAD, 0x02}, /* 0xF0-0xF3 */ + {0xAD, 0x03}, {0xAD, 0x05}, {0xAD, 0x07}, {0xAD, 0x08}, /* 0xF4-0xF7 */ + {0xAD, 0x09}, {0xAD, 0x0A}, {0xAD, 0x0B}, {0xAD, 0x0E}, /* 0xF8-0xFB */ + {0xAD, 0x10}, {0xAD, 0x12}, {0xAD, 0x13}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_82[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xAD, 0x14}, {0xAD, 0x15}, {0xAD, 0x16}, /* 0x40-0x43 */ + {0xAD, 0x17}, {0xAD, 0x19}, {0xAD, 0x1A}, {0xAD, 0x1B}, /* 0x44-0x47 */ + {0xAD, 0x1D}, {0xAD, 0x1E}, {0xAD, 0x1F}, {0xAD, 0x21}, /* 0x48-0x4B */ + {0xAD, 0x22}, {0xAD, 0x23}, {0xAD, 0x24}, {0xAD, 0x25}, /* 0x4C-0x4F */ + {0xAD, 0x26}, {0xAD, 0x27}, {0xAD, 0x28}, {0xAD, 0x2A}, /* 0x50-0x53 */ + {0xAD, 0x2B}, {0xAD, 0x2E}, {0xAD, 0x2F}, {0xAD, 0x30}, /* 0x54-0x57 */ + {0xAD, 0x31}, {0xAD, 0x32}, {0xAD, 0x33}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xAD, 0x36}, {0xAD, 0x37}, {0xAD, 0x39}, /* 0x60-0x63 */ + {0xAD, 0x3A}, {0xAD, 0x3B}, {0xAD, 0x3D}, {0xAD, 0x3E}, /* 0x64-0x67 */ + {0xAD, 0x3F}, {0xAD, 0x40}, {0xAD, 0x41}, {0xAD, 0x42}, /* 0x68-0x6B */ + {0xAD, 0x43}, {0xAD, 0x46}, {0xAD, 0x48}, {0xAD, 0x4A}, /* 0x6C-0x6F */ + {0xAD, 0x4B}, {0xAD, 0x4C}, {0xAD, 0x4D}, {0xAD, 0x4E}, /* 0x70-0x73 */ + {0xAD, 0x4F}, {0xAD, 0x51}, {0xAD, 0x52}, {0xAD, 0x53}, /* 0x74-0x77 */ + {0xAD, 0x55}, {0xAD, 0x56}, {0xAD, 0x57}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xAD, 0x59}, {0xAD, 0x5A}, {0xAD, 0x5B}, /* 0x80-0x83 */ + {0xAD, 0x5C}, {0xAD, 0x5D}, {0xAD, 0x5E}, {0xAD, 0x5F}, /* 0x84-0x87 */ + {0xAD, 0x60}, {0xAD, 0x62}, {0xAD, 0x64}, {0xAD, 0x65}, /* 0x88-0x8B */ + {0xAD, 0x66}, {0xAD, 0x67}, {0xAD, 0x68}, {0xAD, 0x69}, /* 0x8C-0x8F */ + {0xAD, 0x6A}, {0xAD, 0x6B}, {0xAD, 0x6E}, {0xAD, 0x6F}, /* 0x90-0x93 */ + {0xAD, 0x71}, {0xAD, 0x72}, {0xAD, 0x77}, {0xAD, 0x78}, /* 0x94-0x97 */ + {0xAD, 0x79}, {0xAD, 0x7A}, {0xAD, 0x7E}, {0xAD, 0x80}, /* 0x98-0x9B */ + {0xAD, 0x83}, {0xAD, 0x84}, {0xAD, 0x85}, {0xAD, 0x86}, /* 0x9C-0x9F */ + {0xAD, 0x87}, {0xAD, 0x8A}, {0xAD, 0x8B}, {0xAD, 0x8D}, /* 0xA0-0xA3 */ + {0xAD, 0x8E}, {0xAD, 0x8F}, {0xAD, 0x91}, {0xAD, 0x92}, /* 0xA4-0xA7 */ + {0xAD, 0x93}, {0xAD, 0x94}, {0xAD, 0x95}, {0xAD, 0x96}, /* 0xA8-0xAB */ + {0xAD, 0x97}, {0xAD, 0x98}, {0xAD, 0x99}, {0xAD, 0x9A}, /* 0xAC-0xAF */ + {0xAD, 0x9B}, {0xAD, 0x9E}, {0xAD, 0x9F}, {0xAD, 0xA0}, /* 0xB0-0xB3 */ + {0xAD, 0xA1}, {0xAD, 0xA2}, {0xAD, 0xA3}, {0xAD, 0xA5}, /* 0xB4-0xB7 */ + {0xAD, 0xA6}, {0xAD, 0xA7}, {0xAD, 0xA8}, {0xAD, 0xA9}, /* 0xB8-0xBB */ + {0xAD, 0xAA}, {0xAD, 0xAB}, {0xAD, 0xAC}, {0xAD, 0xAD}, /* 0xBC-0xBF */ + {0xAD, 0xAE}, {0xAD, 0xAF}, {0xAD, 0xB0}, {0xAD, 0xB1}, /* 0xC0-0xC3 */ + {0xAD, 0xB2}, {0xAD, 0xB3}, {0xAD, 0xB4}, {0xAD, 0xB5}, /* 0xC4-0xC7 */ + {0xAD, 0xB6}, {0xAD, 0xB8}, {0xAD, 0xB9}, {0xAD, 0xBA}, /* 0xC8-0xCB */ + {0xAD, 0xBB}, {0xAD, 0xBC}, {0xAD, 0xBD}, {0xAD, 0xBE}, /* 0xCC-0xCF */ + {0xAD, 0xBF}, {0xAD, 0xC2}, {0xAD, 0xC3}, {0xAD, 0xC5}, /* 0xD0-0xD3 */ + {0xAD, 0xC6}, {0xAD, 0xC7}, {0xAD, 0xC9}, {0xAD, 0xCA}, /* 0xD4-0xD7 */ + {0xAD, 0xCB}, {0xAD, 0xCC}, {0xAD, 0xCD}, {0xAD, 0xCE}, /* 0xD8-0xDB */ + {0xAD, 0xCF}, {0xAD, 0xD2}, {0xAD, 0xD4}, {0xAD, 0xD5}, /* 0xDC-0xDF */ + {0xAD, 0xD6}, {0xAD, 0xD7}, {0xAD, 0xD8}, {0xAD, 0xD9}, /* 0xE0-0xE3 */ + {0xAD, 0xDA}, {0xAD, 0xDB}, {0xAD, 0xDD}, {0xAD, 0xDE}, /* 0xE4-0xE7 */ + {0xAD, 0xDF}, {0xAD, 0xE1}, {0xAD, 0xE2}, {0xAD, 0xE3}, /* 0xE8-0xEB */ + {0xAD, 0xE5}, {0xAD, 0xE6}, {0xAD, 0xE7}, {0xAD, 0xE8}, /* 0xEC-0xEF */ + {0xAD, 0xE9}, {0xAD, 0xEA}, {0xAD, 0xEB}, {0xAD, 0xEC}, /* 0xF0-0xF3 */ + {0xAD, 0xED}, {0xAD, 0xEE}, {0xAD, 0xEF}, {0xAD, 0xF0}, /* 0xF4-0xF7 */ + {0xAD, 0xF1}, {0xAD, 0xF2}, {0xAD, 0xF3}, {0xAD, 0xF4}, /* 0xF8-0xFB */ + {0xAD, 0xF5}, {0xAD, 0xF6}, {0xAD, 0xF7}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_83[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xAD, 0xFA}, {0xAD, 0xFB}, {0xAD, 0xFD}, /* 0x40-0x43 */ + {0xAD, 0xFE}, {0xAE, 0x02}, {0xAE, 0x03}, {0xAE, 0x04}, /* 0x44-0x47 */ + {0xAE, 0x05}, {0xAE, 0x06}, {0xAE, 0x07}, {0xAE, 0x0A}, /* 0x48-0x4B */ + {0xAE, 0x0C}, {0xAE, 0x0E}, {0xAE, 0x0F}, {0xAE, 0x10}, /* 0x4C-0x4F */ + {0xAE, 0x11}, {0xAE, 0x12}, {0xAE, 0x13}, {0xAE, 0x15}, /* 0x50-0x53 */ + {0xAE, 0x16}, {0xAE, 0x17}, {0xAE, 0x18}, {0xAE, 0x19}, /* 0x54-0x57 */ + {0xAE, 0x1A}, {0xAE, 0x1B}, {0xAE, 0x1C}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xAE, 0x1D}, {0xAE, 0x1E}, {0xAE, 0x1F}, /* 0x60-0x63 */ + {0xAE, 0x20}, {0xAE, 0x21}, {0xAE, 0x22}, {0xAE, 0x23}, /* 0x64-0x67 */ + {0xAE, 0x24}, {0xAE, 0x25}, {0xAE, 0x26}, {0xAE, 0x27}, /* 0x68-0x6B */ + {0xAE, 0x28}, {0xAE, 0x29}, {0xAE, 0x2A}, {0xAE, 0x2B}, /* 0x6C-0x6F */ + {0xAE, 0x2C}, {0xAE, 0x2D}, {0xAE, 0x2E}, {0xAE, 0x2F}, /* 0x70-0x73 */ + {0xAE, 0x32}, {0xAE, 0x33}, {0xAE, 0x35}, {0xAE, 0x36}, /* 0x74-0x77 */ + {0xAE, 0x39}, {0xAE, 0x3B}, {0xAE, 0x3C}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xAE, 0x3D}, {0xAE, 0x3E}, {0xAE, 0x3F}, /* 0x80-0x83 */ + {0xAE, 0x42}, {0xAE, 0x44}, {0xAE, 0x47}, {0xAE, 0x48}, /* 0x84-0x87 */ + {0xAE, 0x49}, {0xAE, 0x4B}, {0xAE, 0x4F}, {0xAE, 0x51}, /* 0x88-0x8B */ + {0xAE, 0x52}, {0xAE, 0x53}, {0xAE, 0x55}, {0xAE, 0x57}, /* 0x8C-0x8F */ + {0xAE, 0x58}, {0xAE, 0x59}, {0xAE, 0x5A}, {0xAE, 0x5B}, /* 0x90-0x93 */ + {0xAE, 0x5E}, {0xAE, 0x62}, {0xAE, 0x63}, {0xAE, 0x64}, /* 0x94-0x97 */ + {0xAE, 0x66}, {0xAE, 0x67}, {0xAE, 0x6A}, {0xAE, 0x6B}, /* 0x98-0x9B */ + {0xAE, 0x6D}, {0xAE, 0x6E}, {0xAE, 0x6F}, {0xAE, 0x71}, /* 0x9C-0x9F */ + {0xAE, 0x72}, {0xAE, 0x73}, {0xAE, 0x74}, {0xAE, 0x75}, /* 0xA0-0xA3 */ + {0xAE, 0x76}, {0xAE, 0x77}, {0xAE, 0x7A}, {0xAE, 0x7E}, /* 0xA4-0xA7 */ + {0xAE, 0x7F}, {0xAE, 0x80}, {0xAE, 0x81}, {0xAE, 0x82}, /* 0xA8-0xAB */ + {0xAE, 0x83}, {0xAE, 0x86}, {0xAE, 0x87}, {0xAE, 0x88}, /* 0xAC-0xAF */ + {0xAE, 0x89}, {0xAE, 0x8A}, {0xAE, 0x8B}, {0xAE, 0x8D}, /* 0xB0-0xB3 */ + {0xAE, 0x8E}, {0xAE, 0x8F}, {0xAE, 0x90}, {0xAE, 0x91}, /* 0xB4-0xB7 */ + {0xAE, 0x92}, {0xAE, 0x93}, {0xAE, 0x94}, {0xAE, 0x95}, /* 0xB8-0xBB */ + {0xAE, 0x96}, {0xAE, 0x97}, {0xAE, 0x98}, {0xAE, 0x99}, /* 0xBC-0xBF */ + {0xAE, 0x9A}, {0xAE, 0x9B}, {0xAE, 0x9C}, {0xAE, 0x9D}, /* 0xC0-0xC3 */ + {0xAE, 0x9E}, {0xAE, 0x9F}, {0xAE, 0xA0}, {0xAE, 0xA1}, /* 0xC4-0xC7 */ + {0xAE, 0xA2}, {0xAE, 0xA3}, {0xAE, 0xA4}, {0xAE, 0xA5}, /* 0xC8-0xCB */ + {0xAE, 0xA6}, {0xAE, 0xA7}, {0xAE, 0xA8}, {0xAE, 0xA9}, /* 0xCC-0xCF */ + {0xAE, 0xAA}, {0xAE, 0xAB}, {0xAE, 0xAC}, {0xAE, 0xAD}, /* 0xD0-0xD3 */ + {0xAE, 0xAE}, {0xAE, 0xAF}, {0xAE, 0xB0}, {0xAE, 0xB1}, /* 0xD4-0xD7 */ + {0xAE, 0xB2}, {0xAE, 0xB3}, {0xAE, 0xB4}, {0xAE, 0xB5}, /* 0xD8-0xDB */ + {0xAE, 0xB6}, {0xAE, 0xB7}, {0xAE, 0xB8}, {0xAE, 0xB9}, /* 0xDC-0xDF */ + {0xAE, 0xBA}, {0xAE, 0xBB}, {0xAE, 0xBF}, {0xAE, 0xC1}, /* 0xE0-0xE3 */ + {0xAE, 0xC2}, {0xAE, 0xC3}, {0xAE, 0xC5}, {0xAE, 0xC6}, /* 0xE4-0xE7 */ + {0xAE, 0xC7}, {0xAE, 0xC8}, {0xAE, 0xC9}, {0xAE, 0xCA}, /* 0xE8-0xEB */ + {0xAE, 0xCB}, {0xAE, 0xCE}, {0xAE, 0xD2}, {0xAE, 0xD3}, /* 0xEC-0xEF */ + {0xAE, 0xD4}, {0xAE, 0xD5}, {0xAE, 0xD6}, {0xAE, 0xD7}, /* 0xF0-0xF3 */ + {0xAE, 0xDA}, {0xAE, 0xDB}, {0xAE, 0xDD}, {0xAE, 0xDE}, /* 0xF4-0xF7 */ + {0xAE, 0xDF}, {0xAE, 0xE0}, {0xAE, 0xE1}, {0xAE, 0xE2}, /* 0xF8-0xFB */ + {0xAE, 0xE3}, {0xAE, 0xE4}, {0xAE, 0xE5}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_84[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xAE, 0xE6}, {0xAE, 0xE7}, {0xAE, 0xE9}, /* 0x40-0x43 */ + {0xAE, 0xEA}, {0xAE, 0xEC}, {0xAE, 0xEE}, {0xAE, 0xEF}, /* 0x44-0x47 */ + {0xAE, 0xF0}, {0xAE, 0xF1}, {0xAE, 0xF2}, {0xAE, 0xF3}, /* 0x48-0x4B */ + {0xAE, 0xF5}, {0xAE, 0xF6}, {0xAE, 0xF7}, {0xAE, 0xF9}, /* 0x4C-0x4F */ + {0xAE, 0xFA}, {0xAE, 0xFB}, {0xAE, 0xFD}, {0xAE, 0xFE}, /* 0x50-0x53 */ + {0xAE, 0xFF}, {0xAF, 0x00}, {0xAF, 0x01}, {0xAF, 0x02}, /* 0x54-0x57 */ + {0xAF, 0x03}, {0xAF, 0x04}, {0xAF, 0x05}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xAF, 0x06}, {0xAF, 0x09}, {0xAF, 0x0A}, /* 0x60-0x63 */ + {0xAF, 0x0B}, {0xAF, 0x0C}, {0xAF, 0x0E}, {0xAF, 0x0F}, /* 0x64-0x67 */ + {0xAF, 0x11}, {0xAF, 0x12}, {0xAF, 0x13}, {0xAF, 0x14}, /* 0x68-0x6B */ + {0xAF, 0x15}, {0xAF, 0x16}, {0xAF, 0x17}, {0xAF, 0x18}, /* 0x6C-0x6F */ + {0xAF, 0x19}, {0xAF, 0x1A}, {0xAF, 0x1B}, {0xAF, 0x1C}, /* 0x70-0x73 */ + {0xAF, 0x1D}, {0xAF, 0x1E}, {0xAF, 0x1F}, {0xAF, 0x20}, /* 0x74-0x77 */ + {0xAF, 0x21}, {0xAF, 0x22}, {0xAF, 0x23}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xAF, 0x24}, {0xAF, 0x25}, {0xAF, 0x26}, /* 0x80-0x83 */ + {0xAF, 0x27}, {0xAF, 0x28}, {0xAF, 0x29}, {0xAF, 0x2A}, /* 0x84-0x87 */ + {0xAF, 0x2B}, {0xAF, 0x2E}, {0xAF, 0x2F}, {0xAF, 0x31}, /* 0x88-0x8B */ + {0xAF, 0x33}, {0xAF, 0x35}, {0xAF, 0x36}, {0xAF, 0x37}, /* 0x8C-0x8F */ + {0xAF, 0x38}, {0xAF, 0x39}, {0xAF, 0x3A}, {0xAF, 0x3B}, /* 0x90-0x93 */ + {0xAF, 0x3E}, {0xAF, 0x40}, {0xAF, 0x44}, {0xAF, 0x45}, /* 0x94-0x97 */ + {0xAF, 0x46}, {0xAF, 0x47}, {0xAF, 0x4A}, {0xAF, 0x4B}, /* 0x98-0x9B */ + {0xAF, 0x4C}, {0xAF, 0x4D}, {0xAF, 0x4E}, {0xAF, 0x4F}, /* 0x9C-0x9F */ + {0xAF, 0x51}, {0xAF, 0x52}, {0xAF, 0x53}, {0xAF, 0x54}, /* 0xA0-0xA3 */ + {0xAF, 0x55}, {0xAF, 0x56}, {0xAF, 0x57}, {0xAF, 0x58}, /* 0xA4-0xA7 */ + {0xAF, 0x59}, {0xAF, 0x5A}, {0xAF, 0x5B}, {0xAF, 0x5E}, /* 0xA8-0xAB */ + {0xAF, 0x5F}, {0xAF, 0x60}, {0xAF, 0x61}, {0xAF, 0x62}, /* 0xAC-0xAF */ + {0xAF, 0x63}, {0xAF, 0x66}, {0xAF, 0x67}, {0xAF, 0x68}, /* 0xB0-0xB3 */ + {0xAF, 0x69}, {0xAF, 0x6A}, {0xAF, 0x6B}, {0xAF, 0x6C}, /* 0xB4-0xB7 */ + {0xAF, 0x6D}, {0xAF, 0x6E}, {0xAF, 0x6F}, {0xAF, 0x70}, /* 0xB8-0xBB */ + {0xAF, 0x71}, {0xAF, 0x72}, {0xAF, 0x73}, {0xAF, 0x74}, /* 0xBC-0xBF */ + {0xAF, 0x75}, {0xAF, 0x76}, {0xAF, 0x77}, {0xAF, 0x78}, /* 0xC0-0xC3 */ + {0xAF, 0x7A}, {0xAF, 0x7B}, {0xAF, 0x7C}, {0xAF, 0x7D}, /* 0xC4-0xC7 */ + {0xAF, 0x7E}, {0xAF, 0x7F}, {0xAF, 0x81}, {0xAF, 0x82}, /* 0xC8-0xCB */ + {0xAF, 0x83}, {0xAF, 0x85}, {0xAF, 0x86}, {0xAF, 0x87}, /* 0xCC-0xCF */ + {0xAF, 0x89}, {0xAF, 0x8A}, {0xAF, 0x8B}, {0xAF, 0x8C}, /* 0xD0-0xD3 */ + {0xAF, 0x8D}, {0xAF, 0x8E}, {0xAF, 0x8F}, {0xAF, 0x92}, /* 0xD4-0xD7 */ + {0xAF, 0x93}, {0xAF, 0x94}, {0xAF, 0x96}, {0xAF, 0x97}, /* 0xD8-0xDB */ + {0xAF, 0x98}, {0xAF, 0x99}, {0xAF, 0x9A}, {0xAF, 0x9B}, /* 0xDC-0xDF */ + {0xAF, 0x9D}, {0xAF, 0x9E}, {0xAF, 0x9F}, {0xAF, 0xA0}, /* 0xE0-0xE3 */ + {0xAF, 0xA1}, {0xAF, 0xA2}, {0xAF, 0xA3}, {0xAF, 0xA4}, /* 0xE4-0xE7 */ + {0xAF, 0xA5}, {0xAF, 0xA6}, {0xAF, 0xA7}, {0xAF, 0xA8}, /* 0xE8-0xEB */ + {0xAF, 0xA9}, {0xAF, 0xAA}, {0xAF, 0xAB}, {0xAF, 0xAC}, /* 0xEC-0xEF */ + {0xAF, 0xAD}, {0xAF, 0xAE}, {0xAF, 0xAF}, {0xAF, 0xB0}, /* 0xF0-0xF3 */ + {0xAF, 0xB1}, {0xAF, 0xB2}, {0xAF, 0xB3}, {0xAF, 0xB4}, /* 0xF4-0xF7 */ + {0xAF, 0xB5}, {0xAF, 0xB6}, {0xAF, 0xB7}, {0xAF, 0xBA}, /* 0xF8-0xFB */ + {0xAF, 0xBB}, {0xAF, 0xBD}, {0xAF, 0xBE}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_85[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xAF, 0xBF}, {0xAF, 0xC1}, {0xAF, 0xC2}, /* 0x40-0x43 */ + {0xAF, 0xC3}, {0xAF, 0xC4}, {0xAF, 0xC5}, {0xAF, 0xC6}, /* 0x44-0x47 */ + {0xAF, 0xCA}, {0xAF, 0xCC}, {0xAF, 0xCF}, {0xAF, 0xD0}, /* 0x48-0x4B */ + {0xAF, 0xD1}, {0xAF, 0xD2}, {0xAF, 0xD3}, {0xAF, 0xD5}, /* 0x4C-0x4F */ + {0xAF, 0xD6}, {0xAF, 0xD7}, {0xAF, 0xD8}, {0xAF, 0xD9}, /* 0x50-0x53 */ + {0xAF, 0xDA}, {0xAF, 0xDB}, {0xAF, 0xDD}, {0xAF, 0xDE}, /* 0x54-0x57 */ + {0xAF, 0xDF}, {0xAF, 0xE0}, {0xAF, 0xE1}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xAF, 0xE2}, {0xAF, 0xE3}, {0xAF, 0xE4}, /* 0x60-0x63 */ + {0xAF, 0xE5}, {0xAF, 0xE6}, {0xAF, 0xE7}, {0xAF, 0xEA}, /* 0x64-0x67 */ + {0xAF, 0xEB}, {0xAF, 0xEC}, {0xAF, 0xED}, {0xAF, 0xEE}, /* 0x68-0x6B */ + {0xAF, 0xEF}, {0xAF, 0xF2}, {0xAF, 0xF3}, {0xAF, 0xF5}, /* 0x6C-0x6F */ + {0xAF, 0xF6}, {0xAF, 0xF7}, {0xAF, 0xF9}, {0xAF, 0xFA}, /* 0x70-0x73 */ + {0xAF, 0xFB}, {0xAF, 0xFC}, {0xAF, 0xFD}, {0xAF, 0xFE}, /* 0x74-0x77 */ + {0xAF, 0xFF}, {0xB0, 0x02}, {0xB0, 0x03}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB0, 0x05}, {0xB0, 0x06}, {0xB0, 0x07}, /* 0x80-0x83 */ + {0xB0, 0x08}, {0xB0, 0x09}, {0xB0, 0x0A}, {0xB0, 0x0B}, /* 0x84-0x87 */ + {0xB0, 0x0D}, {0xB0, 0x0E}, {0xB0, 0x0F}, {0xB0, 0x11}, /* 0x88-0x8B */ + {0xB0, 0x12}, {0xB0, 0x13}, {0xB0, 0x15}, {0xB0, 0x16}, /* 0x8C-0x8F */ + {0xB0, 0x17}, {0xB0, 0x18}, {0xB0, 0x19}, {0xB0, 0x1A}, /* 0x90-0x93 */ + {0xB0, 0x1B}, {0xB0, 0x1E}, {0xB0, 0x1F}, {0xB0, 0x20}, /* 0x94-0x97 */ + {0xB0, 0x21}, {0xB0, 0x22}, {0xB0, 0x23}, {0xB0, 0x24}, /* 0x98-0x9B */ + {0xB0, 0x25}, {0xB0, 0x26}, {0xB0, 0x27}, {0xB0, 0x29}, /* 0x9C-0x9F */ + {0xB0, 0x2A}, {0xB0, 0x2B}, {0xB0, 0x2C}, {0xB0, 0x2D}, /* 0xA0-0xA3 */ + {0xB0, 0x2E}, {0xB0, 0x2F}, {0xB0, 0x30}, {0xB0, 0x31}, /* 0xA4-0xA7 */ + {0xB0, 0x32}, {0xB0, 0x33}, {0xB0, 0x34}, {0xB0, 0x35}, /* 0xA8-0xAB */ + {0xB0, 0x36}, {0xB0, 0x37}, {0xB0, 0x38}, {0xB0, 0x39}, /* 0xAC-0xAF */ + {0xB0, 0x3A}, {0xB0, 0x3B}, {0xB0, 0x3C}, {0xB0, 0x3D}, /* 0xB0-0xB3 */ + {0xB0, 0x3E}, {0xB0, 0x3F}, {0xB0, 0x40}, {0xB0, 0x41}, /* 0xB4-0xB7 */ + {0xB0, 0x42}, {0xB0, 0x43}, {0xB0, 0x46}, {0xB0, 0x47}, /* 0xB8-0xBB */ + {0xB0, 0x49}, {0xB0, 0x4B}, {0xB0, 0x4D}, {0xB0, 0x4F}, /* 0xBC-0xBF */ + {0xB0, 0x50}, {0xB0, 0x51}, {0xB0, 0x52}, {0xB0, 0x56}, /* 0xC0-0xC3 */ + {0xB0, 0x58}, {0xB0, 0x5A}, {0xB0, 0x5B}, {0xB0, 0x5C}, /* 0xC4-0xC7 */ + {0xB0, 0x5E}, {0xB0, 0x5F}, {0xB0, 0x60}, {0xB0, 0x61}, /* 0xC8-0xCB */ + {0xB0, 0x62}, {0xB0, 0x63}, {0xB0, 0x64}, {0xB0, 0x65}, /* 0xCC-0xCF */ + {0xB0, 0x66}, {0xB0, 0x67}, {0xB0, 0x68}, {0xB0, 0x69}, /* 0xD0-0xD3 */ + {0xB0, 0x6A}, {0xB0, 0x6B}, {0xB0, 0x6C}, {0xB0, 0x6D}, /* 0xD4-0xD7 */ + {0xB0, 0x6E}, {0xB0, 0x6F}, {0xB0, 0x70}, {0xB0, 0x71}, /* 0xD8-0xDB */ + {0xB0, 0x72}, {0xB0, 0x73}, {0xB0, 0x74}, {0xB0, 0x75}, /* 0xDC-0xDF */ + {0xB0, 0x76}, {0xB0, 0x77}, {0xB0, 0x78}, {0xB0, 0x79}, /* 0xE0-0xE3 */ + {0xB0, 0x7A}, {0xB0, 0x7B}, {0xB0, 0x7E}, {0xB0, 0x7F}, /* 0xE4-0xE7 */ + {0xB0, 0x81}, {0xB0, 0x82}, {0xB0, 0x83}, {0xB0, 0x85}, /* 0xE8-0xEB */ + {0xB0, 0x86}, {0xB0, 0x87}, {0xB0, 0x88}, {0xB0, 0x89}, /* 0xEC-0xEF */ + {0xB0, 0x8A}, {0xB0, 0x8B}, {0xB0, 0x8E}, {0xB0, 0x90}, /* 0xF0-0xF3 */ + {0xB0, 0x92}, {0xB0, 0x93}, {0xB0, 0x94}, {0xB0, 0x95}, /* 0xF4-0xF7 */ + {0xB0, 0x96}, {0xB0, 0x97}, {0xB0, 0x9B}, {0xB0, 0x9D}, /* 0xF8-0xFB */ + {0xB0, 0x9E}, {0xB0, 0xA3}, {0xB0, 0xA4}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_86[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB0, 0xA5}, {0xB0, 0xA6}, {0xB0, 0xA7}, /* 0x40-0x43 */ + {0xB0, 0xAA}, {0xB0, 0xB0}, {0xB0, 0xB2}, {0xB0, 0xB6}, /* 0x44-0x47 */ + {0xB0, 0xB7}, {0xB0, 0xB9}, {0xB0, 0xBA}, {0xB0, 0xBB}, /* 0x48-0x4B */ + {0xB0, 0xBD}, {0xB0, 0xBE}, {0xB0, 0xBF}, {0xB0, 0xC0}, /* 0x4C-0x4F */ + {0xB0, 0xC1}, {0xB0, 0xC2}, {0xB0, 0xC3}, {0xB0, 0xC6}, /* 0x50-0x53 */ + {0xB0, 0xCA}, {0xB0, 0xCB}, {0xB0, 0xCC}, {0xB0, 0xCD}, /* 0x54-0x57 */ + {0xB0, 0xCE}, {0xB0, 0xCF}, {0xB0, 0xD2}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB0, 0xD3}, {0xB0, 0xD5}, {0xB0, 0xD6}, /* 0x60-0x63 */ + {0xB0, 0xD7}, {0xB0, 0xD9}, {0xB0, 0xDA}, {0xB0, 0xDB}, /* 0x64-0x67 */ + {0xB0, 0xDC}, {0xB0, 0xDD}, {0xB0, 0xDE}, {0xB0, 0xDF}, /* 0x68-0x6B */ + {0xB0, 0xE1}, {0xB0, 0xE2}, {0xB0, 0xE3}, {0xB0, 0xE4}, /* 0x6C-0x6F */ + {0xB0, 0xE6}, {0xB0, 0xE7}, {0xB0, 0xE8}, {0xB0, 0xE9}, /* 0x70-0x73 */ + {0xB0, 0xEA}, {0xB0, 0xEB}, {0xB0, 0xEC}, {0xB0, 0xED}, /* 0x74-0x77 */ + {0xB0, 0xEE}, {0xB0, 0xEF}, {0xB0, 0xF0}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB0, 0xF1}, {0xB0, 0xF2}, {0xB0, 0xF3}, /* 0x80-0x83 */ + {0xB0, 0xF4}, {0xB0, 0xF5}, {0xB0, 0xF6}, {0xB0, 0xF7}, /* 0x84-0x87 */ + {0xB0, 0xF8}, {0xB0, 0xF9}, {0xB0, 0xFA}, {0xB0, 0xFB}, /* 0x88-0x8B */ + {0xB0, 0xFC}, {0xB0, 0xFD}, {0xB0, 0xFE}, {0xB0, 0xFF}, /* 0x8C-0x8F */ + {0xB1, 0x00}, {0xB1, 0x01}, {0xB1, 0x02}, {0xB1, 0x03}, /* 0x90-0x93 */ + {0xB1, 0x04}, {0xB1, 0x05}, {0xB1, 0x06}, {0xB1, 0x07}, /* 0x94-0x97 */ + {0xB1, 0x0A}, {0xB1, 0x0D}, {0xB1, 0x0E}, {0xB1, 0x0F}, /* 0x98-0x9B */ + {0xB1, 0x11}, {0xB1, 0x14}, {0xB1, 0x15}, {0xB1, 0x16}, /* 0x9C-0x9F */ + {0xB1, 0x17}, {0xB1, 0x1A}, {0xB1, 0x1E}, {0xB1, 0x1F}, /* 0xA0-0xA3 */ + {0xB1, 0x20}, {0xB1, 0x21}, {0xB1, 0x22}, {0xB1, 0x26}, /* 0xA4-0xA7 */ + {0xB1, 0x27}, {0xB1, 0x29}, {0xB1, 0x2A}, {0xB1, 0x2B}, /* 0xA8-0xAB */ + {0xB1, 0x2D}, {0xB1, 0x2E}, {0xB1, 0x2F}, {0xB1, 0x30}, /* 0xAC-0xAF */ + {0xB1, 0x31}, {0xB1, 0x32}, {0xB1, 0x33}, {0xB1, 0x36}, /* 0xB0-0xB3 */ + {0xB1, 0x3A}, {0xB1, 0x3B}, {0xB1, 0x3C}, {0xB1, 0x3D}, /* 0xB4-0xB7 */ + {0xB1, 0x3E}, {0xB1, 0x3F}, {0xB1, 0x42}, {0xB1, 0x43}, /* 0xB8-0xBB */ + {0xB1, 0x45}, {0xB1, 0x46}, {0xB1, 0x47}, {0xB1, 0x49}, /* 0xBC-0xBF */ + {0xB1, 0x4A}, {0xB1, 0x4B}, {0xB1, 0x4C}, {0xB1, 0x4D}, /* 0xC0-0xC3 */ + {0xB1, 0x4E}, {0xB1, 0x4F}, {0xB1, 0x52}, {0xB1, 0x53}, /* 0xC4-0xC7 */ + {0xB1, 0x56}, {0xB1, 0x57}, {0xB1, 0x59}, {0xB1, 0x5A}, /* 0xC8-0xCB */ + {0xB1, 0x5B}, {0xB1, 0x5D}, {0xB1, 0x5E}, {0xB1, 0x5F}, /* 0xCC-0xCF */ + {0xB1, 0x61}, {0xB1, 0x62}, {0xB1, 0x63}, {0xB1, 0x64}, /* 0xD0-0xD3 */ + {0xB1, 0x65}, {0xB1, 0x66}, {0xB1, 0x67}, {0xB1, 0x68}, /* 0xD4-0xD7 */ + {0xB1, 0x69}, {0xB1, 0x6A}, {0xB1, 0x6B}, {0xB1, 0x6C}, /* 0xD8-0xDB */ + {0xB1, 0x6D}, {0xB1, 0x6E}, {0xB1, 0x6F}, {0xB1, 0x70}, /* 0xDC-0xDF */ + {0xB1, 0x71}, {0xB1, 0x72}, {0xB1, 0x73}, {0xB1, 0x74}, /* 0xE0-0xE3 */ + {0xB1, 0x75}, {0xB1, 0x76}, {0xB1, 0x77}, {0xB1, 0x7A}, /* 0xE4-0xE7 */ + {0xB1, 0x7B}, {0xB1, 0x7D}, {0xB1, 0x7E}, {0xB1, 0x7F}, /* 0xE8-0xEB */ + {0xB1, 0x81}, {0xB1, 0x83}, {0xB1, 0x84}, {0xB1, 0x85}, /* 0xEC-0xEF */ + {0xB1, 0x86}, {0xB1, 0x87}, {0xB1, 0x8A}, {0xB1, 0x8C}, /* 0xF0-0xF3 */ + {0xB1, 0x8E}, {0xB1, 0x8F}, {0xB1, 0x90}, {0xB1, 0x91}, /* 0xF4-0xF7 */ + {0xB1, 0x95}, {0xB1, 0x96}, {0xB1, 0x97}, {0xB1, 0x99}, /* 0xF8-0xFB */ + {0xB1, 0x9A}, {0xB1, 0x9B}, {0xB1, 0x9D}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_87[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB1, 0x9E}, {0xB1, 0x9F}, {0xB1, 0xA0}, /* 0x40-0x43 */ + {0xB1, 0xA1}, {0xB1, 0xA2}, {0xB1, 0xA3}, {0xB1, 0xA4}, /* 0x44-0x47 */ + {0xB1, 0xA5}, {0xB1, 0xA6}, {0xB1, 0xA7}, {0xB1, 0xA9}, /* 0x48-0x4B */ + {0xB1, 0xAA}, {0xB1, 0xAB}, {0xB1, 0xAC}, {0xB1, 0xAD}, /* 0x4C-0x4F */ + {0xB1, 0xAE}, {0xB1, 0xAF}, {0xB1, 0xB0}, {0xB1, 0xB1}, /* 0x50-0x53 */ + {0xB1, 0xB2}, {0xB1, 0xB3}, {0xB1, 0xB4}, {0xB1, 0xB5}, /* 0x54-0x57 */ + {0xB1, 0xB6}, {0xB1, 0xB7}, {0xB1, 0xB8}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB1, 0xB9}, {0xB1, 0xBA}, {0xB1, 0xBB}, /* 0x60-0x63 */ + {0xB1, 0xBC}, {0xB1, 0xBD}, {0xB1, 0xBE}, {0xB1, 0xBF}, /* 0x64-0x67 */ + {0xB1, 0xC0}, {0xB1, 0xC1}, {0xB1, 0xC2}, {0xB1, 0xC3}, /* 0x68-0x6B */ + {0xB1, 0xC4}, {0xB1, 0xC5}, {0xB1, 0xC6}, {0xB1, 0xC7}, /* 0x6C-0x6F */ + {0xB1, 0xC8}, {0xB1, 0xC9}, {0xB1, 0xCA}, {0xB1, 0xCB}, /* 0x70-0x73 */ + {0xB1, 0xCD}, {0xB1, 0xCE}, {0xB1, 0xCF}, {0xB1, 0xD1}, /* 0x74-0x77 */ + {0xB1, 0xD2}, {0xB1, 0xD3}, {0xB1, 0xD5}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB1, 0xD6}, {0xB1, 0xD7}, {0xB1, 0xD8}, /* 0x80-0x83 */ + {0xB1, 0xD9}, {0xB1, 0xDA}, {0xB1, 0xDB}, {0xB1, 0xDE}, /* 0x84-0x87 */ + {0xB1, 0xE0}, {0xB1, 0xE1}, {0xB1, 0xE2}, {0xB1, 0xE3}, /* 0x88-0x8B */ + {0xB1, 0xE4}, {0xB1, 0xE5}, {0xB1, 0xE6}, {0xB1, 0xE7}, /* 0x8C-0x8F */ + {0xB1, 0xEA}, {0xB1, 0xEB}, {0xB1, 0xED}, {0xB1, 0xEE}, /* 0x90-0x93 */ + {0xB1, 0xEF}, {0xB1, 0xF1}, {0xB1, 0xF2}, {0xB1, 0xF3}, /* 0x94-0x97 */ + {0xB1, 0xF4}, {0xB1, 0xF5}, {0xB1, 0xF6}, {0xB1, 0xF7}, /* 0x98-0x9B */ + {0xB1, 0xF8}, {0xB1, 0xFA}, {0xB1, 0xFC}, {0xB1, 0xFE}, /* 0x9C-0x9F */ + {0xB1, 0xFF}, {0xB2, 0x00}, {0xB2, 0x01}, {0xB2, 0x02}, /* 0xA0-0xA3 */ + {0xB2, 0x03}, {0xB2, 0x06}, {0xB2, 0x07}, {0xB2, 0x09}, /* 0xA4-0xA7 */ + {0xB2, 0x0A}, {0xB2, 0x0D}, {0xB2, 0x0E}, {0xB2, 0x0F}, /* 0xA8-0xAB */ + {0xB2, 0x10}, {0xB2, 0x11}, {0xB2, 0x12}, {0xB2, 0x13}, /* 0xAC-0xAF */ + {0xB2, 0x16}, {0xB2, 0x18}, {0xB2, 0x1A}, {0xB2, 0x1B}, /* 0xB0-0xB3 */ + {0xB2, 0x1C}, {0xB2, 0x1D}, {0xB2, 0x1E}, {0xB2, 0x1F}, /* 0xB4-0xB7 */ + {0xB2, 0x21}, {0xB2, 0x22}, {0xB2, 0x23}, {0xB2, 0x24}, /* 0xB8-0xBB */ + {0xB2, 0x25}, {0xB2, 0x26}, {0xB2, 0x27}, {0xB2, 0x28}, /* 0xBC-0xBF */ + {0xB2, 0x29}, {0xB2, 0x2A}, {0xB2, 0x2B}, {0xB2, 0x2C}, /* 0xC0-0xC3 */ + {0xB2, 0x2D}, {0xB2, 0x2E}, {0xB2, 0x2F}, {0xB2, 0x30}, /* 0xC4-0xC7 */ + {0xB2, 0x31}, {0xB2, 0x32}, {0xB2, 0x33}, {0xB2, 0x35}, /* 0xC8-0xCB */ + {0xB2, 0x36}, {0xB2, 0x37}, {0xB2, 0x38}, {0xB2, 0x39}, /* 0xCC-0xCF */ + {0xB2, 0x3A}, {0xB2, 0x3B}, {0xB2, 0x3D}, {0xB2, 0x3E}, /* 0xD0-0xD3 */ + {0xB2, 0x3F}, {0xB2, 0x40}, {0xB2, 0x41}, {0xB2, 0x42}, /* 0xD4-0xD7 */ + {0xB2, 0x43}, {0xB2, 0x44}, {0xB2, 0x45}, {0xB2, 0x46}, /* 0xD8-0xDB */ + {0xB2, 0x47}, {0xB2, 0x48}, {0xB2, 0x49}, {0xB2, 0x4A}, /* 0xDC-0xDF */ + {0xB2, 0x4B}, {0xB2, 0x4C}, {0xB2, 0x4D}, {0xB2, 0x4E}, /* 0xE0-0xE3 */ + {0xB2, 0x4F}, {0xB2, 0x50}, {0xB2, 0x51}, {0xB2, 0x52}, /* 0xE4-0xE7 */ + {0xB2, 0x53}, {0xB2, 0x54}, {0xB2, 0x55}, {0xB2, 0x56}, /* 0xE8-0xEB */ + {0xB2, 0x57}, {0xB2, 0x59}, {0xB2, 0x5A}, {0xB2, 0x5B}, /* 0xEC-0xEF */ + {0xB2, 0x5D}, {0xB2, 0x5E}, {0xB2, 0x5F}, {0xB2, 0x61}, /* 0xF0-0xF3 */ + {0xB2, 0x62}, {0xB2, 0x63}, {0xB2, 0x64}, {0xB2, 0x65}, /* 0xF4-0xF7 */ + {0xB2, 0x66}, {0xB2, 0x67}, {0xB2, 0x6A}, {0xB2, 0x6B}, /* 0xF8-0xFB */ + {0xB2, 0x6C}, {0xB2, 0x6D}, {0xB2, 0x6E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_88[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB2, 0x6F}, {0xB2, 0x70}, {0xB2, 0x71}, /* 0x40-0x43 */ + {0xB2, 0x72}, {0xB2, 0x73}, {0xB2, 0x76}, {0xB2, 0x77}, /* 0x44-0x47 */ + {0xB2, 0x78}, {0xB2, 0x79}, {0xB2, 0x7A}, {0xB2, 0x7B}, /* 0x48-0x4B */ + {0xB2, 0x7D}, {0xB2, 0x7E}, {0xB2, 0x7F}, {0xB2, 0x80}, /* 0x4C-0x4F */ + {0xB2, 0x81}, {0xB2, 0x82}, {0xB2, 0x83}, {0xB2, 0x86}, /* 0x50-0x53 */ + {0xB2, 0x87}, {0xB2, 0x88}, {0xB2, 0x8A}, {0xB2, 0x8B}, /* 0x54-0x57 */ + {0xB2, 0x8C}, {0xB2, 0x8D}, {0xB2, 0x8E}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB2, 0x8F}, {0xB2, 0x92}, {0xB2, 0x93}, /* 0x60-0x63 */ + {0xB2, 0x95}, {0xB2, 0x96}, {0xB2, 0x97}, {0xB2, 0x9B}, /* 0x64-0x67 */ + {0xB2, 0x9C}, {0xB2, 0x9D}, {0xB2, 0x9E}, {0xB2, 0x9F}, /* 0x68-0x6B */ + {0xB2, 0xA2}, {0xB2, 0xA4}, {0xB2, 0xA7}, {0xB2, 0xA8}, /* 0x6C-0x6F */ + {0xB2, 0xA9}, {0xB2, 0xAB}, {0xB2, 0xAD}, {0xB2, 0xAE}, /* 0x70-0x73 */ + {0xB2, 0xAF}, {0xB2, 0xB1}, {0xB2, 0xB2}, {0xB2, 0xB3}, /* 0x74-0x77 */ + {0xB2, 0xB5}, {0xB2, 0xB6}, {0xB2, 0xB7}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB2, 0xB8}, {0xB2, 0xB9}, {0xB2, 0xBA}, /* 0x80-0x83 */ + {0xB2, 0xBB}, {0xB2, 0xBC}, {0xB2, 0xBD}, {0xB2, 0xBE}, /* 0x84-0x87 */ + {0xB2, 0xBF}, {0xB2, 0xC0}, {0xB2, 0xC1}, {0xB2, 0xC2}, /* 0x88-0x8B */ + {0xB2, 0xC3}, {0xB2, 0xC4}, {0xB2, 0xC5}, {0xB2, 0xC6}, /* 0x8C-0x8F */ + {0xB2, 0xC7}, {0xB2, 0xCA}, {0xB2, 0xCB}, {0xB2, 0xCD}, /* 0x90-0x93 */ + {0xB2, 0xCE}, {0xB2, 0xCF}, {0xB2, 0xD1}, {0xB2, 0xD3}, /* 0x94-0x97 */ + {0xB2, 0xD4}, {0xB2, 0xD5}, {0xB2, 0xD6}, {0xB2, 0xD7}, /* 0x98-0x9B */ + {0xB2, 0xDA}, {0xB2, 0xDC}, {0xB2, 0xDE}, {0xB2, 0xDF}, /* 0x9C-0x9F */ + {0xB2, 0xE0}, {0xB2, 0xE1}, {0xB2, 0xE3}, {0xB2, 0xE7}, /* 0xA0-0xA3 */ + {0xB2, 0xE9}, {0xB2, 0xEA}, {0xB2, 0xF0}, {0xB2, 0xF1}, /* 0xA4-0xA7 */ + {0xB2, 0xF2}, {0xB2, 0xF6}, {0xB2, 0xFC}, {0xB2, 0xFD}, /* 0xA8-0xAB */ + {0xB2, 0xFE}, {0xB3, 0x02}, {0xB3, 0x03}, {0xB3, 0x05}, /* 0xAC-0xAF */ + {0xB3, 0x06}, {0xB3, 0x07}, {0xB3, 0x09}, {0xB3, 0x0A}, /* 0xB0-0xB3 */ + {0xB3, 0x0B}, {0xB3, 0x0C}, {0xB3, 0x0D}, {0xB3, 0x0E}, /* 0xB4-0xB7 */ + {0xB3, 0x0F}, {0xB3, 0x12}, {0xB3, 0x16}, {0xB3, 0x17}, /* 0xB8-0xBB */ + {0xB3, 0x18}, {0xB3, 0x19}, {0xB3, 0x1A}, {0xB3, 0x1B}, /* 0xBC-0xBF */ + {0xB3, 0x1D}, {0xB3, 0x1E}, {0xB3, 0x1F}, {0xB3, 0x20}, /* 0xC0-0xC3 */ + {0xB3, 0x21}, {0xB3, 0x22}, {0xB3, 0x23}, {0xB3, 0x24}, /* 0xC4-0xC7 */ + {0xB3, 0x25}, {0xB3, 0x26}, {0xB3, 0x27}, {0xB3, 0x28}, /* 0xC8-0xCB */ + {0xB3, 0x29}, {0xB3, 0x2A}, {0xB3, 0x2B}, {0xB3, 0x2C}, /* 0xCC-0xCF */ + {0xB3, 0x2D}, {0xB3, 0x2E}, {0xB3, 0x2F}, {0xB3, 0x30}, /* 0xD0-0xD3 */ + {0xB3, 0x31}, {0xB3, 0x32}, {0xB3, 0x33}, {0xB3, 0x34}, /* 0xD4-0xD7 */ + {0xB3, 0x35}, {0xB3, 0x36}, {0xB3, 0x37}, {0xB3, 0x38}, /* 0xD8-0xDB */ + {0xB3, 0x39}, {0xB3, 0x3A}, {0xB3, 0x3B}, {0xB3, 0x3C}, /* 0xDC-0xDF */ + {0xB3, 0x3D}, {0xB3, 0x3E}, {0xB3, 0x3F}, {0xB3, 0x40}, /* 0xE0-0xE3 */ + {0xB3, 0x41}, {0xB3, 0x42}, {0xB3, 0x43}, {0xB3, 0x44}, /* 0xE4-0xE7 */ + {0xB3, 0x45}, {0xB3, 0x46}, {0xB3, 0x47}, {0xB3, 0x48}, /* 0xE8-0xEB */ + {0xB3, 0x49}, {0xB3, 0x4A}, {0xB3, 0x4B}, {0xB3, 0x4C}, /* 0xEC-0xEF */ + {0xB3, 0x4D}, {0xB3, 0x4E}, {0xB3, 0x4F}, {0xB3, 0x50}, /* 0xF0-0xF3 */ + {0xB3, 0x51}, {0xB3, 0x52}, {0xB3, 0x53}, {0xB3, 0x57}, /* 0xF4-0xF7 */ + {0xB3, 0x59}, {0xB3, 0x5A}, {0xB3, 0x5D}, {0xB3, 0x60}, /* 0xF8-0xFB */ + {0xB3, 0x61}, {0xB3, 0x62}, {0xB3, 0x63}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_89[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB3, 0x66}, {0xB3, 0x68}, {0xB3, 0x6A}, /* 0x40-0x43 */ + {0xB3, 0x6C}, {0xB3, 0x6D}, {0xB3, 0x6F}, {0xB3, 0x72}, /* 0x44-0x47 */ + {0xB3, 0x73}, {0xB3, 0x75}, {0xB3, 0x76}, {0xB3, 0x77}, /* 0x48-0x4B */ + {0xB3, 0x79}, {0xB3, 0x7A}, {0xB3, 0x7B}, {0xB3, 0x7C}, /* 0x4C-0x4F */ + {0xB3, 0x7D}, {0xB3, 0x7E}, {0xB3, 0x7F}, {0xB3, 0x82}, /* 0x50-0x53 */ + {0xB3, 0x86}, {0xB3, 0x87}, {0xB3, 0x88}, {0xB3, 0x89}, /* 0x54-0x57 */ + {0xB3, 0x8A}, {0xB3, 0x8B}, {0xB3, 0x8D}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB3, 0x8E}, {0xB3, 0x8F}, {0xB3, 0x91}, /* 0x60-0x63 */ + {0xB3, 0x92}, {0xB3, 0x93}, {0xB3, 0x95}, {0xB3, 0x96}, /* 0x64-0x67 */ + {0xB3, 0x97}, {0xB3, 0x98}, {0xB3, 0x99}, {0xB3, 0x9A}, /* 0x68-0x6B */ + {0xB3, 0x9B}, {0xB3, 0x9C}, {0xB3, 0x9D}, {0xB3, 0x9E}, /* 0x6C-0x6F */ + {0xB3, 0x9F}, {0xB3, 0xA2}, {0xB3, 0xA3}, {0xB3, 0xA4}, /* 0x70-0x73 */ + {0xB3, 0xA5}, {0xB3, 0xA6}, {0xB3, 0xA7}, {0xB3, 0xA9}, /* 0x74-0x77 */ + {0xB3, 0xAA}, {0xB3, 0xAB}, {0xB3, 0xAD}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB3, 0xAE}, {0xB3, 0xAF}, {0xB3, 0xB0}, /* 0x80-0x83 */ + {0xB3, 0xB1}, {0xB3, 0xB2}, {0xB3, 0xB3}, {0xB3, 0xB4}, /* 0x84-0x87 */ + {0xB3, 0xB5}, {0xB3, 0xB6}, {0xB3, 0xB7}, {0xB3, 0xB8}, /* 0x88-0x8B */ + {0xB3, 0xB9}, {0xB3, 0xBA}, {0xB3, 0xBB}, {0xB3, 0xBC}, /* 0x8C-0x8F */ + {0xB3, 0xBD}, {0xB3, 0xBE}, {0xB3, 0xBF}, {0xB3, 0xC0}, /* 0x90-0x93 */ + {0xB3, 0xC1}, {0xB3, 0xC2}, {0xB3, 0xC3}, {0xB3, 0xC6}, /* 0x94-0x97 */ + {0xB3, 0xC7}, {0xB3, 0xC9}, {0xB3, 0xCA}, {0xB3, 0xCD}, /* 0x98-0x9B */ + {0xB3, 0xCF}, {0xB3, 0xD1}, {0xB3, 0xD2}, {0xB3, 0xD3}, /* 0x9C-0x9F */ + {0xB3, 0xD6}, {0xB3, 0xD8}, {0xB3, 0xDA}, {0xB3, 0xDC}, /* 0xA0-0xA3 */ + {0xB3, 0xDE}, {0xB3, 0xDF}, {0xB3, 0xE1}, {0xB3, 0xE2}, /* 0xA4-0xA7 */ + {0xB3, 0xE3}, {0xB3, 0xE5}, {0xB3, 0xE6}, {0xB3, 0xE7}, /* 0xA8-0xAB */ + {0xB3, 0xE9}, {0xB3, 0xEA}, {0xB3, 0xEB}, {0xB3, 0xEC}, /* 0xAC-0xAF */ + {0xB3, 0xED}, {0xB3, 0xEE}, {0xB3, 0xEF}, {0xB3, 0xF0}, /* 0xB0-0xB3 */ + {0xB3, 0xF1}, {0xB3, 0xF2}, {0xB3, 0xF3}, {0xB3, 0xF4}, /* 0xB4-0xB7 */ + {0xB3, 0xF5}, {0xB3, 0xF6}, {0xB3, 0xF7}, {0xB3, 0xF8}, /* 0xB8-0xBB */ + {0xB3, 0xF9}, {0xB3, 0xFA}, {0xB3, 0xFB}, {0xB3, 0xFD}, /* 0xBC-0xBF */ + {0xB3, 0xFE}, {0xB3, 0xFF}, {0xB4, 0x00}, {0xB4, 0x01}, /* 0xC0-0xC3 */ + {0xB4, 0x02}, {0xB4, 0x03}, {0xB4, 0x04}, {0xB4, 0x05}, /* 0xC4-0xC7 */ + {0xB4, 0x06}, {0xB4, 0x07}, {0xB4, 0x08}, {0xB4, 0x09}, /* 0xC8-0xCB */ + {0xB4, 0x0A}, {0xB4, 0x0B}, {0xB4, 0x0C}, {0xB4, 0x0D}, /* 0xCC-0xCF */ + {0xB4, 0x0E}, {0xB4, 0x0F}, {0xB4, 0x11}, {0xB4, 0x12}, /* 0xD0-0xD3 */ + {0xB4, 0x13}, {0xB4, 0x14}, {0xB4, 0x15}, {0xB4, 0x16}, /* 0xD4-0xD7 */ + {0xB4, 0x17}, {0xB4, 0x19}, {0xB4, 0x1A}, {0xB4, 0x1B}, /* 0xD8-0xDB */ + {0xB4, 0x1D}, {0xB4, 0x1E}, {0xB4, 0x1F}, {0xB4, 0x21}, /* 0xDC-0xDF */ + {0xB4, 0x22}, {0xB4, 0x23}, {0xB4, 0x24}, {0xB4, 0x25}, /* 0xE0-0xE3 */ + {0xB4, 0x26}, {0xB4, 0x27}, {0xB4, 0x2A}, {0xB4, 0x2C}, /* 0xE4-0xE7 */ + {0xB4, 0x2D}, {0xB4, 0x2E}, {0xB4, 0x2F}, {0xB4, 0x30}, /* 0xE8-0xEB */ + {0xB4, 0x31}, {0xB4, 0x32}, {0xB4, 0x33}, {0xB4, 0x35}, /* 0xEC-0xEF */ + {0xB4, 0x36}, {0xB4, 0x37}, {0xB4, 0x38}, {0xB4, 0x39}, /* 0xF0-0xF3 */ + {0xB4, 0x3A}, {0xB4, 0x3B}, {0xB4, 0x3C}, {0xB4, 0x3D}, /* 0xF4-0xF7 */ + {0xB4, 0x3E}, {0xB4, 0x3F}, {0xB4, 0x40}, {0xB4, 0x41}, /* 0xF8-0xFB */ + {0xB4, 0x42}, {0xB4, 0x43}, {0xB4, 0x44}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8A[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB4, 0x45}, {0xB4, 0x46}, {0xB4, 0x47}, /* 0x40-0x43 */ + {0xB4, 0x48}, {0xB4, 0x49}, {0xB4, 0x4A}, {0xB4, 0x4B}, /* 0x44-0x47 */ + {0xB4, 0x4C}, {0xB4, 0x4D}, {0xB4, 0x4E}, {0xB4, 0x4F}, /* 0x48-0x4B */ + {0xB4, 0x52}, {0xB4, 0x53}, {0xB4, 0x55}, {0xB4, 0x56}, /* 0x4C-0x4F */ + {0xB4, 0x57}, {0xB4, 0x59}, {0xB4, 0x5A}, {0xB4, 0x5B}, /* 0x50-0x53 */ + {0xB4, 0x5C}, {0xB4, 0x5D}, {0xB4, 0x5E}, {0xB4, 0x5F}, /* 0x54-0x57 */ + {0xB4, 0x62}, {0xB4, 0x64}, {0xB4, 0x66}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB4, 0x67}, {0xB4, 0x68}, {0xB4, 0x69}, /* 0x60-0x63 */ + {0xB4, 0x6A}, {0xB4, 0x6B}, {0xB4, 0x6D}, {0xB4, 0x6E}, /* 0x64-0x67 */ + {0xB4, 0x6F}, {0xB4, 0x70}, {0xB4, 0x71}, {0xB4, 0x72}, /* 0x68-0x6B */ + {0xB4, 0x73}, {0xB4, 0x74}, {0xB4, 0x75}, {0xB4, 0x76}, /* 0x6C-0x6F */ + {0xB4, 0x77}, {0xB4, 0x78}, {0xB4, 0x79}, {0xB4, 0x7A}, /* 0x70-0x73 */ + {0xB4, 0x7B}, {0xB4, 0x7C}, {0xB4, 0x7D}, {0xB4, 0x7E}, /* 0x74-0x77 */ + {0xB4, 0x7F}, {0xB4, 0x81}, {0xB4, 0x82}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB4, 0x83}, {0xB4, 0x84}, {0xB4, 0x85}, /* 0x80-0x83 */ + {0xB4, 0x86}, {0xB4, 0x87}, {0xB4, 0x89}, {0xB4, 0x8A}, /* 0x84-0x87 */ + {0xB4, 0x8B}, {0xB4, 0x8C}, {0xB4, 0x8D}, {0xB4, 0x8E}, /* 0x88-0x8B */ + {0xB4, 0x8F}, {0xB4, 0x90}, {0xB4, 0x91}, {0xB4, 0x92}, /* 0x8C-0x8F */ + {0xB4, 0x93}, {0xB4, 0x94}, {0xB4, 0x95}, {0xB4, 0x96}, /* 0x90-0x93 */ + {0xB4, 0x97}, {0xB4, 0x98}, {0xB4, 0x99}, {0xB4, 0x9A}, /* 0x94-0x97 */ + {0xB4, 0x9B}, {0xB4, 0x9C}, {0xB4, 0x9E}, {0xB4, 0x9F}, /* 0x98-0x9B */ + {0xB4, 0xA0}, {0xB4, 0xA1}, {0xB4, 0xA2}, {0xB4, 0xA3}, /* 0x9C-0x9F */ + {0xB4, 0xA5}, {0xB4, 0xA6}, {0xB4, 0xA7}, {0xB4, 0xA9}, /* 0xA0-0xA3 */ + {0xB4, 0xAA}, {0xB4, 0xAB}, {0xB4, 0xAD}, {0xB4, 0xAE}, /* 0xA4-0xA7 */ + {0xB4, 0xAF}, {0xB4, 0xB0}, {0xB4, 0xB1}, {0xB4, 0xB2}, /* 0xA8-0xAB */ + {0xB4, 0xB3}, {0xB4, 0xB4}, {0xB4, 0xB6}, {0xB4, 0xB8}, /* 0xAC-0xAF */ + {0xB4, 0xBA}, {0xB4, 0xBB}, {0xB4, 0xBC}, {0xB4, 0xBD}, /* 0xB0-0xB3 */ + {0xB4, 0xBE}, {0xB4, 0xBF}, {0xB4, 0xC1}, {0xB4, 0xC2}, /* 0xB4-0xB7 */ + {0xB4, 0xC3}, {0xB4, 0xC5}, {0xB4, 0xC6}, {0xB4, 0xC7}, /* 0xB8-0xBB */ + {0xB4, 0xC9}, {0xB4, 0xCA}, {0xB4, 0xCB}, {0xB4, 0xCC}, /* 0xBC-0xBF */ + {0xB4, 0xCD}, {0xB4, 0xCE}, {0xB4, 0xCF}, {0xB4, 0xD1}, /* 0xC0-0xC3 */ + {0xB4, 0xD2}, {0xB4, 0xD3}, {0xB4, 0xD4}, {0xB4, 0xD6}, /* 0xC4-0xC7 */ + {0xB4, 0xD7}, {0xB4, 0xD8}, {0xB4, 0xD9}, {0xB4, 0xDA}, /* 0xC8-0xCB */ + {0xB4, 0xDB}, {0xB4, 0xDE}, {0xB4, 0xDF}, {0xB4, 0xE1}, /* 0xCC-0xCF */ + {0xB4, 0xE2}, {0xB4, 0xE5}, {0xB4, 0xE7}, {0xB4, 0xE8}, /* 0xD0-0xD3 */ + {0xB4, 0xE9}, {0xB4, 0xEA}, {0xB4, 0xEB}, {0xB4, 0xEE}, /* 0xD4-0xD7 */ + {0xB4, 0xF0}, {0xB4, 0xF2}, {0xB4, 0xF3}, {0xB4, 0xF4}, /* 0xD8-0xDB */ + {0xB4, 0xF5}, {0xB4, 0xF6}, {0xB4, 0xF7}, {0xB4, 0xF9}, /* 0xDC-0xDF */ + {0xB4, 0xFA}, {0xB4, 0xFB}, {0xB4, 0xFC}, {0xB4, 0xFD}, /* 0xE0-0xE3 */ + {0xB4, 0xFE}, {0xB4, 0xFF}, {0xB5, 0x00}, {0xB5, 0x01}, /* 0xE4-0xE7 */ + {0xB5, 0x02}, {0xB5, 0x03}, {0xB5, 0x04}, {0xB5, 0x05}, /* 0xE8-0xEB */ + {0xB5, 0x06}, {0xB5, 0x07}, {0xB5, 0x08}, {0xB5, 0x09}, /* 0xEC-0xEF */ + {0xB5, 0x0A}, {0xB5, 0x0B}, {0xB5, 0x0C}, {0xB5, 0x0D}, /* 0xF0-0xF3 */ + {0xB5, 0x0E}, {0xB5, 0x0F}, {0xB5, 0x10}, {0xB5, 0x11}, /* 0xF4-0xF7 */ + {0xB5, 0x12}, {0xB5, 0x13}, {0xB5, 0x16}, {0xB5, 0x17}, /* 0xF8-0xFB */ + {0xB5, 0x19}, {0xB5, 0x1A}, {0xB5, 0x1D}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8B[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB5, 0x1E}, {0xB5, 0x1F}, {0xB5, 0x20}, /* 0x40-0x43 */ + {0xB5, 0x21}, {0xB5, 0x22}, {0xB5, 0x23}, {0xB5, 0x26}, /* 0x44-0x47 */ + {0xB5, 0x2B}, {0xB5, 0x2C}, {0xB5, 0x2D}, {0xB5, 0x2E}, /* 0x48-0x4B */ + {0xB5, 0x2F}, {0xB5, 0x32}, {0xB5, 0x33}, {0xB5, 0x35}, /* 0x4C-0x4F */ + {0xB5, 0x36}, {0xB5, 0x37}, {0xB5, 0x39}, {0xB5, 0x3A}, /* 0x50-0x53 */ + {0xB5, 0x3B}, {0xB5, 0x3C}, {0xB5, 0x3D}, {0xB5, 0x3E}, /* 0x54-0x57 */ + {0xB5, 0x3F}, {0xB5, 0x42}, {0xB5, 0x46}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB5, 0x47}, {0xB5, 0x48}, {0xB5, 0x49}, /* 0x60-0x63 */ + {0xB5, 0x4A}, {0xB5, 0x4E}, {0xB5, 0x4F}, {0xB5, 0x51}, /* 0x64-0x67 */ + {0xB5, 0x52}, {0xB5, 0x53}, {0xB5, 0x55}, {0xB5, 0x56}, /* 0x68-0x6B */ + {0xB5, 0x57}, {0xB5, 0x58}, {0xB5, 0x59}, {0xB5, 0x5A}, /* 0x6C-0x6F */ + {0xB5, 0x5B}, {0xB5, 0x5E}, {0xB5, 0x62}, {0xB5, 0x63}, /* 0x70-0x73 */ + {0xB5, 0x64}, {0xB5, 0x65}, {0xB5, 0x66}, {0xB5, 0x67}, /* 0x74-0x77 */ + {0xB5, 0x68}, {0xB5, 0x69}, {0xB5, 0x6A}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB5, 0x6B}, {0xB5, 0x6C}, {0xB5, 0x6D}, /* 0x80-0x83 */ + {0xB5, 0x6E}, {0xB5, 0x6F}, {0xB5, 0x70}, {0xB5, 0x71}, /* 0x84-0x87 */ + {0xB5, 0x72}, {0xB5, 0x73}, {0xB5, 0x74}, {0xB5, 0x75}, /* 0x88-0x8B */ + {0xB5, 0x76}, {0xB5, 0x77}, {0xB5, 0x78}, {0xB5, 0x79}, /* 0x8C-0x8F */ + {0xB5, 0x7A}, {0xB5, 0x7B}, {0xB5, 0x7C}, {0xB5, 0x7D}, /* 0x90-0x93 */ + {0xB5, 0x7E}, {0xB5, 0x7F}, {0xB5, 0x80}, {0xB5, 0x81}, /* 0x94-0x97 */ + {0xB5, 0x82}, {0xB5, 0x83}, {0xB5, 0x84}, {0xB5, 0x85}, /* 0x98-0x9B */ + {0xB5, 0x86}, {0xB5, 0x87}, {0xB5, 0x88}, {0xB5, 0x89}, /* 0x9C-0x9F */ + {0xB5, 0x8A}, {0xB5, 0x8B}, {0xB5, 0x8C}, {0xB5, 0x8D}, /* 0xA0-0xA3 */ + {0xB5, 0x8E}, {0xB5, 0x8F}, {0xB5, 0x90}, {0xB5, 0x91}, /* 0xA4-0xA7 */ + {0xB5, 0x92}, {0xB5, 0x93}, {0xB5, 0x94}, {0xB5, 0x95}, /* 0xA8-0xAB */ + {0xB5, 0x96}, {0xB5, 0x97}, {0xB5, 0x98}, {0xB5, 0x99}, /* 0xAC-0xAF */ + {0xB5, 0x9A}, {0xB5, 0x9B}, {0xB5, 0x9C}, {0xB5, 0x9D}, /* 0xB0-0xB3 */ + {0xB5, 0x9E}, {0xB5, 0x9F}, {0xB5, 0xA2}, {0xB5, 0xA3}, /* 0xB4-0xB7 */ + {0xB5, 0xA5}, {0xB5, 0xA6}, {0xB5, 0xA7}, {0xB5, 0xA9}, /* 0xB8-0xBB */ + {0xB5, 0xAC}, {0xB5, 0xAD}, {0xB5, 0xAE}, {0xB5, 0xAF}, /* 0xBC-0xBF */ + {0xB5, 0xB2}, {0xB5, 0xB6}, {0xB5, 0xB7}, {0xB5, 0xB8}, /* 0xC0-0xC3 */ + {0xB5, 0xB9}, {0xB5, 0xBA}, {0xB5, 0xBE}, {0xB5, 0xBF}, /* 0xC4-0xC7 */ + {0xB5, 0xC1}, {0xB5, 0xC2}, {0xB5, 0xC3}, {0xB5, 0xC5}, /* 0xC8-0xCB */ + {0xB5, 0xC6}, {0xB5, 0xC7}, {0xB5, 0xC8}, {0xB5, 0xC9}, /* 0xCC-0xCF */ + {0xB5, 0xCA}, {0xB5, 0xCB}, {0xB5, 0xCE}, {0xB5, 0xD2}, /* 0xD0-0xD3 */ + {0xB5, 0xD3}, {0xB5, 0xD4}, {0xB5, 0xD5}, {0xB5, 0xD6}, /* 0xD4-0xD7 */ + {0xB5, 0xD7}, {0xB5, 0xD9}, {0xB5, 0xDA}, {0xB5, 0xDB}, /* 0xD8-0xDB */ + {0xB5, 0xDC}, {0xB5, 0xDD}, {0xB5, 0xDE}, {0xB5, 0xDF}, /* 0xDC-0xDF */ + {0xB5, 0xE0}, {0xB5, 0xE1}, {0xB5, 0xE2}, {0xB5, 0xE3}, /* 0xE0-0xE3 */ + {0xB5, 0xE4}, {0xB5, 0xE5}, {0xB5, 0xE6}, {0xB5, 0xE7}, /* 0xE4-0xE7 */ + {0xB5, 0xE8}, {0xB5, 0xE9}, {0xB5, 0xEA}, {0xB5, 0xEB}, /* 0xE8-0xEB */ + {0xB5, 0xED}, {0xB5, 0xEE}, {0xB5, 0xEF}, {0xB5, 0xF0}, /* 0xEC-0xEF */ + {0xB5, 0xF1}, {0xB5, 0xF2}, {0xB5, 0xF3}, {0xB5, 0xF4}, /* 0xF0-0xF3 */ + {0xB5, 0xF5}, {0xB5, 0xF6}, {0xB5, 0xF7}, {0xB5, 0xF8}, /* 0xF4-0xF7 */ + {0xB5, 0xF9}, {0xB5, 0xFA}, {0xB5, 0xFB}, {0xB5, 0xFC}, /* 0xF8-0xFB */ + {0xB5, 0xFD}, {0xB5, 0xFE}, {0xB5, 0xFF}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8C[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB6, 0x00}, {0xB6, 0x01}, {0xB6, 0x02}, /* 0x40-0x43 */ + {0xB6, 0x03}, {0xB6, 0x04}, {0xB6, 0x05}, {0xB6, 0x06}, /* 0x44-0x47 */ + {0xB6, 0x07}, {0xB6, 0x08}, {0xB6, 0x09}, {0xB6, 0x0A}, /* 0x48-0x4B */ + {0xB6, 0x0B}, {0xB6, 0x0C}, {0xB6, 0x0D}, {0xB6, 0x0E}, /* 0x4C-0x4F */ + {0xB6, 0x0F}, {0xB6, 0x12}, {0xB6, 0x13}, {0xB6, 0x15}, /* 0x50-0x53 */ + {0xB6, 0x16}, {0xB6, 0x17}, {0xB6, 0x19}, {0xB6, 0x1A}, /* 0x54-0x57 */ + {0xB6, 0x1B}, {0xB6, 0x1C}, {0xB6, 0x1D}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB6, 0x1E}, {0xB6, 0x1F}, {0xB6, 0x20}, /* 0x60-0x63 */ + {0xB6, 0x21}, {0xB6, 0x22}, {0xB6, 0x23}, {0xB6, 0x24}, /* 0x64-0x67 */ + {0xB6, 0x26}, {0xB6, 0x27}, {0xB6, 0x28}, {0xB6, 0x29}, /* 0x68-0x6B */ + {0xB6, 0x2A}, {0xB6, 0x2B}, {0xB6, 0x2D}, {0xB6, 0x2E}, /* 0x6C-0x6F */ + {0xB6, 0x2F}, {0xB6, 0x30}, {0xB6, 0x31}, {0xB6, 0x32}, /* 0x70-0x73 */ + {0xB6, 0x33}, {0xB6, 0x35}, {0xB6, 0x36}, {0xB6, 0x37}, /* 0x74-0x77 */ + {0xB6, 0x38}, {0xB6, 0x39}, {0xB6, 0x3A}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB6, 0x3B}, {0xB6, 0x3C}, {0xB6, 0x3D}, /* 0x80-0x83 */ + {0xB6, 0x3E}, {0xB6, 0x3F}, {0xB6, 0x40}, {0xB6, 0x41}, /* 0x84-0x87 */ + {0xB6, 0x42}, {0xB6, 0x43}, {0xB6, 0x44}, {0xB6, 0x45}, /* 0x88-0x8B */ + {0xB6, 0x46}, {0xB6, 0x47}, {0xB6, 0x49}, {0xB6, 0x4A}, /* 0x8C-0x8F */ + {0xB6, 0x4B}, {0xB6, 0x4C}, {0xB6, 0x4D}, {0xB6, 0x4E}, /* 0x90-0x93 */ + {0xB6, 0x4F}, {0xB6, 0x50}, {0xB6, 0x51}, {0xB6, 0x52}, /* 0x94-0x97 */ + {0xB6, 0x53}, {0xB6, 0x54}, {0xB6, 0x55}, {0xB6, 0x56}, /* 0x98-0x9B */ + {0xB6, 0x57}, {0xB6, 0x58}, {0xB6, 0x59}, {0xB6, 0x5A}, /* 0x9C-0x9F */ + {0xB6, 0x5B}, {0xB6, 0x5C}, {0xB6, 0x5D}, {0xB6, 0x5E}, /* 0xA0-0xA3 */ + {0xB6, 0x5F}, {0xB6, 0x60}, {0xB6, 0x61}, {0xB6, 0x62}, /* 0xA4-0xA7 */ + {0xB6, 0x63}, {0xB6, 0x65}, {0xB6, 0x66}, {0xB6, 0x67}, /* 0xA8-0xAB */ + {0xB6, 0x69}, {0xB6, 0x6A}, {0xB6, 0x6B}, {0xB6, 0x6C}, /* 0xAC-0xAF */ + {0xB6, 0x6D}, {0xB6, 0x6E}, {0xB6, 0x6F}, {0xB6, 0x70}, /* 0xB0-0xB3 */ + {0xB6, 0x71}, {0xB6, 0x72}, {0xB6, 0x73}, {0xB6, 0x74}, /* 0xB4-0xB7 */ + {0xB6, 0x75}, {0xB6, 0x76}, {0xB6, 0x77}, {0xB6, 0x78}, /* 0xB8-0xBB */ + {0xB6, 0x79}, {0xB6, 0x7A}, {0xB6, 0x7B}, {0xB6, 0x7C}, /* 0xBC-0xBF */ + {0xB6, 0x7D}, {0xB6, 0x7E}, {0xB6, 0x7F}, {0xB6, 0x80}, /* 0xC0-0xC3 */ + {0xB6, 0x81}, {0xB6, 0x82}, {0xB6, 0x83}, {0xB6, 0x84}, /* 0xC4-0xC7 */ + {0xB6, 0x85}, {0xB6, 0x86}, {0xB6, 0x87}, {0xB6, 0x88}, /* 0xC8-0xCB */ + {0xB6, 0x89}, {0xB6, 0x8A}, {0xB6, 0x8B}, {0xB6, 0x8C}, /* 0xCC-0xCF */ + {0xB6, 0x8D}, {0xB6, 0x8E}, {0xB6, 0x8F}, {0xB6, 0x90}, /* 0xD0-0xD3 */ + {0xB6, 0x91}, {0xB6, 0x92}, {0xB6, 0x93}, {0xB6, 0x94}, /* 0xD4-0xD7 */ + {0xB6, 0x95}, {0xB6, 0x96}, {0xB6, 0x97}, {0xB6, 0x98}, /* 0xD8-0xDB */ + {0xB6, 0x99}, {0xB6, 0x9A}, {0xB6, 0x9B}, {0xB6, 0x9E}, /* 0xDC-0xDF */ + {0xB6, 0x9F}, {0xB6, 0xA1}, {0xB6, 0xA2}, {0xB6, 0xA3}, /* 0xE0-0xE3 */ + {0xB6, 0xA5}, {0xB6, 0xA6}, {0xB6, 0xA7}, {0xB6, 0xA8}, /* 0xE4-0xE7 */ + {0xB6, 0xA9}, {0xB6, 0xAA}, {0xB6, 0xAD}, {0xB6, 0xAE}, /* 0xE8-0xEB */ + {0xB6, 0xAF}, {0xB6, 0xB0}, {0xB6, 0xB2}, {0xB6, 0xB3}, /* 0xEC-0xEF */ + {0xB6, 0xB4}, {0xB6, 0xB5}, {0xB6, 0xB6}, {0xB6, 0xB7}, /* 0xF0-0xF3 */ + {0xB6, 0xB8}, {0xB6, 0xB9}, {0xB6, 0xBA}, {0xB6, 0xBB}, /* 0xF4-0xF7 */ + {0xB6, 0xBC}, {0xB6, 0xBD}, {0xB6, 0xBE}, {0xB6, 0xBF}, /* 0xF8-0xFB */ + {0xB6, 0xC0}, {0xB6, 0xC1}, {0xB6, 0xC2}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8D[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB6, 0xC3}, {0xB6, 0xC4}, {0xB6, 0xC5}, /* 0x40-0x43 */ + {0xB6, 0xC6}, {0xB6, 0xC7}, {0xB6, 0xC8}, {0xB6, 0xC9}, /* 0x44-0x47 */ + {0xB6, 0xCA}, {0xB6, 0xCB}, {0xB6, 0xCC}, {0xB6, 0xCD}, /* 0x48-0x4B */ + {0xB6, 0xCE}, {0xB6, 0xCF}, {0xB6, 0xD0}, {0xB6, 0xD1}, /* 0x4C-0x4F */ + {0xB6, 0xD2}, {0xB6, 0xD3}, {0xB6, 0xD5}, {0xB6, 0xD6}, /* 0x50-0x53 */ + {0xB6, 0xD7}, {0xB6, 0xD8}, {0xB6, 0xD9}, {0xB6, 0xDA}, /* 0x54-0x57 */ + {0xB6, 0xDB}, {0xB6, 0xDC}, {0xB6, 0xDD}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB6, 0xDE}, {0xB6, 0xDF}, {0xB6, 0xE0}, /* 0x60-0x63 */ + {0xB6, 0xE1}, {0xB6, 0xE2}, {0xB6, 0xE3}, {0xB6, 0xE4}, /* 0x64-0x67 */ + {0xB6, 0xE5}, {0xB6, 0xE6}, {0xB6, 0xE7}, {0xB6, 0xE8}, /* 0x68-0x6B */ + {0xB6, 0xE9}, {0xB6, 0xEA}, {0xB6, 0xEB}, {0xB6, 0xEC}, /* 0x6C-0x6F */ + {0xB6, 0xED}, {0xB6, 0xEE}, {0xB6, 0xEF}, {0xB6, 0xF1}, /* 0x70-0x73 */ + {0xB6, 0xF2}, {0xB6, 0xF3}, {0xB6, 0xF5}, {0xB6, 0xF6}, /* 0x74-0x77 */ + {0xB6, 0xF7}, {0xB6, 0xF9}, {0xB6, 0xFA}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB6, 0xFB}, {0xB6, 0xFC}, {0xB6, 0xFD}, /* 0x80-0x83 */ + {0xB6, 0xFE}, {0xB6, 0xFF}, {0xB7, 0x02}, {0xB7, 0x03}, /* 0x84-0x87 */ + {0xB7, 0x04}, {0xB7, 0x06}, {0xB7, 0x07}, {0xB7, 0x08}, /* 0x88-0x8B */ + {0xB7, 0x09}, {0xB7, 0x0A}, {0xB7, 0x0B}, {0xB7, 0x0C}, /* 0x8C-0x8F */ + {0xB7, 0x0D}, {0xB7, 0x0E}, {0xB7, 0x0F}, {0xB7, 0x10}, /* 0x90-0x93 */ + {0xB7, 0x11}, {0xB7, 0x12}, {0xB7, 0x13}, {0xB7, 0x14}, /* 0x94-0x97 */ + {0xB7, 0x15}, {0xB7, 0x16}, {0xB7, 0x17}, {0xB7, 0x18}, /* 0x98-0x9B */ + {0xB7, 0x19}, {0xB7, 0x1A}, {0xB7, 0x1B}, {0xB7, 0x1C}, /* 0x9C-0x9F */ + {0xB7, 0x1D}, {0xB7, 0x1E}, {0xB7, 0x1F}, {0xB7, 0x20}, /* 0xA0-0xA3 */ + {0xB7, 0x21}, {0xB7, 0x22}, {0xB7, 0x23}, {0xB7, 0x24}, /* 0xA4-0xA7 */ + {0xB7, 0x25}, {0xB7, 0x26}, {0xB7, 0x27}, {0xB7, 0x2A}, /* 0xA8-0xAB */ + {0xB7, 0x2B}, {0xB7, 0x2D}, {0xB7, 0x2E}, {0xB7, 0x31}, /* 0xAC-0xAF */ + {0xB7, 0x32}, {0xB7, 0x33}, {0xB7, 0x34}, {0xB7, 0x35}, /* 0xB0-0xB3 */ + {0xB7, 0x36}, {0xB7, 0x37}, {0xB7, 0x3A}, {0xB7, 0x3C}, /* 0xB4-0xB7 */ + {0xB7, 0x3D}, {0xB7, 0x3E}, {0xB7, 0x3F}, {0xB7, 0x40}, /* 0xB8-0xBB */ + {0xB7, 0x41}, {0xB7, 0x42}, {0xB7, 0x43}, {0xB7, 0x45}, /* 0xBC-0xBF */ + {0xB7, 0x46}, {0xB7, 0x47}, {0xB7, 0x49}, {0xB7, 0x4A}, /* 0xC0-0xC3 */ + {0xB7, 0x4B}, {0xB7, 0x4D}, {0xB7, 0x4E}, {0xB7, 0x4F}, /* 0xC4-0xC7 */ + {0xB7, 0x50}, {0xB7, 0x51}, {0xB7, 0x52}, {0xB7, 0x53}, /* 0xC8-0xCB */ + {0xB7, 0x56}, {0xB7, 0x57}, {0xB7, 0x58}, {0xB7, 0x59}, /* 0xCC-0xCF */ + {0xB7, 0x5A}, {0xB7, 0x5B}, {0xB7, 0x5C}, {0xB7, 0x5D}, /* 0xD0-0xD3 */ + {0xB7, 0x5E}, {0xB7, 0x5F}, {0xB7, 0x61}, {0xB7, 0x62}, /* 0xD4-0xD7 */ + {0xB7, 0x63}, {0xB7, 0x65}, {0xB7, 0x66}, {0xB7, 0x67}, /* 0xD8-0xDB */ + {0xB7, 0x69}, {0xB7, 0x6A}, {0xB7, 0x6B}, {0xB7, 0x6C}, /* 0xDC-0xDF */ + {0xB7, 0x6D}, {0xB7, 0x6E}, {0xB7, 0x6F}, {0xB7, 0x72}, /* 0xE0-0xE3 */ + {0xB7, 0x74}, {0xB7, 0x76}, {0xB7, 0x77}, {0xB7, 0x78}, /* 0xE4-0xE7 */ + {0xB7, 0x79}, {0xB7, 0x7A}, {0xB7, 0x7B}, {0xB7, 0x7E}, /* 0xE8-0xEB */ + {0xB7, 0x7F}, {0xB7, 0x81}, {0xB7, 0x82}, {0xB7, 0x83}, /* 0xEC-0xEF */ + {0xB7, 0x85}, {0xB7, 0x86}, {0xB7, 0x87}, {0xB7, 0x88}, /* 0xF0-0xF3 */ + {0xB7, 0x89}, {0xB7, 0x8A}, {0xB7, 0x8B}, {0xB7, 0x8E}, /* 0xF4-0xF7 */ + {0xB7, 0x93}, {0xB7, 0x94}, {0xB7, 0x95}, {0xB7, 0x9A}, /* 0xF8-0xFB */ + {0xB7, 0x9B}, {0xB7, 0x9D}, {0xB7, 0x9E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8E[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB7, 0x9F}, {0xB7, 0xA1}, {0xB7, 0xA2}, /* 0x40-0x43 */ + {0xB7, 0xA3}, {0xB7, 0xA4}, {0xB7, 0xA5}, {0xB7, 0xA6}, /* 0x44-0x47 */ + {0xB7, 0xA7}, {0xB7, 0xAA}, {0xB7, 0xAE}, {0xB7, 0xAF}, /* 0x48-0x4B */ + {0xB7, 0xB0}, {0xB7, 0xB1}, {0xB7, 0xB2}, {0xB7, 0xB3}, /* 0x4C-0x4F */ + {0xB7, 0xB6}, {0xB7, 0xB7}, {0xB7, 0xB9}, {0xB7, 0xBA}, /* 0x50-0x53 */ + {0xB7, 0xBB}, {0xB7, 0xBC}, {0xB7, 0xBD}, {0xB7, 0xBE}, /* 0x54-0x57 */ + {0xB7, 0xBF}, {0xB7, 0xC0}, {0xB7, 0xC1}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB7, 0xC2}, {0xB7, 0xC3}, {0xB7, 0xC4}, /* 0x60-0x63 */ + {0xB7, 0xC5}, {0xB7, 0xC6}, {0xB7, 0xC8}, {0xB7, 0xCA}, /* 0x64-0x67 */ + {0xB7, 0xCB}, {0xB7, 0xCC}, {0xB7, 0xCD}, {0xB7, 0xCE}, /* 0x68-0x6B */ + {0xB7, 0xCF}, {0xB7, 0xD0}, {0xB7, 0xD1}, {0xB7, 0xD2}, /* 0x6C-0x6F */ + {0xB7, 0xD3}, {0xB7, 0xD4}, {0xB7, 0xD5}, {0xB7, 0xD6}, /* 0x70-0x73 */ + {0xB7, 0xD7}, {0xB7, 0xD8}, {0xB7, 0xD9}, {0xB7, 0xDA}, /* 0x74-0x77 */ + {0xB7, 0xDB}, {0xB7, 0xDC}, {0xB7, 0xDD}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB7, 0xDE}, {0xB7, 0xDF}, {0xB7, 0xE0}, /* 0x80-0x83 */ + {0xB7, 0xE1}, {0xB7, 0xE2}, {0xB7, 0xE3}, {0xB7, 0xE4}, /* 0x84-0x87 */ + {0xB7, 0xE5}, {0xB7, 0xE6}, {0xB7, 0xE7}, {0xB7, 0xE8}, /* 0x88-0x8B */ + {0xB7, 0xE9}, {0xB7, 0xEA}, {0xB7, 0xEB}, {0xB7, 0xEE}, /* 0x8C-0x8F */ + {0xB7, 0xEF}, {0xB7, 0xF1}, {0xB7, 0xF2}, {0xB7, 0xF3}, /* 0x90-0x93 */ + {0xB7, 0xF5}, {0xB7, 0xF6}, {0xB7, 0xF7}, {0xB7, 0xF8}, /* 0x94-0x97 */ + {0xB7, 0xF9}, {0xB7, 0xFA}, {0xB7, 0xFB}, {0xB7, 0xFE}, /* 0x98-0x9B */ + {0xB8, 0x02}, {0xB8, 0x03}, {0xB8, 0x04}, {0xB8, 0x05}, /* 0x9C-0x9F */ + {0xB8, 0x06}, {0xB8, 0x0A}, {0xB8, 0x0B}, {0xB8, 0x0D}, /* 0xA0-0xA3 */ + {0xB8, 0x0E}, {0xB8, 0x0F}, {0xB8, 0x11}, {0xB8, 0x12}, /* 0xA4-0xA7 */ + {0xB8, 0x13}, {0xB8, 0x14}, {0xB8, 0x15}, {0xB8, 0x16}, /* 0xA8-0xAB */ + {0xB8, 0x17}, {0xB8, 0x1A}, {0xB8, 0x1C}, {0xB8, 0x1E}, /* 0xAC-0xAF */ + {0xB8, 0x1F}, {0xB8, 0x20}, {0xB8, 0x21}, {0xB8, 0x22}, /* 0xB0-0xB3 */ + {0xB8, 0x23}, {0xB8, 0x26}, {0xB8, 0x27}, {0xB8, 0x29}, /* 0xB4-0xB7 */ + {0xB8, 0x2A}, {0xB8, 0x2B}, {0xB8, 0x2D}, {0xB8, 0x2E}, /* 0xB8-0xBB */ + {0xB8, 0x2F}, {0xB8, 0x30}, {0xB8, 0x31}, {0xB8, 0x32}, /* 0xBC-0xBF */ + {0xB8, 0x33}, {0xB8, 0x36}, {0xB8, 0x3A}, {0xB8, 0x3B}, /* 0xC0-0xC3 */ + {0xB8, 0x3C}, {0xB8, 0x3D}, {0xB8, 0x3E}, {0xB8, 0x3F}, /* 0xC4-0xC7 */ + {0xB8, 0x41}, {0xB8, 0x42}, {0xB8, 0x43}, {0xB8, 0x45}, /* 0xC8-0xCB */ + {0xB8, 0x46}, {0xB8, 0x47}, {0xB8, 0x48}, {0xB8, 0x49}, /* 0xCC-0xCF */ + {0xB8, 0x4A}, {0xB8, 0x4B}, {0xB8, 0x4C}, {0xB8, 0x4D}, /* 0xD0-0xD3 */ + {0xB8, 0x4E}, {0xB8, 0x4F}, {0xB8, 0x50}, {0xB8, 0x52}, /* 0xD4-0xD7 */ + {0xB8, 0x54}, {0xB8, 0x55}, {0xB8, 0x56}, {0xB8, 0x57}, /* 0xD8-0xDB */ + {0xB8, 0x58}, {0xB8, 0x59}, {0xB8, 0x5A}, {0xB8, 0x5B}, /* 0xDC-0xDF */ + {0xB8, 0x5E}, {0xB8, 0x5F}, {0xB8, 0x61}, {0xB8, 0x62}, /* 0xE0-0xE3 */ + {0xB8, 0x63}, {0xB8, 0x65}, {0xB8, 0x66}, {0xB8, 0x67}, /* 0xE4-0xE7 */ + {0xB8, 0x68}, {0xB8, 0x69}, {0xB8, 0x6A}, {0xB8, 0x6B}, /* 0xE8-0xEB */ + {0xB8, 0x6E}, {0xB8, 0x70}, {0xB8, 0x72}, {0xB8, 0x73}, /* 0xEC-0xEF */ + {0xB8, 0x74}, {0xB8, 0x75}, {0xB8, 0x76}, {0xB8, 0x77}, /* 0xF0-0xF3 */ + {0xB8, 0x79}, {0xB8, 0x7A}, {0xB8, 0x7B}, {0xB8, 0x7D}, /* 0xF4-0xF7 */ + {0xB8, 0x7E}, {0xB8, 0x7F}, {0xB8, 0x80}, {0xB8, 0x81}, /* 0xF8-0xFB */ + {0xB8, 0x82}, {0xB8, 0x83}, {0xB8, 0x84}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_8F[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB8, 0x85}, {0xB8, 0x86}, {0xB8, 0x87}, /* 0x40-0x43 */ + {0xB8, 0x88}, {0xB8, 0x89}, {0xB8, 0x8A}, {0xB8, 0x8B}, /* 0x44-0x47 */ + {0xB8, 0x8C}, {0xB8, 0x8E}, {0xB8, 0x8F}, {0xB8, 0x90}, /* 0x48-0x4B */ + {0xB8, 0x91}, {0xB8, 0x92}, {0xB8, 0x93}, {0xB8, 0x94}, /* 0x4C-0x4F */ + {0xB8, 0x95}, {0xB8, 0x96}, {0xB8, 0x97}, {0xB8, 0x98}, /* 0x50-0x53 */ + {0xB8, 0x99}, {0xB8, 0x9A}, {0xB8, 0x9B}, {0xB8, 0x9C}, /* 0x54-0x57 */ + {0xB8, 0x9D}, {0xB8, 0x9E}, {0xB8, 0x9F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB8, 0xA0}, {0xB8, 0xA1}, {0xB8, 0xA2}, /* 0x60-0x63 */ + {0xB8, 0xA3}, {0xB8, 0xA4}, {0xB8, 0xA5}, {0xB8, 0xA6}, /* 0x64-0x67 */ + {0xB8, 0xA7}, {0xB8, 0xA9}, {0xB8, 0xAA}, {0xB8, 0xAB}, /* 0x68-0x6B */ + {0xB8, 0xAC}, {0xB8, 0xAD}, {0xB8, 0xAE}, {0xB8, 0xAF}, /* 0x6C-0x6F */ + {0xB8, 0xB1}, {0xB8, 0xB2}, {0xB8, 0xB3}, {0xB8, 0xB5}, /* 0x70-0x73 */ + {0xB8, 0xB6}, {0xB8, 0xB7}, {0xB8, 0xB9}, {0xB8, 0xBA}, /* 0x74-0x77 */ + {0xB8, 0xBB}, {0xB8, 0xBC}, {0xB8, 0xBD}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB8, 0xBE}, {0xB8, 0xBF}, {0xB8, 0xC2}, /* 0x80-0x83 */ + {0xB8, 0xC4}, {0xB8, 0xC6}, {0xB8, 0xC7}, {0xB8, 0xC8}, /* 0x84-0x87 */ + {0xB8, 0xC9}, {0xB8, 0xCA}, {0xB8, 0xCB}, {0xB8, 0xCD}, /* 0x88-0x8B */ + {0xB8, 0xCE}, {0xB8, 0xCF}, {0xB8, 0xD1}, {0xB8, 0xD2}, /* 0x8C-0x8F */ + {0xB8, 0xD3}, {0xB8, 0xD5}, {0xB8, 0xD6}, {0xB8, 0xD7}, /* 0x90-0x93 */ + {0xB8, 0xD8}, {0xB8, 0xD9}, {0xB8, 0xDA}, {0xB8, 0xDB}, /* 0x94-0x97 */ + {0xB8, 0xDC}, {0xB8, 0xDE}, {0xB8, 0xE0}, {0xB8, 0xE2}, /* 0x98-0x9B */ + {0xB8, 0xE3}, {0xB8, 0xE4}, {0xB8, 0xE5}, {0xB8, 0xE6}, /* 0x9C-0x9F */ + {0xB8, 0xE7}, {0xB8, 0xEA}, {0xB8, 0xEB}, {0xB8, 0xED}, /* 0xA0-0xA3 */ + {0xB8, 0xEE}, {0xB8, 0xEF}, {0xB8, 0xF1}, {0xB8, 0xF2}, /* 0xA4-0xA7 */ + {0xB8, 0xF3}, {0xB8, 0xF4}, {0xB8, 0xF5}, {0xB8, 0xF6}, /* 0xA8-0xAB */ + {0xB8, 0xF7}, {0xB8, 0xFA}, {0xB8, 0xFC}, {0xB8, 0xFE}, /* 0xAC-0xAF */ + {0xB8, 0xFF}, {0xB9, 0x00}, {0xB9, 0x01}, {0xB9, 0x02}, /* 0xB0-0xB3 */ + {0xB9, 0x03}, {0xB9, 0x05}, {0xB9, 0x06}, {0xB9, 0x07}, /* 0xB4-0xB7 */ + {0xB9, 0x08}, {0xB9, 0x09}, {0xB9, 0x0A}, {0xB9, 0x0B}, /* 0xB8-0xBB */ + {0xB9, 0x0C}, {0xB9, 0x0D}, {0xB9, 0x0E}, {0xB9, 0x0F}, /* 0xBC-0xBF */ + {0xB9, 0x10}, {0xB9, 0x11}, {0xB9, 0x12}, {0xB9, 0x13}, /* 0xC0-0xC3 */ + {0xB9, 0x14}, {0xB9, 0x15}, {0xB9, 0x16}, {0xB9, 0x17}, /* 0xC4-0xC7 */ + {0xB9, 0x19}, {0xB9, 0x1A}, {0xB9, 0x1B}, {0xB9, 0x1C}, /* 0xC8-0xCB */ + {0xB9, 0x1D}, {0xB9, 0x1E}, {0xB9, 0x1F}, {0xB9, 0x21}, /* 0xCC-0xCF */ + {0xB9, 0x22}, {0xB9, 0x23}, {0xB9, 0x24}, {0xB9, 0x25}, /* 0xD0-0xD3 */ + {0xB9, 0x26}, {0xB9, 0x27}, {0xB9, 0x28}, {0xB9, 0x29}, /* 0xD4-0xD7 */ + {0xB9, 0x2A}, {0xB9, 0x2B}, {0xB9, 0x2C}, {0xB9, 0x2D}, /* 0xD8-0xDB */ + {0xB9, 0x2E}, {0xB9, 0x2F}, {0xB9, 0x30}, {0xB9, 0x31}, /* 0xDC-0xDF */ + {0xB9, 0x32}, {0xB9, 0x33}, {0xB9, 0x34}, {0xB9, 0x35}, /* 0xE0-0xE3 */ + {0xB9, 0x36}, {0xB9, 0x37}, {0xB9, 0x38}, {0xB9, 0x39}, /* 0xE4-0xE7 */ + {0xB9, 0x3A}, {0xB9, 0x3B}, {0xB9, 0x3E}, {0xB9, 0x3F}, /* 0xE8-0xEB */ + {0xB9, 0x41}, {0xB9, 0x42}, {0xB9, 0x43}, {0xB9, 0x45}, /* 0xEC-0xEF */ + {0xB9, 0x46}, {0xB9, 0x47}, {0xB9, 0x48}, {0xB9, 0x49}, /* 0xF0-0xF3 */ + {0xB9, 0x4A}, {0xB9, 0x4B}, {0xB9, 0x4D}, {0xB9, 0x4E}, /* 0xF4-0xF7 */ + {0xB9, 0x50}, {0xB9, 0x52}, {0xB9, 0x53}, {0xB9, 0x54}, /* 0xF8-0xFB */ + {0xB9, 0x55}, {0xB9, 0x56}, {0xB9, 0x57}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_90[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xB9, 0x5A}, {0xB9, 0x5B}, {0xB9, 0x5D}, /* 0x40-0x43 */ + {0xB9, 0x5E}, {0xB9, 0x5F}, {0xB9, 0x61}, {0xB9, 0x62}, /* 0x44-0x47 */ + {0xB9, 0x63}, {0xB9, 0x64}, {0xB9, 0x65}, {0xB9, 0x66}, /* 0x48-0x4B */ + {0xB9, 0x67}, {0xB9, 0x6A}, {0xB9, 0x6C}, {0xB9, 0x6E}, /* 0x4C-0x4F */ + {0xB9, 0x6F}, {0xB9, 0x70}, {0xB9, 0x71}, {0xB9, 0x72}, /* 0x50-0x53 */ + {0xB9, 0x73}, {0xB9, 0x76}, {0xB9, 0x77}, {0xB9, 0x79}, /* 0x54-0x57 */ + {0xB9, 0x7A}, {0xB9, 0x7B}, {0xB9, 0x7D}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xB9, 0x7E}, {0xB9, 0x7F}, {0xB9, 0x80}, /* 0x60-0x63 */ + {0xB9, 0x81}, {0xB9, 0x82}, {0xB9, 0x83}, {0xB9, 0x86}, /* 0x64-0x67 */ + {0xB9, 0x88}, {0xB9, 0x8B}, {0xB9, 0x8C}, {0xB9, 0x8F}, /* 0x68-0x6B */ + {0xB9, 0x90}, {0xB9, 0x91}, {0xB9, 0x92}, {0xB9, 0x93}, /* 0x6C-0x6F */ + {0xB9, 0x94}, {0xB9, 0x95}, {0xB9, 0x96}, {0xB9, 0x97}, /* 0x70-0x73 */ + {0xB9, 0x98}, {0xB9, 0x99}, {0xB9, 0x9A}, {0xB9, 0x9B}, /* 0x74-0x77 */ + {0xB9, 0x9C}, {0xB9, 0x9D}, {0xB9, 0x9E}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xB9, 0x9F}, {0xB9, 0xA0}, {0xB9, 0xA1}, /* 0x80-0x83 */ + {0xB9, 0xA2}, {0xB9, 0xA3}, {0xB9, 0xA4}, {0xB9, 0xA5}, /* 0x84-0x87 */ + {0xB9, 0xA6}, {0xB9, 0xA7}, {0xB9, 0xA8}, {0xB9, 0xA9}, /* 0x88-0x8B */ + {0xB9, 0xAA}, {0xB9, 0xAB}, {0xB9, 0xAE}, {0xB9, 0xAF}, /* 0x8C-0x8F */ + {0xB9, 0xB1}, {0xB9, 0xB2}, {0xB9, 0xB3}, {0xB9, 0xB5}, /* 0x90-0x93 */ + {0xB9, 0xB6}, {0xB9, 0xB7}, {0xB9, 0xB8}, {0xB9, 0xB9}, /* 0x94-0x97 */ + {0xB9, 0xBA}, {0xB9, 0xBB}, {0xB9, 0xBE}, {0xB9, 0xC0}, /* 0x98-0x9B */ + {0xB9, 0xC2}, {0xB9, 0xC3}, {0xB9, 0xC4}, {0xB9, 0xC5}, /* 0x9C-0x9F */ + {0xB9, 0xC6}, {0xB9, 0xC7}, {0xB9, 0xCA}, {0xB9, 0xCB}, /* 0xA0-0xA3 */ + {0xB9, 0xCD}, {0xB9, 0xD3}, {0xB9, 0xD4}, {0xB9, 0xD5}, /* 0xA4-0xA7 */ + {0xB9, 0xD6}, {0xB9, 0xD7}, {0xB9, 0xDA}, {0xB9, 0xDC}, /* 0xA8-0xAB */ + {0xB9, 0xDF}, {0xB9, 0xE0}, {0xB9, 0xE2}, {0xB9, 0xE6}, /* 0xAC-0xAF */ + {0xB9, 0xE7}, {0xB9, 0xE9}, {0xB9, 0xEA}, {0xB9, 0xEB}, /* 0xB0-0xB3 */ + {0xB9, 0xED}, {0xB9, 0xEE}, {0xB9, 0xEF}, {0xB9, 0xF0}, /* 0xB4-0xB7 */ + {0xB9, 0xF1}, {0xB9, 0xF2}, {0xB9, 0xF3}, {0xB9, 0xF6}, /* 0xB8-0xBB */ + {0xB9, 0xFB}, {0xB9, 0xFC}, {0xB9, 0xFD}, {0xB9, 0xFE}, /* 0xBC-0xBF */ + {0xB9, 0xFF}, {0xBA, 0x02}, {0xBA, 0x03}, {0xBA, 0x04}, /* 0xC0-0xC3 */ + {0xBA, 0x05}, {0xBA, 0x06}, {0xBA, 0x07}, {0xBA, 0x09}, /* 0xC4-0xC7 */ + {0xBA, 0x0A}, {0xBA, 0x0B}, {0xBA, 0x0C}, {0xBA, 0x0D}, /* 0xC8-0xCB */ + {0xBA, 0x0E}, {0xBA, 0x0F}, {0xBA, 0x10}, {0xBA, 0x11}, /* 0xCC-0xCF */ + {0xBA, 0x12}, {0xBA, 0x13}, {0xBA, 0x14}, {0xBA, 0x16}, /* 0xD0-0xD3 */ + {0xBA, 0x17}, {0xBA, 0x18}, {0xBA, 0x19}, {0xBA, 0x1A}, /* 0xD4-0xD7 */ + {0xBA, 0x1B}, {0xBA, 0x1C}, {0xBA, 0x1D}, {0xBA, 0x1E}, /* 0xD8-0xDB */ + {0xBA, 0x1F}, {0xBA, 0x20}, {0xBA, 0x21}, {0xBA, 0x22}, /* 0xDC-0xDF */ + {0xBA, 0x23}, {0xBA, 0x24}, {0xBA, 0x25}, {0xBA, 0x26}, /* 0xE0-0xE3 */ + {0xBA, 0x27}, {0xBA, 0x28}, {0xBA, 0x29}, {0xBA, 0x2A}, /* 0xE4-0xE7 */ + {0xBA, 0x2B}, {0xBA, 0x2C}, {0xBA, 0x2D}, {0xBA, 0x2E}, /* 0xE8-0xEB */ + {0xBA, 0x2F}, {0xBA, 0x30}, {0xBA, 0x31}, {0xBA, 0x32}, /* 0xEC-0xEF */ + {0xBA, 0x33}, {0xBA, 0x34}, {0xBA, 0x35}, {0xBA, 0x36}, /* 0xF0-0xF3 */ + {0xBA, 0x37}, {0xBA, 0x3A}, {0xBA, 0x3B}, {0xBA, 0x3D}, /* 0xF4-0xF7 */ + {0xBA, 0x3E}, {0xBA, 0x3F}, {0xBA, 0x41}, {0xBA, 0x43}, /* 0xF8-0xFB */ + {0xBA, 0x44}, {0xBA, 0x45}, {0xBA, 0x46}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_91[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xBA, 0x47}, {0xBA, 0x4A}, {0xBA, 0x4C}, /* 0x40-0x43 */ + {0xBA, 0x4F}, {0xBA, 0x50}, {0xBA, 0x51}, {0xBA, 0x52}, /* 0x44-0x47 */ + {0xBA, 0x56}, {0xBA, 0x57}, {0xBA, 0x59}, {0xBA, 0x5A}, /* 0x48-0x4B */ + {0xBA, 0x5B}, {0xBA, 0x5D}, {0xBA, 0x5E}, {0xBA, 0x5F}, /* 0x4C-0x4F */ + {0xBA, 0x60}, {0xBA, 0x61}, {0xBA, 0x62}, {0xBA, 0x63}, /* 0x50-0x53 */ + {0xBA, 0x66}, {0xBA, 0x6A}, {0xBA, 0x6B}, {0xBA, 0x6C}, /* 0x54-0x57 */ + {0xBA, 0x6D}, {0xBA, 0x6E}, {0xBA, 0x6F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xBA, 0x72}, {0xBA, 0x73}, {0xBA, 0x75}, /* 0x60-0x63 */ + {0xBA, 0x76}, {0xBA, 0x77}, {0xBA, 0x79}, {0xBA, 0x7A}, /* 0x64-0x67 */ + {0xBA, 0x7B}, {0xBA, 0x7C}, {0xBA, 0x7D}, {0xBA, 0x7E}, /* 0x68-0x6B */ + {0xBA, 0x7F}, {0xBA, 0x80}, {0xBA, 0x81}, {0xBA, 0x82}, /* 0x6C-0x6F */ + {0xBA, 0x86}, {0xBA, 0x88}, {0xBA, 0x89}, {0xBA, 0x8A}, /* 0x70-0x73 */ + {0xBA, 0x8B}, {0xBA, 0x8D}, {0xBA, 0x8E}, {0xBA, 0x8F}, /* 0x74-0x77 */ + {0xBA, 0x90}, {0xBA, 0x91}, {0xBA, 0x92}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xBA, 0x93}, {0xBA, 0x94}, {0xBA, 0x95}, /* 0x80-0x83 */ + {0xBA, 0x96}, {0xBA, 0x97}, {0xBA, 0x98}, {0xBA, 0x99}, /* 0x84-0x87 */ + {0xBA, 0x9A}, {0xBA, 0x9B}, {0xBA, 0x9C}, {0xBA, 0x9D}, /* 0x88-0x8B */ + {0xBA, 0x9E}, {0xBA, 0x9F}, {0xBA, 0xA0}, {0xBA, 0xA1}, /* 0x8C-0x8F */ + {0xBA, 0xA2}, {0xBA, 0xA3}, {0xBA, 0xA4}, {0xBA, 0xA5}, /* 0x90-0x93 */ + {0xBA, 0xA6}, {0xBA, 0xA7}, {0xBA, 0xAA}, {0xBA, 0xAD}, /* 0x94-0x97 */ + {0xBA, 0xAE}, {0xBA, 0xAF}, {0xBA, 0xB1}, {0xBA, 0xB3}, /* 0x98-0x9B */ + {0xBA, 0xB4}, {0xBA, 0xB5}, {0xBA, 0xB6}, {0xBA, 0xB7}, /* 0x9C-0x9F */ + {0xBA, 0xBA}, {0xBA, 0xBC}, {0xBA, 0xBE}, {0xBA, 0xBF}, /* 0xA0-0xA3 */ + {0xBA, 0xC0}, {0xBA, 0xC1}, {0xBA, 0xC2}, {0xBA, 0xC3}, /* 0xA4-0xA7 */ + {0xBA, 0xC5}, {0xBA, 0xC6}, {0xBA, 0xC7}, {0xBA, 0xC9}, /* 0xA8-0xAB */ + {0xBA, 0xCA}, {0xBA, 0xCB}, {0xBA, 0xCC}, {0xBA, 0xCD}, /* 0xAC-0xAF */ + {0xBA, 0xCE}, {0xBA, 0xCF}, {0xBA, 0xD0}, {0xBA, 0xD1}, /* 0xB0-0xB3 */ + {0xBA, 0xD2}, {0xBA, 0xD3}, {0xBA, 0xD4}, {0xBA, 0xD5}, /* 0xB4-0xB7 */ + {0xBA, 0xD6}, {0xBA, 0xD7}, {0xBA, 0xDA}, {0xBA, 0xDB}, /* 0xB8-0xBB */ + {0xBA, 0xDC}, {0xBA, 0xDD}, {0xBA, 0xDE}, {0xBA, 0xDF}, /* 0xBC-0xBF */ + {0xBA, 0xE0}, {0xBA, 0xE1}, {0xBA, 0xE2}, {0xBA, 0xE3}, /* 0xC0-0xC3 */ + {0xBA, 0xE4}, {0xBA, 0xE5}, {0xBA, 0xE6}, {0xBA, 0xE7}, /* 0xC4-0xC7 */ + {0xBA, 0xE8}, {0xBA, 0xE9}, {0xBA, 0xEA}, {0xBA, 0xEB}, /* 0xC8-0xCB */ + {0xBA, 0xEC}, {0xBA, 0xED}, {0xBA, 0xEE}, {0xBA, 0xEF}, /* 0xCC-0xCF */ + {0xBA, 0xF0}, {0xBA, 0xF1}, {0xBA, 0xF2}, {0xBA, 0xF3}, /* 0xD0-0xD3 */ + {0xBA, 0xF4}, {0xBA, 0xF5}, {0xBA, 0xF6}, {0xBA, 0xF7}, /* 0xD4-0xD7 */ + {0xBA, 0xF8}, {0xBA, 0xF9}, {0xBA, 0xFA}, {0xBA, 0xFB}, /* 0xD8-0xDB */ + {0xBA, 0xFD}, {0xBA, 0xFE}, {0xBA, 0xFF}, {0xBB, 0x01}, /* 0xDC-0xDF */ + {0xBB, 0x02}, {0xBB, 0x03}, {0xBB, 0x05}, {0xBB, 0x06}, /* 0xE0-0xE3 */ + {0xBB, 0x07}, {0xBB, 0x08}, {0xBB, 0x09}, {0xBB, 0x0A}, /* 0xE4-0xE7 */ + {0xBB, 0x0B}, {0xBB, 0x0C}, {0xBB, 0x0E}, {0xBB, 0x10}, /* 0xE8-0xEB */ + {0xBB, 0x12}, {0xBB, 0x13}, {0xBB, 0x14}, {0xBB, 0x15}, /* 0xEC-0xEF */ + {0xBB, 0x16}, {0xBB, 0x17}, {0xBB, 0x19}, {0xBB, 0x1A}, /* 0xF0-0xF3 */ + {0xBB, 0x1B}, {0xBB, 0x1D}, {0xBB, 0x1E}, {0xBB, 0x1F}, /* 0xF4-0xF7 */ + {0xBB, 0x21}, {0xBB, 0x22}, {0xBB, 0x23}, {0xBB, 0x24}, /* 0xF8-0xFB */ + {0xBB, 0x25}, {0xBB, 0x26}, {0xBB, 0x27}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_92[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xBB, 0x28}, {0xBB, 0x2A}, {0xBB, 0x2C}, /* 0x40-0x43 */ + {0xBB, 0x2D}, {0xBB, 0x2E}, {0xBB, 0x2F}, {0xBB, 0x30}, /* 0x44-0x47 */ + {0xBB, 0x31}, {0xBB, 0x32}, {0xBB, 0x33}, {0xBB, 0x37}, /* 0x48-0x4B */ + {0xBB, 0x39}, {0xBB, 0x3A}, {0xBB, 0x3F}, {0xBB, 0x40}, /* 0x4C-0x4F */ + {0xBB, 0x41}, {0xBB, 0x42}, {0xBB, 0x43}, {0xBB, 0x46}, /* 0x50-0x53 */ + {0xBB, 0x48}, {0xBB, 0x4A}, {0xBB, 0x4B}, {0xBB, 0x4C}, /* 0x54-0x57 */ + {0xBB, 0x4E}, {0xBB, 0x51}, {0xBB, 0x52}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xBB, 0x53}, {0xBB, 0x55}, {0xBB, 0x56}, /* 0x60-0x63 */ + {0xBB, 0x57}, {0xBB, 0x59}, {0xBB, 0x5A}, {0xBB, 0x5B}, /* 0x64-0x67 */ + {0xBB, 0x5C}, {0xBB, 0x5D}, {0xBB, 0x5E}, {0xBB, 0x5F}, /* 0x68-0x6B */ + {0xBB, 0x60}, {0xBB, 0x62}, {0xBB, 0x64}, {0xBB, 0x65}, /* 0x6C-0x6F */ + {0xBB, 0x66}, {0xBB, 0x67}, {0xBB, 0x68}, {0xBB, 0x69}, /* 0x70-0x73 */ + {0xBB, 0x6A}, {0xBB, 0x6B}, {0xBB, 0x6D}, {0xBB, 0x6E}, /* 0x74-0x77 */ + {0xBB, 0x6F}, {0xBB, 0x70}, {0xBB, 0x71}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xBB, 0x72}, {0xBB, 0x73}, {0xBB, 0x74}, /* 0x80-0x83 */ + {0xBB, 0x75}, {0xBB, 0x76}, {0xBB, 0x77}, {0xBB, 0x78}, /* 0x84-0x87 */ + {0xBB, 0x79}, {0xBB, 0x7A}, {0xBB, 0x7B}, {0xBB, 0x7C}, /* 0x88-0x8B */ + {0xBB, 0x7D}, {0xBB, 0x7E}, {0xBB, 0x7F}, {0xBB, 0x80}, /* 0x8C-0x8F */ + {0xBB, 0x81}, {0xBB, 0x82}, {0xBB, 0x83}, {0xBB, 0x84}, /* 0x90-0x93 */ + {0xBB, 0x85}, {0xBB, 0x86}, {0xBB, 0x87}, {0xBB, 0x89}, /* 0x94-0x97 */ + {0xBB, 0x8A}, {0xBB, 0x8B}, {0xBB, 0x8D}, {0xBB, 0x8E}, /* 0x98-0x9B */ + {0xBB, 0x8F}, {0xBB, 0x91}, {0xBB, 0x92}, {0xBB, 0x93}, /* 0x9C-0x9F */ + {0xBB, 0x94}, {0xBB, 0x95}, {0xBB, 0x96}, {0xBB, 0x97}, /* 0xA0-0xA3 */ + {0xBB, 0x98}, {0xBB, 0x99}, {0xBB, 0x9A}, {0xBB, 0x9B}, /* 0xA4-0xA7 */ + {0xBB, 0x9C}, {0xBB, 0x9D}, {0xBB, 0x9E}, {0xBB, 0x9F}, /* 0xA8-0xAB */ + {0xBB, 0xA0}, {0xBB, 0xA1}, {0xBB, 0xA2}, {0xBB, 0xA3}, /* 0xAC-0xAF */ + {0xBB, 0xA5}, {0xBB, 0xA6}, {0xBB, 0xA7}, {0xBB, 0xA9}, /* 0xB0-0xB3 */ + {0xBB, 0xAA}, {0xBB, 0xAB}, {0xBB, 0xAD}, {0xBB, 0xAE}, /* 0xB4-0xB7 */ + {0xBB, 0xAF}, {0xBB, 0xB0}, {0xBB, 0xB1}, {0xBB, 0xB2}, /* 0xB8-0xBB */ + {0xBB, 0xB3}, {0xBB, 0xB5}, {0xBB, 0xB6}, {0xBB, 0xB8}, /* 0xBC-0xBF */ + {0xBB, 0xB9}, {0xBB, 0xBA}, {0xBB, 0xBB}, {0xBB, 0xBC}, /* 0xC0-0xC3 */ + {0xBB, 0xBD}, {0xBB, 0xBE}, {0xBB, 0xBF}, {0xBB, 0xC1}, /* 0xC4-0xC7 */ + {0xBB, 0xC2}, {0xBB, 0xC3}, {0xBB, 0xC5}, {0xBB, 0xC6}, /* 0xC8-0xCB */ + {0xBB, 0xC7}, {0xBB, 0xC9}, {0xBB, 0xCA}, {0xBB, 0xCB}, /* 0xCC-0xCF */ + {0xBB, 0xCC}, {0xBB, 0xCD}, {0xBB, 0xCE}, {0xBB, 0xCF}, /* 0xD0-0xD3 */ + {0xBB, 0xD1}, {0xBB, 0xD2}, {0xBB, 0xD4}, {0xBB, 0xD5}, /* 0xD4-0xD7 */ + {0xBB, 0xD6}, {0xBB, 0xD7}, {0xBB, 0xD8}, {0xBB, 0xD9}, /* 0xD8-0xDB */ + {0xBB, 0xDA}, {0xBB, 0xDB}, {0xBB, 0xDC}, {0xBB, 0xDD}, /* 0xDC-0xDF */ + {0xBB, 0xDE}, {0xBB, 0xDF}, {0xBB, 0xE0}, {0xBB, 0xE1}, /* 0xE0-0xE3 */ + {0xBB, 0xE2}, {0xBB, 0xE3}, {0xBB, 0xE4}, {0xBB, 0xE5}, /* 0xE4-0xE7 */ + {0xBB, 0xE6}, {0xBB, 0xE7}, {0xBB, 0xE8}, {0xBB, 0xE9}, /* 0xE8-0xEB */ + {0xBB, 0xEA}, {0xBB, 0xEB}, {0xBB, 0xEC}, {0xBB, 0xED}, /* 0xEC-0xEF */ + {0xBB, 0xEE}, {0xBB, 0xEF}, {0xBB, 0xF0}, {0xBB, 0xF1}, /* 0xF0-0xF3 */ + {0xBB, 0xF2}, {0xBB, 0xF3}, {0xBB, 0xF4}, {0xBB, 0xF5}, /* 0xF4-0xF7 */ + {0xBB, 0xF6}, {0xBB, 0xF7}, {0xBB, 0xFA}, {0xBB, 0xFB}, /* 0xF8-0xFB */ + {0xBB, 0xFD}, {0xBB, 0xFE}, {0xBC, 0x01}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_93[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xBC, 0x03}, {0xBC, 0x04}, {0xBC, 0x05}, /* 0x40-0x43 */ + {0xBC, 0x06}, {0xBC, 0x07}, {0xBC, 0x0A}, {0xBC, 0x0E}, /* 0x44-0x47 */ + {0xBC, 0x10}, {0xBC, 0x12}, {0xBC, 0x13}, {0xBC, 0x19}, /* 0x48-0x4B */ + {0xBC, 0x1A}, {0xBC, 0x20}, {0xBC, 0x21}, {0xBC, 0x22}, /* 0x4C-0x4F */ + {0xBC, 0x23}, {0xBC, 0x26}, {0xBC, 0x28}, {0xBC, 0x2A}, /* 0x50-0x53 */ + {0xBC, 0x2B}, {0xBC, 0x2C}, {0xBC, 0x2E}, {0xBC, 0x2F}, /* 0x54-0x57 */ + {0xBC, 0x32}, {0xBC, 0x33}, {0xBC, 0x35}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xBC, 0x36}, {0xBC, 0x37}, {0xBC, 0x39}, /* 0x60-0x63 */ + {0xBC, 0x3A}, {0xBC, 0x3B}, {0xBC, 0x3C}, {0xBC, 0x3D}, /* 0x64-0x67 */ + {0xBC, 0x3E}, {0xBC, 0x3F}, {0xBC, 0x42}, {0xBC, 0x46}, /* 0x68-0x6B */ + {0xBC, 0x47}, {0xBC, 0x48}, {0xBC, 0x4A}, {0xBC, 0x4B}, /* 0x6C-0x6F */ + {0xBC, 0x4E}, {0xBC, 0x4F}, {0xBC, 0x51}, {0xBC, 0x52}, /* 0x70-0x73 */ + {0xBC, 0x53}, {0xBC, 0x54}, {0xBC, 0x55}, {0xBC, 0x56}, /* 0x74-0x77 */ + {0xBC, 0x57}, {0xBC, 0x58}, {0xBC, 0x59}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xBC, 0x5A}, {0xBC, 0x5B}, {0xBC, 0x5C}, /* 0x80-0x83 */ + {0xBC, 0x5E}, {0xBC, 0x5F}, {0xBC, 0x60}, {0xBC, 0x61}, /* 0x84-0x87 */ + {0xBC, 0x62}, {0xBC, 0x63}, {0xBC, 0x64}, {0xBC, 0x65}, /* 0x88-0x8B */ + {0xBC, 0x66}, {0xBC, 0x67}, {0xBC, 0x68}, {0xBC, 0x69}, /* 0x8C-0x8F */ + {0xBC, 0x6A}, {0xBC, 0x6B}, {0xBC, 0x6C}, {0xBC, 0x6D}, /* 0x90-0x93 */ + {0xBC, 0x6E}, {0xBC, 0x6F}, {0xBC, 0x70}, {0xBC, 0x71}, /* 0x94-0x97 */ + {0xBC, 0x72}, {0xBC, 0x73}, {0xBC, 0x74}, {0xBC, 0x75}, /* 0x98-0x9B */ + {0xBC, 0x76}, {0xBC, 0x77}, {0xBC, 0x78}, {0xBC, 0x79}, /* 0x9C-0x9F */ + {0xBC, 0x7A}, {0xBC, 0x7B}, {0xBC, 0x7C}, {0xBC, 0x7D}, /* 0xA0-0xA3 */ + {0xBC, 0x7E}, {0xBC, 0x7F}, {0xBC, 0x80}, {0xBC, 0x81}, /* 0xA4-0xA7 */ + {0xBC, 0x82}, {0xBC, 0x83}, {0xBC, 0x86}, {0xBC, 0x87}, /* 0xA8-0xAB */ + {0xBC, 0x89}, {0xBC, 0x8A}, {0xBC, 0x8D}, {0xBC, 0x8F}, /* 0xAC-0xAF */ + {0xBC, 0x90}, {0xBC, 0x91}, {0xBC, 0x92}, {0xBC, 0x93}, /* 0xB0-0xB3 */ + {0xBC, 0x96}, {0xBC, 0x98}, {0xBC, 0x9B}, {0xBC, 0x9C}, /* 0xB4-0xB7 */ + {0xBC, 0x9D}, {0xBC, 0x9E}, {0xBC, 0x9F}, {0xBC, 0xA2}, /* 0xB8-0xBB */ + {0xBC, 0xA3}, {0xBC, 0xA5}, {0xBC, 0xA6}, {0xBC, 0xA9}, /* 0xBC-0xBF */ + {0xBC, 0xAA}, {0xBC, 0xAB}, {0xBC, 0xAC}, {0xBC, 0xAD}, /* 0xC0-0xC3 */ + {0xBC, 0xAE}, {0xBC, 0xAF}, {0xBC, 0xB2}, {0xBC, 0xB6}, /* 0xC4-0xC7 */ + {0xBC, 0xB7}, {0xBC, 0xB8}, {0xBC, 0xB9}, {0xBC, 0xBA}, /* 0xC8-0xCB */ + {0xBC, 0xBB}, {0xBC, 0xBE}, {0xBC, 0xBF}, {0xBC, 0xC1}, /* 0xCC-0xCF */ + {0xBC, 0xC2}, {0xBC, 0xC3}, {0xBC, 0xC5}, {0xBC, 0xC6}, /* 0xD0-0xD3 */ + {0xBC, 0xC7}, {0xBC, 0xC8}, {0xBC, 0xC9}, {0xBC, 0xCA}, /* 0xD4-0xD7 */ + {0xBC, 0xCB}, {0xBC, 0xCC}, {0xBC, 0xCE}, {0xBC, 0xD2}, /* 0xD8-0xDB */ + {0xBC, 0xD3}, {0xBC, 0xD4}, {0xBC, 0xD6}, {0xBC, 0xD7}, /* 0xDC-0xDF */ + {0xBC, 0xD9}, {0xBC, 0xDA}, {0xBC, 0xDB}, {0xBC, 0xDD}, /* 0xE0-0xE3 */ + {0xBC, 0xDE}, {0xBC, 0xDF}, {0xBC, 0xE0}, {0xBC, 0xE1}, /* 0xE4-0xE7 */ + {0xBC, 0xE2}, {0xBC, 0xE3}, {0xBC, 0xE4}, {0xBC, 0xE5}, /* 0xE8-0xEB */ + {0xBC, 0xE6}, {0xBC, 0xE7}, {0xBC, 0xE8}, {0xBC, 0xE9}, /* 0xEC-0xEF */ + {0xBC, 0xEA}, {0xBC, 0xEB}, {0xBC, 0xEC}, {0xBC, 0xED}, /* 0xF0-0xF3 */ + {0xBC, 0xEE}, {0xBC, 0xEF}, {0xBC, 0xF0}, {0xBC, 0xF1}, /* 0xF4-0xF7 */ + {0xBC, 0xF2}, {0xBC, 0xF3}, {0xBC, 0xF7}, {0xBC, 0xF9}, /* 0xF8-0xFB */ + {0xBC, 0xFA}, {0xBC, 0xFB}, {0xBC, 0xFD}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_94[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xBC, 0xFE}, {0xBC, 0xFF}, {0xBD, 0x00}, /* 0x40-0x43 */ + {0xBD, 0x01}, {0xBD, 0x02}, {0xBD, 0x03}, {0xBD, 0x06}, /* 0x44-0x47 */ + {0xBD, 0x08}, {0xBD, 0x0A}, {0xBD, 0x0B}, {0xBD, 0x0C}, /* 0x48-0x4B */ + {0xBD, 0x0D}, {0xBD, 0x0E}, {0xBD, 0x0F}, {0xBD, 0x11}, /* 0x4C-0x4F */ + {0xBD, 0x12}, {0xBD, 0x13}, {0xBD, 0x15}, {0xBD, 0x16}, /* 0x50-0x53 */ + {0xBD, 0x17}, {0xBD, 0x18}, {0xBD, 0x19}, {0xBD, 0x1A}, /* 0x54-0x57 */ + {0xBD, 0x1B}, {0xBD, 0x1C}, {0xBD, 0x1D}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xBD, 0x1E}, {0xBD, 0x1F}, {0xBD, 0x20}, /* 0x60-0x63 */ + {0xBD, 0x21}, {0xBD, 0x22}, {0xBD, 0x23}, {0xBD, 0x25}, /* 0x64-0x67 */ + {0xBD, 0x26}, {0xBD, 0x27}, {0xBD, 0x28}, {0xBD, 0x29}, /* 0x68-0x6B */ + {0xBD, 0x2A}, {0xBD, 0x2B}, {0xBD, 0x2D}, {0xBD, 0x2E}, /* 0x6C-0x6F */ + {0xBD, 0x2F}, {0xBD, 0x30}, {0xBD, 0x31}, {0xBD, 0x32}, /* 0x70-0x73 */ + {0xBD, 0x33}, {0xBD, 0x34}, {0xBD, 0x35}, {0xBD, 0x36}, /* 0x74-0x77 */ + {0xBD, 0x37}, {0xBD, 0x38}, {0xBD, 0x39}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xBD, 0x3A}, {0xBD, 0x3B}, {0xBD, 0x3C}, /* 0x80-0x83 */ + {0xBD, 0x3D}, {0xBD, 0x3E}, {0xBD, 0x3F}, {0xBD, 0x41}, /* 0x84-0x87 */ + {0xBD, 0x42}, {0xBD, 0x43}, {0xBD, 0x44}, {0xBD, 0x45}, /* 0x88-0x8B */ + {0xBD, 0x46}, {0xBD, 0x47}, {0xBD, 0x4A}, {0xBD, 0x4B}, /* 0x8C-0x8F */ + {0xBD, 0x4D}, {0xBD, 0x4E}, {0xBD, 0x4F}, {0xBD, 0x51}, /* 0x90-0x93 */ + {0xBD, 0x52}, {0xBD, 0x53}, {0xBD, 0x54}, {0xBD, 0x55}, /* 0x94-0x97 */ + {0xBD, 0x56}, {0xBD, 0x57}, {0xBD, 0x5A}, {0xBD, 0x5B}, /* 0x98-0x9B */ + {0xBD, 0x5C}, {0xBD, 0x5D}, {0xBD, 0x5E}, {0xBD, 0x5F}, /* 0x9C-0x9F */ + {0xBD, 0x60}, {0xBD, 0x61}, {0xBD, 0x62}, {0xBD, 0x63}, /* 0xA0-0xA3 */ + {0xBD, 0x65}, {0xBD, 0x66}, {0xBD, 0x67}, {0xBD, 0x69}, /* 0xA4-0xA7 */ + {0xBD, 0x6A}, {0xBD, 0x6B}, {0xBD, 0x6C}, {0xBD, 0x6D}, /* 0xA8-0xAB */ + {0xBD, 0x6E}, {0xBD, 0x6F}, {0xBD, 0x70}, {0xBD, 0x71}, /* 0xAC-0xAF */ + {0xBD, 0x72}, {0xBD, 0x73}, {0xBD, 0x74}, {0xBD, 0x75}, /* 0xB0-0xB3 */ + {0xBD, 0x76}, {0xBD, 0x77}, {0xBD, 0x78}, {0xBD, 0x79}, /* 0xB4-0xB7 */ + {0xBD, 0x7A}, {0xBD, 0x7B}, {0xBD, 0x7C}, {0xBD, 0x7D}, /* 0xB8-0xBB */ + {0xBD, 0x7E}, {0xBD, 0x7F}, {0xBD, 0x82}, {0xBD, 0x83}, /* 0xBC-0xBF */ + {0xBD, 0x85}, {0xBD, 0x86}, {0xBD, 0x8B}, {0xBD, 0x8C}, /* 0xC0-0xC3 */ + {0xBD, 0x8D}, {0xBD, 0x8E}, {0xBD, 0x8F}, {0xBD, 0x92}, /* 0xC4-0xC7 */ + {0xBD, 0x94}, {0xBD, 0x96}, {0xBD, 0x97}, {0xBD, 0x98}, /* 0xC8-0xCB */ + {0xBD, 0x9B}, {0xBD, 0x9D}, {0xBD, 0x9E}, {0xBD, 0x9F}, /* 0xCC-0xCF */ + {0xBD, 0xA0}, {0xBD, 0xA1}, {0xBD, 0xA2}, {0xBD, 0xA3}, /* 0xD0-0xD3 */ + {0xBD, 0xA5}, {0xBD, 0xA6}, {0xBD, 0xA7}, {0xBD, 0xA8}, /* 0xD4-0xD7 */ + {0xBD, 0xA9}, {0xBD, 0xAA}, {0xBD, 0xAB}, {0xBD, 0xAC}, /* 0xD8-0xDB */ + {0xBD, 0xAD}, {0xBD, 0xAE}, {0xBD, 0xAF}, {0xBD, 0xB1}, /* 0xDC-0xDF */ + {0xBD, 0xB2}, {0xBD, 0xB3}, {0xBD, 0xB4}, {0xBD, 0xB5}, /* 0xE0-0xE3 */ + {0xBD, 0xB6}, {0xBD, 0xB7}, {0xBD, 0xB9}, {0xBD, 0xBA}, /* 0xE4-0xE7 */ + {0xBD, 0xBB}, {0xBD, 0xBC}, {0xBD, 0xBD}, {0xBD, 0xBE}, /* 0xE8-0xEB */ + {0xBD, 0xBF}, {0xBD, 0xC0}, {0xBD, 0xC1}, {0xBD, 0xC2}, /* 0xEC-0xEF */ + {0xBD, 0xC3}, {0xBD, 0xC4}, {0xBD, 0xC5}, {0xBD, 0xC6}, /* 0xF0-0xF3 */ + {0xBD, 0xC7}, {0xBD, 0xC8}, {0xBD, 0xC9}, {0xBD, 0xCA}, /* 0xF4-0xF7 */ + {0xBD, 0xCB}, {0xBD, 0xCC}, {0xBD, 0xCD}, {0xBD, 0xCE}, /* 0xF8-0xFB */ + {0xBD, 0xCF}, {0xBD, 0xD0}, {0xBD, 0xD1}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_95[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xBD, 0xD2}, {0xBD, 0xD3}, {0xBD, 0xD6}, /* 0x40-0x43 */ + {0xBD, 0xD7}, {0xBD, 0xD9}, {0xBD, 0xDA}, {0xBD, 0xDB}, /* 0x44-0x47 */ + {0xBD, 0xDD}, {0xBD, 0xDE}, {0xBD, 0xDF}, {0xBD, 0xE0}, /* 0x48-0x4B */ + {0xBD, 0xE1}, {0xBD, 0xE2}, {0xBD, 0xE3}, {0xBD, 0xE4}, /* 0x4C-0x4F */ + {0xBD, 0xE5}, {0xBD, 0xE6}, {0xBD, 0xE7}, {0xBD, 0xE8}, /* 0x50-0x53 */ + {0xBD, 0xEA}, {0xBD, 0xEB}, {0xBD, 0xEC}, {0xBD, 0xED}, /* 0x54-0x57 */ + {0xBD, 0xEE}, {0xBD, 0xEF}, {0xBD, 0xF1}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xBD, 0xF2}, {0xBD, 0xF3}, {0xBD, 0xF5}, /* 0x60-0x63 */ + {0xBD, 0xF6}, {0xBD, 0xF7}, {0xBD, 0xF9}, {0xBD, 0xFA}, /* 0x64-0x67 */ + {0xBD, 0xFB}, {0xBD, 0xFC}, {0xBD, 0xFD}, {0xBD, 0xFE}, /* 0x68-0x6B */ + {0xBD, 0xFF}, {0xBE, 0x01}, {0xBE, 0x02}, {0xBE, 0x04}, /* 0x6C-0x6F */ + {0xBE, 0x06}, {0xBE, 0x07}, {0xBE, 0x08}, {0xBE, 0x09}, /* 0x70-0x73 */ + {0xBE, 0x0A}, {0xBE, 0x0B}, {0xBE, 0x0E}, {0xBE, 0x0F}, /* 0x74-0x77 */ + {0xBE, 0x11}, {0xBE, 0x12}, {0xBE, 0x13}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xBE, 0x15}, {0xBE, 0x16}, {0xBE, 0x17}, /* 0x80-0x83 */ + {0xBE, 0x18}, {0xBE, 0x19}, {0xBE, 0x1A}, {0xBE, 0x1B}, /* 0x84-0x87 */ + {0xBE, 0x1E}, {0xBE, 0x20}, {0xBE, 0x21}, {0xBE, 0x22}, /* 0x88-0x8B */ + {0xBE, 0x23}, {0xBE, 0x24}, {0xBE, 0x25}, {0xBE, 0x26}, /* 0x8C-0x8F */ + {0xBE, 0x27}, {0xBE, 0x28}, {0xBE, 0x29}, {0xBE, 0x2A}, /* 0x90-0x93 */ + {0xBE, 0x2B}, {0xBE, 0x2C}, {0xBE, 0x2D}, {0xBE, 0x2E}, /* 0x94-0x97 */ + {0xBE, 0x2F}, {0xBE, 0x30}, {0xBE, 0x31}, {0xBE, 0x32}, /* 0x98-0x9B */ + {0xBE, 0x33}, {0xBE, 0x34}, {0xBE, 0x35}, {0xBE, 0x36}, /* 0x9C-0x9F */ + {0xBE, 0x37}, {0xBE, 0x38}, {0xBE, 0x39}, {0xBE, 0x3A}, /* 0xA0-0xA3 */ + {0xBE, 0x3B}, {0xBE, 0x3C}, {0xBE, 0x3D}, {0xBE, 0x3E}, /* 0xA4-0xA7 */ + {0xBE, 0x3F}, {0xBE, 0x40}, {0xBE, 0x41}, {0xBE, 0x42}, /* 0xA8-0xAB */ + {0xBE, 0x43}, {0xBE, 0x46}, {0xBE, 0x47}, {0xBE, 0x49}, /* 0xAC-0xAF */ + {0xBE, 0x4A}, {0xBE, 0x4B}, {0xBE, 0x4D}, {0xBE, 0x4F}, /* 0xB0-0xB3 */ + {0xBE, 0x50}, {0xBE, 0x51}, {0xBE, 0x52}, {0xBE, 0x53}, /* 0xB4-0xB7 */ + {0xBE, 0x56}, {0xBE, 0x58}, {0xBE, 0x5C}, {0xBE, 0x5D}, /* 0xB8-0xBB */ + {0xBE, 0x5E}, {0xBE, 0x5F}, {0xBE, 0x62}, {0xBE, 0x63}, /* 0xBC-0xBF */ + {0xBE, 0x65}, {0xBE, 0x66}, {0xBE, 0x67}, {0xBE, 0x69}, /* 0xC0-0xC3 */ + {0xBE, 0x6B}, {0xBE, 0x6C}, {0xBE, 0x6D}, {0xBE, 0x6E}, /* 0xC4-0xC7 */ + {0xBE, 0x6F}, {0xBE, 0x72}, {0xBE, 0x76}, {0xBE, 0x77}, /* 0xC8-0xCB */ + {0xBE, 0x78}, {0xBE, 0x79}, {0xBE, 0x7A}, {0xBE, 0x7E}, /* 0xCC-0xCF */ + {0xBE, 0x7F}, {0xBE, 0x81}, {0xBE, 0x82}, {0xBE, 0x83}, /* 0xD0-0xD3 */ + {0xBE, 0x85}, {0xBE, 0x86}, {0xBE, 0x87}, {0xBE, 0x88}, /* 0xD4-0xD7 */ + {0xBE, 0x89}, {0xBE, 0x8A}, {0xBE, 0x8B}, {0xBE, 0x8E}, /* 0xD8-0xDB */ + {0xBE, 0x92}, {0xBE, 0x93}, {0xBE, 0x94}, {0xBE, 0x95}, /* 0xDC-0xDF */ + {0xBE, 0x96}, {0xBE, 0x97}, {0xBE, 0x9A}, {0xBE, 0x9B}, /* 0xE0-0xE3 */ + {0xBE, 0x9C}, {0xBE, 0x9D}, {0xBE, 0x9E}, {0xBE, 0x9F}, /* 0xE4-0xE7 */ + {0xBE, 0xA0}, {0xBE, 0xA1}, {0xBE, 0xA2}, {0xBE, 0xA3}, /* 0xE8-0xEB */ + {0xBE, 0xA4}, {0xBE, 0xA5}, {0xBE, 0xA6}, {0xBE, 0xA7}, /* 0xEC-0xEF */ + {0xBE, 0xA9}, {0xBE, 0xAA}, {0xBE, 0xAB}, {0xBE, 0xAC}, /* 0xF0-0xF3 */ + {0xBE, 0xAD}, {0xBE, 0xAE}, {0xBE, 0xAF}, {0xBE, 0xB0}, /* 0xF4-0xF7 */ + {0xBE, 0xB1}, {0xBE, 0xB2}, {0xBE, 0xB3}, {0xBE, 0xB4}, /* 0xF8-0xFB */ + {0xBE, 0xB5}, {0xBE, 0xB6}, {0xBE, 0xB7}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_96[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xBE, 0xB8}, {0xBE, 0xB9}, {0xBE, 0xBA}, /* 0x40-0x43 */ + {0xBE, 0xBB}, {0xBE, 0xBC}, {0xBE, 0xBD}, {0xBE, 0xBE}, /* 0x44-0x47 */ + {0xBE, 0xBF}, {0xBE, 0xC0}, {0xBE, 0xC1}, {0xBE, 0xC2}, /* 0x48-0x4B */ + {0xBE, 0xC3}, {0xBE, 0xC4}, {0xBE, 0xC5}, {0xBE, 0xC6}, /* 0x4C-0x4F */ + {0xBE, 0xC7}, {0xBE, 0xC8}, {0xBE, 0xC9}, {0xBE, 0xCA}, /* 0x50-0x53 */ + {0xBE, 0xCB}, {0xBE, 0xCC}, {0xBE, 0xCD}, {0xBE, 0xCE}, /* 0x54-0x57 */ + {0xBE, 0xCF}, {0xBE, 0xD2}, {0xBE, 0xD3}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xBE, 0xD5}, {0xBE, 0xD6}, {0xBE, 0xD9}, /* 0x60-0x63 */ + {0xBE, 0xDA}, {0xBE, 0xDB}, {0xBE, 0xDC}, {0xBE, 0xDD}, /* 0x64-0x67 */ + {0xBE, 0xDE}, {0xBE, 0xDF}, {0xBE, 0xE1}, {0xBE, 0xE2}, /* 0x68-0x6B */ + {0xBE, 0xE6}, {0xBE, 0xE7}, {0xBE, 0xE8}, {0xBE, 0xE9}, /* 0x6C-0x6F */ + {0xBE, 0xEA}, {0xBE, 0xEB}, {0xBE, 0xED}, {0xBE, 0xEE}, /* 0x70-0x73 */ + {0xBE, 0xEF}, {0xBE, 0xF0}, {0xBE, 0xF1}, {0xBE, 0xF2}, /* 0x74-0x77 */ + {0xBE, 0xF3}, {0xBE, 0xF4}, {0xBE, 0xF5}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xBE, 0xF6}, {0xBE, 0xF7}, {0xBE, 0xF8}, /* 0x80-0x83 */ + {0xBE, 0xF9}, {0xBE, 0xFA}, {0xBE, 0xFB}, {0xBE, 0xFC}, /* 0x84-0x87 */ + {0xBE, 0xFD}, {0xBE, 0xFE}, {0xBE, 0xFF}, {0xBF, 0x00}, /* 0x88-0x8B */ + {0xBF, 0x02}, {0xBF, 0x03}, {0xBF, 0x04}, {0xBF, 0x05}, /* 0x8C-0x8F */ + {0xBF, 0x06}, {0xBF, 0x07}, {0xBF, 0x0A}, {0xBF, 0x0B}, /* 0x90-0x93 */ + {0xBF, 0x0C}, {0xBF, 0x0D}, {0xBF, 0x0E}, {0xBF, 0x0F}, /* 0x94-0x97 */ + {0xBF, 0x10}, {0xBF, 0x11}, {0xBF, 0x12}, {0xBF, 0x13}, /* 0x98-0x9B */ + {0xBF, 0x14}, {0xBF, 0x15}, {0xBF, 0x16}, {0xBF, 0x17}, /* 0x9C-0x9F */ + {0xBF, 0x1A}, {0xBF, 0x1E}, {0xBF, 0x1F}, {0xBF, 0x20}, /* 0xA0-0xA3 */ + {0xBF, 0x21}, {0xBF, 0x22}, {0xBF, 0x23}, {0xBF, 0x24}, /* 0xA4-0xA7 */ + {0xBF, 0x25}, {0xBF, 0x26}, {0xBF, 0x27}, {0xBF, 0x28}, /* 0xA8-0xAB */ + {0xBF, 0x29}, {0xBF, 0x2A}, {0xBF, 0x2B}, {0xBF, 0x2C}, /* 0xAC-0xAF */ + {0xBF, 0x2D}, {0xBF, 0x2E}, {0xBF, 0x2F}, {0xBF, 0x30}, /* 0xB0-0xB3 */ + {0xBF, 0x31}, {0xBF, 0x32}, {0xBF, 0x33}, {0xBF, 0x34}, /* 0xB4-0xB7 */ + {0xBF, 0x35}, {0xBF, 0x36}, {0xBF, 0x37}, {0xBF, 0x38}, /* 0xB8-0xBB */ + {0xBF, 0x39}, {0xBF, 0x3A}, {0xBF, 0x3B}, {0xBF, 0x3C}, /* 0xBC-0xBF */ + {0xBF, 0x3D}, {0xBF, 0x3E}, {0xBF, 0x3F}, {0xBF, 0x42}, /* 0xC0-0xC3 */ + {0xBF, 0x43}, {0xBF, 0x45}, {0xBF, 0x46}, {0xBF, 0x47}, /* 0xC4-0xC7 */ + {0xBF, 0x49}, {0xBF, 0x4A}, {0xBF, 0x4B}, {0xBF, 0x4C}, /* 0xC8-0xCB */ + {0xBF, 0x4D}, {0xBF, 0x4E}, {0xBF, 0x4F}, {0xBF, 0x52}, /* 0xCC-0xCF */ + {0xBF, 0x53}, {0xBF, 0x54}, {0xBF, 0x56}, {0xBF, 0x57}, /* 0xD0-0xD3 */ + {0xBF, 0x58}, {0xBF, 0x59}, {0xBF, 0x5A}, {0xBF, 0x5B}, /* 0xD4-0xD7 */ + {0xBF, 0x5C}, {0xBF, 0x5D}, {0xBF, 0x5E}, {0xBF, 0x5F}, /* 0xD8-0xDB */ + {0xBF, 0x60}, {0xBF, 0x61}, {0xBF, 0x62}, {0xBF, 0x63}, /* 0xDC-0xDF */ + {0xBF, 0x64}, {0xBF, 0x65}, {0xBF, 0x66}, {0xBF, 0x67}, /* 0xE0-0xE3 */ + {0xBF, 0x68}, {0xBF, 0x69}, {0xBF, 0x6A}, {0xBF, 0x6B}, /* 0xE4-0xE7 */ + {0xBF, 0x6C}, {0xBF, 0x6D}, {0xBF, 0x6E}, {0xBF, 0x6F}, /* 0xE8-0xEB */ + {0xBF, 0x70}, {0xBF, 0x71}, {0xBF, 0x72}, {0xBF, 0x73}, /* 0xEC-0xEF */ + {0xBF, 0x74}, {0xBF, 0x75}, {0xBF, 0x76}, {0xBF, 0x77}, /* 0xF0-0xF3 */ + {0xBF, 0x78}, {0xBF, 0x79}, {0xBF, 0x7A}, {0xBF, 0x7B}, /* 0xF4-0xF7 */ + {0xBF, 0x7C}, {0xBF, 0x7D}, {0xBF, 0x7E}, {0xBF, 0x7F}, /* 0xF8-0xFB */ + {0xBF, 0x80}, {0xBF, 0x81}, {0xBF, 0x82}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_97[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xBF, 0x83}, {0xBF, 0x84}, {0xBF, 0x85}, /* 0x40-0x43 */ + {0xBF, 0x86}, {0xBF, 0x87}, {0xBF, 0x88}, {0xBF, 0x89}, /* 0x44-0x47 */ + {0xBF, 0x8A}, {0xBF, 0x8B}, {0xBF, 0x8C}, {0xBF, 0x8D}, /* 0x48-0x4B */ + {0xBF, 0x8E}, {0xBF, 0x8F}, {0xBF, 0x90}, {0xBF, 0x91}, /* 0x4C-0x4F */ + {0xBF, 0x92}, {0xBF, 0x93}, {0xBF, 0x95}, {0xBF, 0x96}, /* 0x50-0x53 */ + {0xBF, 0x97}, {0xBF, 0x98}, {0xBF, 0x99}, {0xBF, 0x9A}, /* 0x54-0x57 */ + {0xBF, 0x9B}, {0xBF, 0x9C}, {0xBF, 0x9D}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xBF, 0x9E}, {0xBF, 0x9F}, {0xBF, 0xA0}, /* 0x60-0x63 */ + {0xBF, 0xA1}, {0xBF, 0xA2}, {0xBF, 0xA3}, {0xBF, 0xA4}, /* 0x64-0x67 */ + {0xBF, 0xA5}, {0xBF, 0xA6}, {0xBF, 0xA7}, {0xBF, 0xA8}, /* 0x68-0x6B */ + {0xBF, 0xA9}, {0xBF, 0xAA}, {0xBF, 0xAB}, {0xBF, 0xAC}, /* 0x6C-0x6F */ + {0xBF, 0xAD}, {0xBF, 0xAE}, {0xBF, 0xAF}, {0xBF, 0xB1}, /* 0x70-0x73 */ + {0xBF, 0xB2}, {0xBF, 0xB3}, {0xBF, 0xB4}, {0xBF, 0xB5}, /* 0x74-0x77 */ + {0xBF, 0xB6}, {0xBF, 0xB7}, {0xBF, 0xB8}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xBF, 0xB9}, {0xBF, 0xBA}, {0xBF, 0xBB}, /* 0x80-0x83 */ + {0xBF, 0xBC}, {0xBF, 0xBD}, {0xBF, 0xBE}, {0xBF, 0xBF}, /* 0x84-0x87 */ + {0xBF, 0xC0}, {0xBF, 0xC1}, {0xBF, 0xC2}, {0xBF, 0xC3}, /* 0x88-0x8B */ + {0xBF, 0xC4}, {0xBF, 0xC6}, {0xBF, 0xC7}, {0xBF, 0xC8}, /* 0x8C-0x8F */ + {0xBF, 0xC9}, {0xBF, 0xCA}, {0xBF, 0xCB}, {0xBF, 0xCE}, /* 0x90-0x93 */ + {0xBF, 0xCF}, {0xBF, 0xD1}, {0xBF, 0xD2}, {0xBF, 0xD3}, /* 0x94-0x97 */ + {0xBF, 0xD5}, {0xBF, 0xD6}, {0xBF, 0xD7}, {0xBF, 0xD8}, /* 0x98-0x9B */ + {0xBF, 0xD9}, {0xBF, 0xDA}, {0xBF, 0xDB}, {0xBF, 0xDD}, /* 0x9C-0x9F */ + {0xBF, 0xDE}, {0xBF, 0xE0}, {0xBF, 0xE2}, {0xBF, 0xE3}, /* 0xA0-0xA3 */ + {0xBF, 0xE4}, {0xBF, 0xE5}, {0xBF, 0xE6}, {0xBF, 0xE7}, /* 0xA4-0xA7 */ + {0xBF, 0xE8}, {0xBF, 0xE9}, {0xBF, 0xEA}, {0xBF, 0xEB}, /* 0xA8-0xAB */ + {0xBF, 0xEC}, {0xBF, 0xED}, {0xBF, 0xEE}, {0xBF, 0xEF}, /* 0xAC-0xAF */ + {0xBF, 0xF0}, {0xBF, 0xF1}, {0xBF, 0xF2}, {0xBF, 0xF3}, /* 0xB0-0xB3 */ + {0xBF, 0xF4}, {0xBF, 0xF5}, {0xBF, 0xF6}, {0xBF, 0xF7}, /* 0xB4-0xB7 */ + {0xBF, 0xF8}, {0xBF, 0xF9}, {0xBF, 0xFA}, {0xBF, 0xFB}, /* 0xB8-0xBB */ + {0xBF, 0xFC}, {0xBF, 0xFD}, {0xBF, 0xFE}, {0xBF, 0xFF}, /* 0xBC-0xBF */ + {0xC0, 0x00}, {0xC0, 0x01}, {0xC0, 0x02}, {0xC0, 0x03}, /* 0xC0-0xC3 */ + {0xC0, 0x04}, {0xC0, 0x05}, {0xC0, 0x06}, {0xC0, 0x07}, /* 0xC4-0xC7 */ + {0xC0, 0x08}, {0xC0, 0x09}, {0xC0, 0x0A}, {0xC0, 0x0B}, /* 0xC8-0xCB */ + {0xC0, 0x0C}, {0xC0, 0x0D}, {0xC0, 0x0E}, {0xC0, 0x0F}, /* 0xCC-0xCF */ + {0xC0, 0x10}, {0xC0, 0x11}, {0xC0, 0x12}, {0xC0, 0x13}, /* 0xD0-0xD3 */ + {0xC0, 0x14}, {0xC0, 0x15}, {0xC0, 0x16}, {0xC0, 0x17}, /* 0xD4-0xD7 */ + {0xC0, 0x18}, {0xC0, 0x19}, {0xC0, 0x1A}, {0xC0, 0x1B}, /* 0xD8-0xDB */ + {0xC0, 0x1C}, {0xC0, 0x1D}, {0xC0, 0x1E}, {0xC0, 0x1F}, /* 0xDC-0xDF */ + {0xC0, 0x20}, {0xC0, 0x21}, {0xC0, 0x22}, {0xC0, 0x23}, /* 0xE0-0xE3 */ + {0xC0, 0x24}, {0xC0, 0x25}, {0xC0, 0x26}, {0xC0, 0x27}, /* 0xE4-0xE7 */ + {0xC0, 0x28}, {0xC0, 0x29}, {0xC0, 0x2A}, {0xC0, 0x2B}, /* 0xE8-0xEB */ + {0xC0, 0x2C}, {0xC0, 0x2D}, {0xC0, 0x2E}, {0xC0, 0x2F}, /* 0xEC-0xEF */ + {0xC0, 0x30}, {0xC0, 0x31}, {0xC0, 0x32}, {0xC0, 0x33}, /* 0xF0-0xF3 */ + {0xC0, 0x34}, {0xC0, 0x35}, {0xC0, 0x36}, {0xC0, 0x37}, /* 0xF4-0xF7 */ + {0xC0, 0x38}, {0xC0, 0x39}, {0xC0, 0x3A}, {0xC0, 0x3B}, /* 0xF8-0xFB */ + {0xC0, 0x3D}, {0xC0, 0x3E}, {0xC0, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_98[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC0, 0x40}, {0xC0, 0x41}, {0xC0, 0x42}, /* 0x40-0x43 */ + {0xC0, 0x43}, {0xC0, 0x44}, {0xC0, 0x45}, {0xC0, 0x46}, /* 0x44-0x47 */ + {0xC0, 0x47}, {0xC0, 0x48}, {0xC0, 0x49}, {0xC0, 0x4A}, /* 0x48-0x4B */ + {0xC0, 0x4B}, {0xC0, 0x4C}, {0xC0, 0x4D}, {0xC0, 0x4E}, /* 0x4C-0x4F */ + {0xC0, 0x4F}, {0xC0, 0x50}, {0xC0, 0x52}, {0xC0, 0x53}, /* 0x50-0x53 */ + {0xC0, 0x54}, {0xC0, 0x55}, {0xC0, 0x56}, {0xC0, 0x57}, /* 0x54-0x57 */ + {0xC0, 0x59}, {0xC0, 0x5A}, {0xC0, 0x5B}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC0, 0x5D}, {0xC0, 0x5E}, {0xC0, 0x5F}, /* 0x60-0x63 */ + {0xC0, 0x61}, {0xC0, 0x62}, {0xC0, 0x63}, {0xC0, 0x64}, /* 0x64-0x67 */ + {0xC0, 0x65}, {0xC0, 0x66}, {0xC0, 0x67}, {0xC0, 0x6A}, /* 0x68-0x6B */ + {0xC0, 0x6B}, {0xC0, 0x6C}, {0xC0, 0x6D}, {0xC0, 0x6E}, /* 0x6C-0x6F */ + {0xC0, 0x6F}, {0xC0, 0x70}, {0xC0, 0x71}, {0xC0, 0x72}, /* 0x70-0x73 */ + {0xC0, 0x73}, {0xC0, 0x74}, {0xC0, 0x75}, {0xC0, 0x76}, /* 0x74-0x77 */ + {0xC0, 0x77}, {0xC0, 0x78}, {0xC0, 0x79}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC0, 0x7A}, {0xC0, 0x7B}, {0xC0, 0x7C}, /* 0x80-0x83 */ + {0xC0, 0x7D}, {0xC0, 0x7E}, {0xC0, 0x7F}, {0xC0, 0x80}, /* 0x84-0x87 */ + {0xC0, 0x81}, {0xC0, 0x82}, {0xC0, 0x83}, {0xC0, 0x84}, /* 0x88-0x8B */ + {0xC0, 0x85}, {0xC0, 0x86}, {0xC0, 0x87}, {0xC0, 0x88}, /* 0x8C-0x8F */ + {0xC0, 0x89}, {0xC0, 0x8A}, {0xC0, 0x8B}, {0xC0, 0x8C}, /* 0x90-0x93 */ + {0xC0, 0x8D}, {0xC0, 0x8E}, {0xC0, 0x8F}, {0xC0, 0x92}, /* 0x94-0x97 */ + {0xC0, 0x93}, {0xC0, 0x95}, {0xC0, 0x96}, {0xC0, 0x97}, /* 0x98-0x9B */ + {0xC0, 0x99}, {0xC0, 0x9A}, {0xC0, 0x9B}, {0xC0, 0x9C}, /* 0x9C-0x9F */ + {0xC0, 0x9D}, {0xC0, 0x9E}, {0xC0, 0x9F}, {0xC0, 0xA2}, /* 0xA0-0xA3 */ + {0xC0, 0xA4}, {0xC0, 0xA6}, {0xC0, 0xA7}, {0xC0, 0xA8}, /* 0xA4-0xA7 */ + {0xC0, 0xA9}, {0xC0, 0xAA}, {0xC0, 0xAB}, {0xC0, 0xAE}, /* 0xA8-0xAB */ + {0xC0, 0xB1}, {0xC0, 0xB2}, {0xC0, 0xB7}, {0xC0, 0xB8}, /* 0xAC-0xAF */ + {0xC0, 0xB9}, {0xC0, 0xBA}, {0xC0, 0xBB}, {0xC0, 0xBE}, /* 0xB0-0xB3 */ + {0xC0, 0xC2}, {0xC0, 0xC3}, {0xC0, 0xC4}, {0xC0, 0xC6}, /* 0xB4-0xB7 */ + {0xC0, 0xC7}, {0xC0, 0xCA}, {0xC0, 0xCB}, {0xC0, 0xCD}, /* 0xB8-0xBB */ + {0xC0, 0xCE}, {0xC0, 0xCF}, {0xC0, 0xD1}, {0xC0, 0xD2}, /* 0xBC-0xBF */ + {0xC0, 0xD3}, {0xC0, 0xD4}, {0xC0, 0xD5}, {0xC0, 0xD6}, /* 0xC0-0xC3 */ + {0xC0, 0xD7}, {0xC0, 0xDA}, {0xC0, 0xDE}, {0xC0, 0xDF}, /* 0xC4-0xC7 */ + {0xC0, 0xE0}, {0xC0, 0xE1}, {0xC0, 0xE2}, {0xC0, 0xE3}, /* 0xC8-0xCB */ + {0xC0, 0xE6}, {0xC0, 0xE7}, {0xC0, 0xE9}, {0xC0, 0xEA}, /* 0xCC-0xCF */ + {0xC0, 0xEB}, {0xC0, 0xED}, {0xC0, 0xEE}, {0xC0, 0xEF}, /* 0xD0-0xD3 */ + {0xC0, 0xF0}, {0xC0, 0xF1}, {0xC0, 0xF2}, {0xC0, 0xF3}, /* 0xD4-0xD7 */ + {0xC0, 0xF6}, {0xC0, 0xF8}, {0xC0, 0xFA}, {0xC0, 0xFB}, /* 0xD8-0xDB */ + {0xC0, 0xFC}, {0xC0, 0xFD}, {0xC0, 0xFE}, {0xC0, 0xFF}, /* 0xDC-0xDF */ + {0xC1, 0x01}, {0xC1, 0x02}, {0xC1, 0x03}, {0xC1, 0x05}, /* 0xE0-0xE3 */ + {0xC1, 0x06}, {0xC1, 0x07}, {0xC1, 0x09}, {0xC1, 0x0A}, /* 0xE4-0xE7 */ + {0xC1, 0x0B}, {0xC1, 0x0C}, {0xC1, 0x0D}, {0xC1, 0x0E}, /* 0xE8-0xEB */ + {0xC1, 0x0F}, {0xC1, 0x11}, {0xC1, 0x12}, {0xC1, 0x13}, /* 0xEC-0xEF */ + {0xC1, 0x14}, {0xC1, 0x16}, {0xC1, 0x17}, {0xC1, 0x18}, /* 0xF0-0xF3 */ + {0xC1, 0x19}, {0xC1, 0x1A}, {0xC1, 0x1B}, {0xC1, 0x21}, /* 0xF4-0xF7 */ + {0xC1, 0x22}, {0xC1, 0x25}, {0xC1, 0x28}, {0xC1, 0x29}, /* 0xF8-0xFB */ + {0xC1, 0x2A}, {0xC1, 0x2B}, {0xC1, 0x2E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_99[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC1, 0x32}, {0xC1, 0x33}, {0xC1, 0x34}, /* 0x40-0x43 */ + {0xC1, 0x35}, {0xC1, 0x37}, {0xC1, 0x3A}, {0xC1, 0x3B}, /* 0x44-0x47 */ + {0xC1, 0x3D}, {0xC1, 0x3E}, {0xC1, 0x3F}, {0xC1, 0x41}, /* 0x48-0x4B */ + {0xC1, 0x42}, {0xC1, 0x43}, {0xC1, 0x44}, {0xC1, 0x45}, /* 0x4C-0x4F */ + {0xC1, 0x46}, {0xC1, 0x47}, {0xC1, 0x4A}, {0xC1, 0x4E}, /* 0x50-0x53 */ + {0xC1, 0x4F}, {0xC1, 0x50}, {0xC1, 0x51}, {0xC1, 0x52}, /* 0x54-0x57 */ + {0xC1, 0x53}, {0xC1, 0x56}, {0xC1, 0x57}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC1, 0x59}, {0xC1, 0x5A}, {0xC1, 0x5B}, /* 0x60-0x63 */ + {0xC1, 0x5D}, {0xC1, 0x5E}, {0xC1, 0x5F}, {0xC1, 0x60}, /* 0x64-0x67 */ + {0xC1, 0x61}, {0xC1, 0x62}, {0xC1, 0x63}, {0xC1, 0x66}, /* 0x68-0x6B */ + {0xC1, 0x6A}, {0xC1, 0x6B}, {0xC1, 0x6C}, {0xC1, 0x6D}, /* 0x6C-0x6F */ + {0xC1, 0x6E}, {0xC1, 0x6F}, {0xC1, 0x71}, {0xC1, 0x72}, /* 0x70-0x73 */ + {0xC1, 0x73}, {0xC1, 0x75}, {0xC1, 0x76}, {0xC1, 0x77}, /* 0x74-0x77 */ + {0xC1, 0x79}, {0xC1, 0x7A}, {0xC1, 0x7B}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC1, 0x7C}, {0xC1, 0x7D}, {0xC1, 0x7E}, /* 0x80-0x83 */ + {0xC1, 0x7F}, {0xC1, 0x80}, {0xC1, 0x81}, {0xC1, 0x82}, /* 0x84-0x87 */ + {0xC1, 0x83}, {0xC1, 0x84}, {0xC1, 0x86}, {0xC1, 0x87}, /* 0x88-0x8B */ + {0xC1, 0x88}, {0xC1, 0x89}, {0xC1, 0x8A}, {0xC1, 0x8B}, /* 0x8C-0x8F */ + {0xC1, 0x8F}, {0xC1, 0x91}, {0xC1, 0x92}, {0xC1, 0x93}, /* 0x90-0x93 */ + {0xC1, 0x95}, {0xC1, 0x97}, {0xC1, 0x98}, {0xC1, 0x99}, /* 0x94-0x97 */ + {0xC1, 0x9A}, {0xC1, 0x9B}, {0xC1, 0x9E}, {0xC1, 0xA0}, /* 0x98-0x9B */ + {0xC1, 0xA2}, {0xC1, 0xA3}, {0xC1, 0xA4}, {0xC1, 0xA6}, /* 0x9C-0x9F */ + {0xC1, 0xA7}, {0xC1, 0xAA}, {0xC1, 0xAB}, {0xC1, 0xAD}, /* 0xA0-0xA3 */ + {0xC1, 0xAE}, {0xC1, 0xAF}, {0xC1, 0xB1}, {0xC1, 0xB2}, /* 0xA4-0xA7 */ + {0xC1, 0xB3}, {0xC1, 0xB4}, {0xC1, 0xB5}, {0xC1, 0xB6}, /* 0xA8-0xAB */ + {0xC1, 0xB7}, {0xC1, 0xB8}, {0xC1, 0xB9}, {0xC1, 0xBA}, /* 0xAC-0xAF */ + {0xC1, 0xBB}, {0xC1, 0xBC}, {0xC1, 0xBE}, {0xC1, 0xBF}, /* 0xB0-0xB3 */ + {0xC1, 0xC0}, {0xC1, 0xC1}, {0xC1, 0xC2}, {0xC1, 0xC3}, /* 0xB4-0xB7 */ + {0xC1, 0xC5}, {0xC1, 0xC6}, {0xC1, 0xC7}, {0xC1, 0xC9}, /* 0xB8-0xBB */ + {0xC1, 0xCA}, {0xC1, 0xCB}, {0xC1, 0xCD}, {0xC1, 0xCE}, /* 0xBC-0xBF */ + {0xC1, 0xCF}, {0xC1, 0xD0}, {0xC1, 0xD1}, {0xC1, 0xD2}, /* 0xC0-0xC3 */ + {0xC1, 0xD3}, {0xC1, 0xD5}, {0xC1, 0xD6}, {0xC1, 0xD9}, /* 0xC4-0xC7 */ + {0xC1, 0xDA}, {0xC1, 0xDB}, {0xC1, 0xDC}, {0xC1, 0xDD}, /* 0xC8-0xCB */ + {0xC1, 0xDE}, {0xC1, 0xDF}, {0xC1, 0xE1}, {0xC1, 0xE2}, /* 0xCC-0xCF */ + {0xC1, 0xE3}, {0xC1, 0xE5}, {0xC1, 0xE6}, {0xC1, 0xE7}, /* 0xD0-0xD3 */ + {0xC1, 0xE9}, {0xC1, 0xEA}, {0xC1, 0xEB}, {0xC1, 0xEC}, /* 0xD4-0xD7 */ + {0xC1, 0xED}, {0xC1, 0xEE}, {0xC1, 0xEF}, {0xC1, 0xF2}, /* 0xD8-0xDB */ + {0xC1, 0xF4}, {0xC1, 0xF5}, {0xC1, 0xF6}, {0xC1, 0xF7}, /* 0xDC-0xDF */ + {0xC1, 0xF8}, {0xC1, 0xF9}, {0xC1, 0xFA}, {0xC1, 0xFB}, /* 0xE0-0xE3 */ + {0xC1, 0xFE}, {0xC1, 0xFF}, {0xC2, 0x01}, {0xC2, 0x02}, /* 0xE4-0xE7 */ + {0xC2, 0x03}, {0xC2, 0x05}, {0xC2, 0x06}, {0xC2, 0x07}, /* 0xE8-0xEB */ + {0xC2, 0x08}, {0xC2, 0x09}, {0xC2, 0x0A}, {0xC2, 0x0B}, /* 0xEC-0xEF */ + {0xC2, 0x0E}, {0xC2, 0x10}, {0xC2, 0x12}, {0xC2, 0x13}, /* 0xF0-0xF3 */ + {0xC2, 0x14}, {0xC2, 0x15}, {0xC2, 0x16}, {0xC2, 0x17}, /* 0xF4-0xF7 */ + {0xC2, 0x1A}, {0xC2, 0x1B}, {0xC2, 0x1D}, {0xC2, 0x1E}, /* 0xF8-0xFB */ + {0xC2, 0x21}, {0xC2, 0x22}, {0xC2, 0x23}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9A[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC2, 0x24}, {0xC2, 0x25}, {0xC2, 0x26}, /* 0x40-0x43 */ + {0xC2, 0x27}, {0xC2, 0x2A}, {0xC2, 0x2C}, {0xC2, 0x2E}, /* 0x44-0x47 */ + {0xC2, 0x30}, {0xC2, 0x33}, {0xC2, 0x35}, {0xC2, 0x36}, /* 0x48-0x4B */ + {0xC2, 0x37}, {0xC2, 0x38}, {0xC2, 0x39}, {0xC2, 0x3A}, /* 0x4C-0x4F */ + {0xC2, 0x3B}, {0xC2, 0x3C}, {0xC2, 0x3D}, {0xC2, 0x3E}, /* 0x50-0x53 */ + {0xC2, 0x3F}, {0xC2, 0x40}, {0xC2, 0x41}, {0xC2, 0x42}, /* 0x54-0x57 */ + {0xC2, 0x43}, {0xC2, 0x44}, {0xC2, 0x45}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC2, 0x46}, {0xC2, 0x47}, {0xC2, 0x49}, /* 0x60-0x63 */ + {0xC2, 0x4A}, {0xC2, 0x4B}, {0xC2, 0x4C}, {0xC2, 0x4D}, /* 0x64-0x67 */ + {0xC2, 0x4E}, {0xC2, 0x4F}, {0xC2, 0x52}, {0xC2, 0x53}, /* 0x68-0x6B */ + {0xC2, 0x55}, {0xC2, 0x56}, {0xC2, 0x57}, {0xC2, 0x59}, /* 0x6C-0x6F */ + {0xC2, 0x5A}, {0xC2, 0x5B}, {0xC2, 0x5C}, {0xC2, 0x5D}, /* 0x70-0x73 */ + {0xC2, 0x5E}, {0xC2, 0x5F}, {0xC2, 0x61}, {0xC2, 0x62}, /* 0x74-0x77 */ + {0xC2, 0x63}, {0xC2, 0x64}, {0xC2, 0x66}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC2, 0x67}, {0xC2, 0x68}, {0xC2, 0x69}, /* 0x80-0x83 */ + {0xC2, 0x6A}, {0xC2, 0x6B}, {0xC2, 0x6E}, {0xC2, 0x6F}, /* 0x84-0x87 */ + {0xC2, 0x71}, {0xC2, 0x72}, {0xC2, 0x73}, {0xC2, 0x75}, /* 0x88-0x8B */ + {0xC2, 0x76}, {0xC2, 0x77}, {0xC2, 0x78}, {0xC2, 0x79}, /* 0x8C-0x8F */ + {0xC2, 0x7A}, {0xC2, 0x7B}, {0xC2, 0x7E}, {0xC2, 0x80}, /* 0x90-0x93 */ + {0xC2, 0x82}, {0xC2, 0x83}, {0xC2, 0x84}, {0xC2, 0x85}, /* 0x94-0x97 */ + {0xC2, 0x86}, {0xC2, 0x87}, {0xC2, 0x8A}, {0xC2, 0x8B}, /* 0x98-0x9B */ + {0xC2, 0x8C}, {0xC2, 0x8D}, {0xC2, 0x8E}, {0xC2, 0x8F}, /* 0x9C-0x9F */ + {0xC2, 0x91}, {0xC2, 0x92}, {0xC2, 0x93}, {0xC2, 0x94}, /* 0xA0-0xA3 */ + {0xC2, 0x95}, {0xC2, 0x96}, {0xC2, 0x97}, {0xC2, 0x99}, /* 0xA4-0xA7 */ + {0xC2, 0x9A}, {0xC2, 0x9C}, {0xC2, 0x9E}, {0xC2, 0x9F}, /* 0xA8-0xAB */ + {0xC2, 0xA0}, {0xC2, 0xA1}, {0xC2, 0xA2}, {0xC2, 0xA3}, /* 0xAC-0xAF */ + {0xC2, 0xA6}, {0xC2, 0xA7}, {0xC2, 0xA9}, {0xC2, 0xAA}, /* 0xB0-0xB3 */ + {0xC2, 0xAB}, {0xC2, 0xAE}, {0xC2, 0xAF}, {0xC2, 0xB0}, /* 0xB4-0xB7 */ + {0xC2, 0xB1}, {0xC2, 0xB2}, {0xC2, 0xB3}, {0xC2, 0xB6}, /* 0xB8-0xBB */ + {0xC2, 0xB8}, {0xC2, 0xBA}, {0xC2, 0xBB}, {0xC2, 0xBC}, /* 0xBC-0xBF */ + {0xC2, 0xBD}, {0xC2, 0xBE}, {0xC2, 0xBF}, {0xC2, 0xC0}, /* 0xC0-0xC3 */ + {0xC2, 0xC1}, {0xC2, 0xC2}, {0xC2, 0xC3}, {0xC2, 0xC4}, /* 0xC4-0xC7 */ + {0xC2, 0xC5}, {0xC2, 0xC6}, {0xC2, 0xC7}, {0xC2, 0xC8}, /* 0xC8-0xCB */ + {0xC2, 0xC9}, {0xC2, 0xCA}, {0xC2, 0xCB}, {0xC2, 0xCC}, /* 0xCC-0xCF */ + {0xC2, 0xCD}, {0xC2, 0xCE}, {0xC2, 0xCF}, {0xC2, 0xD0}, /* 0xD0-0xD3 */ + {0xC2, 0xD1}, {0xC2, 0xD2}, {0xC2, 0xD3}, {0xC2, 0xD4}, /* 0xD4-0xD7 */ + {0xC2, 0xD5}, {0xC2, 0xD6}, {0xC2, 0xD7}, {0xC2, 0xD8}, /* 0xD8-0xDB */ + {0xC2, 0xD9}, {0xC2, 0xDA}, {0xC2, 0xDB}, {0xC2, 0xDE}, /* 0xDC-0xDF */ + {0xC2, 0xDF}, {0xC2, 0xE1}, {0xC2, 0xE2}, {0xC2, 0xE5}, /* 0xE0-0xE3 */ + {0xC2, 0xE6}, {0xC2, 0xE7}, {0xC2, 0xE8}, {0xC2, 0xE9}, /* 0xE4-0xE7 */ + {0xC2, 0xEA}, {0xC2, 0xEE}, {0xC2, 0xF0}, {0xC2, 0xF2}, /* 0xE8-0xEB */ + {0xC2, 0xF3}, {0xC2, 0xF4}, {0xC2, 0xF5}, {0xC2, 0xF7}, /* 0xEC-0xEF */ + {0xC2, 0xFA}, {0xC2, 0xFD}, {0xC2, 0xFE}, {0xC2, 0xFF}, /* 0xF0-0xF3 */ + {0xC3, 0x01}, {0xC3, 0x02}, {0xC3, 0x03}, {0xC3, 0x04}, /* 0xF4-0xF7 */ + {0xC3, 0x05}, {0xC3, 0x06}, {0xC3, 0x07}, {0xC3, 0x0A}, /* 0xF8-0xFB */ + {0xC3, 0x0B}, {0xC3, 0x0E}, {0xC3, 0x0F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9B[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC3, 0x10}, {0xC3, 0x11}, {0xC3, 0x12}, /* 0x40-0x43 */ + {0xC3, 0x16}, {0xC3, 0x17}, {0xC3, 0x19}, {0xC3, 0x1A}, /* 0x44-0x47 */ + {0xC3, 0x1B}, {0xC3, 0x1D}, {0xC3, 0x1E}, {0xC3, 0x1F}, /* 0x48-0x4B */ + {0xC3, 0x20}, {0xC3, 0x21}, {0xC3, 0x22}, {0xC3, 0x23}, /* 0x4C-0x4F */ + {0xC3, 0x26}, {0xC3, 0x27}, {0xC3, 0x2A}, {0xC3, 0x2B}, /* 0x50-0x53 */ + {0xC3, 0x2C}, {0xC3, 0x2D}, {0xC3, 0x2E}, {0xC3, 0x2F}, /* 0x54-0x57 */ + {0xC3, 0x30}, {0xC3, 0x31}, {0xC3, 0x32}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC3, 0x33}, {0xC3, 0x34}, {0xC3, 0x35}, /* 0x60-0x63 */ + {0xC3, 0x36}, {0xC3, 0x37}, {0xC3, 0x38}, {0xC3, 0x39}, /* 0x64-0x67 */ + {0xC3, 0x3A}, {0xC3, 0x3B}, {0xC3, 0x3C}, {0xC3, 0x3D}, /* 0x68-0x6B */ + {0xC3, 0x3E}, {0xC3, 0x3F}, {0xC3, 0x40}, {0xC3, 0x41}, /* 0x6C-0x6F */ + {0xC3, 0x42}, {0xC3, 0x43}, {0xC3, 0x44}, {0xC3, 0x46}, /* 0x70-0x73 */ + {0xC3, 0x47}, {0xC3, 0x48}, {0xC3, 0x49}, {0xC3, 0x4A}, /* 0x74-0x77 */ + {0xC3, 0x4B}, {0xC3, 0x4C}, {0xC3, 0x4D}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC3, 0x4E}, {0xC3, 0x4F}, {0xC3, 0x50}, /* 0x80-0x83 */ + {0xC3, 0x51}, {0xC3, 0x52}, {0xC3, 0x53}, {0xC3, 0x54}, /* 0x84-0x87 */ + {0xC3, 0x55}, {0xC3, 0x56}, {0xC3, 0x57}, {0xC3, 0x58}, /* 0x88-0x8B */ + {0xC3, 0x59}, {0xC3, 0x5A}, {0xC3, 0x5B}, {0xC3, 0x5C}, /* 0x8C-0x8F */ + {0xC3, 0x5D}, {0xC3, 0x5E}, {0xC3, 0x5F}, {0xC3, 0x60}, /* 0x90-0x93 */ + {0xC3, 0x61}, {0xC3, 0x62}, {0xC3, 0x63}, {0xC3, 0x64}, /* 0x94-0x97 */ + {0xC3, 0x65}, {0xC3, 0x66}, {0xC3, 0x67}, {0xC3, 0x6A}, /* 0x98-0x9B */ + {0xC3, 0x6B}, {0xC3, 0x6D}, {0xC3, 0x6E}, {0xC3, 0x6F}, /* 0x9C-0x9F */ + {0xC3, 0x71}, {0xC3, 0x73}, {0xC3, 0x74}, {0xC3, 0x75}, /* 0xA0-0xA3 */ + {0xC3, 0x76}, {0xC3, 0x77}, {0xC3, 0x7A}, {0xC3, 0x7B}, /* 0xA4-0xA7 */ + {0xC3, 0x7E}, {0xC3, 0x7F}, {0xC3, 0x80}, {0xC3, 0x81}, /* 0xA8-0xAB */ + {0xC3, 0x82}, {0xC3, 0x83}, {0xC3, 0x85}, {0xC3, 0x86}, /* 0xAC-0xAF */ + {0xC3, 0x87}, {0xC3, 0x89}, {0xC3, 0x8A}, {0xC3, 0x8B}, /* 0xB0-0xB3 */ + {0xC3, 0x8D}, {0xC3, 0x8E}, {0xC3, 0x8F}, {0xC3, 0x90}, /* 0xB4-0xB7 */ + {0xC3, 0x91}, {0xC3, 0x92}, {0xC3, 0x93}, {0xC3, 0x94}, /* 0xB8-0xBB */ + {0xC3, 0x95}, {0xC3, 0x96}, {0xC3, 0x97}, {0xC3, 0x98}, /* 0xBC-0xBF */ + {0xC3, 0x99}, {0xC3, 0x9A}, {0xC3, 0x9B}, {0xC3, 0x9C}, /* 0xC0-0xC3 */ + {0xC3, 0x9D}, {0xC3, 0x9E}, {0xC3, 0x9F}, {0xC3, 0xA0}, /* 0xC4-0xC7 */ + {0xC3, 0xA1}, {0xC3, 0xA2}, {0xC3, 0xA3}, {0xC3, 0xA4}, /* 0xC8-0xCB */ + {0xC3, 0xA5}, {0xC3, 0xA6}, {0xC3, 0xA7}, {0xC3, 0xA8}, /* 0xCC-0xCF */ + {0xC3, 0xA9}, {0xC3, 0xAA}, {0xC3, 0xAB}, {0xC3, 0xAC}, /* 0xD0-0xD3 */ + {0xC3, 0xAD}, {0xC3, 0xAE}, {0xC3, 0xAF}, {0xC3, 0xB0}, /* 0xD4-0xD7 */ + {0xC3, 0xB1}, {0xC3, 0xB2}, {0xC3, 0xB3}, {0xC3, 0xB4}, /* 0xD8-0xDB */ + {0xC3, 0xB5}, {0xC3, 0xB6}, {0xC3, 0xB7}, {0xC3, 0xB8}, /* 0xDC-0xDF */ + {0xC3, 0xB9}, {0xC3, 0xBA}, {0xC3, 0xBB}, {0xC3, 0xBC}, /* 0xE0-0xE3 */ + {0xC3, 0xBD}, {0xC3, 0xBE}, {0xC3, 0xBF}, {0xC3, 0xC1}, /* 0xE4-0xE7 */ + {0xC3, 0xC2}, {0xC3, 0xC3}, {0xC3, 0xC4}, {0xC3, 0xC5}, /* 0xE8-0xEB */ + {0xC3, 0xC6}, {0xC3, 0xC7}, {0xC3, 0xC8}, {0xC3, 0xC9}, /* 0xEC-0xEF */ + {0xC3, 0xCA}, {0xC3, 0xCB}, {0xC3, 0xCC}, {0xC3, 0xCD}, /* 0xF0-0xF3 */ + {0xC3, 0xCE}, {0xC3, 0xCF}, {0xC3, 0xD0}, {0xC3, 0xD1}, /* 0xF4-0xF7 */ + {0xC3, 0xD2}, {0xC3, 0xD3}, {0xC3, 0xD4}, {0xC3, 0xD5}, /* 0xF8-0xFB */ + {0xC3, 0xD6}, {0xC3, 0xD7}, {0xC3, 0xDA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9C[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC3, 0xDB}, {0xC3, 0xDD}, {0xC3, 0xDE}, /* 0x40-0x43 */ + {0xC3, 0xE1}, {0xC3, 0xE3}, {0xC3, 0xE4}, {0xC3, 0xE5}, /* 0x44-0x47 */ + {0xC3, 0xE6}, {0xC3, 0xE7}, {0xC3, 0xEA}, {0xC3, 0xEB}, /* 0x48-0x4B */ + {0xC3, 0xEC}, {0xC3, 0xEE}, {0xC3, 0xEF}, {0xC3, 0xF0}, /* 0x4C-0x4F */ + {0xC3, 0xF1}, {0xC3, 0xF2}, {0xC3, 0xF3}, {0xC3, 0xF6}, /* 0x50-0x53 */ + {0xC3, 0xF7}, {0xC3, 0xF9}, {0xC3, 0xFA}, {0xC3, 0xFB}, /* 0x54-0x57 */ + {0xC3, 0xFC}, {0xC3, 0xFD}, {0xC3, 0xFE}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC3, 0xFF}, {0xC4, 0x00}, {0xC4, 0x01}, /* 0x60-0x63 */ + {0xC4, 0x02}, {0xC4, 0x03}, {0xC4, 0x04}, {0xC4, 0x05}, /* 0x64-0x67 */ + {0xC4, 0x06}, {0xC4, 0x07}, {0xC4, 0x09}, {0xC4, 0x0A}, /* 0x68-0x6B */ + {0xC4, 0x0B}, {0xC4, 0x0C}, {0xC4, 0x0D}, {0xC4, 0x0E}, /* 0x6C-0x6F */ + {0xC4, 0x0F}, {0xC4, 0x11}, {0xC4, 0x12}, {0xC4, 0x13}, /* 0x70-0x73 */ + {0xC4, 0x14}, {0xC4, 0x15}, {0xC4, 0x16}, {0xC4, 0x17}, /* 0x74-0x77 */ + {0xC4, 0x18}, {0xC4, 0x19}, {0xC4, 0x1A}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC4, 0x1B}, {0xC4, 0x1C}, {0xC4, 0x1D}, /* 0x80-0x83 */ + {0xC4, 0x1E}, {0xC4, 0x1F}, {0xC4, 0x20}, {0xC4, 0x21}, /* 0x84-0x87 */ + {0xC4, 0x22}, {0xC4, 0x23}, {0xC4, 0x25}, {0xC4, 0x26}, /* 0x88-0x8B */ + {0xC4, 0x27}, {0xC4, 0x28}, {0xC4, 0x29}, {0xC4, 0x2A}, /* 0x8C-0x8F */ + {0xC4, 0x2B}, {0xC4, 0x2D}, {0xC4, 0x2E}, {0xC4, 0x2F}, /* 0x90-0x93 */ + {0xC4, 0x31}, {0xC4, 0x32}, {0xC4, 0x33}, {0xC4, 0x35}, /* 0x94-0x97 */ + {0xC4, 0x36}, {0xC4, 0x37}, {0xC4, 0x38}, {0xC4, 0x39}, /* 0x98-0x9B */ + {0xC4, 0x3A}, {0xC4, 0x3B}, {0xC4, 0x3E}, {0xC4, 0x3F}, /* 0x9C-0x9F */ + {0xC4, 0x40}, {0xC4, 0x41}, {0xC4, 0x42}, {0xC4, 0x43}, /* 0xA0-0xA3 */ + {0xC4, 0x44}, {0xC4, 0x45}, {0xC4, 0x46}, {0xC4, 0x47}, /* 0xA4-0xA7 */ + {0xC4, 0x49}, {0xC4, 0x4A}, {0xC4, 0x4B}, {0xC4, 0x4C}, /* 0xA8-0xAB */ + {0xC4, 0x4D}, {0xC4, 0x4E}, {0xC4, 0x4F}, {0xC4, 0x50}, /* 0xAC-0xAF */ + {0xC4, 0x51}, {0xC4, 0x52}, {0xC4, 0x53}, {0xC4, 0x54}, /* 0xB0-0xB3 */ + {0xC4, 0x55}, {0xC4, 0x56}, {0xC4, 0x57}, {0xC4, 0x58}, /* 0xB4-0xB7 */ + {0xC4, 0x59}, {0xC4, 0x5A}, {0xC4, 0x5B}, {0xC4, 0x5C}, /* 0xB8-0xBB */ + {0xC4, 0x5D}, {0xC4, 0x5E}, {0xC4, 0x5F}, {0xC4, 0x60}, /* 0xBC-0xBF */ + {0xC4, 0x61}, {0xC4, 0x62}, {0xC4, 0x63}, {0xC4, 0x66}, /* 0xC0-0xC3 */ + {0xC4, 0x67}, {0xC4, 0x69}, {0xC4, 0x6A}, {0xC4, 0x6B}, /* 0xC4-0xC7 */ + {0xC4, 0x6D}, {0xC4, 0x6E}, {0xC4, 0x6F}, {0xC4, 0x70}, /* 0xC8-0xCB */ + {0xC4, 0x71}, {0xC4, 0x72}, {0xC4, 0x73}, {0xC4, 0x76}, /* 0xCC-0xCF */ + {0xC4, 0x77}, {0xC4, 0x78}, {0xC4, 0x7A}, {0xC4, 0x7B}, /* 0xD0-0xD3 */ + {0xC4, 0x7C}, {0xC4, 0x7D}, {0xC4, 0x7E}, {0xC4, 0x7F}, /* 0xD4-0xD7 */ + {0xC4, 0x81}, {0xC4, 0x82}, {0xC4, 0x83}, {0xC4, 0x84}, /* 0xD8-0xDB */ + {0xC4, 0x85}, {0xC4, 0x86}, {0xC4, 0x87}, {0xC4, 0x88}, /* 0xDC-0xDF */ + {0xC4, 0x89}, {0xC4, 0x8A}, {0xC4, 0x8B}, {0xC4, 0x8C}, /* 0xE0-0xE3 */ + {0xC4, 0x8D}, {0xC4, 0x8E}, {0xC4, 0x8F}, {0xC4, 0x90}, /* 0xE4-0xE7 */ + {0xC4, 0x91}, {0xC4, 0x92}, {0xC4, 0x93}, {0xC4, 0x95}, /* 0xE8-0xEB */ + {0xC4, 0x96}, {0xC4, 0x97}, {0xC4, 0x98}, {0xC4, 0x99}, /* 0xEC-0xEF */ + {0xC4, 0x9A}, {0xC4, 0x9B}, {0xC4, 0x9D}, {0xC4, 0x9E}, /* 0xF0-0xF3 */ + {0xC4, 0x9F}, {0xC4, 0xA0}, {0xC4, 0xA1}, {0xC4, 0xA2}, /* 0xF4-0xF7 */ + {0xC4, 0xA3}, {0xC4, 0xA4}, {0xC4, 0xA5}, {0xC4, 0xA6}, /* 0xF8-0xFB */ + {0xC4, 0xA7}, {0xC4, 0xA8}, {0xC4, 0xA9}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9D[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC4, 0xAA}, {0xC4, 0xAB}, {0xC4, 0xAC}, /* 0x40-0x43 */ + {0xC4, 0xAD}, {0xC4, 0xAE}, {0xC4, 0xAF}, {0xC4, 0xB0}, /* 0x44-0x47 */ + {0xC4, 0xB1}, {0xC4, 0xB2}, {0xC4, 0xB3}, {0xC4, 0xB4}, /* 0x48-0x4B */ + {0xC4, 0xB5}, {0xC4, 0xB6}, {0xC4, 0xB7}, {0xC4, 0xB9}, /* 0x4C-0x4F */ + {0xC4, 0xBA}, {0xC4, 0xBB}, {0xC4, 0xBD}, {0xC4, 0xBE}, /* 0x50-0x53 */ + {0xC4, 0xBF}, {0xC4, 0xC0}, {0xC4, 0xC1}, {0xC4, 0xC2}, /* 0x54-0x57 */ + {0xC4, 0xC3}, {0xC4, 0xC4}, {0xC4, 0xC5}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC4, 0xC6}, {0xC4, 0xC7}, {0xC4, 0xC8}, /* 0x60-0x63 */ + {0xC4, 0xC9}, {0xC4, 0xCA}, {0xC4, 0xCB}, {0xC4, 0xCC}, /* 0x64-0x67 */ + {0xC4, 0xCD}, {0xC4, 0xCE}, {0xC4, 0xCF}, {0xC4, 0xD0}, /* 0x68-0x6B */ + {0xC4, 0xD1}, {0xC4, 0xD2}, {0xC4, 0xD3}, {0xC4, 0xD4}, /* 0x6C-0x6F */ + {0xC4, 0xD5}, {0xC4, 0xD6}, {0xC4, 0xD7}, {0xC4, 0xD8}, /* 0x70-0x73 */ + {0xC4, 0xD9}, {0xC4, 0xDA}, {0xC4, 0xDB}, {0xC4, 0xDC}, /* 0x74-0x77 */ + {0xC4, 0xDD}, {0xC4, 0xDE}, {0xC4, 0xDF}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC4, 0xE0}, {0xC4, 0xE1}, {0xC4, 0xE2}, /* 0x80-0x83 */ + {0xC4, 0xE3}, {0xC4, 0xE4}, {0xC4, 0xE5}, {0xC4, 0xE6}, /* 0x84-0x87 */ + {0xC4, 0xE7}, {0xC4, 0xE8}, {0xC4, 0xEA}, {0xC4, 0xEB}, /* 0x88-0x8B */ + {0xC4, 0xEC}, {0xC4, 0xED}, {0xC4, 0xEE}, {0xC4, 0xEF}, /* 0x8C-0x8F */ + {0xC4, 0xF2}, {0xC4, 0xF3}, {0xC4, 0xF5}, {0xC4, 0xF6}, /* 0x90-0x93 */ + {0xC4, 0xF7}, {0xC4, 0xF9}, {0xC4, 0xFB}, {0xC4, 0xFC}, /* 0x94-0x97 */ + {0xC4, 0xFD}, {0xC4, 0xFE}, {0xC5, 0x02}, {0xC5, 0x03}, /* 0x98-0x9B */ + {0xC5, 0x04}, {0xC5, 0x05}, {0xC5, 0x06}, {0xC5, 0x07}, /* 0x9C-0x9F */ + {0xC5, 0x08}, {0xC5, 0x09}, {0xC5, 0x0A}, {0xC5, 0x0B}, /* 0xA0-0xA3 */ + {0xC5, 0x0D}, {0xC5, 0x0E}, {0xC5, 0x0F}, {0xC5, 0x11}, /* 0xA4-0xA7 */ + {0xC5, 0x12}, {0xC5, 0x13}, {0xC5, 0x15}, {0xC5, 0x16}, /* 0xA8-0xAB */ + {0xC5, 0x17}, {0xC5, 0x18}, {0xC5, 0x19}, {0xC5, 0x1A}, /* 0xAC-0xAF */ + {0xC5, 0x1B}, {0xC5, 0x1D}, {0xC5, 0x1E}, {0xC5, 0x1F}, /* 0xB0-0xB3 */ + {0xC5, 0x20}, {0xC5, 0x21}, {0xC5, 0x22}, {0xC5, 0x23}, /* 0xB4-0xB7 */ + {0xC5, 0x24}, {0xC5, 0x25}, {0xC5, 0x26}, {0xC5, 0x27}, /* 0xB8-0xBB */ + {0xC5, 0x2A}, {0xC5, 0x2B}, {0xC5, 0x2D}, {0xC5, 0x2E}, /* 0xBC-0xBF */ + {0xC5, 0x2F}, {0xC5, 0x31}, {0xC5, 0x32}, {0xC5, 0x33}, /* 0xC0-0xC3 */ + {0xC5, 0x34}, {0xC5, 0x35}, {0xC5, 0x36}, {0xC5, 0x37}, /* 0xC4-0xC7 */ + {0xC5, 0x3A}, {0xC5, 0x3C}, {0xC5, 0x3E}, {0xC5, 0x3F}, /* 0xC8-0xCB */ + {0xC5, 0x40}, {0xC5, 0x41}, {0xC5, 0x42}, {0xC5, 0x43}, /* 0xCC-0xCF */ + {0xC5, 0x46}, {0xC5, 0x47}, {0xC5, 0x4B}, {0xC5, 0x4F}, /* 0xD0-0xD3 */ + {0xC5, 0x50}, {0xC5, 0x51}, {0xC5, 0x52}, {0xC5, 0x56}, /* 0xD4-0xD7 */ + {0xC5, 0x5A}, {0xC5, 0x5B}, {0xC5, 0x5C}, {0xC5, 0x5F}, /* 0xD8-0xDB */ + {0xC5, 0x62}, {0xC5, 0x63}, {0xC5, 0x65}, {0xC5, 0x66}, /* 0xDC-0xDF */ + {0xC5, 0x67}, {0xC5, 0x69}, {0xC5, 0x6A}, {0xC5, 0x6B}, /* 0xE0-0xE3 */ + {0xC5, 0x6C}, {0xC5, 0x6D}, {0xC5, 0x6E}, {0xC5, 0x6F}, /* 0xE4-0xE7 */ + {0xC5, 0x72}, {0xC5, 0x76}, {0xC5, 0x77}, {0xC5, 0x78}, /* 0xE8-0xEB */ + {0xC5, 0x79}, {0xC5, 0x7A}, {0xC5, 0x7B}, {0xC5, 0x7E}, /* 0xEC-0xEF */ + {0xC5, 0x7F}, {0xC5, 0x81}, {0xC5, 0x82}, {0xC5, 0x83}, /* 0xF0-0xF3 */ + {0xC5, 0x85}, {0xC5, 0x86}, {0xC5, 0x88}, {0xC5, 0x89}, /* 0xF4-0xF7 */ + {0xC5, 0x8A}, {0xC5, 0x8B}, {0xC5, 0x8E}, {0xC5, 0x90}, /* 0xF8-0xFB */ + {0xC5, 0x92}, {0xC5, 0x93}, {0xC5, 0x94}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9E[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC5, 0x96}, {0xC5, 0x99}, {0xC5, 0x9A}, /* 0x40-0x43 */ + {0xC5, 0x9B}, {0xC5, 0x9D}, {0xC5, 0x9E}, {0xC5, 0x9F}, /* 0x44-0x47 */ + {0xC5, 0xA1}, {0xC5, 0xA2}, {0xC5, 0xA3}, {0xC5, 0xA4}, /* 0x48-0x4B */ + {0xC5, 0xA5}, {0xC5, 0xA6}, {0xC5, 0xA7}, {0xC5, 0xA8}, /* 0x4C-0x4F */ + {0xC5, 0xAA}, {0xC5, 0xAB}, {0xC5, 0xAC}, {0xC5, 0xAD}, /* 0x50-0x53 */ + {0xC5, 0xAE}, {0xC5, 0xAF}, {0xC5, 0xB0}, {0xC5, 0xB1}, /* 0x54-0x57 */ + {0xC5, 0xB2}, {0xC5, 0xB3}, {0xC5, 0xB6}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC5, 0xB7}, {0xC5, 0xBA}, {0xC5, 0xBF}, /* 0x60-0x63 */ + {0xC5, 0xC0}, {0xC5, 0xC1}, {0xC5, 0xC2}, {0xC5, 0xC3}, /* 0x64-0x67 */ + {0xC5, 0xCB}, {0xC5, 0xCD}, {0xC5, 0xCF}, {0xC5, 0xD2}, /* 0x68-0x6B */ + {0xC5, 0xD3}, {0xC5, 0xD5}, {0xC5, 0xD6}, {0xC5, 0xD7}, /* 0x6C-0x6F */ + {0xC5, 0xD9}, {0xC5, 0xDA}, {0xC5, 0xDB}, {0xC5, 0xDC}, /* 0x70-0x73 */ + {0xC5, 0xDD}, {0xC5, 0xDE}, {0xC5, 0xDF}, {0xC5, 0xE2}, /* 0x74-0x77 */ + {0xC5, 0xE4}, {0xC5, 0xE6}, {0xC5, 0xE7}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC5, 0xE8}, {0xC5, 0xE9}, {0xC5, 0xEA}, /* 0x80-0x83 */ + {0xC5, 0xEB}, {0xC5, 0xEF}, {0xC5, 0xF1}, {0xC5, 0xF2}, /* 0x84-0x87 */ + {0xC5, 0xF3}, {0xC5, 0xF5}, {0xC5, 0xF8}, {0xC5, 0xF9}, /* 0x88-0x8B */ + {0xC5, 0xFA}, {0xC5, 0xFB}, {0xC6, 0x02}, {0xC6, 0x03}, /* 0x8C-0x8F */ + {0xC6, 0x04}, {0xC6, 0x09}, {0xC6, 0x0A}, {0xC6, 0x0B}, /* 0x90-0x93 */ + {0xC6, 0x0D}, {0xC6, 0x0E}, {0xC6, 0x0F}, {0xC6, 0x11}, /* 0x94-0x97 */ + {0xC6, 0x12}, {0xC6, 0x13}, {0xC6, 0x14}, {0xC6, 0x15}, /* 0x98-0x9B */ + {0xC6, 0x16}, {0xC6, 0x17}, {0xC6, 0x1A}, {0xC6, 0x1D}, /* 0x9C-0x9F */ + {0xC6, 0x1E}, {0xC6, 0x1F}, {0xC6, 0x20}, {0xC6, 0x21}, /* 0xA0-0xA3 */ + {0xC6, 0x22}, {0xC6, 0x23}, {0xC6, 0x26}, {0xC6, 0x27}, /* 0xA4-0xA7 */ + {0xC6, 0x29}, {0xC6, 0x2A}, {0xC6, 0x2B}, {0xC6, 0x2F}, /* 0xA8-0xAB */ + {0xC6, 0x31}, {0xC6, 0x32}, {0xC6, 0x36}, {0xC6, 0x38}, /* 0xAC-0xAF */ + {0xC6, 0x3A}, {0xC6, 0x3C}, {0xC6, 0x3D}, {0xC6, 0x3E}, /* 0xB0-0xB3 */ + {0xC6, 0x3F}, {0xC6, 0x42}, {0xC6, 0x43}, {0xC6, 0x45}, /* 0xB4-0xB7 */ + {0xC6, 0x46}, {0xC6, 0x47}, {0xC6, 0x49}, {0xC6, 0x4A}, /* 0xB8-0xBB */ + {0xC6, 0x4B}, {0xC6, 0x4C}, {0xC6, 0x4D}, {0xC6, 0x4E}, /* 0xBC-0xBF */ + {0xC6, 0x4F}, {0xC6, 0x52}, {0xC6, 0x56}, {0xC6, 0x57}, /* 0xC0-0xC3 */ + {0xC6, 0x58}, {0xC6, 0x59}, {0xC6, 0x5A}, {0xC6, 0x5B}, /* 0xC4-0xC7 */ + {0xC6, 0x5E}, {0xC6, 0x5F}, {0xC6, 0x61}, {0xC6, 0x62}, /* 0xC8-0xCB */ + {0xC6, 0x63}, {0xC6, 0x64}, {0xC6, 0x65}, {0xC6, 0x66}, /* 0xCC-0xCF */ + {0xC6, 0x67}, {0xC6, 0x68}, {0xC6, 0x69}, {0xC6, 0x6A}, /* 0xD0-0xD3 */ + {0xC6, 0x6B}, {0xC6, 0x6D}, {0xC6, 0x6E}, {0xC6, 0x70}, /* 0xD4-0xD7 */ + {0xC6, 0x72}, {0xC6, 0x73}, {0xC6, 0x74}, {0xC6, 0x75}, /* 0xD8-0xDB */ + {0xC6, 0x76}, {0xC6, 0x77}, {0xC6, 0x7A}, {0xC6, 0x7B}, /* 0xDC-0xDF */ + {0xC6, 0x7D}, {0xC6, 0x7E}, {0xC6, 0x7F}, {0xC6, 0x81}, /* 0xE0-0xE3 */ + {0xC6, 0x82}, {0xC6, 0x83}, {0xC6, 0x84}, {0xC6, 0x85}, /* 0xE4-0xE7 */ + {0xC6, 0x86}, {0xC6, 0x87}, {0xC6, 0x8A}, {0xC6, 0x8C}, /* 0xE8-0xEB */ + {0xC6, 0x8E}, {0xC6, 0x8F}, {0xC6, 0x90}, {0xC6, 0x91}, /* 0xEC-0xEF */ + {0xC6, 0x92}, {0xC6, 0x93}, {0xC6, 0x96}, {0xC6, 0x97}, /* 0xF0-0xF3 */ + {0xC6, 0x99}, {0xC6, 0x9A}, {0xC6, 0x9B}, {0xC6, 0x9D}, /* 0xF4-0xF7 */ + {0xC6, 0x9E}, {0xC6, 0x9F}, {0xC6, 0xA0}, {0xC6, 0xA1}, /* 0xF8-0xFB */ + {0xC6, 0xA2}, {0xC6, 0xA3}, {0xC6, 0xA6}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_9F[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC6, 0xA8}, {0xC6, 0xAA}, {0xC6, 0xAB}, /* 0x40-0x43 */ + {0xC6, 0xAC}, {0xC6, 0xAD}, {0xC6, 0xAE}, {0xC6, 0xAF}, /* 0x44-0x47 */ + {0xC6, 0xB2}, {0xC6, 0xB3}, {0xC6, 0xB5}, {0xC6, 0xB6}, /* 0x48-0x4B */ + {0xC6, 0xB7}, {0xC6, 0xBB}, {0xC6, 0xBC}, {0xC6, 0xBD}, /* 0x4C-0x4F */ + {0xC6, 0xBE}, {0xC6, 0xBF}, {0xC6, 0xC2}, {0xC6, 0xC4}, /* 0x50-0x53 */ + {0xC6, 0xC6}, {0xC6, 0xC7}, {0xC6, 0xC8}, {0xC6, 0xC9}, /* 0x54-0x57 */ + {0xC6, 0xCA}, {0xC6, 0xCB}, {0xC6, 0xCE}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC6, 0xCF}, {0xC6, 0xD1}, {0xC6, 0xD2}, /* 0x60-0x63 */ + {0xC6, 0xD3}, {0xC6, 0xD5}, {0xC6, 0xD6}, {0xC6, 0xD7}, /* 0x64-0x67 */ + {0xC6, 0xD8}, {0xC6, 0xD9}, {0xC6, 0xDA}, {0xC6, 0xDB}, /* 0x68-0x6B */ + {0xC6, 0xDE}, {0xC6, 0xDF}, {0xC6, 0xE2}, {0xC6, 0xE3}, /* 0x6C-0x6F */ + {0xC6, 0xE4}, {0xC6, 0xE5}, {0xC6, 0xE6}, {0xC6, 0xE7}, /* 0x70-0x73 */ + {0xC6, 0xEA}, {0xC6, 0xEB}, {0xC6, 0xED}, {0xC6, 0xEE}, /* 0x74-0x77 */ + {0xC6, 0xEF}, {0xC6, 0xF1}, {0xC6, 0xF2}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC6, 0xF3}, {0xC6, 0xF4}, {0xC6, 0xF5}, /* 0x80-0x83 */ + {0xC6, 0xF6}, {0xC6, 0xF7}, {0xC6, 0xFA}, {0xC6, 0xFB}, /* 0x84-0x87 */ + {0xC6, 0xFC}, {0xC6, 0xFE}, {0xC6, 0xFF}, {0xC7, 0x00}, /* 0x88-0x8B */ + {0xC7, 0x01}, {0xC7, 0x02}, {0xC7, 0x03}, {0xC7, 0x06}, /* 0x8C-0x8F */ + {0xC7, 0x07}, {0xC7, 0x09}, {0xC7, 0x0A}, {0xC7, 0x0B}, /* 0x90-0x93 */ + {0xC7, 0x0D}, {0xC7, 0x0E}, {0xC7, 0x0F}, {0xC7, 0x10}, /* 0x94-0x97 */ + {0xC7, 0x11}, {0xC7, 0x12}, {0xC7, 0x13}, {0xC7, 0x16}, /* 0x98-0x9B */ + {0xC7, 0x18}, {0xC7, 0x1A}, {0xC7, 0x1B}, {0xC7, 0x1C}, /* 0x9C-0x9F */ + {0xC7, 0x1D}, {0xC7, 0x1E}, {0xC7, 0x1F}, {0xC7, 0x22}, /* 0xA0-0xA3 */ + {0xC7, 0x23}, {0xC7, 0x25}, {0xC7, 0x26}, {0xC7, 0x27}, /* 0xA4-0xA7 */ + {0xC7, 0x29}, {0xC7, 0x2A}, {0xC7, 0x2B}, {0xC7, 0x2C}, /* 0xA8-0xAB */ + {0xC7, 0x2D}, {0xC7, 0x2E}, {0xC7, 0x2F}, {0xC7, 0x32}, /* 0xAC-0xAF */ + {0xC7, 0x34}, {0xC7, 0x36}, {0xC7, 0x38}, {0xC7, 0x39}, /* 0xB0-0xB3 */ + {0xC7, 0x3A}, {0xC7, 0x3B}, {0xC7, 0x3E}, {0xC7, 0x3F}, /* 0xB4-0xB7 */ + {0xC7, 0x41}, {0xC7, 0x42}, {0xC7, 0x43}, {0xC7, 0x45}, /* 0xB8-0xBB */ + {0xC7, 0x46}, {0xC7, 0x47}, {0xC7, 0x48}, {0xC7, 0x49}, /* 0xBC-0xBF */ + {0xC7, 0x4B}, {0xC7, 0x4E}, {0xC7, 0x50}, {0xC7, 0x59}, /* 0xC0-0xC3 */ + {0xC7, 0x5A}, {0xC7, 0x5B}, {0xC7, 0x5D}, {0xC7, 0x5E}, /* 0xC4-0xC7 */ + {0xC7, 0x5F}, {0xC7, 0x61}, {0xC7, 0x62}, {0xC7, 0x63}, /* 0xC8-0xCB */ + {0xC7, 0x64}, {0xC7, 0x65}, {0xC7, 0x66}, {0xC7, 0x67}, /* 0xCC-0xCF */ + {0xC7, 0x69}, {0xC7, 0x6A}, {0xC7, 0x6C}, {0xC7, 0x6D}, /* 0xD0-0xD3 */ + {0xC7, 0x6E}, {0xC7, 0x6F}, {0xC7, 0x70}, {0xC7, 0x71}, /* 0xD4-0xD7 */ + {0xC7, 0x72}, {0xC7, 0x73}, {0xC7, 0x76}, {0xC7, 0x77}, /* 0xD8-0xDB */ + {0xC7, 0x79}, {0xC7, 0x7A}, {0xC7, 0x7B}, {0xC7, 0x7F}, /* 0xDC-0xDF */ + {0xC7, 0x80}, {0xC7, 0x81}, {0xC7, 0x82}, {0xC7, 0x86}, /* 0xE0-0xE3 */ + {0xC7, 0x8B}, {0xC7, 0x8C}, {0xC7, 0x8D}, {0xC7, 0x8F}, /* 0xE4-0xE7 */ + {0xC7, 0x92}, {0xC7, 0x93}, {0xC7, 0x95}, {0xC7, 0x99}, /* 0xE8-0xEB */ + {0xC7, 0x9B}, {0xC7, 0x9C}, {0xC7, 0x9D}, {0xC7, 0x9E}, /* 0xEC-0xEF */ + {0xC7, 0x9F}, {0xC7, 0xA2}, {0xC7, 0xA7}, {0xC7, 0xA8}, /* 0xF0-0xF3 */ + {0xC7, 0xA9}, {0xC7, 0xAA}, {0xC7, 0xAB}, {0xC7, 0xAE}, /* 0xF4-0xF7 */ + {0xC7, 0xAF}, {0xC7, 0xB1}, {0xC7, 0xB2}, {0xC7, 0xB3}, /* 0xF8-0xFB */ + {0xC7, 0xB5}, {0xC7, 0xB6}, {0xC7, 0xB7}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC7, 0xB8}, {0xC7, 0xB9}, {0xC7, 0xBA}, /* 0x40-0x43 */ + {0xC7, 0xBB}, {0xC7, 0xBE}, {0xC7, 0xC2}, {0xC7, 0xC3}, /* 0x44-0x47 */ + {0xC7, 0xC4}, {0xC7, 0xC5}, {0xC7, 0xC6}, {0xC7, 0xC7}, /* 0x48-0x4B */ + {0xC7, 0xCA}, {0xC7, 0xCB}, {0xC7, 0xCD}, {0xC7, 0xCF}, /* 0x4C-0x4F */ + {0xC7, 0xD1}, {0xC7, 0xD2}, {0xC7, 0xD3}, {0xC7, 0xD4}, /* 0x50-0x53 */ + {0xC7, 0xD5}, {0xC7, 0xD6}, {0xC7, 0xD7}, {0xC7, 0xD9}, /* 0x54-0x57 */ + {0xC7, 0xDA}, {0xC7, 0xDB}, {0xC7, 0xDC}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC7, 0xDE}, {0xC7, 0xDF}, {0xC7, 0xE0}, /* 0x60-0x63 */ + {0xC7, 0xE1}, {0xC7, 0xE2}, {0xC7, 0xE3}, {0xC7, 0xE5}, /* 0x64-0x67 */ + {0xC7, 0xE6}, {0xC7, 0xE7}, {0xC7, 0xE9}, {0xC7, 0xEA}, /* 0x68-0x6B */ + {0xC7, 0xEB}, {0xC7, 0xED}, {0xC7, 0xEE}, {0xC7, 0xEF}, /* 0x6C-0x6F */ + {0xC7, 0xF0}, {0xC7, 0xF1}, {0xC7, 0xF2}, {0xC7, 0xF3}, /* 0x70-0x73 */ + {0xC7, 0xF4}, {0xC7, 0xF5}, {0xC7, 0xF6}, {0xC7, 0xF7}, /* 0x74-0x77 */ + {0xC7, 0xF8}, {0xC7, 0xF9}, {0xC7, 0xFA}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC7, 0xFB}, {0xC7, 0xFC}, {0xC7, 0xFD}, /* 0x80-0x83 */ + {0xC7, 0xFE}, {0xC7, 0xFF}, {0xC8, 0x02}, {0xC8, 0x03}, /* 0x84-0x87 */ + {0xC8, 0x05}, {0xC8, 0x06}, {0xC8, 0x07}, {0xC8, 0x09}, /* 0x88-0x8B */ + {0xC8, 0x0B}, {0xC8, 0x0C}, {0xC8, 0x0D}, {0xC8, 0x0E}, /* 0x8C-0x8F */ + {0xC8, 0x0F}, {0xC8, 0x12}, {0xC8, 0x14}, {0xC8, 0x17}, /* 0x90-0x93 */ + {0xC8, 0x18}, {0xC8, 0x19}, {0xC8, 0x1A}, {0xC8, 0x1B}, /* 0x94-0x97 */ + {0xC8, 0x1E}, {0xC8, 0x1F}, {0xC8, 0x21}, {0xC8, 0x22}, /* 0x98-0x9B */ + {0xC8, 0x23}, {0xC8, 0x25}, {0xC8, 0x26}, {0xC8, 0x27}, /* 0x9C-0x9F */ + {0xC8, 0x28}, {0xC8, 0x29}, {0xC8, 0x2A}, {0xC8, 0x2B}, /* 0xA0-0xA3 */ + {0xC8, 0x2E}, {0xC8, 0x30}, {0xC8, 0x32}, {0xC8, 0x33}, /* 0xA4-0xA7 */ + {0xC8, 0x34}, {0xC8, 0x35}, {0xC8, 0x36}, {0xC8, 0x37}, /* 0xA8-0xAB */ + {0xC8, 0x39}, {0xC8, 0x3A}, {0xC8, 0x3B}, {0xC8, 0x3D}, /* 0xAC-0xAF */ + {0xC8, 0x3E}, {0xC8, 0x3F}, {0xC8, 0x41}, {0xC8, 0x42}, /* 0xB0-0xB3 */ + {0xC8, 0x43}, {0xC8, 0x44}, {0xC8, 0x45}, {0xC8, 0x46}, /* 0xB4-0xB7 */ + {0xC8, 0x47}, {0xC8, 0x4A}, {0xC8, 0x4B}, {0xC8, 0x4E}, /* 0xB8-0xBB */ + {0xC8, 0x4F}, {0xC8, 0x50}, {0xC8, 0x51}, {0xC8, 0x52}, /* 0xBC-0xBF */ + {0xC8, 0x53}, {0xC8, 0x55}, {0xC8, 0x56}, {0xC8, 0x57}, /* 0xC0-0xC3 */ + {0xC8, 0x58}, {0xC8, 0x59}, {0xC8, 0x5A}, {0xC8, 0x5B}, /* 0xC4-0xC7 */ + {0xC8, 0x5C}, {0xC8, 0x5D}, {0xC8, 0x5E}, {0xC8, 0x5F}, /* 0xC8-0xCB */ + {0xC8, 0x60}, {0xC8, 0x61}, {0xC8, 0x62}, {0xC8, 0x63}, /* 0xCC-0xCF */ + {0xC8, 0x64}, {0xC8, 0x65}, {0xC8, 0x66}, {0xC8, 0x67}, /* 0xD0-0xD3 */ + {0xC8, 0x68}, {0xC8, 0x69}, {0xC8, 0x6A}, {0xC8, 0x6B}, /* 0xD4-0xD7 */ + {0xC8, 0x6C}, {0xC8, 0x6D}, {0xC8, 0x6E}, {0xC8, 0x6F}, /* 0xD8-0xDB */ + {0xC8, 0x72}, {0xC8, 0x73}, {0xC8, 0x75}, {0xC8, 0x76}, /* 0xDC-0xDF */ + {0xC8, 0x77}, {0xC8, 0x79}, {0xC8, 0x7B}, {0xC8, 0x7C}, /* 0xE0-0xE3 */ + {0xC8, 0x7D}, {0xC8, 0x7E}, {0xC8, 0x7F}, {0xC8, 0x82}, /* 0xE4-0xE7 */ + {0xC8, 0x84}, {0xC8, 0x88}, {0xC8, 0x89}, {0xC8, 0x8A}, /* 0xE8-0xEB */ + {0xC8, 0x8E}, {0xC8, 0x8F}, {0xC8, 0x90}, {0xC8, 0x91}, /* 0xEC-0xEF */ + {0xC8, 0x92}, {0xC8, 0x93}, {0xC8, 0x95}, {0xC8, 0x96}, /* 0xF0-0xF3 */ + {0xC8, 0x97}, {0xC8, 0x98}, {0xC8, 0x99}, {0xC8, 0x9A}, /* 0xF4-0xF7 */ + {0xC8, 0x9B}, {0xC8, 0x9C}, {0xC8, 0x9E}, {0xC8, 0xA0}, /* 0xF8-0xFB */ + {0xC8, 0xA2}, {0xC8, 0xA3}, {0xC8, 0xA4}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC8, 0xA5}, {0xC8, 0xA6}, {0xC8, 0xA7}, /* 0x40-0x43 */ + {0xC8, 0xA9}, {0xC8, 0xAA}, {0xC8, 0xAB}, {0xC8, 0xAC}, /* 0x44-0x47 */ + {0xC8, 0xAD}, {0xC8, 0xAE}, {0xC8, 0xAF}, {0xC8, 0xB0}, /* 0x48-0x4B */ + {0xC8, 0xB1}, {0xC8, 0xB2}, {0xC8, 0xB3}, {0xC8, 0xB4}, /* 0x4C-0x4F */ + {0xC8, 0xB5}, {0xC8, 0xB6}, {0xC8, 0xB7}, {0xC8, 0xB8}, /* 0x50-0x53 */ + {0xC8, 0xB9}, {0xC8, 0xBA}, {0xC8, 0xBB}, {0xC8, 0xBE}, /* 0x54-0x57 */ + {0xC8, 0xBF}, {0xC8, 0xC0}, {0xC8, 0xC1}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC8, 0xC2}, {0xC8, 0xC3}, {0xC8, 0xC5}, /* 0x60-0x63 */ + {0xC8, 0xC6}, {0xC8, 0xC7}, {0xC8, 0xC9}, {0xC8, 0xCA}, /* 0x64-0x67 */ + {0xC8, 0xCB}, {0xC8, 0xCD}, {0xC8, 0xCE}, {0xC8, 0xCF}, /* 0x68-0x6B */ + {0xC8, 0xD0}, {0xC8, 0xD1}, {0xC8, 0xD2}, {0xC8, 0xD3}, /* 0x6C-0x6F */ + {0xC8, 0xD6}, {0xC8, 0xD8}, {0xC8, 0xDA}, {0xC8, 0xDB}, /* 0x70-0x73 */ + {0xC8, 0xDC}, {0xC8, 0xDD}, {0xC8, 0xDE}, {0xC8, 0xDF}, /* 0x74-0x77 */ + {0xC8, 0xE2}, {0xC8, 0xE3}, {0xC8, 0xE5}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC8, 0xE6}, {0xC8, 0xE7}, {0xC8, 0xE8}, /* 0x80-0x83 */ + {0xC8, 0xE9}, {0xC8, 0xEA}, {0xC8, 0xEB}, {0xC8, 0xEC}, /* 0x84-0x87 */ + {0xC8, 0xED}, {0xC8, 0xEE}, {0xC8, 0xEF}, {0xC8, 0xF0}, /* 0x88-0x8B */ + {0xC8, 0xF1}, {0xC8, 0xF2}, {0xC8, 0xF3}, {0xC8, 0xF4}, /* 0x8C-0x8F */ + {0xC8, 0xF6}, {0xC8, 0xF7}, {0xC8, 0xF8}, {0xC8, 0xF9}, /* 0x90-0x93 */ + {0xC8, 0xFA}, {0xC8, 0xFB}, {0xC8, 0xFE}, {0xC8, 0xFF}, /* 0x94-0x97 */ + {0xC9, 0x01}, {0xC9, 0x02}, {0xC9, 0x03}, {0xC9, 0x07}, /* 0x98-0x9B */ + {0xC9, 0x08}, {0xC9, 0x09}, {0xC9, 0x0A}, {0xC9, 0x0B}, /* 0x9C-0x9F */ + {0xC9, 0x0E}, {0x30, 0x00}, {0x30, 0x01}, {0x30, 0x02}, /* 0xA0-0xA3 */ + {0x00, 0xB7}, {0x20, 0x25}, {0x20, 0x26}, {0x00, 0xA8}, /* 0xA4-0xA7 */ + {0x30, 0x03}, {0x00, 0xAD}, {0x20, 0x15}, {0x22, 0x25}, /* 0xA8-0xAB */ + {0xFF, 0x3C}, {0x22, 0x3C}, {0x20, 0x18}, {0x20, 0x19}, /* 0xAC-0xAF */ + {0x20, 0x1C}, {0x20, 0x1D}, {0x30, 0x14}, {0x30, 0x15}, /* 0xB0-0xB3 */ + {0x30, 0x08}, {0x30, 0x09}, {0x30, 0x0A}, {0x30, 0x0B}, /* 0xB4-0xB7 */ + {0x30, 0x0C}, {0x30, 0x0D}, {0x30, 0x0E}, {0x30, 0x0F}, /* 0xB8-0xBB */ + {0x30, 0x10}, {0x30, 0x11}, {0x00, 0xB1}, {0x00, 0xD7}, /* 0xBC-0xBF */ + {0x00, 0xF7}, {0x22, 0x60}, {0x22, 0x64}, {0x22, 0x65}, /* 0xC0-0xC3 */ + {0x22, 0x1E}, {0x22, 0x34}, {0x00, 0xB0}, {0x20, 0x32}, /* 0xC4-0xC7 */ + {0x20, 0x33}, {0x21, 0x03}, {0x21, 0x2B}, {0xFF, 0xE0}, /* 0xC8-0xCB */ + {0xFF, 0xE1}, {0xFF, 0xE5}, {0x26, 0x42}, {0x26, 0x40}, /* 0xCC-0xCF */ + {0x22, 0x20}, {0x22, 0xA5}, {0x23, 0x12}, {0x22, 0x02}, /* 0xD0-0xD3 */ + {0x22, 0x07}, {0x22, 0x61}, {0x22, 0x52}, {0x00, 0xA7}, /* 0xD4-0xD7 */ + {0x20, 0x3B}, {0x26, 0x06}, {0x26, 0x05}, {0x25, 0xCB}, /* 0xD8-0xDB */ + {0x25, 0xCF}, {0x25, 0xCE}, {0x25, 0xC7}, {0x25, 0xC6}, /* 0xDC-0xDF */ + {0x25, 0xA1}, {0x25, 0xA0}, {0x25, 0xB3}, {0x25, 0xB2}, /* 0xE0-0xE3 */ + {0x25, 0xBD}, {0x25, 0xBC}, {0x21, 0x92}, {0x21, 0x90}, /* 0xE4-0xE7 */ + {0x21, 0x91}, {0x21, 0x93}, {0x21, 0x94}, {0x30, 0x13}, /* 0xE8-0xEB */ + {0x22, 0x6A}, {0x22, 0x6B}, {0x22, 0x1A}, {0x22, 0x3D}, /* 0xEC-0xEF */ + {0x22, 0x1D}, {0x22, 0x35}, {0x22, 0x2B}, {0x22, 0x2C}, /* 0xF0-0xF3 */ + {0x22, 0x08}, {0x22, 0x0B}, {0x22, 0x86}, {0x22, 0x87}, /* 0xF4-0xF7 */ + {0x22, 0x82}, {0x22, 0x83}, {0x22, 0x2A}, {0x22, 0x29}, /* 0xF8-0xFB */ + {0x22, 0x27}, {0x22, 0x28}, {0xFF, 0xE2}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC9, 0x10}, {0xC9, 0x12}, {0xC9, 0x13}, /* 0x40-0x43 */ + {0xC9, 0x14}, {0xC9, 0x15}, {0xC9, 0x16}, {0xC9, 0x17}, /* 0x44-0x47 */ + {0xC9, 0x19}, {0xC9, 0x1A}, {0xC9, 0x1B}, {0xC9, 0x1C}, /* 0x48-0x4B */ + {0xC9, 0x1D}, {0xC9, 0x1E}, {0xC9, 0x1F}, {0xC9, 0x20}, /* 0x4C-0x4F */ + {0xC9, 0x21}, {0xC9, 0x22}, {0xC9, 0x23}, {0xC9, 0x24}, /* 0x50-0x53 */ + {0xC9, 0x25}, {0xC9, 0x26}, {0xC9, 0x27}, {0xC9, 0x28}, /* 0x54-0x57 */ + {0xC9, 0x29}, {0xC9, 0x2A}, {0xC9, 0x2B}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC9, 0x2D}, {0xC9, 0x2E}, {0xC9, 0x2F}, /* 0x60-0x63 */ + {0xC9, 0x30}, {0xC9, 0x31}, {0xC9, 0x32}, {0xC9, 0x33}, /* 0x64-0x67 */ + {0xC9, 0x35}, {0xC9, 0x36}, {0xC9, 0x37}, {0xC9, 0x38}, /* 0x68-0x6B */ + {0xC9, 0x39}, {0xC9, 0x3A}, {0xC9, 0x3B}, {0xC9, 0x3C}, /* 0x6C-0x6F */ + {0xC9, 0x3D}, {0xC9, 0x3E}, {0xC9, 0x3F}, {0xC9, 0x40}, /* 0x70-0x73 */ + {0xC9, 0x41}, {0xC9, 0x42}, {0xC9, 0x43}, {0xC9, 0x44}, /* 0x74-0x77 */ + {0xC9, 0x45}, {0xC9, 0x46}, {0xC9, 0x47}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC9, 0x48}, {0xC9, 0x49}, {0xC9, 0x4A}, /* 0x80-0x83 */ + {0xC9, 0x4B}, {0xC9, 0x4C}, {0xC9, 0x4D}, {0xC9, 0x4E}, /* 0x84-0x87 */ + {0xC9, 0x4F}, {0xC9, 0x52}, {0xC9, 0x53}, {0xC9, 0x55}, /* 0x88-0x8B */ + {0xC9, 0x56}, {0xC9, 0x57}, {0xC9, 0x59}, {0xC9, 0x5A}, /* 0x8C-0x8F */ + {0xC9, 0x5B}, {0xC9, 0x5C}, {0xC9, 0x5D}, {0xC9, 0x5E}, /* 0x90-0x93 */ + {0xC9, 0x5F}, {0xC9, 0x62}, {0xC9, 0x64}, {0xC9, 0x65}, /* 0x94-0x97 */ + {0xC9, 0x66}, {0xC9, 0x67}, {0xC9, 0x68}, {0xC9, 0x69}, /* 0x98-0x9B */ + {0xC9, 0x6A}, {0xC9, 0x6B}, {0xC9, 0x6D}, {0xC9, 0x6E}, /* 0x9C-0x9F */ + {0xC9, 0x6F}, {0x21, 0xD2}, {0x21, 0xD4}, {0x22, 0x00}, /* 0xA0-0xA3 */ + {0x22, 0x03}, {0x00, 0xB4}, {0xFF, 0x5E}, {0x02, 0xC7}, /* 0xA4-0xA7 */ + {0x02, 0xD8}, {0x02, 0xDD}, {0x02, 0xDA}, {0x02, 0xD9}, /* 0xA8-0xAB */ + {0x00, 0xB8}, {0x02, 0xDB}, {0x00, 0xA1}, {0x00, 0xBF}, /* 0xAC-0xAF */ + {0x02, 0xD0}, {0x22, 0x2E}, {0x22, 0x11}, {0x22, 0x0F}, /* 0xB0-0xB3 */ + {0x00, 0xA4}, {0x21, 0x09}, {0x20, 0x30}, {0x25, 0xC1}, /* 0xB4-0xB7 */ + {0x25, 0xC0}, {0x25, 0xB7}, {0x25, 0xB6}, {0x26, 0x64}, /* 0xB8-0xBB */ + {0x26, 0x60}, {0x26, 0x61}, {0x26, 0x65}, {0x26, 0x67}, /* 0xBC-0xBF */ + {0x26, 0x63}, {0x22, 0x99}, {0x25, 0xC8}, {0x25, 0xA3}, /* 0xC0-0xC3 */ + {0x25, 0xD0}, {0x25, 0xD1}, {0x25, 0x92}, {0x25, 0xA4}, /* 0xC4-0xC7 */ + {0x25, 0xA5}, {0x25, 0xA8}, {0x25, 0xA7}, {0x25, 0xA6}, /* 0xC8-0xCB */ + {0x25, 0xA9}, {0x26, 0x68}, {0x26, 0x0F}, {0x26, 0x0E}, /* 0xCC-0xCF */ + {0x26, 0x1C}, {0x26, 0x1E}, {0x00, 0xB6}, {0x20, 0x20}, /* 0xD0-0xD3 */ + {0x20, 0x21}, {0x21, 0x95}, {0x21, 0x97}, {0x21, 0x99}, /* 0xD4-0xD7 */ + {0x21, 0x96}, {0x21, 0x98}, {0x26, 0x6D}, {0x26, 0x69}, /* 0xD8-0xDB */ + {0x26, 0x6A}, {0x26, 0x6C}, {0x32, 0x7F}, {0x32, 0x1C}, /* 0xDC-0xDF */ + {0x21, 0x16}, {0x33, 0xC7}, {0x21, 0x22}, {0x33, 0xC2}, /* 0xE0-0xE3 */ + {0x33, 0xD8}, {0x21, 0x21}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC9, 0x71}, {0xC9, 0x72}, {0xC9, 0x73}, /* 0x40-0x43 */ + {0xC9, 0x75}, {0xC9, 0x76}, {0xC9, 0x77}, {0xC9, 0x78}, /* 0x44-0x47 */ + {0xC9, 0x79}, {0xC9, 0x7A}, {0xC9, 0x7B}, {0xC9, 0x7D}, /* 0x48-0x4B */ + {0xC9, 0x7E}, {0xC9, 0x7F}, {0xC9, 0x80}, {0xC9, 0x81}, /* 0x4C-0x4F */ + {0xC9, 0x82}, {0xC9, 0x83}, {0xC9, 0x84}, {0xC9, 0x85}, /* 0x50-0x53 */ + {0xC9, 0x86}, {0xC9, 0x87}, {0xC9, 0x8A}, {0xC9, 0x8B}, /* 0x54-0x57 */ + {0xC9, 0x8D}, {0xC9, 0x8E}, {0xC9, 0x8F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xC9, 0x91}, {0xC9, 0x92}, {0xC9, 0x93}, /* 0x60-0x63 */ + {0xC9, 0x94}, {0xC9, 0x95}, {0xC9, 0x96}, {0xC9, 0x97}, /* 0x64-0x67 */ + {0xC9, 0x9A}, {0xC9, 0x9C}, {0xC9, 0x9E}, {0xC9, 0x9F}, /* 0x68-0x6B */ + {0xC9, 0xA0}, {0xC9, 0xA1}, {0xC9, 0xA2}, {0xC9, 0xA3}, /* 0x6C-0x6F */ + {0xC9, 0xA4}, {0xC9, 0xA5}, {0xC9, 0xA6}, {0xC9, 0xA7}, /* 0x70-0x73 */ + {0xC9, 0xA8}, {0xC9, 0xA9}, {0xC9, 0xAA}, {0xC9, 0xAB}, /* 0x74-0x77 */ + {0xC9, 0xAC}, {0xC9, 0xAD}, {0xC9, 0xAE}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xC9, 0xAF}, {0xC9, 0xB0}, {0xC9, 0xB1}, /* 0x80-0x83 */ + {0xC9, 0xB2}, {0xC9, 0xB3}, {0xC9, 0xB4}, {0xC9, 0xB5}, /* 0x84-0x87 */ + {0xC9, 0xB6}, {0xC9, 0xB7}, {0xC9, 0xB8}, {0xC9, 0xB9}, /* 0x88-0x8B */ + {0xC9, 0xBA}, {0xC9, 0xBB}, {0xC9, 0xBC}, {0xC9, 0xBD}, /* 0x8C-0x8F */ + {0xC9, 0xBE}, {0xC9, 0xBF}, {0xC9, 0xC2}, {0xC9, 0xC3}, /* 0x90-0x93 */ + {0xC9, 0xC5}, {0xC9, 0xC6}, {0xC9, 0xC9}, {0xC9, 0xCB}, /* 0x94-0x97 */ + {0xC9, 0xCC}, {0xC9, 0xCD}, {0xC9, 0xCE}, {0xC9, 0xCF}, /* 0x98-0x9B */ + {0xC9, 0xD2}, {0xC9, 0xD4}, {0xC9, 0xD7}, {0xC9, 0xD8}, /* 0x9C-0x9F */ + {0xC9, 0xDB}, {0xFF, 0x01}, {0xFF, 0x02}, {0xFF, 0x03}, /* 0xA0-0xA3 */ + {0xFF, 0x04}, {0xFF, 0x05}, {0xFF, 0x06}, {0xFF, 0x07}, /* 0xA4-0xA7 */ + {0xFF, 0x08}, {0xFF, 0x09}, {0xFF, 0x0A}, {0xFF, 0x0B}, /* 0xA8-0xAB */ + {0xFF, 0x0C}, {0xFF, 0x0D}, {0xFF, 0x0E}, {0xFF, 0x0F}, /* 0xAC-0xAF */ + {0xFF, 0x10}, {0xFF, 0x11}, {0xFF, 0x12}, {0xFF, 0x13}, /* 0xB0-0xB3 */ + {0xFF, 0x14}, {0xFF, 0x15}, {0xFF, 0x16}, {0xFF, 0x17}, /* 0xB4-0xB7 */ + {0xFF, 0x18}, {0xFF, 0x19}, {0xFF, 0x1A}, {0xFF, 0x1B}, /* 0xB8-0xBB */ + {0xFF, 0x1C}, {0xFF, 0x1D}, {0xFF, 0x1E}, {0xFF, 0x1F}, /* 0xBC-0xBF */ + {0xFF, 0x20}, {0xFF, 0x21}, {0xFF, 0x22}, {0xFF, 0x23}, /* 0xC0-0xC3 */ + {0xFF, 0x24}, {0xFF, 0x25}, {0xFF, 0x26}, {0xFF, 0x27}, /* 0xC4-0xC7 */ + {0xFF, 0x28}, {0xFF, 0x29}, {0xFF, 0x2A}, {0xFF, 0x2B}, /* 0xC8-0xCB */ + {0xFF, 0x2C}, {0xFF, 0x2D}, {0xFF, 0x2E}, {0xFF, 0x2F}, /* 0xCC-0xCF */ + {0xFF, 0x30}, {0xFF, 0x31}, {0xFF, 0x32}, {0xFF, 0x33}, /* 0xD0-0xD3 */ + {0xFF, 0x34}, {0xFF, 0x35}, {0xFF, 0x36}, {0xFF, 0x37}, /* 0xD4-0xD7 */ + {0xFF, 0x38}, {0xFF, 0x39}, {0xFF, 0x3A}, {0xFF, 0x3B}, /* 0xD8-0xDB */ + {0xFF, 0xE6}, {0xFF, 0x3D}, {0xFF, 0x3E}, {0xFF, 0x3F}, /* 0xDC-0xDF */ + {0xFF, 0x40}, {0xFF, 0x41}, {0xFF, 0x42}, {0xFF, 0x43}, /* 0xE0-0xE3 */ + {0xFF, 0x44}, {0xFF, 0x45}, {0xFF, 0x46}, {0xFF, 0x47}, /* 0xE4-0xE7 */ + {0xFF, 0x48}, {0xFF, 0x49}, {0xFF, 0x4A}, {0xFF, 0x4B}, /* 0xE8-0xEB */ + {0xFF, 0x4C}, {0xFF, 0x4D}, {0xFF, 0x4E}, {0xFF, 0x4F}, /* 0xEC-0xEF */ + {0xFF, 0x50}, {0xFF, 0x51}, {0xFF, 0x52}, {0xFF, 0x53}, /* 0xF0-0xF3 */ + {0xFF, 0x54}, {0xFF, 0x55}, {0xFF, 0x56}, {0xFF, 0x57}, /* 0xF4-0xF7 */ + {0xFF, 0x58}, {0xFF, 0x59}, {0xFF, 0x5A}, {0xFF, 0x5B}, /* 0xF8-0xFB */ + {0xFF, 0x5C}, {0xFF, 0x5D}, {0xFF, 0xE3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xC9, 0xDE}, {0xC9, 0xDF}, {0xC9, 0xE1}, /* 0x40-0x43 */ + {0xC9, 0xE3}, {0xC9, 0xE5}, {0xC9, 0xE6}, {0xC9, 0xE8}, /* 0x44-0x47 */ + {0xC9, 0xE9}, {0xC9, 0xEA}, {0xC9, 0xEB}, {0xC9, 0xEE}, /* 0x48-0x4B */ + {0xC9, 0xF2}, {0xC9, 0xF3}, {0xC9, 0xF4}, {0xC9, 0xF5}, /* 0x4C-0x4F */ + {0xC9, 0xF6}, {0xC9, 0xF7}, {0xC9, 0xFA}, {0xC9, 0xFB}, /* 0x50-0x53 */ + {0xC9, 0xFD}, {0xC9, 0xFE}, {0xC9, 0xFF}, {0xCA, 0x01}, /* 0x54-0x57 */ + {0xCA, 0x02}, {0xCA, 0x03}, {0xCA, 0x04}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCA, 0x05}, {0xCA, 0x06}, {0xCA, 0x07}, /* 0x60-0x63 */ + {0xCA, 0x0A}, {0xCA, 0x0E}, {0xCA, 0x0F}, {0xCA, 0x10}, /* 0x64-0x67 */ + {0xCA, 0x11}, {0xCA, 0x12}, {0xCA, 0x13}, {0xCA, 0x15}, /* 0x68-0x6B */ + {0xCA, 0x16}, {0xCA, 0x17}, {0xCA, 0x19}, {0xCA, 0x1A}, /* 0x6C-0x6F */ + {0xCA, 0x1B}, {0xCA, 0x1C}, {0xCA, 0x1D}, {0xCA, 0x1E}, /* 0x70-0x73 */ + {0xCA, 0x1F}, {0xCA, 0x20}, {0xCA, 0x21}, {0xCA, 0x22}, /* 0x74-0x77 */ + {0xCA, 0x23}, {0xCA, 0x24}, {0xCA, 0x25}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCA, 0x26}, {0xCA, 0x27}, {0xCA, 0x28}, /* 0x80-0x83 */ + {0xCA, 0x2A}, {0xCA, 0x2B}, {0xCA, 0x2C}, {0xCA, 0x2D}, /* 0x84-0x87 */ + {0xCA, 0x2E}, {0xCA, 0x2F}, {0xCA, 0x30}, {0xCA, 0x31}, /* 0x88-0x8B */ + {0xCA, 0x32}, {0xCA, 0x33}, {0xCA, 0x34}, {0xCA, 0x35}, /* 0x8C-0x8F */ + {0xCA, 0x36}, {0xCA, 0x37}, {0xCA, 0x38}, {0xCA, 0x39}, /* 0x90-0x93 */ + {0xCA, 0x3A}, {0xCA, 0x3B}, {0xCA, 0x3C}, {0xCA, 0x3D}, /* 0x94-0x97 */ + {0xCA, 0x3E}, {0xCA, 0x3F}, {0xCA, 0x40}, {0xCA, 0x41}, /* 0x98-0x9B */ + {0xCA, 0x42}, {0xCA, 0x43}, {0xCA, 0x44}, {0xCA, 0x45}, /* 0x9C-0x9F */ + {0xCA, 0x46}, {0x31, 0x31}, {0x31, 0x32}, {0x31, 0x33}, /* 0xA0-0xA3 */ + {0x31, 0x34}, {0x31, 0x35}, {0x31, 0x36}, {0x31, 0x37}, /* 0xA4-0xA7 */ + {0x31, 0x38}, {0x31, 0x39}, {0x31, 0x3A}, {0x31, 0x3B}, /* 0xA8-0xAB */ + {0x31, 0x3C}, {0x31, 0x3D}, {0x31, 0x3E}, {0x31, 0x3F}, /* 0xAC-0xAF */ + {0x31, 0x40}, {0x31, 0x41}, {0x31, 0x42}, {0x31, 0x43}, /* 0xB0-0xB3 */ + {0x31, 0x44}, {0x31, 0x45}, {0x31, 0x46}, {0x31, 0x47}, /* 0xB4-0xB7 */ + {0x31, 0x48}, {0x31, 0x49}, {0x31, 0x4A}, {0x31, 0x4B}, /* 0xB8-0xBB */ + {0x31, 0x4C}, {0x31, 0x4D}, {0x31, 0x4E}, {0x31, 0x4F}, /* 0xBC-0xBF */ + {0x31, 0x50}, {0x31, 0x51}, {0x31, 0x52}, {0x31, 0x53}, /* 0xC0-0xC3 */ + {0x31, 0x54}, {0x31, 0x55}, {0x31, 0x56}, {0x31, 0x57}, /* 0xC4-0xC7 */ + {0x31, 0x58}, {0x31, 0x59}, {0x31, 0x5A}, {0x31, 0x5B}, /* 0xC8-0xCB */ + {0x31, 0x5C}, {0x31, 0x5D}, {0x31, 0x5E}, {0x31, 0x5F}, /* 0xCC-0xCF */ + {0x31, 0x60}, {0x31, 0x61}, {0x31, 0x62}, {0x31, 0x63}, /* 0xD0-0xD3 */ + {0x31, 0x64}, {0x31, 0x65}, {0x31, 0x66}, {0x31, 0x67}, /* 0xD4-0xD7 */ + {0x31, 0x68}, {0x31, 0x69}, {0x31, 0x6A}, {0x31, 0x6B}, /* 0xD8-0xDB */ + {0x31, 0x6C}, {0x31, 0x6D}, {0x31, 0x6E}, {0x31, 0x6F}, /* 0xDC-0xDF */ + {0x31, 0x70}, {0x31, 0x71}, {0x31, 0x72}, {0x31, 0x73}, /* 0xE0-0xE3 */ + {0x31, 0x74}, {0x31, 0x75}, {0x31, 0x76}, {0x31, 0x77}, /* 0xE4-0xE7 */ + {0x31, 0x78}, {0x31, 0x79}, {0x31, 0x7A}, {0x31, 0x7B}, /* 0xE8-0xEB */ + {0x31, 0x7C}, {0x31, 0x7D}, {0x31, 0x7E}, {0x31, 0x7F}, /* 0xEC-0xEF */ + {0x31, 0x80}, {0x31, 0x81}, {0x31, 0x82}, {0x31, 0x83}, /* 0xF0-0xF3 */ + {0x31, 0x84}, {0x31, 0x85}, {0x31, 0x86}, {0x31, 0x87}, /* 0xF4-0xF7 */ + {0x31, 0x88}, {0x31, 0x89}, {0x31, 0x8A}, {0x31, 0x8B}, /* 0xF8-0xFB */ + {0x31, 0x8C}, {0x31, 0x8D}, {0x31, 0x8E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCA, 0x47}, {0xCA, 0x48}, {0xCA, 0x49}, /* 0x40-0x43 */ + {0xCA, 0x4A}, {0xCA, 0x4B}, {0xCA, 0x4E}, {0xCA, 0x4F}, /* 0x44-0x47 */ + {0xCA, 0x51}, {0xCA, 0x52}, {0xCA, 0x53}, {0xCA, 0x55}, /* 0x48-0x4B */ + {0xCA, 0x56}, {0xCA, 0x57}, {0xCA, 0x58}, {0xCA, 0x59}, /* 0x4C-0x4F */ + {0xCA, 0x5A}, {0xCA, 0x5B}, {0xCA, 0x5E}, {0xCA, 0x62}, /* 0x50-0x53 */ + {0xCA, 0x63}, {0xCA, 0x64}, {0xCA, 0x65}, {0xCA, 0x66}, /* 0x54-0x57 */ + {0xCA, 0x67}, {0xCA, 0x69}, {0xCA, 0x6A}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCA, 0x6B}, {0xCA, 0x6C}, {0xCA, 0x6D}, /* 0x60-0x63 */ + {0xCA, 0x6E}, {0xCA, 0x6F}, {0xCA, 0x70}, {0xCA, 0x71}, /* 0x64-0x67 */ + {0xCA, 0x72}, {0xCA, 0x73}, {0xCA, 0x74}, {0xCA, 0x75}, /* 0x68-0x6B */ + {0xCA, 0x76}, {0xCA, 0x77}, {0xCA, 0x78}, {0xCA, 0x79}, /* 0x6C-0x6F */ + {0xCA, 0x7A}, {0xCA, 0x7B}, {0xCA, 0x7C}, {0xCA, 0x7E}, /* 0x70-0x73 */ + {0xCA, 0x7F}, {0xCA, 0x80}, {0xCA, 0x81}, {0xCA, 0x82}, /* 0x74-0x77 */ + {0xCA, 0x83}, {0xCA, 0x85}, {0xCA, 0x86}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCA, 0x87}, {0xCA, 0x88}, {0xCA, 0x89}, /* 0x80-0x83 */ + {0xCA, 0x8A}, {0xCA, 0x8B}, {0xCA, 0x8C}, {0xCA, 0x8D}, /* 0x84-0x87 */ + {0xCA, 0x8E}, {0xCA, 0x8F}, {0xCA, 0x90}, {0xCA, 0x91}, /* 0x88-0x8B */ + {0xCA, 0x92}, {0xCA, 0x93}, {0xCA, 0x94}, {0xCA, 0x95}, /* 0x8C-0x8F */ + {0xCA, 0x96}, {0xCA, 0x97}, {0xCA, 0x99}, {0xCA, 0x9A}, /* 0x90-0x93 */ + {0xCA, 0x9B}, {0xCA, 0x9C}, {0xCA, 0x9D}, {0xCA, 0x9E}, /* 0x94-0x97 */ + {0xCA, 0x9F}, {0xCA, 0xA0}, {0xCA, 0xA1}, {0xCA, 0xA2}, /* 0x98-0x9B */ + {0xCA, 0xA3}, {0xCA, 0xA4}, {0xCA, 0xA5}, {0xCA, 0xA6}, /* 0x9C-0x9F */ + {0xCA, 0xA7}, {0x21, 0x70}, {0x21, 0x71}, {0x21, 0x72}, /* 0xA0-0xA3 */ + {0x21, 0x73}, {0x21, 0x74}, {0x21, 0x75}, {0x21, 0x76}, /* 0xA4-0xA7 */ + {0x21, 0x77}, {0x21, 0x78}, {0x21, 0x79}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x21, 0x60}, {0x21, 0x61}, {0x21, 0x62}, {0x21, 0x63}, /* 0xB0-0xB3 */ + {0x21, 0x64}, {0x21, 0x65}, {0x21, 0x66}, {0x21, 0x67}, /* 0xB4-0xB7 */ + {0x21, 0x68}, {0x21, 0x69}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x03, 0x91}, {0x03, 0x92}, {0x03, 0x93}, /* 0xC0-0xC3 */ + {0x03, 0x94}, {0x03, 0x95}, {0x03, 0x96}, {0x03, 0x97}, /* 0xC4-0xC7 */ + {0x03, 0x98}, {0x03, 0x99}, {0x03, 0x9A}, {0x03, 0x9B}, /* 0xC8-0xCB */ + {0x03, 0x9C}, {0x03, 0x9D}, {0x03, 0x9E}, {0x03, 0x9F}, /* 0xCC-0xCF */ + {0x03, 0xA0}, {0x03, 0xA1}, {0x03, 0xA3}, {0x03, 0xA4}, /* 0xD0-0xD3 */ + {0x03, 0xA5}, {0x03, 0xA6}, {0x03, 0xA7}, {0x03, 0xA8}, /* 0xD4-0xD7 */ + {0x03, 0xA9}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x03, 0xB1}, {0x03, 0xB2}, {0x03, 0xB3}, /* 0xE0-0xE3 */ + {0x03, 0xB4}, {0x03, 0xB5}, {0x03, 0xB6}, {0x03, 0xB7}, /* 0xE4-0xE7 */ + {0x03, 0xB8}, {0x03, 0xB9}, {0x03, 0xBA}, {0x03, 0xBB}, /* 0xE8-0xEB */ + {0x03, 0xBC}, {0x03, 0xBD}, {0x03, 0xBE}, {0x03, 0xBF}, /* 0xEC-0xEF */ + {0x03, 0xC0}, {0x03, 0xC1}, {0x03, 0xC3}, {0x03, 0xC4}, /* 0xF0-0xF3 */ + {0x03, 0xC5}, {0x03, 0xC6}, {0x03, 0xC7}, {0x03, 0xC8}, /* 0xF4-0xF7 */ + {0x03, 0xC9}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCA, 0xA8}, {0xCA, 0xA9}, {0xCA, 0xAA}, /* 0x40-0x43 */ + {0xCA, 0xAB}, {0xCA, 0xAC}, {0xCA, 0xAD}, {0xCA, 0xAE}, /* 0x44-0x47 */ + {0xCA, 0xAF}, {0xCA, 0xB0}, {0xCA, 0xB1}, {0xCA, 0xB2}, /* 0x48-0x4B */ + {0xCA, 0xB3}, {0xCA, 0xB4}, {0xCA, 0xB5}, {0xCA, 0xB6}, /* 0x4C-0x4F */ + {0xCA, 0xB7}, {0xCA, 0xB8}, {0xCA, 0xB9}, {0xCA, 0xBA}, /* 0x50-0x53 */ + {0xCA, 0xBB}, {0xCA, 0xBE}, {0xCA, 0xBF}, {0xCA, 0xC1}, /* 0x54-0x57 */ + {0xCA, 0xC2}, {0xCA, 0xC3}, {0xCA, 0xC5}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCA, 0xC6}, {0xCA, 0xC7}, {0xCA, 0xC8}, /* 0x60-0x63 */ + {0xCA, 0xC9}, {0xCA, 0xCA}, {0xCA, 0xCB}, {0xCA, 0xCE}, /* 0x64-0x67 */ + {0xCA, 0xD0}, {0xCA, 0xD2}, {0xCA, 0xD4}, {0xCA, 0xD5}, /* 0x68-0x6B */ + {0xCA, 0xD6}, {0xCA, 0xD7}, {0xCA, 0xDA}, {0xCA, 0xDB}, /* 0x6C-0x6F */ + {0xCA, 0xDC}, {0xCA, 0xDD}, {0xCA, 0xDE}, {0xCA, 0xDF}, /* 0x70-0x73 */ + {0xCA, 0xE1}, {0xCA, 0xE2}, {0xCA, 0xE3}, {0xCA, 0xE4}, /* 0x74-0x77 */ + {0xCA, 0xE5}, {0xCA, 0xE6}, {0xCA, 0xE7}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCA, 0xE8}, {0xCA, 0xE9}, {0xCA, 0xEA}, /* 0x80-0x83 */ + {0xCA, 0xEB}, {0xCA, 0xED}, {0xCA, 0xEE}, {0xCA, 0xEF}, /* 0x84-0x87 */ + {0xCA, 0xF0}, {0xCA, 0xF1}, {0xCA, 0xF2}, {0xCA, 0xF3}, /* 0x88-0x8B */ + {0xCA, 0xF5}, {0xCA, 0xF6}, {0xCA, 0xF7}, {0xCA, 0xF8}, /* 0x8C-0x8F */ + {0xCA, 0xF9}, {0xCA, 0xFA}, {0xCA, 0xFB}, {0xCA, 0xFC}, /* 0x90-0x93 */ + {0xCA, 0xFD}, {0xCA, 0xFE}, {0xCA, 0xFF}, {0xCB, 0x00}, /* 0x94-0x97 */ + {0xCB, 0x01}, {0xCB, 0x02}, {0xCB, 0x03}, {0xCB, 0x04}, /* 0x98-0x9B */ + {0xCB, 0x05}, {0xCB, 0x06}, {0xCB, 0x07}, {0xCB, 0x09}, /* 0x9C-0x9F */ + {0xCB, 0x0A}, {0x25, 0x00}, {0x25, 0x02}, {0x25, 0x0C}, /* 0xA0-0xA3 */ + {0x25, 0x10}, {0x25, 0x18}, {0x25, 0x14}, {0x25, 0x1C}, /* 0xA4-0xA7 */ + {0x25, 0x2C}, {0x25, 0x24}, {0x25, 0x34}, {0x25, 0x3C}, /* 0xA8-0xAB */ + {0x25, 0x01}, {0x25, 0x03}, {0x25, 0x0F}, {0x25, 0x13}, /* 0xAC-0xAF */ + {0x25, 0x1B}, {0x25, 0x17}, {0x25, 0x23}, {0x25, 0x33}, /* 0xB0-0xB3 */ + {0x25, 0x2B}, {0x25, 0x3B}, {0x25, 0x4B}, {0x25, 0x20}, /* 0xB4-0xB7 */ + {0x25, 0x2F}, {0x25, 0x28}, {0x25, 0x37}, {0x25, 0x3F}, /* 0xB8-0xBB */ + {0x25, 0x1D}, {0x25, 0x30}, {0x25, 0x25}, {0x25, 0x38}, /* 0xBC-0xBF */ + {0x25, 0x42}, {0x25, 0x12}, {0x25, 0x11}, {0x25, 0x1A}, /* 0xC0-0xC3 */ + {0x25, 0x19}, {0x25, 0x16}, {0x25, 0x15}, {0x25, 0x0E}, /* 0xC4-0xC7 */ + {0x25, 0x0D}, {0x25, 0x1E}, {0x25, 0x1F}, {0x25, 0x21}, /* 0xC8-0xCB */ + {0x25, 0x22}, {0x25, 0x26}, {0x25, 0x27}, {0x25, 0x29}, /* 0xCC-0xCF */ + {0x25, 0x2A}, {0x25, 0x2D}, {0x25, 0x2E}, {0x25, 0x31}, /* 0xD0-0xD3 */ + {0x25, 0x32}, {0x25, 0x35}, {0x25, 0x36}, {0x25, 0x39}, /* 0xD4-0xD7 */ + {0x25, 0x3A}, {0x25, 0x3D}, {0x25, 0x3E}, {0x25, 0x40}, /* 0xD8-0xDB */ + {0x25, 0x41}, {0x25, 0x43}, {0x25, 0x44}, {0x25, 0x45}, /* 0xDC-0xDF */ + {0x25, 0x46}, {0x25, 0x47}, {0x25, 0x48}, {0x25, 0x49}, /* 0xE0-0xE3 */ + {0x25, 0x4A}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCB, 0x0B}, {0xCB, 0x0C}, {0xCB, 0x0D}, /* 0x40-0x43 */ + {0xCB, 0x0E}, {0xCB, 0x0F}, {0xCB, 0x11}, {0xCB, 0x12}, /* 0x44-0x47 */ + {0xCB, 0x13}, {0xCB, 0x15}, {0xCB, 0x16}, {0xCB, 0x17}, /* 0x48-0x4B */ + {0xCB, 0x19}, {0xCB, 0x1A}, {0xCB, 0x1B}, {0xCB, 0x1C}, /* 0x4C-0x4F */ + {0xCB, 0x1D}, {0xCB, 0x1E}, {0xCB, 0x1F}, {0xCB, 0x22}, /* 0x50-0x53 */ + {0xCB, 0x23}, {0xCB, 0x24}, {0xCB, 0x25}, {0xCB, 0x26}, /* 0x54-0x57 */ + {0xCB, 0x27}, {0xCB, 0x28}, {0xCB, 0x29}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCB, 0x2A}, {0xCB, 0x2B}, {0xCB, 0x2C}, /* 0x60-0x63 */ + {0xCB, 0x2D}, {0xCB, 0x2E}, {0xCB, 0x2F}, {0xCB, 0x30}, /* 0x64-0x67 */ + {0xCB, 0x31}, {0xCB, 0x32}, {0xCB, 0x33}, {0xCB, 0x34}, /* 0x68-0x6B */ + {0xCB, 0x35}, {0xCB, 0x36}, {0xCB, 0x37}, {0xCB, 0x38}, /* 0x6C-0x6F */ + {0xCB, 0x39}, {0xCB, 0x3A}, {0xCB, 0x3B}, {0xCB, 0x3C}, /* 0x70-0x73 */ + {0xCB, 0x3D}, {0xCB, 0x3E}, {0xCB, 0x3F}, {0xCB, 0x40}, /* 0x74-0x77 */ + {0xCB, 0x42}, {0xCB, 0x43}, {0xCB, 0x44}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCB, 0x45}, {0xCB, 0x46}, {0xCB, 0x47}, /* 0x80-0x83 */ + {0xCB, 0x4A}, {0xCB, 0x4B}, {0xCB, 0x4D}, {0xCB, 0x4E}, /* 0x84-0x87 */ + {0xCB, 0x4F}, {0xCB, 0x51}, {0xCB, 0x52}, {0xCB, 0x53}, /* 0x88-0x8B */ + {0xCB, 0x54}, {0xCB, 0x55}, {0xCB, 0x56}, {0xCB, 0x57}, /* 0x8C-0x8F */ + {0xCB, 0x5A}, {0xCB, 0x5B}, {0xCB, 0x5C}, {0xCB, 0x5E}, /* 0x90-0x93 */ + {0xCB, 0x5F}, {0xCB, 0x60}, {0xCB, 0x61}, {0xCB, 0x62}, /* 0x94-0x97 */ + {0xCB, 0x63}, {0xCB, 0x65}, {0xCB, 0x66}, {0xCB, 0x67}, /* 0x98-0x9B */ + {0xCB, 0x68}, {0xCB, 0x69}, {0xCB, 0x6A}, {0xCB, 0x6B}, /* 0x9C-0x9F */ + {0xCB, 0x6C}, {0x33, 0x95}, {0x33, 0x96}, {0x33, 0x97}, /* 0xA0-0xA3 */ + {0x21, 0x13}, {0x33, 0x98}, {0x33, 0xC4}, {0x33, 0xA3}, /* 0xA4-0xA7 */ + {0x33, 0xA4}, {0x33, 0xA5}, {0x33, 0xA6}, {0x33, 0x99}, /* 0xA8-0xAB */ + {0x33, 0x9A}, {0x33, 0x9B}, {0x33, 0x9C}, {0x33, 0x9D}, /* 0xAC-0xAF */ + {0x33, 0x9E}, {0x33, 0x9F}, {0x33, 0xA0}, {0x33, 0xA1}, /* 0xB0-0xB3 */ + {0x33, 0xA2}, {0x33, 0xCA}, {0x33, 0x8D}, {0x33, 0x8E}, /* 0xB4-0xB7 */ + {0x33, 0x8F}, {0x33, 0xCF}, {0x33, 0x88}, {0x33, 0x89}, /* 0xB8-0xBB */ + {0x33, 0xC8}, {0x33, 0xA7}, {0x33, 0xA8}, {0x33, 0xB0}, /* 0xBC-0xBF */ + {0x33, 0xB1}, {0x33, 0xB2}, {0x33, 0xB3}, {0x33, 0xB4}, /* 0xC0-0xC3 */ + {0x33, 0xB5}, {0x33, 0xB6}, {0x33, 0xB7}, {0x33, 0xB8}, /* 0xC4-0xC7 */ + {0x33, 0xB9}, {0x33, 0x80}, {0x33, 0x81}, {0x33, 0x82}, /* 0xC8-0xCB */ + {0x33, 0x83}, {0x33, 0x84}, {0x33, 0xBA}, {0x33, 0xBB}, /* 0xCC-0xCF */ + {0x33, 0xBC}, {0x33, 0xBD}, {0x33, 0xBE}, {0x33, 0xBF}, /* 0xD0-0xD3 */ + {0x33, 0x90}, {0x33, 0x91}, {0x33, 0x92}, {0x33, 0x93}, /* 0xD4-0xD7 */ + {0x33, 0x94}, {0x21, 0x26}, {0x33, 0xC0}, {0x33, 0xC1}, /* 0xD8-0xDB */ + {0x33, 0x8A}, {0x33, 0x8B}, {0x33, 0x8C}, {0x33, 0xD6}, /* 0xDC-0xDF */ + {0x33, 0xC5}, {0x33, 0xAD}, {0x33, 0xAE}, {0x33, 0xAF}, /* 0xE0-0xE3 */ + {0x33, 0xDB}, {0x33, 0xA9}, {0x33, 0xAA}, {0x33, 0xAB}, /* 0xE4-0xE7 */ + {0x33, 0xAC}, {0x33, 0xDD}, {0x33, 0xD0}, {0x33, 0xD3}, /* 0xE8-0xEB */ + {0x33, 0xC3}, {0x33, 0xC9}, {0x33, 0xDC}, {0x33, 0xC6}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCB, 0x6D}, {0xCB, 0x6E}, {0xCB, 0x6F}, /* 0x40-0x43 */ + {0xCB, 0x70}, {0xCB, 0x71}, {0xCB, 0x72}, {0xCB, 0x73}, /* 0x44-0x47 */ + {0xCB, 0x74}, {0xCB, 0x75}, {0xCB, 0x76}, {0xCB, 0x77}, /* 0x48-0x4B */ + {0xCB, 0x7A}, {0xCB, 0x7B}, {0xCB, 0x7C}, {0xCB, 0x7D}, /* 0x4C-0x4F */ + {0xCB, 0x7E}, {0xCB, 0x7F}, {0xCB, 0x80}, {0xCB, 0x81}, /* 0x50-0x53 */ + {0xCB, 0x82}, {0xCB, 0x83}, {0xCB, 0x84}, {0xCB, 0x85}, /* 0x54-0x57 */ + {0xCB, 0x86}, {0xCB, 0x87}, {0xCB, 0x88}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCB, 0x89}, {0xCB, 0x8A}, {0xCB, 0x8B}, /* 0x60-0x63 */ + {0xCB, 0x8C}, {0xCB, 0x8D}, {0xCB, 0x8E}, {0xCB, 0x8F}, /* 0x64-0x67 */ + {0xCB, 0x90}, {0xCB, 0x91}, {0xCB, 0x92}, {0xCB, 0x93}, /* 0x68-0x6B */ + {0xCB, 0x94}, {0xCB, 0x95}, {0xCB, 0x96}, {0xCB, 0x97}, /* 0x6C-0x6F */ + {0xCB, 0x98}, {0xCB, 0x99}, {0xCB, 0x9A}, {0xCB, 0x9B}, /* 0x70-0x73 */ + {0xCB, 0x9D}, {0xCB, 0x9E}, {0xCB, 0x9F}, {0xCB, 0xA0}, /* 0x74-0x77 */ + {0xCB, 0xA1}, {0xCB, 0xA2}, {0xCB, 0xA3}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCB, 0xA4}, {0xCB, 0xA5}, {0xCB, 0xA6}, /* 0x80-0x83 */ + {0xCB, 0xA7}, {0xCB, 0xA8}, {0xCB, 0xA9}, {0xCB, 0xAA}, /* 0x84-0x87 */ + {0xCB, 0xAB}, {0xCB, 0xAC}, {0xCB, 0xAD}, {0xCB, 0xAE}, /* 0x88-0x8B */ + {0xCB, 0xAF}, {0xCB, 0xB0}, {0xCB, 0xB1}, {0xCB, 0xB2}, /* 0x8C-0x8F */ + {0xCB, 0xB3}, {0xCB, 0xB4}, {0xCB, 0xB5}, {0xCB, 0xB6}, /* 0x90-0x93 */ + {0xCB, 0xB7}, {0xCB, 0xB9}, {0xCB, 0xBA}, {0xCB, 0xBB}, /* 0x94-0x97 */ + {0xCB, 0xBC}, {0xCB, 0xBD}, {0xCB, 0xBE}, {0xCB, 0xBF}, /* 0x98-0x9B */ + {0xCB, 0xC0}, {0xCB, 0xC1}, {0xCB, 0xC2}, {0xCB, 0xC3}, /* 0x9C-0x9F */ + {0xCB, 0xC4}, {0x00, 0xC6}, {0x00, 0xD0}, {0x00, 0xAA}, /* 0xA0-0xA3 */ + {0x01, 0x26}, {0x00, 0x3F}, {0x01, 0x32}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x01, 0x3F}, {0x01, 0x41}, {0x00, 0xD8}, {0x01, 0x52}, /* 0xA8-0xAB */ + {0x00, 0xBA}, {0x00, 0xDE}, {0x01, 0x66}, {0x01, 0x4A}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x32, 0x60}, {0x32, 0x61}, {0x32, 0x62}, /* 0xB0-0xB3 */ + {0x32, 0x63}, {0x32, 0x64}, {0x32, 0x65}, {0x32, 0x66}, /* 0xB4-0xB7 */ + {0x32, 0x67}, {0x32, 0x68}, {0x32, 0x69}, {0x32, 0x6A}, /* 0xB8-0xBB */ + {0x32, 0x6B}, {0x32, 0x6C}, {0x32, 0x6D}, {0x32, 0x6E}, /* 0xBC-0xBF */ + {0x32, 0x6F}, {0x32, 0x70}, {0x32, 0x71}, {0x32, 0x72}, /* 0xC0-0xC3 */ + {0x32, 0x73}, {0x32, 0x74}, {0x32, 0x75}, {0x32, 0x76}, /* 0xC4-0xC7 */ + {0x32, 0x77}, {0x32, 0x78}, {0x32, 0x79}, {0x32, 0x7A}, /* 0xC8-0xCB */ + {0x32, 0x7B}, {0x24, 0xD0}, {0x24, 0xD1}, {0x24, 0xD2}, /* 0xCC-0xCF */ + {0x24, 0xD3}, {0x24, 0xD4}, {0x24, 0xD5}, {0x24, 0xD6}, /* 0xD0-0xD3 */ + {0x24, 0xD7}, {0x24, 0xD8}, {0x24, 0xD9}, {0x24, 0xDA}, /* 0xD4-0xD7 */ + {0x24, 0xDB}, {0x24, 0xDC}, {0x24, 0xDD}, {0x24, 0xDE}, /* 0xD8-0xDB */ + {0x24, 0xDF}, {0x24, 0xE0}, {0x24, 0xE1}, {0x24, 0xE2}, /* 0xDC-0xDF */ + {0x24, 0xE3}, {0x24, 0xE4}, {0x24, 0xE5}, {0x24, 0xE6}, /* 0xE0-0xE3 */ + {0x24, 0xE7}, {0x24, 0xE8}, {0x24, 0xE9}, {0x24, 0x60}, /* 0xE4-0xE7 */ + {0x24, 0x61}, {0x24, 0x62}, {0x24, 0x63}, {0x24, 0x64}, /* 0xE8-0xEB */ + {0x24, 0x65}, {0x24, 0x66}, {0x24, 0x67}, {0x24, 0x68}, /* 0xEC-0xEF */ + {0x24, 0x69}, {0x24, 0x6A}, {0x24, 0x6B}, {0x24, 0x6C}, /* 0xF0-0xF3 */ + {0x24, 0x6D}, {0x24, 0x6E}, {0x00, 0xBD}, {0x21, 0x53}, /* 0xF4-0xF7 */ + {0x21, 0x54}, {0x00, 0xBC}, {0x00, 0xBE}, {0x21, 0x5B}, /* 0xF8-0xFB */ + {0x21, 0x5C}, {0x21, 0x5D}, {0x21, 0x5E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCB, 0xC5}, {0xCB, 0xC6}, {0xCB, 0xC7}, /* 0x40-0x43 */ + {0xCB, 0xC8}, {0xCB, 0xC9}, {0xCB, 0xCA}, {0xCB, 0xCB}, /* 0x44-0x47 */ + {0xCB, 0xCC}, {0xCB, 0xCD}, {0xCB, 0xCE}, {0xCB, 0xCF}, /* 0x48-0x4B */ + {0xCB, 0xD0}, {0xCB, 0xD1}, {0xCB, 0xD2}, {0xCB, 0xD3}, /* 0x4C-0x4F */ + {0xCB, 0xD5}, {0xCB, 0xD6}, {0xCB, 0xD7}, {0xCB, 0xD8}, /* 0x50-0x53 */ + {0xCB, 0xD9}, {0xCB, 0xDA}, {0xCB, 0xDB}, {0xCB, 0xDC}, /* 0x54-0x57 */ + {0xCB, 0xDD}, {0xCB, 0xDE}, {0xCB, 0xDF}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCB, 0xE0}, {0xCB, 0xE1}, {0xCB, 0xE2}, /* 0x60-0x63 */ + {0xCB, 0xE3}, {0xCB, 0xE5}, {0xCB, 0xE6}, {0xCB, 0xE8}, /* 0x64-0x67 */ + {0xCB, 0xEA}, {0xCB, 0xEB}, {0xCB, 0xEC}, {0xCB, 0xED}, /* 0x68-0x6B */ + {0xCB, 0xEE}, {0xCB, 0xEF}, {0xCB, 0xF0}, {0xCB, 0xF1}, /* 0x6C-0x6F */ + {0xCB, 0xF2}, {0xCB, 0xF3}, {0xCB, 0xF4}, {0xCB, 0xF5}, /* 0x70-0x73 */ + {0xCB, 0xF6}, {0xCB, 0xF7}, {0xCB, 0xF8}, {0xCB, 0xF9}, /* 0x74-0x77 */ + {0xCB, 0xFA}, {0xCB, 0xFB}, {0xCB, 0xFC}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCB, 0xFD}, {0xCB, 0xFE}, {0xCB, 0xFF}, /* 0x80-0x83 */ + {0xCC, 0x00}, {0xCC, 0x01}, {0xCC, 0x02}, {0xCC, 0x03}, /* 0x84-0x87 */ + {0xCC, 0x04}, {0xCC, 0x05}, {0xCC, 0x06}, {0xCC, 0x07}, /* 0x88-0x8B */ + {0xCC, 0x08}, {0xCC, 0x09}, {0xCC, 0x0A}, {0xCC, 0x0B}, /* 0x8C-0x8F */ + {0xCC, 0x0E}, {0xCC, 0x0F}, {0xCC, 0x11}, {0xCC, 0x12}, /* 0x90-0x93 */ + {0xCC, 0x13}, {0xCC, 0x15}, {0xCC, 0x16}, {0xCC, 0x17}, /* 0x94-0x97 */ + {0xCC, 0x18}, {0xCC, 0x19}, {0xCC, 0x1A}, {0xCC, 0x1B}, /* 0x98-0x9B */ + {0xCC, 0x1E}, {0xCC, 0x1F}, {0xCC, 0x20}, {0xCC, 0x23}, /* 0x9C-0x9F */ + {0xCC, 0x24}, {0x00, 0xE6}, {0x01, 0x11}, {0x00, 0xF0}, /* 0xA0-0xA3 */ + {0x01, 0x27}, {0x01, 0x31}, {0x01, 0x33}, {0x01, 0x38}, /* 0xA4-0xA7 */ + {0x01, 0x40}, {0x01, 0x42}, {0x00, 0xF8}, {0x01, 0x53}, /* 0xA8-0xAB */ + {0x00, 0xDF}, {0x00, 0xFE}, {0x01, 0x67}, {0x01, 0x4B}, /* 0xAC-0xAF */ + {0x01, 0x49}, {0x32, 0x00}, {0x32, 0x01}, {0x32, 0x02}, /* 0xB0-0xB3 */ + {0x32, 0x03}, {0x32, 0x04}, {0x32, 0x05}, {0x32, 0x06}, /* 0xB4-0xB7 */ + {0x32, 0x07}, {0x32, 0x08}, {0x32, 0x09}, {0x32, 0x0A}, /* 0xB8-0xBB */ + {0x32, 0x0B}, {0x32, 0x0C}, {0x32, 0x0D}, {0x32, 0x0E}, /* 0xBC-0xBF */ + {0x32, 0x0F}, {0x32, 0x10}, {0x32, 0x11}, {0x32, 0x12}, /* 0xC0-0xC3 */ + {0x32, 0x13}, {0x32, 0x14}, {0x32, 0x15}, {0x32, 0x16}, /* 0xC4-0xC7 */ + {0x32, 0x17}, {0x32, 0x18}, {0x32, 0x19}, {0x32, 0x1A}, /* 0xC8-0xCB */ + {0x32, 0x1B}, {0x24, 0x9C}, {0x24, 0x9D}, {0x24, 0x9E}, /* 0xCC-0xCF */ + {0x24, 0x9F}, {0x24, 0xA0}, {0x24, 0xA1}, {0x24, 0xA2}, /* 0xD0-0xD3 */ + {0x24, 0xA3}, {0x24, 0xA4}, {0x24, 0xA5}, {0x24, 0xA6}, /* 0xD4-0xD7 */ + {0x24, 0xA7}, {0x24, 0xA8}, {0x24, 0xA9}, {0x24, 0xAA}, /* 0xD8-0xDB */ + {0x24, 0xAB}, {0x24, 0xAC}, {0x24, 0xAD}, {0x24, 0xAE}, /* 0xDC-0xDF */ + {0x24, 0xAF}, {0x24, 0xB0}, {0x24, 0xB1}, {0x24, 0xB2}, /* 0xE0-0xE3 */ + {0x24, 0xB3}, {0x24, 0xB4}, {0x24, 0xB5}, {0x24, 0x74}, /* 0xE4-0xE7 */ + {0x24, 0x75}, {0x24, 0x76}, {0x24, 0x77}, {0x24, 0x78}, /* 0xE8-0xEB */ + {0x24, 0x79}, {0x24, 0x7A}, {0x24, 0x7B}, {0x24, 0x7C}, /* 0xEC-0xEF */ + {0x24, 0x7D}, {0x24, 0x7E}, {0x24, 0x7F}, {0x24, 0x80}, /* 0xF0-0xF3 */ + {0x24, 0x81}, {0x24, 0x82}, {0x00, 0xB9}, {0x00, 0xB2}, /* 0xF4-0xF7 */ + {0x00, 0xB3}, {0x20, 0x74}, {0x20, 0x7F}, {0x20, 0x81}, /* 0xF8-0xFB */ + {0x20, 0x82}, {0x20, 0x83}, {0x20, 0x84}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCC, 0x25}, {0xCC, 0x26}, {0xCC, 0x2A}, /* 0x40-0x43 */ + {0xCC, 0x2B}, {0xCC, 0x2D}, {0xCC, 0x2F}, {0xCC, 0x31}, /* 0x44-0x47 */ + {0xCC, 0x32}, {0xCC, 0x33}, {0xCC, 0x34}, {0xCC, 0x35}, /* 0x48-0x4B */ + {0xCC, 0x36}, {0xCC, 0x37}, {0xCC, 0x3A}, {0xCC, 0x3F}, /* 0x4C-0x4F */ + {0xCC, 0x40}, {0xCC, 0x41}, {0xCC, 0x42}, {0xCC, 0x43}, /* 0x50-0x53 */ + {0xCC, 0x46}, {0xCC, 0x47}, {0xCC, 0x49}, {0xCC, 0x4A}, /* 0x54-0x57 */ + {0xCC, 0x4B}, {0xCC, 0x4D}, {0xCC, 0x4E}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCC, 0x4F}, {0xCC, 0x50}, {0xCC, 0x51}, /* 0x60-0x63 */ + {0xCC, 0x52}, {0xCC, 0x53}, {0xCC, 0x56}, {0xCC, 0x5A}, /* 0x64-0x67 */ + {0xCC, 0x5B}, {0xCC, 0x5C}, {0xCC, 0x5D}, {0xCC, 0x5E}, /* 0x68-0x6B */ + {0xCC, 0x5F}, {0xCC, 0x61}, {0xCC, 0x62}, {0xCC, 0x63}, /* 0x6C-0x6F */ + {0xCC, 0x65}, {0xCC, 0x67}, {0xCC, 0x69}, {0xCC, 0x6A}, /* 0x70-0x73 */ + {0xCC, 0x6B}, {0xCC, 0x6C}, {0xCC, 0x6D}, {0xCC, 0x6E}, /* 0x74-0x77 */ + {0xCC, 0x6F}, {0xCC, 0x71}, {0xCC, 0x72}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCC, 0x73}, {0xCC, 0x74}, {0xCC, 0x76}, /* 0x80-0x83 */ + {0xCC, 0x77}, {0xCC, 0x78}, {0xCC, 0x79}, {0xCC, 0x7A}, /* 0x84-0x87 */ + {0xCC, 0x7B}, {0xCC, 0x7C}, {0xCC, 0x7D}, {0xCC, 0x7E}, /* 0x88-0x8B */ + {0xCC, 0x7F}, {0xCC, 0x80}, {0xCC, 0x81}, {0xCC, 0x82}, /* 0x8C-0x8F */ + {0xCC, 0x83}, {0xCC, 0x84}, {0xCC, 0x85}, {0xCC, 0x86}, /* 0x90-0x93 */ + {0xCC, 0x87}, {0xCC, 0x88}, {0xCC, 0x89}, {0xCC, 0x8A}, /* 0x94-0x97 */ + {0xCC, 0x8B}, {0xCC, 0x8C}, {0xCC, 0x8D}, {0xCC, 0x8E}, /* 0x98-0x9B */ + {0xCC, 0x8F}, {0xCC, 0x90}, {0xCC, 0x91}, {0xCC, 0x92}, /* 0x9C-0x9F */ + {0xCC, 0x93}, {0x30, 0x41}, {0x30, 0x42}, {0x30, 0x43}, /* 0xA0-0xA3 */ + {0x30, 0x44}, {0x30, 0x45}, {0x30, 0x46}, {0x30, 0x47}, /* 0xA4-0xA7 */ + {0x30, 0x48}, {0x30, 0x49}, {0x30, 0x4A}, {0x30, 0x4B}, /* 0xA8-0xAB */ + {0x30, 0x4C}, {0x30, 0x4D}, {0x30, 0x4E}, {0x30, 0x4F}, /* 0xAC-0xAF */ + {0x30, 0x50}, {0x30, 0x51}, {0x30, 0x52}, {0x30, 0x53}, /* 0xB0-0xB3 */ + {0x30, 0x54}, {0x30, 0x55}, {0x30, 0x56}, {0x30, 0x57}, /* 0xB4-0xB7 */ + {0x30, 0x58}, {0x30, 0x59}, {0x30, 0x5A}, {0x30, 0x5B}, /* 0xB8-0xBB */ + {0x30, 0x5C}, {0x30, 0x5D}, {0x30, 0x5E}, {0x30, 0x5F}, /* 0xBC-0xBF */ + {0x30, 0x60}, {0x30, 0x61}, {0x30, 0x62}, {0x30, 0x63}, /* 0xC0-0xC3 */ + {0x30, 0x64}, {0x30, 0x65}, {0x30, 0x66}, {0x30, 0x67}, /* 0xC4-0xC7 */ + {0x30, 0x68}, {0x30, 0x69}, {0x30, 0x6A}, {0x30, 0x6B}, /* 0xC8-0xCB */ + {0x30, 0x6C}, {0x30, 0x6D}, {0x30, 0x6E}, {0x30, 0x6F}, /* 0xCC-0xCF */ + {0x30, 0x70}, {0x30, 0x71}, {0x30, 0x72}, {0x30, 0x73}, /* 0xD0-0xD3 */ + {0x30, 0x74}, {0x30, 0x75}, {0x30, 0x76}, {0x30, 0x77}, /* 0xD4-0xD7 */ + {0x30, 0x78}, {0x30, 0x79}, {0x30, 0x7A}, {0x30, 0x7B}, /* 0xD8-0xDB */ + {0x30, 0x7C}, {0x30, 0x7D}, {0x30, 0x7E}, {0x30, 0x7F}, /* 0xDC-0xDF */ + {0x30, 0x80}, {0x30, 0x81}, {0x30, 0x82}, {0x30, 0x83}, /* 0xE0-0xE3 */ + {0x30, 0x84}, {0x30, 0x85}, {0x30, 0x86}, {0x30, 0x87}, /* 0xE4-0xE7 */ + {0x30, 0x88}, {0x30, 0x89}, {0x30, 0x8A}, {0x30, 0x8B}, /* 0xE8-0xEB */ + {0x30, 0x8C}, {0x30, 0x8D}, {0x30, 0x8E}, {0x30, 0x8F}, /* 0xEC-0xEF */ + {0x30, 0x90}, {0x30, 0x91}, {0x30, 0x92}, {0x30, 0x93}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCC, 0x94}, {0xCC, 0x95}, {0xCC, 0x96}, /* 0x40-0x43 */ + {0xCC, 0x97}, {0xCC, 0x9A}, {0xCC, 0x9B}, {0xCC, 0x9D}, /* 0x44-0x47 */ + {0xCC, 0x9E}, {0xCC, 0x9F}, {0xCC, 0xA1}, {0xCC, 0xA2}, /* 0x48-0x4B */ + {0xCC, 0xA3}, {0xCC, 0xA4}, {0xCC, 0xA5}, {0xCC, 0xA6}, /* 0x4C-0x4F */ + {0xCC, 0xA7}, {0xCC, 0xAA}, {0xCC, 0xAE}, {0xCC, 0xAF}, /* 0x50-0x53 */ + {0xCC, 0xB0}, {0xCC, 0xB1}, {0xCC, 0xB2}, {0xCC, 0xB3}, /* 0x54-0x57 */ + {0xCC, 0xB6}, {0xCC, 0xB7}, {0xCC, 0xB9}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCC, 0xBA}, {0xCC, 0xBB}, {0xCC, 0xBD}, /* 0x60-0x63 */ + {0xCC, 0xBE}, {0xCC, 0xBF}, {0xCC, 0xC0}, {0xCC, 0xC1}, /* 0x64-0x67 */ + {0xCC, 0xC2}, {0xCC, 0xC3}, {0xCC, 0xC6}, {0xCC, 0xC8}, /* 0x68-0x6B */ + {0xCC, 0xCA}, {0xCC, 0xCB}, {0xCC, 0xCC}, {0xCC, 0xCD}, /* 0x6C-0x6F */ + {0xCC, 0xCE}, {0xCC, 0xCF}, {0xCC, 0xD1}, {0xCC, 0xD2}, /* 0x70-0x73 */ + {0xCC, 0xD3}, {0xCC, 0xD5}, {0xCC, 0xD6}, {0xCC, 0xD7}, /* 0x74-0x77 */ + {0xCC, 0xD8}, {0xCC, 0xD9}, {0xCC, 0xDA}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCC, 0xDB}, {0xCC, 0xDC}, {0xCC, 0xDD}, /* 0x80-0x83 */ + {0xCC, 0xDE}, {0xCC, 0xDF}, {0xCC, 0xE0}, {0xCC, 0xE1}, /* 0x84-0x87 */ + {0xCC, 0xE2}, {0xCC, 0xE3}, {0xCC, 0xE5}, {0xCC, 0xE6}, /* 0x88-0x8B */ + {0xCC, 0xE7}, {0xCC, 0xE8}, {0xCC, 0xE9}, {0xCC, 0xEA}, /* 0x8C-0x8F */ + {0xCC, 0xEB}, {0xCC, 0xED}, {0xCC, 0xEE}, {0xCC, 0xEF}, /* 0x90-0x93 */ + {0xCC, 0xF1}, {0xCC, 0xF2}, {0xCC, 0xF3}, {0xCC, 0xF4}, /* 0x94-0x97 */ + {0xCC, 0xF5}, {0xCC, 0xF6}, {0xCC, 0xF7}, {0xCC, 0xF8}, /* 0x98-0x9B */ + {0xCC, 0xF9}, {0xCC, 0xFA}, {0xCC, 0xFB}, {0xCC, 0xFC}, /* 0x9C-0x9F */ + {0xCC, 0xFD}, {0x30, 0xA1}, {0x30, 0xA2}, {0x30, 0xA3}, /* 0xA0-0xA3 */ + {0x30, 0xA4}, {0x30, 0xA5}, {0x30, 0xA6}, {0x30, 0xA7}, /* 0xA4-0xA7 */ + {0x30, 0xA8}, {0x30, 0xA9}, {0x30, 0xAA}, {0x30, 0xAB}, /* 0xA8-0xAB */ + {0x30, 0xAC}, {0x30, 0xAD}, {0x30, 0xAE}, {0x30, 0xAF}, /* 0xAC-0xAF */ + {0x30, 0xB0}, {0x30, 0xB1}, {0x30, 0xB2}, {0x30, 0xB3}, /* 0xB0-0xB3 */ + {0x30, 0xB4}, {0x30, 0xB5}, {0x30, 0xB6}, {0x30, 0xB7}, /* 0xB4-0xB7 */ + {0x30, 0xB8}, {0x30, 0xB9}, {0x30, 0xBA}, {0x30, 0xBB}, /* 0xB8-0xBB */ + {0x30, 0xBC}, {0x30, 0xBD}, {0x30, 0xBE}, {0x30, 0xBF}, /* 0xBC-0xBF */ + {0x30, 0xC0}, {0x30, 0xC1}, {0x30, 0xC2}, {0x30, 0xC3}, /* 0xC0-0xC3 */ + {0x30, 0xC4}, {0x30, 0xC5}, {0x30, 0xC6}, {0x30, 0xC7}, /* 0xC4-0xC7 */ + {0x30, 0xC8}, {0x30, 0xC9}, {0x30, 0xCA}, {0x30, 0xCB}, /* 0xC8-0xCB */ + {0x30, 0xCC}, {0x30, 0xCD}, {0x30, 0xCE}, {0x30, 0xCF}, /* 0xCC-0xCF */ + {0x30, 0xD0}, {0x30, 0xD1}, {0x30, 0xD2}, {0x30, 0xD3}, /* 0xD0-0xD3 */ + {0x30, 0xD4}, {0x30, 0xD5}, {0x30, 0xD6}, {0x30, 0xD7}, /* 0xD4-0xD7 */ + {0x30, 0xD8}, {0x30, 0xD9}, {0x30, 0xDA}, {0x30, 0xDB}, /* 0xD8-0xDB */ + {0x30, 0xDC}, {0x30, 0xDD}, {0x30, 0xDE}, {0x30, 0xDF}, /* 0xDC-0xDF */ + {0x30, 0xE0}, {0x30, 0xE1}, {0x30, 0xE2}, {0x30, 0xE3}, /* 0xE0-0xE3 */ + {0x30, 0xE4}, {0x30, 0xE5}, {0x30, 0xE6}, {0x30, 0xE7}, /* 0xE4-0xE7 */ + {0x30, 0xE8}, {0x30, 0xE9}, {0x30, 0xEA}, {0x30, 0xEB}, /* 0xE8-0xEB */ + {0x30, 0xEC}, {0x30, 0xED}, {0x30, 0xEE}, {0x30, 0xEF}, /* 0xEC-0xEF */ + {0x30, 0xF0}, {0x30, 0xF1}, {0x30, 0xF2}, {0x30, 0xF3}, /* 0xF0-0xF3 */ + {0x30, 0xF4}, {0x30, 0xF5}, {0x30, 0xF6}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCC, 0xFE}, {0xCC, 0xFF}, {0xCD, 0x00}, /* 0x40-0x43 */ + {0xCD, 0x02}, {0xCD, 0x03}, {0xCD, 0x04}, {0xCD, 0x05}, /* 0x44-0x47 */ + {0xCD, 0x06}, {0xCD, 0x07}, {0xCD, 0x0A}, {0xCD, 0x0B}, /* 0x48-0x4B */ + {0xCD, 0x0D}, {0xCD, 0x0E}, {0xCD, 0x0F}, {0xCD, 0x11}, /* 0x4C-0x4F */ + {0xCD, 0x12}, {0xCD, 0x13}, {0xCD, 0x14}, {0xCD, 0x15}, /* 0x50-0x53 */ + {0xCD, 0x16}, {0xCD, 0x17}, {0xCD, 0x1A}, {0xCD, 0x1C}, /* 0x54-0x57 */ + {0xCD, 0x1E}, {0xCD, 0x1F}, {0xCD, 0x20}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCD, 0x21}, {0xCD, 0x22}, {0xCD, 0x23}, /* 0x60-0x63 */ + {0xCD, 0x25}, {0xCD, 0x26}, {0xCD, 0x27}, {0xCD, 0x29}, /* 0x64-0x67 */ + {0xCD, 0x2A}, {0xCD, 0x2B}, {0xCD, 0x2D}, {0xCD, 0x2E}, /* 0x68-0x6B */ + {0xCD, 0x2F}, {0xCD, 0x30}, {0xCD, 0x31}, {0xCD, 0x32}, /* 0x6C-0x6F */ + {0xCD, 0x33}, {0xCD, 0x34}, {0xCD, 0x35}, {0xCD, 0x36}, /* 0x70-0x73 */ + {0xCD, 0x37}, {0xCD, 0x38}, {0xCD, 0x3A}, {0xCD, 0x3B}, /* 0x74-0x77 */ + {0xCD, 0x3C}, {0xCD, 0x3D}, {0xCD, 0x3E}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCD, 0x3F}, {0xCD, 0x40}, {0xCD, 0x41}, /* 0x80-0x83 */ + {0xCD, 0x42}, {0xCD, 0x43}, {0xCD, 0x44}, {0xCD, 0x45}, /* 0x84-0x87 */ + {0xCD, 0x46}, {0xCD, 0x47}, {0xCD, 0x48}, {0xCD, 0x49}, /* 0x88-0x8B */ + {0xCD, 0x4A}, {0xCD, 0x4B}, {0xCD, 0x4C}, {0xCD, 0x4D}, /* 0x8C-0x8F */ + {0xCD, 0x4E}, {0xCD, 0x4F}, {0xCD, 0x50}, {0xCD, 0x51}, /* 0x90-0x93 */ + {0xCD, 0x52}, {0xCD, 0x53}, {0xCD, 0x54}, {0xCD, 0x55}, /* 0x94-0x97 */ + {0xCD, 0x56}, {0xCD, 0x57}, {0xCD, 0x58}, {0xCD, 0x59}, /* 0x98-0x9B */ + {0xCD, 0x5A}, {0xCD, 0x5B}, {0xCD, 0x5D}, {0xCD, 0x5E}, /* 0x9C-0x9F */ + {0xCD, 0x5F}, {0x04, 0x10}, {0x04, 0x11}, {0x04, 0x12}, /* 0xA0-0xA3 */ + {0x04, 0x13}, {0x04, 0x14}, {0x04, 0x15}, {0x04, 0x01}, /* 0xA4-0xA7 */ + {0x04, 0x16}, {0x04, 0x17}, {0x04, 0x18}, {0x04, 0x19}, /* 0xA8-0xAB */ + {0x04, 0x1A}, {0x04, 0x1B}, {0x04, 0x1C}, {0x04, 0x1D}, /* 0xAC-0xAF */ + {0x04, 0x1E}, {0x04, 0x1F}, {0x04, 0x20}, {0x04, 0x21}, /* 0xB0-0xB3 */ + {0x04, 0x22}, {0x04, 0x23}, {0x04, 0x24}, {0x04, 0x25}, /* 0xB4-0xB7 */ + {0x04, 0x26}, {0x04, 0x27}, {0x04, 0x28}, {0x04, 0x29}, /* 0xB8-0xBB */ + {0x04, 0x2A}, {0x04, 0x2B}, {0x04, 0x2C}, {0x04, 0x2D}, /* 0xBC-0xBF */ + {0x04, 0x2E}, {0x04, 0x2F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x04, 0x30}, {0x04, 0x31}, {0x04, 0x32}, /* 0xD0-0xD3 */ + {0x04, 0x33}, {0x04, 0x34}, {0x04, 0x35}, {0x04, 0x51}, /* 0xD4-0xD7 */ + {0x04, 0x36}, {0x04, 0x37}, {0x04, 0x38}, {0x04, 0x39}, /* 0xD8-0xDB */ + {0x04, 0x3A}, {0x04, 0x3B}, {0x04, 0x3C}, {0x04, 0x3D}, /* 0xDC-0xDF */ + {0x04, 0x3E}, {0x04, 0x3F}, {0x04, 0x40}, {0x04, 0x41}, /* 0xE0-0xE3 */ + {0x04, 0x42}, {0x04, 0x43}, {0x04, 0x44}, {0x04, 0x45}, /* 0xE4-0xE7 */ + {0x04, 0x46}, {0x04, 0x47}, {0x04, 0x48}, {0x04, 0x49}, /* 0xE8-0xEB */ + {0x04, 0x4A}, {0x04, 0x4B}, {0x04, 0x4C}, {0x04, 0x4D}, /* 0xEC-0xEF */ + {0x04, 0x4E}, {0x04, 0x4F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCD, 0x61}, {0xCD, 0x62}, {0xCD, 0x63}, /* 0x40-0x43 */ + {0xCD, 0x65}, {0xCD, 0x66}, {0xCD, 0x67}, {0xCD, 0x68}, /* 0x44-0x47 */ + {0xCD, 0x69}, {0xCD, 0x6A}, {0xCD, 0x6B}, {0xCD, 0x6E}, /* 0x48-0x4B */ + {0xCD, 0x70}, {0xCD, 0x72}, {0xCD, 0x73}, {0xCD, 0x74}, /* 0x4C-0x4F */ + {0xCD, 0x75}, {0xCD, 0x76}, {0xCD, 0x77}, {0xCD, 0x79}, /* 0x50-0x53 */ + {0xCD, 0x7A}, {0xCD, 0x7B}, {0xCD, 0x7C}, {0xCD, 0x7D}, /* 0x54-0x57 */ + {0xCD, 0x7E}, {0xCD, 0x7F}, {0xCD, 0x80}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCD, 0x81}, {0xCD, 0x82}, {0xCD, 0x83}, /* 0x60-0x63 */ + {0xCD, 0x84}, {0xCD, 0x85}, {0xCD, 0x86}, {0xCD, 0x87}, /* 0x64-0x67 */ + {0xCD, 0x89}, {0xCD, 0x8A}, {0xCD, 0x8B}, {0xCD, 0x8C}, /* 0x68-0x6B */ + {0xCD, 0x8D}, {0xCD, 0x8E}, {0xCD, 0x8F}, {0xCD, 0x90}, /* 0x6C-0x6F */ + {0xCD, 0x91}, {0xCD, 0x92}, {0xCD, 0x93}, {0xCD, 0x96}, /* 0x70-0x73 */ + {0xCD, 0x97}, {0xCD, 0x99}, {0xCD, 0x9A}, {0xCD, 0x9B}, /* 0x74-0x77 */ + {0xCD, 0x9D}, {0xCD, 0x9E}, {0xCD, 0x9F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCD, 0xA0}, {0xCD, 0xA1}, {0xCD, 0xA2}, /* 0x80-0x83 */ + {0xCD, 0xA3}, {0xCD, 0xA6}, {0xCD, 0xA8}, {0xCD, 0xAA}, /* 0x84-0x87 */ + {0xCD, 0xAB}, {0xCD, 0xAC}, {0xCD, 0xAD}, {0xCD, 0xAE}, /* 0x88-0x8B */ + {0xCD, 0xAF}, {0xCD, 0xB1}, {0xCD, 0xB2}, {0xCD, 0xB3}, /* 0x8C-0x8F */ + {0xCD, 0xB4}, {0xCD, 0xB5}, {0xCD, 0xB6}, {0xCD, 0xB7}, /* 0x90-0x93 */ + {0xCD, 0xB8}, {0xCD, 0xB9}, {0xCD, 0xBA}, {0xCD, 0xBB}, /* 0x94-0x97 */ + {0xCD, 0xBC}, {0xCD, 0xBD}, {0xCD, 0xBE}, {0xCD, 0xBF}, /* 0x98-0x9B */ + {0xCD, 0xC0}, {0xCD, 0xC1}, {0xCD, 0xC2}, {0xCD, 0xC3}, /* 0x9C-0x9F */ + {0xCD, 0xC5}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCD, 0xC6}, {0xCD, 0xC7}, {0xCD, 0xC8}, /* 0x40-0x43 */ + {0xCD, 0xC9}, {0xCD, 0xCA}, {0xCD, 0xCB}, {0xCD, 0xCD}, /* 0x44-0x47 */ + {0xCD, 0xCE}, {0xCD, 0xCF}, {0xCD, 0xD1}, {0xCD, 0xD2}, /* 0x48-0x4B */ + {0xCD, 0xD3}, {0xCD, 0xD4}, {0xCD, 0xD5}, {0xCD, 0xD6}, /* 0x4C-0x4F */ + {0xCD, 0xD7}, {0xCD, 0xD8}, {0xCD, 0xD9}, {0xCD, 0xDA}, /* 0x50-0x53 */ + {0xCD, 0xDB}, {0xCD, 0xDC}, {0xCD, 0xDD}, {0xCD, 0xDE}, /* 0x54-0x57 */ + {0xCD, 0xDF}, {0xCD, 0xE0}, {0xCD, 0xE1}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCD, 0xE2}, {0xCD, 0xE3}, {0xCD, 0xE4}, /* 0x60-0x63 */ + {0xCD, 0xE5}, {0xCD, 0xE6}, {0xCD, 0xE7}, {0xCD, 0xE9}, /* 0x64-0x67 */ + {0xCD, 0xEA}, {0xCD, 0xEB}, {0xCD, 0xED}, {0xCD, 0xEE}, /* 0x68-0x6B */ + {0xCD, 0xEF}, {0xCD, 0xF1}, {0xCD, 0xF2}, {0xCD, 0xF3}, /* 0x6C-0x6F */ + {0xCD, 0xF4}, {0xCD, 0xF5}, {0xCD, 0xF6}, {0xCD, 0xF7}, /* 0x70-0x73 */ + {0xCD, 0xFA}, {0xCD, 0xFC}, {0xCD, 0xFE}, {0xCD, 0xFF}, /* 0x74-0x77 */ + {0xCE, 0x00}, {0xCE, 0x01}, {0xCE, 0x02}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCE, 0x03}, {0xCE, 0x05}, {0xCE, 0x06}, /* 0x80-0x83 */ + {0xCE, 0x07}, {0xCE, 0x09}, {0xCE, 0x0A}, {0xCE, 0x0B}, /* 0x84-0x87 */ + {0xCE, 0x0D}, {0xCE, 0x0E}, {0xCE, 0x0F}, {0xCE, 0x10}, /* 0x88-0x8B */ + {0xCE, 0x11}, {0xCE, 0x12}, {0xCE, 0x13}, {0xCE, 0x15}, /* 0x8C-0x8F */ + {0xCE, 0x16}, {0xCE, 0x17}, {0xCE, 0x18}, {0xCE, 0x1A}, /* 0x90-0x93 */ + {0xCE, 0x1B}, {0xCE, 0x1C}, {0xCE, 0x1D}, {0xCE, 0x1E}, /* 0x94-0x97 */ + {0xCE, 0x1F}, {0xCE, 0x22}, {0xCE, 0x23}, {0xCE, 0x25}, /* 0x98-0x9B */ + {0xCE, 0x26}, {0xCE, 0x27}, {0xCE, 0x29}, {0xCE, 0x2A}, /* 0x9C-0x9F */ + {0xCE, 0x2B}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCE, 0x2C}, {0xCE, 0x2D}, {0xCE, 0x2E}, /* 0x40-0x43 */ + {0xCE, 0x2F}, {0xCE, 0x32}, {0xCE, 0x34}, {0xCE, 0x36}, /* 0x44-0x47 */ + {0xCE, 0x37}, {0xCE, 0x38}, {0xCE, 0x39}, {0xCE, 0x3A}, /* 0x48-0x4B */ + {0xCE, 0x3B}, {0xCE, 0x3C}, {0xCE, 0x3D}, {0xCE, 0x3E}, /* 0x4C-0x4F */ + {0xCE, 0x3F}, {0xCE, 0x40}, {0xCE, 0x41}, {0xCE, 0x42}, /* 0x50-0x53 */ + {0xCE, 0x43}, {0xCE, 0x44}, {0xCE, 0x45}, {0xCE, 0x46}, /* 0x54-0x57 */ + {0xCE, 0x47}, {0xCE, 0x48}, {0xCE, 0x49}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCE, 0x4A}, {0xCE, 0x4B}, {0xCE, 0x4C}, /* 0x60-0x63 */ + {0xCE, 0x4D}, {0xCE, 0x4E}, {0xCE, 0x4F}, {0xCE, 0x50}, /* 0x64-0x67 */ + {0xCE, 0x51}, {0xCE, 0x52}, {0xCE, 0x53}, {0xCE, 0x54}, /* 0x68-0x6B */ + {0xCE, 0x55}, {0xCE, 0x56}, {0xCE, 0x57}, {0xCE, 0x5A}, /* 0x6C-0x6F */ + {0xCE, 0x5B}, {0xCE, 0x5D}, {0xCE, 0x5E}, {0xCE, 0x62}, /* 0x70-0x73 */ + {0xCE, 0x63}, {0xCE, 0x64}, {0xCE, 0x65}, {0xCE, 0x66}, /* 0x74-0x77 */ + {0xCE, 0x67}, {0xCE, 0x6A}, {0xCE, 0x6C}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCE, 0x6E}, {0xCE, 0x6F}, {0xCE, 0x70}, /* 0x80-0x83 */ + {0xCE, 0x71}, {0xCE, 0x72}, {0xCE, 0x73}, {0xCE, 0x76}, /* 0x84-0x87 */ + {0xCE, 0x77}, {0xCE, 0x79}, {0xCE, 0x7A}, {0xCE, 0x7B}, /* 0x88-0x8B */ + {0xCE, 0x7D}, {0xCE, 0x7E}, {0xCE, 0x7F}, {0xCE, 0x80}, /* 0x8C-0x8F */ + {0xCE, 0x81}, {0xCE, 0x82}, {0xCE, 0x83}, {0xCE, 0x86}, /* 0x90-0x93 */ + {0xCE, 0x88}, {0xCE, 0x8A}, {0xCE, 0x8B}, {0xCE, 0x8C}, /* 0x94-0x97 */ + {0xCE, 0x8D}, {0xCE, 0x8E}, {0xCE, 0x8F}, {0xCE, 0x92}, /* 0x98-0x9B */ + {0xCE, 0x93}, {0xCE, 0x95}, {0xCE, 0x96}, {0xCE, 0x97}, /* 0x9C-0x9F */ + {0xCE, 0x99}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCE, 0x9A}, {0xCE, 0x9B}, {0xCE, 0x9C}, /* 0x40-0x43 */ + {0xCE, 0x9D}, {0xCE, 0x9E}, {0xCE, 0x9F}, {0xCE, 0xA2}, /* 0x44-0x47 */ + {0xCE, 0xA6}, {0xCE, 0xA7}, {0xCE, 0xA8}, {0xCE, 0xA9}, /* 0x48-0x4B */ + {0xCE, 0xAA}, {0xCE, 0xAB}, {0xCE, 0xAE}, {0xCE, 0xAF}, /* 0x4C-0x4F */ + {0xCE, 0xB0}, {0xCE, 0xB1}, {0xCE, 0xB2}, {0xCE, 0xB3}, /* 0x50-0x53 */ + {0xCE, 0xB4}, {0xCE, 0xB5}, {0xCE, 0xB6}, {0xCE, 0xB7}, /* 0x54-0x57 */ + {0xCE, 0xB8}, {0xCE, 0xB9}, {0xCE, 0xBA}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCE, 0xBB}, {0xCE, 0xBC}, {0xCE, 0xBD}, /* 0x60-0x63 */ + {0xCE, 0xBE}, {0xCE, 0xBF}, {0xCE, 0xC0}, {0xCE, 0xC2}, /* 0x64-0x67 */ + {0xCE, 0xC3}, {0xCE, 0xC4}, {0xCE, 0xC5}, {0xCE, 0xC6}, /* 0x68-0x6B */ + {0xCE, 0xC7}, {0xCE, 0xC8}, {0xCE, 0xC9}, {0xCE, 0xCA}, /* 0x6C-0x6F */ + {0xCE, 0xCB}, {0xCE, 0xCC}, {0xCE, 0xCD}, {0xCE, 0xCE}, /* 0x70-0x73 */ + {0xCE, 0xCF}, {0xCE, 0xD0}, {0xCE, 0xD1}, {0xCE, 0xD2}, /* 0x74-0x77 */ + {0xCE, 0xD3}, {0xCE, 0xD4}, {0xCE, 0xD5}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCE, 0xD6}, {0xCE, 0xD7}, {0xCE, 0xD8}, /* 0x80-0x83 */ + {0xCE, 0xD9}, {0xCE, 0xDA}, {0xCE, 0xDB}, {0xCE, 0xDC}, /* 0x84-0x87 */ + {0xCE, 0xDD}, {0xCE, 0xDE}, {0xCE, 0xDF}, {0xCE, 0xE0}, /* 0x88-0x8B */ + {0xCE, 0xE1}, {0xCE, 0xE2}, {0xCE, 0xE3}, {0xCE, 0xE6}, /* 0x8C-0x8F */ + {0xCE, 0xE7}, {0xCE, 0xE9}, {0xCE, 0xEA}, {0xCE, 0xED}, /* 0x90-0x93 */ + {0xCE, 0xEE}, {0xCE, 0xEF}, {0xCE, 0xF0}, {0xCE, 0xF1}, /* 0x94-0x97 */ + {0xCE, 0xF2}, {0xCE, 0xF3}, {0xCE, 0xF6}, {0xCE, 0xFA}, /* 0x98-0x9B */ + {0xCE, 0xFB}, {0xCE, 0xFC}, {0xCE, 0xFD}, {0xCE, 0xFE}, /* 0x9C-0x9F */ + {0xCE, 0xFF}, {0xAC, 0x00}, {0xAC, 0x01}, {0xAC, 0x04}, /* 0xA0-0xA3 */ + {0xAC, 0x07}, {0xAC, 0x08}, {0xAC, 0x09}, {0xAC, 0x0A}, /* 0xA4-0xA7 */ + {0xAC, 0x10}, {0xAC, 0x11}, {0xAC, 0x12}, {0xAC, 0x13}, /* 0xA8-0xAB */ + {0xAC, 0x14}, {0xAC, 0x15}, {0xAC, 0x16}, {0xAC, 0x17}, /* 0xAC-0xAF */ + {0xAC, 0x19}, {0xAC, 0x1A}, {0xAC, 0x1B}, {0xAC, 0x1C}, /* 0xB0-0xB3 */ + {0xAC, 0x1D}, {0xAC, 0x20}, {0xAC, 0x24}, {0xAC, 0x2C}, /* 0xB4-0xB7 */ + {0xAC, 0x2D}, {0xAC, 0x2F}, {0xAC, 0x30}, {0xAC, 0x31}, /* 0xB8-0xBB */ + {0xAC, 0x38}, {0xAC, 0x39}, {0xAC, 0x3C}, {0xAC, 0x40}, /* 0xBC-0xBF */ + {0xAC, 0x4B}, {0xAC, 0x4D}, {0xAC, 0x54}, {0xAC, 0x58}, /* 0xC0-0xC3 */ + {0xAC, 0x5C}, {0xAC, 0x70}, {0xAC, 0x71}, {0xAC, 0x74}, /* 0xC4-0xC7 */ + {0xAC, 0x77}, {0xAC, 0x78}, {0xAC, 0x7A}, {0xAC, 0x80}, /* 0xC8-0xCB */ + {0xAC, 0x81}, {0xAC, 0x83}, {0xAC, 0x84}, {0xAC, 0x85}, /* 0xCC-0xCF */ + {0xAC, 0x86}, {0xAC, 0x89}, {0xAC, 0x8A}, {0xAC, 0x8B}, /* 0xD0-0xD3 */ + {0xAC, 0x8C}, {0xAC, 0x90}, {0xAC, 0x94}, {0xAC, 0x9C}, /* 0xD4-0xD7 */ + {0xAC, 0x9D}, {0xAC, 0x9F}, {0xAC, 0xA0}, {0xAC, 0xA1}, /* 0xD8-0xDB */ + {0xAC, 0xA8}, {0xAC, 0xA9}, {0xAC, 0xAA}, {0xAC, 0xAC}, /* 0xDC-0xDF */ + {0xAC, 0xAF}, {0xAC, 0xB0}, {0xAC, 0xB8}, {0xAC, 0xB9}, /* 0xE0-0xE3 */ + {0xAC, 0xBB}, {0xAC, 0xBC}, {0xAC, 0xBD}, {0xAC, 0xC1}, /* 0xE4-0xE7 */ + {0xAC, 0xC4}, {0xAC, 0xC8}, {0xAC, 0xCC}, {0xAC, 0xD5}, /* 0xE8-0xEB */ + {0xAC, 0xD7}, {0xAC, 0xE0}, {0xAC, 0xE1}, {0xAC, 0xE4}, /* 0xEC-0xEF */ + {0xAC, 0xE7}, {0xAC, 0xE8}, {0xAC, 0xEA}, {0xAC, 0xEC}, /* 0xF0-0xF3 */ + {0xAC, 0xEF}, {0xAC, 0xF0}, {0xAC, 0xF1}, {0xAC, 0xF3}, /* 0xF4-0xF7 */ + {0xAC, 0xF5}, {0xAC, 0xF6}, {0xAC, 0xFC}, {0xAC, 0xFD}, /* 0xF8-0xFB */ + {0xAD, 0x00}, {0xAD, 0x04}, {0xAD, 0x06}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCF, 0x02}, {0xCF, 0x03}, {0xCF, 0x05}, /* 0x40-0x43 */ + {0xCF, 0x06}, {0xCF, 0x07}, {0xCF, 0x09}, {0xCF, 0x0A}, /* 0x44-0x47 */ + {0xCF, 0x0B}, {0xCF, 0x0C}, {0xCF, 0x0D}, {0xCF, 0x0E}, /* 0x48-0x4B */ + {0xCF, 0x0F}, {0xCF, 0x12}, {0xCF, 0x14}, {0xCF, 0x16}, /* 0x4C-0x4F */ + {0xCF, 0x17}, {0xCF, 0x18}, {0xCF, 0x19}, {0xCF, 0x1A}, /* 0x50-0x53 */ + {0xCF, 0x1B}, {0xCF, 0x1D}, {0xCF, 0x1E}, {0xCF, 0x1F}, /* 0x54-0x57 */ + {0xCF, 0x21}, {0xCF, 0x22}, {0xCF, 0x23}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCF, 0x25}, {0xCF, 0x26}, {0xCF, 0x27}, /* 0x60-0x63 */ + {0xCF, 0x28}, {0xCF, 0x29}, {0xCF, 0x2A}, {0xCF, 0x2B}, /* 0x64-0x67 */ + {0xCF, 0x2E}, {0xCF, 0x32}, {0xCF, 0x33}, {0xCF, 0x34}, /* 0x68-0x6B */ + {0xCF, 0x35}, {0xCF, 0x36}, {0xCF, 0x37}, {0xCF, 0x39}, /* 0x6C-0x6F */ + {0xCF, 0x3A}, {0xCF, 0x3B}, {0xCF, 0x3C}, {0xCF, 0x3D}, /* 0x70-0x73 */ + {0xCF, 0x3E}, {0xCF, 0x3F}, {0xCF, 0x40}, {0xCF, 0x41}, /* 0x74-0x77 */ + {0xCF, 0x42}, {0xCF, 0x43}, {0xCF, 0x44}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCF, 0x45}, {0xCF, 0x46}, {0xCF, 0x47}, /* 0x80-0x83 */ + {0xCF, 0x48}, {0xCF, 0x49}, {0xCF, 0x4A}, {0xCF, 0x4B}, /* 0x84-0x87 */ + {0xCF, 0x4C}, {0xCF, 0x4D}, {0xCF, 0x4E}, {0xCF, 0x4F}, /* 0x88-0x8B */ + {0xCF, 0x50}, {0xCF, 0x51}, {0xCF, 0x52}, {0xCF, 0x53}, /* 0x8C-0x8F */ + {0xCF, 0x56}, {0xCF, 0x57}, {0xCF, 0x59}, {0xCF, 0x5A}, /* 0x90-0x93 */ + {0xCF, 0x5B}, {0xCF, 0x5D}, {0xCF, 0x5E}, {0xCF, 0x5F}, /* 0x94-0x97 */ + {0xCF, 0x60}, {0xCF, 0x61}, {0xCF, 0x62}, {0xCF, 0x63}, /* 0x98-0x9B */ + {0xCF, 0x66}, {0xCF, 0x68}, {0xCF, 0x6A}, {0xCF, 0x6B}, /* 0x9C-0x9F */ + {0xCF, 0x6C}, {0xAD, 0x0C}, {0xAD, 0x0D}, {0xAD, 0x0F}, /* 0xA0-0xA3 */ + {0xAD, 0x11}, {0xAD, 0x18}, {0xAD, 0x1C}, {0xAD, 0x20}, /* 0xA4-0xA7 */ + {0xAD, 0x29}, {0xAD, 0x2C}, {0xAD, 0x2D}, {0xAD, 0x34}, /* 0xA8-0xAB */ + {0xAD, 0x35}, {0xAD, 0x38}, {0xAD, 0x3C}, {0xAD, 0x44}, /* 0xAC-0xAF */ + {0xAD, 0x45}, {0xAD, 0x47}, {0xAD, 0x49}, {0xAD, 0x50}, /* 0xB0-0xB3 */ + {0xAD, 0x54}, {0xAD, 0x58}, {0xAD, 0x61}, {0xAD, 0x63}, /* 0xB4-0xB7 */ + {0xAD, 0x6C}, {0xAD, 0x6D}, {0xAD, 0x70}, {0xAD, 0x73}, /* 0xB8-0xBB */ + {0xAD, 0x74}, {0xAD, 0x75}, {0xAD, 0x76}, {0xAD, 0x7B}, /* 0xBC-0xBF */ + {0xAD, 0x7C}, {0xAD, 0x7D}, {0xAD, 0x7F}, {0xAD, 0x81}, /* 0xC0-0xC3 */ + {0xAD, 0x82}, {0xAD, 0x88}, {0xAD, 0x89}, {0xAD, 0x8C}, /* 0xC4-0xC7 */ + {0xAD, 0x90}, {0xAD, 0x9C}, {0xAD, 0x9D}, {0xAD, 0xA4}, /* 0xC8-0xCB */ + {0xAD, 0xB7}, {0xAD, 0xC0}, {0xAD, 0xC1}, {0xAD, 0xC4}, /* 0xCC-0xCF */ + {0xAD, 0xC8}, {0xAD, 0xD0}, {0xAD, 0xD1}, {0xAD, 0xD3}, /* 0xD0-0xD3 */ + {0xAD, 0xDC}, {0xAD, 0xE0}, {0xAD, 0xE4}, {0xAD, 0xF8}, /* 0xD4-0xD7 */ + {0xAD, 0xF9}, {0xAD, 0xFC}, {0xAD, 0xFF}, {0xAE, 0x00}, /* 0xD8-0xDB */ + {0xAE, 0x01}, {0xAE, 0x08}, {0xAE, 0x09}, {0xAE, 0x0B}, /* 0xDC-0xDF */ + {0xAE, 0x0D}, {0xAE, 0x14}, {0xAE, 0x30}, {0xAE, 0x31}, /* 0xE0-0xE3 */ + {0xAE, 0x34}, {0xAE, 0x37}, {0xAE, 0x38}, {0xAE, 0x3A}, /* 0xE4-0xE7 */ + {0xAE, 0x40}, {0xAE, 0x41}, {0xAE, 0x43}, {0xAE, 0x45}, /* 0xE8-0xEB */ + {0xAE, 0x46}, {0xAE, 0x4A}, {0xAE, 0x4C}, {0xAE, 0x4D}, /* 0xEC-0xEF */ + {0xAE, 0x4E}, {0xAE, 0x50}, {0xAE, 0x54}, {0xAE, 0x56}, /* 0xF0-0xF3 */ + {0xAE, 0x5C}, {0xAE, 0x5D}, {0xAE, 0x5F}, {0xAE, 0x60}, /* 0xF4-0xF7 */ + {0xAE, 0x61}, {0xAE, 0x65}, {0xAE, 0x68}, {0xAE, 0x69}, /* 0xF8-0xFB */ + {0xAE, 0x6C}, {0xAE, 0x70}, {0xAE, 0x78}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCF, 0x6D}, {0xCF, 0x6E}, {0xCF, 0x6F}, /* 0x40-0x43 */ + {0xCF, 0x72}, {0xCF, 0x73}, {0xCF, 0x75}, {0xCF, 0x76}, /* 0x44-0x47 */ + {0xCF, 0x77}, {0xCF, 0x79}, {0xCF, 0x7A}, {0xCF, 0x7B}, /* 0x48-0x4B */ + {0xCF, 0x7C}, {0xCF, 0x7D}, {0xCF, 0x7E}, {0xCF, 0x7F}, /* 0x4C-0x4F */ + {0xCF, 0x81}, {0xCF, 0x82}, {0xCF, 0x83}, {0xCF, 0x84}, /* 0x50-0x53 */ + {0xCF, 0x86}, {0xCF, 0x87}, {0xCF, 0x88}, {0xCF, 0x89}, /* 0x54-0x57 */ + {0xCF, 0x8A}, {0xCF, 0x8B}, {0xCF, 0x8D}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCF, 0x8E}, {0xCF, 0x8F}, {0xCF, 0x90}, /* 0x60-0x63 */ + {0xCF, 0x91}, {0xCF, 0x92}, {0xCF, 0x93}, {0xCF, 0x94}, /* 0x64-0x67 */ + {0xCF, 0x95}, {0xCF, 0x96}, {0xCF, 0x97}, {0xCF, 0x98}, /* 0x68-0x6B */ + {0xCF, 0x99}, {0xCF, 0x9A}, {0xCF, 0x9B}, {0xCF, 0x9C}, /* 0x6C-0x6F */ + {0xCF, 0x9D}, {0xCF, 0x9E}, {0xCF, 0x9F}, {0xCF, 0xA0}, /* 0x70-0x73 */ + {0xCF, 0xA2}, {0xCF, 0xA3}, {0xCF, 0xA4}, {0xCF, 0xA5}, /* 0x74-0x77 */ + {0xCF, 0xA6}, {0xCF, 0xA7}, {0xCF, 0xA9}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xCF, 0xAA}, {0xCF, 0xAB}, {0xCF, 0xAC}, /* 0x80-0x83 */ + {0xCF, 0xAD}, {0xCF, 0xAE}, {0xCF, 0xAF}, {0xCF, 0xB1}, /* 0x84-0x87 */ + {0xCF, 0xB2}, {0xCF, 0xB3}, {0xCF, 0xB4}, {0xCF, 0xB5}, /* 0x88-0x8B */ + {0xCF, 0xB6}, {0xCF, 0xB7}, {0xCF, 0xB8}, {0xCF, 0xB9}, /* 0x8C-0x8F */ + {0xCF, 0xBA}, {0xCF, 0xBB}, {0xCF, 0xBC}, {0xCF, 0xBD}, /* 0x90-0x93 */ + {0xCF, 0xBE}, {0xCF, 0xBF}, {0xCF, 0xC0}, {0xCF, 0xC1}, /* 0x94-0x97 */ + {0xCF, 0xC2}, {0xCF, 0xC3}, {0xCF, 0xC5}, {0xCF, 0xC6}, /* 0x98-0x9B */ + {0xCF, 0xC7}, {0xCF, 0xC8}, {0xCF, 0xC9}, {0xCF, 0xCA}, /* 0x9C-0x9F */ + {0xCF, 0xCB}, {0xAE, 0x79}, {0xAE, 0x7B}, {0xAE, 0x7C}, /* 0xA0-0xA3 */ + {0xAE, 0x7D}, {0xAE, 0x84}, {0xAE, 0x85}, {0xAE, 0x8C}, /* 0xA4-0xA7 */ + {0xAE, 0xBC}, {0xAE, 0xBD}, {0xAE, 0xBE}, {0xAE, 0xC0}, /* 0xA8-0xAB */ + {0xAE, 0xC4}, {0xAE, 0xCC}, {0xAE, 0xCD}, {0xAE, 0xCF}, /* 0xAC-0xAF */ + {0xAE, 0xD0}, {0xAE, 0xD1}, {0xAE, 0xD8}, {0xAE, 0xD9}, /* 0xB0-0xB3 */ + {0xAE, 0xDC}, {0xAE, 0xE8}, {0xAE, 0xEB}, {0xAE, 0xED}, /* 0xB4-0xB7 */ + {0xAE, 0xF4}, {0xAE, 0xF8}, {0xAE, 0xFC}, {0xAF, 0x07}, /* 0xB8-0xBB */ + {0xAF, 0x08}, {0xAF, 0x0D}, {0xAF, 0x10}, {0xAF, 0x2C}, /* 0xBC-0xBF */ + {0xAF, 0x2D}, {0xAF, 0x30}, {0xAF, 0x32}, {0xAF, 0x34}, /* 0xC0-0xC3 */ + {0xAF, 0x3C}, {0xAF, 0x3D}, {0xAF, 0x3F}, {0xAF, 0x41}, /* 0xC4-0xC7 */ + {0xAF, 0x42}, {0xAF, 0x43}, {0xAF, 0x48}, {0xAF, 0x49}, /* 0xC8-0xCB */ + {0xAF, 0x50}, {0xAF, 0x5C}, {0xAF, 0x5D}, {0xAF, 0x64}, /* 0xCC-0xCF */ + {0xAF, 0x65}, {0xAF, 0x79}, {0xAF, 0x80}, {0xAF, 0x84}, /* 0xD0-0xD3 */ + {0xAF, 0x88}, {0xAF, 0x90}, {0xAF, 0x91}, {0xAF, 0x95}, /* 0xD4-0xD7 */ + {0xAF, 0x9C}, {0xAF, 0xB8}, {0xAF, 0xB9}, {0xAF, 0xBC}, /* 0xD8-0xDB */ + {0xAF, 0xC0}, {0xAF, 0xC7}, {0xAF, 0xC8}, {0xAF, 0xC9}, /* 0xDC-0xDF */ + {0xAF, 0xCB}, {0xAF, 0xCD}, {0xAF, 0xCE}, {0xAF, 0xD4}, /* 0xE0-0xE3 */ + {0xAF, 0xDC}, {0xAF, 0xE8}, {0xAF, 0xE9}, {0xAF, 0xF0}, /* 0xE4-0xE7 */ + {0xAF, 0xF1}, {0xAF, 0xF4}, {0xAF, 0xF8}, {0xB0, 0x00}, /* 0xE8-0xEB */ + {0xB0, 0x01}, {0xB0, 0x04}, {0xB0, 0x0C}, {0xB0, 0x10}, /* 0xEC-0xEF */ + {0xB0, 0x14}, {0xB0, 0x1C}, {0xB0, 0x1D}, {0xB0, 0x28}, /* 0xF0-0xF3 */ + {0xB0, 0x44}, {0xB0, 0x45}, {0xB0, 0x48}, {0xB0, 0x4A}, /* 0xF4-0xF7 */ + {0xB0, 0x4C}, {0xB0, 0x4E}, {0xB0, 0x53}, {0xB0, 0x54}, /* 0xF8-0xFB */ + {0xB0, 0x55}, {0xB0, 0x57}, {0xB0, 0x59}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xCF, 0xCC}, {0xCF, 0xCD}, {0xCF, 0xCE}, /* 0x40-0x43 */ + {0xCF, 0xCF}, {0xCF, 0xD0}, {0xCF, 0xD1}, {0xCF, 0xD2}, /* 0x44-0x47 */ + {0xCF, 0xD3}, {0xCF, 0xD4}, {0xCF, 0xD5}, {0xCF, 0xD6}, /* 0x48-0x4B */ + {0xCF, 0xD7}, {0xCF, 0xD8}, {0xCF, 0xD9}, {0xCF, 0xDA}, /* 0x4C-0x4F */ + {0xCF, 0xDB}, {0xCF, 0xDC}, {0xCF, 0xDD}, {0xCF, 0xDE}, /* 0x50-0x53 */ + {0xCF, 0xDF}, {0xCF, 0xE2}, {0xCF, 0xE3}, {0xCF, 0xE5}, /* 0x54-0x57 */ + {0xCF, 0xE6}, {0xCF, 0xE7}, {0xCF, 0xE9}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xCF, 0xEA}, {0xCF, 0xEB}, {0xCF, 0xEC}, /* 0x60-0x63 */ + {0xCF, 0xED}, {0xCF, 0xEE}, {0xCF, 0xEF}, {0xCF, 0xF2}, /* 0x64-0x67 */ + {0xCF, 0xF4}, {0xCF, 0xF6}, {0xCF, 0xF7}, {0xCF, 0xF8}, /* 0x68-0x6B */ + {0xCF, 0xF9}, {0xCF, 0xFA}, {0xCF, 0xFB}, {0xCF, 0xFD}, /* 0x6C-0x6F */ + {0xCF, 0xFE}, {0xCF, 0xFF}, {0xD0, 0x01}, {0xD0, 0x02}, /* 0x70-0x73 */ + {0xD0, 0x03}, {0xD0, 0x05}, {0xD0, 0x06}, {0xD0, 0x07}, /* 0x74-0x77 */ + {0xD0, 0x08}, {0xD0, 0x09}, {0xD0, 0x0A}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD0, 0x0B}, {0xD0, 0x0C}, {0xD0, 0x0D}, /* 0x80-0x83 */ + {0xD0, 0x0E}, {0xD0, 0x0F}, {0xD0, 0x10}, {0xD0, 0x12}, /* 0x84-0x87 */ + {0xD0, 0x13}, {0xD0, 0x14}, {0xD0, 0x15}, {0xD0, 0x16}, /* 0x88-0x8B */ + {0xD0, 0x17}, {0xD0, 0x19}, {0xD0, 0x1A}, {0xD0, 0x1B}, /* 0x8C-0x8F */ + {0xD0, 0x1C}, {0xD0, 0x1D}, {0xD0, 0x1E}, {0xD0, 0x1F}, /* 0x90-0x93 */ + {0xD0, 0x20}, {0xD0, 0x21}, {0xD0, 0x22}, {0xD0, 0x23}, /* 0x94-0x97 */ + {0xD0, 0x24}, {0xD0, 0x25}, {0xD0, 0x26}, {0xD0, 0x27}, /* 0x98-0x9B */ + {0xD0, 0x28}, {0xD0, 0x29}, {0xD0, 0x2A}, {0xD0, 0x2B}, /* 0x9C-0x9F */ + {0xD0, 0x2C}, {0xB0, 0x5D}, {0xB0, 0x7C}, {0xB0, 0x7D}, /* 0xA0-0xA3 */ + {0xB0, 0x80}, {0xB0, 0x84}, {0xB0, 0x8C}, {0xB0, 0x8D}, /* 0xA4-0xA7 */ + {0xB0, 0x8F}, {0xB0, 0x91}, {0xB0, 0x98}, {0xB0, 0x99}, /* 0xA8-0xAB */ + {0xB0, 0x9A}, {0xB0, 0x9C}, {0xB0, 0x9F}, {0xB0, 0xA0}, /* 0xAC-0xAF */ + {0xB0, 0xA1}, {0xB0, 0xA2}, {0xB0, 0xA8}, {0xB0, 0xA9}, /* 0xB0-0xB3 */ + {0xB0, 0xAB}, {0xB0, 0xAC}, {0xB0, 0xAD}, {0xB0, 0xAE}, /* 0xB4-0xB7 */ + {0xB0, 0xAF}, {0xB0, 0xB1}, {0xB0, 0xB3}, {0xB0, 0xB4}, /* 0xB8-0xBB */ + {0xB0, 0xB5}, {0xB0, 0xB8}, {0xB0, 0xBC}, {0xB0, 0xC4}, /* 0xBC-0xBF */ + {0xB0, 0xC5}, {0xB0, 0xC7}, {0xB0, 0xC8}, {0xB0, 0xC9}, /* 0xC0-0xC3 */ + {0xB0, 0xD0}, {0xB0, 0xD1}, {0xB0, 0xD4}, {0xB0, 0xD8}, /* 0xC4-0xC7 */ + {0xB0, 0xE0}, {0xB0, 0xE5}, {0xB1, 0x08}, {0xB1, 0x09}, /* 0xC8-0xCB */ + {0xB1, 0x0B}, {0xB1, 0x0C}, {0xB1, 0x10}, {0xB1, 0x12}, /* 0xCC-0xCF */ + {0xB1, 0x13}, {0xB1, 0x18}, {0xB1, 0x19}, {0xB1, 0x1B}, /* 0xD0-0xD3 */ + {0xB1, 0x1C}, {0xB1, 0x1D}, {0xB1, 0x23}, {0xB1, 0x24}, /* 0xD4-0xD7 */ + {0xB1, 0x25}, {0xB1, 0x28}, {0xB1, 0x2C}, {0xB1, 0x34}, /* 0xD8-0xDB */ + {0xB1, 0x35}, {0xB1, 0x37}, {0xB1, 0x38}, {0xB1, 0x39}, /* 0xDC-0xDF */ + {0xB1, 0x40}, {0xB1, 0x41}, {0xB1, 0x44}, {0xB1, 0x48}, /* 0xE0-0xE3 */ + {0xB1, 0x50}, {0xB1, 0x51}, {0xB1, 0x54}, {0xB1, 0x55}, /* 0xE4-0xE7 */ + {0xB1, 0x58}, {0xB1, 0x5C}, {0xB1, 0x60}, {0xB1, 0x78}, /* 0xE8-0xEB */ + {0xB1, 0x79}, {0xB1, 0x7C}, {0xB1, 0x80}, {0xB1, 0x82}, /* 0xEC-0xEF */ + {0xB1, 0x88}, {0xB1, 0x89}, {0xB1, 0x8B}, {0xB1, 0x8D}, /* 0xF0-0xF3 */ + {0xB1, 0x92}, {0xB1, 0x93}, {0xB1, 0x94}, {0xB1, 0x98}, /* 0xF4-0xF7 */ + {0xB1, 0x9C}, {0xB1, 0xA8}, {0xB1, 0xCC}, {0xB1, 0xD0}, /* 0xF8-0xFB */ + {0xB1, 0xD4}, {0xB1, 0xDC}, {0xB1, 0xDD}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD0, 0x2E}, {0xD0, 0x2F}, {0xD0, 0x30}, /* 0x40-0x43 */ + {0xD0, 0x31}, {0xD0, 0x32}, {0xD0, 0x33}, {0xD0, 0x36}, /* 0x44-0x47 */ + {0xD0, 0x37}, {0xD0, 0x39}, {0xD0, 0x3A}, {0xD0, 0x3B}, /* 0x48-0x4B */ + {0xD0, 0x3D}, {0xD0, 0x3E}, {0xD0, 0x3F}, {0xD0, 0x40}, /* 0x4C-0x4F */ + {0xD0, 0x41}, {0xD0, 0x42}, {0xD0, 0x43}, {0xD0, 0x46}, /* 0x50-0x53 */ + {0xD0, 0x48}, {0xD0, 0x4A}, {0xD0, 0x4B}, {0xD0, 0x4C}, /* 0x54-0x57 */ + {0xD0, 0x4D}, {0xD0, 0x4E}, {0xD0, 0x4F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD0, 0x51}, {0xD0, 0x52}, {0xD0, 0x53}, /* 0x60-0x63 */ + {0xD0, 0x55}, {0xD0, 0x56}, {0xD0, 0x57}, {0xD0, 0x59}, /* 0x64-0x67 */ + {0xD0, 0x5A}, {0xD0, 0x5B}, {0xD0, 0x5C}, {0xD0, 0x5D}, /* 0x68-0x6B */ + {0xD0, 0x5E}, {0xD0, 0x5F}, {0xD0, 0x61}, {0xD0, 0x62}, /* 0x6C-0x6F */ + {0xD0, 0x63}, {0xD0, 0x64}, {0xD0, 0x65}, {0xD0, 0x66}, /* 0x70-0x73 */ + {0xD0, 0x67}, {0xD0, 0x68}, {0xD0, 0x69}, {0xD0, 0x6A}, /* 0x74-0x77 */ + {0xD0, 0x6B}, {0xD0, 0x6E}, {0xD0, 0x6F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD0, 0x71}, {0xD0, 0x72}, {0xD0, 0x73}, /* 0x80-0x83 */ + {0xD0, 0x75}, {0xD0, 0x76}, {0xD0, 0x77}, {0xD0, 0x78}, /* 0x84-0x87 */ + {0xD0, 0x79}, {0xD0, 0x7A}, {0xD0, 0x7B}, {0xD0, 0x7E}, /* 0x88-0x8B */ + {0xD0, 0x7F}, {0xD0, 0x80}, {0xD0, 0x82}, {0xD0, 0x83}, /* 0x8C-0x8F */ + {0xD0, 0x84}, {0xD0, 0x85}, {0xD0, 0x86}, {0xD0, 0x87}, /* 0x90-0x93 */ + {0xD0, 0x88}, {0xD0, 0x89}, {0xD0, 0x8A}, {0xD0, 0x8B}, /* 0x94-0x97 */ + {0xD0, 0x8C}, {0xD0, 0x8D}, {0xD0, 0x8E}, {0xD0, 0x8F}, /* 0x98-0x9B */ + {0xD0, 0x90}, {0xD0, 0x91}, {0xD0, 0x92}, {0xD0, 0x93}, /* 0x9C-0x9F */ + {0xD0, 0x94}, {0xB1, 0xDF}, {0xB1, 0xE8}, {0xB1, 0xE9}, /* 0xA0-0xA3 */ + {0xB1, 0xEC}, {0xB1, 0xF0}, {0xB1, 0xF9}, {0xB1, 0xFB}, /* 0xA4-0xA7 */ + {0xB1, 0xFD}, {0xB2, 0x04}, {0xB2, 0x05}, {0xB2, 0x08}, /* 0xA8-0xAB */ + {0xB2, 0x0B}, {0xB2, 0x0C}, {0xB2, 0x14}, {0xB2, 0x15}, /* 0xAC-0xAF */ + {0xB2, 0x17}, {0xB2, 0x19}, {0xB2, 0x20}, {0xB2, 0x34}, /* 0xB0-0xB3 */ + {0xB2, 0x3C}, {0xB2, 0x58}, {0xB2, 0x5C}, {0xB2, 0x60}, /* 0xB4-0xB7 */ + {0xB2, 0x68}, {0xB2, 0x69}, {0xB2, 0x74}, {0xB2, 0x75}, /* 0xB8-0xBB */ + {0xB2, 0x7C}, {0xB2, 0x84}, {0xB2, 0x85}, {0xB2, 0x89}, /* 0xBC-0xBF */ + {0xB2, 0x90}, {0xB2, 0x91}, {0xB2, 0x94}, {0xB2, 0x98}, /* 0xC0-0xC3 */ + {0xB2, 0x99}, {0xB2, 0x9A}, {0xB2, 0xA0}, {0xB2, 0xA1}, /* 0xC4-0xC7 */ + {0xB2, 0xA3}, {0xB2, 0xA5}, {0xB2, 0xA6}, {0xB2, 0xAA}, /* 0xC8-0xCB */ + {0xB2, 0xAC}, {0xB2, 0xB0}, {0xB2, 0xB4}, {0xB2, 0xC8}, /* 0xCC-0xCF */ + {0xB2, 0xC9}, {0xB2, 0xCC}, {0xB2, 0xD0}, {0xB2, 0xD2}, /* 0xD0-0xD3 */ + {0xB2, 0xD8}, {0xB2, 0xD9}, {0xB2, 0xDB}, {0xB2, 0xDD}, /* 0xD4-0xD7 */ + {0xB2, 0xE2}, {0xB2, 0xE4}, {0xB2, 0xE5}, {0xB2, 0xE6}, /* 0xD8-0xDB */ + {0xB2, 0xE8}, {0xB2, 0xEB}, {0xB2, 0xEC}, {0xB2, 0xED}, /* 0xDC-0xDF */ + {0xB2, 0xEE}, {0xB2, 0xEF}, {0xB2, 0xF3}, {0xB2, 0xF4}, /* 0xE0-0xE3 */ + {0xB2, 0xF5}, {0xB2, 0xF7}, {0xB2, 0xF8}, {0xB2, 0xF9}, /* 0xE4-0xE7 */ + {0xB2, 0xFA}, {0xB2, 0xFB}, {0xB2, 0xFF}, {0xB3, 0x00}, /* 0xE8-0xEB */ + {0xB3, 0x01}, {0xB3, 0x04}, {0xB3, 0x08}, {0xB3, 0x10}, /* 0xEC-0xEF */ + {0xB3, 0x11}, {0xB3, 0x13}, {0xB3, 0x14}, {0xB3, 0x15}, /* 0xF0-0xF3 */ + {0xB3, 0x1C}, {0xB3, 0x54}, {0xB3, 0x55}, {0xB3, 0x56}, /* 0xF4-0xF7 */ + {0xB3, 0x58}, {0xB3, 0x5B}, {0xB3, 0x5C}, {0xB3, 0x5E}, /* 0xF8-0xFB */ + {0xB3, 0x5F}, {0xB3, 0x64}, {0xB3, 0x65}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD0, 0x95}, {0xD0, 0x96}, {0xD0, 0x97}, /* 0x40-0x43 */ + {0xD0, 0x98}, {0xD0, 0x99}, {0xD0, 0x9A}, {0xD0, 0x9B}, /* 0x44-0x47 */ + {0xD0, 0x9C}, {0xD0, 0x9D}, {0xD0, 0x9E}, {0xD0, 0x9F}, /* 0x48-0x4B */ + {0xD0, 0xA0}, {0xD0, 0xA1}, {0xD0, 0xA2}, {0xD0, 0xA3}, /* 0x4C-0x4F */ + {0xD0, 0xA6}, {0xD0, 0xA7}, {0xD0, 0xA9}, {0xD0, 0xAA}, /* 0x50-0x53 */ + {0xD0, 0xAB}, {0xD0, 0xAD}, {0xD0, 0xAE}, {0xD0, 0xAF}, /* 0x54-0x57 */ + {0xD0, 0xB0}, {0xD0, 0xB1}, {0xD0, 0xB2}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD0, 0xB3}, {0xD0, 0xB6}, {0xD0, 0xB8}, /* 0x60-0x63 */ + {0xD0, 0xBA}, {0xD0, 0xBB}, {0xD0, 0xBC}, {0xD0, 0xBD}, /* 0x64-0x67 */ + {0xD0, 0xBE}, {0xD0, 0xBF}, {0xD0, 0xC2}, {0xD0, 0xC3}, /* 0x68-0x6B */ + {0xD0, 0xC5}, {0xD0, 0xC6}, {0xD0, 0xC7}, {0xD0, 0xCA}, /* 0x6C-0x6F */ + {0xD0, 0xCB}, {0xD0, 0xCC}, {0xD0, 0xCD}, {0xD0, 0xCE}, /* 0x70-0x73 */ + {0xD0, 0xCF}, {0xD0, 0xD2}, {0xD0, 0xD6}, {0xD0, 0xD7}, /* 0x74-0x77 */ + {0xD0, 0xD8}, {0xD0, 0xD9}, {0xD0, 0xDA}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD0, 0xDB}, {0xD0, 0xDE}, {0xD0, 0xDF}, /* 0x80-0x83 */ + {0xD0, 0xE1}, {0xD0, 0xE2}, {0xD0, 0xE3}, {0xD0, 0xE5}, /* 0x84-0x87 */ + {0xD0, 0xE6}, {0xD0, 0xE7}, {0xD0, 0xE8}, {0xD0, 0xE9}, /* 0x88-0x8B */ + {0xD0, 0xEA}, {0xD0, 0xEB}, {0xD0, 0xEE}, {0xD0, 0xF2}, /* 0x8C-0x8F */ + {0xD0, 0xF3}, {0xD0, 0xF4}, {0xD0, 0xF5}, {0xD0, 0xF6}, /* 0x90-0x93 */ + {0xD0, 0xF7}, {0xD0, 0xF9}, {0xD0, 0xFA}, {0xD0, 0xFB}, /* 0x94-0x97 */ + {0xD0, 0xFC}, {0xD0, 0xFD}, {0xD0, 0xFE}, {0xD0, 0xFF}, /* 0x98-0x9B */ + {0xD1, 0x00}, {0xD1, 0x01}, {0xD1, 0x02}, {0xD1, 0x03}, /* 0x9C-0x9F */ + {0xD1, 0x04}, {0xB3, 0x67}, {0xB3, 0x69}, {0xB3, 0x6B}, /* 0xA0-0xA3 */ + {0xB3, 0x6E}, {0xB3, 0x70}, {0xB3, 0x71}, {0xB3, 0x74}, /* 0xA4-0xA7 */ + {0xB3, 0x78}, {0xB3, 0x80}, {0xB3, 0x81}, {0xB3, 0x83}, /* 0xA8-0xAB */ + {0xB3, 0x84}, {0xB3, 0x85}, {0xB3, 0x8C}, {0xB3, 0x90}, /* 0xAC-0xAF */ + {0xB3, 0x94}, {0xB3, 0xA0}, {0xB3, 0xA1}, {0xB3, 0xA8}, /* 0xB0-0xB3 */ + {0xB3, 0xAC}, {0xB3, 0xC4}, {0xB3, 0xC5}, {0xB3, 0xC8}, /* 0xB4-0xB7 */ + {0xB3, 0xCB}, {0xB3, 0xCC}, {0xB3, 0xCE}, {0xB3, 0xD0}, /* 0xB8-0xBB */ + {0xB3, 0xD4}, {0xB3, 0xD5}, {0xB3, 0xD7}, {0xB3, 0xD9}, /* 0xBC-0xBF */ + {0xB3, 0xDB}, {0xB3, 0xDD}, {0xB3, 0xE0}, {0xB3, 0xE4}, /* 0xC0-0xC3 */ + {0xB3, 0xE8}, {0xB3, 0xFC}, {0xB4, 0x10}, {0xB4, 0x18}, /* 0xC4-0xC7 */ + {0xB4, 0x1C}, {0xB4, 0x20}, {0xB4, 0x28}, {0xB4, 0x29}, /* 0xC8-0xCB */ + {0xB4, 0x2B}, {0xB4, 0x34}, {0xB4, 0x50}, {0xB4, 0x51}, /* 0xCC-0xCF */ + {0xB4, 0x54}, {0xB4, 0x58}, {0xB4, 0x60}, {0xB4, 0x61}, /* 0xD0-0xD3 */ + {0xB4, 0x63}, {0xB4, 0x65}, {0xB4, 0x6C}, {0xB4, 0x80}, /* 0xD4-0xD7 */ + {0xB4, 0x88}, {0xB4, 0x9D}, {0xB4, 0xA4}, {0xB4, 0xA8}, /* 0xD8-0xDB */ + {0xB4, 0xAC}, {0xB4, 0xB5}, {0xB4, 0xB7}, {0xB4, 0xB9}, /* 0xDC-0xDF */ + {0xB4, 0xC0}, {0xB4, 0xC4}, {0xB4, 0xC8}, {0xB4, 0xD0}, /* 0xE0-0xE3 */ + {0xB4, 0xD5}, {0xB4, 0xDC}, {0xB4, 0xDD}, {0xB4, 0xE0}, /* 0xE4-0xE7 */ + {0xB4, 0xE3}, {0xB4, 0xE4}, {0xB4, 0xE6}, {0xB4, 0xEC}, /* 0xE8-0xEB */ + {0xB4, 0xED}, {0xB4, 0xEF}, {0xB4, 0xF1}, {0xB4, 0xF8}, /* 0xEC-0xEF */ + {0xB5, 0x14}, {0xB5, 0x15}, {0xB5, 0x18}, {0xB5, 0x1B}, /* 0xF0-0xF3 */ + {0xB5, 0x1C}, {0xB5, 0x24}, {0xB5, 0x25}, {0xB5, 0x27}, /* 0xF4-0xF7 */ + {0xB5, 0x28}, {0xB5, 0x29}, {0xB5, 0x2A}, {0xB5, 0x30}, /* 0xF8-0xFB */ + {0xB5, 0x31}, {0xB5, 0x34}, {0xB5, 0x38}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD1, 0x05}, {0xD1, 0x06}, {0xD1, 0x07}, /* 0x40-0x43 */ + {0xD1, 0x08}, {0xD1, 0x09}, {0xD1, 0x0A}, {0xD1, 0x0B}, /* 0x44-0x47 */ + {0xD1, 0x0C}, {0xD1, 0x0E}, {0xD1, 0x0F}, {0xD1, 0x10}, /* 0x48-0x4B */ + {0xD1, 0x11}, {0xD1, 0x12}, {0xD1, 0x13}, {0xD1, 0x14}, /* 0x4C-0x4F */ + {0xD1, 0x15}, {0xD1, 0x16}, {0xD1, 0x17}, {0xD1, 0x18}, /* 0x50-0x53 */ + {0xD1, 0x19}, {0xD1, 0x1A}, {0xD1, 0x1B}, {0xD1, 0x1C}, /* 0x54-0x57 */ + {0xD1, 0x1D}, {0xD1, 0x1E}, {0xD1, 0x1F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD1, 0x20}, {0xD1, 0x21}, {0xD1, 0x22}, /* 0x60-0x63 */ + {0xD1, 0x23}, {0xD1, 0x24}, {0xD1, 0x25}, {0xD1, 0x26}, /* 0x64-0x67 */ + {0xD1, 0x27}, {0xD1, 0x28}, {0xD1, 0x29}, {0xD1, 0x2A}, /* 0x68-0x6B */ + {0xD1, 0x2B}, {0xD1, 0x2C}, {0xD1, 0x2D}, {0xD1, 0x2E}, /* 0x6C-0x6F */ + {0xD1, 0x2F}, {0xD1, 0x32}, {0xD1, 0x33}, {0xD1, 0x35}, /* 0x70-0x73 */ + {0xD1, 0x36}, {0xD1, 0x37}, {0xD1, 0x39}, {0xD1, 0x3B}, /* 0x74-0x77 */ + {0xD1, 0x3C}, {0xD1, 0x3D}, {0xD1, 0x3E}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD1, 0x3F}, {0xD1, 0x42}, {0xD1, 0x46}, /* 0x80-0x83 */ + {0xD1, 0x47}, {0xD1, 0x48}, {0xD1, 0x49}, {0xD1, 0x4A}, /* 0x84-0x87 */ + {0xD1, 0x4B}, {0xD1, 0x4E}, {0xD1, 0x4F}, {0xD1, 0x51}, /* 0x88-0x8B */ + {0xD1, 0x52}, {0xD1, 0x53}, {0xD1, 0x55}, {0xD1, 0x56}, /* 0x8C-0x8F */ + {0xD1, 0x57}, {0xD1, 0x58}, {0xD1, 0x59}, {0xD1, 0x5A}, /* 0x90-0x93 */ + {0xD1, 0x5B}, {0xD1, 0x5E}, {0xD1, 0x60}, {0xD1, 0x62}, /* 0x94-0x97 */ + {0xD1, 0x63}, {0xD1, 0x64}, {0xD1, 0x65}, {0xD1, 0x66}, /* 0x98-0x9B */ + {0xD1, 0x67}, {0xD1, 0x69}, {0xD1, 0x6A}, {0xD1, 0x6B}, /* 0x9C-0x9F */ + {0xD1, 0x6D}, {0xB5, 0x40}, {0xB5, 0x41}, {0xB5, 0x43}, /* 0xA0-0xA3 */ + {0xB5, 0x44}, {0xB5, 0x45}, {0xB5, 0x4B}, {0xB5, 0x4C}, /* 0xA4-0xA7 */ + {0xB5, 0x4D}, {0xB5, 0x50}, {0xB5, 0x54}, {0xB5, 0x5C}, /* 0xA8-0xAB */ + {0xB5, 0x5D}, {0xB5, 0x5F}, {0xB5, 0x60}, {0xB5, 0x61}, /* 0xAC-0xAF */ + {0xB5, 0xA0}, {0xB5, 0xA1}, {0xB5, 0xA4}, {0xB5, 0xA8}, /* 0xB0-0xB3 */ + {0xB5, 0xAA}, {0xB5, 0xAB}, {0xB5, 0xB0}, {0xB5, 0xB1}, /* 0xB4-0xB7 */ + {0xB5, 0xB3}, {0xB5, 0xB4}, {0xB5, 0xB5}, {0xB5, 0xBB}, /* 0xB8-0xBB */ + {0xB5, 0xBC}, {0xB5, 0xBD}, {0xB5, 0xC0}, {0xB5, 0xC4}, /* 0xBC-0xBF */ + {0xB5, 0xCC}, {0xB5, 0xCD}, {0xB5, 0xCF}, {0xB5, 0xD0}, /* 0xC0-0xC3 */ + {0xB5, 0xD1}, {0xB5, 0xD8}, {0xB5, 0xEC}, {0xB6, 0x10}, /* 0xC4-0xC7 */ + {0xB6, 0x11}, {0xB6, 0x14}, {0xB6, 0x18}, {0xB6, 0x25}, /* 0xC8-0xCB */ + {0xB6, 0x2C}, {0xB6, 0x34}, {0xB6, 0x48}, {0xB6, 0x64}, /* 0xCC-0xCF */ + {0xB6, 0x68}, {0xB6, 0x9C}, {0xB6, 0x9D}, {0xB6, 0xA0}, /* 0xD0-0xD3 */ + {0xB6, 0xA4}, {0xB6, 0xAB}, {0xB6, 0xAC}, {0xB6, 0xB1}, /* 0xD4-0xD7 */ + {0xB6, 0xD4}, {0xB6, 0xF0}, {0xB6, 0xF4}, {0xB6, 0xF8}, /* 0xD8-0xDB */ + {0xB7, 0x00}, {0xB7, 0x01}, {0xB7, 0x05}, {0xB7, 0x28}, /* 0xDC-0xDF */ + {0xB7, 0x29}, {0xB7, 0x2C}, {0xB7, 0x2F}, {0xB7, 0x30}, /* 0xE0-0xE3 */ + {0xB7, 0x38}, {0xB7, 0x39}, {0xB7, 0x3B}, {0xB7, 0x44}, /* 0xE4-0xE7 */ + {0xB7, 0x48}, {0xB7, 0x4C}, {0xB7, 0x54}, {0xB7, 0x55}, /* 0xE8-0xEB */ + {0xB7, 0x60}, {0xB7, 0x64}, {0xB7, 0x68}, {0xB7, 0x70}, /* 0xEC-0xEF */ + {0xB7, 0x71}, {0xB7, 0x73}, {0xB7, 0x75}, {0xB7, 0x7C}, /* 0xF0-0xF3 */ + {0xB7, 0x7D}, {0xB7, 0x80}, {0xB7, 0x84}, {0xB7, 0x8C}, /* 0xF4-0xF7 */ + {0xB7, 0x8D}, {0xB7, 0x8F}, {0xB7, 0x90}, {0xB7, 0x91}, /* 0xF8-0xFB */ + {0xB7, 0x92}, {0xB7, 0x96}, {0xB7, 0x97}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD1, 0x6E}, {0xD1, 0x6F}, {0xD1, 0x70}, /* 0x40-0x43 */ + {0xD1, 0x71}, {0xD1, 0x72}, {0xD1, 0x73}, {0xD1, 0x74}, /* 0x44-0x47 */ + {0xD1, 0x75}, {0xD1, 0x76}, {0xD1, 0x77}, {0xD1, 0x78}, /* 0x48-0x4B */ + {0xD1, 0x79}, {0xD1, 0x7A}, {0xD1, 0x7B}, {0xD1, 0x7D}, /* 0x4C-0x4F */ + {0xD1, 0x7E}, {0xD1, 0x7F}, {0xD1, 0x80}, {0xD1, 0x81}, /* 0x50-0x53 */ + {0xD1, 0x82}, {0xD1, 0x83}, {0xD1, 0x85}, {0xD1, 0x86}, /* 0x54-0x57 */ + {0xD1, 0x87}, {0xD1, 0x89}, {0xD1, 0x8A}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD1, 0x8B}, {0xD1, 0x8C}, {0xD1, 0x8D}, /* 0x60-0x63 */ + {0xD1, 0x8E}, {0xD1, 0x8F}, {0xD1, 0x90}, {0xD1, 0x91}, /* 0x64-0x67 */ + {0xD1, 0x92}, {0xD1, 0x93}, {0xD1, 0x94}, {0xD1, 0x95}, /* 0x68-0x6B */ + {0xD1, 0x96}, {0xD1, 0x97}, {0xD1, 0x98}, {0xD1, 0x99}, /* 0x6C-0x6F */ + {0xD1, 0x9A}, {0xD1, 0x9B}, {0xD1, 0x9C}, {0xD1, 0x9D}, /* 0x70-0x73 */ + {0xD1, 0x9E}, {0xD1, 0x9F}, {0xD1, 0xA2}, {0xD1, 0xA3}, /* 0x74-0x77 */ + {0xD1, 0xA5}, {0xD1, 0xA6}, {0xD1, 0xA7}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD1, 0xA9}, {0xD1, 0xAA}, {0xD1, 0xAB}, /* 0x80-0x83 */ + {0xD1, 0xAC}, {0xD1, 0xAD}, {0xD1, 0xAE}, {0xD1, 0xAF}, /* 0x84-0x87 */ + {0xD1, 0xB2}, {0xD1, 0xB4}, {0xD1, 0xB6}, {0xD1, 0xB7}, /* 0x88-0x8B */ + {0xD1, 0xB8}, {0xD1, 0xB9}, {0xD1, 0xBB}, {0xD1, 0xBD}, /* 0x8C-0x8F */ + {0xD1, 0xBE}, {0xD1, 0xBF}, {0xD1, 0xC1}, {0xD1, 0xC2}, /* 0x90-0x93 */ + {0xD1, 0xC3}, {0xD1, 0xC4}, {0xD1, 0xC5}, {0xD1, 0xC6}, /* 0x94-0x97 */ + {0xD1, 0xC7}, {0xD1, 0xC8}, {0xD1, 0xC9}, {0xD1, 0xCA}, /* 0x98-0x9B */ + {0xD1, 0xCB}, {0xD1, 0xCC}, {0xD1, 0xCD}, {0xD1, 0xCE}, /* 0x9C-0x9F */ + {0xD1, 0xCF}, {0xB7, 0x98}, {0xB7, 0x99}, {0xB7, 0x9C}, /* 0xA0-0xA3 */ + {0xB7, 0xA0}, {0xB7, 0xA8}, {0xB7, 0xA9}, {0xB7, 0xAB}, /* 0xA4-0xA7 */ + {0xB7, 0xAC}, {0xB7, 0xAD}, {0xB7, 0xB4}, {0xB7, 0xB5}, /* 0xA8-0xAB */ + {0xB7, 0xB8}, {0xB7, 0xC7}, {0xB7, 0xC9}, {0xB7, 0xEC}, /* 0xAC-0xAF */ + {0xB7, 0xED}, {0xB7, 0xF0}, {0xB7, 0xF4}, {0xB7, 0xFC}, /* 0xB0-0xB3 */ + {0xB7, 0xFD}, {0xB7, 0xFF}, {0xB8, 0x00}, {0xB8, 0x01}, /* 0xB4-0xB7 */ + {0xB8, 0x07}, {0xB8, 0x08}, {0xB8, 0x09}, {0xB8, 0x0C}, /* 0xB8-0xBB */ + {0xB8, 0x10}, {0xB8, 0x18}, {0xB8, 0x19}, {0xB8, 0x1B}, /* 0xBC-0xBF */ + {0xB8, 0x1D}, {0xB8, 0x24}, {0xB8, 0x25}, {0xB8, 0x28}, /* 0xC0-0xC3 */ + {0xB8, 0x2C}, {0xB8, 0x34}, {0xB8, 0x35}, {0xB8, 0x37}, /* 0xC4-0xC7 */ + {0xB8, 0x38}, {0xB8, 0x39}, {0xB8, 0x40}, {0xB8, 0x44}, /* 0xC8-0xCB */ + {0xB8, 0x51}, {0xB8, 0x53}, {0xB8, 0x5C}, {0xB8, 0x5D}, /* 0xCC-0xCF */ + {0xB8, 0x60}, {0xB8, 0x64}, {0xB8, 0x6C}, {0xB8, 0x6D}, /* 0xD0-0xD3 */ + {0xB8, 0x6F}, {0xB8, 0x71}, {0xB8, 0x78}, {0xB8, 0x7C}, /* 0xD4-0xD7 */ + {0xB8, 0x8D}, {0xB8, 0xA8}, {0xB8, 0xB0}, {0xB8, 0xB4}, /* 0xD8-0xDB */ + {0xB8, 0xB8}, {0xB8, 0xC0}, {0xB8, 0xC1}, {0xB8, 0xC3}, /* 0xDC-0xDF */ + {0xB8, 0xC5}, {0xB8, 0xCC}, {0xB8, 0xD0}, {0xB8, 0xD4}, /* 0xE0-0xE3 */ + {0xB8, 0xDD}, {0xB8, 0xDF}, {0xB8, 0xE1}, {0xB8, 0xE8}, /* 0xE4-0xE7 */ + {0xB8, 0xE9}, {0xB8, 0xEC}, {0xB8, 0xF0}, {0xB8, 0xF8}, /* 0xE8-0xEB */ + {0xB8, 0xF9}, {0xB8, 0xFB}, {0xB8, 0xFD}, {0xB9, 0x04}, /* 0xEC-0xEF */ + {0xB9, 0x18}, {0xB9, 0x20}, {0xB9, 0x3C}, {0xB9, 0x3D}, /* 0xF0-0xF3 */ + {0xB9, 0x40}, {0xB9, 0x44}, {0xB9, 0x4C}, {0xB9, 0x4F}, /* 0xF4-0xF7 */ + {0xB9, 0x51}, {0xB9, 0x58}, {0xB9, 0x59}, {0xB9, 0x5C}, /* 0xF8-0xFB */ + {0xB9, 0x60}, {0xB9, 0x68}, {0xB9, 0x69}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD1, 0xD0}, {0xD1, 0xD1}, {0xD1, 0xD2}, /* 0x40-0x43 */ + {0xD1, 0xD3}, {0xD1, 0xD4}, {0xD1, 0xD5}, {0xD1, 0xD6}, /* 0x44-0x47 */ + {0xD1, 0xD7}, {0xD1, 0xD9}, {0xD1, 0xDA}, {0xD1, 0xDB}, /* 0x48-0x4B */ + {0xD1, 0xDC}, {0xD1, 0xDD}, {0xD1, 0xDE}, {0xD1, 0xDF}, /* 0x4C-0x4F */ + {0xD1, 0xE0}, {0xD1, 0xE1}, {0xD1, 0xE2}, {0xD1, 0xE3}, /* 0x50-0x53 */ + {0xD1, 0xE4}, {0xD1, 0xE5}, {0xD1, 0xE6}, {0xD1, 0xE7}, /* 0x54-0x57 */ + {0xD1, 0xE8}, {0xD1, 0xE9}, {0xD1, 0xEA}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD1, 0xEB}, {0xD1, 0xEC}, {0xD1, 0xED}, /* 0x60-0x63 */ + {0xD1, 0xEE}, {0xD1, 0xEF}, {0xD1, 0xF0}, {0xD1, 0xF1}, /* 0x64-0x67 */ + {0xD1, 0xF2}, {0xD1, 0xF3}, {0xD1, 0xF5}, {0xD1, 0xF6}, /* 0x68-0x6B */ + {0xD1, 0xF7}, {0xD1, 0xF9}, {0xD1, 0xFA}, {0xD1, 0xFB}, /* 0x6C-0x6F */ + {0xD1, 0xFC}, {0xD1, 0xFD}, {0xD1, 0xFE}, {0xD1, 0xFF}, /* 0x70-0x73 */ + {0xD2, 0x00}, {0xD2, 0x01}, {0xD2, 0x02}, {0xD2, 0x03}, /* 0x74-0x77 */ + {0xD2, 0x04}, {0xD2, 0x05}, {0xD2, 0x06}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD2, 0x08}, {0xD2, 0x0A}, {0xD2, 0x0B}, /* 0x80-0x83 */ + {0xD2, 0x0C}, {0xD2, 0x0D}, {0xD2, 0x0E}, {0xD2, 0x0F}, /* 0x84-0x87 */ + {0xD2, 0x11}, {0xD2, 0x12}, {0xD2, 0x13}, {0xD2, 0x14}, /* 0x88-0x8B */ + {0xD2, 0x15}, {0xD2, 0x16}, {0xD2, 0x17}, {0xD2, 0x18}, /* 0x8C-0x8F */ + {0xD2, 0x19}, {0xD2, 0x1A}, {0xD2, 0x1B}, {0xD2, 0x1C}, /* 0x90-0x93 */ + {0xD2, 0x1D}, {0xD2, 0x1E}, {0xD2, 0x1F}, {0xD2, 0x20}, /* 0x94-0x97 */ + {0xD2, 0x21}, {0xD2, 0x22}, {0xD2, 0x23}, {0xD2, 0x24}, /* 0x98-0x9B */ + {0xD2, 0x25}, {0xD2, 0x26}, {0xD2, 0x27}, {0xD2, 0x28}, /* 0x9C-0x9F */ + {0xD2, 0x29}, {0xB9, 0x6B}, {0xB9, 0x6D}, {0xB9, 0x74}, /* 0xA0-0xA3 */ + {0xB9, 0x75}, {0xB9, 0x78}, {0xB9, 0x7C}, {0xB9, 0x84}, /* 0xA4-0xA7 */ + {0xB9, 0x85}, {0xB9, 0x87}, {0xB9, 0x89}, {0xB9, 0x8A}, /* 0xA8-0xAB */ + {0xB9, 0x8D}, {0xB9, 0x8E}, {0xB9, 0xAC}, {0xB9, 0xAD}, /* 0xAC-0xAF */ + {0xB9, 0xB0}, {0xB9, 0xB4}, {0xB9, 0xBC}, {0xB9, 0xBD}, /* 0xB0-0xB3 */ + {0xB9, 0xBF}, {0xB9, 0xC1}, {0xB9, 0xC8}, {0xB9, 0xC9}, /* 0xB4-0xB7 */ + {0xB9, 0xCC}, {0xB9, 0xCE}, {0xB9, 0xCF}, {0xB9, 0xD0}, /* 0xB8-0xBB */ + {0xB9, 0xD1}, {0xB9, 0xD2}, {0xB9, 0xD8}, {0xB9, 0xD9}, /* 0xBC-0xBF */ + {0xB9, 0xDB}, {0xB9, 0xDD}, {0xB9, 0xDE}, {0xB9, 0xE1}, /* 0xC0-0xC3 */ + {0xB9, 0xE3}, {0xB9, 0xE4}, {0xB9, 0xE5}, {0xB9, 0xE8}, /* 0xC4-0xC7 */ + {0xB9, 0xEC}, {0xB9, 0xF4}, {0xB9, 0xF5}, {0xB9, 0xF7}, /* 0xC8-0xCB */ + {0xB9, 0xF8}, {0xB9, 0xF9}, {0xB9, 0xFA}, {0xBA, 0x00}, /* 0xCC-0xCF */ + {0xBA, 0x01}, {0xBA, 0x08}, {0xBA, 0x15}, {0xBA, 0x38}, /* 0xD0-0xD3 */ + {0xBA, 0x39}, {0xBA, 0x3C}, {0xBA, 0x40}, {0xBA, 0x42}, /* 0xD4-0xD7 */ + {0xBA, 0x48}, {0xBA, 0x49}, {0xBA, 0x4B}, {0xBA, 0x4D}, /* 0xD8-0xDB */ + {0xBA, 0x4E}, {0xBA, 0x53}, {0xBA, 0x54}, {0xBA, 0x55}, /* 0xDC-0xDF */ + {0xBA, 0x58}, {0xBA, 0x5C}, {0xBA, 0x64}, {0xBA, 0x65}, /* 0xE0-0xE3 */ + {0xBA, 0x67}, {0xBA, 0x68}, {0xBA, 0x69}, {0xBA, 0x70}, /* 0xE4-0xE7 */ + {0xBA, 0x71}, {0xBA, 0x74}, {0xBA, 0x78}, {0xBA, 0x83}, /* 0xE8-0xEB */ + {0xBA, 0x84}, {0xBA, 0x85}, {0xBA, 0x87}, {0xBA, 0x8C}, /* 0xEC-0xEF */ + {0xBA, 0xA8}, {0xBA, 0xA9}, {0xBA, 0xAB}, {0xBA, 0xAC}, /* 0xF0-0xF3 */ + {0xBA, 0xB0}, {0xBA, 0xB2}, {0xBA, 0xB8}, {0xBA, 0xB9}, /* 0xF4-0xF7 */ + {0xBA, 0xBB}, {0xBA, 0xBD}, {0xBA, 0xC4}, {0xBA, 0xC8}, /* 0xF8-0xFB */ + {0xBA, 0xD8}, {0xBA, 0xD9}, {0xBA, 0xFC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD2, 0x2A}, {0xD2, 0x2B}, {0xD2, 0x2E}, /* 0x40-0x43 */ + {0xD2, 0x2F}, {0xD2, 0x31}, {0xD2, 0x32}, {0xD2, 0x33}, /* 0x44-0x47 */ + {0xD2, 0x35}, {0xD2, 0x36}, {0xD2, 0x37}, {0xD2, 0x38}, /* 0x48-0x4B */ + {0xD2, 0x39}, {0xD2, 0x3A}, {0xD2, 0x3B}, {0xD2, 0x3E}, /* 0x4C-0x4F */ + {0xD2, 0x40}, {0xD2, 0x42}, {0xD2, 0x43}, {0xD2, 0x44}, /* 0x50-0x53 */ + {0xD2, 0x45}, {0xD2, 0x46}, {0xD2, 0x47}, {0xD2, 0x49}, /* 0x54-0x57 */ + {0xD2, 0x4A}, {0xD2, 0x4B}, {0xD2, 0x4C}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD2, 0x4D}, {0xD2, 0x4E}, {0xD2, 0x4F}, /* 0x60-0x63 */ + {0xD2, 0x50}, {0xD2, 0x51}, {0xD2, 0x52}, {0xD2, 0x53}, /* 0x64-0x67 */ + {0xD2, 0x54}, {0xD2, 0x55}, {0xD2, 0x56}, {0xD2, 0x57}, /* 0x68-0x6B */ + {0xD2, 0x58}, {0xD2, 0x59}, {0xD2, 0x5A}, {0xD2, 0x5B}, /* 0x6C-0x6F */ + {0xD2, 0x5D}, {0xD2, 0x5E}, {0xD2, 0x5F}, {0xD2, 0x60}, /* 0x70-0x73 */ + {0xD2, 0x61}, {0xD2, 0x62}, {0xD2, 0x63}, {0xD2, 0x65}, /* 0x74-0x77 */ + {0xD2, 0x66}, {0xD2, 0x67}, {0xD2, 0x68}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD2, 0x69}, {0xD2, 0x6A}, {0xD2, 0x6B}, /* 0x80-0x83 */ + {0xD2, 0x6C}, {0xD2, 0x6D}, {0xD2, 0x6E}, {0xD2, 0x6F}, /* 0x84-0x87 */ + {0xD2, 0x70}, {0xD2, 0x71}, {0xD2, 0x72}, {0xD2, 0x73}, /* 0x88-0x8B */ + {0xD2, 0x74}, {0xD2, 0x75}, {0xD2, 0x76}, {0xD2, 0x77}, /* 0x8C-0x8F */ + {0xD2, 0x78}, {0xD2, 0x79}, {0xD2, 0x7A}, {0xD2, 0x7B}, /* 0x90-0x93 */ + {0xD2, 0x7C}, {0xD2, 0x7D}, {0xD2, 0x7E}, {0xD2, 0x7F}, /* 0x94-0x97 */ + {0xD2, 0x82}, {0xD2, 0x83}, {0xD2, 0x85}, {0xD2, 0x86}, /* 0x98-0x9B */ + {0xD2, 0x87}, {0xD2, 0x89}, {0xD2, 0x8A}, {0xD2, 0x8B}, /* 0x9C-0x9F */ + {0xD2, 0x8C}, {0xBB, 0x00}, {0xBB, 0x04}, {0xBB, 0x0D}, /* 0xA0-0xA3 */ + {0xBB, 0x0F}, {0xBB, 0x11}, {0xBB, 0x18}, {0xBB, 0x1C}, /* 0xA4-0xA7 */ + {0xBB, 0x20}, {0xBB, 0x29}, {0xBB, 0x2B}, {0xBB, 0x34}, /* 0xA8-0xAB */ + {0xBB, 0x35}, {0xBB, 0x36}, {0xBB, 0x38}, {0xBB, 0x3B}, /* 0xAC-0xAF */ + {0xBB, 0x3C}, {0xBB, 0x3D}, {0xBB, 0x3E}, {0xBB, 0x44}, /* 0xB0-0xB3 */ + {0xBB, 0x45}, {0xBB, 0x47}, {0xBB, 0x49}, {0xBB, 0x4D}, /* 0xB4-0xB7 */ + {0xBB, 0x4F}, {0xBB, 0x50}, {0xBB, 0x54}, {0xBB, 0x58}, /* 0xB8-0xBB */ + {0xBB, 0x61}, {0xBB, 0x63}, {0xBB, 0x6C}, {0xBB, 0x88}, /* 0xBC-0xBF */ + {0xBB, 0x8C}, {0xBB, 0x90}, {0xBB, 0xA4}, {0xBB, 0xA8}, /* 0xC0-0xC3 */ + {0xBB, 0xAC}, {0xBB, 0xB4}, {0xBB, 0xB7}, {0xBB, 0xC0}, /* 0xC4-0xC7 */ + {0xBB, 0xC4}, {0xBB, 0xC8}, {0xBB, 0xD0}, {0xBB, 0xD3}, /* 0xC8-0xCB */ + {0xBB, 0xF8}, {0xBB, 0xF9}, {0xBB, 0xFC}, {0xBB, 0xFF}, /* 0xCC-0xCF */ + {0xBC, 0x00}, {0xBC, 0x02}, {0xBC, 0x08}, {0xBC, 0x09}, /* 0xD0-0xD3 */ + {0xBC, 0x0B}, {0xBC, 0x0C}, {0xBC, 0x0D}, {0xBC, 0x0F}, /* 0xD4-0xD7 */ + {0xBC, 0x11}, {0xBC, 0x14}, {0xBC, 0x15}, {0xBC, 0x16}, /* 0xD8-0xDB */ + {0xBC, 0x17}, {0xBC, 0x18}, {0xBC, 0x1B}, {0xBC, 0x1C}, /* 0xDC-0xDF */ + {0xBC, 0x1D}, {0xBC, 0x1E}, {0xBC, 0x1F}, {0xBC, 0x24}, /* 0xE0-0xE3 */ + {0xBC, 0x25}, {0xBC, 0x27}, {0xBC, 0x29}, {0xBC, 0x2D}, /* 0xE4-0xE7 */ + {0xBC, 0x30}, {0xBC, 0x31}, {0xBC, 0x34}, {0xBC, 0x38}, /* 0xE8-0xEB */ + {0xBC, 0x40}, {0xBC, 0x41}, {0xBC, 0x43}, {0xBC, 0x44}, /* 0xEC-0xEF */ + {0xBC, 0x45}, {0xBC, 0x49}, {0xBC, 0x4C}, {0xBC, 0x4D}, /* 0xF0-0xF3 */ + {0xBC, 0x50}, {0xBC, 0x5D}, {0xBC, 0x84}, {0xBC, 0x85}, /* 0xF4-0xF7 */ + {0xBC, 0x88}, {0xBC, 0x8B}, {0xBC, 0x8C}, {0xBC, 0x8E}, /* 0xF8-0xFB */ + {0xBC, 0x94}, {0xBC, 0x95}, {0xBC, 0x97}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD2, 0x8D}, {0xD2, 0x8E}, {0xD2, 0x8F}, /* 0x40-0x43 */ + {0xD2, 0x92}, {0xD2, 0x93}, {0xD2, 0x94}, {0xD2, 0x96}, /* 0x44-0x47 */ + {0xD2, 0x97}, {0xD2, 0x98}, {0xD2, 0x99}, {0xD2, 0x9A}, /* 0x48-0x4B */ + {0xD2, 0x9B}, {0xD2, 0x9D}, {0xD2, 0x9E}, {0xD2, 0x9F}, /* 0x4C-0x4F */ + {0xD2, 0xA1}, {0xD2, 0xA2}, {0xD2, 0xA3}, {0xD2, 0xA5}, /* 0x50-0x53 */ + {0xD2, 0xA6}, {0xD2, 0xA7}, {0xD2, 0xA8}, {0xD2, 0xA9}, /* 0x54-0x57 */ + {0xD2, 0xAA}, {0xD2, 0xAB}, {0xD2, 0xAD}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD2, 0xAE}, {0xD2, 0xAF}, {0xD2, 0xB0}, /* 0x60-0x63 */ + {0xD2, 0xB2}, {0xD2, 0xB3}, {0xD2, 0xB4}, {0xD2, 0xB5}, /* 0x64-0x67 */ + {0xD2, 0xB6}, {0xD2, 0xB7}, {0xD2, 0xBA}, {0xD2, 0xBB}, /* 0x68-0x6B */ + {0xD2, 0xBD}, {0xD2, 0xBE}, {0xD2, 0xC1}, {0xD2, 0xC3}, /* 0x6C-0x6F */ + {0xD2, 0xC4}, {0xD2, 0xC5}, {0xD2, 0xC6}, {0xD2, 0xC7}, /* 0x70-0x73 */ + {0xD2, 0xCA}, {0xD2, 0xCC}, {0xD2, 0xCD}, {0xD2, 0xCE}, /* 0x74-0x77 */ + {0xD2, 0xCF}, {0xD2, 0xD0}, {0xD2, 0xD1}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD2, 0xD2}, {0xD2, 0xD3}, {0xD2, 0xD5}, /* 0x80-0x83 */ + {0xD2, 0xD6}, {0xD2, 0xD7}, {0xD2, 0xD9}, {0xD2, 0xDA}, /* 0x84-0x87 */ + {0xD2, 0xDB}, {0xD2, 0xDD}, {0xD2, 0xDE}, {0xD2, 0xDF}, /* 0x88-0x8B */ + {0xD2, 0xE0}, {0xD2, 0xE1}, {0xD2, 0xE2}, {0xD2, 0xE3}, /* 0x8C-0x8F */ + {0xD2, 0xE6}, {0xD2, 0xE7}, {0xD2, 0xE8}, {0xD2, 0xE9}, /* 0x90-0x93 */ + {0xD2, 0xEA}, {0xD2, 0xEB}, {0xD2, 0xEC}, {0xD2, 0xED}, /* 0x94-0x97 */ + {0xD2, 0xEE}, {0xD2, 0xEF}, {0xD2, 0xF2}, {0xD2, 0xF3}, /* 0x98-0x9B */ + {0xD2, 0xF5}, {0xD2, 0xF6}, {0xD2, 0xF7}, {0xD2, 0xF9}, /* 0x9C-0x9F */ + {0xD2, 0xFA}, {0xBC, 0x99}, {0xBC, 0x9A}, {0xBC, 0xA0}, /* 0xA0-0xA3 */ + {0xBC, 0xA1}, {0xBC, 0xA4}, {0xBC, 0xA7}, {0xBC, 0xA8}, /* 0xA4-0xA7 */ + {0xBC, 0xB0}, {0xBC, 0xB1}, {0xBC, 0xB3}, {0xBC, 0xB4}, /* 0xA8-0xAB */ + {0xBC, 0xB5}, {0xBC, 0xBC}, {0xBC, 0xBD}, {0xBC, 0xC0}, /* 0xAC-0xAF */ + {0xBC, 0xC4}, {0xBC, 0xCD}, {0xBC, 0xCF}, {0xBC, 0xD0}, /* 0xB0-0xB3 */ + {0xBC, 0xD1}, {0xBC, 0xD5}, {0xBC, 0xD8}, {0xBC, 0xDC}, /* 0xB4-0xB7 */ + {0xBC, 0xF4}, {0xBC, 0xF5}, {0xBC, 0xF6}, {0xBC, 0xF8}, /* 0xB8-0xBB */ + {0xBC, 0xFC}, {0xBD, 0x04}, {0xBD, 0x05}, {0xBD, 0x07}, /* 0xBC-0xBF */ + {0xBD, 0x09}, {0xBD, 0x10}, {0xBD, 0x14}, {0xBD, 0x24}, /* 0xC0-0xC3 */ + {0xBD, 0x2C}, {0xBD, 0x40}, {0xBD, 0x48}, {0xBD, 0x49}, /* 0xC4-0xC7 */ + {0xBD, 0x4C}, {0xBD, 0x50}, {0xBD, 0x58}, {0xBD, 0x59}, /* 0xC8-0xCB */ + {0xBD, 0x64}, {0xBD, 0x68}, {0xBD, 0x80}, {0xBD, 0x81}, /* 0xCC-0xCF */ + {0xBD, 0x84}, {0xBD, 0x87}, {0xBD, 0x88}, {0xBD, 0x89}, /* 0xD0-0xD3 */ + {0xBD, 0x8A}, {0xBD, 0x90}, {0xBD, 0x91}, {0xBD, 0x93}, /* 0xD4-0xD7 */ + {0xBD, 0x95}, {0xBD, 0x99}, {0xBD, 0x9A}, {0xBD, 0x9C}, /* 0xD8-0xDB */ + {0xBD, 0xA4}, {0xBD, 0xB0}, {0xBD, 0xB8}, {0xBD, 0xD4}, /* 0xDC-0xDF */ + {0xBD, 0xD5}, {0xBD, 0xD8}, {0xBD, 0xDC}, {0xBD, 0xE9}, /* 0xE0-0xE3 */ + {0xBD, 0xF0}, {0xBD, 0xF4}, {0xBD, 0xF8}, {0xBE, 0x00}, /* 0xE4-0xE7 */ + {0xBE, 0x03}, {0xBE, 0x05}, {0xBE, 0x0C}, {0xBE, 0x0D}, /* 0xE8-0xEB */ + {0xBE, 0x10}, {0xBE, 0x14}, {0xBE, 0x1C}, {0xBE, 0x1D}, /* 0xEC-0xEF */ + {0xBE, 0x1F}, {0xBE, 0x44}, {0xBE, 0x45}, {0xBE, 0x48}, /* 0xF0-0xF3 */ + {0xBE, 0x4C}, {0xBE, 0x4E}, {0xBE, 0x54}, {0xBE, 0x55}, /* 0xF4-0xF7 */ + {0xBE, 0x57}, {0xBE, 0x59}, {0xBE, 0x5A}, {0xBE, 0x5B}, /* 0xF8-0xFB */ + {0xBE, 0x60}, {0xBE, 0x61}, {0xBE, 0x64}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD2, 0xFB}, {0xD2, 0xFC}, {0xD2, 0xFD}, /* 0x40-0x43 */ + {0xD2, 0xFE}, {0xD2, 0xFF}, {0xD3, 0x02}, {0xD3, 0x04}, /* 0x44-0x47 */ + {0xD3, 0x06}, {0xD3, 0x07}, {0xD3, 0x08}, {0xD3, 0x09}, /* 0x48-0x4B */ + {0xD3, 0x0A}, {0xD3, 0x0B}, {0xD3, 0x0F}, {0xD3, 0x11}, /* 0x4C-0x4F */ + {0xD3, 0x12}, {0xD3, 0x13}, {0xD3, 0x15}, {0xD3, 0x17}, /* 0x50-0x53 */ + {0xD3, 0x18}, {0xD3, 0x19}, {0xD3, 0x1A}, {0xD3, 0x1B}, /* 0x54-0x57 */ + {0xD3, 0x1E}, {0xD3, 0x22}, {0xD3, 0x23}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD3, 0x24}, {0xD3, 0x26}, {0xD3, 0x27}, /* 0x60-0x63 */ + {0xD3, 0x2A}, {0xD3, 0x2B}, {0xD3, 0x2D}, {0xD3, 0x2E}, /* 0x64-0x67 */ + {0xD3, 0x2F}, {0xD3, 0x31}, {0xD3, 0x32}, {0xD3, 0x33}, /* 0x68-0x6B */ + {0xD3, 0x34}, {0xD3, 0x35}, {0xD3, 0x36}, {0xD3, 0x37}, /* 0x6C-0x6F */ + {0xD3, 0x3A}, {0xD3, 0x3E}, {0xD3, 0x3F}, {0xD3, 0x40}, /* 0x70-0x73 */ + {0xD3, 0x41}, {0xD3, 0x42}, {0xD3, 0x43}, {0xD3, 0x46}, /* 0x74-0x77 */ + {0xD3, 0x47}, {0xD3, 0x48}, {0xD3, 0x49}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD3, 0x4A}, {0xD3, 0x4B}, {0xD3, 0x4C}, /* 0x80-0x83 */ + {0xD3, 0x4D}, {0xD3, 0x4E}, {0xD3, 0x4F}, {0xD3, 0x50}, /* 0x84-0x87 */ + {0xD3, 0x51}, {0xD3, 0x52}, {0xD3, 0x53}, {0xD3, 0x54}, /* 0x88-0x8B */ + {0xD3, 0x55}, {0xD3, 0x56}, {0xD3, 0x57}, {0xD3, 0x58}, /* 0x8C-0x8F */ + {0xD3, 0x59}, {0xD3, 0x5A}, {0xD3, 0x5B}, {0xD3, 0x5C}, /* 0x90-0x93 */ + {0xD3, 0x5D}, {0xD3, 0x5E}, {0xD3, 0x5F}, {0xD3, 0x60}, /* 0x94-0x97 */ + {0xD3, 0x61}, {0xD3, 0x62}, {0xD3, 0x63}, {0xD3, 0x64}, /* 0x98-0x9B */ + {0xD3, 0x65}, {0xD3, 0x66}, {0xD3, 0x67}, {0xD3, 0x68}, /* 0x9C-0x9F */ + {0xD3, 0x69}, {0xBE, 0x68}, {0xBE, 0x6A}, {0xBE, 0x70}, /* 0xA0-0xA3 */ + {0xBE, 0x71}, {0xBE, 0x73}, {0xBE, 0x74}, {0xBE, 0x75}, /* 0xA4-0xA7 */ + {0xBE, 0x7B}, {0xBE, 0x7C}, {0xBE, 0x7D}, {0xBE, 0x80}, /* 0xA8-0xAB */ + {0xBE, 0x84}, {0xBE, 0x8C}, {0xBE, 0x8D}, {0xBE, 0x8F}, /* 0xAC-0xAF */ + {0xBE, 0x90}, {0xBE, 0x91}, {0xBE, 0x98}, {0xBE, 0x99}, /* 0xB0-0xB3 */ + {0xBE, 0xA8}, {0xBE, 0xD0}, {0xBE, 0xD1}, {0xBE, 0xD4}, /* 0xB4-0xB7 */ + {0xBE, 0xD7}, {0xBE, 0xD8}, {0xBE, 0xE0}, {0xBE, 0xE3}, /* 0xB8-0xBB */ + {0xBE, 0xE4}, {0xBE, 0xE5}, {0xBE, 0xEC}, {0xBF, 0x01}, /* 0xBC-0xBF */ + {0xBF, 0x08}, {0xBF, 0x09}, {0xBF, 0x18}, {0xBF, 0x19}, /* 0xC0-0xC3 */ + {0xBF, 0x1B}, {0xBF, 0x1C}, {0xBF, 0x1D}, {0xBF, 0x40}, /* 0xC4-0xC7 */ + {0xBF, 0x41}, {0xBF, 0x44}, {0xBF, 0x48}, {0xBF, 0x50}, /* 0xC8-0xCB */ + {0xBF, 0x51}, {0xBF, 0x55}, {0xBF, 0x94}, {0xBF, 0xB0}, /* 0xCC-0xCF */ + {0xBF, 0xC5}, {0xBF, 0xCC}, {0xBF, 0xCD}, {0xBF, 0xD0}, /* 0xD0-0xD3 */ + {0xBF, 0xD4}, {0xBF, 0xDC}, {0xBF, 0xDF}, {0xBF, 0xE1}, /* 0xD4-0xD7 */ + {0xC0, 0x3C}, {0xC0, 0x51}, {0xC0, 0x58}, {0xC0, 0x5C}, /* 0xD8-0xDB */ + {0xC0, 0x60}, {0xC0, 0x68}, {0xC0, 0x69}, {0xC0, 0x90}, /* 0xDC-0xDF */ + {0xC0, 0x91}, {0xC0, 0x94}, {0xC0, 0x98}, {0xC0, 0xA0}, /* 0xE0-0xE3 */ + {0xC0, 0xA1}, {0xC0, 0xA3}, {0xC0, 0xA5}, {0xC0, 0xAC}, /* 0xE4-0xE7 */ + {0xC0, 0xAD}, {0xC0, 0xAF}, {0xC0, 0xB0}, {0xC0, 0xB3}, /* 0xE8-0xEB */ + {0xC0, 0xB4}, {0xC0, 0xB5}, {0xC0, 0xB6}, {0xC0, 0xBC}, /* 0xEC-0xEF */ + {0xC0, 0xBD}, {0xC0, 0xBF}, {0xC0, 0xC0}, {0xC0, 0xC1}, /* 0xF0-0xF3 */ + {0xC0, 0xC5}, {0xC0, 0xC8}, {0xC0, 0xC9}, {0xC0, 0xCC}, /* 0xF4-0xF7 */ + {0xC0, 0xD0}, {0xC0, 0xD8}, {0xC0, 0xD9}, {0xC0, 0xDB}, /* 0xF8-0xFB */ + {0xC0, 0xDC}, {0xC0, 0xDD}, {0xC0, 0xE4}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD3, 0x6A}, {0xD3, 0x6B}, {0xD3, 0x6C}, /* 0x40-0x43 */ + {0xD3, 0x6D}, {0xD3, 0x6E}, {0xD3, 0x6F}, {0xD3, 0x70}, /* 0x44-0x47 */ + {0xD3, 0x71}, {0xD3, 0x72}, {0xD3, 0x73}, {0xD3, 0x74}, /* 0x48-0x4B */ + {0xD3, 0x75}, {0xD3, 0x76}, {0xD3, 0x77}, {0xD3, 0x78}, /* 0x4C-0x4F */ + {0xD3, 0x79}, {0xD3, 0x7A}, {0xD3, 0x7B}, {0xD3, 0x7E}, /* 0x50-0x53 */ + {0xD3, 0x7F}, {0xD3, 0x81}, {0xD3, 0x82}, {0xD3, 0x83}, /* 0x54-0x57 */ + {0xD3, 0x85}, {0xD3, 0x86}, {0xD3, 0x87}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD3, 0x88}, {0xD3, 0x89}, {0xD3, 0x8A}, /* 0x60-0x63 */ + {0xD3, 0x8B}, {0xD3, 0x8E}, {0xD3, 0x92}, {0xD3, 0x93}, /* 0x64-0x67 */ + {0xD3, 0x94}, {0xD3, 0x95}, {0xD3, 0x96}, {0xD3, 0x97}, /* 0x68-0x6B */ + {0xD3, 0x9A}, {0xD3, 0x9B}, {0xD3, 0x9D}, {0xD3, 0x9E}, /* 0x6C-0x6F */ + {0xD3, 0x9F}, {0xD3, 0xA1}, {0xD3, 0xA2}, {0xD3, 0xA3}, /* 0x70-0x73 */ + {0xD3, 0xA4}, {0xD3, 0xA5}, {0xD3, 0xA6}, {0xD3, 0xA7}, /* 0x74-0x77 */ + {0xD3, 0xAA}, {0xD3, 0xAC}, {0xD3, 0xAE}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD3, 0xAF}, {0xD3, 0xB0}, {0xD3, 0xB1}, /* 0x80-0x83 */ + {0xD3, 0xB2}, {0xD3, 0xB3}, {0xD3, 0xB5}, {0xD3, 0xB6}, /* 0x84-0x87 */ + {0xD3, 0xB7}, {0xD3, 0xB9}, {0xD3, 0xBA}, {0xD3, 0xBB}, /* 0x88-0x8B */ + {0xD3, 0xBD}, {0xD3, 0xBE}, {0xD3, 0xBF}, {0xD3, 0xC0}, /* 0x8C-0x8F */ + {0xD3, 0xC1}, {0xD3, 0xC2}, {0xD3, 0xC3}, {0xD3, 0xC6}, /* 0x90-0x93 */ + {0xD3, 0xC7}, {0xD3, 0xCA}, {0xD3, 0xCB}, {0xD3, 0xCC}, /* 0x94-0x97 */ + {0xD3, 0xCD}, {0xD3, 0xCE}, {0xD3, 0xCF}, {0xD3, 0xD1}, /* 0x98-0x9B */ + {0xD3, 0xD2}, {0xD3, 0xD3}, {0xD3, 0xD4}, {0xD3, 0xD5}, /* 0x9C-0x9F */ + {0xD3, 0xD6}, {0xC0, 0xE5}, {0xC0, 0xE8}, {0xC0, 0xEC}, /* 0xA0-0xA3 */ + {0xC0, 0xF4}, {0xC0, 0xF5}, {0xC0, 0xF7}, {0xC0, 0xF9}, /* 0xA4-0xA7 */ + {0xC1, 0x00}, {0xC1, 0x04}, {0xC1, 0x08}, {0xC1, 0x10}, /* 0xA8-0xAB */ + {0xC1, 0x15}, {0xC1, 0x1C}, {0xC1, 0x1D}, {0xC1, 0x1E}, /* 0xAC-0xAF */ + {0xC1, 0x1F}, {0xC1, 0x20}, {0xC1, 0x23}, {0xC1, 0x24}, /* 0xB0-0xB3 */ + {0xC1, 0x26}, {0xC1, 0x27}, {0xC1, 0x2C}, {0xC1, 0x2D}, /* 0xB4-0xB7 */ + {0xC1, 0x2F}, {0xC1, 0x30}, {0xC1, 0x31}, {0xC1, 0x36}, /* 0xB8-0xBB */ + {0xC1, 0x38}, {0xC1, 0x39}, {0xC1, 0x3C}, {0xC1, 0x40}, /* 0xBC-0xBF */ + {0xC1, 0x48}, {0xC1, 0x49}, {0xC1, 0x4B}, {0xC1, 0x4C}, /* 0xC0-0xC3 */ + {0xC1, 0x4D}, {0xC1, 0x54}, {0xC1, 0x55}, {0xC1, 0x58}, /* 0xC4-0xC7 */ + {0xC1, 0x5C}, {0xC1, 0x64}, {0xC1, 0x65}, {0xC1, 0x67}, /* 0xC8-0xCB */ + {0xC1, 0x68}, {0xC1, 0x69}, {0xC1, 0x70}, {0xC1, 0x74}, /* 0xCC-0xCF */ + {0xC1, 0x78}, {0xC1, 0x85}, {0xC1, 0x8C}, {0xC1, 0x8D}, /* 0xD0-0xD3 */ + {0xC1, 0x8E}, {0xC1, 0x90}, {0xC1, 0x94}, {0xC1, 0x96}, /* 0xD4-0xD7 */ + {0xC1, 0x9C}, {0xC1, 0x9D}, {0xC1, 0x9F}, {0xC1, 0xA1}, /* 0xD8-0xDB */ + {0xC1, 0xA5}, {0xC1, 0xA8}, {0xC1, 0xA9}, {0xC1, 0xAC}, /* 0xDC-0xDF */ + {0xC1, 0xB0}, {0xC1, 0xBD}, {0xC1, 0xC4}, {0xC1, 0xC8}, /* 0xE0-0xE3 */ + {0xC1, 0xCC}, {0xC1, 0xD4}, {0xC1, 0xD7}, {0xC1, 0xD8}, /* 0xE4-0xE7 */ + {0xC1, 0xE0}, {0xC1, 0xE4}, {0xC1, 0xE8}, {0xC1, 0xF0}, /* 0xE8-0xEB */ + {0xC1, 0xF1}, {0xC1, 0xF3}, {0xC1, 0xFC}, {0xC1, 0xFD}, /* 0xEC-0xEF */ + {0xC2, 0x00}, {0xC2, 0x04}, {0xC2, 0x0C}, {0xC2, 0x0D}, /* 0xF0-0xF3 */ + {0xC2, 0x0F}, {0xC2, 0x11}, {0xC2, 0x18}, {0xC2, 0x19}, /* 0xF4-0xF7 */ + {0xC2, 0x1C}, {0xC2, 0x1F}, {0xC2, 0x20}, {0xC2, 0x28}, /* 0xF8-0xFB */ + {0xC2, 0x29}, {0xC2, 0x2B}, {0xC2, 0x2D}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD3, 0xD7}, {0xD3, 0xD9}, {0xD3, 0xDA}, /* 0x40-0x43 */ + {0xD3, 0xDB}, {0xD3, 0xDC}, {0xD3, 0xDD}, {0xD3, 0xDE}, /* 0x44-0x47 */ + {0xD3, 0xDF}, {0xD3, 0xE0}, {0xD3, 0xE2}, {0xD3, 0xE4}, /* 0x48-0x4B */ + {0xD3, 0xE5}, {0xD3, 0xE6}, {0xD3, 0xE7}, {0xD3, 0xE8}, /* 0x4C-0x4F */ + {0xD3, 0xE9}, {0xD3, 0xEA}, {0xD3, 0xEB}, {0xD3, 0xEE}, /* 0x50-0x53 */ + {0xD3, 0xEF}, {0xD3, 0xF1}, {0xD3, 0xF2}, {0xD3, 0xF3}, /* 0x54-0x57 */ + {0xD3, 0xF5}, {0xD3, 0xF6}, {0xD3, 0xF7}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD3, 0xF8}, {0xD3, 0xF9}, {0xD3, 0xFA}, /* 0x60-0x63 */ + {0xD3, 0xFB}, {0xD3, 0xFE}, {0xD4, 0x00}, {0xD4, 0x02}, /* 0x64-0x67 */ + {0xD4, 0x03}, {0xD4, 0x04}, {0xD4, 0x05}, {0xD4, 0x06}, /* 0x68-0x6B */ + {0xD4, 0x07}, {0xD4, 0x09}, {0xD4, 0x0A}, {0xD4, 0x0B}, /* 0x6C-0x6F */ + {0xD4, 0x0C}, {0xD4, 0x0D}, {0xD4, 0x0E}, {0xD4, 0x0F}, /* 0x70-0x73 */ + {0xD4, 0x10}, {0xD4, 0x11}, {0xD4, 0x12}, {0xD4, 0x13}, /* 0x74-0x77 */ + {0xD4, 0x14}, {0xD4, 0x15}, {0xD4, 0x16}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD4, 0x17}, {0xD4, 0x18}, {0xD4, 0x19}, /* 0x80-0x83 */ + {0xD4, 0x1A}, {0xD4, 0x1B}, {0xD4, 0x1C}, {0xD4, 0x1E}, /* 0x84-0x87 */ + {0xD4, 0x1F}, {0xD4, 0x20}, {0xD4, 0x21}, {0xD4, 0x22}, /* 0x88-0x8B */ + {0xD4, 0x23}, {0xD4, 0x24}, {0xD4, 0x25}, {0xD4, 0x26}, /* 0x8C-0x8F */ + {0xD4, 0x27}, {0xD4, 0x28}, {0xD4, 0x29}, {0xD4, 0x2A}, /* 0x90-0x93 */ + {0xD4, 0x2B}, {0xD4, 0x2C}, {0xD4, 0x2D}, {0xD4, 0x2E}, /* 0x94-0x97 */ + {0xD4, 0x2F}, {0xD4, 0x30}, {0xD4, 0x31}, {0xD4, 0x32}, /* 0x98-0x9B */ + {0xD4, 0x33}, {0xD4, 0x34}, {0xD4, 0x35}, {0xD4, 0x36}, /* 0x9C-0x9F */ + {0xD4, 0x37}, {0xC2, 0x2F}, {0xC2, 0x31}, {0xC2, 0x32}, /* 0xA0-0xA3 */ + {0xC2, 0x34}, {0xC2, 0x48}, {0xC2, 0x50}, {0xC2, 0x51}, /* 0xA4-0xA7 */ + {0xC2, 0x54}, {0xC2, 0x58}, {0xC2, 0x60}, {0xC2, 0x65}, /* 0xA8-0xAB */ + {0xC2, 0x6C}, {0xC2, 0x6D}, {0xC2, 0x70}, {0xC2, 0x74}, /* 0xAC-0xAF */ + {0xC2, 0x7C}, {0xC2, 0x7D}, {0xC2, 0x7F}, {0xC2, 0x81}, /* 0xB0-0xB3 */ + {0xC2, 0x88}, {0xC2, 0x89}, {0xC2, 0x90}, {0xC2, 0x98}, /* 0xB4-0xB7 */ + {0xC2, 0x9B}, {0xC2, 0x9D}, {0xC2, 0xA4}, {0xC2, 0xA5}, /* 0xB8-0xBB */ + {0xC2, 0xA8}, {0xC2, 0xAC}, {0xC2, 0xAD}, {0xC2, 0xB4}, /* 0xBC-0xBF */ + {0xC2, 0xB5}, {0xC2, 0xB7}, {0xC2, 0xB9}, {0xC2, 0xDC}, /* 0xC0-0xC3 */ + {0xC2, 0xDD}, {0xC2, 0xE0}, {0xC2, 0xE3}, {0xC2, 0xE4}, /* 0xC4-0xC7 */ + {0xC2, 0xEB}, {0xC2, 0xEC}, {0xC2, 0xED}, {0xC2, 0xEF}, /* 0xC8-0xCB */ + {0xC2, 0xF1}, {0xC2, 0xF6}, {0xC2, 0xF8}, {0xC2, 0xF9}, /* 0xCC-0xCF */ + {0xC2, 0xFB}, {0xC2, 0xFC}, {0xC3, 0x00}, {0xC3, 0x08}, /* 0xD0-0xD3 */ + {0xC3, 0x09}, {0xC3, 0x0C}, {0xC3, 0x0D}, {0xC3, 0x13}, /* 0xD4-0xD7 */ + {0xC3, 0x14}, {0xC3, 0x15}, {0xC3, 0x18}, {0xC3, 0x1C}, /* 0xD8-0xDB */ + {0xC3, 0x24}, {0xC3, 0x25}, {0xC3, 0x28}, {0xC3, 0x29}, /* 0xDC-0xDF */ + {0xC3, 0x45}, {0xC3, 0x68}, {0xC3, 0x69}, {0xC3, 0x6C}, /* 0xE0-0xE3 */ + {0xC3, 0x70}, {0xC3, 0x72}, {0xC3, 0x78}, {0xC3, 0x79}, /* 0xE4-0xE7 */ + {0xC3, 0x7C}, {0xC3, 0x7D}, {0xC3, 0x84}, {0xC3, 0x88}, /* 0xE8-0xEB */ + {0xC3, 0x8C}, {0xC3, 0xC0}, {0xC3, 0xD8}, {0xC3, 0xD9}, /* 0xEC-0xEF */ + {0xC3, 0xDC}, {0xC3, 0xDF}, {0xC3, 0xE0}, {0xC3, 0xE2}, /* 0xF0-0xF3 */ + {0xC3, 0xE8}, {0xC3, 0xE9}, {0xC3, 0xED}, {0xC3, 0xF4}, /* 0xF4-0xF7 */ + {0xC3, 0xF5}, {0xC3, 0xF8}, {0xC4, 0x08}, {0xC4, 0x10}, /* 0xF8-0xFB */ + {0xC4, 0x24}, {0xC4, 0x2C}, {0xC4, 0x30}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD4, 0x38}, {0xD4, 0x39}, {0xD4, 0x3A}, /* 0x40-0x43 */ + {0xD4, 0x3B}, {0xD4, 0x3C}, {0xD4, 0x3D}, {0xD4, 0x3E}, /* 0x44-0x47 */ + {0xD4, 0x3F}, {0xD4, 0x41}, {0xD4, 0x42}, {0xD4, 0x43}, /* 0x48-0x4B */ + {0xD4, 0x45}, {0xD4, 0x46}, {0xD4, 0x47}, {0xD4, 0x48}, /* 0x4C-0x4F */ + {0xD4, 0x49}, {0xD4, 0x4A}, {0xD4, 0x4B}, {0xD4, 0x4C}, /* 0x50-0x53 */ + {0xD4, 0x4D}, {0xD4, 0x4E}, {0xD4, 0x4F}, {0xD4, 0x50}, /* 0x54-0x57 */ + {0xD4, 0x51}, {0xD4, 0x52}, {0xD4, 0x53}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD4, 0x54}, {0xD4, 0x55}, {0xD4, 0x56}, /* 0x60-0x63 */ + {0xD4, 0x57}, {0xD4, 0x58}, {0xD4, 0x59}, {0xD4, 0x5A}, /* 0x64-0x67 */ + {0xD4, 0x5B}, {0xD4, 0x5D}, {0xD4, 0x5E}, {0xD4, 0x5F}, /* 0x68-0x6B */ + {0xD4, 0x61}, {0xD4, 0x62}, {0xD4, 0x63}, {0xD4, 0x65}, /* 0x6C-0x6F */ + {0xD4, 0x66}, {0xD4, 0x67}, {0xD4, 0x68}, {0xD4, 0x69}, /* 0x70-0x73 */ + {0xD4, 0x6A}, {0xD4, 0x6B}, {0xD4, 0x6C}, {0xD4, 0x6E}, /* 0x74-0x77 */ + {0xD4, 0x70}, {0xD4, 0x71}, {0xD4, 0x72}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD4, 0x73}, {0xD4, 0x74}, {0xD4, 0x75}, /* 0x80-0x83 */ + {0xD4, 0x76}, {0xD4, 0x77}, {0xD4, 0x7A}, {0xD4, 0x7B}, /* 0x84-0x87 */ + {0xD4, 0x7D}, {0xD4, 0x7E}, {0xD4, 0x81}, {0xD4, 0x83}, /* 0x88-0x8B */ + {0xD4, 0x84}, {0xD4, 0x85}, {0xD4, 0x86}, {0xD4, 0x87}, /* 0x8C-0x8F */ + {0xD4, 0x8A}, {0xD4, 0x8C}, {0xD4, 0x8E}, {0xD4, 0x8F}, /* 0x90-0x93 */ + {0xD4, 0x90}, {0xD4, 0x91}, {0xD4, 0x92}, {0xD4, 0x93}, /* 0x94-0x97 */ + {0xD4, 0x95}, {0xD4, 0x96}, {0xD4, 0x97}, {0xD4, 0x98}, /* 0x98-0x9B */ + {0xD4, 0x99}, {0xD4, 0x9A}, {0xD4, 0x9B}, {0xD4, 0x9C}, /* 0x9C-0x9F */ + {0xD4, 0x9D}, {0xC4, 0x34}, {0xC4, 0x3C}, {0xC4, 0x3D}, /* 0xA0-0xA3 */ + {0xC4, 0x48}, {0xC4, 0x64}, {0xC4, 0x65}, {0xC4, 0x68}, /* 0xA4-0xA7 */ + {0xC4, 0x6C}, {0xC4, 0x74}, {0xC4, 0x75}, {0xC4, 0x79}, /* 0xA8-0xAB */ + {0xC4, 0x80}, {0xC4, 0x94}, {0xC4, 0x9C}, {0xC4, 0xB8}, /* 0xAC-0xAF */ + {0xC4, 0xBC}, {0xC4, 0xE9}, {0xC4, 0xF0}, {0xC4, 0xF1}, /* 0xB0-0xB3 */ + {0xC4, 0xF4}, {0xC4, 0xF8}, {0xC4, 0xFA}, {0xC4, 0xFF}, /* 0xB4-0xB7 */ + {0xC5, 0x00}, {0xC5, 0x01}, {0xC5, 0x0C}, {0xC5, 0x10}, /* 0xB8-0xBB */ + {0xC5, 0x14}, {0xC5, 0x1C}, {0xC5, 0x28}, {0xC5, 0x29}, /* 0xBC-0xBF */ + {0xC5, 0x2C}, {0xC5, 0x30}, {0xC5, 0x38}, {0xC5, 0x39}, /* 0xC0-0xC3 */ + {0xC5, 0x3B}, {0xC5, 0x3D}, {0xC5, 0x44}, {0xC5, 0x45}, /* 0xC4-0xC7 */ + {0xC5, 0x48}, {0xC5, 0x49}, {0xC5, 0x4A}, {0xC5, 0x4C}, /* 0xC8-0xCB */ + {0xC5, 0x4D}, {0xC5, 0x4E}, {0xC5, 0x53}, {0xC5, 0x54}, /* 0xCC-0xCF */ + {0xC5, 0x55}, {0xC5, 0x57}, {0xC5, 0x58}, {0xC5, 0x59}, /* 0xD0-0xD3 */ + {0xC5, 0x5D}, {0xC5, 0x5E}, {0xC5, 0x60}, {0xC5, 0x61}, /* 0xD4-0xD7 */ + {0xC5, 0x64}, {0xC5, 0x68}, {0xC5, 0x70}, {0xC5, 0x71}, /* 0xD8-0xDB */ + {0xC5, 0x73}, {0xC5, 0x74}, {0xC5, 0x75}, {0xC5, 0x7C}, /* 0xDC-0xDF */ + {0xC5, 0x7D}, {0xC5, 0x80}, {0xC5, 0x84}, {0xC5, 0x87}, /* 0xE0-0xE3 */ + {0xC5, 0x8C}, {0xC5, 0x8D}, {0xC5, 0x8F}, {0xC5, 0x91}, /* 0xE4-0xE7 */ + {0xC5, 0x95}, {0xC5, 0x97}, {0xC5, 0x98}, {0xC5, 0x9C}, /* 0xE8-0xEB */ + {0xC5, 0xA0}, {0xC5, 0xA9}, {0xC5, 0xB4}, {0xC5, 0xB5}, /* 0xEC-0xEF */ + {0xC5, 0xB8}, {0xC5, 0xB9}, {0xC5, 0xBB}, {0xC5, 0xBC}, /* 0xF0-0xF3 */ + {0xC5, 0xBD}, {0xC5, 0xBE}, {0xC5, 0xC4}, {0xC5, 0xC5}, /* 0xF4-0xF7 */ + {0xC5, 0xC6}, {0xC5, 0xC7}, {0xC5, 0xC8}, {0xC5, 0xC9}, /* 0xF8-0xFB */ + {0xC5, 0xCA}, {0xC5, 0xCC}, {0xC5, 0xCE}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD4, 0x9E}, {0xD4, 0x9F}, {0xD4, 0xA0}, /* 0x40-0x43 */ + {0xD4, 0xA1}, {0xD4, 0xA2}, {0xD4, 0xA3}, {0xD4, 0xA4}, /* 0x44-0x47 */ + {0xD4, 0xA5}, {0xD4, 0xA6}, {0xD4, 0xA7}, {0xD4, 0xA8}, /* 0x48-0x4B */ + {0xD4, 0xAA}, {0xD4, 0xAB}, {0xD4, 0xAC}, {0xD4, 0xAD}, /* 0x4C-0x4F */ + {0xD4, 0xAE}, {0xD4, 0xAF}, {0xD4, 0xB0}, {0xD4, 0xB1}, /* 0x50-0x53 */ + {0xD4, 0xB2}, {0xD4, 0xB3}, {0xD4, 0xB4}, {0xD4, 0xB5}, /* 0x54-0x57 */ + {0xD4, 0xB6}, {0xD4, 0xB7}, {0xD4, 0xB8}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD4, 0xB9}, {0xD4, 0xBA}, {0xD4, 0xBB}, /* 0x60-0x63 */ + {0xD4, 0xBC}, {0xD4, 0xBD}, {0xD4, 0xBE}, {0xD4, 0xBF}, /* 0x64-0x67 */ + {0xD4, 0xC0}, {0xD4, 0xC1}, {0xD4, 0xC2}, {0xD4, 0xC3}, /* 0x68-0x6B */ + {0xD4, 0xC4}, {0xD4, 0xC5}, {0xD4, 0xC6}, {0xD4, 0xC7}, /* 0x6C-0x6F */ + {0xD4, 0xC8}, {0xD4, 0xC9}, {0xD4, 0xCA}, {0xD4, 0xCB}, /* 0x70-0x73 */ + {0xD4, 0xCD}, {0xD4, 0xCE}, {0xD4, 0xCF}, {0xD4, 0xD1}, /* 0x74-0x77 */ + {0xD4, 0xD2}, {0xD4, 0xD3}, {0xD4, 0xD5}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD4, 0xD6}, {0xD4, 0xD7}, {0xD4, 0xD8}, /* 0x80-0x83 */ + {0xD4, 0xD9}, {0xD4, 0xDA}, {0xD4, 0xDB}, {0xD4, 0xDD}, /* 0x84-0x87 */ + {0xD4, 0xDE}, {0xD4, 0xE0}, {0xD4, 0xE1}, {0xD4, 0xE2}, /* 0x88-0x8B */ + {0xD4, 0xE3}, {0xD4, 0xE4}, {0xD4, 0xE5}, {0xD4, 0xE6}, /* 0x8C-0x8F */ + {0xD4, 0xE7}, {0xD4, 0xE9}, {0xD4, 0xEA}, {0xD4, 0xEB}, /* 0x90-0x93 */ + {0xD4, 0xED}, {0xD4, 0xEE}, {0xD4, 0xEF}, {0xD4, 0xF1}, /* 0x94-0x97 */ + {0xD4, 0xF2}, {0xD4, 0xF3}, {0xD4, 0xF4}, {0xD4, 0xF5}, /* 0x98-0x9B */ + {0xD4, 0xF6}, {0xD4, 0xF7}, {0xD4, 0xF9}, {0xD4, 0xFA}, /* 0x9C-0x9F */ + {0xD4, 0xFC}, {0xC5, 0xD0}, {0xC5, 0xD1}, {0xC5, 0xD4}, /* 0xA0-0xA3 */ + {0xC5, 0xD8}, {0xC5, 0xE0}, {0xC5, 0xE1}, {0xC5, 0xE3}, /* 0xA4-0xA7 */ + {0xC5, 0xE5}, {0xC5, 0xEC}, {0xC5, 0xED}, {0xC5, 0xEE}, /* 0xA8-0xAB */ + {0xC5, 0xF0}, {0xC5, 0xF4}, {0xC5, 0xF6}, {0xC5, 0xF7}, /* 0xAC-0xAF */ + {0xC5, 0xFC}, {0xC5, 0xFD}, {0xC5, 0xFE}, {0xC5, 0xFF}, /* 0xB0-0xB3 */ + {0xC6, 0x00}, {0xC6, 0x01}, {0xC6, 0x05}, {0xC6, 0x06}, /* 0xB4-0xB7 */ + {0xC6, 0x07}, {0xC6, 0x08}, {0xC6, 0x0C}, {0xC6, 0x10}, /* 0xB8-0xBB */ + {0xC6, 0x18}, {0xC6, 0x19}, {0xC6, 0x1B}, {0xC6, 0x1C}, /* 0xBC-0xBF */ + {0xC6, 0x24}, {0xC6, 0x25}, {0xC6, 0x28}, {0xC6, 0x2C}, /* 0xC0-0xC3 */ + {0xC6, 0x2D}, {0xC6, 0x2E}, {0xC6, 0x30}, {0xC6, 0x33}, /* 0xC4-0xC7 */ + {0xC6, 0x34}, {0xC6, 0x35}, {0xC6, 0x37}, {0xC6, 0x39}, /* 0xC8-0xCB */ + {0xC6, 0x3B}, {0xC6, 0x40}, {0xC6, 0x41}, {0xC6, 0x44}, /* 0xCC-0xCF */ + {0xC6, 0x48}, {0xC6, 0x50}, {0xC6, 0x51}, {0xC6, 0x53}, /* 0xD0-0xD3 */ + {0xC6, 0x54}, {0xC6, 0x55}, {0xC6, 0x5C}, {0xC6, 0x5D}, /* 0xD4-0xD7 */ + {0xC6, 0x60}, {0xC6, 0x6C}, {0xC6, 0x6F}, {0xC6, 0x71}, /* 0xD8-0xDB */ + {0xC6, 0x78}, {0xC6, 0x79}, {0xC6, 0x7C}, {0xC6, 0x80}, /* 0xDC-0xDF */ + {0xC6, 0x88}, {0xC6, 0x89}, {0xC6, 0x8B}, {0xC6, 0x8D}, /* 0xE0-0xE3 */ + {0xC6, 0x94}, {0xC6, 0x95}, {0xC6, 0x98}, {0xC6, 0x9C}, /* 0xE4-0xE7 */ + {0xC6, 0xA4}, {0xC6, 0xA5}, {0xC6, 0xA7}, {0xC6, 0xA9}, /* 0xE8-0xEB */ + {0xC6, 0xB0}, {0xC6, 0xB1}, {0xC6, 0xB4}, {0xC6, 0xB8}, /* 0xEC-0xEF */ + {0xC6, 0xB9}, {0xC6, 0xBA}, {0xC6, 0xC0}, {0xC6, 0xC1}, /* 0xF0-0xF3 */ + {0xC6, 0xC3}, {0xC6, 0xC5}, {0xC6, 0xCC}, {0xC6, 0xCD}, /* 0xF4-0xF7 */ + {0xC6, 0xD0}, {0xC6, 0xD4}, {0xC6, 0xDC}, {0xC6, 0xDD}, /* 0xF8-0xFB */ + {0xC6, 0xE0}, {0xC6, 0xE1}, {0xC6, 0xE8}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD4, 0xFE}, {0xD4, 0xFF}, {0xD5, 0x00}, /* 0x40-0x43 */ + {0xD5, 0x01}, {0xD5, 0x02}, {0xD5, 0x03}, {0xD5, 0x05}, /* 0x44-0x47 */ + {0xD5, 0x06}, {0xD5, 0x07}, {0xD5, 0x09}, {0xD5, 0x0A}, /* 0x48-0x4B */ + {0xD5, 0x0B}, {0xD5, 0x0D}, {0xD5, 0x0E}, {0xD5, 0x0F}, /* 0x4C-0x4F */ + {0xD5, 0x10}, {0xD5, 0x11}, {0xD5, 0x12}, {0xD5, 0x13}, /* 0x50-0x53 */ + {0xD5, 0x16}, {0xD5, 0x18}, {0xD5, 0x19}, {0xD5, 0x1A}, /* 0x54-0x57 */ + {0xD5, 0x1B}, {0xD5, 0x1C}, {0xD5, 0x1D}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD5, 0x1E}, {0xD5, 0x1F}, {0xD5, 0x20}, /* 0x60-0x63 */ + {0xD5, 0x21}, {0xD5, 0x22}, {0xD5, 0x23}, {0xD5, 0x24}, /* 0x64-0x67 */ + {0xD5, 0x25}, {0xD5, 0x26}, {0xD5, 0x27}, {0xD5, 0x28}, /* 0x68-0x6B */ + {0xD5, 0x29}, {0xD5, 0x2A}, {0xD5, 0x2B}, {0xD5, 0x2C}, /* 0x6C-0x6F */ + {0xD5, 0x2D}, {0xD5, 0x2E}, {0xD5, 0x2F}, {0xD5, 0x30}, /* 0x70-0x73 */ + {0xD5, 0x31}, {0xD5, 0x32}, {0xD5, 0x33}, {0xD5, 0x34}, /* 0x74-0x77 */ + {0xD5, 0x35}, {0xD5, 0x36}, {0xD5, 0x37}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD5, 0x38}, {0xD5, 0x39}, {0xD5, 0x3A}, /* 0x80-0x83 */ + {0xD5, 0x3B}, {0xD5, 0x3E}, {0xD5, 0x3F}, {0xD5, 0x41}, /* 0x84-0x87 */ + {0xD5, 0x42}, {0xD5, 0x43}, {0xD5, 0x45}, {0xD5, 0x46}, /* 0x88-0x8B */ + {0xD5, 0x47}, {0xD5, 0x48}, {0xD5, 0x49}, {0xD5, 0x4A}, /* 0x8C-0x8F */ + {0xD5, 0x4B}, {0xD5, 0x4E}, {0xD5, 0x50}, {0xD5, 0x52}, /* 0x90-0x93 */ + {0xD5, 0x53}, {0xD5, 0x54}, {0xD5, 0x55}, {0xD5, 0x56}, /* 0x94-0x97 */ + {0xD5, 0x57}, {0xD5, 0x5A}, {0xD5, 0x5B}, {0xD5, 0x5D}, /* 0x98-0x9B */ + {0xD5, 0x5E}, {0xD5, 0x5F}, {0xD5, 0x61}, {0xD5, 0x62}, /* 0x9C-0x9F */ + {0xD5, 0x63}, {0xC6, 0xE9}, {0xC6, 0xEC}, {0xC6, 0xF0}, /* 0xA0-0xA3 */ + {0xC6, 0xF8}, {0xC6, 0xF9}, {0xC6, 0xFD}, {0xC7, 0x04}, /* 0xA4-0xA7 */ + {0xC7, 0x05}, {0xC7, 0x08}, {0xC7, 0x0C}, {0xC7, 0x14}, /* 0xA8-0xAB */ + {0xC7, 0x15}, {0xC7, 0x17}, {0xC7, 0x19}, {0xC7, 0x20}, /* 0xAC-0xAF */ + {0xC7, 0x21}, {0xC7, 0x24}, {0xC7, 0x28}, {0xC7, 0x30}, /* 0xB0-0xB3 */ + {0xC7, 0x31}, {0xC7, 0x33}, {0xC7, 0x35}, {0xC7, 0x37}, /* 0xB4-0xB7 */ + {0xC7, 0x3C}, {0xC7, 0x3D}, {0xC7, 0x40}, {0xC7, 0x44}, /* 0xB8-0xBB */ + {0xC7, 0x4A}, {0xC7, 0x4C}, {0xC7, 0x4D}, {0xC7, 0x4F}, /* 0xBC-0xBF */ + {0xC7, 0x51}, {0xC7, 0x52}, {0xC7, 0x53}, {0xC7, 0x54}, /* 0xC0-0xC3 */ + {0xC7, 0x55}, {0xC7, 0x56}, {0xC7, 0x57}, {0xC7, 0x58}, /* 0xC4-0xC7 */ + {0xC7, 0x5C}, {0xC7, 0x60}, {0xC7, 0x68}, {0xC7, 0x6B}, /* 0xC8-0xCB */ + {0xC7, 0x74}, {0xC7, 0x75}, {0xC7, 0x78}, {0xC7, 0x7C}, /* 0xCC-0xCF */ + {0xC7, 0x7D}, {0xC7, 0x7E}, {0xC7, 0x83}, {0xC7, 0x84}, /* 0xD0-0xD3 */ + {0xC7, 0x85}, {0xC7, 0x87}, {0xC7, 0x88}, {0xC7, 0x89}, /* 0xD4-0xD7 */ + {0xC7, 0x8A}, {0xC7, 0x8E}, {0xC7, 0x90}, {0xC7, 0x91}, /* 0xD8-0xDB */ + {0xC7, 0x94}, {0xC7, 0x96}, {0xC7, 0x97}, {0xC7, 0x98}, /* 0xDC-0xDF */ + {0xC7, 0x9A}, {0xC7, 0xA0}, {0xC7, 0xA1}, {0xC7, 0xA3}, /* 0xE0-0xE3 */ + {0xC7, 0xA4}, {0xC7, 0xA5}, {0xC7, 0xA6}, {0xC7, 0xAC}, /* 0xE4-0xE7 */ + {0xC7, 0xAD}, {0xC7, 0xB0}, {0xC7, 0xB4}, {0xC7, 0xBC}, /* 0xE8-0xEB */ + {0xC7, 0xBD}, {0xC7, 0xBF}, {0xC7, 0xC0}, {0xC7, 0xC1}, /* 0xEC-0xEF */ + {0xC7, 0xC8}, {0xC7, 0xC9}, {0xC7, 0xCC}, {0xC7, 0xCE}, /* 0xF0-0xF3 */ + {0xC7, 0xD0}, {0xC7, 0xD8}, {0xC7, 0xDD}, {0xC7, 0xE4}, /* 0xF4-0xF7 */ + {0xC7, 0xE8}, {0xC7, 0xEC}, {0xC8, 0x00}, {0xC8, 0x01}, /* 0xF8-0xFB */ + {0xC8, 0x04}, {0xC8, 0x08}, {0xC8, 0x0A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD5, 0x64}, {0xD5, 0x66}, {0xD5, 0x67}, /* 0x40-0x43 */ + {0xD5, 0x6A}, {0xD5, 0x6C}, {0xD5, 0x6E}, {0xD5, 0x6F}, /* 0x44-0x47 */ + {0xD5, 0x70}, {0xD5, 0x71}, {0xD5, 0x72}, {0xD5, 0x73}, /* 0x48-0x4B */ + {0xD5, 0x76}, {0xD5, 0x77}, {0xD5, 0x79}, {0xD5, 0x7A}, /* 0x4C-0x4F */ + {0xD5, 0x7B}, {0xD5, 0x7D}, {0xD5, 0x7E}, {0xD5, 0x7F}, /* 0x50-0x53 */ + {0xD5, 0x80}, {0xD5, 0x81}, {0xD5, 0x82}, {0xD5, 0x83}, /* 0x54-0x57 */ + {0xD5, 0x86}, {0xD5, 0x8A}, {0xD5, 0x8B}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD5, 0x8C}, {0xD5, 0x8D}, {0xD5, 0x8E}, /* 0x60-0x63 */ + {0xD5, 0x8F}, {0xD5, 0x91}, {0xD5, 0x92}, {0xD5, 0x93}, /* 0x64-0x67 */ + {0xD5, 0x94}, {0xD5, 0x95}, {0xD5, 0x96}, {0xD5, 0x97}, /* 0x68-0x6B */ + {0xD5, 0x98}, {0xD5, 0x99}, {0xD5, 0x9A}, {0xD5, 0x9B}, /* 0x6C-0x6F */ + {0xD5, 0x9C}, {0xD5, 0x9D}, {0xD5, 0x9E}, {0xD5, 0x9F}, /* 0x70-0x73 */ + {0xD5, 0xA0}, {0xD5, 0xA1}, {0xD5, 0xA2}, {0xD5, 0xA3}, /* 0x74-0x77 */ + {0xD5, 0xA4}, {0xD5, 0xA6}, {0xD5, 0xA7}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD5, 0xA8}, {0xD5, 0xA9}, {0xD5, 0xAA}, /* 0x80-0x83 */ + {0xD5, 0xAB}, {0xD5, 0xAC}, {0xD5, 0xAD}, {0xD5, 0xAE}, /* 0x84-0x87 */ + {0xD5, 0xAF}, {0xD5, 0xB0}, {0xD5, 0xB1}, {0xD5, 0xB2}, /* 0x88-0x8B */ + {0xD5, 0xB3}, {0xD5, 0xB4}, {0xD5, 0xB5}, {0xD5, 0xB6}, /* 0x8C-0x8F */ + {0xD5, 0xB7}, {0xD5, 0xB8}, {0xD5, 0xB9}, {0xD5, 0xBA}, /* 0x90-0x93 */ + {0xD5, 0xBB}, {0xD5, 0xBC}, {0xD5, 0xBD}, {0xD5, 0xBE}, /* 0x94-0x97 */ + {0xD5, 0xBF}, {0xD5, 0xC0}, {0xD5, 0xC1}, {0xD5, 0xC2}, /* 0x98-0x9B */ + {0xD5, 0xC3}, {0xD5, 0xC4}, {0xD5, 0xC5}, {0xD5, 0xC6}, /* 0x9C-0x9F */ + {0xD5, 0xC7}, {0xC8, 0x10}, {0xC8, 0x11}, {0xC8, 0x13}, /* 0xA0-0xA3 */ + {0xC8, 0x15}, {0xC8, 0x16}, {0xC8, 0x1C}, {0xC8, 0x1D}, /* 0xA4-0xA7 */ + {0xC8, 0x20}, {0xC8, 0x24}, {0xC8, 0x2C}, {0xC8, 0x2D}, /* 0xA8-0xAB */ + {0xC8, 0x2F}, {0xC8, 0x31}, {0xC8, 0x38}, {0xC8, 0x3C}, /* 0xAC-0xAF */ + {0xC8, 0x40}, {0xC8, 0x48}, {0xC8, 0x49}, {0xC8, 0x4C}, /* 0xB0-0xB3 */ + {0xC8, 0x4D}, {0xC8, 0x54}, {0xC8, 0x70}, {0xC8, 0x71}, /* 0xB4-0xB7 */ + {0xC8, 0x74}, {0xC8, 0x78}, {0xC8, 0x7A}, {0xC8, 0x80}, /* 0xB8-0xBB */ + {0xC8, 0x81}, {0xC8, 0x83}, {0xC8, 0x85}, {0xC8, 0x86}, /* 0xBC-0xBF */ + {0xC8, 0x87}, {0xC8, 0x8B}, {0xC8, 0x8C}, {0xC8, 0x8D}, /* 0xC0-0xC3 */ + {0xC8, 0x94}, {0xC8, 0x9D}, {0xC8, 0x9F}, {0xC8, 0xA1}, /* 0xC4-0xC7 */ + {0xC8, 0xA8}, {0xC8, 0xBC}, {0xC8, 0xBD}, {0xC8, 0xC4}, /* 0xC8-0xCB */ + {0xC8, 0xC8}, {0xC8, 0xCC}, {0xC8, 0xD4}, {0xC8, 0xD5}, /* 0xCC-0xCF */ + {0xC8, 0xD7}, {0xC8, 0xD9}, {0xC8, 0xE0}, {0xC8, 0xE1}, /* 0xD0-0xD3 */ + {0xC8, 0xE4}, {0xC8, 0xF5}, {0xC8, 0xFC}, {0xC8, 0xFD}, /* 0xD4-0xD7 */ + {0xC9, 0x00}, {0xC9, 0x04}, {0xC9, 0x05}, {0xC9, 0x06}, /* 0xD8-0xDB */ + {0xC9, 0x0C}, {0xC9, 0x0D}, {0xC9, 0x0F}, {0xC9, 0x11}, /* 0xDC-0xDF */ + {0xC9, 0x18}, {0xC9, 0x2C}, {0xC9, 0x34}, {0xC9, 0x50}, /* 0xE0-0xE3 */ + {0xC9, 0x51}, {0xC9, 0x54}, {0xC9, 0x58}, {0xC9, 0x60}, /* 0xE4-0xE7 */ + {0xC9, 0x61}, {0xC9, 0x63}, {0xC9, 0x6C}, {0xC9, 0x70}, /* 0xE8-0xEB */ + {0xC9, 0x74}, {0xC9, 0x7C}, {0xC9, 0x88}, {0xC9, 0x89}, /* 0xEC-0xEF */ + {0xC9, 0x8C}, {0xC9, 0x90}, {0xC9, 0x98}, {0xC9, 0x99}, /* 0xF0-0xF3 */ + {0xC9, 0x9B}, {0xC9, 0x9D}, {0xC9, 0xC0}, {0xC9, 0xC1}, /* 0xF4-0xF7 */ + {0xC9, 0xC4}, {0xC9, 0xC7}, {0xC9, 0xC8}, {0xC9, 0xCA}, /* 0xF8-0xFB */ + {0xC9, 0xD0}, {0xC9, 0xD1}, {0xC9, 0xD3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD5, 0xCA}, {0xD5, 0xCB}, {0xD5, 0xCD}, /* 0x40-0x43 */ + {0xD5, 0xCE}, {0xD5, 0xCF}, {0xD5, 0xD1}, {0xD5, 0xD3}, /* 0x44-0x47 */ + {0xD5, 0xD4}, {0xD5, 0xD5}, {0xD5, 0xD6}, {0xD5, 0xD7}, /* 0x48-0x4B */ + {0xD5, 0xDA}, {0xD5, 0xDC}, {0xD5, 0xDE}, {0xD5, 0xDF}, /* 0x4C-0x4F */ + {0xD5, 0xE0}, {0xD5, 0xE1}, {0xD5, 0xE2}, {0xD5, 0xE3}, /* 0x50-0x53 */ + {0xD5, 0xE6}, {0xD5, 0xE7}, {0xD5, 0xE9}, {0xD5, 0xEA}, /* 0x54-0x57 */ + {0xD5, 0xEB}, {0xD5, 0xED}, {0xD5, 0xEE}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD5, 0xEF}, {0xD5, 0xF0}, {0xD5, 0xF1}, /* 0x60-0x63 */ + {0xD5, 0xF2}, {0xD5, 0xF3}, {0xD5, 0xF6}, {0xD5, 0xF8}, /* 0x64-0x67 */ + {0xD5, 0xFA}, {0xD5, 0xFB}, {0xD5, 0xFC}, {0xD5, 0xFD}, /* 0x68-0x6B */ + {0xD5, 0xFE}, {0xD5, 0xFF}, {0xD6, 0x02}, {0xD6, 0x03}, /* 0x6C-0x6F */ + {0xD6, 0x05}, {0xD6, 0x06}, {0xD6, 0x07}, {0xD6, 0x09}, /* 0x70-0x73 */ + {0xD6, 0x0A}, {0xD6, 0x0B}, {0xD6, 0x0C}, {0xD6, 0x0D}, /* 0x74-0x77 */ + {0xD6, 0x0E}, {0xD6, 0x0F}, {0xD6, 0x12}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD6, 0x16}, {0xD6, 0x17}, {0xD6, 0x18}, /* 0x80-0x83 */ + {0xD6, 0x19}, {0xD6, 0x1A}, {0xD6, 0x1B}, {0xD6, 0x1D}, /* 0x84-0x87 */ + {0xD6, 0x1E}, {0xD6, 0x1F}, {0xD6, 0x21}, {0xD6, 0x22}, /* 0x88-0x8B */ + {0xD6, 0x23}, {0xD6, 0x25}, {0xD6, 0x26}, {0xD6, 0x27}, /* 0x8C-0x8F */ + {0xD6, 0x28}, {0xD6, 0x29}, {0xD6, 0x2A}, {0xD6, 0x2B}, /* 0x90-0x93 */ + {0xD6, 0x2C}, {0xD6, 0x2E}, {0xD6, 0x2F}, {0xD6, 0x30}, /* 0x94-0x97 */ + {0xD6, 0x31}, {0xD6, 0x32}, {0xD6, 0x33}, {0xD6, 0x34}, /* 0x98-0x9B */ + {0xD6, 0x35}, {0xD6, 0x36}, {0xD6, 0x37}, {0xD6, 0x3A}, /* 0x9C-0x9F */ + {0xD6, 0x3B}, {0xC9, 0xD5}, {0xC9, 0xD6}, {0xC9, 0xD9}, /* 0xA0-0xA3 */ + {0xC9, 0xDA}, {0xC9, 0xDC}, {0xC9, 0xDD}, {0xC9, 0xE0}, /* 0xA4-0xA7 */ + {0xC9, 0xE2}, {0xC9, 0xE4}, {0xC9, 0xE7}, {0xC9, 0xEC}, /* 0xA8-0xAB */ + {0xC9, 0xED}, {0xC9, 0xEF}, {0xC9, 0xF0}, {0xC9, 0xF1}, /* 0xAC-0xAF */ + {0xC9, 0xF8}, {0xC9, 0xF9}, {0xC9, 0xFC}, {0xCA, 0x00}, /* 0xB0-0xB3 */ + {0xCA, 0x08}, {0xCA, 0x09}, {0xCA, 0x0B}, {0xCA, 0x0C}, /* 0xB4-0xB7 */ + {0xCA, 0x0D}, {0xCA, 0x14}, {0xCA, 0x18}, {0xCA, 0x29}, /* 0xB8-0xBB */ + {0xCA, 0x4C}, {0xCA, 0x4D}, {0xCA, 0x50}, {0xCA, 0x54}, /* 0xBC-0xBF */ + {0xCA, 0x5C}, {0xCA, 0x5D}, {0xCA, 0x5F}, {0xCA, 0x60}, /* 0xC0-0xC3 */ + {0xCA, 0x61}, {0xCA, 0x68}, {0xCA, 0x7D}, {0xCA, 0x84}, /* 0xC4-0xC7 */ + {0xCA, 0x98}, {0xCA, 0xBC}, {0xCA, 0xBD}, {0xCA, 0xC0}, /* 0xC8-0xCB */ + {0xCA, 0xC4}, {0xCA, 0xCC}, {0xCA, 0xCD}, {0xCA, 0xCF}, /* 0xCC-0xCF */ + {0xCA, 0xD1}, {0xCA, 0xD3}, {0xCA, 0xD8}, {0xCA, 0xD9}, /* 0xD0-0xD3 */ + {0xCA, 0xE0}, {0xCA, 0xEC}, {0xCA, 0xF4}, {0xCB, 0x08}, /* 0xD4-0xD7 */ + {0xCB, 0x10}, {0xCB, 0x14}, {0xCB, 0x18}, {0xCB, 0x20}, /* 0xD8-0xDB */ + {0xCB, 0x21}, {0xCB, 0x41}, {0xCB, 0x48}, {0xCB, 0x49}, /* 0xDC-0xDF */ + {0xCB, 0x4C}, {0xCB, 0x50}, {0xCB, 0x58}, {0xCB, 0x59}, /* 0xE0-0xE3 */ + {0xCB, 0x5D}, {0xCB, 0x64}, {0xCB, 0x78}, {0xCB, 0x79}, /* 0xE4-0xE7 */ + {0xCB, 0x9C}, {0xCB, 0xB8}, {0xCB, 0xD4}, {0xCB, 0xE4}, /* 0xE8-0xEB */ + {0xCB, 0xE7}, {0xCB, 0xE9}, {0xCC, 0x0C}, {0xCC, 0x0D}, /* 0xEC-0xEF */ + {0xCC, 0x10}, {0xCC, 0x14}, {0xCC, 0x1C}, {0xCC, 0x1D}, /* 0xF0-0xF3 */ + {0xCC, 0x21}, {0xCC, 0x22}, {0xCC, 0x27}, {0xCC, 0x28}, /* 0xF4-0xF7 */ + {0xCC, 0x29}, {0xCC, 0x2C}, {0xCC, 0x2E}, {0xCC, 0x30}, /* 0xF8-0xFB */ + {0xCC, 0x38}, {0xCC, 0x39}, {0xCC, 0x3B}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD6, 0x3D}, {0xD6, 0x3E}, {0xD6, 0x3F}, /* 0x40-0x43 */ + {0xD6, 0x41}, {0xD6, 0x42}, {0xD6, 0x43}, {0xD6, 0x44}, /* 0x44-0x47 */ + {0xD6, 0x46}, {0xD6, 0x47}, {0xD6, 0x4A}, {0xD6, 0x4C}, /* 0x48-0x4B */ + {0xD6, 0x4E}, {0xD6, 0x4F}, {0xD6, 0x50}, {0xD6, 0x52}, /* 0x4C-0x4F */ + {0xD6, 0x53}, {0xD6, 0x56}, {0xD6, 0x57}, {0xD6, 0x59}, /* 0x50-0x53 */ + {0xD6, 0x5A}, {0xD6, 0x5B}, {0xD6, 0x5D}, {0xD6, 0x5E}, /* 0x54-0x57 */ + {0xD6, 0x5F}, {0xD6, 0x60}, {0xD6, 0x61}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD6, 0x62}, {0xD6, 0x63}, {0xD6, 0x64}, /* 0x60-0x63 */ + {0xD6, 0x65}, {0xD6, 0x66}, {0xD6, 0x68}, {0xD6, 0x6A}, /* 0x64-0x67 */ + {0xD6, 0x6B}, {0xD6, 0x6C}, {0xD6, 0x6D}, {0xD6, 0x6E}, /* 0x68-0x6B */ + {0xD6, 0x6F}, {0xD6, 0x72}, {0xD6, 0x73}, {0xD6, 0x75}, /* 0x6C-0x6F */ + {0xD6, 0x76}, {0xD6, 0x77}, {0xD6, 0x78}, {0xD6, 0x79}, /* 0x70-0x73 */ + {0xD6, 0x7A}, {0xD6, 0x7B}, {0xD6, 0x7C}, {0xD6, 0x7D}, /* 0x74-0x77 */ + {0xD6, 0x7E}, {0xD6, 0x7F}, {0xD6, 0x80}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD6, 0x81}, {0xD6, 0x82}, {0xD6, 0x84}, /* 0x80-0x83 */ + {0xD6, 0x86}, {0xD6, 0x87}, {0xD6, 0x88}, {0xD6, 0x89}, /* 0x84-0x87 */ + {0xD6, 0x8A}, {0xD6, 0x8B}, {0xD6, 0x8E}, {0xD6, 0x8F}, /* 0x88-0x8B */ + {0xD6, 0x91}, {0xD6, 0x92}, {0xD6, 0x93}, {0xD6, 0x95}, /* 0x8C-0x8F */ + {0xD6, 0x96}, {0xD6, 0x97}, {0xD6, 0x98}, {0xD6, 0x99}, /* 0x90-0x93 */ + {0xD6, 0x9A}, {0xD6, 0x9B}, {0xD6, 0x9C}, {0xD6, 0x9E}, /* 0x94-0x97 */ + {0xD6, 0xA0}, {0xD6, 0xA2}, {0xD6, 0xA3}, {0xD6, 0xA4}, /* 0x98-0x9B */ + {0xD6, 0xA5}, {0xD6, 0xA6}, {0xD6, 0xA7}, {0xD6, 0xA9}, /* 0x9C-0x9F */ + {0xD6, 0xAA}, {0xCC, 0x3C}, {0xCC, 0x3D}, {0xCC, 0x3E}, /* 0xA0-0xA3 */ + {0xCC, 0x44}, {0xCC, 0x45}, {0xCC, 0x48}, {0xCC, 0x4C}, /* 0xA4-0xA7 */ + {0xCC, 0x54}, {0xCC, 0x55}, {0xCC, 0x57}, {0xCC, 0x58}, /* 0xA8-0xAB */ + {0xCC, 0x59}, {0xCC, 0x60}, {0xCC, 0x64}, {0xCC, 0x66}, /* 0xAC-0xAF */ + {0xCC, 0x68}, {0xCC, 0x70}, {0xCC, 0x75}, {0xCC, 0x98}, /* 0xB0-0xB3 */ + {0xCC, 0x99}, {0xCC, 0x9C}, {0xCC, 0xA0}, {0xCC, 0xA8}, /* 0xB4-0xB7 */ + {0xCC, 0xA9}, {0xCC, 0xAB}, {0xCC, 0xAC}, {0xCC, 0xAD}, /* 0xB8-0xBB */ + {0xCC, 0xB4}, {0xCC, 0xB5}, {0xCC, 0xB8}, {0xCC, 0xBC}, /* 0xBC-0xBF */ + {0xCC, 0xC4}, {0xCC, 0xC5}, {0xCC, 0xC7}, {0xCC, 0xC9}, /* 0xC0-0xC3 */ + {0xCC, 0xD0}, {0xCC, 0xD4}, {0xCC, 0xE4}, {0xCC, 0xEC}, /* 0xC4-0xC7 */ + {0xCC, 0xF0}, {0xCD, 0x01}, {0xCD, 0x08}, {0xCD, 0x09}, /* 0xC8-0xCB */ + {0xCD, 0x0C}, {0xCD, 0x10}, {0xCD, 0x18}, {0xCD, 0x19}, /* 0xCC-0xCF */ + {0xCD, 0x1B}, {0xCD, 0x1D}, {0xCD, 0x24}, {0xCD, 0x28}, /* 0xD0-0xD3 */ + {0xCD, 0x2C}, {0xCD, 0x39}, {0xCD, 0x5C}, {0xCD, 0x60}, /* 0xD4-0xD7 */ + {0xCD, 0x64}, {0xCD, 0x6C}, {0xCD, 0x6D}, {0xCD, 0x6F}, /* 0xD8-0xDB */ + {0xCD, 0x71}, {0xCD, 0x78}, {0xCD, 0x88}, {0xCD, 0x94}, /* 0xDC-0xDF */ + {0xCD, 0x95}, {0xCD, 0x98}, {0xCD, 0x9C}, {0xCD, 0xA4}, /* 0xE0-0xE3 */ + {0xCD, 0xA5}, {0xCD, 0xA7}, {0xCD, 0xA9}, {0xCD, 0xB0}, /* 0xE4-0xE7 */ + {0xCD, 0xC4}, {0xCD, 0xCC}, {0xCD, 0xD0}, {0xCD, 0xE8}, /* 0xE8-0xEB */ + {0xCD, 0xEC}, {0xCD, 0xF0}, {0xCD, 0xF8}, {0xCD, 0xF9}, /* 0xEC-0xEF */ + {0xCD, 0xFB}, {0xCD, 0xFD}, {0xCE, 0x04}, {0xCE, 0x08}, /* 0xF0-0xF3 */ + {0xCE, 0x0C}, {0xCE, 0x14}, {0xCE, 0x19}, {0xCE, 0x20}, /* 0xF4-0xF7 */ + {0xCE, 0x21}, {0xCE, 0x24}, {0xCE, 0x28}, {0xCE, 0x30}, /* 0xF8-0xFB */ + {0xCE, 0x31}, {0xCE, 0x33}, {0xCE, 0x35}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD6, 0xAB}, {0xD6, 0xAD}, {0xD6, 0xAE}, /* 0x40-0x43 */ + {0xD6, 0xAF}, {0xD6, 0xB1}, {0xD6, 0xB2}, {0xD6, 0xB3}, /* 0x44-0x47 */ + {0xD6, 0xB4}, {0xD6, 0xB5}, {0xD6, 0xB6}, {0xD6, 0xB7}, /* 0x48-0x4B */ + {0xD6, 0xB8}, {0xD6, 0xBA}, {0xD6, 0xBC}, {0xD6, 0xBD}, /* 0x4C-0x4F */ + {0xD6, 0xBE}, {0xD6, 0xBF}, {0xD6, 0xC0}, {0xD6, 0xC1}, /* 0x50-0x53 */ + {0xD6, 0xC2}, {0xD6, 0xC3}, {0xD6, 0xC6}, {0xD6, 0xC7}, /* 0x54-0x57 */ + {0xD6, 0xC9}, {0xD6, 0xCA}, {0xD6, 0xCB}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD6, 0xCD}, {0xD6, 0xCE}, {0xD6, 0xCF}, /* 0x60-0x63 */ + {0xD6, 0xD0}, {0xD6, 0xD2}, {0xD6, 0xD3}, {0xD6, 0xD5}, /* 0x64-0x67 */ + {0xD6, 0xD6}, {0xD6, 0xD8}, {0xD6, 0xDA}, {0xD6, 0xDB}, /* 0x68-0x6B */ + {0xD6, 0xDC}, {0xD6, 0xDD}, {0xD6, 0xDE}, {0xD6, 0xDF}, /* 0x6C-0x6F */ + {0xD6, 0xE1}, {0xD6, 0xE2}, {0xD6, 0xE3}, {0xD6, 0xE5}, /* 0x70-0x73 */ + {0xD6, 0xE6}, {0xD6, 0xE7}, {0xD6, 0xE9}, {0xD6, 0xEA}, /* 0x74-0x77 */ + {0xD6, 0xEB}, {0xD6, 0xEC}, {0xD6, 0xED}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD6, 0xEE}, {0xD6, 0xEF}, {0xD6, 0xF1}, /* 0x80-0x83 */ + {0xD6, 0xF2}, {0xD6, 0xF3}, {0xD6, 0xF4}, {0xD6, 0xF6}, /* 0x84-0x87 */ + {0xD6, 0xF7}, {0xD6, 0xF8}, {0xD6, 0xF9}, {0xD6, 0xFA}, /* 0x88-0x8B */ + {0xD6, 0xFB}, {0xD6, 0xFE}, {0xD6, 0xFF}, {0xD7, 0x01}, /* 0x8C-0x8F */ + {0xD7, 0x02}, {0xD7, 0x03}, {0xD7, 0x05}, {0xD7, 0x06}, /* 0x90-0x93 */ + {0xD7, 0x07}, {0xD7, 0x08}, {0xD7, 0x09}, {0xD7, 0x0A}, /* 0x94-0x97 */ + {0xD7, 0x0B}, {0xD7, 0x0C}, {0xD7, 0x0D}, {0xD7, 0x0E}, /* 0x98-0x9B */ + {0xD7, 0x0F}, {0xD7, 0x10}, {0xD7, 0x12}, {0xD7, 0x13}, /* 0x9C-0x9F */ + {0xD7, 0x14}, {0xCE, 0x58}, {0xCE, 0x59}, {0xCE, 0x5C}, /* 0xA0-0xA3 */ + {0xCE, 0x5F}, {0xCE, 0x60}, {0xCE, 0x61}, {0xCE, 0x68}, /* 0xA4-0xA7 */ + {0xCE, 0x69}, {0xCE, 0x6B}, {0xCE, 0x6D}, {0xCE, 0x74}, /* 0xA8-0xAB */ + {0xCE, 0x75}, {0xCE, 0x78}, {0xCE, 0x7C}, {0xCE, 0x84}, /* 0xAC-0xAF */ + {0xCE, 0x85}, {0xCE, 0x87}, {0xCE, 0x89}, {0xCE, 0x90}, /* 0xB0-0xB3 */ + {0xCE, 0x91}, {0xCE, 0x94}, {0xCE, 0x98}, {0xCE, 0xA0}, /* 0xB4-0xB7 */ + {0xCE, 0xA1}, {0xCE, 0xA3}, {0xCE, 0xA4}, {0xCE, 0xA5}, /* 0xB8-0xBB */ + {0xCE, 0xAC}, {0xCE, 0xAD}, {0xCE, 0xC1}, {0xCE, 0xE4}, /* 0xBC-0xBF */ + {0xCE, 0xE5}, {0xCE, 0xE8}, {0xCE, 0xEB}, {0xCE, 0xEC}, /* 0xC0-0xC3 */ + {0xCE, 0xF4}, {0xCE, 0xF5}, {0xCE, 0xF7}, {0xCE, 0xF8}, /* 0xC4-0xC7 */ + {0xCE, 0xF9}, {0xCF, 0x00}, {0xCF, 0x01}, {0xCF, 0x04}, /* 0xC8-0xCB */ + {0xCF, 0x08}, {0xCF, 0x10}, {0xCF, 0x11}, {0xCF, 0x13}, /* 0xCC-0xCF */ + {0xCF, 0x15}, {0xCF, 0x1C}, {0xCF, 0x20}, {0xCF, 0x24}, /* 0xD0-0xD3 */ + {0xCF, 0x2C}, {0xCF, 0x2D}, {0xCF, 0x2F}, {0xCF, 0x30}, /* 0xD4-0xD7 */ + {0xCF, 0x31}, {0xCF, 0x38}, {0xCF, 0x54}, {0xCF, 0x55}, /* 0xD8-0xDB */ + {0xCF, 0x58}, {0xCF, 0x5C}, {0xCF, 0x64}, {0xCF, 0x65}, /* 0xDC-0xDF */ + {0xCF, 0x67}, {0xCF, 0x69}, {0xCF, 0x70}, {0xCF, 0x71}, /* 0xE0-0xE3 */ + {0xCF, 0x74}, {0xCF, 0x78}, {0xCF, 0x80}, {0xCF, 0x85}, /* 0xE4-0xE7 */ + {0xCF, 0x8C}, {0xCF, 0xA1}, {0xCF, 0xA8}, {0xCF, 0xB0}, /* 0xE8-0xEB */ + {0xCF, 0xC4}, {0xCF, 0xE0}, {0xCF, 0xE1}, {0xCF, 0xE4}, /* 0xEC-0xEF */ + {0xCF, 0xE8}, {0xCF, 0xF0}, {0xCF, 0xF1}, {0xCF, 0xF3}, /* 0xF0-0xF3 */ + {0xCF, 0xF5}, {0xCF, 0xFC}, {0xD0, 0x00}, {0xD0, 0x04}, /* 0xF4-0xF7 */ + {0xD0, 0x11}, {0xD0, 0x18}, {0xD0, 0x2D}, {0xD0, 0x34}, /* 0xF8-0xFB */ + {0xD0, 0x35}, {0xD0, 0x38}, {0xD0, 0x3C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD7, 0x15}, {0xD7, 0x16}, {0xD7, 0x17}, /* 0x40-0x43 */ + {0xD7, 0x1A}, {0xD7, 0x1B}, {0xD7, 0x1D}, {0xD7, 0x1E}, /* 0x44-0x47 */ + {0xD7, 0x1F}, {0xD7, 0x21}, {0xD7, 0x22}, {0xD7, 0x23}, /* 0x48-0x4B */ + {0xD7, 0x24}, {0xD7, 0x25}, {0xD7, 0x26}, {0xD7, 0x27}, /* 0x4C-0x4F */ + {0xD7, 0x2A}, {0xD7, 0x2C}, {0xD7, 0x2E}, {0xD7, 0x2F}, /* 0x50-0x53 */ + {0xD7, 0x30}, {0xD7, 0x31}, {0xD7, 0x32}, {0xD7, 0x33}, /* 0x54-0x57 */ + {0xD7, 0x36}, {0xD7, 0x37}, {0xD7, 0x39}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0xD7, 0x3A}, {0xD7, 0x3B}, {0xD7, 0x3D}, /* 0x60-0x63 */ + {0xD7, 0x3E}, {0xD7, 0x3F}, {0xD7, 0x40}, {0xD7, 0x41}, /* 0x64-0x67 */ + {0xD7, 0x42}, {0xD7, 0x43}, {0xD7, 0x45}, {0xD7, 0x46}, /* 0x68-0x6B */ + {0xD7, 0x48}, {0xD7, 0x4A}, {0xD7, 0x4B}, {0xD7, 0x4C}, /* 0x6C-0x6F */ + {0xD7, 0x4D}, {0xD7, 0x4E}, {0xD7, 0x4F}, {0xD7, 0x52}, /* 0x70-0x73 */ + {0xD7, 0x53}, {0xD7, 0x55}, {0xD7, 0x5A}, {0xD7, 0x5B}, /* 0x74-0x77 */ + {0xD7, 0x5C}, {0xD7, 0x5D}, {0xD7, 0x5E}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0xD7, 0x5F}, {0xD7, 0x62}, {0xD7, 0x64}, /* 0x80-0x83 */ + {0xD7, 0x66}, {0xD7, 0x67}, {0xD7, 0x68}, {0xD7, 0x6A}, /* 0x84-0x87 */ + {0xD7, 0x6B}, {0xD7, 0x6D}, {0xD7, 0x6E}, {0xD7, 0x6F}, /* 0x88-0x8B */ + {0xD7, 0x71}, {0xD7, 0x72}, {0xD7, 0x73}, {0xD7, 0x75}, /* 0x8C-0x8F */ + {0xD7, 0x76}, {0xD7, 0x77}, {0xD7, 0x78}, {0xD7, 0x79}, /* 0x90-0x93 */ + {0xD7, 0x7A}, {0xD7, 0x7B}, {0xD7, 0x7E}, {0xD7, 0x7F}, /* 0x94-0x97 */ + {0xD7, 0x80}, {0xD7, 0x82}, {0xD7, 0x83}, {0xD7, 0x84}, /* 0x98-0x9B */ + {0xD7, 0x85}, {0xD7, 0x86}, {0xD7, 0x87}, {0xD7, 0x8A}, /* 0x9C-0x9F */ + {0xD7, 0x8B}, {0xD0, 0x44}, {0xD0, 0x45}, {0xD0, 0x47}, /* 0xA0-0xA3 */ + {0xD0, 0x49}, {0xD0, 0x50}, {0xD0, 0x54}, {0xD0, 0x58}, /* 0xA4-0xA7 */ + {0xD0, 0x60}, {0xD0, 0x6C}, {0xD0, 0x6D}, {0xD0, 0x70}, /* 0xA8-0xAB */ + {0xD0, 0x74}, {0xD0, 0x7C}, {0xD0, 0x7D}, {0xD0, 0x81}, /* 0xAC-0xAF */ + {0xD0, 0xA4}, {0xD0, 0xA5}, {0xD0, 0xA8}, {0xD0, 0xAC}, /* 0xB0-0xB3 */ + {0xD0, 0xB4}, {0xD0, 0xB5}, {0xD0, 0xB7}, {0xD0, 0xB9}, /* 0xB4-0xB7 */ + {0xD0, 0xC0}, {0xD0, 0xC1}, {0xD0, 0xC4}, {0xD0, 0xC8}, /* 0xB8-0xBB */ + {0xD0, 0xC9}, {0xD0, 0xD0}, {0xD0, 0xD1}, {0xD0, 0xD3}, /* 0xBC-0xBF */ + {0xD0, 0xD4}, {0xD0, 0xD5}, {0xD0, 0xDC}, {0xD0, 0xDD}, /* 0xC0-0xC3 */ + {0xD0, 0xE0}, {0xD0, 0xE4}, {0xD0, 0xEC}, {0xD0, 0xED}, /* 0xC4-0xC7 */ + {0xD0, 0xEF}, {0xD0, 0xF0}, {0xD0, 0xF1}, {0xD0, 0xF8}, /* 0xC8-0xCB */ + {0xD1, 0x0D}, {0xD1, 0x30}, {0xD1, 0x31}, {0xD1, 0x34}, /* 0xCC-0xCF */ + {0xD1, 0x38}, {0xD1, 0x3A}, {0xD1, 0x40}, {0xD1, 0x41}, /* 0xD0-0xD3 */ + {0xD1, 0x43}, {0xD1, 0x44}, {0xD1, 0x45}, {0xD1, 0x4C}, /* 0xD4-0xD7 */ + {0xD1, 0x4D}, {0xD1, 0x50}, {0xD1, 0x54}, {0xD1, 0x5C}, /* 0xD8-0xDB */ + {0xD1, 0x5D}, {0xD1, 0x5F}, {0xD1, 0x61}, {0xD1, 0x68}, /* 0xDC-0xDF */ + {0xD1, 0x6C}, {0xD1, 0x7C}, {0xD1, 0x84}, {0xD1, 0x88}, /* 0xE0-0xE3 */ + {0xD1, 0xA0}, {0xD1, 0xA1}, {0xD1, 0xA4}, {0xD1, 0xA8}, /* 0xE4-0xE7 */ + {0xD1, 0xB0}, {0xD1, 0xB1}, {0xD1, 0xB3}, {0xD1, 0xB5}, /* 0xE8-0xEB */ + {0xD1, 0xBA}, {0xD1, 0xBC}, {0xD1, 0xC0}, {0xD1, 0xD8}, /* 0xEC-0xEF */ + {0xD1, 0xF4}, {0xD1, 0xF8}, {0xD2, 0x07}, {0xD2, 0x09}, /* 0xF0-0xF3 */ + {0xD2, 0x10}, {0xD2, 0x2C}, {0xD2, 0x2D}, {0xD2, 0x30}, /* 0xF4-0xF7 */ + {0xD2, 0x34}, {0xD2, 0x3C}, {0xD2, 0x3D}, {0xD2, 0x3F}, /* 0xF8-0xFB */ + {0xD2, 0x41}, {0xD2, 0x48}, {0xD2, 0x5C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0xD7, 0x8D}, {0xD7, 0x8E}, {0xD7, 0x8F}, /* 0x40-0x43 */ + {0xD7, 0x91}, {0xD7, 0x92}, {0xD7, 0x93}, {0xD7, 0x94}, /* 0x44-0x47 */ + {0xD7, 0x95}, {0xD7, 0x96}, {0xD7, 0x97}, {0xD7, 0x9A}, /* 0x48-0x4B */ + {0xD7, 0x9C}, {0xD7, 0x9E}, {0xD7, 0x9F}, {0xD7, 0xA0}, /* 0x4C-0x4F */ + {0xD7, 0xA1}, {0xD7, 0xA2}, {0xD7, 0xA3}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xD2, 0x64}, {0xD2, 0x80}, {0xD2, 0x81}, /* 0xA0-0xA3 */ + {0xD2, 0x84}, {0xD2, 0x88}, {0xD2, 0x90}, {0xD2, 0x91}, /* 0xA4-0xA7 */ + {0xD2, 0x95}, {0xD2, 0x9C}, {0xD2, 0xA0}, {0xD2, 0xA4}, /* 0xA8-0xAB */ + {0xD2, 0xAC}, {0xD2, 0xB1}, {0xD2, 0xB8}, {0xD2, 0xB9}, /* 0xAC-0xAF */ + {0xD2, 0xBC}, {0xD2, 0xBF}, {0xD2, 0xC0}, {0xD2, 0xC2}, /* 0xB0-0xB3 */ + {0xD2, 0xC8}, {0xD2, 0xC9}, {0xD2, 0xCB}, {0xD2, 0xD4}, /* 0xB4-0xB7 */ + {0xD2, 0xD8}, {0xD2, 0xDC}, {0xD2, 0xE4}, {0xD2, 0xE5}, /* 0xB8-0xBB */ + {0xD2, 0xF0}, {0xD2, 0xF1}, {0xD2, 0xF4}, {0xD2, 0xF8}, /* 0xBC-0xBF */ + {0xD3, 0x00}, {0xD3, 0x01}, {0xD3, 0x03}, {0xD3, 0x05}, /* 0xC0-0xC3 */ + {0xD3, 0x0C}, {0xD3, 0x0D}, {0xD3, 0x0E}, {0xD3, 0x10}, /* 0xC4-0xC7 */ + {0xD3, 0x14}, {0xD3, 0x16}, {0xD3, 0x1C}, {0xD3, 0x1D}, /* 0xC8-0xCB */ + {0xD3, 0x1F}, {0xD3, 0x20}, {0xD3, 0x21}, {0xD3, 0x25}, /* 0xCC-0xCF */ + {0xD3, 0x28}, {0xD3, 0x29}, {0xD3, 0x2C}, {0xD3, 0x30}, /* 0xD0-0xD3 */ + {0xD3, 0x38}, {0xD3, 0x39}, {0xD3, 0x3B}, {0xD3, 0x3C}, /* 0xD4-0xD7 */ + {0xD3, 0x3D}, {0xD3, 0x44}, {0xD3, 0x45}, {0xD3, 0x7C}, /* 0xD8-0xDB */ + {0xD3, 0x7D}, {0xD3, 0x80}, {0xD3, 0x84}, {0xD3, 0x8C}, /* 0xDC-0xDF */ + {0xD3, 0x8D}, {0xD3, 0x8F}, {0xD3, 0x90}, {0xD3, 0x91}, /* 0xE0-0xE3 */ + {0xD3, 0x98}, {0xD3, 0x99}, {0xD3, 0x9C}, {0xD3, 0xA0}, /* 0xE4-0xE7 */ + {0xD3, 0xA8}, {0xD3, 0xA9}, {0xD3, 0xAB}, {0xD3, 0xAD}, /* 0xE8-0xEB */ + {0xD3, 0xB4}, {0xD3, 0xB8}, {0xD3, 0xBC}, {0xD3, 0xC4}, /* 0xEC-0xEF */ + {0xD3, 0xC5}, {0xD3, 0xC8}, {0xD3, 0xC9}, {0xD3, 0xD0}, /* 0xF0-0xF3 */ + {0xD3, 0xD8}, {0xD3, 0xE1}, {0xD3, 0xE3}, {0xD3, 0xEC}, /* 0xF4-0xF7 */ + {0xD3, 0xED}, {0xD3, 0xF0}, {0xD3, 0xF4}, {0xD3, 0xFC}, /* 0xF8-0xFB */ + {0xD3, 0xFD}, {0xD3, 0xFF}, {0xD4, 0x01}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xD4, 0x08}, {0xD4, 0x1D}, {0xD4, 0x40}, /* 0xA0-0xA3 */ + {0xD4, 0x44}, {0xD4, 0x5C}, {0xD4, 0x60}, {0xD4, 0x64}, /* 0xA4-0xA7 */ + {0xD4, 0x6D}, {0xD4, 0x6F}, {0xD4, 0x78}, {0xD4, 0x79}, /* 0xA8-0xAB */ + {0xD4, 0x7C}, {0xD4, 0x7F}, {0xD4, 0x80}, {0xD4, 0x82}, /* 0xAC-0xAF */ + {0xD4, 0x88}, {0xD4, 0x89}, {0xD4, 0x8B}, {0xD4, 0x8D}, /* 0xB0-0xB3 */ + {0xD4, 0x94}, {0xD4, 0xA9}, {0xD4, 0xCC}, {0xD4, 0xD0}, /* 0xB4-0xB7 */ + {0xD4, 0xD4}, {0xD4, 0xDC}, {0xD4, 0xDF}, {0xD4, 0xE8}, /* 0xB8-0xBB */ + {0xD4, 0xEC}, {0xD4, 0xF0}, {0xD4, 0xF8}, {0xD4, 0xFB}, /* 0xBC-0xBF */ + {0xD4, 0xFD}, {0xD5, 0x04}, {0xD5, 0x08}, {0xD5, 0x0C}, /* 0xC0-0xC3 */ + {0xD5, 0x14}, {0xD5, 0x15}, {0xD5, 0x17}, {0xD5, 0x3C}, /* 0xC4-0xC7 */ + {0xD5, 0x3D}, {0xD5, 0x40}, {0xD5, 0x44}, {0xD5, 0x4C}, /* 0xC8-0xCB */ + {0xD5, 0x4D}, {0xD5, 0x4F}, {0xD5, 0x51}, {0xD5, 0x58}, /* 0xCC-0xCF */ + {0xD5, 0x59}, {0xD5, 0x5C}, {0xD5, 0x60}, {0xD5, 0x65}, /* 0xD0-0xD3 */ + {0xD5, 0x68}, {0xD5, 0x69}, {0xD5, 0x6B}, {0xD5, 0x6D}, /* 0xD4-0xD7 */ + {0xD5, 0x74}, {0xD5, 0x75}, {0xD5, 0x78}, {0xD5, 0x7C}, /* 0xD8-0xDB */ + {0xD5, 0x84}, {0xD5, 0x85}, {0xD5, 0x87}, {0xD5, 0x88}, /* 0xDC-0xDF */ + {0xD5, 0x89}, {0xD5, 0x90}, {0xD5, 0xA5}, {0xD5, 0xC8}, /* 0xE0-0xE3 */ + {0xD5, 0xC9}, {0xD5, 0xCC}, {0xD5, 0xD0}, {0xD5, 0xD2}, /* 0xE4-0xE7 */ + {0xD5, 0xD8}, {0xD5, 0xD9}, {0xD5, 0xDB}, {0xD5, 0xDD}, /* 0xE8-0xEB */ + {0xD5, 0xE4}, {0xD5, 0xE5}, {0xD5, 0xE8}, {0xD5, 0xEC}, /* 0xEC-0xEF */ + {0xD5, 0xF4}, {0xD5, 0xF5}, {0xD5, 0xF7}, {0xD5, 0xF9}, /* 0xF0-0xF3 */ + {0xD6, 0x00}, {0xD6, 0x01}, {0xD6, 0x04}, {0xD6, 0x08}, /* 0xF4-0xF7 */ + {0xD6, 0x10}, {0xD6, 0x11}, {0xD6, 0x13}, {0xD6, 0x14}, /* 0xF8-0xFB */ + {0xD6, 0x15}, {0xD6, 0x1C}, {0xD6, 0x20}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xD6, 0x24}, {0xD6, 0x2D}, {0xD6, 0x38}, /* 0xA0-0xA3 */ + {0xD6, 0x39}, {0xD6, 0x3C}, {0xD6, 0x40}, {0xD6, 0x45}, /* 0xA4-0xA7 */ + {0xD6, 0x48}, {0xD6, 0x49}, {0xD6, 0x4B}, {0xD6, 0x4D}, /* 0xA8-0xAB */ + {0xD6, 0x51}, {0xD6, 0x54}, {0xD6, 0x55}, {0xD6, 0x58}, /* 0xAC-0xAF */ + {0xD6, 0x5C}, {0xD6, 0x67}, {0xD6, 0x69}, {0xD6, 0x70}, /* 0xB0-0xB3 */ + {0xD6, 0x71}, {0xD6, 0x74}, {0xD6, 0x83}, {0xD6, 0x85}, /* 0xB4-0xB7 */ + {0xD6, 0x8C}, {0xD6, 0x8D}, {0xD6, 0x90}, {0xD6, 0x94}, /* 0xB8-0xBB */ + {0xD6, 0x9D}, {0xD6, 0x9F}, {0xD6, 0xA1}, {0xD6, 0xA8}, /* 0xBC-0xBF */ + {0xD6, 0xAC}, {0xD6, 0xB0}, {0xD6, 0xB9}, {0xD6, 0xBB}, /* 0xC0-0xC3 */ + {0xD6, 0xC4}, {0xD6, 0xC5}, {0xD6, 0xC8}, {0xD6, 0xCC}, /* 0xC4-0xC7 */ + {0xD6, 0xD1}, {0xD6, 0xD4}, {0xD6, 0xD7}, {0xD6, 0xD9}, /* 0xC8-0xCB */ + {0xD6, 0xE0}, {0xD6, 0xE4}, {0xD6, 0xE8}, {0xD6, 0xF0}, /* 0xCC-0xCF */ + {0xD6, 0xF5}, {0xD6, 0xFC}, {0xD6, 0xFD}, {0xD7, 0x00}, /* 0xD0-0xD3 */ + {0xD7, 0x04}, {0xD7, 0x11}, {0xD7, 0x18}, {0xD7, 0x19}, /* 0xD4-0xD7 */ + {0xD7, 0x1C}, {0xD7, 0x20}, {0xD7, 0x28}, {0xD7, 0x29}, /* 0xD8-0xDB */ + {0xD7, 0x2B}, {0xD7, 0x2D}, {0xD7, 0x34}, {0xD7, 0x35}, /* 0xDC-0xDF */ + {0xD7, 0x38}, {0xD7, 0x3C}, {0xD7, 0x44}, {0xD7, 0x47}, /* 0xE0-0xE3 */ + {0xD7, 0x49}, {0xD7, 0x50}, {0xD7, 0x51}, {0xD7, 0x54}, /* 0xE4-0xE7 */ + {0xD7, 0x56}, {0xD7, 0x57}, {0xD7, 0x58}, {0xD7, 0x59}, /* 0xE8-0xEB */ + {0xD7, 0x60}, {0xD7, 0x61}, {0xD7, 0x63}, {0xD7, 0x65}, /* 0xEC-0xEF */ + {0xD7, 0x69}, {0xD7, 0x6C}, {0xD7, 0x70}, {0xD7, 0x74}, /* 0xF0-0xF3 */ + {0xD7, 0x7C}, {0xD7, 0x7D}, {0xD7, 0x81}, {0xD7, 0x88}, /* 0xF4-0xF7 */ + {0xD7, 0x89}, {0xD7, 0x8C}, {0xD7, 0x90}, {0xD7, 0x98}, /* 0xF8-0xFB */ + {0xD7, 0x99}, {0xD7, 0x9B}, {0xD7, 0x9D}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x4F, 0x3D}, {0x4F, 0x73}, {0x50, 0x47}, /* 0xA0-0xA3 */ + {0x50, 0xF9}, {0x52, 0xA0}, {0x53, 0xEF}, {0x54, 0x75}, /* 0xA4-0xA7 */ + {0x54, 0xE5}, {0x56, 0x09}, {0x5A, 0xC1}, {0x5B, 0xB6}, /* 0xA8-0xAB */ + {0x66, 0x87}, {0x67, 0xB6}, {0x67, 0xB7}, {0x67, 0xEF}, /* 0xAC-0xAF */ + {0x6B, 0x4C}, {0x73, 0xC2}, {0x75, 0xC2}, {0x7A, 0x3C}, /* 0xB0-0xB3 */ + {0x82, 0xDB}, {0x83, 0x04}, {0x88, 0x57}, {0x88, 0x88}, /* 0xB4-0xB7 */ + {0x8A, 0x36}, {0x8C, 0xC8}, {0x8D, 0xCF}, {0x8E, 0xFB}, /* 0xB8-0xBB */ + {0x8F, 0xE6}, {0x99, 0xD5}, {0x52, 0x3B}, {0x53, 0x74}, /* 0xBC-0xBF */ + {0x54, 0x04}, {0x60, 0x6A}, {0x61, 0x64}, {0x6B, 0xBC}, /* 0xC0-0xC3 */ + {0x73, 0xCF}, {0x81, 0x1A}, {0x89, 0xBA}, {0x89, 0xD2}, /* 0xC4-0xC7 */ + {0x95, 0xA3}, {0x4F, 0x83}, {0x52, 0x0A}, {0x58, 0xBE}, /* 0xC8-0xCB */ + {0x59, 0x78}, {0x59, 0xE6}, {0x5E, 0x72}, {0x5E, 0x79}, /* 0xCC-0xCF */ + {0x61, 0xC7}, {0x63, 0xC0}, {0x67, 0x46}, {0x67, 0xEC}, /* 0xD0-0xD3 */ + {0x68, 0x7F}, {0x6F, 0x97}, {0x76, 0x4E}, {0x77, 0x0B}, /* 0xD4-0xD7 */ + {0x78, 0xF5}, {0x7A, 0x08}, {0x7A, 0xFF}, {0x7C, 0x21}, /* 0xD8-0xDB */ + {0x80, 0x9D}, {0x82, 0x6E}, {0x82, 0x71}, {0x8A, 0xEB}, /* 0xDC-0xDF */ + {0x95, 0x93}, {0x4E, 0x6B}, {0x55, 0x9D}, {0x66, 0xF7}, /* 0xE0-0xE3 */ + {0x6E, 0x34}, {0x78, 0xA3}, {0x7A, 0xED}, {0x84, 0x5B}, /* 0xE4-0xE7 */ + {0x89, 0x10}, {0x87, 0x4E}, {0x97, 0xA8}, {0x52, 0xD8}, /* 0xE8-0xEB */ + {0x57, 0x4E}, {0x58, 0x2A}, {0x5D, 0x4C}, {0x61, 0x1F}, /* 0xEC-0xEF */ + {0x61, 0xBE}, {0x62, 0x21}, {0x65, 0x62}, {0x67, 0xD1}, /* 0xF0-0xF3 */ + {0x6A, 0x44}, {0x6E, 0x1B}, {0x75, 0x18}, {0x75, 0xB3}, /* 0xF4-0xF7 */ + {0x76, 0xE3}, {0x77, 0xB0}, {0x7D, 0x3A}, {0x90, 0xAF}, /* 0xF8-0xFB */ + {0x94, 0x51}, {0x94, 0x52}, {0x9F, 0x95}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x53, 0x23}, {0x5C, 0xAC}, {0x75, 0x32}, /* 0xA0-0xA3 */ + {0x80, 0xDB}, {0x92, 0x40}, {0x95, 0x98}, {0x52, 0x5B}, /* 0xA4-0xA7 */ + {0x58, 0x08}, {0x59, 0xDC}, {0x5C, 0xA1}, {0x5D, 0x17}, /* 0xA8-0xAB */ + {0x5E, 0xB7}, {0x5F, 0x3A}, {0x5F, 0x4A}, {0x61, 0x77}, /* 0xAC-0xAF */ + {0x6C, 0x5F}, {0x75, 0x7A}, {0x75, 0x86}, {0x7C, 0xE0}, /* 0xB0-0xB3 */ + {0x7D, 0x73}, {0x7D, 0xB1}, {0x7F, 0x8C}, {0x81, 0x54}, /* 0xB4-0xB7 */ + {0x82, 0x21}, {0x85, 0x91}, {0x89, 0x41}, {0x8B, 0x1B}, /* 0xB8-0xBB */ + {0x92, 0xFC}, {0x96, 0x4D}, {0x9C, 0x47}, {0x4E, 0xCB}, /* 0xBC-0xBF */ + {0x4E, 0xF7}, {0x50, 0x0B}, {0x51, 0xF1}, {0x58, 0x4F}, /* 0xC0-0xC3 */ + {0x61, 0x37}, {0x61, 0x3E}, {0x61, 0x68}, {0x65, 0x39}, /* 0xC4-0xC7 */ + {0x69, 0xEA}, {0x6F, 0x11}, {0x75, 0xA5}, {0x76, 0x86}, /* 0xC8-0xCB */ + {0x76, 0xD6}, {0x7B, 0x87}, {0x82, 0xA5}, {0x84, 0xCB}, /* 0xCC-0xCF */ + {0xF9, 0x00}, {0x93, 0xA7}, {0x95, 0x8B}, {0x55, 0x80}, /* 0xD0-0xD3 */ + {0x5B, 0xA2}, {0x57, 0x51}, {0xF9, 0x01}, {0x7C, 0xB3}, /* 0xD4-0xD7 */ + {0x7F, 0xB9}, {0x91, 0xB5}, {0x50, 0x28}, {0x53, 0xBB}, /* 0xD8-0xDB */ + {0x5C, 0x45}, {0x5D, 0xE8}, {0x62, 0xD2}, {0x63, 0x6E}, /* 0xDC-0xDF */ + {0x64, 0xDA}, {0x64, 0xE7}, {0x6E, 0x20}, {0x70, 0xAC}, /* 0xE0-0xE3 */ + {0x79, 0x5B}, {0x8D, 0xDD}, {0x8E, 0x1E}, {0xF9, 0x02}, /* 0xE4-0xE7 */ + {0x90, 0x7D}, {0x92, 0x45}, {0x92, 0xF8}, {0x4E, 0x7E}, /* 0xE8-0xEB */ + {0x4E, 0xF6}, {0x50, 0x65}, {0x5D, 0xFE}, {0x5E, 0xFA}, /* 0xEC-0xEF */ + {0x61, 0x06}, {0x69, 0x57}, {0x81, 0x71}, {0x86, 0x54}, /* 0xF0-0xF3 */ + {0x8E, 0x47}, {0x93, 0x75}, {0x9A, 0x2B}, {0x4E, 0x5E}, /* 0xF4-0xF7 */ + {0x50, 0x91}, {0x67, 0x70}, {0x68, 0x40}, {0x51, 0x09}, /* 0xF8-0xFB */ + {0x52, 0x8D}, {0x52, 0x92}, {0x6A, 0xA2}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x77, 0xBC}, {0x92, 0x10}, {0x9E, 0xD4}, /* 0xA0-0xA3 */ + {0x52, 0xAB}, {0x60, 0x2F}, {0x8F, 0xF2}, {0x50, 0x48}, /* 0xA4-0xA7 */ + {0x61, 0xA9}, {0x63, 0xED}, {0x64, 0xCA}, {0x68, 0x3C}, /* 0xA8-0xAB */ + {0x6A, 0x84}, {0x6F, 0xC0}, {0x81, 0x88}, {0x89, 0xA1}, /* 0xAC-0xAF */ + {0x96, 0x94}, {0x58, 0x05}, {0x72, 0x7D}, {0x72, 0xAC}, /* 0xB0-0xB3 */ + {0x75, 0x04}, {0x7D, 0x79}, {0x7E, 0x6D}, {0x80, 0xA9}, /* 0xB4-0xB7 */ + {0x89, 0x8B}, {0x8B, 0x74}, {0x90, 0x63}, {0x9D, 0x51}, /* 0xB8-0xBB */ + {0x62, 0x89}, {0x6C, 0x7A}, {0x6F, 0x54}, {0x7D, 0x50}, /* 0xBC-0xBF */ + {0x7F, 0x3A}, {0x8A, 0x23}, {0x51, 0x7C}, {0x61, 0x4A}, /* 0xC0-0xC3 */ + {0x7B, 0x9D}, {0x8B, 0x19}, {0x92, 0x57}, {0x93, 0x8C}, /* 0xC4-0xC7 */ + {0x4E, 0xAC}, {0x4F, 0xD3}, {0x50, 0x1E}, {0x50, 0xBE}, /* 0xC8-0xCB */ + {0x51, 0x06}, {0x52, 0xC1}, {0x52, 0xCD}, {0x53, 0x7F}, /* 0xCC-0xCF */ + {0x57, 0x70}, {0x58, 0x83}, {0x5E, 0x9A}, {0x5F, 0x91}, /* 0xD0-0xD3 */ + {0x61, 0x76}, {0x61, 0xAC}, {0x64, 0xCE}, {0x65, 0x6C}, /* 0xD4-0xD7 */ + {0x66, 0x6F}, {0x66, 0xBB}, {0x66, 0xF4}, {0x68, 0x97}, /* 0xD8-0xDB */ + {0x6D, 0x87}, {0x70, 0x85}, {0x70, 0xF1}, {0x74, 0x9F}, /* 0xDC-0xDF */ + {0x74, 0xA5}, {0x74, 0xCA}, {0x75, 0xD9}, {0x78, 0x6C}, /* 0xE0-0xE3 */ + {0x78, 0xEC}, {0x7A, 0xDF}, {0x7A, 0xF6}, {0x7D, 0x45}, /* 0xE4-0xE7 */ + {0x7D, 0x93}, {0x80, 0x15}, {0x80, 0x3F}, {0x81, 0x1B}, /* 0xE8-0xEB */ + {0x83, 0x96}, {0x8B, 0x66}, {0x8F, 0x15}, {0x90, 0x15}, /* 0xEC-0xEF */ + {0x93, 0xE1}, {0x98, 0x03}, {0x98, 0x38}, {0x9A, 0x5A}, /* 0xF0-0xF3 */ + {0x9B, 0xE8}, {0x4F, 0xC2}, {0x55, 0x53}, {0x58, 0x3A}, /* 0xF4-0xF7 */ + {0x59, 0x51}, {0x5B, 0x63}, {0x5C, 0x46}, {0x60, 0xB8}, /* 0xF8-0xFB */ + {0x62, 0x12}, {0x68, 0x42}, {0x68, 0xB0}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x68, 0xE8}, {0x6E, 0xAA}, {0x75, 0x4C}, /* 0xA0-0xA3 */ + {0x76, 0x78}, {0x78, 0xCE}, {0x7A, 0x3D}, {0x7C, 0xFB}, /* 0xA4-0xA7 */ + {0x7E, 0x6B}, {0x7E, 0x7C}, {0x8A, 0x08}, {0x8A, 0xA1}, /* 0xA8-0xAB */ + {0x8C, 0x3F}, {0x96, 0x8E}, {0x9D, 0xC4}, {0x53, 0xE4}, /* 0xAC-0xAF */ + {0x53, 0xE9}, {0x54, 0x4A}, {0x54, 0x71}, {0x56, 0xFA}, /* 0xB0-0xB3 */ + {0x59, 0xD1}, {0x5B, 0x64}, {0x5C, 0x3B}, {0x5E, 0xAB}, /* 0xB4-0xB7 */ + {0x62, 0xF7}, {0x65, 0x37}, {0x65, 0x45}, {0x65, 0x72}, /* 0xB8-0xBB */ + {0x66, 0xA0}, {0x67, 0xAF}, {0x69, 0xC1}, {0x6C, 0xBD}, /* 0xBC-0xBF */ + {0x75, 0xFC}, {0x76, 0x90}, {0x77, 0x7E}, {0x7A, 0x3F}, /* 0xC0-0xC3 */ + {0x7F, 0x94}, {0x80, 0x03}, {0x80, 0xA1}, {0x81, 0x8F}, /* 0xC4-0xC7 */ + {0x82, 0xE6}, {0x82, 0xFD}, {0x83, 0xF0}, {0x85, 0xC1}, /* 0xC8-0xCB */ + {0x88, 0x31}, {0x88, 0xB4}, {0x8A, 0xA5}, {0xF9, 0x03}, /* 0xCC-0xCF */ + {0x8F, 0x9C}, {0x93, 0x2E}, {0x96, 0xC7}, {0x98, 0x67}, /* 0xD0-0xD3 */ + {0x9A, 0xD8}, {0x9F, 0x13}, {0x54, 0xED}, {0x65, 0x9B}, /* 0xD4-0xD7 */ + {0x66, 0xF2}, {0x68, 0x8F}, {0x7A, 0x40}, {0x8C, 0x37}, /* 0xD8-0xDB */ + {0x9D, 0x60}, {0x56, 0xF0}, {0x57, 0x64}, {0x5D, 0x11}, /* 0xDC-0xDF */ + {0x66, 0x06}, {0x68, 0xB1}, {0x68, 0xCD}, {0x6E, 0xFE}, /* 0xE0-0xE3 */ + {0x74, 0x28}, {0x88, 0x9E}, {0x9B, 0xE4}, {0x6C, 0x68}, /* 0xE4-0xE7 */ + {0xF9, 0x04}, {0x9A, 0xA8}, {0x4F, 0x9B}, {0x51, 0x6C}, /* 0xE8-0xEB */ + {0x51, 0x71}, {0x52, 0x9F}, {0x5B, 0x54}, {0x5D, 0xE5}, /* 0xEC-0xEF */ + {0x60, 0x50}, {0x60, 0x6D}, {0x62, 0xF1}, {0x63, 0xA7}, /* 0xF0-0xF3 */ + {0x65, 0x3B}, {0x73, 0xD9}, {0x7A, 0x7A}, {0x86, 0xA3}, /* 0xF4-0xF7 */ + {0x8C, 0xA2}, {0x97, 0x8F}, {0x4E, 0x32}, {0x5B, 0xE1}, /* 0xF8-0xFB */ + {0x62, 0x08}, {0x67, 0x9C}, {0x74, 0xDC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x79, 0xD1}, {0x83, 0xD3}, {0x8A, 0x87}, /* 0xA0-0xA3 */ + {0x8A, 0xB2}, {0x8D, 0xE8}, {0x90, 0x4E}, {0x93, 0x4B}, /* 0xA4-0xA7 */ + {0x98, 0x46}, {0x5E, 0xD3}, {0x69, 0xE8}, {0x85, 0xFF}, /* 0xA8-0xAB */ + {0x90, 0xED}, {0xF9, 0x05}, {0x51, 0xA0}, {0x5B, 0x98}, /* 0xAC-0xAF */ + {0x5B, 0xEC}, {0x61, 0x63}, {0x68, 0xFA}, {0x6B, 0x3E}, /* 0xB0-0xB3 */ + {0x70, 0x4C}, {0x74, 0x2F}, {0x74, 0xD8}, {0x7B, 0xA1}, /* 0xB4-0xB7 */ + {0x7F, 0x50}, {0x83, 0xC5}, {0x89, 0xC0}, {0x8C, 0xAB}, /* 0xB8-0xBB */ + {0x95, 0xDC}, {0x99, 0x28}, {0x52, 0x2E}, {0x60, 0x5D}, /* 0xBC-0xBF */ + {0x62, 0xEC}, {0x90, 0x02}, {0x4F, 0x8A}, {0x51, 0x49}, /* 0xC0-0xC3 */ + {0x53, 0x21}, {0x58, 0xD9}, {0x5E, 0xE3}, {0x66, 0xE0}, /* 0xC4-0xC7 */ + {0x6D, 0x38}, {0x70, 0x9A}, {0x72, 0xC2}, {0x73, 0xD6}, /* 0xC8-0xCB */ + {0x7B, 0x50}, {0x80, 0xF1}, {0x94, 0x5B}, {0x53, 0x66}, /* 0xCC-0xCF */ + {0x63, 0x9B}, {0x7F, 0x6B}, {0x4E, 0x56}, {0x50, 0x80}, /* 0xD0-0xD3 */ + {0x58, 0x4A}, {0x58, 0xDE}, {0x60, 0x2A}, {0x61, 0x27}, /* 0xD4-0xD7 */ + {0x62, 0xD0}, {0x69, 0xD0}, {0x9B, 0x41}, {0x5B, 0x8F}, /* 0xD8-0xDB */ + {0x7D, 0x18}, {0x80, 0xB1}, {0x8F, 0x5F}, {0x4E, 0xA4}, /* 0xDC-0xDF */ + {0x50, 0xD1}, {0x54, 0xAC}, {0x55, 0xAC}, {0x5B, 0x0C}, /* 0xE0-0xE3 */ + {0x5D, 0xA0}, {0x5D, 0xE7}, {0x65, 0x2A}, {0x65, 0x4E}, /* 0xE4-0xE7 */ + {0x68, 0x21}, {0x6A, 0x4B}, {0x72, 0xE1}, {0x76, 0x8E}, /* 0xE8-0xEB */ + {0x77, 0xEF}, {0x7D, 0x5E}, {0x7F, 0xF9}, {0x81, 0xA0}, /* 0xEC-0xEF */ + {0x85, 0x4E}, {0x86, 0xDF}, {0x8F, 0x03}, {0x8F, 0x4E}, /* 0xF0-0xF3 */ + {0x90, 0xCA}, {0x99, 0x03}, {0x9A, 0x55}, {0x9B, 0xAB}, /* 0xF4-0xF7 */ + {0x4E, 0x18}, {0x4E, 0x45}, {0x4E, 0x5D}, {0x4E, 0xC7}, /* 0xF8-0xFB */ + {0x4F, 0xF1}, {0x51, 0x77}, {0x52, 0xFE}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x53, 0x40}, {0x53, 0xE3}, {0x53, 0xE5}, /* 0xA0-0xA3 */ + {0x54, 0x8E}, {0x56, 0x14}, {0x57, 0x75}, {0x57, 0xA2}, /* 0xA4-0xA7 */ + {0x5B, 0xC7}, {0x5D, 0x87}, {0x5E, 0xD0}, {0x61, 0xFC}, /* 0xA8-0xAB */ + {0x62, 0xD8}, {0x65, 0x51}, {0x67, 0xB8}, {0x67, 0xE9}, /* 0xAC-0xAF */ + {0x69, 0xCB}, {0x6B, 0x50}, {0x6B, 0xC6}, {0x6B, 0xEC}, /* 0xB0-0xB3 */ + {0x6C, 0x42}, {0x6E, 0x9D}, {0x70, 0x78}, {0x72, 0xD7}, /* 0xB4-0xB7 */ + {0x73, 0x96}, {0x74, 0x03}, {0x77, 0xBF}, {0x77, 0xE9}, /* 0xB8-0xBB */ + {0x7A, 0x76}, {0x7D, 0x7F}, {0x80, 0x09}, {0x81, 0xFC}, /* 0xBC-0xBF */ + {0x82, 0x05}, {0x82, 0x0A}, {0x82, 0xDF}, {0x88, 0x62}, /* 0xC0-0xC3 */ + {0x8B, 0x33}, {0x8C, 0xFC}, {0x8E, 0xC0}, {0x90, 0x11}, /* 0xC4-0xC7 */ + {0x90, 0xB1}, {0x92, 0x64}, {0x92, 0xB6}, {0x99, 0xD2}, /* 0xC8-0xCB */ + {0x9A, 0x45}, {0x9C, 0xE9}, {0x9D, 0xD7}, {0x9F, 0x9C}, /* 0xCC-0xCF */ + {0x57, 0x0B}, {0x5C, 0x40}, {0x83, 0xCA}, {0x97, 0xA0}, /* 0xD0-0xD3 */ + {0x97, 0xAB}, {0x9E, 0xB4}, {0x54, 0x1B}, {0x7A, 0x98}, /* 0xD4-0xD7 */ + {0x7F, 0xA4}, {0x88, 0xD9}, {0x8E, 0xCD}, {0x90, 0xE1}, /* 0xD8-0xDB */ + {0x58, 0x00}, {0x5C, 0x48}, {0x63, 0x98}, {0x7A, 0x9F}, /* 0xDC-0xDF */ + {0x5B, 0xAE}, {0x5F, 0x13}, {0x7A, 0x79}, {0x7A, 0xAE}, /* 0xE0-0xE3 */ + {0x82, 0x8E}, {0x8E, 0xAC}, {0x50, 0x26}, {0x52, 0x38}, /* 0xE4-0xE7 */ + {0x52, 0xF8}, {0x53, 0x77}, {0x57, 0x08}, {0x62, 0xF3}, /* 0xE8-0xEB */ + {0x63, 0x72}, {0x6B, 0x0A}, {0x6D, 0xC3}, {0x77, 0x37}, /* 0xEC-0xEF */ + {0x53, 0xA5}, {0x73, 0x57}, {0x85, 0x68}, {0x8E, 0x76}, /* 0xF0-0xF3 */ + {0x95, 0xD5}, {0x67, 0x3A}, {0x6A, 0xC3}, {0x6F, 0x70}, /* 0xF4-0xF7 */ + {0x8A, 0x6D}, {0x8E, 0xCC}, {0x99, 0x4B}, {0xF9, 0x06}, /* 0xF8-0xFB */ + {0x66, 0x77}, {0x6B, 0x78}, {0x8C, 0xB4}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x9B, 0x3C}, {0xF9, 0x07}, {0x53, 0xEB}, /* 0xA0-0xA3 */ + {0x57, 0x2D}, {0x59, 0x4E}, {0x63, 0xC6}, {0x69, 0xFB}, /* 0xA4-0xA7 */ + {0x73, 0xEA}, {0x78, 0x45}, {0x7A, 0xBA}, {0x7A, 0xC5}, /* 0xA8-0xAB */ + {0x7C, 0xFE}, {0x84, 0x75}, {0x89, 0x8F}, {0x8D, 0x73}, /* 0xAC-0xAF */ + {0x90, 0x35}, {0x95, 0xA8}, {0x52, 0xFB}, {0x57, 0x47}, /* 0xB0-0xB3 */ + {0x75, 0x47}, {0x7B, 0x60}, {0x83, 0xCC}, {0x92, 0x1E}, /* 0xB4-0xB7 */ + {0xF9, 0x08}, {0x6A, 0x58}, {0x51, 0x4B}, {0x52, 0x4B}, /* 0xB8-0xBB */ + {0x52, 0x87}, {0x62, 0x1F}, {0x68, 0xD8}, {0x69, 0x75}, /* 0xBC-0xBF */ + {0x96, 0x99}, {0x50, 0xC5}, {0x52, 0xA4}, {0x52, 0xE4}, /* 0xC0-0xC3 */ + {0x61, 0xC3}, {0x65, 0xA4}, {0x68, 0x39}, {0x69, 0xFF}, /* 0xC4-0xC7 */ + {0x74, 0x7E}, {0x7B, 0x4B}, {0x82, 0xB9}, {0x83, 0xEB}, /* 0xC8-0xCB */ + {0x89, 0xB2}, {0x8B, 0x39}, {0x8F, 0xD1}, {0x99, 0x49}, /* 0xCC-0xCF */ + {0xF9, 0x09}, {0x4E, 0xCA}, {0x59, 0x97}, {0x64, 0xD2}, /* 0xD0-0xD3 */ + {0x66, 0x11}, {0x6A, 0x8E}, {0x74, 0x34}, {0x79, 0x81}, /* 0xD4-0xD7 */ + {0x79, 0xBD}, {0x82, 0xA9}, {0x88, 0x7E}, {0x88, 0x7F}, /* 0xD8-0xDB */ + {0x89, 0x5F}, {0xF9, 0x0A}, {0x93, 0x26}, {0x4F, 0x0B}, /* 0xDC-0xDF */ + {0x53, 0xCA}, {0x60, 0x25}, {0x62, 0x71}, {0x6C, 0x72}, /* 0xE0-0xE3 */ + {0x7D, 0x1A}, {0x7D, 0x66}, {0x4E, 0x98}, {0x51, 0x62}, /* 0xE4-0xE7 */ + {0x77, 0xDC}, {0x80, 0xAF}, {0x4F, 0x01}, {0x4F, 0x0E}, /* 0xE8-0xEB */ + {0x51, 0x76}, {0x51, 0x80}, {0x55, 0xDC}, {0x56, 0x68}, /* 0xEC-0xEF */ + {0x57, 0x3B}, {0x57, 0xFA}, {0x57, 0xFC}, {0x59, 0x14}, /* 0xF0-0xF3 */ + {0x59, 0x47}, {0x59, 0x93}, {0x5B, 0xC4}, {0x5C, 0x90}, /* 0xF4-0xF7 */ + {0x5D, 0x0E}, {0x5D, 0xF1}, {0x5E, 0x7E}, {0x5F, 0xCC}, /* 0xF8-0xFB */ + {0x62, 0x80}, {0x65, 0xD7}, {0x65, 0xE3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x67, 0x1E}, {0x67, 0x1F}, {0x67, 0x5E}, /* 0xA0-0xA3 */ + {0x68, 0xCB}, {0x68, 0xC4}, {0x6A, 0x5F}, {0x6B, 0x3A}, /* 0xA4-0xA7 */ + {0x6C, 0x23}, {0x6C, 0x7D}, {0x6C, 0x82}, {0x6D, 0xC7}, /* 0xA8-0xAB */ + {0x73, 0x98}, {0x74, 0x26}, {0x74, 0x2A}, {0x74, 0x82}, /* 0xAC-0xAF */ + {0x74, 0xA3}, {0x75, 0x78}, {0x75, 0x7F}, {0x78, 0x81}, /* 0xB0-0xB3 */ + {0x78, 0xEF}, {0x79, 0x41}, {0x79, 0x47}, {0x79, 0x48}, /* 0xB4-0xB7 */ + {0x79, 0x7A}, {0x7B, 0x95}, {0x7D, 0x00}, {0x7D, 0xBA}, /* 0xB8-0xBB */ + {0x7F, 0x88}, {0x80, 0x06}, {0x80, 0x2D}, {0x80, 0x8C}, /* 0xBC-0xBF */ + {0x8A, 0x18}, {0x8B, 0x4F}, {0x8C, 0x48}, {0x8D, 0x77}, /* 0xC0-0xC3 */ + {0x93, 0x21}, {0x93, 0x24}, {0x98, 0xE2}, {0x99, 0x51}, /* 0xC4-0xC7 */ + {0x9A, 0x0E}, {0x9A, 0x0F}, {0x9A, 0x65}, {0x9E, 0x92}, /* 0xC8-0xCB */ + {0x7D, 0xCA}, {0x4F, 0x76}, {0x54, 0x09}, {0x62, 0xEE}, /* 0xCC-0xCF */ + {0x68, 0x54}, {0x91, 0xD1}, {0x55, 0xAB}, {0x51, 0x3A}, /* 0xD0-0xD3 */ + {0xF9, 0x0B}, {0xF9, 0x0C}, {0x5A, 0x1C}, {0x61, 0xE6}, /* 0xD4-0xD7 */ + {0xF9, 0x0D}, {0x62, 0xCF}, {0x62, 0xFF}, {0xF9, 0x0E}, /* 0xD8-0xDB */ + {0xF9, 0x0F}, {0xF9, 0x10}, {0xF9, 0x11}, {0xF9, 0x12}, /* 0xDC-0xDF */ + {0xF9, 0x13}, {0x90, 0xA3}, {0xF9, 0x14}, {0xF9, 0x15}, /* 0xE0-0xE3 */ + {0xF9, 0x16}, {0xF9, 0x17}, {0xF9, 0x18}, {0x8A, 0xFE}, /* 0xE4-0xE7 */ + {0xF9, 0x19}, {0xF9, 0x1A}, {0xF9, 0x1B}, {0xF9, 0x1C}, /* 0xE8-0xEB */ + {0x66, 0x96}, {0xF9, 0x1D}, {0x71, 0x56}, {0xF9, 0x1E}, /* 0xEC-0xEF */ + {0xF9, 0x1F}, {0x96, 0xE3}, {0xF9, 0x20}, {0x63, 0x4F}, /* 0xF0-0xF3 */ + {0x63, 0x7A}, {0x53, 0x57}, {0xF9, 0x21}, {0x67, 0x8F}, /* 0xF4-0xF7 */ + {0x69, 0x60}, {0x6E, 0x73}, {0xF9, 0x22}, {0x75, 0x37}, /* 0xF8-0xFB */ + {0xF9, 0x23}, {0xF9, 0x24}, {0xF9, 0x25}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x7D, 0x0D}, {0xF9, 0x26}, {0xF9, 0x27}, /* 0xA0-0xA3 */ + {0x88, 0x72}, {0x56, 0xCA}, {0x5A, 0x18}, {0xF9, 0x28}, /* 0xA4-0xA7 */ + {0xF9, 0x29}, {0xF9, 0x2A}, {0xF9, 0x2B}, {0xF9, 0x2C}, /* 0xA8-0xAB */ + {0x4E, 0x43}, {0xF9, 0x2D}, {0x51, 0x67}, {0x59, 0x48}, /* 0xAC-0xAF */ + {0x67, 0xF0}, {0x80, 0x10}, {0xF9, 0x2E}, {0x59, 0x73}, /* 0xB0-0xB3 */ + {0x5E, 0x74}, {0x64, 0x9A}, {0x79, 0xCA}, {0x5F, 0xF5}, /* 0xB4-0xB7 */ + {0x60, 0x6C}, {0x62, 0xC8}, {0x63, 0x7B}, {0x5B, 0xE7}, /* 0xB8-0xBB */ + {0x5B, 0xD7}, {0x52, 0xAA}, {0xF9, 0x2F}, {0x59, 0x74}, /* 0xBC-0xBF */ + {0x5F, 0x29}, {0x60, 0x12}, {0xF9, 0x30}, {0xF9, 0x31}, /* 0xC0-0xC3 */ + {0xF9, 0x32}, {0x74, 0x59}, {0xF9, 0x33}, {0xF9, 0x34}, /* 0xC4-0xC7 */ + {0xF9, 0x35}, {0xF9, 0x36}, {0xF9, 0x37}, {0xF9, 0x38}, /* 0xC8-0xCB */ + {0x99, 0xD1}, {0xF9, 0x39}, {0xF9, 0x3A}, {0xF9, 0x3B}, /* 0xCC-0xCF */ + {0xF9, 0x3C}, {0xF9, 0x3D}, {0xF9, 0x3E}, {0xF9, 0x3F}, /* 0xD0-0xD3 */ + {0xF9, 0x40}, {0xF9, 0x41}, {0xF9, 0x42}, {0xF9, 0x43}, /* 0xD4-0xD7 */ + {0x6F, 0xC3}, {0xF9, 0x44}, {0xF9, 0x45}, {0x81, 0xBF}, /* 0xD8-0xDB */ + {0x8F, 0xB2}, {0x60, 0xF1}, {0xF9, 0x46}, {0xF9, 0x47}, /* 0xDC-0xDF */ + {0x81, 0x66}, {0xF9, 0x48}, {0xF9, 0x49}, {0x5C, 0x3F}, /* 0xE0-0xE3 */ + {0xF9, 0x4A}, {0xF9, 0x4B}, {0xF9, 0x4C}, {0xF9, 0x4D}, /* 0xE4-0xE7 */ + {0xF9, 0x4E}, {0xF9, 0x4F}, {0xF9, 0x50}, {0xF9, 0x51}, /* 0xE8-0xEB */ + {0x5A, 0xE9}, {0x8A, 0x25}, {0x67, 0x7B}, {0x7D, 0x10}, /* 0xEC-0xEF */ + {0xF9, 0x52}, {0xF9, 0x53}, {0xF9, 0x54}, {0xF9, 0x55}, /* 0xF0-0xF3 */ + {0xF9, 0x56}, {0xF9, 0x57}, {0x80, 0xFD}, {0xF9, 0x58}, /* 0xF4-0xF7 */ + {0xF9, 0x59}, {0x5C, 0x3C}, {0x6C, 0xE5}, {0x53, 0x3F}, /* 0xF8-0xFB */ + {0x6E, 0xBA}, {0x59, 0x1A}, {0x83, 0x36}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x4E, 0x39}, {0x4E, 0xB6}, {0x4F, 0x46}, /* 0xA0-0xA3 */ + {0x55, 0xAE}, {0x57, 0x18}, {0x58, 0xC7}, {0x5F, 0x56}, /* 0xA4-0xA7 */ + {0x65, 0xB7}, {0x65, 0xE6}, {0x6A, 0x80}, {0x6B, 0xB5}, /* 0xA8-0xAB */ + {0x6E, 0x4D}, {0x77, 0xED}, {0x7A, 0xEF}, {0x7C, 0x1E}, /* 0xAC-0xAF */ + {0x7D, 0xDE}, {0x86, 0xCB}, {0x88, 0x92}, {0x91, 0x32}, /* 0xB0-0xB3 */ + {0x93, 0x5B}, {0x64, 0xBB}, {0x6F, 0xBE}, {0x73, 0x7A}, /* 0xB4-0xB7 */ + {0x75, 0xB8}, {0x90, 0x54}, {0x55, 0x56}, {0x57, 0x4D}, /* 0xB8-0xBB */ + {0x61, 0xBA}, {0x64, 0xD4}, {0x66, 0xC7}, {0x6D, 0xE1}, /* 0xBC-0xBF */ + {0x6E, 0x5B}, {0x6F, 0x6D}, {0x6F, 0xB9}, {0x75, 0xF0}, /* 0xC0-0xC3 */ + {0x80, 0x43}, {0x81, 0xBD}, {0x85, 0x41}, {0x89, 0x83}, /* 0xC4-0xC7 */ + {0x8A, 0xC7}, {0x8B, 0x5A}, {0x93, 0x1F}, {0x6C, 0x93}, /* 0xC8-0xCB */ + {0x75, 0x53}, {0x7B, 0x54}, {0x8E, 0x0F}, {0x90, 0x5D}, /* 0xCC-0xCF */ + {0x55, 0x10}, {0x58, 0x02}, {0x58, 0x58}, {0x5E, 0x62}, /* 0xD0-0xD3 */ + {0x62, 0x07}, {0x64, 0x9E}, {0x68, 0xE0}, {0x75, 0x76}, /* 0xD4-0xD7 */ + {0x7C, 0xD6}, {0x87, 0xB3}, {0x9E, 0xE8}, {0x4E, 0xE3}, /* 0xD8-0xDB */ + {0x57, 0x88}, {0x57, 0x6E}, {0x59, 0x27}, {0x5C, 0x0D}, /* 0xDC-0xDF */ + {0x5C, 0xB1}, {0x5E, 0x36}, {0x5F, 0x85}, {0x62, 0x34}, /* 0xE0-0xE3 */ + {0x64, 0xE1}, {0x73, 0xB3}, {0x81, 0xFA}, {0x88, 0x8B}, /* 0xE4-0xE7 */ + {0x8C, 0xB8}, {0x96, 0x8A}, {0x9E, 0xDB}, {0x5B, 0x85}, /* 0xE8-0xEB */ + {0x5F, 0xB7}, {0x60, 0xB3}, {0x50, 0x12}, {0x52, 0x00}, /* 0xEC-0xEF */ + {0x52, 0x30}, {0x57, 0x16}, {0x58, 0x35}, {0x58, 0x57}, /* 0xF0-0xF3 */ + {0x5C, 0x0E}, {0x5C, 0x60}, {0x5C, 0xF6}, {0x5D, 0x8B}, /* 0xF4-0xF7 */ + {0x5E, 0xA6}, {0x5F, 0x92}, {0x60, 0xBC}, {0x63, 0x11}, /* 0xF8-0xFB */ + {0x63, 0x89}, {0x64, 0x17}, {0x68, 0x43}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x68, 0xF9}, {0x6A, 0xC2}, {0x6D, 0xD8}, /* 0xA0-0xA3 */ + {0x6E, 0x21}, {0x6E, 0xD4}, {0x6F, 0xE4}, {0x71, 0xFE}, /* 0xA4-0xA7 */ + {0x76, 0xDC}, {0x77, 0x79}, {0x79, 0xB1}, {0x7A, 0x3B}, /* 0xA8-0xAB */ + {0x84, 0x04}, {0x89, 0xA9}, {0x8C, 0xED}, {0x8D, 0xF3}, /* 0xAC-0xAF */ + {0x8E, 0x48}, {0x90, 0x03}, {0x90, 0x14}, {0x90, 0x53}, /* 0xB0-0xB3 */ + {0x90, 0xFD}, {0x93, 0x4D}, {0x96, 0x76}, {0x97, 0xDC}, /* 0xB4-0xB7 */ + {0x6B, 0xD2}, {0x70, 0x06}, {0x72, 0x58}, {0x72, 0xA2}, /* 0xB8-0xBB */ + {0x73, 0x68}, {0x77, 0x63}, {0x79, 0xBF}, {0x7B, 0xE4}, /* 0xBC-0xBF */ + {0x7E, 0x9B}, {0x8B, 0x80}, {0x58, 0xA9}, {0x60, 0xC7}, /* 0xC0-0xC3 */ + {0x65, 0x66}, {0x65, 0xFD}, {0x66, 0xBE}, {0x6C, 0x8C}, /* 0xC4-0xC7 */ + {0x71, 0x1E}, {0x71, 0xC9}, {0x8C, 0x5A}, {0x98, 0x13}, /* 0xC8-0xCB */ + {0x4E, 0x6D}, {0x7A, 0x81}, {0x4E, 0xDD}, {0x51, 0xAC}, /* 0xCC-0xCF */ + {0x51, 0xCD}, {0x52, 0xD5}, {0x54, 0x0C}, {0x61, 0xA7}, /* 0xD0-0xD3 */ + {0x67, 0x71}, {0x68, 0x50}, {0x68, 0xDF}, {0x6D, 0x1E}, /* 0xD4-0xD7 */ + {0x6F, 0x7C}, {0x75, 0xBC}, {0x77, 0xB3}, {0x7A, 0xE5}, /* 0xD8-0xDB */ + {0x80, 0xF4}, {0x84, 0x63}, {0x92, 0x85}, {0x51, 0x5C}, /* 0xDC-0xDF */ + {0x65, 0x97}, {0x67, 0x5C}, {0x67, 0x93}, {0x75, 0xD8}, /* 0xE0-0xE3 */ + {0x7A, 0xC7}, {0x83, 0x73}, {0xF9, 0x5A}, {0x8C, 0x46}, /* 0xE4-0xE7 */ + {0x90, 0x17}, {0x98, 0x2D}, {0x5C, 0x6F}, {0x81, 0xC0}, /* 0xE8-0xEB */ + {0x82, 0x9A}, {0x90, 0x41}, {0x90, 0x6F}, {0x92, 0x0D}, /* 0xEC-0xEF */ + {0x5F, 0x97}, {0x5D, 0x9D}, {0x6A, 0x59}, {0x71, 0xC8}, /* 0xF0-0xF3 */ + {0x76, 0x7B}, {0x7B, 0x49}, {0x85, 0xE4}, {0x8B, 0x04}, /* 0xF4-0xF7 */ + {0x91, 0x27}, {0x9A, 0x30}, {0x55, 0x87}, {0x61, 0xF6}, /* 0xF8-0xFB */ + {0xF9, 0x5B}, {0x76, 0x69}, {0x7F, 0x85}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x86, 0x3F}, {0x87, 0xBA}, {0x88, 0xF8}, /* 0xA0-0xA3 */ + {0x90, 0x8F}, {0xF9, 0x5C}, {0x6D, 0x1B}, {0x70, 0xD9}, /* 0xA4-0xA7 */ + {0x73, 0xDE}, {0x7D, 0x61}, {0x84, 0x3D}, {0xF9, 0x5D}, /* 0xA8-0xAB */ + {0x91, 0x6A}, {0x99, 0xF1}, {0xF9, 0x5E}, {0x4E, 0x82}, /* 0xAC-0xAF */ + {0x53, 0x75}, {0x6B, 0x04}, {0x6B, 0x12}, {0x70, 0x3E}, /* 0xB0-0xB3 */ + {0x72, 0x1B}, {0x86, 0x2D}, {0x9E, 0x1E}, {0x52, 0x4C}, /* 0xB4-0xB7 */ + {0x8F, 0xA3}, {0x5D, 0x50}, {0x64, 0xE5}, {0x65, 0x2C}, /* 0xB8-0xBB */ + {0x6B, 0x16}, {0x6F, 0xEB}, {0x7C, 0x43}, {0x7E, 0x9C}, /* 0xBC-0xBF */ + {0x85, 0xCD}, {0x89, 0x64}, {0x89, 0xBD}, {0x62, 0xC9}, /* 0xC0-0xC3 */ + {0x81, 0xD8}, {0x88, 0x1F}, {0x5E, 0xCA}, {0x67, 0x17}, /* 0xC4-0xC7 */ + {0x6D, 0x6A}, {0x72, 0xFC}, {0x74, 0x05}, {0x74, 0x6F}, /* 0xC8-0xCB */ + {0x87, 0x82}, {0x90, 0xDE}, {0x4F, 0x86}, {0x5D, 0x0D}, /* 0xCC-0xCF */ + {0x5F, 0xA0}, {0x84, 0x0A}, {0x51, 0xB7}, {0x63, 0xA0}, /* 0xD0-0xD3 */ + {0x75, 0x65}, {0x4E, 0xAE}, {0x50, 0x06}, {0x51, 0x69}, /* 0xD4-0xD7 */ + {0x51, 0xC9}, {0x68, 0x81}, {0x6A, 0x11}, {0x7C, 0xAE}, /* 0xD8-0xDB */ + {0x7C, 0xB1}, {0x7C, 0xE7}, {0x82, 0x6F}, {0x8A, 0xD2}, /* 0xDC-0xDF */ + {0x8F, 0x1B}, {0x91, 0xCF}, {0x4F, 0xB6}, {0x51, 0x37}, /* 0xE0-0xE3 */ + {0x52, 0xF5}, {0x54, 0x42}, {0x5E, 0xEC}, {0x61, 0x6E}, /* 0xE4-0xE7 */ + {0x62, 0x3E}, {0x65, 0xC5}, {0x6A, 0xDA}, {0x6F, 0xFE}, /* 0xE8-0xEB */ + {0x79, 0x2A}, {0x85, 0xDC}, {0x88, 0x23}, {0x95, 0xAD}, /* 0xEC-0xEF */ + {0x9A, 0x62}, {0x9A, 0x6A}, {0x9E, 0x97}, {0x9E, 0xCE}, /* 0xF0-0xF3 */ + {0x52, 0x9B}, {0x66, 0xC6}, {0x6B, 0x77}, {0x70, 0x1D}, /* 0xF4-0xF7 */ + {0x79, 0x2B}, {0x8F, 0x62}, {0x97, 0x42}, {0x61, 0x90}, /* 0xF8-0xFB */ + {0x62, 0x00}, {0x65, 0x23}, {0x6F, 0x23}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x71, 0x49}, {0x74, 0x89}, {0x7D, 0xF4}, /* 0xA0-0xA3 */ + {0x80, 0x6F}, {0x84, 0xEE}, {0x8F, 0x26}, {0x90, 0x23}, /* 0xA4-0xA7 */ + {0x93, 0x4A}, {0x51, 0xBD}, {0x52, 0x17}, {0x52, 0xA3}, /* 0xA8-0xAB */ + {0x6D, 0x0C}, {0x70, 0xC8}, {0x88, 0xC2}, {0x5E, 0xC9}, /* 0xAC-0xAF */ + {0x65, 0x82}, {0x6B, 0xAE}, {0x6F, 0xC2}, {0x7C, 0x3E}, /* 0xB0-0xB3 */ + {0x73, 0x75}, {0x4E, 0xE4}, {0x4F, 0x36}, {0x56, 0xF9}, /* 0xB4-0xB7 */ + {0xF9, 0x5F}, {0x5C, 0xBA}, {0x5D, 0xBA}, {0x60, 0x1C}, /* 0xB8-0xBB */ + {0x73, 0xB2}, {0x7B, 0x2D}, {0x7F, 0x9A}, {0x7F, 0xCE}, /* 0xBC-0xBF */ + {0x80, 0x46}, {0x90, 0x1E}, {0x92, 0x34}, {0x96, 0xF6}, /* 0xC0-0xC3 */ + {0x97, 0x48}, {0x98, 0x18}, {0x9F, 0x61}, {0x4F, 0x8B}, /* 0xC4-0xC7 */ + {0x6F, 0xA7}, {0x79, 0xAE}, {0x91, 0xB4}, {0x96, 0xB7}, /* 0xC8-0xCB */ + {0x52, 0xDE}, {0xF9, 0x60}, {0x64, 0x88}, {0x64, 0xC4}, /* 0xCC-0xCF */ + {0x6A, 0xD3}, {0x6F, 0x5E}, {0x70, 0x18}, {0x72, 0x10}, /* 0xD0-0xD3 */ + {0x76, 0xE7}, {0x80, 0x01}, {0x86, 0x06}, {0x86, 0x5C}, /* 0xD4-0xD7 */ + {0x8D, 0xEF}, {0x8F, 0x05}, {0x97, 0x32}, {0x9B, 0x6F}, /* 0xD8-0xDB */ + {0x9D, 0xFA}, {0x9E, 0x75}, {0x78, 0x8C}, {0x79, 0x7F}, /* 0xDC-0xDF */ + {0x7D, 0xA0}, {0x83, 0xC9}, {0x93, 0x04}, {0x9E, 0x7F}, /* 0xE0-0xE3 */ + {0x9E, 0x93}, {0x8A, 0xD6}, {0x58, 0xDF}, {0x5F, 0x04}, /* 0xE4-0xE7 */ + {0x67, 0x27}, {0x70, 0x27}, {0x74, 0xCF}, {0x7C, 0x60}, /* 0xE8-0xEB */ + {0x80, 0x7E}, {0x51, 0x21}, {0x70, 0x28}, {0x72, 0x62}, /* 0xEC-0xEF */ + {0x78, 0xCA}, {0x8C, 0xC2}, {0x8C, 0xDA}, {0x8C, 0xF4}, /* 0xF0-0xF3 */ + {0x96, 0xF7}, {0x4E, 0x86}, {0x50, 0xDA}, {0x5B, 0xEE}, /* 0xF4-0xF7 */ + {0x5E, 0xD6}, {0x65, 0x99}, {0x71, 0xCE}, {0x76, 0x42}, /* 0xF8-0xFB */ + {0x77, 0xAD}, {0x80, 0x4A}, {0x84, 0xFC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x90, 0x7C}, {0x9B, 0x27}, {0x9F, 0x8D}, /* 0xA0-0xA3 */ + {0x58, 0xD8}, {0x5A, 0x41}, {0x5C, 0x62}, {0x6A, 0x13}, /* 0xA4-0xA7 */ + {0x6D, 0xDA}, {0x6F, 0x0F}, {0x76, 0x3B}, {0x7D, 0x2F}, /* 0xA8-0xAB */ + {0x7E, 0x37}, {0x85, 0x1E}, {0x89, 0x38}, {0x93, 0xE4}, /* 0xAC-0xAF */ + {0x96, 0x4B}, {0x52, 0x89}, {0x65, 0xD2}, {0x67, 0xF3}, /* 0xB0-0xB3 */ + {0x69, 0xB4}, {0x6D, 0x41}, {0x6E, 0x9C}, {0x70, 0x0F}, /* 0xB4-0xB7 */ + {0x74, 0x09}, {0x74, 0x60}, {0x75, 0x59}, {0x76, 0x24}, /* 0xB8-0xBB */ + {0x78, 0x6B}, {0x8B, 0x2C}, {0x98, 0x5E}, {0x51, 0x6D}, /* 0xBC-0xBF */ + {0x62, 0x2E}, {0x96, 0x78}, {0x4F, 0x96}, {0x50, 0x2B}, /* 0xC0-0xC3 */ + {0x5D, 0x19}, {0x6D, 0xEA}, {0x7D, 0xB8}, {0x8F, 0x2A}, /* 0xC4-0xC7 */ + {0x5F, 0x8B}, {0x61, 0x44}, {0x68, 0x17}, {0xF9, 0x61}, /* 0xC8-0xCB */ + {0x96, 0x86}, {0x52, 0xD2}, {0x80, 0x8B}, {0x51, 0xDC}, /* 0xCC-0xCF */ + {0x51, 0xCC}, {0x69, 0x5E}, {0x7A, 0x1C}, {0x7D, 0xBE}, /* 0xD0-0xD3 */ + {0x83, 0xF1}, {0x96, 0x75}, {0x4F, 0xDA}, {0x52, 0x29}, /* 0xD4-0xD7 */ + {0x53, 0x98}, {0x54, 0x0F}, {0x55, 0x0E}, {0x5C, 0x65}, /* 0xD8-0xDB */ + {0x60, 0xA7}, {0x67, 0x4E}, {0x68, 0xA8}, {0x6D, 0x6C}, /* 0xDC-0xDF */ + {0x72, 0x81}, {0x72, 0xF8}, {0x74, 0x06}, {0x74, 0x83}, /* 0xE0-0xE3 */ + {0xF9, 0x62}, {0x75, 0xE2}, {0x7C, 0x6C}, {0x7F, 0x79}, /* 0xE4-0xE7 */ + {0x7F, 0xB8}, {0x83, 0x89}, {0x88, 0xCF}, {0x88, 0xE1}, /* 0xE8-0xEB */ + {0x91, 0xCC}, {0x91, 0xD0}, {0x96, 0xE2}, {0x9B, 0xC9}, /* 0xEC-0xEF */ + {0x54, 0x1D}, {0x6F, 0x7E}, {0x71, 0xD0}, {0x74, 0x98}, /* 0xF0-0xF3 */ + {0x85, 0xFA}, {0x8E, 0xAA}, {0x96, 0xA3}, {0x9C, 0x57}, /* 0xF4-0xF7 */ + {0x9E, 0x9F}, {0x67, 0x97}, {0x6D, 0xCB}, {0x74, 0x33}, /* 0xF8-0xFB */ + {0x81, 0xE8}, {0x97, 0x16}, {0x78, 0x2C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x7A, 0xCB}, {0x7B, 0x20}, {0x7C, 0x92}, /* 0xA0-0xA3 */ + {0x64, 0x69}, {0x74, 0x6A}, {0x75, 0xF2}, {0x78, 0xBC}, /* 0xA4-0xA7 */ + {0x78, 0xE8}, {0x99, 0xAC}, {0x9B, 0x54}, {0x9E, 0xBB}, /* 0xA8-0xAB */ + {0x5B, 0xDE}, {0x5E, 0x55}, {0x6F, 0x20}, {0x81, 0x9C}, /* 0xAC-0xAF */ + {0x83, 0xAB}, {0x90, 0x88}, {0x4E, 0x07}, {0x53, 0x4D}, /* 0xB0-0xB3 */ + {0x5A, 0x29}, {0x5D, 0xD2}, {0x5F, 0x4E}, {0x61, 0x62}, /* 0xB4-0xB7 */ + {0x63, 0x3D}, {0x66, 0x69}, {0x66, 0xFC}, {0x6E, 0xFF}, /* 0xB8-0xBB */ + {0x6F, 0x2B}, {0x70, 0x63}, {0x77, 0x9E}, {0x84, 0x2C}, /* 0xBC-0xBF */ + {0x85, 0x13}, {0x88, 0x3B}, {0x8F, 0x13}, {0x99, 0x45}, /* 0xC0-0xC3 */ + {0x9C, 0x3B}, {0x55, 0x1C}, {0x62, 0xB9}, {0x67, 0x2B}, /* 0xC4-0xC7 */ + {0x6C, 0xAB}, {0x83, 0x09}, {0x89, 0x6A}, {0x97, 0x7A}, /* 0xC8-0xCB */ + {0x4E, 0xA1}, {0x59, 0x84}, {0x5F, 0xD8}, {0x5F, 0xD9}, /* 0xCC-0xCF */ + {0x67, 0x1B}, {0x7D, 0xB2}, {0x7F, 0x54}, {0x82, 0x92}, /* 0xD0-0xD3 */ + {0x83, 0x2B}, {0x83, 0xBD}, {0x8F, 0x1E}, {0x90, 0x99}, /* 0xD4-0xD7 */ + {0x57, 0xCB}, {0x59, 0xB9}, {0x5A, 0x92}, {0x5B, 0xD0}, /* 0xD8-0xDB */ + {0x66, 0x27}, {0x67, 0x9A}, {0x68, 0x85}, {0x6B, 0xCF}, /* 0xDC-0xDF */ + {0x71, 0x64}, {0x7F, 0x75}, {0x8C, 0xB7}, {0x8C, 0xE3}, /* 0xE0-0xE3 */ + {0x90, 0x81}, {0x9B, 0x45}, {0x81, 0x08}, {0x8C, 0x8A}, /* 0xE4-0xE7 */ + {0x96, 0x4C}, {0x9A, 0x40}, {0x9E, 0xA5}, {0x5B, 0x5F}, /* 0xE8-0xEB */ + {0x6C, 0x13}, {0x73, 0x1B}, {0x76, 0xF2}, {0x76, 0xDF}, /* 0xEC-0xEF */ + {0x84, 0x0C}, {0x51, 0xAA}, {0x89, 0x93}, {0x51, 0x4D}, /* 0xF0-0xF3 */ + {0x51, 0x95}, {0x52, 0xC9}, {0x68, 0xC9}, {0x6C, 0x94}, /* 0xF4-0xF7 */ + {0x77, 0x04}, {0x77, 0x20}, {0x7D, 0xBF}, {0x7D, 0xEC}, /* 0xF8-0xFB */ + {0x97, 0x62}, {0x9E, 0xB5}, {0x6E, 0xC5}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x85, 0x11}, {0x51, 0xA5}, {0x54, 0x0D}, /* 0xA0-0xA3 */ + {0x54, 0x7D}, {0x66, 0x0E}, {0x66, 0x9D}, {0x69, 0x27}, /* 0xA4-0xA7 */ + {0x6E, 0x9F}, {0x76, 0xBF}, {0x77, 0x91}, {0x83, 0x17}, /* 0xA8-0xAB */ + {0x84, 0xC2}, {0x87, 0x9F}, {0x91, 0x69}, {0x92, 0x98}, /* 0xAC-0xAF */ + {0x9C, 0xF4}, {0x88, 0x82}, {0x4F, 0xAE}, {0x51, 0x92}, /* 0xB0-0xB3 */ + {0x52, 0xDF}, {0x59, 0xC6}, {0x5E, 0x3D}, {0x61, 0x55}, /* 0xB4-0xB7 */ + {0x64, 0x78}, {0x64, 0x79}, {0x66, 0xAE}, {0x67, 0xD0}, /* 0xB8-0xBB */ + {0x6A, 0x21}, {0x6B, 0xCD}, {0x6B, 0xDB}, {0x72, 0x5F}, /* 0xBC-0xBF */ + {0x72, 0x61}, {0x74, 0x41}, {0x77, 0x38}, {0x77, 0xDB}, /* 0xC0-0xC3 */ + {0x80, 0x17}, {0x82, 0xBC}, {0x83, 0x05}, {0x8B, 0x00}, /* 0xC4-0xC7 */ + {0x8B, 0x28}, {0x8C, 0x8C}, {0x67, 0x28}, {0x6C, 0x90}, /* 0xC8-0xCB */ + {0x72, 0x67}, {0x76, 0xEE}, {0x77, 0x66}, {0x7A, 0x46}, /* 0xCC-0xCF */ + {0x9D, 0xA9}, {0x6B, 0x7F}, {0x6C, 0x92}, {0x59, 0x22}, /* 0xD0-0xD3 */ + {0x67, 0x26}, {0x84, 0x99}, {0x53, 0x6F}, {0x58, 0x93}, /* 0xD4-0xD7 */ + {0x59, 0x99}, {0x5E, 0xDF}, {0x63, 0xCF}, {0x66, 0x34}, /* 0xD8-0xDB */ + {0x67, 0x73}, {0x6E, 0x3A}, {0x73, 0x2B}, {0x7A, 0xD7}, /* 0xDC-0xDF */ + {0x82, 0xD7}, {0x93, 0x28}, {0x52, 0xD9}, {0x5D, 0xEB}, /* 0xE0-0xE3 */ + {0x61, 0xAE}, {0x61, 0xCB}, {0x62, 0x0A}, {0x62, 0xC7}, /* 0xE4-0xE7 */ + {0x64, 0xAB}, {0x65, 0xE0}, {0x69, 0x59}, {0x6B, 0x66}, /* 0xE8-0xEB */ + {0x6B, 0xCB}, {0x71, 0x21}, {0x73, 0xF7}, {0x75, 0x5D}, /* 0xEC-0xEF */ + {0x7E, 0x46}, {0x82, 0x1E}, {0x83, 0x02}, {0x85, 0x6A}, /* 0xF0-0xF3 */ + {0x8A, 0xA3}, {0x8C, 0xBF}, {0x97, 0x27}, {0x9D, 0x61}, /* 0xF4-0xF7 */ + {0x58, 0xA8}, {0x9E, 0xD8}, {0x50, 0x11}, {0x52, 0x0E}, /* 0xF8-0xFB */ + {0x54, 0x3B}, {0x55, 0x4F}, {0x65, 0x87}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x6C, 0x76}, {0x7D, 0x0A}, {0x7D, 0x0B}, /* 0xA0-0xA3 */ + {0x80, 0x5E}, {0x86, 0x8A}, {0x95, 0x80}, {0x96, 0xEF}, /* 0xA4-0xA7 */ + {0x52, 0xFF}, {0x6C, 0x95}, {0x72, 0x69}, {0x54, 0x73}, /* 0xA8-0xAB */ + {0x5A, 0x9A}, {0x5C, 0x3E}, {0x5D, 0x4B}, {0x5F, 0x4C}, /* 0xAC-0xAF */ + {0x5F, 0xAE}, {0x67, 0x2A}, {0x68, 0xB6}, {0x69, 0x63}, /* 0xB0-0xB3 */ + {0x6E, 0x3C}, {0x6E, 0x44}, {0x77, 0x09}, {0x7C, 0x73}, /* 0xB4-0xB7 */ + {0x7F, 0x8E}, {0x85, 0x87}, {0x8B, 0x0E}, {0x8F, 0xF7}, /* 0xB8-0xBB */ + {0x97, 0x61}, {0x9E, 0xF4}, {0x5C, 0xB7}, {0x60, 0xB6}, /* 0xBC-0xBF */ + {0x61, 0x0D}, {0x61, 0xAB}, {0x65, 0x4F}, {0x65, 0xFB}, /* 0xC0-0xC3 */ + {0x65, 0xFC}, {0x6C, 0x11}, {0x6C, 0xEF}, {0x73, 0x9F}, /* 0xC4-0xC7 */ + {0x73, 0xC9}, {0x7D, 0xE1}, {0x95, 0x94}, {0x5B, 0xC6}, /* 0xC8-0xCB */ + {0x87, 0x1C}, {0x8B, 0x10}, {0x52, 0x5D}, {0x53, 0x5A}, /* 0xCC-0xCF */ + {0x62, 0xCD}, {0x64, 0x0F}, {0x64, 0xB2}, {0x67, 0x34}, /* 0xD0-0xD3 */ + {0x6A, 0x38}, {0x6C, 0xCA}, {0x73, 0xC0}, {0x74, 0x9E}, /* 0xD4-0xD7 */ + {0x7B, 0x94}, {0x7C, 0x95}, {0x7E, 0x1B}, {0x81, 0x8A}, /* 0xD8-0xDB */ + {0x82, 0x36}, {0x85, 0x84}, {0x8F, 0xEB}, {0x96, 0xF9}, /* 0xDC-0xDF */ + {0x99, 0xC1}, {0x4F, 0x34}, {0x53, 0x4A}, {0x53, 0xCD}, /* 0xE0-0xE3 */ + {0x53, 0xDB}, {0x62, 0xCC}, {0x64, 0x2C}, {0x65, 0x00}, /* 0xE4-0xE7 */ + {0x65, 0x91}, {0x69, 0xC3}, {0x6C, 0xEE}, {0x6F, 0x58}, /* 0xE8-0xEB */ + {0x73, 0xED}, {0x75, 0x54}, {0x76, 0x22}, {0x76, 0xE4}, /* 0xEC-0xEF */ + {0x76, 0xFC}, {0x78, 0xD0}, {0x78, 0xFB}, {0x79, 0x2C}, /* 0xF0-0xF3 */ + {0x7D, 0x46}, {0x82, 0x2C}, {0x87, 0xE0}, {0x8F, 0xD4}, /* 0xF4-0xF7 */ + {0x98, 0x12}, {0x98, 0xEF}, {0x52, 0xC3}, {0x62, 0xD4}, /* 0xF8-0xFB */ + {0x64, 0xA5}, {0x6E, 0x24}, {0x6F, 0x51}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x76, 0x7C}, {0x8D, 0xCB}, {0x91, 0xB1}, /* 0xA0-0xA3 */ + {0x92, 0x62}, {0x9A, 0xEE}, {0x9B, 0x43}, {0x50, 0x23}, /* 0xA4-0xA7 */ + {0x50, 0x8D}, {0x57, 0x4A}, {0x59, 0xA8}, {0x5C, 0x28}, /* 0xA8-0xAB */ + {0x5E, 0x47}, {0x5F, 0x77}, {0x62, 0x3F}, {0x65, 0x3E}, /* 0xAC-0xAF */ + {0x65, 0xB9}, {0x65, 0xC1}, {0x66, 0x09}, {0x67, 0x8B}, /* 0xB0-0xB3 */ + {0x69, 0x9C}, {0x6E, 0xC2}, {0x78, 0xC5}, {0x7D, 0x21}, /* 0xB4-0xB7 */ + {0x80, 0xAA}, {0x81, 0x80}, {0x82, 0x2B}, {0x82, 0xB3}, /* 0xB8-0xBB */ + {0x84, 0xA1}, {0x86, 0x8C}, {0x8A, 0x2A}, {0x8B, 0x17}, /* 0xBC-0xBF */ + {0x90, 0xA6}, {0x96, 0x32}, {0x9F, 0x90}, {0x50, 0x0D}, /* 0xC0-0xC3 */ + {0x4F, 0xF3}, {0xF9, 0x63}, {0x57, 0xF9}, {0x5F, 0x98}, /* 0xC4-0xC7 */ + {0x62, 0xDC}, {0x63, 0x92}, {0x67, 0x6F}, {0x6E, 0x43}, /* 0xC8-0xCB */ + {0x71, 0x19}, {0x76, 0xC3}, {0x80, 0xCC}, {0x80, 0xDA}, /* 0xCC-0xCF */ + {0x88, 0xF4}, {0x88, 0xF5}, {0x89, 0x19}, {0x8C, 0xE0}, /* 0xD0-0xD3 */ + {0x8F, 0x29}, {0x91, 0x4D}, {0x96, 0x6A}, {0x4F, 0x2F}, /* 0xD4-0xD7 */ + {0x4F, 0x70}, {0x5E, 0x1B}, {0x67, 0xCF}, {0x68, 0x22}, /* 0xD8-0xDB */ + {0x76, 0x7D}, {0x76, 0x7E}, {0x9B, 0x44}, {0x5E, 0x61}, /* 0xDC-0xDF */ + {0x6A, 0x0A}, {0x71, 0x69}, {0x71, 0xD4}, {0x75, 0x6A}, /* 0xE0-0xE3 */ + {0xF9, 0x64}, {0x7E, 0x41}, {0x85, 0x43}, {0x85, 0xE9}, /* 0xE4-0xE7 */ + {0x98, 0xDC}, {0x4F, 0x10}, {0x7B, 0x4F}, {0x7F, 0x70}, /* 0xE8-0xEB */ + {0x95, 0xA5}, {0x51, 0xE1}, {0x5E, 0x06}, {0x68, 0xB5}, /* 0xEC-0xEF */ + {0x6C, 0x3E}, {0x6C, 0x4E}, {0x6C, 0xDB}, {0x72, 0xAF}, /* 0xF0-0xF3 */ + {0x7B, 0xC4}, {0x83, 0x03}, {0x6C, 0xD5}, {0x74, 0x3A}, /* 0xF4-0xF7 */ + {0x50, 0xFB}, {0x52, 0x88}, {0x58, 0xC1}, {0x64, 0xD8}, /* 0xF8-0xFB */ + {0x6A, 0x97}, {0x74, 0xA7}, {0x76, 0x56}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x78, 0xA7}, {0x86, 0x17}, {0x95, 0xE2}, /* 0xA0-0xA3 */ + {0x97, 0x39}, {0xF9, 0x65}, {0x53, 0x5E}, {0x5F, 0x01}, /* 0xA4-0xA7 */ + {0x8B, 0x8A}, {0x8F, 0xA8}, {0x8F, 0xAF}, {0x90, 0x8A}, /* 0xA8-0xAB */ + {0x52, 0x25}, {0x77, 0xA5}, {0x9C, 0x49}, {0x9F, 0x08}, /* 0xAC-0xAF */ + {0x4E, 0x19}, {0x50, 0x02}, {0x51, 0x75}, {0x5C, 0x5B}, /* 0xB0-0xB3 */ + {0x5E, 0x77}, {0x66, 0x1E}, {0x66, 0x3A}, {0x67, 0xC4}, /* 0xB4-0xB7 */ + {0x68, 0xC5}, {0x70, 0xB3}, {0x75, 0x01}, {0x75, 0xC5}, /* 0xB8-0xBB */ + {0x79, 0xC9}, {0x7A, 0xDD}, {0x8F, 0x27}, {0x99, 0x20}, /* 0xBC-0xBF */ + {0x9A, 0x08}, {0x4F, 0xDD}, {0x58, 0x21}, {0x58, 0x31}, /* 0xC0-0xC3 */ + {0x5B, 0xF6}, {0x66, 0x6E}, {0x6B, 0x65}, {0x6D, 0x11}, /* 0xC4-0xC7 */ + {0x6E, 0x7A}, {0x6F, 0x7D}, {0x73, 0xE4}, {0x75, 0x2B}, /* 0xC8-0xCB */ + {0x83, 0xE9}, {0x88, 0xDC}, {0x89, 0x13}, {0x8B, 0x5C}, /* 0xCC-0xCF */ + {0x8F, 0x14}, {0x4F, 0x0F}, {0x50, 0xD5}, {0x53, 0x10}, /* 0xD0-0xD3 */ + {0x53, 0x5C}, {0x5B, 0x93}, {0x5F, 0xA9}, {0x67, 0x0D}, /* 0xD4-0xD7 */ + {0x79, 0x8F}, {0x81, 0x79}, {0x83, 0x2F}, {0x85, 0x14}, /* 0xD8-0xDB */ + {0x89, 0x07}, {0x89, 0x86}, {0x8F, 0x39}, {0x8F, 0x3B}, /* 0xDC-0xDF */ + {0x99, 0xA5}, {0x9C, 0x12}, {0x67, 0x2C}, {0x4E, 0x76}, /* 0xE0-0xE3 */ + {0x4F, 0xF8}, {0x59, 0x49}, {0x5C, 0x01}, {0x5C, 0xEF}, /* 0xE4-0xE7 */ + {0x5C, 0xF0}, {0x63, 0x67}, {0x68, 0xD2}, {0x70, 0xFD}, /* 0xE8-0xEB */ + {0x71, 0xA2}, {0x74, 0x2B}, {0x7E, 0x2B}, {0x84, 0xEC}, /* 0xEC-0xEF */ + {0x87, 0x02}, {0x90, 0x22}, {0x92, 0xD2}, {0x9C, 0xF3}, /* 0xF0-0xF3 */ + {0x4E, 0x0D}, {0x4E, 0xD8}, {0x4F, 0xEF}, {0x50, 0x85}, /* 0xF4-0xF7 */ + {0x52, 0x56}, {0x52, 0x6F}, {0x54, 0x26}, {0x54, 0x90}, /* 0xF8-0xFB */ + {0x57, 0xE0}, {0x59, 0x2B}, {0x5A, 0x66}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x5B, 0x5A}, {0x5B, 0x75}, {0x5B, 0xCC}, /* 0xA0-0xA3 */ + {0x5E, 0x9C}, {0xF9, 0x66}, {0x62, 0x76}, {0x65, 0x77}, /* 0xA4-0xA7 */ + {0x65, 0xA7}, {0x6D, 0x6E}, {0x6E, 0xA5}, {0x72, 0x36}, /* 0xA8-0xAB */ + {0x7B, 0x26}, {0x7C, 0x3F}, {0x7F, 0x36}, {0x81, 0x50}, /* 0xAC-0xAF */ + {0x81, 0x51}, {0x81, 0x9A}, {0x82, 0x40}, {0x82, 0x99}, /* 0xB0-0xB3 */ + {0x83, 0xA9}, {0x8A, 0x03}, {0x8C, 0xA0}, {0x8C, 0xE6}, /* 0xB4-0xB7 */ + {0x8C, 0xFB}, {0x8D, 0x74}, {0x8D, 0xBA}, {0x90, 0xE8}, /* 0xB8-0xBB */ + {0x91, 0xDC}, {0x96, 0x1C}, {0x96, 0x44}, {0x99, 0xD9}, /* 0xBC-0xBF */ + {0x9C, 0xE7}, {0x53, 0x17}, {0x52, 0x06}, {0x54, 0x29}, /* 0xC0-0xC3 */ + {0x56, 0x74}, {0x58, 0xB3}, {0x59, 0x54}, {0x59, 0x6E}, /* 0xC4-0xC7 */ + {0x5F, 0xFF}, {0x61, 0xA4}, {0x62, 0x6E}, {0x66, 0x10}, /* 0xC8-0xCB */ + {0x6C, 0x7E}, {0x71, 0x1A}, {0x76, 0xC6}, {0x7C, 0x89}, /* 0xCC-0xCF */ + {0x7C, 0xDE}, {0x7D, 0x1B}, {0x82, 0xAC}, {0x8C, 0xC1}, /* 0xD0-0xD3 */ + {0x96, 0xF0}, {0xF9, 0x67}, {0x4F, 0x5B}, {0x5F, 0x17}, /* 0xD4-0xD7 */ + {0x5F, 0x7F}, {0x62, 0xC2}, {0x5D, 0x29}, {0x67, 0x0B}, /* 0xD8-0xDB */ + {0x68, 0xDA}, {0x78, 0x7C}, {0x7E, 0x43}, {0x9D, 0x6C}, /* 0xDC-0xDF */ + {0x4E, 0x15}, {0x50, 0x99}, {0x53, 0x15}, {0x53, 0x2A}, /* 0xE0-0xE3 */ + {0x53, 0x51}, {0x59, 0x83}, {0x5A, 0x62}, {0x5E, 0x87}, /* 0xE4-0xE7 */ + {0x60, 0xB2}, {0x61, 0x8A}, {0x62, 0x49}, {0x62, 0x79}, /* 0xE8-0xEB */ + {0x65, 0x90}, {0x67, 0x87}, {0x69, 0xA7}, {0x6B, 0xD4}, /* 0xEC-0xEF */ + {0x6B, 0xD6}, {0x6B, 0xD7}, {0x6B, 0xD8}, {0x6C, 0xB8}, /* 0xF0-0xF3 */ + {0xF9, 0x68}, {0x74, 0x35}, {0x75, 0xFA}, {0x78, 0x12}, /* 0xF4-0xF7 */ + {0x78, 0x91}, {0x79, 0xD5}, {0x79, 0xD8}, {0x7C, 0x83}, /* 0xF8-0xFB */ + {0x7D, 0xCB}, {0x7F, 0xE1}, {0x80, 0xA5}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x81, 0x3E}, {0x81, 0xC2}, {0x83, 0xF2}, /* 0xA0-0xA3 */ + {0x87, 0x1A}, {0x88, 0xE8}, {0x8A, 0xB9}, {0x8B, 0x6C}, /* 0xA4-0xA7 */ + {0x8C, 0xBB}, {0x91, 0x19}, {0x97, 0x5E}, {0x98, 0xDB}, /* 0xA8-0xAB */ + {0x9F, 0x3B}, {0x56, 0xAC}, {0x5B, 0x2A}, {0x5F, 0x6C}, /* 0xAC-0xAF */ + {0x65, 0x8C}, {0x6A, 0xB3}, {0x6B, 0xAF}, {0x6D, 0x5C}, /* 0xB0-0xB3 */ + {0x6F, 0xF1}, {0x70, 0x15}, {0x72, 0x5D}, {0x73, 0xAD}, /* 0xB4-0xB7 */ + {0x8C, 0xA7}, {0x8C, 0xD3}, {0x98, 0x3B}, {0x61, 0x91}, /* 0xB8-0xBB */ + {0x6C, 0x37}, {0x80, 0x58}, {0x9A, 0x01}, {0x4E, 0x4D}, /* 0xBC-0xBF */ + {0x4E, 0x8B}, {0x4E, 0x9B}, {0x4E, 0xD5}, {0x4F, 0x3A}, /* 0xC0-0xC3 */ + {0x4F, 0x3C}, {0x4F, 0x7F}, {0x4F, 0xDF}, {0x50, 0xFF}, /* 0xC4-0xC7 */ + {0x53, 0xF2}, {0x53, 0xF8}, {0x55, 0x06}, {0x55, 0xE3}, /* 0xC8-0xCB */ + {0x56, 0xDB}, {0x58, 0xEB}, {0x59, 0x62}, {0x5A, 0x11}, /* 0xCC-0xCF */ + {0x5B, 0xEB}, {0x5B, 0xFA}, {0x5C, 0x04}, {0x5D, 0xF3}, /* 0xD0-0xD3 */ + {0x5E, 0x2B}, {0x5F, 0x99}, {0x60, 0x1D}, {0x63, 0x68}, /* 0xD4-0xD7 */ + {0x65, 0x9C}, {0x65, 0xAF}, {0x67, 0xF6}, {0x67, 0xFB}, /* 0xD8-0xDB */ + {0x68, 0xAD}, {0x6B, 0x7B}, {0x6C, 0x99}, {0x6C, 0xD7}, /* 0xDC-0xDF */ + {0x6E, 0x23}, {0x70, 0x09}, {0x73, 0x45}, {0x78, 0x02}, /* 0xE0-0xE3 */ + {0x79, 0x3E}, {0x79, 0x40}, {0x79, 0x60}, {0x79, 0xC1}, /* 0xE4-0xE7 */ + {0x7B, 0xE9}, {0x7D, 0x17}, {0x7D, 0x72}, {0x80, 0x86}, /* 0xE8-0xEB */ + {0x82, 0x0D}, {0x83, 0x8E}, {0x84, 0xD1}, {0x86, 0xC7}, /* 0xEC-0xEF */ + {0x88, 0xDF}, {0x8A, 0x50}, {0x8A, 0x5E}, {0x8B, 0x1D}, /* 0xF0-0xF3 */ + {0x8C, 0xDC}, {0x8D, 0x66}, {0x8F, 0xAD}, {0x90, 0xAA}, /* 0xF4-0xF7 */ + {0x98, 0xFC}, {0x99, 0xDF}, {0x9E, 0x9D}, {0x52, 0x4A}, /* 0xF8-0xFB */ + {0xF9, 0x69}, {0x67, 0x14}, {0xF9, 0x6A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x50, 0x98}, {0x52, 0x2A}, {0x5C, 0x71}, /* 0xA0-0xA3 */ + {0x65, 0x63}, {0x6C, 0x55}, {0x73, 0xCA}, {0x75, 0x23}, /* 0xA4-0xA7 */ + {0x75, 0x9D}, {0x7B, 0x97}, {0x84, 0x9C}, {0x91, 0x78}, /* 0xA8-0xAB */ + {0x97, 0x30}, {0x4E, 0x77}, {0x64, 0x92}, {0x6B, 0xBA}, /* 0xAC-0xAF */ + {0x71, 0x5E}, {0x85, 0xA9}, {0x4E, 0x09}, {0xF9, 0x6B}, /* 0xB0-0xB3 */ + {0x67, 0x49}, {0x68, 0xEE}, {0x6E, 0x17}, {0x82, 0x9F}, /* 0xB4-0xB7 */ + {0x85, 0x18}, {0x88, 0x6B}, {0x63, 0xF7}, {0x6F, 0x81}, /* 0xB8-0xBB */ + {0x92, 0x12}, {0x98, 0xAF}, {0x4E, 0x0A}, {0x50, 0xB7}, /* 0xBC-0xBF */ + {0x50, 0xCF}, {0x51, 0x1F}, {0x55, 0x46}, {0x55, 0xAA}, /* 0xC0-0xC3 */ + {0x56, 0x17}, {0x5B, 0x40}, {0x5C, 0x19}, {0x5C, 0xE0}, /* 0xC4-0xC7 */ + {0x5E, 0x38}, {0x5E, 0x8A}, {0x5E, 0xA0}, {0x5E, 0xC2}, /* 0xC8-0xCB */ + {0x60, 0xF3}, {0x68, 0x51}, {0x6A, 0x61}, {0x6E, 0x58}, /* 0xCC-0xCF */ + {0x72, 0x3D}, {0x72, 0x40}, {0x72, 0xC0}, {0x76, 0xF8}, /* 0xD0-0xD3 */ + {0x79, 0x65}, {0x7B, 0xB1}, {0x7F, 0xD4}, {0x88, 0xF3}, /* 0xD4-0xD7 */ + {0x89, 0xF4}, {0x8A, 0x73}, {0x8C, 0x61}, {0x8C, 0xDE}, /* 0xD8-0xDB */ + {0x97, 0x1C}, {0x58, 0x5E}, {0x74, 0xBD}, {0x8C, 0xFD}, /* 0xDC-0xDF */ + {0x55, 0xC7}, {0xF9, 0x6C}, {0x7A, 0x61}, {0x7D, 0x22}, /* 0xE0-0xE3 */ + {0x82, 0x72}, {0x72, 0x72}, {0x75, 0x1F}, {0x75, 0x25}, /* 0xE4-0xE7 */ + {0xF9, 0x6D}, {0x7B, 0x19}, {0x58, 0x85}, {0x58, 0xFB}, /* 0xE8-0xEB */ + {0x5D, 0xBC}, {0x5E, 0x8F}, {0x5E, 0xB6}, {0x5F, 0x90}, /* 0xEC-0xEF */ + {0x60, 0x55}, {0x62, 0x92}, {0x63, 0x7F}, {0x65, 0x4D}, /* 0xF0-0xF3 */ + {0x66, 0x91}, {0x66, 0xD9}, {0x66, 0xF8}, {0x68, 0x16}, /* 0xF4-0xF7 */ + {0x68, 0xF2}, {0x72, 0x80}, {0x74, 0x5E}, {0x7B, 0x6E}, /* 0xF8-0xFB */ + {0x7D, 0x6E}, {0x7D, 0xD6}, {0x7F, 0x72}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x80, 0xE5}, {0x82, 0x12}, {0x85, 0xAF}, /* 0xA0-0xA3 */ + {0x89, 0x7F}, {0x8A, 0x93}, {0x90, 0x1D}, {0x92, 0xE4}, /* 0xA4-0xA7 */ + {0x9E, 0xCD}, {0x9F, 0x20}, {0x59, 0x15}, {0x59, 0x6D}, /* 0xA8-0xAB */ + {0x5E, 0x2D}, {0x60, 0xDC}, {0x66, 0x14}, {0x66, 0x73}, /* 0xAC-0xAF */ + {0x67, 0x90}, {0x6C, 0x50}, {0x6D, 0xC5}, {0x6F, 0x5F}, /* 0xB0-0xB3 */ + {0x77, 0xF3}, {0x78, 0xA9}, {0x84, 0xC6}, {0x91, 0xCB}, /* 0xB4-0xB7 */ + {0x93, 0x2B}, {0x4E, 0xD9}, {0x50, 0xCA}, {0x51, 0x48}, /* 0xB8-0xBB */ + {0x55, 0x84}, {0x5B, 0x0B}, {0x5B, 0xA3}, {0x62, 0x47}, /* 0xBC-0xBF */ + {0x65, 0x7E}, {0x65, 0xCB}, {0x6E, 0x32}, {0x71, 0x7D}, /* 0xC0-0xC3 */ + {0x74, 0x01}, {0x74, 0x44}, {0x74, 0x87}, {0x74, 0xBF}, /* 0xC4-0xC7 */ + {0x76, 0x6C}, {0x79, 0xAA}, {0x7D, 0xDA}, {0x7E, 0x55}, /* 0xC8-0xCB */ + {0x7F, 0xA8}, {0x81, 0x7A}, {0x81, 0xB3}, {0x82, 0x39}, /* 0xCC-0xCF */ + {0x86, 0x1A}, {0x87, 0xEC}, {0x8A, 0x75}, {0x8D, 0xE3}, /* 0xD0-0xD3 */ + {0x90, 0x78}, {0x92, 0x91}, {0x94, 0x25}, {0x99, 0x4D}, /* 0xD4-0xD7 */ + {0x9B, 0xAE}, {0x53, 0x68}, {0x5C, 0x51}, {0x69, 0x54}, /* 0xD8-0xDB */ + {0x6C, 0xC4}, {0x6D, 0x29}, {0x6E, 0x2B}, {0x82, 0x0C}, /* 0xDC-0xDF */ + {0x85, 0x9B}, {0x89, 0x3B}, {0x8A, 0x2D}, {0x8A, 0xAA}, /* 0xE0-0xE3 */ + {0x96, 0xEA}, {0x9F, 0x67}, {0x52, 0x61}, {0x66, 0xB9}, /* 0xE4-0xE7 */ + {0x6B, 0xB2}, {0x7E, 0x96}, {0x87, 0xFE}, {0x8D, 0x0D}, /* 0xE8-0xEB */ + {0x95, 0x83}, {0x96, 0x5D}, {0x65, 0x1D}, {0x6D, 0x89}, /* 0xEC-0xEF */ + {0x71, 0xEE}, {0xF9, 0x6E}, {0x57, 0xCE}, {0x59, 0xD3}, /* 0xF0-0xF3 */ + {0x5B, 0xAC}, {0x60, 0x27}, {0x60, 0xFA}, {0x62, 0x10}, /* 0xF4-0xF7 */ + {0x66, 0x1F}, {0x66, 0x5F}, {0x73, 0x29}, {0x73, 0xF9}, /* 0xF8-0xFB */ + {0x76, 0xDB}, {0x77, 0x01}, {0x7B, 0x6C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x80, 0x56}, {0x80, 0x72}, {0x81, 0x65}, /* 0xA0-0xA3 */ + {0x8A, 0xA0}, {0x91, 0x92}, {0x4E, 0x16}, {0x52, 0xE2}, /* 0xA4-0xA7 */ + {0x6B, 0x72}, {0x6D, 0x17}, {0x7A, 0x05}, {0x7B, 0x39}, /* 0xA8-0xAB */ + {0x7D, 0x30}, {0xF9, 0x6F}, {0x8C, 0xB0}, {0x53, 0xEC}, /* 0xAC-0xAF */ + {0x56, 0x2F}, {0x58, 0x51}, {0x5B, 0xB5}, {0x5C, 0x0F}, /* 0xB0-0xB3 */ + {0x5C, 0x11}, {0x5D, 0xE2}, {0x62, 0x40}, {0x63, 0x83}, /* 0xB4-0xB7 */ + {0x64, 0x14}, {0x66, 0x2D}, {0x68, 0xB3}, {0x6C, 0xBC}, /* 0xB8-0xBB */ + {0x6D, 0x88}, {0x6E, 0xAF}, {0x70, 0x1F}, {0x70, 0xA4}, /* 0xBC-0xBF */ + {0x71, 0xD2}, {0x75, 0x26}, {0x75, 0x8F}, {0x75, 0x8E}, /* 0xC0-0xC3 */ + {0x76, 0x19}, {0x7B, 0x11}, {0x7B, 0xE0}, {0x7C, 0x2B}, /* 0xC4-0xC7 */ + {0x7D, 0x20}, {0x7D, 0x39}, {0x85, 0x2C}, {0x85, 0x6D}, /* 0xC8-0xCB */ + {0x86, 0x07}, {0x8A, 0x34}, {0x90, 0x0D}, {0x90, 0x61}, /* 0xCC-0xCF */ + {0x90, 0xB5}, {0x92, 0xB7}, {0x97, 0xF6}, {0x9A, 0x37}, /* 0xD0-0xD3 */ + {0x4F, 0xD7}, {0x5C, 0x6C}, {0x67, 0x5F}, {0x6D, 0x91}, /* 0xD4-0xD7 */ + {0x7C, 0x9F}, {0x7E, 0x8C}, {0x8B, 0x16}, {0x8D, 0x16}, /* 0xD8-0xDB */ + {0x90, 0x1F}, {0x5B, 0x6B}, {0x5D, 0xFD}, {0x64, 0x0D}, /* 0xDC-0xDF */ + {0x84, 0xC0}, {0x90, 0x5C}, {0x98, 0xE1}, {0x73, 0x87}, /* 0xE0-0xE3 */ + {0x5B, 0x8B}, {0x60, 0x9A}, {0x67, 0x7E}, {0x6D, 0xDE}, /* 0xE4-0xE7 */ + {0x8A, 0x1F}, {0x8A, 0xA6}, {0x90, 0x01}, {0x98, 0x0C}, /* 0xE8-0xEB */ + {0x52, 0x37}, {0xF9, 0x70}, {0x70, 0x51}, {0x78, 0x8E}, /* 0xEC-0xEF */ + {0x93, 0x96}, {0x88, 0x70}, {0x91, 0xD7}, {0x4F, 0xEE}, /* 0xF0-0xF3 */ + {0x53, 0xD7}, {0x55, 0xFD}, {0x56, 0xDA}, {0x57, 0x82}, /* 0xF4-0xF7 */ + {0x58, 0xFD}, {0x5A, 0xC2}, {0x5B, 0x88}, {0x5C, 0xAB}, /* 0xF8-0xFB */ + {0x5C, 0xC0}, {0x5E, 0x25}, {0x61, 0x01}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x62, 0x0D}, {0x62, 0x4B}, {0x63, 0x88}, /* 0xA0-0xA3 */ + {0x64, 0x1C}, {0x65, 0x36}, {0x65, 0x78}, {0x6A, 0x39}, /* 0xA4-0xA7 */ + {0x6B, 0x8A}, {0x6C, 0x34}, {0x6D, 0x19}, {0x6F, 0x31}, /* 0xA8-0xAB */ + {0x71, 0xE7}, {0x72, 0xE9}, {0x73, 0x78}, {0x74, 0x07}, /* 0xAC-0xAF */ + {0x74, 0xB2}, {0x76, 0x26}, {0x77, 0x61}, {0x79, 0xC0}, /* 0xB0-0xB3 */ + {0x7A, 0x57}, {0x7A, 0xEA}, {0x7C, 0xB9}, {0x7D, 0x8F}, /* 0xB4-0xB7 */ + {0x7D, 0xAC}, {0x7E, 0x61}, {0x7F, 0x9E}, {0x81, 0x29}, /* 0xB8-0xBB */ + {0x83, 0x31}, {0x84, 0x90}, {0x84, 0xDA}, {0x85, 0xEA}, /* 0xBC-0xBF */ + {0x88, 0x96}, {0x8A, 0xB0}, {0x8B, 0x90}, {0x8F, 0x38}, /* 0xC0-0xC3 */ + {0x90, 0x42}, {0x90, 0x83}, {0x91, 0x6C}, {0x92, 0x96}, /* 0xC4-0xC7 */ + {0x92, 0xB9}, {0x96, 0x8B}, {0x96, 0xA7}, {0x96, 0xA8}, /* 0xC8-0xCB */ + {0x96, 0xD6}, {0x97, 0x00}, {0x98, 0x08}, {0x99, 0x96}, /* 0xCC-0xCF */ + {0x9A, 0xD3}, {0x9B, 0x1A}, {0x53, 0xD4}, {0x58, 0x7E}, /* 0xD0-0xD3 */ + {0x59, 0x19}, {0x5B, 0x70}, {0x5B, 0xBF}, {0x6D, 0xD1}, /* 0xD4-0xD7 */ + {0x6F, 0x5A}, {0x71, 0x9F}, {0x74, 0x21}, {0x74, 0xB9}, /* 0xD8-0xDB */ + {0x80, 0x85}, {0x83, 0xFD}, {0x5D, 0xE1}, {0x5F, 0x87}, /* 0xDC-0xDF */ + {0x5F, 0xAA}, {0x60, 0x42}, {0x65, 0xEC}, {0x68, 0x12}, /* 0xE0-0xE3 */ + {0x69, 0x6F}, {0x6A, 0x53}, {0x6B, 0x89}, {0x6D, 0x35}, /* 0xE4-0xE7 */ + {0x6D, 0xF3}, {0x73, 0xE3}, {0x76, 0xFE}, {0x77, 0xAC}, /* 0xE8-0xEB */ + {0x7B, 0x4D}, {0x7D, 0x14}, {0x81, 0x23}, {0x82, 0x1C}, /* 0xEC-0xEF */ + {0x83, 0x40}, {0x84, 0xF4}, {0x85, 0x63}, {0x8A, 0x62}, /* 0xF0-0xF3 */ + {0x8A, 0xC4}, {0x91, 0x87}, {0x93, 0x1E}, {0x98, 0x06}, /* 0xF4-0xF7 */ + {0x99, 0xB4}, {0x62, 0x0C}, {0x88, 0x53}, {0x8F, 0xF0}, /* 0xF8-0xFB */ + {0x92, 0x65}, {0x5D, 0x07}, {0x5D, 0x27}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x5D, 0x69}, {0x74, 0x5F}, {0x81, 0x9D}, /* 0xA0-0xA3 */ + {0x87, 0x68}, {0x6F, 0xD5}, {0x62, 0xFE}, {0x7F, 0xD2}, /* 0xA4-0xA7 */ + {0x89, 0x36}, {0x89, 0x72}, {0x4E, 0x1E}, {0x4E, 0x58}, /* 0xA8-0xAB */ + {0x50, 0xE7}, {0x52, 0xDD}, {0x53, 0x47}, {0x62, 0x7F}, /* 0xAC-0xAF */ + {0x66, 0x07}, {0x7E, 0x69}, {0x88, 0x05}, {0x96, 0x5E}, /* 0xB0-0xB3 */ + {0x4F, 0x8D}, {0x53, 0x19}, {0x56, 0x36}, {0x59, 0xCB}, /* 0xB4-0xB7 */ + {0x5A, 0xA4}, {0x5C, 0x38}, {0x5C, 0x4E}, {0x5C, 0x4D}, /* 0xB8-0xBB */ + {0x5E, 0x02}, {0x5F, 0x11}, {0x60, 0x43}, {0x65, 0xBD}, /* 0xBC-0xBF */ + {0x66, 0x2F}, {0x66, 0x42}, {0x67, 0xBE}, {0x67, 0xF4}, /* 0xC0-0xC3 */ + {0x73, 0x1C}, {0x77, 0xE2}, {0x79, 0x3A}, {0x7F, 0xC5}, /* 0xC4-0xC7 */ + {0x84, 0x94}, {0x84, 0xCD}, {0x89, 0x96}, {0x8A, 0x66}, /* 0xC8-0xCB */ + {0x8A, 0x69}, {0x8A, 0xE1}, {0x8C, 0x55}, {0x8C, 0x7A}, /* 0xCC-0xCF */ + {0x57, 0xF4}, {0x5B, 0xD4}, {0x5F, 0x0F}, {0x60, 0x6F}, /* 0xD0-0xD3 */ + {0x62, 0xED}, {0x69, 0x0D}, {0x6B, 0x96}, {0x6E, 0x5C}, /* 0xD4-0xD7 */ + {0x71, 0x84}, {0x7B, 0xD2}, {0x87, 0x55}, {0x8B, 0x58}, /* 0xD8-0xDB */ + {0x8E, 0xFE}, {0x98, 0xDF}, {0x98, 0xFE}, {0x4F, 0x38}, /* 0xDC-0xDF */ + {0x4F, 0x81}, {0x4F, 0xE1}, {0x54, 0x7B}, {0x5A, 0x20}, /* 0xE0-0xE3 */ + {0x5B, 0xB8}, {0x61, 0x3C}, {0x65, 0xB0}, {0x66, 0x68}, /* 0xE4-0xE7 */ + {0x71, 0xFC}, {0x75, 0x33}, {0x79, 0x5E}, {0x7D, 0x33}, /* 0xE8-0xEB */ + {0x81, 0x4E}, {0x81, 0xE3}, {0x83, 0x98}, {0x85, 0xAA}, /* 0xEC-0xEF */ + {0x85, 0xCE}, {0x87, 0x03}, {0x8A, 0x0A}, {0x8E, 0xAB}, /* 0xF0-0xF3 */ + {0x8F, 0x9B}, {0xF9, 0x71}, {0x8F, 0xC5}, {0x59, 0x31}, /* 0xF4-0xF7 */ + {0x5B, 0xA4}, {0x5B, 0xE6}, {0x60, 0x89}, {0x5B, 0xE9}, /* 0xF8-0xFB */ + {0x5C, 0x0B}, {0x5F, 0xC3}, {0x6C, 0x81}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xF9, 0x72}, {0x6D, 0xF1}, {0x70, 0x0B}, /* 0xA0-0xA3 */ + {0x75, 0x1A}, {0x82, 0xAF}, {0x8A, 0xF6}, {0x4E, 0xC0}, /* 0xA4-0xA7 */ + {0x53, 0x41}, {0xF9, 0x73}, {0x96, 0xD9}, {0x6C, 0x0F}, /* 0xA8-0xAB */ + {0x4E, 0x9E}, {0x4F, 0xC4}, {0x51, 0x52}, {0x55, 0x5E}, /* 0xAC-0xAF */ + {0x5A, 0x25}, {0x5C, 0xE8}, {0x62, 0x11}, {0x72, 0x59}, /* 0xB0-0xB3 */ + {0x82, 0xBD}, {0x83, 0xAA}, {0x86, 0xFE}, {0x88, 0x59}, /* 0xB4-0xB7 */ + {0x8A, 0x1D}, {0x96, 0x3F}, {0x96, 0xC5}, {0x99, 0x13}, /* 0xB8-0xBB */ + {0x9D, 0x09}, {0x9D, 0x5D}, {0x58, 0x0A}, {0x5C, 0xB3}, /* 0xBC-0xBF */ + {0x5D, 0xBD}, {0x5E, 0x44}, {0x60, 0xE1}, {0x61, 0x15}, /* 0xC0-0xC3 */ + {0x63, 0xE1}, {0x6A, 0x02}, {0x6E, 0x25}, {0x91, 0x02}, /* 0xC4-0xC7 */ + {0x93, 0x54}, {0x98, 0x4E}, {0x9C, 0x10}, {0x9F, 0x77}, /* 0xC8-0xCB */ + {0x5B, 0x89}, {0x5C, 0xB8}, {0x63, 0x09}, {0x66, 0x4F}, /* 0xCC-0xCF */ + {0x68, 0x48}, {0x77, 0x3C}, {0x96, 0xC1}, {0x97, 0x8D}, /* 0xD0-0xD3 */ + {0x98, 0x54}, {0x9B, 0x9F}, {0x65, 0xA1}, {0x8B, 0x01}, /* 0xD4-0xD7 */ + {0x8E, 0xCB}, {0x95, 0xBC}, {0x55, 0x35}, {0x5C, 0xA9}, /* 0xD8-0xDB */ + {0x5D, 0xD6}, {0x5E, 0xB5}, {0x66, 0x97}, {0x76, 0x4C}, /* 0xDC-0xDF */ + {0x83, 0xF4}, {0x95, 0xC7}, {0x58, 0xD3}, {0x62, 0xBC}, /* 0xE0-0xE3 */ + {0x72, 0xCE}, {0x9D, 0x28}, {0x4E, 0xF0}, {0x59, 0x2E}, /* 0xE4-0xE7 */ + {0x60, 0x0F}, {0x66, 0x3B}, {0x6B, 0x83}, {0x79, 0xE7}, /* 0xE8-0xEB */ + {0x9D, 0x26}, {0x53, 0x93}, {0x54, 0xC0}, {0x57, 0xC3}, /* 0xEC-0xEF */ + {0x5D, 0x16}, {0x61, 0x1B}, {0x66, 0xD6}, {0x6D, 0xAF}, /* 0xF0-0xF3 */ + {0x78, 0x8D}, {0x82, 0x7E}, {0x96, 0x98}, {0x97, 0x44}, /* 0xF4-0xF7 */ + {0x53, 0x84}, {0x62, 0x7C}, {0x63, 0x96}, {0x6D, 0xB2}, /* 0xF8-0xFB */ + {0x7E, 0x0A}, {0x81, 0x4B}, {0x98, 0x4D}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x6A, 0xFB}, {0x7F, 0x4C}, {0x9D, 0xAF}, /* 0xA0-0xA3 */ + {0x9E, 0x1A}, {0x4E, 0x5F}, {0x50, 0x3B}, {0x51, 0xB6}, /* 0xA4-0xA7 */ + {0x59, 0x1C}, {0x60, 0xF9}, {0x63, 0xF6}, {0x69, 0x30}, /* 0xA8-0xAB */ + {0x72, 0x3A}, {0x80, 0x36}, {0xF9, 0x74}, {0x91, 0xCE}, /* 0xAC-0xAF */ + {0x5F, 0x31}, {0xF9, 0x75}, {0xF9, 0x76}, {0x7D, 0x04}, /* 0xB0-0xB3 */ + {0x82, 0xE5}, {0x84, 0x6F}, {0x84, 0xBB}, {0x85, 0xE5}, /* 0xB4-0xB7 */ + {0x8E, 0x8D}, {0xF9, 0x77}, {0x4F, 0x6F}, {0xF9, 0x78}, /* 0xB8-0xBB */ + {0xF9, 0x79}, {0x58, 0xE4}, {0x5B, 0x43}, {0x60, 0x59}, /* 0xBC-0xBF */ + {0x63, 0xDA}, {0x65, 0x18}, {0x65, 0x6D}, {0x66, 0x98}, /* 0xC0-0xC3 */ + {0xF9, 0x7A}, {0x69, 0x4A}, {0x6A, 0x23}, {0x6D, 0x0B}, /* 0xC4-0xC7 */ + {0x70, 0x01}, {0x71, 0x6C}, {0x75, 0xD2}, {0x76, 0x0D}, /* 0xC8-0xCB */ + {0x79, 0xB3}, {0x7A, 0x70}, {0xF9, 0x7B}, {0x7F, 0x8A}, /* 0xCC-0xCF */ + {0xF9, 0x7C}, {0x89, 0x44}, {0xF9, 0x7D}, {0x8B, 0x93}, /* 0xD0-0xD3 */ + {0x91, 0xC0}, {0x96, 0x7D}, {0xF9, 0x7E}, {0x99, 0x0A}, /* 0xD4-0xD7 */ + {0x57, 0x04}, {0x5F, 0xA1}, {0x65, 0xBC}, {0x6F, 0x01}, /* 0xD8-0xDB */ + {0x76, 0x00}, {0x79, 0xA6}, {0x8A, 0x9E}, {0x99, 0xAD}, /* 0xDC-0xDF */ + {0x9B, 0x5A}, {0x9F, 0x6C}, {0x51, 0x04}, {0x61, 0xB6}, /* 0xE0-0xE3 */ + {0x62, 0x91}, {0x6A, 0x8D}, {0x81, 0xC6}, {0x50, 0x43}, /* 0xE4-0xE7 */ + {0x58, 0x30}, {0x5F, 0x66}, {0x71, 0x09}, {0x8A, 0x00}, /* 0xE8-0xEB */ + {0x8A, 0xFA}, {0x5B, 0x7C}, {0x86, 0x16}, {0x4F, 0xFA}, /* 0xEC-0xEF */ + {0x51, 0x3C}, {0x56, 0xB4}, {0x59, 0x44}, {0x63, 0xA9}, /* 0xF0-0xF3 */ + {0x6D, 0xF9}, {0x5D, 0xAA}, {0x69, 0x6D}, {0x51, 0x86}, /* 0xF4-0xF7 */ + {0x4E, 0x88}, {0x4F, 0x59}, {0xF9, 0x7F}, {0xF9, 0x80}, /* 0xF8-0xFB */ + {0xF9, 0x81}, {0x59, 0x82}, {0xF9, 0x82}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xF9, 0x83}, {0x6B, 0x5F}, {0x6C, 0x5D}, /* 0xA0-0xA3 */ + {0xF9, 0x84}, {0x74, 0xB5}, {0x79, 0x16}, {0xF9, 0x85}, /* 0xA4-0xA7 */ + {0x82, 0x07}, {0x82, 0x45}, {0x83, 0x39}, {0x8F, 0x3F}, /* 0xA8-0xAB */ + {0x8F, 0x5D}, {0xF9, 0x86}, {0x99, 0x18}, {0xF9, 0x87}, /* 0xAC-0xAF */ + {0xF9, 0x88}, {0xF9, 0x89}, {0x4E, 0xA6}, {0xF9, 0x8A}, /* 0xB0-0xB3 */ + {0x57, 0xDF}, {0x5F, 0x79}, {0x66, 0x13}, {0xF9, 0x8B}, /* 0xB4-0xB7 */ + {0xF9, 0x8C}, {0x75, 0xAB}, {0x7E, 0x79}, {0x8B, 0x6F}, /* 0xB8-0xBB */ + {0xF9, 0x8D}, {0x90, 0x06}, {0x9A, 0x5B}, {0x56, 0xA5}, /* 0xBC-0xBF */ + {0x58, 0x27}, {0x59, 0xF8}, {0x5A, 0x1F}, {0x5B, 0xB4}, /* 0xC0-0xC3 */ + {0xF9, 0x8E}, {0x5E, 0xF6}, {0xF9, 0x8F}, {0xF9, 0x90}, /* 0xC4-0xC7 */ + {0x63, 0x50}, {0x63, 0x3B}, {0xF9, 0x91}, {0x69, 0x3D}, /* 0xC8-0xCB */ + {0x6C, 0x87}, {0x6C, 0xBF}, {0x6D, 0x8E}, {0x6D, 0x93}, /* 0xCC-0xCF */ + {0x6D, 0xF5}, {0x6F, 0x14}, {0xF9, 0x92}, {0x70, 0xDF}, /* 0xD0-0xD3 */ + {0x71, 0x36}, {0x71, 0x59}, {0xF9, 0x93}, {0x71, 0xC3}, /* 0xD4-0xD7 */ + {0x71, 0xD5}, {0xF9, 0x94}, {0x78, 0x4F}, {0x78, 0x6F}, /* 0xD8-0xDB */ + {0xF9, 0x95}, {0x7B, 0x75}, {0x7D, 0xE3}, {0xF9, 0x96}, /* 0xDC-0xDF */ + {0x7E, 0x2F}, {0xF9, 0x97}, {0x88, 0x4D}, {0x8E, 0xDF}, /* 0xE0-0xE3 */ + {0xF9, 0x98}, {0xF9, 0x99}, {0xF9, 0x9A}, {0x92, 0x5B}, /* 0xE4-0xE7 */ + {0xF9, 0x9B}, {0x9C, 0xF6}, {0xF9, 0x9C}, {0xF9, 0x9D}, /* 0xE8-0xEB */ + {0xF9, 0x9E}, {0x60, 0x85}, {0x6D, 0x85}, {0xF9, 0x9F}, /* 0xEC-0xEF */ + {0x71, 0xB1}, {0xF9, 0xA0}, {0xF9, 0xA1}, {0x95, 0xB1}, /* 0xF0-0xF3 */ + {0x53, 0xAD}, {0xF9, 0xA2}, {0xF9, 0xA3}, {0xF9, 0xA4}, /* 0xF4-0xF7 */ + {0x67, 0xD3}, {0xF9, 0xA5}, {0x70, 0x8E}, {0x71, 0x30}, /* 0xF8-0xFB */ + {0x74, 0x30}, {0x82, 0x76}, {0x82, 0xD2}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xF9, 0xA6}, {0x95, 0xBB}, {0x9A, 0xE5}, /* 0xA0-0xA3 */ + {0x9E, 0x7D}, {0x66, 0xC4}, {0xF9, 0xA7}, {0x71, 0xC1}, /* 0xA4-0xA7 */ + {0x84, 0x49}, {0xF9, 0xA8}, {0xF9, 0xA9}, {0x58, 0x4B}, /* 0xA8-0xAB */ + {0xF9, 0xAA}, {0xF9, 0xAB}, {0x5D, 0xB8}, {0x5F, 0x71}, /* 0xAC-0xAF */ + {0xF9, 0xAC}, {0x66, 0x20}, {0x66, 0x8E}, {0x69, 0x79}, /* 0xB0-0xB3 */ + {0x69, 0xAE}, {0x6C, 0x38}, {0x6C, 0xF3}, {0x6E, 0x36}, /* 0xB4-0xB7 */ + {0x6F, 0x41}, {0x6F, 0xDA}, {0x70, 0x1B}, {0x70, 0x2F}, /* 0xB8-0xBB */ + {0x71, 0x50}, {0x71, 0xDF}, {0x73, 0x70}, {0xF9, 0xAD}, /* 0xBC-0xBF */ + {0x74, 0x5B}, {0xF9, 0xAE}, {0x74, 0xD4}, {0x76, 0xC8}, /* 0xC0-0xC3 */ + {0x7A, 0x4E}, {0x7E, 0x93}, {0xF9, 0xAF}, {0xF9, 0xB0}, /* 0xC4-0xC7 */ + {0x82, 0xF1}, {0x8A, 0x60}, {0x8F, 0xCE}, {0xF9, 0xB1}, /* 0xC8-0xCB */ + {0x93, 0x48}, {0xF9, 0xB2}, {0x97, 0x19}, {0xF9, 0xB3}, /* 0xCC-0xCF */ + {0xF9, 0xB4}, {0x4E, 0x42}, {0x50, 0x2A}, {0xF9, 0xB5}, /* 0xD0-0xD3 */ + {0x52, 0x08}, {0x53, 0xE1}, {0x66, 0xF3}, {0x6C, 0x6D}, /* 0xD4-0xD7 */ + {0x6F, 0xCA}, {0x73, 0x0A}, {0x77, 0x7F}, {0x7A, 0x62}, /* 0xD8-0xDB */ + {0x82, 0xAE}, {0x85, 0xDD}, {0x86, 0x02}, {0xF9, 0xB6}, /* 0xDC-0xDF */ + {0x88, 0xD4}, {0x8A, 0x63}, {0x8B, 0x7D}, {0x8C, 0x6B}, /* 0xE0-0xE3 */ + {0xF9, 0xB7}, {0x92, 0xB3}, {0xF9, 0xB8}, {0x97, 0x13}, /* 0xE4-0xE7 */ + {0x98, 0x10}, {0x4E, 0x94}, {0x4F, 0x0D}, {0x4F, 0xC9}, /* 0xE8-0xEB */ + {0x50, 0xB2}, {0x53, 0x48}, {0x54, 0x3E}, {0x54, 0x33}, /* 0xEC-0xEF */ + {0x55, 0xDA}, {0x58, 0x62}, {0x58, 0xBA}, {0x59, 0x67}, /* 0xF0-0xF3 */ + {0x5A, 0x1B}, {0x5B, 0xE4}, {0x60, 0x9F}, {0xF9, 0xB9}, /* 0xF4-0xF7 */ + {0x61, 0xCA}, {0x65, 0x56}, {0x65, 0xFF}, {0x66, 0x64}, /* 0xF8-0xFB */ + {0x68, 0xA7}, {0x6C, 0x5A}, {0x6F, 0xB3}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x70, 0xCF}, {0x71, 0xAC}, {0x73, 0x52}, /* 0xA0-0xA3 */ + {0x7B, 0x7D}, {0x87, 0x08}, {0x8A, 0xA4}, {0x9C, 0x32}, /* 0xA4-0xA7 */ + {0x9F, 0x07}, {0x5C, 0x4B}, {0x6C, 0x83}, {0x73, 0x44}, /* 0xA8-0xAB */ + {0x73, 0x89}, {0x92, 0x3A}, {0x6E, 0xAB}, {0x74, 0x65}, /* 0xAC-0xAF */ + {0x76, 0x1F}, {0x7A, 0x69}, {0x7E, 0x15}, {0x86, 0x0A}, /* 0xB0-0xB3 */ + {0x51, 0x40}, {0x58, 0xC5}, {0x64, 0xC1}, {0x74, 0xEE}, /* 0xB4-0xB7 */ + {0x75, 0x15}, {0x76, 0x70}, {0x7F, 0xC1}, {0x90, 0x95}, /* 0xB8-0xBB */ + {0x96, 0xCD}, {0x99, 0x54}, {0x6E, 0x26}, {0x74, 0xE6}, /* 0xBC-0xBF */ + {0x7A, 0xA9}, {0x7A, 0xAA}, {0x81, 0xE5}, {0x86, 0xD9}, /* 0xC0-0xC3 */ + {0x87, 0x78}, {0x8A, 0x1B}, {0x5A, 0x49}, {0x5B, 0x8C}, /* 0xC4-0xC7 */ + {0x5B, 0x9B}, {0x68, 0xA1}, {0x69, 0x00}, {0x6D, 0x63}, /* 0xC8-0xCB */ + {0x73, 0xA9}, {0x74, 0x13}, {0x74, 0x2C}, {0x78, 0x97}, /* 0xCC-0xCF */ + {0x7D, 0xE9}, {0x7F, 0xEB}, {0x81, 0x18}, {0x81, 0x55}, /* 0xD0-0xD3 */ + {0x83, 0x9E}, {0x8C, 0x4C}, {0x96, 0x2E}, {0x98, 0x11}, /* 0xD4-0xD7 */ + {0x66, 0xF0}, {0x5F, 0x80}, {0x65, 0xFA}, {0x67, 0x89}, /* 0xD8-0xDB */ + {0x6C, 0x6A}, {0x73, 0x8B}, {0x50, 0x2D}, {0x5A, 0x03}, /* 0xDC-0xDF */ + {0x6B, 0x6A}, {0x77, 0xEE}, {0x59, 0x16}, {0x5D, 0x6C}, /* 0xE0-0xE3 */ + {0x5D, 0xCD}, {0x73, 0x25}, {0x75, 0x4F}, {0xF9, 0xBA}, /* 0xE4-0xE7 */ + {0xF9, 0xBB}, {0x50, 0xE5}, {0x51, 0xF9}, {0x58, 0x2F}, /* 0xE8-0xEB */ + {0x59, 0x2D}, {0x59, 0x96}, {0x59, 0xDA}, {0x5B, 0xE5}, /* 0xEC-0xEF */ + {0xF9, 0xBC}, {0xF9, 0xBD}, {0x5D, 0xA2}, {0x62, 0xD7}, /* 0xF0-0xF3 */ + {0x64, 0x16}, {0x64, 0x93}, {0x64, 0xFE}, {0xF9, 0xBE}, /* 0xF4-0xF7 */ + {0x66, 0xDC}, {0xF9, 0xBF}, {0x6A, 0x48}, {0xF9, 0xC0}, /* 0xF8-0xFB */ + {0x71, 0xFF}, {0x74, 0x64}, {0xF9, 0xC1}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x7A, 0x88}, {0x7A, 0xAF}, {0x7E, 0x47}, /* 0xA0-0xA3 */ + {0x7E, 0x5E}, {0x80, 0x00}, {0x81, 0x70}, {0xF9, 0xC2}, /* 0xA4-0xA7 */ + {0x87, 0xEF}, {0x89, 0x81}, {0x8B, 0x20}, {0x90, 0x59}, /* 0xA8-0xAB */ + {0xF9, 0xC3}, {0x90, 0x80}, {0x99, 0x52}, {0x61, 0x7E}, /* 0xAC-0xAF */ + {0x6B, 0x32}, {0x6D, 0x74}, {0x7E, 0x1F}, {0x89, 0x25}, /* 0xB0-0xB3 */ + {0x8F, 0xB1}, {0x4F, 0xD1}, {0x50, 0xAD}, {0x51, 0x97}, /* 0xB4-0xB7 */ + {0x52, 0xC7}, {0x57, 0xC7}, {0x58, 0x89}, {0x5B, 0xB9}, /* 0xB8-0xBB */ + {0x5E, 0xB8}, {0x61, 0x42}, {0x69, 0x95}, {0x6D, 0x8C}, /* 0xBC-0xBF */ + {0x6E, 0x67}, {0x6E, 0xB6}, {0x71, 0x94}, {0x74, 0x62}, /* 0xC0-0xC3 */ + {0x75, 0x28}, {0x75, 0x2C}, {0x80, 0x73}, {0x83, 0x38}, /* 0xC4-0xC7 */ + {0x84, 0xC9}, {0x8E, 0x0A}, {0x93, 0x94}, {0x93, 0xDE}, /* 0xC8-0xCB */ + {0xF9, 0xC4}, {0x4E, 0x8E}, {0x4F, 0x51}, {0x50, 0x76}, /* 0xCC-0xCF */ + {0x51, 0x2A}, {0x53, 0xC8}, {0x53, 0xCB}, {0x53, 0xF3}, /* 0xD0-0xD3 */ + {0x5B, 0x87}, {0x5B, 0xD3}, {0x5C, 0x24}, {0x61, 0x1A}, /* 0xD4-0xD7 */ + {0x61, 0x82}, {0x65, 0xF4}, {0x72, 0x5B}, {0x73, 0x97}, /* 0xD8-0xDB */ + {0x74, 0x40}, {0x76, 0xC2}, {0x79, 0x50}, {0x79, 0x91}, /* 0xDC-0xDF */ + {0x79, 0xB9}, {0x7D, 0x06}, {0x7F, 0xBD}, {0x82, 0x8B}, /* 0xE0-0xE3 */ + {0x85, 0xD5}, {0x86, 0x5E}, {0x8F, 0xC2}, {0x90, 0x47}, /* 0xE4-0xE7 */ + {0x90, 0xF5}, {0x91, 0xEA}, {0x96, 0x85}, {0x96, 0xE8}, /* 0xE8-0xEB */ + {0x96, 0xE9}, {0x52, 0xD6}, {0x5F, 0x67}, {0x65, 0xED}, /* 0xEC-0xEF */ + {0x66, 0x31}, {0x68, 0x2F}, {0x71, 0x5C}, {0x7A, 0x36}, /* 0xF0-0xF3 */ + {0x90, 0xC1}, {0x98, 0x0A}, {0x4E, 0x91}, {0xF9, 0xC5}, /* 0xF4-0xF7 */ + {0x6A, 0x52}, {0x6B, 0x9E}, {0x6F, 0x90}, {0x71, 0x89}, /* 0xF8-0xFB */ + {0x80, 0x18}, {0x82, 0xB8}, {0x85, 0x53}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x90, 0x4B}, {0x96, 0x95}, {0x96, 0xF2}, /* 0xA0-0xA3 */ + {0x97, 0xFB}, {0x85, 0x1A}, {0x9B, 0x31}, {0x4E, 0x90}, /* 0xA4-0xA7 */ + {0x71, 0x8A}, {0x96, 0xC4}, {0x51, 0x43}, {0x53, 0x9F}, /* 0xA8-0xAB */ + {0x54, 0xE1}, {0x57, 0x13}, {0x57, 0x12}, {0x57, 0xA3}, /* 0xAC-0xAF */ + {0x5A, 0x9B}, {0x5A, 0xC4}, {0x5B, 0xC3}, {0x60, 0x28}, /* 0xB0-0xB3 */ + {0x61, 0x3F}, {0x63, 0xF4}, {0x6C, 0x85}, {0x6D, 0x39}, /* 0xB4-0xB7 */ + {0x6E, 0x72}, {0x6E, 0x90}, {0x72, 0x30}, {0x73, 0x3F}, /* 0xB8-0xBB */ + {0x74, 0x57}, {0x82, 0xD1}, {0x88, 0x81}, {0x8F, 0x45}, /* 0xBC-0xBF */ + {0x90, 0x60}, {0xF9, 0xC6}, {0x96, 0x62}, {0x98, 0x58}, /* 0xC0-0xC3 */ + {0x9D, 0x1B}, {0x67, 0x08}, {0x8D, 0x8A}, {0x92, 0x5E}, /* 0xC4-0xC7 */ + {0x4F, 0x4D}, {0x50, 0x49}, {0x50, 0xDE}, {0x53, 0x71}, /* 0xC8-0xCB */ + {0x57, 0x0D}, {0x59, 0xD4}, {0x5A, 0x01}, {0x5C, 0x09}, /* 0xCC-0xCF */ + {0x61, 0x70}, {0x66, 0x90}, {0x6E, 0x2D}, {0x72, 0x32}, /* 0xD0-0xD3 */ + {0x74, 0x4B}, {0x7D, 0xEF}, {0x80, 0xC3}, {0x84, 0x0E}, /* 0xD4-0xD7 */ + {0x84, 0x66}, {0x85, 0x3F}, {0x87, 0x5F}, {0x88, 0x5B}, /* 0xD8-0xDB */ + {0x89, 0x18}, {0x8B, 0x02}, {0x90, 0x55}, {0x97, 0xCB}, /* 0xDC-0xDF */ + {0x9B, 0x4F}, {0x4E, 0x73}, {0x4F, 0x91}, {0x51, 0x12}, /* 0xE0-0xE3 */ + {0x51, 0x6A}, {0xF9, 0xC7}, {0x55, 0x2F}, {0x55, 0xA9}, /* 0xE4-0xE7 */ + {0x5B, 0x7A}, {0x5B, 0xA5}, {0x5E, 0x7C}, {0x5E, 0x7D}, /* 0xE8-0xEB */ + {0x5E, 0xBE}, {0x60, 0xA0}, {0x60, 0xDF}, {0x61, 0x08}, /* 0xEC-0xEF */ + {0x61, 0x09}, {0x63, 0xC4}, {0x65, 0x38}, {0x67, 0x09}, /* 0xF0-0xF3 */ + {0xF9, 0xC8}, {0x67, 0xD4}, {0x67, 0xDA}, {0xF9, 0xC9}, /* 0xF4-0xF7 */ + {0x69, 0x61}, {0x69, 0x62}, {0x6C, 0xB9}, {0x6D, 0x27}, /* 0xF8-0xFB */ + {0xF9, 0xCA}, {0x6E, 0x38}, {0xF9, 0xCB}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x6F, 0xE1}, {0x73, 0x36}, {0x73, 0x37}, /* 0xA0-0xA3 */ + {0xF9, 0xCC}, {0x74, 0x5C}, {0x75, 0x31}, {0xF9, 0xCD}, /* 0xA4-0xA7 */ + {0x76, 0x52}, {0xF9, 0xCE}, {0xF9, 0xCF}, {0x7D, 0xAD}, /* 0xA8-0xAB */ + {0x81, 0xFE}, {0x84, 0x38}, {0x88, 0xD5}, {0x8A, 0x98}, /* 0xAC-0xAF */ + {0x8A, 0xDB}, {0x8A, 0xED}, {0x8E, 0x30}, {0x8E, 0x42}, /* 0xB0-0xB3 */ + {0x90, 0x4A}, {0x90, 0x3E}, {0x90, 0x7A}, {0x91, 0x49}, /* 0xB4-0xB7 */ + {0x91, 0xC9}, {0x93, 0x6E}, {0xF9, 0xD0}, {0xF9, 0xD1}, /* 0xB8-0xBB */ + {0x58, 0x09}, {0xF9, 0xD2}, {0x6B, 0xD3}, {0x80, 0x89}, /* 0xBC-0xBF */ + {0x80, 0xB2}, {0xF9, 0xD3}, {0xF9, 0xD4}, {0x51, 0x41}, /* 0xC0-0xC3 */ + {0x59, 0x6B}, {0x5C, 0x39}, {0xF9, 0xD5}, {0xF9, 0xD6}, /* 0xC4-0xC7 */ + {0x6F, 0x64}, {0x73, 0xA7}, {0x80, 0xE4}, {0x8D, 0x07}, /* 0xC8-0xCB */ + {0xF9, 0xD7}, {0x92, 0x17}, {0x95, 0x8F}, {0xF9, 0xD8}, /* 0xCC-0xCF */ + {0xF9, 0xD9}, {0xF9, 0xDA}, {0xF9, 0xDB}, {0x80, 0x7F}, /* 0xD0-0xD3 */ + {0x62, 0x0E}, {0x70, 0x1C}, {0x7D, 0x68}, {0x87, 0x8D}, /* 0xD4-0xD7 */ + {0xF9, 0xDC}, {0x57, 0xA0}, {0x60, 0x69}, {0x61, 0x47}, /* 0xD8-0xDB */ + {0x6B, 0xB7}, {0x8A, 0xBE}, {0x92, 0x80}, {0x96, 0xB1}, /* 0xDC-0xDF */ + {0x4E, 0x59}, {0x54, 0x1F}, {0x6D, 0xEB}, {0x85, 0x2D}, /* 0xE0-0xE3 */ + {0x96, 0x70}, {0x97, 0xF3}, {0x98, 0xEE}, {0x63, 0xD6}, /* 0xE4-0xE7 */ + {0x6C, 0xE3}, {0x90, 0x91}, {0x51, 0xDD}, {0x61, 0xC9}, /* 0xE8-0xEB */ + {0x81, 0xBA}, {0x9D, 0xF9}, {0x4F, 0x9D}, {0x50, 0x1A}, /* 0xEC-0xEF */ + {0x51, 0x00}, {0x5B, 0x9C}, {0x61, 0x0F}, {0x61, 0xFF}, /* 0xF0-0xF3 */ + {0x64, 0xEC}, {0x69, 0x05}, {0x6B, 0xC5}, {0x75, 0x91}, /* 0xF4-0xF7 */ + {0x77, 0xE3}, {0x7F, 0xA9}, {0x82, 0x64}, {0x85, 0x8F}, /* 0xF8-0xFB */ + {0x87, 0xFB}, {0x88, 0x63}, {0x8A, 0xBC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x8B, 0x70}, {0x91, 0xAB}, {0x4E, 0x8C}, /* 0xA0-0xA3 */ + {0x4E, 0xE5}, {0x4F, 0x0A}, {0xF9, 0xDD}, {0xF9, 0xDE}, /* 0xA4-0xA7 */ + {0x59, 0x37}, {0x59, 0xE8}, {0xF9, 0xDF}, {0x5D, 0xF2}, /* 0xA8-0xAB */ + {0x5F, 0x1B}, {0x5F, 0x5B}, {0x60, 0x21}, {0xF9, 0xE0}, /* 0xAC-0xAF */ + {0xF9, 0xE1}, {0xF9, 0xE2}, {0xF9, 0xE3}, {0x72, 0x3E}, /* 0xB0-0xB3 */ + {0x73, 0xE5}, {0xF9, 0xE4}, {0x75, 0x70}, {0x75, 0xCD}, /* 0xB4-0xB7 */ + {0xF9, 0xE5}, {0x79, 0xFB}, {0xF9, 0xE6}, {0x80, 0x0C}, /* 0xB8-0xBB */ + {0x80, 0x33}, {0x80, 0x84}, {0x82, 0xE1}, {0x83, 0x51}, /* 0xBC-0xBF */ + {0xF9, 0xE7}, {0xF9, 0xE8}, {0x8C, 0xBD}, {0x8C, 0xB3}, /* 0xC0-0xC3 */ + {0x90, 0x87}, {0xF9, 0xE9}, {0xF9, 0xEA}, {0x98, 0xF4}, /* 0xC4-0xC7 */ + {0x99, 0x0C}, {0xF9, 0xEB}, {0xF9, 0xEC}, {0x70, 0x37}, /* 0xC8-0xCB */ + {0x76, 0xCA}, {0x7F, 0xCA}, {0x7F, 0xCC}, {0x7F, 0xFC}, /* 0xCC-0xCF */ + {0x8B, 0x1A}, {0x4E, 0xBA}, {0x4E, 0xC1}, {0x52, 0x03}, /* 0xD0-0xD3 */ + {0x53, 0x70}, {0xF9, 0xED}, {0x54, 0xBD}, {0x56, 0xE0}, /* 0xD4-0xD7 */ + {0x59, 0xFB}, {0x5B, 0xC5}, {0x5F, 0x15}, {0x5F, 0xCD}, /* 0xD8-0xDB */ + {0x6E, 0x6E}, {0xF9, 0xEE}, {0xF9, 0xEF}, {0x7D, 0x6A}, /* 0xDC-0xDF */ + {0x83, 0x35}, {0xF9, 0xF0}, {0x86, 0x93}, {0x8A, 0x8D}, /* 0xE0-0xE3 */ + {0xF9, 0xF1}, {0x97, 0x6D}, {0x97, 0x77}, {0xF9, 0xF2}, /* 0xE4-0xE7 */ + {0xF9, 0xF3}, {0x4E, 0x00}, {0x4F, 0x5A}, {0x4F, 0x7E}, /* 0xE8-0xEB */ + {0x58, 0xF9}, {0x65, 0xE5}, {0x6E, 0xA2}, {0x90, 0x38}, /* 0xEC-0xEF */ + {0x93, 0xB0}, {0x99, 0xB9}, {0x4E, 0xFB}, {0x58, 0xEC}, /* 0xF0-0xF3 */ + {0x59, 0x8A}, {0x59, 0xD9}, {0x60, 0x41}, {0xF9, 0xF4}, /* 0xF4-0xF7 */ + {0xF9, 0xF5}, {0x7A, 0x14}, {0xF9, 0xF6}, {0x83, 0x4F}, /* 0xF8-0xFB */ + {0x8C, 0xC3}, {0x51, 0x65}, {0x53, 0x44}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_ED[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xF9, 0xF7}, {0xF9, 0xF8}, {0xF9, 0xF9}, /* 0xA0-0xA3 */ + {0x4E, 0xCD}, {0x52, 0x69}, {0x5B, 0x55}, {0x82, 0xBF}, /* 0xA4-0xA7 */ + {0x4E, 0xD4}, {0x52, 0x3A}, {0x54, 0xA8}, {0x59, 0xC9}, /* 0xA8-0xAB */ + {0x59, 0xFF}, {0x5B, 0x50}, {0x5B, 0x57}, {0x5B, 0x5C}, /* 0xAC-0xAF */ + {0x60, 0x63}, {0x61, 0x48}, {0x6E, 0xCB}, {0x70, 0x99}, /* 0xB0-0xB3 */ + {0x71, 0x6E}, {0x73, 0x86}, {0x74, 0xF7}, {0x75, 0xB5}, /* 0xB4-0xB7 */ + {0x78, 0xC1}, {0x7D, 0x2B}, {0x80, 0x05}, {0x81, 0xEA}, /* 0xB8-0xBB */ + {0x83, 0x28}, {0x85, 0x17}, {0x85, 0xC9}, {0x8A, 0xEE}, /* 0xBC-0xBF */ + {0x8C, 0xC7}, {0x96, 0xCC}, {0x4F, 0x5C}, {0x52, 0xFA}, /* 0xC0-0xC3 */ + {0x56, 0xBC}, {0x65, 0xAB}, {0x66, 0x28}, {0x70, 0x7C}, /* 0xC4-0xC7 */ + {0x70, 0xB8}, {0x72, 0x35}, {0x7D, 0xBD}, {0x82, 0x8D}, /* 0xC8-0xCB */ + {0x91, 0x4C}, {0x96, 0xC0}, {0x9D, 0x72}, {0x5B, 0x71}, /* 0xCC-0xCF */ + {0x68, 0xE7}, {0x6B, 0x98}, {0x6F, 0x7A}, {0x76, 0xDE}, /* 0xD0-0xD3 */ + {0x5C, 0x91}, {0x66, 0xAB}, {0x6F, 0x5B}, {0x7B, 0xB4}, /* 0xD4-0xD7 */ + {0x7C, 0x2A}, {0x88, 0x36}, {0x96, 0xDC}, {0x4E, 0x08}, /* 0xD8-0xDB */ + {0x4E, 0xD7}, {0x53, 0x20}, {0x58, 0x34}, {0x58, 0xBB}, /* 0xDC-0xDF */ + {0x58, 0xEF}, {0x59, 0x6C}, {0x5C, 0x07}, {0x5E, 0x33}, /* 0xE0-0xE3 */ + {0x5E, 0x84}, {0x5F, 0x35}, {0x63, 0x8C}, {0x66, 0xB2}, /* 0xE4-0xE7 */ + {0x67, 0x56}, {0x6A, 0x1F}, {0x6A, 0xA3}, {0x6B, 0x0C}, /* 0xE8-0xEB */ + {0x6F, 0x3F}, {0x72, 0x46}, {0xF9, 0xFA}, {0x73, 0x50}, /* 0xEC-0xEF */ + {0x74, 0x8B}, {0x7A, 0xE0}, {0x7C, 0xA7}, {0x81, 0x78}, /* 0xF0-0xF3 */ + {0x81, 0xDF}, {0x81, 0xE7}, {0x83, 0x8A}, {0x84, 0x6C}, /* 0xF4-0xF7 */ + {0x85, 0x23}, {0x85, 0x94}, {0x85, 0xCF}, {0x88, 0xDD}, /* 0xF8-0xFB */ + {0x8D, 0x13}, {0x91, 0xAC}, {0x95, 0x77}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x96, 0x9C}, {0x51, 0x8D}, {0x54, 0xC9}, /* 0xA0-0xA3 */ + {0x57, 0x28}, {0x5B, 0xB0}, {0x62, 0x4D}, {0x67, 0x50}, /* 0xA4-0xA7 */ + {0x68, 0x3D}, {0x68, 0x93}, {0x6E, 0x3D}, {0x6E, 0xD3}, /* 0xA8-0xAB */ + {0x70, 0x7D}, {0x7E, 0x21}, {0x88, 0xC1}, {0x8C, 0xA1}, /* 0xAC-0xAF */ + {0x8F, 0x09}, {0x9F, 0x4B}, {0x9F, 0x4E}, {0x72, 0x2D}, /* 0xB0-0xB3 */ + {0x7B, 0x8F}, {0x8A, 0xCD}, {0x93, 0x1A}, {0x4F, 0x47}, /* 0xB4-0xB7 */ + {0x4F, 0x4E}, {0x51, 0x32}, {0x54, 0x80}, {0x59, 0xD0}, /* 0xB8-0xBB */ + {0x5E, 0x95}, {0x62, 0xB5}, {0x67, 0x75}, {0x69, 0x6E}, /* 0xBC-0xBF */ + {0x6A, 0x17}, {0x6C, 0xAE}, {0x6E, 0x1A}, {0x72, 0xD9}, /* 0xC0-0xC3 */ + {0x73, 0x2A}, {0x75, 0xBD}, {0x7B, 0xB8}, {0x7D, 0x35}, /* 0xC4-0xC7 */ + {0x82, 0xE7}, {0x83, 0xF9}, {0x84, 0x57}, {0x85, 0xF7}, /* 0xC8-0xCB */ + {0x8A, 0x5B}, {0x8C, 0xAF}, {0x8E, 0x87}, {0x90, 0x19}, /* 0xCC-0xCF */ + {0x90, 0xB8}, {0x96, 0xCE}, {0x9F, 0x5F}, {0x52, 0xE3}, /* 0xD0-0xD3 */ + {0x54, 0x0A}, {0x5A, 0xE1}, {0x5B, 0xC2}, {0x64, 0x58}, /* 0xD4-0xD7 */ + {0x65, 0x75}, {0x6E, 0xF4}, {0x72, 0xC4}, {0xF9, 0xFB}, /* 0xD8-0xDB */ + {0x76, 0x84}, {0x7A, 0x4D}, {0x7B, 0x1B}, {0x7C, 0x4D}, /* 0xDC-0xDF */ + {0x7E, 0x3E}, {0x7F, 0xDF}, {0x83, 0x7B}, {0x8B, 0x2B}, /* 0xE0-0xE3 */ + {0x8C, 0xCA}, {0x8D, 0x64}, {0x8D, 0xE1}, {0x8E, 0x5F}, /* 0xE4-0xE7 */ + {0x8F, 0xEA}, {0x8F, 0xF9}, {0x90, 0x69}, {0x93, 0xD1}, /* 0xE8-0xEB */ + {0x4F, 0x43}, {0x4F, 0x7A}, {0x50, 0xB3}, {0x51, 0x68}, /* 0xEC-0xEF */ + {0x51, 0x78}, {0x52, 0x4D}, {0x52, 0x6A}, {0x58, 0x61}, /* 0xF0-0xF3 */ + {0x58, 0x7C}, {0x59, 0x60}, {0x5C, 0x08}, {0x5C, 0x55}, /* 0xF4-0xF7 */ + {0x5E, 0xDB}, {0x60, 0x9B}, {0x62, 0x30}, {0x68, 0x13}, /* 0xF8-0xFB */ + {0x6B, 0xBF}, {0x6C, 0x08}, {0x6F, 0xB1}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x71, 0x4E}, {0x74, 0x20}, {0x75, 0x30}, /* 0xA0-0xA3 */ + {0x75, 0x38}, {0x75, 0x51}, {0x76, 0x72}, {0x7B, 0x4C}, /* 0xA4-0xA7 */ + {0x7B, 0x8B}, {0x7B, 0xAD}, {0x7B, 0xC6}, {0x7E, 0x8F}, /* 0xA8-0xAB */ + {0x8A, 0x6E}, {0x8F, 0x3E}, {0x8F, 0x49}, {0x92, 0x3F}, /* 0xAC-0xAF */ + {0x92, 0x93}, {0x93, 0x22}, {0x94, 0x2B}, {0x96, 0xFB}, /* 0xB0-0xB3 */ + {0x98, 0x5A}, {0x98, 0x6B}, {0x99, 0x1E}, {0x52, 0x07}, /* 0xB4-0xB7 */ + {0x62, 0x2A}, {0x62, 0x98}, {0x6D, 0x59}, {0x76, 0x64}, /* 0xB8-0xBB */ + {0x7A, 0xCA}, {0x7B, 0xC0}, {0x7D, 0x76}, {0x53, 0x60}, /* 0xBC-0xBF */ + {0x5C, 0xBE}, {0x5E, 0x97}, {0x6F, 0x38}, {0x70, 0xB9}, /* 0xC0-0xC3 */ + {0x7C, 0x98}, {0x97, 0x11}, {0x9B, 0x8E}, {0x9E, 0xDE}, /* 0xC4-0xC7 */ + {0x63, 0xA5}, {0x64, 0x7A}, {0x87, 0x76}, {0x4E, 0x01}, /* 0xC8-0xCB */ + {0x4E, 0x95}, {0x4E, 0xAD}, {0x50, 0x5C}, {0x50, 0x75}, /* 0xCC-0xCF */ + {0x54, 0x48}, {0x59, 0xC3}, {0x5B, 0x9A}, {0x5E, 0x40}, /* 0xD0-0xD3 */ + {0x5E, 0xAD}, {0x5E, 0xF7}, {0x5F, 0x81}, {0x60, 0xC5}, /* 0xD4-0xD7 */ + {0x63, 0x3A}, {0x65, 0x3F}, {0x65, 0x74}, {0x65, 0xCC}, /* 0xD8-0xDB */ + {0x66, 0x76}, {0x66, 0x78}, {0x67, 0xFE}, {0x69, 0x68}, /* 0xDC-0xDF */ + {0x6A, 0x89}, {0x6B, 0x63}, {0x6C, 0x40}, {0x6D, 0xC0}, /* 0xE0-0xE3 */ + {0x6D, 0xE8}, {0x6E, 0x1F}, {0x6E, 0x5E}, {0x70, 0x1E}, /* 0xE4-0xE7 */ + {0x70, 0xA1}, {0x73, 0x8E}, {0x73, 0xFD}, {0x75, 0x3A}, /* 0xE8-0xEB */ + {0x77, 0x5B}, {0x78, 0x87}, {0x79, 0x8E}, {0x7A, 0x0B}, /* 0xEC-0xEF */ + {0x7A, 0x7D}, {0x7C, 0xBE}, {0x7D, 0x8E}, {0x82, 0x47}, /* 0xF0-0xF3 */ + {0x8A, 0x02}, {0x8A, 0xEA}, {0x8C, 0x9E}, {0x91, 0x2D}, /* 0xF4-0xF7 */ + {0x91, 0x4A}, {0x91, 0xD8}, {0x92, 0x66}, {0x92, 0xCC}, /* 0xF8-0xFB */ + {0x93, 0x20}, {0x97, 0x06}, {0x97, 0x56}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x97, 0x5C}, {0x98, 0x02}, {0x9F, 0x0E}, /* 0xA0-0xA3 */ + {0x52, 0x36}, {0x52, 0x91}, {0x55, 0x7C}, {0x58, 0x24}, /* 0xA4-0xA7 */ + {0x5E, 0x1D}, {0x5F, 0x1F}, {0x60, 0x8C}, {0x63, 0xD0}, /* 0xA8-0xAB */ + {0x68, 0xAF}, {0x6F, 0xDF}, {0x79, 0x6D}, {0x7B, 0x2C}, /* 0xAC-0xAF */ + {0x81, 0xCD}, {0x85, 0xBA}, {0x88, 0xFD}, {0x8A, 0xF8}, /* 0xB0-0xB3 */ + {0x8E, 0x44}, {0x91, 0x8D}, {0x96, 0x64}, {0x96, 0x9B}, /* 0xB4-0xB7 */ + {0x97, 0x3D}, {0x98, 0x4C}, {0x9F, 0x4A}, {0x4F, 0xCE}, /* 0xB8-0xBB */ + {0x51, 0x46}, {0x51, 0xCB}, {0x52, 0xA9}, {0x56, 0x32}, /* 0xBC-0xBF */ + {0x5F, 0x14}, {0x5F, 0x6B}, {0x63, 0xAA}, {0x64, 0xCD}, /* 0xC0-0xC3 */ + {0x65, 0xE9}, {0x66, 0x41}, {0x66, 0xFA}, {0x66, 0xF9}, /* 0xC4-0xC7 */ + {0x67, 0x1D}, {0x68, 0x9D}, {0x68, 0xD7}, {0x69, 0xFD}, /* 0xC8-0xCB */ + {0x6F, 0x15}, {0x6F, 0x6E}, {0x71, 0x67}, {0x71, 0xE5}, /* 0xCC-0xCF */ + {0x72, 0x2A}, {0x74, 0xAA}, {0x77, 0x3A}, {0x79, 0x56}, /* 0xD0-0xD3 */ + {0x79, 0x5A}, {0x79, 0xDF}, {0x7A, 0x20}, {0x7A, 0x95}, /* 0xD4-0xD7 */ + {0x7C, 0x97}, {0x7C, 0xDF}, {0x7D, 0x44}, {0x7E, 0x70}, /* 0xD8-0xDB */ + {0x80, 0x87}, {0x85, 0xFB}, {0x86, 0xA4}, {0x8A, 0x54}, /* 0xDC-0xDF */ + {0x8A, 0xBF}, {0x8D, 0x99}, {0x8E, 0x81}, {0x90, 0x20}, /* 0xE0-0xE3 */ + {0x90, 0x6D}, {0x91, 0xE3}, {0x96, 0x3B}, {0x96, 0xD5}, /* 0xE4-0xE7 */ + {0x9C, 0xE5}, {0x65, 0xCF}, {0x7C, 0x07}, {0x8D, 0xB3}, /* 0xE8-0xEB */ + {0x93, 0xC3}, {0x5B, 0x58}, {0x5C, 0x0A}, {0x53, 0x52}, /* 0xEC-0xEF */ + {0x62, 0xD9}, {0x73, 0x1D}, {0x50, 0x27}, {0x5B, 0x97}, /* 0xF0-0xF3 */ + {0x5F, 0x9E}, {0x60, 0xB0}, {0x61, 0x6B}, {0x68, 0xD5}, /* 0xF4-0xF7 */ + {0x6D, 0xD9}, {0x74, 0x2E}, {0x7A, 0x2E}, {0x7D, 0x42}, /* 0xF8-0xFB */ + {0x7D, 0x9C}, {0x7E, 0x31}, {0x81, 0x6B}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x8E, 0x2A}, {0x8E, 0x35}, {0x93, 0x7E}, /* 0xA0-0xA3 */ + {0x94, 0x18}, {0x4F, 0x50}, {0x57, 0x50}, {0x5D, 0xE6}, /* 0xA4-0xA7 */ + {0x5E, 0xA7}, {0x63, 0x2B}, {0x7F, 0x6A}, {0x4E, 0x3B}, /* 0xA8-0xAB */ + {0x4F, 0x4F}, {0x4F, 0x8F}, {0x50, 0x5A}, {0x59, 0xDD}, /* 0xAC-0xAF */ + {0x80, 0xC4}, {0x54, 0x6A}, {0x54, 0x68}, {0x55, 0xFE}, /* 0xB0-0xB3 */ + {0x59, 0x4F}, {0x5B, 0x99}, {0x5D, 0xDE}, {0x5E, 0xDA}, /* 0xB4-0xB7 */ + {0x66, 0x5D}, {0x67, 0x31}, {0x67, 0xF1}, {0x68, 0x2A}, /* 0xB8-0xBB */ + {0x6C, 0xE8}, {0x6D, 0x32}, {0x6E, 0x4A}, {0x6F, 0x8D}, /* 0xBC-0xBF */ + {0x70, 0xB7}, {0x73, 0xE0}, {0x75, 0x87}, {0x7C, 0x4C}, /* 0xC0-0xC3 */ + {0x7D, 0x02}, {0x7D, 0x2C}, {0x7D, 0xA2}, {0x82, 0x1F}, /* 0xC4-0xC7 */ + {0x86, 0xDB}, {0x8A, 0x3B}, {0x8A, 0x85}, {0x8D, 0x70}, /* 0xC8-0xCB */ + {0x8E, 0x8A}, {0x8F, 0x33}, {0x90, 0x31}, {0x91, 0x4E}, /* 0xCC-0xCF */ + {0x91, 0x52}, {0x94, 0x44}, {0x99, 0xD0}, {0x7A, 0xF9}, /* 0xD0-0xD3 */ + {0x7C, 0xA5}, {0x4F, 0xCA}, {0x51, 0x01}, {0x51, 0xC6}, /* 0xD4-0xD7 */ + {0x57, 0xC8}, {0x5B, 0xEF}, {0x5C, 0xFB}, {0x66, 0x59}, /* 0xD8-0xDB */ + {0x6A, 0x3D}, {0x6D, 0x5A}, {0x6E, 0x96}, {0x6F, 0xEC}, /* 0xDC-0xDF */ + {0x71, 0x0C}, {0x75, 0x6F}, {0x7A, 0xE3}, {0x88, 0x22}, /* 0xE0-0xE3 */ + {0x90, 0x21}, {0x90, 0x75}, {0x96, 0xCB}, {0x99, 0xFF}, /* 0xE4-0xE7 */ + {0x83, 0x01}, {0x4E, 0x2D}, {0x4E, 0xF2}, {0x88, 0x46}, /* 0xE8-0xEB */ + {0x91, 0xCD}, {0x53, 0x7D}, {0x6A, 0xDB}, {0x69, 0x6B}, /* 0xEC-0xEF */ + {0x6C, 0x41}, {0x84, 0x7A}, {0x58, 0x9E}, {0x61, 0x8E}, /* 0xF0-0xF3 */ + {0x66, 0xFE}, {0x62, 0xEF}, {0x70, 0xDD}, {0x75, 0x11}, /* 0xF4-0xF7 */ + {0x75, 0xC7}, {0x7E, 0x52}, {0x84, 0xB8}, {0x8B, 0x49}, /* 0xF8-0xFB */ + {0x8D, 0x08}, {0x4E, 0x4B}, {0x53, 0xEA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x54, 0xAB}, {0x57, 0x30}, {0x57, 0x40}, /* 0xA0-0xA3 */ + {0x5F, 0xD7}, {0x63, 0x01}, {0x63, 0x07}, {0x64, 0x6F}, /* 0xA4-0xA7 */ + {0x65, 0x2F}, {0x65, 0xE8}, {0x66, 0x7A}, {0x67, 0x9D}, /* 0xA8-0xAB */ + {0x67, 0xB3}, {0x6B, 0x62}, {0x6C, 0x60}, {0x6C, 0x9A}, /* 0xAC-0xAF */ + {0x6F, 0x2C}, {0x77, 0xE5}, {0x78, 0x25}, {0x79, 0x49}, /* 0xB0-0xB3 */ + {0x79, 0x57}, {0x7D, 0x19}, {0x80, 0xA2}, {0x81, 0x02}, /* 0xB4-0xB7 */ + {0x81, 0xF3}, {0x82, 0x9D}, {0x82, 0xB7}, {0x87, 0x18}, /* 0xB8-0xBB */ + {0x8A, 0x8C}, {0xF9, 0xFC}, {0x8D, 0x04}, {0x8D, 0xBE}, /* 0xBC-0xBF */ + {0x90, 0x72}, {0x76, 0xF4}, {0x7A, 0x19}, {0x7A, 0x37}, /* 0xC0-0xC3 */ + {0x7E, 0x54}, {0x80, 0x77}, {0x55, 0x07}, {0x55, 0xD4}, /* 0xC4-0xC7 */ + {0x58, 0x75}, {0x63, 0x2F}, {0x64, 0x22}, {0x66, 0x49}, /* 0xC8-0xCB */ + {0x66, 0x4B}, {0x68, 0x6D}, {0x69, 0x9B}, {0x6B, 0x84}, /* 0xCC-0xCF */ + {0x6D, 0x25}, {0x6E, 0xB1}, {0x73, 0xCD}, {0x74, 0x68}, /* 0xD0-0xD3 */ + {0x74, 0xA1}, {0x75, 0x5B}, {0x75, 0xB9}, {0x76, 0xE1}, /* 0xD4-0xD7 */ + {0x77, 0x1E}, {0x77, 0x8B}, {0x79, 0xE6}, {0x7E, 0x09}, /* 0xD8-0xDB */ + {0x7E, 0x1D}, {0x81, 0xFB}, {0x85, 0x2F}, {0x88, 0x97}, /* 0xDC-0xDF */ + {0x8A, 0x3A}, {0x8C, 0xD1}, {0x8E, 0xEB}, {0x8F, 0xB0}, /* 0xE0-0xE3 */ + {0x90, 0x32}, {0x93, 0xAD}, {0x96, 0x63}, {0x96, 0x73}, /* 0xE4-0xE7 */ + {0x97, 0x07}, {0x4F, 0x84}, {0x53, 0xF1}, {0x59, 0xEA}, /* 0xE8-0xEB */ + {0x5A, 0xC9}, {0x5E, 0x19}, {0x68, 0x4E}, {0x74, 0xC6}, /* 0xEC-0xEF */ + {0x75, 0xBE}, {0x79, 0xE9}, {0x7A, 0x92}, {0x81, 0xA3}, /* 0xF0-0xF3 */ + {0x86, 0xED}, {0x8C, 0xEA}, {0x8D, 0xCC}, {0x8F, 0xED}, /* 0xF4-0xF7 */ + {0x65, 0x9F}, {0x67, 0x15}, {0xF9, 0xFD}, {0x57, 0xF7}, /* 0xF8-0xFB */ + {0x6F, 0x57}, {0x7D, 0xDD}, {0x8F, 0x2F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x93, 0xF6}, {0x96, 0xC6}, {0x5F, 0xB5}, /* 0xA0-0xA3 */ + {0x61, 0xF2}, {0x6F, 0x84}, {0x4E, 0x14}, {0x4F, 0x98}, /* 0xA4-0xA7 */ + {0x50, 0x1F}, {0x53, 0xC9}, {0x55, 0xDF}, {0x5D, 0x6F}, /* 0xA8-0xAB */ + {0x5D, 0xEE}, {0x6B, 0x21}, {0x6B, 0x64}, {0x78, 0xCB}, /* 0xAC-0xAF */ + {0x7B, 0x9A}, {0xF9, 0xFE}, {0x8E, 0x49}, {0x8E, 0xCA}, /* 0xB0-0xB3 */ + {0x90, 0x6E}, {0x63, 0x49}, {0x64, 0x3E}, {0x77, 0x40}, /* 0xB4-0xB7 */ + {0x7A, 0x84}, {0x93, 0x2F}, {0x94, 0x7F}, {0x9F, 0x6A}, /* 0xB8-0xBB */ + {0x64, 0xB0}, {0x6F, 0xAF}, {0x71, 0xE6}, {0x74, 0xA8}, /* 0xBC-0xBF */ + {0x74, 0xDA}, {0x7A, 0xC4}, {0x7C, 0x12}, {0x7E, 0x82}, /* 0xC0-0xC3 */ + {0x7C, 0xB2}, {0x7E, 0x98}, {0x8B, 0x9A}, {0x8D, 0x0A}, /* 0xC4-0xC7 */ + {0x94, 0x7D}, {0x99, 0x10}, {0x99, 0x4C}, {0x52, 0x39}, /* 0xC8-0xCB */ + {0x5B, 0xDF}, {0x64, 0xE6}, {0x67, 0x2D}, {0x7D, 0x2E}, /* 0xCC-0xCF */ + {0x50, 0xED}, {0x53, 0xC3}, {0x58, 0x79}, {0x61, 0x58}, /* 0xD0-0xD3 */ + {0x61, 0x59}, {0x61, 0xFA}, {0x65, 0xAC}, {0x7A, 0xD9}, /* 0xD4-0xD7 */ + {0x8B, 0x92}, {0x8B, 0x96}, {0x50, 0x09}, {0x50, 0x21}, /* 0xD8-0xDB */ + {0x52, 0x75}, {0x55, 0x31}, {0x5A, 0x3C}, {0x5E, 0xE0}, /* 0xDC-0xDF */ + {0x5F, 0x70}, {0x61, 0x34}, {0x65, 0x5E}, {0x66, 0x0C}, /* 0xE0-0xE3 */ + {0x66, 0x36}, {0x66, 0xA2}, {0x69, 0xCD}, {0x6E, 0xC4}, /* 0xE4-0xE7 */ + {0x6F, 0x32}, {0x73, 0x16}, {0x76, 0x21}, {0x7A, 0x93}, /* 0xE8-0xEB */ + {0x81, 0x39}, {0x82, 0x59}, {0x83, 0xD6}, {0x84, 0xBC}, /* 0xEC-0xEF */ + {0x50, 0xB5}, {0x57, 0xF0}, {0x5B, 0xC0}, {0x5B, 0xE8}, /* 0xF0-0xF3 */ + {0x5F, 0x69}, {0x63, 0xA1}, {0x78, 0x26}, {0x7D, 0xB5}, /* 0xF4-0xF7 */ + {0x83, 0xDC}, {0x85, 0x21}, {0x91, 0xC7}, {0x91, 0xF5}, /* 0xF8-0xFB */ + {0x51, 0x8A}, {0x67, 0xF5}, {0x7B, 0x56}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x8C, 0xAC}, {0x51, 0xC4}, {0x59, 0xBB}, /* 0xA0-0xA3 */ + {0x60, 0xBD}, {0x86, 0x55}, {0x50, 0x1C}, {0xF9, 0xFF}, /* 0xA4-0xA7 */ + {0x52, 0x54}, {0x5C, 0x3A}, {0x61, 0x7D}, {0x62, 0x1A}, /* 0xA8-0xAB */ + {0x62, 0xD3}, {0x64, 0xF2}, {0x65, 0xA5}, {0x6E, 0xCC}, /* 0xAC-0xAF */ + {0x76, 0x20}, {0x81, 0x0A}, {0x8E, 0x60}, {0x96, 0x5F}, /* 0xB0-0xB3 */ + {0x96, 0xBB}, {0x4E, 0xDF}, {0x53, 0x43}, {0x55, 0x98}, /* 0xB4-0xB7 */ + {0x59, 0x29}, {0x5D, 0xDD}, {0x64, 0xC5}, {0x6C, 0xC9}, /* 0xB8-0xBB */ + {0x6D, 0xFA}, {0x73, 0x94}, {0x7A, 0x7F}, {0x82, 0x1B}, /* 0xBC-0xBF */ + {0x85, 0xA6}, {0x8C, 0xE4}, {0x8E, 0x10}, {0x90, 0x77}, /* 0xC0-0xC3 */ + {0x91, 0xE7}, {0x95, 0xE1}, {0x96, 0x21}, {0x97, 0xC6}, /* 0xC4-0xC7 */ + {0x51, 0xF8}, {0x54, 0xF2}, {0x55, 0x86}, {0x5F, 0xB9}, /* 0xC8-0xCB */ + {0x64, 0xA4}, {0x6F, 0x88}, {0x7D, 0xB4}, {0x8F, 0x1F}, /* 0xCC-0xCF */ + {0x8F, 0x4D}, {0x94, 0x35}, {0x50, 0xC9}, {0x5C, 0x16}, /* 0xD0-0xD3 */ + {0x6C, 0xBE}, {0x6D, 0xFB}, {0x75, 0x1B}, {0x77, 0xBB}, /* 0xD4-0xD7 */ + {0x7C, 0x3D}, {0x7C, 0x64}, {0x8A, 0x79}, {0x8A, 0xC2}, /* 0xD8-0xDB */ + {0x58, 0x1E}, {0x59, 0xBE}, {0x5E, 0x16}, {0x63, 0x77}, /* 0xDC-0xDF */ + {0x72, 0x52}, {0x75, 0x8A}, {0x77, 0x6B}, {0x8A, 0xDC}, /* 0xE0-0xE3 */ + {0x8C, 0xBC}, {0x8F, 0x12}, {0x5E, 0xF3}, {0x66, 0x74}, /* 0xE4-0xE7 */ + {0x6D, 0xF8}, {0x80, 0x7D}, {0x83, 0xC1}, {0x8A, 0xCB}, /* 0xE8-0xEB */ + {0x97, 0x51}, {0x9B, 0xD6}, {0xFA, 0x00}, {0x52, 0x43}, /* 0xEC-0xEF */ + {0x66, 0xFF}, {0x6D, 0x95}, {0x6E, 0xEF}, {0x7D, 0xE0}, /* 0xF0-0xF3 */ + {0x8A, 0xE6}, {0x90, 0x2E}, {0x90, 0x5E}, {0x9A, 0xD4}, /* 0xF4-0xF7 */ + {0x52, 0x1D}, {0x52, 0x7F}, {0x54, 0xE8}, {0x61, 0x94}, /* 0xF8-0xFB */ + {0x62, 0x84}, {0x62, 0xDB}, {0x68, 0xA2}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x69, 0x12}, {0x69, 0x5A}, {0x6A, 0x35}, /* 0xA0-0xA3 */ + {0x70, 0x92}, {0x71, 0x26}, {0x78, 0x5D}, {0x79, 0x01}, /* 0xA4-0xA7 */ + {0x79, 0x0E}, {0x79, 0xD2}, {0x7A, 0x0D}, {0x80, 0x96}, /* 0xA8-0xAB */ + {0x82, 0x78}, {0x82, 0xD5}, {0x83, 0x49}, {0x85, 0x49}, /* 0xAC-0xAF */ + {0x8C, 0x82}, {0x8D, 0x85}, {0x91, 0x62}, {0x91, 0x8B}, /* 0xB0-0xB3 */ + {0x91, 0xAE}, {0x4F, 0xC3}, {0x56, 0xD1}, {0x71, 0xED}, /* 0xB4-0xB7 */ + {0x77, 0xD7}, {0x87, 0x00}, {0x89, 0xF8}, {0x5B, 0xF8}, /* 0xB8-0xBB */ + {0x5F, 0xD6}, {0x67, 0x51}, {0x90, 0xA8}, {0x53, 0xE2}, /* 0xBC-0xBF */ + {0x58, 0x5A}, {0x5B, 0xF5}, {0x60, 0xA4}, {0x61, 0x81}, /* 0xC0-0xC3 */ + {0x64, 0x60}, {0x7E, 0x3D}, {0x80, 0x70}, {0x85, 0x25}, /* 0xC4-0xC7 */ + {0x92, 0x83}, {0x64, 0xAE}, {0x50, 0xAC}, {0x5D, 0x14}, /* 0xC8-0xCB */ + {0x67, 0x00}, {0x58, 0x9C}, {0x62, 0xBD}, {0x63, 0xA8}, /* 0xCC-0xCF */ + {0x69, 0x0E}, {0x69, 0x78}, {0x6A, 0x1E}, {0x6E, 0x6B}, /* 0xD0-0xD3 */ + {0x76, 0xBA}, {0x79, 0xCB}, {0x82, 0xBB}, {0x84, 0x29}, /* 0xD4-0xD7 */ + {0x8A, 0xCF}, {0x8D, 0xA8}, {0x8F, 0xFD}, {0x91, 0x12}, /* 0xD8-0xDB */ + {0x91, 0x4B}, {0x91, 0x9C}, {0x93, 0x10}, {0x93, 0x18}, /* 0xDC-0xDF */ + {0x93, 0x9A}, {0x96, 0xDB}, {0x9A, 0x36}, {0x9C, 0x0D}, /* 0xE0-0xE3 */ + {0x4E, 0x11}, {0x75, 0x5C}, {0x79, 0x5D}, {0x7A, 0xFA}, /* 0xE4-0xE7 */ + {0x7B, 0x51}, {0x7B, 0xC9}, {0x7E, 0x2E}, {0x84, 0xC4}, /* 0xE8-0xEB */ + {0x8E, 0x59}, {0x8E, 0x74}, {0x8E, 0xF8}, {0x90, 0x10}, /* 0xEC-0xEF */ + {0x66, 0x25}, {0x69, 0x3F}, {0x74, 0x43}, {0x51, 0xFA}, /* 0xF0-0xF3 */ + {0x67, 0x2E}, {0x9E, 0xDC}, {0x51, 0x45}, {0x5F, 0xE0}, /* 0xF4-0xF7 */ + {0x6C, 0x96}, {0x87, 0xF2}, {0x88, 0x5D}, {0x88, 0x77}, /* 0xF8-0xFB */ + {0x60, 0xB4}, {0x81, 0xB5}, {0x84, 0x03}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x8D, 0x05}, {0x53, 0xD6}, {0x54, 0x39}, /* 0xA0-0xA3 */ + {0x56, 0x34}, {0x5A, 0x36}, {0x5C, 0x31}, {0x70, 0x8A}, /* 0xA4-0xA7 */ + {0x7F, 0xE0}, {0x80, 0x5A}, {0x81, 0x06}, {0x81, 0xED}, /* 0xA8-0xAB */ + {0x8D, 0xA3}, {0x91, 0x89}, {0x9A, 0x5F}, {0x9D, 0xF2}, /* 0xAC-0xAF */ + {0x50, 0x74}, {0x4E, 0xC4}, {0x53, 0xA0}, {0x60, 0xFB}, /* 0xB0-0xB3 */ + {0x6E, 0x2C}, {0x5C, 0x64}, {0x4F, 0x88}, {0x50, 0x24}, /* 0xB4-0xB7 */ + {0x55, 0xE4}, {0x5C, 0xD9}, {0x5E, 0x5F}, {0x60, 0x65}, /* 0xB8-0xBB */ + {0x68, 0x94}, {0x6C, 0xBB}, {0x6D, 0xC4}, {0x71, 0xBE}, /* 0xBC-0xBF */ + {0x75, 0xD4}, {0x75, 0xF4}, {0x76, 0x61}, {0x7A, 0x1A}, /* 0xC0-0xC3 */ + {0x7A, 0x49}, {0x7D, 0xC7}, {0x7D, 0xFB}, {0x7F, 0x6E}, /* 0xC4-0xC7 */ + {0x81, 0xF4}, {0x86, 0xA9}, {0x8F, 0x1C}, {0x96, 0xC9}, /* 0xC8-0xCB */ + {0x99, 0xB3}, {0x9F, 0x52}, {0x52, 0x47}, {0x52, 0xC5}, /* 0xCC-0xCF */ + {0x98, 0xED}, {0x89, 0xAA}, {0x4E, 0x03}, {0x67, 0xD2}, /* 0xD0-0xD3 */ + {0x6F, 0x06}, {0x4F, 0xB5}, {0x5B, 0xE2}, {0x67, 0x95}, /* 0xD4-0xD7 */ + {0x6C, 0x88}, {0x6D, 0x78}, {0x74, 0x1B}, {0x78, 0x27}, /* 0xD8-0xDB */ + {0x91, 0xDD}, {0x93, 0x7C}, {0x87, 0xC4}, {0x79, 0xE4}, /* 0xDC-0xDF */ + {0x7A, 0x31}, {0x5F, 0xEB}, {0x4E, 0xD6}, {0x54, 0xA4}, /* 0xE0-0xE3 */ + {0x55, 0x3E}, {0x58, 0xAE}, {0x59, 0xA5}, {0x60, 0xF0}, /* 0xE4-0xE7 */ + {0x62, 0x53}, {0x62, 0xD6}, {0x67, 0x36}, {0x69, 0x55}, /* 0xE8-0xEB */ + {0x82, 0x35}, {0x96, 0x40}, {0x99, 0xB1}, {0x99, 0xDD}, /* 0xEC-0xEF */ + {0x50, 0x2C}, {0x53, 0x53}, {0x55, 0x44}, {0x57, 0x7C}, /* 0xF0-0xF3 */ + {0xFA, 0x01}, {0x62, 0x58}, {0xFA, 0x02}, {0x64, 0xE2}, /* 0xF4-0xF7 */ + {0x66, 0x6B}, {0x67, 0xDD}, {0x6F, 0xC1}, {0x6F, 0xEF}, /* 0xF8-0xFB */ + {0x74, 0x22}, {0x74, 0x38}, {0x8A, 0x17}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x94, 0x38}, {0x54, 0x51}, {0x56, 0x06}, /* 0xA0-0xA3 */ + {0x57, 0x66}, {0x5F, 0x48}, {0x61, 0x9A}, {0x6B, 0x4E}, /* 0xA4-0xA7 */ + {0x70, 0x58}, {0x70, 0xAD}, {0x7D, 0xBB}, {0x8A, 0x95}, /* 0xA8-0xAB */ + {0x59, 0x6A}, {0x81, 0x2B}, {0x63, 0xA2}, {0x77, 0x08}, /* 0xAC-0xAF */ + {0x80, 0x3D}, {0x8C, 0xAA}, {0x58, 0x54}, {0x64, 0x2D}, /* 0xB0-0xB3 */ + {0x69, 0xBB}, {0x5B, 0x95}, {0x5E, 0x11}, {0x6E, 0x6F}, /* 0xB4-0xB7 */ + {0xFA, 0x03}, {0x85, 0x69}, {0x51, 0x4C}, {0x53, 0xF0}, /* 0xB8-0xBB */ + {0x59, 0x2A}, {0x60, 0x20}, {0x61, 0x4B}, {0x6B, 0x86}, /* 0xBC-0xBF */ + {0x6C, 0x70}, {0x6C, 0xF0}, {0x7B, 0x1E}, {0x80, 0xCE}, /* 0xC0-0xC3 */ + {0x82, 0xD4}, {0x8D, 0xC6}, {0x90, 0xB0}, {0x98, 0xB1}, /* 0xC4-0xC7 */ + {0xFA, 0x04}, {0x64, 0xC7}, {0x6F, 0xA4}, {0x64, 0x91}, /* 0xC8-0xCB */ + {0x65, 0x04}, {0x51, 0x4E}, {0x54, 0x10}, {0x57, 0x1F}, /* 0xCC-0xCF */ + {0x8A, 0x0E}, {0x61, 0x5F}, {0x68, 0x76}, {0xFA, 0x05}, /* 0xD0-0xD3 */ + {0x75, 0xDB}, {0x7B, 0x52}, {0x7D, 0x71}, {0x90, 0x1A}, /* 0xD4-0xD7 */ + {0x58, 0x06}, {0x69, 0xCC}, {0x81, 0x7F}, {0x89, 0x2A}, /* 0xD8-0xDB */ + {0x90, 0x00}, {0x98, 0x39}, {0x50, 0x78}, {0x59, 0x57}, /* 0xDC-0xDF */ + {0x59, 0xAC}, {0x62, 0x95}, {0x90, 0x0F}, {0x9B, 0x2A}, /* 0xE0-0xE3 */ + {0x61, 0x5D}, {0x72, 0x79}, {0x95, 0xD6}, {0x57, 0x61}, /* 0xE4-0xE7 */ + {0x5A, 0x46}, {0x5D, 0xF4}, {0x62, 0x8A}, {0x64, 0xAD}, /* 0xE8-0xEB */ + {0x64, 0xFA}, {0x67, 0x77}, {0x6C, 0xE2}, {0x6D, 0x3E}, /* 0xEC-0xEF */ + {0x72, 0x2C}, {0x74, 0x36}, {0x78, 0x34}, {0x7F, 0x77}, /* 0xF0-0xF3 */ + {0x82, 0xAD}, {0x8D, 0xDB}, {0x98, 0x17}, {0x52, 0x24}, /* 0xF4-0xF7 */ + {0x57, 0x42}, {0x67, 0x7F}, {0x72, 0x48}, {0x74, 0xE3}, /* 0xF8-0xFB */ + {0x8C, 0xA9}, {0x8F, 0xA6}, {0x92, 0x11}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x96, 0x2A}, {0x51, 0x6B}, {0x53, 0xED}, /* 0xA0-0xA3 */ + {0x63, 0x4C}, {0x4F, 0x69}, {0x55, 0x04}, {0x60, 0x96}, /* 0xA4-0xA7 */ + {0x65, 0x57}, {0x6C, 0x9B}, {0x6D, 0x7F}, {0x72, 0x4C}, /* 0xA8-0xAB */ + {0x72, 0xFD}, {0x7A, 0x17}, {0x89, 0x87}, {0x8C, 0x9D}, /* 0xAC-0xAF */ + {0x5F, 0x6D}, {0x6F, 0x8E}, {0x70, 0xF9}, {0x81, 0xA8}, /* 0xB0-0xB3 */ + {0x61, 0x0E}, {0x4F, 0xBF}, {0x50, 0x4F}, {0x62, 0x41}, /* 0xB4-0xB7 */ + {0x72, 0x47}, {0x7B, 0xC7}, {0x7D, 0xE8}, {0x7F, 0xE9}, /* 0xB8-0xBB */ + {0x90, 0x4D}, {0x97, 0xAD}, {0x9A, 0x19}, {0x8C, 0xB6}, /* 0xBC-0xBF */ + {0x57, 0x6A}, {0x5E, 0x73}, {0x67, 0xB0}, {0x84, 0x0D}, /* 0xC0-0xC3 */ + {0x8A, 0x55}, {0x54, 0x20}, {0x5B, 0x16}, {0x5E, 0x63}, /* 0xC4-0xC7 */ + {0x5E, 0xE2}, {0x5F, 0x0A}, {0x65, 0x83}, {0x80, 0xBA}, /* 0xC8-0xCB */ + {0x85, 0x3D}, {0x95, 0x89}, {0x96, 0x5B}, {0x4F, 0x48}, /* 0xCC-0xCF */ + {0x53, 0x05}, {0x53, 0x0D}, {0x53, 0x0F}, {0x54, 0x86}, /* 0xD0-0xD3 */ + {0x54, 0xFA}, {0x57, 0x03}, {0x5E, 0x03}, {0x60, 0x16}, /* 0xD4-0xD7 */ + {0x62, 0x9B}, {0x62, 0xB1}, {0x63, 0x55}, {0xFA, 0x06}, /* 0xD8-0xDB */ + {0x6C, 0xE1}, {0x6D, 0x66}, {0x75, 0xB1}, {0x78, 0x32}, /* 0xDC-0xDF */ + {0x80, 0xDE}, {0x81, 0x2F}, {0x82, 0xDE}, {0x84, 0x61}, /* 0xE0-0xE3 */ + {0x84, 0xB2}, {0x88, 0x8D}, {0x89, 0x12}, {0x90, 0x0B}, /* 0xE4-0xE7 */ + {0x92, 0xEA}, {0x98, 0xFD}, {0x9B, 0x91}, {0x5E, 0x45}, /* 0xE8-0xEB */ + {0x66, 0xB4}, {0x66, 0xDD}, {0x70, 0x11}, {0x72, 0x06}, /* 0xEC-0xEF */ + {0xFA, 0x07}, {0x4F, 0xF5}, {0x52, 0x7D}, {0x5F, 0x6A}, /* 0xF0-0xF3 */ + {0x61, 0x53}, {0x67, 0x53}, {0x6A, 0x19}, {0x6F, 0x02}, /* 0xF4-0xF7 */ + {0x74, 0xE2}, {0x79, 0x68}, {0x88, 0x68}, {0x8C, 0x79}, /* 0xF8-0xFB */ + {0x98, 0xC7}, {0x98, 0xC4}, {0x9A, 0x43}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x54, 0xC1}, {0x7A, 0x1F}, {0x69, 0x53}, /* 0xA0-0xA3 */ + {0x8A, 0xF7}, {0x8C, 0x4A}, {0x98, 0xA8}, {0x99, 0xAE}, /* 0xA4-0xA7 */ + {0x5F, 0x7C}, {0x62, 0xAB}, {0x75, 0xB2}, {0x76, 0xAE}, /* 0xA8-0xAB */ + {0x88, 0xAB}, {0x90, 0x7F}, {0x96, 0x42}, {0x53, 0x39}, /* 0xAC-0xAF */ + {0x5F, 0x3C}, {0x5F, 0xC5}, {0x6C, 0xCC}, {0x73, 0xCC}, /* 0xB0-0xB3 */ + {0x75, 0x62}, {0x75, 0x8B}, {0x7B, 0x46}, {0x82, 0xFE}, /* 0xB4-0xB7 */ + {0x99, 0x9D}, {0x4E, 0x4F}, {0x90, 0x3C}, {0x4E, 0x0B}, /* 0xB8-0xBB */ + {0x4F, 0x55}, {0x53, 0xA6}, {0x59, 0x0F}, {0x5E, 0xC8}, /* 0xBC-0xBF */ + {0x66, 0x30}, {0x6C, 0xB3}, {0x74, 0x55}, {0x83, 0x77}, /* 0xC0-0xC3 */ + {0x87, 0x66}, {0x8C, 0xC0}, {0x90, 0x50}, {0x97, 0x1E}, /* 0xC4-0xC7 */ + {0x9C, 0x15}, {0x58, 0xD1}, {0x5B, 0x78}, {0x86, 0x50}, /* 0xC8-0xCB */ + {0x8B, 0x14}, {0x9D, 0xB4}, {0x5B, 0xD2}, {0x60, 0x68}, /* 0xCC-0xCF */ + {0x60, 0x8D}, {0x65, 0xF1}, {0x6C, 0x57}, {0x6F, 0x22}, /* 0xD0-0xD3 */ + {0x6F, 0xA3}, {0x70, 0x1A}, {0x7F, 0x55}, {0x7F, 0xF0}, /* 0xD4-0xD7 */ + {0x95, 0x91}, {0x95, 0x92}, {0x96, 0x50}, {0x97, 0xD3}, /* 0xD8-0xDB */ + {0x52, 0x72}, {0x8F, 0x44}, {0x51, 0xFD}, {0x54, 0x2B}, /* 0xDC-0xDF */ + {0x54, 0xB8}, {0x55, 0x63}, {0x55, 0x8A}, {0x6A, 0xBB}, /* 0xE0-0xE3 */ + {0x6D, 0xB5}, {0x7D, 0xD8}, {0x82, 0x66}, {0x92, 0x9C}, /* 0xE4-0xE7 */ + {0x96, 0x77}, {0x9E, 0x79}, {0x54, 0x08}, {0x54, 0xC8}, /* 0xE8-0xEB */ + {0x76, 0xD2}, {0x86, 0xE4}, {0x95, 0xA4}, {0x95, 0xD4}, /* 0xEC-0xEF */ + {0x96, 0x5C}, {0x4E, 0xA2}, {0x4F, 0x09}, {0x59, 0xEE}, /* 0xF0-0xF3 */ + {0x5A, 0xE6}, {0x5D, 0xF7}, {0x60, 0x52}, {0x62, 0x97}, /* 0xF4-0xF7 */ + {0x67, 0x6D}, {0x68, 0x41}, {0x6C, 0x86}, {0x6E, 0x2F}, /* 0xF8-0xFB */ + {0x7F, 0x38}, {0x80, 0x9B}, {0x82, 0x2A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xFA, 0x08}, {0xFA, 0x09}, {0x98, 0x05}, /* 0xA0-0xA3 */ + {0x4E, 0xA5}, {0x50, 0x55}, {0x54, 0xB3}, {0x57, 0x93}, /* 0xA4-0xA7 */ + {0x59, 0x5A}, {0x5B, 0x69}, {0x5B, 0xB3}, {0x61, 0xC8}, /* 0xA8-0xAB */ + {0x69, 0x77}, {0x6D, 0x77}, {0x70, 0x23}, {0x87, 0xF9}, /* 0xAC-0xAF */ + {0x89, 0xE3}, {0x8A, 0x72}, {0x8A, 0xE7}, {0x90, 0x82}, /* 0xB0-0xB3 */ + {0x99, 0xED}, {0x9A, 0xB8}, {0x52, 0xBE}, {0x68, 0x38}, /* 0xB4-0xB7 */ + {0x50, 0x16}, {0x5E, 0x78}, {0x67, 0x4F}, {0x83, 0x47}, /* 0xB8-0xBB */ + {0x88, 0x4C}, {0x4E, 0xAB}, {0x54, 0x11}, {0x56, 0xAE}, /* 0xBC-0xBF */ + {0x73, 0xE6}, {0x91, 0x15}, {0x97, 0xFF}, {0x99, 0x09}, /* 0xC0-0xC3 */ + {0x99, 0x57}, {0x99, 0x99}, {0x56, 0x53}, {0x58, 0x9F}, /* 0xC4-0xC7 */ + {0x86, 0x5B}, {0x8A, 0x31}, {0x61, 0xB2}, {0x6A, 0xF6}, /* 0xC8-0xCB */ + {0x73, 0x7B}, {0x8E, 0xD2}, {0x6B, 0x47}, {0x96, 0xAA}, /* 0xCC-0xCF */ + {0x9A, 0x57}, {0x59, 0x55}, {0x72, 0x00}, {0x8D, 0x6B}, /* 0xD0-0xD3 */ + {0x97, 0x69}, {0x4F, 0xD4}, {0x5C, 0xF4}, {0x5F, 0x26}, /* 0xD4-0xD7 */ + {0x61, 0xF8}, {0x66, 0x5B}, {0x6C, 0xEB}, {0x70, 0xAB}, /* 0xD8-0xDB */ + {0x73, 0x84}, {0x73, 0xB9}, {0x73, 0xFE}, {0x77, 0x29}, /* 0xDC-0xDF */ + {0x77, 0x4D}, {0x7D, 0x43}, {0x7D, 0x62}, {0x7E, 0x23}, /* 0xE0-0xE3 */ + {0x82, 0x37}, {0x88, 0x52}, {0xFA, 0x0A}, {0x8C, 0xE2}, /* 0xE4-0xE7 */ + {0x92, 0x49}, {0x98, 0x6F}, {0x5B, 0x51}, {0x7A, 0x74}, /* 0xE8-0xEB */ + {0x88, 0x40}, {0x98, 0x01}, {0x5A, 0xCC}, {0x4F, 0xE0}, /* 0xEC-0xEF */ + {0x53, 0x54}, {0x59, 0x3E}, {0x5C, 0xFD}, {0x63, 0x3E}, /* 0xF0-0xF3 */ + {0x6D, 0x79}, {0x72, 0xF9}, {0x81, 0x05}, {0x81, 0x07}, /* 0xF4-0xF7 */ + {0x83, 0xA2}, {0x92, 0xCF}, {0x98, 0x30}, {0x4E, 0xA8}, /* 0xF8-0xFB */ + {0x51, 0x44}, {0x52, 0x11}, {0x57, 0x8B}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x5F, 0x62}, {0x6C, 0xC2}, {0x6E, 0xCE}, /* 0xA0-0xA3 */ + {0x70, 0x05}, {0x70, 0x50}, {0x70, 0xAF}, {0x71, 0x92}, /* 0xA4-0xA7 */ + {0x73, 0xE9}, {0x74, 0x69}, {0x83, 0x4A}, {0x87, 0xA2}, /* 0xA8-0xAB */ + {0x88, 0x61}, {0x90, 0x08}, {0x90, 0xA2}, {0x93, 0xA3}, /* 0xAC-0xAF */ + {0x99, 0xA8}, {0x51, 0x6E}, {0x5F, 0x57}, {0x60, 0xE0}, /* 0xB0-0xB3 */ + {0x61, 0x67}, {0x66, 0xB3}, {0x85, 0x59}, {0x8E, 0x4A}, /* 0xB4-0xB7 */ + {0x91, 0xAF}, {0x97, 0x8B}, {0x4E, 0x4E}, {0x4E, 0x92}, /* 0xB8-0xBB */ + {0x54, 0x7C}, {0x58, 0xD5}, {0x58, 0xFA}, {0x59, 0x7D}, /* 0xBC-0xBF */ + {0x5C, 0xB5}, {0x5F, 0x27}, {0x62, 0x36}, {0x62, 0x48}, /* 0xC0-0xC3 */ + {0x66, 0x0A}, {0x66, 0x67}, {0x6B, 0xEB}, {0x6D, 0x69}, /* 0xC4-0xC7 */ + {0x6D, 0xCF}, {0x6E, 0x56}, {0x6E, 0xF8}, {0x6F, 0x94}, /* 0xC8-0xCB */ + {0x6F, 0xE0}, {0x6F, 0xE9}, {0x70, 0x5D}, {0x72, 0xD0}, /* 0xCC-0xCF */ + {0x74, 0x25}, {0x74, 0x5A}, {0x74, 0xE0}, {0x76, 0x93}, /* 0xD0-0xD3 */ + {0x79, 0x5C}, {0x7C, 0xCA}, {0x7E, 0x1E}, {0x80, 0xE1}, /* 0xD4-0xD7 */ + {0x82, 0xA6}, {0x84, 0x6B}, {0x84, 0xBF}, {0x86, 0x4E}, /* 0xD8-0xDB */ + {0x86, 0x5F}, {0x87, 0x74}, {0x8B, 0x77}, {0x8C, 0x6A}, /* 0xDC-0xDF */ + {0x93, 0xAC}, {0x98, 0x00}, {0x98, 0x65}, {0x60, 0xD1}, /* 0xE0-0xE3 */ + {0x62, 0x16}, {0x91, 0x77}, {0x5A, 0x5A}, {0x66, 0x0F}, /* 0xE4-0xE7 */ + {0x6D, 0xF7}, {0x6E, 0x3E}, {0x74, 0x3F}, {0x9B, 0x42}, /* 0xE8-0xEB */ + {0x5F, 0xFD}, {0x60, 0xDA}, {0x7B, 0x0F}, {0x54, 0xC4}, /* 0xEC-0xEF */ + {0x5F, 0x18}, {0x6C, 0x5E}, {0x6C, 0xD3}, {0x6D, 0x2A}, /* 0xF0-0xF3 */ + {0x70, 0xD8}, {0x7D, 0x05}, {0x86, 0x79}, {0x8A, 0x0C}, /* 0xF4-0xF7 */ + {0x9D, 0x3B}, {0x53, 0x16}, {0x54, 0x8C}, {0x5B, 0x05}, /* 0xF8-0xFB */ + {0x6A, 0x3A}, {0x70, 0x6B}, {0x75, 0x75}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x79, 0x8D}, {0x79, 0xBE}, {0x82, 0xB1}, /* 0xA0-0xA3 */ + {0x83, 0xEF}, {0x8A, 0x71}, {0x8B, 0x41}, {0x8C, 0xA8}, /* 0xA4-0xA7 */ + {0x97, 0x74}, {0xFA, 0x0B}, {0x64, 0xF4}, {0x65, 0x2B}, /* 0xA8-0xAB */ + {0x78, 0xBA}, {0x78, 0xBB}, {0x7A, 0x6B}, {0x4E, 0x38}, /* 0xAC-0xAF */ + {0x55, 0x9A}, {0x59, 0x50}, {0x5B, 0xA6}, {0x5E, 0x7B}, /* 0xB0-0xB3 */ + {0x60, 0xA3}, {0x63, 0xDB}, {0x6B, 0x61}, {0x66, 0x65}, /* 0xB4-0xB7 */ + {0x68, 0x53}, {0x6E, 0x19}, {0x71, 0x65}, {0x74, 0xB0}, /* 0xB8-0xBB */ + {0x7D, 0x08}, {0x90, 0x84}, {0x9A, 0x69}, {0x9C, 0x25}, /* 0xBC-0xBF */ + {0x6D, 0x3B}, {0x6E, 0xD1}, {0x73, 0x3E}, {0x8C, 0x41}, /* 0xC0-0xC3 */ + {0x95, 0xCA}, {0x51, 0xF0}, {0x5E, 0x4C}, {0x5F, 0xA8}, /* 0xC4-0xC7 */ + {0x60, 0x4D}, {0x60, 0xF6}, {0x61, 0x30}, {0x61, 0x4C}, /* 0xC8-0xCB */ + {0x66, 0x43}, {0x66, 0x44}, {0x69, 0xA5}, {0x6C, 0xC1}, /* 0xCC-0xCF */ + {0x6E, 0x5F}, {0x6E, 0xC9}, {0x6F, 0x62}, {0x71, 0x4C}, /* 0xD0-0xD3 */ + {0x74, 0x9C}, {0x76, 0x87}, {0x7B, 0xC1}, {0x7C, 0x27}, /* 0xD4-0xD7 */ + {0x83, 0x52}, {0x87, 0x57}, {0x90, 0x51}, {0x96, 0x8D}, /* 0xD8-0xDB */ + {0x9E, 0xC3}, {0x53, 0x2F}, {0x56, 0xDE}, {0x5E, 0xFB}, /* 0xDC-0xDF */ + {0x5F, 0x8A}, {0x60, 0x62}, {0x60, 0x94}, {0x61, 0xF7}, /* 0xE0-0xE3 */ + {0x66, 0x66}, {0x67, 0x03}, {0x6A, 0x9C}, {0x6D, 0xEE}, /* 0xE4-0xE7 */ + {0x6F, 0xAE}, {0x70, 0x70}, {0x73, 0x6A}, {0x7E, 0x6A}, /* 0xE8-0xEB */ + {0x81, 0xBE}, {0x83, 0x34}, {0x86, 0xD4}, {0x8A, 0xA8}, /* 0xEC-0xEF */ + {0x8C, 0xC4}, {0x52, 0x83}, {0x73, 0x72}, {0x5B, 0x96}, /* 0xF0-0xF3 */ + {0x6A, 0x6B}, {0x94, 0x04}, {0x54, 0xEE}, {0x56, 0x86}, /* 0xF4-0xF7 */ + {0x5B, 0x5D}, {0x65, 0x48}, {0x65, 0x85}, {0x66, 0xC9}, /* 0xF8-0xFB */ + {0x68, 0x9F}, {0x6D, 0x8D}, {0x6D, 0xC6}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_FD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x40-0x43 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x44-0x47 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x48-0x4B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x4C-0x4F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x50-0x53 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x54-0x57 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x58-0x5B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x5C-0x5F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x60-0x63 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x64-0x67 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x68-0x6B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x6C-0x6F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x70-0x73 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x74-0x77 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x78-0x7B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x72, 0x3B}, {0x80, 0xB4}, {0x91, 0x75}, /* 0xA0-0xA3 */ + {0x9A, 0x4D}, {0x4F, 0xAF}, {0x50, 0x19}, {0x53, 0x9A}, /* 0xA4-0xA7 */ + {0x54, 0x0E}, {0x54, 0x3C}, {0x55, 0x89}, {0x55, 0xC5}, /* 0xA8-0xAB */ + {0x5E, 0x3F}, {0x5F, 0x8C}, {0x67, 0x3D}, {0x71, 0x66}, /* 0xAC-0xAF */ + {0x73, 0xDD}, {0x90, 0x05}, {0x52, 0xDB}, {0x52, 0xF3}, /* 0xB0-0xB3 */ + {0x58, 0x64}, {0x58, 0xCE}, {0x71, 0x04}, {0x71, 0x8F}, /* 0xB4-0xB7 */ + {0x71, 0xFB}, {0x85, 0xB0}, {0x8A, 0x13}, {0x66, 0x88}, /* 0xB8-0xBB */ + {0x85, 0xA8}, {0x55, 0xA7}, {0x66, 0x84}, {0x71, 0x4A}, /* 0xBC-0xBF */ + {0x84, 0x31}, {0x53, 0x49}, {0x55, 0x99}, {0x6B, 0xC1}, /* 0xC0-0xC3 */ + {0x5F, 0x59}, {0x5F, 0xBD}, {0x63, 0xEE}, {0x66, 0x89}, /* 0xC4-0xC7 */ + {0x71, 0x47}, {0x8A, 0xF1}, {0x8F, 0x1D}, {0x9E, 0xBE}, /* 0xC8-0xCB */ + {0x4F, 0x11}, {0x64, 0x3A}, {0x70, 0xCB}, {0x75, 0x66}, /* 0xCC-0xCF */ + {0x86, 0x67}, {0x60, 0x64}, {0x8B, 0x4E}, {0x9D, 0xF8}, /* 0xD0-0xD3 */ + {0x51, 0x47}, {0x51, 0xF6}, {0x53, 0x08}, {0x6D, 0x36}, /* 0xD4-0xD7 */ + {0x80, 0xF8}, {0x9E, 0xD1}, {0x66, 0x15}, {0x6B, 0x23}, /* 0xD8-0xDB */ + {0x70, 0x98}, {0x75, 0xD5}, {0x54, 0x03}, {0x5C, 0x79}, /* 0xDC-0xDF */ + {0x7D, 0x07}, {0x8A, 0x16}, {0x6B, 0x20}, {0x6B, 0x3D}, /* 0xE0-0xE3 */ + {0x6B, 0x46}, {0x54, 0x38}, {0x60, 0x70}, {0x6D, 0x3D}, /* 0xE4-0xE7 */ + {0x7F, 0xD5}, {0x82, 0x08}, {0x50, 0xD6}, {0x51, 0xDE}, /* 0xE8-0xEB */ + {0x55, 0x9C}, {0x56, 0x6B}, {0x56, 0xCD}, {0x59, 0xEC}, /* 0xEC-0xEF */ + {0x5B, 0x09}, {0x5E, 0x0C}, {0x61, 0x99}, {0x61, 0x98}, /* 0xF0-0xF3 */ + {0x62, 0x31}, {0x66, 0x5E}, {0x66, 0xE6}, {0x71, 0x99}, /* 0xF4-0xF7 */ + {0x71, 0xB9}, {0x71, 0xBA}, {0x72, 0xA7}, {0x79, 0xA7}, /* 0xF8-0xFB */ + {0x7A, 0x00}, {0x7F, 0xB2}, {0x8A, 0x70}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode *page_charset2uni[256] = { + 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, c2u_81, c2u_82, c2u_83, c2u_84, c2u_85, c2u_86, c2u_87, + c2u_88, c2u_89, c2u_8A, c2u_8B, c2u_8C, c2u_8D, c2u_8E, c2u_8F, + c2u_90, c2u_91, c2u_92, c2u_93, c2u_94, c2u_95, c2u_96, c2u_97, + c2u_98, c2u_99, c2u_9A, c2u_9B, c2u_9C, c2u_9D, c2u_9E, c2u_9F, + c2u_A0, c2u_A1, c2u_A2, c2u_A3, c2u_A4, c2u_A5, c2u_A6, c2u_A7, + c2u_A8, c2u_A9, c2u_AA, c2u_AB, c2u_AC, c2u_AD, c2u_AE, c2u_AF, + c2u_B0, c2u_B1, c2u_B2, c2u_B3, c2u_B4, c2u_B5, c2u_B6, c2u_B7, + c2u_B8, c2u_B9, c2u_BA, c2u_BB, c2u_BC, c2u_BD, c2u_BE, c2u_BF, + c2u_C0, c2u_C1, c2u_C2, c2u_C3, c2u_C4, c2u_C5, c2u_C6, c2u_C7, + c2u_C8, NULL, c2u_CA, c2u_CB, c2u_CC, c2u_CD, c2u_CE, c2u_CF, + c2u_D0, c2u_D1, c2u_D2, c2u_D3, c2u_D4, c2u_D5, c2u_D6, c2u_D7, + c2u_D8, c2u_D9, c2u_DA, c2u_DB, c2u_DC, c2u_DD, c2u_DE, c2u_DF, + c2u_E0, c2u_E1, c2u_E2, c2u_E3, c2u_E4, c2u_E5, c2u_E6, c2u_E7, + c2u_E8, c2u_E9, c2u_EA, c2u_EB, c2u_EC, c2u_ED, c2u_EE, c2u_EF, + c2u_F0, c2u_F1, c2u_F2, c2u_F3, c2u_F4, c2u_F5, c2u_F6, c2u_F7, + c2u_F8, c2u_F9, c2u_FA, c2u_FB, c2u_FC, c2u_FD, NULL, NULL, +}; + +static unsigned char u2c_01[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xA9, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xA4, 0xA9, 0xA4, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xA9, 0xA5, 0xA8, 0xA6, 0xA9, 0xA6, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xA9, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xA8, /* 0x3C-0x3F */ + 0xA9, 0xA8, 0xA8, 0xA9, 0xA9, 0xA9, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xA9, 0xB0, 0xA8, 0xAF, 0xA9, 0xAF, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xAB, 0xA9, 0xAB, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xAE, 0xA9, 0xAE, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_02[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0xA7, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xA2, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xA2, 0xA8, 0xA2, 0xAB, 0xA2, 0xAA, 0xA2, 0xAD, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xA2, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_03[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xA5, 0xC1, 0xA5, 0xC2, 0xA5, 0xC3, /* 0x90-0x93 */ + 0xA5, 0xC4, 0xA5, 0xC5, 0xA5, 0xC6, 0xA5, 0xC7, /* 0x94-0x97 */ + 0xA5, 0xC8, 0xA5, 0xC9, 0xA5, 0xCA, 0xA5, 0xCB, /* 0x98-0x9B */ + 0xA5, 0xCC, 0xA5, 0xCD, 0xA5, 0xCE, 0xA5, 0xCF, /* 0x9C-0x9F */ + 0xA5, 0xD0, 0xA5, 0xD1, 0x3F, 0x3F, 0xA5, 0xD2, /* 0xA0-0xA3 */ + 0xA5, 0xD3, 0xA5, 0xD4, 0xA5, 0xD5, 0xA5, 0xD6, /* 0xA4-0xA7 */ + 0xA5, 0xD7, 0xA5, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xA5, 0xE1, 0xA5, 0xE2, 0xA5, 0xE3, /* 0xB0-0xB3 */ + 0xA5, 0xE4, 0xA5, 0xE5, 0xA5, 0xE6, 0xA5, 0xE7, /* 0xB4-0xB7 */ + 0xA5, 0xE8, 0xA5, 0xE9, 0xA5, 0xEA, 0xA5, 0xEB, /* 0xB8-0xBB */ + 0xA5, 0xEC, 0xA5, 0xED, 0xA5, 0xEE, 0xA5, 0xEF, /* 0xBC-0xBF */ + 0xA5, 0xF0, 0xA5, 0xF1, 0x3F, 0x3F, 0xA5, 0xF2, /* 0xC0-0xC3 */ + 0xA5, 0xF3, 0xA5, 0xF4, 0xA5, 0xF5, 0xA5, 0xF6, /* 0xC4-0xC7 */ + 0xA5, 0xF7, 0xA5, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_04[512] = { + 0x3F, 0x3F, 0xAC, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xAC, 0xA1, 0xAC, 0xA2, 0xAC, 0xA3, 0xAC, 0xA4, /* 0x10-0x13 */ + 0xAC, 0xA5, 0xAC, 0xA6, 0xAC, 0xA8, 0xAC, 0xA9, /* 0x14-0x17 */ + 0xAC, 0xAA, 0xAC, 0xAB, 0xAC, 0xAC, 0xAC, 0xAD, /* 0x18-0x1B */ + 0xAC, 0xAE, 0xAC, 0xAF, 0xAC, 0xB0, 0xAC, 0xB1, /* 0x1C-0x1F */ + 0xAC, 0xB2, 0xAC, 0xB3, 0xAC, 0xB4, 0xAC, 0xB5, /* 0x20-0x23 */ + 0xAC, 0xB6, 0xAC, 0xB7, 0xAC, 0xB8, 0xAC, 0xB9, /* 0x24-0x27 */ + 0xAC, 0xBA, 0xAC, 0xBB, 0xAC, 0xBC, 0xAC, 0xBD, /* 0x28-0x2B */ + 0xAC, 0xBE, 0xAC, 0xBF, 0xAC, 0xC0, 0xAC, 0xC1, /* 0x2C-0x2F */ + 0xAC, 0xD1, 0xAC, 0xD2, 0xAC, 0xD3, 0xAC, 0xD4, /* 0x30-0x33 */ + 0xAC, 0xD5, 0xAC, 0xD6, 0xAC, 0xD8, 0xAC, 0xD9, /* 0x34-0x37 */ + 0xAC, 0xDA, 0xAC, 0xDB, 0xAC, 0xDC, 0xAC, 0xDD, /* 0x38-0x3B */ + 0xAC, 0xDE, 0xAC, 0xDF, 0xAC, 0xE0, 0xAC, 0xE1, /* 0x3C-0x3F */ + 0xAC, 0xE2, 0xAC, 0xE3, 0xAC, 0xE4, 0xAC, 0xE5, /* 0x40-0x43 */ + 0xAC, 0xE6, 0xAC, 0xE7, 0xAC, 0xE8, 0xAC, 0xE9, /* 0x44-0x47 */ + 0xAC, 0xEA, 0xAC, 0xEB, 0xAC, 0xEC, 0xAC, 0xED, /* 0x48-0x4B */ + 0xAC, 0xEE, 0xAC, 0xEF, 0xAC, 0xF0, 0xAC, 0xF1, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xAC, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_20[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xA1, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xA1, 0xAE, 0xA1, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xA1, 0xB0, 0xA1, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xA2, 0xD3, 0xA2, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xA1, 0xA5, 0xA1, 0xA6, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xA2, 0xB6, 0x3F, 0x3F, 0xA1, 0xC7, 0xA1, 0xC8, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xD8, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xA9, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0xFA, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xA9, 0xFB, 0xA9, 0xFC, 0xA9, 0xFD, /* 0x80-0x83 */ + 0xA9, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_21[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xC9, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xA2, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xA4, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0xE0, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xA2, 0xE5, 0xA2, 0xE2, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xD9, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xCA, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xF7, /* 0x50-0x53 */ + 0xA8, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xFB, /* 0x58-0x5B */ + 0xA8, 0xFC, 0xA8, 0xFD, 0xA8, 0xFE, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA5, 0xB0, 0xA5, 0xB1, 0xA5, 0xB2, 0xA5, 0xB3, /* 0x60-0x63 */ + 0xA5, 0xB4, 0xA5, 0xB5, 0xA5, 0xB6, 0xA5, 0xB7, /* 0x64-0x67 */ + 0xA5, 0xB8, 0xA5, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xA5, 0xA1, 0xA5, 0xA2, 0xA5, 0xA3, 0xA5, 0xA4, /* 0x70-0x73 */ + 0xA5, 0xA5, 0xA5, 0xA6, 0xA5, 0xA7, 0xA5, 0xA8, /* 0x74-0x77 */ + 0xA5, 0xA9, 0xA5, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xA1, 0xE7, 0xA1, 0xE8, 0xA1, 0xE6, 0xA1, 0xE9, /* 0x90-0x93 */ + 0xA1, 0xEA, 0xA2, 0xD5, 0xA2, 0xD8, 0xA2, 0xD6, /* 0x94-0x97 */ + 0xA2, 0xD9, 0xA2, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0xA1, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xA2, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_22[512] = { + 0xA2, 0xA3, 0x3F, 0x3F, 0xA1, 0xD3, 0xA2, 0xA4, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xD4, /* 0x04-0x07 */ + 0xA1, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xF5, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0xB3, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xA2, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xEE, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xA1, 0xF0, 0xA1, 0xC4, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xA1, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xA1, 0xAB, 0x3F, 0x3F, 0xA1, 0xFC, /* 0x24-0x27 */ + 0xA1, 0xFD, 0xA1, 0xFB, 0xA1, 0xFA, 0xA1, 0xF2, /* 0x28-0x2B */ + 0xA1, 0xF3, 0x3F, 0x3F, 0xA2, 0xB1, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xA1, 0xC5, 0xA1, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xA1, 0xAD, 0xA1, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xD6, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA1, 0xC1, 0xA1, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xA1, 0xC2, 0xA1, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xEC, 0xA1, 0xED, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xF8, 0xA1, 0xF9, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xF6, 0xA1, 0xF7, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xA2, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xA1, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_23[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xD2, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_24[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA8, 0xE7, 0xA8, 0xE8, 0xA8, 0xE9, 0xA8, 0xEA, /* 0x60-0x63 */ + 0xA8, 0xEB, 0xA8, 0xEC, 0xA8, 0xED, 0xA8, 0xEE, /* 0x64-0x67 */ + 0xA8, 0xEF, 0xA8, 0xF0, 0xA8, 0xF1, 0xA8, 0xF2, /* 0x68-0x6B */ + 0xA8, 0xF3, 0xA8, 0xF4, 0xA8, 0xF5, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xA9, 0xE7, 0xA9, 0xE8, 0xA9, 0xE9, 0xA9, 0xEA, /* 0x74-0x77 */ + 0xA9, 0xEB, 0xA9, 0xEC, 0xA9, 0xED, 0xA9, 0xEE, /* 0x78-0x7B */ + 0xA9, 0xEF, 0xA9, 0xF0, 0xA9, 0xF1, 0xA9, 0xF2, /* 0x7C-0x7F */ + + 0xA9, 0xF3, 0xA9, 0xF4, 0xA9, 0xF5, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xA9, 0xCD, 0xA9, 0xCE, 0xA9, 0xCF, 0xA9, 0xD0, /* 0x9C-0x9F */ + 0xA9, 0xD1, 0xA9, 0xD2, 0xA9, 0xD3, 0xA9, 0xD4, /* 0xA0-0xA3 */ + 0xA9, 0xD5, 0xA9, 0xD6, 0xA9, 0xD7, 0xA9, 0xD8, /* 0xA4-0xA7 */ + 0xA9, 0xD9, 0xA9, 0xDA, 0xA9, 0xDB, 0xA9, 0xDC, /* 0xA8-0xAB */ + 0xA9, 0xDD, 0xA9, 0xDE, 0xA9, 0xDF, 0xA9, 0xE0, /* 0xAC-0xAF */ + 0xA9, 0xE1, 0xA9, 0xE2, 0xA9, 0xE3, 0xA9, 0xE4, /* 0xB0-0xB3 */ + 0xA9, 0xE5, 0xA9, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xA8, 0xCD, 0xA8, 0xCE, 0xA8, 0xCF, 0xA8, 0xD0, /* 0xD0-0xD3 */ + 0xA8, 0xD1, 0xA8, 0xD2, 0xA8, 0xD3, 0xA8, 0xD4, /* 0xD4-0xD7 */ + 0xA8, 0xD5, 0xA8, 0xD6, 0xA8, 0xD7, 0xA8, 0xD8, /* 0xD8-0xDB */ + 0xA8, 0xD9, 0xA8, 0xDA, 0xA8, 0xDB, 0xA8, 0xDC, /* 0xDC-0xDF */ + 0xA8, 0xDD, 0xA8, 0xDE, 0xA8, 0xDF, 0xA8, 0xE0, /* 0xE0-0xE3 */ + 0xA8, 0xE1, 0xA8, 0xE2, 0xA8, 0xE3, 0xA8, 0xE4, /* 0xE4-0xE7 */ + 0xA8, 0xE5, 0xA8, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_25[512] = { + 0xA6, 0xA1, 0xA6, 0xAC, 0xA6, 0xA2, 0xA6, 0xAD, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xA6, 0xA3, 0xA6, 0xC8, 0xA6, 0xC7, 0xA6, 0xAE, /* 0x0C-0x0F */ + 0xA6, 0xA4, 0xA6, 0xC2, 0xA6, 0xC1, 0xA6, 0xAF, /* 0x10-0x13 */ + 0xA6, 0xA6, 0xA6, 0xC6, 0xA6, 0xC5, 0xA6, 0xB1, /* 0x14-0x17 */ + 0xA6, 0xA5, 0xA6, 0xC4, 0xA6, 0xC3, 0xA6, 0xB0, /* 0x18-0x1B */ + 0xA6, 0xA7, 0xA6, 0xBC, 0xA6, 0xC9, 0xA6, 0xCA, /* 0x1C-0x1F */ + 0xA6, 0xB7, 0xA6, 0xCB, 0xA6, 0xCC, 0xA6, 0xB2, /* 0x20-0x23 */ + 0xA6, 0xA9, 0xA6, 0xBE, 0xA6, 0xCD, 0xA6, 0xCE, /* 0x24-0x27 */ + 0xA6, 0xB9, 0xA6, 0xCF, 0xA6, 0xD0, 0xA6, 0xB4, /* 0x28-0x2B */ + 0xA6, 0xA8, 0xA6, 0xD1, 0xA6, 0xD2, 0xA6, 0xB8, /* 0x2C-0x2F */ + 0xA6, 0xBD, 0xA6, 0xD3, 0xA6, 0xD4, 0xA6, 0xB3, /* 0x30-0x33 */ + 0xA6, 0xAA, 0xA6, 0xD5, 0xA6, 0xD6, 0xA6, 0xBA, /* 0x34-0x37 */ + 0xA6, 0xBF, 0xA6, 0xD7, 0xA6, 0xD8, 0xA6, 0xB5, /* 0x38-0x3B */ + 0xA6, 0xAB, 0xA6, 0xD9, 0xA6, 0xDA, 0xA6, 0xBB, /* 0x3C-0x3F */ + 0xA6, 0xDB, 0xA6, 0xDC, 0xA6, 0xC0, 0xA6, 0xDD, /* 0x40-0x43 */ + 0xA6, 0xDE, 0xA6, 0xDF, 0xA6, 0xE0, 0xA6, 0xE1, /* 0x44-0x47 */ + 0xA6, 0xE2, 0xA6, 0xE3, 0xA6, 0xE4, 0xA6, 0xB6, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0xC6, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xA1, 0xE1, 0xA1, 0xE0, 0x3F, 0x3F, 0xA2, 0xC3, /* 0xA0-0xA3 */ + 0xA2, 0xC7, 0xA2, 0xC8, 0xA2, 0xCB, 0xA2, 0xCA, /* 0xA4-0xA7 */ + 0xA2, 0xC9, 0xA2, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xE3, 0xA1, 0xE2, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0xBA, 0xA2, 0xB9, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xA1, 0xE5, 0xA1, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xA2, 0xB8, 0xA2, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xDF, 0xA1, 0xDE, /* 0xC4-0xC7 */ + 0xA2, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xDB, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xDD, 0xA1, 0xDC, /* 0xCC-0xCF */ + 0xA2, 0xC4, 0xA2, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_26[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xA1, 0xDA, 0xA1, 0xD9, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0xCF, 0xA2, 0xCE, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xA2, 0xD0, 0x3F, 0x3F, 0xA2, 0xD1, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xA1, 0xCF, 0x3F, 0x3F, 0xA1, 0xCE, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA2, 0xBC, 0xA2, 0xBD, 0x3F, 0x3F, 0xA2, 0xC0, /* 0x60-0x63 */ + 0xA2, 0xBB, 0xA2, 0xBE, 0x3F, 0x3F, 0xA2, 0xBF, /* 0x64-0x67 */ + 0xA2, 0xCD, 0xA2, 0xDB, 0xA2, 0xDC, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xA2, 0xDD, 0xA2, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_30[512] = { + 0xA1, 0xA1, 0xA1, 0xA2, 0xA1, 0xA3, 0xA1, 0xA8, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xA1, 0xB4, 0xA1, 0xB5, 0xA1, 0xB6, 0xA1, 0xB7, /* 0x08-0x0B */ + 0xA1, 0xB8, 0xA1, 0xB9, 0xA1, 0xBA, 0xA1, 0xBB, /* 0x0C-0x0F */ + 0xA1, 0xBC, 0xA1, 0xBD, 0x3F, 0x3F, 0xA1, 0xEB, /* 0x10-0x13 */ + 0xA1, 0xB2, 0xA1, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xAA, 0xA1, 0xAA, 0xA2, 0xAA, 0xA3, /* 0x40-0x43 */ + 0xAA, 0xA4, 0xAA, 0xA5, 0xAA, 0xA6, 0xAA, 0xA7, /* 0x44-0x47 */ + 0xAA, 0xA8, 0xAA, 0xA9, 0xAA, 0xAA, 0xAA, 0xAB, /* 0x48-0x4B */ + 0xAA, 0xAC, 0xAA, 0xAD, 0xAA, 0xAE, 0xAA, 0xAF, /* 0x4C-0x4F */ + 0xAA, 0xB0, 0xAA, 0xB1, 0xAA, 0xB2, 0xAA, 0xB3, /* 0x50-0x53 */ + 0xAA, 0xB4, 0xAA, 0xB5, 0xAA, 0xB6, 0xAA, 0xB7, /* 0x54-0x57 */ + 0xAA, 0xB8, 0xAA, 0xB9, 0xAA, 0xBA, 0xAA, 0xBB, /* 0x58-0x5B */ + 0xAA, 0xBC, 0xAA, 0xBD, 0xAA, 0xBE, 0xAA, 0xBF, /* 0x5C-0x5F */ + 0xAA, 0xC0, 0xAA, 0xC1, 0xAA, 0xC2, 0xAA, 0xC3, /* 0x60-0x63 */ + 0xAA, 0xC4, 0xAA, 0xC5, 0xAA, 0xC6, 0xAA, 0xC7, /* 0x64-0x67 */ + 0xAA, 0xC8, 0xAA, 0xC9, 0xAA, 0xCA, 0xAA, 0xCB, /* 0x68-0x6B */ + 0xAA, 0xCC, 0xAA, 0xCD, 0xAA, 0xCE, 0xAA, 0xCF, /* 0x6C-0x6F */ + 0xAA, 0xD0, 0xAA, 0xD1, 0xAA, 0xD2, 0xAA, 0xD3, /* 0x70-0x73 */ + 0xAA, 0xD4, 0xAA, 0xD5, 0xAA, 0xD6, 0xAA, 0xD7, /* 0x74-0x77 */ + 0xAA, 0xD8, 0xAA, 0xD9, 0xAA, 0xDA, 0xAA, 0xDB, /* 0x78-0x7B */ + 0xAA, 0xDC, 0xAA, 0xDD, 0xAA, 0xDE, 0xAA, 0xDF, /* 0x7C-0x7F */ + + 0xAA, 0xE0, 0xAA, 0xE1, 0xAA, 0xE2, 0xAA, 0xE3, /* 0x80-0x83 */ + 0xAA, 0xE4, 0xAA, 0xE5, 0xAA, 0xE6, 0xAA, 0xE7, /* 0x84-0x87 */ + 0xAA, 0xE8, 0xAA, 0xE9, 0xAA, 0xEA, 0xAA, 0xEB, /* 0x88-0x8B */ + 0xAA, 0xEC, 0xAA, 0xED, 0xAA, 0xEE, 0xAA, 0xEF, /* 0x8C-0x8F */ + 0xAA, 0xF0, 0xAA, 0xF1, 0xAA, 0xF2, 0xAA, 0xF3, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xAB, 0xA1, 0xAB, 0xA2, 0xAB, 0xA3, /* 0xA0-0xA3 */ + 0xAB, 0xA4, 0xAB, 0xA5, 0xAB, 0xA6, 0xAB, 0xA7, /* 0xA4-0xA7 */ + 0xAB, 0xA8, 0xAB, 0xA9, 0xAB, 0xAA, 0xAB, 0xAB, /* 0xA8-0xAB */ + 0xAB, 0xAC, 0xAB, 0xAD, 0xAB, 0xAE, 0xAB, 0xAF, /* 0xAC-0xAF */ + 0xAB, 0xB0, 0xAB, 0xB1, 0xAB, 0xB2, 0xAB, 0xB3, /* 0xB0-0xB3 */ + 0xAB, 0xB4, 0xAB, 0xB5, 0xAB, 0xB6, 0xAB, 0xB7, /* 0xB4-0xB7 */ + 0xAB, 0xB8, 0xAB, 0xB9, 0xAB, 0xBA, 0xAB, 0xBB, /* 0xB8-0xBB */ + 0xAB, 0xBC, 0xAB, 0xBD, 0xAB, 0xBE, 0xAB, 0xBF, /* 0xBC-0xBF */ + 0xAB, 0xC0, 0xAB, 0xC1, 0xAB, 0xC2, 0xAB, 0xC3, /* 0xC0-0xC3 */ + 0xAB, 0xC4, 0xAB, 0xC5, 0xAB, 0xC6, 0xAB, 0xC7, /* 0xC4-0xC7 */ + 0xAB, 0xC8, 0xAB, 0xC9, 0xAB, 0xCA, 0xAB, 0xCB, /* 0xC8-0xCB */ + 0xAB, 0xCC, 0xAB, 0xCD, 0xAB, 0xCE, 0xAB, 0xCF, /* 0xCC-0xCF */ + 0xAB, 0xD0, 0xAB, 0xD1, 0xAB, 0xD2, 0xAB, 0xD3, /* 0xD0-0xD3 */ + 0xAB, 0xD4, 0xAB, 0xD5, 0xAB, 0xD6, 0xAB, 0xD7, /* 0xD4-0xD7 */ + 0xAB, 0xD8, 0xAB, 0xD9, 0xAB, 0xDA, 0xAB, 0xDB, /* 0xD8-0xDB */ + 0xAB, 0xDC, 0xAB, 0xDD, 0xAB, 0xDE, 0xAB, 0xDF, /* 0xDC-0xDF */ + 0xAB, 0xE0, 0xAB, 0xE1, 0xAB, 0xE2, 0xAB, 0xE3, /* 0xE0-0xE3 */ + 0xAB, 0xE4, 0xAB, 0xE5, 0xAB, 0xE6, 0xAB, 0xE7, /* 0xE4-0xE7 */ + 0xAB, 0xE8, 0xAB, 0xE9, 0xAB, 0xEA, 0xAB, 0xEB, /* 0xE8-0xEB */ + 0xAB, 0xEC, 0xAB, 0xED, 0xAB, 0xEE, 0xAB, 0xEF, /* 0xEC-0xEF */ + 0xAB, 0xF0, 0xAB, 0xF1, 0xAB, 0xF2, 0xAB, 0xF3, /* 0xF0-0xF3 */ + 0xAB, 0xF4, 0xAB, 0xF5, 0xAB, 0xF6, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_31[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xA4, 0xA1, 0xA4, 0xA2, 0xA4, 0xA3, /* 0x30-0x33 */ + 0xA4, 0xA4, 0xA4, 0xA5, 0xA4, 0xA6, 0xA4, 0xA7, /* 0x34-0x37 */ + 0xA4, 0xA8, 0xA4, 0xA9, 0xA4, 0xAA, 0xA4, 0xAB, /* 0x38-0x3B */ + 0xA4, 0xAC, 0xA4, 0xAD, 0xA4, 0xAE, 0xA4, 0xAF, /* 0x3C-0x3F */ + 0xA4, 0xB0, 0xA4, 0xB1, 0xA4, 0xB2, 0xA4, 0xB3, /* 0x40-0x43 */ + 0xA4, 0xB4, 0xA4, 0xB5, 0xA4, 0xB6, 0xA4, 0xB7, /* 0x44-0x47 */ + 0xA4, 0xB8, 0xA4, 0xB9, 0xA4, 0xBA, 0xA4, 0xBB, /* 0x48-0x4B */ + 0xA4, 0xBC, 0xA4, 0xBD, 0xA4, 0xBE, 0xA4, 0xBF, /* 0x4C-0x4F */ + 0xA4, 0xC0, 0xA4, 0xC1, 0xA4, 0xC2, 0xA4, 0xC3, /* 0x50-0x53 */ + 0xA4, 0xC4, 0xA4, 0xC5, 0xA4, 0xC6, 0xA4, 0xC7, /* 0x54-0x57 */ + 0xA4, 0xC8, 0xA4, 0xC9, 0xA4, 0xCA, 0xA4, 0xCB, /* 0x58-0x5B */ + 0xA4, 0xCC, 0xA4, 0xCD, 0xA4, 0xCE, 0xA4, 0xCF, /* 0x5C-0x5F */ + 0xA4, 0xD0, 0xA4, 0xD1, 0xA4, 0xD2, 0xA4, 0xD3, /* 0x60-0x63 */ + 0xA4, 0xD4, 0xA4, 0xD5, 0xA4, 0xD6, 0xA4, 0xD7, /* 0x64-0x67 */ + 0xA4, 0xD8, 0xA4, 0xD9, 0xA4, 0xDA, 0xA4, 0xDB, /* 0x68-0x6B */ + 0xA4, 0xDC, 0xA4, 0xDD, 0xA4, 0xDE, 0xA4, 0xDF, /* 0x6C-0x6F */ + 0xA4, 0xE0, 0xA4, 0xE1, 0xA4, 0xE2, 0xA4, 0xE3, /* 0x70-0x73 */ + 0xA4, 0xE4, 0xA4, 0xE5, 0xA4, 0xE6, 0xA4, 0xE7, /* 0x74-0x77 */ + 0xA4, 0xE8, 0xA4, 0xE9, 0xA4, 0xEA, 0xA4, 0xEB, /* 0x78-0x7B */ + 0xA4, 0xEC, 0xA4, 0xED, 0xA4, 0xEE, 0xA4, 0xEF, /* 0x7C-0x7F */ + + 0xA4, 0xF0, 0xA4, 0xF1, 0xA4, 0xF2, 0xA4, 0xF3, /* 0x80-0x83 */ + 0xA4, 0xF4, 0xA4, 0xF5, 0xA4, 0xF6, 0xA4, 0xF7, /* 0x84-0x87 */ + 0xA4, 0xF8, 0xA4, 0xF9, 0xA4, 0xFA, 0xA4, 0xFB, /* 0x88-0x8B */ + 0xA4, 0xFC, 0xA4, 0xFD, 0xA4, 0xFE, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_32[512] = { + 0xA9, 0xB1, 0xA9, 0xB2, 0xA9, 0xB3, 0xA9, 0xB4, /* 0x00-0x03 */ + 0xA9, 0xB5, 0xA9, 0xB6, 0xA9, 0xB7, 0xA9, 0xB8, /* 0x04-0x07 */ + 0xA9, 0xB9, 0xA9, 0xBA, 0xA9, 0xBB, 0xA9, 0xBC, /* 0x08-0x0B */ + 0xA9, 0xBD, 0xA9, 0xBE, 0xA9, 0xBF, 0xA9, 0xC0, /* 0x0C-0x0F */ + 0xA9, 0xC1, 0xA9, 0xC2, 0xA9, 0xC3, 0xA9, 0xC4, /* 0x10-0x13 */ + 0xA9, 0xC5, 0xA9, 0xC6, 0xA9, 0xC7, 0xA9, 0xC8, /* 0x14-0x17 */ + 0xA9, 0xC9, 0xA9, 0xCA, 0xA9, 0xCB, 0xA9, 0xCC, /* 0x18-0x1B */ + 0xA2, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA8, 0xB1, 0xA8, 0xB2, 0xA8, 0xB3, 0xA8, 0xB4, /* 0x60-0x63 */ + 0xA8, 0xB5, 0xA8, 0xB6, 0xA8, 0xB7, 0xA8, 0xB8, /* 0x64-0x67 */ + 0xA8, 0xB9, 0xA8, 0xBA, 0xA8, 0xBB, 0xA8, 0xBC, /* 0x68-0x6B */ + 0xA8, 0xBD, 0xA8, 0xBE, 0xA8, 0xBF, 0xA8, 0xC0, /* 0x6C-0x6F */ + 0xA8, 0xC1, 0xA8, 0xC2, 0xA8, 0xC3, 0xA8, 0xC4, /* 0x70-0x73 */ + 0xA8, 0xC5, 0xA8, 0xC6, 0xA8, 0xC7, 0xA8, 0xC8, /* 0x74-0x77 */ + 0xA8, 0xC9, 0xA8, 0xCA, 0xA8, 0xCB, 0xA8, 0xCC, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0xDE, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_33[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xA7, 0xC9, 0xA7, 0xCA, 0xA7, 0xCB, 0xA7, 0xCC, /* 0x80-0x83 */ + 0xA7, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xA7, 0xBA, 0xA7, 0xBB, 0xA7, 0xDC, 0xA7, 0xDD, /* 0x88-0x8B */ + 0xA7, 0xDE, 0xA7, 0xB6, 0xA7, 0xB7, 0xA7, 0xB8, /* 0x8C-0x8F */ + 0xA7, 0xD4, 0xA7, 0xD5, 0xA7, 0xD6, 0xA7, 0xD7, /* 0x90-0x93 */ + 0xA7, 0xD8, 0xA7, 0xA1, 0xA7, 0xA2, 0xA7, 0xA3, /* 0x94-0x97 */ + 0xA7, 0xA5, 0xA7, 0xAB, 0xA7, 0xAC, 0xA7, 0xAD, /* 0x98-0x9B */ + 0xA7, 0xAE, 0xA7, 0xAF, 0xA7, 0xB0, 0xA7, 0xB1, /* 0x9C-0x9F */ + 0xA7, 0xB2, 0xA7, 0xB3, 0xA7, 0xB4, 0xA7, 0xA7, /* 0xA0-0xA3 */ + 0xA7, 0xA8, 0xA7, 0xA9, 0xA7, 0xAA, 0xA7, 0xBD, /* 0xA4-0xA7 */ + 0xA7, 0xBE, 0xA7, 0xE5, 0xA7, 0xE6, 0xA7, 0xE7, /* 0xA8-0xAB */ + 0xA7, 0xE8, 0xA7, 0xE1, 0xA7, 0xE2, 0xA7, 0xE3, /* 0xAC-0xAF */ + 0xA7, 0xBF, 0xA7, 0xC0, 0xA7, 0xC1, 0xA7, 0xC2, /* 0xB0-0xB3 */ + 0xA7, 0xC3, 0xA7, 0xC4, 0xA7, 0xC5, 0xA7, 0xC6, /* 0xB4-0xB7 */ + 0xA7, 0xC7, 0xA7, 0xC8, 0xA7, 0xCE, 0xA7, 0xCF, /* 0xB8-0xBB */ + 0xA7, 0xD0, 0xA7, 0xD1, 0xA7, 0xD2, 0xA7, 0xD3, /* 0xBC-0xBF */ + 0xA7, 0xDA, 0xA7, 0xDB, 0xA2, 0xE3, 0xA7, 0xEC, /* 0xC0-0xC3 */ + 0xA7, 0xA6, 0xA7, 0xE0, 0xA7, 0xEF, 0xA2, 0xE1, /* 0xC4-0xC7 */ + 0xA7, 0xBC, 0xA7, 0xED, 0xA7, 0xB5, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xB9, /* 0xCC-0xCF */ + 0xA7, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xEB, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xDF, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xA2, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xE4, /* 0xD8-0xDB */ + 0xA7, 0xEE, 0xA7, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_4E[512] = { + 0xEC, 0xE9, 0xEF, 0xCB, 0x3F, 0x3F, 0xF6, 0xD2, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xB2, /* 0x04-0x07 */ + 0xED, 0xDB, 0xDF, 0xB2, 0xDF, 0xBE, 0xF9, 0xBB, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xDC, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xF5, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xF3, 0xA6, 0xDD, 0xE0, 0xE1, 0xA6, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xCE, 0xF8, 0xDC, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xAA, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xF1, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xFA, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xFC, 0xAF, 0xD3, 0xA1, 0x3F, 0x3F, 0xF1, 0xAB, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xD1, 0xD2, 0xAC, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xCE, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xFD, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xDE, 0xBF, 0xFB, 0xBA, 0xF9, 0xB9, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xD2, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xE3, 0xAB, 0xEB, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xCE, 0xFA, 0xCB, 0xF7, 0xE5, 0xA5, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xE1, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xD4, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xE1, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xE3, 0xDF, 0xAD, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xEB, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xAF, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xF5, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xE5, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xC0, /* 0x88-0x8B */ + 0xEC, 0xA3, 0x3F, 0x3F, 0xE9, 0xCD, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xEA, 0xA7, 0xE9, 0xF6, 0xFB, 0xBB, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xE7, 0xE9, 0xEF, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xD0, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xC1, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xAC, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xD8, 0xCC, 0xF9, 0xF1, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xCE, 0xDF, 0xFA, 0xA4, 0xE6, 0xB2, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xFA, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xBD, /* 0xA8-0xAB */ + 0xCC, 0xC8, 0xEF, 0xCD, 0xD5, 0xD5, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xA2, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xD1, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xE4, 0xA7, 0xEC, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xF6, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xFB, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xD1, 0xCB, 0xBF, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xED, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xED, 0xA8, 0xDE, 0xC2, 0xF6, 0xE2, 0xED, 0xDC, /* 0xD4-0xD7 */ + 0xDC, 0xF5, 0xE0, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xD4, 0xCE, 0x3F, 0x3F, 0xF4, 0xB5, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xDB, /* 0xE0-0xE3 */ + 0xD6, 0xB5, 0xEC, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xE4, 0xE6, 0x3F, 0x3F, 0xF1, 0xEA, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xEC, 0xCB, 0xC0, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xF2, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_4F[512] = { + 0x3F, 0x3F, 0xD0, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF9, 0xF2, 0xEC, 0xA5, 0xD0, 0xDF, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE7, 0xEA, 0xD0, 0xEB, 0xDC, 0xD1, /* 0x0C-0x0F */ + 0xDB, 0xE9, 0xFD, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xD7, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xDA, 0xE1, 0x3F, 0x3F, 0xD6, 0xB6, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xE3, 0xDF, 0x3F, 0x3F, 0xDE, 0xC3, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xDE, 0xC4, 0xCA, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xEC, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xA3, 0xEE, 0xB7, /* 0x44-0x47 */ + 0xF8, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xEA, 0xC8, 0xEE, 0xB8, 0xF1, 0xAC, /* 0x4C-0x4F */ + 0xF1, 0xA5, 0xE9, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xF9, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xE5, 0xF9, 0xEC, 0xEA, 0xDD, 0xD6, /* 0x58-0x5B */ + 0xED, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xF8, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xBA, /* 0x6C-0x6F */ + 0xDB, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xA2, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xCD, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xED, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xEB, 0xDE, 0xC5, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xE3, 0xE0, 0x3F, 0x3F, 0xCA, 0xC9, /* 0x80-0x83 */ + 0xF2, 0xE9, 0x3F, 0x3F, 0xD5, 0xCE, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xF6, 0xB6, 0x3F, 0x3F, 0xCE, 0xC2, 0xD6, 0xC7, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xE3, 0xB4, 0x3F, 0x3F, 0xF1, 0xAD, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xEA, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xC2, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xF3, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xEA, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xEB, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xB2, 0xFD, 0xA5, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xF6, 0xD5, 0xD5, 0xE2, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xB5, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xF5, 0xF5, 0xB5, /* 0xC0-0xC3 */ + 0xE4, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xE7, 0xEB, 0xF1, 0xD5, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xBB, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xE9, 0xB5, 0x3F, 0x3F, 0xCC, 0xC9, /* 0xD0-0xD3 */ + 0xFA, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xD4, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xD6, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xDC, 0xC1, 0x3F, 0x3F, 0xDE, 0xC6, /* 0xDC-0xDF */ + 0xFA, 0xEF, 0xE3, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xF3, 0xDC, 0xF6, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xCE, 0xFC, 0x3F, 0x3F, 0xDB, 0xC4, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xF8, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xDC, 0xE4, 0x3F, 0x3F, 0xE5, 0xEF, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_50[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xB1, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xD6, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF3, 0xDA, 0x3F, 0x3F, 0xCB, 0xC1, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xDB, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xD9, 0xFA, 0xD3, 0xEE, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xB8, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xFD, 0xA6, 0xEB, 0xEF, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xF4, 0xA6, 0x3F, 0x3F, 0xCC, 0xCA, 0xF3, 0xA8, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xF3, 0xDB, 0x3F, 0x3F, 0xDB, 0xA7, /* 0x20-0x23 */ + 0xF6, 0xB7, 0x3F, 0x3F, 0xCF, 0xE6, 0xF0, 0xF2, /* 0x24-0x27 */ + 0xCB, 0xDA, 0x3F, 0x3F, 0xE7, 0xD2, 0xD7, 0xC3, /* 0x28-0x2B */ + 0xF6, 0xF0, 0xE8, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xA6, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xE7, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xA3, /* 0x44-0x47 */ + 0xCC, 0xA7, 0xEA, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xB6, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xFA, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xAE, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xEF, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xCB, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xF6, 0xB0, 0xEF, 0xCF, 0xE9, 0xCF, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xF7, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xCE, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xDC, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xDB, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xCB, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xDF, 0xA1, 0xDD, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xF5, 0xCA, 0xE9, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xEC, 0xEE, 0xEE, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xF3, 0xF0, 0x3F, 0x3F, 0xDF, 0xBF, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xCB, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xD0, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xF4, 0xD2, 0xE0, 0xBA, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xC0, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xCE, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xDC, 0xD2, 0xFD, 0xEA, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xF6, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xCA, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xE8, 0xE9, 0x3F, 0x3F, 0xE3, 0xAC, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xF3, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xCA, 0xA4, 0x3F, 0x3F, 0xDB, 0xF8, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xC7, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_51[512] = { + 0xEB, 0xF0, 0xF1, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xE5, 0xE2, 0x3F, 0x3F, 0xCC, 0xCC, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xCB, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xE3, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xC1, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xD6, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xD0, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xB9, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xE3, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xD3, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xE5, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xE8, 0xB4, 0xEB, 0xC3, 0x3F, 0x3F, 0xEA, 0xAA, /* 0x40-0x43 */ + 0xFA, 0xFC, 0xF5, 0xF6, 0xF0, 0xBC, 0xFD, 0xD4, /* 0x44-0x47 */ + 0xE0, 0xBB, 0xCE, 0xC3, 0x3F, 0x3F, 0xD0, 0xBA, /* 0x48-0x4B */ + 0xF7, 0xBA, 0xD8, 0xF3, 0xF7, 0xCD, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xAE, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xD4, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xE7, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xEC, 0xFD, 0x3F, 0x3F, 0xD2, 0xAE, /* 0x64-0x67 */ + 0xEE, 0xEF, 0xD5, 0xD7, 0xEA, 0xE4, 0xF8, 0xA2, /* 0x68-0x6B */ + 0xCD, 0xEB, 0xD7, 0xBF, 0xFB, 0xB1, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xCD, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xDC, 0xB2, 0xD0, 0xEC, 0xCE, 0xFD, /* 0x74-0x77 */ + 0xEE, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xCC, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xD0, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xF7, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xFC, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xEE, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xB3, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xD8, 0xF4, 0x3F, 0x3F, 0xE9, 0xB7, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xCE, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xD9, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xF1, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xD4, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xA7, 0xD5, 0xD2, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xD6, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xF4, 0xA2, 0x3F, 0x3F, 0xF1, 0xD7, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xD5, 0xD8, 0x3F, 0x3F, 0xF0, 0xBD, /* 0xC8-0xCB */ + 0xD7, 0xD0, 0xD4, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xD7, 0xCF, 0xEB, 0xEA, 0xFD, 0xEB, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xDB, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xFC, 0xC5, 0xCB, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xD5, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xF4, 0xC8, 0xE8, 0xEA, 0xF5, 0xF3, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xF9, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_52[512] = { + 0xD3, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xD3, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xC2, 0xEF, 0xB7, /* 0x04-0x07 */ + 0xE7, 0xD4, 0x3F, 0x3F, 0xCA, 0xCA, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xFB, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xFA, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xAA, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xF4, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xF7, 0xF7, 0xDC, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xD7, 0xD7, 0xDF, 0xA2, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xBE, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xD3, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xA4, 0xE1, 0xEC, /* 0x34-0x37 */ + 0xCF, 0xE7, 0xF3, 0xCB, 0xED, 0xA9, 0xCA, 0xBE, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xEF, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xCE, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xFB, 0xD0, 0xBB, /* 0x48-0x4B */ + 0xD5, 0xB7, 0xEE, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xF4, 0xA8, 0x3F, 0x3F, 0xDC, 0xF8, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xA7, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xDA, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xE0, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xED, 0xA5, 0xEE, 0xF2, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xF9, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xDC, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xF3, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xF8, 0xF2, 0x3F, 0x3F, 0xF4, 0xF9, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xF1, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xBC, /* 0x84-0x87 */ + 0xDB, 0xF9, 0xD7, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xCB, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xF0, 0xA5, 0xCB, 0xFD, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xF4, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xED, /* 0x9C-0x9F */ + 0xCA, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xAB, /* 0xA0-0xA3 */ + 0xD0, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xF0, 0xBE, 0xD2, 0xBD, 0xCC, 0xA4, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xB6, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xCC, 0xCD, 0x3F, 0x3F, 0xDA, 0xFA, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xF6, 0xCF, 0x3F, 0x3F, 0xE9, 0xB8, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xD8, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xCC, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xCD, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xD4, 0xD1, 0xE9, 0xED, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xCA, 0xEB, 0xD9, 0xE2, 0x3F, 0x3F, 0xFD, 0xB2, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xE3, 0xAD, 0xD6, 0xCC, 0xD9, 0xB4, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xA7, 0xEE, 0xD3, /* 0xE0-0xE3 */ + 0xD0, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xB3, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xD5, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xCF, 0xE8, 0x3F, 0x3F, 0xED, 0xC3, 0xD0, 0xB2, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xFE, 0xDA, 0xA8, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_53[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xF8, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xFD, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xF8, 0xD1, 0x3F, 0x3F, 0xF8, 0xD2, /* 0x0C-0x0F */ + 0xDC, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xDD, 0xE2, 0xFB, 0xF9, 0xDD, 0xC1, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xE3, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xED, 0xDD, 0xCE, 0xC4, 0x3F, 0x3F, 0xCB, 0xA1, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xE3, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xDD, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xF9, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xFB, /* 0x3C-0x3F */ + 0xCF, 0xA1, 0xE4, 0xA8, 0x3F, 0x3F, 0xF4, 0xB6, /* 0x40-0x43 */ + 0xEC, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xAE, /* 0x44-0x47 */ + 0xE7, 0xED, 0xFD, 0xC1, 0xDA, 0xE2, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xD8, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xDD, 0xE4, 0xF0, 0xEF, 0xF6, 0xF1, /* 0x50-0x53 */ + 0xFA, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xF5, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xCF, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xDC, 0xD4, 0x3F, 0x3F, 0xDC, 0xA6, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xEF, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xCF, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xE0, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xD6, /* 0x6C-0x6F */ + 0xEC, 0xD4, 0xEA, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xCA, 0xBF, 0xD5, 0xB0, 0x3F, 0x3F, 0xCF, 0xE9, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xF1, 0xED, 0x3F, 0x3F, 0xCC, 0xCF, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xE4, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xED, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xD7, 0xD8, 0x3F, 0x3F, 0xFD, 0xA7, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xAB, /* 0x9C-0x9F */ + 0xF6, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xCF, 0xF0, 0xF9, 0xBD, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xE6, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xDB, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xD1, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xE9, 0xD1, 0xF3, 0xA9, 0xD0, 0xE0, 0xE9, 0xD2, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xDA, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xE2, 0xD2, 0x3F, 0x3F, 0xF6, 0xA2, 0xE1, 0xF4, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xE4, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xE7, 0xD5, 0xF5, 0xBF, 0xCF, 0xA2, /* 0xE0-0xE3 */ + 0xCD, 0xAF, 0xCF, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xCD, 0xB0, 0xF1, 0xFE, 0xD0, 0xA3, /* 0xE8-0xEB */ + 0xE1, 0xAF, 0xF8, 0xA3, 0x3F, 0x3F, 0xCA, 0xA6, /* 0xEC-0xEF */ + 0xF7, 0xBB, 0xF2, 0xEA, 0xDE, 0xC8, 0xE9, 0xD3, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xDE, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_54[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xDE, /* 0x00-0x03 */ + 0xCA, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xF9, 0xEA, 0xD1, 0xCE, 0xEE, 0xD4, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xD4, 0xD2, 0xD9, 0xA3, 0xFD, 0xA8, 0xD7, 0xD9, /* 0x0C-0x0F */ + 0xF7, 0xCE, 0xFA, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xD6, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xD7, 0xF0, 0x3F, 0x3F, 0xEB, 0xE1, /* 0x1C-0x1F */ + 0xF8, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xFA, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xDD, 0xC3, 0x3F, 0x3F, 0xF9, 0xDF, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xEF, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xFD, 0xE5, 0xF6, 0xA3, 0x3F, 0x3F, 0xD9, 0xFC, /* 0x38-0x3B */ + 0xFD, 0xA9, 0x3F, 0x3F, 0xE7, 0xEE, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xE5, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xEF, 0xD0, 0x3F, 0x3F, 0xCD, 0xB1, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xF7, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xF1, 0xB2, 0x3F, 0x3F, 0xF1, 0xB1, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xCD, 0xB2, 0x3F, 0x3F, 0xDA, 0xAB, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xCA, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xE2, /* 0x78-0x7B */ + 0xFB, 0xBC, 0xD9, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xEE, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xD3, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xFB, 0xFA, 0x3F, 0x3F, 0xCF, 0xA4, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xDC, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xF6, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xED, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xA1, /* 0xA8-0xAB */ + 0xCE, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xA6, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xF9, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xEC, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xE4, 0xEE, 0xF9, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xFB, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xF9, 0xEB, 0xEE, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xEA, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xCA, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xF4, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xCD, 0xD6, 0xFC, 0xF6, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xC9, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xD4, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_55[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xF8, 0xA6, 0x3F, 0x3F, 0xDE, 0xCA, 0xF2, 0xC6, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xDA, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xD3, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xD8, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xE6, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xF3, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xE4, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xE4, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xF6, 0xF2, 0x3F, 0x3F, 0xDF, 0xC2, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xFD, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xF6, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xBA, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xAF, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xE1, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xF0, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xCB, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xE0, 0xBC, 0x3F, 0x3F, 0xF4, 0xCA, 0xD4, 0xFA, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xFD, 0xAA, 0xF9, 0xE2, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xF4, 0xB7, 0xFD, 0xC2, 0xFC, 0xB0, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xFD, 0xEC, 0xCA, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xBD, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xEA, 0xE7, 0xDF, 0xC3, 0xD1, 0xD2, /* 0xA8-0xAB */ + 0xCE, 0xE2, 0x3F, 0x3F, 0xD3, 0xA4, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xFD, 0xAB, 0x3F, 0x3F, 0xDF, 0xE0, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xF2, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xF0, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xD0, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xAA, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xCB, /* 0xE0-0xE3 */ + 0xF6, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xE1, 0xF5, 0xF1, 0xB3, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_56[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xA3, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xCA, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xCF, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xC4, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xB0, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xBF, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xF6, 0xA4, 0x3F, 0x3F, 0xE3, 0xB6, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xC6, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xD0, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xED, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xDD, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xF7, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xE6, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xDE, 0xAD, 0x3F, 0x3F, 0xFA, 0xBF, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xE5, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xED, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xA5, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xFD, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xF5, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xF6, 0xDE, 0xCC, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xDE, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xEC, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xCD, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xD6, 0xB7, 0xCD, 0xB3, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_57[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xD5, /* 0x00-0x03 */ + 0xE5, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xCF, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xD0, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xEA, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xAE, 0xEA, 0xAD, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xF1, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xD3, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xCF, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xEE, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xD0, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xF2, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xF0, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xF2, 0xA3, 0x3F, 0x3F, 0xF7, 0xF8, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xB3, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xA9, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xD3, 0xBB, 0xCA, 0xEC, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xF1, 0xA6, 0xCB, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xF7, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xCD, 0xDE, 0x3F, 0x3F, 0xF7, 0xA4, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xC0, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xDD, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xCC, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xCF, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xF6, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xF7, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xD3, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xFE, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xA7, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xEB, 0xD9, 0x3F, 0x3F, 0xCF, 0xA7, 0xEA, 0xAF, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xEF, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xB9, /* 0xC4-0xC7 */ + 0xF1, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xD8, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xF2, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xB4, /* 0xDC-0xDF */ + 0xDC, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xF3, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xE3, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xFB, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xDB, 0xC6, 0xD0, 0xF1, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xD0, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_58[512] = { + 0xCF, 0xDC, 0x3F, 0x3F, 0xD3, 0xD1, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xCC, 0xB1, 0xF7, 0xD8, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xCB, 0xA8, 0xEB, 0xBC, 0xE4, 0xBE, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xDC, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xDC, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xF0, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xC0, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xED, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xEB, /* 0x2C-0x2F */ + 0xE5, 0xE8, 0xDC, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xED, 0xDE, 0xD3, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xF7, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xD4, 0xE7, 0xAB, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xC3, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xE1, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xF7, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xF3, /* 0x54-0x57 */ + 0xD3, 0xD2, 0x3F, 0x3F, 0xF5, 0xC0, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xDD, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xEE, 0xF3, 0xE7, 0xF1, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xFD, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xF2, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xF3, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xEE, 0xF4, 0x3F, 0x3F, 0xE2, 0xD3, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xD1, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xDF, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xE9, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xD7, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xF5, 0xCD, 0x3F, 0x3F, 0xF1, 0xF2, 0xFA, 0xC7, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xD9, 0xF8, 0xD4, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xE5, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xC5, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xF2, 0xED, 0xDF, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xCB, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xDB, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xE8, 0xB5, 0x3F, 0x3F, 0xD3, 0xA6, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xB5, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xF9, 0xC9, 0x3F, 0x3F, 0xE4, 0xE2, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xFB, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xD7, 0xA4, 0xCE, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xD5, 0xD6, 0xE6, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xE5, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xCD, /* 0xE8-0xEB */ + 0xEC, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xE0, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xEC, 0xEC, 0xFB, 0xBE, 0xDF, 0xEB, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xE1, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_59[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xBE, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xD0, 0xF3, 0xE0, 0xAA, 0xE8, 0xE2, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xE2, 0xD4, 0xD2, 0xFD, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xE5, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xD3, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xDE, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xF4, 0xB8, 0xF7, 0xBC, 0xDC, 0xFD, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xE8, 0xEC, 0xE4, 0xE7, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xE3, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xA8, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xF1, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xE5, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xF4, /* 0x44-0x47 */ + 0xD2, 0xAF, 0xDC, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xA5, 0xF1, 0xB4, /* 0x4C-0x4F */ + 0xFC, 0xB1, 0xCC, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xDD, 0xC6, 0xFA, 0xD1, 0x3F, 0x3F, 0xF7, 0xDF, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xA8, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xEE, 0xF5, 0x3F, 0x3F, 0xDE, 0xCE, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xF3, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xAC, 0xEB, 0xC4, /* 0x68-0x6B */ + 0xED, 0xE1, 0xE0, 0xAB, 0xDD, 0xC7, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xB3, /* 0x70-0x73 */ + 0xD2, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xCA, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xFB, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xFD, 0xDD, 0xE5, /* 0x80-0x83 */ + 0xD8, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xF4, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xF5, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xED, 0xD0, 0xD2, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xD9, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xF6, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xDB, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xF7, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xD8, 0xD9, 0x3F, 0x3F, 0xF4, 0xA3, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xDD, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xD1, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xB5, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xED, 0xAB, 0x3F, 0x3F, 0xE3, 0xB7, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xEE, 0xBB, 0xCD, 0xB4, 0x3F, 0x3F, 0xE0, 0xF3, /* 0xD0-0xD3 */ + 0xEA, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xEC, 0xF5, 0xE8, 0xEE, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xCB, 0xA9, 0xF1, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xCD, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xEC, 0xA9, 0x3F, 0x3F, 0xF2, 0xEB, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xFD, 0xEF, 0x3F, 0x3F, 0xF9, 0xF3, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xE6, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xD8, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xAC, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5A[512] = { + 0x3F, 0x3F, 0xEA, 0xCE, 0x3F, 0x3F, 0xE8, 0xDF, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xDE, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xD2, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xF4, /* 0x18-0x1B */ + 0xD1, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xC2, /* 0x1C-0x1F */ + 0xE3, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xE4, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xD8, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xA5, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xF3, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xD7, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xE8, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xE8, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xE6, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xE6, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xFE, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xDA, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xAC, 0xEA, 0xB0, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xE3, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xCA, 0xAA, 0xE1, 0xF9, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xEA, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xF2, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xFA, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xEE, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xF4, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xD2, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5B[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xFB, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xFD, 0xF0, 0x3F, 0x3F, 0xE0, 0xBD, /* 0x08-0x0B */ + 0xCE, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xC6, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xAE, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xDF, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xBE, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xED, 0xAD, 0xFA, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xCD, 0xEE, 0xED, 0xA6, 0x3F, 0x3F, 0xED, 0xAE, /* 0x54-0x57 */ + 0xF0, 0xED, 0x3F, 0x3F, 0xDD, 0xA1, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xED, 0xAF, 0xFC, 0xF8, 0x3F, 0x3F, 0xD8, 0xEB, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xF9, /* 0x60-0x63 */ + 0xCD, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xFA, 0xA9, 0x3F, 0x3F, 0xE1, 0xDD, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xE2, 0xD5, 0xED, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xDD, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xF9, 0xCA, 0x3F, 0x3F, 0xEA, 0xE8, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xE5, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xD3, 0xEB, 0x3F, 0x3F, 0xE9, 0xD4, /* 0x84-0x87 */ + 0xE1, 0xFA, 0xE4, 0xCC, 0x3F, 0x3F, 0xE1, 0xE4, /* 0x88-0x8B */ + 0xE8, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xDB, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xD5, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xF7, 0xB5, 0xFC, 0xF3, 0xF0, 0xF3, /* 0x94-0x97 */ + 0xCE, 0xAF, 0xF1, 0xB5, 0xEF, 0xD2, 0xE8, 0xC8, /* 0x98-0x9B */ + 0xEB, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xD4, 0xE0, 0xBE, /* 0xA0-0xA3 */ + 0xE3, 0xF8, 0xEA, 0xE9, 0xFC, 0xB2, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xE0, 0xF4, 0x3F, 0x3F, 0xCF, 0xE0, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xEE, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xAA, /* 0xB0-0xB3 */ + 0xE6, 0xC3, 0xE1, 0xB2, 0xCA, 0xAB, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xE3, 0xE4, 0xE9, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xD6, /* 0xBC-0xBF */ + 0xF3, 0xF2, 0x3F, 0x3F, 0xEE, 0xD6, 0xEA, 0xB2, /* 0xC0-0xC3 */ + 0xD0, 0xF6, 0xEC, 0xD9, 0xDA, 0xCB, 0xCF, 0xA8, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xDD, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xD8, 0xDB, 0x3F, 0x3F, 0xF9, 0xCE, 0xE9, 0xD5, /* 0xD0-0xD3 */ + 0xE3, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xBC, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xAC, 0xF3, 0xCC, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xCD, 0xFB, 0xF6, 0xD6, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xE7, 0xF5, 0xE8, 0xEF, 0xE3, 0xF9, 0xD2, 0xBB, /* 0xE4-0xE7 */ + 0xF3, 0xF3, 0xE3, 0xFB, 0x3F, 0x3F, 0xDE, 0xD0, /* 0xE8-0xEB */ + 0xCE, 0xB0, 0x3F, 0x3F, 0xD6, 0xF7, 0xF1, 0xD9, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xF5, 0xC1, 0xDC, 0xC4, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xF5, 0xBB, 0x3F, 0x3F, 0xDE, 0xD1, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5C[512] = { + 0x3F, 0x3F, 0xDC, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xDE, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xE2, /* 0x04-0x07 */ + 0xEE, 0xF6, 0xEA, 0xCF, 0xF0, 0xEE, 0xE3, 0xFC, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xD3, 0xDF, 0xD3, 0xF4, 0xE1, 0xB3, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xE1, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xD3, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xDF, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xE9, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xDB, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xF6, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xE3, 0xB9, 0xEB, 0xC5, 0xF4, 0xA9, 0xCD, 0xB6, /* 0x38-0x3B */ + 0xD2, 0xF9, 0x3F, 0x3F, 0xDA, 0xAD, 0xD2, 0xE3, /* 0x3C-0x3F */ + 0xCF, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xCB, 0xDC, 0xCC, 0xFA, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xCF, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xA9, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xE3, 0xBB, 0xE3, 0xBA, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xE0, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xEE, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xB3, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xD3, 0xF5, 0x3F, 0x3F, 0xD7, 0xA6, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xF6, 0xB5, 0xD7, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xE1, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xEA, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xDF, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xFD, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xD0, 0xF7, 0xED, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xCB, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xE4, 0xDB, 0x3F, 0x3F, 0xE1, 0xFB, /* 0xA8-0xAB */ + 0xCB, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xD3, 0xE0, 0x3F, 0x3F, 0xE4, 0xBF, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xFB, 0xC0, 0x3F, 0x3F, 0xDA, 0xBE, /* 0xB4-0xB7 */ + 0xE4, 0xCD, 0x3F, 0x3F, 0xD6, 0xB9, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xC0, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xE1, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xF6, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xDF, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xE4, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xE7, /* 0xEC-0xEF */ + 0xDC, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xFA, 0xD6, 0x3F, 0x3F, 0xD3, 0xF6, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xDA, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xFA, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5D[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xFD, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xD5, 0xCF, 0xD0, 0xF8, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xCD, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xF5, 0xCB, 0x3F, 0x3F, 0xE4, 0xF0, 0xCB, 0xAB, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xD7, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xFE, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xDD, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xAE, /* 0x48-0x4B */ + 0xCA, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xD5, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xE3, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xE8, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xAB, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xA9, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xF7, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xD4, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xCE, 0xE4, 0x3F, 0x3F, 0xE8, 0xF2, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xF5, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xE7, 0xAE, 0x3F, 0x3F, 0xD6, 0xBA, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xDF, 0xEC, 0xE4, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xE8, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xB5, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xDC, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xF4, 0xB9, 0xF1, 0xB6, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xE2, 0xDE, 0xE1, 0xB5, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xCD, 0xEF, 0xF1, 0xA7, 0xCE, 0xE5, /* 0xE4-0xE7 */ + 0xCB, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xE3, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xAC, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xD0, 0xF9, 0xEC, 0xAB, 0xDE, 0xD3, /* 0xF0-0xF3 */ + 0xF7, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xF5, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xE1, 0xDE, 0xCB, 0xEE, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xBC, 0xF8, 0xD6, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xEE, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xFD, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xF7, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xDE, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xF2, 0xED, 0x3F, 0x3F, 0xDB, 0xD9, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xF0, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xE1, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xD4, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xE0, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xE3, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xE1, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xDF, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xD9, 0xB6, 0x3F, 0x3F, 0xFD, 0xAC, /* 0x3C-0x3F */ + 0xEF, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xE4, 0xC1, 0xF8, 0xEB, 0x3F, 0x3F, 0xDB, 0xAC, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xFC, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xD8, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xBA, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xDB, 0xDF, 0xD3, 0xD3, 0xF8, 0xC7, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xCE, 0xF8, 0xC1, /* 0x70-0x73 */ + 0xD2, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xB4, /* 0x74-0x77 */ + 0xFA, 0xB9, 0xCA, 0xCF, 0x3F, 0x3F, 0xFC, 0xB3, /* 0x78-0x7B */ + 0xEA, 0xEA, 0xEA, 0xEB, 0xD0, 0xFA, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xED, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xE7, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xC9, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xED, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xEE, 0xBC, 0x3F, 0x3F, 0xEF, 0xC1, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xD2, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xDD, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xDF, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xF8, 0xF1, 0xA8, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xB7, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xEF, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xE4, 0xDD, 0xDF, 0xEE, 0xCB, 0xAC, /* 0xB4-0xB7 */ + 0xE9, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xEC, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xCB, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xF9, 0xBF, 0xD6, 0xAF, 0xD5, 0xC6, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xCF, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xA9, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xF8, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xB7, 0xEE, 0xF8, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xD9, /* 0xDC-0xDF */ + 0xF3, 0xDF, 0x3F, 0x3F, 0xF8, 0xC8, 0xCE, 0xC6, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xD5, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xE6, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xC5, 0xEF, 0xD5, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xEF, 0xFC, 0xDF, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5F[512] = { + 0x3F, 0x3F, 0xDC, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xD6, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xC9, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xD2, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xE3, 0xBD, 0x3F, 0x3F, 0xCF, 0xE1, /* 0x10-0x13 */ + 0xF0, 0xC0, 0xEC, 0xDA, 0x3F, 0x3F, 0xDD, 0xD7, /* 0x14-0x17 */ + 0xFB, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xAC, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xA9, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xD7, 0xFB, 0xC1, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xD2, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xE5, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xED, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xAD, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xF9, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xF7, 0xA5, 0x3F, 0x3F, 0xCB, 0xAE, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xDA, 0xAF, 0x3F, 0x3F, 0xD8, 0xB6, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xA7, 0xFB, 0xB2, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xFD, 0xC4, 0x3F, 0x3F, 0xEC, 0xAD, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xA1, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xE9, 0xE9, 0xEE, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xF3, 0xF4, 0xF8, 0xF3, 0xF0, 0xC1, /* 0x68-0x6B */ + 0xDE, 0xAF, 0xF8, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xF3, 0xE0, 0xE7, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xAD, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xE6, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xF9, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xD8, /* 0x7C-0x7F */ + + 0xE8, 0xD9, 0xEF, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xD3, 0xE2, 0x3F, 0x3F, 0xE2, 0xDF, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xE0, 0xD7, 0xC8, /* 0x88-0x8B */ + 0xFD, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xDF, 0xEF, 0xCC, 0xD3, 0xD3, 0xF9, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xF0, /* 0x94-0x97 */ + 0xDB, 0xC7, 0xDE, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xF4, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xD5, 0xD0, 0xE5, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xFC, 0xC7, 0xDC, 0xD6, 0xE2, 0xE0, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xB0, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xF3, 0xA3, 0x3F, 0x3F, 0xD3, 0xEC, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xF4, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xFD, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xFD, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xF9, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xD0, 0xFB, 0xEC, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xBC, 0xF2, 0xA4, /* 0xD4-0xD7 */ + 0xD8, 0xCE, 0xD8, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xF5, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xE1, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xD2, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xFB, 0xEC, 0x3F, 0x3F, 0xDD, 0xC8, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_60[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xE8, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xC1, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xD7, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xD6, 0xBB, 0xDE, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xF7, 0xBD, 0xEC, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xD0, 0xE1, 0x3F, 0x3F, 0xE0, 0xF5, /* 0x24-0x27 */ + 0xEA, 0xB3, 0x3F, 0x3F, 0xCE, 0xD6, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xA5, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xEC, 0xF6, 0xE2, 0xE1, 0xE3, 0xBE, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xFC, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xCD, 0xF0, 0x3F, 0x3F, 0xF9, 0xF6, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xDF, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xE5, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xCE, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xE1, 0xED, 0xB0, /* 0x60-0x63 */ + 0xFD, 0xD1, 0xF6, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xF9, 0xCF, 0xEB, 0xDA, 0xCA, 0xC1, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xD2, 0xB8, 0xCD, 0xF1, 0x3F, 0x3F, 0xE3, 0xD3, /* 0x6C-0x6F */ + 0xFD, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xE6, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xE3, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xF0, 0xAA, 0xF9, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xFC, 0xE2, 0x3F, 0x3F, 0xF8, 0xA7, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xE5, 0xEE, 0xF9, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xF6, /* 0x9C-0x9F */ + 0xEA, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xB4, /* 0xA0-0xA3 */ + 0xF5, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xDC, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xF0, 0xF5, 0x3F, 0x3F, 0xDD, 0xE8, 0xD3, 0xED, /* 0xB0-0xB3 */ + 0xF5, 0xFC, 0x3F, 0x3F, 0xDA, 0xBF, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xCC, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xD3, 0xFA, 0xF4, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xEF, 0xD7, 0x3F, 0x3F, 0xD4, 0xC3, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xFB, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xED, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xE0, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xEE, /* 0xDC-0xDF */ + 0xFB, 0xB3, 0xE4, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xF6, 0xE7, 0xD2, 0xDD, 0x3F, 0x3F, 0xDF, 0xCC, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xC9, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xE5, 0xA9, 0xE0, 0xF6, 0xF6, 0xB3, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_61[512] = { + 0x3F, 0x3F, 0xE1, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xF0, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xEA, 0xEF, 0xEA, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xDA, 0xC0, 0xF8, 0xB4, 0xEB, 0xF2, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xE4, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xD7, 0xE4, 0xF1, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xEF, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xD7, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xFC, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xF3, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xC4, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xE3, 0xE5, 0x3F, 0x3F, 0xCB, 0xC5, 0xEA, 0xB4, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xBD, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xD7, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xDB, /* 0x44-0x47 */ + 0xED, 0xB1, 0x3F, 0x3F, 0xCC, 0xC3, 0xF7, 0xBE, /* 0x48-0x4B */ + 0xFC, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xF4, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xD9, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xF3, 0xD3, 0xF3, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xF7, 0xE4, 0x3F, 0x3F, 0xF7, 0xD1, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xB7, 0xCE, 0xB1, /* 0x60-0x63 */ + 0xCA, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xB4, /* 0x64-0x67 */ + 0xCB, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xF6, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xE7, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xEA, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xD4, 0xCB, 0xAF, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xF4, 0xAA, 0xE9, 0xAF, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xF5, 0xC3, 0xE9, 0xD8, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xE9, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xF3, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xD5, 0xFB, 0xDE, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xF4, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xFD, 0xF3, 0xFD, 0xF2, 0xF7, 0xA6, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xDD, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xD3, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xCC, 0xA8, 0x3F, 0x3F, 0xDA, 0xC1, /* 0xA8-0xAB */ + 0xCC, 0xD5, 0x3F, 0x3F, 0xD9, 0xE4, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xCA, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xE3, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xBC, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xF0, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xC4, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xD0, /* 0xC4-0xC7 */ + 0xFA, 0xAB, 0xEB, 0xEB, 0xE7, 0xF8, 0xD9, 0xE5, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xD7, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xA4, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xFB, 0xFC, 0xE3, /* 0xF4-0xF7 */ + 0xFA, 0xD8, 0x3F, 0x3F, 0xF3, 0xD5, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xCF, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xF3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_62[512] = { + 0xD5, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xD4, /* 0x04-0x07 */ + 0xCD, 0xFC, 0x3F, 0x3F, 0xD9, 0xE6, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xE2, 0xF9, 0xE2, 0xA1, 0xEB, 0xD4, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xE0, 0xF7, 0xE4, 0xB2, 0xCC, 0xFC, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xE4, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xAB, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xBD, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xCA, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xB8, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xC0, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xEE, 0xFA, 0xFD, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xD3, 0xE3, 0x3F, 0x3F, 0xFB, 0xC2, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xE8, 0xDB, 0xAE, /* 0x3C-0x3F */ + 0xE1, 0xB6, 0xF8, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xBF, /* 0x44-0x47 */ + 0xFB, 0xC3, 0xDD, 0xEA, 0x3F, 0x3F, 0xE2, 0xA2, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xEE, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xE8, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xF6, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xCA, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xD0, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xA6, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xDD, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xE4, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xAF, /* 0x7C-0x7F */ + + 0xD0, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xF4, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xCC, 0xBC, 0xF7, 0xEA, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xE5, 0xE4, 0xDF, 0xF1, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xF7, 0xE1, 0x3F, 0x3F, 0xF9, 0xF7, /* 0x94-0x97 */ + 0xEF, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xD8, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xA9, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xF8, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xEE, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xD8, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xE4, 0xE3, 0xF5, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xD9, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xE7, /* 0xC4-0xC7 */ + 0xD2, 0xB9, 0xD5, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xDA, 0xE5, 0xDA, 0xD0, 0x3F, 0x3F, 0xD1, 0xD9, /* 0xCC-0xCF */ + 0xCE, 0xD8, 0x3F, 0x3F, 0xCB, 0xDE, 0xF4, 0xAC, /* 0xD0-0xD3 */ + 0xDA, 0xFB, 0x3F, 0x3F, 0xF6, 0xE9, 0xE8, 0xF3, /* 0xD4-0xD7 */ + 0xCF, 0xAC, 0xF0, 0xF0, 0x3F, 0x3F, 0xF4, 0xFD, /* 0xD8-0xDB */ + 0xDB, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xCE, 0xC0, 0xE3, 0xD4, 0xD1, 0xCF, 0xF1, 0xF5, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xCD, 0xF2, 0x3F, 0x3F, 0xCF, 0xEB, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xB8, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xA6, 0xD1, 0xDA, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_63[512] = { + 0x3F, 0x3F, 0xF2, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xA6, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xE4, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xD3, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xA9, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xC9, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xD8, 0xE6, 0xC9, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xD8, 0xB8, 0xFA, 0xF3, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xF3, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xF8, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xF3, /* 0x4C-0x4F */ + 0xE6, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xF8, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xE9, /* 0x64-0x67 */ + 0xDE, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xDF, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xEC, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xDF, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xF4, 0xD2, 0xBA, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xF2, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xB7, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xE2, 0xA3, 0xD3, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xED, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xC9, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xFA, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xCF, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xD0, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xD5, 0xD3, 0xF3, 0xF5, 0xF7, 0xAE, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xEF, 0xC8, 0x3F, 0x3F, 0xCD, 0xF3, /* 0xA4-0xA7 */ + 0xF5, 0xCF, 0xE5, 0xF3, 0xF0, 0xC2, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xCA, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xEA, 0xF1, 0x3F, 0x3F, 0xD0, 0xA6, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xDA, /* 0xCC-0xCF */ + 0xF0, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xE7, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xC0, 0xFC, 0xB5, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xE4, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xCC, 0xA9, 0xFD, 0xC6, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xEA, 0xB5, 0x3F, 0x3F, 0xE5, 0xAA, 0xDF, 0xBA, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_64[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE1, 0xDF, 0x3F, 0x3F, 0xDA, 0xD1, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xE1, 0xB8, 0x3F, 0x3F, 0xE8, 0xF4, 0xD3, 0xFD, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xE2, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xCA, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xDA, 0xE6, 0xF7, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xCD, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xB6, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xEE, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xF5, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xD8, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xA7, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xD9, 0xB8, 0xD9, 0xB9, 0xEF, 0xC9, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xD6, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xF7, 0xCB, 0xDF, 0xAE, 0xE8, 0xF5, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xB5, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xD5, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xF4, 0xCC, 0xDA, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xE8, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xF7, 0xEB, 0xF5, 0xC9, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xF3, 0xBC, 0x3F, 0x3F, 0xDA, 0xD2, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xB5, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xE8, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xD6, 0xCF, 0xF4, 0xBA, 0x3F, 0x3F, 0xF7, 0xC9, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xAA, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xF0, 0xC3, 0xCC, 0xD6, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xD3, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xD3, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xDB, 0xFB, 0x3F, 0x3F, 0xCB, 0xE0, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xD3, 0xE4, 0xF6, 0xF7, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xD5, 0xBA, 0xF3, 0xCD, 0xCB, 0xE1, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xEB, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xAD, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xFC, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xEC, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xF6, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_65[512] = { + 0xDA, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xF7, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xE5, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xE0, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xFD, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xE6, 0xFC, 0xAB, /* 0x28-0x2B */ + 0xD5, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xA8, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xA5, 0xCD, 0xB9, /* 0x34-0x37 */ + 0xEA, 0xF2, 0xCB, 0xC7, 0x3F, 0x3F, 0xCD, 0xF4, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xAF, 0xEF, 0xD9, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xCD, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xFC, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xDF, 0xF3, 0xCE, 0xE7, 0xDA, 0xC2, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xCF, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xF9, 0xF8, 0xA8, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xE2, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xF2, 0xDF, 0xA4, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xC4, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xCC, 0xD7, 0xE5, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xBB, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xEF, 0xDA, 0xEE, 0xD8, 0x3F, 0x3F, 0xDD, 0xA7, /* 0x74-0x77 */ + 0xE2, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xC0, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xB0, 0xF8, 0xCA, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xFC, 0xFA, 0x3F, 0x3F, 0xD9, 0xFE, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xDE, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xDD, 0xEC, 0xDA, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xE0, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xD6, 0xF9, 0x3F, 0x3F, 0xCD, 0xD7, /* 0x98-0x9B */ + 0xDE, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xF8, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xE4, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xD0, 0xC5, 0xF4, 0xAE, 0x3F, 0x3F, 0xDD, 0xA8, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xC5, /* 0xA8-0xAB */ + 0xF3, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xD9, /* 0xAC-0xAF */ + 0xE3, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xA8, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xDB, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xE5, 0xDA, 0xE3, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xDB, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xD5, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xC1, /* 0xC8-0xCB */ + 0xEF, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xE9, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xB2, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xFD, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xD9, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xFE, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xEC, 0xED, 0xD3, 0xA9, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xF2, 0xA9, 0xF0, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xE2, 0xE2, 0xE9, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xF9, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xE9, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xDA, 0xDA, 0xC3, /* 0xF8-0xFB */ + 0xDA, 0xC4, 0xD4, 0xC5, 0x3F, 0x3F, 0xE7, 0xFA, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_66[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xE0, 0xE3, 0xB0, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xDB, 0xB2, 0xFB, 0xC4, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xF3, 0xE3, 0x3F, 0x3F, 0xD9, 0xA5, 0xFB, 0xE7, /* 0x0C-0x0F */ + 0xDD, 0xCB, 0xD0, 0xD4, 0x3F, 0x3F, 0xE6, 0xB6, /* 0x10-0x13 */ + 0xE0, 0xAE, 0xFD, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xB5, 0xE0, 0xF8, /* 0x1C-0x1F */ + 0xE7, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xF5, 0xF0, 0x3F, 0x3F, 0xD8, 0xDC, /* 0x24-0x27 */ + 0xED, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xE1, 0xB9, 0x3F, 0x3F, 0xE3, 0xC0, /* 0x2C-0x2F */ + 0xF9, 0xC0, 0xE9, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xD9, 0xDB, 0x3F, 0x3F, 0xF3, 0xE4, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xB6, 0xE4, 0xE9, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xF0, 0xC5, 0xE3, 0xC1, 0xFC, 0xCC, /* 0x40-0x43 */ + 0xFC, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xF2, 0xCB, 0x3F, 0x3F, 0xF2, 0xCC, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xCF, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xF1, 0xDB, 0x3F, 0x3F, 0xFA, 0xD9, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xF1, 0xB8, 0xFD, 0xF5, 0xE0, 0xF9, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xE7, 0xFB, 0xFC, 0xB7, 0xFC, 0xE4, 0xFB, 0xC5, /* 0x64-0x67 */ + 0xE3, 0xE7, 0xD8, 0xB9, 0x3F, 0x3F, 0xF6, 0xF8, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xC5, 0xCC, 0xD8, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xAF, /* 0x70-0x73 */ + 0xF4, 0xE7, 0x3F, 0x3F, 0xEF, 0xDC, 0xCF, 0xFC, /* 0x74-0x77 */ + 0xEF, 0xDD, 0x3F, 0x3F, 0xF2, 0xAA, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xFD, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xAC, /* 0x84-0x87 */ + 0xFD, 0xBB, 0xFD, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xB2, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xEA, 0xD1, 0xDF, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xEC, 0xE4, 0xDE, /* 0x94-0x97 */ + 0xE5, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xD9, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xCD, 0xBC, 0x3F, 0x3F, 0xF3, 0xE5, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xD5, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xBA, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xE7, 0xFB, 0xB5, /* 0xB0-0xB3 */ + 0xF8, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xE0, 0xE7, 0x3F, 0x3F, 0xCC, 0xD9, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xC6, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xE7, 0xA5, 0x3F, 0x3F, 0xD5, 0xF5, 0xD3, 0xBE, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xFC, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xF2, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xDF, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xE8, 0xF8, 0xF8, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xCE, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xF6, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xE8, 0xD8, 0x3F, 0x3F, 0xCD, 0xD8, 0xE7, 0xD6, /* 0xF0-0xF3 */ + 0xCC, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xE3, /* 0xF4-0xF7 */ + 0xDF, 0xF6, 0xF0, 0xC7, 0xF0, 0xC6, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xD8, 0xBA, 0x3F, 0x3F, 0xF1, 0xF4, 0xF4, 0xF0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_67[512] = { + 0xF5, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xE5, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xEA, 0xC5, 0xEA, 0xF3, 0x3F, 0x3F, 0xDD, 0xDB, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xDC, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xDE, 0xFD, 0xF2, 0xF9, 0x3F, 0x3F, 0xD5, 0xC7, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xD0, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xF0, 0xC8, 0xD1, 0xA1, 0xD1, 0xA2, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xD4, 0xD6, 0xE8, /* 0x24-0x27 */ + 0xD9, 0xCA, 0x3F, 0x3F, 0xDA, 0xB1, 0xD8, 0xC7, /* 0x28-0x2B */ + 0xDC, 0xE2, 0xF3, 0xCE, 0xF5, 0xF4, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xF1, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xDA, 0xD3, 0x3F, 0x3F, 0xF6, 0xEA, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xF5, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xFD, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xD2, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xDF, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xDD, 0xFA, 0xBA, /* 0x4C-0x4F */ + 0xEE, 0xA7, 0xF5, 0xBD, 0x3F, 0x3F, 0xF8, 0xF5, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xE8, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xD4, 0xE1, 0x3F, 0x3F, 0xD1, 0xA3, 0xE1, 0xD6, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xF9, 0xF8, 0x3F, 0x3F, 0xDB, 0xCA, /* 0x6C-0x6F */ + 0xCB, 0xF9, 0xD4, 0xD4, 0x3F, 0x3F, 0xD9, 0xDC, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xEE, 0xBE, 0x3F, 0x3F, 0xF7, 0xED, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xEE, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xE6, 0xF7, 0xF9, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xED, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xE8, 0xDB, 0x3F, 0x3F, 0xDB, 0xB3, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xF7, /* 0x8C-0x8F */ + 0xE0, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xE2, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xF6, 0xD7, 0x3F, 0x3F, 0xD7, 0xF9, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xDD, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xCD, 0xFD, 0xF2, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xBD, /* 0xAC-0xAF */ + 0xF8, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xAC, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xAD, 0xCA, 0xAE, /* 0xB4-0xB7 */ + 0xCF, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xC2, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xDC, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xDA, /* 0xCC-0xCF */ + 0xD9, 0xBB, 0xCA, 0xF3, 0xF6, 0xD3, 0xE6, 0xF8, /* 0xD0-0xD3 */ + 0xEA, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xF6, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xF6, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xCF, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xCA, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xAF, /* 0xEC-0xEF */ + 0xD2, 0xB0, 0xF1, 0xBA, 0x3F, 0x3F, 0xD7, 0xB3, /* 0xF0-0xF3 */ + 0xE3, 0xC3, 0xF3, 0xFD, 0xDE, 0xDA, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xDB, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xDE, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_68[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xE3, 0xEE, 0xFB, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xF7, 0xD7, 0xCA, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xCE, 0xE8, 0xDB, 0xDB, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xBB, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xF1, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xFA, 0xB7, 0xD0, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xCC, 0xAB, 0xEE, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xCB, 0xFA, 0xF9, 0xF9, 0xCC, 0xFD, 0xD3, 0xFE, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xE4, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xEE, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xD4, 0xD5, 0xDF, 0xCD, 0x3F, 0x3F, 0xFC, 0xB8, /* 0x50-0x53 */ + 0xD1, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xF2, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xD2, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xD4, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xD5, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xD8, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xD9, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xA9, /* 0x90-0x93 */ + 0xF6, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xDB, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xF0, 0xC9, 0x3F, 0x3F, 0xFC, 0xFC, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xE8, 0xC9, 0xF4, 0xFE, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xFC, /* 0xA4-0xA7 */ + 0xD7, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xDE, 0xDC, 0x3F, 0x3F, 0xF0, 0xAC, /* 0xAC-0xAF */ + 0xCC, 0xFE, 0xCD, 0xE1, 0x3F, 0x3F, 0xE1, 0xBA, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xDB, 0xEF, 0xDA, 0xB2, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xD1, 0xA5, 0xDC, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xD8, 0xF6, 0x3F, 0x3F, 0xD1, 0xA4, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xCD, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xEA, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xF0, 0xF7, 0x3F, 0x3F, 0xF0, 0xCA, /* 0xD4-0xD7 */ + 0xD0, 0xBE, 0x3F, 0x3F, 0xDD, 0xDC, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xD6, /* 0xDC-0xDF */ + 0xD3, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xD0, /* 0xE4-0xE7 */ + 0xCD, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xB5, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xF8, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xD4, 0xA1, 0xCE, 0xB2, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_69[512] = { + 0xE8, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xEB, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE3, 0xD5, 0xF5, 0xD0, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xA1, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xA7, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xE5, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xE6, 0xCB, 0x3F, 0x3F, 0xF5, 0xF1, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xC5, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xA3, /* 0x50-0x53 */ + 0xE0, 0xDB, 0xF6, 0xEB, 0x3F, 0x3F, 0xCB, 0xF1, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xD9, 0xEA, 0xF5, 0xA2, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xD1, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xD1, 0xF8, 0xEA, 0xF8, 0xEA, 0xF9, 0xDA, 0xB3, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xEF, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xEF, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xE5, 0xF6, 0xEE, 0xBF, 0xE2, 0xE4, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xD0, 0xBF, 0x3F, 0x3F, 0xFA, 0xAC, /* 0x74-0x77 */ + 0xF5, 0xD1, 0xE7, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xE9, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xCE, /* 0x98-0x9B */ + 0xDB, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xFC, 0xCE, 0x3F, 0x3F, 0xDD, 0xEE, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xB4, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xD7, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xB4, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xCD, 0xBE, 0x3F, 0x3F, 0xDA, 0xE9, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xB0, /* 0xC8-0xCB */ + 0xF7, 0xD9, 0xF3, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xCE, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xCE, 0xAA, 0x3F, 0x3F, 0xCB, 0xC8, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xA7, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xF0, 0xCB, 0x3F, 0x3F, 0xD0, 0xC7, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6A[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xC5, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xE0, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xD5, 0xDA, 0x3F, 0x3F, 0xD7, 0xA7, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xC0, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xF8, 0xF6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xD2, 0xED, 0xE9, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xD9, 0xBC, 0x3F, 0x3F, 0xE5, 0xC6, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xF5, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xDA, 0xD4, 0xE2, 0xA7, 0xFB, 0xFC, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xF1, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xCA, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xE8, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xE9, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xF8, 0xE2, 0xE5, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xD0, 0xB9, 0xD4, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xA6, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xDF, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xF4, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xD3, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xCC, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xEF, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xE5, 0xE5, 0xD0, 0xD5, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xFC, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xFC, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xFE, 0xED, 0xEA, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xB1, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xE3, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xA2, 0xCF, 0xF6, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xD0, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xEA, 0xF1, 0xEE, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xCB, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xA1, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6B[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xD5, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xED, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xED, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xB2, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xBC, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xFD, 0xE2, 0xF3, 0xAD, 0x3F, 0x3F, 0xFD, 0xDB, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xB0, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xA7, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xFD, 0xE3, 0xCE, 0xB3, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xE4, 0xFA, 0xCE, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xCA, 0xB0, 0x3F, 0x3F, 0xF7, 0xA7, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xCF, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xA2, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xFC, 0xB6, 0xF2, 0xAD, 0xEF, 0xE1, /* 0x60-0x63 */ + 0xF3, 0xAE, 0xDC, 0xC6, 0xD9, 0xEB, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xE0, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xA8, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xF6, /* 0x74-0x77 */ + 0xCF, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xDD, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xD1, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xEA, /* 0x80-0x83 */ + 0xF2, 0xCF, 0x3F, 0x3F, 0xF7, 0xBF, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xE2, 0xE6, 0xE2, 0xA8, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xD6, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xED, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xF9, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xB1, 0xDE, 0xB2, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xE8, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xD3, 0xAB, 0x3F, 0x3F, 0xEB, 0xDC, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xAF, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xCA, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xFC, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xFD, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xEB, 0xF6, 0xCF, 0xB2, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xEC, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xD9, 0xBD, 0x3F, 0x3F, 0xD8, 0xDF, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xB8, 0xEB, 0xBE, /* 0xD0-0xD3 */ + 0xDD, 0xEF, 0x3F, 0x3F, 0xDD, 0xF0, 0xDD, 0xF1, /* 0xD4-0xD7 */ + 0xDD, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xBE, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xC6, /* 0xE8-0xEB */ + 0xCF, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6C[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xEE, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xAB, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xDA, 0xC5, 0x3F, 0x3F, 0xD8, 0xEC, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xA8, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xE2, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xBC, /* 0x34-0x37 */ + 0xE7, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xF0, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xEF, 0xE2, 0xF1, 0xF0, 0xCF, 0xB4, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xF1, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xE0, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xDF, 0xA5, 0x3F, 0x3F, 0xF9, 0xD2, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xFD, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xE6, 0xA3, 0xFB, 0xF1, 0xCB, 0xB0, /* 0x5C-0x5F */ + 0xF2, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xCD, 0xE7, 0x3F, 0x3F, 0xE8, 0xDC, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xE7, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xF7, 0xC0, 0x3F, 0x3F, 0xD0, 0xE3, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xA1, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xBD, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xD1, 0xA9, 0xDD, 0xCC, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xE3, 0xFE, 0xD1, 0xAA, 0xE8, 0xAA, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xEA, 0xB6, 0xF9, 0xFA, 0xE6, 0xCC, /* 0x84-0x87 */ + 0xF6, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xD4, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xD9, 0xCB, 0x3F, 0x3F, 0xD9, 0xD2, 0xD3, 0xCB, /* 0x90-0x93 */ + 0xD8, 0xF7, 0xDA, 0xA9, 0xF5, 0xF8, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xDE, 0xDE, 0xF2, 0xAF, 0xF8, 0xA9, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xC8, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xC1, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xC1, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xDD, 0xF3, 0xEA, 0xFA, 0x3F, 0x3F, 0xF6, 0xBD, /* 0xB8-0xBB */ + 0xE1, 0xBB, 0xCD, 0xBF, 0xF4, 0xD4, 0xE6, 0xCD, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xFC, 0xCF, 0xFB, 0xA2, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xE0, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xF4, 0xBB, 0xDA, 0xD5, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xF9, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xF2, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xDB, 0xF6, 0x3F, 0x3F, 0xDE, 0xDF, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xF2, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xF8, 0xDC, 0xF7, 0xEE, 0xEB, 0xE8, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xD2, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xF1, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xDA, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xEA, 0xDA, 0xC6, /* 0xEC-0xEF */ + 0xF7, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xB6, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6D[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xC7, /* 0x08-0x0B */ + 0xD6, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xDC, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xA9, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xE2, 0xAA, 0x3F, 0x3F, 0xD5, 0xA6, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xD7, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xF2, 0xD0, 0x3F, 0x3F, 0xEA, 0xFB, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xE0, 0xDD, 0xFB, 0xF3, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xBD, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xE2, 0xE7, 0xFD, 0xD7, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xCE, 0xC8, 0xEA, 0xB7, 0x3F, 0x3F, 0xFC, 0xC0, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xFD, 0xE7, 0xF7, 0xEF, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xD7, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xEF, 0xBA, 0xF1, 0xDD, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xDE, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xCB, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xDD, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xFB, 0xC7, 0xD5, 0xC8, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xD7, 0xDF, 0x3F, 0x3F, 0xDD, 0xA9, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xE9, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xAD, /* 0x74-0x77 */ + 0xF6, 0xD9, 0xFA, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xAA, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xE6, 0xEE, 0x3F, 0x3F, 0xCC, 0xDC, /* 0x84-0x87 */ + 0xE1, 0xBC, 0xE0, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xE9, 0xBF, 0xFC, 0xFD, 0xE6, 0xCE, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xE1, 0xD7, 0x3F, 0x3F, 0xE6, 0xCF, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xF4, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xF3, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xFB, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xF9, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xEF, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xEE, /* 0xC0-0xC3 */ + 0xF6, 0xBE, 0xE0, 0xB2, 0xFC, 0xFE, 0xD1, 0xAB, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xFA, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xC8, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xE2, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xD4, 0xA3, 0xF0, 0xF8, 0xD7, 0xA8, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xE7, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xD3, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xEF, 0xE4, 0x3F, 0x3F, 0xD7, 0xC5, 0xEB, 0xE2, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xE7, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xE4, 0xA2, 0x3F, 0x3F, 0xE2, 0xE8, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xE6, 0xD0, 0x3F, 0x3F, 0xFB, 0xE8, /* 0xF4-0xF7 */ + 0xF4, 0xE8, 0xE5, 0xF4, 0xF4, 0xBC, 0xF4, 0xD5, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xB6, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xFC, 0xB9, 0xEE, 0xC2, 0xCA, 0xF5, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xE5, /* 0x1C-0x1F */ + 0xCB, 0xE2, 0xD4, 0xA4, 0x3F, 0x3F, 0xDE, 0xE0, /* 0x20-0x23 */ + 0xDA, 0xFD, 0xE4, 0xC6, 0xE8, 0xBE, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xDE, /* 0x28-0x2B */ + 0xF6, 0xB4, 0xEA, 0xD2, 0x3F, 0x3F, 0xF9, 0xFB, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xC2, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xCA, 0xE4, 0x3F, 0x3F, 0xE7, 0xB7, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xEA, 0xFD, 0x3F, 0x3F, 0xD9, 0xDD, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xDA, 0xB4, 0xEE, 0xAA, 0xFB, 0xE9, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xCB, /* 0x40-0x43 */ + 0xDA, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xBE, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xD3, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xC9, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xDF, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xC0, /* 0x58-0x5B */ + 0xE3, 0xD7, 0x3F, 0x3F, 0xEF, 0xE6, 0xFC, 0xD0, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xC0, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xD3, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xDC, 0xF7, 0xB7, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xB8, 0xD1, 0xF9, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xC8, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xEA, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xDE, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xD7, 0xB6, 0xCF, 0xB5, 0x3F, 0x3F, 0xD9, 0xA8, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xEE, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xDD, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xA2, 0xE8, 0xAE, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xBD, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xF2, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xC1, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xFC, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xB5, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xF3, 0xE7, 0xD8, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xFC, 0xD1, 0x3F, 0x3F, 0xED, 0xB2, /* 0xC8-0xCB */ + 0xF4, 0xAF, 0x3F, 0x3F, 0xFB, 0xA3, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xFC, 0xC1, 0x3F, 0x3F, 0xEE, 0xAB, /* 0xD0-0xD3 */ + 0xD4, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xF2, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xEE, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xFB, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xE3, 0xD8, 0xBB, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6F[512] = { + 0x3F, 0x3F, 0xE5, 0xDB, 0xF8, 0xF7, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xD4, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xA9, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xCB, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xE6, 0xD1, 0xF0, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xD8, 0xAE, 0x3F, 0x3F, 0xF9, 0xD3, 0xD5, 0xFE, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xBC, /* 0x28-0x2B */ + 0xF2, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xE2, 0xAB, 0xF3, 0xE8, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xEF, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xEC, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xE7, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xDA, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xCC, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xFC, /* 0x54-0x57 */ + 0xDA, 0xEB, 0x3F, 0x3F, 0xE2, 0xD8, 0xED, 0xD6, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xD1, 0xE0, 0xB3, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xD2, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xEB, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xD3, 0xC1, 0xF0, 0xCD, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xCF, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xD2, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xD4, 0xD8, 0xDC, 0xC9, 0xD7, 0xF1, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xDF, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xF3, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xF4, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xF1, 0xBF, 0xF8, 0xB1, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xE9, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xFB, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xD5, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xD4, /* 0xA0-0xA3 */ + 0xF7, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xC8, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xE8, 0xF3, 0xBD, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xEE, 0xFE, 0x3F, 0x3F, 0xE7, 0xFE, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xD3, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xB6, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xCC, 0xAD, 0xF6, 0xFA, 0xD6, 0xB2, 0xD2, 0xD8, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xD8, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xE3, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xB9, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xAD, /* 0xDC-0xDF */ + 0xFB, 0xCC, 0xEB, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xD4, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xFB, 0xCD, 0x3F, 0x3F, 0xD5, 0xBD, /* 0xE8-0xEB */ + 0xF1, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xFB, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xDE, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xEB, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_70[512] = { + 0x3F, 0x3F, 0xE5, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xFB, 0xA4, 0xD4, 0xB9, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xDE, 0xE1, 0x3F, 0x3F, 0xE4, 0xA3, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xB7, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xF8, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xDE, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xD6, 0xD2, 0x3F, 0x3F, 0xF9, 0xD5, 0xE7, 0xBA, /* 0x18-0x1B */ + 0xEB, 0xD5, 0xD5, 0xF7, 0xEF, 0xE7, 0xE1, 0xBE, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xAE, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xE9, /* 0x24-0x27 */ + 0xD6, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xBB, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xCB, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xB3, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xCE, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xFB, 0xA5, 0xE1, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xF7, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xFB, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xBD, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xFD, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xFC, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xCF, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xED, 0xC7, 0xEE, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xCC, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xA7, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xFA, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xA4, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xFD, 0xDC, 0xED, 0xB3, 0xCE, 0xC9, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xEF, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xE1, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xDB, /* 0xA8-0xAB */ + 0xCB, 0xE3, 0xF7, 0xA9, 0x3F, 0x3F, 0xFB, 0xA6, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xB9, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xC0, /* 0xB4-0xB7 */ + 0xED, 0xC8, 0xEF, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xD6, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xCE, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xA1, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xFB, 0xF4, 0xD5, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xF1, 0xF6, 0x3F, 0x3F, 0xE6, 0xD3, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xCC, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xF8, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xDC, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_71[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xFD, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xE5, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xF1, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xDB, 0xCC, 0xDD, 0xCD, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xC8, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xD9, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xA5, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xE6, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xD4, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xC8, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xD6, 0xA1, 0xFD, 0xBF, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xFC, 0xD3, 0x3F, 0x3F, 0xEF, 0xA1, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xE7, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xEE, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xE6, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xE9, 0xF2, 0x3F, 0x3F, 0xDF, 0xB0, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xD8, 0xE0, 0xFC, 0xBA, 0xFD, 0xAF, 0xF0, 0xCE, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xDB, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xE5, 0xC9, 0x3F, 0x3F, 0xED, 0xB4, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xE0, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xE3, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xE9, 0xFB, 0xEA, 0xA8, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xB7, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xA7, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xE9, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xFD, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xD9, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xEC, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xE8, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xE6, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xFD, 0xF8, 0xFD, 0xF9, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xBF, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xE7, 0xA7, 0x3F, 0x3F, 0xE6, 0xD7, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xD4, 0xF3, 0xD4, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xFA, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xD7, 0xF2, 0x3F, 0x3F, 0xE1, 0xC0, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xDB, 0xE2, 0xE6, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xBD, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xF0, 0xCF, 0xF3, 0xBE, 0xE2, 0xAC, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xF5, 0xB7, 0xE0, 0xF0, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xB8, /* 0xF8-0xFB */ + 0xE3, 0xE8, 0x3F, 0x3F, 0xD4, 0xA7, 0xE8, 0xFC, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_72[512] = { + 0xFA, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xEF, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xD6, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xB4, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xD0, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xF7, 0xF0, 0xEE, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xEA, 0xBA, 0x3F, 0x3F, 0xEA, 0xD3, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xED, 0xC9, 0xDD, 0xAB, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xAC, 0xFD, 0xA1, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xDF, 0xD0, 0xEC, 0xB3, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xDF, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xED, 0xF8, 0xB8, /* 0x44-0x47 */ + 0xF7, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xF8, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xE0, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xD4, 0xBA, 0xE4, 0xB3, 0x3F, 0x3F, 0xE9, 0xDA, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xDE, 0xB6, 0x3F, 0x3F, 0xD9, 0xBF, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xD9, 0xC0, 0xD6, 0xEF, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xCC, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xDA, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xE5, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xF7, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xCC, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xDF, 0xF9, 0xD7, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xBB, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xFA, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xCC, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xF3, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xDF, 0xD2, 0x3F, 0x3F, 0xCE, 0xCA, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xEE, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xE4, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xFB, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xB7, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xEE, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xCE, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xE2, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xD7, 0xE1, 0xFA, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xD5, 0xC9, 0xF8, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_73[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xD9, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xE9, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xED, /* 0x18-0x1B */ + 0xE3, 0xC4, 0xF0, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xE8, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xE0, 0xFA, 0xEE, 0xC4, 0xD9, 0xDE, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xA2, 0xEB, 0xA3, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xC2, 0xEA, 0xBB, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xE8, 0xAB, 0xDE, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xED, 0xEF, 0x3F, 0x3F, 0xE8, 0xA3, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xF1, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xD4, 0xBC, 0x3F, 0x3F, 0xFC, 0xEA, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xE7, 0xBE, 0x3F, 0x3F, 0xFC, 0xF2, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xD6, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xE2, 0xAE, 0x3F, 0x3F, 0xD3, 0xB7, 0xFA, 0xCC, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xFA, 0xDC, 0x3F, 0x3F, 0xED, 0xB5, 0xE1, 0xE3, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xE8, 0xAC, 0x3F, 0x3F, 0xE8, 0xDD, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xE9, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xF4, 0xBD, 0x3F, 0x3F, 0xCF, 0xB8, 0xE9, 0xDB, /* 0x94-0x97 */ + 0xD1, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xC7, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xC9, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xE8, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xDE, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xBC, 0xD3, 0xE5, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xFA, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xDA, 0xD6, 0x3F, 0x3F, 0xCA, 0xB1, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xDA, 0xC8, 0xDF, 0xA6, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xF9, 0xB3, 0xF2, 0xD2, 0x3F, 0x3F, 0xCA, 0xC4, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xCB, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xCD, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xFD, 0xB0, 0xD5, 0xA8, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xF1, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xE9, /* 0xE0-0xE3 */ + 0xDC, 0xCA, 0xEC, 0xB4, 0xFA, 0xC0, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xFB, 0xA8, 0xD0, 0xA8, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xDA, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xEE, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xE0, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xEF, 0xEA, 0xFA, 0xDE, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_74[512] = { + 0x3F, 0x3F, 0xE0, 0xC4, 0x3F, 0x3F, 0xCF, 0xB9, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xD5, 0xCA, 0xD7, 0xE2, 0xE2, 0xAF, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xD7, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xCD, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xDA, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xEF, 0xA2, 0xE2, 0xDA, 0xF6, 0xFC, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xFB, 0xD0, 0xD1, 0xAD, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xCD, 0xE4, 0x3F, 0x3F, 0xD1, 0xAE, 0xDC, 0xED, /* 0x28-0x2B */ + 0xE8, 0xCE, 0x3F, 0x3F, 0xF0, 0xF9, 0xCE, 0xB5, /* 0x2C-0x2F */ + 0xE6, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xFB, /* 0x30-0x33 */ + 0xD0, 0xD6, 0xDD, 0xF5, 0xF7, 0xF1, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xF6, 0xFD, 0x3F, 0x3F, 0xDB, 0xF7, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xEA, /* 0x3C-0x3F */ + 0xE9, 0xDC, 0xD9, 0xC1, 0x3F, 0x3F, 0xF5, 0xF2, /* 0x40-0x43 */ + 0xE0, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xD4, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xF9, 0xC2, 0x3F, 0x3F, 0xEA, 0xBC, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xD2, 0xC5, 0xFB, 0xD1, 0xE7, 0xC0, /* 0x58-0x5B */ + 0xEB, 0xA5, 0x3F, 0x3F, 0xDF, 0xFA, 0xE3, 0xA2, /* 0x5C-0x5F */ + 0xD7, 0xB9, 0x3F, 0x3F, 0xE9, 0xC3, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xE8, 0xFD, 0xE8, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xF2, 0xD3, 0xFB, 0xA9, 0xD8, 0xA5, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xCB, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xC8, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xAF, 0xD7, 0xE3, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xC6, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xD6, 0xA2, 0x3F, 0x3F, 0xED, 0xF0, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xD7, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xFC, 0xD4, 0x3F, 0x3F, 0xDA, 0xD7, 0xCC, 0xDF, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xF2, 0xD4, 0x3F, 0x3F, 0xD1, 0xB0, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xCC, 0xE0, 0x3F, 0x3F, 0xDB, 0xFD, /* 0xA4-0xA7 */ + 0xF3, 0xBF, 0x3F, 0x3F, 0xF0, 0xD1, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xFC, 0xBB, 0x3F, 0x3F, 0xE2, 0xB0, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xE6, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xE2, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xDF, 0xDE, 0x3F, 0x3F, 0xE0, 0xC7, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xEF, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xE1, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xEA, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xE7, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xCE, 0xB6, 0x3F, 0x3F, 0xF3, 0xC0, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xCD, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xFB, 0xD2, 0x3F, 0x3F, 0xF8, 0xF8, 0xF7, 0xFB, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xBF, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xB7, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xB6, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_75[512] = { + 0x3F, 0x3F, 0xDC, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xCC, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xF1, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xE8, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xCA, 0xF6, 0x3F, 0x3F, 0xE4, 0xA4, 0xF4, 0xD6, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xE6, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xA7, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xDF, 0xE7, 0xE1, 0xC1, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xE9, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xCB, /* 0x28-0x2B */ + 0xE9, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xEF, 0xA3, 0xEB, 0xA6, 0xCB, 0xA3, 0xE3, 0xE9, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xFB, /* 0x34-0x37 */ + 0xEF, 0xA4, 0x3F, 0x3F, 0xEF, 0xEB, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xB4, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xCD, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xE6, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xEF, 0xA5, 0x3F, 0x3F, 0xD3, 0xCC, /* 0x50-0x53 */ + 0xDA, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xD7, 0xBA, 0x3F, 0x3F, 0xF2, 0xD5, /* 0x58-0x5B */ + 0xF5, 0xE5, 0xD9, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xB4, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xD5, 0xD4, 0xFD, 0xCF, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xE3, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xE1, /* 0x6C-0x6F */ + 0xEC, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xFB, 0xFE, 0xD3, 0xD7, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xD1, 0xB1, 0x3F, 0x3F, 0xCB, 0xB1, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xB2, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xB2, 0xF1, 0xC2, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xE1, 0xF9, 0xB5, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xC3, 0xE1, 0xC2, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xEB, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xDF, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xCB, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xB9, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xF8, 0xDE, 0xF9, 0xAA, 0xCA, 0xF7, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xED, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xD3, 0xB8, 0xF2, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xD4, 0xD9, 0xEE, 0xC5, 0xF2, 0xF0, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xB2, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xDC, 0xBB, 0x3F, 0x3F, 0xF1, 0xF8, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xEC, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xCA, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xF6, 0xC0, 0xFD, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xD4, 0xE3, 0xCC, 0xE2, 0x3F, 0x3F, 0xF7, 0xD4, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xE5, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xD3, 0xC3, 0x3F, 0x3F, 0xD8, 0xA6, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xF6, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xF6, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xCD, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_76[512] = { + 0xE5, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE5, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xE1, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xB0, /* 0x1C-0x1F */ + 0xF4, 0xB0, 0xF3, 0xEA, 0xDA, 0xEE, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xD7, 0xBB, 0x3F, 0x3F, 0xE2, 0xB1, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xAA, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xFB, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xE4, 0xDF, 0x3F, 0x3F, 0xCA, 0xD6, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xA8, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xFE, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xF6, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xEF, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xD4, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xE0, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xE8, 0xB9, 0x3F, 0x3F, 0xEF, 0xA6, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xCD, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xF4, /* 0x78-0x7B */ + 0xDB, 0xA1, 0xDB, 0xDC, 0xDB, 0xDD, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xEE, 0xDC, 0x3F, 0x3F, 0xCB, 0xCB, 0xFC, 0xD5, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xEB, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xCD, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xD3, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xAB, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xD4, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xA9, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xDD, 0xDB, 0xCD, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xCE, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xE7, 0xC3, 0x3F, 0x3F, 0xEC, 0xCC, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xEC, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xCC, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xFC, /* 0xD8-0xDB */ + 0xD4, 0xA8, 0x3F, 0x3F, 0xED, 0xD3, 0xD8, 0xEF, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xF2, 0xD7, 0x3F, 0x3F, 0xCA, 0xF8, /* 0xE0-0xE3 */ + 0xDA, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xD4, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xCD, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xEE, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xF2, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xDF, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xDA, 0xF0, 0x3F, 0x3F, 0xE2, 0xEA, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_77[512] = { + 0x3F, 0x3F, 0xE0, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xD8, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xF7, 0xAF, 0xDA, 0xB6, 0x3F, 0x3F, 0xCA, 0xD7, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xD8, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xD8, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xFA, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xEF, /* 0x34-0x37 */ + 0xD9, 0xC2, 0x3F, 0x3F, 0xF0, 0xD2, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xE4, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xF3, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xFA, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xEC, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xE2, 0xB2, 0x3F, 0x3F, 0xD4, 0xBD, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xCE, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xE2, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xD4, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xC2, 0xE7, 0xDA, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xD9, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xD9, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xBE, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xDC, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xE2, 0xEB, 0xD6, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xCA, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xDA, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xD7, /* 0xB8-0xBB */ + 0xCC, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xBA, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xB8, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xC3, /* 0xD8-0xDB */ + 0xD0, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xC5, 0xEB, 0xF8, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xF2, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xCF, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xD3, 0xAD, 0xE8, 0xE1, 0xCE, 0xEC, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xB4, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_78[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xE3, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xF7, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xF2, 0xB2, 0xF3, 0xF6, 0xF6, 0xDB, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xD7, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xDF, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xF7, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xD0, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xDA, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xF5, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xBC, /* 0x68-0x6B */ + 0xCC, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xDB, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xDD, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xD1, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xED, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xD6, 0xDE, 0xE4, 0xF4, 0xE1, 0xEF, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xDD, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xCF, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xE5, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xA1, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xE0, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xAC, 0xFC, 0xAD, /* 0xB8-0xBB */ + 0xD8, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xED, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xDB, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xF0, 0xF3, 0xAF, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xA5, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xDA, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xD8, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xCC, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xB4, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xCA, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xF2, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_79[512] = { + 0x3F, 0x3F, 0xF5, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xA8, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xA6, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xEC, 0xD5, 0xF8, /* 0x28-0x2B */ + 0xDA, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xC6, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xE4, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xDE, 0xE5, 0xD1, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xB6, /* 0x44-0x47 */ + 0xD1, 0xB7, 0xF2, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xE9, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xD3, 0xF2, 0xB4, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xD4, 0xCB, 0xE4, /* 0x58-0x5B */ + 0xFB, 0xD4, 0xF5, 0xE6, 0xE3, 0xEA, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xDE, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xDF, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xF8, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xF0, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xB8, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xDF, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xD0, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xFC, 0xA1, 0xEF, 0xEE, 0xDC, 0xD8, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xE9, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xDD, 0xFD, 0xFB, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xC9, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xC9, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xD4, 0xAA, 0x3F, 0x3F, 0xE5, 0xCC, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xE9, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xD0, 0xD8, 0xFC, 0xA2, 0xD4, 0xBE, /* 0xBC-0xBF */ + 0xE2, 0xB3, 0xDE, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xDC, 0xBC, 0xD2, 0xB6, 0xF5, 0xD5, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xCE, 0xA1, 0xF5, 0xA9, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xDD, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xDD, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xD5, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xF6, 0xDF, 0x3F, 0x3F, 0xF2, 0xDA, 0xE4, 0xEB, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xF2, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xB9, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7A[512] = { + 0xFD, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xE1, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xCA, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xEF, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xF5, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xEC, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xAD, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xF2, 0xC2, 0xF6, 0xC3, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xD7, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xA2, /* 0x1C-0x1F */ + 0xF0, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xFA, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xF6, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xF3, 0xF2, 0xC3, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xAB, /* 0x38-0x3B */ + 0xCA, 0xB3, 0xCD, 0xA6, 0x3F, 0x3F, 0xCD, 0xC3, /* 0x3C-0x3F */ + 0xCD, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xCF, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xF6, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xEE, 0xDD, 0xE7, 0xC4, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xB4, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xDF, 0xE2, 0xE7, 0xDB, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xE8, 0xB1, 0x3F, 0x3F, 0xFC, 0xAE, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xE5, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xFA, 0xEB, 0x3F, 0x3F, 0xCF, 0xBC, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xCF, 0xE2, 0xCD, 0xF6, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xEF, 0xF0, 0x3F, 0x3F, 0xF4, 0xBE, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xD4, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xF3, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xE9, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xF2, 0xF3, 0xEB, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xF0, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xCF, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xDF, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xE8, 0xC0, 0xE8, 0xC1, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xE3, 0xE9, 0xA2, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xAA, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xF3, 0xC1, 0xD0, 0xAB, 0x3F, 0x3F, 0xD4, 0xE4, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xBC, 0xD8, 0xA1, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xDF, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xF3, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xDC, 0xBD, 0x3F, 0x3F, 0xCC, 0xE5, /* 0xDC-0xDF */ + 0xED, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xE2, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xD4, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xB5, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xCA, 0xE6, 0x3F, 0x3F, 0xD3, 0xAE, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xE6, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xF1, 0xD3, 0xF5, 0xE7, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xDA, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7B[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xEE, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xE1, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xDF, 0xE9, 0x3F, 0x3F, 0xEE, 0xDE, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xC2, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xD8, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xAC, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xF0, 0xAF, 0xD6, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xE1, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xB6, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xD4, 0xF5, 0x3F, 0x3F, 0xD0, 0xC9, /* 0x48-0x4B */ + 0xEF, 0xA7, 0xE2, 0xEC, 0x3F, 0x3F, 0xDB, 0xEA, /* 0x4C-0x4F */ + 0xCE, 0xCC, 0xF5, 0xE8, 0xF7, 0xD5, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xD3, 0xCD, 0x3F, 0x3F, 0xF3, 0xFE, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xD0, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xE0, 0xFE, 0x3F, 0x3F, 0xDF, 0xFB, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xE6, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xE8, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xCD, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xA8, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xB4, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xDA, 0xD8, 0xD1, 0xB9, 0x3F, 0x3F, 0xDF, 0xA9, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xB0, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xCC, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xCE, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xEF, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xDF, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xED, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xEE, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xEF, 0xBD, 0xFC, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xDB, 0xF4, 0x3F, 0x3F, 0xEF, 0xAA, 0xF8, 0xB9, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xF5, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xD9, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xE1, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xD4, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xDE, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7C[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xEA, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xC2, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xAF, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xCA, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xD7, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xD8, 0xE1, 0xC7, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xF4, 0xD8, 0xD6, 0xB3, 0xDD, 0xAD, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xBE, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xF1, 0xC3, 0xEE, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xD6, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xF4, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xD7, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xB7, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xFB, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xDD, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xA3, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xDA, 0xD9, 0x3F, 0x3F, 0xF0, 0xD8, /* 0x94-0x97 */ + 0xEF, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xD8, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xF1, 0xD4, 0x3F, 0x3F, 0xED, 0xF2, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xDB, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xD5, 0xDC, 0xF3, 0xC4, 0xCB, 0xD7, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xE2, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xF1, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xD5, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xD8, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xD0, 0xF0, 0xD9, /* 0xDC-0xDF */ + 0xCB, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xDD, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xA7, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xAC, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7D[512] = { + 0xD1, 0xBA, 0x3F, 0x3F, 0xF1, 0xC4, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xE5, 0xB3, 0xFB, 0xF5, 0xE9, 0xE1, 0xFD, 0xE0, /* 0x04-0x07 */ + 0xFC, 0xBC, 0x3F, 0x3F, 0xDA, 0xA2, 0xDA, 0xA3, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xD2, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xD2, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xE2, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xE9, /* 0x14-0x17 */ + 0xCE, 0xDC, 0xF2, 0xB5, 0xD0, 0xE4, 0xDD, 0xD1, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xE1, 0xC8, 0xDB, 0xB7, 0xDF, 0xE3, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xB9, /* 0x28-0x2B */ + 0xF1, 0xC5, 0x3F, 0x3F, 0xF3, 0xCF, 0xD7, 0xAB, /* 0x2C-0x2F */ + 0xE1, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xEB, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xEE, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xE1, 0xC9, 0xCA, 0xFA, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xFB, 0xFA, 0xE1, /* 0x40-0x43 */ + 0xF0, 0xDA, 0xCC, 0xE7, 0xDA, 0xF4, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xCC, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xED, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xD5, 0xA9, 0xFA, 0xE2, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xE5, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xEB, 0xD6, 0x3F, 0x3F, 0xEC, 0xDF, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xFC, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xF7, 0xD6, 0xDE, 0xEA, 0xCB, 0xB4, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xBE, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xCC, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xBD, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xF2, 0xE2, 0xB7, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xE8, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xF0, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xD6, 0xE0, 0x3F, 0x3F, 0xF1, 0xC6, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xE2, 0xB8, 0xEB, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xCB, 0xB5, 0xD8, 0xD1, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xF4, 0xCE, 0xF3, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xD7, 0xC6, 0x3F, 0x3F, 0xD1, 0xBB, 0xF7, 0xAA, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xED, 0xCA, 0xD7, 0xD3, 0xD8, 0xFA, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xC5, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xCC, 0xDD, 0xFC, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xFD, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xF9, 0xE5, 0x3F, 0x3F, 0xE0, 0xCA, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xF2, 0xFD, 0xD3, 0xB0, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xF4, 0xF3, 0xDA, 0xC9, 0x3F, 0x3F, 0xE6, 0xDE, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xF8, 0xBA, 0xE8, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xD8, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xD5, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xD6, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xC6, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF2, 0xDB, 0xE4, 0xFC, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xE8, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xDA, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xF2, 0xDC, 0xFB, 0xD6, 0xE9, 0xB2, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xEE, 0xAD, 0x3F, 0x3F, 0xFA, 0xE3, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xEE, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xEA, 0xE6, 0xE0, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xF0, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xAC, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xF5, 0xC5, 0xEE, 0xE0, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xDB, 0xE5, 0x3F, 0x3F, 0xDD, 0xDE, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xF0, 0xE9, 0xA3, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xF9, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xF2, 0xC4, 0xE0, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xA4, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xE2, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xE3, 0xB1, 0xFC, 0xEB, 0xCD, 0xA8, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xCC, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xF0, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xE6, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xCD, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xC3, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xE1, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xAB, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xC5, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xE9, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xF3, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xC0, /* 0x98-0x9B */ + 0xD5, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7F[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xAE, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xF9, 0xFC, 0x3F, 0x3F, 0xCC, 0xC0, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xE5, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xCE, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xD8, 0xD2, 0xF9, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xAA, 0xCE, 0xD1, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xC7, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xDB, 0xEB, 0x3F, 0x3F, 0xDF, 0xFE, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xD8, 0xE1, 0x3F, 0x3F, 0xF7, 0xF3, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xD7, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xD4, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xD1, 0xBC, 0x3F, 0x3F, 0xE5, 0xCF, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xCB, 0xB6, 0x3F, 0x3F, 0xDA, 0xB8, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xCD, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xBE, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xBA, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xCF, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xE0, 0xCC, 0xEB, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xFD, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xD7, 0xE8, 0xCB, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xE9, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xE8, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xE3, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xCD, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xEC, 0xCE, 0x3F, 0x3F, 0xD6, 0xBF, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xA7, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xDF, 0xD6, 0xFD, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xE1, /* 0xDC-0xDF */ + 0xF6, 0xA8, 0xDD, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xF8, 0xBB, 0x3F, 0x3F, 0xE8, 0xD1, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xF9, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xCE, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xEC, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_80[512] = { + 0xE9, 0xA5, 0xD6, 0xD5, 0x3F, 0x3F, 0xCD, 0xC5, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xED, 0xBA, 0xD1, 0xBD, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xCF, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xEC, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xD2, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xCC, 0xE9, 0x3F, 0x3F, 0xD9, 0xC4, /* 0x14-0x17 */ + 0xE9, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xD1, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xBC, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xAD, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xF7, 0xB0, 0x3F, 0x3F, 0xCC, 0xEA, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xC4, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xC0, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xFD, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xA1, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xDE, 0xBD, 0x3F, 0x3F, 0xF6, 0xA9, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xA4, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xA4, /* 0x6C-0x6F */ + 0xF5, 0xC6, 0x3F, 0x3F, 0xE1, 0xA2, 0xE9, 0xC6, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xC5, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xF4, 0xE9, 0xD6, 0xEC, 0xEB, 0xD3, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xEC, 0xBD, 0xE2, 0xDC, 0xDE, 0xEB, 0xF0, 0xDC, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xEB, 0xBF, 0x3F, 0x3F, 0xD7, 0xCE, /* 0x88-0x8B */ + 0xD1, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xAB, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xFD, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xCA, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xCD, 0xC6, 0xF2, 0xB6, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xDD, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xCC, 0xB7, 0xDB, 0xB8, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xE9, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xCE, 0xDD, 0xEB, 0xC0, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xFD, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xCB, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xD6, /* 0xC0-0xC3 */ + 0xF1, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xDB, 0xCE, 0x3F, 0x3F, 0xF7, 0xC3, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xCF, 0xCB, 0xA4, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xE0, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xFB, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xEB, 0xCA, 0xE0, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xCE, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xD4, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xFD, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xD2, 0xF6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_81[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xB7, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xFA, 0xF6, 0xF6, 0xAA, 0xFA, 0xF7, /* 0x04-0x07 */ + 0xD8, 0xE6, 0x3F, 0x3F, 0xF4, 0xB1, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xE8, 0xD2, 0x3F, 0x3F, 0xCA, 0xC5, 0xCC, 0xEB, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xEE, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xE2, 0xBB, 0x3F, 0x3F, 0xF7, 0xAD, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xE1, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xF3, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xA1, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xFD, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xEC, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xDD, 0xAF, 0xDD, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xCB, 0xB7, 0xE8, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xE1, 0xA3, 0xD2, 0xE0, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xFE, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xE9, 0xA6, 0xCB, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xED, 0xF3, 0xDC, 0xD9, 0xE0, 0xCD, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xDA, /* 0x7C-0x7F */ + + 0xDB, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xCC, 0xAE, 0x3F, 0x3F, 0xDA, 0xDB, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xC7, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xB1, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xD8, 0xAF, 0xE3, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xCE, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xF3, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xF8, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xCE, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xF5, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xEC, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xD3, 0xC5, 0xFC, 0xEC, 0xD2, 0xDB, /* 0xBC-0xBF */ + 0xD4, 0xEB, 0x3F, 0x3F, 0xDE, 0xA2, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xE6, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xF0, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xD5, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xF4, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xED, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xE8, 0xC2, 0x3F, 0x3F, 0xED, 0xF5, /* 0xE4-0xE7 */ + 0xD7, 0xFC, 0x3F, 0x3F, 0xED, 0xBB, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xF6, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xB8, /* 0xF0-0xF3 */ + 0xF6, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xE6, 0xF2, 0xDD, /* 0xF8-0xFB */ + 0xCF, 0xBF, 0x3F, 0x3F, 0xEB, 0xAC, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_82[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xCF, 0xC0, 0x3F, 0x3F, 0xE6, 0xA8, /* 0x04-0x07 */ + 0xFD, 0xE9, 0x3F, 0x3F, 0xCF, 0xC1, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xE0, 0xDF, 0xDE, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xA2, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xBF, /* 0x18-0x1B */ + 0xE2, 0xEF, 0x3F, 0x3F, 0xD9, 0xF1, 0xF1, 0xC7, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xCB, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xFE, 0xDB, 0xBA, /* 0x28-0x2B */ + 0xDA, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xF6, 0xEC, 0xDA, 0xDC, 0xFA, 0xE4, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xE0, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xDD, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xE6, 0xA9, 0x3F, 0x3F, 0xEF, 0xF3, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xF3, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xEB, 0xFA, 0x3F, 0x3F, 0xF9, 0xE6, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xDD, 0xD5, 0xDE, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xCA, 0xDE, 0xDF, 0xE4, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xFD, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xF5, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xF5, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xE3, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xED, 0xCB, 0xCF, 0xE4, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xD3, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xDD, 0xB3, 0xD4, 0xEC, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xF2, 0xB9, 0x3F, 0x3F, 0xDF, 0xB7, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xCB, 0xCE, 0xFB, 0xD8, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xD0, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xDD, 0xD2, 0xF7, 0xF4, 0xE7, 0xDC, 0xE4, 0xA5, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xFC, 0xA3, 0x3F, 0x3F, 0xDB, 0xBB, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xBA, /* 0xB4-0xB7 */ + 0xE9, 0xFD, 0xD0, 0xCA, 0x3F, 0x3F, 0xF5, 0xD6, /* 0xB8-0xBB */ + 0xD9, 0xC5, 0xE4, 0xB4, 0x3F, 0x3F, 0xED, 0xA7, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xEA, 0xBD, 0xE6, 0xFE, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xF7, 0xC4, 0xF5, 0xAD, 0x3F, 0x3F, 0xD9, 0xE0, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xB4, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xE2, 0xCF, 0xC2, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xEC, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xE5, 0xB4, 0xCD, 0xC8, 0xEE, 0xC8, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xE7, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xCD, 0xC9, 0xF9, 0xB7, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_83[512] = { + 0x3F, 0x3F, 0xF1, 0xE8, 0xD9, 0xF2, 0xDB, 0xF5, /* 0x00-0x03 */ + 0xCA, 0xB5, 0xD9, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xD8, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xAB, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xED, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xD4, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xDA, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xE2, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xFC, 0xED, 0xEC, 0xE0, 0xD2, 0xFE, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xE9, 0xC7, 0xE6, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xE2, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xBB, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xF5, 0xAE, 0xFB, 0xAA, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xFB, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xEC, 0xBF, 0xFC, 0xD8, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xE5, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xC3, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xE2, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xD7, 0xE9, 0xED, 0xF6, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xED, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xEC, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xE3, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xD4, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xF8, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xDD, 0xB4, 0xE4, 0xB5, 0xD8, 0xB0, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xD8, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xF4, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xCE, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xD6, 0xE1, 0xCF, 0xD2, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xD0, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xA2, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xEE, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xF3, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xDC, 0xCC, 0x3F, 0x3F, 0xD0, 0xCB, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xA4, /* 0xEC-0xEF */ + 0xCD, 0xCA, 0xD7, 0xD4, 0xDE, 0xA3, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xE4, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xEE, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xE2, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_84[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xFE, /* 0x00-0x03 */ + 0xD4, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xD1, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xD8, 0xF0, 0xF8, 0xC3, 0xEA, 0xD7, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xF5, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xD8, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xFD, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xEB, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xD5, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xE7, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xCA, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xE7, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xF8, 0xE3, 0x3F, 0x3F, 0xD4, 0xDD, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xD8, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xD9, /* 0x68-0x6B */ + 0xED, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xB5, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xD0, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xF1, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xE2, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xE3, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xD9, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xDF, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xDB, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xE4, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xF1, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xB6, /* 0xB8-0xBB */ + 0xF3, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xDA, /* 0xBC-0xBF */ + 0xE1, 0xE0, 0x3F, 0x3F, 0xD9, 0xAC, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xF5, 0xEB, 0x3F, 0x3F, 0xE0, 0xB6, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xE9, 0xC8, 0x3F, 0x3F, 0xCB, 0xCF, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xE3, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xDE, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xBE, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xDC, 0xEF, 0x3F, 0x3F, 0xD6, 0xA5, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xE2, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xD6, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_85[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xD9, 0xA1, 0x3F, 0x3F, 0xD8, 0xC0, /* 0x10-0x13 */ + 0xDC, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xBD, /* 0x14-0x17 */ + 0xDF, 0xB8, 0x3F, 0x3F, 0xEA, 0xA5, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xAD, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xF3, 0xF9, 0x3F, 0x3F, 0xED, 0xF8, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xF5, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xE1, 0xCA, 0xEB, 0xE3, 0x3F, 0x3F, 0xF2, 0xDE, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xF8, 0xCC, 0x3F, 0x3F, 0xEA, 0xD9, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xD3, 0xC6, 0x3F, 0x3F, 0xDB, 0xE6, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xF5, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xF0, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xFE, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xFB, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xF2, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xCF, 0xF2, 0xF7, 0xB9, 0xD9, 0xF3, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xE1, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xDA, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xB9, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xFB, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xCB, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xED, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xE0, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xC0, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xFD, 0xBC, 0xDF, 0xB1, 0xE3, 0xEF, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xA3, /* 0xAC-0xAF */ + 0xFD, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xB1, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xCD, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xED, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xD5, 0xC0, 0xE3, 0xF0, 0xED, 0xFA, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xE9, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xD5, 0xED, 0xE7, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xD4, 0xF6, 0xE5, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xDB, 0xE7, 0xE2, 0xBF, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xCB, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xF4, 0xF0, 0xDD, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xAB, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_86[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xDE, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xD6, 0xE1, 0xCC, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xB3, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xEE, 0xDC, 0xA2, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xD0, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xD5, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xA1, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xDB, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xF9, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xCB, 0xF3, 0xF4, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xC8, /* 0x58-0x5B */ + 0xD6, 0xD7, 0x3F, 0x3F, 0xE9, 0xE5, 0xFB, 0xDC, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xD0, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xFB, 0xF6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xA5, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xDB, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xE2, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xF7, /* 0xA0-0xA3 */ + 0xF0, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xF6, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xEF, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xB1, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xFC, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xE8, 0xC3, 0x3F, 0x3F, 0xF1, 0xC8, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xF1, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xF9, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xF2, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xB6, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_87[512] = { + 0xF5, 0xB9, 0x3F, 0x3F, 0xDC, 0xF0, 0xE3, 0xF1, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xE8, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xF2, 0xBB, 0x3F, 0x3F, 0xDE, 0xA4, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xDA, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xE9, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xE3, 0xDA, 0x3F, 0x3F, 0xFC, 0xD9, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xDA, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xC4, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xE3, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xFB, 0xDD, 0x3F, 0x3F, 0xEF, 0xCA, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xE8, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xCC, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xEB, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xAD, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xAB, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xD9, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xA2, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xF6, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xDA, 0xF6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xE0, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xA8, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xF9, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xFA, 0xAF, 0x3F, 0x3F, 0xEB, 0xFC, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xEA, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_88[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xE3, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xC5, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xE3, 0xD5, 0xEE, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xCD, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xD9, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xC1, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xFA, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xEB, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xFA, 0xBC, 0xE6, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xE5, 0xE2, 0xFA, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xB6, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xE4, 0xB7, 0x3F, 0x3F, 0xEA, 0xDB, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xF5, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xFB, 0xAC, 0xCF, 0xC3, 0xEB, 0xFD, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xF8, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xB9, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xE1, 0xF1, 0x3F, 0x3F, 0xD2, 0xA4, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xFB, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xDA, 0xD0, 0xDB, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xEA, 0xBE, 0xD9, 0xB1, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xCA, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xE7, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xF8, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xB2, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xC0, 0xF2, 0xDF, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xE5, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xAC, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xCD, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xEE, 0xAE, 0xD6, 0xAE, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xEA, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xE7, 0xE0, 0xEB, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xCF, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xDC, 0xCD, 0xED, 0xFB, 0x3F, 0x3F, 0xDE, 0xF0, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xD7, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xDE, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xD7, /* 0xF0-0xF3 */ + 0xDB, 0xD0, 0xDB, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xD5, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xF0, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_89[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xDC, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xCA, 0xE8, 0x3F, 0x3F, 0xF8, 0xE6, 0xDC, 0xCE, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xEA, 0xDC, 0xDB, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xE9, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xDB, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xA8, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xD7, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xE1, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xCB, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xE5, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xDC, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xD5, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xCA, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xA9, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xA4, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xE9, 0xA9, 0x3F, 0x3F, 0xD3, 0xC7, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xDD, 0xF8, 0xAE, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xB8, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xAE, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xF2, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xCA, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xCC, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xD4, 0xAD, 0xF6, 0xD1, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xCC, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xC6, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xD5, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xCE, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xC7, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xB0, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xDF, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xF5, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8A[512] = { + 0xE5, 0xEB, 0x3F, 0x3F, 0xEF, 0xF4, 0xDD, 0xB5, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xCD, 0xAA, 0x3F, 0x3F, 0xE3, 0xF2, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xFB, 0xF7, 0x3F, 0x3F, 0xF7, 0xD0, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xBA, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xE1, 0xF6, 0xFE, /* 0x14-0x17 */ + 0xD1, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xC5, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xE4, 0xB8, 0x3F, 0x3F, 0xE1, 0xE8, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xC1, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xD2, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xBE, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xE0, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xFA, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xE1, 0xCD, 0x3F, 0x3F, 0xCA, 0xB8, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xE0, 0xF1, 0xC9, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xDE, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xF0, 0xDF, 0xF8, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xCC, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xF2, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xE7, 0xC9, 0x3F, 0x3F, 0xE2, 0xF3, 0xE7, 0xE1, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xCB, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xE3, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xCF, 0xF8, 0xEF, 0xAC, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xFD, 0xFE, 0xFC, 0xA5, 0xFA, 0xB1, 0xDF, 0xD9, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xE0, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xF4, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xF1, 0xCA, 0x3F, 0x3F, 0xCE, 0xA3, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xF2, 0xBC, 0xEC, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xA5, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xF7, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xEB, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xDE, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xE1, 0xA4, 0xCD, 0xAB, 0x3F, 0x3F, 0xD9, 0xF4, /* 0xA0-0xA3 */ + 0xE8, 0xA6, 0xCD, 0xCE, 0xE1, 0xE9, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xFC, 0xEF, 0x3F, 0x3F, 0xE0, 0xE3, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xE2, 0xC1, 0x3F, 0x3F, 0xCE, 0xA4, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xDE, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xEB, 0xFE, 0x3F, 0x3F, 0xEB, 0xDD, 0xF0, 0xE0, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xDB, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xE2, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xC8, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xEB, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xEE, 0xB5, 0x3F, 0x3F, 0xF5, 0xD8, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xDF, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xE5, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xB0, /* 0xD8-0xDB */ + 0xF4, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xE3, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xF4, 0xFA, 0xB2, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xF5, 0xCA, 0xDF, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xEB, 0xB1, 0xED, 0xBF, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xFD, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xA6, 0xF9, 0xA4, /* 0xF4-0xF7 */ + 0xF0, 0xB3, 0x3F, 0x3F, 0xE5, 0xEC, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xE7, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8B[512] = { + 0xD9, 0xC7, 0xE4, 0xD7, 0xEA, 0xDD, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xD4, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xBA, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xDA, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xF9, 0xCC, 0x3F, 0x3F, 0xE1, 0xDA, 0xDB, 0xBF, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xCC, 0xC5, 0xEC, 0xD0, 0xCB, 0xBB, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xDE, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xE9, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xD9, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xE3, /* 0x28-0x2B */ + 0xD7, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xC4, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xD0, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xFC, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xF1, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xD2, 0xD1, 0xC1, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xE3, 0xDB, 0x3F, 0x3F, 0xD3, 0xC9, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xDC, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xED, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xDE, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xBB, /* 0x6C-0x6F */ + 0xEC, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xCC, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xDE, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xE7, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xD4, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xA8, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xE2, 0xC2, 0x3F, 0x3F, 0xF3, 0xD8, 0xE5, 0xD3, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xD9, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xC6, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8C[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xDB, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xAC, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xFC, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xE7, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xD1, 0xC2, 0x3F, 0x3F, 0xF9, 0xA5, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xE8, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xE3, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xCA, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xDF, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xDF, 0xE7, 0xE3, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xF8, 0xFB, 0xE3, 0xCF, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xB0, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xE7, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xD9, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xF8, 0xAF, 0xEF, 0xF6, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xDD, 0xB6, 0xEE, 0xAF, 0xCD, 0xF8, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xB8, /* 0xA4-0xA7 */ + 0xFC, 0xA7, 0xF7, 0xFC, 0xF7, 0xB1, 0xCE, 0xBB, /* 0xA8-0xAB */ + 0xF4, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xCD, /* 0xAC-0xAF */ + 0xE1, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xC3, /* 0xB0-0xB3 */ + 0xCF, 0xFE, 0x3F, 0x3F, 0xF8, 0xBF, 0xD8, 0xE2, /* 0xB4-0xB7 */ + 0xD3, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xA8, /* 0xB8-0xBB */ + 0xF4, 0xE4, 0xEC, 0xC2, 0x3F, 0x3F, 0xD9, 0xF5, /* 0xBC-0xBF */ + 0xF9, 0xC5, 0xDD, 0xD3, 0xD6, 0xF1, 0xEC, 0xFC, /* 0xC0-0xC3 */ + 0xFC, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xC0, /* 0xC4-0xC7 */ + 0xCA, 0xB9, 0x3F, 0x3F, 0xEE, 0xE4, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xF2, 0xE1, 0x3F, 0x3F, 0xDE, 0xB9, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xF2, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xDE, 0xF4, 0x3F, 0x3F, 0xDF, 0xDB, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xDB, 0xD3, 0x3F, 0x3F, 0xFA, 0xE7, 0xD8, 0xE3, /* 0xE0-0xE3 */ + 0xF4, 0xC1, 0x3F, 0x3F, 0xDD, 0xB7, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xF5, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xD4, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xD6, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xB8, /* 0xF8-0xFB */ + 0xCF, 0xC5, 0xDF, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8D[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xF2, 0xBE, 0xF6, 0xA1, 0x3F, 0x3F, 0xEB, 0xCB, /* 0x04-0x07 */ + 0xF1, 0xFC, 0x3F, 0x3F, 0xF3, 0xC7, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE0, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xFC, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xDB, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xEE, 0xE5, 0x3F, 0x3F, 0xDE, 0xF5, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xD3, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xF1, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xAF, /* 0x70-0x73 */ + 0xDD, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xC3, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xF5, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xC6, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xF0, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xAC, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xF5, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xEB, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xBA, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xBF, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xC5, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xA2, /* 0xC8-0xCB */ + 0xF2, 0xF6, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xBA, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xF5, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xCB, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xEE, 0xE6, 0x3F, 0x3F, 0xE0, 0xD3, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xCE, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xD8, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xAF, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xC9, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xCE, /* 0x0C-0x0F */ + 0xF4, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xE6, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xA1, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xEB, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xF1, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xB3, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xF0, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xF4, /* 0x44-0x47 */ + 0xD4, 0xB0, 0xF3, 0xB2, 0xFB, 0xB7, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xF5, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xE7, /* 0x5C-0x5F */ + 0xF4, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xF5, 0xED, 0x3F, 0x3F, 0xCF, 0xF3, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xF0, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xCE, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xCC, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xE5, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xF5, 0xE3, 0xF3, /* 0xA8-0xAB */ + 0xCF, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xCF, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xB3, 0xE4, 0xD8, /* 0xC8-0xCB */ + 0xCF, 0xF9, 0xCF, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xCD, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xE3, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xE2, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xF5, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xBB, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xDC, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8F[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xF2, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xD6, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xEE, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xE5, 0xD8, 0xC2, /* 0x10-0x13 */ + 0xDC, 0xD0, 0xCC, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xE0, /* 0x18-0x1B */ + 0xF6, 0xCA, 0xFD, 0xCA, 0xD8, 0xD6, 0xF4, 0xCF, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xA6, 0xDC, 0xBE, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xDB, 0xD4, 0xD7, 0xC7, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xFE, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xCD, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xE2, 0xC3, 0xDC, 0xDE, 0x3F, 0x3F, 0xDC, 0xDF, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xAD, 0xE6, 0xAB, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xF9, 0xDD, 0xEA, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xEF, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xF4, 0xD0, 0xCE, 0xF3, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xE6, 0xAC, 0x3F, 0x3F, 0xCE, 0xDE, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xF9, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xF4, /* 0x98-0x9B */ + 0xCD, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xB8, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xFD, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xDC, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xDE, 0xF6, 0x3F, 0x3F, 0xDC, 0xAA, /* 0xAC-0xAF */ + 0xF2, 0xE3, 0xE9, 0xB4, 0xD2, 0xDC, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xE6, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xE3, 0xF6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xCA, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xD0, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xDA, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xBC, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xE8, 0xDA, 0xDE, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xF2, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xE2, 0xFB, 0x3F, 0x3F, 0xCC, 0xA6, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xBB, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xEE, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xF5, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_90[512] = { + 0xF7, 0xDC, 0xE1, 0xEA, 0xCE, 0xC1, 0xD4, 0xB1, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xFD, 0xB1, 0xE6, 0xBD, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xFB, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xE7, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE1, 0xCE, 0x3F, 0x3F, 0xF7, 0xE2, /* 0x0C-0x0F */ + 0xF5, 0xEF, 0xCF, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xD4, 0xB2, 0xCC, 0xEF, 0x3F, 0x3F, 0xD4, 0xE8, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xEE, 0xCF, 0xF7, 0xD7, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xE0, 0xA6, 0xD6, 0xC1, 0xE1, 0xDC, /* 0x1C-0x1F */ + 0xF0, 0xE3, 0xF1, 0xE4, 0xDC, 0xF1, 0xD6, 0xA7, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xF5, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xF1, 0xCE, 0xF2, 0xE4, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xD0, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xEC, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xF9, 0xBA, 0x3F, 0x3F, 0xEB, 0xB5, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xD4, 0xED, 0xE2, 0xC4, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xE7, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xB4, 0xEA, 0xA1, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xF8, 0xBC, 0xCE, 0xA6, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xF9, 0xC6, 0xFC, 0xDA, 0x3F, 0x3F, 0xD4, 0xB3, /* 0x50-0x53 */ + 0xD3, 0xB9, 0xEA, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xE9, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xE1, 0xE1, 0xD3, 0xCF, 0xF4, 0xF6, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xEA, 0xC0, 0xE1, 0xCF, 0x3F, 0x3F, 0xCC, 0xBA, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xEE, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xF0, 0xE4, 0xF3, 0xB4, 0xD4, 0xEE, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xC0, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xF1, 0xE5, 0x3F, 0x3F, 0xF4, 0xC3, /* 0x74-0x77 */ + 0xE0, 0xD4, 0x3F, 0x3F, 0xEB, 0xB6, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xD7, 0xA1, 0xCB, 0xE8, 0x3F, 0x3F, 0xF9, 0xAD, /* 0x7C-0x7F */ + + 0xE9, 0xAD, 0xD8, 0xE4, 0xFA, 0xB3, 0xE2, 0xC5, /* 0x80-0x83 */ + 0xFC, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xC4, /* 0x84-0x87 */ + 0xD8, 0xB1, 0x3F, 0x3F, 0xDC, 0xAB, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xA4, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xEB, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xE8, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xD8, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xAE, 0xD1, 0xE1, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xC0, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xF5, 0xBE, 0x3F, 0x3F, 0xDE, 0xF7, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xFB, /* 0xAC-0xAF */ + 0xF7, 0xC6, 0xCF, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xE1, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xEE, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xE9, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xF4, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xCD, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xCF, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xDD, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xCE, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xE9, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xD4, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_91[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xC7, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xDB, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xFA, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xDE, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xF8, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xEF, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xB3, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xEB, 0xB7, 0xEF, 0xF8, 0xF5, 0xDC, /* 0x48-0x4B */ + 0xED, 0xCC, 0xDB, 0xD5, 0xF1, 0xCF, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xD0, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xB2, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xD9, 0xAE, 0xD5, 0xAC, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xE2, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xFD, 0xA3, 0x3F, 0x3F, 0xFB, 0xE5, /* 0x74-0x77 */ + 0xDF, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xF5, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xF6, 0xAD, 0x3F, 0x3F, 0xF5, 0xB3, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xF0, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xA5, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xF5, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xA2, /* 0xA8-0xAB */ + 0xED, 0xFD, 0x3F, 0x3F, 0xF5, 0xB4, 0xFB, 0xB8, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xDB, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xD6, 0xCA, 0xCB, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xE5, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xFA, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xEB, 0xB8, 0x3F, 0x3F, 0xE0, 0xB7, /* 0xC8-0xCB */ + 0xD7, 0xEC, 0xF1, 0xEC, 0xE5, 0xAF, 0xD5, 0xE1, /* 0xCC-0xCF */ + 0xD7, 0xED, 0xD1, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xF2, /* 0xD4-0xD7 */ + 0xEF, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xDD, 0xBC, 0xF6, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xE5, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xC4, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xE9, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xF3, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_92[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xD4, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xCC, 0xA2, 0xF7, 0xFE, 0xDF, 0xBC, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xCD, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xB7, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xD6, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xAD, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xAF, /* 0x3C-0x3F */ + 0xCB, 0xA5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xCB, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xFA, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xC6, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xE7, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xC7, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xA4, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xCF, 0xC9, 0xE2, 0xFC, 0xEF, 0xFA, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xEB, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xC8, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xD4, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xE0, 0xD5, 0x3F, 0x3F, 0xEF, 0xB0, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xC7, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xD9, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xF9, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xE5, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xCA, 0xE1, 0xD1, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xE2, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xEF, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xF9, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xF2, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xE0, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xE8, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xCB, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xCB, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_93[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xD6, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xF5, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xF5, 0xDF, 0x3F, 0x3F, 0xEE, 0xB6, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xF6, 0xD3, 0xCA, /* 0x1C-0x1F */ + 0xEF, 0xFC, 0xD1, 0xC4, 0xEF, 0xB1, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xD1, 0xC5, 0x3F, 0x3F, 0xD0, 0xDE, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xD9, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xB8, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xD1, 0xF3, 0xB9, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xE7, 0xCC, 0x3F, 0x3F, 0xD6, 0xA8, 0xCE, 0xA7, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xD4, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xE4, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xB4, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xB9, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xCB, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xF6, 0xDD, 0x3F, 0x3F, 0xF1, 0xA3, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xCC, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xE9, 0xCA, 0x3F, 0x3F, 0xE1, 0xF0, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xE0, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xAF, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xD1, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xFB, 0xE0, 0xF2, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xEC, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xEC, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xEE, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xCB, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xCC, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xD7, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xA1, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_94[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xFC, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xF1, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xE0, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xB2, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xF4, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xF7, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xF1, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xCA, 0xFC, 0xCA, 0xFD, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xCE, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xF3, 0xC8, 0x3F, 0x3F, 0xF3, 0xBA, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_95[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xFE, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xDA, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xEC, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xF8, 0xCD, 0x3F, 0x3F, 0xCB, 0xD2, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xCE, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xF9, 0xD8, 0xF9, 0xD9, 0xCA, 0xE0, /* 0x90-0x93 */ + 0xDA, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xCB, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xC8, /* 0xA0-0xA3 */ + 0xF9, 0xEE, 0xDB, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xD0, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xD5, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xE6, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xA2, /* 0xB8-0xBB */ + 0xE4, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xE1, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xC4, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xF9, 0xEF, 0xCF, 0xF4, 0xF7, 0xE6, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xCE, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xF4, 0xC5, 0xDC, 0xA3, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_96[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xDD, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xF4, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xA1, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xD6, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xC1, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xE6, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xB9, /* 0x3C-0x3F */ + 0xF6, 0xED, 0x3F, 0x3F, 0xF9, 0xAE, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xDD, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xB0, /* 0x48-0x4B */ + 0xD8, 0xE8, 0xCB, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xF9, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xCE, /* 0x58-0x5B */ + 0xF9, 0xF0, 0xE0, 0xED, 0xE3, 0xB3, 0xF4, 0xB3, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xC2, 0xF2, 0xE6, /* 0x60-0x63 */ + 0xF0, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xD6, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xEB, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xE7, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xD7, 0xD5, 0xD4, 0xB6, 0xF9, 0xE8, /* 0x74-0x77 */ + 0xD7, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xE5, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xE9, 0xEA, 0xD7, 0xCC, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xE9, 0xE2, 0xC9, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xFC, 0xDB, 0xCD, 0xAD, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xCC, 0xB0, 0xEA, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xE4, 0xF6, 0xD0, 0xC0, 0x3F, 0x3F, 0xF0, 0xB7, /* 0x98-0x9B */ + 0xEE, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xF6, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xCA, /* 0xA4-0xA7 */ + 0xE2, 0xCB, 0x3F, 0x3F, 0xFA, 0xCF, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xEB, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xCB, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xB4, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xED, 0xCD, 0xE4, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xEA, 0xA9, 0xE4, 0xBA, 0xF3, 0xA2, 0xCD, 0xD2, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xF6, 0xCB, 0x3F, 0x3F, 0xF1, 0xE6, /* 0xC8-0xCB */ + 0xED, 0xC1, 0xE8, 0xBC, 0xEE, 0xD1, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xF0, 0xE7, 0xE2, 0xCC, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xE4, 0xAA, 0x3F, 0x3F, 0xF5, 0xE1, /* 0xD8-0xDB */ + 0xED, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xEE, 0xD1, 0xF1, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xE9, 0xEB, 0xE9, 0xEC, 0xE0, 0xE4, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xA7, /* 0xEC-0xEF */ + 0xDD, 0xD4, 0x3F, 0x3F, 0xEA, 0xA3, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xC3, 0xD6, 0xF4, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xDA, 0xDF, 0x3F, 0x3F, 0xEF, 0xB3, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_97[512] = { + 0xE2, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xFD, 0xF2, 0xE8, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xEF, 0xC5, 0x3F, 0x3F, 0xE7, 0xE7, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xFD, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xE7, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xDF, 0xDC, 0x3F, 0x3F, 0xF9, 0xC7, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xF6, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xDF, 0xAC, 0x3F, 0x3F, 0xD6, 0xDA, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xDC, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xF0, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xFA, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xE4, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xD6, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xF4, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xFE, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xF0, 0xA1, 0x3F, 0x3F, 0xDE, 0xAA, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xDA, 0xBC, 0xD8, 0xFC, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xFA, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xEC, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xFC, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xE6, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xCB, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xB9, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xE4, 0xD3, 0x3F, 0x3F, 0xCD, 0xF9, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xCF, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xCA, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xD4, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xF8, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xC7, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xDF, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xDB, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xD4, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xE5, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xD2, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xA4, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xC2, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_98[512] = { + 0xFB, 0xE1, 0xFA, 0xED, 0xF0, 0xA2, 0xCC, 0xF1, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xFA, 0xA3, 0xE2, 0xF7, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xE2, 0xCE, 0x3F, 0x3F, 0xE9, 0xF5, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xE1, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xE7, 0xE8, 0xE8, 0xD7, 0xDA, 0xF8, 0xD4, 0xCB, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xF6, /* 0x14-0x17 */ + 0xD6, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xD4, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xFA, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xCC, 0xF2, 0xF7, 0xDD, 0x3F, 0x3F, 0xDE, 0xBA, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xA8, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xF0, 0xB9, 0xE4, 0xFE, 0xE4, 0xC9, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xE4, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xEA, 0xC3, 0x3F, 0x3F, 0xEF, 0xB4, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xBE, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xFB, 0xE2, 0x3F, 0x3F, 0xCD, 0xD3, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xB5, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xE9, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xF9, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xBD, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xF7, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xF8, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xFC, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xAB, /* 0xD8-0xDB */ + 0xDB, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xDD, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xE1, 0xE2, 0xD1, 0xC6, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xF6, 0xD0, 0xEB, 0xE6, 0xDA, 0xF9, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xEC, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xDE, 0xF8, 0xF8, 0xE9, 0xE3, 0xDE, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_99[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xF5, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xFA, 0xC3, 0xE5, 0xD7, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xEC, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xF3, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xBB, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xE6, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xB6, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xDC, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xCE, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xD8, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xD0, 0xCF, 0x3F, 0x3F, 0xCF, 0xFA, /* 0x48-0x4B */ + 0xF3, 0xCA, 0xE0, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xD1, 0xC7, 0xE9, 0xAE, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xE8, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0xFA, 0xC4, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xCF, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xFA, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xF9, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xDC, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xFB, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xD8, 0xA9, 0xE5, 0xDF, 0xF9, 0xA7, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xF6, 0xEE, 0x3F, 0x3F, 0xF6, 0xCC, /* 0xB0-0xB3 */ + 0xE2, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xEC, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xDA, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xF1, 0xD2, 0xD2, 0xCC, 0xCF, 0xCB, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xCA, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xDD, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xF6, 0xEF, 0x3F, 0x3F, 0xDE, 0xF9, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xFA, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xD5, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xE7, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9A[512] = { + 0x3F, 0x3F, 0xDE, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xDC, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xC8, 0xD1, 0xC9, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xF8, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xF6, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xD4, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xE2, 0xE1, 0xD3, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xD8, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xFE, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xCF, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xFD, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xCE, 0xF6, 0x3F, 0x3F, 0xFA, 0xD0, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xF3, 0xE6, 0xBE, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xAE, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xF0, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xD1, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xFC, 0xBE, 0xD5, 0xF1, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xCD, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xFA, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xD0, /* 0xD0-0xD3 */ + 0xF4, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xCD, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xE7, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xA5, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9B[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xD1, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xA2, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xE3, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xEA, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xD0, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xCE, 0xDA, 0xFB, 0xEB, 0xDB, 0xA6, /* 0x40-0x43 */ + 0xDB, 0xDE, 0xD8, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xE0, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xD8, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xE0, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xDB, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xC6, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xF8, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xD5, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xF7, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xD8, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xD7, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xED, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xCD, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xCC, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9C[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xF5, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xE4, 0xCA, 0x3F, 0x3F, 0xDC, 0xE1, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xF9, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xFC, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xA7, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xC4, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xBE, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xDC, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xF7, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xF0, 0xE8, 0x3F, 0x3F, 0xDD, 0xC0, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xCF, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xF3, /* 0xF0-0xF3 */ + 0xD9, 0xB0, 0x3F, 0x3F, 0xE6, 0xE9, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9D[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xE4, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xC4, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xEC, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xE4, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFB, 0xF8, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xCC, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xE4, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xCD, 0xDC, 0xD9, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xDD, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xCE, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xD9, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xA3, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xF9, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xCD, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xCE, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xAF, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xFD, 0xD3, 0xEB, 0xED, 0xD6, 0xDC, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xA4, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xB6, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xD6, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xF9, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xE7, 0xA4, 0x3F, 0x3F, 0xD6, 0xE3, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xCB, 0xD6, 0xE4, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xF2, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xDE, 0xFA, 0x3F, 0x3F, 0xD7, 0xF8, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xD8, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xCF, 0xD5, 0xD8, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xAB, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xFD, 0xCB, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFC, 0xDC, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xE0, 0xA8, 0xD5, 0xF3, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xFD, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xCC, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xD9, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xEA, /* 0xD8-0xDB */ + 0xF5, 0xF5, 0x3F, 0x3F, 0xEF, 0xC7, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xD3, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xDA, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9F[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xA8, /* 0x04-0x07 */ + 0xDC, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xA3, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xD5, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xE0, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xAC, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xBA, 0xEE, 0xB1, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xB2, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xCD, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xD2, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xD6, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xE5, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xBB, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xE5, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xCB, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xD7, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xDB, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xCA, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xCF, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_AC[512] = { + 0xB0, 0xA1, 0xB0, 0xA2, 0x81, 0x41, 0x81, 0x42, /* 0x00-0x03 */ + 0xB0, 0xA3, 0x81, 0x43, 0x81, 0x44, 0xB0, 0xA4, /* 0x04-0x07 */ + 0xB0, 0xA5, 0xB0, 0xA6, 0xB0, 0xA7, 0x81, 0x45, /* 0x08-0x0B */ + 0x81, 0x46, 0x81, 0x47, 0x81, 0x48, 0x81, 0x49, /* 0x0C-0x0F */ + 0xB0, 0xA8, 0xB0, 0xA9, 0xB0, 0xAA, 0xB0, 0xAB, /* 0x10-0x13 */ + 0xB0, 0xAC, 0xB0, 0xAD, 0xB0, 0xAE, 0xB0, 0xAF, /* 0x14-0x17 */ + 0x81, 0x4A, 0xB0, 0xB0, 0xB0, 0xB1, 0xB0, 0xB2, /* 0x18-0x1B */ + 0xB0, 0xB3, 0xB0, 0xB4, 0x81, 0x4B, 0x81, 0x4C, /* 0x1C-0x1F */ + 0xB0, 0xB5, 0x81, 0x4D, 0x81, 0x4E, 0x81, 0x4F, /* 0x20-0x23 */ + 0xB0, 0xB6, 0x81, 0x50, 0x81, 0x51, 0x81, 0x52, /* 0x24-0x27 */ + 0x81, 0x53, 0x81, 0x54, 0x81, 0x55, 0x81, 0x56, /* 0x28-0x2B */ + 0xB0, 0xB7, 0xB0, 0xB8, 0x81, 0x57, 0xB0, 0xB9, /* 0x2C-0x2F */ + 0xB0, 0xBA, 0xB0, 0xBB, 0x81, 0x58, 0x81, 0x59, /* 0x30-0x33 */ + 0x81, 0x5A, 0x81, 0x61, 0x81, 0x62, 0x81, 0x63, /* 0x34-0x37 */ + 0xB0, 0xBC, 0xB0, 0xBD, 0x81, 0x64, 0x81, 0x65, /* 0x38-0x3B */ + 0xB0, 0xBE, 0x81, 0x66, 0x81, 0x67, 0x81, 0x68, /* 0x3C-0x3F */ + 0xB0, 0xBF, 0x81, 0x69, 0x81, 0x6A, 0x81, 0x6B, /* 0x40-0x43 */ + 0x81, 0x6C, 0x81, 0x6D, 0x81, 0x6E, 0x81, 0x6F, /* 0x44-0x47 */ + 0x81, 0x70, 0x81, 0x71, 0x81, 0x72, 0xB0, 0xC0, /* 0x48-0x4B */ + 0x81, 0x73, 0xB0, 0xC1, 0x81, 0x74, 0x81, 0x75, /* 0x4C-0x4F */ + 0x81, 0x76, 0x81, 0x77, 0x81, 0x78, 0x81, 0x79, /* 0x50-0x53 */ + 0xB0, 0xC2, 0x81, 0x7A, 0x81, 0x81, 0x81, 0x82, /* 0x54-0x57 */ + 0xB0, 0xC3, 0x81, 0x83, 0x81, 0x84, 0x81, 0x85, /* 0x58-0x5B */ + 0xB0, 0xC4, 0x81, 0x86, 0x81, 0x87, 0x81, 0x88, /* 0x5C-0x5F */ + 0x81, 0x89, 0x81, 0x8A, 0x81, 0x8B, 0x81, 0x8C, /* 0x60-0x63 */ + 0x81, 0x8D, 0x81, 0x8E, 0x81, 0x8F, 0x81, 0x90, /* 0x64-0x67 */ + 0x81, 0x91, 0x81, 0x92, 0x81, 0x93, 0x81, 0x94, /* 0x68-0x6B */ + 0x81, 0x95, 0x81, 0x96, 0x81, 0x97, 0x81, 0x98, /* 0x6C-0x6F */ + 0xB0, 0xC5, 0xB0, 0xC6, 0x81, 0x99, 0x81, 0x9A, /* 0x70-0x73 */ + 0xB0, 0xC7, 0x81, 0x9B, 0x81, 0x9C, 0xB0, 0xC8, /* 0x74-0x77 */ + 0xB0, 0xC9, 0x81, 0x9D, 0xB0, 0xCA, 0x81, 0x9E, /* 0x78-0x7B */ + 0x81, 0x9F, 0x81, 0xA0, 0x81, 0xA1, 0x81, 0xA2, /* 0x7C-0x7F */ + + 0xB0, 0xCB, 0xB0, 0xCC, 0x81, 0xA3, 0xB0, 0xCD, /* 0x80-0x83 */ + 0xB0, 0xCE, 0xB0, 0xCF, 0xB0, 0xD0, 0x81, 0xA4, /* 0x84-0x87 */ + 0x81, 0xA5, 0xB0, 0xD1, 0xB0, 0xD2, 0xB0, 0xD3, /* 0x88-0x8B */ + 0xB0, 0xD4, 0x81, 0xA6, 0x81, 0xA7, 0x81, 0xA8, /* 0x8C-0x8F */ + 0xB0, 0xD5, 0x81, 0xA9, 0x81, 0xAA, 0x81, 0xAB, /* 0x90-0x93 */ + 0xB0, 0xD6, 0x81, 0xAC, 0x81, 0xAD, 0x81, 0xAE, /* 0x94-0x97 */ + 0x81, 0xAF, 0x81, 0xB0, 0x81, 0xB1, 0x81, 0xB2, /* 0x98-0x9B */ + 0xB0, 0xD7, 0xB0, 0xD8, 0x81, 0xB3, 0xB0, 0xD9, /* 0x9C-0x9F */ + 0xB0, 0xDA, 0xB0, 0xDB, 0x81, 0xB4, 0x81, 0xB5, /* 0xA0-0xA3 */ + 0x81, 0xB6, 0x81, 0xB7, 0x81, 0xB8, 0x81, 0xB9, /* 0xA4-0xA7 */ + 0xB0, 0xDC, 0xB0, 0xDD, 0xB0, 0xDE, 0x81, 0xBA, /* 0xA8-0xAB */ + 0xB0, 0xDF, 0x81, 0xBB, 0x81, 0xBC, 0xB0, 0xE0, /* 0xAC-0xAF */ + 0xB0, 0xE1, 0x81, 0xBD, 0x81, 0xBE, 0x81, 0xBF, /* 0xB0-0xB3 */ + 0x81, 0xC0, 0x81, 0xC1, 0x81, 0xC2, 0x81, 0xC3, /* 0xB4-0xB7 */ + 0xB0, 0xE2, 0xB0, 0xE3, 0x81, 0xC4, 0xB0, 0xE4, /* 0xB8-0xBB */ + 0xB0, 0xE5, 0xB0, 0xE6, 0x81, 0xC5, 0x81, 0xC6, /* 0xBC-0xBF */ + 0x81, 0xC7, 0xB0, 0xE7, 0x81, 0xC8, 0x81, 0xC9, /* 0xC0-0xC3 */ + 0xB0, 0xE8, 0x81, 0xCA, 0x81, 0xCB, 0x81, 0xCC, /* 0xC4-0xC7 */ + 0xB0, 0xE9, 0x81, 0xCD, 0x81, 0xCE, 0x81, 0xCF, /* 0xC8-0xCB */ + 0xB0, 0xEA, 0x81, 0xD0, 0x81, 0xD1, 0x81, 0xD2, /* 0xCC-0xCF */ + 0x81, 0xD3, 0x81, 0xD4, 0x81, 0xD5, 0x81, 0xD6, /* 0xD0-0xD3 */ + 0x81, 0xD7, 0xB0, 0xEB, 0x81, 0xD8, 0xB0, 0xEC, /* 0xD4-0xD7 */ + 0x81, 0xD9, 0x81, 0xDA, 0x81, 0xDB, 0x81, 0xDC, /* 0xD8-0xDB */ + 0x81, 0xDD, 0x81, 0xDE, 0x81, 0xDF, 0x81, 0xE0, /* 0xDC-0xDF */ + 0xB0, 0xED, 0xB0, 0xEE, 0x81, 0xE1, 0x81, 0xE2, /* 0xE0-0xE3 */ + 0xB0, 0xEF, 0x81, 0xE3, 0x81, 0xE4, 0xB0, 0xF0, /* 0xE4-0xE7 */ + 0xB0, 0xF1, 0x81, 0xE5, 0xB0, 0xF2, 0x81, 0xE6, /* 0xE8-0xEB */ + 0xB0, 0xF3, 0x81, 0xE7, 0x81, 0xE8, 0xB0, 0xF4, /* 0xEC-0xEF */ + 0xB0, 0xF5, 0xB0, 0xF6, 0x81, 0xE9, 0xB0, 0xF7, /* 0xF0-0xF3 */ + 0x81, 0xEA, 0xB0, 0xF8, 0xB0, 0xF9, 0x81, 0xEB, /* 0xF4-0xF7 */ + 0x81, 0xEC, 0x81, 0xED, 0x81, 0xEE, 0x81, 0xEF, /* 0xF8-0xFB */ + 0xB0, 0xFA, 0xB0, 0xFB, 0x81, 0xF0, 0x81, 0xF1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_AD[512] = { + 0xB0, 0xFC, 0x81, 0xF2, 0x81, 0xF3, 0x81, 0xF4, /* 0x00-0x03 */ + 0xB0, 0xFD, 0x81, 0xF5, 0xB0, 0xFE, 0x81, 0xF6, /* 0x04-0x07 */ + 0x81, 0xF7, 0x81, 0xF8, 0x81, 0xF9, 0x81, 0xFA, /* 0x08-0x0B */ + 0xB1, 0xA1, 0xB1, 0xA2, 0x81, 0xFB, 0xB1, 0xA3, /* 0x0C-0x0F */ + 0x81, 0xFC, 0xB1, 0xA4, 0x81, 0xFD, 0x81, 0xFE, /* 0x10-0x13 */ + 0x82, 0x41, 0x82, 0x42, 0x82, 0x43, 0x82, 0x44, /* 0x14-0x17 */ + 0xB1, 0xA5, 0x82, 0x45, 0x82, 0x46, 0x82, 0x47, /* 0x18-0x1B */ + 0xB1, 0xA6, 0x82, 0x48, 0x82, 0x49, 0x82, 0x4A, /* 0x1C-0x1F */ + 0xB1, 0xA7, 0x82, 0x4B, 0x82, 0x4C, 0x82, 0x4D, /* 0x20-0x23 */ + 0x82, 0x4E, 0x82, 0x4F, 0x82, 0x50, 0x82, 0x51, /* 0x24-0x27 */ + 0x82, 0x52, 0xB1, 0xA8, 0x82, 0x53, 0x82, 0x54, /* 0x28-0x2B */ + 0xB1, 0xA9, 0xB1, 0xAA, 0x82, 0x55, 0x82, 0x56, /* 0x2C-0x2F */ + 0x82, 0x57, 0x82, 0x58, 0x82, 0x59, 0x82, 0x5A, /* 0x30-0x33 */ + 0xB1, 0xAB, 0xB1, 0xAC, 0x82, 0x61, 0x82, 0x62, /* 0x34-0x37 */ + 0xB1, 0xAD, 0x82, 0x63, 0x82, 0x64, 0x82, 0x65, /* 0x38-0x3B */ + 0xB1, 0xAE, 0x82, 0x66, 0x82, 0x67, 0x82, 0x68, /* 0x3C-0x3F */ + 0x82, 0x69, 0x82, 0x6A, 0x82, 0x6B, 0x82, 0x6C, /* 0x40-0x43 */ + 0xB1, 0xAF, 0xB1, 0xB0, 0x82, 0x6D, 0xB1, 0xB1, /* 0x44-0x47 */ + 0x82, 0x6E, 0xB1, 0xB2, 0x82, 0x6F, 0x82, 0x70, /* 0x48-0x4B */ + 0x82, 0x71, 0x82, 0x72, 0x82, 0x73, 0x82, 0x74, /* 0x4C-0x4F */ + 0xB1, 0xB3, 0x82, 0x75, 0x82, 0x76, 0x82, 0x77, /* 0x50-0x53 */ + 0xB1, 0xB4, 0x82, 0x78, 0x82, 0x79, 0x82, 0x7A, /* 0x54-0x57 */ + 0xB1, 0xB5, 0x82, 0x81, 0x82, 0x82, 0x82, 0x83, /* 0x58-0x5B */ + 0x82, 0x84, 0x82, 0x85, 0x82, 0x86, 0x82, 0x87, /* 0x5C-0x5F */ + 0x82, 0x88, 0xB1, 0xB6, 0x82, 0x89, 0xB1, 0xB7, /* 0x60-0x63 */ + 0x82, 0x8A, 0x82, 0x8B, 0x82, 0x8C, 0x82, 0x8D, /* 0x64-0x67 */ + 0x82, 0x8E, 0x82, 0x8F, 0x82, 0x90, 0x82, 0x91, /* 0x68-0x6B */ + 0xB1, 0xB8, 0xB1, 0xB9, 0x82, 0x92, 0x82, 0x93, /* 0x6C-0x6F */ + 0xB1, 0xBA, 0x82, 0x94, 0x82, 0x95, 0xB1, 0xBB, /* 0x70-0x73 */ + 0xB1, 0xBC, 0xB1, 0xBD, 0xB1, 0xBE, 0x82, 0x96, /* 0x74-0x77 */ + 0x82, 0x97, 0x82, 0x98, 0x82, 0x99, 0xB1, 0xBF, /* 0x78-0x7B */ + 0xB1, 0xC0, 0xB1, 0xC1, 0x82, 0x9A, 0xB1, 0xC2, /* 0x7C-0x7F */ + + 0x82, 0x9B, 0xB1, 0xC3, 0xB1, 0xC4, 0x82, 0x9C, /* 0x80-0x83 */ + 0x82, 0x9D, 0x82, 0x9E, 0x82, 0x9F, 0x82, 0xA0, /* 0x84-0x87 */ + 0xB1, 0xC5, 0xB1, 0xC6, 0x82, 0xA1, 0x82, 0xA2, /* 0x88-0x8B */ + 0xB1, 0xC7, 0x82, 0xA3, 0x82, 0xA4, 0x82, 0xA5, /* 0x8C-0x8F */ + 0xB1, 0xC8, 0x82, 0xA6, 0x82, 0xA7, 0x82, 0xA8, /* 0x90-0x93 */ + 0x82, 0xA9, 0x82, 0xAA, 0x82, 0xAB, 0x82, 0xAC, /* 0x94-0x97 */ + 0x82, 0xAD, 0x82, 0xAE, 0x82, 0xAF, 0x82, 0xB0, /* 0x98-0x9B */ + 0xB1, 0xC9, 0xB1, 0xCA, 0x82, 0xB1, 0x82, 0xB2, /* 0x9C-0x9F */ + 0x82, 0xB3, 0x82, 0xB4, 0x82, 0xB5, 0x82, 0xB6, /* 0xA0-0xA3 */ + 0xB1, 0xCB, 0x82, 0xB7, 0x82, 0xB8, 0x82, 0xB9, /* 0xA4-0xA7 */ + 0x82, 0xBA, 0x82, 0xBB, 0x82, 0xBC, 0x82, 0xBD, /* 0xA8-0xAB */ + 0x82, 0xBE, 0x82, 0xBF, 0x82, 0xC0, 0x82, 0xC1, /* 0xAC-0xAF */ + 0x82, 0xC2, 0x82, 0xC3, 0x82, 0xC4, 0x82, 0xC5, /* 0xB0-0xB3 */ + 0x82, 0xC6, 0x82, 0xC7, 0x82, 0xC8, 0xB1, 0xCC, /* 0xB4-0xB7 */ + 0x82, 0xC9, 0x82, 0xCA, 0x82, 0xCB, 0x82, 0xCC, /* 0xB8-0xBB */ + 0x82, 0xCD, 0x82, 0xCE, 0x82, 0xCF, 0x82, 0xD0, /* 0xBC-0xBF */ + 0xB1, 0xCD, 0xB1, 0xCE, 0x82, 0xD1, 0x82, 0xD2, /* 0xC0-0xC3 */ + 0xB1, 0xCF, 0x82, 0xD3, 0x82, 0xD4, 0x82, 0xD5, /* 0xC4-0xC7 */ + 0xB1, 0xD0, 0x82, 0xD6, 0x82, 0xD7, 0x82, 0xD8, /* 0xC8-0xCB */ + 0x82, 0xD9, 0x82, 0xDA, 0x82, 0xDB, 0x82, 0xDC, /* 0xCC-0xCF */ + 0xB1, 0xD1, 0xB1, 0xD2, 0x82, 0xDD, 0xB1, 0xD3, /* 0xD0-0xD3 */ + 0x82, 0xDE, 0x82, 0xDF, 0x82, 0xE0, 0x82, 0xE1, /* 0xD4-0xD7 */ + 0x82, 0xE2, 0x82, 0xE3, 0x82, 0xE4, 0x82, 0xE5, /* 0xD8-0xDB */ + 0xB1, 0xD4, 0x82, 0xE6, 0x82, 0xE7, 0x82, 0xE8, /* 0xDC-0xDF */ + 0xB1, 0xD5, 0x82, 0xE9, 0x82, 0xEA, 0x82, 0xEB, /* 0xE0-0xE3 */ + 0xB1, 0xD6, 0x82, 0xEC, 0x82, 0xED, 0x82, 0xEE, /* 0xE4-0xE7 */ + 0x82, 0xEF, 0x82, 0xF0, 0x82, 0xF1, 0x82, 0xF2, /* 0xE8-0xEB */ + 0x82, 0xF3, 0x82, 0xF4, 0x82, 0xF5, 0x82, 0xF6, /* 0xEC-0xEF */ + 0x82, 0xF7, 0x82, 0xF8, 0x82, 0xF9, 0x82, 0xFA, /* 0xF0-0xF3 */ + 0x82, 0xFB, 0x82, 0xFC, 0x82, 0xFD, 0x82, 0xFE, /* 0xF4-0xF7 */ + 0xB1, 0xD7, 0xB1, 0xD8, 0x83, 0x41, 0x83, 0x42, /* 0xF8-0xFB */ + 0xB1, 0xD9, 0x83, 0x43, 0x83, 0x44, 0xB1, 0xDA, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_AE[512] = { + 0xB1, 0xDB, 0xB1, 0xDC, 0x83, 0x45, 0x83, 0x46, /* 0x00-0x03 */ + 0x83, 0x47, 0x83, 0x48, 0x83, 0x49, 0x83, 0x4A, /* 0x04-0x07 */ + 0xB1, 0xDD, 0xB1, 0xDE, 0x83, 0x4B, 0xB1, 0xDF, /* 0x08-0x0B */ + 0x83, 0x4C, 0xB1, 0xE0, 0x83, 0x4D, 0x83, 0x4E, /* 0x0C-0x0F */ + 0x83, 0x4F, 0x83, 0x50, 0x83, 0x51, 0x83, 0x52, /* 0x10-0x13 */ + 0xB1, 0xE1, 0x83, 0x53, 0x83, 0x54, 0x83, 0x55, /* 0x14-0x17 */ + 0x83, 0x56, 0x83, 0x57, 0x83, 0x58, 0x83, 0x59, /* 0x18-0x1B */ + 0x83, 0x5A, 0x83, 0x61, 0x83, 0x62, 0x83, 0x63, /* 0x1C-0x1F */ + 0x83, 0x64, 0x83, 0x65, 0x83, 0x66, 0x83, 0x67, /* 0x20-0x23 */ + 0x83, 0x68, 0x83, 0x69, 0x83, 0x6A, 0x83, 0x6B, /* 0x24-0x27 */ + 0x83, 0x6C, 0x83, 0x6D, 0x83, 0x6E, 0x83, 0x6F, /* 0x28-0x2B */ + 0x83, 0x70, 0x83, 0x71, 0x83, 0x72, 0x83, 0x73, /* 0x2C-0x2F */ + 0xB1, 0xE2, 0xB1, 0xE3, 0x83, 0x74, 0x83, 0x75, /* 0x30-0x33 */ + 0xB1, 0xE4, 0x83, 0x76, 0x83, 0x77, 0xB1, 0xE5, /* 0x34-0x37 */ + 0xB1, 0xE6, 0x83, 0x78, 0xB1, 0xE7, 0x83, 0x79, /* 0x38-0x3B */ + 0x83, 0x7A, 0x83, 0x81, 0x83, 0x82, 0x83, 0x83, /* 0x3C-0x3F */ + 0xB1, 0xE8, 0xB1, 0xE9, 0x83, 0x84, 0xB1, 0xEA, /* 0x40-0x43 */ + 0x83, 0x85, 0xB1, 0xEB, 0xB1, 0xEC, 0x83, 0x86, /* 0x44-0x47 */ + 0x83, 0x87, 0x83, 0x88, 0xB1, 0xED, 0x83, 0x89, /* 0x48-0x4B */ + 0xB1, 0xEE, 0xB1, 0xEF, 0xB1, 0xF0, 0x83, 0x8A, /* 0x4C-0x4F */ + 0xB1, 0xF1, 0x83, 0x8B, 0x83, 0x8C, 0x83, 0x8D, /* 0x50-0x53 */ + 0xB1, 0xF2, 0x83, 0x8E, 0xB1, 0xF3, 0x83, 0x8F, /* 0x54-0x57 */ + 0x83, 0x90, 0x83, 0x91, 0x83, 0x92, 0x83, 0x93, /* 0x58-0x5B */ + 0xB1, 0xF4, 0xB1, 0xF5, 0x83, 0x94, 0xB1, 0xF6, /* 0x5C-0x5F */ + 0xB1, 0xF7, 0xB1, 0xF8, 0x83, 0x95, 0x83, 0x96, /* 0x60-0x63 */ + 0x83, 0x97, 0xB1, 0xF9, 0x83, 0x98, 0x83, 0x99, /* 0x64-0x67 */ + 0xB1, 0xFA, 0xB1, 0xFB, 0x83, 0x9A, 0x83, 0x9B, /* 0x68-0x6B */ + 0xB1, 0xFC, 0x83, 0x9C, 0x83, 0x9D, 0x83, 0x9E, /* 0x6C-0x6F */ + 0xB1, 0xFD, 0x83, 0x9F, 0x83, 0xA0, 0x83, 0xA1, /* 0x70-0x73 */ + 0x83, 0xA2, 0x83, 0xA3, 0x83, 0xA4, 0x83, 0xA5, /* 0x74-0x77 */ + 0xB1, 0xFE, 0xB2, 0xA1, 0x83, 0xA6, 0xB2, 0xA2, /* 0x78-0x7B */ + 0xB2, 0xA3, 0xB2, 0xA4, 0x83, 0xA7, 0x83, 0xA8, /* 0x7C-0x7F */ + + 0x83, 0xA9, 0x83, 0xAA, 0x83, 0xAB, 0x83, 0xAC, /* 0x80-0x83 */ + 0xB2, 0xA5, 0xB2, 0xA6, 0x83, 0xAD, 0x83, 0xAE, /* 0x84-0x87 */ + 0x83, 0xAF, 0x83, 0xB0, 0x83, 0xB1, 0x83, 0xB2, /* 0x88-0x8B */ + 0xB2, 0xA7, 0x83, 0xB3, 0x83, 0xB4, 0x83, 0xB5, /* 0x8C-0x8F */ + 0x83, 0xB6, 0x83, 0xB7, 0x83, 0xB8, 0x83, 0xB9, /* 0x90-0x93 */ + 0x83, 0xBA, 0x83, 0xBB, 0x83, 0xBC, 0x83, 0xBD, /* 0x94-0x97 */ + 0x83, 0xBE, 0x83, 0xBF, 0x83, 0xC0, 0x83, 0xC1, /* 0x98-0x9B */ + 0x83, 0xC2, 0x83, 0xC3, 0x83, 0xC4, 0x83, 0xC5, /* 0x9C-0x9F */ + 0x83, 0xC6, 0x83, 0xC7, 0x83, 0xC8, 0x83, 0xC9, /* 0xA0-0xA3 */ + 0x83, 0xCA, 0x83, 0xCB, 0x83, 0xCC, 0x83, 0xCD, /* 0xA4-0xA7 */ + 0x83, 0xCE, 0x83, 0xCF, 0x83, 0xD0, 0x83, 0xD1, /* 0xA8-0xAB */ + 0x83, 0xD2, 0x83, 0xD3, 0x83, 0xD4, 0x83, 0xD5, /* 0xAC-0xAF */ + 0x83, 0xD6, 0x83, 0xD7, 0x83, 0xD8, 0x83, 0xD9, /* 0xB0-0xB3 */ + 0x83, 0xDA, 0x83, 0xDB, 0x83, 0xDC, 0x83, 0xDD, /* 0xB4-0xB7 */ + 0x83, 0xDE, 0x83, 0xDF, 0x83, 0xE0, 0x83, 0xE1, /* 0xB8-0xBB */ + 0xB2, 0xA8, 0xB2, 0xA9, 0xB2, 0xAA, 0x83, 0xE2, /* 0xBC-0xBF */ + 0xB2, 0xAB, 0x83, 0xE3, 0x83, 0xE4, 0x83, 0xE5, /* 0xC0-0xC3 */ + 0xB2, 0xAC, 0x83, 0xE6, 0x83, 0xE7, 0x83, 0xE8, /* 0xC4-0xC7 */ + 0x83, 0xE9, 0x83, 0xEA, 0x83, 0xEB, 0x83, 0xEC, /* 0xC8-0xCB */ + 0xB2, 0xAD, 0xB2, 0xAE, 0x83, 0xED, 0xB2, 0xAF, /* 0xCC-0xCF */ + 0xB2, 0xB0, 0xB2, 0xB1, 0x83, 0xEE, 0x83, 0xEF, /* 0xD0-0xD3 */ + 0x83, 0xF0, 0x83, 0xF1, 0x83, 0xF2, 0x83, 0xF3, /* 0xD4-0xD7 */ + 0xB2, 0xB2, 0xB2, 0xB3, 0x83, 0xF4, 0x83, 0xF5, /* 0xD8-0xDB */ + 0xB2, 0xB4, 0x83, 0xF6, 0x83, 0xF7, 0x83, 0xF8, /* 0xDC-0xDF */ + 0x83, 0xF9, 0x83, 0xFA, 0x83, 0xFB, 0x83, 0xFC, /* 0xE0-0xE3 */ + 0x83, 0xFD, 0x83, 0xFE, 0x84, 0x41, 0x84, 0x42, /* 0xE4-0xE7 */ + 0xB2, 0xB5, 0x84, 0x43, 0x84, 0x44, 0xB2, 0xB6, /* 0xE8-0xEB */ + 0x84, 0x45, 0xB2, 0xB7, 0x84, 0x46, 0x84, 0x47, /* 0xEC-0xEF */ + 0x84, 0x48, 0x84, 0x49, 0x84, 0x4A, 0x84, 0x4B, /* 0xF0-0xF3 */ + 0xB2, 0xB8, 0x84, 0x4C, 0x84, 0x4D, 0x84, 0x4E, /* 0xF4-0xF7 */ + 0xB2, 0xB9, 0x84, 0x4F, 0x84, 0x50, 0x84, 0x51, /* 0xF8-0xFB */ + 0xB2, 0xBA, 0x84, 0x52, 0x84, 0x53, 0x84, 0x54, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_AF[512] = { + 0x84, 0x55, 0x84, 0x56, 0x84, 0x57, 0x84, 0x58, /* 0x00-0x03 */ + 0x84, 0x59, 0x84, 0x5A, 0x84, 0x61, 0xB2, 0xBB, /* 0x04-0x07 */ + 0xB2, 0xBC, 0x84, 0x62, 0x84, 0x63, 0x84, 0x64, /* 0x08-0x0B */ + 0x84, 0x65, 0xB2, 0xBD, 0x84, 0x66, 0x84, 0x67, /* 0x0C-0x0F */ + 0xB2, 0xBE, 0x84, 0x68, 0x84, 0x69, 0x84, 0x6A, /* 0x10-0x13 */ + 0x84, 0x6B, 0x84, 0x6C, 0x84, 0x6D, 0x84, 0x6E, /* 0x14-0x17 */ + 0x84, 0x6F, 0x84, 0x70, 0x84, 0x71, 0x84, 0x72, /* 0x18-0x1B */ + 0x84, 0x73, 0x84, 0x74, 0x84, 0x75, 0x84, 0x76, /* 0x1C-0x1F */ + 0x84, 0x77, 0x84, 0x78, 0x84, 0x79, 0x84, 0x7A, /* 0x20-0x23 */ + 0x84, 0x81, 0x84, 0x82, 0x84, 0x83, 0x84, 0x84, /* 0x24-0x27 */ + 0x84, 0x85, 0x84, 0x86, 0x84, 0x87, 0x84, 0x88, /* 0x28-0x2B */ + 0xB2, 0xBF, 0xB2, 0xC0, 0x84, 0x89, 0x84, 0x8A, /* 0x2C-0x2F */ + 0xB2, 0xC1, 0x84, 0x8B, 0xB2, 0xC2, 0x84, 0x8C, /* 0x30-0x33 */ + 0xB2, 0xC3, 0x84, 0x8D, 0x84, 0x8E, 0x84, 0x8F, /* 0x34-0x37 */ + 0x84, 0x90, 0x84, 0x91, 0x84, 0x92, 0x84, 0x93, /* 0x38-0x3B */ + 0xB2, 0xC4, 0xB2, 0xC5, 0x84, 0x94, 0xB2, 0xC6, /* 0x3C-0x3F */ + 0x84, 0x95, 0xB2, 0xC7, 0xB2, 0xC8, 0xB2, 0xC9, /* 0x40-0x43 */ + 0x84, 0x96, 0x84, 0x97, 0x84, 0x98, 0x84, 0x99, /* 0x44-0x47 */ + 0xB2, 0xCA, 0xB2, 0xCB, 0x84, 0x9A, 0x84, 0x9B, /* 0x48-0x4B */ + 0x84, 0x9C, 0x84, 0x9D, 0x84, 0x9E, 0x84, 0x9F, /* 0x4C-0x4F */ + 0xB2, 0xCC, 0x84, 0xA0, 0x84, 0xA1, 0x84, 0xA2, /* 0x50-0x53 */ + 0x84, 0xA3, 0x84, 0xA4, 0x84, 0xA5, 0x84, 0xA6, /* 0x54-0x57 */ + 0x84, 0xA7, 0x84, 0xA8, 0x84, 0xA9, 0x84, 0xAA, /* 0x58-0x5B */ + 0xB2, 0xCD, 0xB2, 0xCE, 0x84, 0xAB, 0x84, 0xAC, /* 0x5C-0x5F */ + 0x84, 0xAD, 0x84, 0xAE, 0x84, 0xAF, 0x84, 0xB0, /* 0x60-0x63 */ + 0xB2, 0xCF, 0xB2, 0xD0, 0x84, 0xB1, 0x84, 0xB2, /* 0x64-0x67 */ + 0x84, 0xB3, 0x84, 0xB4, 0x84, 0xB5, 0x84, 0xB6, /* 0x68-0x6B */ + 0x84, 0xB7, 0x84, 0xB8, 0x84, 0xB9, 0x84, 0xBA, /* 0x6C-0x6F */ + 0x84, 0xBB, 0x84, 0xBC, 0x84, 0xBD, 0x84, 0xBE, /* 0x70-0x73 */ + 0x84, 0xBF, 0x84, 0xC0, 0x84, 0xC1, 0x84, 0xC2, /* 0x74-0x77 */ + 0x84, 0xC3, 0xB2, 0xD1, 0x84, 0xC4, 0x84, 0xC5, /* 0x78-0x7B */ + 0x84, 0xC6, 0x84, 0xC7, 0x84, 0xC8, 0x84, 0xC9, /* 0x7C-0x7F */ + + 0xB2, 0xD2, 0x84, 0xCA, 0x84, 0xCB, 0x84, 0xCC, /* 0x80-0x83 */ + 0xB2, 0xD3, 0x84, 0xCD, 0x84, 0xCE, 0x84, 0xCF, /* 0x84-0x87 */ + 0xB2, 0xD4, 0x84, 0xD0, 0x84, 0xD1, 0x84, 0xD2, /* 0x88-0x8B */ + 0x84, 0xD3, 0x84, 0xD4, 0x84, 0xD5, 0x84, 0xD6, /* 0x8C-0x8F */ + 0xB2, 0xD5, 0xB2, 0xD6, 0x84, 0xD7, 0x84, 0xD8, /* 0x90-0x93 */ + 0x84, 0xD9, 0xB2, 0xD7, 0x84, 0xDA, 0x84, 0xDB, /* 0x94-0x97 */ + 0x84, 0xDC, 0x84, 0xDD, 0x84, 0xDE, 0x84, 0xDF, /* 0x98-0x9B */ + 0xB2, 0xD8, 0x84, 0xE0, 0x84, 0xE1, 0x84, 0xE2, /* 0x9C-0x9F */ + 0x84, 0xE3, 0x84, 0xE4, 0x84, 0xE5, 0x84, 0xE6, /* 0xA0-0xA3 */ + 0x84, 0xE7, 0x84, 0xE8, 0x84, 0xE9, 0x84, 0xEA, /* 0xA4-0xA7 */ + 0x84, 0xEB, 0x84, 0xEC, 0x84, 0xED, 0x84, 0xEE, /* 0xA8-0xAB */ + 0x84, 0xEF, 0x84, 0xF0, 0x84, 0xF1, 0x84, 0xF2, /* 0xAC-0xAF */ + 0x84, 0xF3, 0x84, 0xF4, 0x84, 0xF5, 0x84, 0xF6, /* 0xB0-0xB3 */ + 0x84, 0xF7, 0x84, 0xF8, 0x84, 0xF9, 0x84, 0xFA, /* 0xB4-0xB7 */ + 0xB2, 0xD9, 0xB2, 0xDA, 0x84, 0xFB, 0x84, 0xFC, /* 0xB8-0xBB */ + 0xB2, 0xDB, 0x84, 0xFD, 0x84, 0xFE, 0x85, 0x41, /* 0xBC-0xBF */ + 0xB2, 0xDC, 0x85, 0x42, 0x85, 0x43, 0x85, 0x44, /* 0xC0-0xC3 */ + 0x85, 0x45, 0x85, 0x46, 0x85, 0x47, 0xB2, 0xDD, /* 0xC4-0xC7 */ + 0xB2, 0xDE, 0xB2, 0xDF, 0x85, 0x48, 0xB2, 0xE0, /* 0xC8-0xCB */ + 0x85, 0x49, 0xB2, 0xE1, 0xB2, 0xE2, 0x85, 0x4A, /* 0xCC-0xCF */ + 0x85, 0x4B, 0x85, 0x4C, 0x85, 0x4D, 0x85, 0x4E, /* 0xD0-0xD3 */ + 0xB2, 0xE3, 0x85, 0x4F, 0x85, 0x50, 0x85, 0x51, /* 0xD4-0xD7 */ + 0x85, 0x52, 0x85, 0x53, 0x85, 0x54, 0x85, 0x55, /* 0xD8-0xDB */ + 0xB2, 0xE4, 0x85, 0x56, 0x85, 0x57, 0x85, 0x58, /* 0xDC-0xDF */ + 0x85, 0x59, 0x85, 0x5A, 0x85, 0x61, 0x85, 0x62, /* 0xE0-0xE3 */ + 0x85, 0x63, 0x85, 0x64, 0x85, 0x65, 0x85, 0x66, /* 0xE4-0xE7 */ + 0xB2, 0xE5, 0xB2, 0xE6, 0x85, 0x67, 0x85, 0x68, /* 0xE8-0xEB */ + 0x85, 0x69, 0x85, 0x6A, 0x85, 0x6B, 0x85, 0x6C, /* 0xEC-0xEF */ + 0xB2, 0xE7, 0xB2, 0xE8, 0x85, 0x6D, 0x85, 0x6E, /* 0xF0-0xF3 */ + 0xB2, 0xE9, 0x85, 0x6F, 0x85, 0x70, 0x85, 0x71, /* 0xF4-0xF7 */ + 0xB2, 0xEA, 0x85, 0x72, 0x85, 0x73, 0x85, 0x74, /* 0xF8-0xFB */ + 0x85, 0x75, 0x85, 0x76, 0x85, 0x77, 0x85, 0x78, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B0[512] = { + 0xB2, 0xEB, 0xB2, 0xEC, 0x85, 0x79, 0x85, 0x7A, /* 0x00-0x03 */ + 0xB2, 0xED, 0x85, 0x81, 0x85, 0x82, 0x85, 0x83, /* 0x04-0x07 */ + 0x85, 0x84, 0x85, 0x85, 0x85, 0x86, 0x85, 0x87, /* 0x08-0x0B */ + 0xB2, 0xEE, 0x85, 0x88, 0x85, 0x89, 0x85, 0x8A, /* 0x0C-0x0F */ + 0xB2, 0xEF, 0x85, 0x8B, 0x85, 0x8C, 0x85, 0x8D, /* 0x10-0x13 */ + 0xB2, 0xF0, 0x85, 0x8E, 0x85, 0x8F, 0x85, 0x90, /* 0x14-0x17 */ + 0x85, 0x91, 0x85, 0x92, 0x85, 0x93, 0x85, 0x94, /* 0x18-0x1B */ + 0xB2, 0xF1, 0xB2, 0xF2, 0x85, 0x95, 0x85, 0x96, /* 0x1C-0x1F */ + 0x85, 0x97, 0x85, 0x98, 0x85, 0x99, 0x85, 0x9A, /* 0x20-0x23 */ + 0x85, 0x9B, 0x85, 0x9C, 0x85, 0x9D, 0x85, 0x9E, /* 0x24-0x27 */ + 0xB2, 0xF3, 0x85, 0x9F, 0x85, 0xA0, 0x85, 0xA1, /* 0x28-0x2B */ + 0x85, 0xA2, 0x85, 0xA3, 0x85, 0xA4, 0x85, 0xA5, /* 0x2C-0x2F */ + 0x85, 0xA6, 0x85, 0xA7, 0x85, 0xA8, 0x85, 0xA9, /* 0x30-0x33 */ + 0x85, 0xAA, 0x85, 0xAB, 0x85, 0xAC, 0x85, 0xAD, /* 0x34-0x37 */ + 0x85, 0xAE, 0x85, 0xAF, 0x85, 0xB0, 0x85, 0xB1, /* 0x38-0x3B */ + 0x85, 0xB2, 0x85, 0xB3, 0x85, 0xB4, 0x85, 0xB5, /* 0x3C-0x3F */ + 0x85, 0xB6, 0x85, 0xB7, 0x85, 0xB8, 0x85, 0xB9, /* 0x40-0x43 */ + 0xB2, 0xF4, 0xB2, 0xF5, 0x85, 0xBA, 0x85, 0xBB, /* 0x44-0x47 */ + 0xB2, 0xF6, 0x85, 0xBC, 0xB2, 0xF7, 0x85, 0xBD, /* 0x48-0x4B */ + 0xB2, 0xF8, 0x85, 0xBE, 0xB2, 0xF9, 0x85, 0xBF, /* 0x4C-0x4F */ + 0x85, 0xC0, 0x85, 0xC1, 0x85, 0xC2, 0xB2, 0xFA, /* 0x50-0x53 */ + 0xB2, 0xFB, 0xB2, 0xFC, 0x85, 0xC3, 0xB2, 0xFD, /* 0x54-0x57 */ + 0x85, 0xC4, 0xB2, 0xFE, 0x85, 0xC5, 0x85, 0xC6, /* 0x58-0x5B */ + 0x85, 0xC7, 0xB3, 0xA1, 0x85, 0xC8, 0x85, 0xC9, /* 0x5C-0x5F */ + 0x85, 0xCA, 0x85, 0xCB, 0x85, 0xCC, 0x85, 0xCD, /* 0x60-0x63 */ + 0x85, 0xCE, 0x85, 0xCF, 0x85, 0xD0, 0x85, 0xD1, /* 0x64-0x67 */ + 0x85, 0xD2, 0x85, 0xD3, 0x85, 0xD4, 0x85, 0xD5, /* 0x68-0x6B */ + 0x85, 0xD6, 0x85, 0xD7, 0x85, 0xD8, 0x85, 0xD9, /* 0x6C-0x6F */ + 0x85, 0xDA, 0x85, 0xDB, 0x85, 0xDC, 0x85, 0xDD, /* 0x70-0x73 */ + 0x85, 0xDE, 0x85, 0xDF, 0x85, 0xE0, 0x85, 0xE1, /* 0x74-0x77 */ + 0x85, 0xE2, 0x85, 0xE3, 0x85, 0xE4, 0x85, 0xE5, /* 0x78-0x7B */ + 0xB3, 0xA2, 0xB3, 0xA3, 0x85, 0xE6, 0x85, 0xE7, /* 0x7C-0x7F */ + + 0xB3, 0xA4, 0x85, 0xE8, 0x85, 0xE9, 0x85, 0xEA, /* 0x80-0x83 */ + 0xB3, 0xA5, 0x85, 0xEB, 0x85, 0xEC, 0x85, 0xED, /* 0x84-0x87 */ + 0x85, 0xEE, 0x85, 0xEF, 0x85, 0xF0, 0x85, 0xF1, /* 0x88-0x8B */ + 0xB3, 0xA6, 0xB3, 0xA7, 0x85, 0xF2, 0xB3, 0xA8, /* 0x8C-0x8F */ + 0x85, 0xF3, 0xB3, 0xA9, 0x85, 0xF4, 0x85, 0xF5, /* 0x90-0x93 */ + 0x85, 0xF6, 0x85, 0xF7, 0x85, 0xF8, 0x85, 0xF9, /* 0x94-0x97 */ + 0xB3, 0xAA, 0xB3, 0xAB, 0xB3, 0xAC, 0x85, 0xFA, /* 0x98-0x9B */ + 0xB3, 0xAD, 0x85, 0xFB, 0x85, 0xFC, 0xB3, 0xAE, /* 0x9C-0x9F */ + 0xB3, 0xAF, 0xB3, 0xB0, 0xB3, 0xB1, 0x85, 0xFD, /* 0xA0-0xA3 */ + 0x85, 0xFE, 0x86, 0x41, 0x86, 0x42, 0x86, 0x43, /* 0xA4-0xA7 */ + 0xB3, 0xB2, 0xB3, 0xB3, 0x86, 0x44, 0xB3, 0xB4, /* 0xA8-0xAB */ + 0xB3, 0xB5, 0xB3, 0xB6, 0xB3, 0xB7, 0xB3, 0xB8, /* 0xAC-0xAF */ + 0x86, 0x45, 0xB3, 0xB9, 0x86, 0x46, 0xB3, 0xBA, /* 0xB0-0xB3 */ + 0xB3, 0xBB, 0xB3, 0xBC, 0x86, 0x47, 0x86, 0x48, /* 0xB4-0xB7 */ + 0xB3, 0xBD, 0x86, 0x49, 0x86, 0x4A, 0x86, 0x4B, /* 0xB8-0xBB */ + 0xB3, 0xBE, 0x86, 0x4C, 0x86, 0x4D, 0x86, 0x4E, /* 0xBC-0xBF */ + 0x86, 0x4F, 0x86, 0x50, 0x86, 0x51, 0x86, 0x52, /* 0xC0-0xC3 */ + 0xB3, 0xBF, 0xB3, 0xC0, 0x86, 0x53, 0xB3, 0xC1, /* 0xC4-0xC7 */ + 0xB3, 0xC2, 0xB3, 0xC3, 0x86, 0x54, 0x86, 0x55, /* 0xC8-0xCB */ + 0x86, 0x56, 0x86, 0x57, 0x86, 0x58, 0x86, 0x59, /* 0xCC-0xCF */ + 0xB3, 0xC4, 0xB3, 0xC5, 0x86, 0x5A, 0x86, 0x61, /* 0xD0-0xD3 */ + 0xB3, 0xC6, 0x86, 0x62, 0x86, 0x63, 0x86, 0x64, /* 0xD4-0xD7 */ + 0xB3, 0xC7, 0x86, 0x65, 0x86, 0x66, 0x86, 0x67, /* 0xD8-0xDB */ + 0x86, 0x68, 0x86, 0x69, 0x86, 0x6A, 0x86, 0x6B, /* 0xDC-0xDF */ + 0xB3, 0xC8, 0x86, 0x6C, 0x86, 0x6D, 0x86, 0x6E, /* 0xE0-0xE3 */ + 0x86, 0x6F, 0xB3, 0xC9, 0x86, 0x70, 0x86, 0x71, /* 0xE4-0xE7 */ + 0x86, 0x72, 0x86, 0x73, 0x86, 0x74, 0x86, 0x75, /* 0xE8-0xEB */ + 0x86, 0x76, 0x86, 0x77, 0x86, 0x78, 0x86, 0x79, /* 0xEC-0xEF */ + 0x86, 0x7A, 0x86, 0x81, 0x86, 0x82, 0x86, 0x83, /* 0xF0-0xF3 */ + 0x86, 0x84, 0x86, 0x85, 0x86, 0x86, 0x86, 0x87, /* 0xF4-0xF7 */ + 0x86, 0x88, 0x86, 0x89, 0x86, 0x8A, 0x86, 0x8B, /* 0xF8-0xFB */ + 0x86, 0x8C, 0x86, 0x8D, 0x86, 0x8E, 0x86, 0x8F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B1[512] = { + 0x86, 0x90, 0x86, 0x91, 0x86, 0x92, 0x86, 0x93, /* 0x00-0x03 */ + 0x86, 0x94, 0x86, 0x95, 0x86, 0x96, 0x86, 0x97, /* 0x04-0x07 */ + 0xB3, 0xCA, 0xB3, 0xCB, 0x86, 0x98, 0xB3, 0xCC, /* 0x08-0x0B */ + 0xB3, 0xCD, 0x86, 0x99, 0x86, 0x9A, 0x86, 0x9B, /* 0x0C-0x0F */ + 0xB3, 0xCE, 0x86, 0x9C, 0xB3, 0xCF, 0xB3, 0xD0, /* 0x10-0x13 */ + 0x86, 0x9D, 0x86, 0x9E, 0x86, 0x9F, 0x86, 0xA0, /* 0x14-0x17 */ + 0xB3, 0xD1, 0xB3, 0xD2, 0x86, 0xA1, 0xB3, 0xD3, /* 0x18-0x1B */ + 0xB3, 0xD4, 0xB3, 0xD5, 0x86, 0xA2, 0x86, 0xA3, /* 0x1C-0x1F */ + 0x86, 0xA4, 0x86, 0xA5, 0x86, 0xA6, 0xB3, 0xD6, /* 0x20-0x23 */ + 0xB3, 0xD7, 0xB3, 0xD8, 0x86, 0xA7, 0x86, 0xA8, /* 0x24-0x27 */ + 0xB3, 0xD9, 0x86, 0xA9, 0x86, 0xAA, 0x86, 0xAB, /* 0x28-0x2B */ + 0xB3, 0xDA, 0x86, 0xAC, 0x86, 0xAD, 0x86, 0xAE, /* 0x2C-0x2F */ + 0x86, 0xAF, 0x86, 0xB0, 0x86, 0xB1, 0x86, 0xB2, /* 0x30-0x33 */ + 0xB3, 0xDB, 0xB3, 0xDC, 0x86, 0xB3, 0xB3, 0xDD, /* 0x34-0x37 */ + 0xB3, 0xDE, 0xB3, 0xDF, 0x86, 0xB4, 0x86, 0xB5, /* 0x38-0x3B */ + 0x86, 0xB6, 0x86, 0xB7, 0x86, 0xB8, 0x86, 0xB9, /* 0x3C-0x3F */ + 0xB3, 0xE0, 0xB3, 0xE1, 0x86, 0xBA, 0x86, 0xBB, /* 0x40-0x43 */ + 0xB3, 0xE2, 0x86, 0xBC, 0x86, 0xBD, 0x86, 0xBE, /* 0x44-0x47 */ + 0xB3, 0xE3, 0x86, 0xBF, 0x86, 0xC0, 0x86, 0xC1, /* 0x48-0x4B */ + 0x86, 0xC2, 0x86, 0xC3, 0x86, 0xC4, 0x86, 0xC5, /* 0x4C-0x4F */ + 0xB3, 0xE4, 0xB3, 0xE5, 0x86, 0xC6, 0x86, 0xC7, /* 0x50-0x53 */ + 0xB3, 0xE6, 0xB3, 0xE7, 0x86, 0xC8, 0x86, 0xC9, /* 0x54-0x57 */ + 0xB3, 0xE8, 0x86, 0xCA, 0x86, 0xCB, 0x86, 0xCC, /* 0x58-0x5B */ + 0xB3, 0xE9, 0x86, 0xCD, 0x86, 0xCE, 0x86, 0xCF, /* 0x5C-0x5F */ + 0xB3, 0xEA, 0x86, 0xD0, 0x86, 0xD1, 0x86, 0xD2, /* 0x60-0x63 */ + 0x86, 0xD3, 0x86, 0xD4, 0x86, 0xD5, 0x86, 0xD6, /* 0x64-0x67 */ + 0x86, 0xD7, 0x86, 0xD8, 0x86, 0xD9, 0x86, 0xDA, /* 0x68-0x6B */ + 0x86, 0xDB, 0x86, 0xDC, 0x86, 0xDD, 0x86, 0xDE, /* 0x6C-0x6F */ + 0x86, 0xDF, 0x86, 0xE0, 0x86, 0xE1, 0x86, 0xE2, /* 0x70-0x73 */ + 0x86, 0xE3, 0x86, 0xE4, 0x86, 0xE5, 0x86, 0xE6, /* 0x74-0x77 */ + 0xB3, 0xEB, 0xB3, 0xEC, 0x86, 0xE7, 0x86, 0xE8, /* 0x78-0x7B */ + 0xB3, 0xED, 0x86, 0xE9, 0x86, 0xEA, 0x86, 0xEB, /* 0x7C-0x7F */ + + 0xB3, 0xEE, 0x86, 0xEC, 0xB3, 0xEF, 0x86, 0xED, /* 0x80-0x83 */ + 0x86, 0xEE, 0x86, 0xEF, 0x86, 0xF0, 0x86, 0xF1, /* 0x84-0x87 */ + 0xB3, 0xF0, 0xB3, 0xF1, 0x86, 0xF2, 0xB3, 0xF2, /* 0x88-0x8B */ + 0x86, 0xF3, 0xB3, 0xF3, 0x86, 0xF4, 0x86, 0xF5, /* 0x8C-0x8F */ + 0x86, 0xF6, 0x86, 0xF7, 0xB3, 0xF4, 0xB3, 0xF5, /* 0x90-0x93 */ + 0xB3, 0xF6, 0x86, 0xF8, 0x86, 0xF9, 0x86, 0xFA, /* 0x94-0x97 */ + 0xB3, 0xF7, 0x86, 0xFB, 0x86, 0xFC, 0x86, 0xFD, /* 0x98-0x9B */ + 0xB3, 0xF8, 0x86, 0xFE, 0x87, 0x41, 0x87, 0x42, /* 0x9C-0x9F */ + 0x87, 0x43, 0x87, 0x44, 0x87, 0x45, 0x87, 0x46, /* 0xA0-0xA3 */ + 0x87, 0x47, 0x87, 0x48, 0x87, 0x49, 0x87, 0x4A, /* 0xA4-0xA7 */ + 0xB3, 0xF9, 0x87, 0x4B, 0x87, 0x4C, 0x87, 0x4D, /* 0xA8-0xAB */ + 0x87, 0x4E, 0x87, 0x4F, 0x87, 0x50, 0x87, 0x51, /* 0xAC-0xAF */ + 0x87, 0x52, 0x87, 0x53, 0x87, 0x54, 0x87, 0x55, /* 0xB0-0xB3 */ + 0x87, 0x56, 0x87, 0x57, 0x87, 0x58, 0x87, 0x59, /* 0xB4-0xB7 */ + 0x87, 0x5A, 0x87, 0x61, 0x87, 0x62, 0x87, 0x63, /* 0xB8-0xBB */ + 0x87, 0x64, 0x87, 0x65, 0x87, 0x66, 0x87, 0x67, /* 0xBC-0xBF */ + 0x87, 0x68, 0x87, 0x69, 0x87, 0x6A, 0x87, 0x6B, /* 0xC0-0xC3 */ + 0x87, 0x6C, 0x87, 0x6D, 0x87, 0x6E, 0x87, 0x6F, /* 0xC4-0xC7 */ + 0x87, 0x70, 0x87, 0x71, 0x87, 0x72, 0x87, 0x73, /* 0xC8-0xCB */ + 0xB3, 0xFA, 0x87, 0x74, 0x87, 0x75, 0x87, 0x76, /* 0xCC-0xCF */ + 0xB3, 0xFB, 0x87, 0x77, 0x87, 0x78, 0x87, 0x79, /* 0xD0-0xD3 */ + 0xB3, 0xFC, 0x87, 0x7A, 0x87, 0x81, 0x87, 0x82, /* 0xD4-0xD7 */ + 0x87, 0x83, 0x87, 0x84, 0x87, 0x85, 0x87, 0x86, /* 0xD8-0xDB */ + 0xB3, 0xFD, 0xB3, 0xFE, 0x87, 0x87, 0xB4, 0xA1, /* 0xDC-0xDF */ + 0x87, 0x88, 0x87, 0x89, 0x87, 0x8A, 0x87, 0x8B, /* 0xE0-0xE3 */ + 0x87, 0x8C, 0x87, 0x8D, 0x87, 0x8E, 0x87, 0x8F, /* 0xE4-0xE7 */ + 0xB4, 0xA2, 0xB4, 0xA3, 0x87, 0x90, 0x87, 0x91, /* 0xE8-0xEB */ + 0xB4, 0xA4, 0x87, 0x92, 0x87, 0x93, 0x87, 0x94, /* 0xEC-0xEF */ + 0xB4, 0xA5, 0x87, 0x95, 0x87, 0x96, 0x87, 0x97, /* 0xF0-0xF3 */ + 0x87, 0x98, 0x87, 0x99, 0x87, 0x9A, 0x87, 0x9B, /* 0xF4-0xF7 */ + 0x87, 0x9C, 0xB4, 0xA6, 0x87, 0x9D, 0xB4, 0xA7, /* 0xF8-0xFB */ + 0x87, 0x9E, 0xB4, 0xA8, 0x87, 0x9F, 0x87, 0xA0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B2[512] = { + 0x87, 0xA1, 0x87, 0xA2, 0x87, 0xA3, 0x87, 0xA4, /* 0x00-0x03 */ + 0xB4, 0xA9, 0xB4, 0xAA, 0x87, 0xA5, 0x87, 0xA6, /* 0x04-0x07 */ + 0xB4, 0xAB, 0x87, 0xA7, 0x87, 0xA8, 0xB4, 0xAC, /* 0x08-0x0B */ + 0xB4, 0xAD, 0x87, 0xA9, 0x87, 0xAA, 0x87, 0xAB, /* 0x0C-0x0F */ + 0x87, 0xAC, 0x87, 0xAD, 0x87, 0xAE, 0x87, 0xAF, /* 0x10-0x13 */ + 0xB4, 0xAE, 0xB4, 0xAF, 0x87, 0xB0, 0xB4, 0xB0, /* 0x14-0x17 */ + 0x87, 0xB1, 0xB4, 0xB1, 0x87, 0xB2, 0x87, 0xB3, /* 0x18-0x1B */ + 0x87, 0xB4, 0x87, 0xB5, 0x87, 0xB6, 0x87, 0xB7, /* 0x1C-0x1F */ + 0xB4, 0xB2, 0x87, 0xB8, 0x87, 0xB9, 0x87, 0xBA, /* 0x20-0x23 */ + 0x87, 0xBB, 0x87, 0xBC, 0x87, 0xBD, 0x87, 0xBE, /* 0x24-0x27 */ + 0x87, 0xBF, 0x87, 0xC0, 0x87, 0xC1, 0x87, 0xC2, /* 0x28-0x2B */ + 0x87, 0xC3, 0x87, 0xC4, 0x87, 0xC5, 0x87, 0xC6, /* 0x2C-0x2F */ + 0x87, 0xC7, 0x87, 0xC8, 0x87, 0xC9, 0x87, 0xCA, /* 0x30-0x33 */ + 0xB4, 0xB3, 0x87, 0xCB, 0x87, 0xCC, 0x87, 0xCD, /* 0x34-0x37 */ + 0x87, 0xCE, 0x87, 0xCF, 0x87, 0xD0, 0x87, 0xD1, /* 0x38-0x3B */ + 0xB4, 0xB4, 0x87, 0xD2, 0x87, 0xD3, 0x87, 0xD4, /* 0x3C-0x3F */ + 0x87, 0xD5, 0x87, 0xD6, 0x87, 0xD7, 0x87, 0xD8, /* 0x40-0x43 */ + 0x87, 0xD9, 0x87, 0xDA, 0x87, 0xDB, 0x87, 0xDC, /* 0x44-0x47 */ + 0x87, 0xDD, 0x87, 0xDE, 0x87, 0xDF, 0x87, 0xE0, /* 0x48-0x4B */ + 0x87, 0xE1, 0x87, 0xE2, 0x87, 0xE3, 0x87, 0xE4, /* 0x4C-0x4F */ + 0x87, 0xE5, 0x87, 0xE6, 0x87, 0xE7, 0x87, 0xE8, /* 0x50-0x53 */ + 0x87, 0xE9, 0x87, 0xEA, 0x87, 0xEB, 0x87, 0xEC, /* 0x54-0x57 */ + 0xB4, 0xB5, 0x87, 0xED, 0x87, 0xEE, 0x87, 0xEF, /* 0x58-0x5B */ + 0xB4, 0xB6, 0x87, 0xF0, 0x87, 0xF1, 0x87, 0xF2, /* 0x5C-0x5F */ + 0xB4, 0xB7, 0x87, 0xF3, 0x87, 0xF4, 0x87, 0xF5, /* 0x60-0x63 */ + 0x87, 0xF6, 0x87, 0xF7, 0x87, 0xF8, 0x87, 0xF9, /* 0x64-0x67 */ + 0xB4, 0xB8, 0xB4, 0xB9, 0x87, 0xFA, 0x87, 0xFB, /* 0x68-0x6B */ + 0x87, 0xFC, 0x87, 0xFD, 0x87, 0xFE, 0x88, 0x41, /* 0x6C-0x6F */ + 0x88, 0x42, 0x88, 0x43, 0x88, 0x44, 0x88, 0x45, /* 0x70-0x73 */ + 0xB4, 0xBA, 0xB4, 0xBB, 0x88, 0x46, 0x88, 0x47, /* 0x74-0x77 */ + 0x88, 0x48, 0x88, 0x49, 0x88, 0x4A, 0x88, 0x4B, /* 0x78-0x7B */ + 0xB4, 0xBC, 0x88, 0x4C, 0x88, 0x4D, 0x88, 0x4E, /* 0x7C-0x7F */ + + 0x88, 0x4F, 0x88, 0x50, 0x88, 0x51, 0x88, 0x52, /* 0x80-0x83 */ + 0xB4, 0xBD, 0xB4, 0xBE, 0x88, 0x53, 0x88, 0x54, /* 0x84-0x87 */ + 0x88, 0x55, 0xB4, 0xBF, 0x88, 0x56, 0x88, 0x57, /* 0x88-0x8B */ + 0x88, 0x58, 0x88, 0x59, 0x88, 0x5A, 0x88, 0x61, /* 0x8C-0x8F */ + 0xB4, 0xC0, 0xB4, 0xC1, 0x88, 0x62, 0x88, 0x63, /* 0x90-0x93 */ + 0xB4, 0xC2, 0x88, 0x64, 0x88, 0x65, 0x88, 0x66, /* 0x94-0x97 */ + 0xB4, 0xC3, 0xB4, 0xC4, 0xB4, 0xC5, 0x88, 0x67, /* 0x98-0x9B */ + 0x88, 0x68, 0x88, 0x69, 0x88, 0x6A, 0x88, 0x6B, /* 0x9C-0x9F */ + 0xB4, 0xC6, 0xB4, 0xC7, 0x88, 0x6C, 0xB4, 0xC8, /* 0xA0-0xA3 */ + 0x88, 0x6D, 0xB4, 0xC9, 0xB4, 0xCA, 0x88, 0x6E, /* 0xA4-0xA7 */ + 0x88, 0x6F, 0x88, 0x70, 0xB4, 0xCB, 0x88, 0x71, /* 0xA8-0xAB */ + 0xB4, 0xCC, 0x88, 0x72, 0x88, 0x73, 0x88, 0x74, /* 0xAC-0xAF */ + 0xB4, 0xCD, 0x88, 0x75, 0x88, 0x76, 0x88, 0x77, /* 0xB0-0xB3 */ + 0xB4, 0xCE, 0x88, 0x78, 0x88, 0x79, 0x88, 0x7A, /* 0xB4-0xB7 */ + 0x88, 0x81, 0x88, 0x82, 0x88, 0x83, 0x88, 0x84, /* 0xB8-0xBB */ + 0x88, 0x85, 0x88, 0x86, 0x88, 0x87, 0x88, 0x88, /* 0xBC-0xBF */ + 0x88, 0x89, 0x88, 0x8A, 0x88, 0x8B, 0x88, 0x8C, /* 0xC0-0xC3 */ + 0x88, 0x8D, 0x88, 0x8E, 0x88, 0x8F, 0x88, 0x90, /* 0xC4-0xC7 */ + 0xB4, 0xCF, 0xB4, 0xD0, 0x88, 0x91, 0x88, 0x92, /* 0xC8-0xCB */ + 0xB4, 0xD1, 0x88, 0x93, 0x88, 0x94, 0x88, 0x95, /* 0xCC-0xCF */ + 0xB4, 0xD2, 0x88, 0x96, 0xB4, 0xD3, 0x88, 0x97, /* 0xD0-0xD3 */ + 0x88, 0x98, 0x88, 0x99, 0x88, 0x9A, 0x88, 0x9B, /* 0xD4-0xD7 */ + 0xB4, 0xD4, 0xB4, 0xD5, 0x88, 0x9C, 0xB4, 0xD6, /* 0xD8-0xDB */ + 0x88, 0x9D, 0xB4, 0xD7, 0x88, 0x9E, 0x88, 0x9F, /* 0xDC-0xDF */ + 0x88, 0xA0, 0x88, 0xA1, 0xB4, 0xD8, 0x88, 0xA2, /* 0xE0-0xE3 */ + 0xB4, 0xD9, 0xB4, 0xDA, 0xB4, 0xDB, 0x88, 0xA3, /* 0xE4-0xE7 */ + 0xB4, 0xDC, 0x88, 0xA4, 0x88, 0xA5, 0xB4, 0xDD, /* 0xE8-0xEB */ + 0xB4, 0xDE, 0xB4, 0xDF, 0xB4, 0xE0, 0xB4, 0xE1, /* 0xEC-0xEF */ + 0x88, 0xA6, 0x88, 0xA7, 0x88, 0xA8, 0xB4, 0xE2, /* 0xF0-0xF3 */ + 0xB4, 0xE3, 0xB4, 0xE4, 0x88, 0xA9, 0xB4, 0xE5, /* 0xF4-0xF7 */ + 0xB4, 0xE6, 0xB4, 0xE7, 0xB4, 0xE8, 0xB4, 0xE9, /* 0xF8-0xFB */ + 0x88, 0xAA, 0x88, 0xAB, 0x88, 0xAC, 0xB4, 0xEA, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B3[512] = { + 0xB4, 0xEB, 0xB4, 0xEC, 0x88, 0xAD, 0x88, 0xAE, /* 0x00-0x03 */ + 0xB4, 0xED, 0x88, 0xAF, 0x88, 0xB0, 0x88, 0xB1, /* 0x04-0x07 */ + 0xB4, 0xEE, 0x88, 0xB2, 0x88, 0xB3, 0x88, 0xB4, /* 0x08-0x0B */ + 0x88, 0xB5, 0x88, 0xB6, 0x88, 0xB7, 0x88, 0xB8, /* 0x0C-0x0F */ + 0xB4, 0xEF, 0xB4, 0xF0, 0x88, 0xB9, 0xB4, 0xF1, /* 0x10-0x13 */ + 0xB4, 0xF2, 0xB4, 0xF3, 0x88, 0xBA, 0x88, 0xBB, /* 0x14-0x17 */ + 0x88, 0xBC, 0x88, 0xBD, 0x88, 0xBE, 0x88, 0xBF, /* 0x18-0x1B */ + 0xB4, 0xF4, 0x88, 0xC0, 0x88, 0xC1, 0x88, 0xC2, /* 0x1C-0x1F */ + 0x88, 0xC3, 0x88, 0xC4, 0x88, 0xC5, 0x88, 0xC6, /* 0x20-0x23 */ + 0x88, 0xC7, 0x88, 0xC8, 0x88, 0xC9, 0x88, 0xCA, /* 0x24-0x27 */ + 0x88, 0xCB, 0x88, 0xCC, 0x88, 0xCD, 0x88, 0xCE, /* 0x28-0x2B */ + 0x88, 0xCF, 0x88, 0xD0, 0x88, 0xD1, 0x88, 0xD2, /* 0x2C-0x2F */ + 0x88, 0xD3, 0x88, 0xD4, 0x88, 0xD5, 0x88, 0xD6, /* 0x30-0x33 */ + 0x88, 0xD7, 0x88, 0xD8, 0x88, 0xD9, 0x88, 0xDA, /* 0x34-0x37 */ + 0x88, 0xDB, 0x88, 0xDC, 0x88, 0xDD, 0x88, 0xDE, /* 0x38-0x3B */ + 0x88, 0xDF, 0x88, 0xE0, 0x88, 0xE1, 0x88, 0xE2, /* 0x3C-0x3F */ + 0x88, 0xE3, 0x88, 0xE4, 0x88, 0xE5, 0x88, 0xE6, /* 0x40-0x43 */ + 0x88, 0xE7, 0x88, 0xE8, 0x88, 0xE9, 0x88, 0xEA, /* 0x44-0x47 */ + 0x88, 0xEB, 0x88, 0xEC, 0x88, 0xED, 0x88, 0xEE, /* 0x48-0x4B */ + 0x88, 0xEF, 0x88, 0xF0, 0x88, 0xF1, 0x88, 0xF2, /* 0x4C-0x4F */ + 0x88, 0xF3, 0x88, 0xF4, 0x88, 0xF5, 0x88, 0xF6, /* 0x50-0x53 */ + 0xB4, 0xF5, 0xB4, 0xF6, 0xB4, 0xF7, 0x88, 0xF7, /* 0x54-0x57 */ + 0xB4, 0xF8, 0x88, 0xF8, 0x88, 0xF9, 0xB4, 0xF9, /* 0x58-0x5B */ + 0xB4, 0xFA, 0x88, 0xFA, 0xB4, 0xFB, 0xB4, 0xFC, /* 0x5C-0x5F */ + 0x88, 0xFB, 0x88, 0xFC, 0x88, 0xFD, 0x88, 0xFE, /* 0x60-0x63 */ + 0xB4, 0xFD, 0xB4, 0xFE, 0x89, 0x41, 0xB5, 0xA1, /* 0x64-0x67 */ + 0x89, 0x42, 0xB5, 0xA2, 0x89, 0x43, 0xB5, 0xA3, /* 0x68-0x6B */ + 0x89, 0x44, 0x89, 0x45, 0xB5, 0xA4, 0x89, 0x46, /* 0x6C-0x6F */ + 0xB5, 0xA5, 0xB5, 0xA6, 0x89, 0x47, 0x89, 0x48, /* 0x70-0x73 */ + 0xB5, 0xA7, 0x89, 0x49, 0x89, 0x4A, 0x89, 0x4B, /* 0x74-0x77 */ + 0xB5, 0xA8, 0x89, 0x4C, 0x89, 0x4D, 0x89, 0x4E, /* 0x78-0x7B */ + 0x89, 0x4F, 0x89, 0x50, 0x89, 0x51, 0x89, 0x52, /* 0x7C-0x7F */ + + 0xB5, 0xA9, 0xB5, 0xAA, 0x89, 0x53, 0xB5, 0xAB, /* 0x80-0x83 */ + 0xB5, 0xAC, 0xB5, 0xAD, 0x89, 0x54, 0x89, 0x55, /* 0x84-0x87 */ + 0x89, 0x56, 0x89, 0x57, 0x89, 0x58, 0x89, 0x59, /* 0x88-0x8B */ + 0xB5, 0xAE, 0x89, 0x5A, 0x89, 0x61, 0x89, 0x62, /* 0x8C-0x8F */ + 0xB5, 0xAF, 0x89, 0x63, 0x89, 0x64, 0x89, 0x65, /* 0x90-0x93 */ + 0xB5, 0xB0, 0x89, 0x66, 0x89, 0x67, 0x89, 0x68, /* 0x94-0x97 */ + 0x89, 0x69, 0x89, 0x6A, 0x89, 0x6B, 0x89, 0x6C, /* 0x98-0x9B */ + 0x89, 0x6D, 0x89, 0x6E, 0x89, 0x6F, 0x89, 0x70, /* 0x9C-0x9F */ + 0xB5, 0xB1, 0xB5, 0xB2, 0x89, 0x71, 0x89, 0x72, /* 0xA0-0xA3 */ + 0x89, 0x73, 0x89, 0x74, 0x89, 0x75, 0x89, 0x76, /* 0xA4-0xA7 */ + 0xB5, 0xB3, 0x89, 0x77, 0x89, 0x78, 0x89, 0x79, /* 0xA8-0xAB */ + 0xB5, 0xB4, 0x89, 0x7A, 0x89, 0x81, 0x89, 0x82, /* 0xAC-0xAF */ + 0x89, 0x83, 0x89, 0x84, 0x89, 0x85, 0x89, 0x86, /* 0xB0-0xB3 */ + 0x89, 0x87, 0x89, 0x88, 0x89, 0x89, 0x89, 0x8A, /* 0xB4-0xB7 */ + 0x89, 0x8B, 0x89, 0x8C, 0x89, 0x8D, 0x89, 0x8E, /* 0xB8-0xBB */ + 0x89, 0x8F, 0x89, 0x90, 0x89, 0x91, 0x89, 0x92, /* 0xBC-0xBF */ + 0x89, 0x93, 0x89, 0x94, 0x89, 0x95, 0x89, 0x96, /* 0xC0-0xC3 */ + 0xB5, 0xB5, 0xB5, 0xB6, 0x89, 0x97, 0x89, 0x98, /* 0xC4-0xC7 */ + 0xB5, 0xB7, 0x89, 0x99, 0x89, 0x9A, 0xB5, 0xB8, /* 0xC8-0xCB */ + 0xB5, 0xB9, 0x89, 0x9B, 0xB5, 0xBA, 0x89, 0x9C, /* 0xCC-0xCF */ + 0xB5, 0xBB, 0x89, 0x9D, 0x89, 0x9E, 0x89, 0x9F, /* 0xD0-0xD3 */ + 0xB5, 0xBC, 0xB5, 0xBD, 0x89, 0xA0, 0xB5, 0xBE, /* 0xD4-0xD7 */ + 0x89, 0xA1, 0xB5, 0xBF, 0x89, 0xA2, 0xB5, 0xC0, /* 0xD8-0xDB */ + 0x89, 0xA3, 0xB5, 0xC1, 0x89, 0xA4, 0x89, 0xA5, /* 0xDC-0xDF */ + 0xB5, 0xC2, 0x89, 0xA6, 0x89, 0xA7, 0x89, 0xA8, /* 0xE0-0xE3 */ + 0xB5, 0xC3, 0x89, 0xA9, 0x89, 0xAA, 0x89, 0xAB, /* 0xE4-0xE7 */ + 0xB5, 0xC4, 0x89, 0xAC, 0x89, 0xAD, 0x89, 0xAE, /* 0xE8-0xEB */ + 0x89, 0xAF, 0x89, 0xB0, 0x89, 0xB1, 0x89, 0xB2, /* 0xEC-0xEF */ + 0x89, 0xB3, 0x89, 0xB4, 0x89, 0xB5, 0x89, 0xB6, /* 0xF0-0xF3 */ + 0x89, 0xB7, 0x89, 0xB8, 0x89, 0xB9, 0x89, 0xBA, /* 0xF4-0xF7 */ + 0x89, 0xBB, 0x89, 0xBC, 0x89, 0xBD, 0x89, 0xBE, /* 0xF8-0xFB */ + 0xB5, 0xC5, 0x89, 0xBF, 0x89, 0xC0, 0x89, 0xC1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B4[512] = { + 0x89, 0xC2, 0x89, 0xC3, 0x89, 0xC4, 0x89, 0xC5, /* 0x00-0x03 */ + 0x89, 0xC6, 0x89, 0xC7, 0x89, 0xC8, 0x89, 0xC9, /* 0x04-0x07 */ + 0x89, 0xCA, 0x89, 0xCB, 0x89, 0xCC, 0x89, 0xCD, /* 0x08-0x0B */ + 0x89, 0xCE, 0x89, 0xCF, 0x89, 0xD0, 0x89, 0xD1, /* 0x0C-0x0F */ + 0xB5, 0xC6, 0x89, 0xD2, 0x89, 0xD3, 0x89, 0xD4, /* 0x10-0x13 */ + 0x89, 0xD5, 0x89, 0xD6, 0x89, 0xD7, 0x89, 0xD8, /* 0x14-0x17 */ + 0xB5, 0xC7, 0x89, 0xD9, 0x89, 0xDA, 0x89, 0xDB, /* 0x18-0x1B */ + 0xB5, 0xC8, 0x89, 0xDC, 0x89, 0xDD, 0x89, 0xDE, /* 0x1C-0x1F */ + 0xB5, 0xC9, 0x89, 0xDF, 0x89, 0xE0, 0x89, 0xE1, /* 0x20-0x23 */ + 0x89, 0xE2, 0x89, 0xE3, 0x89, 0xE4, 0x89, 0xE5, /* 0x24-0x27 */ + 0xB5, 0xCA, 0xB5, 0xCB, 0x89, 0xE6, 0xB5, 0xCC, /* 0x28-0x2B */ + 0x89, 0xE7, 0x89, 0xE8, 0x89, 0xE9, 0x89, 0xEA, /* 0x2C-0x2F */ + 0x89, 0xEB, 0x89, 0xEC, 0x89, 0xED, 0x89, 0xEE, /* 0x30-0x33 */ + 0xB5, 0xCD, 0x89, 0xEF, 0x89, 0xF0, 0x89, 0xF1, /* 0x34-0x37 */ + 0x89, 0xF2, 0x89, 0xF3, 0x89, 0xF4, 0x89, 0xF5, /* 0x38-0x3B */ + 0x89, 0xF6, 0x89, 0xF7, 0x89, 0xF8, 0x89, 0xF9, /* 0x3C-0x3F */ + 0x89, 0xFA, 0x89, 0xFB, 0x89, 0xFC, 0x89, 0xFD, /* 0x40-0x43 */ + 0x89, 0xFE, 0x8A, 0x41, 0x8A, 0x42, 0x8A, 0x43, /* 0x44-0x47 */ + 0x8A, 0x44, 0x8A, 0x45, 0x8A, 0x46, 0x8A, 0x47, /* 0x48-0x4B */ + 0x8A, 0x48, 0x8A, 0x49, 0x8A, 0x4A, 0x8A, 0x4B, /* 0x4C-0x4F */ + 0xB5, 0xCE, 0xB5, 0xCF, 0x8A, 0x4C, 0x8A, 0x4D, /* 0x50-0x53 */ + 0xB5, 0xD0, 0x8A, 0x4E, 0x8A, 0x4F, 0x8A, 0x50, /* 0x54-0x57 */ + 0xB5, 0xD1, 0x8A, 0x51, 0x8A, 0x52, 0x8A, 0x53, /* 0x58-0x5B */ + 0x8A, 0x54, 0x8A, 0x55, 0x8A, 0x56, 0x8A, 0x57, /* 0x5C-0x5F */ + 0xB5, 0xD2, 0xB5, 0xD3, 0x8A, 0x58, 0xB5, 0xD4, /* 0x60-0x63 */ + 0x8A, 0x59, 0xB5, 0xD5, 0x8A, 0x5A, 0x8A, 0x61, /* 0x64-0x67 */ + 0x8A, 0x62, 0x8A, 0x63, 0x8A, 0x64, 0x8A, 0x65, /* 0x68-0x6B */ + 0xB5, 0xD6, 0x8A, 0x66, 0x8A, 0x67, 0x8A, 0x68, /* 0x6C-0x6F */ + 0x8A, 0x69, 0x8A, 0x6A, 0x8A, 0x6B, 0x8A, 0x6C, /* 0x70-0x73 */ + 0x8A, 0x6D, 0x8A, 0x6E, 0x8A, 0x6F, 0x8A, 0x70, /* 0x74-0x77 */ + 0x8A, 0x71, 0x8A, 0x72, 0x8A, 0x73, 0x8A, 0x74, /* 0x78-0x7B */ + 0x8A, 0x75, 0x8A, 0x76, 0x8A, 0x77, 0x8A, 0x78, /* 0x7C-0x7F */ + + 0xB5, 0xD7, 0x8A, 0x79, 0x8A, 0x7A, 0x8A, 0x81, /* 0x80-0x83 */ + 0x8A, 0x82, 0x8A, 0x83, 0x8A, 0x84, 0x8A, 0x85, /* 0x84-0x87 */ + 0xB5, 0xD8, 0x8A, 0x86, 0x8A, 0x87, 0x8A, 0x88, /* 0x88-0x8B */ + 0x8A, 0x89, 0x8A, 0x8A, 0x8A, 0x8B, 0x8A, 0x8C, /* 0x8C-0x8F */ + 0x8A, 0x8D, 0x8A, 0x8E, 0x8A, 0x8F, 0x8A, 0x90, /* 0x90-0x93 */ + 0x8A, 0x91, 0x8A, 0x92, 0x8A, 0x93, 0x8A, 0x94, /* 0x94-0x97 */ + 0x8A, 0x95, 0x8A, 0x96, 0x8A, 0x97, 0x8A, 0x98, /* 0x98-0x9B */ + 0x8A, 0x99, 0xB5, 0xD9, 0x8A, 0x9A, 0x8A, 0x9B, /* 0x9C-0x9F */ + 0x8A, 0x9C, 0x8A, 0x9D, 0x8A, 0x9E, 0x8A, 0x9F, /* 0xA0-0xA3 */ + 0xB5, 0xDA, 0x8A, 0xA0, 0x8A, 0xA1, 0x8A, 0xA2, /* 0xA4-0xA7 */ + 0xB5, 0xDB, 0x8A, 0xA3, 0x8A, 0xA4, 0x8A, 0xA5, /* 0xA8-0xAB */ + 0xB5, 0xDC, 0x8A, 0xA6, 0x8A, 0xA7, 0x8A, 0xA8, /* 0xAC-0xAF */ + 0x8A, 0xA9, 0x8A, 0xAA, 0x8A, 0xAB, 0x8A, 0xAC, /* 0xB0-0xB3 */ + 0x8A, 0xAD, 0xB5, 0xDD, 0x8A, 0xAE, 0xB5, 0xDE, /* 0xB4-0xB7 */ + 0x8A, 0xAF, 0xB5, 0xDF, 0x8A, 0xB0, 0x8A, 0xB1, /* 0xB8-0xBB */ + 0x8A, 0xB2, 0x8A, 0xB3, 0x8A, 0xB4, 0x8A, 0xB5, /* 0xBC-0xBF */ + 0xB5, 0xE0, 0x8A, 0xB6, 0x8A, 0xB7, 0x8A, 0xB8, /* 0xC0-0xC3 */ + 0xB5, 0xE1, 0x8A, 0xB9, 0x8A, 0xBA, 0x8A, 0xBB, /* 0xC4-0xC7 */ + 0xB5, 0xE2, 0x8A, 0xBC, 0x8A, 0xBD, 0x8A, 0xBE, /* 0xC8-0xCB */ + 0x8A, 0xBF, 0x8A, 0xC0, 0x8A, 0xC1, 0x8A, 0xC2, /* 0xCC-0xCF */ + 0xB5, 0xE3, 0x8A, 0xC3, 0x8A, 0xC4, 0x8A, 0xC5, /* 0xD0-0xD3 */ + 0x8A, 0xC6, 0xB5, 0xE4, 0x8A, 0xC7, 0x8A, 0xC8, /* 0xD4-0xD7 */ + 0x8A, 0xC9, 0x8A, 0xCA, 0x8A, 0xCB, 0x8A, 0xCC, /* 0xD8-0xDB */ + 0xB5, 0xE5, 0xB5, 0xE6, 0x8A, 0xCD, 0x8A, 0xCE, /* 0xDC-0xDF */ + 0xB5, 0xE7, 0x8A, 0xCF, 0x8A, 0xD0, 0xB5, 0xE8, /* 0xE0-0xE3 */ + 0xB5, 0xE9, 0x8A, 0xD1, 0xB5, 0xEA, 0x8A, 0xD2, /* 0xE4-0xE7 */ + 0x8A, 0xD3, 0x8A, 0xD4, 0x8A, 0xD5, 0x8A, 0xD6, /* 0xE8-0xEB */ + 0xB5, 0xEB, 0xB5, 0xEC, 0x8A, 0xD7, 0xB5, 0xED, /* 0xEC-0xEF */ + 0x8A, 0xD8, 0xB5, 0xEE, 0x8A, 0xD9, 0x8A, 0xDA, /* 0xF0-0xF3 */ + 0x8A, 0xDB, 0x8A, 0xDC, 0x8A, 0xDD, 0x8A, 0xDE, /* 0xF4-0xF7 */ + 0xB5, 0xEF, 0x8A, 0xDF, 0x8A, 0xE0, 0x8A, 0xE1, /* 0xF8-0xFB */ + 0x8A, 0xE2, 0x8A, 0xE3, 0x8A, 0xE4, 0x8A, 0xE5, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B5[512] = { + 0x8A, 0xE6, 0x8A, 0xE7, 0x8A, 0xE8, 0x8A, 0xE9, /* 0x00-0x03 */ + 0x8A, 0xEA, 0x8A, 0xEB, 0x8A, 0xEC, 0x8A, 0xED, /* 0x04-0x07 */ + 0x8A, 0xEE, 0x8A, 0xEF, 0x8A, 0xF0, 0x8A, 0xF1, /* 0x08-0x0B */ + 0x8A, 0xF2, 0x8A, 0xF3, 0x8A, 0xF4, 0x8A, 0xF5, /* 0x0C-0x0F */ + 0x8A, 0xF6, 0x8A, 0xF7, 0x8A, 0xF8, 0x8A, 0xF9, /* 0x10-0x13 */ + 0xB5, 0xF0, 0xB5, 0xF1, 0x8A, 0xFA, 0x8A, 0xFB, /* 0x14-0x17 */ + 0xB5, 0xF2, 0x8A, 0xFC, 0x8A, 0xFD, 0xB5, 0xF3, /* 0x18-0x1B */ + 0xB5, 0xF4, 0x8A, 0xFE, 0x8B, 0x41, 0x8B, 0x42, /* 0x1C-0x1F */ + 0x8B, 0x43, 0x8B, 0x44, 0x8B, 0x45, 0x8B, 0x46, /* 0x20-0x23 */ + 0xB5, 0xF5, 0xB5, 0xF6, 0x8B, 0x47, 0xB5, 0xF7, /* 0x24-0x27 */ + 0xB5, 0xF8, 0xB5, 0xF9, 0xB5, 0xFA, 0x8B, 0x48, /* 0x28-0x2B */ + 0x8B, 0x49, 0x8B, 0x4A, 0x8B, 0x4B, 0x8B, 0x4C, /* 0x2C-0x2F */ + 0xB5, 0xFB, 0xB5, 0xFC, 0x8B, 0x4D, 0x8B, 0x4E, /* 0x30-0x33 */ + 0xB5, 0xFD, 0x8B, 0x4F, 0x8B, 0x50, 0x8B, 0x51, /* 0x34-0x37 */ + 0xB5, 0xFE, 0x8B, 0x52, 0x8B, 0x53, 0x8B, 0x54, /* 0x38-0x3B */ + 0x8B, 0x55, 0x8B, 0x56, 0x8B, 0x57, 0x8B, 0x58, /* 0x3C-0x3F */ + 0xB6, 0xA1, 0xB6, 0xA2, 0x8B, 0x59, 0xB6, 0xA3, /* 0x40-0x43 */ + 0xB6, 0xA4, 0xB6, 0xA5, 0x8B, 0x5A, 0x8B, 0x61, /* 0x44-0x47 */ + 0x8B, 0x62, 0x8B, 0x63, 0x8B, 0x64, 0xB6, 0xA6, /* 0x48-0x4B */ + 0xB6, 0xA7, 0xB6, 0xA8, 0x8B, 0x65, 0x8B, 0x66, /* 0x4C-0x4F */ + 0xB6, 0xA9, 0x8B, 0x67, 0x8B, 0x68, 0x8B, 0x69, /* 0x50-0x53 */ + 0xB6, 0xAA, 0x8B, 0x6A, 0x8B, 0x6B, 0x8B, 0x6C, /* 0x54-0x57 */ + 0x8B, 0x6D, 0x8B, 0x6E, 0x8B, 0x6F, 0x8B, 0x70, /* 0x58-0x5B */ + 0xB6, 0xAB, 0xB6, 0xAC, 0x8B, 0x71, 0xB6, 0xAD, /* 0x5C-0x5F */ + 0xB6, 0xAE, 0xB6, 0xAF, 0x8B, 0x72, 0x8B, 0x73, /* 0x60-0x63 */ + 0x8B, 0x74, 0x8B, 0x75, 0x8B, 0x76, 0x8B, 0x77, /* 0x64-0x67 */ + 0x8B, 0x78, 0x8B, 0x79, 0x8B, 0x7A, 0x8B, 0x81, /* 0x68-0x6B */ + 0x8B, 0x82, 0x8B, 0x83, 0x8B, 0x84, 0x8B, 0x85, /* 0x6C-0x6F */ + 0x8B, 0x86, 0x8B, 0x87, 0x8B, 0x88, 0x8B, 0x89, /* 0x70-0x73 */ + 0x8B, 0x8A, 0x8B, 0x8B, 0x8B, 0x8C, 0x8B, 0x8D, /* 0x74-0x77 */ + 0x8B, 0x8E, 0x8B, 0x8F, 0x8B, 0x90, 0x8B, 0x91, /* 0x78-0x7B */ + 0x8B, 0x92, 0x8B, 0x93, 0x8B, 0x94, 0x8B, 0x95, /* 0x7C-0x7F */ + + 0x8B, 0x96, 0x8B, 0x97, 0x8B, 0x98, 0x8B, 0x99, /* 0x80-0x83 */ + 0x8B, 0x9A, 0x8B, 0x9B, 0x8B, 0x9C, 0x8B, 0x9D, /* 0x84-0x87 */ + 0x8B, 0x9E, 0x8B, 0x9F, 0x8B, 0xA0, 0x8B, 0xA1, /* 0x88-0x8B */ + 0x8B, 0xA2, 0x8B, 0xA3, 0x8B, 0xA4, 0x8B, 0xA5, /* 0x8C-0x8F */ + 0x8B, 0xA6, 0x8B, 0xA7, 0x8B, 0xA8, 0x8B, 0xA9, /* 0x90-0x93 */ + 0x8B, 0xAA, 0x8B, 0xAB, 0x8B, 0xAC, 0x8B, 0xAD, /* 0x94-0x97 */ + 0x8B, 0xAE, 0x8B, 0xAF, 0x8B, 0xB0, 0x8B, 0xB1, /* 0x98-0x9B */ + 0x8B, 0xB2, 0x8B, 0xB3, 0x8B, 0xB4, 0x8B, 0xB5, /* 0x9C-0x9F */ + 0xB6, 0xB0, 0xB6, 0xB1, 0x8B, 0xB6, 0x8B, 0xB7, /* 0xA0-0xA3 */ + 0xB6, 0xB2, 0x8B, 0xB8, 0x8B, 0xB9, 0x8B, 0xBA, /* 0xA4-0xA7 */ + 0xB6, 0xB3, 0x8B, 0xBB, 0xB6, 0xB4, 0xB6, 0xB5, /* 0xA8-0xAB */ + 0x8B, 0xBC, 0x8B, 0xBD, 0x8B, 0xBE, 0x8B, 0xBF, /* 0xAC-0xAF */ + 0xB6, 0xB6, 0xB6, 0xB7, 0x8B, 0xC0, 0xB6, 0xB8, /* 0xB0-0xB3 */ + 0xB6, 0xB9, 0xB6, 0xBA, 0x8B, 0xC1, 0x8B, 0xC2, /* 0xB4-0xB7 */ + 0x8B, 0xC3, 0x8B, 0xC4, 0x8B, 0xC5, 0xB6, 0xBB, /* 0xB8-0xBB */ + 0xB6, 0xBC, 0xB6, 0xBD, 0x8B, 0xC6, 0x8B, 0xC7, /* 0xBC-0xBF */ + 0xB6, 0xBE, 0x8B, 0xC8, 0x8B, 0xC9, 0x8B, 0xCA, /* 0xC0-0xC3 */ + 0xB6, 0xBF, 0x8B, 0xCB, 0x8B, 0xCC, 0x8B, 0xCD, /* 0xC4-0xC7 */ + 0x8B, 0xCE, 0x8B, 0xCF, 0x8B, 0xD0, 0x8B, 0xD1, /* 0xC8-0xCB */ + 0xB6, 0xC0, 0xB6, 0xC1, 0x8B, 0xD2, 0xB6, 0xC2, /* 0xCC-0xCF */ + 0xB6, 0xC3, 0xB6, 0xC4, 0x8B, 0xD3, 0x8B, 0xD4, /* 0xD0-0xD3 */ + 0x8B, 0xD5, 0x8B, 0xD6, 0x8B, 0xD7, 0x8B, 0xD8, /* 0xD4-0xD7 */ + 0xB6, 0xC5, 0x8B, 0xD9, 0x8B, 0xDA, 0x8B, 0xDB, /* 0xD8-0xDB */ + 0x8B, 0xDC, 0x8B, 0xDD, 0x8B, 0xDE, 0x8B, 0xDF, /* 0xDC-0xDF */ + 0x8B, 0xE0, 0x8B, 0xE1, 0x8B, 0xE2, 0x8B, 0xE3, /* 0xE0-0xE3 */ + 0x8B, 0xE4, 0x8B, 0xE5, 0x8B, 0xE6, 0x8B, 0xE7, /* 0xE4-0xE7 */ + 0x8B, 0xE8, 0x8B, 0xE9, 0x8B, 0xEA, 0x8B, 0xEB, /* 0xE8-0xEB */ + 0xB6, 0xC6, 0x8B, 0xEC, 0x8B, 0xED, 0x8B, 0xEE, /* 0xEC-0xEF */ + 0x8B, 0xEF, 0x8B, 0xF0, 0x8B, 0xF1, 0x8B, 0xF2, /* 0xF0-0xF3 */ + 0x8B, 0xF3, 0x8B, 0xF4, 0x8B, 0xF5, 0x8B, 0xF6, /* 0xF4-0xF7 */ + 0x8B, 0xF7, 0x8B, 0xF8, 0x8B, 0xF9, 0x8B, 0xFA, /* 0xF8-0xFB */ + 0x8B, 0xFB, 0x8B, 0xFC, 0x8B, 0xFD, 0x8B, 0xFE, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B6[512] = { + 0x8C, 0x41, 0x8C, 0x42, 0x8C, 0x43, 0x8C, 0x44, /* 0x00-0x03 */ + 0x8C, 0x45, 0x8C, 0x46, 0x8C, 0x47, 0x8C, 0x48, /* 0x04-0x07 */ + 0x8C, 0x49, 0x8C, 0x4A, 0x8C, 0x4B, 0x8C, 0x4C, /* 0x08-0x0B */ + 0x8C, 0x4D, 0x8C, 0x4E, 0x8C, 0x4F, 0x8C, 0x50, /* 0x0C-0x0F */ + 0xB6, 0xC7, 0xB6, 0xC8, 0x8C, 0x51, 0x8C, 0x52, /* 0x10-0x13 */ + 0xB6, 0xC9, 0x8C, 0x53, 0x8C, 0x54, 0x8C, 0x55, /* 0x14-0x17 */ + 0xB6, 0xCA, 0x8C, 0x56, 0x8C, 0x57, 0x8C, 0x58, /* 0x18-0x1B */ + 0x8C, 0x59, 0x8C, 0x5A, 0x8C, 0x61, 0x8C, 0x62, /* 0x1C-0x1F */ + 0x8C, 0x63, 0x8C, 0x64, 0x8C, 0x65, 0x8C, 0x66, /* 0x20-0x23 */ + 0x8C, 0x67, 0xB6, 0xCB, 0x8C, 0x68, 0x8C, 0x69, /* 0x24-0x27 */ + 0x8C, 0x6A, 0x8C, 0x6B, 0x8C, 0x6C, 0x8C, 0x6D, /* 0x28-0x2B */ + 0xB6, 0xCC, 0x8C, 0x6E, 0x8C, 0x6F, 0x8C, 0x70, /* 0x2C-0x2F */ + 0x8C, 0x71, 0x8C, 0x72, 0x8C, 0x73, 0x8C, 0x74, /* 0x30-0x33 */ + 0xB6, 0xCD, 0x8C, 0x75, 0x8C, 0x76, 0x8C, 0x77, /* 0x34-0x37 */ + 0x8C, 0x78, 0x8C, 0x79, 0x8C, 0x7A, 0x8C, 0x81, /* 0x38-0x3B */ + 0x8C, 0x82, 0x8C, 0x83, 0x8C, 0x84, 0x8C, 0x85, /* 0x3C-0x3F */ + 0x8C, 0x86, 0x8C, 0x87, 0x8C, 0x88, 0x8C, 0x89, /* 0x40-0x43 */ + 0x8C, 0x8A, 0x8C, 0x8B, 0x8C, 0x8C, 0x8C, 0x8D, /* 0x44-0x47 */ + 0xB6, 0xCE, 0x8C, 0x8E, 0x8C, 0x8F, 0x8C, 0x90, /* 0x48-0x4B */ + 0x8C, 0x91, 0x8C, 0x92, 0x8C, 0x93, 0x8C, 0x94, /* 0x4C-0x4F */ + 0x8C, 0x95, 0x8C, 0x96, 0x8C, 0x97, 0x8C, 0x98, /* 0x50-0x53 */ + 0x8C, 0x99, 0x8C, 0x9A, 0x8C, 0x9B, 0x8C, 0x9C, /* 0x54-0x57 */ + 0x8C, 0x9D, 0x8C, 0x9E, 0x8C, 0x9F, 0x8C, 0xA0, /* 0x58-0x5B */ + 0x8C, 0xA1, 0x8C, 0xA2, 0x8C, 0xA3, 0x8C, 0xA4, /* 0x5C-0x5F */ + 0x8C, 0xA5, 0x8C, 0xA6, 0x8C, 0xA7, 0x8C, 0xA8, /* 0x60-0x63 */ + 0xB6, 0xCF, 0x8C, 0xA9, 0x8C, 0xAA, 0x8C, 0xAB, /* 0x64-0x67 */ + 0xB6, 0xD0, 0x8C, 0xAC, 0x8C, 0xAD, 0x8C, 0xAE, /* 0x68-0x6B */ + 0x8C, 0xAF, 0x8C, 0xB0, 0x8C, 0xB1, 0x8C, 0xB2, /* 0x6C-0x6F */ + 0x8C, 0xB3, 0x8C, 0xB4, 0x8C, 0xB5, 0x8C, 0xB6, /* 0x70-0x73 */ + 0x8C, 0xB7, 0x8C, 0xB8, 0x8C, 0xB9, 0x8C, 0xBA, /* 0x74-0x77 */ + 0x8C, 0xBB, 0x8C, 0xBC, 0x8C, 0xBD, 0x8C, 0xBE, /* 0x78-0x7B */ + 0x8C, 0xBF, 0x8C, 0xC0, 0x8C, 0xC1, 0x8C, 0xC2, /* 0x7C-0x7F */ + + 0x8C, 0xC3, 0x8C, 0xC4, 0x8C, 0xC5, 0x8C, 0xC6, /* 0x80-0x83 */ + 0x8C, 0xC7, 0x8C, 0xC8, 0x8C, 0xC9, 0x8C, 0xCA, /* 0x84-0x87 */ + 0x8C, 0xCB, 0x8C, 0xCC, 0x8C, 0xCD, 0x8C, 0xCE, /* 0x88-0x8B */ + 0x8C, 0xCF, 0x8C, 0xD0, 0x8C, 0xD1, 0x8C, 0xD2, /* 0x8C-0x8F */ + 0x8C, 0xD3, 0x8C, 0xD4, 0x8C, 0xD5, 0x8C, 0xD6, /* 0x90-0x93 */ + 0x8C, 0xD7, 0x8C, 0xD8, 0x8C, 0xD9, 0x8C, 0xDA, /* 0x94-0x97 */ + 0x8C, 0xDB, 0x8C, 0xDC, 0x8C, 0xDD, 0x8C, 0xDE, /* 0x98-0x9B */ + 0xB6, 0xD1, 0xB6, 0xD2, 0x8C, 0xDF, 0x8C, 0xE0, /* 0x9C-0x9F */ + 0xB6, 0xD3, 0x8C, 0xE1, 0x8C, 0xE2, 0x8C, 0xE3, /* 0xA0-0xA3 */ + 0xB6, 0xD4, 0x8C, 0xE4, 0x8C, 0xE5, 0x8C, 0xE6, /* 0xA4-0xA7 */ + 0x8C, 0xE7, 0x8C, 0xE8, 0x8C, 0xE9, 0xB6, 0xD5, /* 0xA8-0xAB */ + 0xB6, 0xD6, 0x8C, 0xEA, 0x8C, 0xEB, 0x8C, 0xEC, /* 0xAC-0xAF */ + 0x8C, 0xED, 0xB6, 0xD7, 0x8C, 0xEE, 0x8C, 0xEF, /* 0xB0-0xB3 */ + 0x8C, 0xF0, 0x8C, 0xF1, 0x8C, 0xF2, 0x8C, 0xF3, /* 0xB4-0xB7 */ + 0x8C, 0xF4, 0x8C, 0xF5, 0x8C, 0xF6, 0x8C, 0xF7, /* 0xB8-0xBB */ + 0x8C, 0xF8, 0x8C, 0xF9, 0x8C, 0xFA, 0x8C, 0xFB, /* 0xBC-0xBF */ + 0x8C, 0xFC, 0x8C, 0xFD, 0x8C, 0xFE, 0x8D, 0x41, /* 0xC0-0xC3 */ + 0x8D, 0x42, 0x8D, 0x43, 0x8D, 0x44, 0x8D, 0x45, /* 0xC4-0xC7 */ + 0x8D, 0x46, 0x8D, 0x47, 0x8D, 0x48, 0x8D, 0x49, /* 0xC8-0xCB */ + 0x8D, 0x4A, 0x8D, 0x4B, 0x8D, 0x4C, 0x8D, 0x4D, /* 0xCC-0xCF */ + 0x8D, 0x4E, 0x8D, 0x4F, 0x8D, 0x50, 0x8D, 0x51, /* 0xD0-0xD3 */ + 0xB6, 0xD8, 0x8D, 0x52, 0x8D, 0x53, 0x8D, 0x54, /* 0xD4-0xD7 */ + 0x8D, 0x55, 0x8D, 0x56, 0x8D, 0x57, 0x8D, 0x58, /* 0xD8-0xDB */ + 0x8D, 0x59, 0x8D, 0x5A, 0x8D, 0x61, 0x8D, 0x62, /* 0xDC-0xDF */ + 0x8D, 0x63, 0x8D, 0x64, 0x8D, 0x65, 0x8D, 0x66, /* 0xE0-0xE3 */ + 0x8D, 0x67, 0x8D, 0x68, 0x8D, 0x69, 0x8D, 0x6A, /* 0xE4-0xE7 */ + 0x8D, 0x6B, 0x8D, 0x6C, 0x8D, 0x6D, 0x8D, 0x6E, /* 0xE8-0xEB */ + 0x8D, 0x6F, 0x8D, 0x70, 0x8D, 0x71, 0x8D, 0x72, /* 0xEC-0xEF */ + 0xB6, 0xD9, 0x8D, 0x73, 0x8D, 0x74, 0x8D, 0x75, /* 0xF0-0xF3 */ + 0xB6, 0xDA, 0x8D, 0x76, 0x8D, 0x77, 0x8D, 0x78, /* 0xF4-0xF7 */ + 0xB6, 0xDB, 0x8D, 0x79, 0x8D, 0x7A, 0x8D, 0x81, /* 0xF8-0xFB */ + 0x8D, 0x82, 0x8D, 0x83, 0x8D, 0x84, 0x8D, 0x85, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B7[512] = { + 0xB6, 0xDC, 0xB6, 0xDD, 0x8D, 0x86, 0x8D, 0x87, /* 0x00-0x03 */ + 0x8D, 0x88, 0xB6, 0xDE, 0x8D, 0x89, 0x8D, 0x8A, /* 0x04-0x07 */ + 0x8D, 0x8B, 0x8D, 0x8C, 0x8D, 0x8D, 0x8D, 0x8E, /* 0x08-0x0B */ + 0x8D, 0x8F, 0x8D, 0x90, 0x8D, 0x91, 0x8D, 0x92, /* 0x0C-0x0F */ + 0x8D, 0x93, 0x8D, 0x94, 0x8D, 0x95, 0x8D, 0x96, /* 0x10-0x13 */ + 0x8D, 0x97, 0x8D, 0x98, 0x8D, 0x99, 0x8D, 0x9A, /* 0x14-0x17 */ + 0x8D, 0x9B, 0x8D, 0x9C, 0x8D, 0x9D, 0x8D, 0x9E, /* 0x18-0x1B */ + 0x8D, 0x9F, 0x8D, 0xA0, 0x8D, 0xA1, 0x8D, 0xA2, /* 0x1C-0x1F */ + 0x8D, 0xA3, 0x8D, 0xA4, 0x8D, 0xA5, 0x8D, 0xA6, /* 0x20-0x23 */ + 0x8D, 0xA7, 0x8D, 0xA8, 0x8D, 0xA9, 0x8D, 0xAA, /* 0x24-0x27 */ + 0xB6, 0xDF, 0xB6, 0xE0, 0x8D, 0xAB, 0x8D, 0xAC, /* 0x28-0x2B */ + 0xB6, 0xE1, 0x8D, 0xAD, 0x8D, 0xAE, 0xB6, 0xE2, /* 0x2C-0x2F */ + 0xB6, 0xE3, 0x8D, 0xAF, 0x8D, 0xB0, 0x8D, 0xB1, /* 0x30-0x33 */ + 0x8D, 0xB2, 0x8D, 0xB3, 0x8D, 0xB4, 0x8D, 0xB5, /* 0x34-0x37 */ + 0xB6, 0xE4, 0xB6, 0xE5, 0x8D, 0xB6, 0xB6, 0xE6, /* 0x38-0x3B */ + 0x8D, 0xB7, 0x8D, 0xB8, 0x8D, 0xB9, 0x8D, 0xBA, /* 0x3C-0x3F */ + 0x8D, 0xBB, 0x8D, 0xBC, 0x8D, 0xBD, 0x8D, 0xBE, /* 0x40-0x43 */ + 0xB6, 0xE7, 0x8D, 0xBF, 0x8D, 0xC0, 0x8D, 0xC1, /* 0x44-0x47 */ + 0xB6, 0xE8, 0x8D, 0xC2, 0x8D, 0xC3, 0x8D, 0xC4, /* 0x48-0x4B */ + 0xB6, 0xE9, 0x8D, 0xC5, 0x8D, 0xC6, 0x8D, 0xC7, /* 0x4C-0x4F */ + 0x8D, 0xC8, 0x8D, 0xC9, 0x8D, 0xCA, 0x8D, 0xCB, /* 0x50-0x53 */ + 0xB6, 0xEA, 0xB6, 0xEB, 0x8D, 0xCC, 0x8D, 0xCD, /* 0x54-0x57 */ + 0x8D, 0xCE, 0x8D, 0xCF, 0x8D, 0xD0, 0x8D, 0xD1, /* 0x58-0x5B */ + 0x8D, 0xD2, 0x8D, 0xD3, 0x8D, 0xD4, 0x8D, 0xD5, /* 0x5C-0x5F */ + 0xB6, 0xEC, 0x8D, 0xD6, 0x8D, 0xD7, 0x8D, 0xD8, /* 0x60-0x63 */ + 0xB6, 0xED, 0x8D, 0xD9, 0x8D, 0xDA, 0x8D, 0xDB, /* 0x64-0x67 */ + 0xB6, 0xEE, 0x8D, 0xDC, 0x8D, 0xDD, 0x8D, 0xDE, /* 0x68-0x6B */ + 0x8D, 0xDF, 0x8D, 0xE0, 0x8D, 0xE1, 0x8D, 0xE2, /* 0x6C-0x6F */ + 0xB6, 0xEF, 0xB6, 0xF0, 0x8D, 0xE3, 0xB6, 0xF1, /* 0x70-0x73 */ + 0x8D, 0xE4, 0xB6, 0xF2, 0x8D, 0xE5, 0x8D, 0xE6, /* 0x74-0x77 */ + 0x8D, 0xE7, 0x8D, 0xE8, 0x8D, 0xE9, 0x8D, 0xEA, /* 0x78-0x7B */ + 0xB6, 0xF3, 0xB6, 0xF4, 0x8D, 0xEB, 0x8D, 0xEC, /* 0x7C-0x7F */ + + 0xB6, 0xF5, 0x8D, 0xED, 0x8D, 0xEE, 0x8D, 0xEF, /* 0x80-0x83 */ + 0xB6, 0xF6, 0x8D, 0xF0, 0x8D, 0xF1, 0x8D, 0xF2, /* 0x84-0x87 */ + 0x8D, 0xF3, 0x8D, 0xF4, 0x8D, 0xF5, 0x8D, 0xF6, /* 0x88-0x8B */ + 0xB6, 0xF7, 0xB6, 0xF8, 0x8D, 0xF7, 0xB6, 0xF9, /* 0x8C-0x8F */ + 0xB6, 0xFA, 0xB6, 0xFB, 0xB6, 0xFC, 0x8D, 0xF8, /* 0x90-0x93 */ + 0x8D, 0xF9, 0x8D, 0xFA, 0xB6, 0xFD, 0xB6, 0xFE, /* 0x94-0x97 */ + 0xB7, 0xA1, 0xB7, 0xA2, 0x8D, 0xFB, 0x8D, 0xFC, /* 0x98-0x9B */ + 0xB7, 0xA3, 0x8D, 0xFD, 0x8D, 0xFE, 0x8E, 0x41, /* 0x9C-0x9F */ + 0xB7, 0xA4, 0x8E, 0x42, 0x8E, 0x43, 0x8E, 0x44, /* 0xA0-0xA3 */ + 0x8E, 0x45, 0x8E, 0x46, 0x8E, 0x47, 0x8E, 0x48, /* 0xA4-0xA7 */ + 0xB7, 0xA5, 0xB7, 0xA6, 0x8E, 0x49, 0xB7, 0xA7, /* 0xA8-0xAB */ + 0xB7, 0xA8, 0xB7, 0xA9, 0x8E, 0x4A, 0x8E, 0x4B, /* 0xAC-0xAF */ + 0x8E, 0x4C, 0x8E, 0x4D, 0x8E, 0x4E, 0x8E, 0x4F, /* 0xB0-0xB3 */ + 0xB7, 0xAA, 0xB7, 0xAB, 0x8E, 0x50, 0x8E, 0x51, /* 0xB4-0xB7 */ + 0xB7, 0xAC, 0x8E, 0x52, 0x8E, 0x53, 0x8E, 0x54, /* 0xB8-0xBB */ + 0x8E, 0x55, 0x8E, 0x56, 0x8E, 0x57, 0x8E, 0x58, /* 0xBC-0xBF */ + 0x8E, 0x59, 0x8E, 0x5A, 0x8E, 0x61, 0x8E, 0x62, /* 0xC0-0xC3 */ + 0x8E, 0x63, 0x8E, 0x64, 0x8E, 0x65, 0xB7, 0xAD, /* 0xC4-0xC7 */ + 0x8E, 0x66, 0xB7, 0xAE, 0x8E, 0x67, 0x8E, 0x68, /* 0xC8-0xCB */ + 0x8E, 0x69, 0x8E, 0x6A, 0x8E, 0x6B, 0x8E, 0x6C, /* 0xCC-0xCF */ + 0x8E, 0x6D, 0x8E, 0x6E, 0x8E, 0x6F, 0x8E, 0x70, /* 0xD0-0xD3 */ + 0x8E, 0x71, 0x8E, 0x72, 0x8E, 0x73, 0x8E, 0x74, /* 0xD4-0xD7 */ + 0x8E, 0x75, 0x8E, 0x76, 0x8E, 0x77, 0x8E, 0x78, /* 0xD8-0xDB */ + 0x8E, 0x79, 0x8E, 0x7A, 0x8E, 0x81, 0x8E, 0x82, /* 0xDC-0xDF */ + 0x8E, 0x83, 0x8E, 0x84, 0x8E, 0x85, 0x8E, 0x86, /* 0xE0-0xE3 */ + 0x8E, 0x87, 0x8E, 0x88, 0x8E, 0x89, 0x8E, 0x8A, /* 0xE4-0xE7 */ + 0x8E, 0x8B, 0x8E, 0x8C, 0x8E, 0x8D, 0x8E, 0x8E, /* 0xE8-0xEB */ + 0xB7, 0xAF, 0xB7, 0xB0, 0x8E, 0x8F, 0x8E, 0x90, /* 0xEC-0xEF */ + 0xB7, 0xB1, 0x8E, 0x91, 0x8E, 0x92, 0x8E, 0x93, /* 0xF0-0xF3 */ + 0xB7, 0xB2, 0x8E, 0x94, 0x8E, 0x95, 0x8E, 0x96, /* 0xF4-0xF7 */ + 0x8E, 0x97, 0x8E, 0x98, 0x8E, 0x99, 0x8E, 0x9A, /* 0xF8-0xFB */ + 0xB7, 0xB3, 0xB7, 0xB4, 0x8E, 0x9B, 0xB7, 0xB5, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B8[512] = { + 0xB7, 0xB6, 0xB7, 0xB7, 0x8E, 0x9C, 0x8E, 0x9D, /* 0x00-0x03 */ + 0x8E, 0x9E, 0x8E, 0x9F, 0x8E, 0xA0, 0xB7, 0xB8, /* 0x04-0x07 */ + 0xB7, 0xB9, 0xB7, 0xBA, 0x8E, 0xA1, 0x8E, 0xA2, /* 0x08-0x0B */ + 0xB7, 0xBB, 0x8E, 0xA3, 0x8E, 0xA4, 0x8E, 0xA5, /* 0x0C-0x0F */ + 0xB7, 0xBC, 0x8E, 0xA6, 0x8E, 0xA7, 0x8E, 0xA8, /* 0x10-0x13 */ + 0x8E, 0xA9, 0x8E, 0xAA, 0x8E, 0xAB, 0x8E, 0xAC, /* 0x14-0x17 */ + 0xB7, 0xBD, 0xB7, 0xBE, 0x8E, 0xAD, 0xB7, 0xBF, /* 0x18-0x1B */ + 0x8E, 0xAE, 0xB7, 0xC0, 0x8E, 0xAF, 0x8E, 0xB0, /* 0x1C-0x1F */ + 0x8E, 0xB1, 0x8E, 0xB2, 0x8E, 0xB3, 0x8E, 0xB4, /* 0x20-0x23 */ + 0xB7, 0xC1, 0xB7, 0xC2, 0x8E, 0xB5, 0x8E, 0xB6, /* 0x24-0x27 */ + 0xB7, 0xC3, 0x8E, 0xB7, 0x8E, 0xB8, 0x8E, 0xB9, /* 0x28-0x2B */ + 0xB7, 0xC4, 0x8E, 0xBA, 0x8E, 0xBB, 0x8E, 0xBC, /* 0x2C-0x2F */ + 0x8E, 0xBD, 0x8E, 0xBE, 0x8E, 0xBF, 0x8E, 0xC0, /* 0x30-0x33 */ + 0xB7, 0xC5, 0xB7, 0xC6, 0x8E, 0xC1, 0xB7, 0xC7, /* 0x34-0x37 */ + 0xB7, 0xC8, 0xB7, 0xC9, 0x8E, 0xC2, 0x8E, 0xC3, /* 0x38-0x3B */ + 0x8E, 0xC4, 0x8E, 0xC5, 0x8E, 0xC6, 0x8E, 0xC7, /* 0x3C-0x3F */ + 0xB7, 0xCA, 0x8E, 0xC8, 0x8E, 0xC9, 0x8E, 0xCA, /* 0x40-0x43 */ + 0xB7, 0xCB, 0x8E, 0xCB, 0x8E, 0xCC, 0x8E, 0xCD, /* 0x44-0x47 */ + 0x8E, 0xCE, 0x8E, 0xCF, 0x8E, 0xD0, 0x8E, 0xD1, /* 0x48-0x4B */ + 0x8E, 0xD2, 0x8E, 0xD3, 0x8E, 0xD4, 0x8E, 0xD5, /* 0x4C-0x4F */ + 0x8E, 0xD6, 0xB7, 0xCC, 0x8E, 0xD7, 0xB7, 0xCD, /* 0x50-0x53 */ + 0x8E, 0xD8, 0x8E, 0xD9, 0x8E, 0xDA, 0x8E, 0xDB, /* 0x54-0x57 */ + 0x8E, 0xDC, 0x8E, 0xDD, 0x8E, 0xDE, 0x8E, 0xDF, /* 0x58-0x5B */ + 0xB7, 0xCE, 0xB7, 0xCF, 0x8E, 0xE0, 0x8E, 0xE1, /* 0x5C-0x5F */ + 0xB7, 0xD0, 0x8E, 0xE2, 0x8E, 0xE3, 0x8E, 0xE4, /* 0x60-0x63 */ + 0xB7, 0xD1, 0x8E, 0xE5, 0x8E, 0xE6, 0x8E, 0xE7, /* 0x64-0x67 */ + 0x8E, 0xE8, 0x8E, 0xE9, 0x8E, 0xEA, 0x8E, 0xEB, /* 0x68-0x6B */ + 0xB7, 0xD2, 0xB7, 0xD3, 0x8E, 0xEC, 0xB7, 0xD4, /* 0x6C-0x6F */ + 0x8E, 0xED, 0xB7, 0xD5, 0x8E, 0xEE, 0x8E, 0xEF, /* 0x70-0x73 */ + 0x8E, 0xF0, 0x8E, 0xF1, 0x8E, 0xF2, 0x8E, 0xF3, /* 0x74-0x77 */ + 0xB7, 0xD6, 0x8E, 0xF4, 0x8E, 0xF5, 0x8E, 0xF6, /* 0x78-0x7B */ + 0xB7, 0xD7, 0x8E, 0xF7, 0x8E, 0xF8, 0x8E, 0xF9, /* 0x7C-0x7F */ + + 0x8E, 0xFA, 0x8E, 0xFB, 0x8E, 0xFC, 0x8E, 0xFD, /* 0x80-0x83 */ + 0x8E, 0xFE, 0x8F, 0x41, 0x8F, 0x42, 0x8F, 0x43, /* 0x84-0x87 */ + 0x8F, 0x44, 0x8F, 0x45, 0x8F, 0x46, 0x8F, 0x47, /* 0x88-0x8B */ + 0x8F, 0x48, 0xB7, 0xD8, 0x8F, 0x49, 0x8F, 0x4A, /* 0x8C-0x8F */ + 0x8F, 0x4B, 0x8F, 0x4C, 0x8F, 0x4D, 0x8F, 0x4E, /* 0x90-0x93 */ + 0x8F, 0x4F, 0x8F, 0x50, 0x8F, 0x51, 0x8F, 0x52, /* 0x94-0x97 */ + 0x8F, 0x53, 0x8F, 0x54, 0x8F, 0x55, 0x8F, 0x56, /* 0x98-0x9B */ + 0x8F, 0x57, 0x8F, 0x58, 0x8F, 0x59, 0x8F, 0x5A, /* 0x9C-0x9F */ + 0x8F, 0x61, 0x8F, 0x62, 0x8F, 0x63, 0x8F, 0x64, /* 0xA0-0xA3 */ + 0x8F, 0x65, 0x8F, 0x66, 0x8F, 0x67, 0x8F, 0x68, /* 0xA4-0xA7 */ + 0xB7, 0xD9, 0x8F, 0x69, 0x8F, 0x6A, 0x8F, 0x6B, /* 0xA8-0xAB */ + 0x8F, 0x6C, 0x8F, 0x6D, 0x8F, 0x6E, 0x8F, 0x6F, /* 0xAC-0xAF */ + 0xB7, 0xDA, 0x8F, 0x70, 0x8F, 0x71, 0x8F, 0x72, /* 0xB0-0xB3 */ + 0xB7, 0xDB, 0x8F, 0x73, 0x8F, 0x74, 0x8F, 0x75, /* 0xB4-0xB7 */ + 0xB7, 0xDC, 0x8F, 0x76, 0x8F, 0x77, 0x8F, 0x78, /* 0xB8-0xBB */ + 0x8F, 0x79, 0x8F, 0x7A, 0x8F, 0x81, 0x8F, 0x82, /* 0xBC-0xBF */ + 0xB7, 0xDD, 0xB7, 0xDE, 0x8F, 0x83, 0xB7, 0xDF, /* 0xC0-0xC3 */ + 0x8F, 0x84, 0xB7, 0xE0, 0x8F, 0x85, 0x8F, 0x86, /* 0xC4-0xC7 */ + 0x8F, 0x87, 0x8F, 0x88, 0x8F, 0x89, 0x8F, 0x8A, /* 0xC8-0xCB */ + 0xB7, 0xE1, 0x8F, 0x8B, 0x8F, 0x8C, 0x8F, 0x8D, /* 0xCC-0xCF */ + 0xB7, 0xE2, 0x8F, 0x8E, 0x8F, 0x8F, 0x8F, 0x90, /* 0xD0-0xD3 */ + 0xB7, 0xE3, 0x8F, 0x91, 0x8F, 0x92, 0x8F, 0x93, /* 0xD4-0xD7 */ + 0x8F, 0x94, 0x8F, 0x95, 0x8F, 0x96, 0x8F, 0x97, /* 0xD8-0xDB */ + 0x8F, 0x98, 0xB7, 0xE4, 0x8F, 0x99, 0xB7, 0xE5, /* 0xDC-0xDF */ + 0x8F, 0x9A, 0xB7, 0xE6, 0x8F, 0x9B, 0x8F, 0x9C, /* 0xE0-0xE3 */ + 0x8F, 0x9D, 0x8F, 0x9E, 0x8F, 0x9F, 0x8F, 0xA0, /* 0xE4-0xE7 */ + 0xB7, 0xE7, 0xB7, 0xE8, 0x8F, 0xA1, 0x8F, 0xA2, /* 0xE8-0xEB */ + 0xB7, 0xE9, 0x8F, 0xA3, 0x8F, 0xA4, 0x8F, 0xA5, /* 0xEC-0xEF */ + 0xB7, 0xEA, 0x8F, 0xA6, 0x8F, 0xA7, 0x8F, 0xA8, /* 0xF0-0xF3 */ + 0x8F, 0xA9, 0x8F, 0xAA, 0x8F, 0xAB, 0x8F, 0xAC, /* 0xF4-0xF7 */ + 0xB7, 0xEB, 0xB7, 0xEC, 0x8F, 0xAD, 0xB7, 0xED, /* 0xF8-0xFB */ + 0x8F, 0xAE, 0xB7, 0xEE, 0x8F, 0xAF, 0x8F, 0xB0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_B9[512] = { + 0x8F, 0xB1, 0x8F, 0xB2, 0x8F, 0xB3, 0x8F, 0xB4, /* 0x00-0x03 */ + 0xB7, 0xEF, 0x8F, 0xB5, 0x8F, 0xB6, 0x8F, 0xB7, /* 0x04-0x07 */ + 0x8F, 0xB8, 0x8F, 0xB9, 0x8F, 0xBA, 0x8F, 0xBB, /* 0x08-0x0B */ + 0x8F, 0xBC, 0x8F, 0xBD, 0x8F, 0xBE, 0x8F, 0xBF, /* 0x0C-0x0F */ + 0x8F, 0xC0, 0x8F, 0xC1, 0x8F, 0xC2, 0x8F, 0xC3, /* 0x10-0x13 */ + 0x8F, 0xC4, 0x8F, 0xC5, 0x8F, 0xC6, 0x8F, 0xC7, /* 0x14-0x17 */ + 0xB7, 0xF0, 0x8F, 0xC8, 0x8F, 0xC9, 0x8F, 0xCA, /* 0x18-0x1B */ + 0x8F, 0xCB, 0x8F, 0xCC, 0x8F, 0xCD, 0x8F, 0xCE, /* 0x1C-0x1F */ + 0xB7, 0xF1, 0x8F, 0xCF, 0x8F, 0xD0, 0x8F, 0xD1, /* 0x20-0x23 */ + 0x8F, 0xD2, 0x8F, 0xD3, 0x8F, 0xD4, 0x8F, 0xD5, /* 0x24-0x27 */ + 0x8F, 0xD6, 0x8F, 0xD7, 0x8F, 0xD8, 0x8F, 0xD9, /* 0x28-0x2B */ + 0x8F, 0xDA, 0x8F, 0xDB, 0x8F, 0xDC, 0x8F, 0xDD, /* 0x2C-0x2F */ + 0x8F, 0xDE, 0x8F, 0xDF, 0x8F, 0xE0, 0x8F, 0xE1, /* 0x30-0x33 */ + 0x8F, 0xE2, 0x8F, 0xE3, 0x8F, 0xE4, 0x8F, 0xE5, /* 0x34-0x37 */ + 0x8F, 0xE6, 0x8F, 0xE7, 0x8F, 0xE8, 0x8F, 0xE9, /* 0x38-0x3B */ + 0xB7, 0xF2, 0xB7, 0xF3, 0x8F, 0xEA, 0x8F, 0xEB, /* 0x3C-0x3F */ + 0xB7, 0xF4, 0x8F, 0xEC, 0x8F, 0xED, 0x8F, 0xEE, /* 0x40-0x43 */ + 0xB7, 0xF5, 0x8F, 0xEF, 0x8F, 0xF0, 0x8F, 0xF1, /* 0x44-0x47 */ + 0x8F, 0xF2, 0x8F, 0xF3, 0x8F, 0xF4, 0x8F, 0xF5, /* 0x48-0x4B */ + 0xB7, 0xF6, 0x8F, 0xF6, 0x8F, 0xF7, 0xB7, 0xF7, /* 0x4C-0x4F */ + 0x8F, 0xF8, 0xB7, 0xF8, 0x8F, 0xF9, 0x8F, 0xFA, /* 0x50-0x53 */ + 0x8F, 0xFB, 0x8F, 0xFC, 0x8F, 0xFD, 0x8F, 0xFE, /* 0x54-0x57 */ + 0xB7, 0xF9, 0xB7, 0xFA, 0x90, 0x41, 0x90, 0x42, /* 0x58-0x5B */ + 0xB7, 0xFB, 0x90, 0x43, 0x90, 0x44, 0x90, 0x45, /* 0x5C-0x5F */ + 0xB7, 0xFC, 0x90, 0x46, 0x90, 0x47, 0x90, 0x48, /* 0x60-0x63 */ + 0x90, 0x49, 0x90, 0x4A, 0x90, 0x4B, 0x90, 0x4C, /* 0x64-0x67 */ + 0xB7, 0xFD, 0xB7, 0xFE, 0x90, 0x4D, 0xB8, 0xA1, /* 0x68-0x6B */ + 0x90, 0x4E, 0xB8, 0xA2, 0x90, 0x4F, 0x90, 0x50, /* 0x6C-0x6F */ + 0x90, 0x51, 0x90, 0x52, 0x90, 0x53, 0x90, 0x54, /* 0x70-0x73 */ + 0xB8, 0xA3, 0xB8, 0xA4, 0x90, 0x55, 0x90, 0x56, /* 0x74-0x77 */ + 0xB8, 0xA5, 0x90, 0x57, 0x90, 0x58, 0x90, 0x59, /* 0x78-0x7B */ + 0xB8, 0xA6, 0x90, 0x5A, 0x90, 0x61, 0x90, 0x62, /* 0x7C-0x7F */ + + 0x90, 0x63, 0x90, 0x64, 0x90, 0x65, 0x90, 0x66, /* 0x80-0x83 */ + 0xB8, 0xA7, 0xB8, 0xA8, 0x90, 0x67, 0xB8, 0xA9, /* 0x84-0x87 */ + 0x90, 0x68, 0xB8, 0xAA, 0xB8, 0xAB, 0x90, 0x69, /* 0x88-0x8B */ + 0x90, 0x6A, 0xB8, 0xAC, 0xB8, 0xAD, 0x90, 0x6B, /* 0x8C-0x8F */ + 0x90, 0x6C, 0x90, 0x6D, 0x90, 0x6E, 0x90, 0x6F, /* 0x90-0x93 */ + 0x90, 0x70, 0x90, 0x71, 0x90, 0x72, 0x90, 0x73, /* 0x94-0x97 */ + 0x90, 0x74, 0x90, 0x75, 0x90, 0x76, 0x90, 0x77, /* 0x98-0x9B */ + 0x90, 0x78, 0x90, 0x79, 0x90, 0x7A, 0x90, 0x81, /* 0x9C-0x9F */ + 0x90, 0x82, 0x90, 0x83, 0x90, 0x84, 0x90, 0x85, /* 0xA0-0xA3 */ + 0x90, 0x86, 0x90, 0x87, 0x90, 0x88, 0x90, 0x89, /* 0xA4-0xA7 */ + 0x90, 0x8A, 0x90, 0x8B, 0x90, 0x8C, 0x90, 0x8D, /* 0xA8-0xAB */ + 0xB8, 0xAE, 0xB8, 0xAF, 0x90, 0x8E, 0x90, 0x8F, /* 0xAC-0xAF */ + 0xB8, 0xB0, 0x90, 0x90, 0x90, 0x91, 0x90, 0x92, /* 0xB0-0xB3 */ + 0xB8, 0xB1, 0x90, 0x93, 0x90, 0x94, 0x90, 0x95, /* 0xB4-0xB7 */ + 0x90, 0x96, 0x90, 0x97, 0x90, 0x98, 0x90, 0x99, /* 0xB8-0xBB */ + 0xB8, 0xB2, 0xB8, 0xB3, 0x90, 0x9A, 0xB8, 0xB4, /* 0xBC-0xBF */ + 0x90, 0x9B, 0xB8, 0xB5, 0x90, 0x9C, 0x90, 0x9D, /* 0xC0-0xC3 */ + 0x90, 0x9E, 0x90, 0x9F, 0x90, 0xA0, 0x90, 0xA1, /* 0xC4-0xC7 */ + 0xB8, 0xB6, 0xB8, 0xB7, 0x90, 0xA2, 0x90, 0xA3, /* 0xC8-0xCB */ + 0xB8, 0xB8, 0x90, 0xA4, 0xB8, 0xB9, 0xB8, 0xBA, /* 0xCC-0xCF */ + 0xB8, 0xBB, 0xB8, 0xBC, 0xB8, 0xBD, 0x90, 0xA5, /* 0xD0-0xD3 */ + 0x90, 0xA6, 0x90, 0xA7, 0x90, 0xA8, 0x90, 0xA9, /* 0xD4-0xD7 */ + 0xB8, 0xBE, 0xB8, 0xBF, 0x90, 0xAA, 0xB8, 0xC0, /* 0xD8-0xDB */ + 0x90, 0xAB, 0xB8, 0xC1, 0xB8, 0xC2, 0x90, 0xAC, /* 0xDC-0xDF */ + 0x90, 0xAD, 0xB8, 0xC3, 0x90, 0xAE, 0xB8, 0xC4, /* 0xE0-0xE3 */ + 0xB8, 0xC5, 0xB8, 0xC6, 0x90, 0xAF, 0x90, 0xB0, /* 0xE4-0xE7 */ + 0xB8, 0xC7, 0x90, 0xB1, 0x90, 0xB2, 0x90, 0xB3, /* 0xE8-0xEB */ + 0xB8, 0xC8, 0x90, 0xB4, 0x90, 0xB5, 0x90, 0xB6, /* 0xEC-0xEF */ + 0x90, 0xB7, 0x90, 0xB8, 0x90, 0xB9, 0x90, 0xBA, /* 0xF0-0xF3 */ + 0xB8, 0xC9, 0xB8, 0xCA, 0x90, 0xBB, 0xB8, 0xCB, /* 0xF4-0xF7 */ + 0xB8, 0xCC, 0xB8, 0xCD, 0xB8, 0xCE, 0x90, 0xBC, /* 0xF8-0xFB */ + 0x90, 0xBD, 0x90, 0xBE, 0x90, 0xBF, 0x90, 0xC0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_BA[512] = { + 0xB8, 0xCF, 0xB8, 0xD0, 0x90, 0xC1, 0x90, 0xC2, /* 0x00-0x03 */ + 0x90, 0xC3, 0x90, 0xC4, 0x90, 0xC5, 0x90, 0xC6, /* 0x04-0x07 */ + 0xB8, 0xD1, 0x90, 0xC7, 0x90, 0xC8, 0x90, 0xC9, /* 0x08-0x0B */ + 0x90, 0xCA, 0x90, 0xCB, 0x90, 0xCC, 0x90, 0xCD, /* 0x0C-0x0F */ + 0x90, 0xCE, 0x90, 0xCF, 0x90, 0xD0, 0x90, 0xD1, /* 0x10-0x13 */ + 0x90, 0xD2, 0xB8, 0xD2, 0x90, 0xD3, 0x90, 0xD4, /* 0x14-0x17 */ + 0x90, 0xD5, 0x90, 0xD6, 0x90, 0xD7, 0x90, 0xD8, /* 0x18-0x1B */ + 0x90, 0xD9, 0x90, 0xDA, 0x90, 0xDB, 0x90, 0xDC, /* 0x1C-0x1F */ + 0x90, 0xDD, 0x90, 0xDE, 0x90, 0xDF, 0x90, 0xE0, /* 0x20-0x23 */ + 0x90, 0xE1, 0x90, 0xE2, 0x90, 0xE3, 0x90, 0xE4, /* 0x24-0x27 */ + 0x90, 0xE5, 0x90, 0xE6, 0x90, 0xE7, 0x90, 0xE8, /* 0x28-0x2B */ + 0x90, 0xE9, 0x90, 0xEA, 0x90, 0xEB, 0x90, 0xEC, /* 0x2C-0x2F */ + 0x90, 0xED, 0x90, 0xEE, 0x90, 0xEF, 0x90, 0xF0, /* 0x30-0x33 */ + 0x90, 0xF1, 0x90, 0xF2, 0x90, 0xF3, 0x90, 0xF4, /* 0x34-0x37 */ + 0xB8, 0xD3, 0xB8, 0xD4, 0x90, 0xF5, 0x90, 0xF6, /* 0x38-0x3B */ + 0xB8, 0xD5, 0x90, 0xF7, 0x90, 0xF8, 0x90, 0xF9, /* 0x3C-0x3F */ + 0xB8, 0xD6, 0x90, 0xFA, 0xB8, 0xD7, 0x90, 0xFB, /* 0x40-0x43 */ + 0x90, 0xFC, 0x90, 0xFD, 0x90, 0xFE, 0x91, 0x41, /* 0x44-0x47 */ + 0xB8, 0xD8, 0xB8, 0xD9, 0x91, 0x42, 0xB8, 0xDA, /* 0x48-0x4B */ + 0x91, 0x43, 0xB8, 0xDB, 0xB8, 0xDC, 0x91, 0x44, /* 0x4C-0x4F */ + 0x91, 0x45, 0x91, 0x46, 0x91, 0x47, 0xB8, 0xDD, /* 0x50-0x53 */ + 0xB8, 0xDE, 0xB8, 0xDF, 0x91, 0x48, 0x91, 0x49, /* 0x54-0x57 */ + 0xB8, 0xE0, 0x91, 0x4A, 0x91, 0x4B, 0x91, 0x4C, /* 0x58-0x5B */ + 0xB8, 0xE1, 0x91, 0x4D, 0x91, 0x4E, 0x91, 0x4F, /* 0x5C-0x5F */ + 0x91, 0x50, 0x91, 0x51, 0x91, 0x52, 0x91, 0x53, /* 0x60-0x63 */ + 0xB8, 0xE2, 0xB8, 0xE3, 0x91, 0x54, 0xB8, 0xE4, /* 0x64-0x67 */ + 0xB8, 0xE5, 0xB8, 0xE6, 0x91, 0x55, 0x91, 0x56, /* 0x68-0x6B */ + 0x91, 0x57, 0x91, 0x58, 0x91, 0x59, 0x91, 0x5A, /* 0x6C-0x6F */ + 0xB8, 0xE7, 0xB8, 0xE8, 0x91, 0x61, 0x91, 0x62, /* 0x70-0x73 */ + 0xB8, 0xE9, 0x91, 0x63, 0x91, 0x64, 0x91, 0x65, /* 0x74-0x77 */ + 0xB8, 0xEA, 0x91, 0x66, 0x91, 0x67, 0x91, 0x68, /* 0x78-0x7B */ + 0x91, 0x69, 0x91, 0x6A, 0x91, 0x6B, 0x91, 0x6C, /* 0x7C-0x7F */ + + 0x91, 0x6D, 0x91, 0x6E, 0x91, 0x6F, 0xB8, 0xEB, /* 0x80-0x83 */ + 0xB8, 0xEC, 0xB8, 0xED, 0x91, 0x70, 0xB8, 0xEE, /* 0x84-0x87 */ + 0x91, 0x71, 0x91, 0x72, 0x91, 0x73, 0x91, 0x74, /* 0x88-0x8B */ + 0xB8, 0xEF, 0x91, 0x75, 0x91, 0x76, 0x91, 0x77, /* 0x8C-0x8F */ + 0x91, 0x78, 0x91, 0x79, 0x91, 0x7A, 0x91, 0x81, /* 0x90-0x93 */ + 0x91, 0x82, 0x91, 0x83, 0x91, 0x84, 0x91, 0x85, /* 0x94-0x97 */ + 0x91, 0x86, 0x91, 0x87, 0x91, 0x88, 0x91, 0x89, /* 0x98-0x9B */ + 0x91, 0x8A, 0x91, 0x8B, 0x91, 0x8C, 0x91, 0x8D, /* 0x9C-0x9F */ + 0x91, 0x8E, 0x91, 0x8F, 0x91, 0x90, 0x91, 0x91, /* 0xA0-0xA3 */ + 0x91, 0x92, 0x91, 0x93, 0x91, 0x94, 0x91, 0x95, /* 0xA4-0xA7 */ + 0xB8, 0xF0, 0xB8, 0xF1, 0x91, 0x96, 0xB8, 0xF2, /* 0xA8-0xAB */ + 0xB8, 0xF3, 0x91, 0x97, 0x91, 0x98, 0x91, 0x99, /* 0xAC-0xAF */ + 0xB8, 0xF4, 0x91, 0x9A, 0xB8, 0xF5, 0x91, 0x9B, /* 0xB0-0xB3 */ + 0x91, 0x9C, 0x91, 0x9D, 0x91, 0x9E, 0x91, 0x9F, /* 0xB4-0xB7 */ + 0xB8, 0xF6, 0xB8, 0xF7, 0x91, 0xA0, 0xB8, 0xF8, /* 0xB8-0xBB */ + 0x91, 0xA1, 0xB8, 0xF9, 0x91, 0xA2, 0x91, 0xA3, /* 0xBC-0xBF */ + 0x91, 0xA4, 0x91, 0xA5, 0x91, 0xA6, 0x91, 0xA7, /* 0xC0-0xC3 */ + 0xB8, 0xFA, 0x91, 0xA8, 0x91, 0xA9, 0x91, 0xAA, /* 0xC4-0xC7 */ + 0xB8, 0xFB, 0x91, 0xAB, 0x91, 0xAC, 0x91, 0xAD, /* 0xC8-0xCB */ + 0x91, 0xAE, 0x91, 0xAF, 0x91, 0xB0, 0x91, 0xB1, /* 0xCC-0xCF */ + 0x91, 0xB2, 0x91, 0xB3, 0x91, 0xB4, 0x91, 0xB5, /* 0xD0-0xD3 */ + 0x91, 0xB6, 0x91, 0xB7, 0x91, 0xB8, 0x91, 0xB9, /* 0xD4-0xD7 */ + 0xB8, 0xFC, 0xB8, 0xFD, 0x91, 0xBA, 0x91, 0xBB, /* 0xD8-0xDB */ + 0x91, 0xBC, 0x91, 0xBD, 0x91, 0xBE, 0x91, 0xBF, /* 0xDC-0xDF */ + 0x91, 0xC0, 0x91, 0xC1, 0x91, 0xC2, 0x91, 0xC3, /* 0xE0-0xE3 */ + 0x91, 0xC4, 0x91, 0xC5, 0x91, 0xC6, 0x91, 0xC7, /* 0xE4-0xE7 */ + 0x91, 0xC8, 0x91, 0xC9, 0x91, 0xCA, 0x91, 0xCB, /* 0xE8-0xEB */ + 0x91, 0xCC, 0x91, 0xCD, 0x91, 0xCE, 0x91, 0xCF, /* 0xEC-0xEF */ + 0x91, 0xD0, 0x91, 0xD1, 0x91, 0xD2, 0x91, 0xD3, /* 0xF0-0xF3 */ + 0x91, 0xD4, 0x91, 0xD5, 0x91, 0xD6, 0x91, 0xD7, /* 0xF4-0xF7 */ + 0x91, 0xD8, 0x91, 0xD9, 0x91, 0xDA, 0x91, 0xDB, /* 0xF8-0xFB */ + 0xB8, 0xFE, 0x91, 0xDC, 0x91, 0xDD, 0x91, 0xDE, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_BB[512] = { + 0xB9, 0xA1, 0x91, 0xDF, 0x91, 0xE0, 0x91, 0xE1, /* 0x00-0x03 */ + 0xB9, 0xA2, 0x91, 0xE2, 0x91, 0xE3, 0x91, 0xE4, /* 0x04-0x07 */ + 0x91, 0xE5, 0x91, 0xE6, 0x91, 0xE7, 0x91, 0xE8, /* 0x08-0x0B */ + 0x91, 0xE9, 0xB9, 0xA3, 0x91, 0xEA, 0xB9, 0xA4, /* 0x0C-0x0F */ + 0x91, 0xEB, 0xB9, 0xA5, 0x91, 0xEC, 0x91, 0xED, /* 0x10-0x13 */ + 0x91, 0xEE, 0x91, 0xEF, 0x91, 0xF0, 0x91, 0xF1, /* 0x14-0x17 */ + 0xB9, 0xA6, 0x91, 0xF2, 0x91, 0xF3, 0x91, 0xF4, /* 0x18-0x1B */ + 0xB9, 0xA7, 0x91, 0xF5, 0x91, 0xF6, 0x91, 0xF7, /* 0x1C-0x1F */ + 0xB9, 0xA8, 0x91, 0xF8, 0x91, 0xF9, 0x91, 0xFA, /* 0x20-0x23 */ + 0x91, 0xFB, 0x91, 0xFC, 0x91, 0xFD, 0x91, 0xFE, /* 0x24-0x27 */ + 0x92, 0x41, 0xB9, 0xA9, 0x92, 0x42, 0xB9, 0xAA, /* 0x28-0x2B */ + 0x92, 0x43, 0x92, 0x44, 0x92, 0x45, 0x92, 0x46, /* 0x2C-0x2F */ + 0x92, 0x47, 0x92, 0x48, 0x92, 0x49, 0x92, 0x4A, /* 0x30-0x33 */ + 0xB9, 0xAB, 0xB9, 0xAC, 0xB9, 0xAD, 0x92, 0x4B, /* 0x34-0x37 */ + 0xB9, 0xAE, 0x92, 0x4C, 0x92, 0x4D, 0xB9, 0xAF, /* 0x38-0x3B */ + 0xB9, 0xB0, 0xB9, 0xB1, 0xB9, 0xB2, 0x92, 0x4E, /* 0x3C-0x3F */ + 0x92, 0x4F, 0x92, 0x50, 0x92, 0x51, 0x92, 0x52, /* 0x40-0x43 */ + 0xB9, 0xB3, 0xB9, 0xB4, 0x92, 0x53, 0xB9, 0xB5, /* 0x44-0x47 */ + 0x92, 0x54, 0xB9, 0xB6, 0x92, 0x55, 0x92, 0x56, /* 0x48-0x4B */ + 0x92, 0x57, 0xB9, 0xB7, 0x92, 0x58, 0xB9, 0xB8, /* 0x4C-0x4F */ + 0xB9, 0xB9, 0x92, 0x59, 0x92, 0x5A, 0x92, 0x61, /* 0x50-0x53 */ + 0xB9, 0xBA, 0x92, 0x62, 0x92, 0x63, 0x92, 0x64, /* 0x54-0x57 */ + 0xB9, 0xBB, 0x92, 0x65, 0x92, 0x66, 0x92, 0x67, /* 0x58-0x5B */ + 0x92, 0x68, 0x92, 0x69, 0x92, 0x6A, 0x92, 0x6B, /* 0x5C-0x5F */ + 0x92, 0x6C, 0xB9, 0xBC, 0x92, 0x6D, 0xB9, 0xBD, /* 0x60-0x63 */ + 0x92, 0x6E, 0x92, 0x6F, 0x92, 0x70, 0x92, 0x71, /* 0x64-0x67 */ + 0x92, 0x72, 0x92, 0x73, 0x92, 0x74, 0x92, 0x75, /* 0x68-0x6B */ + 0xB9, 0xBE, 0x92, 0x76, 0x92, 0x77, 0x92, 0x78, /* 0x6C-0x6F */ + 0x92, 0x79, 0x92, 0x7A, 0x92, 0x81, 0x92, 0x82, /* 0x70-0x73 */ + 0x92, 0x83, 0x92, 0x84, 0x92, 0x85, 0x92, 0x86, /* 0x74-0x77 */ + 0x92, 0x87, 0x92, 0x88, 0x92, 0x89, 0x92, 0x8A, /* 0x78-0x7B */ + 0x92, 0x8B, 0x92, 0x8C, 0x92, 0x8D, 0x92, 0x8E, /* 0x7C-0x7F */ + + 0x92, 0x8F, 0x92, 0x90, 0x92, 0x91, 0x92, 0x92, /* 0x80-0x83 */ + 0x92, 0x93, 0x92, 0x94, 0x92, 0x95, 0x92, 0x96, /* 0x84-0x87 */ + 0xB9, 0xBF, 0x92, 0x97, 0x92, 0x98, 0x92, 0x99, /* 0x88-0x8B */ + 0xB9, 0xC0, 0x92, 0x9A, 0x92, 0x9B, 0x92, 0x9C, /* 0x8C-0x8F */ + 0xB9, 0xC1, 0x92, 0x9D, 0x92, 0x9E, 0x92, 0x9F, /* 0x90-0x93 */ + 0x92, 0xA0, 0x92, 0xA1, 0x92, 0xA2, 0x92, 0xA3, /* 0x94-0x97 */ + 0x92, 0xA4, 0x92, 0xA5, 0x92, 0xA6, 0x92, 0xA7, /* 0x98-0x9B */ + 0x92, 0xA8, 0x92, 0xA9, 0x92, 0xAA, 0x92, 0xAB, /* 0x9C-0x9F */ + 0x92, 0xAC, 0x92, 0xAD, 0x92, 0xAE, 0x92, 0xAF, /* 0xA0-0xA3 */ + 0xB9, 0xC2, 0x92, 0xB0, 0x92, 0xB1, 0x92, 0xB2, /* 0xA4-0xA7 */ + 0xB9, 0xC3, 0x92, 0xB3, 0x92, 0xB4, 0x92, 0xB5, /* 0xA8-0xAB */ + 0xB9, 0xC4, 0x92, 0xB6, 0x92, 0xB7, 0x92, 0xB8, /* 0xAC-0xAF */ + 0x92, 0xB9, 0x92, 0xBA, 0x92, 0xBB, 0x92, 0xBC, /* 0xB0-0xB3 */ + 0xB9, 0xC5, 0x92, 0xBD, 0x92, 0xBE, 0xB9, 0xC6, /* 0xB4-0xB7 */ + 0x92, 0xBF, 0x92, 0xC0, 0x92, 0xC1, 0x92, 0xC2, /* 0xB8-0xBB */ + 0x92, 0xC3, 0x92, 0xC4, 0x92, 0xC5, 0x92, 0xC6, /* 0xBC-0xBF */ + 0xB9, 0xC7, 0x92, 0xC7, 0x92, 0xC8, 0x92, 0xC9, /* 0xC0-0xC3 */ + 0xB9, 0xC8, 0x92, 0xCA, 0x92, 0xCB, 0x92, 0xCC, /* 0xC4-0xC7 */ + 0xB9, 0xC9, 0x92, 0xCD, 0x92, 0xCE, 0x92, 0xCF, /* 0xC8-0xCB */ + 0x92, 0xD0, 0x92, 0xD1, 0x92, 0xD2, 0x92, 0xD3, /* 0xCC-0xCF */ + 0xB9, 0xCA, 0x92, 0xD4, 0x92, 0xD5, 0xB9, 0xCB, /* 0xD0-0xD3 */ + 0x92, 0xD6, 0x92, 0xD7, 0x92, 0xD8, 0x92, 0xD9, /* 0xD4-0xD7 */ + 0x92, 0xDA, 0x92, 0xDB, 0x92, 0xDC, 0x92, 0xDD, /* 0xD8-0xDB */ + 0x92, 0xDE, 0x92, 0xDF, 0x92, 0xE0, 0x92, 0xE1, /* 0xDC-0xDF */ + 0x92, 0xE2, 0x92, 0xE3, 0x92, 0xE4, 0x92, 0xE5, /* 0xE0-0xE3 */ + 0x92, 0xE6, 0x92, 0xE7, 0x92, 0xE8, 0x92, 0xE9, /* 0xE4-0xE7 */ + 0x92, 0xEA, 0x92, 0xEB, 0x92, 0xEC, 0x92, 0xED, /* 0xE8-0xEB */ + 0x92, 0xEE, 0x92, 0xEF, 0x92, 0xF0, 0x92, 0xF1, /* 0xEC-0xEF */ + 0x92, 0xF2, 0x92, 0xF3, 0x92, 0xF4, 0x92, 0xF5, /* 0xF0-0xF3 */ + 0x92, 0xF6, 0x92, 0xF7, 0x92, 0xF8, 0x92, 0xF9, /* 0xF4-0xF7 */ + 0xB9, 0xCC, 0xB9, 0xCD, 0x92, 0xFA, 0x92, 0xFB, /* 0xF8-0xFB */ + 0xB9, 0xCE, 0x92, 0xFC, 0x92, 0xFD, 0xB9, 0xCF, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_BC[512] = { + 0xB9, 0xD0, 0x92, 0xFE, 0xB9, 0xD1, 0x93, 0x41, /* 0x00-0x03 */ + 0x93, 0x42, 0x93, 0x43, 0x93, 0x44, 0x93, 0x45, /* 0x04-0x07 */ + 0xB9, 0xD2, 0xB9, 0xD3, 0x93, 0x46, 0xB9, 0xD4, /* 0x08-0x0B */ + 0xB9, 0xD5, 0xB9, 0xD6, 0x93, 0x47, 0xB9, 0xD7, /* 0x0C-0x0F */ + 0x93, 0x48, 0xB9, 0xD8, 0x93, 0x49, 0x93, 0x4A, /* 0x10-0x13 */ + 0xB9, 0xD9, 0xB9, 0xDA, 0xB9, 0xDB, 0xB9, 0xDC, /* 0x14-0x17 */ + 0xB9, 0xDD, 0x93, 0x4B, 0x93, 0x4C, 0xB9, 0xDE, /* 0x18-0x1B */ + 0xB9, 0xDF, 0xB9, 0xE0, 0xB9, 0xE1, 0xB9, 0xE2, /* 0x1C-0x1F */ + 0x93, 0x4D, 0x93, 0x4E, 0x93, 0x4F, 0x93, 0x50, /* 0x20-0x23 */ + 0xB9, 0xE3, 0xB9, 0xE4, 0x93, 0x51, 0xB9, 0xE5, /* 0x24-0x27 */ + 0x93, 0x52, 0xB9, 0xE6, 0x93, 0x53, 0x93, 0x54, /* 0x28-0x2B */ + 0x93, 0x55, 0xB9, 0xE7, 0x93, 0x56, 0x93, 0x57, /* 0x2C-0x2F */ + 0xB9, 0xE8, 0xB9, 0xE9, 0x93, 0x58, 0x93, 0x59, /* 0x30-0x33 */ + 0xB9, 0xEA, 0x93, 0x5A, 0x93, 0x61, 0x93, 0x62, /* 0x34-0x37 */ + 0xB9, 0xEB, 0x93, 0x63, 0x93, 0x64, 0x93, 0x65, /* 0x38-0x3B */ + 0x93, 0x66, 0x93, 0x67, 0x93, 0x68, 0x93, 0x69, /* 0x3C-0x3F */ + 0xB9, 0xEC, 0xB9, 0xED, 0x93, 0x6A, 0xB9, 0xEE, /* 0x40-0x43 */ + 0xB9, 0xEF, 0xB9, 0xF0, 0x93, 0x6B, 0x93, 0x6C, /* 0x44-0x47 */ + 0x93, 0x6D, 0xB9, 0xF1, 0x93, 0x6E, 0x93, 0x6F, /* 0x48-0x4B */ + 0xB9, 0xF2, 0xB9, 0xF3, 0x93, 0x70, 0x93, 0x71, /* 0x4C-0x4F */ + 0xB9, 0xF4, 0x93, 0x72, 0x93, 0x73, 0x93, 0x74, /* 0x50-0x53 */ + 0x93, 0x75, 0x93, 0x76, 0x93, 0x77, 0x93, 0x78, /* 0x54-0x57 */ + 0x93, 0x79, 0x93, 0x7A, 0x93, 0x81, 0x93, 0x82, /* 0x58-0x5B */ + 0x93, 0x83, 0xB9, 0xF5, 0x93, 0x84, 0x93, 0x85, /* 0x5C-0x5F */ + 0x93, 0x86, 0x93, 0x87, 0x93, 0x88, 0x93, 0x89, /* 0x60-0x63 */ + 0x93, 0x8A, 0x93, 0x8B, 0x93, 0x8C, 0x93, 0x8D, /* 0x64-0x67 */ + 0x93, 0x8E, 0x93, 0x8F, 0x93, 0x90, 0x93, 0x91, /* 0x68-0x6B */ + 0x93, 0x92, 0x93, 0x93, 0x93, 0x94, 0x93, 0x95, /* 0x6C-0x6F */ + 0x93, 0x96, 0x93, 0x97, 0x93, 0x98, 0x93, 0x99, /* 0x70-0x73 */ + 0x93, 0x9A, 0x93, 0x9B, 0x93, 0x9C, 0x93, 0x9D, /* 0x74-0x77 */ + 0x93, 0x9E, 0x93, 0x9F, 0x93, 0xA0, 0x93, 0xA1, /* 0x78-0x7B */ + 0x93, 0xA2, 0x93, 0xA3, 0x93, 0xA4, 0x93, 0xA5, /* 0x7C-0x7F */ + + 0x93, 0xA6, 0x93, 0xA7, 0x93, 0xA8, 0x93, 0xA9, /* 0x80-0x83 */ + 0xB9, 0xF6, 0xB9, 0xF7, 0x93, 0xAA, 0x93, 0xAB, /* 0x84-0x87 */ + 0xB9, 0xF8, 0x93, 0xAC, 0x93, 0xAD, 0xB9, 0xF9, /* 0x88-0x8B */ + 0xB9, 0xFA, 0x93, 0xAE, 0xB9, 0xFB, 0x93, 0xAF, /* 0x8C-0x8F */ + 0x93, 0xB0, 0x93, 0xB1, 0x93, 0xB2, 0x93, 0xB3, /* 0x90-0x93 */ + 0xB9, 0xFC, 0xB9, 0xFD, 0x93, 0xB4, 0xB9, 0xFE, /* 0x94-0x97 */ + 0x93, 0xB5, 0xBA, 0xA1, 0xBA, 0xA2, 0x93, 0xB6, /* 0x98-0x9B */ + 0x93, 0xB7, 0x93, 0xB8, 0x93, 0xB9, 0x93, 0xBA, /* 0x9C-0x9F */ + 0xBA, 0xA3, 0xBA, 0xA4, 0x93, 0xBB, 0x93, 0xBC, /* 0xA0-0xA3 */ + 0xBA, 0xA5, 0x93, 0xBD, 0x93, 0xBE, 0xBA, 0xA6, /* 0xA4-0xA7 */ + 0xBA, 0xA7, 0x93, 0xBF, 0x93, 0xC0, 0x93, 0xC1, /* 0xA8-0xAB */ + 0x93, 0xC2, 0x93, 0xC3, 0x93, 0xC4, 0x93, 0xC5, /* 0xAC-0xAF */ + 0xBA, 0xA8, 0xBA, 0xA9, 0x93, 0xC6, 0xBA, 0xAA, /* 0xB0-0xB3 */ + 0xBA, 0xAB, 0xBA, 0xAC, 0x93, 0xC7, 0x93, 0xC8, /* 0xB4-0xB7 */ + 0x93, 0xC9, 0x93, 0xCA, 0x93, 0xCB, 0x93, 0xCC, /* 0xB8-0xBB */ + 0xBA, 0xAD, 0xBA, 0xAE, 0x93, 0xCD, 0x93, 0xCE, /* 0xBC-0xBF */ + 0xBA, 0xAF, 0x93, 0xCF, 0x93, 0xD0, 0x93, 0xD1, /* 0xC0-0xC3 */ + 0xBA, 0xB0, 0x93, 0xD2, 0x93, 0xD3, 0x93, 0xD4, /* 0xC4-0xC7 */ + 0x93, 0xD5, 0x93, 0xD6, 0x93, 0xD7, 0x93, 0xD8, /* 0xC8-0xCB */ + 0x93, 0xD9, 0xBA, 0xB1, 0x93, 0xDA, 0xBA, 0xB2, /* 0xCC-0xCF */ + 0xBA, 0xB3, 0xBA, 0xB4, 0x93, 0xDB, 0x93, 0xDC, /* 0xD0-0xD3 */ + 0x93, 0xDD, 0xBA, 0xB5, 0x93, 0xDE, 0x93, 0xDF, /* 0xD4-0xD7 */ + 0xBA, 0xB6, 0x93, 0xE0, 0x93, 0xE1, 0x93, 0xE2, /* 0xD8-0xDB */ + 0xBA, 0xB7, 0x93, 0xE3, 0x93, 0xE4, 0x93, 0xE5, /* 0xDC-0xDF */ + 0x93, 0xE6, 0x93, 0xE7, 0x93, 0xE8, 0x93, 0xE9, /* 0xE0-0xE3 */ + 0x93, 0xEA, 0x93, 0xEB, 0x93, 0xEC, 0x93, 0xED, /* 0xE4-0xE7 */ + 0x93, 0xEE, 0x93, 0xEF, 0x93, 0xF0, 0x93, 0xF1, /* 0xE8-0xEB */ + 0x93, 0xF2, 0x93, 0xF3, 0x93, 0xF4, 0x93, 0xF5, /* 0xEC-0xEF */ + 0x93, 0xF6, 0x93, 0xF7, 0x93, 0xF8, 0x93, 0xF9, /* 0xF0-0xF3 */ + 0xBA, 0xB8, 0xBA, 0xB9, 0xBA, 0xBA, 0x93, 0xFA, /* 0xF4-0xF7 */ + 0xBA, 0xBB, 0x93, 0xFB, 0x93, 0xFC, 0x93, 0xFD, /* 0xF8-0xFB */ + 0xBA, 0xBC, 0x93, 0xFE, 0x94, 0x41, 0x94, 0x42, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_BD[512] = { + 0x94, 0x43, 0x94, 0x44, 0x94, 0x45, 0x94, 0x46, /* 0x00-0x03 */ + 0xBA, 0xBD, 0xBA, 0xBE, 0x94, 0x47, 0xBA, 0xBF, /* 0x04-0x07 */ + 0x94, 0x48, 0xBA, 0xC0, 0x94, 0x49, 0x94, 0x4A, /* 0x08-0x0B */ + 0x94, 0x4B, 0x94, 0x4C, 0x94, 0x4D, 0x94, 0x4E, /* 0x0C-0x0F */ + 0xBA, 0xC1, 0x94, 0x4F, 0x94, 0x50, 0x94, 0x51, /* 0x10-0x13 */ + 0xBA, 0xC2, 0x94, 0x52, 0x94, 0x53, 0x94, 0x54, /* 0x14-0x17 */ + 0x94, 0x55, 0x94, 0x56, 0x94, 0x57, 0x94, 0x58, /* 0x18-0x1B */ + 0x94, 0x59, 0x94, 0x5A, 0x94, 0x61, 0x94, 0x62, /* 0x1C-0x1F */ + 0x94, 0x63, 0x94, 0x64, 0x94, 0x65, 0x94, 0x66, /* 0x20-0x23 */ + 0xBA, 0xC3, 0x94, 0x67, 0x94, 0x68, 0x94, 0x69, /* 0x24-0x27 */ + 0x94, 0x6A, 0x94, 0x6B, 0x94, 0x6C, 0x94, 0x6D, /* 0x28-0x2B */ + 0xBA, 0xC4, 0x94, 0x6E, 0x94, 0x6F, 0x94, 0x70, /* 0x2C-0x2F */ + 0x94, 0x71, 0x94, 0x72, 0x94, 0x73, 0x94, 0x74, /* 0x30-0x33 */ + 0x94, 0x75, 0x94, 0x76, 0x94, 0x77, 0x94, 0x78, /* 0x34-0x37 */ + 0x94, 0x79, 0x94, 0x7A, 0x94, 0x81, 0x94, 0x82, /* 0x38-0x3B */ + 0x94, 0x83, 0x94, 0x84, 0x94, 0x85, 0x94, 0x86, /* 0x3C-0x3F */ + 0xBA, 0xC5, 0x94, 0x87, 0x94, 0x88, 0x94, 0x89, /* 0x40-0x43 */ + 0x94, 0x8A, 0x94, 0x8B, 0x94, 0x8C, 0x94, 0x8D, /* 0x44-0x47 */ + 0xBA, 0xC6, 0xBA, 0xC7, 0x94, 0x8E, 0x94, 0x8F, /* 0x48-0x4B */ + 0xBA, 0xC8, 0x94, 0x90, 0x94, 0x91, 0x94, 0x92, /* 0x4C-0x4F */ + 0xBA, 0xC9, 0x94, 0x93, 0x94, 0x94, 0x94, 0x95, /* 0x50-0x53 */ + 0x94, 0x96, 0x94, 0x97, 0x94, 0x98, 0x94, 0x99, /* 0x54-0x57 */ + 0xBA, 0xCA, 0xBA, 0xCB, 0x94, 0x9A, 0x94, 0x9B, /* 0x58-0x5B */ + 0x94, 0x9C, 0x94, 0x9D, 0x94, 0x9E, 0x94, 0x9F, /* 0x5C-0x5F */ + 0x94, 0xA0, 0x94, 0xA1, 0x94, 0xA2, 0x94, 0xA3, /* 0x60-0x63 */ + 0xBA, 0xCC, 0x94, 0xA4, 0x94, 0xA5, 0x94, 0xA6, /* 0x64-0x67 */ + 0xBA, 0xCD, 0x94, 0xA7, 0x94, 0xA8, 0x94, 0xA9, /* 0x68-0x6B */ + 0x94, 0xAA, 0x94, 0xAB, 0x94, 0xAC, 0x94, 0xAD, /* 0x6C-0x6F */ + 0x94, 0xAE, 0x94, 0xAF, 0x94, 0xB0, 0x94, 0xB1, /* 0x70-0x73 */ + 0x94, 0xB2, 0x94, 0xB3, 0x94, 0xB4, 0x94, 0xB5, /* 0x74-0x77 */ + 0x94, 0xB6, 0x94, 0xB7, 0x94, 0xB8, 0x94, 0xB9, /* 0x78-0x7B */ + 0x94, 0xBA, 0x94, 0xBB, 0x94, 0xBC, 0x94, 0xBD, /* 0x7C-0x7F */ + + 0xBA, 0xCE, 0xBA, 0xCF, 0x94, 0xBE, 0x94, 0xBF, /* 0x80-0x83 */ + 0xBA, 0xD0, 0x94, 0xC0, 0x94, 0xC1, 0xBA, 0xD1, /* 0x84-0x87 */ + 0xBA, 0xD2, 0xBA, 0xD3, 0xBA, 0xD4, 0x94, 0xC2, /* 0x88-0x8B */ + 0x94, 0xC3, 0x94, 0xC4, 0x94, 0xC5, 0x94, 0xC6, /* 0x8C-0x8F */ + 0xBA, 0xD5, 0xBA, 0xD6, 0x94, 0xC7, 0xBA, 0xD7, /* 0x90-0x93 */ + 0x94, 0xC8, 0xBA, 0xD8, 0x94, 0xC9, 0x94, 0xCA, /* 0x94-0x97 */ + 0x94, 0xCB, 0xBA, 0xD9, 0xBA, 0xDA, 0x94, 0xCC, /* 0x98-0x9B */ + 0xBA, 0xDB, 0x94, 0xCD, 0x94, 0xCE, 0x94, 0xCF, /* 0x9C-0x9F */ + 0x94, 0xD0, 0x94, 0xD1, 0x94, 0xD2, 0x94, 0xD3, /* 0xA0-0xA3 */ + 0xBA, 0xDC, 0x94, 0xD4, 0x94, 0xD5, 0x94, 0xD6, /* 0xA4-0xA7 */ + 0x94, 0xD7, 0x94, 0xD8, 0x94, 0xD9, 0x94, 0xDA, /* 0xA8-0xAB */ + 0x94, 0xDB, 0x94, 0xDC, 0x94, 0xDD, 0x94, 0xDE, /* 0xAC-0xAF */ + 0xBA, 0xDD, 0x94, 0xDF, 0x94, 0xE0, 0x94, 0xE1, /* 0xB0-0xB3 */ + 0x94, 0xE2, 0x94, 0xE3, 0x94, 0xE4, 0x94, 0xE5, /* 0xB4-0xB7 */ + 0xBA, 0xDE, 0x94, 0xE6, 0x94, 0xE7, 0x94, 0xE8, /* 0xB8-0xBB */ + 0x94, 0xE9, 0x94, 0xEA, 0x94, 0xEB, 0x94, 0xEC, /* 0xBC-0xBF */ + 0x94, 0xED, 0x94, 0xEE, 0x94, 0xEF, 0x94, 0xF0, /* 0xC0-0xC3 */ + 0x94, 0xF1, 0x94, 0xF2, 0x94, 0xF3, 0x94, 0xF4, /* 0xC4-0xC7 */ + 0x94, 0xF5, 0x94, 0xF6, 0x94, 0xF7, 0x94, 0xF8, /* 0xC8-0xCB */ + 0x94, 0xF9, 0x94, 0xFA, 0x94, 0xFB, 0x94, 0xFC, /* 0xCC-0xCF */ + 0x94, 0xFD, 0x94, 0xFE, 0x95, 0x41, 0x95, 0x42, /* 0xD0-0xD3 */ + 0xBA, 0xDF, 0xBA, 0xE0, 0x95, 0x43, 0x95, 0x44, /* 0xD4-0xD7 */ + 0xBA, 0xE1, 0x95, 0x45, 0x95, 0x46, 0x95, 0x47, /* 0xD8-0xDB */ + 0xBA, 0xE2, 0x95, 0x48, 0x95, 0x49, 0x95, 0x4A, /* 0xDC-0xDF */ + 0x95, 0x4B, 0x95, 0x4C, 0x95, 0x4D, 0x95, 0x4E, /* 0xE0-0xE3 */ + 0x95, 0x4F, 0x95, 0x50, 0x95, 0x51, 0x95, 0x52, /* 0xE4-0xE7 */ + 0x95, 0x53, 0xBA, 0xE3, 0x95, 0x54, 0x95, 0x55, /* 0xE8-0xEB */ + 0x95, 0x56, 0x95, 0x57, 0x95, 0x58, 0x95, 0x59, /* 0xEC-0xEF */ + 0xBA, 0xE4, 0x95, 0x5A, 0x95, 0x61, 0x95, 0x62, /* 0xF0-0xF3 */ + 0xBA, 0xE5, 0x95, 0x63, 0x95, 0x64, 0x95, 0x65, /* 0xF4-0xF7 */ + 0xBA, 0xE6, 0x95, 0x66, 0x95, 0x67, 0x95, 0x68, /* 0xF8-0xFB */ + 0x95, 0x69, 0x95, 0x6A, 0x95, 0x6B, 0x95, 0x6C, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_BE[512] = { + 0xBA, 0xE7, 0x95, 0x6D, 0x95, 0x6E, 0xBA, 0xE8, /* 0x00-0x03 */ + 0x95, 0x6F, 0xBA, 0xE9, 0x95, 0x70, 0x95, 0x71, /* 0x04-0x07 */ + 0x95, 0x72, 0x95, 0x73, 0x95, 0x74, 0x95, 0x75, /* 0x08-0x0B */ + 0xBA, 0xEA, 0xBA, 0xEB, 0x95, 0x76, 0x95, 0x77, /* 0x0C-0x0F */ + 0xBA, 0xEC, 0x95, 0x78, 0x95, 0x79, 0x95, 0x7A, /* 0x10-0x13 */ + 0xBA, 0xED, 0x95, 0x81, 0x95, 0x82, 0x95, 0x83, /* 0x14-0x17 */ + 0x95, 0x84, 0x95, 0x85, 0x95, 0x86, 0x95, 0x87, /* 0x18-0x1B */ + 0xBA, 0xEE, 0xBA, 0xEF, 0x95, 0x88, 0xBA, 0xF0, /* 0x1C-0x1F */ + 0x95, 0x89, 0x95, 0x8A, 0x95, 0x8B, 0x95, 0x8C, /* 0x20-0x23 */ + 0x95, 0x8D, 0x95, 0x8E, 0x95, 0x8F, 0x95, 0x90, /* 0x24-0x27 */ + 0x95, 0x91, 0x95, 0x92, 0x95, 0x93, 0x95, 0x94, /* 0x28-0x2B */ + 0x95, 0x95, 0x95, 0x96, 0x95, 0x97, 0x95, 0x98, /* 0x2C-0x2F */ + 0x95, 0x99, 0x95, 0x9A, 0x95, 0x9B, 0x95, 0x9C, /* 0x30-0x33 */ + 0x95, 0x9D, 0x95, 0x9E, 0x95, 0x9F, 0x95, 0xA0, /* 0x34-0x37 */ + 0x95, 0xA1, 0x95, 0xA2, 0x95, 0xA3, 0x95, 0xA4, /* 0x38-0x3B */ + 0x95, 0xA5, 0x95, 0xA6, 0x95, 0xA7, 0x95, 0xA8, /* 0x3C-0x3F */ + 0x95, 0xA9, 0x95, 0xAA, 0x95, 0xAB, 0x95, 0xAC, /* 0x40-0x43 */ + 0xBA, 0xF1, 0xBA, 0xF2, 0x95, 0xAD, 0x95, 0xAE, /* 0x44-0x47 */ + 0xBA, 0xF3, 0x95, 0xAF, 0x95, 0xB0, 0x95, 0xB1, /* 0x48-0x4B */ + 0xBA, 0xF4, 0x95, 0xB2, 0xBA, 0xF5, 0x95, 0xB3, /* 0x4C-0x4F */ + 0x95, 0xB4, 0x95, 0xB5, 0x95, 0xB6, 0x95, 0xB7, /* 0x50-0x53 */ + 0xBA, 0xF6, 0xBA, 0xF7, 0x95, 0xB8, 0xBA, 0xF8, /* 0x54-0x57 */ + 0x95, 0xB9, 0xBA, 0xF9, 0xBA, 0xFA, 0xBA, 0xFB, /* 0x58-0x5B */ + 0x95, 0xBA, 0x95, 0xBB, 0x95, 0xBC, 0x95, 0xBD, /* 0x5C-0x5F */ + 0xBA, 0xFC, 0xBA, 0xFD, 0x95, 0xBE, 0x95, 0xBF, /* 0x60-0x63 */ + 0xBA, 0xFE, 0x95, 0xC0, 0x95, 0xC1, 0x95, 0xC2, /* 0x64-0x67 */ + 0xBB, 0xA1, 0x95, 0xC3, 0xBB, 0xA2, 0x95, 0xC4, /* 0x68-0x6B */ + 0x95, 0xC5, 0x95, 0xC6, 0x95, 0xC7, 0x95, 0xC8, /* 0x6C-0x6F */ + 0xBB, 0xA3, 0xBB, 0xA4, 0x95, 0xC9, 0xBB, 0xA5, /* 0x70-0x73 */ + 0xBB, 0xA6, 0xBB, 0xA7, 0x95, 0xCA, 0x95, 0xCB, /* 0x74-0x77 */ + 0x95, 0xCC, 0x95, 0xCD, 0x95, 0xCE, 0xBB, 0xA8, /* 0x78-0x7B */ + 0xBB, 0xA9, 0xBB, 0xAA, 0x95, 0xCF, 0x95, 0xD0, /* 0x7C-0x7F */ + + 0xBB, 0xAB, 0x95, 0xD1, 0x95, 0xD2, 0x95, 0xD3, /* 0x80-0x83 */ + 0xBB, 0xAC, 0x95, 0xD4, 0x95, 0xD5, 0x95, 0xD6, /* 0x84-0x87 */ + 0x95, 0xD7, 0x95, 0xD8, 0x95, 0xD9, 0x95, 0xDA, /* 0x88-0x8B */ + 0xBB, 0xAD, 0xBB, 0xAE, 0x95, 0xDB, 0xBB, 0xAF, /* 0x8C-0x8F */ + 0xBB, 0xB0, 0xBB, 0xB1, 0x95, 0xDC, 0x95, 0xDD, /* 0x90-0x93 */ + 0x95, 0xDE, 0x95, 0xDF, 0x95, 0xE0, 0x95, 0xE1, /* 0x94-0x97 */ + 0xBB, 0xB2, 0xBB, 0xB3, 0x95, 0xE2, 0x95, 0xE3, /* 0x98-0x9B */ + 0x95, 0xE4, 0x95, 0xE5, 0x95, 0xE6, 0x95, 0xE7, /* 0x9C-0x9F */ + 0x95, 0xE8, 0x95, 0xE9, 0x95, 0xEA, 0x95, 0xEB, /* 0xA0-0xA3 */ + 0x95, 0xEC, 0x95, 0xED, 0x95, 0xEE, 0x95, 0xEF, /* 0xA4-0xA7 */ + 0xBB, 0xB4, 0x95, 0xF0, 0x95, 0xF1, 0x95, 0xF2, /* 0xA8-0xAB */ + 0x95, 0xF3, 0x95, 0xF4, 0x95, 0xF5, 0x95, 0xF6, /* 0xAC-0xAF */ + 0x95, 0xF7, 0x95, 0xF8, 0x95, 0xF9, 0x95, 0xFA, /* 0xB0-0xB3 */ + 0x95, 0xFB, 0x95, 0xFC, 0x95, 0xFD, 0x95, 0xFE, /* 0xB4-0xB7 */ + 0x96, 0x41, 0x96, 0x42, 0x96, 0x43, 0x96, 0x44, /* 0xB8-0xBB */ + 0x96, 0x45, 0x96, 0x46, 0x96, 0x47, 0x96, 0x48, /* 0xBC-0xBF */ + 0x96, 0x49, 0x96, 0x4A, 0x96, 0x4B, 0x96, 0x4C, /* 0xC0-0xC3 */ + 0x96, 0x4D, 0x96, 0x4E, 0x96, 0x4F, 0x96, 0x50, /* 0xC4-0xC7 */ + 0x96, 0x51, 0x96, 0x52, 0x96, 0x53, 0x96, 0x54, /* 0xC8-0xCB */ + 0x96, 0x55, 0x96, 0x56, 0x96, 0x57, 0x96, 0x58, /* 0xCC-0xCF */ + 0xBB, 0xB5, 0xBB, 0xB6, 0x96, 0x59, 0x96, 0x5A, /* 0xD0-0xD3 */ + 0xBB, 0xB7, 0x96, 0x61, 0x96, 0x62, 0xBB, 0xB8, /* 0xD4-0xD7 */ + 0xBB, 0xB9, 0x96, 0x63, 0x96, 0x64, 0x96, 0x65, /* 0xD8-0xDB */ + 0x96, 0x66, 0x96, 0x67, 0x96, 0x68, 0x96, 0x69, /* 0xDC-0xDF */ + 0xBB, 0xBA, 0x96, 0x6A, 0x96, 0x6B, 0xBB, 0xBB, /* 0xE0-0xE3 */ + 0xBB, 0xBC, 0xBB, 0xBD, 0x96, 0x6C, 0x96, 0x6D, /* 0xE4-0xE7 */ + 0x96, 0x6E, 0x96, 0x6F, 0x96, 0x70, 0x96, 0x71, /* 0xE8-0xEB */ + 0xBB, 0xBE, 0x96, 0x72, 0x96, 0x73, 0x96, 0x74, /* 0xEC-0xEF */ + 0x96, 0x75, 0x96, 0x76, 0x96, 0x77, 0x96, 0x78, /* 0xF0-0xF3 */ + 0x96, 0x79, 0x96, 0x7A, 0x96, 0x81, 0x96, 0x82, /* 0xF4-0xF7 */ + 0x96, 0x83, 0x96, 0x84, 0x96, 0x85, 0x96, 0x86, /* 0xF8-0xFB */ + 0x96, 0x87, 0x96, 0x88, 0x96, 0x89, 0x96, 0x8A, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_BF[512] = { + 0x96, 0x8B, 0xBB, 0xBF, 0x96, 0x8C, 0x96, 0x8D, /* 0x00-0x03 */ + 0x96, 0x8E, 0x96, 0x8F, 0x96, 0x90, 0x96, 0x91, /* 0x04-0x07 */ + 0xBB, 0xC0, 0xBB, 0xC1, 0x96, 0x92, 0x96, 0x93, /* 0x08-0x0B */ + 0x96, 0x94, 0x96, 0x95, 0x96, 0x96, 0x96, 0x97, /* 0x0C-0x0F */ + 0x96, 0x98, 0x96, 0x99, 0x96, 0x9A, 0x96, 0x9B, /* 0x10-0x13 */ + 0x96, 0x9C, 0x96, 0x9D, 0x96, 0x9E, 0x96, 0x9F, /* 0x14-0x17 */ + 0xBB, 0xC2, 0xBB, 0xC3, 0x96, 0xA0, 0xBB, 0xC4, /* 0x18-0x1B */ + 0xBB, 0xC5, 0xBB, 0xC6, 0x96, 0xA1, 0x96, 0xA2, /* 0x1C-0x1F */ + 0x96, 0xA3, 0x96, 0xA4, 0x96, 0xA5, 0x96, 0xA6, /* 0x20-0x23 */ + 0x96, 0xA7, 0x96, 0xA8, 0x96, 0xA9, 0x96, 0xAA, /* 0x24-0x27 */ + 0x96, 0xAB, 0x96, 0xAC, 0x96, 0xAD, 0x96, 0xAE, /* 0x28-0x2B */ + 0x96, 0xAF, 0x96, 0xB0, 0x96, 0xB1, 0x96, 0xB2, /* 0x2C-0x2F */ + 0x96, 0xB3, 0x96, 0xB4, 0x96, 0xB5, 0x96, 0xB6, /* 0x30-0x33 */ + 0x96, 0xB7, 0x96, 0xB8, 0x96, 0xB9, 0x96, 0xBA, /* 0x34-0x37 */ + 0x96, 0xBB, 0x96, 0xBC, 0x96, 0xBD, 0x96, 0xBE, /* 0x38-0x3B */ + 0x96, 0xBF, 0x96, 0xC0, 0x96, 0xC1, 0x96, 0xC2, /* 0x3C-0x3F */ + 0xBB, 0xC7, 0xBB, 0xC8, 0x96, 0xC3, 0x96, 0xC4, /* 0x40-0x43 */ + 0xBB, 0xC9, 0x96, 0xC5, 0x96, 0xC6, 0x96, 0xC7, /* 0x44-0x47 */ + 0xBB, 0xCA, 0x96, 0xC8, 0x96, 0xC9, 0x96, 0xCA, /* 0x48-0x4B */ + 0x96, 0xCB, 0x96, 0xCC, 0x96, 0xCD, 0x96, 0xCE, /* 0x4C-0x4F */ + 0xBB, 0xCB, 0xBB, 0xCC, 0x96, 0xCF, 0x96, 0xD0, /* 0x50-0x53 */ + 0x96, 0xD1, 0xBB, 0xCD, 0x96, 0xD2, 0x96, 0xD3, /* 0x54-0x57 */ + 0x96, 0xD4, 0x96, 0xD5, 0x96, 0xD6, 0x96, 0xD7, /* 0x58-0x5B */ + 0x96, 0xD8, 0x96, 0xD9, 0x96, 0xDA, 0x96, 0xDB, /* 0x5C-0x5F */ + 0x96, 0xDC, 0x96, 0xDD, 0x96, 0xDE, 0x96, 0xDF, /* 0x60-0x63 */ + 0x96, 0xE0, 0x96, 0xE1, 0x96, 0xE2, 0x96, 0xE3, /* 0x64-0x67 */ + 0x96, 0xE4, 0x96, 0xE5, 0x96, 0xE6, 0x96, 0xE7, /* 0x68-0x6B */ + 0x96, 0xE8, 0x96, 0xE9, 0x96, 0xEA, 0x96, 0xEB, /* 0x6C-0x6F */ + 0x96, 0xEC, 0x96, 0xED, 0x96, 0xEE, 0x96, 0xEF, /* 0x70-0x73 */ + 0x96, 0xF0, 0x96, 0xF1, 0x96, 0xF2, 0x96, 0xF3, /* 0x74-0x77 */ + 0x96, 0xF4, 0x96, 0xF5, 0x96, 0xF6, 0x96, 0xF7, /* 0x78-0x7B */ + 0x96, 0xF8, 0x96, 0xF9, 0x96, 0xFA, 0x96, 0xFB, /* 0x7C-0x7F */ + + 0x96, 0xFC, 0x96, 0xFD, 0x96, 0xFE, 0x97, 0x41, /* 0x80-0x83 */ + 0x97, 0x42, 0x97, 0x43, 0x97, 0x44, 0x97, 0x45, /* 0x84-0x87 */ + 0x97, 0x46, 0x97, 0x47, 0x97, 0x48, 0x97, 0x49, /* 0x88-0x8B */ + 0x97, 0x4A, 0x97, 0x4B, 0x97, 0x4C, 0x97, 0x4D, /* 0x8C-0x8F */ + 0x97, 0x4E, 0x97, 0x4F, 0x97, 0x50, 0x97, 0x51, /* 0x90-0x93 */ + 0xBB, 0xCE, 0x97, 0x52, 0x97, 0x53, 0x97, 0x54, /* 0x94-0x97 */ + 0x97, 0x55, 0x97, 0x56, 0x97, 0x57, 0x97, 0x58, /* 0x98-0x9B */ + 0x97, 0x59, 0x97, 0x5A, 0x97, 0x61, 0x97, 0x62, /* 0x9C-0x9F */ + 0x97, 0x63, 0x97, 0x64, 0x97, 0x65, 0x97, 0x66, /* 0xA0-0xA3 */ + 0x97, 0x67, 0x97, 0x68, 0x97, 0x69, 0x97, 0x6A, /* 0xA4-0xA7 */ + 0x97, 0x6B, 0x97, 0x6C, 0x97, 0x6D, 0x97, 0x6E, /* 0xA8-0xAB */ + 0x97, 0x6F, 0x97, 0x70, 0x97, 0x71, 0x97, 0x72, /* 0xAC-0xAF */ + 0xBB, 0xCF, 0x97, 0x73, 0x97, 0x74, 0x97, 0x75, /* 0xB0-0xB3 */ + 0x97, 0x76, 0x97, 0x77, 0x97, 0x78, 0x97, 0x79, /* 0xB4-0xB7 */ + 0x97, 0x7A, 0x97, 0x81, 0x97, 0x82, 0x97, 0x83, /* 0xB8-0xBB */ + 0x97, 0x84, 0x97, 0x85, 0x97, 0x86, 0x97, 0x87, /* 0xBC-0xBF */ + 0x97, 0x88, 0x97, 0x89, 0x97, 0x8A, 0x97, 0x8B, /* 0xC0-0xC3 */ + 0x97, 0x8C, 0xBB, 0xD0, 0x97, 0x8D, 0x97, 0x8E, /* 0xC4-0xC7 */ + 0x97, 0x8F, 0x97, 0x90, 0x97, 0x91, 0x97, 0x92, /* 0xC8-0xCB */ + 0xBB, 0xD1, 0xBB, 0xD2, 0x97, 0x93, 0x97, 0x94, /* 0xCC-0xCF */ + 0xBB, 0xD3, 0x97, 0x95, 0x97, 0x96, 0x97, 0x97, /* 0xD0-0xD3 */ + 0xBB, 0xD4, 0x97, 0x98, 0x97, 0x99, 0x97, 0x9A, /* 0xD4-0xD7 */ + 0x97, 0x9B, 0x97, 0x9C, 0x97, 0x9D, 0x97, 0x9E, /* 0xD8-0xDB */ + 0xBB, 0xD5, 0x97, 0x9F, 0x97, 0xA0, 0xBB, 0xD6, /* 0xDC-0xDF */ + 0x97, 0xA1, 0xBB, 0xD7, 0x97, 0xA2, 0x97, 0xA3, /* 0xE0-0xE3 */ + 0x97, 0xA4, 0x97, 0xA5, 0x97, 0xA6, 0x97, 0xA7, /* 0xE4-0xE7 */ + 0x97, 0xA8, 0x97, 0xA9, 0x97, 0xAA, 0x97, 0xAB, /* 0xE8-0xEB */ + 0x97, 0xAC, 0x97, 0xAD, 0x97, 0xAE, 0x97, 0xAF, /* 0xEC-0xEF */ + 0x97, 0xB0, 0x97, 0xB1, 0x97, 0xB2, 0x97, 0xB3, /* 0xF0-0xF3 */ + 0x97, 0xB4, 0x97, 0xB5, 0x97, 0xB6, 0x97, 0xB7, /* 0xF4-0xF7 */ + 0x97, 0xB8, 0x97, 0xB9, 0x97, 0xBA, 0x97, 0xBB, /* 0xF8-0xFB */ + 0x97, 0xBC, 0x97, 0xBD, 0x97, 0xBE, 0x97, 0xBF, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C0[512] = { + 0x97, 0xC0, 0x97, 0xC1, 0x97, 0xC2, 0x97, 0xC3, /* 0x00-0x03 */ + 0x97, 0xC4, 0x97, 0xC5, 0x97, 0xC6, 0x97, 0xC7, /* 0x04-0x07 */ + 0x97, 0xC8, 0x97, 0xC9, 0x97, 0xCA, 0x97, 0xCB, /* 0x08-0x0B */ + 0x97, 0xCC, 0x97, 0xCD, 0x97, 0xCE, 0x97, 0xCF, /* 0x0C-0x0F */ + 0x97, 0xD0, 0x97, 0xD1, 0x97, 0xD2, 0x97, 0xD3, /* 0x10-0x13 */ + 0x97, 0xD4, 0x97, 0xD5, 0x97, 0xD6, 0x97, 0xD7, /* 0x14-0x17 */ + 0x97, 0xD8, 0x97, 0xD9, 0x97, 0xDA, 0x97, 0xDB, /* 0x18-0x1B */ + 0x97, 0xDC, 0x97, 0xDD, 0x97, 0xDE, 0x97, 0xDF, /* 0x1C-0x1F */ + 0x97, 0xE0, 0x97, 0xE1, 0x97, 0xE2, 0x97, 0xE3, /* 0x20-0x23 */ + 0x97, 0xE4, 0x97, 0xE5, 0x97, 0xE6, 0x97, 0xE7, /* 0x24-0x27 */ + 0x97, 0xE8, 0x97, 0xE9, 0x97, 0xEA, 0x97, 0xEB, /* 0x28-0x2B */ + 0x97, 0xEC, 0x97, 0xED, 0x97, 0xEE, 0x97, 0xEF, /* 0x2C-0x2F */ + 0x97, 0xF0, 0x97, 0xF1, 0x97, 0xF2, 0x97, 0xF3, /* 0x30-0x33 */ + 0x97, 0xF4, 0x97, 0xF5, 0x97, 0xF6, 0x97, 0xF7, /* 0x34-0x37 */ + 0x97, 0xF8, 0x97, 0xF9, 0x97, 0xFA, 0x97, 0xFB, /* 0x38-0x3B */ + 0xBB, 0xD8, 0x97, 0xFC, 0x97, 0xFD, 0x97, 0xFE, /* 0x3C-0x3F */ + 0x98, 0x41, 0x98, 0x42, 0x98, 0x43, 0x98, 0x44, /* 0x40-0x43 */ + 0x98, 0x45, 0x98, 0x46, 0x98, 0x47, 0x98, 0x48, /* 0x44-0x47 */ + 0x98, 0x49, 0x98, 0x4A, 0x98, 0x4B, 0x98, 0x4C, /* 0x48-0x4B */ + 0x98, 0x4D, 0x98, 0x4E, 0x98, 0x4F, 0x98, 0x50, /* 0x4C-0x4F */ + 0x98, 0x51, 0xBB, 0xD9, 0x98, 0x52, 0x98, 0x53, /* 0x50-0x53 */ + 0x98, 0x54, 0x98, 0x55, 0x98, 0x56, 0x98, 0x57, /* 0x54-0x57 */ + 0xBB, 0xDA, 0x98, 0x58, 0x98, 0x59, 0x98, 0x5A, /* 0x58-0x5B */ + 0xBB, 0xDB, 0x98, 0x61, 0x98, 0x62, 0x98, 0x63, /* 0x5C-0x5F */ + 0xBB, 0xDC, 0x98, 0x64, 0x98, 0x65, 0x98, 0x66, /* 0x60-0x63 */ + 0x98, 0x67, 0x98, 0x68, 0x98, 0x69, 0x98, 0x6A, /* 0x64-0x67 */ + 0xBB, 0xDD, 0xBB, 0xDE, 0x98, 0x6B, 0x98, 0x6C, /* 0x68-0x6B */ + 0x98, 0x6D, 0x98, 0x6E, 0x98, 0x6F, 0x98, 0x70, /* 0x6C-0x6F */ + 0x98, 0x71, 0x98, 0x72, 0x98, 0x73, 0x98, 0x74, /* 0x70-0x73 */ + 0x98, 0x75, 0x98, 0x76, 0x98, 0x77, 0x98, 0x78, /* 0x74-0x77 */ + 0x98, 0x79, 0x98, 0x7A, 0x98, 0x81, 0x98, 0x82, /* 0x78-0x7B */ + 0x98, 0x83, 0x98, 0x84, 0x98, 0x85, 0x98, 0x86, /* 0x7C-0x7F */ + + 0x98, 0x87, 0x98, 0x88, 0x98, 0x89, 0x98, 0x8A, /* 0x80-0x83 */ + 0x98, 0x8B, 0x98, 0x8C, 0x98, 0x8D, 0x98, 0x8E, /* 0x84-0x87 */ + 0x98, 0x8F, 0x98, 0x90, 0x98, 0x91, 0x98, 0x92, /* 0x88-0x8B */ + 0x98, 0x93, 0x98, 0x94, 0x98, 0x95, 0x98, 0x96, /* 0x8C-0x8F */ + 0xBB, 0xDF, 0xBB, 0xE0, 0x98, 0x97, 0x98, 0x98, /* 0x90-0x93 */ + 0xBB, 0xE1, 0x98, 0x99, 0x98, 0x9A, 0x98, 0x9B, /* 0x94-0x97 */ + 0xBB, 0xE2, 0x98, 0x9C, 0x98, 0x9D, 0x98, 0x9E, /* 0x98-0x9B */ + 0x98, 0x9F, 0x98, 0xA0, 0x98, 0xA1, 0x98, 0xA2, /* 0x9C-0x9F */ + 0xBB, 0xE3, 0xBB, 0xE4, 0x98, 0xA3, 0xBB, 0xE5, /* 0xA0-0xA3 */ + 0x98, 0xA4, 0xBB, 0xE6, 0x98, 0xA5, 0x98, 0xA6, /* 0xA4-0xA7 */ + 0x98, 0xA7, 0x98, 0xA8, 0x98, 0xA9, 0x98, 0xAA, /* 0xA8-0xAB */ + 0xBB, 0xE7, 0xBB, 0xE8, 0x98, 0xAB, 0xBB, 0xE9, /* 0xAC-0xAF */ + 0xBB, 0xEA, 0x98, 0xAC, 0x98, 0xAD, 0xBB, 0xEB, /* 0xB0-0xB3 */ + 0xBB, 0xEC, 0xBB, 0xED, 0xBB, 0xEE, 0x98, 0xAE, /* 0xB4-0xB7 */ + 0x98, 0xAF, 0x98, 0xB0, 0x98, 0xB1, 0x98, 0xB2, /* 0xB8-0xBB */ + 0xBB, 0xEF, 0xBB, 0xF0, 0x98, 0xB3, 0xBB, 0xF1, /* 0xBC-0xBF */ + 0xBB, 0xF2, 0xBB, 0xF3, 0x98, 0xB4, 0x98, 0xB5, /* 0xC0-0xC3 */ + 0x98, 0xB6, 0xBB, 0xF4, 0x98, 0xB7, 0x98, 0xB8, /* 0xC4-0xC7 */ + 0xBB, 0xF5, 0xBB, 0xF6, 0x98, 0xB9, 0x98, 0xBA, /* 0xC8-0xCB */ + 0xBB, 0xF7, 0x98, 0xBB, 0x98, 0xBC, 0x98, 0xBD, /* 0xCC-0xCF */ + 0xBB, 0xF8, 0x98, 0xBE, 0x98, 0xBF, 0x98, 0xC0, /* 0xD0-0xD3 */ + 0x98, 0xC1, 0x98, 0xC2, 0x98, 0xC3, 0x98, 0xC4, /* 0xD4-0xD7 */ + 0xBB, 0xF9, 0xBB, 0xFA, 0x98, 0xC5, 0xBB, 0xFB, /* 0xD8-0xDB */ + 0xBB, 0xFC, 0xBB, 0xFD, 0x98, 0xC6, 0x98, 0xC7, /* 0xDC-0xDF */ + 0x98, 0xC8, 0x98, 0xC9, 0x98, 0xCA, 0x98, 0xCB, /* 0xE0-0xE3 */ + 0xBB, 0xFE, 0xBC, 0xA1, 0x98, 0xCC, 0x98, 0xCD, /* 0xE4-0xE7 */ + 0xBC, 0xA2, 0x98, 0xCE, 0x98, 0xCF, 0x98, 0xD0, /* 0xE8-0xEB */ + 0xBC, 0xA3, 0x98, 0xD1, 0x98, 0xD2, 0x98, 0xD3, /* 0xEC-0xEF */ + 0x98, 0xD4, 0x98, 0xD5, 0x98, 0xD6, 0x98, 0xD7, /* 0xF0-0xF3 */ + 0xBC, 0xA4, 0xBC, 0xA5, 0x98, 0xD8, 0xBC, 0xA6, /* 0xF4-0xF7 */ + 0x98, 0xD9, 0xBC, 0xA7, 0x98, 0xDA, 0x98, 0xDB, /* 0xF8-0xFB */ + 0x98, 0xDC, 0x98, 0xDD, 0x98, 0xDE, 0x98, 0xDF, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C1[512] = { + 0xBC, 0xA8, 0x98, 0xE0, 0x98, 0xE1, 0x98, 0xE2, /* 0x00-0x03 */ + 0xBC, 0xA9, 0x98, 0xE3, 0x98, 0xE4, 0x98, 0xE5, /* 0x04-0x07 */ + 0xBC, 0xAA, 0x98, 0xE6, 0x98, 0xE7, 0x98, 0xE8, /* 0x08-0x0B */ + 0x98, 0xE9, 0x98, 0xEA, 0x98, 0xEB, 0x98, 0xEC, /* 0x0C-0x0F */ + 0xBC, 0xAB, 0x98, 0xED, 0x98, 0xEE, 0x98, 0xEF, /* 0x10-0x13 */ + 0x98, 0xF0, 0xBC, 0xAC, 0x98, 0xF1, 0x98, 0xF2, /* 0x14-0x17 */ + 0x98, 0xF3, 0x98, 0xF4, 0x98, 0xF5, 0x98, 0xF6, /* 0x18-0x1B */ + 0xBC, 0xAD, 0xBC, 0xAE, 0xBC, 0xAF, 0xBC, 0xB0, /* 0x1C-0x1F */ + 0xBC, 0xB1, 0x98, 0xF7, 0x98, 0xF8, 0xBC, 0xB2, /* 0x20-0x23 */ + 0xBC, 0xB3, 0x98, 0xF9, 0xBC, 0xB4, 0xBC, 0xB5, /* 0x24-0x27 */ + 0x98, 0xFA, 0x98, 0xFB, 0x98, 0xFC, 0x98, 0xFD, /* 0x28-0x2B */ + 0xBC, 0xB6, 0xBC, 0xB7, 0x98, 0xFE, 0xBC, 0xB8, /* 0x2C-0x2F */ + 0xBC, 0xB9, 0xBC, 0xBA, 0x99, 0x41, 0x99, 0x42, /* 0x30-0x33 */ + 0x99, 0x43, 0x99, 0x44, 0xBC, 0xBB, 0x99, 0x45, /* 0x34-0x37 */ + 0xBC, 0xBC, 0xBC, 0xBD, 0x99, 0x46, 0x99, 0x47, /* 0x38-0x3B */ + 0xBC, 0xBE, 0x99, 0x48, 0x99, 0x49, 0x99, 0x4A, /* 0x3C-0x3F */ + 0xBC, 0xBF, 0x99, 0x4B, 0x99, 0x4C, 0x99, 0x4D, /* 0x40-0x43 */ + 0x99, 0x4E, 0x99, 0x4F, 0x99, 0x50, 0x99, 0x51, /* 0x44-0x47 */ + 0xBC, 0xC0, 0xBC, 0xC1, 0x99, 0x52, 0xBC, 0xC2, /* 0x48-0x4B */ + 0xBC, 0xC3, 0xBC, 0xC4, 0x99, 0x53, 0x99, 0x54, /* 0x4C-0x4F */ + 0x99, 0x55, 0x99, 0x56, 0x99, 0x57, 0x99, 0x58, /* 0x50-0x53 */ + 0xBC, 0xC5, 0xBC, 0xC6, 0x99, 0x59, 0x99, 0x5A, /* 0x54-0x57 */ + 0xBC, 0xC7, 0x99, 0x61, 0x99, 0x62, 0x99, 0x63, /* 0x58-0x5B */ + 0xBC, 0xC8, 0x99, 0x64, 0x99, 0x65, 0x99, 0x66, /* 0x5C-0x5F */ + 0x99, 0x67, 0x99, 0x68, 0x99, 0x69, 0x99, 0x6A, /* 0x60-0x63 */ + 0xBC, 0xC9, 0xBC, 0xCA, 0x99, 0x6B, 0xBC, 0xCB, /* 0x64-0x67 */ + 0xBC, 0xCC, 0xBC, 0xCD, 0x99, 0x6C, 0x99, 0x6D, /* 0x68-0x6B */ + 0x99, 0x6E, 0x99, 0x6F, 0x99, 0x70, 0x99, 0x71, /* 0x6C-0x6F */ + 0xBC, 0xCE, 0x99, 0x72, 0x99, 0x73, 0x99, 0x74, /* 0x70-0x73 */ + 0xBC, 0xCF, 0x99, 0x75, 0x99, 0x76, 0x99, 0x77, /* 0x74-0x77 */ + 0xBC, 0xD0, 0x99, 0x78, 0x99, 0x79, 0x99, 0x7A, /* 0x78-0x7B */ + 0x99, 0x81, 0x99, 0x82, 0x99, 0x83, 0x99, 0x84, /* 0x7C-0x7F */ + + 0x99, 0x85, 0x99, 0x86, 0x99, 0x87, 0x99, 0x88, /* 0x80-0x83 */ + 0x99, 0x89, 0xBC, 0xD1, 0x99, 0x8A, 0x99, 0x8B, /* 0x84-0x87 */ + 0x99, 0x8C, 0x99, 0x8D, 0x99, 0x8E, 0x99, 0x8F, /* 0x88-0x8B */ + 0xBC, 0xD2, 0xBC, 0xD3, 0xBC, 0xD4, 0x99, 0x90, /* 0x8C-0x8F */ + 0xBC, 0xD5, 0x99, 0x91, 0x99, 0x92, 0x99, 0x93, /* 0x90-0x93 */ + 0xBC, 0xD6, 0x99, 0x94, 0xBC, 0xD7, 0x99, 0x95, /* 0x94-0x97 */ + 0x99, 0x96, 0x99, 0x97, 0x99, 0x98, 0x99, 0x99, /* 0x98-0x9B */ + 0xBC, 0xD8, 0xBC, 0xD9, 0x99, 0x9A, 0xBC, 0xDA, /* 0x9C-0x9F */ + 0x99, 0x9B, 0xBC, 0xDB, 0x99, 0x9C, 0x99, 0x9D, /* 0xA0-0xA3 */ + 0x99, 0x9E, 0xBC, 0xDC, 0x99, 0x9F, 0x99, 0xA0, /* 0xA4-0xA7 */ + 0xBC, 0xDD, 0xBC, 0xDE, 0x99, 0xA1, 0x99, 0xA2, /* 0xA8-0xAB */ + 0xBC, 0xDF, 0x99, 0xA3, 0x99, 0xA4, 0x99, 0xA5, /* 0xAC-0xAF */ + 0xBC, 0xE0, 0x99, 0xA6, 0x99, 0xA7, 0x99, 0xA8, /* 0xB0-0xB3 */ + 0x99, 0xA9, 0x99, 0xAA, 0x99, 0xAB, 0x99, 0xAC, /* 0xB4-0xB7 */ + 0x99, 0xAD, 0x99, 0xAE, 0x99, 0xAF, 0x99, 0xB0, /* 0xB8-0xBB */ + 0x99, 0xB1, 0xBC, 0xE1, 0x99, 0xB2, 0x99, 0xB3, /* 0xBC-0xBF */ + 0x99, 0xB4, 0x99, 0xB5, 0x99, 0xB6, 0x99, 0xB7, /* 0xC0-0xC3 */ + 0xBC, 0xE2, 0x99, 0xB8, 0x99, 0xB9, 0x99, 0xBA, /* 0xC4-0xC7 */ + 0xBC, 0xE3, 0x99, 0xBB, 0x99, 0xBC, 0x99, 0xBD, /* 0xC8-0xCB */ + 0xBC, 0xE4, 0x99, 0xBE, 0x99, 0xBF, 0x99, 0xC0, /* 0xCC-0xCF */ + 0x99, 0xC1, 0x99, 0xC2, 0x99, 0xC3, 0x99, 0xC4, /* 0xD0-0xD3 */ + 0xBC, 0xE5, 0x99, 0xC5, 0x99, 0xC6, 0xBC, 0xE6, /* 0xD4-0xD7 */ + 0xBC, 0xE7, 0x99, 0xC7, 0x99, 0xC8, 0x99, 0xC9, /* 0xD8-0xDB */ + 0x99, 0xCA, 0x99, 0xCB, 0x99, 0xCC, 0x99, 0xCD, /* 0xDC-0xDF */ + 0xBC, 0xE8, 0x99, 0xCE, 0x99, 0xCF, 0x99, 0xD0, /* 0xE0-0xE3 */ + 0xBC, 0xE9, 0x99, 0xD1, 0x99, 0xD2, 0x99, 0xD3, /* 0xE4-0xE7 */ + 0xBC, 0xEA, 0x99, 0xD4, 0x99, 0xD5, 0x99, 0xD6, /* 0xE8-0xEB */ + 0x99, 0xD7, 0x99, 0xD8, 0x99, 0xD9, 0x99, 0xDA, /* 0xEC-0xEF */ + 0xBC, 0xEB, 0xBC, 0xEC, 0x99, 0xDB, 0xBC, 0xED, /* 0xF0-0xF3 */ + 0x99, 0xDC, 0x99, 0xDD, 0x99, 0xDE, 0x99, 0xDF, /* 0xF4-0xF7 */ + 0x99, 0xE0, 0x99, 0xE1, 0x99, 0xE2, 0x99, 0xE3, /* 0xF8-0xFB */ + 0xBC, 0xEE, 0xBC, 0xEF, 0x99, 0xE4, 0x99, 0xE5, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C2[512] = { + 0xBC, 0xF0, 0x99, 0xE6, 0x99, 0xE7, 0x99, 0xE8, /* 0x00-0x03 */ + 0xBC, 0xF1, 0x99, 0xE9, 0x99, 0xEA, 0x99, 0xEB, /* 0x04-0x07 */ + 0x99, 0xEC, 0x99, 0xED, 0x99, 0xEE, 0x99, 0xEF, /* 0x08-0x0B */ + 0xBC, 0xF2, 0xBC, 0xF3, 0x99, 0xF0, 0xBC, 0xF4, /* 0x0C-0x0F */ + 0x99, 0xF1, 0xBC, 0xF5, 0x99, 0xF2, 0x99, 0xF3, /* 0x10-0x13 */ + 0x99, 0xF4, 0x99, 0xF5, 0x99, 0xF6, 0x99, 0xF7, /* 0x14-0x17 */ + 0xBC, 0xF6, 0xBC, 0xF7, 0x99, 0xF8, 0x99, 0xF9, /* 0x18-0x1B */ + 0xBC, 0xF8, 0x99, 0xFA, 0x99, 0xFB, 0xBC, 0xF9, /* 0x1C-0x1F */ + 0xBC, 0xFA, 0x99, 0xFC, 0x99, 0xFD, 0x99, 0xFE, /* 0x20-0x23 */ + 0x9A, 0x41, 0x9A, 0x42, 0x9A, 0x43, 0x9A, 0x44, /* 0x24-0x27 */ + 0xBC, 0xFB, 0xBC, 0xFC, 0x9A, 0x45, 0xBC, 0xFD, /* 0x28-0x2B */ + 0x9A, 0x46, 0xBC, 0xFE, 0x9A, 0x47, 0xBD, 0xA1, /* 0x2C-0x2F */ + 0x9A, 0x48, 0xBD, 0xA2, 0xBD, 0xA3, 0x9A, 0x49, /* 0x30-0x33 */ + 0xBD, 0xA4, 0x9A, 0x4A, 0x9A, 0x4B, 0x9A, 0x4C, /* 0x34-0x37 */ + 0x9A, 0x4D, 0x9A, 0x4E, 0x9A, 0x4F, 0x9A, 0x50, /* 0x38-0x3B */ + 0x9A, 0x51, 0x9A, 0x52, 0x9A, 0x53, 0x9A, 0x54, /* 0x3C-0x3F */ + 0x9A, 0x55, 0x9A, 0x56, 0x9A, 0x57, 0x9A, 0x58, /* 0x40-0x43 */ + 0x9A, 0x59, 0x9A, 0x5A, 0x9A, 0x61, 0x9A, 0x62, /* 0x44-0x47 */ + 0xBD, 0xA5, 0x9A, 0x63, 0x9A, 0x64, 0x9A, 0x65, /* 0x48-0x4B */ + 0x9A, 0x66, 0x9A, 0x67, 0x9A, 0x68, 0x9A, 0x69, /* 0x4C-0x4F */ + 0xBD, 0xA6, 0xBD, 0xA7, 0x9A, 0x6A, 0x9A, 0x6B, /* 0x50-0x53 */ + 0xBD, 0xA8, 0x9A, 0x6C, 0x9A, 0x6D, 0x9A, 0x6E, /* 0x54-0x57 */ + 0xBD, 0xA9, 0x9A, 0x6F, 0x9A, 0x70, 0x9A, 0x71, /* 0x58-0x5B */ + 0x9A, 0x72, 0x9A, 0x73, 0x9A, 0x74, 0x9A, 0x75, /* 0x5C-0x5F */ + 0xBD, 0xAA, 0x9A, 0x76, 0x9A, 0x77, 0x9A, 0x78, /* 0x60-0x63 */ + 0x9A, 0x79, 0xBD, 0xAB, 0x9A, 0x7A, 0x9A, 0x81, /* 0x64-0x67 */ + 0x9A, 0x82, 0x9A, 0x83, 0x9A, 0x84, 0x9A, 0x85, /* 0x68-0x6B */ + 0xBD, 0xAC, 0xBD, 0xAD, 0x9A, 0x86, 0x9A, 0x87, /* 0x6C-0x6F */ + 0xBD, 0xAE, 0x9A, 0x88, 0x9A, 0x89, 0x9A, 0x8A, /* 0x70-0x73 */ + 0xBD, 0xAF, 0x9A, 0x8B, 0x9A, 0x8C, 0x9A, 0x8D, /* 0x74-0x77 */ + 0x9A, 0x8E, 0x9A, 0x8F, 0x9A, 0x90, 0x9A, 0x91, /* 0x78-0x7B */ + 0xBD, 0xB0, 0xBD, 0xB1, 0x9A, 0x92, 0xBD, 0xB2, /* 0x7C-0x7F */ + + 0x9A, 0x93, 0xBD, 0xB3, 0x9A, 0x94, 0x9A, 0x95, /* 0x80-0x83 */ + 0x9A, 0x96, 0x9A, 0x97, 0x9A, 0x98, 0x9A, 0x99, /* 0x84-0x87 */ + 0xBD, 0xB4, 0xBD, 0xB5, 0x9A, 0x9A, 0x9A, 0x9B, /* 0x88-0x8B */ + 0x9A, 0x9C, 0x9A, 0x9D, 0x9A, 0x9E, 0x9A, 0x9F, /* 0x8C-0x8F */ + 0xBD, 0xB6, 0x9A, 0xA0, 0x9A, 0xA1, 0x9A, 0xA2, /* 0x90-0x93 */ + 0x9A, 0xA3, 0x9A, 0xA4, 0x9A, 0xA5, 0x9A, 0xA6, /* 0x94-0x97 */ + 0xBD, 0xB7, 0x9A, 0xA7, 0x9A, 0xA8, 0xBD, 0xB8, /* 0x98-0x9B */ + 0x9A, 0xA9, 0xBD, 0xB9, 0x9A, 0xAA, 0x9A, 0xAB, /* 0x9C-0x9F */ + 0x9A, 0xAC, 0x9A, 0xAD, 0x9A, 0xAE, 0x9A, 0xAF, /* 0xA0-0xA3 */ + 0xBD, 0xBA, 0xBD, 0xBB, 0x9A, 0xB0, 0x9A, 0xB1, /* 0xA4-0xA7 */ + 0xBD, 0xBC, 0x9A, 0xB2, 0x9A, 0xB3, 0x9A, 0xB4, /* 0xA8-0xAB */ + 0xBD, 0xBD, 0xBD, 0xBE, 0x9A, 0xB5, 0x9A, 0xB6, /* 0xAC-0xAF */ + 0x9A, 0xB7, 0x9A, 0xB8, 0x9A, 0xB9, 0x9A, 0xBA, /* 0xB0-0xB3 */ + 0xBD, 0xBF, 0xBD, 0xC0, 0x9A, 0xBB, 0xBD, 0xC1, /* 0xB4-0xB7 */ + 0x9A, 0xBC, 0xBD, 0xC2, 0x9A, 0xBD, 0x9A, 0xBE, /* 0xB8-0xBB */ + 0x9A, 0xBF, 0x9A, 0xC0, 0x9A, 0xC1, 0x9A, 0xC2, /* 0xBC-0xBF */ + 0x9A, 0xC3, 0x9A, 0xC4, 0x9A, 0xC5, 0x9A, 0xC6, /* 0xC0-0xC3 */ + 0x9A, 0xC7, 0x9A, 0xC8, 0x9A, 0xC9, 0x9A, 0xCA, /* 0xC4-0xC7 */ + 0x9A, 0xCB, 0x9A, 0xCC, 0x9A, 0xCD, 0x9A, 0xCE, /* 0xC8-0xCB */ + 0x9A, 0xCF, 0x9A, 0xD0, 0x9A, 0xD1, 0x9A, 0xD2, /* 0xCC-0xCF */ + 0x9A, 0xD3, 0x9A, 0xD4, 0x9A, 0xD5, 0x9A, 0xD6, /* 0xD0-0xD3 */ + 0x9A, 0xD7, 0x9A, 0xD8, 0x9A, 0xD9, 0x9A, 0xDA, /* 0xD4-0xD7 */ + 0x9A, 0xDB, 0x9A, 0xDC, 0x9A, 0xDD, 0x9A, 0xDE, /* 0xD8-0xDB */ + 0xBD, 0xC3, 0xBD, 0xC4, 0x9A, 0xDF, 0x9A, 0xE0, /* 0xDC-0xDF */ + 0xBD, 0xC5, 0x9A, 0xE1, 0x9A, 0xE2, 0xBD, 0xC6, /* 0xE0-0xE3 */ + 0xBD, 0xC7, 0x9A, 0xE3, 0x9A, 0xE4, 0x9A, 0xE5, /* 0xE4-0xE7 */ + 0x9A, 0xE6, 0x9A, 0xE7, 0x9A, 0xE8, 0xBD, 0xC8, /* 0xE8-0xEB */ + 0xBD, 0xC9, 0xBD, 0xCA, 0x9A, 0xE9, 0xBD, 0xCB, /* 0xEC-0xEF */ + 0x9A, 0xEA, 0xBD, 0xCC, 0x9A, 0xEB, 0x9A, 0xEC, /* 0xF0-0xF3 */ + 0x9A, 0xED, 0x9A, 0xEE, 0xBD, 0xCD, 0x9A, 0xEF, /* 0xF4-0xF7 */ + 0xBD, 0xCE, 0xBD, 0xCF, 0x9A, 0xF0, 0xBD, 0xD0, /* 0xF8-0xFB */ + 0xBD, 0xD1, 0x9A, 0xF1, 0x9A, 0xF2, 0x9A, 0xF3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C3[512] = { + 0xBD, 0xD2, 0x9A, 0xF4, 0x9A, 0xF5, 0x9A, 0xF6, /* 0x00-0x03 */ + 0x9A, 0xF7, 0x9A, 0xF8, 0x9A, 0xF9, 0x9A, 0xFA, /* 0x04-0x07 */ + 0xBD, 0xD3, 0xBD, 0xD4, 0x9A, 0xFB, 0x9A, 0xFC, /* 0x08-0x0B */ + 0xBD, 0xD5, 0xBD, 0xD6, 0x9A, 0xFD, 0x9A, 0xFE, /* 0x0C-0x0F */ + 0x9B, 0x41, 0x9B, 0x42, 0x9B, 0x43, 0xBD, 0xD7, /* 0x10-0x13 */ + 0xBD, 0xD8, 0xBD, 0xD9, 0x9B, 0x44, 0x9B, 0x45, /* 0x14-0x17 */ + 0xBD, 0xDA, 0x9B, 0x46, 0x9B, 0x47, 0x9B, 0x48, /* 0x18-0x1B */ + 0xBD, 0xDB, 0x9B, 0x49, 0x9B, 0x4A, 0x9B, 0x4B, /* 0x1C-0x1F */ + 0x9B, 0x4C, 0x9B, 0x4D, 0x9B, 0x4E, 0x9B, 0x4F, /* 0x20-0x23 */ + 0xBD, 0xDC, 0xBD, 0xDD, 0x9B, 0x50, 0x9B, 0x51, /* 0x24-0x27 */ + 0xBD, 0xDE, 0xBD, 0xDF, 0x9B, 0x52, 0x9B, 0x53, /* 0x28-0x2B */ + 0x9B, 0x54, 0x9B, 0x55, 0x9B, 0x56, 0x9B, 0x57, /* 0x2C-0x2F */ + 0x9B, 0x58, 0x9B, 0x59, 0x9B, 0x5A, 0x9B, 0x61, /* 0x30-0x33 */ + 0x9B, 0x62, 0x9B, 0x63, 0x9B, 0x64, 0x9B, 0x65, /* 0x34-0x37 */ + 0x9B, 0x66, 0x9B, 0x67, 0x9B, 0x68, 0x9B, 0x69, /* 0x38-0x3B */ + 0x9B, 0x6A, 0x9B, 0x6B, 0x9B, 0x6C, 0x9B, 0x6D, /* 0x3C-0x3F */ + 0x9B, 0x6E, 0x9B, 0x6F, 0x9B, 0x70, 0x9B, 0x71, /* 0x40-0x43 */ + 0x9B, 0x72, 0xBD, 0xE0, 0x9B, 0x73, 0x9B, 0x74, /* 0x44-0x47 */ + 0x9B, 0x75, 0x9B, 0x76, 0x9B, 0x77, 0x9B, 0x78, /* 0x48-0x4B */ + 0x9B, 0x79, 0x9B, 0x7A, 0x9B, 0x81, 0x9B, 0x82, /* 0x4C-0x4F */ + 0x9B, 0x83, 0x9B, 0x84, 0x9B, 0x85, 0x9B, 0x86, /* 0x50-0x53 */ + 0x9B, 0x87, 0x9B, 0x88, 0x9B, 0x89, 0x9B, 0x8A, /* 0x54-0x57 */ + 0x9B, 0x8B, 0x9B, 0x8C, 0x9B, 0x8D, 0x9B, 0x8E, /* 0x58-0x5B */ + 0x9B, 0x8F, 0x9B, 0x90, 0x9B, 0x91, 0x9B, 0x92, /* 0x5C-0x5F */ + 0x9B, 0x93, 0x9B, 0x94, 0x9B, 0x95, 0x9B, 0x96, /* 0x60-0x63 */ + 0x9B, 0x97, 0x9B, 0x98, 0x9B, 0x99, 0x9B, 0x9A, /* 0x64-0x67 */ + 0xBD, 0xE1, 0xBD, 0xE2, 0x9B, 0x9B, 0x9B, 0x9C, /* 0x68-0x6B */ + 0xBD, 0xE3, 0x9B, 0x9D, 0x9B, 0x9E, 0x9B, 0x9F, /* 0x6C-0x6F */ + 0xBD, 0xE4, 0x9B, 0xA0, 0xBD, 0xE5, 0x9B, 0xA1, /* 0x70-0x73 */ + 0x9B, 0xA2, 0x9B, 0xA3, 0x9B, 0xA4, 0x9B, 0xA5, /* 0x74-0x77 */ + 0xBD, 0xE6, 0xBD, 0xE7, 0x9B, 0xA6, 0x9B, 0xA7, /* 0x78-0x7B */ + 0xBD, 0xE8, 0xBD, 0xE9, 0x9B, 0xA8, 0x9B, 0xA9, /* 0x7C-0x7F */ + + 0x9B, 0xAA, 0x9B, 0xAB, 0x9B, 0xAC, 0x9B, 0xAD, /* 0x80-0x83 */ + 0xBD, 0xEA, 0x9B, 0xAE, 0x9B, 0xAF, 0x9B, 0xB0, /* 0x84-0x87 */ + 0xBD, 0xEB, 0x9B, 0xB1, 0x9B, 0xB2, 0x9B, 0xB3, /* 0x88-0x8B */ + 0xBD, 0xEC, 0x9B, 0xB4, 0x9B, 0xB5, 0x9B, 0xB6, /* 0x8C-0x8F */ + 0x9B, 0xB7, 0x9B, 0xB8, 0x9B, 0xB9, 0x9B, 0xBA, /* 0x90-0x93 */ + 0x9B, 0xBB, 0x9B, 0xBC, 0x9B, 0xBD, 0x9B, 0xBE, /* 0x94-0x97 */ + 0x9B, 0xBF, 0x9B, 0xC0, 0x9B, 0xC1, 0x9B, 0xC2, /* 0x98-0x9B */ + 0x9B, 0xC3, 0x9B, 0xC4, 0x9B, 0xC5, 0x9B, 0xC6, /* 0x9C-0x9F */ + 0x9B, 0xC7, 0x9B, 0xC8, 0x9B, 0xC9, 0x9B, 0xCA, /* 0xA0-0xA3 */ + 0x9B, 0xCB, 0x9B, 0xCC, 0x9B, 0xCD, 0x9B, 0xCE, /* 0xA4-0xA7 */ + 0x9B, 0xCF, 0x9B, 0xD0, 0x9B, 0xD1, 0x9B, 0xD2, /* 0xA8-0xAB */ + 0x9B, 0xD3, 0x9B, 0xD4, 0x9B, 0xD5, 0x9B, 0xD6, /* 0xAC-0xAF */ + 0x9B, 0xD7, 0x9B, 0xD8, 0x9B, 0xD9, 0x9B, 0xDA, /* 0xB0-0xB3 */ + 0x9B, 0xDB, 0x9B, 0xDC, 0x9B, 0xDD, 0x9B, 0xDE, /* 0xB4-0xB7 */ + 0x9B, 0xDF, 0x9B, 0xE0, 0x9B, 0xE1, 0x9B, 0xE2, /* 0xB8-0xBB */ + 0x9B, 0xE3, 0x9B, 0xE4, 0x9B, 0xE5, 0x9B, 0xE6, /* 0xBC-0xBF */ + 0xBD, 0xED, 0x9B, 0xE7, 0x9B, 0xE8, 0x9B, 0xE9, /* 0xC0-0xC3 */ + 0x9B, 0xEA, 0x9B, 0xEB, 0x9B, 0xEC, 0x9B, 0xED, /* 0xC4-0xC7 */ + 0x9B, 0xEE, 0x9B, 0xEF, 0x9B, 0xF0, 0x9B, 0xF1, /* 0xC8-0xCB */ + 0x9B, 0xF2, 0x9B, 0xF3, 0x9B, 0xF4, 0x9B, 0xF5, /* 0xCC-0xCF */ + 0x9B, 0xF6, 0x9B, 0xF7, 0x9B, 0xF8, 0x9B, 0xF9, /* 0xD0-0xD3 */ + 0x9B, 0xFA, 0x9B, 0xFB, 0x9B, 0xFC, 0x9B, 0xFD, /* 0xD4-0xD7 */ + 0xBD, 0xEE, 0xBD, 0xEF, 0x9B, 0xFE, 0x9C, 0x41, /* 0xD8-0xDB */ + 0xBD, 0xF0, 0x9C, 0x42, 0x9C, 0x43, 0xBD, 0xF1, /* 0xDC-0xDF */ + 0xBD, 0xF2, 0x9C, 0x44, 0xBD, 0xF3, 0x9C, 0x45, /* 0xE0-0xE3 */ + 0x9C, 0x46, 0x9C, 0x47, 0x9C, 0x48, 0x9C, 0x49, /* 0xE4-0xE7 */ + 0xBD, 0xF4, 0xBD, 0xF5, 0x9C, 0x4A, 0x9C, 0x4B, /* 0xE8-0xEB */ + 0x9C, 0x4C, 0xBD, 0xF6, 0x9C, 0x4D, 0x9C, 0x4E, /* 0xEC-0xEF */ + 0x9C, 0x4F, 0x9C, 0x50, 0x9C, 0x51, 0x9C, 0x52, /* 0xF0-0xF3 */ + 0xBD, 0xF7, 0xBD, 0xF8, 0x9C, 0x53, 0x9C, 0x54, /* 0xF4-0xF7 */ + 0xBD, 0xF9, 0x9C, 0x55, 0x9C, 0x56, 0x9C, 0x57, /* 0xF8-0xFB */ + 0x9C, 0x58, 0x9C, 0x59, 0x9C, 0x5A, 0x9C, 0x61, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C4[512] = { + 0x9C, 0x62, 0x9C, 0x63, 0x9C, 0x64, 0x9C, 0x65, /* 0x00-0x03 */ + 0x9C, 0x66, 0x9C, 0x67, 0x9C, 0x68, 0x9C, 0x69, /* 0x04-0x07 */ + 0xBD, 0xFA, 0x9C, 0x6A, 0x9C, 0x6B, 0x9C, 0x6C, /* 0x08-0x0B */ + 0x9C, 0x6D, 0x9C, 0x6E, 0x9C, 0x6F, 0x9C, 0x70, /* 0x0C-0x0F */ + 0xBD, 0xFB, 0x9C, 0x71, 0x9C, 0x72, 0x9C, 0x73, /* 0x10-0x13 */ + 0x9C, 0x74, 0x9C, 0x75, 0x9C, 0x76, 0x9C, 0x77, /* 0x14-0x17 */ + 0x9C, 0x78, 0x9C, 0x79, 0x9C, 0x7A, 0x9C, 0x81, /* 0x18-0x1B */ + 0x9C, 0x82, 0x9C, 0x83, 0x9C, 0x84, 0x9C, 0x85, /* 0x1C-0x1F */ + 0x9C, 0x86, 0x9C, 0x87, 0x9C, 0x88, 0x9C, 0x89, /* 0x20-0x23 */ + 0xBD, 0xFC, 0x9C, 0x8A, 0x9C, 0x8B, 0x9C, 0x8C, /* 0x24-0x27 */ + 0x9C, 0x8D, 0x9C, 0x8E, 0x9C, 0x8F, 0x9C, 0x90, /* 0x28-0x2B */ + 0xBD, 0xFD, 0x9C, 0x91, 0x9C, 0x92, 0x9C, 0x93, /* 0x2C-0x2F */ + 0xBD, 0xFE, 0x9C, 0x94, 0x9C, 0x95, 0x9C, 0x96, /* 0x30-0x33 */ + 0xBE, 0xA1, 0x9C, 0x97, 0x9C, 0x98, 0x9C, 0x99, /* 0x34-0x37 */ + 0x9C, 0x9A, 0x9C, 0x9B, 0x9C, 0x9C, 0x9C, 0x9D, /* 0x38-0x3B */ + 0xBE, 0xA2, 0xBE, 0xA3, 0x9C, 0x9E, 0x9C, 0x9F, /* 0x3C-0x3F */ + 0x9C, 0xA0, 0x9C, 0xA1, 0x9C, 0xA2, 0x9C, 0xA3, /* 0x40-0x43 */ + 0x9C, 0xA4, 0x9C, 0xA5, 0x9C, 0xA6, 0x9C, 0xA7, /* 0x44-0x47 */ + 0xBE, 0xA4, 0x9C, 0xA8, 0x9C, 0xA9, 0x9C, 0xAA, /* 0x48-0x4B */ + 0x9C, 0xAB, 0x9C, 0xAC, 0x9C, 0xAD, 0x9C, 0xAE, /* 0x4C-0x4F */ + 0x9C, 0xAF, 0x9C, 0xB0, 0x9C, 0xB1, 0x9C, 0xB2, /* 0x50-0x53 */ + 0x9C, 0xB3, 0x9C, 0xB4, 0x9C, 0xB5, 0x9C, 0xB6, /* 0x54-0x57 */ + 0x9C, 0xB7, 0x9C, 0xB8, 0x9C, 0xB9, 0x9C, 0xBA, /* 0x58-0x5B */ + 0x9C, 0xBB, 0x9C, 0xBC, 0x9C, 0xBD, 0x9C, 0xBE, /* 0x5C-0x5F */ + 0x9C, 0xBF, 0x9C, 0xC0, 0x9C, 0xC1, 0x9C, 0xC2, /* 0x60-0x63 */ + 0xBE, 0xA5, 0xBE, 0xA6, 0x9C, 0xC3, 0x9C, 0xC4, /* 0x64-0x67 */ + 0xBE, 0xA7, 0x9C, 0xC5, 0x9C, 0xC6, 0x9C, 0xC7, /* 0x68-0x6B */ + 0xBE, 0xA8, 0x9C, 0xC8, 0x9C, 0xC9, 0x9C, 0xCA, /* 0x6C-0x6F */ + 0x9C, 0xCB, 0x9C, 0xCC, 0x9C, 0xCD, 0x9C, 0xCE, /* 0x70-0x73 */ + 0xBE, 0xA9, 0xBE, 0xAA, 0x9C, 0xCF, 0x9C, 0xD0, /* 0x74-0x77 */ + 0x9C, 0xD1, 0xBE, 0xAB, 0x9C, 0xD2, 0x9C, 0xD3, /* 0x78-0x7B */ + 0x9C, 0xD4, 0x9C, 0xD5, 0x9C, 0xD6, 0x9C, 0xD7, /* 0x7C-0x7F */ + + 0xBE, 0xAC, 0x9C, 0xD8, 0x9C, 0xD9, 0x9C, 0xDA, /* 0x80-0x83 */ + 0x9C, 0xDB, 0x9C, 0xDC, 0x9C, 0xDD, 0x9C, 0xDE, /* 0x84-0x87 */ + 0x9C, 0xDF, 0x9C, 0xE0, 0x9C, 0xE1, 0x9C, 0xE2, /* 0x88-0x8B */ + 0x9C, 0xE3, 0x9C, 0xE4, 0x9C, 0xE5, 0x9C, 0xE6, /* 0x8C-0x8F */ + 0x9C, 0xE7, 0x9C, 0xE8, 0x9C, 0xE9, 0x9C, 0xEA, /* 0x90-0x93 */ + 0xBE, 0xAD, 0x9C, 0xEB, 0x9C, 0xEC, 0x9C, 0xED, /* 0x94-0x97 */ + 0x9C, 0xEE, 0x9C, 0xEF, 0x9C, 0xF0, 0x9C, 0xF1, /* 0x98-0x9B */ + 0xBE, 0xAE, 0x9C, 0xF2, 0x9C, 0xF3, 0x9C, 0xF4, /* 0x9C-0x9F */ + 0x9C, 0xF5, 0x9C, 0xF6, 0x9C, 0xF7, 0x9C, 0xF8, /* 0xA0-0xA3 */ + 0x9C, 0xF9, 0x9C, 0xFA, 0x9C, 0xFB, 0x9C, 0xFC, /* 0xA4-0xA7 */ + 0x9C, 0xFD, 0x9C, 0xFE, 0x9D, 0x41, 0x9D, 0x42, /* 0xA8-0xAB */ + 0x9D, 0x43, 0x9D, 0x44, 0x9D, 0x45, 0x9D, 0x46, /* 0xAC-0xAF */ + 0x9D, 0x47, 0x9D, 0x48, 0x9D, 0x49, 0x9D, 0x4A, /* 0xB0-0xB3 */ + 0x9D, 0x4B, 0x9D, 0x4C, 0x9D, 0x4D, 0x9D, 0x4E, /* 0xB4-0xB7 */ + 0xBE, 0xAF, 0x9D, 0x4F, 0x9D, 0x50, 0x9D, 0x51, /* 0xB8-0xBB */ + 0xBE, 0xB0, 0x9D, 0x52, 0x9D, 0x53, 0x9D, 0x54, /* 0xBC-0xBF */ + 0x9D, 0x55, 0x9D, 0x56, 0x9D, 0x57, 0x9D, 0x58, /* 0xC0-0xC3 */ + 0x9D, 0x59, 0x9D, 0x5A, 0x9D, 0x61, 0x9D, 0x62, /* 0xC4-0xC7 */ + 0x9D, 0x63, 0x9D, 0x64, 0x9D, 0x65, 0x9D, 0x66, /* 0xC8-0xCB */ + 0x9D, 0x67, 0x9D, 0x68, 0x9D, 0x69, 0x9D, 0x6A, /* 0xCC-0xCF */ + 0x9D, 0x6B, 0x9D, 0x6C, 0x9D, 0x6D, 0x9D, 0x6E, /* 0xD0-0xD3 */ + 0x9D, 0x6F, 0x9D, 0x70, 0x9D, 0x71, 0x9D, 0x72, /* 0xD4-0xD7 */ + 0x9D, 0x73, 0x9D, 0x74, 0x9D, 0x75, 0x9D, 0x76, /* 0xD8-0xDB */ + 0x9D, 0x77, 0x9D, 0x78, 0x9D, 0x79, 0x9D, 0x7A, /* 0xDC-0xDF */ + 0x9D, 0x81, 0x9D, 0x82, 0x9D, 0x83, 0x9D, 0x84, /* 0xE0-0xE3 */ + 0x9D, 0x85, 0x9D, 0x86, 0x9D, 0x87, 0x9D, 0x88, /* 0xE4-0xE7 */ + 0x9D, 0x89, 0xBE, 0xB1, 0x9D, 0x8A, 0x9D, 0x8B, /* 0xE8-0xEB */ + 0x9D, 0x8C, 0x9D, 0x8D, 0x9D, 0x8E, 0x9D, 0x8F, /* 0xEC-0xEF */ + 0xBE, 0xB2, 0xBE, 0xB3, 0x9D, 0x90, 0x9D, 0x91, /* 0xF0-0xF3 */ + 0xBE, 0xB4, 0x9D, 0x92, 0x9D, 0x93, 0x9D, 0x94, /* 0xF4-0xF7 */ + 0xBE, 0xB5, 0x9D, 0x95, 0xBE, 0xB6, 0x9D, 0x96, /* 0xF8-0xFB */ + 0x9D, 0x97, 0x9D, 0x98, 0x9D, 0x99, 0xBE, 0xB7, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C5[512] = { + 0xBE, 0xB8, 0xBE, 0xB9, 0x9D, 0x9A, 0x9D, 0x9B, /* 0x00-0x03 */ + 0x9D, 0x9C, 0x9D, 0x9D, 0x9D, 0x9E, 0x9D, 0x9F, /* 0x04-0x07 */ + 0x9D, 0xA0, 0x9D, 0xA1, 0x9D, 0xA2, 0x9D, 0xA3, /* 0x08-0x0B */ + 0xBE, 0xBA, 0x9D, 0xA4, 0x9D, 0xA5, 0x9D, 0xA6, /* 0x0C-0x0F */ + 0xBE, 0xBB, 0x9D, 0xA7, 0x9D, 0xA8, 0x9D, 0xA9, /* 0x10-0x13 */ + 0xBE, 0xBC, 0x9D, 0xAA, 0x9D, 0xAB, 0x9D, 0xAC, /* 0x14-0x17 */ + 0x9D, 0xAD, 0x9D, 0xAE, 0x9D, 0xAF, 0x9D, 0xB0, /* 0x18-0x1B */ + 0xBE, 0xBD, 0x9D, 0xB1, 0x9D, 0xB2, 0x9D, 0xB3, /* 0x1C-0x1F */ + 0x9D, 0xB4, 0x9D, 0xB5, 0x9D, 0xB6, 0x9D, 0xB7, /* 0x20-0x23 */ + 0x9D, 0xB8, 0x9D, 0xB9, 0x9D, 0xBA, 0x9D, 0xBB, /* 0x24-0x27 */ + 0xBE, 0xBE, 0xBE, 0xBF, 0x9D, 0xBC, 0x9D, 0xBD, /* 0x28-0x2B */ + 0xBE, 0xC0, 0x9D, 0xBE, 0x9D, 0xBF, 0x9D, 0xC0, /* 0x2C-0x2F */ + 0xBE, 0xC1, 0x9D, 0xC1, 0x9D, 0xC2, 0x9D, 0xC3, /* 0x30-0x33 */ + 0x9D, 0xC4, 0x9D, 0xC5, 0x9D, 0xC6, 0x9D, 0xC7, /* 0x34-0x37 */ + 0xBE, 0xC2, 0xBE, 0xC3, 0x9D, 0xC8, 0xBE, 0xC4, /* 0x38-0x3B */ + 0x9D, 0xC9, 0xBE, 0xC5, 0x9D, 0xCA, 0x9D, 0xCB, /* 0x3C-0x3F */ + 0x9D, 0xCC, 0x9D, 0xCD, 0x9D, 0xCE, 0x9D, 0xCF, /* 0x40-0x43 */ + 0xBE, 0xC6, 0xBE, 0xC7, 0x9D, 0xD0, 0x9D, 0xD1, /* 0x44-0x47 */ + 0xBE, 0xC8, 0xBE, 0xC9, 0xBE, 0xCA, 0x9D, 0xD2, /* 0x48-0x4B */ + 0xBE, 0xCB, 0xBE, 0xCC, 0xBE, 0xCD, 0x9D, 0xD3, /* 0x4C-0x4F */ + 0x9D, 0xD4, 0x9D, 0xD5, 0x9D, 0xD6, 0xBE, 0xCE, /* 0x50-0x53 */ + 0xBE, 0xCF, 0xBE, 0xD0, 0x9D, 0xD7, 0xBE, 0xD1, /* 0x54-0x57 */ + 0xBE, 0xD2, 0xBE, 0xD3, 0x9D, 0xD8, 0x9D, 0xD9, /* 0x58-0x5B */ + 0x9D, 0xDA, 0xBE, 0xD4, 0xBE, 0xD5, 0x9D, 0xDB, /* 0x5C-0x5F */ + 0xBE, 0xD6, 0xBE, 0xD7, 0x9D, 0xDC, 0x9D, 0xDD, /* 0x60-0x63 */ + 0xBE, 0xD8, 0x9D, 0xDE, 0x9D, 0xDF, 0x9D, 0xE0, /* 0x64-0x67 */ + 0xBE, 0xD9, 0x9D, 0xE1, 0x9D, 0xE2, 0x9D, 0xE3, /* 0x68-0x6B */ + 0x9D, 0xE4, 0x9D, 0xE5, 0x9D, 0xE6, 0x9D, 0xE7, /* 0x6C-0x6F */ + 0xBE, 0xDA, 0xBE, 0xDB, 0x9D, 0xE8, 0xBE, 0xDC, /* 0x70-0x73 */ + 0xBE, 0xDD, 0xBE, 0xDE, 0x9D, 0xE9, 0x9D, 0xEA, /* 0x74-0x77 */ + 0x9D, 0xEB, 0x9D, 0xEC, 0x9D, 0xED, 0x9D, 0xEE, /* 0x78-0x7B */ + 0xBE, 0xDF, 0xBE, 0xE0, 0x9D, 0xEF, 0x9D, 0xF0, /* 0x7C-0x7F */ + + 0xBE, 0xE1, 0x9D, 0xF1, 0x9D, 0xF2, 0x9D, 0xF3, /* 0x80-0x83 */ + 0xBE, 0xE2, 0x9D, 0xF4, 0x9D, 0xF5, 0xBE, 0xE3, /* 0x84-0x87 */ + 0x9D, 0xF6, 0x9D, 0xF7, 0x9D, 0xF8, 0x9D, 0xF9, /* 0x88-0x8B */ + 0xBE, 0xE4, 0xBE, 0xE5, 0x9D, 0xFA, 0xBE, 0xE6, /* 0x8C-0x8F */ + 0x9D, 0xFB, 0xBE, 0xE7, 0x9D, 0xFC, 0x9D, 0xFD, /* 0x90-0x93 */ + 0x9D, 0xFE, 0xBE, 0xE8, 0x9E, 0x41, 0xBE, 0xE9, /* 0x94-0x97 */ + 0xBE, 0xEA, 0x9E, 0x42, 0x9E, 0x43, 0x9E, 0x44, /* 0x98-0x9B */ + 0xBE, 0xEB, 0x9E, 0x45, 0x9E, 0x46, 0x9E, 0x47, /* 0x9C-0x9F */ + 0xBE, 0xEC, 0x9E, 0x48, 0x9E, 0x49, 0x9E, 0x4A, /* 0xA0-0xA3 */ + 0x9E, 0x4B, 0x9E, 0x4C, 0x9E, 0x4D, 0x9E, 0x4E, /* 0xA4-0xA7 */ + 0x9E, 0x4F, 0xBE, 0xED, 0x9E, 0x50, 0x9E, 0x51, /* 0xA8-0xAB */ + 0x9E, 0x52, 0x9E, 0x53, 0x9E, 0x54, 0x9E, 0x55, /* 0xAC-0xAF */ + 0x9E, 0x56, 0x9E, 0x57, 0x9E, 0x58, 0x9E, 0x59, /* 0xB0-0xB3 */ + 0xBE, 0xEE, 0xBE, 0xEF, 0x9E, 0x5A, 0x9E, 0x61, /* 0xB4-0xB7 */ + 0xBE, 0xF0, 0xBE, 0xF1, 0x9E, 0x62, 0xBE, 0xF2, /* 0xB8-0xBB */ + 0xBE, 0xF3, 0xBE, 0xF4, 0xBE, 0xF5, 0x9E, 0x63, /* 0xBC-0xBF */ + 0x9E, 0x64, 0x9E, 0x65, 0x9E, 0x66, 0x9E, 0x67, /* 0xC0-0xC3 */ + 0xBE, 0xF6, 0xBE, 0xF7, 0xBE, 0xF8, 0xBE, 0xF9, /* 0xC4-0xC7 */ + 0xBE, 0xFA, 0xBE, 0xFB, 0xBE, 0xFC, 0x9E, 0x68, /* 0xC8-0xCB */ + 0xBE, 0xFD, 0x9E, 0x69, 0xBE, 0xFE, 0x9E, 0x6A, /* 0xCC-0xCF */ + 0xBF, 0xA1, 0xBF, 0xA2, 0x9E, 0x6B, 0x9E, 0x6C, /* 0xD0-0xD3 */ + 0xBF, 0xA3, 0x9E, 0x6D, 0x9E, 0x6E, 0x9E, 0x6F, /* 0xD4-0xD7 */ + 0xBF, 0xA4, 0x9E, 0x70, 0x9E, 0x71, 0x9E, 0x72, /* 0xD8-0xDB */ + 0x9E, 0x73, 0x9E, 0x74, 0x9E, 0x75, 0x9E, 0x76, /* 0xDC-0xDF */ + 0xBF, 0xA5, 0xBF, 0xA6, 0x9E, 0x77, 0xBF, 0xA7, /* 0xE0-0xE3 */ + 0x9E, 0x78, 0xBF, 0xA8, 0x9E, 0x79, 0x9E, 0x7A, /* 0xE4-0xE7 */ + 0x9E, 0x81, 0x9E, 0x82, 0x9E, 0x83, 0x9E, 0x84, /* 0xE8-0xEB */ + 0xBF, 0xA9, 0xBF, 0xAA, 0xBF, 0xAB, 0x9E, 0x85, /* 0xEC-0xEF */ + 0xBF, 0xAC, 0x9E, 0x86, 0x9E, 0x87, 0x9E, 0x88, /* 0xF0-0xF3 */ + 0xBF, 0xAD, 0x9E, 0x89, 0xBF, 0xAE, 0xBF, 0xAF, /* 0xF4-0xF7 */ + 0x9E, 0x8A, 0x9E, 0x8B, 0x9E, 0x8C, 0x9E, 0x8D, /* 0xF8-0xFB */ + 0xBF, 0xB0, 0xBF, 0xB1, 0xBF, 0xB2, 0xBF, 0xB3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C6[512] = { + 0xBF, 0xB4, 0xBF, 0xB5, 0x9E, 0x8E, 0x9E, 0x8F, /* 0x00-0x03 */ + 0x9E, 0x90, 0xBF, 0xB6, 0xBF, 0xB7, 0xBF, 0xB8, /* 0x04-0x07 */ + 0xBF, 0xB9, 0x9E, 0x91, 0x9E, 0x92, 0x9E, 0x93, /* 0x08-0x0B */ + 0xBF, 0xBA, 0x9E, 0x94, 0x9E, 0x95, 0x9E, 0x96, /* 0x0C-0x0F */ + 0xBF, 0xBB, 0x9E, 0x97, 0x9E, 0x98, 0x9E, 0x99, /* 0x10-0x13 */ + 0x9E, 0x9A, 0x9E, 0x9B, 0x9E, 0x9C, 0x9E, 0x9D, /* 0x14-0x17 */ + 0xBF, 0xBC, 0xBF, 0xBD, 0x9E, 0x9E, 0xBF, 0xBE, /* 0x18-0x1B */ + 0xBF, 0xBF, 0x9E, 0x9F, 0x9E, 0xA0, 0x9E, 0xA1, /* 0x1C-0x1F */ + 0x9E, 0xA2, 0x9E, 0xA3, 0x9E, 0xA4, 0x9E, 0xA5, /* 0x20-0x23 */ + 0xBF, 0xC0, 0xBF, 0xC1, 0x9E, 0xA6, 0x9E, 0xA7, /* 0x24-0x27 */ + 0xBF, 0xC2, 0x9E, 0xA8, 0x9E, 0xA9, 0x9E, 0xAA, /* 0x28-0x2B */ + 0xBF, 0xC3, 0xBF, 0xC4, 0xBF, 0xC5, 0x9E, 0xAB, /* 0x2C-0x2F */ + 0xBF, 0xC6, 0x9E, 0xAC, 0x9E, 0xAD, 0xBF, 0xC7, /* 0x30-0x33 */ + 0xBF, 0xC8, 0xBF, 0xC9, 0x9E, 0xAE, 0xBF, 0xCA, /* 0x34-0x37 */ + 0x9E, 0xAF, 0xBF, 0xCB, 0x9E, 0xB0, 0xBF, 0xCC, /* 0x38-0x3B */ + 0x9E, 0xB1, 0x9E, 0xB2, 0x9E, 0xB3, 0x9E, 0xB4, /* 0x3C-0x3F */ + 0xBF, 0xCD, 0xBF, 0xCE, 0x9E, 0xB5, 0x9E, 0xB6, /* 0x40-0x43 */ + 0xBF, 0xCF, 0x9E, 0xB7, 0x9E, 0xB8, 0x9E, 0xB9, /* 0x44-0x47 */ + 0xBF, 0xD0, 0x9E, 0xBA, 0x9E, 0xBB, 0x9E, 0xBC, /* 0x48-0x4B */ + 0x9E, 0xBD, 0x9E, 0xBE, 0x9E, 0xBF, 0x9E, 0xC0, /* 0x4C-0x4F */ + 0xBF, 0xD1, 0xBF, 0xD2, 0x9E, 0xC1, 0xBF, 0xD3, /* 0x50-0x53 */ + 0xBF, 0xD4, 0xBF, 0xD5, 0x9E, 0xC2, 0x9E, 0xC3, /* 0x54-0x57 */ + 0x9E, 0xC4, 0x9E, 0xC5, 0x9E, 0xC6, 0x9E, 0xC7, /* 0x58-0x5B */ + 0xBF, 0xD6, 0xBF, 0xD7, 0x9E, 0xC8, 0x9E, 0xC9, /* 0x5C-0x5F */ + 0xBF, 0xD8, 0x9E, 0xCA, 0x9E, 0xCB, 0x9E, 0xCC, /* 0x60-0x63 */ + 0x9E, 0xCD, 0x9E, 0xCE, 0x9E, 0xCF, 0x9E, 0xD0, /* 0x64-0x67 */ + 0x9E, 0xD1, 0x9E, 0xD2, 0x9E, 0xD3, 0x9E, 0xD4, /* 0x68-0x6B */ + 0xBF, 0xD9, 0x9E, 0xD5, 0x9E, 0xD6, 0xBF, 0xDA, /* 0x6C-0x6F */ + 0x9E, 0xD7, 0xBF, 0xDB, 0x9E, 0xD8, 0x9E, 0xD9, /* 0x70-0x73 */ + 0x9E, 0xDA, 0x9E, 0xDB, 0x9E, 0xDC, 0x9E, 0xDD, /* 0x74-0x77 */ + 0xBF, 0xDC, 0xBF, 0xDD, 0x9E, 0xDE, 0x9E, 0xDF, /* 0x78-0x7B */ + 0xBF, 0xDE, 0x9E, 0xE0, 0x9E, 0xE1, 0x9E, 0xE2, /* 0x7C-0x7F */ + + 0xBF, 0xDF, 0x9E, 0xE3, 0x9E, 0xE4, 0x9E, 0xE5, /* 0x80-0x83 */ + 0x9E, 0xE6, 0x9E, 0xE7, 0x9E, 0xE8, 0x9E, 0xE9, /* 0x84-0x87 */ + 0xBF, 0xE0, 0xBF, 0xE1, 0x9E, 0xEA, 0xBF, 0xE2, /* 0x88-0x8B */ + 0x9E, 0xEB, 0xBF, 0xE3, 0x9E, 0xEC, 0x9E, 0xED, /* 0x8C-0x8F */ + 0x9E, 0xEE, 0x9E, 0xEF, 0x9E, 0xF0, 0x9E, 0xF1, /* 0x90-0x93 */ + 0xBF, 0xE4, 0xBF, 0xE5, 0x9E, 0xF2, 0x9E, 0xF3, /* 0x94-0x97 */ + 0xBF, 0xE6, 0x9E, 0xF4, 0x9E, 0xF5, 0x9E, 0xF6, /* 0x98-0x9B */ + 0xBF, 0xE7, 0x9E, 0xF7, 0x9E, 0xF8, 0x9E, 0xF9, /* 0x9C-0x9F */ + 0x9E, 0xFA, 0x9E, 0xFB, 0x9E, 0xFC, 0x9E, 0xFD, /* 0xA0-0xA3 */ + 0xBF, 0xE8, 0xBF, 0xE9, 0x9E, 0xFE, 0xBF, 0xEA, /* 0xA4-0xA7 */ + 0x9F, 0x41, 0xBF, 0xEB, 0x9F, 0x42, 0x9F, 0x43, /* 0xA8-0xAB */ + 0x9F, 0x44, 0x9F, 0x45, 0x9F, 0x46, 0x9F, 0x47, /* 0xAC-0xAF */ + 0xBF, 0xEC, 0xBF, 0xED, 0x9F, 0x48, 0x9F, 0x49, /* 0xB0-0xB3 */ + 0xBF, 0xEE, 0x9F, 0x4A, 0x9F, 0x4B, 0x9F, 0x4C, /* 0xB4-0xB7 */ + 0xBF, 0xEF, 0xBF, 0xF0, 0xBF, 0xF1, 0x9F, 0x4D, /* 0xB8-0xBB */ + 0x9F, 0x4E, 0x9F, 0x4F, 0x9F, 0x50, 0x9F, 0x51, /* 0xBC-0xBF */ + 0xBF, 0xF2, 0xBF, 0xF3, 0x9F, 0x52, 0xBF, 0xF4, /* 0xC0-0xC3 */ + 0x9F, 0x53, 0xBF, 0xF5, 0x9F, 0x54, 0x9F, 0x55, /* 0xC4-0xC7 */ + 0x9F, 0x56, 0x9F, 0x57, 0x9F, 0x58, 0x9F, 0x59, /* 0xC8-0xCB */ + 0xBF, 0xF6, 0xBF, 0xF7, 0x9F, 0x5A, 0x9F, 0x61, /* 0xCC-0xCF */ + 0xBF, 0xF8, 0x9F, 0x62, 0x9F, 0x63, 0x9F, 0x64, /* 0xD0-0xD3 */ + 0xBF, 0xF9, 0x9F, 0x65, 0x9F, 0x66, 0x9F, 0x67, /* 0xD4-0xD7 */ + 0x9F, 0x68, 0x9F, 0x69, 0x9F, 0x6A, 0x9F, 0x6B, /* 0xD8-0xDB */ + 0xBF, 0xFA, 0xBF, 0xFB, 0x9F, 0x6C, 0x9F, 0x6D, /* 0xDC-0xDF */ + 0xBF, 0xFC, 0xBF, 0xFD, 0x9F, 0x6E, 0x9F, 0x6F, /* 0xE0-0xE3 */ + 0x9F, 0x70, 0x9F, 0x71, 0x9F, 0x72, 0x9F, 0x73, /* 0xE4-0xE7 */ + 0xBF, 0xFE, 0xC0, 0xA1, 0x9F, 0x74, 0x9F, 0x75, /* 0xE8-0xEB */ + 0xC0, 0xA2, 0x9F, 0x76, 0x9F, 0x77, 0x9F, 0x78, /* 0xEC-0xEF */ + 0xC0, 0xA3, 0x9F, 0x79, 0x9F, 0x7A, 0x9F, 0x81, /* 0xF0-0xF3 */ + 0x9F, 0x82, 0x9F, 0x83, 0x9F, 0x84, 0x9F, 0x85, /* 0xF4-0xF7 */ + 0xC0, 0xA4, 0xC0, 0xA5, 0x9F, 0x86, 0x9F, 0x87, /* 0xF8-0xFB */ + 0x9F, 0x88, 0xC0, 0xA6, 0x9F, 0x89, 0x9F, 0x8A, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C7[512] = { + 0x9F, 0x8B, 0x9F, 0x8C, 0x9F, 0x8D, 0x9F, 0x8E, /* 0x00-0x03 */ + 0xC0, 0xA7, 0xC0, 0xA8, 0x9F, 0x8F, 0x9F, 0x90, /* 0x04-0x07 */ + 0xC0, 0xA9, 0x9F, 0x91, 0x9F, 0x92, 0x9F, 0x93, /* 0x08-0x0B */ + 0xC0, 0xAA, 0x9F, 0x94, 0x9F, 0x95, 0x9F, 0x96, /* 0x0C-0x0F */ + 0x9F, 0x97, 0x9F, 0x98, 0x9F, 0x99, 0x9F, 0x9A, /* 0x10-0x13 */ + 0xC0, 0xAB, 0xC0, 0xAC, 0x9F, 0x9B, 0xC0, 0xAD, /* 0x14-0x17 */ + 0x9F, 0x9C, 0xC0, 0xAE, 0x9F, 0x9D, 0x9F, 0x9E, /* 0x18-0x1B */ + 0x9F, 0x9F, 0x9F, 0xA0, 0x9F, 0xA1, 0x9F, 0xA2, /* 0x1C-0x1F */ + 0xC0, 0xAF, 0xC0, 0xB0, 0x9F, 0xA3, 0x9F, 0xA4, /* 0x20-0x23 */ + 0xC0, 0xB1, 0x9F, 0xA5, 0x9F, 0xA6, 0x9F, 0xA7, /* 0x24-0x27 */ + 0xC0, 0xB2, 0x9F, 0xA8, 0x9F, 0xA9, 0x9F, 0xAA, /* 0x28-0x2B */ + 0x9F, 0xAB, 0x9F, 0xAC, 0x9F, 0xAD, 0x9F, 0xAE, /* 0x2C-0x2F */ + 0xC0, 0xB3, 0xC0, 0xB4, 0x9F, 0xAF, 0xC0, 0xB5, /* 0x30-0x33 */ + 0x9F, 0xB0, 0xC0, 0xB6, 0x9F, 0xB1, 0xC0, 0xB7, /* 0x34-0x37 */ + 0x9F, 0xB2, 0x9F, 0xB3, 0x9F, 0xB4, 0x9F, 0xB5, /* 0x38-0x3B */ + 0xC0, 0xB8, 0xC0, 0xB9, 0x9F, 0xB6, 0x9F, 0xB7, /* 0x3C-0x3F */ + 0xC0, 0xBA, 0x9F, 0xB8, 0x9F, 0xB9, 0x9F, 0xBA, /* 0x40-0x43 */ + 0xC0, 0xBB, 0x9F, 0xBB, 0x9F, 0xBC, 0x9F, 0xBD, /* 0x44-0x47 */ + 0x9F, 0xBE, 0x9F, 0xBF, 0xC0, 0xBC, 0x9F, 0xC0, /* 0x48-0x4B */ + 0xC0, 0xBD, 0xC0, 0xBE, 0x9F, 0xC1, 0xC0, 0xBF, /* 0x4C-0x4F */ + 0x9F, 0xC2, 0xC0, 0xC0, 0xC0, 0xC1, 0xC0, 0xC2, /* 0x50-0x53 */ + 0xC0, 0xC3, 0xC0, 0xC4, 0xC0, 0xC5, 0xC0, 0xC6, /* 0x54-0x57 */ + 0xC0, 0xC7, 0x9F, 0xC3, 0x9F, 0xC4, 0x9F, 0xC5, /* 0x58-0x5B */ + 0xC0, 0xC8, 0x9F, 0xC6, 0x9F, 0xC7, 0x9F, 0xC8, /* 0x5C-0x5F */ + 0xC0, 0xC9, 0x9F, 0xC9, 0x9F, 0xCA, 0x9F, 0xCB, /* 0x60-0x63 */ + 0x9F, 0xCC, 0x9F, 0xCD, 0x9F, 0xCE, 0x9F, 0xCF, /* 0x64-0x67 */ + 0xC0, 0xCA, 0x9F, 0xD0, 0x9F, 0xD1, 0xC0, 0xCB, /* 0x68-0x6B */ + 0x9F, 0xD2, 0x9F, 0xD3, 0x9F, 0xD4, 0x9F, 0xD5, /* 0x6C-0x6F */ + 0x9F, 0xD6, 0x9F, 0xD7, 0x9F, 0xD8, 0x9F, 0xD9, /* 0x70-0x73 */ + 0xC0, 0xCC, 0xC0, 0xCD, 0x9F, 0xDA, 0x9F, 0xDB, /* 0x74-0x77 */ + 0xC0, 0xCE, 0x9F, 0xDC, 0x9F, 0xDD, 0x9F, 0xDE, /* 0x78-0x7B */ + 0xC0, 0xCF, 0xC0, 0xD0, 0xC0, 0xD1, 0x9F, 0xDF, /* 0x7C-0x7F */ + + 0x9F, 0xE0, 0x9F, 0xE1, 0x9F, 0xE2, 0xC0, 0xD2, /* 0x80-0x83 */ + 0xC0, 0xD3, 0xC0, 0xD4, 0x9F, 0xE3, 0xC0, 0xD5, /* 0x84-0x87 */ + 0xC0, 0xD6, 0xC0, 0xD7, 0xC0, 0xD8, 0x9F, 0xE4, /* 0x88-0x8B */ + 0x9F, 0xE5, 0x9F, 0xE6, 0xC0, 0xD9, 0x9F, 0xE7, /* 0x8C-0x8F */ + 0xC0, 0xDA, 0xC0, 0xDB, 0x9F, 0xE8, 0x9F, 0xE9, /* 0x90-0x93 */ + 0xC0, 0xDC, 0x9F, 0xEA, 0xC0, 0xDD, 0xC0, 0xDE, /* 0x94-0x97 */ + 0xC0, 0xDF, 0x9F, 0xEB, 0xC0, 0xE0, 0x9F, 0xEC, /* 0x98-0x9B */ + 0x9F, 0xED, 0x9F, 0xEE, 0x9F, 0xEF, 0x9F, 0xF0, /* 0x9C-0x9F */ + 0xC0, 0xE1, 0xC0, 0xE2, 0x9F, 0xF1, 0xC0, 0xE3, /* 0xA0-0xA3 */ + 0xC0, 0xE4, 0xC0, 0xE5, 0xC0, 0xE6, 0x9F, 0xF2, /* 0xA4-0xA7 */ + 0x9F, 0xF3, 0x9F, 0xF4, 0x9F, 0xF5, 0x9F, 0xF6, /* 0xA8-0xAB */ + 0xC0, 0xE7, 0xC0, 0xE8, 0x9F, 0xF7, 0x9F, 0xF8, /* 0xAC-0xAF */ + 0xC0, 0xE9, 0x9F, 0xF9, 0x9F, 0xFA, 0x9F, 0xFB, /* 0xB0-0xB3 */ + 0xC0, 0xEA, 0x9F, 0xFC, 0x9F, 0xFD, 0x9F, 0xFE, /* 0xB4-0xB7 */ + 0xA0, 0x41, 0xA0, 0x42, 0xA0, 0x43, 0xA0, 0x44, /* 0xB8-0xBB */ + 0xC0, 0xEB, 0xC0, 0xEC, 0xA0, 0x45, 0xC0, 0xED, /* 0xBC-0xBF */ + 0xC0, 0xEE, 0xC0, 0xEF, 0xA0, 0x46, 0xA0, 0x47, /* 0xC0-0xC3 */ + 0xA0, 0x48, 0xA0, 0x49, 0xA0, 0x4A, 0xA0, 0x4B, /* 0xC4-0xC7 */ + 0xC0, 0xF0, 0xC0, 0xF1, 0xA0, 0x4C, 0xA0, 0x4D, /* 0xC8-0xCB */ + 0xC0, 0xF2, 0xA0, 0x4E, 0xC0, 0xF3, 0xA0, 0x4F, /* 0xCC-0xCF */ + 0xC0, 0xF4, 0xA0, 0x50, 0xA0, 0x51, 0xA0, 0x52, /* 0xD0-0xD3 */ + 0xA0, 0x53, 0xA0, 0x54, 0xA0, 0x55, 0xA0, 0x56, /* 0xD4-0xD7 */ + 0xC0, 0xF5, 0xA0, 0x57, 0xA0, 0x58, 0xA0, 0x59, /* 0xD8-0xDB */ + 0xA0, 0x5A, 0xC0, 0xF6, 0xA0, 0x61, 0xA0, 0x62, /* 0xDC-0xDF */ + 0xA0, 0x63, 0xA0, 0x64, 0xA0, 0x65, 0xA0, 0x66, /* 0xE0-0xE3 */ + 0xC0, 0xF7, 0xA0, 0x67, 0xA0, 0x68, 0xA0, 0x69, /* 0xE4-0xE7 */ + 0xC0, 0xF8, 0xA0, 0x6A, 0xA0, 0x6B, 0xA0, 0x6C, /* 0xE8-0xEB */ + 0xC0, 0xF9, 0xA0, 0x6D, 0xA0, 0x6E, 0xA0, 0x6F, /* 0xEC-0xEF */ + 0xA0, 0x70, 0xA0, 0x71, 0xA0, 0x72, 0xA0, 0x73, /* 0xF0-0xF3 */ + 0xA0, 0x74, 0xA0, 0x75, 0xA0, 0x76, 0xA0, 0x77, /* 0xF4-0xF7 */ + 0xA0, 0x78, 0xA0, 0x79, 0xA0, 0x7A, 0xA0, 0x81, /* 0xF8-0xFB */ + 0xA0, 0x82, 0xA0, 0x83, 0xA0, 0x84, 0xA0, 0x85, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C8[512] = { + 0xC0, 0xFA, 0xC0, 0xFB, 0xA0, 0x86, 0xA0, 0x87, /* 0x00-0x03 */ + 0xC0, 0xFC, 0xA0, 0x88, 0xA0, 0x89, 0xA0, 0x8A, /* 0x04-0x07 */ + 0xC0, 0xFD, 0xA0, 0x8B, 0xC0, 0xFE, 0xA0, 0x8C, /* 0x08-0x0B */ + 0xA0, 0x8D, 0xA0, 0x8E, 0xA0, 0x8F, 0xA0, 0x90, /* 0x0C-0x0F */ + 0xC1, 0xA1, 0xC1, 0xA2, 0xA0, 0x91, 0xC1, 0xA3, /* 0x10-0x13 */ + 0xA0, 0x92, 0xC1, 0xA4, 0xC1, 0xA5, 0xA0, 0x93, /* 0x14-0x17 */ + 0xA0, 0x94, 0xA0, 0x95, 0xA0, 0x96, 0xA0, 0x97, /* 0x18-0x1B */ + 0xC1, 0xA6, 0xC1, 0xA7, 0xA0, 0x98, 0xA0, 0x99, /* 0x1C-0x1F */ + 0xC1, 0xA8, 0xA0, 0x9A, 0xA0, 0x9B, 0xA0, 0x9C, /* 0x20-0x23 */ + 0xC1, 0xA9, 0xA0, 0x9D, 0xA0, 0x9E, 0xA0, 0x9F, /* 0x24-0x27 */ + 0xA0, 0xA0, 0xA0, 0xA1, 0xA0, 0xA2, 0xA0, 0xA3, /* 0x28-0x2B */ + 0xC1, 0xAA, 0xC1, 0xAB, 0xA0, 0xA4, 0xC1, 0xAC, /* 0x2C-0x2F */ + 0xA0, 0xA5, 0xC1, 0xAD, 0xA0, 0xA6, 0xA0, 0xA7, /* 0x30-0x33 */ + 0xA0, 0xA8, 0xA0, 0xA9, 0xA0, 0xAA, 0xA0, 0xAB, /* 0x34-0x37 */ + 0xC1, 0xAE, 0xA0, 0xAC, 0xA0, 0xAD, 0xA0, 0xAE, /* 0x38-0x3B */ + 0xC1, 0xAF, 0xA0, 0xAF, 0xA0, 0xB0, 0xA0, 0xB1, /* 0x3C-0x3F */ + 0xC1, 0xB0, 0xA0, 0xB2, 0xA0, 0xB3, 0xA0, 0xB4, /* 0x40-0x43 */ + 0xA0, 0xB5, 0xA0, 0xB6, 0xA0, 0xB7, 0xA0, 0xB8, /* 0x44-0x47 */ + 0xC1, 0xB1, 0xC1, 0xB2, 0xA0, 0xB9, 0xA0, 0xBA, /* 0x48-0x4B */ + 0xC1, 0xB3, 0xC1, 0xB4, 0xA0, 0xBB, 0xA0, 0xBC, /* 0x4C-0x4F */ + 0xA0, 0xBD, 0xA0, 0xBE, 0xA0, 0xBF, 0xA0, 0xC0, /* 0x50-0x53 */ + 0xC1, 0xB5, 0xA0, 0xC1, 0xA0, 0xC2, 0xA0, 0xC3, /* 0x54-0x57 */ + 0xA0, 0xC4, 0xA0, 0xC5, 0xA0, 0xC6, 0xA0, 0xC7, /* 0x58-0x5B */ + 0xA0, 0xC8, 0xA0, 0xC9, 0xA0, 0xCA, 0xA0, 0xCB, /* 0x5C-0x5F */ + 0xA0, 0xCC, 0xA0, 0xCD, 0xA0, 0xCE, 0xA0, 0xCF, /* 0x60-0x63 */ + 0xA0, 0xD0, 0xA0, 0xD1, 0xA0, 0xD2, 0xA0, 0xD3, /* 0x64-0x67 */ + 0xA0, 0xD4, 0xA0, 0xD5, 0xA0, 0xD6, 0xA0, 0xD7, /* 0x68-0x6B */ + 0xA0, 0xD8, 0xA0, 0xD9, 0xA0, 0xDA, 0xA0, 0xDB, /* 0x6C-0x6F */ + 0xC1, 0xB6, 0xC1, 0xB7, 0xA0, 0xDC, 0xA0, 0xDD, /* 0x70-0x73 */ + 0xC1, 0xB8, 0xA0, 0xDE, 0xA0, 0xDF, 0xA0, 0xE0, /* 0x74-0x77 */ + 0xC1, 0xB9, 0xA0, 0xE1, 0xC1, 0xBA, 0xA0, 0xE2, /* 0x78-0x7B */ + 0xA0, 0xE3, 0xA0, 0xE4, 0xA0, 0xE5, 0xA0, 0xE6, /* 0x7C-0x7F */ + + 0xC1, 0xBB, 0xC1, 0xBC, 0xA0, 0xE7, 0xC1, 0xBD, /* 0x80-0x83 */ + 0xA0, 0xE8, 0xC1, 0xBE, 0xC1, 0xBF, 0xC1, 0xC0, /* 0x84-0x87 */ + 0xA0, 0xE9, 0xA0, 0xEA, 0xA0, 0xEB, 0xC1, 0xC1, /* 0x88-0x8B */ + 0xC1, 0xC2, 0xC1, 0xC3, 0xA0, 0xEC, 0xA0, 0xED, /* 0x8C-0x8F */ + 0xA0, 0xEE, 0xA0, 0xEF, 0xA0, 0xF0, 0xA0, 0xF1, /* 0x90-0x93 */ + 0xC1, 0xC4, 0xA0, 0xF2, 0xA0, 0xF3, 0xA0, 0xF4, /* 0x94-0x97 */ + 0xA0, 0xF5, 0xA0, 0xF6, 0xA0, 0xF7, 0xA0, 0xF8, /* 0x98-0x9B */ + 0xA0, 0xF9, 0xC1, 0xC5, 0xA0, 0xFA, 0xC1, 0xC6, /* 0x9C-0x9F */ + 0xA0, 0xFB, 0xC1, 0xC7, 0xA0, 0xFC, 0xA0, 0xFD, /* 0xA0-0xA3 */ + 0xA0, 0xFE, 0xA1, 0x41, 0xA1, 0x42, 0xA1, 0x43, /* 0xA4-0xA7 */ + 0xC1, 0xC8, 0xA1, 0x44, 0xA1, 0x45, 0xA1, 0x46, /* 0xA8-0xAB */ + 0xA1, 0x47, 0xA1, 0x48, 0xA1, 0x49, 0xA1, 0x4A, /* 0xAC-0xAF */ + 0xA1, 0x4B, 0xA1, 0x4C, 0xA1, 0x4D, 0xA1, 0x4E, /* 0xB0-0xB3 */ + 0xA1, 0x4F, 0xA1, 0x50, 0xA1, 0x51, 0xA1, 0x52, /* 0xB4-0xB7 */ + 0xA1, 0x53, 0xA1, 0x54, 0xA1, 0x55, 0xA1, 0x56, /* 0xB8-0xBB */ + 0xC1, 0xC9, 0xC1, 0xCA, 0xA1, 0x57, 0xA1, 0x58, /* 0xBC-0xBF */ + 0xA1, 0x59, 0xA1, 0x5A, 0xA1, 0x61, 0xA1, 0x62, /* 0xC0-0xC3 */ + 0xC1, 0xCB, 0xA1, 0x63, 0xA1, 0x64, 0xA1, 0x65, /* 0xC4-0xC7 */ + 0xC1, 0xCC, 0xA1, 0x66, 0xA1, 0x67, 0xA1, 0x68, /* 0xC8-0xCB */ + 0xC1, 0xCD, 0xA1, 0x69, 0xA1, 0x6A, 0xA1, 0x6B, /* 0xCC-0xCF */ + 0xA1, 0x6C, 0xA1, 0x6D, 0xA1, 0x6E, 0xA1, 0x6F, /* 0xD0-0xD3 */ + 0xC1, 0xCE, 0xC1, 0xCF, 0xA1, 0x70, 0xC1, 0xD0, /* 0xD4-0xD7 */ + 0xA1, 0x71, 0xC1, 0xD1, 0xA1, 0x72, 0xA1, 0x73, /* 0xD8-0xDB */ + 0xA1, 0x74, 0xA1, 0x75, 0xA1, 0x76, 0xA1, 0x77, /* 0xDC-0xDF */ + 0xC1, 0xD2, 0xC1, 0xD3, 0xA1, 0x78, 0xA1, 0x79, /* 0xE0-0xE3 */ + 0xC1, 0xD4, 0xA1, 0x7A, 0xA1, 0x81, 0xA1, 0x82, /* 0xE4-0xE7 */ + 0xA1, 0x83, 0xA1, 0x84, 0xA1, 0x85, 0xA1, 0x86, /* 0xE8-0xEB */ + 0xA1, 0x87, 0xA1, 0x88, 0xA1, 0x89, 0xA1, 0x8A, /* 0xEC-0xEF */ + 0xA1, 0x8B, 0xA1, 0x8C, 0xA1, 0x8D, 0xA1, 0x8E, /* 0xF0-0xF3 */ + 0xA1, 0x8F, 0xC1, 0xD5, 0xA1, 0x90, 0xA1, 0x91, /* 0xF4-0xF7 */ + 0xA1, 0x92, 0xA1, 0x93, 0xA1, 0x94, 0xA1, 0x95, /* 0xF8-0xFB */ + 0xC1, 0xD6, 0xC1, 0xD7, 0xA1, 0x96, 0xA1, 0x97, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_C9[512] = { + 0xC1, 0xD8, 0xA1, 0x98, 0xA1, 0x99, 0xA1, 0x9A, /* 0x00-0x03 */ + 0xC1, 0xD9, 0xC1, 0xDA, 0xC1, 0xDB, 0xA1, 0x9B, /* 0x04-0x07 */ + 0xA1, 0x9C, 0xA1, 0x9D, 0xA1, 0x9E, 0xA1, 0x9F, /* 0x08-0x0B */ + 0xC1, 0xDC, 0xC1, 0xDD, 0xA1, 0xA0, 0xC1, 0xDE, /* 0x0C-0x0F */ + 0xA2, 0x41, 0xC1, 0xDF, 0xA2, 0x42, 0xA2, 0x43, /* 0x10-0x13 */ + 0xA2, 0x44, 0xA2, 0x45, 0xA2, 0x46, 0xA2, 0x47, /* 0x14-0x17 */ + 0xC1, 0xE0, 0xA2, 0x48, 0xA2, 0x49, 0xA2, 0x4A, /* 0x18-0x1B */ + 0xA2, 0x4B, 0xA2, 0x4C, 0xA2, 0x4D, 0xA2, 0x4E, /* 0x1C-0x1F */ + 0xA2, 0x4F, 0xA2, 0x50, 0xA2, 0x51, 0xA2, 0x52, /* 0x20-0x23 */ + 0xA2, 0x53, 0xA2, 0x54, 0xA2, 0x55, 0xA2, 0x56, /* 0x24-0x27 */ + 0xA2, 0x57, 0xA2, 0x58, 0xA2, 0x59, 0xA2, 0x5A, /* 0x28-0x2B */ + 0xC1, 0xE1, 0xA2, 0x61, 0xA2, 0x62, 0xA2, 0x63, /* 0x2C-0x2F */ + 0xA2, 0x64, 0xA2, 0x65, 0xA2, 0x66, 0xA2, 0x67, /* 0x30-0x33 */ + 0xC1, 0xE2, 0xA2, 0x68, 0xA2, 0x69, 0xA2, 0x6A, /* 0x34-0x37 */ + 0xA2, 0x6B, 0xA2, 0x6C, 0xA2, 0x6D, 0xA2, 0x6E, /* 0x38-0x3B */ + 0xA2, 0x6F, 0xA2, 0x70, 0xA2, 0x71, 0xA2, 0x72, /* 0x3C-0x3F */ + 0xA2, 0x73, 0xA2, 0x74, 0xA2, 0x75, 0xA2, 0x76, /* 0x40-0x43 */ + 0xA2, 0x77, 0xA2, 0x78, 0xA2, 0x79, 0xA2, 0x7A, /* 0x44-0x47 */ + 0xA2, 0x81, 0xA2, 0x82, 0xA2, 0x83, 0xA2, 0x84, /* 0x48-0x4B */ + 0xA2, 0x85, 0xA2, 0x86, 0xA2, 0x87, 0xA2, 0x88, /* 0x4C-0x4F */ + 0xC1, 0xE3, 0xC1, 0xE4, 0xA2, 0x89, 0xA2, 0x8A, /* 0x50-0x53 */ + 0xC1, 0xE5, 0xA2, 0x8B, 0xA2, 0x8C, 0xA2, 0x8D, /* 0x54-0x57 */ + 0xC1, 0xE6, 0xA2, 0x8E, 0xA2, 0x8F, 0xA2, 0x90, /* 0x58-0x5B */ + 0xA2, 0x91, 0xA2, 0x92, 0xA2, 0x93, 0xA2, 0x94, /* 0x5C-0x5F */ + 0xC1, 0xE7, 0xC1, 0xE8, 0xA2, 0x95, 0xC1, 0xE9, /* 0x60-0x63 */ + 0xA2, 0x96, 0xA2, 0x97, 0xA2, 0x98, 0xA2, 0x99, /* 0x64-0x67 */ + 0xA2, 0x9A, 0xA2, 0x9B, 0xA2, 0x9C, 0xA2, 0x9D, /* 0x68-0x6B */ + 0xC1, 0xEA, 0xA2, 0x9E, 0xA2, 0x9F, 0xA2, 0xA0, /* 0x6C-0x6F */ + 0xC1, 0xEB, 0xA3, 0x41, 0xA3, 0x42, 0xA3, 0x43, /* 0x70-0x73 */ + 0xC1, 0xEC, 0xA3, 0x44, 0xA3, 0x45, 0xA3, 0x46, /* 0x74-0x77 */ + 0xA3, 0x47, 0xA3, 0x48, 0xA3, 0x49, 0xA3, 0x4A, /* 0x78-0x7B */ + 0xC1, 0xED, 0xA3, 0x4B, 0xA3, 0x4C, 0xA3, 0x4D, /* 0x7C-0x7F */ + + 0xA3, 0x4E, 0xA3, 0x4F, 0xA3, 0x50, 0xA3, 0x51, /* 0x80-0x83 */ + 0xA3, 0x52, 0xA3, 0x53, 0xA3, 0x54, 0xA3, 0x55, /* 0x84-0x87 */ + 0xC1, 0xEE, 0xC1, 0xEF, 0xA3, 0x56, 0xA3, 0x57, /* 0x88-0x8B */ + 0xC1, 0xF0, 0xA3, 0x58, 0xA3, 0x59, 0xA3, 0x5A, /* 0x8C-0x8F */ + 0xC1, 0xF1, 0xA3, 0x61, 0xA3, 0x62, 0xA3, 0x63, /* 0x90-0x93 */ + 0xA3, 0x64, 0xA3, 0x65, 0xA3, 0x66, 0xA3, 0x67, /* 0x94-0x97 */ + 0xC1, 0xF2, 0xC1, 0xF3, 0xA3, 0x68, 0xC1, 0xF4, /* 0x98-0x9B */ + 0xA3, 0x69, 0xC1, 0xF5, 0xA3, 0x6A, 0xA3, 0x6B, /* 0x9C-0x9F */ + 0xA3, 0x6C, 0xA3, 0x6D, 0xA3, 0x6E, 0xA3, 0x6F, /* 0xA0-0xA3 */ + 0xA3, 0x70, 0xA3, 0x71, 0xA3, 0x72, 0xA3, 0x73, /* 0xA4-0xA7 */ + 0xA3, 0x74, 0xA3, 0x75, 0xA3, 0x76, 0xA3, 0x77, /* 0xA8-0xAB */ + 0xA3, 0x78, 0xA3, 0x79, 0xA3, 0x7A, 0xA3, 0x81, /* 0xAC-0xAF */ + 0xA3, 0x82, 0xA3, 0x83, 0xA3, 0x84, 0xA3, 0x85, /* 0xB0-0xB3 */ + 0xA3, 0x86, 0xA3, 0x87, 0xA3, 0x88, 0xA3, 0x89, /* 0xB4-0xB7 */ + 0xA3, 0x8A, 0xA3, 0x8B, 0xA3, 0x8C, 0xA3, 0x8D, /* 0xB8-0xBB */ + 0xA3, 0x8E, 0xA3, 0x8F, 0xA3, 0x90, 0xA3, 0x91, /* 0xBC-0xBF */ + 0xC1, 0xF6, 0xC1, 0xF7, 0xA3, 0x92, 0xA3, 0x93, /* 0xC0-0xC3 */ + 0xC1, 0xF8, 0xA3, 0x94, 0xA3, 0x95, 0xC1, 0xF9, /* 0xC4-0xC7 */ + 0xC1, 0xFA, 0xA3, 0x96, 0xC1, 0xFB, 0xA3, 0x97, /* 0xC8-0xCB */ + 0xA3, 0x98, 0xA3, 0x99, 0xA3, 0x9A, 0xA3, 0x9B, /* 0xCC-0xCF */ + 0xC1, 0xFC, 0xC1, 0xFD, 0xA3, 0x9C, 0xC1, 0xFE, /* 0xD0-0xD3 */ + 0xA3, 0x9D, 0xC2, 0xA1, 0xC2, 0xA2, 0xA3, 0x9E, /* 0xD4-0xD7 */ + 0xA3, 0x9F, 0xC2, 0xA3, 0xC2, 0xA4, 0xA3, 0xA0, /* 0xD8-0xDB */ + 0xC2, 0xA5, 0xC2, 0xA6, 0xA4, 0x41, 0xA4, 0x42, /* 0xDC-0xDF */ + 0xC2, 0xA7, 0xA4, 0x43, 0xC2, 0xA8, 0xA4, 0x44, /* 0xE0-0xE3 */ + 0xC2, 0xA9, 0xA4, 0x45, 0xA4, 0x46, 0xC2, 0xAA, /* 0xE4-0xE7 */ + 0xA4, 0x47, 0xA4, 0x48, 0xA4, 0x49, 0xA4, 0x4A, /* 0xE8-0xEB */ + 0xC2, 0xAB, 0xC2, 0xAC, 0xA4, 0x4B, 0xC2, 0xAD, /* 0xEC-0xEF */ + 0xC2, 0xAE, 0xC2, 0xAF, 0xA4, 0x4C, 0xA4, 0x4D, /* 0xF0-0xF3 */ + 0xA4, 0x4E, 0xA4, 0x4F, 0xA4, 0x50, 0xA4, 0x51, /* 0xF4-0xF7 */ + 0xC2, 0xB0, 0xC2, 0xB1, 0xA4, 0x52, 0xA4, 0x53, /* 0xF8-0xFB */ + 0xC2, 0xB2, 0xA4, 0x54, 0xA4, 0x55, 0xA4, 0x56, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_CA[512] = { + 0xC2, 0xB3, 0xA4, 0x57, 0xA4, 0x58, 0xA4, 0x59, /* 0x00-0x03 */ + 0xA4, 0x5A, 0xA4, 0x61, 0xA4, 0x62, 0xA4, 0x63, /* 0x04-0x07 */ + 0xC2, 0xB4, 0xC2, 0xB5, 0xA4, 0x64, 0xC2, 0xB6, /* 0x08-0x0B */ + 0xC2, 0xB7, 0xC2, 0xB8, 0xA4, 0x65, 0xA4, 0x66, /* 0x0C-0x0F */ + 0xA4, 0x67, 0xA4, 0x68, 0xA4, 0x69, 0xA4, 0x6A, /* 0x10-0x13 */ + 0xC2, 0xB9, 0xA4, 0x6B, 0xA4, 0x6C, 0xA4, 0x6D, /* 0x14-0x17 */ + 0xC2, 0xBA, 0xA4, 0x6E, 0xA4, 0x6F, 0xA4, 0x70, /* 0x18-0x1B */ + 0xA4, 0x71, 0xA4, 0x72, 0xA4, 0x73, 0xA4, 0x74, /* 0x1C-0x1F */ + 0xA4, 0x75, 0xA4, 0x76, 0xA4, 0x77, 0xA4, 0x78, /* 0x20-0x23 */ + 0xA4, 0x79, 0xA4, 0x7A, 0xA4, 0x81, 0xA4, 0x82, /* 0x24-0x27 */ + 0xA4, 0x83, 0xC2, 0xBB, 0xA4, 0x84, 0xA4, 0x85, /* 0x28-0x2B */ + 0xA4, 0x86, 0xA4, 0x87, 0xA4, 0x88, 0xA4, 0x89, /* 0x2C-0x2F */ + 0xA4, 0x8A, 0xA4, 0x8B, 0xA4, 0x8C, 0xA4, 0x8D, /* 0x30-0x33 */ + 0xA4, 0x8E, 0xA4, 0x8F, 0xA4, 0x90, 0xA4, 0x91, /* 0x34-0x37 */ + 0xA4, 0x92, 0xA4, 0x93, 0xA4, 0x94, 0xA4, 0x95, /* 0x38-0x3B */ + 0xA4, 0x96, 0xA4, 0x97, 0xA4, 0x98, 0xA4, 0x99, /* 0x3C-0x3F */ + 0xA4, 0x9A, 0xA4, 0x9B, 0xA4, 0x9C, 0xA4, 0x9D, /* 0x40-0x43 */ + 0xA4, 0x9E, 0xA4, 0x9F, 0xA4, 0xA0, 0xA5, 0x41, /* 0x44-0x47 */ + 0xA5, 0x42, 0xA5, 0x43, 0xA5, 0x44, 0xA5, 0x45, /* 0x48-0x4B */ + 0xC2, 0xBC, 0xC2, 0xBD, 0xA5, 0x46, 0xA5, 0x47, /* 0x4C-0x4F */ + 0xC2, 0xBE, 0xA5, 0x48, 0xA5, 0x49, 0xA5, 0x4A, /* 0x50-0x53 */ + 0xC2, 0xBF, 0xA5, 0x4B, 0xA5, 0x4C, 0xA5, 0x4D, /* 0x54-0x57 */ + 0xA5, 0x4E, 0xA5, 0x4F, 0xA5, 0x50, 0xA5, 0x51, /* 0x58-0x5B */ + 0xC2, 0xC0, 0xC2, 0xC1, 0xA5, 0x52, 0xC2, 0xC2, /* 0x5C-0x5F */ + 0xC2, 0xC3, 0xC2, 0xC4, 0xA5, 0x53, 0xA5, 0x54, /* 0x60-0x63 */ + 0xA5, 0x55, 0xA5, 0x56, 0xA5, 0x57, 0xA5, 0x58, /* 0x64-0x67 */ + 0xC2, 0xC5, 0xA5, 0x59, 0xA5, 0x5A, 0xA5, 0x61, /* 0x68-0x6B */ + 0xA5, 0x62, 0xA5, 0x63, 0xA5, 0x64, 0xA5, 0x65, /* 0x6C-0x6F */ + 0xA5, 0x66, 0xA5, 0x67, 0xA5, 0x68, 0xA5, 0x69, /* 0x70-0x73 */ + 0xA5, 0x6A, 0xA5, 0x6B, 0xA5, 0x6C, 0xA5, 0x6D, /* 0x74-0x77 */ + 0xA5, 0x6E, 0xA5, 0x6F, 0xA5, 0x70, 0xA5, 0x71, /* 0x78-0x7B */ + 0xA5, 0x72, 0xC2, 0xC6, 0xA5, 0x73, 0xA5, 0x74, /* 0x7C-0x7F */ + + 0xA5, 0x75, 0xA5, 0x76, 0xA5, 0x77, 0xA5, 0x78, /* 0x80-0x83 */ + 0xC2, 0xC7, 0xA5, 0x79, 0xA5, 0x7A, 0xA5, 0x81, /* 0x84-0x87 */ + 0xA5, 0x82, 0xA5, 0x83, 0xA5, 0x84, 0xA5, 0x85, /* 0x88-0x8B */ + 0xA5, 0x86, 0xA5, 0x87, 0xA5, 0x88, 0xA5, 0x89, /* 0x8C-0x8F */ + 0xA5, 0x8A, 0xA5, 0x8B, 0xA5, 0x8C, 0xA5, 0x8D, /* 0x90-0x93 */ + 0xA5, 0x8E, 0xA5, 0x8F, 0xA5, 0x90, 0xA5, 0x91, /* 0x94-0x97 */ + 0xC2, 0xC8, 0xA5, 0x92, 0xA5, 0x93, 0xA5, 0x94, /* 0x98-0x9B */ + 0xA5, 0x95, 0xA5, 0x96, 0xA5, 0x97, 0xA5, 0x98, /* 0x9C-0x9F */ + 0xA5, 0x99, 0xA5, 0x9A, 0xA5, 0x9B, 0xA5, 0x9C, /* 0xA0-0xA3 */ + 0xA5, 0x9D, 0xA5, 0x9E, 0xA5, 0x9F, 0xA5, 0xA0, /* 0xA4-0xA7 */ + 0xA6, 0x41, 0xA6, 0x42, 0xA6, 0x43, 0xA6, 0x44, /* 0xA8-0xAB */ + 0xA6, 0x45, 0xA6, 0x46, 0xA6, 0x47, 0xA6, 0x48, /* 0xAC-0xAF */ + 0xA6, 0x49, 0xA6, 0x4A, 0xA6, 0x4B, 0xA6, 0x4C, /* 0xB0-0xB3 */ + 0xA6, 0x4D, 0xA6, 0x4E, 0xA6, 0x4F, 0xA6, 0x50, /* 0xB4-0xB7 */ + 0xA6, 0x51, 0xA6, 0x52, 0xA6, 0x53, 0xA6, 0x54, /* 0xB8-0xBB */ + 0xC2, 0xC9, 0xC2, 0xCA, 0xA6, 0x55, 0xA6, 0x56, /* 0xBC-0xBF */ + 0xC2, 0xCB, 0xA6, 0x57, 0xA6, 0x58, 0xA6, 0x59, /* 0xC0-0xC3 */ + 0xC2, 0xCC, 0xA6, 0x5A, 0xA6, 0x61, 0xA6, 0x62, /* 0xC4-0xC7 */ + 0xA6, 0x63, 0xA6, 0x64, 0xA6, 0x65, 0xA6, 0x66, /* 0xC8-0xCB */ + 0xC2, 0xCD, 0xC2, 0xCE, 0xA6, 0x67, 0xC2, 0xCF, /* 0xCC-0xCF */ + 0xA6, 0x68, 0xC2, 0xD0, 0xA6, 0x69, 0xC2, 0xD1, /* 0xD0-0xD3 */ + 0xA6, 0x6A, 0xA6, 0x6B, 0xA6, 0x6C, 0xA6, 0x6D, /* 0xD4-0xD7 */ + 0xC2, 0xD2, 0xC2, 0xD3, 0xA6, 0x6E, 0xA6, 0x6F, /* 0xD8-0xDB */ + 0xA6, 0x70, 0xA6, 0x71, 0xA6, 0x72, 0xA6, 0x73, /* 0xDC-0xDF */ + 0xC2, 0xD4, 0xA6, 0x74, 0xA6, 0x75, 0xA6, 0x76, /* 0xE0-0xE3 */ + 0xA6, 0x77, 0xA6, 0x78, 0xA6, 0x79, 0xA6, 0x7A, /* 0xE4-0xE7 */ + 0xA6, 0x81, 0xA6, 0x82, 0xA6, 0x83, 0xA6, 0x84, /* 0xE8-0xEB */ + 0xC2, 0xD5, 0xA6, 0x85, 0xA6, 0x86, 0xA6, 0x87, /* 0xEC-0xEF */ + 0xA6, 0x88, 0xA6, 0x89, 0xA6, 0x8A, 0xA6, 0x8B, /* 0xF0-0xF3 */ + 0xC2, 0xD6, 0xA6, 0x8C, 0xA6, 0x8D, 0xA6, 0x8E, /* 0xF4-0xF7 */ + 0xA6, 0x8F, 0xA6, 0x90, 0xA6, 0x91, 0xA6, 0x92, /* 0xF8-0xFB */ + 0xA6, 0x93, 0xA6, 0x94, 0xA6, 0x95, 0xA6, 0x96, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_CB[512] = { + 0xA6, 0x97, 0xA6, 0x98, 0xA6, 0x99, 0xA6, 0x9A, /* 0x00-0x03 */ + 0xA6, 0x9B, 0xA6, 0x9C, 0xA6, 0x9D, 0xA6, 0x9E, /* 0x04-0x07 */ + 0xC2, 0xD7, 0xA6, 0x9F, 0xA6, 0xA0, 0xA7, 0x41, /* 0x08-0x0B */ + 0xA7, 0x42, 0xA7, 0x43, 0xA7, 0x44, 0xA7, 0x45, /* 0x0C-0x0F */ + 0xC2, 0xD8, 0xA7, 0x46, 0xA7, 0x47, 0xA7, 0x48, /* 0x10-0x13 */ + 0xC2, 0xD9, 0xA7, 0x49, 0xA7, 0x4A, 0xA7, 0x4B, /* 0x14-0x17 */ + 0xC2, 0xDA, 0xA7, 0x4C, 0xA7, 0x4D, 0xA7, 0x4E, /* 0x18-0x1B */ + 0xA7, 0x4F, 0xA7, 0x50, 0xA7, 0x51, 0xA7, 0x52, /* 0x1C-0x1F */ + 0xC2, 0xDB, 0xC2, 0xDC, 0xA7, 0x53, 0xA7, 0x54, /* 0x20-0x23 */ + 0xA7, 0x55, 0xA7, 0x56, 0xA7, 0x57, 0xA7, 0x58, /* 0x24-0x27 */ + 0xA7, 0x59, 0xA7, 0x5A, 0xA7, 0x61, 0xA7, 0x62, /* 0x28-0x2B */ + 0xA7, 0x63, 0xA7, 0x64, 0xA7, 0x65, 0xA7, 0x66, /* 0x2C-0x2F */ + 0xA7, 0x67, 0xA7, 0x68, 0xA7, 0x69, 0xA7, 0x6A, /* 0x30-0x33 */ + 0xA7, 0x6B, 0xA7, 0x6C, 0xA7, 0x6D, 0xA7, 0x6E, /* 0x34-0x37 */ + 0xA7, 0x6F, 0xA7, 0x70, 0xA7, 0x71, 0xA7, 0x72, /* 0x38-0x3B */ + 0xA7, 0x73, 0xA7, 0x74, 0xA7, 0x75, 0xA7, 0x76, /* 0x3C-0x3F */ + 0xA7, 0x77, 0xC2, 0xDD, 0xA7, 0x78, 0xA7, 0x79, /* 0x40-0x43 */ + 0xA7, 0x7A, 0xA7, 0x81, 0xA7, 0x82, 0xA7, 0x83, /* 0x44-0x47 */ + 0xC2, 0xDE, 0xC2, 0xDF, 0xA7, 0x84, 0xA7, 0x85, /* 0x48-0x4B */ + 0xC2, 0xE0, 0xA7, 0x86, 0xA7, 0x87, 0xA7, 0x88, /* 0x4C-0x4F */ + 0xC2, 0xE1, 0xA7, 0x89, 0xA7, 0x8A, 0xA7, 0x8B, /* 0x50-0x53 */ + 0xA7, 0x8C, 0xA7, 0x8D, 0xA7, 0x8E, 0xA7, 0x8F, /* 0x54-0x57 */ + 0xC2, 0xE2, 0xC2, 0xE3, 0xA7, 0x90, 0xA7, 0x91, /* 0x58-0x5B */ + 0xA7, 0x92, 0xC2, 0xE4, 0xA7, 0x93, 0xA7, 0x94, /* 0x5C-0x5F */ + 0xA7, 0x95, 0xA7, 0x96, 0xA7, 0x97, 0xA7, 0x98, /* 0x60-0x63 */ + 0xC2, 0xE5, 0xA7, 0x99, 0xA7, 0x9A, 0xA7, 0x9B, /* 0x64-0x67 */ + 0xA7, 0x9C, 0xA7, 0x9D, 0xA7, 0x9E, 0xA7, 0x9F, /* 0x68-0x6B */ + 0xA7, 0xA0, 0xA8, 0x41, 0xA8, 0x42, 0xA8, 0x43, /* 0x6C-0x6F */ + 0xA8, 0x44, 0xA8, 0x45, 0xA8, 0x46, 0xA8, 0x47, /* 0x70-0x73 */ + 0xA8, 0x48, 0xA8, 0x49, 0xA8, 0x4A, 0xA8, 0x4B, /* 0x74-0x77 */ + 0xC2, 0xE6, 0xC2, 0xE7, 0xA8, 0x4C, 0xA8, 0x4D, /* 0x78-0x7B */ + 0xA8, 0x4E, 0xA8, 0x4F, 0xA8, 0x50, 0xA8, 0x51, /* 0x7C-0x7F */ + + 0xA8, 0x52, 0xA8, 0x53, 0xA8, 0x54, 0xA8, 0x55, /* 0x80-0x83 */ + 0xA8, 0x56, 0xA8, 0x57, 0xA8, 0x58, 0xA8, 0x59, /* 0x84-0x87 */ + 0xA8, 0x5A, 0xA8, 0x61, 0xA8, 0x62, 0xA8, 0x63, /* 0x88-0x8B */ + 0xA8, 0x64, 0xA8, 0x65, 0xA8, 0x66, 0xA8, 0x67, /* 0x8C-0x8F */ + 0xA8, 0x68, 0xA8, 0x69, 0xA8, 0x6A, 0xA8, 0x6B, /* 0x90-0x93 */ + 0xA8, 0x6C, 0xA8, 0x6D, 0xA8, 0x6E, 0xA8, 0x6F, /* 0x94-0x97 */ + 0xA8, 0x70, 0xA8, 0x71, 0xA8, 0x72, 0xA8, 0x73, /* 0x98-0x9B */ + 0xC2, 0xE8, 0xA8, 0x74, 0xA8, 0x75, 0xA8, 0x76, /* 0x9C-0x9F */ + 0xA8, 0x77, 0xA8, 0x78, 0xA8, 0x79, 0xA8, 0x7A, /* 0xA0-0xA3 */ + 0xA8, 0x81, 0xA8, 0x82, 0xA8, 0x83, 0xA8, 0x84, /* 0xA4-0xA7 */ + 0xA8, 0x85, 0xA8, 0x86, 0xA8, 0x87, 0xA8, 0x88, /* 0xA8-0xAB */ + 0xA8, 0x89, 0xA8, 0x8A, 0xA8, 0x8B, 0xA8, 0x8C, /* 0xAC-0xAF */ + 0xA8, 0x8D, 0xA8, 0x8E, 0xA8, 0x8F, 0xA8, 0x90, /* 0xB0-0xB3 */ + 0xA8, 0x91, 0xA8, 0x92, 0xA8, 0x93, 0xA8, 0x94, /* 0xB4-0xB7 */ + 0xC2, 0xE9, 0xA8, 0x95, 0xA8, 0x96, 0xA8, 0x97, /* 0xB8-0xBB */ + 0xA8, 0x98, 0xA8, 0x99, 0xA8, 0x9A, 0xA8, 0x9B, /* 0xBC-0xBF */ + 0xA8, 0x9C, 0xA8, 0x9D, 0xA8, 0x9E, 0xA8, 0x9F, /* 0xC0-0xC3 */ + 0xA8, 0xA0, 0xA9, 0x41, 0xA9, 0x42, 0xA9, 0x43, /* 0xC4-0xC7 */ + 0xA9, 0x44, 0xA9, 0x45, 0xA9, 0x46, 0xA9, 0x47, /* 0xC8-0xCB */ + 0xA9, 0x48, 0xA9, 0x49, 0xA9, 0x4A, 0xA9, 0x4B, /* 0xCC-0xCF */ + 0xA9, 0x4C, 0xA9, 0x4D, 0xA9, 0x4E, 0xA9, 0x4F, /* 0xD0-0xD3 */ + 0xC2, 0xEA, 0xA9, 0x50, 0xA9, 0x51, 0xA9, 0x52, /* 0xD4-0xD7 */ + 0xA9, 0x53, 0xA9, 0x54, 0xA9, 0x55, 0xA9, 0x56, /* 0xD8-0xDB */ + 0xA9, 0x57, 0xA9, 0x58, 0xA9, 0x59, 0xA9, 0x5A, /* 0xDC-0xDF */ + 0xA9, 0x61, 0xA9, 0x62, 0xA9, 0x63, 0xA9, 0x64, /* 0xE0-0xE3 */ + 0xC2, 0xEB, 0xA9, 0x65, 0xA9, 0x66, 0xC2, 0xEC, /* 0xE4-0xE7 */ + 0xA9, 0x67, 0xC2, 0xED, 0xA9, 0x68, 0xA9, 0x69, /* 0xE8-0xEB */ + 0xA9, 0x6A, 0xA9, 0x6B, 0xA9, 0x6C, 0xA9, 0x6D, /* 0xEC-0xEF */ + 0xA9, 0x6E, 0xA9, 0x6F, 0xA9, 0x70, 0xA9, 0x71, /* 0xF0-0xF3 */ + 0xA9, 0x72, 0xA9, 0x73, 0xA9, 0x74, 0xA9, 0x75, /* 0xF4-0xF7 */ + 0xA9, 0x76, 0xA9, 0x77, 0xA9, 0x78, 0xA9, 0x79, /* 0xF8-0xFB */ + 0xA9, 0x7A, 0xA9, 0x81, 0xA9, 0x82, 0xA9, 0x83, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_CC[512] = { + 0xA9, 0x84, 0xA9, 0x85, 0xA9, 0x86, 0xA9, 0x87, /* 0x00-0x03 */ + 0xA9, 0x88, 0xA9, 0x89, 0xA9, 0x8A, 0xA9, 0x8B, /* 0x04-0x07 */ + 0xA9, 0x8C, 0xA9, 0x8D, 0xA9, 0x8E, 0xA9, 0x8F, /* 0x08-0x0B */ + 0xC2, 0xEE, 0xC2, 0xEF, 0xA9, 0x90, 0xA9, 0x91, /* 0x0C-0x0F */ + 0xC2, 0xF0, 0xA9, 0x92, 0xA9, 0x93, 0xA9, 0x94, /* 0x10-0x13 */ + 0xC2, 0xF1, 0xA9, 0x95, 0xA9, 0x96, 0xA9, 0x97, /* 0x14-0x17 */ + 0xA9, 0x98, 0xA9, 0x99, 0xA9, 0x9A, 0xA9, 0x9B, /* 0x18-0x1B */ + 0xC2, 0xF2, 0xC2, 0xF3, 0xA9, 0x9C, 0xA9, 0x9D, /* 0x1C-0x1F */ + 0xA9, 0x9E, 0xC2, 0xF4, 0xC2, 0xF5, 0xA9, 0x9F, /* 0x20-0x23 */ + 0xA9, 0xA0, 0xAA, 0x41, 0xAA, 0x42, 0xC2, 0xF6, /* 0x24-0x27 */ + 0xC2, 0xF7, 0xC2, 0xF8, 0xAA, 0x43, 0xAA, 0x44, /* 0x28-0x2B */ + 0xC2, 0xF9, 0xAA, 0x45, 0xC2, 0xFA, 0xAA, 0x46, /* 0x2C-0x2F */ + 0xC2, 0xFB, 0xAA, 0x47, 0xAA, 0x48, 0xAA, 0x49, /* 0x30-0x33 */ + 0xAA, 0x4A, 0xAA, 0x4B, 0xAA, 0x4C, 0xAA, 0x4D, /* 0x34-0x37 */ + 0xC2, 0xFC, 0xC2, 0xFD, 0xAA, 0x4E, 0xC2, 0xFE, /* 0x38-0x3B */ + 0xC3, 0xA1, 0xC3, 0xA2, 0xC3, 0xA3, 0xAA, 0x4F, /* 0x3C-0x3F */ + 0xAA, 0x50, 0xAA, 0x51, 0xAA, 0x52, 0xAA, 0x53, /* 0x40-0x43 */ + 0xC3, 0xA4, 0xC3, 0xA5, 0xAA, 0x54, 0xAA, 0x55, /* 0x44-0x47 */ + 0xC3, 0xA6, 0xAA, 0x56, 0xAA, 0x57, 0xAA, 0x58, /* 0x48-0x4B */ + 0xC3, 0xA7, 0xAA, 0x59, 0xAA, 0x5A, 0xAA, 0x61, /* 0x4C-0x4F */ + 0xAA, 0x62, 0xAA, 0x63, 0xAA, 0x64, 0xAA, 0x65, /* 0x50-0x53 */ + 0xC3, 0xA8, 0xC3, 0xA9, 0xAA, 0x66, 0xC3, 0xAA, /* 0x54-0x57 */ + 0xC3, 0xAB, 0xC3, 0xAC, 0xAA, 0x67, 0xAA, 0x68, /* 0x58-0x5B */ + 0xAA, 0x69, 0xAA, 0x6A, 0xAA, 0x6B, 0xAA, 0x6C, /* 0x5C-0x5F */ + 0xC3, 0xAD, 0xAA, 0x6D, 0xAA, 0x6E, 0xAA, 0x6F, /* 0x60-0x63 */ + 0xC3, 0xAE, 0xAA, 0x70, 0xC3, 0xAF, 0xAA, 0x71, /* 0x64-0x67 */ + 0xC3, 0xB0, 0xAA, 0x72, 0xAA, 0x73, 0xAA, 0x74, /* 0x68-0x6B */ + 0xAA, 0x75, 0xAA, 0x76, 0xAA, 0x77, 0xAA, 0x78, /* 0x6C-0x6F */ + 0xC3, 0xB1, 0xAA, 0x79, 0xAA, 0x7A, 0xAA, 0x81, /* 0x70-0x73 */ + 0xAA, 0x82, 0xC3, 0xB2, 0xAA, 0x83, 0xAA, 0x84, /* 0x74-0x77 */ + 0xAA, 0x85, 0xAA, 0x86, 0xAA, 0x87, 0xAA, 0x88, /* 0x78-0x7B */ + 0xAA, 0x89, 0xAA, 0x8A, 0xAA, 0x8B, 0xAA, 0x8C, /* 0x7C-0x7F */ + + 0xAA, 0x8D, 0xAA, 0x8E, 0xAA, 0x8F, 0xAA, 0x90, /* 0x80-0x83 */ + 0xAA, 0x91, 0xAA, 0x92, 0xAA, 0x93, 0xAA, 0x94, /* 0x84-0x87 */ + 0xAA, 0x95, 0xAA, 0x96, 0xAA, 0x97, 0xAA, 0x98, /* 0x88-0x8B */ + 0xAA, 0x99, 0xAA, 0x9A, 0xAA, 0x9B, 0xAA, 0x9C, /* 0x8C-0x8F */ + 0xAA, 0x9D, 0xAA, 0x9E, 0xAA, 0x9F, 0xAA, 0xA0, /* 0x90-0x93 */ + 0xAB, 0x41, 0xAB, 0x42, 0xAB, 0x43, 0xAB, 0x44, /* 0x94-0x97 */ + 0xC3, 0xB3, 0xC3, 0xB4, 0xAB, 0x45, 0xAB, 0x46, /* 0x98-0x9B */ + 0xC3, 0xB5, 0xAB, 0x47, 0xAB, 0x48, 0xAB, 0x49, /* 0x9C-0x9F */ + 0xC3, 0xB6, 0xAB, 0x4A, 0xAB, 0x4B, 0xAB, 0x4C, /* 0xA0-0xA3 */ + 0xAB, 0x4D, 0xAB, 0x4E, 0xAB, 0x4F, 0xAB, 0x50, /* 0xA4-0xA7 */ + 0xC3, 0xB7, 0xC3, 0xB8, 0xAB, 0x51, 0xC3, 0xB9, /* 0xA8-0xAB */ + 0xC3, 0xBA, 0xC3, 0xBB, 0xAB, 0x52, 0xAB, 0x53, /* 0xAC-0xAF */ + 0xAB, 0x54, 0xAB, 0x55, 0xAB, 0x56, 0xAB, 0x57, /* 0xB0-0xB3 */ + 0xC3, 0xBC, 0xC3, 0xBD, 0xAB, 0x58, 0xAB, 0x59, /* 0xB4-0xB7 */ + 0xC3, 0xBE, 0xAB, 0x5A, 0xAB, 0x61, 0xAB, 0x62, /* 0xB8-0xBB */ + 0xC3, 0xBF, 0xAB, 0x63, 0xAB, 0x64, 0xAB, 0x65, /* 0xBC-0xBF */ + 0xAB, 0x66, 0xAB, 0x67, 0xAB, 0x68, 0xAB, 0x69, /* 0xC0-0xC3 */ + 0xC3, 0xC0, 0xC3, 0xC1, 0xAB, 0x6A, 0xC3, 0xC2, /* 0xC4-0xC7 */ + 0xAB, 0x6B, 0xC3, 0xC3, 0xAB, 0x6C, 0xAB, 0x6D, /* 0xC8-0xCB */ + 0xAB, 0x6E, 0xAB, 0x6F, 0xAB, 0x70, 0xAB, 0x71, /* 0xCC-0xCF */ + 0xC3, 0xC4, 0xAB, 0x72, 0xAB, 0x73, 0xAB, 0x74, /* 0xD0-0xD3 */ + 0xC3, 0xC5, 0xAB, 0x75, 0xAB, 0x76, 0xAB, 0x77, /* 0xD4-0xD7 */ + 0xAB, 0x78, 0xAB, 0x79, 0xAB, 0x7A, 0xAB, 0x81, /* 0xD8-0xDB */ + 0xAB, 0x82, 0xAB, 0x83, 0xAB, 0x84, 0xAB, 0x85, /* 0xDC-0xDF */ + 0xAB, 0x86, 0xAB, 0x87, 0xAB, 0x88, 0xAB, 0x89, /* 0xE0-0xE3 */ + 0xC3, 0xC6, 0xAB, 0x8A, 0xAB, 0x8B, 0xAB, 0x8C, /* 0xE4-0xE7 */ + 0xAB, 0x8D, 0xAB, 0x8E, 0xAB, 0x8F, 0xAB, 0x90, /* 0xE8-0xEB */ + 0xC3, 0xC7, 0xAB, 0x91, 0xAB, 0x92, 0xAB, 0x93, /* 0xEC-0xEF */ + 0xC3, 0xC8, 0xAB, 0x94, 0xAB, 0x95, 0xAB, 0x96, /* 0xF0-0xF3 */ + 0xAB, 0x97, 0xAB, 0x98, 0xAB, 0x99, 0xAB, 0x9A, /* 0xF4-0xF7 */ + 0xAB, 0x9B, 0xAB, 0x9C, 0xAB, 0x9D, 0xAB, 0x9E, /* 0xF8-0xFB */ + 0xAB, 0x9F, 0xAB, 0xA0, 0xAC, 0x41, 0xAC, 0x42, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_CD[512] = { + 0xAC, 0x43, 0xC3, 0xC9, 0xAC, 0x44, 0xAC, 0x45, /* 0x00-0x03 */ + 0xAC, 0x46, 0xAC, 0x47, 0xAC, 0x48, 0xAC, 0x49, /* 0x04-0x07 */ + 0xC3, 0xCA, 0xC3, 0xCB, 0xAC, 0x4A, 0xAC, 0x4B, /* 0x08-0x0B */ + 0xC3, 0xCC, 0xAC, 0x4C, 0xAC, 0x4D, 0xAC, 0x4E, /* 0x0C-0x0F */ + 0xC3, 0xCD, 0xAC, 0x4F, 0xAC, 0x50, 0xAC, 0x51, /* 0x10-0x13 */ + 0xAC, 0x52, 0xAC, 0x53, 0xAC, 0x54, 0xAC, 0x55, /* 0x14-0x17 */ + 0xC3, 0xCE, 0xC3, 0xCF, 0xAC, 0x56, 0xC3, 0xD0, /* 0x18-0x1B */ + 0xAC, 0x57, 0xC3, 0xD1, 0xAC, 0x58, 0xAC, 0x59, /* 0x1C-0x1F */ + 0xAC, 0x5A, 0xAC, 0x61, 0xAC, 0x62, 0xAC, 0x63, /* 0x20-0x23 */ + 0xC3, 0xD2, 0xAC, 0x64, 0xAC, 0x65, 0xAC, 0x66, /* 0x24-0x27 */ + 0xC3, 0xD3, 0xAC, 0x67, 0xAC, 0x68, 0xAC, 0x69, /* 0x28-0x2B */ + 0xC3, 0xD4, 0xAC, 0x6A, 0xAC, 0x6B, 0xAC, 0x6C, /* 0x2C-0x2F */ + 0xAC, 0x6D, 0xAC, 0x6E, 0xAC, 0x6F, 0xAC, 0x70, /* 0x30-0x33 */ + 0xAC, 0x71, 0xAC, 0x72, 0xAC, 0x73, 0xAC, 0x74, /* 0x34-0x37 */ + 0xAC, 0x75, 0xC3, 0xD5, 0xAC, 0x76, 0xAC, 0x77, /* 0x38-0x3B */ + 0xAC, 0x78, 0xAC, 0x79, 0xAC, 0x7A, 0xAC, 0x81, /* 0x3C-0x3F */ + 0xAC, 0x82, 0xAC, 0x83, 0xAC, 0x84, 0xAC, 0x85, /* 0x40-0x43 */ + 0xAC, 0x86, 0xAC, 0x87, 0xAC, 0x88, 0xAC, 0x89, /* 0x44-0x47 */ + 0xAC, 0x8A, 0xAC, 0x8B, 0xAC, 0x8C, 0xAC, 0x8D, /* 0x48-0x4B */ + 0xAC, 0x8E, 0xAC, 0x8F, 0xAC, 0x90, 0xAC, 0x91, /* 0x4C-0x4F */ + 0xAC, 0x92, 0xAC, 0x93, 0xAC, 0x94, 0xAC, 0x95, /* 0x50-0x53 */ + 0xAC, 0x96, 0xAC, 0x97, 0xAC, 0x98, 0xAC, 0x99, /* 0x54-0x57 */ + 0xAC, 0x9A, 0xAC, 0x9B, 0xAC, 0x9C, 0xAC, 0x9D, /* 0x58-0x5B */ + 0xC3, 0xD6, 0xAC, 0x9E, 0xAC, 0x9F, 0xAC, 0xA0, /* 0x5C-0x5F */ + 0xC3, 0xD7, 0xAD, 0x41, 0xAD, 0x42, 0xAD, 0x43, /* 0x60-0x63 */ + 0xC3, 0xD8, 0xAD, 0x44, 0xAD, 0x45, 0xAD, 0x46, /* 0x64-0x67 */ + 0xAD, 0x47, 0xAD, 0x48, 0xAD, 0x49, 0xAD, 0x4A, /* 0x68-0x6B */ + 0xC3, 0xD9, 0xC3, 0xDA, 0xAD, 0x4B, 0xC3, 0xDB, /* 0x6C-0x6F */ + 0xAD, 0x4C, 0xC3, 0xDC, 0xAD, 0x4D, 0xAD, 0x4E, /* 0x70-0x73 */ + 0xAD, 0x4F, 0xAD, 0x50, 0xAD, 0x51, 0xAD, 0x52, /* 0x74-0x77 */ + 0xC3, 0xDD, 0xAD, 0x53, 0xAD, 0x54, 0xAD, 0x55, /* 0x78-0x7B */ + 0xAD, 0x56, 0xAD, 0x57, 0xAD, 0x58, 0xAD, 0x59, /* 0x7C-0x7F */ + + 0xAD, 0x5A, 0xAD, 0x61, 0xAD, 0x62, 0xAD, 0x63, /* 0x80-0x83 */ + 0xAD, 0x64, 0xAD, 0x65, 0xAD, 0x66, 0xAD, 0x67, /* 0x84-0x87 */ + 0xC3, 0xDE, 0xAD, 0x68, 0xAD, 0x69, 0xAD, 0x6A, /* 0x88-0x8B */ + 0xAD, 0x6B, 0xAD, 0x6C, 0xAD, 0x6D, 0xAD, 0x6E, /* 0x8C-0x8F */ + 0xAD, 0x6F, 0xAD, 0x70, 0xAD, 0x71, 0xAD, 0x72, /* 0x90-0x93 */ + 0xC3, 0xDF, 0xC3, 0xE0, 0xAD, 0x73, 0xAD, 0x74, /* 0x94-0x97 */ + 0xC3, 0xE1, 0xAD, 0x75, 0xAD, 0x76, 0xAD, 0x77, /* 0x98-0x9B */ + 0xC3, 0xE2, 0xAD, 0x78, 0xAD, 0x79, 0xAD, 0x7A, /* 0x9C-0x9F */ + 0xAD, 0x81, 0xAD, 0x82, 0xAD, 0x83, 0xAD, 0x84, /* 0xA0-0xA3 */ + 0xC3, 0xE3, 0xC3, 0xE4, 0xAD, 0x85, 0xC3, 0xE5, /* 0xA4-0xA7 */ + 0xAD, 0x86, 0xC3, 0xE6, 0xAD, 0x87, 0xAD, 0x88, /* 0xA8-0xAB */ + 0xAD, 0x89, 0xAD, 0x8A, 0xAD, 0x8B, 0xAD, 0x8C, /* 0xAC-0xAF */ + 0xC3, 0xE7, 0xAD, 0x8D, 0xAD, 0x8E, 0xAD, 0x8F, /* 0xB0-0xB3 */ + 0xAD, 0x90, 0xAD, 0x91, 0xAD, 0x92, 0xAD, 0x93, /* 0xB4-0xB7 */ + 0xAD, 0x94, 0xAD, 0x95, 0xAD, 0x96, 0xAD, 0x97, /* 0xB8-0xBB */ + 0xAD, 0x98, 0xAD, 0x99, 0xAD, 0x9A, 0xAD, 0x9B, /* 0xBC-0xBF */ + 0xAD, 0x9C, 0xAD, 0x9D, 0xAD, 0x9E, 0xAD, 0x9F, /* 0xC0-0xC3 */ + 0xC3, 0xE8, 0xAD, 0xA0, 0xAE, 0x41, 0xAE, 0x42, /* 0xC4-0xC7 */ + 0xAE, 0x43, 0xAE, 0x44, 0xAE, 0x45, 0xAE, 0x46, /* 0xC8-0xCB */ + 0xC3, 0xE9, 0xAE, 0x47, 0xAE, 0x48, 0xAE, 0x49, /* 0xCC-0xCF */ + 0xC3, 0xEA, 0xAE, 0x4A, 0xAE, 0x4B, 0xAE, 0x4C, /* 0xD0-0xD3 */ + 0xAE, 0x4D, 0xAE, 0x4E, 0xAE, 0x4F, 0xAE, 0x50, /* 0xD4-0xD7 */ + 0xAE, 0x51, 0xAE, 0x52, 0xAE, 0x53, 0xAE, 0x54, /* 0xD8-0xDB */ + 0xAE, 0x55, 0xAE, 0x56, 0xAE, 0x57, 0xAE, 0x58, /* 0xDC-0xDF */ + 0xAE, 0x59, 0xAE, 0x5A, 0xAE, 0x61, 0xAE, 0x62, /* 0xE0-0xE3 */ + 0xAE, 0x63, 0xAE, 0x64, 0xAE, 0x65, 0xAE, 0x66, /* 0xE4-0xE7 */ + 0xC3, 0xEB, 0xAE, 0x67, 0xAE, 0x68, 0xAE, 0x69, /* 0xE8-0xEB */ + 0xC3, 0xEC, 0xAE, 0x6A, 0xAE, 0x6B, 0xAE, 0x6C, /* 0xEC-0xEF */ + 0xC3, 0xED, 0xAE, 0x6D, 0xAE, 0x6E, 0xAE, 0x6F, /* 0xF0-0xF3 */ + 0xAE, 0x70, 0xAE, 0x71, 0xAE, 0x72, 0xAE, 0x73, /* 0xF4-0xF7 */ + 0xC3, 0xEE, 0xC3, 0xEF, 0xAE, 0x74, 0xC3, 0xF0, /* 0xF8-0xFB */ + 0xAE, 0x75, 0xC3, 0xF1, 0xAE, 0x76, 0xAE, 0x77, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_CE[512] = { + 0xAE, 0x78, 0xAE, 0x79, 0xAE, 0x7A, 0xAE, 0x81, /* 0x00-0x03 */ + 0xC3, 0xF2, 0xAE, 0x82, 0xAE, 0x83, 0xAE, 0x84, /* 0x04-0x07 */ + 0xC3, 0xF3, 0xAE, 0x85, 0xAE, 0x86, 0xAE, 0x87, /* 0x08-0x0B */ + 0xC3, 0xF4, 0xAE, 0x88, 0xAE, 0x89, 0xAE, 0x8A, /* 0x0C-0x0F */ + 0xAE, 0x8B, 0xAE, 0x8C, 0xAE, 0x8D, 0xAE, 0x8E, /* 0x10-0x13 */ + 0xC3, 0xF5, 0xAE, 0x8F, 0xAE, 0x90, 0xAE, 0x91, /* 0x14-0x17 */ + 0xAE, 0x92, 0xC3, 0xF6, 0xAE, 0x93, 0xAE, 0x94, /* 0x18-0x1B */ + 0xAE, 0x95, 0xAE, 0x96, 0xAE, 0x97, 0xAE, 0x98, /* 0x1C-0x1F */ + 0xC3, 0xF7, 0xC3, 0xF8, 0xAE, 0x99, 0xAE, 0x9A, /* 0x20-0x23 */ + 0xC3, 0xF9, 0xAE, 0x9B, 0xAE, 0x9C, 0xAE, 0x9D, /* 0x24-0x27 */ + 0xC3, 0xFA, 0xAE, 0x9E, 0xAE, 0x9F, 0xAE, 0xA0, /* 0x28-0x2B */ + 0xAF, 0x41, 0xAF, 0x42, 0xAF, 0x43, 0xAF, 0x44, /* 0x2C-0x2F */ + 0xC3, 0xFB, 0xC3, 0xFC, 0xAF, 0x45, 0xC3, 0xFD, /* 0x30-0x33 */ + 0xAF, 0x46, 0xC3, 0xFE, 0xAF, 0x47, 0xAF, 0x48, /* 0x34-0x37 */ + 0xAF, 0x49, 0xAF, 0x4A, 0xAF, 0x4B, 0xAF, 0x4C, /* 0x38-0x3B */ + 0xAF, 0x4D, 0xAF, 0x4E, 0xAF, 0x4F, 0xAF, 0x50, /* 0x3C-0x3F */ + 0xAF, 0x51, 0xAF, 0x52, 0xAF, 0x53, 0xAF, 0x54, /* 0x40-0x43 */ + 0xAF, 0x55, 0xAF, 0x56, 0xAF, 0x57, 0xAF, 0x58, /* 0x44-0x47 */ + 0xAF, 0x59, 0xAF, 0x5A, 0xAF, 0x61, 0xAF, 0x62, /* 0x48-0x4B */ + 0xAF, 0x63, 0xAF, 0x64, 0xAF, 0x65, 0xAF, 0x66, /* 0x4C-0x4F */ + 0xAF, 0x67, 0xAF, 0x68, 0xAF, 0x69, 0xAF, 0x6A, /* 0x50-0x53 */ + 0xAF, 0x6B, 0xAF, 0x6C, 0xAF, 0x6D, 0xAF, 0x6E, /* 0x54-0x57 */ + 0xC4, 0xA1, 0xC4, 0xA2, 0xAF, 0x6F, 0xAF, 0x70, /* 0x58-0x5B */ + 0xC4, 0xA3, 0xAF, 0x71, 0xAF, 0x72, 0xC4, 0xA4, /* 0x5C-0x5F */ + 0xC4, 0xA5, 0xC4, 0xA6, 0xAF, 0x73, 0xAF, 0x74, /* 0x60-0x63 */ + 0xAF, 0x75, 0xAF, 0x76, 0xAF, 0x77, 0xAF, 0x78, /* 0x64-0x67 */ + 0xC4, 0xA7, 0xC4, 0xA8, 0xAF, 0x79, 0xC4, 0xA9, /* 0x68-0x6B */ + 0xAF, 0x7A, 0xC4, 0xAA, 0xAF, 0x81, 0xAF, 0x82, /* 0x6C-0x6F */ + 0xAF, 0x83, 0xAF, 0x84, 0xAF, 0x85, 0xAF, 0x86, /* 0x70-0x73 */ + 0xC4, 0xAB, 0xC4, 0xAC, 0xAF, 0x87, 0xAF, 0x88, /* 0x74-0x77 */ + 0xC4, 0xAD, 0xAF, 0x89, 0xAF, 0x8A, 0xAF, 0x8B, /* 0x78-0x7B */ + 0xC4, 0xAE, 0xAF, 0x8C, 0xAF, 0x8D, 0xAF, 0x8E, /* 0x7C-0x7F */ + + 0xAF, 0x8F, 0xAF, 0x90, 0xAF, 0x91, 0xAF, 0x92, /* 0x80-0x83 */ + 0xC4, 0xAF, 0xC4, 0xB0, 0xAF, 0x93, 0xC4, 0xB1, /* 0x84-0x87 */ + 0xAF, 0x94, 0xC4, 0xB2, 0xAF, 0x95, 0xAF, 0x96, /* 0x88-0x8B */ + 0xAF, 0x97, 0xAF, 0x98, 0xAF, 0x99, 0xAF, 0x9A, /* 0x8C-0x8F */ + 0xC4, 0xB3, 0xC4, 0xB4, 0xAF, 0x9B, 0xAF, 0x9C, /* 0x90-0x93 */ + 0xC4, 0xB5, 0xAF, 0x9D, 0xAF, 0x9E, 0xAF, 0x9F, /* 0x94-0x97 */ + 0xC4, 0xB6, 0xAF, 0xA0, 0xB0, 0x41, 0xB0, 0x42, /* 0x98-0x9B */ + 0xB0, 0x43, 0xB0, 0x44, 0xB0, 0x45, 0xB0, 0x46, /* 0x9C-0x9F */ + 0xC4, 0xB7, 0xC4, 0xB8, 0xB0, 0x47, 0xC4, 0xB9, /* 0xA0-0xA3 */ + 0xC4, 0xBA, 0xC4, 0xBB, 0xB0, 0x48, 0xB0, 0x49, /* 0xA4-0xA7 */ + 0xB0, 0x4A, 0xB0, 0x4B, 0xB0, 0x4C, 0xB0, 0x4D, /* 0xA8-0xAB */ + 0xC4, 0xBC, 0xC4, 0xBD, 0xB0, 0x4E, 0xB0, 0x4F, /* 0xAC-0xAF */ + 0xB0, 0x50, 0xB0, 0x51, 0xB0, 0x52, 0xB0, 0x53, /* 0xB0-0xB3 */ + 0xB0, 0x54, 0xB0, 0x55, 0xB0, 0x56, 0xB0, 0x57, /* 0xB4-0xB7 */ + 0xB0, 0x58, 0xB0, 0x59, 0xB0, 0x5A, 0xB0, 0x61, /* 0xB8-0xBB */ + 0xB0, 0x62, 0xB0, 0x63, 0xB0, 0x64, 0xB0, 0x65, /* 0xBC-0xBF */ + 0xB0, 0x66, 0xC4, 0xBE, 0xB0, 0x67, 0xB0, 0x68, /* 0xC0-0xC3 */ + 0xB0, 0x69, 0xB0, 0x6A, 0xB0, 0x6B, 0xB0, 0x6C, /* 0xC4-0xC7 */ + 0xB0, 0x6D, 0xB0, 0x6E, 0xB0, 0x6F, 0xB0, 0x70, /* 0xC8-0xCB */ + 0xB0, 0x71, 0xB0, 0x72, 0xB0, 0x73, 0xB0, 0x74, /* 0xCC-0xCF */ + 0xB0, 0x75, 0xB0, 0x76, 0xB0, 0x77, 0xB0, 0x78, /* 0xD0-0xD3 */ + 0xB0, 0x79, 0xB0, 0x7A, 0xB0, 0x81, 0xB0, 0x82, /* 0xD4-0xD7 */ + 0xB0, 0x83, 0xB0, 0x84, 0xB0, 0x85, 0xB0, 0x86, /* 0xD8-0xDB */ + 0xB0, 0x87, 0xB0, 0x88, 0xB0, 0x89, 0xB0, 0x8A, /* 0xDC-0xDF */ + 0xB0, 0x8B, 0xB0, 0x8C, 0xB0, 0x8D, 0xB0, 0x8E, /* 0xE0-0xE3 */ + 0xC4, 0xBF, 0xC4, 0xC0, 0xB0, 0x8F, 0xB0, 0x90, /* 0xE4-0xE7 */ + 0xC4, 0xC1, 0xB0, 0x91, 0xB0, 0x92, 0xC4, 0xC2, /* 0xE8-0xEB */ + 0xC4, 0xC3, 0xB0, 0x93, 0xB0, 0x94, 0xB0, 0x95, /* 0xEC-0xEF */ + 0xB0, 0x96, 0xB0, 0x97, 0xB0, 0x98, 0xB0, 0x99, /* 0xF0-0xF3 */ + 0xC4, 0xC4, 0xC4, 0xC5, 0xB0, 0x9A, 0xC4, 0xC6, /* 0xF4-0xF7 */ + 0xC4, 0xC7, 0xC4, 0xC8, 0xB0, 0x9B, 0xB0, 0x9C, /* 0xF8-0xFB */ + 0xB0, 0x9D, 0xB0, 0x9E, 0xB0, 0x9F, 0xB0, 0xA0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_CF[512] = { + 0xC4, 0xC9, 0xC4, 0xCA, 0xB1, 0x41, 0xB1, 0x42, /* 0x00-0x03 */ + 0xC4, 0xCB, 0xB1, 0x43, 0xB1, 0x44, 0xB1, 0x45, /* 0x04-0x07 */ + 0xC4, 0xCC, 0xB1, 0x46, 0xB1, 0x47, 0xB1, 0x48, /* 0x08-0x0B */ + 0xB1, 0x49, 0xB1, 0x4A, 0xB1, 0x4B, 0xB1, 0x4C, /* 0x0C-0x0F */ + 0xC4, 0xCD, 0xC4, 0xCE, 0xB1, 0x4D, 0xC4, 0xCF, /* 0x10-0x13 */ + 0xB1, 0x4E, 0xC4, 0xD0, 0xB1, 0x4F, 0xB1, 0x50, /* 0x14-0x17 */ + 0xB1, 0x51, 0xB1, 0x52, 0xB1, 0x53, 0xB1, 0x54, /* 0x18-0x1B */ + 0xC4, 0xD1, 0xB1, 0x55, 0xB1, 0x56, 0xB1, 0x57, /* 0x1C-0x1F */ + 0xC4, 0xD2, 0xB1, 0x58, 0xB1, 0x59, 0xB1, 0x5A, /* 0x20-0x23 */ + 0xC4, 0xD3, 0xB1, 0x61, 0xB1, 0x62, 0xB1, 0x63, /* 0x24-0x27 */ + 0xB1, 0x64, 0xB1, 0x65, 0xB1, 0x66, 0xB1, 0x67, /* 0x28-0x2B */ + 0xC4, 0xD4, 0xC4, 0xD5, 0xB1, 0x68, 0xC4, 0xD6, /* 0x2C-0x2F */ + 0xC4, 0xD7, 0xC4, 0xD8, 0xB1, 0x69, 0xB1, 0x6A, /* 0x30-0x33 */ + 0xB1, 0x6B, 0xB1, 0x6C, 0xB1, 0x6D, 0xB1, 0x6E, /* 0x34-0x37 */ + 0xC4, 0xD9, 0xB1, 0x6F, 0xB1, 0x70, 0xB1, 0x71, /* 0x38-0x3B */ + 0xB1, 0x72, 0xB1, 0x73, 0xB1, 0x74, 0xB1, 0x75, /* 0x3C-0x3F */ + 0xB1, 0x76, 0xB1, 0x77, 0xB1, 0x78, 0xB1, 0x79, /* 0x40-0x43 */ + 0xB1, 0x7A, 0xB1, 0x81, 0xB1, 0x82, 0xB1, 0x83, /* 0x44-0x47 */ + 0xB1, 0x84, 0xB1, 0x85, 0xB1, 0x86, 0xB1, 0x87, /* 0x48-0x4B */ + 0xB1, 0x88, 0xB1, 0x89, 0xB1, 0x8A, 0xB1, 0x8B, /* 0x4C-0x4F */ + 0xB1, 0x8C, 0xB1, 0x8D, 0xB1, 0x8E, 0xB1, 0x8F, /* 0x50-0x53 */ + 0xC4, 0xDA, 0xC4, 0xDB, 0xB1, 0x90, 0xB1, 0x91, /* 0x54-0x57 */ + 0xC4, 0xDC, 0xB1, 0x92, 0xB1, 0x93, 0xB1, 0x94, /* 0x58-0x5B */ + 0xC4, 0xDD, 0xB1, 0x95, 0xB1, 0x96, 0xB1, 0x97, /* 0x5C-0x5F */ + 0xB1, 0x98, 0xB1, 0x99, 0xB1, 0x9A, 0xB1, 0x9B, /* 0x60-0x63 */ + 0xC4, 0xDE, 0xC4, 0xDF, 0xB1, 0x9C, 0xC4, 0xE0, /* 0x64-0x67 */ + 0xB1, 0x9D, 0xC4, 0xE1, 0xB1, 0x9E, 0xB1, 0x9F, /* 0x68-0x6B */ + 0xB1, 0xA0, 0xB2, 0x41, 0xB2, 0x42, 0xB2, 0x43, /* 0x6C-0x6F */ + 0xC4, 0xE2, 0xC4, 0xE3, 0xB2, 0x44, 0xB2, 0x45, /* 0x70-0x73 */ + 0xC4, 0xE4, 0xB2, 0x46, 0xB2, 0x47, 0xB2, 0x48, /* 0x74-0x77 */ + 0xC4, 0xE5, 0xB2, 0x49, 0xB2, 0x4A, 0xB2, 0x4B, /* 0x78-0x7B */ + 0xB2, 0x4C, 0xB2, 0x4D, 0xB2, 0x4E, 0xB2, 0x4F, /* 0x7C-0x7F */ + + 0xC4, 0xE6, 0xB2, 0x50, 0xB2, 0x51, 0xB2, 0x52, /* 0x80-0x83 */ + 0xB2, 0x53, 0xC4, 0xE7, 0xB2, 0x54, 0xB2, 0x55, /* 0x84-0x87 */ + 0xB2, 0x56, 0xB2, 0x57, 0xB2, 0x58, 0xB2, 0x59, /* 0x88-0x8B */ + 0xC4, 0xE8, 0xB2, 0x5A, 0xB2, 0x61, 0xB2, 0x62, /* 0x8C-0x8F */ + 0xB2, 0x63, 0xB2, 0x64, 0xB2, 0x65, 0xB2, 0x66, /* 0x90-0x93 */ + 0xB2, 0x67, 0xB2, 0x68, 0xB2, 0x69, 0xB2, 0x6A, /* 0x94-0x97 */ + 0xB2, 0x6B, 0xB2, 0x6C, 0xB2, 0x6D, 0xB2, 0x6E, /* 0x98-0x9B */ + 0xB2, 0x6F, 0xB2, 0x70, 0xB2, 0x71, 0xB2, 0x72, /* 0x9C-0x9F */ + 0xB2, 0x73, 0xC4, 0xE9, 0xB2, 0x74, 0xB2, 0x75, /* 0xA0-0xA3 */ + 0xB2, 0x76, 0xB2, 0x77, 0xB2, 0x78, 0xB2, 0x79, /* 0xA4-0xA7 */ + 0xC4, 0xEA, 0xB2, 0x7A, 0xB2, 0x81, 0xB2, 0x82, /* 0xA8-0xAB */ + 0xB2, 0x83, 0xB2, 0x84, 0xB2, 0x85, 0xB2, 0x86, /* 0xAC-0xAF */ + 0xC4, 0xEB, 0xB2, 0x87, 0xB2, 0x88, 0xB2, 0x89, /* 0xB0-0xB3 */ + 0xB2, 0x8A, 0xB2, 0x8B, 0xB2, 0x8C, 0xB2, 0x8D, /* 0xB4-0xB7 */ + 0xB2, 0x8E, 0xB2, 0x8F, 0xB2, 0x90, 0xB2, 0x91, /* 0xB8-0xBB */ + 0xB2, 0x92, 0xB2, 0x93, 0xB2, 0x94, 0xB2, 0x95, /* 0xBC-0xBF */ + 0xB2, 0x96, 0xB2, 0x97, 0xB2, 0x98, 0xB2, 0x99, /* 0xC0-0xC3 */ + 0xC4, 0xEC, 0xB2, 0x9A, 0xB2, 0x9B, 0xB2, 0x9C, /* 0xC4-0xC7 */ + 0xB2, 0x9D, 0xB2, 0x9E, 0xB2, 0x9F, 0xB2, 0xA0, /* 0xC8-0xCB */ + 0xB3, 0x41, 0xB3, 0x42, 0xB3, 0x43, 0xB3, 0x44, /* 0xCC-0xCF */ + 0xB3, 0x45, 0xB3, 0x46, 0xB3, 0x47, 0xB3, 0x48, /* 0xD0-0xD3 */ + 0xB3, 0x49, 0xB3, 0x4A, 0xB3, 0x4B, 0xB3, 0x4C, /* 0xD4-0xD7 */ + 0xB3, 0x4D, 0xB3, 0x4E, 0xB3, 0x4F, 0xB3, 0x50, /* 0xD8-0xDB */ + 0xB3, 0x51, 0xB3, 0x52, 0xB3, 0x53, 0xB3, 0x54, /* 0xDC-0xDF */ + 0xC4, 0xED, 0xC4, 0xEE, 0xB3, 0x55, 0xB3, 0x56, /* 0xE0-0xE3 */ + 0xC4, 0xEF, 0xB3, 0x57, 0xB3, 0x58, 0xB3, 0x59, /* 0xE4-0xE7 */ + 0xC4, 0xF0, 0xB3, 0x5A, 0xB3, 0x61, 0xB3, 0x62, /* 0xE8-0xEB */ + 0xB3, 0x63, 0xB3, 0x64, 0xB3, 0x65, 0xB3, 0x66, /* 0xEC-0xEF */ + 0xC4, 0xF1, 0xC4, 0xF2, 0xB3, 0x67, 0xC4, 0xF3, /* 0xF0-0xF3 */ + 0xB3, 0x68, 0xC4, 0xF4, 0xB3, 0x69, 0xB3, 0x6A, /* 0xF4-0xF7 */ + 0xB3, 0x6B, 0xB3, 0x6C, 0xB3, 0x6D, 0xB3, 0x6E, /* 0xF8-0xFB */ + 0xC4, 0xF5, 0xB3, 0x6F, 0xB3, 0x70, 0xB3, 0x71, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_D0[512] = { + 0xC4, 0xF6, 0xB3, 0x72, 0xB3, 0x73, 0xB3, 0x74, /* 0x00-0x03 */ + 0xC4, 0xF7, 0xB3, 0x75, 0xB3, 0x76, 0xB3, 0x77, /* 0x04-0x07 */ + 0xB3, 0x78, 0xB3, 0x79, 0xB3, 0x7A, 0xB3, 0x81, /* 0x08-0x0B */ + 0xB3, 0x82, 0xB3, 0x83, 0xB3, 0x84, 0xB3, 0x85, /* 0x0C-0x0F */ + 0xB3, 0x86, 0xC4, 0xF8, 0xB3, 0x87, 0xB3, 0x88, /* 0x10-0x13 */ + 0xB3, 0x89, 0xB3, 0x8A, 0xB3, 0x8B, 0xB3, 0x8C, /* 0x14-0x17 */ + 0xC4, 0xF9, 0xB3, 0x8D, 0xB3, 0x8E, 0xB3, 0x8F, /* 0x18-0x1B */ + 0xB3, 0x90, 0xB3, 0x91, 0xB3, 0x92, 0xB3, 0x93, /* 0x1C-0x1F */ + 0xB3, 0x94, 0xB3, 0x95, 0xB3, 0x96, 0xB3, 0x97, /* 0x20-0x23 */ + 0xB3, 0x98, 0xB3, 0x99, 0xB3, 0x9A, 0xB3, 0x9B, /* 0x24-0x27 */ + 0xB3, 0x9C, 0xB3, 0x9D, 0xB3, 0x9E, 0xB3, 0x9F, /* 0x28-0x2B */ + 0xB3, 0xA0, 0xC4, 0xFA, 0xB4, 0x41, 0xB4, 0x42, /* 0x2C-0x2F */ + 0xB4, 0x43, 0xB4, 0x44, 0xB4, 0x45, 0xB4, 0x46, /* 0x30-0x33 */ + 0xC4, 0xFB, 0xC4, 0xFC, 0xB4, 0x47, 0xB4, 0x48, /* 0x34-0x37 */ + 0xC4, 0xFD, 0xB4, 0x49, 0xB4, 0x4A, 0xB4, 0x4B, /* 0x38-0x3B */ + 0xC4, 0xFE, 0xB4, 0x4C, 0xB4, 0x4D, 0xB4, 0x4E, /* 0x3C-0x3F */ + 0xB4, 0x4F, 0xB4, 0x50, 0xB4, 0x51, 0xB4, 0x52, /* 0x40-0x43 */ + 0xC5, 0xA1, 0xC5, 0xA2, 0xB4, 0x53, 0xC5, 0xA3, /* 0x44-0x47 */ + 0xB4, 0x54, 0xC5, 0xA4, 0xB4, 0x55, 0xB4, 0x56, /* 0x48-0x4B */ + 0xB4, 0x57, 0xB4, 0x58, 0xB4, 0x59, 0xB4, 0x5A, /* 0x4C-0x4F */ + 0xC5, 0xA5, 0xB4, 0x61, 0xB4, 0x62, 0xB4, 0x63, /* 0x50-0x53 */ + 0xC5, 0xA6, 0xB4, 0x64, 0xB4, 0x65, 0xB4, 0x66, /* 0x54-0x57 */ + 0xC5, 0xA7, 0xB4, 0x67, 0xB4, 0x68, 0xB4, 0x69, /* 0x58-0x5B */ + 0xB4, 0x6A, 0xB4, 0x6B, 0xB4, 0x6C, 0xB4, 0x6D, /* 0x5C-0x5F */ + 0xC5, 0xA8, 0xB4, 0x6E, 0xB4, 0x6F, 0xB4, 0x70, /* 0x60-0x63 */ + 0xB4, 0x71, 0xB4, 0x72, 0xB4, 0x73, 0xB4, 0x74, /* 0x64-0x67 */ + 0xB4, 0x75, 0xB4, 0x76, 0xB4, 0x77, 0xB4, 0x78, /* 0x68-0x6B */ + 0xC5, 0xA9, 0xC5, 0xAA, 0xB4, 0x79, 0xB4, 0x7A, /* 0x6C-0x6F */ + 0xC5, 0xAB, 0xB4, 0x81, 0xB4, 0x82, 0xB4, 0x83, /* 0x70-0x73 */ + 0xC5, 0xAC, 0xB4, 0x84, 0xB4, 0x85, 0xB4, 0x86, /* 0x74-0x77 */ + 0xB4, 0x87, 0xB4, 0x88, 0xB4, 0x89, 0xB4, 0x8A, /* 0x78-0x7B */ + 0xC5, 0xAD, 0xC5, 0xAE, 0xB4, 0x8B, 0xB4, 0x8C, /* 0x7C-0x7F */ + + 0xB4, 0x8D, 0xC5, 0xAF, 0xB4, 0x8E, 0xB4, 0x8F, /* 0x80-0x83 */ + 0xB4, 0x90, 0xB4, 0x91, 0xB4, 0x92, 0xB4, 0x93, /* 0x84-0x87 */ + 0xB4, 0x94, 0xB4, 0x95, 0xB4, 0x96, 0xB4, 0x97, /* 0x88-0x8B */ + 0xB4, 0x98, 0xB4, 0x99, 0xB4, 0x9A, 0xB4, 0x9B, /* 0x8C-0x8F */ + 0xB4, 0x9C, 0xB4, 0x9D, 0xB4, 0x9E, 0xB4, 0x9F, /* 0x90-0x93 */ + 0xB4, 0xA0, 0xB5, 0x41, 0xB5, 0x42, 0xB5, 0x43, /* 0x94-0x97 */ + 0xB5, 0x44, 0xB5, 0x45, 0xB5, 0x46, 0xB5, 0x47, /* 0x98-0x9B */ + 0xB5, 0x48, 0xB5, 0x49, 0xB5, 0x4A, 0xB5, 0x4B, /* 0x9C-0x9F */ + 0xB5, 0x4C, 0xB5, 0x4D, 0xB5, 0x4E, 0xB5, 0x4F, /* 0xA0-0xA3 */ + 0xC5, 0xB0, 0xC5, 0xB1, 0xB5, 0x50, 0xB5, 0x51, /* 0xA4-0xA7 */ + 0xC5, 0xB2, 0xB5, 0x52, 0xB5, 0x53, 0xB5, 0x54, /* 0xA8-0xAB */ + 0xC5, 0xB3, 0xB5, 0x55, 0xB5, 0x56, 0xB5, 0x57, /* 0xAC-0xAF */ + 0xB5, 0x58, 0xB5, 0x59, 0xB5, 0x5A, 0xB5, 0x61, /* 0xB0-0xB3 */ + 0xC5, 0xB4, 0xC5, 0xB5, 0xB5, 0x62, 0xC5, 0xB6, /* 0xB4-0xB7 */ + 0xB5, 0x63, 0xC5, 0xB7, 0xB5, 0x64, 0xB5, 0x65, /* 0xB8-0xBB */ + 0xB5, 0x66, 0xB5, 0x67, 0xB5, 0x68, 0xB5, 0x69, /* 0xBC-0xBF */ + 0xC5, 0xB8, 0xC5, 0xB9, 0xB5, 0x6A, 0xB5, 0x6B, /* 0xC0-0xC3 */ + 0xC5, 0xBA, 0xB5, 0x6C, 0xB5, 0x6D, 0xB5, 0x6E, /* 0xC4-0xC7 */ + 0xC5, 0xBB, 0xC5, 0xBC, 0xB5, 0x6F, 0xB5, 0x70, /* 0xC8-0xCB */ + 0xB5, 0x71, 0xB5, 0x72, 0xB5, 0x73, 0xB5, 0x74, /* 0xCC-0xCF */ + 0xC5, 0xBD, 0xC5, 0xBE, 0xB5, 0x75, 0xC5, 0xBF, /* 0xD0-0xD3 */ + 0xC5, 0xC0, 0xC5, 0xC1, 0xB5, 0x76, 0xB5, 0x77, /* 0xD4-0xD7 */ + 0xB5, 0x78, 0xB5, 0x79, 0xB5, 0x7A, 0xB5, 0x81, /* 0xD8-0xDB */ + 0xC5, 0xC2, 0xC5, 0xC3, 0xB5, 0x82, 0xB5, 0x83, /* 0xDC-0xDF */ + 0xC5, 0xC4, 0xB5, 0x84, 0xB5, 0x85, 0xB5, 0x86, /* 0xE0-0xE3 */ + 0xC5, 0xC5, 0xB5, 0x87, 0xB5, 0x88, 0xB5, 0x89, /* 0xE4-0xE7 */ + 0xB5, 0x8A, 0xB5, 0x8B, 0xB5, 0x8C, 0xB5, 0x8D, /* 0xE8-0xEB */ + 0xC5, 0xC6, 0xC5, 0xC7, 0xB5, 0x8E, 0xC5, 0xC8, /* 0xEC-0xEF */ + 0xC5, 0xC9, 0xC5, 0xCA, 0xB5, 0x8F, 0xB5, 0x90, /* 0xF0-0xF3 */ + 0xB5, 0x91, 0xB5, 0x92, 0xB5, 0x93, 0xB5, 0x94, /* 0xF4-0xF7 */ + 0xC5, 0xCB, 0xB5, 0x95, 0xB5, 0x96, 0xB5, 0x97, /* 0xF8-0xFB */ + 0xB5, 0x98, 0xB5, 0x99, 0xB5, 0x9A, 0xB5, 0x9B, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_D1[512] = { + 0xB5, 0x9C, 0xB5, 0x9D, 0xB5, 0x9E, 0xB5, 0x9F, /* 0x00-0x03 */ + 0xB5, 0xA0, 0xB6, 0x41, 0xB6, 0x42, 0xB6, 0x43, /* 0x04-0x07 */ + 0xB6, 0x44, 0xB6, 0x45, 0xB6, 0x46, 0xB6, 0x47, /* 0x08-0x0B */ + 0xB6, 0x48, 0xC5, 0xCC, 0xB6, 0x49, 0xB6, 0x4A, /* 0x0C-0x0F */ + 0xB6, 0x4B, 0xB6, 0x4C, 0xB6, 0x4D, 0xB6, 0x4E, /* 0x10-0x13 */ + 0xB6, 0x4F, 0xB6, 0x50, 0xB6, 0x51, 0xB6, 0x52, /* 0x14-0x17 */ + 0xB6, 0x53, 0xB6, 0x54, 0xB6, 0x55, 0xB6, 0x56, /* 0x18-0x1B */ + 0xB6, 0x57, 0xB6, 0x58, 0xB6, 0x59, 0xB6, 0x5A, /* 0x1C-0x1F */ + 0xB6, 0x61, 0xB6, 0x62, 0xB6, 0x63, 0xB6, 0x64, /* 0x20-0x23 */ + 0xB6, 0x65, 0xB6, 0x66, 0xB6, 0x67, 0xB6, 0x68, /* 0x24-0x27 */ + 0xB6, 0x69, 0xB6, 0x6A, 0xB6, 0x6B, 0xB6, 0x6C, /* 0x28-0x2B */ + 0xB6, 0x6D, 0xB6, 0x6E, 0xB6, 0x6F, 0xB6, 0x70, /* 0x2C-0x2F */ + 0xC5, 0xCD, 0xC5, 0xCE, 0xB6, 0x71, 0xB6, 0x72, /* 0x30-0x33 */ + 0xC5, 0xCF, 0xB6, 0x73, 0xB6, 0x74, 0xB6, 0x75, /* 0x34-0x37 */ + 0xC5, 0xD0, 0xB6, 0x76, 0xC5, 0xD1, 0xB6, 0x77, /* 0x38-0x3B */ + 0xB6, 0x78, 0xB6, 0x79, 0xB6, 0x7A, 0xB6, 0x81, /* 0x3C-0x3F */ + 0xC5, 0xD2, 0xC5, 0xD3, 0xB6, 0x82, 0xC5, 0xD4, /* 0x40-0x43 */ + 0xC5, 0xD5, 0xC5, 0xD6, 0xB6, 0x83, 0xB6, 0x84, /* 0x44-0x47 */ + 0xB6, 0x85, 0xB6, 0x86, 0xB6, 0x87, 0xB6, 0x88, /* 0x48-0x4B */ + 0xC5, 0xD7, 0xC5, 0xD8, 0xB6, 0x89, 0xB6, 0x8A, /* 0x4C-0x4F */ + 0xC5, 0xD9, 0xB6, 0x8B, 0xB6, 0x8C, 0xB6, 0x8D, /* 0x50-0x53 */ + 0xC5, 0xDA, 0xB6, 0x8E, 0xB6, 0x8F, 0xB6, 0x90, /* 0x54-0x57 */ + 0xB6, 0x91, 0xB6, 0x92, 0xB6, 0x93, 0xB6, 0x94, /* 0x58-0x5B */ + 0xC5, 0xDB, 0xC5, 0xDC, 0xB6, 0x95, 0xC5, 0xDD, /* 0x5C-0x5F */ + 0xB6, 0x96, 0xC5, 0xDE, 0xB6, 0x97, 0xB6, 0x98, /* 0x60-0x63 */ + 0xB6, 0x99, 0xB6, 0x9A, 0xB6, 0x9B, 0xB6, 0x9C, /* 0x64-0x67 */ + 0xC5, 0xDF, 0xB6, 0x9D, 0xB6, 0x9E, 0xB6, 0x9F, /* 0x68-0x6B */ + 0xC5, 0xE0, 0xB6, 0xA0, 0xB7, 0x41, 0xB7, 0x42, /* 0x6C-0x6F */ + 0xB7, 0x43, 0xB7, 0x44, 0xB7, 0x45, 0xB7, 0x46, /* 0x70-0x73 */ + 0xB7, 0x47, 0xB7, 0x48, 0xB7, 0x49, 0xB7, 0x4A, /* 0x74-0x77 */ + 0xB7, 0x4B, 0xB7, 0x4C, 0xB7, 0x4D, 0xB7, 0x4E, /* 0x78-0x7B */ + 0xC5, 0xE1, 0xB7, 0x4F, 0xB7, 0x50, 0xB7, 0x51, /* 0x7C-0x7F */ + + 0xB7, 0x52, 0xB7, 0x53, 0xB7, 0x54, 0xB7, 0x55, /* 0x80-0x83 */ + 0xC5, 0xE2, 0xB7, 0x56, 0xB7, 0x57, 0xB7, 0x58, /* 0x84-0x87 */ + 0xC5, 0xE3, 0xB7, 0x59, 0xB7, 0x5A, 0xB7, 0x61, /* 0x88-0x8B */ + 0xB7, 0x62, 0xB7, 0x63, 0xB7, 0x64, 0xB7, 0x65, /* 0x8C-0x8F */ + 0xB7, 0x66, 0xB7, 0x67, 0xB7, 0x68, 0xB7, 0x69, /* 0x90-0x93 */ + 0xB7, 0x6A, 0xB7, 0x6B, 0xB7, 0x6C, 0xB7, 0x6D, /* 0x94-0x97 */ + 0xB7, 0x6E, 0xB7, 0x6F, 0xB7, 0x70, 0xB7, 0x71, /* 0x98-0x9B */ + 0xB7, 0x72, 0xB7, 0x73, 0xB7, 0x74, 0xB7, 0x75, /* 0x9C-0x9F */ + 0xC5, 0xE4, 0xC5, 0xE5, 0xB7, 0x76, 0xB7, 0x77, /* 0xA0-0xA3 */ + 0xC5, 0xE6, 0xB7, 0x78, 0xB7, 0x79, 0xB7, 0x7A, /* 0xA4-0xA7 */ + 0xC5, 0xE7, 0xB7, 0x81, 0xB7, 0x82, 0xB7, 0x83, /* 0xA8-0xAB */ + 0xB7, 0x84, 0xB7, 0x85, 0xB7, 0x86, 0xB7, 0x87, /* 0xAC-0xAF */ + 0xC5, 0xE8, 0xC5, 0xE9, 0xB7, 0x88, 0xC5, 0xEA, /* 0xB0-0xB3 */ + 0xB7, 0x89, 0xC5, 0xEB, 0xB7, 0x8A, 0xB7, 0x8B, /* 0xB4-0xB7 */ + 0xB7, 0x8C, 0xB7, 0x8D, 0xC5, 0xEC, 0xB7, 0x8E, /* 0xB8-0xBB */ + 0xC5, 0xED, 0xB7, 0x8F, 0xB7, 0x90, 0xB7, 0x91, /* 0xBC-0xBF */ + 0xC5, 0xEE, 0xB7, 0x92, 0xB7, 0x93, 0xB7, 0x94, /* 0xC0-0xC3 */ + 0xB7, 0x95, 0xB7, 0x96, 0xB7, 0x97, 0xB7, 0x98, /* 0xC4-0xC7 */ + 0xB7, 0x99, 0xB7, 0x9A, 0xB7, 0x9B, 0xB7, 0x9C, /* 0xC8-0xCB */ + 0xB7, 0x9D, 0xB7, 0x9E, 0xB7, 0x9F, 0xB7, 0xA0, /* 0xCC-0xCF */ + 0xB8, 0x41, 0xB8, 0x42, 0xB8, 0x43, 0xB8, 0x44, /* 0xD0-0xD3 */ + 0xB8, 0x45, 0xB8, 0x46, 0xB8, 0x47, 0xB8, 0x48, /* 0xD4-0xD7 */ + 0xC5, 0xEF, 0xB8, 0x49, 0xB8, 0x4A, 0xB8, 0x4B, /* 0xD8-0xDB */ + 0xB8, 0x4C, 0xB8, 0x4D, 0xB8, 0x4E, 0xB8, 0x4F, /* 0xDC-0xDF */ + 0xB8, 0x50, 0xB8, 0x51, 0xB8, 0x52, 0xB8, 0x53, /* 0xE0-0xE3 */ + 0xB8, 0x54, 0xB8, 0x55, 0xB8, 0x56, 0xB8, 0x57, /* 0xE4-0xE7 */ + 0xB8, 0x58, 0xB8, 0x59, 0xB8, 0x5A, 0xB8, 0x61, /* 0xE8-0xEB */ + 0xB8, 0x62, 0xB8, 0x63, 0xB8, 0x64, 0xB8, 0x65, /* 0xEC-0xEF */ + 0xB8, 0x66, 0xB8, 0x67, 0xB8, 0x68, 0xB8, 0x69, /* 0xF0-0xF3 */ + 0xC5, 0xF0, 0xB8, 0x6A, 0xB8, 0x6B, 0xB8, 0x6C, /* 0xF4-0xF7 */ + 0xC5, 0xF1, 0xB8, 0x6D, 0xB8, 0x6E, 0xB8, 0x6F, /* 0xF8-0xFB */ + 0xB8, 0x70, 0xB8, 0x71, 0xB8, 0x72, 0xB8, 0x73, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_D2[512] = { + 0xB8, 0x74, 0xB8, 0x75, 0xB8, 0x76, 0xB8, 0x77, /* 0x00-0x03 */ + 0xB8, 0x78, 0xB8, 0x79, 0xB8, 0x7A, 0xC5, 0xF2, /* 0x04-0x07 */ + 0xB8, 0x81, 0xC5, 0xF3, 0xB8, 0x82, 0xB8, 0x83, /* 0x08-0x0B */ + 0xB8, 0x84, 0xB8, 0x85, 0xB8, 0x86, 0xB8, 0x87, /* 0x0C-0x0F */ + 0xC5, 0xF4, 0xB8, 0x88, 0xB8, 0x89, 0xB8, 0x8A, /* 0x10-0x13 */ + 0xB8, 0x8B, 0xB8, 0x8C, 0xB8, 0x8D, 0xB8, 0x8E, /* 0x14-0x17 */ + 0xB8, 0x8F, 0xB8, 0x90, 0xB8, 0x91, 0xB8, 0x92, /* 0x18-0x1B */ + 0xB8, 0x93, 0xB8, 0x94, 0xB8, 0x95, 0xB8, 0x96, /* 0x1C-0x1F */ + 0xB8, 0x97, 0xB8, 0x98, 0xB8, 0x99, 0xB8, 0x9A, /* 0x20-0x23 */ + 0xB8, 0x9B, 0xB8, 0x9C, 0xB8, 0x9D, 0xB8, 0x9E, /* 0x24-0x27 */ + 0xB8, 0x9F, 0xB8, 0xA0, 0xB9, 0x41, 0xB9, 0x42, /* 0x28-0x2B */ + 0xC5, 0xF5, 0xC5, 0xF6, 0xB9, 0x43, 0xB9, 0x44, /* 0x2C-0x2F */ + 0xC5, 0xF7, 0xB9, 0x45, 0xB9, 0x46, 0xB9, 0x47, /* 0x30-0x33 */ + 0xC5, 0xF8, 0xB9, 0x48, 0xB9, 0x49, 0xB9, 0x4A, /* 0x34-0x37 */ + 0xB9, 0x4B, 0xB9, 0x4C, 0xB9, 0x4D, 0xB9, 0x4E, /* 0x38-0x3B */ + 0xC5, 0xF9, 0xC5, 0xFA, 0xB9, 0x4F, 0xC5, 0xFB, /* 0x3C-0x3F */ + 0xB9, 0x50, 0xC5, 0xFC, 0xB9, 0x51, 0xB9, 0x52, /* 0x40-0x43 */ + 0xB9, 0x53, 0xB9, 0x54, 0xB9, 0x55, 0xB9, 0x56, /* 0x44-0x47 */ + 0xC5, 0xFD, 0xB9, 0x57, 0xB9, 0x58, 0xB9, 0x59, /* 0x48-0x4B */ + 0xB9, 0x5A, 0xB9, 0x61, 0xB9, 0x62, 0xB9, 0x63, /* 0x4C-0x4F */ + 0xB9, 0x64, 0xB9, 0x65, 0xB9, 0x66, 0xB9, 0x67, /* 0x50-0x53 */ + 0xB9, 0x68, 0xB9, 0x69, 0xB9, 0x6A, 0xB9, 0x6B, /* 0x54-0x57 */ + 0xB9, 0x6C, 0xB9, 0x6D, 0xB9, 0x6E, 0xB9, 0x6F, /* 0x58-0x5B */ + 0xC5, 0xFE, 0xB9, 0x70, 0xB9, 0x71, 0xB9, 0x72, /* 0x5C-0x5F */ + 0xB9, 0x73, 0xB9, 0x74, 0xB9, 0x75, 0xB9, 0x76, /* 0x60-0x63 */ + 0xC6, 0xA1, 0xB9, 0x77, 0xB9, 0x78, 0xB9, 0x79, /* 0x64-0x67 */ + 0xB9, 0x7A, 0xB9, 0x81, 0xB9, 0x82, 0xB9, 0x83, /* 0x68-0x6B */ + 0xB9, 0x84, 0xB9, 0x85, 0xB9, 0x86, 0xB9, 0x87, /* 0x6C-0x6F */ + 0xB9, 0x88, 0xB9, 0x89, 0xB9, 0x8A, 0xB9, 0x8B, /* 0x70-0x73 */ + 0xB9, 0x8C, 0xB9, 0x8D, 0xB9, 0x8E, 0xB9, 0x8F, /* 0x74-0x77 */ + 0xB9, 0x90, 0xB9, 0x91, 0xB9, 0x92, 0xB9, 0x93, /* 0x78-0x7B */ + 0xB9, 0x94, 0xB9, 0x95, 0xB9, 0x96, 0xB9, 0x97, /* 0x7C-0x7F */ + + 0xC6, 0xA2, 0xC6, 0xA3, 0xB9, 0x98, 0xB9, 0x99, /* 0x80-0x83 */ + 0xC6, 0xA4, 0xB9, 0x9A, 0xB9, 0x9B, 0xB9, 0x9C, /* 0x84-0x87 */ + 0xC6, 0xA5, 0xB9, 0x9D, 0xB9, 0x9E, 0xB9, 0x9F, /* 0x88-0x8B */ + 0xB9, 0xA0, 0xBA, 0x41, 0xBA, 0x42, 0xBA, 0x43, /* 0x8C-0x8F */ + 0xC6, 0xA6, 0xC6, 0xA7, 0xBA, 0x44, 0xBA, 0x45, /* 0x90-0x93 */ + 0xBA, 0x46, 0xC6, 0xA8, 0xBA, 0x47, 0xBA, 0x48, /* 0x94-0x97 */ + 0xBA, 0x49, 0xBA, 0x4A, 0xBA, 0x4B, 0xBA, 0x4C, /* 0x98-0x9B */ + 0xC6, 0xA9, 0xBA, 0x4D, 0xBA, 0x4E, 0xBA, 0x4F, /* 0x9C-0x9F */ + 0xC6, 0xAA, 0xBA, 0x50, 0xBA, 0x51, 0xBA, 0x52, /* 0xA0-0xA3 */ + 0xC6, 0xAB, 0xBA, 0x53, 0xBA, 0x54, 0xBA, 0x55, /* 0xA4-0xA7 */ + 0xBA, 0x56, 0xBA, 0x57, 0xBA, 0x58, 0xBA, 0x59, /* 0xA8-0xAB */ + 0xC6, 0xAC, 0xBA, 0x5A, 0xBA, 0x61, 0xBA, 0x62, /* 0xAC-0xAF */ + 0xBA, 0x63, 0xC6, 0xAD, 0xBA, 0x64, 0xBA, 0x65, /* 0xB0-0xB3 */ + 0xBA, 0x66, 0xBA, 0x67, 0xBA, 0x68, 0xBA, 0x69, /* 0xB4-0xB7 */ + 0xC6, 0xAE, 0xC6, 0xAF, 0xBA, 0x6A, 0xBA, 0x6B, /* 0xB8-0xBB */ + 0xC6, 0xB0, 0xBA, 0x6C, 0xBA, 0x6D, 0xC6, 0xB1, /* 0xBC-0xBF */ + 0xC6, 0xB2, 0xBA, 0x6E, 0xC6, 0xB3, 0xBA, 0x6F, /* 0xC0-0xC3 */ + 0xBA, 0x70, 0xBA, 0x71, 0xBA, 0x72, 0xBA, 0x73, /* 0xC4-0xC7 */ + 0xC6, 0xB4, 0xC6, 0xB5, 0xBA, 0x74, 0xC6, 0xB6, /* 0xC8-0xCB */ + 0xBA, 0x75, 0xBA, 0x76, 0xBA, 0x77, 0xBA, 0x78, /* 0xCC-0xCF */ + 0xBA, 0x79, 0xBA, 0x7A, 0xBA, 0x81, 0xBA, 0x82, /* 0xD0-0xD3 */ + 0xC6, 0xB7, 0xBA, 0x83, 0xBA, 0x84, 0xBA, 0x85, /* 0xD4-0xD7 */ + 0xC6, 0xB8, 0xBA, 0x86, 0xBA, 0x87, 0xBA, 0x88, /* 0xD8-0xDB */ + 0xC6, 0xB9, 0xBA, 0x89, 0xBA, 0x8A, 0xBA, 0x8B, /* 0xDC-0xDF */ + 0xBA, 0x8C, 0xBA, 0x8D, 0xBA, 0x8E, 0xBA, 0x8F, /* 0xE0-0xE3 */ + 0xC6, 0xBA, 0xC6, 0xBB, 0xBA, 0x90, 0xBA, 0x91, /* 0xE4-0xE7 */ + 0xBA, 0x92, 0xBA, 0x93, 0xBA, 0x94, 0xBA, 0x95, /* 0xE8-0xEB */ + 0xBA, 0x96, 0xBA, 0x97, 0xBA, 0x98, 0xBA, 0x99, /* 0xEC-0xEF */ + 0xC6, 0xBC, 0xC6, 0xBD, 0xBA, 0x9A, 0xBA, 0x9B, /* 0xF0-0xF3 */ + 0xC6, 0xBE, 0xBA, 0x9C, 0xBA, 0x9D, 0xBA, 0x9E, /* 0xF4-0xF7 */ + 0xC6, 0xBF, 0xBA, 0x9F, 0xBA, 0xA0, 0xBB, 0x41, /* 0xF8-0xFB */ + 0xBB, 0x42, 0xBB, 0x43, 0xBB, 0x44, 0xBB, 0x45, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_D3[512] = { + 0xC6, 0xC0, 0xC6, 0xC1, 0xBB, 0x46, 0xC6, 0xC2, /* 0x00-0x03 */ + 0xBB, 0x47, 0xC6, 0xC3, 0xBB, 0x48, 0xBB, 0x49, /* 0x04-0x07 */ + 0xBB, 0x4A, 0xBB, 0x4B, 0xBB, 0x4C, 0xBB, 0x4D, /* 0x08-0x0B */ + 0xC6, 0xC4, 0xC6, 0xC5, 0xC6, 0xC6, 0xBB, 0x4E, /* 0x0C-0x0F */ + 0xC6, 0xC7, 0xBB, 0x4F, 0xBB, 0x50, 0xBB, 0x51, /* 0x10-0x13 */ + 0xC6, 0xC8, 0xBB, 0x52, 0xC6, 0xC9, 0xBB, 0x53, /* 0x14-0x17 */ + 0xBB, 0x54, 0xBB, 0x55, 0xBB, 0x56, 0xBB, 0x57, /* 0x18-0x1B */ + 0xC6, 0xCA, 0xC6, 0xCB, 0xBB, 0x58, 0xC6, 0xCC, /* 0x1C-0x1F */ + 0xC6, 0xCD, 0xC6, 0xCE, 0xBB, 0x59, 0xBB, 0x5A, /* 0x20-0x23 */ + 0xBB, 0x61, 0xC6, 0xCF, 0xBB, 0x62, 0xBB, 0x63, /* 0x24-0x27 */ + 0xC6, 0xD0, 0xC6, 0xD1, 0xBB, 0x64, 0xBB, 0x65, /* 0x28-0x2B */ + 0xC6, 0xD2, 0xBB, 0x66, 0xBB, 0x67, 0xBB, 0x68, /* 0x2C-0x2F */ + 0xC6, 0xD3, 0xBB, 0x69, 0xBB, 0x6A, 0xBB, 0x6B, /* 0x30-0x33 */ + 0xBB, 0x6C, 0xBB, 0x6D, 0xBB, 0x6E, 0xBB, 0x6F, /* 0x34-0x37 */ + 0xC6, 0xD4, 0xC6, 0xD5, 0xBB, 0x70, 0xC6, 0xD6, /* 0x38-0x3B */ + 0xC6, 0xD7, 0xC6, 0xD8, 0xBB, 0x71, 0xBB, 0x72, /* 0x3C-0x3F */ + 0xBB, 0x73, 0xBB, 0x74, 0xBB, 0x75, 0xBB, 0x76, /* 0x40-0x43 */ + 0xC6, 0xD9, 0xC6, 0xDA, 0xBB, 0x77, 0xBB, 0x78, /* 0x44-0x47 */ + 0xBB, 0x79, 0xBB, 0x7A, 0xBB, 0x81, 0xBB, 0x82, /* 0x48-0x4B */ + 0xBB, 0x83, 0xBB, 0x84, 0xBB, 0x85, 0xBB, 0x86, /* 0x4C-0x4F */ + 0xBB, 0x87, 0xBB, 0x88, 0xBB, 0x89, 0xBB, 0x8A, /* 0x50-0x53 */ + 0xBB, 0x8B, 0xBB, 0x8C, 0xBB, 0x8D, 0xBB, 0x8E, /* 0x54-0x57 */ + 0xBB, 0x8F, 0xBB, 0x90, 0xBB, 0x91, 0xBB, 0x92, /* 0x58-0x5B */ + 0xBB, 0x93, 0xBB, 0x94, 0xBB, 0x95, 0xBB, 0x96, /* 0x5C-0x5F */ + 0xBB, 0x97, 0xBB, 0x98, 0xBB, 0x99, 0xBB, 0x9A, /* 0x60-0x63 */ + 0xBB, 0x9B, 0xBB, 0x9C, 0xBB, 0x9D, 0xBB, 0x9E, /* 0x64-0x67 */ + 0xBB, 0x9F, 0xBB, 0xA0, 0xBC, 0x41, 0xBC, 0x42, /* 0x68-0x6B */ + 0xBC, 0x43, 0xBC, 0x44, 0xBC, 0x45, 0xBC, 0x46, /* 0x6C-0x6F */ + 0xBC, 0x47, 0xBC, 0x48, 0xBC, 0x49, 0xBC, 0x4A, /* 0x70-0x73 */ + 0xBC, 0x4B, 0xBC, 0x4C, 0xBC, 0x4D, 0xBC, 0x4E, /* 0x74-0x77 */ + 0xBC, 0x4F, 0xBC, 0x50, 0xBC, 0x51, 0xBC, 0x52, /* 0x78-0x7B */ + 0xC6, 0xDB, 0xC6, 0xDC, 0xBC, 0x53, 0xBC, 0x54, /* 0x7C-0x7F */ + + 0xC6, 0xDD, 0xBC, 0x55, 0xBC, 0x56, 0xBC, 0x57, /* 0x80-0x83 */ + 0xC6, 0xDE, 0xBC, 0x58, 0xBC, 0x59, 0xBC, 0x5A, /* 0x84-0x87 */ + 0xBC, 0x61, 0xBC, 0x62, 0xBC, 0x63, 0xBC, 0x64, /* 0x88-0x8B */ + 0xC6, 0xDF, 0xC6, 0xE0, 0xBC, 0x65, 0xC6, 0xE1, /* 0x8C-0x8F */ + 0xC6, 0xE2, 0xC6, 0xE3, 0xBC, 0x66, 0xBC, 0x67, /* 0x90-0x93 */ + 0xBC, 0x68, 0xBC, 0x69, 0xBC, 0x6A, 0xBC, 0x6B, /* 0x94-0x97 */ + 0xC6, 0xE4, 0xC6, 0xE5, 0xBC, 0x6C, 0xBC, 0x6D, /* 0x98-0x9B */ + 0xC6, 0xE6, 0xBC, 0x6E, 0xBC, 0x6F, 0xBC, 0x70, /* 0x9C-0x9F */ + 0xC6, 0xE7, 0xBC, 0x71, 0xBC, 0x72, 0xBC, 0x73, /* 0xA0-0xA3 */ + 0xBC, 0x74, 0xBC, 0x75, 0xBC, 0x76, 0xBC, 0x77, /* 0xA4-0xA7 */ + 0xC6, 0xE8, 0xC6, 0xE9, 0xBC, 0x78, 0xC6, 0xEA, /* 0xA8-0xAB */ + 0xBC, 0x79, 0xC6, 0xEB, 0xBC, 0x7A, 0xBC, 0x81, /* 0xAC-0xAF */ + 0xBC, 0x82, 0xBC, 0x83, 0xBC, 0x84, 0xBC, 0x85, /* 0xB0-0xB3 */ + 0xC6, 0xEC, 0xBC, 0x86, 0xBC, 0x87, 0xBC, 0x88, /* 0xB4-0xB7 */ + 0xC6, 0xED, 0xBC, 0x89, 0xBC, 0x8A, 0xBC, 0x8B, /* 0xB8-0xBB */ + 0xC6, 0xEE, 0xBC, 0x8C, 0xBC, 0x8D, 0xBC, 0x8E, /* 0xBC-0xBF */ + 0xBC, 0x8F, 0xBC, 0x90, 0xBC, 0x91, 0xBC, 0x92, /* 0xC0-0xC3 */ + 0xC6, 0xEF, 0xC6, 0xF0, 0xBC, 0x93, 0xBC, 0x94, /* 0xC4-0xC7 */ + 0xC6, 0xF1, 0xC6, 0xF2, 0xBC, 0x95, 0xBC, 0x96, /* 0xC8-0xCB */ + 0xBC, 0x97, 0xBC, 0x98, 0xBC, 0x99, 0xBC, 0x9A, /* 0xCC-0xCF */ + 0xC6, 0xF3, 0xBC, 0x9B, 0xBC, 0x9C, 0xBC, 0x9D, /* 0xD0-0xD3 */ + 0xBC, 0x9E, 0xBC, 0x9F, 0xBC, 0xA0, 0xBD, 0x41, /* 0xD4-0xD7 */ + 0xC6, 0xF4, 0xBD, 0x42, 0xBD, 0x43, 0xBD, 0x44, /* 0xD8-0xDB */ + 0xBD, 0x45, 0xBD, 0x46, 0xBD, 0x47, 0xBD, 0x48, /* 0xDC-0xDF */ + 0xBD, 0x49, 0xC6, 0xF5, 0xBD, 0x4A, 0xC6, 0xF6, /* 0xE0-0xE3 */ + 0xBD, 0x4B, 0xBD, 0x4C, 0xBD, 0x4D, 0xBD, 0x4E, /* 0xE4-0xE7 */ + 0xBD, 0x4F, 0xBD, 0x50, 0xBD, 0x51, 0xBD, 0x52, /* 0xE8-0xEB */ + 0xC6, 0xF7, 0xC6, 0xF8, 0xBD, 0x53, 0xBD, 0x54, /* 0xEC-0xEF */ + 0xC6, 0xF9, 0xBD, 0x55, 0xBD, 0x56, 0xBD, 0x57, /* 0xF0-0xF3 */ + 0xC6, 0xFA, 0xBD, 0x58, 0xBD, 0x59, 0xBD, 0x5A, /* 0xF4-0xF7 */ + 0xBD, 0x61, 0xBD, 0x62, 0xBD, 0x63, 0xBD, 0x64, /* 0xF8-0xFB */ + 0xC6, 0xFB, 0xC6, 0xFC, 0xBD, 0x65, 0xC6, 0xFD, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_D4[512] = { + 0xBD, 0x66, 0xC6, 0xFE, 0xBD, 0x67, 0xBD, 0x68, /* 0x00-0x03 */ + 0xBD, 0x69, 0xBD, 0x6A, 0xBD, 0x6B, 0xBD, 0x6C, /* 0x04-0x07 */ + 0xC7, 0xA1, 0xBD, 0x6D, 0xBD, 0x6E, 0xBD, 0x6F, /* 0x08-0x0B */ + 0xBD, 0x70, 0xBD, 0x71, 0xBD, 0x72, 0xBD, 0x73, /* 0x0C-0x0F */ + 0xBD, 0x74, 0xBD, 0x75, 0xBD, 0x76, 0xBD, 0x77, /* 0x10-0x13 */ + 0xBD, 0x78, 0xBD, 0x79, 0xBD, 0x7A, 0xBD, 0x81, /* 0x14-0x17 */ + 0xBD, 0x82, 0xBD, 0x83, 0xBD, 0x84, 0xBD, 0x85, /* 0x18-0x1B */ + 0xBD, 0x86, 0xC7, 0xA2, 0xBD, 0x87, 0xBD, 0x88, /* 0x1C-0x1F */ + 0xBD, 0x89, 0xBD, 0x8A, 0xBD, 0x8B, 0xBD, 0x8C, /* 0x20-0x23 */ + 0xBD, 0x8D, 0xBD, 0x8E, 0xBD, 0x8F, 0xBD, 0x90, /* 0x24-0x27 */ + 0xBD, 0x91, 0xBD, 0x92, 0xBD, 0x93, 0xBD, 0x94, /* 0x28-0x2B */ + 0xBD, 0x95, 0xBD, 0x96, 0xBD, 0x97, 0xBD, 0x98, /* 0x2C-0x2F */ + 0xBD, 0x99, 0xBD, 0x9A, 0xBD, 0x9B, 0xBD, 0x9C, /* 0x30-0x33 */ + 0xBD, 0x9D, 0xBD, 0x9E, 0xBD, 0x9F, 0xBD, 0xA0, /* 0x34-0x37 */ + 0xBE, 0x41, 0xBE, 0x42, 0xBE, 0x43, 0xBE, 0x44, /* 0x38-0x3B */ + 0xBE, 0x45, 0xBE, 0x46, 0xBE, 0x47, 0xBE, 0x48, /* 0x3C-0x3F */ + 0xC7, 0xA3, 0xBE, 0x49, 0xBE, 0x4A, 0xBE, 0x4B, /* 0x40-0x43 */ + 0xC7, 0xA4, 0xBE, 0x4C, 0xBE, 0x4D, 0xBE, 0x4E, /* 0x44-0x47 */ + 0xBE, 0x4F, 0xBE, 0x50, 0xBE, 0x51, 0xBE, 0x52, /* 0x48-0x4B */ + 0xBE, 0x53, 0xBE, 0x54, 0xBE, 0x55, 0xBE, 0x56, /* 0x4C-0x4F */ + 0xBE, 0x57, 0xBE, 0x58, 0xBE, 0x59, 0xBE, 0x5A, /* 0x50-0x53 */ + 0xBE, 0x61, 0xBE, 0x62, 0xBE, 0x63, 0xBE, 0x64, /* 0x54-0x57 */ + 0xBE, 0x65, 0xBE, 0x66, 0xBE, 0x67, 0xBE, 0x68, /* 0x58-0x5B */ + 0xC7, 0xA5, 0xBE, 0x69, 0xBE, 0x6A, 0xBE, 0x6B, /* 0x5C-0x5F */ + 0xC7, 0xA6, 0xBE, 0x6C, 0xBE, 0x6D, 0xBE, 0x6E, /* 0x60-0x63 */ + 0xC7, 0xA7, 0xBE, 0x6F, 0xBE, 0x70, 0xBE, 0x71, /* 0x64-0x67 */ + 0xBE, 0x72, 0xBE, 0x73, 0xBE, 0x74, 0xBE, 0x75, /* 0x68-0x6B */ + 0xBE, 0x76, 0xC7, 0xA8, 0xBE, 0x77, 0xC7, 0xA9, /* 0x6C-0x6F */ + 0xBE, 0x78, 0xBE, 0x79, 0xBE, 0x7A, 0xBE, 0x81, /* 0x70-0x73 */ + 0xBE, 0x82, 0xBE, 0x83, 0xBE, 0x84, 0xBE, 0x85, /* 0x74-0x77 */ + 0xC7, 0xAA, 0xC7, 0xAB, 0xBE, 0x86, 0xBE, 0x87, /* 0x78-0x7B */ + 0xC7, 0xAC, 0xBE, 0x88, 0xBE, 0x89, 0xC7, 0xAD, /* 0x7C-0x7F */ + + 0xC7, 0xAE, 0xBE, 0x8A, 0xC7, 0xAF, 0xBE, 0x8B, /* 0x80-0x83 */ + 0xBE, 0x8C, 0xBE, 0x8D, 0xBE, 0x8E, 0xBE, 0x8F, /* 0x84-0x87 */ + 0xC7, 0xB0, 0xC7, 0xB1, 0xBE, 0x90, 0xC7, 0xB2, /* 0x88-0x8B */ + 0xBE, 0x91, 0xC7, 0xB3, 0xBE, 0x92, 0xBE, 0x93, /* 0x8C-0x8F */ + 0xBE, 0x94, 0xBE, 0x95, 0xBE, 0x96, 0xBE, 0x97, /* 0x90-0x93 */ + 0xC7, 0xB4, 0xBE, 0x98, 0xBE, 0x99, 0xBE, 0x9A, /* 0x94-0x97 */ + 0xBE, 0x9B, 0xBE, 0x9C, 0xBE, 0x9D, 0xBE, 0x9E, /* 0x98-0x9B */ + 0xBE, 0x9F, 0xBE, 0xA0, 0xBF, 0x41, 0xBF, 0x42, /* 0x9C-0x9F */ + 0xBF, 0x43, 0xBF, 0x44, 0xBF, 0x45, 0xBF, 0x46, /* 0xA0-0xA3 */ + 0xBF, 0x47, 0xBF, 0x48, 0xBF, 0x49, 0xBF, 0x4A, /* 0xA4-0xA7 */ + 0xBF, 0x4B, 0xC7, 0xB5, 0xBF, 0x4C, 0xBF, 0x4D, /* 0xA8-0xAB */ + 0xBF, 0x4E, 0xBF, 0x4F, 0xBF, 0x50, 0xBF, 0x51, /* 0xAC-0xAF */ + 0xBF, 0x52, 0xBF, 0x53, 0xBF, 0x54, 0xBF, 0x55, /* 0xB0-0xB3 */ + 0xBF, 0x56, 0xBF, 0x57, 0xBF, 0x58, 0xBF, 0x59, /* 0xB4-0xB7 */ + 0xBF, 0x5A, 0xBF, 0x61, 0xBF, 0x62, 0xBF, 0x63, /* 0xB8-0xBB */ + 0xBF, 0x64, 0xBF, 0x65, 0xBF, 0x66, 0xBF, 0x67, /* 0xBC-0xBF */ + 0xBF, 0x68, 0xBF, 0x69, 0xBF, 0x6A, 0xBF, 0x6B, /* 0xC0-0xC3 */ + 0xBF, 0x6C, 0xBF, 0x6D, 0xBF, 0x6E, 0xBF, 0x6F, /* 0xC4-0xC7 */ + 0xBF, 0x70, 0xBF, 0x71, 0xBF, 0x72, 0xBF, 0x73, /* 0xC8-0xCB */ + 0xC7, 0xB6, 0xBF, 0x74, 0xBF, 0x75, 0xBF, 0x76, /* 0xCC-0xCF */ + 0xC7, 0xB7, 0xBF, 0x77, 0xBF, 0x78, 0xBF, 0x79, /* 0xD0-0xD3 */ + 0xC7, 0xB8, 0xBF, 0x7A, 0xBF, 0x81, 0xBF, 0x82, /* 0xD4-0xD7 */ + 0xBF, 0x83, 0xBF, 0x84, 0xBF, 0x85, 0xBF, 0x86, /* 0xD8-0xDB */ + 0xC7, 0xB9, 0xBF, 0x87, 0xBF, 0x88, 0xC7, 0xBA, /* 0xDC-0xDF */ + 0xBF, 0x89, 0xBF, 0x8A, 0xBF, 0x8B, 0xBF, 0x8C, /* 0xE0-0xE3 */ + 0xBF, 0x8D, 0xBF, 0x8E, 0xBF, 0x8F, 0xBF, 0x90, /* 0xE4-0xE7 */ + 0xC7, 0xBB, 0xBF, 0x91, 0xBF, 0x92, 0xBF, 0x93, /* 0xE8-0xEB */ + 0xC7, 0xBC, 0xBF, 0x94, 0xBF, 0x95, 0xBF, 0x96, /* 0xEC-0xEF */ + 0xC7, 0xBD, 0xBF, 0x97, 0xBF, 0x98, 0xBF, 0x99, /* 0xF0-0xF3 */ + 0xBF, 0x9A, 0xBF, 0x9B, 0xBF, 0x9C, 0xBF, 0x9D, /* 0xF4-0xF7 */ + 0xC7, 0xBE, 0xBF, 0x9E, 0xBF, 0x9F, 0xC7, 0xBF, /* 0xF8-0xFB */ + 0xBF, 0xA0, 0xC7, 0xC0, 0xC0, 0x41, 0xC0, 0x42, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_D5[512] = { + 0xC0, 0x43, 0xC0, 0x44, 0xC0, 0x45, 0xC0, 0x46, /* 0x00-0x03 */ + 0xC7, 0xC1, 0xC0, 0x47, 0xC0, 0x48, 0xC0, 0x49, /* 0x04-0x07 */ + 0xC7, 0xC2, 0xC0, 0x4A, 0xC0, 0x4B, 0xC0, 0x4C, /* 0x08-0x0B */ + 0xC7, 0xC3, 0xC0, 0x4D, 0xC0, 0x4E, 0xC0, 0x4F, /* 0x0C-0x0F */ + 0xC0, 0x50, 0xC0, 0x51, 0xC0, 0x52, 0xC0, 0x53, /* 0x10-0x13 */ + 0xC7, 0xC4, 0xC7, 0xC5, 0xC0, 0x54, 0xC7, 0xC6, /* 0x14-0x17 */ + 0xC0, 0x55, 0xC0, 0x56, 0xC0, 0x57, 0xC0, 0x58, /* 0x18-0x1B */ + 0xC0, 0x59, 0xC0, 0x5A, 0xC0, 0x61, 0xC0, 0x62, /* 0x1C-0x1F */ + 0xC0, 0x63, 0xC0, 0x64, 0xC0, 0x65, 0xC0, 0x66, /* 0x20-0x23 */ + 0xC0, 0x67, 0xC0, 0x68, 0xC0, 0x69, 0xC0, 0x6A, /* 0x24-0x27 */ + 0xC0, 0x6B, 0xC0, 0x6C, 0xC0, 0x6D, 0xC0, 0x6E, /* 0x28-0x2B */ + 0xC0, 0x6F, 0xC0, 0x70, 0xC0, 0x71, 0xC0, 0x72, /* 0x2C-0x2F */ + 0xC0, 0x73, 0xC0, 0x74, 0xC0, 0x75, 0xC0, 0x76, /* 0x30-0x33 */ + 0xC0, 0x77, 0xC0, 0x78, 0xC0, 0x79, 0xC0, 0x7A, /* 0x34-0x37 */ + 0xC0, 0x81, 0xC0, 0x82, 0xC0, 0x83, 0xC0, 0x84, /* 0x38-0x3B */ + 0xC7, 0xC7, 0xC7, 0xC8, 0xC0, 0x85, 0xC0, 0x86, /* 0x3C-0x3F */ + 0xC7, 0xC9, 0xC0, 0x87, 0xC0, 0x88, 0xC0, 0x89, /* 0x40-0x43 */ + 0xC7, 0xCA, 0xC0, 0x8A, 0xC0, 0x8B, 0xC0, 0x8C, /* 0x44-0x47 */ + 0xC0, 0x8D, 0xC0, 0x8E, 0xC0, 0x8F, 0xC0, 0x90, /* 0x48-0x4B */ + 0xC7, 0xCB, 0xC7, 0xCC, 0xC0, 0x91, 0xC7, 0xCD, /* 0x4C-0x4F */ + 0xC0, 0x92, 0xC7, 0xCE, 0xC0, 0x93, 0xC0, 0x94, /* 0x50-0x53 */ + 0xC0, 0x95, 0xC0, 0x96, 0xC0, 0x97, 0xC0, 0x98, /* 0x54-0x57 */ + 0xC7, 0xCF, 0xC7, 0xD0, 0xC0, 0x99, 0xC0, 0x9A, /* 0x58-0x5B */ + 0xC7, 0xD1, 0xC0, 0x9B, 0xC0, 0x9C, 0xC0, 0x9D, /* 0x5C-0x5F */ + 0xC7, 0xD2, 0xC0, 0x9E, 0xC0, 0x9F, 0xC0, 0xA0, /* 0x60-0x63 */ + 0xC1, 0x41, 0xC7, 0xD3, 0xC1, 0x42, 0xC1, 0x43, /* 0x64-0x67 */ + 0xC7, 0xD4, 0xC7, 0xD5, 0xC1, 0x44, 0xC7, 0xD6, /* 0x68-0x6B */ + 0xC1, 0x45, 0xC7, 0xD7, 0xC1, 0x46, 0xC1, 0x47, /* 0x6C-0x6F */ + 0xC1, 0x48, 0xC1, 0x49, 0xC1, 0x4A, 0xC1, 0x4B, /* 0x70-0x73 */ + 0xC7, 0xD8, 0xC7, 0xD9, 0xC1, 0x4C, 0xC1, 0x4D, /* 0x74-0x77 */ + 0xC7, 0xDA, 0xC1, 0x4E, 0xC1, 0x4F, 0xC1, 0x50, /* 0x78-0x7B */ + 0xC7, 0xDB, 0xC1, 0x51, 0xC1, 0x52, 0xC1, 0x53, /* 0x7C-0x7F */ + + 0xC1, 0x54, 0xC1, 0x55, 0xC1, 0x56, 0xC1, 0x57, /* 0x80-0x83 */ + 0xC7, 0xDC, 0xC7, 0xDD, 0xC1, 0x58, 0xC7, 0xDE, /* 0x84-0x87 */ + 0xC7, 0xDF, 0xC7, 0xE0, 0xC1, 0x59, 0xC1, 0x5A, /* 0x88-0x8B */ + 0xC1, 0x61, 0xC1, 0x62, 0xC1, 0x63, 0xC1, 0x64, /* 0x8C-0x8F */ + 0xC7, 0xE1, 0xC1, 0x65, 0xC1, 0x66, 0xC1, 0x67, /* 0x90-0x93 */ + 0xC1, 0x68, 0xC1, 0x69, 0xC1, 0x6A, 0xC1, 0x6B, /* 0x94-0x97 */ + 0xC1, 0x6C, 0xC1, 0x6D, 0xC1, 0x6E, 0xC1, 0x6F, /* 0x98-0x9B */ + 0xC1, 0x70, 0xC1, 0x71, 0xC1, 0x72, 0xC1, 0x73, /* 0x9C-0x9F */ + 0xC1, 0x74, 0xC1, 0x75, 0xC1, 0x76, 0xC1, 0x77, /* 0xA0-0xA3 */ + 0xC1, 0x78, 0xC7, 0xE2, 0xC1, 0x79, 0xC1, 0x7A, /* 0xA4-0xA7 */ + 0xC1, 0x81, 0xC1, 0x82, 0xC1, 0x83, 0xC1, 0x84, /* 0xA8-0xAB */ + 0xC1, 0x85, 0xC1, 0x86, 0xC1, 0x87, 0xC1, 0x88, /* 0xAC-0xAF */ + 0xC1, 0x89, 0xC1, 0x8A, 0xC1, 0x8B, 0xC1, 0x8C, /* 0xB0-0xB3 */ + 0xC1, 0x8D, 0xC1, 0x8E, 0xC1, 0x8F, 0xC1, 0x90, /* 0xB4-0xB7 */ + 0xC1, 0x91, 0xC1, 0x92, 0xC1, 0x93, 0xC1, 0x94, /* 0xB8-0xBB */ + 0xC1, 0x95, 0xC1, 0x96, 0xC1, 0x97, 0xC1, 0x98, /* 0xBC-0xBF */ + 0xC1, 0x99, 0xC1, 0x9A, 0xC1, 0x9B, 0xC1, 0x9C, /* 0xC0-0xC3 */ + 0xC1, 0x9D, 0xC1, 0x9E, 0xC1, 0x9F, 0xC1, 0xA0, /* 0xC4-0xC7 */ + 0xC7, 0xE3, 0xC7, 0xE4, 0xC2, 0x41, 0xC2, 0x42, /* 0xC8-0xCB */ + 0xC7, 0xE5, 0xC2, 0x43, 0xC2, 0x44, 0xC2, 0x45, /* 0xCC-0xCF */ + 0xC7, 0xE6, 0xC2, 0x46, 0xC7, 0xE7, 0xC2, 0x47, /* 0xD0-0xD3 */ + 0xC2, 0x48, 0xC2, 0x49, 0xC2, 0x4A, 0xC2, 0x4B, /* 0xD4-0xD7 */ + 0xC7, 0xE8, 0xC7, 0xE9, 0xC2, 0x4C, 0xC7, 0xEA, /* 0xD8-0xDB */ + 0xC2, 0x4D, 0xC7, 0xEB, 0xC2, 0x4E, 0xC2, 0x4F, /* 0xDC-0xDF */ + 0xC2, 0x50, 0xC2, 0x51, 0xC2, 0x52, 0xC2, 0x53, /* 0xE0-0xE3 */ + 0xC7, 0xEC, 0xC7, 0xED, 0xC2, 0x54, 0xC2, 0x55, /* 0xE4-0xE7 */ + 0xC7, 0xEE, 0xC2, 0x56, 0xC2, 0x57, 0xC2, 0x58, /* 0xE8-0xEB */ + 0xC7, 0xEF, 0xC2, 0x59, 0xC2, 0x5A, 0xC2, 0x61, /* 0xEC-0xEF */ + 0xC2, 0x62, 0xC2, 0x63, 0xC2, 0x64, 0xC2, 0x65, /* 0xF0-0xF3 */ + 0xC7, 0xF0, 0xC7, 0xF1, 0xC2, 0x66, 0xC7, 0xF2, /* 0xF4-0xF7 */ + 0xC2, 0x67, 0xC7, 0xF3, 0xC2, 0x68, 0xC2, 0x69, /* 0xF8-0xFB */ + 0xC2, 0x6A, 0xC2, 0x6B, 0xC2, 0x6C, 0xC2, 0x6D, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_D6[512] = { + 0xC7, 0xF4, 0xC7, 0xF5, 0xC2, 0x6E, 0xC2, 0x6F, /* 0x00-0x03 */ + 0xC7, 0xF6, 0xC2, 0x70, 0xC2, 0x71, 0xC2, 0x72, /* 0x04-0x07 */ + 0xC7, 0xF7, 0xC2, 0x73, 0xC2, 0x74, 0xC2, 0x75, /* 0x08-0x0B */ + 0xC2, 0x76, 0xC2, 0x77, 0xC2, 0x78, 0xC2, 0x79, /* 0x0C-0x0F */ + 0xC7, 0xF8, 0xC7, 0xF9, 0xC2, 0x7A, 0xC7, 0xFA, /* 0x10-0x13 */ + 0xC7, 0xFB, 0xC7, 0xFC, 0xC2, 0x81, 0xC2, 0x82, /* 0x14-0x17 */ + 0xC2, 0x83, 0xC2, 0x84, 0xC2, 0x85, 0xC2, 0x86, /* 0x18-0x1B */ + 0xC7, 0xFD, 0xC2, 0x87, 0xC2, 0x88, 0xC2, 0x89, /* 0x1C-0x1F */ + 0xC7, 0xFE, 0xC2, 0x8A, 0xC2, 0x8B, 0xC2, 0x8C, /* 0x20-0x23 */ + 0xC8, 0xA1, 0xC2, 0x8D, 0xC2, 0x8E, 0xC2, 0x8F, /* 0x24-0x27 */ + 0xC2, 0x90, 0xC2, 0x91, 0xC2, 0x92, 0xC2, 0x93, /* 0x28-0x2B */ + 0xC2, 0x94, 0xC8, 0xA2, 0xC2, 0x95, 0xC2, 0x96, /* 0x2C-0x2F */ + 0xC2, 0x97, 0xC2, 0x98, 0xC2, 0x99, 0xC2, 0x9A, /* 0x30-0x33 */ + 0xC2, 0x9B, 0xC2, 0x9C, 0xC2, 0x9D, 0xC2, 0x9E, /* 0x34-0x37 */ + 0xC8, 0xA3, 0xC8, 0xA4, 0xC2, 0x9F, 0xC2, 0xA0, /* 0x38-0x3B */ + 0xC8, 0xA5, 0xC3, 0x41, 0xC3, 0x42, 0xC3, 0x43, /* 0x3C-0x3F */ + 0xC8, 0xA6, 0xC3, 0x44, 0xC3, 0x45, 0xC3, 0x46, /* 0x40-0x43 */ + 0xC3, 0x47, 0xC8, 0xA7, 0xC3, 0x48, 0xC3, 0x49, /* 0x44-0x47 */ + 0xC8, 0xA8, 0xC8, 0xA9, 0xC3, 0x4A, 0xC8, 0xAA, /* 0x48-0x4B */ + 0xC3, 0x4B, 0xC8, 0xAB, 0xC3, 0x4C, 0xC3, 0x4D, /* 0x4C-0x4F */ + 0xC3, 0x4E, 0xC8, 0xAC, 0xC3, 0x4F, 0xC3, 0x50, /* 0x50-0x53 */ + 0xC8, 0xAD, 0xC8, 0xAE, 0xC3, 0x51, 0xC3, 0x52, /* 0x54-0x57 */ + 0xC8, 0xAF, 0xC3, 0x53, 0xC3, 0x54, 0xC3, 0x55, /* 0x58-0x5B */ + 0xC8, 0xB0, 0xC3, 0x56, 0xC3, 0x57, 0xC3, 0x58, /* 0x5C-0x5F */ + 0xC3, 0x59, 0xC3, 0x5A, 0xC3, 0x61, 0xC3, 0x62, /* 0x60-0x63 */ + 0xC3, 0x63, 0xC3, 0x64, 0xC3, 0x65, 0xC8, 0xB1, /* 0x64-0x67 */ + 0xC3, 0x66, 0xC8, 0xB2, 0xC3, 0x67, 0xC3, 0x68, /* 0x68-0x6B */ + 0xC3, 0x69, 0xC3, 0x6A, 0xC3, 0x6B, 0xC3, 0x6C, /* 0x6C-0x6F */ + 0xC8, 0xB3, 0xC8, 0xB4, 0xC3, 0x6D, 0xC3, 0x6E, /* 0x70-0x73 */ + 0xC8, 0xB5, 0xC3, 0x6F, 0xC3, 0x70, 0xC3, 0x71, /* 0x74-0x77 */ + 0xC3, 0x72, 0xC3, 0x73, 0xC3, 0x74, 0xC3, 0x75, /* 0x78-0x7B */ + 0xC3, 0x76, 0xC3, 0x77, 0xC3, 0x78, 0xC3, 0x79, /* 0x7C-0x7F */ + + 0xC3, 0x7A, 0xC3, 0x81, 0xC3, 0x82, 0xC8, 0xB6, /* 0x80-0x83 */ + 0xC3, 0x83, 0xC8, 0xB7, 0xC3, 0x84, 0xC3, 0x85, /* 0x84-0x87 */ + 0xC3, 0x86, 0xC3, 0x87, 0xC3, 0x88, 0xC3, 0x89, /* 0x88-0x8B */ + 0xC8, 0xB8, 0xC8, 0xB9, 0xC3, 0x8A, 0xC3, 0x8B, /* 0x8C-0x8F */ + 0xC8, 0xBA, 0xC3, 0x8C, 0xC3, 0x8D, 0xC3, 0x8E, /* 0x90-0x93 */ + 0xC8, 0xBB, 0xC3, 0x8F, 0xC3, 0x90, 0xC3, 0x91, /* 0x94-0x97 */ + 0xC3, 0x92, 0xC3, 0x93, 0xC3, 0x94, 0xC3, 0x95, /* 0x98-0x9B */ + 0xC3, 0x96, 0xC8, 0xBC, 0xC3, 0x97, 0xC8, 0xBD, /* 0x9C-0x9F */ + 0xC3, 0x98, 0xC8, 0xBE, 0xC3, 0x99, 0xC3, 0x9A, /* 0xA0-0xA3 */ + 0xC3, 0x9B, 0xC3, 0x9C, 0xC3, 0x9D, 0xC3, 0x9E, /* 0xA4-0xA7 */ + 0xC8, 0xBF, 0xC3, 0x9F, 0xC3, 0xA0, 0xC4, 0x41, /* 0xA8-0xAB */ + 0xC8, 0xC0, 0xC4, 0x42, 0xC4, 0x43, 0xC4, 0x44, /* 0xAC-0xAF */ + 0xC8, 0xC1, 0xC4, 0x45, 0xC4, 0x46, 0xC4, 0x47, /* 0xB0-0xB3 */ + 0xC4, 0x48, 0xC4, 0x49, 0xC4, 0x4A, 0xC4, 0x4B, /* 0xB4-0xB7 */ + 0xC4, 0x4C, 0xC8, 0xC2, 0xC4, 0x4D, 0xC8, 0xC3, /* 0xB8-0xBB */ + 0xC4, 0x4E, 0xC4, 0x4F, 0xC4, 0x50, 0xC4, 0x51, /* 0xBC-0xBF */ + 0xC4, 0x52, 0xC4, 0x53, 0xC4, 0x54, 0xC4, 0x55, /* 0xC0-0xC3 */ + 0xC8, 0xC4, 0xC8, 0xC5, 0xC4, 0x56, 0xC4, 0x57, /* 0xC4-0xC7 */ + 0xC8, 0xC6, 0xC4, 0x58, 0xC4, 0x59, 0xC4, 0x5A, /* 0xC8-0xCB */ + 0xC8, 0xC7, 0xC4, 0x61, 0xC4, 0x62, 0xC4, 0x63, /* 0xCC-0xCF */ + 0xC4, 0x64, 0xC8, 0xC8, 0xC4, 0x65, 0xC4, 0x66, /* 0xD0-0xD3 */ + 0xC8, 0xC9, 0xC4, 0x67, 0xC4, 0x68, 0xC8, 0xCA, /* 0xD4-0xD7 */ + 0xC4, 0x69, 0xC8, 0xCB, 0xC4, 0x6A, 0xC4, 0x6B, /* 0xD8-0xDB */ + 0xC4, 0x6C, 0xC4, 0x6D, 0xC4, 0x6E, 0xC4, 0x6F, /* 0xDC-0xDF */ + 0xC8, 0xCC, 0xC4, 0x70, 0xC4, 0x71, 0xC4, 0x72, /* 0xE0-0xE3 */ + 0xC8, 0xCD, 0xC4, 0x73, 0xC4, 0x74, 0xC4, 0x75, /* 0xE4-0xE7 */ + 0xC8, 0xCE, 0xC4, 0x76, 0xC4, 0x77, 0xC4, 0x78, /* 0xE8-0xEB */ + 0xC4, 0x79, 0xC4, 0x7A, 0xC4, 0x81, 0xC4, 0x82, /* 0xEC-0xEF */ + 0xC8, 0xCF, 0xC4, 0x83, 0xC4, 0x84, 0xC4, 0x85, /* 0xF0-0xF3 */ + 0xC4, 0x86, 0xC8, 0xD0, 0xC4, 0x87, 0xC4, 0x88, /* 0xF4-0xF7 */ + 0xC4, 0x89, 0xC4, 0x8A, 0xC4, 0x8B, 0xC4, 0x8C, /* 0xF8-0xFB */ + 0xC8, 0xD1, 0xC8, 0xD2, 0xC4, 0x8D, 0xC4, 0x8E, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_D7[512] = { + 0xC8, 0xD3, 0xC4, 0x8F, 0xC4, 0x90, 0xC4, 0x91, /* 0x00-0x03 */ + 0xC8, 0xD4, 0xC4, 0x92, 0xC4, 0x93, 0xC4, 0x94, /* 0x04-0x07 */ + 0xC4, 0x95, 0xC4, 0x96, 0xC4, 0x97, 0xC4, 0x98, /* 0x08-0x0B */ + 0xC4, 0x99, 0xC4, 0x9A, 0xC4, 0x9B, 0xC4, 0x9C, /* 0x0C-0x0F */ + 0xC4, 0x9D, 0xC8, 0xD5, 0xC4, 0x9E, 0xC4, 0x9F, /* 0x10-0x13 */ + 0xC4, 0xA0, 0xC5, 0x41, 0xC5, 0x42, 0xC5, 0x43, /* 0x14-0x17 */ + 0xC8, 0xD6, 0xC8, 0xD7, 0xC5, 0x44, 0xC5, 0x45, /* 0x18-0x1B */ + 0xC8, 0xD8, 0xC5, 0x46, 0xC5, 0x47, 0xC5, 0x48, /* 0x1C-0x1F */ + 0xC8, 0xD9, 0xC5, 0x49, 0xC5, 0x4A, 0xC5, 0x4B, /* 0x20-0x23 */ + 0xC5, 0x4C, 0xC5, 0x4D, 0xC5, 0x4E, 0xC5, 0x4F, /* 0x24-0x27 */ + 0xC8, 0xDA, 0xC8, 0xDB, 0xC5, 0x50, 0xC8, 0xDC, /* 0x28-0x2B */ + 0xC5, 0x51, 0xC8, 0xDD, 0xC5, 0x52, 0xC5, 0x53, /* 0x2C-0x2F */ + 0xC5, 0x54, 0xC5, 0x55, 0xC5, 0x56, 0xC5, 0x57, /* 0x30-0x33 */ + 0xC8, 0xDE, 0xC8, 0xDF, 0xC5, 0x58, 0xC5, 0x59, /* 0x34-0x37 */ + 0xC8, 0xE0, 0xC5, 0x5A, 0xC5, 0x61, 0xC5, 0x62, /* 0x38-0x3B */ + 0xC8, 0xE1, 0xC5, 0x63, 0xC5, 0x64, 0xC5, 0x65, /* 0x3C-0x3F */ + 0xC5, 0x66, 0xC5, 0x67, 0xC5, 0x68, 0xC5, 0x69, /* 0x40-0x43 */ + 0xC8, 0xE2, 0xC5, 0x6A, 0xC5, 0x6B, 0xC8, 0xE3, /* 0x44-0x47 */ + 0xC5, 0x6C, 0xC8, 0xE4, 0xC5, 0x6D, 0xC5, 0x6E, /* 0x48-0x4B */ + 0xC5, 0x6F, 0xC5, 0x70, 0xC5, 0x71, 0xC5, 0x72, /* 0x4C-0x4F */ + 0xC8, 0xE5, 0xC8, 0xE6, 0xC5, 0x73, 0xC5, 0x74, /* 0x50-0x53 */ + 0xC8, 0xE7, 0xC5, 0x75, 0xC8, 0xE8, 0xC8, 0xE9, /* 0x54-0x57 */ + 0xC8, 0xEA, 0xC8, 0xEB, 0xC5, 0x76, 0xC5, 0x77, /* 0x58-0x5B */ + 0xC5, 0x78, 0xC5, 0x79, 0xC5, 0x7A, 0xC5, 0x81, /* 0x5C-0x5F */ + 0xC8, 0xEC, 0xC8, 0xED, 0xC5, 0x82, 0xC8, 0xEE, /* 0x60-0x63 */ + 0xC5, 0x83, 0xC8, 0xEF, 0xC5, 0x84, 0xC5, 0x85, /* 0x64-0x67 */ + 0xC5, 0x86, 0xC8, 0xF0, 0xC5, 0x87, 0xC5, 0x88, /* 0x68-0x6B */ + 0xC8, 0xF1, 0xC5, 0x89, 0xC5, 0x8A, 0xC5, 0x8B, /* 0x6C-0x6F */ + 0xC8, 0xF2, 0xC5, 0x8C, 0xC5, 0x8D, 0xC5, 0x8E, /* 0x70-0x73 */ + 0xC8, 0xF3, 0xC5, 0x8F, 0xC5, 0x90, 0xC5, 0x91, /* 0x74-0x77 */ + 0xC5, 0x92, 0xC5, 0x93, 0xC5, 0x94, 0xC5, 0x95, /* 0x78-0x7B */ + 0xC8, 0xF4, 0xC8, 0xF5, 0xC5, 0x96, 0xC5, 0x97, /* 0x7C-0x7F */ + + 0xC5, 0x98, 0xC8, 0xF6, 0xC5, 0x99, 0xC5, 0x9A, /* 0x80-0x83 */ + 0xC5, 0x9B, 0xC5, 0x9C, 0xC5, 0x9D, 0xC5, 0x9E, /* 0x84-0x87 */ + 0xC8, 0xF7, 0xC8, 0xF8, 0xC5, 0x9F, 0xC5, 0xA0, /* 0x88-0x8B */ + 0xC8, 0xF9, 0xC6, 0x41, 0xC6, 0x42, 0xC6, 0x43, /* 0x8C-0x8F */ + 0xC8, 0xFA, 0xC6, 0x44, 0xC6, 0x45, 0xC6, 0x46, /* 0x90-0x93 */ + 0xC6, 0x47, 0xC6, 0x48, 0xC6, 0x49, 0xC6, 0x4A, /* 0x94-0x97 */ + 0xC8, 0xFB, 0xC8, 0xFC, 0xC6, 0x4B, 0xC8, 0xFD, /* 0x98-0x9B */ + 0xC6, 0x4C, 0xC8, 0xFE, 0xC6, 0x4D, 0xC6, 0x4E, /* 0x9C-0x9F */ + 0xC6, 0x4F, 0xC6, 0x50, 0xC6, 0x51, 0xC6, 0x52, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_F9[512] = { + 0xCB, 0xD0, 0xCB, 0xD6, 0xCB, 0xE7, 0xCD, 0xCF, /* 0x00-0x03 */ + 0xCD, 0xE8, 0xCE, 0xAD, 0xCF, 0xFB, 0xD0, 0xA2, /* 0x04-0x07 */ + 0xD0, 0xB8, 0xD0, 0xD0, 0xD0, 0xDD, 0xD1, 0xD4, /* 0x08-0x0B */ + 0xD1, 0xD5, 0xD1, 0xD8, 0xD1, 0xDB, 0xD1, 0xDC, /* 0x0C-0x0F */ + 0xD1, 0xDD, 0xD1, 0xDE, 0xD1, 0xDF, 0xD1, 0xE0, /* 0x10-0x13 */ + 0xD1, 0xE2, 0xD1, 0xE3, 0xD1, 0xE4, 0xD1, 0xE5, /* 0x14-0x17 */ + 0xD1, 0xE6, 0xD1, 0xE8, 0xD1, 0xE9, 0xD1, 0xEA, /* 0x18-0x1B */ + 0xD1, 0xEB, 0xD1, 0xED, 0xD1, 0xEF, 0xD1, 0xF0, /* 0x1C-0x1F */ + 0xD1, 0xF2, 0xD1, 0xF6, 0xD1, 0xFA, 0xD1, 0xFC, /* 0x20-0x23 */ + 0xD1, 0xFD, 0xD1, 0xFE, 0xD2, 0xA2, 0xD2, 0xA3, /* 0x24-0x27 */ + 0xD2, 0xA7, 0xD2, 0xA8, 0xD2, 0xA9, 0xD2, 0xAA, /* 0x28-0x2B */ + 0xD2, 0xAB, 0xD2, 0xAD, 0xD2, 0xB2, 0xD2, 0xBE, /* 0x2C-0x2F */ + 0xD2, 0xC2, 0xD2, 0xC3, 0xD2, 0xC4, 0xD2, 0xC6, /* 0x30-0x33 */ + 0xD2, 0xC7, 0xD2, 0xC8, 0xD2, 0xC9, 0xD2, 0xCA, /* 0x34-0x37 */ + 0xD2, 0xCB, 0xD2, 0xCD, 0xD2, 0xCE, 0xD2, 0xCF, /* 0x38-0x3B */ + 0xD2, 0xD0, 0xD2, 0xD1, 0xD2, 0xD2, 0xD2, 0xD3, /* 0x3C-0x3F */ + 0xD2, 0xD4, 0xD2, 0xD5, 0xD2, 0xD6, 0xD2, 0xD7, /* 0x40-0x43 */ + 0xD2, 0xD9, 0xD2, 0xDA, 0xD2, 0xDE, 0xD2, 0xDF, /* 0x44-0x47 */ + 0xD2, 0xE1, 0xD2, 0xE2, 0xD2, 0xE4, 0xD2, 0xE5, /* 0x48-0x4B */ + 0xD2, 0xE6, 0xD2, 0xE7, 0xD2, 0xE8, 0xD2, 0xE9, /* 0x4C-0x4F */ + 0xD2, 0xEA, 0xD2, 0xEB, 0xD2, 0xF0, 0xD2, 0xF1, /* 0x50-0x53 */ + 0xD2, 0xF2, 0xD2, 0xF3, 0xD2, 0xF4, 0xD2, 0xF5, /* 0x54-0x57 */ + 0xD2, 0xF7, 0xD2, 0xF8, 0xD4, 0xE6, 0xD4, 0xFC, /* 0x58-0x5B */ + 0xD5, 0xA5, 0xD5, 0xAB, 0xD5, 0xAE, 0xD6, 0xB8, /* 0x5C-0x5F */ + 0xD6, 0xCD, 0xD7, 0xCB, 0xD7, 0xE4, 0xDB, 0xC5, /* 0x60-0x63 */ + 0xDB, 0xE4, 0xDC, 0xA5, 0xDD, 0xA5, 0xDD, 0xD5, /* 0x64-0x67 */ + 0xDD, 0xF4, 0xDE, 0xFC, 0xDE, 0xFE, 0xDF, 0xB3, /* 0x68-0x6B */ + 0xDF, 0xE1, 0xDF, 0xE8, 0xE0, 0xF1, 0xE1, 0xAD, /* 0x6C-0x6F */ + 0xE1, 0xED, 0xE3, 0xF5, 0xE4, 0xA1, 0xE4, 0xA9, /* 0x70-0x73 */ + 0xE5, 0xAE, 0xE5, 0xB1, 0xE5, 0xB2, 0xE5, 0xB9, /* 0x74-0x77 */ + 0xE5, 0xBB, 0xE5, 0xBC, 0xE5, 0xC4, 0xE5, 0xCE, /* 0x78-0x7B */ + 0xE5, 0xD0, 0xE5, 0xD2, 0xE5, 0xD6, 0xE5, 0xFA, /* 0x7C-0x7F */ + + 0xE5, 0xFB, 0xE5, 0xFC, 0xE5, 0xFE, 0xE6, 0xA1, /* 0x80-0x83 */ + 0xE6, 0xA4, 0xE6, 0xA7, 0xE6, 0xAD, 0xE6, 0xAF, /* 0x84-0x87 */ + 0xE6, 0xB0, 0xE6, 0xB1, 0xE6, 0xB3, 0xE6, 0xB7, /* 0x88-0x8B */ + 0xE6, 0xB8, 0xE6, 0xBC, 0xE6, 0xC4, 0xE6, 0xC6, /* 0x8C-0x8F */ + 0xE6, 0xC7, 0xE6, 0xCA, 0xE6, 0xD2, 0xE6, 0xD6, /* 0x90-0x93 */ + 0xE6, 0xD9, 0xE6, 0xDC, 0xE6, 0xDF, 0xE6, 0xE1, /* 0x94-0x97 */ + 0xE6, 0xE4, 0xE6, 0xE5, 0xE6, 0xE6, 0xE6, 0xE8, /* 0x98-0x9B */ + 0xE6, 0xEA, 0xE6, 0xEB, 0xE6, 0xEC, 0xE6, 0xEF, /* 0x9C-0x9F */ + 0xE6, 0xF1, 0xE6, 0xF2, 0xE6, 0xF5, 0xE6, 0xF6, /* 0xA0-0xA3 */ + 0xE6, 0xF7, 0xE6, 0xF9, 0xE7, 0xA1, 0xE7, 0xA6, /* 0xA4-0xA7 */ + 0xE7, 0xA9, 0xE7, 0xAA, 0xE7, 0xAC, 0xE7, 0xAD, /* 0xA8-0xAB */ + 0xE7, 0xB0, 0xE7, 0xBF, 0xE7, 0xC1, 0xE7, 0xC6, /* 0xAC-0xAF */ + 0xE7, 0xC7, 0xE7, 0xCB, 0xE7, 0xCD, 0xE7, 0xCF, /* 0xB0-0xB3 */ + 0xE7, 0xD0, 0xE7, 0xD3, 0xE7, 0xDF, 0xE7, 0xE4, /* 0xB4-0xB7 */ + 0xE7, 0xE6, 0xE7, 0xF7, 0xE8, 0xE7, 0xE8, 0xE8, /* 0xB8-0xBB */ + 0xE8, 0xF0, 0xE8, 0xF1, 0xE8, 0xF7, 0xE8, 0xF9, /* 0xBC-0xBF */ + 0xE8, 0xFB, 0xE8, 0xFE, 0xE9, 0xA7, 0xE9, 0xAC, /* 0xC0-0xC3 */ + 0xE9, 0xCC, 0xE9, 0xF7, 0xEA, 0xC1, 0xEA, 0xE5, /* 0xC4-0xC7 */ + 0xEA, 0xF4, 0xEA, 0xF7, 0xEA, 0xFC, 0xEA, 0xFE, /* 0xC8-0xCB */ + 0xEB, 0xA4, 0xEB, 0xA7, 0xEB, 0xA9, 0xEB, 0xAA, /* 0xCC-0xCF */ + 0xEB, 0xBA, 0xEB, 0xBB, 0xEB, 0xBD, 0xEB, 0xC1, /* 0xD0-0xD3 */ + 0xEB, 0xC2, 0xEB, 0xC6, 0xEB, 0xC7, 0xEB, 0xCC, /* 0xD4-0xD7 */ + 0xEB, 0xCF, 0xEB, 0xD0, 0xEB, 0xD1, 0xEB, 0xD2, /* 0xD8-0xDB */ + 0xEB, 0xD8, 0xEC, 0xA6, 0xEC, 0xA7, 0xEC, 0xAA, /* 0xDC-0xDF */ + 0xEC, 0xAF, 0xEC, 0xB0, 0xEC, 0xB1, 0xEC, 0xB2, /* 0xE0-0xE3 */ + 0xEC, 0xB5, 0xEC, 0xB8, 0xEC, 0xBA, 0xEC, 0xC0, /* 0xE4-0xE7 */ + 0xEC, 0xC1, 0xEC, 0xC5, 0xEC, 0xC6, 0xEC, 0xC9, /* 0xE8-0xEB */ + 0xEC, 0xCA, 0xEC, 0xD5, 0xEC, 0xDD, 0xEC, 0xDE, /* 0xEC-0xEF */ + 0xEC, 0xE1, 0xEC, 0xE4, 0xEC, 0xE7, 0xEC, 0xE8, /* 0xF0-0xF3 */ + 0xEC, 0xF7, 0xEC, 0xF8, 0xEC, 0xFA, 0xED, 0xA1, /* 0xF4-0xF7 */ + 0xED, 0xA2, 0xED, 0xA3, 0xED, 0xEE, 0xEE, 0xDB, /* 0xF8-0xFB */ + 0xF2, 0xBD, 0xF2, 0xFA, 0xF3, 0xB1, 0xF4, 0xA7, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FA[512] = { + 0xF4, 0xEE, 0xF6, 0xF4, 0xF6, 0xF6, 0xF7, 0xB8, /* 0x00-0x03 */ + 0xF7, 0xC8, 0xF7, 0xD3, 0xF8, 0xDB, 0xF8, 0xF0, /* 0x04-0x07 */ + 0xFA, 0xA1, 0xFA, 0xA2, 0xFA, 0xE6, 0xFC, 0xA9, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FF[512] = { + 0x3F, 0x3F, 0xA3, 0xA1, 0xA3, 0xA2, 0xA3, 0xA3, /* 0x00-0x03 */ + 0xA3, 0xA4, 0xA3, 0xA5, 0xA3, 0xA6, 0xA3, 0xA7, /* 0x04-0x07 */ + 0xA3, 0xA8, 0xA3, 0xA9, 0xA3, 0xAA, 0xA3, 0xAB, /* 0x08-0x0B */ + 0xA3, 0xAC, 0xA3, 0xAD, 0xA3, 0xAE, 0xA3, 0xAF, /* 0x0C-0x0F */ + 0xA3, 0xB0, 0xA3, 0xB1, 0xA3, 0xB2, 0xA3, 0xB3, /* 0x10-0x13 */ + 0xA3, 0xB4, 0xA3, 0xB5, 0xA3, 0xB6, 0xA3, 0xB7, /* 0x14-0x17 */ + 0xA3, 0xB8, 0xA3, 0xB9, 0xA3, 0xBA, 0xA3, 0xBB, /* 0x18-0x1B */ + 0xA3, 0xBC, 0xA3, 0xBD, 0xA3, 0xBE, 0xA3, 0xBF, /* 0x1C-0x1F */ + 0xA3, 0xC0, 0xA3, 0xC1, 0xA3, 0xC2, 0xA3, 0xC3, /* 0x20-0x23 */ + 0xA3, 0xC4, 0xA3, 0xC5, 0xA3, 0xC6, 0xA3, 0xC7, /* 0x24-0x27 */ + 0xA3, 0xC8, 0xA3, 0xC9, 0xA3, 0xCA, 0xA3, 0xCB, /* 0x28-0x2B */ + 0xA3, 0xCC, 0xA3, 0xCD, 0xA3, 0xCE, 0xA3, 0xCF, /* 0x2C-0x2F */ + 0xA3, 0xD0, 0xA3, 0xD1, 0xA3, 0xD2, 0xA3, 0xD3, /* 0x30-0x33 */ + 0xA3, 0xD4, 0xA3, 0xD5, 0xA3, 0xD6, 0xA3, 0xD7, /* 0x34-0x37 */ + 0xA3, 0xD8, 0xA3, 0xD9, 0xA3, 0xDA, 0xA3, 0xDB, /* 0x38-0x3B */ + 0xA1, 0xAC, 0xA3, 0xDD, 0xA3, 0xDE, 0xA3, 0xDF, /* 0x3C-0x3F */ + 0xA3, 0xE0, 0xA3, 0xE1, 0xA3, 0xE2, 0xA3, 0xE3, /* 0x40-0x43 */ + 0xA3, 0xE4, 0xA3, 0xE5, 0xA3, 0xE6, 0xA3, 0xE7, /* 0x44-0x47 */ + 0xA3, 0xE8, 0xA3, 0xE9, 0xA3, 0xEA, 0xA3, 0xEB, /* 0x48-0x4B */ + 0xA3, 0xEC, 0xA3, 0xED, 0xA3, 0xEE, 0xA3, 0xEF, /* 0x4C-0x4F */ + 0xA3, 0xF0, 0xA3, 0xF1, 0xA3, 0xF2, 0xA3, 0xF3, /* 0x50-0x53 */ + 0xA3, 0xF4, 0xA3, 0xF5, 0xA3, 0xF6, 0xA3, 0xF7, /* 0x54-0x57 */ + 0xA3, 0xF8, 0xA3, 0xF9, 0xA3, 0xFA, 0xA3, 0xFB, /* 0x58-0x5B */ + 0xA3, 0xFC, 0xA3, 0xFD, 0xA2, 0xA6, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xA1, 0xCB, 0xA1, 0xCC, 0xA1, 0xFE, 0xA3, 0xFE, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xA1, 0xCD, 0xA3, 0xDC, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char *page_uni2charset[256] = { + NULL, u2c_01, u2c_02, u2c_03, u2c_04, 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, + u2c_20, u2c_21, u2c_22, u2c_23, u2c_24, u2c_25, u2c_26, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + u2c_30, u2c_31, u2c_32, u2c_33, 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, u2c_4E, u2c_4F, + u2c_50, u2c_51, u2c_52, u2c_53, u2c_54, u2c_55, u2c_56, u2c_57, + u2c_58, u2c_59, u2c_5A, u2c_5B, u2c_5C, u2c_5D, u2c_5E, u2c_5F, + u2c_60, u2c_61, u2c_62, u2c_63, u2c_64, u2c_65, u2c_66, u2c_67, + u2c_68, u2c_69, u2c_6A, u2c_6B, u2c_6C, u2c_6D, u2c_6E, u2c_6F, + u2c_70, u2c_71, u2c_72, u2c_73, u2c_74, u2c_75, u2c_76, u2c_77, + u2c_78, u2c_79, u2c_7A, u2c_7B, u2c_7C, u2c_7D, u2c_7E, u2c_7F, + u2c_80, u2c_81, u2c_82, u2c_83, u2c_84, u2c_85, u2c_86, u2c_87, + u2c_88, u2c_89, u2c_8A, u2c_8B, u2c_8C, u2c_8D, u2c_8E, u2c_8F, + u2c_90, u2c_91, u2c_92, u2c_93, u2c_94, u2c_95, u2c_96, u2c_97, + u2c_98, u2c_99, u2c_9A, u2c_9B, u2c_9C, u2c_9D, u2c_9E, u2c_9F, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, u2c_AC, u2c_AD, u2c_AE, u2c_AF, + u2c_B0, u2c_B1, u2c_B2, u2c_B3, u2c_B4, u2c_B5, u2c_B6, u2c_B7, + u2c_B8, u2c_B9, u2c_BA, u2c_BB, u2c_BC, u2c_BD, u2c_BE, u2c_BF, + u2c_C0, u2c_C1, u2c_C2, u2c_C3, u2c_C4, u2c_C5, u2c_C6, u2c_C7, + u2c_C8, u2c_C9, u2c_CA, u2c_CB, u2c_CC, u2c_CD, u2c_CE, u2c_CF, + u2c_D0, u2c_D1, u2c_D2, u2c_D3, u2c_D4, u2c_D5, u2c_D6, u2c_D7, + 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, u2c_F9, u2c_FA, NULL, NULL, NULL, NULL, u2c_FF, }; + +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + uni2charset = page_uni2charset[ch]; + *outlen = 0; + if (uni2charset){ + if (boundlen <= 1) + return; + out[0] = uni2charset[cl*2]; + out[1] = uni2charset[cl*2+1]; + *outlen = 1; + } else if (ch==0 && cl) + out[0] = cl; + else + out[0] = '?'; + (*outlen)++; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + unsigned char ch, cl; + struct nls_unicode *charset2uni; + + ch = rawstring[0]; + cl = rawstring[1]; + charset2uni = page_charset2uni[ch]; + if (charset2uni && cl){ + *uni1 = charset2uni[cl].uni2; + *uni2 = charset2uni[cl].uni1; + *offset = 2; + } else{ + *uni1 = ch; + *uni2 = 0x00; + *offset = 1; + } + return; +} + +static void inc_use_count(void) +{ + MOD_INC_USE_COUNT; +} + +static void dec_use_count(void) +{ + MOD_DEC_USE_COUNT; +} + +static struct nls_table table = { + "cp949", + uni2char, + char2uni, + inc_use_count, + dec_use_count, + NULL +}; + +int init_nls_cp949(void) +{ + return register_nls(&table); +} + +#ifdef MODULE +int init_module(void) +{ + return init_nls_cp949(); +} + + +void cleanup_module(void) +{ + unregister_nls(&table); + return; +} +#endif + +/* + * Overrides for Emacs so that we follow Linus's tabbing style. + * Emacs will notice this stuff at the end of the file and automatically + * adjust the settings for this buffer only. This must remain at the end + * of the file. + * +--------------------------------------------------------------------------- + * Local variables: + * c-indent-level: 8 + * c-brace-imaginary-offset: 0 + * c-brace-offset: -8 + * c-argdecl-indent: 8 + * c-label-offset: -8 + * c-continued-statement-offset: 8 + * c-continued-brace-offset: 0 + * End: + */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_cp950.c linux.16p1/fs/nls/nls_cp950.c --- linux.15p19/fs/nls/nls_cp950.c Thu Jan 1 01:00:00 1970 +++ linux.16p1/fs/nls/nls_cp950.c Wed Apr 19 13:58:56 2000 @@ -0,0 +1,12622 @@ +/* + * linux/fs/nls_cp950.c + * + * Charset cp950 translation tables. + * Generated automatically from the Microsoft + */ + +#include +#include +#include +#include + +static struct nls_unicode c2u_A1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x30, 0x00}, {0xFF, 0x0C}, {0x30, 0x01}, {0x30, 0x02}, /* 0x40-0x43 */ + {0xFF, 0x0E}, {0x20, 0x27}, {0xFF, 0x1B}, {0xFF, 0x1A}, /* 0x44-0x47 */ + {0xFF, 0x1F}, {0xFF, 0x01}, {0xFE, 0x30}, {0x20, 0x26}, /* 0x48-0x4B */ + {0x20, 0x25}, {0xFE, 0x50}, {0xFE, 0x51}, {0xFE, 0x52}, /* 0x4C-0x4F */ + {0x00, 0xB7}, {0xFE, 0x54}, {0xFE, 0x55}, {0xFE, 0x56}, /* 0x50-0x53 */ + {0xFE, 0x57}, {0xFF, 0x5C}, {0x20, 0x13}, {0xFE, 0x31}, /* 0x54-0x57 */ + {0x20, 0x14}, {0xFE, 0x33}, {0x25, 0x74}, {0xFE, 0x34}, /* 0x58-0x5B */ + {0xFE, 0x4F}, {0xFF, 0x08}, {0xFF, 0x09}, {0xFE, 0x35}, /* 0x5C-0x5F */ + {0xFE, 0x36}, {0xFF, 0x5B}, {0xFF, 0x5D}, {0xFE, 0x37}, /* 0x60-0x63 */ + {0xFE, 0x38}, {0x30, 0x14}, {0x30, 0x15}, {0xFE, 0x39}, /* 0x64-0x67 */ + {0xFE, 0x3A}, {0x30, 0x10}, {0x30, 0x11}, {0xFE, 0x3B}, /* 0x68-0x6B */ + {0xFE, 0x3C}, {0x30, 0x0A}, {0x30, 0x0B}, {0xFE, 0x3D}, /* 0x6C-0x6F */ + {0xFE, 0x3E}, {0x30, 0x08}, {0x30, 0x09}, {0xFE, 0x3F}, /* 0x70-0x73 */ + {0xFE, 0x40}, {0x30, 0x0C}, {0x30, 0x0D}, {0xFE, 0x41}, /* 0x74-0x77 */ + {0xFE, 0x42}, {0x30, 0x0E}, {0x30, 0x0F}, {0xFE, 0x43}, /* 0x78-0x7B */ + {0xFE, 0x44}, {0xFE, 0x59}, {0xFE, 0x5A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0xFE, 0x5B}, {0xFE, 0x5C}, {0xFE, 0x5D}, /* 0xA0-0xA3 */ + {0xFE, 0x5E}, {0x20, 0x18}, {0x20, 0x19}, {0x20, 0x1C}, /* 0xA4-0xA7 */ + {0x20, 0x1D}, {0x30, 0x1D}, {0x30, 0x1E}, {0x20, 0x35}, /* 0xA8-0xAB */ + {0x20, 0x32}, {0xFF, 0x03}, {0xFF, 0x06}, {0xFF, 0x0A}, /* 0xAC-0xAF */ + {0x20, 0x3B}, {0x00, 0xA7}, {0x30, 0x03}, {0x25, 0xCB}, /* 0xB0-0xB3 */ + {0x25, 0xCF}, {0x25, 0xB3}, {0x25, 0xB2}, {0x25, 0xCE}, /* 0xB4-0xB7 */ + {0x26, 0x06}, {0x26, 0x05}, {0x25, 0xC7}, {0x25, 0xC6}, /* 0xB8-0xBB */ + {0x25, 0xA1}, {0x25, 0xA0}, {0x25, 0xBD}, {0x25, 0xBC}, /* 0xBC-0xBF */ + {0x32, 0xA3}, {0x21, 0x05}, {0x00, 0xAF}, {0xFF, 0xE3}, /* 0xC0-0xC3 */ + {0xFF, 0x3F}, {0x02, 0xCD}, {0xFE, 0x49}, {0xFE, 0x4A}, /* 0xC4-0xC7 */ + {0xFE, 0x4D}, {0xFE, 0x4E}, {0xFE, 0x4B}, {0xFE, 0x4C}, /* 0xC8-0xCB */ + {0xFE, 0x5F}, {0xFE, 0x60}, {0xFE, 0x61}, {0xFF, 0x0B}, /* 0xCC-0xCF */ + {0xFF, 0x0D}, {0x00, 0xD7}, {0x00, 0xF7}, {0x00, 0xB1}, /* 0xD0-0xD3 */ + {0x22, 0x1A}, {0xFF, 0x1C}, {0xFF, 0x1E}, {0xFF, 0x1D}, /* 0xD4-0xD7 */ + {0x22, 0x66}, {0x22, 0x67}, {0x22, 0x60}, {0x22, 0x1E}, /* 0xD8-0xDB */ + {0x22, 0x52}, {0x22, 0x61}, {0xFE, 0x62}, {0xFE, 0x63}, /* 0xDC-0xDF */ + {0xFE, 0x64}, {0xFE, 0x65}, {0xFE, 0x66}, {0xFF, 0x5E}, /* 0xE0-0xE3 */ + {0x22, 0x29}, {0x22, 0x2A}, {0x22, 0xA5}, {0x22, 0x20}, /* 0xE4-0xE7 */ + {0x22, 0x1F}, {0x22, 0xBF}, {0x33, 0xD2}, {0x33, 0xD1}, /* 0xE8-0xEB */ + {0x22, 0x2B}, {0x22, 0x2E}, {0x22, 0x35}, {0x22, 0x34}, /* 0xEC-0xEF */ + {0x26, 0x40}, {0x26, 0x42}, {0x22, 0x95}, {0x22, 0x99}, /* 0xF0-0xF3 */ + {0x21, 0x91}, {0x21, 0x93}, {0x21, 0x90}, {0x21, 0x92}, /* 0xF4-0xF7 */ + {0x21, 0x96}, {0x21, 0x97}, {0x21, 0x99}, {0x21, 0x98}, /* 0xF8-0xFB */ + {0x22, 0x25}, {0x22, 0x23}, {0xFF, 0x0F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0xFF, 0x3C}, {0x22, 0x15}, {0xFE, 0x68}, {0xFF, 0x04}, /* 0x40-0x43 */ + {0xFF, 0xE5}, {0x30, 0x12}, {0xFF, 0xE0}, {0xFF, 0xE1}, /* 0x44-0x47 */ + {0xFF, 0x05}, {0xFF, 0x20}, {0x21, 0x03}, {0x21, 0x09}, /* 0x48-0x4B */ + {0xFE, 0x69}, {0xFE, 0x6A}, {0xFE, 0x6B}, {0x33, 0xD5}, /* 0x4C-0x4F */ + {0x33, 0x9C}, {0x33, 0x9D}, {0x33, 0x9E}, {0x33, 0xCE}, /* 0x50-0x53 */ + {0x33, 0xA1}, {0x33, 0x8E}, {0x33, 0x8F}, {0x33, 0xC4}, /* 0x54-0x57 */ + {0x00, 0xB0}, {0x51, 0x59}, {0x51, 0x5B}, {0x51, 0x5E}, /* 0x58-0x5B */ + {0x51, 0x5D}, {0x51, 0x61}, {0x51, 0x63}, {0x55, 0xE7}, /* 0x5C-0x5F */ + {0x74, 0xE9}, {0x7C, 0xCE}, {0x25, 0x81}, {0x25, 0x82}, /* 0x60-0x63 */ + {0x25, 0x83}, {0x25, 0x84}, {0x25, 0x85}, {0x25, 0x86}, /* 0x64-0x67 */ + {0x25, 0x87}, {0x25, 0x88}, {0x25, 0x8F}, {0x25, 0x8E}, /* 0x68-0x6B */ + {0x25, 0x8D}, {0x25, 0x8C}, {0x25, 0x8B}, {0x25, 0x8A}, /* 0x6C-0x6F */ + {0x25, 0x89}, {0x25, 0x3C}, {0x25, 0x34}, {0x25, 0x2C}, /* 0x70-0x73 */ + {0x25, 0x24}, {0x25, 0x1C}, {0x25, 0x94}, {0x25, 0x00}, /* 0x74-0x77 */ + {0x25, 0x02}, {0x25, 0x95}, {0x25, 0x0C}, {0x25, 0x10}, /* 0x78-0x7B */ + {0x25, 0x14}, {0x25, 0x18}, {0x25, 0x6D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x25, 0x6E}, {0x25, 0x70}, {0x25, 0x6F}, /* 0xA0-0xA3 */ + {0x25, 0x50}, {0x25, 0x5E}, {0x25, 0x6A}, {0x25, 0x61}, /* 0xA4-0xA7 */ + {0x25, 0xE2}, {0x25, 0xE3}, {0x25, 0xE5}, {0x25, 0xE4}, /* 0xA8-0xAB */ + {0x25, 0x71}, {0x25, 0x72}, {0x25, 0x73}, {0xFF, 0x10}, /* 0xAC-0xAF */ + {0xFF, 0x11}, {0xFF, 0x12}, {0xFF, 0x13}, {0xFF, 0x14}, /* 0xB0-0xB3 */ + {0xFF, 0x15}, {0xFF, 0x16}, {0xFF, 0x17}, {0xFF, 0x18}, /* 0xB4-0xB7 */ + {0xFF, 0x19}, {0x21, 0x60}, {0x21, 0x61}, {0x21, 0x62}, /* 0xB8-0xBB */ + {0x21, 0x63}, {0x21, 0x64}, {0x21, 0x65}, {0x21, 0x66}, /* 0xBC-0xBF */ + {0x21, 0x67}, {0x21, 0x68}, {0x21, 0x69}, {0x30, 0x21}, /* 0xC0-0xC3 */ + {0x30, 0x22}, {0x30, 0x23}, {0x30, 0x24}, {0x30, 0x25}, /* 0xC4-0xC7 */ + {0x30, 0x26}, {0x30, 0x27}, {0x30, 0x28}, {0x30, 0x29}, /* 0xC8-0xCB */ + {0x53, 0x41}, {0x53, 0x44}, {0x53, 0x45}, {0xFF, 0x21}, /* 0xCC-0xCF */ + {0xFF, 0x22}, {0xFF, 0x23}, {0xFF, 0x24}, {0xFF, 0x25}, /* 0xD0-0xD3 */ + {0xFF, 0x26}, {0xFF, 0x27}, {0xFF, 0x28}, {0xFF, 0x29}, /* 0xD4-0xD7 */ + {0xFF, 0x2A}, {0xFF, 0x2B}, {0xFF, 0x2C}, {0xFF, 0x2D}, /* 0xD8-0xDB */ + {0xFF, 0x2E}, {0xFF, 0x2F}, {0xFF, 0x30}, {0xFF, 0x31}, /* 0xDC-0xDF */ + {0xFF, 0x32}, {0xFF, 0x33}, {0xFF, 0x34}, {0xFF, 0x35}, /* 0xE0-0xE3 */ + {0xFF, 0x36}, {0xFF, 0x37}, {0xFF, 0x38}, {0xFF, 0x39}, /* 0xE4-0xE7 */ + {0xFF, 0x3A}, {0xFF, 0x41}, {0xFF, 0x42}, {0xFF, 0x43}, /* 0xE8-0xEB */ + {0xFF, 0x44}, {0xFF, 0x45}, {0xFF, 0x46}, {0xFF, 0x47}, /* 0xEC-0xEF */ + {0xFF, 0x48}, {0xFF, 0x49}, {0xFF, 0x4A}, {0xFF, 0x4B}, /* 0xF0-0xF3 */ + {0xFF, 0x4C}, {0xFF, 0x4D}, {0xFF, 0x4E}, {0xFF, 0x4F}, /* 0xF4-0xF7 */ + {0xFF, 0x50}, {0xFF, 0x51}, {0xFF, 0x52}, {0xFF, 0x53}, /* 0xF8-0xFB */ + {0xFF, 0x54}, {0xFF, 0x55}, {0xFF, 0x56}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0xFF, 0x57}, {0xFF, 0x58}, {0xFF, 0x59}, {0xFF, 0x5A}, /* 0x40-0x43 */ + {0x03, 0x91}, {0x03, 0x92}, {0x03, 0x93}, {0x03, 0x94}, /* 0x44-0x47 */ + {0x03, 0x95}, {0x03, 0x96}, {0x03, 0x97}, {0x03, 0x98}, /* 0x48-0x4B */ + {0x03, 0x99}, {0x03, 0x9A}, {0x03, 0x9B}, {0x03, 0x9C}, /* 0x4C-0x4F */ + {0x03, 0x9D}, {0x03, 0x9E}, {0x03, 0x9F}, {0x03, 0xA0}, /* 0x50-0x53 */ + {0x03, 0xA1}, {0x03, 0xA3}, {0x03, 0xA4}, {0x03, 0xA5}, /* 0x54-0x57 */ + {0x03, 0xA6}, {0x03, 0xA7}, {0x03, 0xA8}, {0x03, 0xA9}, /* 0x58-0x5B */ + {0x03, 0xB1}, {0x03, 0xB2}, {0x03, 0xB3}, {0x03, 0xB4}, /* 0x5C-0x5F */ + {0x03, 0xB5}, {0x03, 0xB6}, {0x03, 0xB7}, {0x03, 0xB8}, /* 0x60-0x63 */ + {0x03, 0xB9}, {0x03, 0xBA}, {0x03, 0xBB}, {0x03, 0xBC}, /* 0x64-0x67 */ + {0x03, 0xBD}, {0x03, 0xBE}, {0x03, 0xBF}, {0x03, 0xC0}, /* 0x68-0x6B */ + {0x03, 0xC1}, {0x03, 0xC3}, {0x03, 0xC4}, {0x03, 0xC5}, /* 0x6C-0x6F */ + {0x03, 0xC6}, {0x03, 0xC7}, {0x03, 0xC8}, {0x03, 0xC9}, /* 0x70-0x73 */ + {0x31, 0x05}, {0x31, 0x06}, {0x31, 0x07}, {0x31, 0x08}, /* 0x74-0x77 */ + {0x31, 0x09}, {0x31, 0x0A}, {0x31, 0x0B}, {0x31, 0x0C}, /* 0x78-0x7B */ + {0x31, 0x0D}, {0x31, 0x0E}, {0x31, 0x0F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x31, 0x10}, {0x31, 0x11}, {0x31, 0x12}, /* 0xA0-0xA3 */ + {0x31, 0x13}, {0x31, 0x14}, {0x31, 0x15}, {0x31, 0x16}, /* 0xA4-0xA7 */ + {0x31, 0x17}, {0x31, 0x18}, {0x31, 0x19}, {0x31, 0x1A}, /* 0xA8-0xAB */ + {0x31, 0x1B}, {0x31, 0x1C}, {0x31, 0x1D}, {0x31, 0x1E}, /* 0xAC-0xAF */ + {0x31, 0x1F}, {0x31, 0x20}, {0x31, 0x21}, {0x31, 0x22}, /* 0xB0-0xB3 */ + {0x31, 0x23}, {0x31, 0x24}, {0x31, 0x25}, {0x31, 0x26}, /* 0xB4-0xB7 */ + {0x31, 0x27}, {0x31, 0x28}, {0x31, 0x29}, {0x02, 0xD9}, /* 0xB8-0xBB */ + {0x02, 0xC9}, {0x02, 0xCA}, {0x02, 0xC7}, {0x02, 0xCB}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x4E, 0x00}, {0x4E, 0x59}, {0x4E, 0x01}, {0x4E, 0x03}, /* 0x40-0x43 */ + {0x4E, 0x43}, {0x4E, 0x5D}, {0x4E, 0x86}, {0x4E, 0x8C}, /* 0x44-0x47 */ + {0x4E, 0xBA}, {0x51, 0x3F}, {0x51, 0x65}, {0x51, 0x6B}, /* 0x48-0x4B */ + {0x51, 0xE0}, {0x52, 0x00}, {0x52, 0x01}, {0x52, 0x9B}, /* 0x4C-0x4F */ + {0x53, 0x15}, {0x53, 0x41}, {0x53, 0x5C}, {0x53, 0xC8}, /* 0x50-0x53 */ + {0x4E, 0x09}, {0x4E, 0x0B}, {0x4E, 0x08}, {0x4E, 0x0A}, /* 0x54-0x57 */ + {0x4E, 0x2B}, {0x4E, 0x38}, {0x51, 0xE1}, {0x4E, 0x45}, /* 0x58-0x5B */ + {0x4E, 0x48}, {0x4E, 0x5F}, {0x4E, 0x5E}, {0x4E, 0x8E}, /* 0x5C-0x5F */ + {0x4E, 0xA1}, {0x51, 0x40}, {0x52, 0x03}, {0x52, 0xFA}, /* 0x60-0x63 */ + {0x53, 0x43}, {0x53, 0xC9}, {0x53, 0xE3}, {0x57, 0x1F}, /* 0x64-0x67 */ + {0x58, 0xEB}, {0x59, 0x15}, {0x59, 0x27}, {0x59, 0x73}, /* 0x68-0x6B */ + {0x5B, 0x50}, {0x5B, 0x51}, {0x5B, 0x53}, {0x5B, 0xF8}, /* 0x6C-0x6F */ + {0x5C, 0x0F}, {0x5C, 0x22}, {0x5C, 0x38}, {0x5C, 0x71}, /* 0x70-0x73 */ + {0x5D, 0xDD}, {0x5D, 0xE5}, {0x5D, 0xF1}, {0x5D, 0xF2}, /* 0x74-0x77 */ + {0x5D, 0xF3}, {0x5D, 0xFE}, {0x5E, 0x72}, {0x5E, 0xFE}, /* 0x78-0x7B */ + {0x5F, 0x0B}, {0x5F, 0x13}, {0x62, 0x4D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x4E, 0x11}, {0x4E, 0x10}, {0x4E, 0x0D}, /* 0xA0-0xA3 */ + {0x4E, 0x2D}, {0x4E, 0x30}, {0x4E, 0x39}, {0x4E, 0x4B}, /* 0xA4-0xA7 */ + {0x5C, 0x39}, {0x4E, 0x88}, {0x4E, 0x91}, {0x4E, 0x95}, /* 0xA8-0xAB */ + {0x4E, 0x92}, {0x4E, 0x94}, {0x4E, 0xA2}, {0x4E, 0xC1}, /* 0xAC-0xAF */ + {0x4E, 0xC0}, {0x4E, 0xC3}, {0x4E, 0xC6}, {0x4E, 0xC7}, /* 0xB0-0xB3 */ + {0x4E, 0xCD}, {0x4E, 0xCA}, {0x4E, 0xCB}, {0x4E, 0xC4}, /* 0xB4-0xB7 */ + {0x51, 0x43}, {0x51, 0x41}, {0x51, 0x67}, {0x51, 0x6D}, /* 0xB8-0xBB */ + {0x51, 0x6E}, {0x51, 0x6C}, {0x51, 0x97}, {0x51, 0xF6}, /* 0xBC-0xBF */ + {0x52, 0x06}, {0x52, 0x07}, {0x52, 0x08}, {0x52, 0xFB}, /* 0xC0-0xC3 */ + {0x52, 0xFE}, {0x52, 0xFF}, {0x53, 0x16}, {0x53, 0x39}, /* 0xC4-0xC7 */ + {0x53, 0x48}, {0x53, 0x47}, {0x53, 0x45}, {0x53, 0x5E}, /* 0xC8-0xCB */ + {0x53, 0x84}, {0x53, 0xCB}, {0x53, 0xCA}, {0x53, 0xCD}, /* 0xCC-0xCF */ + {0x58, 0xEC}, {0x59, 0x29}, {0x59, 0x2B}, {0x59, 0x2A}, /* 0xD0-0xD3 */ + {0x59, 0x2D}, {0x5B, 0x54}, {0x5C, 0x11}, {0x5C, 0x24}, /* 0xD4-0xD7 */ + {0x5C, 0x3A}, {0x5C, 0x6F}, {0x5D, 0xF4}, {0x5E, 0x7B}, /* 0xD8-0xDB */ + {0x5E, 0xFF}, {0x5F, 0x14}, {0x5F, 0x15}, {0x5F, 0xC3}, /* 0xDC-0xDF */ + {0x62, 0x08}, {0x62, 0x36}, {0x62, 0x4B}, {0x62, 0x4E}, /* 0xE0-0xE3 */ + {0x65, 0x2F}, {0x65, 0x87}, {0x65, 0x97}, {0x65, 0xA4}, /* 0xE4-0xE7 */ + {0x65, 0xB9}, {0x65, 0xE5}, {0x66, 0xF0}, {0x67, 0x08}, /* 0xE8-0xEB */ + {0x67, 0x28}, {0x6B, 0x20}, {0x6B, 0x62}, {0x6B, 0x79}, /* 0xEC-0xEF */ + {0x6B, 0xCB}, {0x6B, 0xD4}, {0x6B, 0xDB}, {0x6C, 0x0F}, /* 0xF0-0xF3 */ + {0x6C, 0x34}, {0x70, 0x6B}, {0x72, 0x2A}, {0x72, 0x36}, /* 0xF4-0xF7 */ + {0x72, 0x3B}, {0x72, 0x47}, {0x72, 0x59}, {0x72, 0x5B}, /* 0xF8-0xFB */ + {0x72, 0xAC}, {0x73, 0x8B}, {0x4E, 0x19}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x4E, 0x16}, {0x4E, 0x15}, {0x4E, 0x14}, {0x4E, 0x18}, /* 0x40-0x43 */ + {0x4E, 0x3B}, {0x4E, 0x4D}, {0x4E, 0x4F}, {0x4E, 0x4E}, /* 0x44-0x47 */ + {0x4E, 0xE5}, {0x4E, 0xD8}, {0x4E, 0xD4}, {0x4E, 0xD5}, /* 0x48-0x4B */ + {0x4E, 0xD6}, {0x4E, 0xD7}, {0x4E, 0xE3}, {0x4E, 0xE4}, /* 0x4C-0x4F */ + {0x4E, 0xD9}, {0x4E, 0xDE}, {0x51, 0x45}, {0x51, 0x44}, /* 0x50-0x53 */ + {0x51, 0x89}, {0x51, 0x8A}, {0x51, 0xAC}, {0x51, 0xF9}, /* 0x54-0x57 */ + {0x51, 0xFA}, {0x51, 0xF8}, {0x52, 0x0A}, {0x52, 0xA0}, /* 0x58-0x5B */ + {0x52, 0x9F}, {0x53, 0x05}, {0x53, 0x06}, {0x53, 0x17}, /* 0x5C-0x5F */ + {0x53, 0x1D}, {0x4E, 0xDF}, {0x53, 0x4A}, {0x53, 0x49}, /* 0x60-0x63 */ + {0x53, 0x61}, {0x53, 0x60}, {0x53, 0x6F}, {0x53, 0x6E}, /* 0x64-0x67 */ + {0x53, 0xBB}, {0x53, 0xEF}, {0x53, 0xE4}, {0x53, 0xF3}, /* 0x68-0x6B */ + {0x53, 0xEC}, {0x53, 0xEE}, {0x53, 0xE9}, {0x53, 0xE8}, /* 0x6C-0x6F */ + {0x53, 0xFC}, {0x53, 0xF8}, {0x53, 0xF5}, {0x53, 0xEB}, /* 0x70-0x73 */ + {0x53, 0xE6}, {0x53, 0xEA}, {0x53, 0xF2}, {0x53, 0xF1}, /* 0x74-0x77 */ + {0x53, 0xF0}, {0x53, 0xE5}, {0x53, 0xED}, {0x53, 0xFB}, /* 0x78-0x7B */ + {0x56, 0xDB}, {0x56, 0xDA}, {0x59, 0x16}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x59, 0x2E}, {0x59, 0x31}, {0x59, 0x74}, /* 0xA0-0xA3 */ + {0x59, 0x76}, {0x5B, 0x55}, {0x5B, 0x83}, {0x5C, 0x3C}, /* 0xA4-0xA7 */ + {0x5D, 0xE8}, {0x5D, 0xE7}, {0x5D, 0xE6}, {0x5E, 0x02}, /* 0xA8-0xAB */ + {0x5E, 0x03}, {0x5E, 0x73}, {0x5E, 0x7C}, {0x5F, 0x01}, /* 0xAC-0xAF */ + {0x5F, 0x18}, {0x5F, 0x17}, {0x5F, 0xC5}, {0x62, 0x0A}, /* 0xB0-0xB3 */ + {0x62, 0x53}, {0x62, 0x54}, {0x62, 0x52}, {0x62, 0x51}, /* 0xB4-0xB7 */ + {0x65, 0xA5}, {0x65, 0xE6}, {0x67, 0x2E}, {0x67, 0x2C}, /* 0xB8-0xBB */ + {0x67, 0x2A}, {0x67, 0x2B}, {0x67, 0x2D}, {0x6B, 0x63}, /* 0xBC-0xBF */ + {0x6B, 0xCD}, {0x6C, 0x11}, {0x6C, 0x10}, {0x6C, 0x38}, /* 0xC0-0xC3 */ + {0x6C, 0x41}, {0x6C, 0x40}, {0x6C, 0x3E}, {0x72, 0xAF}, /* 0xC4-0xC7 */ + {0x73, 0x84}, {0x73, 0x89}, {0x74, 0xDC}, {0x74, 0xE6}, /* 0xC8-0xCB */ + {0x75, 0x18}, {0x75, 0x1F}, {0x75, 0x28}, {0x75, 0x29}, /* 0xCC-0xCF */ + {0x75, 0x30}, {0x75, 0x31}, {0x75, 0x32}, {0x75, 0x33}, /* 0xD0-0xD3 */ + {0x75, 0x8B}, {0x76, 0x7D}, {0x76, 0xAE}, {0x76, 0xBF}, /* 0xD4-0xD7 */ + {0x76, 0xEE}, {0x77, 0xDB}, {0x77, 0xE2}, {0x77, 0xF3}, /* 0xD8-0xDB */ + {0x79, 0x3A}, {0x79, 0xBE}, {0x7A, 0x74}, {0x7A, 0xCB}, /* 0xDC-0xDF */ + {0x4E, 0x1E}, {0x4E, 0x1F}, {0x4E, 0x52}, {0x4E, 0x53}, /* 0xE0-0xE3 */ + {0x4E, 0x69}, {0x4E, 0x99}, {0x4E, 0xA4}, {0x4E, 0xA6}, /* 0xE4-0xE7 */ + {0x4E, 0xA5}, {0x4E, 0xFF}, {0x4F, 0x09}, {0x4F, 0x19}, /* 0xE8-0xEB */ + {0x4F, 0x0A}, {0x4F, 0x15}, {0x4F, 0x0D}, {0x4F, 0x10}, /* 0xEC-0xEF */ + {0x4F, 0x11}, {0x4F, 0x0F}, {0x4E, 0xF2}, {0x4E, 0xF6}, /* 0xF0-0xF3 */ + {0x4E, 0xFB}, {0x4E, 0xF0}, {0x4E, 0xF3}, {0x4E, 0xFD}, /* 0xF4-0xF7 */ + {0x4F, 0x01}, {0x4F, 0x0B}, {0x51, 0x49}, {0x51, 0x47}, /* 0xF8-0xFB */ + {0x51, 0x46}, {0x51, 0x48}, {0x51, 0x68}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x51, 0x71}, {0x51, 0x8D}, {0x51, 0xB0}, {0x52, 0x17}, /* 0x40-0x43 */ + {0x52, 0x11}, {0x52, 0x12}, {0x52, 0x0E}, {0x52, 0x16}, /* 0x44-0x47 */ + {0x52, 0xA3}, {0x53, 0x08}, {0x53, 0x21}, {0x53, 0x20}, /* 0x48-0x4B */ + {0x53, 0x70}, {0x53, 0x71}, {0x54, 0x09}, {0x54, 0x0F}, /* 0x4C-0x4F */ + {0x54, 0x0C}, {0x54, 0x0A}, {0x54, 0x10}, {0x54, 0x01}, /* 0x50-0x53 */ + {0x54, 0x0B}, {0x54, 0x04}, {0x54, 0x11}, {0x54, 0x0D}, /* 0x54-0x57 */ + {0x54, 0x08}, {0x54, 0x03}, {0x54, 0x0E}, {0x54, 0x06}, /* 0x58-0x5B */ + {0x54, 0x12}, {0x56, 0xE0}, {0x56, 0xDE}, {0x56, 0xDD}, /* 0x5C-0x5F */ + {0x57, 0x33}, {0x57, 0x30}, {0x57, 0x28}, {0x57, 0x2D}, /* 0x60-0x63 */ + {0x57, 0x2C}, {0x57, 0x2F}, {0x57, 0x29}, {0x59, 0x19}, /* 0x64-0x67 */ + {0x59, 0x1A}, {0x59, 0x37}, {0x59, 0x38}, {0x59, 0x84}, /* 0x68-0x6B */ + {0x59, 0x78}, {0x59, 0x83}, {0x59, 0x7D}, {0x59, 0x79}, /* 0x6C-0x6F */ + {0x59, 0x82}, {0x59, 0x81}, {0x5B, 0x57}, {0x5B, 0x58}, /* 0x70-0x73 */ + {0x5B, 0x87}, {0x5B, 0x88}, {0x5B, 0x85}, {0x5B, 0x89}, /* 0x74-0x77 */ + {0x5B, 0xFA}, {0x5C, 0x16}, {0x5C, 0x79}, {0x5D, 0xDE}, /* 0x78-0x7B */ + {0x5E, 0x06}, {0x5E, 0x76}, {0x5E, 0x74}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x5F, 0x0F}, {0x5F, 0x1B}, {0x5F, 0xD9}, /* 0xA0-0xA3 */ + {0x5F, 0xD6}, {0x62, 0x0E}, {0x62, 0x0C}, {0x62, 0x0D}, /* 0xA4-0xA7 */ + {0x62, 0x10}, {0x62, 0x63}, {0x62, 0x5B}, {0x62, 0x58}, /* 0xA8-0xAB */ + {0x65, 0x36}, {0x65, 0xE9}, {0x65, 0xE8}, {0x65, 0xEC}, /* 0xAC-0xAF */ + {0x65, 0xED}, {0x66, 0xF2}, {0x66, 0xF3}, {0x67, 0x09}, /* 0xB0-0xB3 */ + {0x67, 0x3D}, {0x67, 0x34}, {0x67, 0x31}, {0x67, 0x35}, /* 0xB4-0xB7 */ + {0x6B, 0x21}, {0x6B, 0x64}, {0x6B, 0x7B}, {0x6C, 0x16}, /* 0xB8-0xBB */ + {0x6C, 0x5D}, {0x6C, 0x57}, {0x6C, 0x59}, {0x6C, 0x5F}, /* 0xBC-0xBF */ + {0x6C, 0x60}, {0x6C, 0x50}, {0x6C, 0x55}, {0x6C, 0x61}, /* 0xC0-0xC3 */ + {0x6C, 0x5B}, {0x6C, 0x4D}, {0x6C, 0x4E}, {0x70, 0x70}, /* 0xC4-0xC7 */ + {0x72, 0x5F}, {0x72, 0x5D}, {0x76, 0x7E}, {0x7A, 0xF9}, /* 0xC8-0xCB */ + {0x7C, 0x73}, {0x7C, 0xF8}, {0x7F, 0x36}, {0x7F, 0x8A}, /* 0xCC-0xCF */ + {0x7F, 0xBD}, {0x80, 0x01}, {0x80, 0x03}, {0x80, 0x0C}, /* 0xD0-0xD3 */ + {0x80, 0x12}, {0x80, 0x33}, {0x80, 0x7F}, {0x80, 0x89}, /* 0xD4-0xD7 */ + {0x80, 0x8B}, {0x80, 0x8C}, {0x81, 0xE3}, {0x81, 0xEA}, /* 0xD8-0xDB */ + {0x81, 0xF3}, {0x81, 0xFC}, {0x82, 0x0C}, {0x82, 0x1B}, /* 0xDC-0xDF */ + {0x82, 0x1F}, {0x82, 0x6E}, {0x82, 0x72}, {0x82, 0x7E}, /* 0xE0-0xE3 */ + {0x86, 0x6B}, {0x88, 0x40}, {0x88, 0x4C}, {0x88, 0x63}, /* 0xE4-0xE7 */ + {0x89, 0x7F}, {0x96, 0x21}, {0x4E, 0x32}, {0x4E, 0xA8}, /* 0xE8-0xEB */ + {0x4F, 0x4D}, {0x4F, 0x4F}, {0x4F, 0x47}, {0x4F, 0x57}, /* 0xEC-0xEF */ + {0x4F, 0x5E}, {0x4F, 0x34}, {0x4F, 0x5B}, {0x4F, 0x55}, /* 0xF0-0xF3 */ + {0x4F, 0x30}, {0x4F, 0x50}, {0x4F, 0x51}, {0x4F, 0x3D}, /* 0xF4-0xF7 */ + {0x4F, 0x3A}, {0x4F, 0x38}, {0x4F, 0x43}, {0x4F, 0x54}, /* 0xF8-0xFB */ + {0x4F, 0x3C}, {0x4F, 0x46}, {0x4F, 0x63}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x4F, 0x5C}, {0x4F, 0x60}, {0x4F, 0x2F}, {0x4F, 0x4E}, /* 0x40-0x43 */ + {0x4F, 0x36}, {0x4F, 0x59}, {0x4F, 0x5D}, {0x4F, 0x48}, /* 0x44-0x47 */ + {0x4F, 0x5A}, {0x51, 0x4C}, {0x51, 0x4B}, {0x51, 0x4D}, /* 0x48-0x4B */ + {0x51, 0x75}, {0x51, 0xB6}, {0x51, 0xB7}, {0x52, 0x25}, /* 0x4C-0x4F */ + {0x52, 0x24}, {0x52, 0x29}, {0x52, 0x2A}, {0x52, 0x28}, /* 0x50-0x53 */ + {0x52, 0xAB}, {0x52, 0xA9}, {0x52, 0xAA}, {0x52, 0xAC}, /* 0x54-0x57 */ + {0x53, 0x23}, {0x53, 0x73}, {0x53, 0x75}, {0x54, 0x1D}, /* 0x58-0x5B */ + {0x54, 0x2D}, {0x54, 0x1E}, {0x54, 0x3E}, {0x54, 0x26}, /* 0x5C-0x5F */ + {0x54, 0x4E}, {0x54, 0x27}, {0x54, 0x46}, {0x54, 0x43}, /* 0x60-0x63 */ + {0x54, 0x33}, {0x54, 0x48}, {0x54, 0x42}, {0x54, 0x1B}, /* 0x64-0x67 */ + {0x54, 0x29}, {0x54, 0x4A}, {0x54, 0x39}, {0x54, 0x3B}, /* 0x68-0x6B */ + {0x54, 0x38}, {0x54, 0x2E}, {0x54, 0x35}, {0x54, 0x36}, /* 0x6C-0x6F */ + {0x54, 0x20}, {0x54, 0x3C}, {0x54, 0x40}, {0x54, 0x31}, /* 0x70-0x73 */ + {0x54, 0x2B}, {0x54, 0x1F}, {0x54, 0x2C}, {0x56, 0xEA}, /* 0x74-0x77 */ + {0x56, 0xF0}, {0x56, 0xE4}, {0x56, 0xEB}, {0x57, 0x4A}, /* 0x78-0x7B */ + {0x57, 0x51}, {0x57, 0x40}, {0x57, 0x4D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x57, 0x47}, {0x57, 0x4E}, {0x57, 0x3E}, /* 0xA0-0xA3 */ + {0x57, 0x50}, {0x57, 0x4F}, {0x57, 0x3B}, {0x58, 0xEF}, /* 0xA4-0xA7 */ + {0x59, 0x3E}, {0x59, 0x9D}, {0x59, 0x92}, {0x59, 0xA8}, /* 0xA8-0xAB */ + {0x59, 0x9E}, {0x59, 0xA3}, {0x59, 0x99}, {0x59, 0x96}, /* 0xAC-0xAF */ + {0x59, 0x8D}, {0x59, 0xA4}, {0x59, 0x93}, {0x59, 0x8A}, /* 0xB0-0xB3 */ + {0x59, 0xA5}, {0x5B, 0x5D}, {0x5B, 0x5C}, {0x5B, 0x5A}, /* 0xB4-0xB7 */ + {0x5B, 0x5B}, {0x5B, 0x8C}, {0x5B, 0x8B}, {0x5B, 0x8F}, /* 0xB8-0xBB */ + {0x5C, 0x2C}, {0x5C, 0x40}, {0x5C, 0x41}, {0x5C, 0x3F}, /* 0xBC-0xBF */ + {0x5C, 0x3E}, {0x5C, 0x90}, {0x5C, 0x91}, {0x5C, 0x94}, /* 0xC0-0xC3 */ + {0x5C, 0x8C}, {0x5D, 0xEB}, {0x5E, 0x0C}, {0x5E, 0x8F}, /* 0xC4-0xC7 */ + {0x5E, 0x87}, {0x5E, 0x8A}, {0x5E, 0xF7}, {0x5F, 0x04}, /* 0xC8-0xCB */ + {0x5F, 0x1F}, {0x5F, 0x64}, {0x5F, 0x62}, {0x5F, 0x77}, /* 0xCC-0xCF */ + {0x5F, 0x79}, {0x5F, 0xD8}, {0x5F, 0xCC}, {0x5F, 0xD7}, /* 0xD0-0xD3 */ + {0x5F, 0xCD}, {0x5F, 0xF1}, {0x5F, 0xEB}, {0x5F, 0xF8}, /* 0xD4-0xD7 */ + {0x5F, 0xEA}, {0x62, 0x12}, {0x62, 0x11}, {0x62, 0x84}, /* 0xD8-0xDB */ + {0x62, 0x97}, {0x62, 0x96}, {0x62, 0x80}, {0x62, 0x76}, /* 0xDC-0xDF */ + {0x62, 0x89}, {0x62, 0x6D}, {0x62, 0x8A}, {0x62, 0x7C}, /* 0xE0-0xE3 */ + {0x62, 0x7E}, {0x62, 0x79}, {0x62, 0x73}, {0x62, 0x92}, /* 0xE4-0xE7 */ + {0x62, 0x6F}, {0x62, 0x98}, {0x62, 0x6E}, {0x62, 0x95}, /* 0xE8-0xEB */ + {0x62, 0x93}, {0x62, 0x91}, {0x62, 0x86}, {0x65, 0x39}, /* 0xEC-0xEF */ + {0x65, 0x3B}, {0x65, 0x38}, {0x65, 0xF1}, {0x66, 0xF4}, /* 0xF0-0xF3 */ + {0x67, 0x5F}, {0x67, 0x4E}, {0x67, 0x4F}, {0x67, 0x50}, /* 0xF4-0xF7 */ + {0x67, 0x51}, {0x67, 0x5C}, {0x67, 0x56}, {0x67, 0x5E}, /* 0xF8-0xFB */ + {0x67, 0x49}, {0x67, 0x46}, {0x67, 0x60}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x67, 0x53}, {0x67, 0x57}, {0x6B, 0x65}, {0x6B, 0xCF}, /* 0x40-0x43 */ + {0x6C, 0x42}, {0x6C, 0x5E}, {0x6C, 0x99}, {0x6C, 0x81}, /* 0x44-0x47 */ + {0x6C, 0x88}, {0x6C, 0x89}, {0x6C, 0x85}, {0x6C, 0x9B}, /* 0x48-0x4B */ + {0x6C, 0x6A}, {0x6C, 0x7A}, {0x6C, 0x90}, {0x6C, 0x70}, /* 0x4C-0x4F */ + {0x6C, 0x8C}, {0x6C, 0x68}, {0x6C, 0x96}, {0x6C, 0x92}, /* 0x50-0x53 */ + {0x6C, 0x7D}, {0x6C, 0x83}, {0x6C, 0x72}, {0x6C, 0x7E}, /* 0x54-0x57 */ + {0x6C, 0x74}, {0x6C, 0x86}, {0x6C, 0x76}, {0x6C, 0x8D}, /* 0x58-0x5B */ + {0x6C, 0x94}, {0x6C, 0x98}, {0x6C, 0x82}, {0x70, 0x76}, /* 0x5C-0x5F */ + {0x70, 0x7C}, {0x70, 0x7D}, {0x70, 0x78}, {0x72, 0x62}, /* 0x60-0x63 */ + {0x72, 0x61}, {0x72, 0x60}, {0x72, 0xC4}, {0x72, 0xC2}, /* 0x64-0x67 */ + {0x73, 0x96}, {0x75, 0x2C}, {0x75, 0x2B}, {0x75, 0x37}, /* 0x68-0x6B */ + {0x75, 0x38}, {0x76, 0x82}, {0x76, 0xEF}, {0x77, 0xE3}, /* 0x6C-0x6F */ + {0x79, 0xC1}, {0x79, 0xC0}, {0x79, 0xBF}, {0x7A, 0x76}, /* 0x70-0x73 */ + {0x7C, 0xFB}, {0x7F, 0x55}, {0x80, 0x96}, {0x80, 0x93}, /* 0x74-0x77 */ + {0x80, 0x9D}, {0x80, 0x98}, {0x80, 0x9B}, {0x80, 0x9A}, /* 0x78-0x7B */ + {0x80, 0xB2}, {0x82, 0x6F}, {0x82, 0x92}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x82, 0x8B}, {0x82, 0x8D}, {0x89, 0x8B}, /* 0xA0-0xA3 */ + {0x89, 0xD2}, {0x8A, 0x00}, {0x8C, 0x37}, {0x8C, 0x46}, /* 0xA4-0xA7 */ + {0x8C, 0x55}, {0x8C, 0x9D}, {0x8D, 0x64}, {0x8D, 0x70}, /* 0xA8-0xAB */ + {0x8D, 0xB3}, {0x8E, 0xAB}, {0x8E, 0xCA}, {0x8F, 0x9B}, /* 0xAC-0xAF */ + {0x8F, 0xB0}, {0x8F, 0xC2}, {0x8F, 0xC6}, {0x8F, 0xC5}, /* 0xB0-0xB3 */ + {0x8F, 0xC4}, {0x5D, 0xE1}, {0x90, 0x91}, {0x90, 0xA2}, /* 0xB4-0xB7 */ + {0x90, 0xAA}, {0x90, 0xA6}, {0x90, 0xA3}, {0x91, 0x49}, /* 0xB8-0xBB */ + {0x91, 0xC6}, {0x91, 0xCC}, {0x96, 0x32}, {0x96, 0x2E}, /* 0xBC-0xBF */ + {0x96, 0x31}, {0x96, 0x2A}, {0x96, 0x2C}, {0x4E, 0x26}, /* 0xC0-0xC3 */ + {0x4E, 0x56}, {0x4E, 0x73}, {0x4E, 0x8B}, {0x4E, 0x9B}, /* 0xC4-0xC7 */ + {0x4E, 0x9E}, {0x4E, 0xAB}, {0x4E, 0xAC}, {0x4F, 0x6F}, /* 0xC8-0xCB */ + {0x4F, 0x9D}, {0x4F, 0x8D}, {0x4F, 0x73}, {0x4F, 0x7F}, /* 0xCC-0xCF */ + {0x4F, 0x6C}, {0x4F, 0x9B}, {0x4F, 0x8B}, {0x4F, 0x86}, /* 0xD0-0xD3 */ + {0x4F, 0x83}, {0x4F, 0x70}, {0x4F, 0x75}, {0x4F, 0x88}, /* 0xD4-0xD7 */ + {0x4F, 0x69}, {0x4F, 0x7B}, {0x4F, 0x96}, {0x4F, 0x7E}, /* 0xD8-0xDB */ + {0x4F, 0x8F}, {0x4F, 0x91}, {0x4F, 0x7A}, {0x51, 0x54}, /* 0xDC-0xDF */ + {0x51, 0x52}, {0x51, 0x55}, {0x51, 0x69}, {0x51, 0x77}, /* 0xE0-0xE3 */ + {0x51, 0x76}, {0x51, 0x78}, {0x51, 0xBD}, {0x51, 0xFD}, /* 0xE4-0xE7 */ + {0x52, 0x3B}, {0x52, 0x38}, {0x52, 0x37}, {0x52, 0x3A}, /* 0xE8-0xEB */ + {0x52, 0x30}, {0x52, 0x2E}, {0x52, 0x36}, {0x52, 0x41}, /* 0xEC-0xEF */ + {0x52, 0xBE}, {0x52, 0xBB}, {0x53, 0x52}, {0x53, 0x54}, /* 0xF0-0xF3 */ + {0x53, 0x53}, {0x53, 0x51}, {0x53, 0x66}, {0x53, 0x77}, /* 0xF4-0xF7 */ + {0x53, 0x78}, {0x53, 0x79}, {0x53, 0xD6}, {0x53, 0xD4}, /* 0xF8-0xFB */ + {0x53, 0xD7}, {0x54, 0x73}, {0x54, 0x75}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_A9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x54, 0x96}, {0x54, 0x78}, {0x54, 0x95}, {0x54, 0x80}, /* 0x40-0x43 */ + {0x54, 0x7B}, {0x54, 0x77}, {0x54, 0x84}, {0x54, 0x92}, /* 0x44-0x47 */ + {0x54, 0x86}, {0x54, 0x7C}, {0x54, 0x90}, {0x54, 0x71}, /* 0x48-0x4B */ + {0x54, 0x76}, {0x54, 0x8C}, {0x54, 0x9A}, {0x54, 0x62}, /* 0x4C-0x4F */ + {0x54, 0x68}, {0x54, 0x8B}, {0x54, 0x7D}, {0x54, 0x8E}, /* 0x50-0x53 */ + {0x56, 0xFA}, {0x57, 0x83}, {0x57, 0x77}, {0x57, 0x6A}, /* 0x54-0x57 */ + {0x57, 0x69}, {0x57, 0x61}, {0x57, 0x66}, {0x57, 0x64}, /* 0x58-0x5B */ + {0x57, 0x7C}, {0x59, 0x1C}, {0x59, 0x49}, {0x59, 0x47}, /* 0x5C-0x5F */ + {0x59, 0x48}, {0x59, 0x44}, {0x59, 0x54}, {0x59, 0xBE}, /* 0x60-0x63 */ + {0x59, 0xBB}, {0x59, 0xD4}, {0x59, 0xB9}, {0x59, 0xAE}, /* 0x64-0x67 */ + {0x59, 0xD1}, {0x59, 0xC6}, {0x59, 0xD0}, {0x59, 0xCD}, /* 0x68-0x6B */ + {0x59, 0xCB}, {0x59, 0xD3}, {0x59, 0xCA}, {0x59, 0xAF}, /* 0x6C-0x6F */ + {0x59, 0xB3}, {0x59, 0xD2}, {0x59, 0xC5}, {0x5B, 0x5F}, /* 0x70-0x73 */ + {0x5B, 0x64}, {0x5B, 0x63}, {0x5B, 0x97}, {0x5B, 0x9A}, /* 0x74-0x77 */ + {0x5B, 0x98}, {0x5B, 0x9C}, {0x5B, 0x99}, {0x5B, 0x9B}, /* 0x78-0x7B */ + {0x5C, 0x1A}, {0x5C, 0x48}, {0x5C, 0x45}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x5C, 0x46}, {0x5C, 0xB7}, {0x5C, 0xA1}, /* 0xA0-0xA3 */ + {0x5C, 0xB8}, {0x5C, 0xA9}, {0x5C, 0xAB}, {0x5C, 0xB1}, /* 0xA4-0xA7 */ + {0x5C, 0xB3}, {0x5E, 0x18}, {0x5E, 0x1A}, {0x5E, 0x16}, /* 0xA8-0xAB */ + {0x5E, 0x15}, {0x5E, 0x1B}, {0x5E, 0x11}, {0x5E, 0x78}, /* 0xAC-0xAF */ + {0x5E, 0x9A}, {0x5E, 0x97}, {0x5E, 0x9C}, {0x5E, 0x95}, /* 0xB0-0xB3 */ + {0x5E, 0x96}, {0x5E, 0xF6}, {0x5F, 0x26}, {0x5F, 0x27}, /* 0xB4-0xB7 */ + {0x5F, 0x29}, {0x5F, 0x80}, {0x5F, 0x81}, {0x5F, 0x7F}, /* 0xB8-0xBB */ + {0x5F, 0x7C}, {0x5F, 0xDD}, {0x5F, 0xE0}, {0x5F, 0xFD}, /* 0xBC-0xBF */ + {0x5F, 0xF5}, {0x5F, 0xFF}, {0x60, 0x0F}, {0x60, 0x14}, /* 0xC0-0xC3 */ + {0x60, 0x2F}, {0x60, 0x35}, {0x60, 0x16}, {0x60, 0x2A}, /* 0xC4-0xC7 */ + {0x60, 0x15}, {0x60, 0x21}, {0x60, 0x27}, {0x60, 0x29}, /* 0xC8-0xCB */ + {0x60, 0x2B}, {0x60, 0x1B}, {0x62, 0x16}, {0x62, 0x15}, /* 0xCC-0xCF */ + {0x62, 0x3F}, {0x62, 0x3E}, {0x62, 0x40}, {0x62, 0x7F}, /* 0xD0-0xD3 */ + {0x62, 0xC9}, {0x62, 0xCC}, {0x62, 0xC4}, {0x62, 0xBF}, /* 0xD4-0xD7 */ + {0x62, 0xC2}, {0x62, 0xB9}, {0x62, 0xD2}, {0x62, 0xDB}, /* 0xD8-0xDB */ + {0x62, 0xAB}, {0x62, 0xD3}, {0x62, 0xD4}, {0x62, 0xCB}, /* 0xDC-0xDF */ + {0x62, 0xC8}, {0x62, 0xA8}, {0x62, 0xBD}, {0x62, 0xBC}, /* 0xE0-0xE3 */ + {0x62, 0xD0}, {0x62, 0xD9}, {0x62, 0xC7}, {0x62, 0xCD}, /* 0xE4-0xE7 */ + {0x62, 0xB5}, {0x62, 0xDA}, {0x62, 0xB1}, {0x62, 0xD8}, /* 0xE8-0xEB */ + {0x62, 0xD6}, {0x62, 0xD7}, {0x62, 0xC6}, {0x62, 0xAC}, /* 0xEC-0xEF */ + {0x62, 0xCE}, {0x65, 0x3E}, {0x65, 0xA7}, {0x65, 0xBC}, /* 0xF0-0xF3 */ + {0x65, 0xFA}, {0x66, 0x14}, {0x66, 0x13}, {0x66, 0x0C}, /* 0xF4-0xF7 */ + {0x66, 0x06}, {0x66, 0x02}, {0x66, 0x0E}, {0x66, 0x00}, /* 0xF8-0xFB */ + {0x66, 0x0F}, {0x66, 0x15}, {0x66, 0x0A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x66, 0x07}, {0x67, 0x0D}, {0x67, 0x0B}, {0x67, 0x6D}, /* 0x40-0x43 */ + {0x67, 0x8B}, {0x67, 0x95}, {0x67, 0x71}, {0x67, 0x9C}, /* 0x44-0x47 */ + {0x67, 0x73}, {0x67, 0x77}, {0x67, 0x87}, {0x67, 0x9D}, /* 0x48-0x4B */ + {0x67, 0x97}, {0x67, 0x6F}, {0x67, 0x70}, {0x67, 0x7F}, /* 0x4C-0x4F */ + {0x67, 0x89}, {0x67, 0x7E}, {0x67, 0x90}, {0x67, 0x75}, /* 0x50-0x53 */ + {0x67, 0x9A}, {0x67, 0x93}, {0x67, 0x7C}, {0x67, 0x6A}, /* 0x54-0x57 */ + {0x67, 0x72}, {0x6B, 0x23}, {0x6B, 0x66}, {0x6B, 0x67}, /* 0x58-0x5B */ + {0x6B, 0x7F}, {0x6C, 0x13}, {0x6C, 0x1B}, {0x6C, 0xE3}, /* 0x5C-0x5F */ + {0x6C, 0xE8}, {0x6C, 0xF3}, {0x6C, 0xB1}, {0x6C, 0xCC}, /* 0x60-0x63 */ + {0x6C, 0xE5}, {0x6C, 0xB3}, {0x6C, 0xBD}, {0x6C, 0xBE}, /* 0x64-0x67 */ + {0x6C, 0xBC}, {0x6C, 0xE2}, {0x6C, 0xAB}, {0x6C, 0xD5}, /* 0x68-0x6B */ + {0x6C, 0xD3}, {0x6C, 0xB8}, {0x6C, 0xC4}, {0x6C, 0xB9}, /* 0x6C-0x6F */ + {0x6C, 0xC1}, {0x6C, 0xAE}, {0x6C, 0xD7}, {0x6C, 0xC5}, /* 0x70-0x73 */ + {0x6C, 0xF1}, {0x6C, 0xBF}, {0x6C, 0xBB}, {0x6C, 0xE1}, /* 0x74-0x77 */ + {0x6C, 0xDB}, {0x6C, 0xCA}, {0x6C, 0xAC}, {0x6C, 0xEF}, /* 0x78-0x7B */ + {0x6C, 0xDC}, {0x6C, 0xD6}, {0x6C, 0xE0}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x70, 0x95}, {0x70, 0x8E}, {0x70, 0x92}, /* 0xA0-0xA3 */ + {0x70, 0x8A}, {0x70, 0x99}, {0x72, 0x2C}, {0x72, 0x2D}, /* 0xA4-0xA7 */ + {0x72, 0x38}, {0x72, 0x48}, {0x72, 0x67}, {0x72, 0x69}, /* 0xA8-0xAB */ + {0x72, 0xC0}, {0x72, 0xCE}, {0x72, 0xD9}, {0x72, 0xD7}, /* 0xAC-0xAF */ + {0x72, 0xD0}, {0x73, 0xA9}, {0x73, 0xA8}, {0x73, 0x9F}, /* 0xB0-0xB3 */ + {0x73, 0xAB}, {0x73, 0xA5}, {0x75, 0x3D}, {0x75, 0x9D}, /* 0xB4-0xB7 */ + {0x75, 0x99}, {0x75, 0x9A}, {0x76, 0x84}, {0x76, 0xC2}, /* 0xB8-0xBB */ + {0x76, 0xF2}, {0x76, 0xF4}, {0x77, 0xE5}, {0x77, 0xFD}, /* 0xBC-0xBF */ + {0x79, 0x3E}, {0x79, 0x40}, {0x79, 0x41}, {0x79, 0xC9}, /* 0xC0-0xC3 */ + {0x79, 0xC8}, {0x7A, 0x7A}, {0x7A, 0x79}, {0x7A, 0xFA}, /* 0xC4-0xC7 */ + {0x7C, 0xFE}, {0x7F, 0x54}, {0x7F, 0x8C}, {0x7F, 0x8B}, /* 0xC8-0xCB */ + {0x80, 0x05}, {0x80, 0xBA}, {0x80, 0xA5}, {0x80, 0xA2}, /* 0xCC-0xCF */ + {0x80, 0xB1}, {0x80, 0xA1}, {0x80, 0xAB}, {0x80, 0xA9}, /* 0xD0-0xD3 */ + {0x80, 0xB4}, {0x80, 0xAA}, {0x80, 0xAF}, {0x81, 0xE5}, /* 0xD4-0xD7 */ + {0x81, 0xFE}, {0x82, 0x0D}, {0x82, 0xB3}, {0x82, 0x9D}, /* 0xD8-0xDB */ + {0x82, 0x99}, {0x82, 0xAD}, {0x82, 0xBD}, {0x82, 0x9F}, /* 0xDC-0xDF */ + {0x82, 0xB9}, {0x82, 0xB1}, {0x82, 0xAC}, {0x82, 0xA5}, /* 0xE0-0xE3 */ + {0x82, 0xAF}, {0x82, 0xB8}, {0x82, 0xA3}, {0x82, 0xB0}, /* 0xE4-0xE7 */ + {0x82, 0xBE}, {0x82, 0xB7}, {0x86, 0x4E}, {0x86, 0x71}, /* 0xE8-0xEB */ + {0x52, 0x1D}, {0x88, 0x68}, {0x8E, 0xCB}, {0x8F, 0xCE}, /* 0xEC-0xEF */ + {0x8F, 0xD4}, {0x8F, 0xD1}, {0x90, 0xB5}, {0x90, 0xB8}, /* 0xF0-0xF3 */ + {0x90, 0xB1}, {0x90, 0xB6}, {0x91, 0xC7}, {0x91, 0xD1}, /* 0xF4-0xF7 */ + {0x95, 0x77}, {0x95, 0x80}, {0x96, 0x1C}, {0x96, 0x40}, /* 0xF8-0xFB */ + {0x96, 0x3F}, {0x96, 0x3B}, {0x96, 0x44}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x96, 0x42}, {0x96, 0xB9}, {0x96, 0xE8}, {0x97, 0x52}, /* 0x40-0x43 */ + {0x97, 0x5E}, {0x4E, 0x9F}, {0x4E, 0xAD}, {0x4E, 0xAE}, /* 0x44-0x47 */ + {0x4F, 0xE1}, {0x4F, 0xB5}, {0x4F, 0xAF}, {0x4F, 0xBF}, /* 0x48-0x4B */ + {0x4F, 0xE0}, {0x4F, 0xD1}, {0x4F, 0xCF}, {0x4F, 0xDD}, /* 0x4C-0x4F */ + {0x4F, 0xC3}, {0x4F, 0xB6}, {0x4F, 0xD8}, {0x4F, 0xDF}, /* 0x50-0x53 */ + {0x4F, 0xCA}, {0x4F, 0xD7}, {0x4F, 0xAE}, {0x4F, 0xD0}, /* 0x54-0x57 */ + {0x4F, 0xC4}, {0x4F, 0xC2}, {0x4F, 0xDA}, {0x4F, 0xCE}, /* 0x58-0x5B */ + {0x4F, 0xDE}, {0x4F, 0xB7}, {0x51, 0x57}, {0x51, 0x92}, /* 0x5C-0x5F */ + {0x51, 0x91}, {0x51, 0xA0}, {0x52, 0x4E}, {0x52, 0x43}, /* 0x60-0x63 */ + {0x52, 0x4A}, {0x52, 0x4D}, {0x52, 0x4C}, {0x52, 0x4B}, /* 0x64-0x67 */ + {0x52, 0x47}, {0x52, 0xC7}, {0x52, 0xC9}, {0x52, 0xC3}, /* 0x68-0x6B */ + {0x52, 0xC1}, {0x53, 0x0D}, {0x53, 0x57}, {0x53, 0x7B}, /* 0x6C-0x6F */ + {0x53, 0x9A}, {0x53, 0xDB}, {0x54, 0xAC}, {0x54, 0xC0}, /* 0x70-0x73 */ + {0x54, 0xA8}, {0x54, 0xCE}, {0x54, 0xC9}, {0x54, 0xB8}, /* 0x74-0x77 */ + {0x54, 0xA6}, {0x54, 0xB3}, {0x54, 0xC7}, {0x54, 0xC2}, /* 0x78-0x7B */ + {0x54, 0xBD}, {0x54, 0xAA}, {0x54, 0xC1}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x54, 0xC4}, {0x54, 0xC8}, {0x54, 0xAF}, /* 0xA0-0xA3 */ + {0x54, 0xAB}, {0x54, 0xB1}, {0x54, 0xBB}, {0x54, 0xA9}, /* 0xA4-0xA7 */ + {0x54, 0xA7}, {0x54, 0xBF}, {0x56, 0xFF}, {0x57, 0x82}, /* 0xA8-0xAB */ + {0x57, 0x8B}, {0x57, 0xA0}, {0x57, 0xA3}, {0x57, 0xA2}, /* 0xAC-0xAF */ + {0x57, 0xCE}, {0x57, 0xAE}, {0x57, 0x93}, {0x59, 0x55}, /* 0xB0-0xB3 */ + {0x59, 0x51}, {0x59, 0x4F}, {0x59, 0x4E}, {0x59, 0x50}, /* 0xB4-0xB7 */ + {0x59, 0xDC}, {0x59, 0xD8}, {0x59, 0xFF}, {0x59, 0xE3}, /* 0xB8-0xBB */ + {0x59, 0xE8}, {0x5A, 0x03}, {0x59, 0xE5}, {0x59, 0xEA}, /* 0xBC-0xBF */ + {0x59, 0xDA}, {0x59, 0xE6}, {0x5A, 0x01}, {0x59, 0xFB}, /* 0xC0-0xC3 */ + {0x5B, 0x69}, {0x5B, 0xA3}, {0x5B, 0xA6}, {0x5B, 0xA4}, /* 0xC4-0xC7 */ + {0x5B, 0xA2}, {0x5B, 0xA5}, {0x5C, 0x01}, {0x5C, 0x4E}, /* 0xC8-0xCB */ + {0x5C, 0x4F}, {0x5C, 0x4D}, {0x5C, 0x4B}, {0x5C, 0xD9}, /* 0xCC-0xCF */ + {0x5C, 0xD2}, {0x5D, 0xF7}, {0x5E, 0x1D}, {0x5E, 0x25}, /* 0xD0-0xD3 */ + {0x5E, 0x1F}, {0x5E, 0x7D}, {0x5E, 0xA0}, {0x5E, 0xA6}, /* 0xD4-0xD7 */ + {0x5E, 0xFA}, {0x5F, 0x08}, {0x5F, 0x2D}, {0x5F, 0x65}, /* 0xD8-0xDB */ + {0x5F, 0x88}, {0x5F, 0x85}, {0x5F, 0x8A}, {0x5F, 0x8B}, /* 0xDC-0xDF */ + {0x5F, 0x87}, {0x5F, 0x8C}, {0x5F, 0x89}, {0x60, 0x12}, /* 0xE0-0xE3 */ + {0x60, 0x1D}, {0x60, 0x20}, {0x60, 0x25}, {0x60, 0x0E}, /* 0xE4-0xE7 */ + {0x60, 0x28}, {0x60, 0x4D}, {0x60, 0x70}, {0x60, 0x68}, /* 0xE8-0xEB */ + {0x60, 0x62}, {0x60, 0x46}, {0x60, 0x43}, {0x60, 0x6C}, /* 0xEC-0xEF */ + {0x60, 0x6B}, {0x60, 0x6A}, {0x60, 0x64}, {0x62, 0x41}, /* 0xF0-0xF3 */ + {0x62, 0xDC}, {0x63, 0x16}, {0x63, 0x09}, {0x62, 0xFC}, /* 0xF4-0xF7 */ + {0x62, 0xED}, {0x63, 0x01}, {0x62, 0xEE}, {0x62, 0xFD}, /* 0xF8-0xFB */ + {0x63, 0x07}, {0x62, 0xF1}, {0x62, 0xF7}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x62, 0xEF}, {0x62, 0xEC}, {0x62, 0xFE}, {0x62, 0xF4}, /* 0x40-0x43 */ + {0x63, 0x11}, {0x63, 0x02}, {0x65, 0x3F}, {0x65, 0x45}, /* 0x44-0x47 */ + {0x65, 0xAB}, {0x65, 0xBD}, {0x65, 0xE2}, {0x66, 0x25}, /* 0x48-0x4B */ + {0x66, 0x2D}, {0x66, 0x20}, {0x66, 0x27}, {0x66, 0x2F}, /* 0x4C-0x4F */ + {0x66, 0x1F}, {0x66, 0x28}, {0x66, 0x31}, {0x66, 0x24}, /* 0x50-0x53 */ + {0x66, 0xF7}, {0x67, 0xFF}, {0x67, 0xD3}, {0x67, 0xF1}, /* 0x54-0x57 */ + {0x67, 0xD4}, {0x67, 0xD0}, {0x67, 0xEC}, {0x67, 0xB6}, /* 0x58-0x5B */ + {0x67, 0xAF}, {0x67, 0xF5}, {0x67, 0xE9}, {0x67, 0xEF}, /* 0x5C-0x5F */ + {0x67, 0xC4}, {0x67, 0xD1}, {0x67, 0xB4}, {0x67, 0xDA}, /* 0x60-0x63 */ + {0x67, 0xE5}, {0x67, 0xB8}, {0x67, 0xCF}, {0x67, 0xDE}, /* 0x64-0x67 */ + {0x67, 0xF3}, {0x67, 0xB0}, {0x67, 0xD9}, {0x67, 0xE2}, /* 0x68-0x6B */ + {0x67, 0xDD}, {0x67, 0xD2}, {0x6B, 0x6A}, {0x6B, 0x83}, /* 0x6C-0x6F */ + {0x6B, 0x86}, {0x6B, 0xB5}, {0x6B, 0xD2}, {0x6B, 0xD7}, /* 0x70-0x73 */ + {0x6C, 0x1F}, {0x6C, 0xC9}, {0x6D, 0x0B}, {0x6D, 0x32}, /* 0x74-0x77 */ + {0x6D, 0x2A}, {0x6D, 0x41}, {0x6D, 0x25}, {0x6D, 0x0C}, /* 0x78-0x7B */ + {0x6D, 0x31}, {0x6D, 0x1E}, {0x6D, 0x17}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x6D, 0x3B}, {0x6D, 0x3D}, {0x6D, 0x3E}, /* 0xA0-0xA3 */ + {0x6D, 0x36}, {0x6D, 0x1B}, {0x6C, 0xF5}, {0x6D, 0x39}, /* 0xA4-0xA7 */ + {0x6D, 0x27}, {0x6D, 0x38}, {0x6D, 0x29}, {0x6D, 0x2E}, /* 0xA8-0xAB */ + {0x6D, 0x35}, {0x6D, 0x0E}, {0x6D, 0x2B}, {0x70, 0xAB}, /* 0xAC-0xAF */ + {0x70, 0xBA}, {0x70, 0xB3}, {0x70, 0xAC}, {0x70, 0xAF}, /* 0xB0-0xB3 */ + {0x70, 0xAD}, {0x70, 0xB8}, {0x70, 0xAE}, {0x70, 0xA4}, /* 0xB4-0xB7 */ + {0x72, 0x30}, {0x72, 0x72}, {0x72, 0x6F}, {0x72, 0x74}, /* 0xB8-0xBB */ + {0x72, 0xE9}, {0x72, 0xE0}, {0x72, 0xE1}, {0x73, 0xB7}, /* 0xBC-0xBF */ + {0x73, 0xCA}, {0x73, 0xBB}, {0x73, 0xB2}, {0x73, 0xCD}, /* 0xC0-0xC3 */ + {0x73, 0xC0}, {0x73, 0xB3}, {0x75, 0x1A}, {0x75, 0x2D}, /* 0xC4-0xC7 */ + {0x75, 0x4F}, {0x75, 0x4C}, {0x75, 0x4E}, {0x75, 0x4B}, /* 0xC8-0xCB */ + {0x75, 0xAB}, {0x75, 0xA4}, {0x75, 0xA5}, {0x75, 0xA2}, /* 0xCC-0xCF */ + {0x75, 0xA3}, {0x76, 0x78}, {0x76, 0x86}, {0x76, 0x87}, /* 0xD0-0xD3 */ + {0x76, 0x88}, {0x76, 0xC8}, {0x76, 0xC6}, {0x76, 0xC3}, /* 0xD4-0xD7 */ + {0x76, 0xC5}, {0x77, 0x01}, {0x76, 0xF9}, {0x76, 0xF8}, /* 0xD8-0xDB */ + {0x77, 0x09}, {0x77, 0x0B}, {0x76, 0xFE}, {0x76, 0xFC}, /* 0xDC-0xDF */ + {0x77, 0x07}, {0x77, 0xDC}, {0x78, 0x02}, {0x78, 0x14}, /* 0xE0-0xE3 */ + {0x78, 0x0C}, {0x78, 0x0D}, {0x79, 0x46}, {0x79, 0x49}, /* 0xE4-0xE7 */ + {0x79, 0x48}, {0x79, 0x47}, {0x79, 0xB9}, {0x79, 0xBA}, /* 0xE8-0xEB */ + {0x79, 0xD1}, {0x79, 0xD2}, {0x79, 0xCB}, {0x7A, 0x7F}, /* 0xEC-0xEF */ + {0x7A, 0x81}, {0x7A, 0xFF}, {0x7A, 0xFD}, {0x7C, 0x7D}, /* 0xF0-0xF3 */ + {0x7D, 0x02}, {0x7D, 0x05}, {0x7D, 0x00}, {0x7D, 0x09}, /* 0xF4-0xF7 */ + {0x7D, 0x07}, {0x7D, 0x04}, {0x7D, 0x06}, {0x7F, 0x38}, /* 0xF8-0xFB */ + {0x7F, 0x8E}, {0x7F, 0xBF}, {0x80, 0x04}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x80, 0x10}, {0x80, 0x0D}, {0x80, 0x11}, {0x80, 0x36}, /* 0x40-0x43 */ + {0x80, 0xD6}, {0x80, 0xE5}, {0x80, 0xDA}, {0x80, 0xC3}, /* 0x44-0x47 */ + {0x80, 0xC4}, {0x80, 0xCC}, {0x80, 0xE1}, {0x80, 0xDB}, /* 0x48-0x4B */ + {0x80, 0xCE}, {0x80, 0xDE}, {0x80, 0xE4}, {0x80, 0xDD}, /* 0x4C-0x4F */ + {0x81, 0xF4}, {0x82, 0x22}, {0x82, 0xE7}, {0x83, 0x03}, /* 0x50-0x53 */ + {0x83, 0x05}, {0x82, 0xE3}, {0x82, 0xDB}, {0x82, 0xE6}, /* 0x54-0x57 */ + {0x83, 0x04}, {0x82, 0xE5}, {0x83, 0x02}, {0x83, 0x09}, /* 0x58-0x5B */ + {0x82, 0xD2}, {0x82, 0xD7}, {0x82, 0xF1}, {0x83, 0x01}, /* 0x5C-0x5F */ + {0x82, 0xDC}, {0x82, 0xD4}, {0x82, 0xD1}, {0x82, 0xDE}, /* 0x60-0x63 */ + {0x82, 0xD3}, {0x82, 0xDF}, {0x82, 0xEF}, {0x83, 0x06}, /* 0x64-0x67 */ + {0x86, 0x50}, {0x86, 0x79}, {0x86, 0x7B}, {0x86, 0x7A}, /* 0x68-0x6B */ + {0x88, 0x4D}, {0x88, 0x6B}, {0x89, 0x81}, {0x89, 0xD4}, /* 0x6C-0x6F */ + {0x8A, 0x08}, {0x8A, 0x02}, {0x8A, 0x03}, {0x8C, 0x9E}, /* 0x70-0x73 */ + {0x8C, 0xA0}, {0x8D, 0x74}, {0x8D, 0x73}, {0x8D, 0xB4}, /* 0x74-0x77 */ + {0x8E, 0xCD}, {0x8E, 0xCC}, {0x8F, 0xF0}, {0x8F, 0xE6}, /* 0x78-0x7B */ + {0x8F, 0xE2}, {0x8F, 0xEA}, {0x8F, 0xE5}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x8F, 0xED}, {0x8F, 0xEB}, {0x8F, 0xE4}, /* 0xA0-0xA3 */ + {0x8F, 0xE8}, {0x90, 0xCA}, {0x90, 0xCE}, {0x90, 0xC1}, /* 0xA4-0xA7 */ + {0x90, 0xC3}, {0x91, 0x4B}, {0x91, 0x4A}, {0x91, 0xCD}, /* 0xA8-0xAB */ + {0x95, 0x82}, {0x96, 0x50}, {0x96, 0x4B}, {0x96, 0x4C}, /* 0xAC-0xAF */ + {0x96, 0x4D}, {0x97, 0x62}, {0x97, 0x69}, {0x97, 0xCB}, /* 0xB0-0xB3 */ + {0x97, 0xED}, {0x97, 0xF3}, {0x98, 0x01}, {0x98, 0xA8}, /* 0xB4-0xB7 */ + {0x98, 0xDB}, {0x98, 0xDF}, {0x99, 0x96}, {0x99, 0x99}, /* 0xB8-0xBB */ + {0x4E, 0x58}, {0x4E, 0xB3}, {0x50, 0x0C}, {0x50, 0x0D}, /* 0xBC-0xBF */ + {0x50, 0x23}, {0x4F, 0xEF}, {0x50, 0x26}, {0x50, 0x25}, /* 0xC0-0xC3 */ + {0x4F, 0xF8}, {0x50, 0x29}, {0x50, 0x16}, {0x50, 0x06}, /* 0xC4-0xC7 */ + {0x50, 0x3C}, {0x50, 0x1F}, {0x50, 0x1A}, {0x50, 0x12}, /* 0xC8-0xCB */ + {0x50, 0x11}, {0x4F, 0xFA}, {0x50, 0x00}, {0x50, 0x14}, /* 0xCC-0xCF */ + {0x50, 0x28}, {0x4F, 0xF1}, {0x50, 0x21}, {0x50, 0x0B}, /* 0xD0-0xD3 */ + {0x50, 0x19}, {0x50, 0x18}, {0x4F, 0xF3}, {0x4F, 0xEE}, /* 0xD4-0xD7 */ + {0x50, 0x2D}, {0x50, 0x2A}, {0x4F, 0xFE}, {0x50, 0x2B}, /* 0xD8-0xDB */ + {0x50, 0x09}, {0x51, 0x7C}, {0x51, 0xA4}, {0x51, 0xA5}, /* 0xDC-0xDF */ + {0x51, 0xA2}, {0x51, 0xCD}, {0x51, 0xCC}, {0x51, 0xC6}, /* 0xE0-0xE3 */ + {0x51, 0xCB}, {0x52, 0x56}, {0x52, 0x5C}, {0x52, 0x54}, /* 0xE4-0xE7 */ + {0x52, 0x5B}, {0x52, 0x5D}, {0x53, 0x2A}, {0x53, 0x7F}, /* 0xE8-0xEB */ + {0x53, 0x9F}, {0x53, 0x9D}, {0x53, 0xDF}, {0x54, 0xE8}, /* 0xEC-0xEF */ + {0x55, 0x10}, {0x55, 0x01}, {0x55, 0x37}, {0x54, 0xFC}, /* 0xF0-0xF3 */ + {0x54, 0xE5}, {0x54, 0xF2}, {0x55, 0x06}, {0x54, 0xFA}, /* 0xF4-0xF7 */ + {0x55, 0x14}, {0x54, 0xE9}, {0x54, 0xED}, {0x54, 0xE1}, /* 0xF8-0xFB */ + {0x55, 0x09}, {0x54, 0xEE}, {0x54, 0xEA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x54, 0xE6}, {0x55, 0x27}, {0x55, 0x07}, {0x54, 0xFD}, /* 0x40-0x43 */ + {0x55, 0x0F}, {0x57, 0x03}, {0x57, 0x04}, {0x57, 0xC2}, /* 0x44-0x47 */ + {0x57, 0xD4}, {0x57, 0xCB}, {0x57, 0xC3}, {0x58, 0x09}, /* 0x48-0x4B */ + {0x59, 0x0F}, {0x59, 0x57}, {0x59, 0x58}, {0x59, 0x5A}, /* 0x4C-0x4F */ + {0x5A, 0x11}, {0x5A, 0x18}, {0x5A, 0x1C}, {0x5A, 0x1F}, /* 0x50-0x53 */ + {0x5A, 0x1B}, {0x5A, 0x13}, {0x59, 0xEC}, {0x5A, 0x20}, /* 0x54-0x57 */ + {0x5A, 0x23}, {0x5A, 0x29}, {0x5A, 0x25}, {0x5A, 0x0C}, /* 0x58-0x5B */ + {0x5A, 0x09}, {0x5B, 0x6B}, {0x5C, 0x58}, {0x5B, 0xB0}, /* 0x5C-0x5F */ + {0x5B, 0xB3}, {0x5B, 0xB6}, {0x5B, 0xB4}, {0x5B, 0xAE}, /* 0x60-0x63 */ + {0x5B, 0xB5}, {0x5B, 0xB9}, {0x5B, 0xB8}, {0x5C, 0x04}, /* 0x64-0x67 */ + {0x5C, 0x51}, {0x5C, 0x55}, {0x5C, 0x50}, {0x5C, 0xED}, /* 0x68-0x6B */ + {0x5C, 0xFD}, {0x5C, 0xFB}, {0x5C, 0xEA}, {0x5C, 0xE8}, /* 0x6C-0x6F */ + {0x5C, 0xF0}, {0x5C, 0xF6}, {0x5D, 0x01}, {0x5C, 0xF4}, /* 0x70-0x73 */ + {0x5D, 0xEE}, {0x5E, 0x2D}, {0x5E, 0x2B}, {0x5E, 0xAB}, /* 0x74-0x77 */ + {0x5E, 0xAD}, {0x5E, 0xA7}, {0x5F, 0x31}, {0x5F, 0x92}, /* 0x78-0x7B */ + {0x5F, 0x91}, {0x5F, 0x90}, {0x60, 0x59}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x60, 0x63}, {0x60, 0x65}, {0x60, 0x50}, /* 0xA0-0xA3 */ + {0x60, 0x55}, {0x60, 0x6D}, {0x60, 0x69}, {0x60, 0x6F}, /* 0xA4-0xA7 */ + {0x60, 0x84}, {0x60, 0x9F}, {0x60, 0x9A}, {0x60, 0x8D}, /* 0xA8-0xAB */ + {0x60, 0x94}, {0x60, 0x8C}, {0x60, 0x85}, {0x60, 0x96}, /* 0xAC-0xAF */ + {0x62, 0x47}, {0x62, 0xF3}, {0x63, 0x08}, {0x62, 0xFF}, /* 0xB0-0xB3 */ + {0x63, 0x4E}, {0x63, 0x3E}, {0x63, 0x2F}, {0x63, 0x55}, /* 0xB4-0xB7 */ + {0x63, 0x42}, {0x63, 0x46}, {0x63, 0x4F}, {0x63, 0x49}, /* 0xB8-0xBB */ + {0x63, 0x3A}, {0x63, 0x50}, {0x63, 0x3D}, {0x63, 0x2A}, /* 0xBC-0xBF */ + {0x63, 0x2B}, {0x63, 0x28}, {0x63, 0x4D}, {0x63, 0x4C}, /* 0xC0-0xC3 */ + {0x65, 0x48}, {0x65, 0x49}, {0x65, 0x99}, {0x65, 0xC1}, /* 0xC4-0xC7 */ + {0x65, 0xC5}, {0x66, 0x42}, {0x66, 0x49}, {0x66, 0x4F}, /* 0xC8-0xCB */ + {0x66, 0x43}, {0x66, 0x52}, {0x66, 0x4C}, {0x66, 0x45}, /* 0xCC-0xCF */ + {0x66, 0x41}, {0x66, 0xF8}, {0x67, 0x14}, {0x67, 0x15}, /* 0xD0-0xD3 */ + {0x67, 0x17}, {0x68, 0x21}, {0x68, 0x38}, {0x68, 0x48}, /* 0xD4-0xD7 */ + {0x68, 0x46}, {0x68, 0x53}, {0x68, 0x39}, {0x68, 0x42}, /* 0xD8-0xDB */ + {0x68, 0x54}, {0x68, 0x29}, {0x68, 0xB3}, {0x68, 0x17}, /* 0xDC-0xDF */ + {0x68, 0x4C}, {0x68, 0x51}, {0x68, 0x3D}, {0x67, 0xF4}, /* 0xE0-0xE3 */ + {0x68, 0x50}, {0x68, 0x40}, {0x68, 0x3C}, {0x68, 0x43}, /* 0xE4-0xE7 */ + {0x68, 0x2A}, {0x68, 0x45}, {0x68, 0x13}, {0x68, 0x18}, /* 0xE8-0xEB */ + {0x68, 0x41}, {0x6B, 0x8A}, {0x6B, 0x89}, {0x6B, 0xB7}, /* 0xEC-0xEF */ + {0x6C, 0x23}, {0x6C, 0x27}, {0x6C, 0x28}, {0x6C, 0x26}, /* 0xF0-0xF3 */ + {0x6C, 0x24}, {0x6C, 0xF0}, {0x6D, 0x6A}, {0x6D, 0x95}, /* 0xF4-0xF7 */ + {0x6D, 0x88}, {0x6D, 0x87}, {0x6D, 0x66}, {0x6D, 0x78}, /* 0xF8-0xFB */ + {0x6D, 0x77}, {0x6D, 0x59}, {0x6D, 0x93}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_AF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6D, 0x6C}, {0x6D, 0x89}, {0x6D, 0x6E}, {0x6D, 0x5A}, /* 0x40-0x43 */ + {0x6D, 0x74}, {0x6D, 0x69}, {0x6D, 0x8C}, {0x6D, 0x8A}, /* 0x44-0x47 */ + {0x6D, 0x79}, {0x6D, 0x85}, {0x6D, 0x65}, {0x6D, 0x94}, /* 0x48-0x4B */ + {0x70, 0xCA}, {0x70, 0xD8}, {0x70, 0xE4}, {0x70, 0xD9}, /* 0x4C-0x4F */ + {0x70, 0xC8}, {0x70, 0xCF}, {0x72, 0x39}, {0x72, 0x79}, /* 0x50-0x53 */ + {0x72, 0xFC}, {0x72, 0xF9}, {0x72, 0xFD}, {0x72, 0xF8}, /* 0x54-0x57 */ + {0x72, 0xF7}, {0x73, 0x86}, {0x73, 0xED}, {0x74, 0x09}, /* 0x58-0x5B */ + {0x73, 0xEE}, {0x73, 0xE0}, {0x73, 0xEA}, {0x73, 0xDE}, /* 0x5C-0x5F */ + {0x75, 0x54}, {0x75, 0x5D}, {0x75, 0x5C}, {0x75, 0x5A}, /* 0x60-0x63 */ + {0x75, 0x59}, {0x75, 0xBE}, {0x75, 0xC5}, {0x75, 0xC7}, /* 0x64-0x67 */ + {0x75, 0xB2}, {0x75, 0xB3}, {0x75, 0xBD}, {0x75, 0xBC}, /* 0x68-0x6B */ + {0x75, 0xB9}, {0x75, 0xC2}, {0x75, 0xB8}, {0x76, 0x8B}, /* 0x6C-0x6F */ + {0x76, 0xB0}, {0x76, 0xCA}, {0x76, 0xCD}, {0x76, 0xCE}, /* 0x70-0x73 */ + {0x77, 0x29}, {0x77, 0x1F}, {0x77, 0x20}, {0x77, 0x28}, /* 0x74-0x77 */ + {0x77, 0xE9}, {0x78, 0x30}, {0x78, 0x27}, {0x78, 0x38}, /* 0x78-0x7B */ + {0x78, 0x1D}, {0x78, 0x34}, {0x78, 0x37}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x78, 0x25}, {0x78, 0x2D}, {0x78, 0x20}, /* 0xA0-0xA3 */ + {0x78, 0x1F}, {0x78, 0x32}, {0x79, 0x55}, {0x79, 0x50}, /* 0xA4-0xA7 */ + {0x79, 0x60}, {0x79, 0x5F}, {0x79, 0x56}, {0x79, 0x5E}, /* 0xA8-0xAB */ + {0x79, 0x5D}, {0x79, 0x57}, {0x79, 0x5A}, {0x79, 0xE4}, /* 0xAC-0xAF */ + {0x79, 0xE3}, {0x79, 0xE7}, {0x79, 0xDF}, {0x79, 0xE6}, /* 0xB0-0xB3 */ + {0x79, 0xE9}, {0x79, 0xD8}, {0x7A, 0x84}, {0x7A, 0x88}, /* 0xB4-0xB7 */ + {0x7A, 0xD9}, {0x7B, 0x06}, {0x7B, 0x11}, {0x7C, 0x89}, /* 0xB8-0xBB */ + {0x7D, 0x21}, {0x7D, 0x17}, {0x7D, 0x0B}, {0x7D, 0x0A}, /* 0xBC-0xBF */ + {0x7D, 0x20}, {0x7D, 0x22}, {0x7D, 0x14}, {0x7D, 0x10}, /* 0xC0-0xC3 */ + {0x7D, 0x15}, {0x7D, 0x1A}, {0x7D, 0x1C}, {0x7D, 0x0D}, /* 0xC4-0xC7 */ + {0x7D, 0x19}, {0x7D, 0x1B}, {0x7F, 0x3A}, {0x7F, 0x5F}, /* 0xC8-0xCB */ + {0x7F, 0x94}, {0x7F, 0xC5}, {0x7F, 0xC1}, {0x80, 0x06}, /* 0xCC-0xCF */ + {0x80, 0x18}, {0x80, 0x15}, {0x80, 0x19}, {0x80, 0x17}, /* 0xD0-0xD3 */ + {0x80, 0x3D}, {0x80, 0x3F}, {0x80, 0xF1}, {0x81, 0x02}, /* 0xD4-0xD7 */ + {0x80, 0xF0}, {0x81, 0x05}, {0x80, 0xED}, {0x80, 0xF4}, /* 0xD8-0xDB */ + {0x81, 0x06}, {0x80, 0xF8}, {0x80, 0xF3}, {0x81, 0x08}, /* 0xDC-0xDF */ + {0x80, 0xFD}, {0x81, 0x0A}, {0x80, 0xFC}, {0x80, 0xEF}, /* 0xE0-0xE3 */ + {0x81, 0xED}, {0x81, 0xEC}, {0x82, 0x00}, {0x82, 0x10}, /* 0xE4-0xE7 */ + {0x82, 0x2A}, {0x82, 0x2B}, {0x82, 0x28}, {0x82, 0x2C}, /* 0xE8-0xEB */ + {0x82, 0xBB}, {0x83, 0x2B}, {0x83, 0x52}, {0x83, 0x54}, /* 0xEC-0xEF */ + {0x83, 0x4A}, {0x83, 0x38}, {0x83, 0x50}, {0x83, 0x49}, /* 0xF0-0xF3 */ + {0x83, 0x35}, {0x83, 0x34}, {0x83, 0x4F}, {0x83, 0x32}, /* 0xF4-0xF7 */ + {0x83, 0x39}, {0x83, 0x36}, {0x83, 0x17}, {0x83, 0x40}, /* 0xF8-0xFB */ + {0x83, 0x31}, {0x83, 0x28}, {0x83, 0x43}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x86, 0x54}, {0x86, 0x8A}, {0x86, 0xAA}, {0x86, 0x93}, /* 0x40-0x43 */ + {0x86, 0xA4}, {0x86, 0xA9}, {0x86, 0x8C}, {0x86, 0xA3}, /* 0x44-0x47 */ + {0x86, 0x9C}, {0x88, 0x70}, {0x88, 0x77}, {0x88, 0x81}, /* 0x48-0x4B */ + {0x88, 0x82}, {0x88, 0x7D}, {0x88, 0x79}, {0x8A, 0x18}, /* 0x4C-0x4F */ + {0x8A, 0x10}, {0x8A, 0x0E}, {0x8A, 0x0C}, {0x8A, 0x15}, /* 0x50-0x53 */ + {0x8A, 0x0A}, {0x8A, 0x17}, {0x8A, 0x13}, {0x8A, 0x16}, /* 0x54-0x57 */ + {0x8A, 0x0F}, {0x8A, 0x11}, {0x8C, 0x48}, {0x8C, 0x7A}, /* 0x58-0x5B */ + {0x8C, 0x79}, {0x8C, 0xA1}, {0x8C, 0xA2}, {0x8D, 0x77}, /* 0x5C-0x5F */ + {0x8E, 0xAC}, {0x8E, 0xD2}, {0x8E, 0xD4}, {0x8E, 0xCF}, /* 0x60-0x63 */ + {0x8F, 0xB1}, {0x90, 0x01}, {0x90, 0x06}, {0x8F, 0xF7}, /* 0x64-0x67 */ + {0x90, 0x00}, {0x8F, 0xFA}, {0x8F, 0xF4}, {0x90, 0x03}, /* 0x68-0x6B */ + {0x8F, 0xFD}, {0x90, 0x05}, {0x8F, 0xF8}, {0x90, 0x95}, /* 0x6C-0x6F */ + {0x90, 0xE1}, {0x90, 0xDD}, {0x90, 0xE2}, {0x91, 0x52}, /* 0x70-0x73 */ + {0x91, 0x4D}, {0x91, 0x4C}, {0x91, 0xD8}, {0x91, 0xDD}, /* 0x74-0x77 */ + {0x91, 0xD7}, {0x91, 0xDC}, {0x91, 0xD9}, {0x95, 0x83}, /* 0x78-0x7B */ + {0x96, 0x62}, {0x96, 0x63}, {0x96, 0x61}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x96, 0x5B}, {0x96, 0x5D}, {0x96, 0x64}, /* 0xA0-0xA3 */ + {0x96, 0x58}, {0x96, 0x5E}, {0x96, 0xBB}, {0x98, 0xE2}, /* 0xA4-0xA7 */ + {0x99, 0xAC}, {0x9A, 0xA8}, {0x9A, 0xD8}, {0x9B, 0x25}, /* 0xA8-0xAB */ + {0x9B, 0x32}, {0x9B, 0x3C}, {0x4E, 0x7E}, {0x50, 0x7A}, /* 0xAC-0xAF */ + {0x50, 0x7D}, {0x50, 0x5C}, {0x50, 0x47}, {0x50, 0x43}, /* 0xB0-0xB3 */ + {0x50, 0x4C}, {0x50, 0x5A}, {0x50, 0x49}, {0x50, 0x65}, /* 0xB4-0xB7 */ + {0x50, 0x76}, {0x50, 0x4E}, {0x50, 0x55}, {0x50, 0x75}, /* 0xB8-0xBB */ + {0x50, 0x74}, {0x50, 0x77}, {0x50, 0x4F}, {0x50, 0x0F}, /* 0xBC-0xBF */ + {0x50, 0x6F}, {0x50, 0x6D}, {0x51, 0x5C}, {0x51, 0x95}, /* 0xC0-0xC3 */ + {0x51, 0xF0}, {0x52, 0x6A}, {0x52, 0x6F}, {0x52, 0xD2}, /* 0xC4-0xC7 */ + {0x52, 0xD9}, {0x52, 0xD8}, {0x52, 0xD5}, {0x53, 0x10}, /* 0xC8-0xCB */ + {0x53, 0x0F}, {0x53, 0x19}, {0x53, 0x3F}, {0x53, 0x40}, /* 0xCC-0xCF */ + {0x53, 0x3E}, {0x53, 0xC3}, {0x66, 0xFC}, {0x55, 0x46}, /* 0xD0-0xD3 */ + {0x55, 0x6A}, {0x55, 0x66}, {0x55, 0x44}, {0x55, 0x5E}, /* 0xD4-0xD7 */ + {0x55, 0x61}, {0x55, 0x43}, {0x55, 0x4A}, {0x55, 0x31}, /* 0xD8-0xDB */ + {0x55, 0x56}, {0x55, 0x4F}, {0x55, 0x55}, {0x55, 0x2F}, /* 0xDC-0xDF */ + {0x55, 0x64}, {0x55, 0x38}, {0x55, 0x2E}, {0x55, 0x5C}, /* 0xE0-0xE3 */ + {0x55, 0x2C}, {0x55, 0x63}, {0x55, 0x33}, {0x55, 0x41}, /* 0xE4-0xE7 */ + {0x55, 0x57}, {0x57, 0x08}, {0x57, 0x0B}, {0x57, 0x09}, /* 0xE8-0xEB */ + {0x57, 0xDF}, {0x58, 0x05}, {0x58, 0x0A}, {0x58, 0x06}, /* 0xEC-0xEF */ + {0x57, 0xE0}, {0x57, 0xE4}, {0x57, 0xFA}, {0x58, 0x02}, /* 0xF0-0xF3 */ + {0x58, 0x35}, {0x57, 0xF7}, {0x57, 0xF9}, {0x59, 0x20}, /* 0xF4-0xF7 */ + {0x59, 0x62}, {0x5A, 0x36}, {0x5A, 0x41}, {0x5A, 0x49}, /* 0xF8-0xFB */ + {0x5A, 0x66}, {0x5A, 0x6A}, {0x5A, 0x40}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5A, 0x3C}, {0x5A, 0x62}, {0x5A, 0x5A}, {0x5A, 0x46}, /* 0x40-0x43 */ + {0x5A, 0x4A}, {0x5B, 0x70}, {0x5B, 0xC7}, {0x5B, 0xC5}, /* 0x44-0x47 */ + {0x5B, 0xC4}, {0x5B, 0xC2}, {0x5B, 0xBF}, {0x5B, 0xC6}, /* 0x48-0x4B */ + {0x5C, 0x09}, {0x5C, 0x08}, {0x5C, 0x07}, {0x5C, 0x60}, /* 0x4C-0x4F */ + {0x5C, 0x5C}, {0x5C, 0x5D}, {0x5D, 0x07}, {0x5D, 0x06}, /* 0x50-0x53 */ + {0x5D, 0x0E}, {0x5D, 0x1B}, {0x5D, 0x16}, {0x5D, 0x22}, /* 0x54-0x57 */ + {0x5D, 0x11}, {0x5D, 0x29}, {0x5D, 0x14}, {0x5D, 0x19}, /* 0x58-0x5B */ + {0x5D, 0x24}, {0x5D, 0x27}, {0x5D, 0x17}, {0x5D, 0xE2}, /* 0x5C-0x5F */ + {0x5E, 0x38}, {0x5E, 0x36}, {0x5E, 0x33}, {0x5E, 0x37}, /* 0x60-0x63 */ + {0x5E, 0xB7}, {0x5E, 0xB8}, {0x5E, 0xB6}, {0x5E, 0xB5}, /* 0x64-0x67 */ + {0x5E, 0xBE}, {0x5F, 0x35}, {0x5F, 0x37}, {0x5F, 0x57}, /* 0x68-0x6B */ + {0x5F, 0x6C}, {0x5F, 0x69}, {0x5F, 0x6B}, {0x5F, 0x97}, /* 0x6C-0x6F */ + {0x5F, 0x99}, {0x5F, 0x9E}, {0x5F, 0x98}, {0x5F, 0xA1}, /* 0x70-0x73 */ + {0x5F, 0xA0}, {0x5F, 0x9C}, {0x60, 0x7F}, {0x60, 0xA3}, /* 0x74-0x77 */ + {0x60, 0x89}, {0x60, 0xA0}, {0x60, 0xA8}, {0x60, 0xCB}, /* 0x78-0x7B */ + {0x60, 0xB4}, {0x60, 0xE6}, {0x60, 0xBD}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x60, 0xC5}, {0x60, 0xBB}, {0x60, 0xB5}, /* 0xA0-0xA3 */ + {0x60, 0xDC}, {0x60, 0xBC}, {0x60, 0xD8}, {0x60, 0xD5}, /* 0xA4-0xA7 */ + {0x60, 0xC6}, {0x60, 0xDF}, {0x60, 0xB8}, {0x60, 0xDA}, /* 0xA8-0xAB */ + {0x60, 0xC7}, {0x62, 0x1A}, {0x62, 0x1B}, {0x62, 0x48}, /* 0xAC-0xAF */ + {0x63, 0xA0}, {0x63, 0xA7}, {0x63, 0x72}, {0x63, 0x96}, /* 0xB0-0xB3 */ + {0x63, 0xA2}, {0x63, 0xA5}, {0x63, 0x77}, {0x63, 0x67}, /* 0xB4-0xB7 */ + {0x63, 0x98}, {0x63, 0xAA}, {0x63, 0x71}, {0x63, 0xA9}, /* 0xB8-0xBB */ + {0x63, 0x89}, {0x63, 0x83}, {0x63, 0x9B}, {0x63, 0x6B}, /* 0xBC-0xBF */ + {0x63, 0xA8}, {0x63, 0x84}, {0x63, 0x88}, {0x63, 0x99}, /* 0xC0-0xC3 */ + {0x63, 0xA1}, {0x63, 0xAC}, {0x63, 0x92}, {0x63, 0x8F}, /* 0xC4-0xC7 */ + {0x63, 0x80}, {0x63, 0x7B}, {0x63, 0x69}, {0x63, 0x68}, /* 0xC8-0xCB */ + {0x63, 0x7A}, {0x65, 0x5D}, {0x65, 0x56}, {0x65, 0x51}, /* 0xCC-0xCF */ + {0x65, 0x59}, {0x65, 0x57}, {0x55, 0x5F}, {0x65, 0x4F}, /* 0xD0-0xD3 */ + {0x65, 0x58}, {0x65, 0x55}, {0x65, 0x54}, {0x65, 0x9C}, /* 0xD4-0xD7 */ + {0x65, 0x9B}, {0x65, 0xAC}, {0x65, 0xCF}, {0x65, 0xCB}, /* 0xD8-0xDB */ + {0x65, 0xCC}, {0x65, 0xCE}, {0x66, 0x5D}, {0x66, 0x5A}, /* 0xDC-0xDF */ + {0x66, 0x64}, {0x66, 0x68}, {0x66, 0x66}, {0x66, 0x5E}, /* 0xE0-0xE3 */ + {0x66, 0xF9}, {0x52, 0xD7}, {0x67, 0x1B}, {0x68, 0x81}, /* 0xE4-0xE7 */ + {0x68, 0xAF}, {0x68, 0xA2}, {0x68, 0x93}, {0x68, 0xB5}, /* 0xE8-0xEB */ + {0x68, 0x7F}, {0x68, 0x76}, {0x68, 0xB1}, {0x68, 0xA7}, /* 0xEC-0xEF */ + {0x68, 0x97}, {0x68, 0xB0}, {0x68, 0x83}, {0x68, 0xC4}, /* 0xF0-0xF3 */ + {0x68, 0xAD}, {0x68, 0x86}, {0x68, 0x85}, {0x68, 0x94}, /* 0xF4-0xF7 */ + {0x68, 0x9D}, {0x68, 0xA8}, {0x68, 0x9F}, {0x68, 0xA1}, /* 0xF8-0xFB */ + {0x68, 0x82}, {0x6B, 0x32}, {0x6B, 0xBA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6B, 0xEB}, {0x6B, 0xEC}, {0x6C, 0x2B}, {0x6D, 0x8E}, /* 0x40-0x43 */ + {0x6D, 0xBC}, {0x6D, 0xF3}, {0x6D, 0xD9}, {0x6D, 0xB2}, /* 0x44-0x47 */ + {0x6D, 0xE1}, {0x6D, 0xCC}, {0x6D, 0xE4}, {0x6D, 0xFB}, /* 0x48-0x4B */ + {0x6D, 0xFA}, {0x6E, 0x05}, {0x6D, 0xC7}, {0x6D, 0xCB}, /* 0x4C-0x4F */ + {0x6D, 0xAF}, {0x6D, 0xD1}, {0x6D, 0xAE}, {0x6D, 0xDE}, /* 0x50-0x53 */ + {0x6D, 0xF9}, {0x6D, 0xB8}, {0x6D, 0xF7}, {0x6D, 0xF5}, /* 0x54-0x57 */ + {0x6D, 0xC5}, {0x6D, 0xD2}, {0x6E, 0x1A}, {0x6D, 0xB5}, /* 0x58-0x5B */ + {0x6D, 0xDA}, {0x6D, 0xEB}, {0x6D, 0xD8}, {0x6D, 0xEA}, /* 0x5C-0x5F */ + {0x6D, 0xF1}, {0x6D, 0xEE}, {0x6D, 0xE8}, {0x6D, 0xC6}, /* 0x60-0x63 */ + {0x6D, 0xC4}, {0x6D, 0xAA}, {0x6D, 0xEC}, {0x6D, 0xBF}, /* 0x64-0x67 */ + {0x6D, 0xE6}, {0x70, 0xF9}, {0x71, 0x09}, {0x71, 0x0A}, /* 0x68-0x6B */ + {0x70, 0xFD}, {0x70, 0xEF}, {0x72, 0x3D}, {0x72, 0x7D}, /* 0x6C-0x6F */ + {0x72, 0x81}, {0x73, 0x1C}, {0x73, 0x1B}, {0x73, 0x16}, /* 0x70-0x73 */ + {0x73, 0x13}, {0x73, 0x19}, {0x73, 0x87}, {0x74, 0x05}, /* 0x74-0x77 */ + {0x74, 0x0A}, {0x74, 0x03}, {0x74, 0x06}, {0x73, 0xFE}, /* 0x78-0x7B */ + {0x74, 0x0D}, {0x74, 0xE0}, {0x74, 0xF6}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x74, 0xF7}, {0x75, 0x1C}, {0x75, 0x22}, /* 0xA0-0xA3 */ + {0x75, 0x65}, {0x75, 0x66}, {0x75, 0x62}, {0x75, 0x70}, /* 0xA4-0xA7 */ + {0x75, 0x8F}, {0x75, 0xD4}, {0x75, 0xD5}, {0x75, 0xB5}, /* 0xA8-0xAB */ + {0x75, 0xCA}, {0x75, 0xCD}, {0x76, 0x8E}, {0x76, 0xD4}, /* 0xAC-0xAF */ + {0x76, 0xD2}, {0x76, 0xDB}, {0x77, 0x37}, {0x77, 0x3E}, /* 0xB0-0xB3 */ + {0x77, 0x3C}, {0x77, 0x36}, {0x77, 0x38}, {0x77, 0x3A}, /* 0xB4-0xB7 */ + {0x78, 0x6B}, {0x78, 0x43}, {0x78, 0x4E}, {0x79, 0x65}, /* 0xB8-0xBB */ + {0x79, 0x68}, {0x79, 0x6D}, {0x79, 0xFB}, {0x7A, 0x92}, /* 0xBC-0xBF */ + {0x7A, 0x95}, {0x7B, 0x20}, {0x7B, 0x28}, {0x7B, 0x1B}, /* 0xC0-0xC3 */ + {0x7B, 0x2C}, {0x7B, 0x26}, {0x7B, 0x19}, {0x7B, 0x1E}, /* 0xC4-0xC7 */ + {0x7B, 0x2E}, {0x7C, 0x92}, {0x7C, 0x97}, {0x7C, 0x95}, /* 0xC8-0xCB */ + {0x7D, 0x46}, {0x7D, 0x43}, {0x7D, 0x71}, {0x7D, 0x2E}, /* 0xCC-0xCF */ + {0x7D, 0x39}, {0x7D, 0x3C}, {0x7D, 0x40}, {0x7D, 0x30}, /* 0xD0-0xD3 */ + {0x7D, 0x33}, {0x7D, 0x44}, {0x7D, 0x2F}, {0x7D, 0x42}, /* 0xD4-0xD7 */ + {0x7D, 0x32}, {0x7D, 0x31}, {0x7F, 0x3D}, {0x7F, 0x9E}, /* 0xD8-0xDB */ + {0x7F, 0x9A}, {0x7F, 0xCC}, {0x7F, 0xCE}, {0x7F, 0xD2}, /* 0xDC-0xDF */ + {0x80, 0x1C}, {0x80, 0x4A}, {0x80, 0x46}, {0x81, 0x2F}, /* 0xE0-0xE3 */ + {0x81, 0x16}, {0x81, 0x23}, {0x81, 0x2B}, {0x81, 0x29}, /* 0xE4-0xE7 */ + {0x81, 0x30}, {0x81, 0x24}, {0x82, 0x02}, {0x82, 0x35}, /* 0xE8-0xEB */ + {0x82, 0x37}, {0x82, 0x36}, {0x82, 0x39}, {0x83, 0x8E}, /* 0xEC-0xEF */ + {0x83, 0x9E}, {0x83, 0x98}, {0x83, 0x78}, {0x83, 0xA2}, /* 0xF0-0xF3 */ + {0x83, 0x96}, {0x83, 0xBD}, {0x83, 0xAB}, {0x83, 0x92}, /* 0xF4-0xF7 */ + {0x83, 0x8A}, {0x83, 0x93}, {0x83, 0x89}, {0x83, 0xA0}, /* 0xF8-0xFB */ + {0x83, 0x77}, {0x83, 0x7B}, {0x83, 0x7C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x83, 0x86}, {0x83, 0xA7}, {0x86, 0x55}, {0x5F, 0x6A}, /* 0x40-0x43 */ + {0x86, 0xC7}, {0x86, 0xC0}, {0x86, 0xB6}, {0x86, 0xC4}, /* 0x44-0x47 */ + {0x86, 0xB5}, {0x86, 0xC6}, {0x86, 0xCB}, {0x86, 0xB1}, /* 0x48-0x4B */ + {0x86, 0xAF}, {0x86, 0xC9}, {0x88, 0x53}, {0x88, 0x9E}, /* 0x4C-0x4F */ + {0x88, 0x88}, {0x88, 0xAB}, {0x88, 0x92}, {0x88, 0x96}, /* 0x50-0x53 */ + {0x88, 0x8D}, {0x88, 0x8B}, {0x89, 0x93}, {0x89, 0x8F}, /* 0x54-0x57 */ + {0x8A, 0x2A}, {0x8A, 0x1D}, {0x8A, 0x23}, {0x8A, 0x25}, /* 0x58-0x5B */ + {0x8A, 0x31}, {0x8A, 0x2D}, {0x8A, 0x1F}, {0x8A, 0x1B}, /* 0x5C-0x5F */ + {0x8A, 0x22}, {0x8C, 0x49}, {0x8C, 0x5A}, {0x8C, 0xA9}, /* 0x60-0x63 */ + {0x8C, 0xAC}, {0x8C, 0xAB}, {0x8C, 0xA8}, {0x8C, 0xAA}, /* 0x64-0x67 */ + {0x8C, 0xA7}, {0x8D, 0x67}, {0x8D, 0x66}, {0x8D, 0xBE}, /* 0x68-0x6B */ + {0x8D, 0xBA}, {0x8E, 0xDB}, {0x8E, 0xDF}, {0x90, 0x19}, /* 0x6C-0x6F */ + {0x90, 0x0D}, {0x90, 0x1A}, {0x90, 0x17}, {0x90, 0x23}, /* 0x70-0x73 */ + {0x90, 0x1F}, {0x90, 0x1D}, {0x90, 0x10}, {0x90, 0x15}, /* 0x74-0x77 */ + {0x90, 0x1E}, {0x90, 0x20}, {0x90, 0x0F}, {0x90, 0x22}, /* 0x78-0x7B */ + {0x90, 0x16}, {0x90, 0x1B}, {0x90, 0x14}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x90, 0xE8}, {0x90, 0xED}, {0x90, 0xFD}, /* 0xA0-0xA3 */ + {0x91, 0x57}, {0x91, 0xCE}, {0x91, 0xF5}, {0x91, 0xE6}, /* 0xA4-0xA7 */ + {0x91, 0xE3}, {0x91, 0xE7}, {0x91, 0xED}, {0x91, 0xE9}, /* 0xA8-0xAB */ + {0x95, 0x89}, {0x96, 0x6A}, {0x96, 0x75}, {0x96, 0x73}, /* 0xAC-0xAF */ + {0x96, 0x78}, {0x96, 0x70}, {0x96, 0x74}, {0x96, 0x76}, /* 0xB0-0xB3 */ + {0x96, 0x77}, {0x96, 0x6C}, {0x96, 0xC0}, {0x96, 0xEA}, /* 0xB4-0xB7 */ + {0x96, 0xE9}, {0x7A, 0xE0}, {0x7A, 0xDF}, {0x98, 0x02}, /* 0xB8-0xBB */ + {0x98, 0x03}, {0x9B, 0x5A}, {0x9C, 0xE5}, {0x9E, 0x75}, /* 0xBC-0xBF */ + {0x9E, 0x7F}, {0x9E, 0xA5}, {0x9E, 0xBB}, {0x50, 0xA2}, /* 0xC0-0xC3 */ + {0x50, 0x8D}, {0x50, 0x85}, {0x50, 0x99}, {0x50, 0x91}, /* 0xC4-0xC7 */ + {0x50, 0x80}, {0x50, 0x96}, {0x50, 0x98}, {0x50, 0x9A}, /* 0xC8-0xCB */ + {0x67, 0x00}, {0x51, 0xF1}, {0x52, 0x72}, {0x52, 0x74}, /* 0xCC-0xCF */ + {0x52, 0x75}, {0x52, 0x69}, {0x52, 0xDE}, {0x52, 0xDD}, /* 0xD0-0xD3 */ + {0x52, 0xDB}, {0x53, 0x5A}, {0x53, 0xA5}, {0x55, 0x7B}, /* 0xD4-0xD7 */ + {0x55, 0x80}, {0x55, 0xA7}, {0x55, 0x7C}, {0x55, 0x8A}, /* 0xD8-0xDB */ + {0x55, 0x9D}, {0x55, 0x98}, {0x55, 0x82}, {0x55, 0x9C}, /* 0xDC-0xDF */ + {0x55, 0xAA}, {0x55, 0x94}, {0x55, 0x87}, {0x55, 0x8B}, /* 0xE0-0xE3 */ + {0x55, 0x83}, {0x55, 0xB3}, {0x55, 0xAE}, {0x55, 0x9F}, /* 0xE4-0xE7 */ + {0x55, 0x3E}, {0x55, 0xB2}, {0x55, 0x9A}, {0x55, 0xBB}, /* 0xE8-0xEB */ + {0x55, 0xAC}, {0x55, 0xB1}, {0x55, 0x7E}, {0x55, 0x89}, /* 0xEC-0xEF */ + {0x55, 0xAB}, {0x55, 0x99}, {0x57, 0x0D}, {0x58, 0x2F}, /* 0xF0-0xF3 */ + {0x58, 0x2A}, {0x58, 0x34}, {0x58, 0x24}, {0x58, 0x30}, /* 0xF4-0xF7 */ + {0x58, 0x31}, {0x58, 0x21}, {0x58, 0x1D}, {0x58, 0x20}, /* 0xF8-0xFB */ + {0x58, 0xF9}, {0x58, 0xFA}, {0x59, 0x60}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5A, 0x77}, {0x5A, 0x9A}, {0x5A, 0x7F}, {0x5A, 0x92}, /* 0x40-0x43 */ + {0x5A, 0x9B}, {0x5A, 0xA7}, {0x5B, 0x73}, {0x5B, 0x71}, /* 0x44-0x47 */ + {0x5B, 0xD2}, {0x5B, 0xCC}, {0x5B, 0xD3}, {0x5B, 0xD0}, /* 0x48-0x4B */ + {0x5C, 0x0A}, {0x5C, 0x0B}, {0x5C, 0x31}, {0x5D, 0x4C}, /* 0x4C-0x4F */ + {0x5D, 0x50}, {0x5D, 0x34}, {0x5D, 0x47}, {0x5D, 0xFD}, /* 0x50-0x53 */ + {0x5E, 0x45}, {0x5E, 0x3D}, {0x5E, 0x40}, {0x5E, 0x43}, /* 0x54-0x57 */ + {0x5E, 0x7E}, {0x5E, 0xCA}, {0x5E, 0xC1}, {0x5E, 0xC2}, /* 0x58-0x5B */ + {0x5E, 0xC4}, {0x5F, 0x3C}, {0x5F, 0x6D}, {0x5F, 0xA9}, /* 0x5C-0x5F */ + {0x5F, 0xAA}, {0x5F, 0xA8}, {0x60, 0xD1}, {0x60, 0xE1}, /* 0x60-0x63 */ + {0x60, 0xB2}, {0x60, 0xB6}, {0x60, 0xE0}, {0x61, 0x1C}, /* 0x64-0x67 */ + {0x61, 0x23}, {0x60, 0xFA}, {0x61, 0x15}, {0x60, 0xF0}, /* 0x68-0x6B */ + {0x60, 0xFB}, {0x60, 0xF4}, {0x61, 0x68}, {0x60, 0xF1}, /* 0x6C-0x6F */ + {0x61, 0x0E}, {0x60, 0xF6}, {0x61, 0x09}, {0x61, 0x00}, /* 0x70-0x73 */ + {0x61, 0x12}, {0x62, 0x1F}, {0x62, 0x49}, {0x63, 0xA3}, /* 0x74-0x77 */ + {0x63, 0x8C}, {0x63, 0xCF}, {0x63, 0xC0}, {0x63, 0xE9}, /* 0x78-0x7B */ + {0x63, 0xC9}, {0x63, 0xC6}, {0x63, 0xCD}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x63, 0xD2}, {0x63, 0xE3}, {0x63, 0xD0}, /* 0xA0-0xA3 */ + {0x63, 0xE1}, {0x63, 0xD6}, {0x63, 0xED}, {0x63, 0xEE}, /* 0xA4-0xA7 */ + {0x63, 0x76}, {0x63, 0xF4}, {0x63, 0xEA}, {0x63, 0xDB}, /* 0xA8-0xAB */ + {0x64, 0x52}, {0x63, 0xDA}, {0x63, 0xF9}, {0x65, 0x5E}, /* 0xAC-0xAF */ + {0x65, 0x66}, {0x65, 0x62}, {0x65, 0x63}, {0x65, 0x91}, /* 0xB0-0xB3 */ + {0x65, 0x90}, {0x65, 0xAF}, {0x66, 0x6E}, {0x66, 0x70}, /* 0xB4-0xB7 */ + {0x66, 0x74}, {0x66, 0x76}, {0x66, 0x6F}, {0x66, 0x91}, /* 0xB8-0xBB */ + {0x66, 0x7A}, {0x66, 0x7E}, {0x66, 0x77}, {0x66, 0xFE}, /* 0xBC-0xBF */ + {0x66, 0xFF}, {0x67, 0x1F}, {0x67, 0x1D}, {0x68, 0xFA}, /* 0xC0-0xC3 */ + {0x68, 0xD5}, {0x68, 0xE0}, {0x68, 0xD8}, {0x68, 0xD7}, /* 0xC4-0xC7 */ + {0x69, 0x05}, {0x68, 0xDF}, {0x68, 0xF5}, {0x68, 0xEE}, /* 0xC8-0xCB */ + {0x68, 0xE7}, {0x68, 0xF9}, {0x68, 0xD2}, {0x68, 0xF2}, /* 0xCC-0xCF */ + {0x68, 0xE3}, {0x68, 0xCB}, {0x68, 0xCD}, {0x69, 0x0D}, /* 0xD0-0xD3 */ + {0x69, 0x12}, {0x69, 0x0E}, {0x68, 0xC9}, {0x68, 0xDA}, /* 0xD4-0xD7 */ + {0x69, 0x6E}, {0x68, 0xFB}, {0x6B, 0x3E}, {0x6B, 0x3A}, /* 0xD8-0xDB */ + {0x6B, 0x3D}, {0x6B, 0x98}, {0x6B, 0x96}, {0x6B, 0xBC}, /* 0xDC-0xDF */ + {0x6B, 0xEF}, {0x6C, 0x2E}, {0x6C, 0x2F}, {0x6C, 0x2C}, /* 0xE0-0xE3 */ + {0x6E, 0x2F}, {0x6E, 0x38}, {0x6E, 0x54}, {0x6E, 0x21}, /* 0xE4-0xE7 */ + {0x6E, 0x32}, {0x6E, 0x67}, {0x6E, 0x4A}, {0x6E, 0x20}, /* 0xE8-0xEB */ + {0x6E, 0x25}, {0x6E, 0x23}, {0x6E, 0x1B}, {0x6E, 0x5B}, /* 0xEC-0xEF */ + {0x6E, 0x58}, {0x6E, 0x24}, {0x6E, 0x56}, {0x6E, 0x6E}, /* 0xF0-0xF3 */ + {0x6E, 0x2D}, {0x6E, 0x26}, {0x6E, 0x6F}, {0x6E, 0x34}, /* 0xF4-0xF7 */ + {0x6E, 0x4D}, {0x6E, 0x3A}, {0x6E, 0x2C}, {0x6E, 0x43}, /* 0xF8-0xFB */ + {0x6E, 0x1D}, {0x6E, 0x3E}, {0x6E, 0xCB}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6E, 0x89}, {0x6E, 0x19}, {0x6E, 0x4E}, {0x6E, 0x63}, /* 0x40-0x43 */ + {0x6E, 0x44}, {0x6E, 0x72}, {0x6E, 0x69}, {0x6E, 0x5F}, /* 0x44-0x47 */ + {0x71, 0x19}, {0x71, 0x1A}, {0x71, 0x26}, {0x71, 0x30}, /* 0x48-0x4B */ + {0x71, 0x21}, {0x71, 0x36}, {0x71, 0x6E}, {0x71, 0x1C}, /* 0x4C-0x4F */ + {0x72, 0x4C}, {0x72, 0x84}, {0x72, 0x80}, {0x73, 0x36}, /* 0x50-0x53 */ + {0x73, 0x25}, {0x73, 0x34}, {0x73, 0x29}, {0x74, 0x3A}, /* 0x54-0x57 */ + {0x74, 0x2A}, {0x74, 0x33}, {0x74, 0x22}, {0x74, 0x25}, /* 0x58-0x5B */ + {0x74, 0x35}, {0x74, 0x36}, {0x74, 0x34}, {0x74, 0x2F}, /* 0x5C-0x5F */ + {0x74, 0x1B}, {0x74, 0x26}, {0x74, 0x28}, {0x75, 0x25}, /* 0x60-0x63 */ + {0x75, 0x26}, {0x75, 0x6B}, {0x75, 0x6A}, {0x75, 0xE2}, /* 0x64-0x67 */ + {0x75, 0xDB}, {0x75, 0xE3}, {0x75, 0xD9}, {0x75, 0xD8}, /* 0x68-0x6B */ + {0x75, 0xDE}, {0x75, 0xE0}, {0x76, 0x7B}, {0x76, 0x7C}, /* 0x6C-0x6F */ + {0x76, 0x96}, {0x76, 0x93}, {0x76, 0xB4}, {0x76, 0xDC}, /* 0x70-0x73 */ + {0x77, 0x4F}, {0x77, 0xED}, {0x78, 0x5D}, {0x78, 0x6C}, /* 0x74-0x77 */ + {0x78, 0x6F}, {0x7A, 0x0D}, {0x7A, 0x08}, {0x7A, 0x0B}, /* 0x78-0x7B */ + {0x7A, 0x05}, {0x7A, 0x00}, {0x7A, 0x98}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x7A, 0x97}, {0x7A, 0x96}, {0x7A, 0xE5}, /* 0xA0-0xA3 */ + {0x7A, 0xE3}, {0x7B, 0x49}, {0x7B, 0x56}, {0x7B, 0x46}, /* 0xA4-0xA7 */ + {0x7B, 0x50}, {0x7B, 0x52}, {0x7B, 0x54}, {0x7B, 0x4D}, /* 0xA8-0xAB */ + {0x7B, 0x4B}, {0x7B, 0x4F}, {0x7B, 0x51}, {0x7C, 0x9F}, /* 0xAC-0xAF */ + {0x7C, 0xA5}, {0x7D, 0x5E}, {0x7D, 0x50}, {0x7D, 0x68}, /* 0xB0-0xB3 */ + {0x7D, 0x55}, {0x7D, 0x2B}, {0x7D, 0x6E}, {0x7D, 0x72}, /* 0xB4-0xB7 */ + {0x7D, 0x61}, {0x7D, 0x66}, {0x7D, 0x62}, {0x7D, 0x70}, /* 0xB8-0xBB */ + {0x7D, 0x73}, {0x55, 0x84}, {0x7F, 0xD4}, {0x7F, 0xD5}, /* 0xBC-0xBF */ + {0x80, 0x0B}, {0x80, 0x52}, {0x80, 0x85}, {0x81, 0x55}, /* 0xC0-0xC3 */ + {0x81, 0x54}, {0x81, 0x4B}, {0x81, 0x51}, {0x81, 0x4E}, /* 0xC4-0xC7 */ + {0x81, 0x39}, {0x81, 0x46}, {0x81, 0x3E}, {0x81, 0x4C}, /* 0xC8-0xCB */ + {0x81, 0x53}, {0x81, 0x74}, {0x82, 0x12}, {0x82, 0x1C}, /* 0xCC-0xCF */ + {0x83, 0xE9}, {0x84, 0x03}, {0x83, 0xF8}, {0x84, 0x0D}, /* 0xD0-0xD3 */ + {0x83, 0xE0}, {0x83, 0xC5}, {0x84, 0x0B}, {0x83, 0xC1}, /* 0xD4-0xD7 */ + {0x83, 0xEF}, {0x83, 0xF1}, {0x83, 0xF4}, {0x84, 0x57}, /* 0xD8-0xDB */ + {0x84, 0x0A}, {0x83, 0xF0}, {0x84, 0x0C}, {0x83, 0xCC}, /* 0xDC-0xDF */ + {0x83, 0xFD}, {0x83, 0xF2}, {0x83, 0xCA}, {0x84, 0x38}, /* 0xE0-0xE3 */ + {0x84, 0x0E}, {0x84, 0x04}, {0x83, 0xDC}, {0x84, 0x07}, /* 0xE4-0xE7 */ + {0x83, 0xD4}, {0x83, 0xDF}, {0x86, 0x5B}, {0x86, 0xDF}, /* 0xE8-0xEB */ + {0x86, 0xD9}, {0x86, 0xED}, {0x86, 0xD4}, {0x86, 0xDB}, /* 0xEC-0xEF */ + {0x86, 0xE4}, {0x86, 0xD0}, {0x86, 0xDE}, {0x88, 0x57}, /* 0xF0-0xF3 */ + {0x88, 0xC1}, {0x88, 0xC2}, {0x88, 0xB1}, {0x89, 0x83}, /* 0xF4-0xF7 */ + {0x89, 0x96}, {0x8A, 0x3B}, {0x8A, 0x60}, {0x8A, 0x55}, /* 0xF8-0xFB */ + {0x8A, 0x5E}, {0x8A, 0x3C}, {0x8A, 0x41}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8A, 0x54}, {0x8A, 0x5B}, {0x8A, 0x50}, {0x8A, 0x46}, /* 0x40-0x43 */ + {0x8A, 0x34}, {0x8A, 0x3A}, {0x8A, 0x36}, {0x8A, 0x56}, /* 0x44-0x47 */ + {0x8C, 0x61}, {0x8C, 0x82}, {0x8C, 0xAF}, {0x8C, 0xBC}, /* 0x48-0x4B */ + {0x8C, 0xB3}, {0x8C, 0xBD}, {0x8C, 0xC1}, {0x8C, 0xBB}, /* 0x4C-0x4F */ + {0x8C, 0xC0}, {0x8C, 0xB4}, {0x8C, 0xB7}, {0x8C, 0xB6}, /* 0x50-0x53 */ + {0x8C, 0xBF}, {0x8C, 0xB8}, {0x8D, 0x8A}, {0x8D, 0x85}, /* 0x54-0x57 */ + {0x8D, 0x81}, {0x8D, 0xCE}, {0x8D, 0xDD}, {0x8D, 0xCB}, /* 0x58-0x5B */ + {0x8D, 0xDA}, {0x8D, 0xD1}, {0x8D, 0xCC}, {0x8D, 0xDB}, /* 0x5C-0x5F */ + {0x8D, 0xC6}, {0x8E, 0xFB}, {0x8E, 0xF8}, {0x8E, 0xFC}, /* 0x60-0x63 */ + {0x8F, 0x9C}, {0x90, 0x2E}, {0x90, 0x35}, {0x90, 0x31}, /* 0x64-0x67 */ + {0x90, 0x38}, {0x90, 0x32}, {0x90, 0x36}, {0x91, 0x02}, /* 0x68-0x6B */ + {0x90, 0xF5}, {0x91, 0x09}, {0x90, 0xFE}, {0x91, 0x63}, /* 0x6C-0x6F */ + {0x91, 0x65}, {0x91, 0xCF}, {0x92, 0x14}, {0x92, 0x15}, /* 0x70-0x73 */ + {0x92, 0x23}, {0x92, 0x09}, {0x92, 0x1E}, {0x92, 0x0D}, /* 0x74-0x77 */ + {0x92, 0x10}, {0x92, 0x07}, {0x92, 0x11}, {0x95, 0x94}, /* 0x78-0x7B */ + {0x95, 0x8F}, {0x95, 0x8B}, {0x95, 0x91}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x95, 0x93}, {0x95, 0x92}, {0x95, 0x8E}, /* 0xA0-0xA3 */ + {0x96, 0x8A}, {0x96, 0x8E}, {0x96, 0x8B}, {0x96, 0x7D}, /* 0xA4-0xA7 */ + {0x96, 0x85}, {0x96, 0x86}, {0x96, 0x8D}, {0x96, 0x72}, /* 0xA8-0xAB */ + {0x96, 0x84}, {0x96, 0xC1}, {0x96, 0xC5}, {0x96, 0xC4}, /* 0xAC-0xAF */ + {0x96, 0xC6}, {0x96, 0xC7}, {0x96, 0xEF}, {0x96, 0xF2}, /* 0xB0-0xB3 */ + {0x97, 0xCC}, {0x98, 0x05}, {0x98, 0x06}, {0x98, 0x08}, /* 0xB4-0xB7 */ + {0x98, 0xE7}, {0x98, 0xEA}, {0x98, 0xEF}, {0x98, 0xE9}, /* 0xB8-0xBB */ + {0x98, 0xF2}, {0x98, 0xED}, {0x99, 0xAE}, {0x99, 0xAD}, /* 0xBC-0xBF */ + {0x9E, 0xC3}, {0x9E, 0xCD}, {0x9E, 0xD1}, {0x4E, 0x82}, /* 0xC0-0xC3 */ + {0x50, 0xAD}, {0x50, 0xB5}, {0x50, 0xB2}, {0x50, 0xB3}, /* 0xC4-0xC7 */ + {0x50, 0xC5}, {0x50, 0xBE}, {0x50, 0xAC}, {0x50, 0xB7}, /* 0xC8-0xCB */ + {0x50, 0xBB}, {0x50, 0xAF}, {0x50, 0xC7}, {0x52, 0x7F}, /* 0xCC-0xCF */ + {0x52, 0x77}, {0x52, 0x7D}, {0x52, 0xDF}, {0x52, 0xE6}, /* 0xD0-0xD3 */ + {0x52, 0xE4}, {0x52, 0xE2}, {0x52, 0xE3}, {0x53, 0x2F}, /* 0xD4-0xD7 */ + {0x55, 0xDF}, {0x55, 0xE8}, {0x55, 0xD3}, {0x55, 0xE6}, /* 0xD8-0xDB */ + {0x55, 0xCE}, {0x55, 0xDC}, {0x55, 0xC7}, {0x55, 0xD1}, /* 0xDC-0xDF */ + {0x55, 0xE3}, {0x55, 0xE4}, {0x55, 0xEF}, {0x55, 0xDA}, /* 0xE0-0xE3 */ + {0x55, 0xE1}, {0x55, 0xC5}, {0x55, 0xC6}, {0x55, 0xE5}, /* 0xE4-0xE7 */ + {0x55, 0xC9}, {0x57, 0x12}, {0x57, 0x13}, {0x58, 0x5E}, /* 0xE8-0xEB */ + {0x58, 0x51}, {0x58, 0x58}, {0x58, 0x57}, {0x58, 0x5A}, /* 0xEC-0xEF */ + {0x58, 0x54}, {0x58, 0x6B}, {0x58, 0x4C}, {0x58, 0x6D}, /* 0xF0-0xF3 */ + {0x58, 0x4A}, {0x58, 0x62}, {0x58, 0x52}, {0x58, 0x4B}, /* 0xF4-0xF7 */ + {0x59, 0x67}, {0x5A, 0xC1}, {0x5A, 0xC9}, {0x5A, 0xCC}, /* 0xF8-0xFB */ + {0x5A, 0xBE}, {0x5A, 0xBD}, {0x5A, 0xBC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5A, 0xB3}, {0x5A, 0xC2}, {0x5A, 0xB2}, {0x5D, 0x69}, /* 0x40-0x43 */ + {0x5D, 0x6F}, {0x5E, 0x4C}, {0x5E, 0x79}, {0x5E, 0xC9}, /* 0x44-0x47 */ + {0x5E, 0xC8}, {0x5F, 0x12}, {0x5F, 0x59}, {0x5F, 0xAC}, /* 0x48-0x4B */ + {0x5F, 0xAE}, {0x61, 0x1A}, {0x61, 0x0F}, {0x61, 0x48}, /* 0x4C-0x4F */ + {0x61, 0x1F}, {0x60, 0xF3}, {0x61, 0x1B}, {0x60, 0xF9}, /* 0x50-0x53 */ + {0x61, 0x01}, {0x61, 0x08}, {0x61, 0x4E}, {0x61, 0x4C}, /* 0x54-0x57 */ + {0x61, 0x44}, {0x61, 0x4D}, {0x61, 0x3E}, {0x61, 0x34}, /* 0x58-0x5B */ + {0x61, 0x27}, {0x61, 0x0D}, {0x61, 0x06}, {0x61, 0x37}, /* 0x5C-0x5F */ + {0x62, 0x21}, {0x62, 0x22}, {0x64, 0x13}, {0x64, 0x3E}, /* 0x60-0x63 */ + {0x64, 0x1E}, {0x64, 0x2A}, {0x64, 0x2D}, {0x64, 0x3D}, /* 0x64-0x67 */ + {0x64, 0x2C}, {0x64, 0x0F}, {0x64, 0x1C}, {0x64, 0x14}, /* 0x68-0x6B */ + {0x64, 0x0D}, {0x64, 0x36}, {0x64, 0x16}, {0x64, 0x17}, /* 0x6C-0x6F */ + {0x64, 0x06}, {0x65, 0x6C}, {0x65, 0x9F}, {0x65, 0xB0}, /* 0x70-0x73 */ + {0x66, 0x97}, {0x66, 0x89}, {0x66, 0x87}, {0x66, 0x88}, /* 0x74-0x77 */ + {0x66, 0x96}, {0x66, 0x84}, {0x66, 0x98}, {0x66, 0x8D}, /* 0x78-0x7B */ + {0x67, 0x03}, {0x69, 0x94}, {0x69, 0x6D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x69, 0x5A}, {0x69, 0x77}, {0x69, 0x60}, /* 0xA0-0xA3 */ + {0x69, 0x54}, {0x69, 0x75}, {0x69, 0x30}, {0x69, 0x82}, /* 0xA4-0xA7 */ + {0x69, 0x4A}, {0x69, 0x68}, {0x69, 0x6B}, {0x69, 0x5E}, /* 0xA8-0xAB */ + {0x69, 0x53}, {0x69, 0x79}, {0x69, 0x86}, {0x69, 0x5D}, /* 0xAC-0xAF */ + {0x69, 0x63}, {0x69, 0x5B}, {0x6B, 0x47}, {0x6B, 0x72}, /* 0xB0-0xB3 */ + {0x6B, 0xC0}, {0x6B, 0xBF}, {0x6B, 0xD3}, {0x6B, 0xFD}, /* 0xB4-0xB7 */ + {0x6E, 0xA2}, {0x6E, 0xAF}, {0x6E, 0xD3}, {0x6E, 0xB6}, /* 0xB8-0xBB */ + {0x6E, 0xC2}, {0x6E, 0x90}, {0x6E, 0x9D}, {0x6E, 0xC7}, /* 0xBC-0xBF */ + {0x6E, 0xC5}, {0x6E, 0xA5}, {0x6E, 0x98}, {0x6E, 0xBC}, /* 0xC0-0xC3 */ + {0x6E, 0xBA}, {0x6E, 0xAB}, {0x6E, 0xD1}, {0x6E, 0x96}, /* 0xC4-0xC7 */ + {0x6E, 0x9C}, {0x6E, 0xC4}, {0x6E, 0xD4}, {0x6E, 0xAA}, /* 0xC8-0xCB */ + {0x6E, 0xA7}, {0x6E, 0xB4}, {0x71, 0x4E}, {0x71, 0x59}, /* 0xCC-0xCF */ + {0x71, 0x69}, {0x71, 0x64}, {0x71, 0x49}, {0x71, 0x67}, /* 0xD0-0xD3 */ + {0x71, 0x5C}, {0x71, 0x6C}, {0x71, 0x66}, {0x71, 0x4C}, /* 0xD4-0xD7 */ + {0x71, 0x65}, {0x71, 0x5E}, {0x71, 0x46}, {0x71, 0x68}, /* 0xD8-0xDB */ + {0x71, 0x56}, {0x72, 0x3A}, {0x72, 0x52}, {0x73, 0x37}, /* 0xDC-0xDF */ + {0x73, 0x45}, {0x73, 0x3F}, {0x73, 0x3E}, {0x74, 0x6F}, /* 0xE0-0xE3 */ + {0x74, 0x5A}, {0x74, 0x55}, {0x74, 0x5F}, {0x74, 0x5E}, /* 0xE4-0xE7 */ + {0x74, 0x41}, {0x74, 0x3F}, {0x74, 0x59}, {0x74, 0x5B}, /* 0xE8-0xEB */ + {0x74, 0x5C}, {0x75, 0x76}, {0x75, 0x78}, {0x76, 0x00}, /* 0xEC-0xEF */ + {0x75, 0xF0}, {0x76, 0x01}, {0x75, 0xF2}, {0x75, 0xF1}, /* 0xF0-0xF3 */ + {0x75, 0xFA}, {0x75, 0xFF}, {0x75, 0xF4}, {0x75, 0xF3}, /* 0xF4-0xF7 */ + {0x76, 0xDE}, {0x76, 0xDF}, {0x77, 0x5B}, {0x77, 0x6B}, /* 0xF8-0xFB */ + {0x77, 0x66}, {0x77, 0x5E}, {0x77, 0x63}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x77, 0x79}, {0x77, 0x6A}, {0x77, 0x6C}, {0x77, 0x5C}, /* 0x40-0x43 */ + {0x77, 0x65}, {0x77, 0x68}, {0x77, 0x62}, {0x77, 0xEE}, /* 0x44-0x47 */ + {0x78, 0x8E}, {0x78, 0xB0}, {0x78, 0x97}, {0x78, 0x98}, /* 0x48-0x4B */ + {0x78, 0x8C}, {0x78, 0x89}, {0x78, 0x7C}, {0x78, 0x91}, /* 0x4C-0x4F */ + {0x78, 0x93}, {0x78, 0x7F}, {0x79, 0x7A}, {0x79, 0x7F}, /* 0x50-0x53 */ + {0x79, 0x81}, {0x84, 0x2C}, {0x79, 0xBD}, {0x7A, 0x1C}, /* 0x54-0x57 */ + {0x7A, 0x1A}, {0x7A, 0x20}, {0x7A, 0x14}, {0x7A, 0x1F}, /* 0x58-0x5B */ + {0x7A, 0x1E}, {0x7A, 0x9F}, {0x7A, 0xA0}, {0x7B, 0x77}, /* 0x5C-0x5F */ + {0x7B, 0xC0}, {0x7B, 0x60}, {0x7B, 0x6E}, {0x7B, 0x67}, /* 0x60-0x63 */ + {0x7C, 0xB1}, {0x7C, 0xB3}, {0x7C, 0xB5}, {0x7D, 0x93}, /* 0x64-0x67 */ + {0x7D, 0x79}, {0x7D, 0x91}, {0x7D, 0x81}, {0x7D, 0x8F}, /* 0x68-0x6B */ + {0x7D, 0x5B}, {0x7F, 0x6E}, {0x7F, 0x69}, {0x7F, 0x6A}, /* 0x6C-0x6F */ + {0x7F, 0x72}, {0x7F, 0xA9}, {0x7F, 0xA8}, {0x7F, 0xA4}, /* 0x70-0x73 */ + {0x80, 0x56}, {0x80, 0x58}, {0x80, 0x86}, {0x80, 0x84}, /* 0x74-0x77 */ + {0x81, 0x71}, {0x81, 0x70}, {0x81, 0x78}, {0x81, 0x65}, /* 0x78-0x7B */ + {0x81, 0x6E}, {0x81, 0x73}, {0x81, 0x6B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x81, 0x79}, {0x81, 0x7A}, {0x81, 0x66}, /* 0xA0-0xA3 */ + {0x82, 0x05}, {0x82, 0x47}, {0x84, 0x82}, {0x84, 0x77}, /* 0xA4-0xA7 */ + {0x84, 0x3D}, {0x84, 0x31}, {0x84, 0x75}, {0x84, 0x66}, /* 0xA8-0xAB */ + {0x84, 0x6B}, {0x84, 0x49}, {0x84, 0x6C}, {0x84, 0x5B}, /* 0xAC-0xAF */ + {0x84, 0x3C}, {0x84, 0x35}, {0x84, 0x61}, {0x84, 0x63}, /* 0xB0-0xB3 */ + {0x84, 0x69}, {0x84, 0x6D}, {0x84, 0x46}, {0x86, 0x5E}, /* 0xB4-0xB7 */ + {0x86, 0x5C}, {0x86, 0x5F}, {0x86, 0xF9}, {0x87, 0x13}, /* 0xB8-0xBB */ + {0x87, 0x08}, {0x87, 0x07}, {0x87, 0x00}, {0x86, 0xFE}, /* 0xBC-0xBF */ + {0x86, 0xFB}, {0x87, 0x02}, {0x87, 0x03}, {0x87, 0x06}, /* 0xC0-0xC3 */ + {0x87, 0x0A}, {0x88, 0x59}, {0x88, 0xDF}, {0x88, 0xD4}, /* 0xC4-0xC7 */ + {0x88, 0xD9}, {0x88, 0xDC}, {0x88, 0xD8}, {0x88, 0xDD}, /* 0xC8-0xCB */ + {0x88, 0xE1}, {0x88, 0xCA}, {0x88, 0xD5}, {0x88, 0xD2}, /* 0xCC-0xCF */ + {0x89, 0x9C}, {0x89, 0xE3}, {0x8A, 0x6B}, {0x8A, 0x72}, /* 0xD0-0xD3 */ + {0x8A, 0x73}, {0x8A, 0x66}, {0x8A, 0x69}, {0x8A, 0x70}, /* 0xD4-0xD7 */ + {0x8A, 0x87}, {0x8A, 0x7C}, {0x8A, 0x63}, {0x8A, 0xA0}, /* 0xD8-0xDB */ + {0x8A, 0x71}, {0x8A, 0x85}, {0x8A, 0x6D}, {0x8A, 0x62}, /* 0xDC-0xDF */ + {0x8A, 0x6E}, {0x8A, 0x6C}, {0x8A, 0x79}, {0x8A, 0x7B}, /* 0xE0-0xE3 */ + {0x8A, 0x3E}, {0x8A, 0x68}, {0x8C, 0x62}, {0x8C, 0x8A}, /* 0xE4-0xE7 */ + {0x8C, 0x89}, {0x8C, 0xCA}, {0x8C, 0xC7}, {0x8C, 0xC8}, /* 0xE8-0xEB */ + {0x8C, 0xC4}, {0x8C, 0xB2}, {0x8C, 0xC3}, {0x8C, 0xC2}, /* 0xEC-0xEF */ + {0x8C, 0xC5}, {0x8D, 0xE1}, {0x8D, 0xDF}, {0x8D, 0xE8}, /* 0xF0-0xF3 */ + {0x8D, 0xEF}, {0x8D, 0xF3}, {0x8D, 0xFA}, {0x8D, 0xEA}, /* 0xF4-0xF7 */ + {0x8D, 0xE4}, {0x8D, 0xE6}, {0x8E, 0xB2}, {0x8F, 0x03}, /* 0xF8-0xFB */ + {0x8F, 0x09}, {0x8E, 0xFE}, {0x8F, 0x0A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_B9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8F, 0x9F}, {0x8F, 0xB2}, {0x90, 0x4B}, {0x90, 0x4A}, /* 0x40-0x43 */ + {0x90, 0x53}, {0x90, 0x42}, {0x90, 0x54}, {0x90, 0x3C}, /* 0x44-0x47 */ + {0x90, 0x55}, {0x90, 0x50}, {0x90, 0x47}, {0x90, 0x4F}, /* 0x48-0x4B */ + {0x90, 0x4E}, {0x90, 0x4D}, {0x90, 0x51}, {0x90, 0x3E}, /* 0x4C-0x4F */ + {0x90, 0x41}, {0x91, 0x12}, {0x91, 0x17}, {0x91, 0x6C}, /* 0x50-0x53 */ + {0x91, 0x6A}, {0x91, 0x69}, {0x91, 0xC9}, {0x92, 0x37}, /* 0x54-0x57 */ + {0x92, 0x57}, {0x92, 0x38}, {0x92, 0x3D}, {0x92, 0x40}, /* 0x58-0x5B */ + {0x92, 0x3E}, {0x92, 0x5B}, {0x92, 0x4B}, {0x92, 0x64}, /* 0x5C-0x5F */ + {0x92, 0x51}, {0x92, 0x34}, {0x92, 0x49}, {0x92, 0x4D}, /* 0x60-0x63 */ + {0x92, 0x45}, {0x92, 0x39}, {0x92, 0x3F}, {0x92, 0x5A}, /* 0x64-0x67 */ + {0x95, 0x98}, {0x96, 0x98}, {0x96, 0x94}, {0x96, 0x95}, /* 0x68-0x6B */ + {0x96, 0xCD}, {0x96, 0xCB}, {0x96, 0xC9}, {0x96, 0xCA}, /* 0x6C-0x6F */ + {0x96, 0xF7}, {0x96, 0xFB}, {0x96, 0xF9}, {0x96, 0xF6}, /* 0x70-0x73 */ + {0x97, 0x56}, {0x97, 0x74}, {0x97, 0x76}, {0x98, 0x10}, /* 0x74-0x77 */ + {0x98, 0x11}, {0x98, 0x13}, {0x98, 0x0A}, {0x98, 0x12}, /* 0x78-0x7B */ + {0x98, 0x0C}, {0x98, 0xFC}, {0x98, 0xF4}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x98, 0xFD}, {0x98, 0xFE}, {0x99, 0xB3}, /* 0xA0-0xA3 */ + {0x99, 0xB1}, {0x99, 0xB4}, {0x9A, 0xE1}, {0x9C, 0xE9}, /* 0xA4-0xA7 */ + {0x9E, 0x82}, {0x9F, 0x0E}, {0x9F, 0x13}, {0x9F, 0x20}, /* 0xA8-0xAB */ + {0x50, 0xE7}, {0x50, 0xEE}, {0x50, 0xE5}, {0x50, 0xD6}, /* 0xAC-0xAF */ + {0x50, 0xED}, {0x50, 0xDA}, {0x50, 0xD5}, {0x50, 0xCF}, /* 0xB0-0xB3 */ + {0x50, 0xD1}, {0x50, 0xF1}, {0x50, 0xCE}, {0x50, 0xE9}, /* 0xB4-0xB7 */ + {0x51, 0x62}, {0x51, 0xF3}, {0x52, 0x83}, {0x52, 0x82}, /* 0xB8-0xBB */ + {0x53, 0x31}, {0x53, 0xAD}, {0x55, 0xFE}, {0x56, 0x00}, /* 0xBC-0xBF */ + {0x56, 0x1B}, {0x56, 0x17}, {0x55, 0xFD}, {0x56, 0x14}, /* 0xC0-0xC3 */ + {0x56, 0x06}, {0x56, 0x09}, {0x56, 0x0D}, {0x56, 0x0E}, /* 0xC4-0xC7 */ + {0x55, 0xF7}, {0x56, 0x16}, {0x56, 0x1F}, {0x56, 0x08}, /* 0xC8-0xCB */ + {0x56, 0x10}, {0x55, 0xF6}, {0x57, 0x18}, {0x57, 0x16}, /* 0xCC-0xCF */ + {0x58, 0x75}, {0x58, 0x7E}, {0x58, 0x83}, {0x58, 0x93}, /* 0xD0-0xD3 */ + {0x58, 0x8A}, {0x58, 0x79}, {0x58, 0x85}, {0x58, 0x7D}, /* 0xD4-0xD7 */ + {0x58, 0xFD}, {0x59, 0x25}, {0x59, 0x22}, {0x59, 0x24}, /* 0xD8-0xDB */ + {0x59, 0x6A}, {0x59, 0x69}, {0x5A, 0xE1}, {0x5A, 0xE6}, /* 0xDC-0xDF */ + {0x5A, 0xE9}, {0x5A, 0xD7}, {0x5A, 0xD6}, {0x5A, 0xD8}, /* 0xE0-0xE3 */ + {0x5A, 0xE3}, {0x5B, 0x75}, {0x5B, 0xDE}, {0x5B, 0xE7}, /* 0xE4-0xE7 */ + {0x5B, 0xE1}, {0x5B, 0xE5}, {0x5B, 0xE6}, {0x5B, 0xE8}, /* 0xE8-0xEB */ + {0x5B, 0xE2}, {0x5B, 0xE4}, {0x5B, 0xDF}, {0x5C, 0x0D}, /* 0xEC-0xEF */ + {0x5C, 0x62}, {0x5D, 0x84}, {0x5D, 0x87}, {0x5E, 0x5B}, /* 0xF0-0xF3 */ + {0x5E, 0x63}, {0x5E, 0x55}, {0x5E, 0x57}, {0x5E, 0x54}, /* 0xF4-0xF7 */ + {0x5E, 0xD3}, {0x5E, 0xD6}, {0x5F, 0x0A}, {0x5F, 0x46}, /* 0xF8-0xFB */ + {0x5F, 0x70}, {0x5F, 0xB9}, {0x61, 0x47}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x61, 0x3F}, {0x61, 0x4B}, {0x61, 0x77}, {0x61, 0x62}, /* 0x40-0x43 */ + {0x61, 0x63}, {0x61, 0x5F}, {0x61, 0x5A}, {0x61, 0x58}, /* 0x44-0x47 */ + {0x61, 0x75}, {0x62, 0x2A}, {0x64, 0x87}, {0x64, 0x58}, /* 0x48-0x4B */ + {0x64, 0x54}, {0x64, 0xA4}, {0x64, 0x78}, {0x64, 0x5F}, /* 0x4C-0x4F */ + {0x64, 0x7A}, {0x64, 0x51}, {0x64, 0x67}, {0x64, 0x34}, /* 0x50-0x53 */ + {0x64, 0x6D}, {0x64, 0x7B}, {0x65, 0x72}, {0x65, 0xA1}, /* 0x54-0x57 */ + {0x65, 0xD7}, {0x65, 0xD6}, {0x66, 0xA2}, {0x66, 0xA8}, /* 0x58-0x5B */ + {0x66, 0x9D}, {0x69, 0x9C}, {0x69, 0xA8}, {0x69, 0x95}, /* 0x5C-0x5F */ + {0x69, 0xC1}, {0x69, 0xAE}, {0x69, 0xD3}, {0x69, 0xCB}, /* 0x60-0x63 */ + {0x69, 0x9B}, {0x69, 0xB7}, {0x69, 0xBB}, {0x69, 0xAB}, /* 0x64-0x67 */ + {0x69, 0xB4}, {0x69, 0xD0}, {0x69, 0xCD}, {0x69, 0xAD}, /* 0x68-0x6B */ + {0x69, 0xCC}, {0x69, 0xA6}, {0x69, 0xC3}, {0x69, 0xA3}, /* 0x6C-0x6F */ + {0x6B, 0x49}, {0x6B, 0x4C}, {0x6C, 0x33}, {0x6F, 0x33}, /* 0x70-0x73 */ + {0x6F, 0x14}, {0x6E, 0xFE}, {0x6F, 0x13}, {0x6E, 0xF4}, /* 0x74-0x77 */ + {0x6F, 0x29}, {0x6F, 0x3E}, {0x6F, 0x20}, {0x6F, 0x2C}, /* 0x78-0x7B */ + {0x6F, 0x0F}, {0x6F, 0x02}, {0x6F, 0x22}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x6E, 0xFF}, {0x6E, 0xEF}, {0x6F, 0x06}, /* 0xA0-0xA3 */ + {0x6F, 0x31}, {0x6F, 0x38}, {0x6F, 0x32}, {0x6F, 0x23}, /* 0xA4-0xA7 */ + {0x6F, 0x15}, {0x6F, 0x2B}, {0x6F, 0x2F}, {0x6F, 0x88}, /* 0xA8-0xAB */ + {0x6F, 0x2A}, {0x6E, 0xEC}, {0x6F, 0x01}, {0x6E, 0xF2}, /* 0xAC-0xAF */ + {0x6E, 0xCC}, {0x6E, 0xF7}, {0x71, 0x94}, {0x71, 0x99}, /* 0xB0-0xB3 */ + {0x71, 0x7D}, {0x71, 0x8A}, {0x71, 0x84}, {0x71, 0x92}, /* 0xB4-0xB7 */ + {0x72, 0x3E}, {0x72, 0x92}, {0x72, 0x96}, {0x73, 0x44}, /* 0xB8-0xBB */ + {0x73, 0x50}, {0x74, 0x64}, {0x74, 0x63}, {0x74, 0x6A}, /* 0xBC-0xBF */ + {0x74, 0x70}, {0x74, 0x6D}, {0x75, 0x04}, {0x75, 0x91}, /* 0xC0-0xC3 */ + {0x76, 0x27}, {0x76, 0x0D}, {0x76, 0x0B}, {0x76, 0x09}, /* 0xC4-0xC7 */ + {0x76, 0x13}, {0x76, 0xE1}, {0x76, 0xE3}, {0x77, 0x84}, /* 0xC8-0xCB */ + {0x77, 0x7D}, {0x77, 0x7F}, {0x77, 0x61}, {0x78, 0xC1}, /* 0xCC-0xCF */ + {0x78, 0x9F}, {0x78, 0xA7}, {0x78, 0xB3}, {0x78, 0xA9}, /* 0xD0-0xD3 */ + {0x78, 0xA3}, {0x79, 0x8E}, {0x79, 0x8F}, {0x79, 0x8D}, /* 0xD4-0xD7 */ + {0x7A, 0x2E}, {0x7A, 0x31}, {0x7A, 0xAA}, {0x7A, 0xA9}, /* 0xD8-0xDB */ + {0x7A, 0xED}, {0x7A, 0xEF}, {0x7B, 0xA1}, {0x7B, 0x95}, /* 0xDC-0xDF */ + {0x7B, 0x8B}, {0x7B, 0x75}, {0x7B, 0x97}, {0x7B, 0x9D}, /* 0xE0-0xE3 */ + {0x7B, 0x94}, {0x7B, 0x8F}, {0x7B, 0xB8}, {0x7B, 0x87}, /* 0xE4-0xE7 */ + {0x7B, 0x84}, {0x7C, 0xB9}, {0x7C, 0xBD}, {0x7C, 0xBE}, /* 0xE8-0xEB */ + {0x7D, 0xBB}, {0x7D, 0xB0}, {0x7D, 0x9C}, {0x7D, 0xBD}, /* 0xEC-0xEF */ + {0x7D, 0xBE}, {0x7D, 0xA0}, {0x7D, 0xCA}, {0x7D, 0xB4}, /* 0xF0-0xF3 */ + {0x7D, 0xB2}, {0x7D, 0xB1}, {0x7D, 0xBA}, {0x7D, 0xA2}, /* 0xF4-0xF7 */ + {0x7D, 0xBF}, {0x7D, 0xB5}, {0x7D, 0xB8}, {0x7D, 0xAD}, /* 0xF8-0xFB */ + {0x7D, 0xD2}, {0x7D, 0xC7}, {0x7D, 0xAC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7F, 0x70}, {0x7F, 0xE0}, {0x7F, 0xE1}, {0x7F, 0xDF}, /* 0x40-0x43 */ + {0x80, 0x5E}, {0x80, 0x5A}, {0x80, 0x87}, {0x81, 0x50}, /* 0x44-0x47 */ + {0x81, 0x80}, {0x81, 0x8F}, {0x81, 0x88}, {0x81, 0x8A}, /* 0x48-0x4B */ + {0x81, 0x7F}, {0x81, 0x82}, {0x81, 0xE7}, {0x81, 0xFA}, /* 0x4C-0x4F */ + {0x82, 0x07}, {0x82, 0x14}, {0x82, 0x1E}, {0x82, 0x4B}, /* 0x50-0x53 */ + {0x84, 0xC9}, {0x84, 0xBF}, {0x84, 0xC6}, {0x84, 0xC4}, /* 0x54-0x57 */ + {0x84, 0x99}, {0x84, 0x9E}, {0x84, 0xB2}, {0x84, 0x9C}, /* 0x58-0x5B */ + {0x84, 0xCB}, {0x84, 0xB8}, {0x84, 0xC0}, {0x84, 0xD3}, /* 0x5C-0x5F */ + {0x84, 0x90}, {0x84, 0xBC}, {0x84, 0xD1}, {0x84, 0xCA}, /* 0x60-0x63 */ + {0x87, 0x3F}, {0x87, 0x1C}, {0x87, 0x3B}, {0x87, 0x22}, /* 0x64-0x67 */ + {0x87, 0x25}, {0x87, 0x34}, {0x87, 0x18}, {0x87, 0x55}, /* 0x68-0x6B */ + {0x87, 0x37}, {0x87, 0x29}, {0x88, 0xF3}, {0x89, 0x02}, /* 0x6C-0x6F */ + {0x88, 0xF4}, {0x88, 0xF9}, {0x88, 0xF8}, {0x88, 0xFD}, /* 0x70-0x73 */ + {0x88, 0xE8}, {0x89, 0x1A}, {0x88, 0xEF}, {0x8A, 0xA6}, /* 0x74-0x77 */ + {0x8A, 0x8C}, {0x8A, 0x9E}, {0x8A, 0xA3}, {0x8A, 0x8D}, /* 0x78-0x7B */ + {0x8A, 0xA1}, {0x8A, 0x93}, {0x8A, 0xA4}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x8A, 0xAA}, {0x8A, 0xA5}, {0x8A, 0xA8}, /* 0xA0-0xA3 */ + {0x8A, 0x98}, {0x8A, 0x91}, {0x8A, 0x9A}, {0x8A, 0xA7}, /* 0xA4-0xA7 */ + {0x8C, 0x6A}, {0x8C, 0x8D}, {0x8C, 0x8C}, {0x8C, 0xD3}, /* 0xA8-0xAB */ + {0x8C, 0xD1}, {0x8C, 0xD2}, {0x8D, 0x6B}, {0x8D, 0x99}, /* 0xAC-0xAF */ + {0x8D, 0x95}, {0x8D, 0xFC}, {0x8F, 0x14}, {0x8F, 0x12}, /* 0xB0-0xB3 */ + {0x8F, 0x15}, {0x8F, 0x13}, {0x8F, 0xA3}, {0x90, 0x60}, /* 0xB4-0xB7 */ + {0x90, 0x58}, {0x90, 0x5C}, {0x90, 0x63}, {0x90, 0x59}, /* 0xB8-0xBB */ + {0x90, 0x5E}, {0x90, 0x62}, {0x90, 0x5D}, {0x90, 0x5B}, /* 0xBC-0xBF */ + {0x91, 0x19}, {0x91, 0x18}, {0x91, 0x1E}, {0x91, 0x75}, /* 0xC0-0xC3 */ + {0x91, 0x78}, {0x91, 0x77}, {0x91, 0x74}, {0x92, 0x78}, /* 0xC4-0xC7 */ + {0x92, 0x80}, {0x92, 0x85}, {0x92, 0x98}, {0x92, 0x96}, /* 0xC8-0xCB */ + {0x92, 0x7B}, {0x92, 0x93}, {0x92, 0x9C}, {0x92, 0xA8}, /* 0xCC-0xCF */ + {0x92, 0x7C}, {0x92, 0x91}, {0x95, 0xA1}, {0x95, 0xA8}, /* 0xD0-0xD3 */ + {0x95, 0xA9}, {0x95, 0xA3}, {0x95, 0xA5}, {0x95, 0xA4}, /* 0xD4-0xD7 */ + {0x96, 0x99}, {0x96, 0x9C}, {0x96, 0x9B}, {0x96, 0xCC}, /* 0xD8-0xDB */ + {0x96, 0xD2}, {0x97, 0x00}, {0x97, 0x7C}, {0x97, 0x85}, /* 0xDC-0xDF */ + {0x97, 0xF6}, {0x98, 0x17}, {0x98, 0x18}, {0x98, 0xAF}, /* 0xE0-0xE3 */ + {0x98, 0xB1}, {0x99, 0x03}, {0x99, 0x05}, {0x99, 0x0C}, /* 0xE4-0xE7 */ + {0x99, 0x09}, {0x99, 0xC1}, {0x9A, 0xAF}, {0x9A, 0xB0}, /* 0xE8-0xEB */ + {0x9A, 0xE6}, {0x9B, 0x41}, {0x9B, 0x42}, {0x9C, 0xF4}, /* 0xEC-0xEF */ + {0x9C, 0xF6}, {0x9C, 0xF3}, {0x9E, 0xBC}, {0x9F, 0x3B}, /* 0xF0-0xF3 */ + {0x9F, 0x4A}, {0x51, 0x04}, {0x51, 0x00}, {0x50, 0xFB}, /* 0xF4-0xF7 */ + {0x50, 0xF5}, {0x50, 0xF9}, {0x51, 0x02}, {0x51, 0x08}, /* 0xF8-0xFB */ + {0x51, 0x09}, {0x51, 0x05}, {0x51, 0xDC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x52, 0x87}, {0x52, 0x88}, {0x52, 0x89}, {0x52, 0x8D}, /* 0x40-0x43 */ + {0x52, 0x8A}, {0x52, 0xF0}, {0x53, 0xB2}, {0x56, 0x2E}, /* 0x44-0x47 */ + {0x56, 0x3B}, {0x56, 0x39}, {0x56, 0x32}, {0x56, 0x3F}, /* 0x48-0x4B */ + {0x56, 0x34}, {0x56, 0x29}, {0x56, 0x53}, {0x56, 0x4E}, /* 0x4C-0x4F */ + {0x56, 0x57}, {0x56, 0x74}, {0x56, 0x36}, {0x56, 0x2F}, /* 0x50-0x53 */ + {0x56, 0x30}, {0x58, 0x80}, {0x58, 0x9F}, {0x58, 0x9E}, /* 0x54-0x57 */ + {0x58, 0xB3}, {0x58, 0x9C}, {0x58, 0xAE}, {0x58, 0xA9}, /* 0x58-0x5B */ + {0x58, 0xA6}, {0x59, 0x6D}, {0x5B, 0x09}, {0x5A, 0xFB}, /* 0x5C-0x5F */ + {0x5B, 0x0B}, {0x5A, 0xF5}, {0x5B, 0x0C}, {0x5B, 0x08}, /* 0x60-0x63 */ + {0x5B, 0xEE}, {0x5B, 0xEC}, {0x5B, 0xE9}, {0x5B, 0xEB}, /* 0x64-0x67 */ + {0x5C, 0x64}, {0x5C, 0x65}, {0x5D, 0x9D}, {0x5D, 0x94}, /* 0x68-0x6B */ + {0x5E, 0x62}, {0x5E, 0x5F}, {0x5E, 0x61}, {0x5E, 0xE2}, /* 0x6C-0x6F */ + {0x5E, 0xDA}, {0x5E, 0xDF}, {0x5E, 0xDD}, {0x5E, 0xE3}, /* 0x70-0x73 */ + {0x5E, 0xE0}, {0x5F, 0x48}, {0x5F, 0x71}, {0x5F, 0xB7}, /* 0x74-0x77 */ + {0x5F, 0xB5}, {0x61, 0x76}, {0x61, 0x67}, {0x61, 0x6E}, /* 0x78-0x7B */ + {0x61, 0x5D}, {0x61, 0x55}, {0x61, 0x82}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x61, 0x7C}, {0x61, 0x70}, {0x61, 0x6B}, /* 0xA0-0xA3 */ + {0x61, 0x7E}, {0x61, 0xA7}, {0x61, 0x90}, {0x61, 0xAB}, /* 0xA4-0xA7 */ + {0x61, 0x8E}, {0x61, 0xAC}, {0x61, 0x9A}, {0x61, 0xA4}, /* 0xA8-0xAB */ + {0x61, 0x94}, {0x61, 0xAE}, {0x62, 0x2E}, {0x64, 0x69}, /* 0xAC-0xAF */ + {0x64, 0x6F}, {0x64, 0x79}, {0x64, 0x9E}, {0x64, 0xB2}, /* 0xB0-0xB3 */ + {0x64, 0x88}, {0x64, 0x90}, {0x64, 0xB0}, {0x64, 0xA5}, /* 0xB4-0xB7 */ + {0x64, 0x93}, {0x64, 0x95}, {0x64, 0xA9}, {0x64, 0x92}, /* 0xB8-0xBB */ + {0x64, 0xAE}, {0x64, 0xAD}, {0x64, 0xAB}, {0x64, 0x9A}, /* 0xBC-0xBF */ + {0x64, 0xAC}, {0x64, 0x99}, {0x64, 0xA2}, {0x64, 0xB3}, /* 0xC0-0xC3 */ + {0x65, 0x75}, {0x65, 0x77}, {0x65, 0x78}, {0x66, 0xAE}, /* 0xC4-0xC7 */ + {0x66, 0xAB}, {0x66, 0xB4}, {0x66, 0xB1}, {0x6A, 0x23}, /* 0xC8-0xCB */ + {0x6A, 0x1F}, {0x69, 0xE8}, {0x6A, 0x01}, {0x6A, 0x1E}, /* 0xCC-0xCF */ + {0x6A, 0x19}, {0x69, 0xFD}, {0x6A, 0x21}, {0x6A, 0x13}, /* 0xD0-0xD3 */ + {0x6A, 0x0A}, {0x69, 0xF3}, {0x6A, 0x02}, {0x6A, 0x05}, /* 0xD4-0xD7 */ + {0x69, 0xED}, {0x6A, 0x11}, {0x6B, 0x50}, {0x6B, 0x4E}, /* 0xD8-0xDB */ + {0x6B, 0xA4}, {0x6B, 0xC5}, {0x6B, 0xC6}, {0x6F, 0x3F}, /* 0xDC-0xDF */ + {0x6F, 0x7C}, {0x6F, 0x84}, {0x6F, 0x51}, {0x6F, 0x66}, /* 0xE0-0xE3 */ + {0x6F, 0x54}, {0x6F, 0x86}, {0x6F, 0x6D}, {0x6F, 0x5B}, /* 0xE4-0xE7 */ + {0x6F, 0x78}, {0x6F, 0x6E}, {0x6F, 0x8E}, {0x6F, 0x7A}, /* 0xE8-0xEB */ + {0x6F, 0x70}, {0x6F, 0x64}, {0x6F, 0x97}, {0x6F, 0x58}, /* 0xEC-0xEF */ + {0x6E, 0xD5}, {0x6F, 0x6F}, {0x6F, 0x60}, {0x6F, 0x5F}, /* 0xF0-0xF3 */ + {0x71, 0x9F}, {0x71, 0xAC}, {0x71, 0xB1}, {0x71, 0xA8}, /* 0xF4-0xF7 */ + {0x72, 0x56}, {0x72, 0x9B}, {0x73, 0x4E}, {0x73, 0x57}, /* 0xF8-0xFB */ + {0x74, 0x69}, {0x74, 0x8B}, {0x74, 0x83}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x74, 0x7E}, {0x74, 0x80}, {0x75, 0x7F}, {0x76, 0x20}, /* 0x40-0x43 */ + {0x76, 0x29}, {0x76, 0x1F}, {0x76, 0x24}, {0x76, 0x26}, /* 0x44-0x47 */ + {0x76, 0x21}, {0x76, 0x22}, {0x76, 0x9A}, {0x76, 0xBA}, /* 0x48-0x4B */ + {0x76, 0xE4}, {0x77, 0x8E}, {0x77, 0x87}, {0x77, 0x8C}, /* 0x4C-0x4F */ + {0x77, 0x91}, {0x77, 0x8B}, {0x78, 0xCB}, {0x78, 0xC5}, /* 0x50-0x53 */ + {0x78, 0xBA}, {0x78, 0xCA}, {0x78, 0xBE}, {0x78, 0xD5}, /* 0x54-0x57 */ + {0x78, 0xBC}, {0x78, 0xD0}, {0x7A, 0x3F}, {0x7A, 0x3C}, /* 0x58-0x5B */ + {0x7A, 0x40}, {0x7A, 0x3D}, {0x7A, 0x37}, {0x7A, 0x3B}, /* 0x5C-0x5F */ + {0x7A, 0xAF}, {0x7A, 0xAE}, {0x7B, 0xAD}, {0x7B, 0xB1}, /* 0x60-0x63 */ + {0x7B, 0xC4}, {0x7B, 0xB4}, {0x7B, 0xC6}, {0x7B, 0xC7}, /* 0x64-0x67 */ + {0x7B, 0xC1}, {0x7B, 0xA0}, {0x7B, 0xCC}, {0x7C, 0xCA}, /* 0x68-0x6B */ + {0x7D, 0xE0}, {0x7D, 0xF4}, {0x7D, 0xEF}, {0x7D, 0xFB}, /* 0x6C-0x6F */ + {0x7D, 0xD8}, {0x7D, 0xEC}, {0x7D, 0xDD}, {0x7D, 0xE8}, /* 0x70-0x73 */ + {0x7D, 0xE3}, {0x7D, 0xDA}, {0x7D, 0xDE}, {0x7D, 0xE9}, /* 0x74-0x77 */ + {0x7D, 0x9E}, {0x7D, 0xD9}, {0x7D, 0xF2}, {0x7D, 0xF9}, /* 0x78-0x7B */ + {0x7F, 0x75}, {0x7F, 0x77}, {0x7F, 0xAF}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x7F, 0xE9}, {0x80, 0x26}, {0x81, 0x9B}, /* 0xA0-0xA3 */ + {0x81, 0x9C}, {0x81, 0x9D}, {0x81, 0xA0}, {0x81, 0x9A}, /* 0xA4-0xA7 */ + {0x81, 0x98}, {0x85, 0x17}, {0x85, 0x3D}, {0x85, 0x1A}, /* 0xA8-0xAB */ + {0x84, 0xEE}, {0x85, 0x2C}, {0x85, 0x2D}, {0x85, 0x13}, /* 0xAC-0xAF */ + {0x85, 0x11}, {0x85, 0x23}, {0x85, 0x21}, {0x85, 0x14}, /* 0xB0-0xB3 */ + {0x84, 0xEC}, {0x85, 0x25}, {0x84, 0xFF}, {0x85, 0x06}, /* 0xB4-0xB7 */ + {0x87, 0x82}, {0x87, 0x74}, {0x87, 0x76}, {0x87, 0x60}, /* 0xB8-0xBB */ + {0x87, 0x66}, {0x87, 0x78}, {0x87, 0x68}, {0x87, 0x59}, /* 0xBC-0xBF */ + {0x87, 0x57}, {0x87, 0x4C}, {0x87, 0x53}, {0x88, 0x5B}, /* 0xC0-0xC3 */ + {0x88, 0x5D}, {0x89, 0x10}, {0x89, 0x07}, {0x89, 0x12}, /* 0xC4-0xC7 */ + {0x89, 0x13}, {0x89, 0x15}, {0x89, 0x0A}, {0x8A, 0xBC}, /* 0xC8-0xCB */ + {0x8A, 0xD2}, {0x8A, 0xC7}, {0x8A, 0xC4}, {0x8A, 0x95}, /* 0xCC-0xCF */ + {0x8A, 0xCB}, {0x8A, 0xF8}, {0x8A, 0xB2}, {0x8A, 0xC9}, /* 0xD0-0xD3 */ + {0x8A, 0xC2}, {0x8A, 0xBF}, {0x8A, 0xB0}, {0x8A, 0xD6}, /* 0xD4-0xD7 */ + {0x8A, 0xCD}, {0x8A, 0xB6}, {0x8A, 0xB9}, {0x8A, 0xDB}, /* 0xD8-0xDB */ + {0x8C, 0x4C}, {0x8C, 0x4E}, {0x8C, 0x6C}, {0x8C, 0xE0}, /* 0xDC-0xDF */ + {0x8C, 0xDE}, {0x8C, 0xE6}, {0x8C, 0xE4}, {0x8C, 0xEC}, /* 0xE0-0xE3 */ + {0x8C, 0xED}, {0x8C, 0xE2}, {0x8C, 0xE3}, {0x8C, 0xDC}, /* 0xE4-0xE7 */ + {0x8C, 0xEA}, {0x8C, 0xE1}, {0x8D, 0x6D}, {0x8D, 0x9F}, /* 0xE8-0xEB */ + {0x8D, 0xA3}, {0x8E, 0x2B}, {0x8E, 0x10}, {0x8E, 0x1D}, /* 0xEC-0xEF */ + {0x8E, 0x22}, {0x8E, 0x0F}, {0x8E, 0x29}, {0x8E, 0x1F}, /* 0xF0-0xF3 */ + {0x8E, 0x21}, {0x8E, 0x1E}, {0x8E, 0xBA}, {0x8F, 0x1D}, /* 0xF4-0xF7 */ + {0x8F, 0x1B}, {0x8F, 0x1F}, {0x8F, 0x29}, {0x8F, 0x26}, /* 0xF8-0xFB */ + {0x8F, 0x2A}, {0x8F, 0x1C}, {0x8F, 0x1E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8F, 0x25}, {0x90, 0x69}, {0x90, 0x6E}, {0x90, 0x68}, /* 0x40-0x43 */ + {0x90, 0x6D}, {0x90, 0x77}, {0x91, 0x30}, {0x91, 0x2D}, /* 0x44-0x47 */ + {0x91, 0x27}, {0x91, 0x31}, {0x91, 0x87}, {0x91, 0x89}, /* 0x48-0x4B */ + {0x91, 0x8B}, {0x91, 0x83}, {0x92, 0xC5}, {0x92, 0xBB}, /* 0x4C-0x4F */ + {0x92, 0xB7}, {0x92, 0xEA}, {0x92, 0xAC}, {0x92, 0xE4}, /* 0x50-0x53 */ + {0x92, 0xC1}, {0x92, 0xB3}, {0x92, 0xBC}, {0x92, 0xD2}, /* 0x54-0x57 */ + {0x92, 0xC7}, {0x92, 0xF0}, {0x92, 0xB2}, {0x95, 0xAD}, /* 0x58-0x5B */ + {0x95, 0xB1}, {0x97, 0x04}, {0x97, 0x06}, {0x97, 0x07}, /* 0x5C-0x5F */ + {0x97, 0x09}, {0x97, 0x60}, {0x97, 0x8D}, {0x97, 0x8B}, /* 0x60-0x63 */ + {0x97, 0x8F}, {0x98, 0x21}, {0x98, 0x2B}, {0x98, 0x1C}, /* 0x64-0x67 */ + {0x98, 0xB3}, {0x99, 0x0A}, {0x99, 0x13}, {0x99, 0x12}, /* 0x68-0x6B */ + {0x99, 0x18}, {0x99, 0xDD}, {0x99, 0xD0}, {0x99, 0xDF}, /* 0x6C-0x6F */ + {0x99, 0xDB}, {0x99, 0xD1}, {0x99, 0xD5}, {0x99, 0xD2}, /* 0x70-0x73 */ + {0x99, 0xD9}, {0x9A, 0xB7}, {0x9A, 0xEE}, {0x9A, 0xEF}, /* 0x74-0x77 */ + {0x9B, 0x27}, {0x9B, 0x45}, {0x9B, 0x44}, {0x9B, 0x77}, /* 0x78-0x7B */ + {0x9B, 0x6F}, {0x9D, 0x06}, {0x9D, 0x09}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x9D, 0x03}, {0x9E, 0xA9}, {0x9E, 0xBE}, /* 0xA0-0xA3 */ + {0x9E, 0xCE}, {0x58, 0xA8}, {0x9F, 0x52}, {0x51, 0x12}, /* 0xA4-0xA7 */ + {0x51, 0x18}, {0x51, 0x14}, {0x51, 0x10}, {0x51, 0x15}, /* 0xA8-0xAB */ + {0x51, 0x80}, {0x51, 0xAA}, {0x51, 0xDD}, {0x52, 0x91}, /* 0xAC-0xAF */ + {0x52, 0x93}, {0x52, 0xF3}, {0x56, 0x59}, {0x56, 0x6B}, /* 0xB0-0xB3 */ + {0x56, 0x79}, {0x56, 0x69}, {0x56, 0x64}, {0x56, 0x78}, /* 0xB4-0xB7 */ + {0x56, 0x6A}, {0x56, 0x68}, {0x56, 0x65}, {0x56, 0x71}, /* 0xB8-0xBB */ + {0x56, 0x6F}, {0x56, 0x6C}, {0x56, 0x62}, {0x56, 0x76}, /* 0xBC-0xBF */ + {0x58, 0xC1}, {0x58, 0xBE}, {0x58, 0xC7}, {0x58, 0xC5}, /* 0xC0-0xC3 */ + {0x59, 0x6E}, {0x5B, 0x1D}, {0x5B, 0x34}, {0x5B, 0x78}, /* 0xC4-0xC7 */ + {0x5B, 0xF0}, {0x5C, 0x0E}, {0x5F, 0x4A}, {0x61, 0xB2}, /* 0xC8-0xCB */ + {0x61, 0x91}, {0x61, 0xA9}, {0x61, 0x8A}, {0x61, 0xCD}, /* 0xCC-0xCF */ + {0x61, 0xB6}, {0x61, 0xBE}, {0x61, 0xCA}, {0x61, 0xC8}, /* 0xD0-0xD3 */ + {0x62, 0x30}, {0x64, 0xC5}, {0x64, 0xC1}, {0x64, 0xCB}, /* 0xD4-0xD7 */ + {0x64, 0xBB}, {0x64, 0xBC}, {0x64, 0xDA}, {0x64, 0xC4}, /* 0xD8-0xDB */ + {0x64, 0xC7}, {0x64, 0xC2}, {0x64, 0xCD}, {0x64, 0xBF}, /* 0xDC-0xDF */ + {0x64, 0xD2}, {0x64, 0xD4}, {0x64, 0xBE}, {0x65, 0x74}, /* 0xE0-0xE3 */ + {0x66, 0xC6}, {0x66, 0xC9}, {0x66, 0xB9}, {0x66, 0xC4}, /* 0xE4-0xE7 */ + {0x66, 0xC7}, {0x66, 0xB8}, {0x6A, 0x3D}, {0x6A, 0x38}, /* 0xE8-0xEB */ + {0x6A, 0x3A}, {0x6A, 0x59}, {0x6A, 0x6B}, {0x6A, 0x58}, /* 0xEC-0xEF */ + {0x6A, 0x39}, {0x6A, 0x44}, {0x6A, 0x62}, {0x6A, 0x61}, /* 0xF0-0xF3 */ + {0x6A, 0x4B}, {0x6A, 0x47}, {0x6A, 0x35}, {0x6A, 0x5F}, /* 0xF4-0xF7 */ + {0x6A, 0x48}, {0x6B, 0x59}, {0x6B, 0x77}, {0x6C, 0x05}, /* 0xF8-0xFB */ + {0x6F, 0xC2}, {0x6F, 0xB1}, {0x6F, 0xA1}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_BF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6F, 0xC3}, {0x6F, 0xA4}, {0x6F, 0xC1}, {0x6F, 0xA7}, /* 0x40-0x43 */ + {0x6F, 0xB3}, {0x6F, 0xC0}, {0x6F, 0xB9}, {0x6F, 0xB6}, /* 0x44-0x47 */ + {0x6F, 0xA6}, {0x6F, 0xA0}, {0x6F, 0xB4}, {0x71, 0xBE}, /* 0x48-0x4B */ + {0x71, 0xC9}, {0x71, 0xD0}, {0x71, 0xD2}, {0x71, 0xC8}, /* 0x4C-0x4F */ + {0x71, 0xD5}, {0x71, 0xB9}, {0x71, 0xCE}, {0x71, 0xD9}, /* 0x50-0x53 */ + {0x71, 0xDC}, {0x71, 0xC3}, {0x71, 0xC4}, {0x73, 0x68}, /* 0x54-0x57 */ + {0x74, 0x9C}, {0x74, 0xA3}, {0x74, 0x98}, {0x74, 0x9F}, /* 0x58-0x5B */ + {0x74, 0x9E}, {0x74, 0xE2}, {0x75, 0x0C}, {0x75, 0x0D}, /* 0x5C-0x5F */ + {0x76, 0x34}, {0x76, 0x38}, {0x76, 0x3A}, {0x76, 0xE7}, /* 0x60-0x63 */ + {0x76, 0xE5}, {0x77, 0xA0}, {0x77, 0x9E}, {0x77, 0x9F}, /* 0x64-0x67 */ + {0x77, 0xA5}, {0x78, 0xE8}, {0x78, 0xDA}, {0x78, 0xEC}, /* 0x68-0x6B */ + {0x78, 0xE7}, {0x79, 0xA6}, {0x7A, 0x4D}, {0x7A, 0x4E}, /* 0x6C-0x6F */ + {0x7A, 0x46}, {0x7A, 0x4C}, {0x7A, 0x4B}, {0x7A, 0xBA}, /* 0x70-0x73 */ + {0x7B, 0xD9}, {0x7C, 0x11}, {0x7B, 0xC9}, {0x7B, 0xE4}, /* 0x74-0x77 */ + {0x7B, 0xDB}, {0x7B, 0xE1}, {0x7B, 0xE9}, {0x7B, 0xE6}, /* 0x78-0x7B */ + {0x7C, 0xD5}, {0x7C, 0xD6}, {0x7E, 0x0A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x7E, 0x11}, {0x7E, 0x08}, {0x7E, 0x1B}, /* 0xA0-0xA3 */ + {0x7E, 0x23}, {0x7E, 0x1E}, {0x7E, 0x1D}, {0x7E, 0x09}, /* 0xA4-0xA7 */ + {0x7E, 0x10}, {0x7F, 0x79}, {0x7F, 0xB2}, {0x7F, 0xF0}, /* 0xA8-0xAB */ + {0x7F, 0xF1}, {0x7F, 0xEE}, {0x80, 0x28}, {0x81, 0xB3}, /* 0xAC-0xAF */ + {0x81, 0xA9}, {0x81, 0xA8}, {0x81, 0xFB}, {0x82, 0x08}, /* 0xB0-0xB3 */ + {0x82, 0x58}, {0x82, 0x59}, {0x85, 0x4A}, {0x85, 0x59}, /* 0xB4-0xB7 */ + {0x85, 0x48}, {0x85, 0x68}, {0x85, 0x69}, {0x85, 0x43}, /* 0xB8-0xBB */ + {0x85, 0x49}, {0x85, 0x6D}, {0x85, 0x6A}, {0x85, 0x5E}, /* 0xBC-0xBF */ + {0x87, 0x83}, {0x87, 0x9F}, {0x87, 0x9E}, {0x87, 0xA2}, /* 0xC0-0xC3 */ + {0x87, 0x8D}, {0x88, 0x61}, {0x89, 0x2A}, {0x89, 0x32}, /* 0xC4-0xC7 */ + {0x89, 0x25}, {0x89, 0x2B}, {0x89, 0x21}, {0x89, 0xAA}, /* 0xC8-0xCB */ + {0x89, 0xA6}, {0x8A, 0xE6}, {0x8A, 0xFA}, {0x8A, 0xEB}, /* 0xCC-0xCF */ + {0x8A, 0xF1}, {0x8B, 0x00}, {0x8A, 0xDC}, {0x8A, 0xE7}, /* 0xD0-0xD3 */ + {0x8A, 0xEE}, {0x8A, 0xFE}, {0x8B, 0x01}, {0x8B, 0x02}, /* 0xD4-0xD7 */ + {0x8A, 0xF7}, {0x8A, 0xED}, {0x8A, 0xF3}, {0x8A, 0xF6}, /* 0xD8-0xDB */ + {0x8A, 0xFC}, {0x8C, 0x6B}, {0x8C, 0x6D}, {0x8C, 0x93}, /* 0xDC-0xDF */ + {0x8C, 0xF4}, {0x8E, 0x44}, {0x8E, 0x31}, {0x8E, 0x34}, /* 0xE0-0xE3 */ + {0x8E, 0x42}, {0x8E, 0x39}, {0x8E, 0x35}, {0x8F, 0x3B}, /* 0xE4-0xE7 */ + {0x8F, 0x2F}, {0x8F, 0x38}, {0x8F, 0x33}, {0x8F, 0xA8}, /* 0xE8-0xEB */ + {0x8F, 0xA6}, {0x90, 0x75}, {0x90, 0x74}, {0x90, 0x78}, /* 0xEC-0xEF */ + {0x90, 0x72}, {0x90, 0x7C}, {0x90, 0x7A}, {0x91, 0x34}, /* 0xF0-0xF3 */ + {0x91, 0x92}, {0x93, 0x20}, {0x93, 0x36}, {0x92, 0xF8}, /* 0xF4-0xF7 */ + {0x93, 0x33}, {0x93, 0x2F}, {0x93, 0x22}, {0x92, 0xFC}, /* 0xF8-0xFB */ + {0x93, 0x2B}, {0x93, 0x04}, {0x93, 0x1A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x93, 0x10}, {0x93, 0x26}, {0x93, 0x21}, {0x93, 0x15}, /* 0x40-0x43 */ + {0x93, 0x2E}, {0x93, 0x19}, {0x95, 0xBB}, {0x96, 0xA7}, /* 0x44-0x47 */ + {0x96, 0xA8}, {0x96, 0xAA}, {0x96, 0xD5}, {0x97, 0x0E}, /* 0x48-0x4B */ + {0x97, 0x11}, {0x97, 0x16}, {0x97, 0x0D}, {0x97, 0x13}, /* 0x4C-0x4F */ + {0x97, 0x0F}, {0x97, 0x5B}, {0x97, 0x5C}, {0x97, 0x66}, /* 0x50-0x53 */ + {0x97, 0x98}, {0x98, 0x30}, {0x98, 0x38}, {0x98, 0x3B}, /* 0x54-0x57 */ + {0x98, 0x37}, {0x98, 0x2D}, {0x98, 0x39}, {0x98, 0x24}, /* 0x58-0x5B */ + {0x99, 0x10}, {0x99, 0x28}, {0x99, 0x1E}, {0x99, 0x1B}, /* 0x5C-0x5F */ + {0x99, 0x21}, {0x99, 0x1A}, {0x99, 0xED}, {0x99, 0xE2}, /* 0x60-0x63 */ + {0x99, 0xF1}, {0x9A, 0xB8}, {0x9A, 0xBC}, {0x9A, 0xFB}, /* 0x64-0x67 */ + {0x9A, 0xED}, {0x9B, 0x28}, {0x9B, 0x91}, {0x9D, 0x15}, /* 0x68-0x6B */ + {0x9D, 0x23}, {0x9D, 0x26}, {0x9D, 0x28}, {0x9D, 0x12}, /* 0x6C-0x6F */ + {0x9D, 0x1B}, {0x9E, 0xD8}, {0x9E, 0xD4}, {0x9F, 0x8D}, /* 0x70-0x73 */ + {0x9F, 0x9C}, {0x51, 0x2A}, {0x51, 0x1F}, {0x51, 0x21}, /* 0x74-0x77 */ + {0x51, 0x32}, {0x52, 0xF5}, {0x56, 0x8E}, {0x56, 0x80}, /* 0x78-0x7B */ + {0x56, 0x90}, {0x56, 0x85}, {0x56, 0x87}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x56, 0x8F}, {0x58, 0xD5}, {0x58, 0xD3}, /* 0xA0-0xA3 */ + {0x58, 0xD1}, {0x58, 0xCE}, {0x5B, 0x30}, {0x5B, 0x2A}, /* 0xA4-0xA7 */ + {0x5B, 0x24}, {0x5B, 0x7A}, {0x5C, 0x37}, {0x5C, 0x68}, /* 0xA8-0xAB */ + {0x5D, 0xBC}, {0x5D, 0xBA}, {0x5D, 0xBD}, {0x5D, 0xB8}, /* 0xAC-0xAF */ + {0x5E, 0x6B}, {0x5F, 0x4C}, {0x5F, 0xBD}, {0x61, 0xC9}, /* 0xB0-0xB3 */ + {0x61, 0xC2}, {0x61, 0xC7}, {0x61, 0xE6}, {0x61, 0xCB}, /* 0xB4-0xB7 */ + {0x62, 0x32}, {0x62, 0x34}, {0x64, 0xCE}, {0x64, 0xCA}, /* 0xB8-0xBB */ + {0x64, 0xD8}, {0x64, 0xE0}, {0x64, 0xF0}, {0x64, 0xE6}, /* 0xBC-0xBF */ + {0x64, 0xEC}, {0x64, 0xF1}, {0x64, 0xE2}, {0x64, 0xED}, /* 0xC0-0xC3 */ + {0x65, 0x82}, {0x65, 0x83}, {0x66, 0xD9}, {0x66, 0xD6}, /* 0xC4-0xC7 */ + {0x6A, 0x80}, {0x6A, 0x94}, {0x6A, 0x84}, {0x6A, 0xA2}, /* 0xC8-0xCB */ + {0x6A, 0x9C}, {0x6A, 0xDB}, {0x6A, 0xA3}, {0x6A, 0x7E}, /* 0xCC-0xCF */ + {0x6A, 0x97}, {0x6A, 0x90}, {0x6A, 0xA0}, {0x6B, 0x5C}, /* 0xD0-0xD3 */ + {0x6B, 0xAE}, {0x6B, 0xDA}, {0x6C, 0x08}, {0x6F, 0xD8}, /* 0xD4-0xD7 */ + {0x6F, 0xF1}, {0x6F, 0xDF}, {0x6F, 0xE0}, {0x6F, 0xDB}, /* 0xD8-0xDB */ + {0x6F, 0xE4}, {0x6F, 0xEB}, {0x6F, 0xEF}, {0x6F, 0x80}, /* 0xDC-0xDF */ + {0x6F, 0xEC}, {0x6F, 0xE1}, {0x6F, 0xE9}, {0x6F, 0xD5}, /* 0xE0-0xE3 */ + {0x6F, 0xEE}, {0x6F, 0xF0}, {0x71, 0xE7}, {0x71, 0xDF}, /* 0xE4-0xE7 */ + {0x71, 0xEE}, {0x71, 0xE6}, {0x71, 0xE5}, {0x71, 0xED}, /* 0xE8-0xEB */ + {0x71, 0xEC}, {0x71, 0xF4}, {0x71, 0xE0}, {0x72, 0x35}, /* 0xEC-0xEF */ + {0x72, 0x46}, {0x73, 0x70}, {0x73, 0x72}, {0x74, 0xA9}, /* 0xF0-0xF3 */ + {0x74, 0xB0}, {0x74, 0xA6}, {0x74, 0xA8}, {0x76, 0x46}, /* 0xF4-0xF7 */ + {0x76, 0x42}, {0x76, 0x4C}, {0x76, 0xEA}, {0x77, 0xB3}, /* 0xF8-0xFB */ + {0x77, 0xAA}, {0x77, 0xB0}, {0x77, 0xAC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x77, 0xA7}, {0x77, 0xAD}, {0x77, 0xEF}, {0x78, 0xF7}, /* 0x40-0x43 */ + {0x78, 0xFA}, {0x78, 0xF4}, {0x78, 0xEF}, {0x79, 0x01}, /* 0x44-0x47 */ + {0x79, 0xA7}, {0x79, 0xAA}, {0x7A, 0x57}, {0x7A, 0xBF}, /* 0x48-0x4B */ + {0x7C, 0x07}, {0x7C, 0x0D}, {0x7B, 0xFE}, {0x7B, 0xF7}, /* 0x4C-0x4F */ + {0x7C, 0x0C}, {0x7B, 0xE0}, {0x7C, 0xE0}, {0x7C, 0xDC}, /* 0x50-0x53 */ + {0x7C, 0xDE}, {0x7C, 0xE2}, {0x7C, 0xDF}, {0x7C, 0xD9}, /* 0x54-0x57 */ + {0x7C, 0xDD}, {0x7E, 0x2E}, {0x7E, 0x3E}, {0x7E, 0x46}, /* 0x58-0x5B */ + {0x7E, 0x37}, {0x7E, 0x32}, {0x7E, 0x43}, {0x7E, 0x2B}, /* 0x5C-0x5F */ + {0x7E, 0x3D}, {0x7E, 0x31}, {0x7E, 0x45}, {0x7E, 0x41}, /* 0x60-0x63 */ + {0x7E, 0x34}, {0x7E, 0x39}, {0x7E, 0x48}, {0x7E, 0x35}, /* 0x64-0x67 */ + {0x7E, 0x3F}, {0x7E, 0x2F}, {0x7F, 0x44}, {0x7F, 0xF3}, /* 0x68-0x6B */ + {0x7F, 0xFC}, {0x80, 0x71}, {0x80, 0x72}, {0x80, 0x70}, /* 0x6C-0x6F */ + {0x80, 0x6F}, {0x80, 0x73}, {0x81, 0xC6}, {0x81, 0xC3}, /* 0x70-0x73 */ + {0x81, 0xBA}, {0x81, 0xC2}, {0x81, 0xC0}, {0x81, 0xBF}, /* 0x74-0x77 */ + {0x81, 0xBD}, {0x81, 0xC9}, {0x81, 0xBE}, {0x81, 0xE8}, /* 0x78-0x7B */ + {0x82, 0x09}, {0x82, 0x71}, {0x85, 0xAA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x85, 0x84}, {0x85, 0x7E}, {0x85, 0x9C}, /* 0xA0-0xA3 */ + {0x85, 0x91}, {0x85, 0x94}, {0x85, 0xAF}, {0x85, 0x9B}, /* 0xA4-0xA7 */ + {0x85, 0x87}, {0x85, 0xA8}, {0x85, 0x8A}, {0x86, 0x67}, /* 0xA8-0xAB */ + {0x87, 0xC0}, {0x87, 0xD1}, {0x87, 0xB3}, {0x87, 0xD2}, /* 0xAC-0xAF */ + {0x87, 0xC6}, {0x87, 0xAB}, {0x87, 0xBB}, {0x87, 0xBA}, /* 0xB0-0xB3 */ + {0x87, 0xC8}, {0x87, 0xCB}, {0x89, 0x3B}, {0x89, 0x36}, /* 0xB4-0xB7 */ + {0x89, 0x44}, {0x89, 0x38}, {0x89, 0x3D}, {0x89, 0xAC}, /* 0xB8-0xBB */ + {0x8B, 0x0E}, {0x8B, 0x17}, {0x8B, 0x19}, {0x8B, 0x1B}, /* 0xBC-0xBF */ + {0x8B, 0x0A}, {0x8B, 0x20}, {0x8B, 0x1D}, {0x8B, 0x04}, /* 0xC0-0xC3 */ + {0x8B, 0x10}, {0x8C, 0x41}, {0x8C, 0x3F}, {0x8C, 0x73}, /* 0xC4-0xC7 */ + {0x8C, 0xFA}, {0x8C, 0xFD}, {0x8C, 0xFC}, {0x8C, 0xF8}, /* 0xC8-0xCB */ + {0x8C, 0xFB}, {0x8D, 0xA8}, {0x8E, 0x49}, {0x8E, 0x4B}, /* 0xCC-0xCF */ + {0x8E, 0x48}, {0x8E, 0x4A}, {0x8F, 0x44}, {0x8F, 0x3E}, /* 0xD0-0xD3 */ + {0x8F, 0x42}, {0x8F, 0x45}, {0x8F, 0x3F}, {0x90, 0x7F}, /* 0xD4-0xD7 */ + {0x90, 0x7D}, {0x90, 0x84}, {0x90, 0x81}, {0x90, 0x82}, /* 0xD8-0xDB */ + {0x90, 0x80}, {0x91, 0x39}, {0x91, 0xA3}, {0x91, 0x9E}, /* 0xDC-0xDF */ + {0x91, 0x9C}, {0x93, 0x4D}, {0x93, 0x82}, {0x93, 0x28}, /* 0xE0-0xE3 */ + {0x93, 0x75}, {0x93, 0x4A}, {0x93, 0x65}, {0x93, 0x4B}, /* 0xE4-0xE7 */ + {0x93, 0x18}, {0x93, 0x7E}, {0x93, 0x6C}, {0x93, 0x5B}, /* 0xE8-0xEB */ + {0x93, 0x70}, {0x93, 0x5A}, {0x93, 0x54}, {0x95, 0xCA}, /* 0xEC-0xEF */ + {0x95, 0xCB}, {0x95, 0xCC}, {0x95, 0xC8}, {0x95, 0xC6}, /* 0xF0-0xF3 */ + {0x96, 0xB1}, {0x96, 0xB8}, {0x96, 0xD6}, {0x97, 0x1C}, /* 0xF4-0xF7 */ + {0x97, 0x1E}, {0x97, 0xA0}, {0x97, 0xD3}, {0x98, 0x46}, /* 0xF8-0xFB */ + {0x98, 0xB6}, {0x99, 0x35}, {0x9A, 0x01}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x99, 0xFF}, {0x9B, 0xAE}, {0x9B, 0xAB}, {0x9B, 0xAA}, /* 0x40-0x43 */ + {0x9B, 0xAD}, {0x9D, 0x3B}, {0x9D, 0x3F}, {0x9E, 0x8B}, /* 0x44-0x47 */ + {0x9E, 0xCF}, {0x9E, 0xDE}, {0x9E, 0xDC}, {0x9E, 0xDD}, /* 0x48-0x4B */ + {0x9E, 0xDB}, {0x9F, 0x3E}, {0x9F, 0x4B}, {0x53, 0xE2}, /* 0x4C-0x4F */ + {0x56, 0x95}, {0x56, 0xAE}, {0x58, 0xD9}, {0x58, 0xD8}, /* 0x50-0x53 */ + {0x5B, 0x38}, {0x5F, 0x5D}, {0x61, 0xE3}, {0x62, 0x33}, /* 0x54-0x57 */ + {0x64, 0xF4}, {0x64, 0xF2}, {0x64, 0xFE}, {0x65, 0x06}, /* 0x58-0x5B */ + {0x64, 0xFA}, {0x64, 0xFB}, {0x64, 0xF7}, {0x65, 0xB7}, /* 0x5C-0x5F */ + {0x66, 0xDC}, {0x67, 0x26}, {0x6A, 0xB3}, {0x6A, 0xAC}, /* 0x60-0x63 */ + {0x6A, 0xC3}, {0x6A, 0xBB}, {0x6A, 0xB8}, {0x6A, 0xC2}, /* 0x64-0x67 */ + {0x6A, 0xAE}, {0x6A, 0xAF}, {0x6B, 0x5F}, {0x6B, 0x78}, /* 0x68-0x6B */ + {0x6B, 0xAF}, {0x70, 0x09}, {0x70, 0x0B}, {0x6F, 0xFE}, /* 0x6C-0x6F */ + {0x70, 0x06}, {0x6F, 0xFA}, {0x70, 0x11}, {0x70, 0x0F}, /* 0x70-0x73 */ + {0x71, 0xFB}, {0x71, 0xFC}, {0x71, 0xFE}, {0x71, 0xF8}, /* 0x74-0x77 */ + {0x73, 0x77}, {0x73, 0x75}, {0x74, 0xA7}, {0x74, 0xBF}, /* 0x78-0x7B */ + {0x75, 0x15}, {0x76, 0x56}, {0x76, 0x58}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x76, 0x52}, {0x77, 0xBD}, {0x77, 0xBF}, /* 0xA0-0xA3 */ + {0x77, 0xBB}, {0x77, 0xBC}, {0x79, 0x0E}, {0x79, 0xAE}, /* 0xA4-0xA7 */ + {0x7A, 0x61}, {0x7A, 0x62}, {0x7A, 0x60}, {0x7A, 0xC4}, /* 0xA8-0xAB */ + {0x7A, 0xC5}, {0x7C, 0x2B}, {0x7C, 0x27}, {0x7C, 0x2A}, /* 0xAC-0xAF */ + {0x7C, 0x1E}, {0x7C, 0x23}, {0x7C, 0x21}, {0x7C, 0xE7}, /* 0xB0-0xB3 */ + {0x7E, 0x54}, {0x7E, 0x55}, {0x7E, 0x5E}, {0x7E, 0x5A}, /* 0xB4-0xB7 */ + {0x7E, 0x61}, {0x7E, 0x52}, {0x7E, 0x59}, {0x7F, 0x48}, /* 0xB8-0xBB */ + {0x7F, 0xF9}, {0x7F, 0xFB}, {0x80, 0x77}, {0x80, 0x76}, /* 0xBC-0xBF */ + {0x81, 0xCD}, {0x81, 0xCF}, {0x82, 0x0A}, {0x85, 0xCF}, /* 0xC0-0xC3 */ + {0x85, 0xA9}, {0x85, 0xCD}, {0x85, 0xD0}, {0x85, 0xC9}, /* 0xC4-0xC7 */ + {0x85, 0xB0}, {0x85, 0xBA}, {0x85, 0xB9}, {0x85, 0xA6}, /* 0xC8-0xCB */ + {0x87, 0xEF}, {0x87, 0xEC}, {0x87, 0xF2}, {0x87, 0xE0}, /* 0xCC-0xCF */ + {0x89, 0x86}, {0x89, 0xB2}, {0x89, 0xF4}, {0x8B, 0x28}, /* 0xD0-0xD3 */ + {0x8B, 0x39}, {0x8B, 0x2C}, {0x8B, 0x2B}, {0x8C, 0x50}, /* 0xD4-0xD7 */ + {0x8D, 0x05}, {0x8E, 0x59}, {0x8E, 0x63}, {0x8E, 0x66}, /* 0xD8-0xDB */ + {0x8E, 0x64}, {0x8E, 0x5F}, {0x8E, 0x55}, {0x8E, 0xC0}, /* 0xDC-0xDF */ + {0x8F, 0x49}, {0x8F, 0x4D}, {0x90, 0x87}, {0x90, 0x83}, /* 0xE0-0xE3 */ + {0x90, 0x88}, {0x91, 0xAB}, {0x91, 0xAC}, {0x91, 0xD0}, /* 0xE4-0xE7 */ + {0x93, 0x94}, {0x93, 0x8A}, {0x93, 0x96}, {0x93, 0xA2}, /* 0xE8-0xEB */ + {0x93, 0xB3}, {0x93, 0xAE}, {0x93, 0xAC}, {0x93, 0xB0}, /* 0xEC-0xEF */ + {0x93, 0x98}, {0x93, 0x9A}, {0x93, 0x97}, {0x95, 0xD4}, /* 0xF0-0xF3 */ + {0x95, 0xD6}, {0x95, 0xD0}, {0x95, 0xD5}, {0x96, 0xE2}, /* 0xF4-0xF7 */ + {0x96, 0xDC}, {0x96, 0xD9}, {0x96, 0xDB}, {0x96, 0xDE}, /* 0xF8-0xFB */ + {0x97, 0x24}, {0x97, 0xA3}, {0x97, 0xA6}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x97, 0xAD}, {0x97, 0xF9}, {0x98, 0x4D}, {0x98, 0x4F}, /* 0x40-0x43 */ + {0x98, 0x4C}, {0x98, 0x4E}, {0x98, 0x53}, {0x98, 0xBA}, /* 0x44-0x47 */ + {0x99, 0x3E}, {0x99, 0x3F}, {0x99, 0x3D}, {0x99, 0x2E}, /* 0x48-0x4B */ + {0x99, 0xA5}, {0x9A, 0x0E}, {0x9A, 0xC1}, {0x9B, 0x03}, /* 0x4C-0x4F */ + {0x9B, 0x06}, {0x9B, 0x4F}, {0x9B, 0x4E}, {0x9B, 0x4D}, /* 0x50-0x53 */ + {0x9B, 0xCA}, {0x9B, 0xC9}, {0x9B, 0xFD}, {0x9B, 0xC8}, /* 0x54-0x57 */ + {0x9B, 0xC0}, {0x9D, 0x51}, {0x9D, 0x5D}, {0x9D, 0x60}, /* 0x58-0x5B */ + {0x9E, 0xE0}, {0x9F, 0x15}, {0x9F, 0x2C}, {0x51, 0x33}, /* 0x5C-0x5F */ + {0x56, 0xA5}, {0x58, 0xDE}, {0x58, 0xDF}, {0x58, 0xE2}, /* 0x60-0x63 */ + {0x5B, 0xF5}, {0x9F, 0x90}, {0x5E, 0xEC}, {0x61, 0xF2}, /* 0x64-0x67 */ + {0x61, 0xF7}, {0x61, 0xF6}, {0x61, 0xF5}, {0x65, 0x00}, /* 0x68-0x6B */ + {0x65, 0x0F}, {0x66, 0xE0}, {0x66, 0xDD}, {0x6A, 0xE5}, /* 0x6C-0x6F */ + {0x6A, 0xDD}, {0x6A, 0xDA}, {0x6A, 0xD3}, {0x70, 0x1B}, /* 0x70-0x73 */ + {0x70, 0x1F}, {0x70, 0x28}, {0x70, 0x1A}, {0x70, 0x1D}, /* 0x74-0x77 */ + {0x70, 0x15}, {0x70, 0x18}, {0x72, 0x06}, {0x72, 0x0D}, /* 0x78-0x7B */ + {0x72, 0x58}, {0x72, 0xA2}, {0x73, 0x78}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x73, 0x7A}, {0x74, 0xBD}, {0x74, 0xCA}, /* 0xA0-0xA3 */ + {0x74, 0xE3}, {0x75, 0x87}, {0x75, 0x86}, {0x76, 0x5F}, /* 0xA4-0xA7 */ + {0x76, 0x61}, {0x77, 0xC7}, {0x79, 0x19}, {0x79, 0xB1}, /* 0xA8-0xAB */ + {0x7A, 0x6B}, {0x7A, 0x69}, {0x7C, 0x3E}, {0x7C, 0x3F}, /* 0xAC-0xAF */ + {0x7C, 0x38}, {0x7C, 0x3D}, {0x7C, 0x37}, {0x7C, 0x40}, /* 0xB0-0xB3 */ + {0x7E, 0x6B}, {0x7E, 0x6D}, {0x7E, 0x79}, {0x7E, 0x69}, /* 0xB4-0xB7 */ + {0x7E, 0x6A}, {0x7F, 0x85}, {0x7E, 0x73}, {0x7F, 0xB6}, /* 0xB8-0xBB */ + {0x7F, 0xB9}, {0x7F, 0xB8}, {0x81, 0xD8}, {0x85, 0xE9}, /* 0xBC-0xBF */ + {0x85, 0xDD}, {0x85, 0xEA}, {0x85, 0xD5}, {0x85, 0xE4}, /* 0xC0-0xC3 */ + {0x85, 0xE5}, {0x85, 0xF7}, {0x87, 0xFB}, {0x88, 0x05}, /* 0xC4-0xC7 */ + {0x88, 0x0D}, {0x87, 0xF9}, {0x87, 0xFE}, {0x89, 0x60}, /* 0xC8-0xCB */ + {0x89, 0x5F}, {0x89, 0x56}, {0x89, 0x5E}, {0x8B, 0x41}, /* 0xCC-0xCF */ + {0x8B, 0x5C}, {0x8B, 0x58}, {0x8B, 0x49}, {0x8B, 0x5A}, /* 0xD0-0xD3 */ + {0x8B, 0x4E}, {0x8B, 0x4F}, {0x8B, 0x46}, {0x8B, 0x59}, /* 0xD4-0xD7 */ + {0x8D, 0x08}, {0x8D, 0x0A}, {0x8E, 0x7C}, {0x8E, 0x72}, /* 0xD8-0xDB */ + {0x8E, 0x87}, {0x8E, 0x76}, {0x8E, 0x6C}, {0x8E, 0x7A}, /* 0xDC-0xDF */ + {0x8E, 0x74}, {0x8F, 0x54}, {0x8F, 0x4E}, {0x8F, 0xAD}, /* 0xE0-0xE3 */ + {0x90, 0x8A}, {0x90, 0x8B}, {0x91, 0xB1}, {0x91, 0xAE}, /* 0xE4-0xE7 */ + {0x93, 0xE1}, {0x93, 0xD1}, {0x93, 0xDF}, {0x93, 0xC3}, /* 0xE8-0xEB */ + {0x93, 0xC8}, {0x93, 0xDC}, {0x93, 0xDD}, {0x93, 0xD6}, /* 0xEC-0xEF */ + {0x93, 0xE2}, {0x93, 0xCD}, {0x93, 0xD8}, {0x93, 0xE4}, /* 0xF0-0xF3 */ + {0x93, 0xD7}, {0x93, 0xE8}, {0x95, 0xDC}, {0x96, 0xB4}, /* 0xF4-0xF7 */ + {0x96, 0xE3}, {0x97, 0x2A}, {0x97, 0x27}, {0x97, 0x61}, /* 0xF8-0xFB */ + {0x97, 0xDC}, {0x97, 0xFB}, {0x98, 0x5E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x98, 0x58}, {0x98, 0x5B}, {0x98, 0xBC}, {0x99, 0x45}, /* 0x40-0x43 */ + {0x99, 0x49}, {0x9A, 0x16}, {0x9A, 0x19}, {0x9B, 0x0D}, /* 0x44-0x47 */ + {0x9B, 0xE8}, {0x9B, 0xE7}, {0x9B, 0xD6}, {0x9B, 0xDB}, /* 0x48-0x4B */ + {0x9D, 0x89}, {0x9D, 0x61}, {0x9D, 0x72}, {0x9D, 0x6A}, /* 0x4C-0x4F */ + {0x9D, 0x6C}, {0x9E, 0x92}, {0x9E, 0x97}, {0x9E, 0x93}, /* 0x50-0x53 */ + {0x9E, 0xB4}, {0x52, 0xF8}, {0x56, 0xA8}, {0x56, 0xB7}, /* 0x54-0x57 */ + {0x56, 0xB6}, {0x56, 0xB4}, {0x56, 0xBC}, {0x58, 0xE4}, /* 0x58-0x5B */ + {0x5B, 0x40}, {0x5B, 0x43}, {0x5B, 0x7D}, {0x5B, 0xF6}, /* 0x5C-0x5F */ + {0x5D, 0xC9}, {0x61, 0xF8}, {0x61, 0xFA}, {0x65, 0x18}, /* 0x60-0x63 */ + {0x65, 0x14}, {0x65, 0x19}, {0x66, 0xE6}, {0x67, 0x27}, /* 0x64-0x67 */ + {0x6A, 0xEC}, {0x70, 0x3E}, {0x70, 0x30}, {0x70, 0x32}, /* 0x68-0x6B */ + {0x72, 0x10}, {0x73, 0x7B}, {0x74, 0xCF}, {0x76, 0x62}, /* 0x6C-0x6F */ + {0x76, 0x65}, {0x79, 0x26}, {0x79, 0x2A}, {0x79, 0x2C}, /* 0x70-0x73 */ + {0x79, 0x2B}, {0x7A, 0xC7}, {0x7A, 0xF6}, {0x7C, 0x4C}, /* 0x74-0x77 */ + {0x7C, 0x43}, {0x7C, 0x4D}, {0x7C, 0xEF}, {0x7C, 0xF0}, /* 0x78-0x7B */ + {0x8F, 0xAE}, {0x7E, 0x7D}, {0x7E, 0x7C}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x7E, 0x82}, {0x7F, 0x4C}, {0x80, 0x00}, /* 0xA0-0xA3 */ + {0x81, 0xDA}, {0x82, 0x66}, {0x85, 0xFB}, {0x85, 0xF9}, /* 0xA4-0xA7 */ + {0x86, 0x11}, {0x85, 0xFA}, {0x86, 0x06}, {0x86, 0x0B}, /* 0xA8-0xAB */ + {0x86, 0x07}, {0x86, 0x0A}, {0x88, 0x14}, {0x88, 0x15}, /* 0xAC-0xAF */ + {0x89, 0x64}, {0x89, 0xBA}, {0x89, 0xF8}, {0x8B, 0x70}, /* 0xB0-0xB3 */ + {0x8B, 0x6C}, {0x8B, 0x66}, {0x8B, 0x6F}, {0x8B, 0x5F}, /* 0xB4-0xB7 */ + {0x8B, 0x6B}, {0x8D, 0x0F}, {0x8D, 0x0D}, {0x8E, 0x89}, /* 0xB8-0xBB */ + {0x8E, 0x81}, {0x8E, 0x85}, {0x8E, 0x82}, {0x91, 0xB4}, /* 0xBC-0xBF */ + {0x91, 0xCB}, {0x94, 0x18}, {0x94, 0x03}, {0x93, 0xFD}, /* 0xC0-0xC3 */ + {0x95, 0xE1}, {0x97, 0x30}, {0x98, 0xC4}, {0x99, 0x52}, /* 0xC4-0xC7 */ + {0x99, 0x51}, {0x99, 0xA8}, {0x9A, 0x2B}, {0x9A, 0x30}, /* 0xC8-0xCB */ + {0x9A, 0x37}, {0x9A, 0x35}, {0x9C, 0x13}, {0x9C, 0x0D}, /* 0xCC-0xCF */ + {0x9E, 0x79}, {0x9E, 0xB5}, {0x9E, 0xE8}, {0x9F, 0x2F}, /* 0xD0-0xD3 */ + {0x9F, 0x5F}, {0x9F, 0x63}, {0x9F, 0x61}, {0x51, 0x37}, /* 0xD4-0xD7 */ + {0x51, 0x38}, {0x56, 0xC1}, {0x56, 0xC0}, {0x56, 0xC2}, /* 0xD8-0xDB */ + {0x59, 0x14}, {0x5C, 0x6C}, {0x5D, 0xCD}, {0x61, 0xFC}, /* 0xDC-0xDF */ + {0x61, 0xFE}, {0x65, 0x1D}, {0x65, 0x1C}, {0x65, 0x95}, /* 0xE0-0xE3 */ + {0x66, 0xE9}, {0x6A, 0xFB}, {0x6B, 0x04}, {0x6A, 0xFA}, /* 0xE4-0xE7 */ + {0x6B, 0xB2}, {0x70, 0x4C}, {0x72, 0x1B}, {0x72, 0xA7}, /* 0xE8-0xEB */ + {0x74, 0xD6}, {0x74, 0xD4}, {0x76, 0x69}, {0x77, 0xD3}, /* 0xEC-0xEF */ + {0x7C, 0x50}, {0x7E, 0x8F}, {0x7E, 0x8C}, {0x7F, 0xBC}, /* 0xF0-0xF3 */ + {0x86, 0x17}, {0x86, 0x2D}, {0x86, 0x1A}, {0x88, 0x23}, /* 0xF4-0xF7 */ + {0x88, 0x22}, {0x88, 0x21}, {0x88, 0x1F}, {0x89, 0x6A}, /* 0xF8-0xFB */ + {0x89, 0x6C}, {0x89, 0xBD}, {0x8B, 0x74}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8B, 0x77}, {0x8B, 0x7D}, {0x8D, 0x13}, {0x8E, 0x8A}, /* 0x40-0x43 */ + {0x8E, 0x8D}, {0x8E, 0x8B}, {0x8F, 0x5F}, {0x8F, 0xAF}, /* 0x44-0x47 */ + {0x91, 0xBA}, {0x94, 0x2E}, {0x94, 0x33}, {0x94, 0x35}, /* 0x48-0x4B */ + {0x94, 0x3A}, {0x94, 0x38}, {0x94, 0x32}, {0x94, 0x2B}, /* 0x4C-0x4F */ + {0x95, 0xE2}, {0x97, 0x38}, {0x97, 0x39}, {0x97, 0x32}, /* 0x50-0x53 */ + {0x97, 0xFF}, {0x98, 0x67}, {0x98, 0x65}, {0x99, 0x57}, /* 0x54-0x57 */ + {0x9A, 0x45}, {0x9A, 0x43}, {0x9A, 0x40}, {0x9A, 0x3E}, /* 0x58-0x5B */ + {0x9A, 0xCF}, {0x9B, 0x54}, {0x9B, 0x51}, {0x9C, 0x2D}, /* 0x5C-0x5F */ + {0x9C, 0x25}, {0x9D, 0xAF}, {0x9D, 0xB4}, {0x9D, 0xC2}, /* 0x60-0x63 */ + {0x9D, 0xB8}, {0x9E, 0x9D}, {0x9E, 0xEF}, {0x9F, 0x19}, /* 0x64-0x67 */ + {0x9F, 0x5C}, {0x9F, 0x66}, {0x9F, 0x67}, {0x51, 0x3C}, /* 0x68-0x6B */ + {0x51, 0x3B}, {0x56, 0xC8}, {0x56, 0xCA}, {0x56, 0xC9}, /* 0x6C-0x6F */ + {0x5B, 0x7F}, {0x5D, 0xD4}, {0x5D, 0xD2}, {0x5F, 0x4E}, /* 0x70-0x73 */ + {0x61, 0xFF}, {0x65, 0x24}, {0x6B, 0x0A}, {0x6B, 0x61}, /* 0x74-0x77 */ + {0x70, 0x51}, {0x70, 0x58}, {0x73, 0x80}, {0x74, 0xE4}, /* 0x78-0x7B */ + {0x75, 0x8A}, {0x76, 0x6E}, {0x76, 0x6C}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x79, 0xB3}, {0x7C, 0x60}, {0x7C, 0x5F}, /* 0xA0-0xA3 */ + {0x80, 0x7E}, {0x80, 0x7D}, {0x81, 0xDF}, {0x89, 0x72}, /* 0xA4-0xA7 */ + {0x89, 0x6F}, {0x89, 0xFC}, {0x8B, 0x80}, {0x8D, 0x16}, /* 0xA8-0xAB */ + {0x8D, 0x17}, {0x8E, 0x91}, {0x8E, 0x93}, {0x8F, 0x61}, /* 0xAC-0xAF */ + {0x91, 0x48}, {0x94, 0x44}, {0x94, 0x51}, {0x94, 0x52}, /* 0xB0-0xB3 */ + {0x97, 0x3D}, {0x97, 0x3E}, {0x97, 0xC3}, {0x97, 0xC1}, /* 0xB4-0xB7 */ + {0x98, 0x6B}, {0x99, 0x55}, {0x9A, 0x55}, {0x9A, 0x4D}, /* 0xB8-0xBB */ + {0x9A, 0xD2}, {0x9B, 0x1A}, {0x9C, 0x49}, {0x9C, 0x31}, /* 0xBC-0xBF */ + {0x9C, 0x3E}, {0x9C, 0x3B}, {0x9D, 0xD3}, {0x9D, 0xD7}, /* 0xC0-0xC3 */ + {0x9F, 0x34}, {0x9F, 0x6C}, {0x9F, 0x6A}, {0x9F, 0x94}, /* 0xC4-0xC7 */ + {0x56, 0xCC}, {0x5D, 0xD6}, {0x62, 0x00}, {0x65, 0x23}, /* 0xC8-0xCB */ + {0x65, 0x2B}, {0x65, 0x2A}, {0x66, 0xEC}, {0x6B, 0x10}, /* 0xCC-0xCF */ + {0x74, 0xDA}, {0x7A, 0xCA}, {0x7C, 0x64}, {0x7C, 0x63}, /* 0xD0-0xD3 */ + {0x7C, 0x65}, {0x7E, 0x93}, {0x7E, 0x96}, {0x7E, 0x94}, /* 0xD4-0xD7 */ + {0x81, 0xE2}, {0x86, 0x38}, {0x86, 0x3F}, {0x88, 0x31}, /* 0xD8-0xDB */ + {0x8B, 0x8A}, {0x90, 0x90}, {0x90, 0x8F}, {0x94, 0x63}, /* 0xDC-0xDF */ + {0x94, 0x60}, {0x94, 0x64}, {0x97, 0x68}, {0x98, 0x6F}, /* 0xE0-0xE3 */ + {0x99, 0x5C}, {0x9A, 0x5A}, {0x9A, 0x5B}, {0x9A, 0x57}, /* 0xE4-0xE7 */ + {0x9A, 0xD3}, {0x9A, 0xD4}, {0x9A, 0xD1}, {0x9C, 0x54}, /* 0xE8-0xEB */ + {0x9C, 0x57}, {0x9C, 0x56}, {0x9D, 0xE5}, {0x9E, 0x9F}, /* 0xEC-0xEF */ + {0x9E, 0xF4}, {0x56, 0xD1}, {0x58, 0xE9}, {0x65, 0x2C}, /* 0xF0-0xF3 */ + {0x70, 0x5E}, {0x76, 0x71}, {0x76, 0x72}, {0x77, 0xD7}, /* 0xF4-0xF7 */ + {0x7F, 0x50}, {0x7F, 0x88}, {0x88, 0x36}, {0x88, 0x39}, /* 0xF8-0xFB */ + {0x88, 0x62}, {0x8B, 0x93}, {0x8B, 0x92}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8B, 0x96}, {0x82, 0x77}, {0x8D, 0x1B}, {0x91, 0xC0}, /* 0x40-0x43 */ + {0x94, 0x6A}, {0x97, 0x42}, {0x97, 0x48}, {0x97, 0x44}, /* 0x44-0x47 */ + {0x97, 0xC6}, {0x98, 0x70}, {0x9A, 0x5F}, {0x9B, 0x22}, /* 0x48-0x4B */ + {0x9B, 0x58}, {0x9C, 0x5F}, {0x9D, 0xF9}, {0x9D, 0xFA}, /* 0x4C-0x4F */ + {0x9E, 0x7C}, {0x9E, 0x7D}, {0x9F, 0x07}, {0x9F, 0x77}, /* 0x50-0x53 */ + {0x9F, 0x72}, {0x5E, 0xF3}, {0x6B, 0x16}, {0x70, 0x63}, /* 0x54-0x57 */ + {0x7C, 0x6C}, {0x7C, 0x6E}, {0x88, 0x3B}, {0x89, 0xC0}, /* 0x58-0x5B */ + {0x8E, 0xA1}, {0x91, 0xC1}, {0x94, 0x72}, {0x94, 0x70}, /* 0x5C-0x5F */ + {0x98, 0x71}, {0x99, 0x5E}, {0x9A, 0xD6}, {0x9B, 0x23}, /* 0x60-0x63 */ + {0x9E, 0xCC}, {0x70, 0x64}, {0x77, 0xDA}, {0x8B, 0x9A}, /* 0x64-0x67 */ + {0x94, 0x77}, {0x97, 0xC9}, {0x9A, 0x62}, {0x9A, 0x65}, /* 0x68-0x6B */ + {0x7E, 0x9C}, {0x8B, 0x9C}, {0x8E, 0xAA}, {0x91, 0xC5}, /* 0x6C-0x6F */ + {0x94, 0x7D}, {0x94, 0x7E}, {0x94, 0x7C}, {0x9C, 0x77}, /* 0x70-0x73 */ + {0x9C, 0x78}, {0x9E, 0xF7}, {0x8C, 0x54}, {0x94, 0x7F}, /* 0x74-0x77 */ + {0x9E, 0x1A}, {0x72, 0x28}, {0x9A, 0x6A}, {0x9B, 0x31}, /* 0x78-0x7B */ + {0x9E, 0x1B}, {0x9E, 0x1E}, {0x7C, 0x72}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA0-0xA3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA4-0xA7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xA8-0xAB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xAC-0xAF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB0-0xB3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB4-0xB7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xB8-0xBB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xBC-0xBF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC0-0xC3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC4-0xC7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xC8-0xCB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xCC-0xCF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD0-0xD3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD4-0xD7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xD8-0xDB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xDC-0xDF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE0-0xE3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE4-0xE7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xE8-0xEB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xEC-0xEF */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF0-0xF3 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF4-0xF7 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xF8-0xFB */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_C9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x4E, 0x42}, {0x4E, 0x5C}, {0x51, 0xF5}, {0x53, 0x1A}, /* 0x40-0x43 */ + {0x53, 0x82}, {0x4E, 0x07}, {0x4E, 0x0C}, {0x4E, 0x47}, /* 0x44-0x47 */ + {0x4E, 0x8D}, {0x56, 0xD7}, {0xFA, 0x0C}, {0x5C, 0x6E}, /* 0x48-0x4B */ + {0x5F, 0x73}, {0x4E, 0x0F}, {0x51, 0x87}, {0x4E, 0x0E}, /* 0x4C-0x4F */ + {0x4E, 0x2E}, {0x4E, 0x93}, {0x4E, 0xC2}, {0x4E, 0xC9}, /* 0x50-0x53 */ + {0x4E, 0xC8}, {0x51, 0x98}, {0x52, 0xFC}, {0x53, 0x6C}, /* 0x54-0x57 */ + {0x53, 0xB9}, {0x57, 0x20}, {0x59, 0x03}, {0x59, 0x2C}, /* 0x58-0x5B */ + {0x5C, 0x10}, {0x5D, 0xFF}, {0x65, 0xE1}, {0x6B, 0xB3}, /* 0x5C-0x5F */ + {0x6B, 0xCC}, {0x6C, 0x14}, {0x72, 0x3F}, {0x4E, 0x31}, /* 0x60-0x63 */ + {0x4E, 0x3C}, {0x4E, 0xE8}, {0x4E, 0xDC}, {0x4E, 0xE9}, /* 0x64-0x67 */ + {0x4E, 0xE1}, {0x4E, 0xDD}, {0x4E, 0xDA}, {0x52, 0x0C}, /* 0x68-0x6B */ + {0x53, 0x1C}, {0x53, 0x4C}, {0x57, 0x22}, {0x57, 0x23}, /* 0x6C-0x6F */ + {0x59, 0x17}, {0x59, 0x2F}, {0x5B, 0x81}, {0x5B, 0x84}, /* 0x70-0x73 */ + {0x5C, 0x12}, {0x5C, 0x3B}, {0x5C, 0x74}, {0x5C, 0x73}, /* 0x74-0x77 */ + {0x5E, 0x04}, {0x5E, 0x80}, {0x5E, 0x82}, {0x5F, 0xC9}, /* 0x78-0x7B */ + {0x62, 0x09}, {0x62, 0x50}, {0x6C, 0x15}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x6C, 0x36}, {0x6C, 0x43}, {0x6C, 0x3F}, /* 0xA0-0xA3 */ + {0x6C, 0x3B}, {0x72, 0xAE}, {0x72, 0xB0}, {0x73, 0x8A}, /* 0xA4-0xA7 */ + {0x79, 0xB8}, {0x80, 0x8A}, {0x96, 0x1E}, {0x4F, 0x0E}, /* 0xA8-0xAB */ + {0x4F, 0x18}, {0x4F, 0x2C}, {0x4E, 0xF5}, {0x4F, 0x14}, /* 0xAC-0xAF */ + {0x4E, 0xF1}, {0x4F, 0x00}, {0x4E, 0xF7}, {0x4F, 0x08}, /* 0xB0-0xB3 */ + {0x4F, 0x1D}, {0x4F, 0x02}, {0x4F, 0x05}, {0x4F, 0x22}, /* 0xB4-0xB7 */ + {0x4F, 0x13}, {0x4F, 0x04}, {0x4E, 0xF4}, {0x4F, 0x12}, /* 0xB8-0xBB */ + {0x51, 0xB1}, {0x52, 0x13}, {0x52, 0x09}, {0x52, 0x10}, /* 0xBC-0xBF */ + {0x52, 0xA6}, {0x53, 0x22}, {0x53, 0x1F}, {0x53, 0x4D}, /* 0xC0-0xC3 */ + {0x53, 0x8A}, {0x54, 0x07}, {0x56, 0xE1}, {0x56, 0xDF}, /* 0xC4-0xC7 */ + {0x57, 0x2E}, {0x57, 0x2A}, {0x57, 0x34}, {0x59, 0x3C}, /* 0xC8-0xCB */ + {0x59, 0x80}, {0x59, 0x7C}, {0x59, 0x85}, {0x59, 0x7B}, /* 0xCC-0xCF */ + {0x59, 0x7E}, {0x59, 0x77}, {0x59, 0x7F}, {0x5B, 0x56}, /* 0xD0-0xD3 */ + {0x5C, 0x15}, {0x5C, 0x25}, {0x5C, 0x7C}, {0x5C, 0x7A}, /* 0xD4-0xD7 */ + {0x5C, 0x7B}, {0x5C, 0x7E}, {0x5D, 0xDF}, {0x5E, 0x75}, /* 0xD8-0xDB */ + {0x5E, 0x84}, {0x5F, 0x02}, {0x5F, 0x1A}, {0x5F, 0x74}, /* 0xDC-0xDF */ + {0x5F, 0xD5}, {0x5F, 0xD4}, {0x5F, 0xCF}, {0x62, 0x5C}, /* 0xE0-0xE3 */ + {0x62, 0x5E}, {0x62, 0x64}, {0x62, 0x61}, {0x62, 0x66}, /* 0xE4-0xE7 */ + {0x62, 0x62}, {0x62, 0x59}, {0x62, 0x60}, {0x62, 0x5A}, /* 0xE8-0xEB */ + {0x62, 0x65}, {0x65, 0xEF}, {0x65, 0xEE}, {0x67, 0x3E}, /* 0xEC-0xEF */ + {0x67, 0x39}, {0x67, 0x38}, {0x67, 0x3B}, {0x67, 0x3A}, /* 0xF0-0xF3 */ + {0x67, 0x3F}, {0x67, 0x3C}, {0x67, 0x33}, {0x6C, 0x18}, /* 0xF4-0xF7 */ + {0x6C, 0x46}, {0x6C, 0x52}, {0x6C, 0x5C}, {0x6C, 0x4F}, /* 0xF8-0xFB */ + {0x6C, 0x4A}, {0x6C, 0x54}, {0x6C, 0x4B}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6C, 0x4C}, {0x70, 0x71}, {0x72, 0x5E}, {0x72, 0xB4}, /* 0x40-0x43 */ + {0x72, 0xB5}, {0x73, 0x8E}, {0x75, 0x2A}, {0x76, 0x7F}, /* 0x44-0x47 */ + {0x7A, 0x75}, {0x7F, 0x51}, {0x82, 0x78}, {0x82, 0x7C}, /* 0x48-0x4B */ + {0x82, 0x80}, {0x82, 0x7D}, {0x82, 0x7F}, {0x86, 0x4D}, /* 0x4C-0x4F */ + {0x89, 0x7E}, {0x90, 0x99}, {0x90, 0x97}, {0x90, 0x98}, /* 0x50-0x53 */ + {0x90, 0x9B}, {0x90, 0x94}, {0x96, 0x22}, {0x96, 0x24}, /* 0x54-0x57 */ + {0x96, 0x20}, {0x96, 0x23}, {0x4F, 0x56}, {0x4F, 0x3B}, /* 0x58-0x5B */ + {0x4F, 0x62}, {0x4F, 0x49}, {0x4F, 0x53}, {0x4F, 0x64}, /* 0x5C-0x5F */ + {0x4F, 0x3E}, {0x4F, 0x67}, {0x4F, 0x52}, {0x4F, 0x5F}, /* 0x60-0x63 */ + {0x4F, 0x41}, {0x4F, 0x58}, {0x4F, 0x2D}, {0x4F, 0x33}, /* 0x64-0x67 */ + {0x4F, 0x3F}, {0x4F, 0x61}, {0x51, 0x8F}, {0x51, 0xB9}, /* 0x68-0x6B */ + {0x52, 0x1C}, {0x52, 0x1E}, {0x52, 0x21}, {0x52, 0xAD}, /* 0x6C-0x6F */ + {0x52, 0xAE}, {0x53, 0x09}, {0x53, 0x63}, {0x53, 0x72}, /* 0x70-0x73 */ + {0x53, 0x8E}, {0x53, 0x8F}, {0x54, 0x30}, {0x54, 0x37}, /* 0x74-0x77 */ + {0x54, 0x2A}, {0x54, 0x54}, {0x54, 0x45}, {0x54, 0x19}, /* 0x78-0x7B */ + {0x54, 0x1C}, {0x54, 0x25}, {0x54, 0x18}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x54, 0x3D}, {0x54, 0x4F}, {0x54, 0x41}, /* 0xA0-0xA3 */ + {0x54, 0x28}, {0x54, 0x24}, {0x54, 0x47}, {0x56, 0xEE}, /* 0xA4-0xA7 */ + {0x56, 0xE7}, {0x56, 0xE5}, {0x57, 0x41}, {0x57, 0x45}, /* 0xA8-0xAB */ + {0x57, 0x4C}, {0x57, 0x49}, {0x57, 0x4B}, {0x57, 0x52}, /* 0xAC-0xAF */ + {0x59, 0x06}, {0x59, 0x40}, {0x59, 0xA6}, {0x59, 0x98}, /* 0xB0-0xB3 */ + {0x59, 0xA0}, {0x59, 0x97}, {0x59, 0x8E}, {0x59, 0xA2}, /* 0xB4-0xB7 */ + {0x59, 0x90}, {0x59, 0x8F}, {0x59, 0xA7}, {0x59, 0xA1}, /* 0xB8-0xBB */ + {0x5B, 0x8E}, {0x5B, 0x92}, {0x5C, 0x28}, {0x5C, 0x2A}, /* 0xBC-0xBF */ + {0x5C, 0x8D}, {0x5C, 0x8F}, {0x5C, 0x88}, {0x5C, 0x8B}, /* 0xC0-0xC3 */ + {0x5C, 0x89}, {0x5C, 0x92}, {0x5C, 0x8A}, {0x5C, 0x86}, /* 0xC4-0xC7 */ + {0x5C, 0x93}, {0x5C, 0x95}, {0x5D, 0xE0}, {0x5E, 0x0A}, /* 0xC8-0xCB */ + {0x5E, 0x0E}, {0x5E, 0x8B}, {0x5E, 0x89}, {0x5E, 0x8C}, /* 0xCC-0xCF */ + {0x5E, 0x88}, {0x5E, 0x8D}, {0x5F, 0x05}, {0x5F, 0x1D}, /* 0xD0-0xD3 */ + {0x5F, 0x78}, {0x5F, 0x76}, {0x5F, 0xD2}, {0x5F, 0xD1}, /* 0xD4-0xD7 */ + {0x5F, 0xD0}, {0x5F, 0xED}, {0x5F, 0xE8}, {0x5F, 0xEE}, /* 0xD8-0xDB */ + {0x5F, 0xF3}, {0x5F, 0xE1}, {0x5F, 0xE4}, {0x5F, 0xE3}, /* 0xDC-0xDF */ + {0x5F, 0xFA}, {0x5F, 0xEF}, {0x5F, 0xF7}, {0x5F, 0xFB}, /* 0xE0-0xE3 */ + {0x60, 0x00}, {0x5F, 0xF4}, {0x62, 0x3A}, {0x62, 0x83}, /* 0xE4-0xE7 */ + {0x62, 0x8C}, {0x62, 0x8E}, {0x62, 0x8F}, {0x62, 0x94}, /* 0xE8-0xEB */ + {0x62, 0x87}, {0x62, 0x71}, {0x62, 0x7B}, {0x62, 0x7A}, /* 0xEC-0xEF */ + {0x62, 0x70}, {0x62, 0x81}, {0x62, 0x88}, {0x62, 0x77}, /* 0xF0-0xF3 */ + {0x62, 0x7D}, {0x62, 0x72}, {0x62, 0x74}, {0x65, 0x37}, /* 0xF4-0xF7 */ + {0x65, 0xF0}, {0x65, 0xF4}, {0x65, 0xF3}, {0x65, 0xF2}, /* 0xF8-0xFB */ + {0x65, 0xF5}, {0x67, 0x45}, {0x67, 0x47}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x67, 0x59}, {0x67, 0x55}, {0x67, 0x4C}, {0x67, 0x48}, /* 0x40-0x43 */ + {0x67, 0x5D}, {0x67, 0x4D}, {0x67, 0x5A}, {0x67, 0x4B}, /* 0x44-0x47 */ + {0x6B, 0xD0}, {0x6C, 0x19}, {0x6C, 0x1A}, {0x6C, 0x78}, /* 0x48-0x4B */ + {0x6C, 0x67}, {0x6C, 0x6B}, {0x6C, 0x84}, {0x6C, 0x8B}, /* 0x4C-0x4F */ + {0x6C, 0x8F}, {0x6C, 0x71}, {0x6C, 0x6F}, {0x6C, 0x69}, /* 0x50-0x53 */ + {0x6C, 0x9A}, {0x6C, 0x6D}, {0x6C, 0x87}, {0x6C, 0x95}, /* 0x54-0x57 */ + {0x6C, 0x9C}, {0x6C, 0x66}, {0x6C, 0x73}, {0x6C, 0x65}, /* 0x58-0x5B */ + {0x6C, 0x7B}, {0x6C, 0x8E}, {0x70, 0x74}, {0x70, 0x7A}, /* 0x5C-0x5F */ + {0x72, 0x63}, {0x72, 0xBF}, {0x72, 0xBD}, {0x72, 0xC3}, /* 0x60-0x63 */ + {0x72, 0xC6}, {0x72, 0xC1}, {0x72, 0xBA}, {0x72, 0xC5}, /* 0x64-0x67 */ + {0x73, 0x95}, {0x73, 0x97}, {0x73, 0x93}, {0x73, 0x94}, /* 0x68-0x6B */ + {0x73, 0x92}, {0x75, 0x3A}, {0x75, 0x39}, {0x75, 0x94}, /* 0x6C-0x6F */ + {0x75, 0x95}, {0x76, 0x81}, {0x79, 0x3D}, {0x80, 0x34}, /* 0x70-0x73 */ + {0x80, 0x95}, {0x80, 0x99}, {0x80, 0x90}, {0x80, 0x92}, /* 0x74-0x77 */ + {0x80, 0x9C}, {0x82, 0x90}, {0x82, 0x8F}, {0x82, 0x85}, /* 0x78-0x7B */ + {0x82, 0x8E}, {0x82, 0x91}, {0x82, 0x93}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x82, 0x8A}, {0x82, 0x83}, {0x82, 0x84}, /* 0xA0-0xA3 */ + {0x8C, 0x78}, {0x8F, 0xC9}, {0x8F, 0xBF}, {0x90, 0x9F}, /* 0xA4-0xA7 */ + {0x90, 0xA1}, {0x90, 0xA5}, {0x90, 0x9E}, {0x90, 0xA7}, /* 0xA8-0xAB */ + {0x90, 0xA0}, {0x96, 0x30}, {0x96, 0x28}, {0x96, 0x2F}, /* 0xAC-0xAF */ + {0x96, 0x2D}, {0x4E, 0x33}, {0x4F, 0x98}, {0x4F, 0x7C}, /* 0xB0-0xB3 */ + {0x4F, 0x85}, {0x4F, 0x7D}, {0x4F, 0x80}, {0x4F, 0x87}, /* 0xB4-0xB7 */ + {0x4F, 0x76}, {0x4F, 0x74}, {0x4F, 0x89}, {0x4F, 0x84}, /* 0xB8-0xBB */ + {0x4F, 0x77}, {0x4F, 0x4C}, {0x4F, 0x97}, {0x4F, 0x6A}, /* 0xBC-0xBF */ + {0x4F, 0x9A}, {0x4F, 0x79}, {0x4F, 0x81}, {0x4F, 0x78}, /* 0xC0-0xC3 */ + {0x4F, 0x90}, {0x4F, 0x9C}, {0x4F, 0x94}, {0x4F, 0x9E}, /* 0xC4-0xC7 */ + {0x4F, 0x92}, {0x4F, 0x82}, {0x4F, 0x95}, {0x4F, 0x6B}, /* 0xC8-0xCB */ + {0x4F, 0x6E}, {0x51, 0x9E}, {0x51, 0xBC}, {0x51, 0xBE}, /* 0xCC-0xCF */ + {0x52, 0x35}, {0x52, 0x32}, {0x52, 0x33}, {0x52, 0x46}, /* 0xD0-0xD3 */ + {0x52, 0x31}, {0x52, 0xBC}, {0x53, 0x0A}, {0x53, 0x0B}, /* 0xD4-0xD7 */ + {0x53, 0x3C}, {0x53, 0x92}, {0x53, 0x94}, {0x54, 0x87}, /* 0xD8-0xDB */ + {0x54, 0x7F}, {0x54, 0x81}, {0x54, 0x91}, {0x54, 0x82}, /* 0xDC-0xDF */ + {0x54, 0x88}, {0x54, 0x6B}, {0x54, 0x7A}, {0x54, 0x7E}, /* 0xE0-0xE3 */ + {0x54, 0x65}, {0x54, 0x6C}, {0x54, 0x74}, {0x54, 0x66}, /* 0xE4-0xE7 */ + {0x54, 0x8D}, {0x54, 0x6F}, {0x54, 0x61}, {0x54, 0x60}, /* 0xE8-0xEB */ + {0x54, 0x98}, {0x54, 0x63}, {0x54, 0x67}, {0x54, 0x64}, /* 0xEC-0xEF */ + {0x56, 0xF7}, {0x56, 0xF9}, {0x57, 0x6F}, {0x57, 0x72}, /* 0xF0-0xF3 */ + {0x57, 0x6D}, {0x57, 0x6B}, {0x57, 0x71}, {0x57, 0x70}, /* 0xF4-0xF7 */ + {0x57, 0x76}, {0x57, 0x80}, {0x57, 0x75}, {0x57, 0x7B}, /* 0xF8-0xFB */ + {0x57, 0x73}, {0x57, 0x74}, {0x57, 0x62}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x57, 0x68}, {0x57, 0x7D}, {0x59, 0x0C}, {0x59, 0x45}, /* 0x40-0x43 */ + {0x59, 0xB5}, {0x59, 0xBA}, {0x59, 0xCF}, {0x59, 0xCE}, /* 0x44-0x47 */ + {0x59, 0xB2}, {0x59, 0xCC}, {0x59, 0xC1}, {0x59, 0xB6}, /* 0x48-0x4B */ + {0x59, 0xBC}, {0x59, 0xC3}, {0x59, 0xD6}, {0x59, 0xB1}, /* 0x4C-0x4F */ + {0x59, 0xBD}, {0x59, 0xC0}, {0x59, 0xC8}, {0x59, 0xB4}, /* 0x50-0x53 */ + {0x59, 0xC7}, {0x5B, 0x62}, {0x5B, 0x65}, {0x5B, 0x93}, /* 0x54-0x57 */ + {0x5B, 0x95}, {0x5C, 0x44}, {0x5C, 0x47}, {0x5C, 0xAE}, /* 0x58-0x5B */ + {0x5C, 0xA4}, {0x5C, 0xA0}, {0x5C, 0xB5}, {0x5C, 0xAF}, /* 0x5C-0x5F */ + {0x5C, 0xA8}, {0x5C, 0xAC}, {0x5C, 0x9F}, {0x5C, 0xA3}, /* 0x60-0x63 */ + {0x5C, 0xAD}, {0x5C, 0xA2}, {0x5C, 0xAA}, {0x5C, 0xA7}, /* 0x64-0x67 */ + {0x5C, 0x9D}, {0x5C, 0xA5}, {0x5C, 0xB6}, {0x5C, 0xB0}, /* 0x68-0x6B */ + {0x5C, 0xA6}, {0x5E, 0x17}, {0x5E, 0x14}, {0x5E, 0x19}, /* 0x6C-0x6F */ + {0x5F, 0x28}, {0x5F, 0x22}, {0x5F, 0x23}, {0x5F, 0x24}, /* 0x70-0x73 */ + {0x5F, 0x54}, {0x5F, 0x82}, {0x5F, 0x7E}, {0x5F, 0x7D}, /* 0x74-0x77 */ + {0x5F, 0xDE}, {0x5F, 0xE5}, {0x60, 0x2D}, {0x60, 0x26}, /* 0x78-0x7B */ + {0x60, 0x19}, {0x60, 0x32}, {0x60, 0x0B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x60, 0x34}, {0x60, 0x0A}, {0x60, 0x17}, /* 0xA0-0xA3 */ + {0x60, 0x33}, {0x60, 0x1A}, {0x60, 0x1E}, {0x60, 0x2C}, /* 0xA4-0xA7 */ + {0x60, 0x22}, {0x60, 0x0D}, {0x60, 0x10}, {0x60, 0x2E}, /* 0xA8-0xAB */ + {0x60, 0x13}, {0x60, 0x11}, {0x60, 0x0C}, {0x60, 0x09}, /* 0xAC-0xAF */ + {0x60, 0x1C}, {0x62, 0x14}, {0x62, 0x3D}, {0x62, 0xAD}, /* 0xB0-0xB3 */ + {0x62, 0xB4}, {0x62, 0xD1}, {0x62, 0xBE}, {0x62, 0xAA}, /* 0xB4-0xB7 */ + {0x62, 0xB6}, {0x62, 0xCA}, {0x62, 0xAE}, {0x62, 0xB3}, /* 0xB8-0xBB */ + {0x62, 0xAF}, {0x62, 0xBB}, {0x62, 0xA9}, {0x62, 0xB0}, /* 0xBC-0xBF */ + {0x62, 0xB8}, {0x65, 0x3D}, {0x65, 0xA8}, {0x65, 0xBB}, /* 0xC0-0xC3 */ + {0x66, 0x09}, {0x65, 0xFC}, {0x66, 0x04}, {0x66, 0x12}, /* 0xC4-0xC7 */ + {0x66, 0x08}, {0x65, 0xFB}, {0x66, 0x03}, {0x66, 0x0B}, /* 0xC8-0xCB */ + {0x66, 0x0D}, {0x66, 0x05}, {0x65, 0xFD}, {0x66, 0x11}, /* 0xCC-0xCF */ + {0x66, 0x10}, {0x66, 0xF6}, {0x67, 0x0A}, {0x67, 0x85}, /* 0xD0-0xD3 */ + {0x67, 0x6C}, {0x67, 0x8E}, {0x67, 0x92}, {0x67, 0x76}, /* 0xD4-0xD7 */ + {0x67, 0x7B}, {0x67, 0x98}, {0x67, 0x86}, {0x67, 0x84}, /* 0xD8-0xDB */ + {0x67, 0x74}, {0x67, 0x8D}, {0x67, 0x8C}, {0x67, 0x7A}, /* 0xDC-0xDF */ + {0x67, 0x9F}, {0x67, 0x91}, {0x67, 0x99}, {0x67, 0x83}, /* 0xE0-0xE3 */ + {0x67, 0x7D}, {0x67, 0x81}, {0x67, 0x78}, {0x67, 0x79}, /* 0xE4-0xE7 */ + {0x67, 0x94}, {0x6B, 0x25}, {0x6B, 0x80}, {0x6B, 0x7E}, /* 0xE8-0xEB */ + {0x6B, 0xDE}, {0x6C, 0x1D}, {0x6C, 0x93}, {0x6C, 0xEC}, /* 0xEC-0xEF */ + {0x6C, 0xEB}, {0x6C, 0xEE}, {0x6C, 0xD9}, {0x6C, 0xB6}, /* 0xF0-0xF3 */ + {0x6C, 0xD4}, {0x6C, 0xAD}, {0x6C, 0xE7}, {0x6C, 0xB7}, /* 0xF4-0xF7 */ + {0x6C, 0xD0}, {0x6C, 0xC2}, {0x6C, 0xBA}, {0x6C, 0xC3}, /* 0xF8-0xFB */ + {0x6C, 0xC6}, {0x6C, 0xED}, {0x6C, 0xF2}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6C, 0xD2}, {0x6C, 0xDD}, {0x6C, 0xB4}, {0x6C, 0x8A}, /* 0x40-0x43 */ + {0x6C, 0x9D}, {0x6C, 0x80}, {0x6C, 0xDE}, {0x6C, 0xC0}, /* 0x44-0x47 */ + {0x6D, 0x30}, {0x6C, 0xCD}, {0x6C, 0xC7}, {0x6C, 0xB0}, /* 0x48-0x4B */ + {0x6C, 0xF9}, {0x6C, 0xCF}, {0x6C, 0xE9}, {0x6C, 0xD1}, /* 0x4C-0x4F */ + {0x70, 0x94}, {0x70, 0x98}, {0x70, 0x85}, {0x70, 0x93}, /* 0x50-0x53 */ + {0x70, 0x86}, {0x70, 0x84}, {0x70, 0x91}, {0x70, 0x96}, /* 0x54-0x57 */ + {0x70, 0x82}, {0x70, 0x9A}, {0x70, 0x83}, {0x72, 0x6A}, /* 0x58-0x5B */ + {0x72, 0xD6}, {0x72, 0xCB}, {0x72, 0xD8}, {0x72, 0xC9}, /* 0x5C-0x5F */ + {0x72, 0xDC}, {0x72, 0xD2}, {0x72, 0xD4}, {0x72, 0xDA}, /* 0x60-0x63 */ + {0x72, 0xCC}, {0x72, 0xD1}, {0x73, 0xA4}, {0x73, 0xA1}, /* 0x64-0x67 */ + {0x73, 0xAD}, {0x73, 0xA6}, {0x73, 0xA2}, {0x73, 0xA0}, /* 0x68-0x6B */ + {0x73, 0xAC}, {0x73, 0x9D}, {0x74, 0xDD}, {0x74, 0xE8}, /* 0x6C-0x6F */ + {0x75, 0x3F}, {0x75, 0x40}, {0x75, 0x3E}, {0x75, 0x8C}, /* 0x70-0x73 */ + {0x75, 0x98}, {0x76, 0xAF}, {0x76, 0xF3}, {0x76, 0xF1}, /* 0x74-0x77 */ + {0x76, 0xF0}, {0x76, 0xF5}, {0x77, 0xF8}, {0x77, 0xFC}, /* 0x78-0x7B */ + {0x77, 0xF9}, {0x77, 0xFB}, {0x77, 0xFA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x77, 0xF7}, {0x79, 0x42}, {0x79, 0x3F}, /* 0xA0-0xA3 */ + {0x79, 0xC5}, {0x7A, 0x78}, {0x7A, 0x7B}, {0x7A, 0xFB}, /* 0xA4-0xA7 */ + {0x7C, 0x75}, {0x7C, 0xFD}, {0x80, 0x35}, {0x80, 0x8F}, /* 0xA8-0xAB */ + {0x80, 0xAE}, {0x80, 0xA3}, {0x80, 0xB8}, {0x80, 0xB5}, /* 0xAC-0xAF */ + {0x80, 0xAD}, {0x82, 0x20}, {0x82, 0xA0}, {0x82, 0xC0}, /* 0xB0-0xB3 */ + {0x82, 0xAB}, {0x82, 0x9A}, {0x82, 0x98}, {0x82, 0x9B}, /* 0xB4-0xB7 */ + {0x82, 0xB5}, {0x82, 0xA7}, {0x82, 0xAE}, {0x82, 0xBC}, /* 0xB8-0xBB */ + {0x82, 0x9E}, {0x82, 0xBA}, {0x82, 0xB4}, {0x82, 0xA8}, /* 0xBC-0xBF */ + {0x82, 0xA1}, {0x82, 0xA9}, {0x82, 0xC2}, {0x82, 0xA4}, /* 0xC0-0xC3 */ + {0x82, 0xC3}, {0x82, 0xB6}, {0x82, 0xA2}, {0x86, 0x70}, /* 0xC4-0xC7 */ + {0x86, 0x6F}, {0x86, 0x6D}, {0x86, 0x6E}, {0x8C, 0x56}, /* 0xC8-0xCB */ + {0x8F, 0xD2}, {0x8F, 0xCB}, {0x8F, 0xD3}, {0x8F, 0xCD}, /* 0xCC-0xCF */ + {0x8F, 0xD6}, {0x8F, 0xD5}, {0x8F, 0xD7}, {0x90, 0xB2}, /* 0xD0-0xD3 */ + {0x90, 0xB4}, {0x90, 0xAF}, {0x90, 0xB3}, {0x90, 0xB0}, /* 0xD4-0xD7 */ + {0x96, 0x39}, {0x96, 0x3D}, {0x96, 0x3C}, {0x96, 0x3A}, /* 0xD8-0xDB */ + {0x96, 0x43}, {0x4F, 0xCD}, {0x4F, 0xC5}, {0x4F, 0xD3}, /* 0xDC-0xDF */ + {0x4F, 0xB2}, {0x4F, 0xC9}, {0x4F, 0xCB}, {0x4F, 0xC1}, /* 0xE0-0xE3 */ + {0x4F, 0xD4}, {0x4F, 0xDC}, {0x4F, 0xD9}, {0x4F, 0xBB}, /* 0xE4-0xE7 */ + {0x4F, 0xB3}, {0x4F, 0xDB}, {0x4F, 0xC7}, {0x4F, 0xD6}, /* 0xE8-0xEB */ + {0x4F, 0xBA}, {0x4F, 0xC0}, {0x4F, 0xB9}, {0x4F, 0xEC}, /* 0xEC-0xEF */ + {0x52, 0x44}, {0x52, 0x49}, {0x52, 0xC0}, {0x52, 0xC2}, /* 0xF0-0xF3 */ + {0x53, 0x3D}, {0x53, 0x7C}, {0x53, 0x97}, {0x53, 0x96}, /* 0xF4-0xF7 */ + {0x53, 0x99}, {0x53, 0x98}, {0x54, 0xBA}, {0x54, 0xA1}, /* 0xF8-0xFB */ + {0x54, 0xAD}, {0x54, 0xA5}, {0x54, 0xCF}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x54, 0xC3}, {0x83, 0x0D}, {0x54, 0xB7}, {0x54, 0xAE}, /* 0x40-0x43 */ + {0x54, 0xD6}, {0x54, 0xB6}, {0x54, 0xC5}, {0x54, 0xC6}, /* 0x44-0x47 */ + {0x54, 0xA0}, {0x54, 0x70}, {0x54, 0xBC}, {0x54, 0xA2}, /* 0x48-0x4B */ + {0x54, 0xBE}, {0x54, 0x72}, {0x54, 0xDE}, {0x54, 0xB0}, /* 0x4C-0x4F */ + {0x57, 0xB5}, {0x57, 0x9E}, {0x57, 0x9F}, {0x57, 0xA4}, /* 0x50-0x53 */ + {0x57, 0x8C}, {0x57, 0x97}, {0x57, 0x9D}, {0x57, 0x9B}, /* 0x54-0x57 */ + {0x57, 0x94}, {0x57, 0x98}, {0x57, 0x8F}, {0x57, 0x99}, /* 0x58-0x5B */ + {0x57, 0xA5}, {0x57, 0x9A}, {0x57, 0x95}, {0x58, 0xF4}, /* 0x5C-0x5F */ + {0x59, 0x0D}, {0x59, 0x53}, {0x59, 0xE1}, {0x59, 0xDE}, /* 0x60-0x63 */ + {0x59, 0xEE}, {0x5A, 0x00}, {0x59, 0xF1}, {0x59, 0xDD}, /* 0x64-0x67 */ + {0x59, 0xFA}, {0x59, 0xFD}, {0x59, 0xFC}, {0x59, 0xF6}, /* 0x68-0x6B */ + {0x59, 0xE4}, {0x59, 0xF2}, {0x59, 0xF7}, {0x59, 0xDB}, /* 0x6C-0x6F */ + {0x59, 0xE9}, {0x59, 0xF3}, {0x59, 0xF5}, {0x59, 0xE0}, /* 0x70-0x73 */ + {0x59, 0xFE}, {0x59, 0xF4}, {0x59, 0xED}, {0x5B, 0xA8}, /* 0x74-0x77 */ + {0x5C, 0x4C}, {0x5C, 0xD0}, {0x5C, 0xD8}, {0x5C, 0xCC}, /* 0x78-0x7B */ + {0x5C, 0xD7}, {0x5C, 0xCB}, {0x5C, 0xDB}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x5C, 0xDE}, {0x5C, 0xDA}, {0x5C, 0xC9}, /* 0xA0-0xA3 */ + {0x5C, 0xC7}, {0x5C, 0xCA}, {0x5C, 0xD6}, {0x5C, 0xD3}, /* 0xA4-0xA7 */ + {0x5C, 0xD4}, {0x5C, 0xCF}, {0x5C, 0xC8}, {0x5C, 0xC6}, /* 0xA8-0xAB */ + {0x5C, 0xCE}, {0x5C, 0xDF}, {0x5C, 0xF8}, {0x5D, 0xF9}, /* 0xAC-0xAF */ + {0x5E, 0x21}, {0x5E, 0x22}, {0x5E, 0x23}, {0x5E, 0x20}, /* 0xB0-0xB3 */ + {0x5E, 0x24}, {0x5E, 0xB0}, {0x5E, 0xA4}, {0x5E, 0xA2}, /* 0xB4-0xB7 */ + {0x5E, 0x9B}, {0x5E, 0xA3}, {0x5E, 0xA5}, {0x5F, 0x07}, /* 0xB8-0xBB */ + {0x5F, 0x2E}, {0x5F, 0x56}, {0x5F, 0x86}, {0x60, 0x37}, /* 0xBC-0xBF */ + {0x60, 0x39}, {0x60, 0x54}, {0x60, 0x72}, {0x60, 0x5E}, /* 0xC0-0xC3 */ + {0x60, 0x45}, {0x60, 0x53}, {0x60, 0x47}, {0x60, 0x49}, /* 0xC4-0xC7 */ + {0x60, 0x5B}, {0x60, 0x4C}, {0x60, 0x40}, {0x60, 0x42}, /* 0xC8-0xCB */ + {0x60, 0x5F}, {0x60, 0x24}, {0x60, 0x44}, {0x60, 0x58}, /* 0xCC-0xCF */ + {0x60, 0x66}, {0x60, 0x6E}, {0x62, 0x42}, {0x62, 0x43}, /* 0xD0-0xD3 */ + {0x62, 0xCF}, {0x63, 0x0D}, {0x63, 0x0B}, {0x62, 0xF5}, /* 0xD4-0xD7 */ + {0x63, 0x0E}, {0x63, 0x03}, {0x62, 0xEB}, {0x62, 0xF9}, /* 0xD8-0xDB */ + {0x63, 0x0F}, {0x63, 0x0C}, {0x62, 0xF8}, {0x62, 0xF6}, /* 0xDC-0xDF */ + {0x63, 0x00}, {0x63, 0x13}, {0x63, 0x14}, {0x62, 0xFA}, /* 0xE0-0xE3 */ + {0x63, 0x15}, {0x62, 0xFB}, {0x62, 0xF0}, {0x65, 0x41}, /* 0xE4-0xE7 */ + {0x65, 0x43}, {0x65, 0xAA}, {0x65, 0xBF}, {0x66, 0x36}, /* 0xE8-0xEB */ + {0x66, 0x21}, {0x66, 0x32}, {0x66, 0x35}, {0x66, 0x1C}, /* 0xEC-0xEF */ + {0x66, 0x26}, {0x66, 0x22}, {0x66, 0x33}, {0x66, 0x2B}, /* 0xF0-0xF3 */ + {0x66, 0x3A}, {0x66, 0x1D}, {0x66, 0x34}, {0x66, 0x39}, /* 0xF4-0xF7 */ + {0x66, 0x2E}, {0x67, 0x0F}, {0x67, 0x10}, {0x67, 0xC1}, /* 0xF8-0xFB */ + {0x67, 0xF2}, {0x67, 0xC8}, {0x67, 0xBA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_CF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x67, 0xDC}, {0x67, 0xBB}, {0x67, 0xF8}, {0x67, 0xD8}, /* 0x40-0x43 */ + {0x67, 0xC0}, {0x67, 0xB7}, {0x67, 0xC5}, {0x67, 0xEB}, /* 0x44-0x47 */ + {0x67, 0xE4}, {0x67, 0xDF}, {0x67, 0xB5}, {0x67, 0xCD}, /* 0x48-0x4B */ + {0x67, 0xB3}, {0x67, 0xF7}, {0x67, 0xF6}, {0x67, 0xEE}, /* 0x4C-0x4F */ + {0x67, 0xE3}, {0x67, 0xC2}, {0x67, 0xB9}, {0x67, 0xCE}, /* 0x50-0x53 */ + {0x67, 0xE7}, {0x67, 0xF0}, {0x67, 0xB2}, {0x67, 0xFC}, /* 0x54-0x57 */ + {0x67, 0xC6}, {0x67, 0xED}, {0x67, 0xCC}, {0x67, 0xAE}, /* 0x58-0x5B */ + {0x67, 0xE6}, {0x67, 0xDB}, {0x67, 0xFA}, {0x67, 0xC9}, /* 0x5C-0x5F */ + {0x67, 0xCA}, {0x67, 0xC3}, {0x67, 0xEA}, {0x67, 0xCB}, /* 0x60-0x63 */ + {0x6B, 0x28}, {0x6B, 0x82}, {0x6B, 0x84}, {0x6B, 0xB6}, /* 0x64-0x67 */ + {0x6B, 0xD6}, {0x6B, 0xD8}, {0x6B, 0xE0}, {0x6C, 0x20}, /* 0x68-0x6B */ + {0x6C, 0x21}, {0x6D, 0x28}, {0x6D, 0x34}, {0x6D, 0x2D}, /* 0x6C-0x6F */ + {0x6D, 0x1F}, {0x6D, 0x3C}, {0x6D, 0x3F}, {0x6D, 0x12}, /* 0x70-0x73 */ + {0x6D, 0x0A}, {0x6C, 0xDA}, {0x6D, 0x33}, {0x6D, 0x04}, /* 0x74-0x77 */ + {0x6D, 0x19}, {0x6D, 0x3A}, {0x6D, 0x1A}, {0x6D, 0x11}, /* 0x78-0x7B */ + {0x6D, 0x00}, {0x6D, 0x1D}, {0x6D, 0x42}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x6D, 0x01}, {0x6D, 0x18}, {0x6D, 0x37}, /* 0xA0-0xA3 */ + {0x6D, 0x03}, {0x6D, 0x0F}, {0x6D, 0x40}, {0x6D, 0x07}, /* 0xA4-0xA7 */ + {0x6D, 0x20}, {0x6D, 0x2C}, {0x6D, 0x08}, {0x6D, 0x22}, /* 0xA8-0xAB */ + {0x6D, 0x09}, {0x6D, 0x10}, {0x70, 0xB7}, {0x70, 0x9F}, /* 0xAC-0xAF */ + {0x70, 0xBE}, {0x70, 0xB1}, {0x70, 0xB0}, {0x70, 0xA1}, /* 0xB0-0xB3 */ + {0x70, 0xB4}, {0x70, 0xB5}, {0x70, 0xA9}, {0x72, 0x41}, /* 0xB4-0xB7 */ + {0x72, 0x49}, {0x72, 0x4A}, {0x72, 0x6C}, {0x72, 0x70}, /* 0xB8-0xBB */ + {0x72, 0x73}, {0x72, 0x6E}, {0x72, 0xCA}, {0x72, 0xE4}, /* 0xBC-0xBF */ + {0x72, 0xE8}, {0x72, 0xEB}, {0x72, 0xDF}, {0x72, 0xEA}, /* 0xC0-0xC3 */ + {0x72, 0xE6}, {0x72, 0xE3}, {0x73, 0x85}, {0x73, 0xCC}, /* 0xC4-0xC7 */ + {0x73, 0xC2}, {0x73, 0xC8}, {0x73, 0xC5}, {0x73, 0xB9}, /* 0xC8-0xCB */ + {0x73, 0xB6}, {0x73, 0xB5}, {0x73, 0xB4}, {0x73, 0xEB}, /* 0xCC-0xCF */ + {0x73, 0xBF}, {0x73, 0xC7}, {0x73, 0xBE}, {0x73, 0xC3}, /* 0xD0-0xD3 */ + {0x73, 0xC6}, {0x73, 0xB8}, {0x73, 0xCB}, {0x74, 0xEC}, /* 0xD4-0xD7 */ + {0x74, 0xEE}, {0x75, 0x2E}, {0x75, 0x47}, {0x75, 0x48}, /* 0xD8-0xDB */ + {0x75, 0xA7}, {0x75, 0xAA}, {0x76, 0x79}, {0x76, 0xC4}, /* 0xDC-0xDF */ + {0x77, 0x08}, {0x77, 0x03}, {0x77, 0x04}, {0x77, 0x05}, /* 0xE0-0xE3 */ + {0x77, 0x0A}, {0x76, 0xF7}, {0x76, 0xFB}, {0x76, 0xFA}, /* 0xE4-0xE7 */ + {0x77, 0xE7}, {0x77, 0xE8}, {0x78, 0x06}, {0x78, 0x11}, /* 0xE8-0xEB */ + {0x78, 0x12}, {0x78, 0x05}, {0x78, 0x10}, {0x78, 0x0F}, /* 0xEC-0xEF */ + {0x78, 0x0E}, {0x78, 0x09}, {0x78, 0x03}, {0x78, 0x13}, /* 0xF0-0xF3 */ + {0x79, 0x4A}, {0x79, 0x4C}, {0x79, 0x4B}, {0x79, 0x45}, /* 0xF4-0xF7 */ + {0x79, 0x44}, {0x79, 0xD5}, {0x79, 0xCD}, {0x79, 0xCF}, /* 0xF8-0xFB */ + {0x79, 0xD6}, {0x79, 0xCE}, {0x7A, 0x80}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7A, 0x7E}, {0x7A, 0xD1}, {0x7B, 0x00}, {0x7B, 0x01}, /* 0x40-0x43 */ + {0x7C, 0x7A}, {0x7C, 0x78}, {0x7C, 0x79}, {0x7C, 0x7F}, /* 0x44-0x47 */ + {0x7C, 0x80}, {0x7C, 0x81}, {0x7D, 0x03}, {0x7D, 0x08}, /* 0x48-0x4B */ + {0x7D, 0x01}, {0x7F, 0x58}, {0x7F, 0x91}, {0x7F, 0x8D}, /* 0x4C-0x4F */ + {0x7F, 0xBE}, {0x80, 0x07}, {0x80, 0x0E}, {0x80, 0x0F}, /* 0x50-0x53 */ + {0x80, 0x14}, {0x80, 0x37}, {0x80, 0xD8}, {0x80, 0xC7}, /* 0x54-0x57 */ + {0x80, 0xE0}, {0x80, 0xD1}, {0x80, 0xC8}, {0x80, 0xC2}, /* 0x58-0x5B */ + {0x80, 0xD0}, {0x80, 0xC5}, {0x80, 0xE3}, {0x80, 0xD9}, /* 0x5C-0x5F */ + {0x80, 0xDC}, {0x80, 0xCA}, {0x80, 0xD5}, {0x80, 0xC9}, /* 0x60-0x63 */ + {0x80, 0xCF}, {0x80, 0xD7}, {0x80, 0xE6}, {0x80, 0xCD}, /* 0x64-0x67 */ + {0x81, 0xFF}, {0x82, 0x21}, {0x82, 0x94}, {0x82, 0xD9}, /* 0x68-0x6B */ + {0x82, 0xFE}, {0x82, 0xF9}, {0x83, 0x07}, {0x82, 0xE8}, /* 0x6C-0x6F */ + {0x83, 0x00}, {0x82, 0xD5}, {0x83, 0x3A}, {0x82, 0xEB}, /* 0x70-0x73 */ + {0x82, 0xD6}, {0x82, 0xF4}, {0x82, 0xEC}, {0x82, 0xE1}, /* 0x74-0x77 */ + {0x82, 0xF2}, {0x82, 0xF5}, {0x83, 0x0C}, {0x82, 0xFB}, /* 0x78-0x7B */ + {0x82, 0xF6}, {0x82, 0xF0}, {0x82, 0xEA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x82, 0xE4}, {0x82, 0xE0}, {0x82, 0xFA}, /* 0xA0-0xA3 */ + {0x82, 0xF3}, {0x82, 0xED}, {0x86, 0x77}, {0x86, 0x74}, /* 0xA4-0xA7 */ + {0x86, 0x7C}, {0x86, 0x73}, {0x88, 0x41}, {0x88, 0x4E}, /* 0xA8-0xAB */ + {0x88, 0x67}, {0x88, 0x6A}, {0x88, 0x69}, {0x89, 0xD3}, /* 0xAC-0xAF */ + {0x8A, 0x04}, {0x8A, 0x07}, {0x8D, 0x72}, {0x8F, 0xE3}, /* 0xB0-0xB3 */ + {0x8F, 0xE1}, {0x8F, 0xEE}, {0x8F, 0xE0}, {0x90, 0xF1}, /* 0xB4-0xB7 */ + {0x90, 0xBD}, {0x90, 0xBF}, {0x90, 0xD5}, {0x90, 0xC5}, /* 0xB8-0xBB */ + {0x90, 0xBE}, {0x90, 0xC7}, {0x90, 0xCB}, {0x90, 0xC8}, /* 0xBC-0xBF */ + {0x91, 0xD4}, {0x91, 0xD3}, {0x96, 0x54}, {0x96, 0x4F}, /* 0xC0-0xC3 */ + {0x96, 0x51}, {0x96, 0x53}, {0x96, 0x4A}, {0x96, 0x4E}, /* 0xC4-0xC7 */ + {0x50, 0x1E}, {0x50, 0x05}, {0x50, 0x07}, {0x50, 0x13}, /* 0xC8-0xCB */ + {0x50, 0x22}, {0x50, 0x30}, {0x50, 0x1B}, {0x4F, 0xF5}, /* 0xCC-0xCF */ + {0x4F, 0xF4}, {0x50, 0x33}, {0x50, 0x37}, {0x50, 0x2C}, /* 0xD0-0xD3 */ + {0x4F, 0xF6}, {0x4F, 0xF7}, {0x50, 0x17}, {0x50, 0x1C}, /* 0xD4-0xD7 */ + {0x50, 0x20}, {0x50, 0x27}, {0x50, 0x35}, {0x50, 0x2F}, /* 0xD8-0xDB */ + {0x50, 0x31}, {0x50, 0x0E}, {0x51, 0x5A}, {0x51, 0x94}, /* 0xDC-0xDF */ + {0x51, 0x93}, {0x51, 0xCA}, {0x51, 0xC4}, {0x51, 0xC5}, /* 0xE0-0xE3 */ + {0x51, 0xC8}, {0x51, 0xCE}, {0x52, 0x61}, {0x52, 0x5A}, /* 0xE4-0xE7 */ + {0x52, 0x52}, {0x52, 0x5E}, {0x52, 0x5F}, {0x52, 0x55}, /* 0xE8-0xEB */ + {0x52, 0x62}, {0x52, 0xCD}, {0x53, 0x0E}, {0x53, 0x9E}, /* 0xEC-0xEF */ + {0x55, 0x26}, {0x54, 0xE2}, {0x55, 0x17}, {0x55, 0x12}, /* 0xF0-0xF3 */ + {0x54, 0xE7}, {0x54, 0xF3}, {0x54, 0xE4}, {0x55, 0x1A}, /* 0xF4-0xF7 */ + {0x54, 0xFF}, {0x55, 0x04}, {0x55, 0x08}, {0x54, 0xEB}, /* 0xF8-0xFB */ + {0x55, 0x11}, {0x55, 0x05}, {0x54, 0xF1}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x55, 0x0A}, {0x54, 0xFB}, {0x54, 0xF7}, {0x54, 0xF8}, /* 0x40-0x43 */ + {0x54, 0xE0}, {0x55, 0x0E}, {0x55, 0x03}, {0x55, 0x0B}, /* 0x44-0x47 */ + {0x57, 0x01}, {0x57, 0x02}, {0x57, 0xCC}, {0x58, 0x32}, /* 0x48-0x4B */ + {0x57, 0xD5}, {0x57, 0xD2}, {0x57, 0xBA}, {0x57, 0xC6}, /* 0x4C-0x4F */ + {0x57, 0xBD}, {0x57, 0xBC}, {0x57, 0xB8}, {0x57, 0xB6}, /* 0x50-0x53 */ + {0x57, 0xBF}, {0x57, 0xC7}, {0x57, 0xD0}, {0x57, 0xB9}, /* 0x54-0x57 */ + {0x57, 0xC1}, {0x59, 0x0E}, {0x59, 0x4A}, {0x5A, 0x19}, /* 0x58-0x5B */ + {0x5A, 0x16}, {0x5A, 0x2D}, {0x5A, 0x2E}, {0x5A, 0x15}, /* 0x5C-0x5F */ + {0x5A, 0x0F}, {0x5A, 0x17}, {0x5A, 0x0A}, {0x5A, 0x1E}, /* 0x60-0x63 */ + {0x5A, 0x33}, {0x5B, 0x6C}, {0x5B, 0xA7}, {0x5B, 0xAD}, /* 0x64-0x67 */ + {0x5B, 0xAC}, {0x5C, 0x03}, {0x5C, 0x56}, {0x5C, 0x54}, /* 0x68-0x6B */ + {0x5C, 0xEC}, {0x5C, 0xFF}, {0x5C, 0xEE}, {0x5C, 0xF1}, /* 0x6C-0x6F */ + {0x5C, 0xF7}, {0x5D, 0x00}, {0x5C, 0xF9}, {0x5E, 0x29}, /* 0x70-0x73 */ + {0x5E, 0x28}, {0x5E, 0xA8}, {0x5E, 0xAE}, {0x5E, 0xAA}, /* 0x74-0x77 */ + {0x5E, 0xAC}, {0x5F, 0x33}, {0x5F, 0x30}, {0x5F, 0x67}, /* 0x78-0x7B */ + {0x60, 0x5D}, {0x60, 0x5A}, {0x60, 0x67}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x60, 0x41}, {0x60, 0xA2}, {0x60, 0x88}, /* 0xA0-0xA3 */ + {0x60, 0x80}, {0x60, 0x92}, {0x60, 0x81}, {0x60, 0x9D}, /* 0xA4-0xA7 */ + {0x60, 0x83}, {0x60, 0x95}, {0x60, 0x9B}, {0x60, 0x97}, /* 0xA8-0xAB */ + {0x60, 0x87}, {0x60, 0x9C}, {0x60, 0x8E}, {0x62, 0x19}, /* 0xAC-0xAF */ + {0x62, 0x46}, {0x62, 0xF2}, {0x63, 0x10}, {0x63, 0x56}, /* 0xB0-0xB3 */ + {0x63, 0x2C}, {0x63, 0x44}, {0x63, 0x45}, {0x63, 0x36}, /* 0xB4-0xB7 */ + {0x63, 0x43}, {0x63, 0xE4}, {0x63, 0x39}, {0x63, 0x4B}, /* 0xB8-0xBB */ + {0x63, 0x4A}, {0x63, 0x3C}, {0x63, 0x29}, {0x63, 0x41}, /* 0xBC-0xBF */ + {0x63, 0x34}, {0x63, 0x58}, {0x63, 0x54}, {0x63, 0x59}, /* 0xC0-0xC3 */ + {0x63, 0x2D}, {0x63, 0x47}, {0x63, 0x33}, {0x63, 0x5A}, /* 0xC4-0xC7 */ + {0x63, 0x51}, {0x63, 0x38}, {0x63, 0x57}, {0x63, 0x40}, /* 0xC8-0xCB */ + {0x63, 0x48}, {0x65, 0x4A}, {0x65, 0x46}, {0x65, 0xC6}, /* 0xCC-0xCF */ + {0x65, 0xC3}, {0x65, 0xC4}, {0x65, 0xC2}, {0x66, 0x4A}, /* 0xD0-0xD3 */ + {0x66, 0x5F}, {0x66, 0x47}, {0x66, 0x51}, {0x67, 0x12}, /* 0xD4-0xD7 */ + {0x67, 0x13}, {0x68, 0x1F}, {0x68, 0x1A}, {0x68, 0x49}, /* 0xD8-0xDB */ + {0x68, 0x32}, {0x68, 0x33}, {0x68, 0x3B}, {0x68, 0x4B}, /* 0xDC-0xDF */ + {0x68, 0x4F}, {0x68, 0x16}, {0x68, 0x31}, {0x68, 0x1C}, /* 0xE0-0xE3 */ + {0x68, 0x35}, {0x68, 0x2B}, {0x68, 0x2D}, {0x68, 0x2F}, /* 0xE4-0xE7 */ + {0x68, 0x4E}, {0x68, 0x44}, {0x68, 0x34}, {0x68, 0x1D}, /* 0xE8-0xEB */ + {0x68, 0x12}, {0x68, 0x14}, {0x68, 0x26}, {0x68, 0x28}, /* 0xEC-0xEF */ + {0x68, 0x2E}, {0x68, 0x4D}, {0x68, 0x3A}, {0x68, 0x25}, /* 0xF0-0xF3 */ + {0x68, 0x20}, {0x6B, 0x2C}, {0x6B, 0x2F}, {0x6B, 0x2D}, /* 0xF4-0xF7 */ + {0x6B, 0x31}, {0x6B, 0x34}, {0x6B, 0x6D}, {0x80, 0x82}, /* 0xF8-0xFB */ + {0x6B, 0x88}, {0x6B, 0xE6}, {0x6B, 0xE4}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6B, 0xE8}, {0x6B, 0xE3}, {0x6B, 0xE2}, {0x6B, 0xE7}, /* 0x40-0x43 */ + {0x6C, 0x25}, {0x6D, 0x7A}, {0x6D, 0x63}, {0x6D, 0x64}, /* 0x44-0x47 */ + {0x6D, 0x76}, {0x6D, 0x0D}, {0x6D, 0x61}, {0x6D, 0x92}, /* 0x48-0x4B */ + {0x6D, 0x58}, {0x6D, 0x62}, {0x6D, 0x6D}, {0x6D, 0x6F}, /* 0x4C-0x4F */ + {0x6D, 0x91}, {0x6D, 0x8D}, {0x6D, 0xEF}, {0x6D, 0x7F}, /* 0x50-0x53 */ + {0x6D, 0x86}, {0x6D, 0x5E}, {0x6D, 0x67}, {0x6D, 0x60}, /* 0x54-0x57 */ + {0x6D, 0x97}, {0x6D, 0x70}, {0x6D, 0x7C}, {0x6D, 0x5F}, /* 0x58-0x5B */ + {0x6D, 0x82}, {0x6D, 0x98}, {0x6D, 0x2F}, {0x6D, 0x68}, /* 0x5C-0x5F */ + {0x6D, 0x8B}, {0x6D, 0x7E}, {0x6D, 0x80}, {0x6D, 0x84}, /* 0x60-0x63 */ + {0x6D, 0x16}, {0x6D, 0x83}, {0x6D, 0x7B}, {0x6D, 0x7D}, /* 0x64-0x67 */ + {0x6D, 0x75}, {0x6D, 0x90}, {0x70, 0xDC}, {0x70, 0xD3}, /* 0x68-0x6B */ + {0x70, 0xD1}, {0x70, 0xDD}, {0x70, 0xCB}, {0x7F, 0x39}, /* 0x6C-0x6F */ + {0x70, 0xE2}, {0x70, 0xD7}, {0x70, 0xD2}, {0x70, 0xDE}, /* 0x70-0x73 */ + {0x70, 0xE0}, {0x70, 0xD4}, {0x70, 0xCD}, {0x70, 0xC5}, /* 0x74-0x77 */ + {0x70, 0xC6}, {0x70, 0xC7}, {0x70, 0xDA}, {0x70, 0xCE}, /* 0x78-0x7B */ + {0x70, 0xE1}, {0x72, 0x42}, {0x72, 0x78}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x72, 0x77}, {0x72, 0x76}, {0x73, 0x00}, /* 0xA0-0xA3 */ + {0x72, 0xFA}, {0x72, 0xF4}, {0x72, 0xFE}, {0x72, 0xF6}, /* 0xA4-0xA7 */ + {0x72, 0xF3}, {0x72, 0xFB}, {0x73, 0x01}, {0x73, 0xD3}, /* 0xA8-0xAB */ + {0x73, 0xD9}, {0x73, 0xE5}, {0x73, 0xD6}, {0x73, 0xBC}, /* 0xAC-0xAF */ + {0x73, 0xE7}, {0x73, 0xE3}, {0x73, 0xE9}, {0x73, 0xDC}, /* 0xB0-0xB3 */ + {0x73, 0xD2}, {0x73, 0xDB}, {0x73, 0xD4}, {0x73, 0xDD}, /* 0xB4-0xB7 */ + {0x73, 0xDA}, {0x73, 0xD7}, {0x73, 0xD8}, {0x73, 0xE8}, /* 0xB8-0xBB */ + {0x74, 0xDE}, {0x74, 0xDF}, {0x74, 0xF4}, {0x74, 0xF5}, /* 0xBC-0xBF */ + {0x75, 0x21}, {0x75, 0x5B}, {0x75, 0x5F}, {0x75, 0xB0}, /* 0xC0-0xC3 */ + {0x75, 0xC1}, {0x75, 0xBB}, {0x75, 0xC4}, {0x75, 0xC0}, /* 0xC4-0xC7 */ + {0x75, 0xBF}, {0x75, 0xB6}, {0x75, 0xBA}, {0x76, 0x8A}, /* 0xC8-0xCB */ + {0x76, 0xC9}, {0x77, 0x1D}, {0x77, 0x1B}, {0x77, 0x10}, /* 0xCC-0xCF */ + {0x77, 0x13}, {0x77, 0x12}, {0x77, 0x23}, {0x77, 0x11}, /* 0xD0-0xD3 */ + {0x77, 0x15}, {0x77, 0x19}, {0x77, 0x1A}, {0x77, 0x22}, /* 0xD4-0xD7 */ + {0x77, 0x27}, {0x78, 0x23}, {0x78, 0x2C}, {0x78, 0x22}, /* 0xD8-0xDB */ + {0x78, 0x35}, {0x78, 0x2F}, {0x78, 0x28}, {0x78, 0x2E}, /* 0xDC-0xDF */ + {0x78, 0x2B}, {0x78, 0x21}, {0x78, 0x29}, {0x78, 0x33}, /* 0xE0-0xE3 */ + {0x78, 0x2A}, {0x78, 0x31}, {0x79, 0x54}, {0x79, 0x5B}, /* 0xE4-0xE7 */ + {0x79, 0x4F}, {0x79, 0x5C}, {0x79, 0x53}, {0x79, 0x52}, /* 0xE8-0xEB */ + {0x79, 0x51}, {0x79, 0xEB}, {0x79, 0xEC}, {0x79, 0xE0}, /* 0xEC-0xEF */ + {0x79, 0xEE}, {0x79, 0xED}, {0x79, 0xEA}, {0x79, 0xDC}, /* 0xF0-0xF3 */ + {0x79, 0xDE}, {0x79, 0xDD}, {0x7A, 0x86}, {0x7A, 0x89}, /* 0xF4-0xF7 */ + {0x7A, 0x85}, {0x7A, 0x8B}, {0x7A, 0x8C}, {0x7A, 0x8A}, /* 0xF8-0xFB */ + {0x7A, 0x87}, {0x7A, 0xD8}, {0x7B, 0x10}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7B, 0x04}, {0x7B, 0x13}, {0x7B, 0x05}, {0x7B, 0x0F}, /* 0x40-0x43 */ + {0x7B, 0x08}, {0x7B, 0x0A}, {0x7B, 0x0E}, {0x7B, 0x09}, /* 0x44-0x47 */ + {0x7B, 0x12}, {0x7C, 0x84}, {0x7C, 0x91}, {0x7C, 0x8A}, /* 0x48-0x4B */ + {0x7C, 0x8C}, {0x7C, 0x88}, {0x7C, 0x8D}, {0x7C, 0x85}, /* 0x4C-0x4F */ + {0x7D, 0x1E}, {0x7D, 0x1D}, {0x7D, 0x11}, {0x7D, 0x0E}, /* 0x50-0x53 */ + {0x7D, 0x18}, {0x7D, 0x16}, {0x7D, 0x13}, {0x7D, 0x1F}, /* 0x54-0x57 */ + {0x7D, 0x12}, {0x7D, 0x0F}, {0x7D, 0x0C}, {0x7F, 0x5C}, /* 0x58-0x5B */ + {0x7F, 0x61}, {0x7F, 0x5E}, {0x7F, 0x60}, {0x7F, 0x5D}, /* 0x5C-0x5F */ + {0x7F, 0x5B}, {0x7F, 0x96}, {0x7F, 0x92}, {0x7F, 0xC3}, /* 0x60-0x63 */ + {0x7F, 0xC2}, {0x7F, 0xC0}, {0x80, 0x16}, {0x80, 0x3E}, /* 0x64-0x67 */ + {0x80, 0x39}, {0x80, 0xFA}, {0x80, 0xF2}, {0x80, 0xF9}, /* 0x68-0x6B */ + {0x80, 0xF5}, {0x81, 0x01}, {0x80, 0xFB}, {0x81, 0x00}, /* 0x6C-0x6F */ + {0x82, 0x01}, {0x82, 0x2F}, {0x82, 0x25}, {0x83, 0x33}, /* 0x70-0x73 */ + {0x83, 0x2D}, {0x83, 0x44}, {0x83, 0x19}, {0x83, 0x51}, /* 0x74-0x77 */ + {0x83, 0x25}, {0x83, 0x56}, {0x83, 0x3F}, {0x83, 0x41}, /* 0x78-0x7B */ + {0x83, 0x26}, {0x83, 0x1C}, {0x83, 0x22}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x83, 0x42}, {0x83, 0x4E}, {0x83, 0x1B}, /* 0xA0-0xA3 */ + {0x83, 0x2A}, {0x83, 0x08}, {0x83, 0x3C}, {0x83, 0x4D}, /* 0xA4-0xA7 */ + {0x83, 0x16}, {0x83, 0x24}, {0x83, 0x20}, {0x83, 0x37}, /* 0xA8-0xAB */ + {0x83, 0x2F}, {0x83, 0x29}, {0x83, 0x47}, {0x83, 0x45}, /* 0xAC-0xAF */ + {0x83, 0x4C}, {0x83, 0x53}, {0x83, 0x1E}, {0x83, 0x2C}, /* 0xB0-0xB3 */ + {0x83, 0x4B}, {0x83, 0x27}, {0x83, 0x48}, {0x86, 0x53}, /* 0xB4-0xB7 */ + {0x86, 0x52}, {0x86, 0xA2}, {0x86, 0xA8}, {0x86, 0x96}, /* 0xB8-0xBB */ + {0x86, 0x8D}, {0x86, 0x91}, {0x86, 0x9E}, {0x86, 0x87}, /* 0xBC-0xBF */ + {0x86, 0x97}, {0x86, 0x86}, {0x86, 0x8B}, {0x86, 0x9A}, /* 0xC0-0xC3 */ + {0x86, 0x85}, {0x86, 0xA5}, {0x86, 0x99}, {0x86, 0xA1}, /* 0xC4-0xC7 */ + {0x86, 0xA7}, {0x86, 0x95}, {0x86, 0x98}, {0x86, 0x8E}, /* 0xC8-0xCB */ + {0x86, 0x9D}, {0x86, 0x90}, {0x86, 0x94}, {0x88, 0x43}, /* 0xCC-0xCF */ + {0x88, 0x44}, {0x88, 0x6D}, {0x88, 0x75}, {0x88, 0x76}, /* 0xD0-0xD3 */ + {0x88, 0x72}, {0x88, 0x80}, {0x88, 0x71}, {0x88, 0x7F}, /* 0xD4-0xD7 */ + {0x88, 0x6F}, {0x88, 0x83}, {0x88, 0x7E}, {0x88, 0x74}, /* 0xD8-0xDB */ + {0x88, 0x7C}, {0x8A, 0x12}, {0x8C, 0x47}, {0x8C, 0x57}, /* 0xDC-0xDF */ + {0x8C, 0x7B}, {0x8C, 0xA4}, {0x8C, 0xA3}, {0x8D, 0x76}, /* 0xE0-0xE3 */ + {0x8D, 0x78}, {0x8D, 0xB5}, {0x8D, 0xB7}, {0x8D, 0xB6}, /* 0xE4-0xE7 */ + {0x8E, 0xD1}, {0x8E, 0xD3}, {0x8F, 0xFE}, {0x8F, 0xF5}, /* 0xE8-0xEB */ + {0x90, 0x02}, {0x8F, 0xFF}, {0x8F, 0xFB}, {0x90, 0x04}, /* 0xEC-0xEF */ + {0x8F, 0xFC}, {0x8F, 0xF6}, {0x90, 0xD6}, {0x90, 0xE0}, /* 0xF0-0xF3 */ + {0x90, 0xD9}, {0x90, 0xDA}, {0x90, 0xE3}, {0x90, 0xDF}, /* 0xF4-0xF7 */ + {0x90, 0xE5}, {0x90, 0xD8}, {0x90, 0xDB}, {0x90, 0xD7}, /* 0xF8-0xFB */ + {0x90, 0xDC}, {0x90, 0xE4}, {0x91, 0x50}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x91, 0x4E}, {0x91, 0x4F}, {0x91, 0xD5}, {0x91, 0xE2}, /* 0x40-0x43 */ + {0x91, 0xDA}, {0x96, 0x5C}, {0x96, 0x5F}, {0x96, 0xBC}, /* 0x44-0x47 */ + {0x98, 0xE3}, {0x9A, 0xDF}, {0x9B, 0x2F}, {0x4E, 0x7F}, /* 0x48-0x4B */ + {0x50, 0x70}, {0x50, 0x6A}, {0x50, 0x61}, {0x50, 0x5E}, /* 0x4C-0x4F */ + {0x50, 0x60}, {0x50, 0x53}, {0x50, 0x4B}, {0x50, 0x5D}, /* 0x50-0x53 */ + {0x50, 0x72}, {0x50, 0x48}, {0x50, 0x4D}, {0x50, 0x41}, /* 0x54-0x57 */ + {0x50, 0x5B}, {0x50, 0x4A}, {0x50, 0x62}, {0x50, 0x15}, /* 0x58-0x5B */ + {0x50, 0x45}, {0x50, 0x5F}, {0x50, 0x69}, {0x50, 0x6B}, /* 0x5C-0x5F */ + {0x50, 0x63}, {0x50, 0x64}, {0x50, 0x46}, {0x50, 0x40}, /* 0x60-0x63 */ + {0x50, 0x6E}, {0x50, 0x73}, {0x50, 0x57}, {0x50, 0x51}, /* 0x64-0x67 */ + {0x51, 0xD0}, {0x52, 0x6B}, {0x52, 0x6D}, {0x52, 0x6C}, /* 0x68-0x6B */ + {0x52, 0x6E}, {0x52, 0xD6}, {0x52, 0xD3}, {0x53, 0x2D}, /* 0x6C-0x6F */ + {0x53, 0x9C}, {0x55, 0x75}, {0x55, 0x76}, {0x55, 0x3C}, /* 0x70-0x73 */ + {0x55, 0x4D}, {0x55, 0x50}, {0x55, 0x34}, {0x55, 0x2A}, /* 0x74-0x77 */ + {0x55, 0x51}, {0x55, 0x62}, {0x55, 0x36}, {0x55, 0x35}, /* 0x78-0x7B */ + {0x55, 0x30}, {0x55, 0x52}, {0x55, 0x45}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x55, 0x0C}, {0x55, 0x32}, {0x55, 0x65}, /* 0xA0-0xA3 */ + {0x55, 0x4E}, {0x55, 0x39}, {0x55, 0x48}, {0x55, 0x2D}, /* 0xA4-0xA7 */ + {0x55, 0x3B}, {0x55, 0x40}, {0x55, 0x4B}, {0x57, 0x0A}, /* 0xA8-0xAB */ + {0x57, 0x07}, {0x57, 0xFB}, {0x58, 0x14}, {0x57, 0xE2}, /* 0xAC-0xAF */ + {0x57, 0xF6}, {0x57, 0xDC}, {0x57, 0xF4}, {0x58, 0x00}, /* 0xB0-0xB3 */ + {0x57, 0xED}, {0x57, 0xFD}, {0x58, 0x08}, {0x57, 0xF8}, /* 0xB4-0xB7 */ + {0x58, 0x0B}, {0x57, 0xF3}, {0x57, 0xCF}, {0x58, 0x07}, /* 0xB8-0xBB */ + {0x57, 0xEE}, {0x57, 0xE3}, {0x57, 0xF2}, {0x57, 0xE5}, /* 0xBC-0xBF */ + {0x57, 0xEC}, {0x57, 0xE1}, {0x58, 0x0E}, {0x57, 0xFC}, /* 0xC0-0xC3 */ + {0x58, 0x10}, {0x57, 0xE7}, {0x58, 0x01}, {0x58, 0x0C}, /* 0xC4-0xC7 */ + {0x57, 0xF1}, {0x57, 0xE9}, {0x57, 0xF0}, {0x58, 0x0D}, /* 0xC8-0xCB */ + {0x58, 0x04}, {0x59, 0x5C}, {0x5A, 0x60}, {0x5A, 0x58}, /* 0xCC-0xCF */ + {0x5A, 0x55}, {0x5A, 0x67}, {0x5A, 0x5E}, {0x5A, 0x38}, /* 0xD0-0xD3 */ + {0x5A, 0x35}, {0x5A, 0x6D}, {0x5A, 0x50}, {0x5A, 0x5F}, /* 0xD4-0xD7 */ + {0x5A, 0x65}, {0x5A, 0x6C}, {0x5A, 0x53}, {0x5A, 0x64}, /* 0xD8-0xDB */ + {0x5A, 0x57}, {0x5A, 0x43}, {0x5A, 0x5D}, {0x5A, 0x52}, /* 0xDC-0xDF */ + {0x5A, 0x44}, {0x5A, 0x5B}, {0x5A, 0x48}, {0x5A, 0x8E}, /* 0xE0-0xE3 */ + {0x5A, 0x3E}, {0x5A, 0x4D}, {0x5A, 0x39}, {0x5A, 0x4C}, /* 0xE4-0xE7 */ + {0x5A, 0x70}, {0x5A, 0x69}, {0x5A, 0x47}, {0x5A, 0x51}, /* 0xE8-0xEB */ + {0x5A, 0x56}, {0x5A, 0x42}, {0x5A, 0x5C}, {0x5B, 0x72}, /* 0xEC-0xEF */ + {0x5B, 0x6E}, {0x5B, 0xC1}, {0x5B, 0xC0}, {0x5C, 0x59}, /* 0xF0-0xF3 */ + {0x5D, 0x1E}, {0x5D, 0x0B}, {0x5D, 0x1D}, {0x5D, 0x1A}, /* 0xF4-0xF7 */ + {0x5D, 0x20}, {0x5D, 0x0C}, {0x5D, 0x28}, {0x5D, 0x0D}, /* 0xF8-0xFB */ + {0x5D, 0x26}, {0x5D, 0x25}, {0x5D, 0x0F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5D, 0x30}, {0x5D, 0x12}, {0x5D, 0x23}, {0x5D, 0x1F}, /* 0x40-0x43 */ + {0x5D, 0x2E}, {0x5E, 0x3E}, {0x5E, 0x34}, {0x5E, 0xB1}, /* 0x44-0x47 */ + {0x5E, 0xB4}, {0x5E, 0xB9}, {0x5E, 0xB2}, {0x5E, 0xB3}, /* 0x48-0x4B */ + {0x5F, 0x36}, {0x5F, 0x38}, {0x5F, 0x9B}, {0x5F, 0x96}, /* 0x4C-0x4F */ + {0x5F, 0x9F}, {0x60, 0x8A}, {0x60, 0x90}, {0x60, 0x86}, /* 0x50-0x53 */ + {0x60, 0xBE}, {0x60, 0xB0}, {0x60, 0xBA}, {0x60, 0xD3}, /* 0x54-0x57 */ + {0x60, 0xD4}, {0x60, 0xCF}, {0x60, 0xE4}, {0x60, 0xD9}, /* 0x58-0x5B */ + {0x60, 0xDD}, {0x60, 0xC8}, {0x60, 0xB1}, {0x60, 0xDB}, /* 0x5C-0x5F */ + {0x60, 0xB7}, {0x60, 0xCA}, {0x60, 0xBF}, {0x60, 0xC3}, /* 0x60-0x63 */ + {0x60, 0xCD}, {0x60, 0xC0}, {0x63, 0x32}, {0x63, 0x65}, /* 0x64-0x67 */ + {0x63, 0x8A}, {0x63, 0x82}, {0x63, 0x7D}, {0x63, 0xBD}, /* 0x68-0x6B */ + {0x63, 0x9E}, {0x63, 0xAD}, {0x63, 0x9D}, {0x63, 0x97}, /* 0x6C-0x6F */ + {0x63, 0xAB}, {0x63, 0x8E}, {0x63, 0x6F}, {0x63, 0x87}, /* 0x70-0x73 */ + {0x63, 0x90}, {0x63, 0x6E}, {0x63, 0xAF}, {0x63, 0x75}, /* 0x74-0x77 */ + {0x63, 0x9C}, {0x63, 0x6D}, {0x63, 0xAE}, {0x63, 0x7C}, /* 0x78-0x7B */ + {0x63, 0xA4}, {0x63, 0x3B}, {0x63, 0x9F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x63, 0x78}, {0x63, 0x85}, {0x63, 0x81}, /* 0xA0-0xA3 */ + {0x63, 0x91}, {0x63, 0x8D}, {0x63, 0x70}, {0x65, 0x53}, /* 0xA4-0xA7 */ + {0x65, 0xCD}, {0x66, 0x65}, {0x66, 0x61}, {0x66, 0x5B}, /* 0xA8-0xAB */ + {0x66, 0x59}, {0x66, 0x5C}, {0x66, 0x62}, {0x67, 0x18}, /* 0xAC-0xAF */ + {0x68, 0x79}, {0x68, 0x87}, {0x68, 0x90}, {0x68, 0x9C}, /* 0xB0-0xB3 */ + {0x68, 0x6D}, {0x68, 0x6E}, {0x68, 0xAE}, {0x68, 0xAB}, /* 0xB4-0xB7 */ + {0x69, 0x56}, {0x68, 0x6F}, {0x68, 0xA3}, {0x68, 0xAC}, /* 0xB8-0xBB */ + {0x68, 0xA9}, {0x68, 0x75}, {0x68, 0x74}, {0x68, 0xB2}, /* 0xBC-0xBF */ + {0x68, 0x8F}, {0x68, 0x77}, {0x68, 0x92}, {0x68, 0x7C}, /* 0xC0-0xC3 */ + {0x68, 0x6B}, {0x68, 0x72}, {0x68, 0xAA}, {0x68, 0x80}, /* 0xC4-0xC7 */ + {0x68, 0x71}, {0x68, 0x7E}, {0x68, 0x9B}, {0x68, 0x96}, /* 0xC8-0xCB */ + {0x68, 0x8B}, {0x68, 0xA0}, {0x68, 0x89}, {0x68, 0xA4}, /* 0xCC-0xCF */ + {0x68, 0x78}, {0x68, 0x7B}, {0x68, 0x91}, {0x68, 0x8C}, /* 0xD0-0xD3 */ + {0x68, 0x8A}, {0x68, 0x7D}, {0x6B, 0x36}, {0x6B, 0x33}, /* 0xD4-0xD7 */ + {0x6B, 0x37}, {0x6B, 0x38}, {0x6B, 0x91}, {0x6B, 0x8F}, /* 0xD8-0xDB */ + {0x6B, 0x8D}, {0x6B, 0x8E}, {0x6B, 0x8C}, {0x6C, 0x2A}, /* 0xDC-0xDF */ + {0x6D, 0xC0}, {0x6D, 0xAB}, {0x6D, 0xB4}, {0x6D, 0xB3}, /* 0xE0-0xE3 */ + {0x6E, 0x74}, {0x6D, 0xAC}, {0x6D, 0xE9}, {0x6D, 0xE2}, /* 0xE4-0xE7 */ + {0x6D, 0xB7}, {0x6D, 0xF6}, {0x6D, 0xD4}, {0x6E, 0x00}, /* 0xE8-0xEB */ + {0x6D, 0xC8}, {0x6D, 0xE0}, {0x6D, 0xDF}, {0x6D, 0xD6}, /* 0xEC-0xEF */ + {0x6D, 0xBE}, {0x6D, 0xE5}, {0x6D, 0xDC}, {0x6D, 0xDD}, /* 0xF0-0xF3 */ + {0x6D, 0xDB}, {0x6D, 0xF4}, {0x6D, 0xCA}, {0x6D, 0xBD}, /* 0xF4-0xF7 */ + {0x6D, 0xED}, {0x6D, 0xF0}, {0x6D, 0xBA}, {0x6D, 0xD5}, /* 0xF8-0xFB */ + {0x6D, 0xC2}, {0x6D, 0xCF}, {0x6D, 0xC9}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6D, 0xD0}, {0x6D, 0xF2}, {0x6D, 0xD3}, {0x6D, 0xFD}, /* 0x40-0x43 */ + {0x6D, 0xD7}, {0x6D, 0xCD}, {0x6D, 0xE3}, {0x6D, 0xBB}, /* 0x44-0x47 */ + {0x70, 0xFA}, {0x71, 0x0D}, {0x70, 0xF7}, {0x71, 0x17}, /* 0x48-0x4B */ + {0x70, 0xF4}, {0x71, 0x0C}, {0x70, 0xF0}, {0x71, 0x04}, /* 0x4C-0x4F */ + {0x70, 0xF3}, {0x71, 0x10}, {0x70, 0xFC}, {0x70, 0xFF}, /* 0x50-0x53 */ + {0x71, 0x06}, {0x71, 0x13}, {0x71, 0x00}, {0x70, 0xF8}, /* 0x54-0x57 */ + {0x70, 0xF6}, {0x71, 0x0B}, {0x71, 0x02}, {0x71, 0x0E}, /* 0x58-0x5B */ + {0x72, 0x7E}, {0x72, 0x7B}, {0x72, 0x7C}, {0x72, 0x7F}, /* 0x5C-0x5F */ + {0x73, 0x1D}, {0x73, 0x17}, {0x73, 0x07}, {0x73, 0x11}, /* 0x60-0x63 */ + {0x73, 0x18}, {0x73, 0x0A}, {0x73, 0x08}, {0x72, 0xFF}, /* 0x64-0x67 */ + {0x73, 0x0F}, {0x73, 0x1E}, {0x73, 0x88}, {0x73, 0xF6}, /* 0x68-0x6B */ + {0x73, 0xF8}, {0x73, 0xF5}, {0x74, 0x04}, {0x74, 0x01}, /* 0x6C-0x6F */ + {0x73, 0xFD}, {0x74, 0x07}, {0x74, 0x00}, {0x73, 0xFA}, /* 0x70-0x73 */ + {0x73, 0xFC}, {0x73, 0xFF}, {0x74, 0x0C}, {0x74, 0x0B}, /* 0x74-0x77 */ + {0x73, 0xF4}, {0x74, 0x08}, {0x75, 0x64}, {0x75, 0x63}, /* 0x78-0x7B */ + {0x75, 0xCE}, {0x75, 0xD2}, {0x75, 0xCF}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x75, 0xCB}, {0x75, 0xCC}, {0x75, 0xD1}, /* 0xA0-0xA3 */ + {0x75, 0xD0}, {0x76, 0x8F}, {0x76, 0x89}, {0x76, 0xD3}, /* 0xA4-0xA7 */ + {0x77, 0x39}, {0x77, 0x2F}, {0x77, 0x2D}, {0x77, 0x31}, /* 0xA8-0xAB */ + {0x77, 0x32}, {0x77, 0x34}, {0x77, 0x33}, {0x77, 0x3D}, /* 0xAC-0xAF */ + {0x77, 0x25}, {0x77, 0x3B}, {0x77, 0x35}, {0x78, 0x48}, /* 0xB0-0xB3 */ + {0x78, 0x52}, {0x78, 0x49}, {0x78, 0x4D}, {0x78, 0x4A}, /* 0xB4-0xB7 */ + {0x78, 0x4C}, {0x78, 0x26}, {0x78, 0x45}, {0x78, 0x50}, /* 0xB8-0xBB */ + {0x79, 0x64}, {0x79, 0x67}, {0x79, 0x69}, {0x79, 0x6A}, /* 0xBC-0xBF */ + {0x79, 0x63}, {0x79, 0x6B}, {0x79, 0x61}, {0x79, 0xBB}, /* 0xC0-0xC3 */ + {0x79, 0xFA}, {0x79, 0xF8}, {0x79, 0xF6}, {0x79, 0xF7}, /* 0xC4-0xC7 */ + {0x7A, 0x8F}, {0x7A, 0x94}, {0x7A, 0x90}, {0x7B, 0x35}, /* 0xC8-0xCB */ + {0x7B, 0x47}, {0x7B, 0x34}, {0x7B, 0x25}, {0x7B, 0x30}, /* 0xCC-0xCF */ + {0x7B, 0x22}, {0x7B, 0x24}, {0x7B, 0x33}, {0x7B, 0x18}, /* 0xD0-0xD3 */ + {0x7B, 0x2A}, {0x7B, 0x1D}, {0x7B, 0x31}, {0x7B, 0x2B}, /* 0xD4-0xD7 */ + {0x7B, 0x2D}, {0x7B, 0x2F}, {0x7B, 0x32}, {0x7B, 0x38}, /* 0xD8-0xDB */ + {0x7B, 0x1A}, {0x7B, 0x23}, {0x7C, 0x94}, {0x7C, 0x98}, /* 0xDC-0xDF */ + {0x7C, 0x96}, {0x7C, 0xA3}, {0x7D, 0x35}, {0x7D, 0x3D}, /* 0xE0-0xE3 */ + {0x7D, 0x38}, {0x7D, 0x36}, {0x7D, 0x3A}, {0x7D, 0x45}, /* 0xE4-0xE7 */ + {0x7D, 0x2C}, {0x7D, 0x29}, {0x7D, 0x41}, {0x7D, 0x47}, /* 0xE8-0xEB */ + {0x7D, 0x3E}, {0x7D, 0x3F}, {0x7D, 0x4A}, {0x7D, 0x3B}, /* 0xEC-0xEF */ + {0x7D, 0x28}, {0x7F, 0x63}, {0x7F, 0x95}, {0x7F, 0x9C}, /* 0xF0-0xF3 */ + {0x7F, 0x9D}, {0x7F, 0x9B}, {0x7F, 0xCA}, {0x7F, 0xCB}, /* 0xF4-0xF7 */ + {0x7F, 0xCD}, {0x7F, 0xD0}, {0x7F, 0xD1}, {0x7F, 0xC7}, /* 0xF8-0xFB */ + {0x7F, 0xCF}, {0x7F, 0xC9}, {0x80, 0x1F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x80, 0x1E}, {0x80, 0x1B}, {0x80, 0x47}, {0x80, 0x43}, /* 0x40-0x43 */ + {0x80, 0x48}, {0x81, 0x18}, {0x81, 0x25}, {0x81, 0x19}, /* 0x44-0x47 */ + {0x81, 0x1B}, {0x81, 0x2D}, {0x81, 0x1F}, {0x81, 0x2C}, /* 0x48-0x4B */ + {0x81, 0x1E}, {0x81, 0x21}, {0x81, 0x15}, {0x81, 0x27}, /* 0x4C-0x4F */ + {0x81, 0x1D}, {0x81, 0x22}, {0x82, 0x11}, {0x82, 0x38}, /* 0x50-0x53 */ + {0x82, 0x33}, {0x82, 0x3A}, {0x82, 0x34}, {0x82, 0x32}, /* 0x54-0x57 */ + {0x82, 0x74}, {0x83, 0x90}, {0x83, 0xA3}, {0x83, 0xA8}, /* 0x58-0x5B */ + {0x83, 0x8D}, {0x83, 0x7A}, {0x83, 0x73}, {0x83, 0xA4}, /* 0x5C-0x5F */ + {0x83, 0x74}, {0x83, 0x8F}, {0x83, 0x81}, {0x83, 0x95}, /* 0x60-0x63 */ + {0x83, 0x99}, {0x83, 0x75}, {0x83, 0x94}, {0x83, 0xA9}, /* 0x64-0x67 */ + {0x83, 0x7D}, {0x83, 0x83}, {0x83, 0x8C}, {0x83, 0x9D}, /* 0x68-0x6B */ + {0x83, 0x9B}, {0x83, 0xAA}, {0x83, 0x8B}, {0x83, 0x7E}, /* 0x6C-0x6F */ + {0x83, 0xA5}, {0x83, 0xAF}, {0x83, 0x88}, {0x83, 0x97}, /* 0x70-0x73 */ + {0x83, 0xB0}, {0x83, 0x7F}, {0x83, 0xA6}, {0x83, 0x87}, /* 0x74-0x77 */ + {0x83, 0xAE}, {0x83, 0x76}, {0x83, 0x9A}, {0x86, 0x59}, /* 0x78-0x7B */ + {0x86, 0x56}, {0x86, 0xBF}, {0x86, 0xB7}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x86, 0xC2}, {0x86, 0xC1}, {0x86, 0xC5}, /* 0xA0-0xA3 */ + {0x86, 0xBA}, {0x86, 0xB0}, {0x86, 0xC8}, {0x86, 0xB9}, /* 0xA4-0xA7 */ + {0x86, 0xB3}, {0x86, 0xB8}, {0x86, 0xCC}, {0x86, 0xB4}, /* 0xA8-0xAB */ + {0x86, 0xBB}, {0x86, 0xBC}, {0x86, 0xC3}, {0x86, 0xBD}, /* 0xAC-0xAF */ + {0x86, 0xBE}, {0x88, 0x52}, {0x88, 0x89}, {0x88, 0x95}, /* 0xB0-0xB3 */ + {0x88, 0xA8}, {0x88, 0xA2}, {0x88, 0xAA}, {0x88, 0x9A}, /* 0xB4-0xB7 */ + {0x88, 0x91}, {0x88, 0xA1}, {0x88, 0x9F}, {0x88, 0x98}, /* 0xB8-0xBB */ + {0x88, 0xA7}, {0x88, 0x99}, {0x88, 0x9B}, {0x88, 0x97}, /* 0xBC-0xBF */ + {0x88, 0xA4}, {0x88, 0xAC}, {0x88, 0x8C}, {0x88, 0x93}, /* 0xC0-0xC3 */ + {0x88, 0x8E}, {0x89, 0x82}, {0x89, 0xD6}, {0x89, 0xD9}, /* 0xC4-0xC7 */ + {0x89, 0xD5}, {0x8A, 0x30}, {0x8A, 0x27}, {0x8A, 0x2C}, /* 0xC8-0xCB */ + {0x8A, 0x1E}, {0x8C, 0x39}, {0x8C, 0x3B}, {0x8C, 0x5C}, /* 0xCC-0xCF */ + {0x8C, 0x5D}, {0x8C, 0x7D}, {0x8C, 0xA5}, {0x8D, 0x7D}, /* 0xD0-0xD3 */ + {0x8D, 0x7B}, {0x8D, 0x79}, {0x8D, 0xBC}, {0x8D, 0xC2}, /* 0xD4-0xD7 */ + {0x8D, 0xB9}, {0x8D, 0xBF}, {0x8D, 0xC1}, {0x8E, 0xD8}, /* 0xD8-0xDB */ + {0x8E, 0xDE}, {0x8E, 0xDD}, {0x8E, 0xDC}, {0x8E, 0xD7}, /* 0xDC-0xDF */ + {0x8E, 0xE0}, {0x8E, 0xE1}, {0x90, 0x24}, {0x90, 0x0B}, /* 0xE0-0xE3 */ + {0x90, 0x11}, {0x90, 0x1C}, {0x90, 0x0C}, {0x90, 0x21}, /* 0xE4-0xE7 */ + {0x90, 0xEF}, {0x90, 0xEA}, {0x90, 0xF0}, {0x90, 0xF4}, /* 0xE8-0xEB */ + {0x90, 0xF2}, {0x90, 0xF3}, {0x90, 0xD4}, {0x90, 0xEB}, /* 0xEC-0xEF */ + {0x90, 0xEC}, {0x90, 0xE9}, {0x91, 0x56}, {0x91, 0x58}, /* 0xF0-0xF3 */ + {0x91, 0x5A}, {0x91, 0x53}, {0x91, 0x55}, {0x91, 0xEC}, /* 0xF4-0xF7 */ + {0x91, 0xF4}, {0x91, 0xF1}, {0x91, 0xF3}, {0x91, 0xF8}, /* 0xF8-0xFB */ + {0x91, 0xE4}, {0x91, 0xF9}, {0x91, 0xEA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x91, 0xEB}, {0x91, 0xF7}, {0x91, 0xE8}, {0x91, 0xEE}, /* 0x40-0x43 */ + {0x95, 0x7A}, {0x95, 0x86}, {0x95, 0x88}, {0x96, 0x7C}, /* 0x44-0x47 */ + {0x96, 0x6D}, {0x96, 0x6B}, {0x96, 0x71}, {0x96, 0x6F}, /* 0x48-0x4B */ + {0x96, 0xBF}, {0x97, 0x6A}, {0x98, 0x04}, {0x98, 0xE5}, /* 0x4C-0x4F */ + {0x99, 0x97}, {0x50, 0x9B}, {0x50, 0x95}, {0x50, 0x94}, /* 0x50-0x53 */ + {0x50, 0x9E}, {0x50, 0x8B}, {0x50, 0xA3}, {0x50, 0x83}, /* 0x54-0x57 */ + {0x50, 0x8C}, {0x50, 0x8E}, {0x50, 0x9D}, {0x50, 0x68}, /* 0x58-0x5B */ + {0x50, 0x9C}, {0x50, 0x92}, {0x50, 0x82}, {0x50, 0x87}, /* 0x5C-0x5F */ + {0x51, 0x5F}, {0x51, 0xD4}, {0x53, 0x12}, {0x53, 0x11}, /* 0x60-0x63 */ + {0x53, 0xA4}, {0x53, 0xA7}, {0x55, 0x91}, {0x55, 0xA8}, /* 0x64-0x67 */ + {0x55, 0xA5}, {0x55, 0xAD}, {0x55, 0x77}, {0x56, 0x45}, /* 0x68-0x6B */ + {0x55, 0xA2}, {0x55, 0x93}, {0x55, 0x88}, {0x55, 0x8F}, /* 0x6C-0x6F */ + {0x55, 0xB5}, {0x55, 0x81}, {0x55, 0xA3}, {0x55, 0x92}, /* 0x70-0x73 */ + {0x55, 0xA4}, {0x55, 0x7D}, {0x55, 0x8C}, {0x55, 0xA6}, /* 0x74-0x77 */ + {0x55, 0x7F}, {0x55, 0x95}, {0x55, 0xA1}, {0x55, 0x8E}, /* 0x78-0x7B */ + {0x57, 0x0C}, {0x58, 0x29}, {0x58, 0x37}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x58, 0x19}, {0x58, 0x1E}, {0x58, 0x27}, /* 0xA0-0xA3 */ + {0x58, 0x23}, {0x58, 0x28}, {0x57, 0xF5}, {0x58, 0x48}, /* 0xA4-0xA7 */ + {0x58, 0x25}, {0x58, 0x1C}, {0x58, 0x1B}, {0x58, 0x33}, /* 0xA8-0xAB */ + {0x58, 0x3F}, {0x58, 0x36}, {0x58, 0x2E}, {0x58, 0x39}, /* 0xAC-0xAF */ + {0x58, 0x38}, {0x58, 0x2D}, {0x58, 0x2C}, {0x58, 0x3B}, /* 0xB0-0xB3 */ + {0x59, 0x61}, {0x5A, 0xAF}, {0x5A, 0x94}, {0x5A, 0x9F}, /* 0xB4-0xB7 */ + {0x5A, 0x7A}, {0x5A, 0xA2}, {0x5A, 0x9E}, {0x5A, 0x78}, /* 0xB8-0xBB */ + {0x5A, 0xA6}, {0x5A, 0x7C}, {0x5A, 0xA5}, {0x5A, 0xAC}, /* 0xBC-0xBF */ + {0x5A, 0x95}, {0x5A, 0xAE}, {0x5A, 0x37}, {0x5A, 0x84}, /* 0xC0-0xC3 */ + {0x5A, 0x8A}, {0x5A, 0x97}, {0x5A, 0x83}, {0x5A, 0x8B}, /* 0xC4-0xC7 */ + {0x5A, 0xA9}, {0x5A, 0x7B}, {0x5A, 0x7D}, {0x5A, 0x8C}, /* 0xC8-0xCB */ + {0x5A, 0x9C}, {0x5A, 0x8F}, {0x5A, 0x93}, {0x5A, 0x9D}, /* 0xCC-0xCF */ + {0x5B, 0xEA}, {0x5B, 0xCD}, {0x5B, 0xCB}, {0x5B, 0xD4}, /* 0xD0-0xD3 */ + {0x5B, 0xD1}, {0x5B, 0xCA}, {0x5B, 0xCE}, {0x5C, 0x0C}, /* 0xD4-0xD7 */ + {0x5C, 0x30}, {0x5D, 0x37}, {0x5D, 0x43}, {0x5D, 0x6B}, /* 0xD8-0xDB */ + {0x5D, 0x41}, {0x5D, 0x4B}, {0x5D, 0x3F}, {0x5D, 0x35}, /* 0xDC-0xDF */ + {0x5D, 0x51}, {0x5D, 0x4E}, {0x5D, 0x55}, {0x5D, 0x33}, /* 0xE0-0xE3 */ + {0x5D, 0x3A}, {0x5D, 0x52}, {0x5D, 0x3D}, {0x5D, 0x31}, /* 0xE4-0xE7 */ + {0x5D, 0x59}, {0x5D, 0x42}, {0x5D, 0x39}, {0x5D, 0x49}, /* 0xE8-0xEB */ + {0x5D, 0x38}, {0x5D, 0x3C}, {0x5D, 0x32}, {0x5D, 0x36}, /* 0xEC-0xEF */ + {0x5D, 0x40}, {0x5D, 0x45}, {0x5E, 0x44}, {0x5E, 0x41}, /* 0xF0-0xF3 */ + {0x5F, 0x58}, {0x5F, 0xA6}, {0x5F, 0xA5}, {0x5F, 0xAB}, /* 0xF4-0xF7 */ + {0x60, 0xC9}, {0x60, 0xB9}, {0x60, 0xCC}, {0x60, 0xE2}, /* 0xF8-0xFB */ + {0x60, 0xCE}, {0x60, 0xC4}, {0x61, 0x14}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_D9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x60, 0xF2}, {0x61, 0x0A}, {0x61, 0x16}, {0x61, 0x05}, /* 0x40-0x43 */ + {0x60, 0xF5}, {0x61, 0x13}, {0x60, 0xF8}, {0x60, 0xFC}, /* 0x44-0x47 */ + {0x60, 0xFE}, {0x60, 0xC1}, {0x61, 0x03}, {0x61, 0x18}, /* 0x48-0x4B */ + {0x61, 0x1D}, {0x61, 0x10}, {0x60, 0xFF}, {0x61, 0x04}, /* 0x4C-0x4F */ + {0x61, 0x0B}, {0x62, 0x4A}, {0x63, 0x94}, {0x63, 0xB1}, /* 0x50-0x53 */ + {0x63, 0xB0}, {0x63, 0xCE}, {0x63, 0xE5}, {0x63, 0xE8}, /* 0x54-0x57 */ + {0x63, 0xEF}, {0x63, 0xC3}, {0x64, 0x9D}, {0x63, 0xF3}, /* 0x58-0x5B */ + {0x63, 0xCA}, {0x63, 0xE0}, {0x63, 0xF6}, {0x63, 0xD5}, /* 0x5C-0x5F */ + {0x63, 0xF2}, {0x63, 0xF5}, {0x64, 0x61}, {0x63, 0xDF}, /* 0x60-0x63 */ + {0x63, 0xBE}, {0x63, 0xDD}, {0x63, 0xDC}, {0x63, 0xC4}, /* 0x64-0x67 */ + {0x63, 0xD8}, {0x63, 0xD3}, {0x63, 0xC2}, {0x63, 0xC7}, /* 0x68-0x6B */ + {0x63, 0xCC}, {0x63, 0xCB}, {0x63, 0xC8}, {0x63, 0xF0}, /* 0x6C-0x6F */ + {0x63, 0xD7}, {0x63, 0xD9}, {0x65, 0x32}, {0x65, 0x67}, /* 0x70-0x73 */ + {0x65, 0x6A}, {0x65, 0x64}, {0x65, 0x5C}, {0x65, 0x68}, /* 0x74-0x77 */ + {0x65, 0x65}, {0x65, 0x8C}, {0x65, 0x9D}, {0x65, 0x9E}, /* 0x78-0x7B */ + {0x65, 0xAE}, {0x65, 0xD0}, {0x65, 0xD2}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x66, 0x7C}, {0x66, 0x6C}, {0x66, 0x7B}, /* 0xA0-0xA3 */ + {0x66, 0x80}, {0x66, 0x71}, {0x66, 0x79}, {0x66, 0x6A}, /* 0xA4-0xA7 */ + {0x66, 0x72}, {0x67, 0x01}, {0x69, 0x0C}, {0x68, 0xD3}, /* 0xA8-0xAB */ + {0x69, 0x04}, {0x68, 0xDC}, {0x69, 0x2A}, {0x68, 0xEC}, /* 0xAC-0xAF */ + {0x68, 0xEA}, {0x68, 0xF1}, {0x69, 0x0F}, {0x68, 0xD6}, /* 0xB0-0xB3 */ + {0x68, 0xF7}, {0x68, 0xEB}, {0x68, 0xE4}, {0x68, 0xF6}, /* 0xB4-0xB7 */ + {0x69, 0x13}, {0x69, 0x10}, {0x68, 0xF3}, {0x68, 0xE1}, /* 0xB8-0xBB */ + {0x69, 0x07}, {0x68, 0xCC}, {0x69, 0x08}, {0x69, 0x70}, /* 0xBC-0xBF */ + {0x68, 0xB4}, {0x69, 0x11}, {0x68, 0xEF}, {0x68, 0xC6}, /* 0xC0-0xC3 */ + {0x69, 0x14}, {0x68, 0xF8}, {0x68, 0xD0}, {0x68, 0xFD}, /* 0xC4-0xC7 */ + {0x68, 0xFC}, {0x68, 0xE8}, {0x69, 0x0B}, {0x69, 0x0A}, /* 0xC8-0xCB */ + {0x69, 0x17}, {0x68, 0xCE}, {0x68, 0xC8}, {0x68, 0xDD}, /* 0xCC-0xCF */ + {0x68, 0xDE}, {0x68, 0xE6}, {0x68, 0xF4}, {0x68, 0xD1}, /* 0xD0-0xD3 */ + {0x69, 0x06}, {0x68, 0xD4}, {0x68, 0xE9}, {0x69, 0x15}, /* 0xD4-0xD7 */ + {0x69, 0x25}, {0x68, 0xC7}, {0x6B, 0x39}, {0x6B, 0x3B}, /* 0xD8-0xDB */ + {0x6B, 0x3F}, {0x6B, 0x3C}, {0x6B, 0x94}, {0x6B, 0x97}, /* 0xDC-0xDF */ + {0x6B, 0x99}, {0x6B, 0x95}, {0x6B, 0xBD}, {0x6B, 0xF0}, /* 0xE0-0xE3 */ + {0x6B, 0xF2}, {0x6B, 0xF3}, {0x6C, 0x30}, {0x6D, 0xFC}, /* 0xE4-0xE7 */ + {0x6E, 0x46}, {0x6E, 0x47}, {0x6E, 0x1F}, {0x6E, 0x49}, /* 0xE8-0xEB */ + {0x6E, 0x88}, {0x6E, 0x3C}, {0x6E, 0x3D}, {0x6E, 0x45}, /* 0xEC-0xEF */ + {0x6E, 0x62}, {0x6E, 0x2B}, {0x6E, 0x3F}, {0x6E, 0x41}, /* 0xF0-0xF3 */ + {0x6E, 0x5D}, {0x6E, 0x73}, {0x6E, 0x1C}, {0x6E, 0x33}, /* 0xF4-0xF7 */ + {0x6E, 0x4B}, {0x6E, 0x40}, {0x6E, 0x51}, {0x6E, 0x3B}, /* 0xF8-0xFB */ + {0x6E, 0x03}, {0x6E, 0x2E}, {0x6E, 0x5E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6E, 0x68}, {0x6E, 0x5C}, {0x6E, 0x61}, {0x6E, 0x31}, /* 0x40-0x43 */ + {0x6E, 0x28}, {0x6E, 0x60}, {0x6E, 0x71}, {0x6E, 0x6B}, /* 0x44-0x47 */ + {0x6E, 0x39}, {0x6E, 0x22}, {0x6E, 0x30}, {0x6E, 0x53}, /* 0x48-0x4B */ + {0x6E, 0x65}, {0x6E, 0x27}, {0x6E, 0x78}, {0x6E, 0x64}, /* 0x4C-0x4F */ + {0x6E, 0x77}, {0x6E, 0x55}, {0x6E, 0x79}, {0x6E, 0x52}, /* 0x50-0x53 */ + {0x6E, 0x66}, {0x6E, 0x35}, {0x6E, 0x36}, {0x6E, 0x5A}, /* 0x54-0x57 */ + {0x71, 0x20}, {0x71, 0x1E}, {0x71, 0x2F}, {0x70, 0xFB}, /* 0x58-0x5B */ + {0x71, 0x2E}, {0x71, 0x31}, {0x71, 0x23}, {0x71, 0x25}, /* 0x5C-0x5F */ + {0x71, 0x22}, {0x71, 0x32}, {0x71, 0x1F}, {0x71, 0x28}, /* 0x60-0x63 */ + {0x71, 0x3A}, {0x71, 0x1B}, {0x72, 0x4B}, {0x72, 0x5A}, /* 0x64-0x67 */ + {0x72, 0x88}, {0x72, 0x89}, {0x72, 0x86}, {0x72, 0x85}, /* 0x68-0x6B */ + {0x72, 0x8B}, {0x73, 0x12}, {0x73, 0x0B}, {0x73, 0x30}, /* 0x6C-0x6F */ + {0x73, 0x22}, {0x73, 0x31}, {0x73, 0x33}, {0x73, 0x27}, /* 0x70-0x73 */ + {0x73, 0x32}, {0x73, 0x2D}, {0x73, 0x26}, {0x73, 0x23}, /* 0x74-0x77 */ + {0x73, 0x35}, {0x73, 0x0C}, {0x74, 0x2E}, {0x74, 0x2C}, /* 0x78-0x7B */ + {0x74, 0x30}, {0x74, 0x2B}, {0x74, 0x16}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x74, 0x1A}, {0x74, 0x21}, {0x74, 0x2D}, /* 0xA0-0xA3 */ + {0x74, 0x31}, {0x74, 0x24}, {0x74, 0x23}, {0x74, 0x1D}, /* 0xA4-0xA7 */ + {0x74, 0x29}, {0x74, 0x20}, {0x74, 0x32}, {0x74, 0xFB}, /* 0xA8-0xAB */ + {0x75, 0x2F}, {0x75, 0x6F}, {0x75, 0x6C}, {0x75, 0xE7}, /* 0xAC-0xAF */ + {0x75, 0xDA}, {0x75, 0xE1}, {0x75, 0xE6}, {0x75, 0xDD}, /* 0xB0-0xB3 */ + {0x75, 0xDF}, {0x75, 0xE4}, {0x75, 0xD7}, {0x76, 0x95}, /* 0xB4-0xB7 */ + {0x76, 0x92}, {0x76, 0xDA}, {0x77, 0x46}, {0x77, 0x47}, /* 0xB8-0xBB */ + {0x77, 0x44}, {0x77, 0x4D}, {0x77, 0x45}, {0x77, 0x4A}, /* 0xBC-0xBF */ + {0x77, 0x4E}, {0x77, 0x4B}, {0x77, 0x4C}, {0x77, 0xDE}, /* 0xC0-0xC3 */ + {0x77, 0xEC}, {0x78, 0x60}, {0x78, 0x64}, {0x78, 0x65}, /* 0xC4-0xC7 */ + {0x78, 0x5C}, {0x78, 0x6D}, {0x78, 0x71}, {0x78, 0x6A}, /* 0xC8-0xCB */ + {0x78, 0x6E}, {0x78, 0x70}, {0x78, 0x69}, {0x78, 0x68}, /* 0xCC-0xCF */ + {0x78, 0x5E}, {0x78, 0x62}, {0x79, 0x74}, {0x79, 0x73}, /* 0xD0-0xD3 */ + {0x79, 0x72}, {0x79, 0x70}, {0x7A, 0x02}, {0x7A, 0x0A}, /* 0xD4-0xD7 */ + {0x7A, 0x03}, {0x7A, 0x0C}, {0x7A, 0x04}, {0x7A, 0x99}, /* 0xD8-0xDB */ + {0x7A, 0xE6}, {0x7A, 0xE4}, {0x7B, 0x4A}, {0x7B, 0x3B}, /* 0xDC-0xDF */ + {0x7B, 0x44}, {0x7B, 0x48}, {0x7B, 0x4C}, {0x7B, 0x4E}, /* 0xE0-0xE3 */ + {0x7B, 0x40}, {0x7B, 0x58}, {0x7B, 0x45}, {0x7C, 0xA2}, /* 0xE4-0xE7 */ + {0x7C, 0x9E}, {0x7C, 0xA8}, {0x7C, 0xA1}, {0x7D, 0x58}, /* 0xE8-0xEB */ + {0x7D, 0x6F}, {0x7D, 0x63}, {0x7D, 0x53}, {0x7D, 0x56}, /* 0xEC-0xEF */ + {0x7D, 0x67}, {0x7D, 0x6A}, {0x7D, 0x4F}, {0x7D, 0x6D}, /* 0xF0-0xF3 */ + {0x7D, 0x5C}, {0x7D, 0x6B}, {0x7D, 0x52}, {0x7D, 0x54}, /* 0xF4-0xF7 */ + {0x7D, 0x69}, {0x7D, 0x51}, {0x7D, 0x5F}, {0x7D, 0x4E}, /* 0xF8-0xFB */ + {0x7F, 0x3E}, {0x7F, 0x3F}, {0x7F, 0x65}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7F, 0x66}, {0x7F, 0xA2}, {0x7F, 0xA0}, {0x7F, 0xA1}, /* 0x40-0x43 */ + {0x7F, 0xD7}, {0x80, 0x51}, {0x80, 0x4F}, {0x80, 0x50}, /* 0x44-0x47 */ + {0x80, 0xFE}, {0x80, 0xD4}, {0x81, 0x43}, {0x81, 0x4A}, /* 0x48-0x4B */ + {0x81, 0x52}, {0x81, 0x4F}, {0x81, 0x47}, {0x81, 0x3D}, /* 0x4C-0x4F */ + {0x81, 0x4D}, {0x81, 0x3A}, {0x81, 0xE6}, {0x81, 0xEE}, /* 0x50-0x53 */ + {0x81, 0xF7}, {0x81, 0xF8}, {0x81, 0xF9}, {0x82, 0x04}, /* 0x54-0x57 */ + {0x82, 0x3C}, {0x82, 0x3D}, {0x82, 0x3F}, {0x82, 0x75}, /* 0x58-0x5B */ + {0x83, 0x3B}, {0x83, 0xCF}, {0x83, 0xF9}, {0x84, 0x23}, /* 0x5C-0x5F */ + {0x83, 0xC0}, {0x83, 0xE8}, {0x84, 0x12}, {0x83, 0xE7}, /* 0x60-0x63 */ + {0x83, 0xE4}, {0x83, 0xFC}, {0x83, 0xF6}, {0x84, 0x10}, /* 0x64-0x67 */ + {0x83, 0xC6}, {0x83, 0xC8}, {0x83, 0xEB}, {0x83, 0xE3}, /* 0x68-0x6B */ + {0x83, 0xBF}, {0x84, 0x01}, {0x83, 0xDD}, {0x83, 0xE5}, /* 0x6C-0x6F */ + {0x83, 0xD8}, {0x83, 0xFF}, {0x83, 0xE1}, {0x83, 0xCB}, /* 0x70-0x73 */ + {0x83, 0xCE}, {0x83, 0xD6}, {0x83, 0xF5}, {0x83, 0xC9}, /* 0x74-0x77 */ + {0x84, 0x09}, {0x84, 0x0F}, {0x83, 0xDE}, {0x84, 0x11}, /* 0x78-0x7B */ + {0x84, 0x06}, {0x83, 0xC2}, {0x83, 0xF3}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x83, 0xD5}, {0x83, 0xFA}, {0x83, 0xC7}, /* 0xA0-0xA3 */ + {0x83, 0xD1}, {0x83, 0xEA}, {0x84, 0x13}, {0x83, 0xC3}, /* 0xA4-0xA7 */ + {0x83, 0xEC}, {0x83, 0xEE}, {0x83, 0xC4}, {0x83, 0xFB}, /* 0xA8-0xAB */ + {0x83, 0xD7}, {0x83, 0xE2}, {0x84, 0x1B}, {0x83, 0xDB}, /* 0xAC-0xAF */ + {0x83, 0xFE}, {0x86, 0xD8}, {0x86, 0xE2}, {0x86, 0xE6}, /* 0xB0-0xB3 */ + {0x86, 0xD3}, {0x86, 0xE3}, {0x86, 0xDA}, {0x86, 0xEA}, /* 0xB4-0xB7 */ + {0x86, 0xDD}, {0x86, 0xEB}, {0x86, 0xDC}, {0x86, 0xEC}, /* 0xB8-0xBB */ + {0x86, 0xE9}, {0x86, 0xD7}, {0x86, 0xE8}, {0x86, 0xD1}, /* 0xBC-0xBF */ + {0x88, 0x48}, {0x88, 0x56}, {0x88, 0x55}, {0x88, 0xBA}, /* 0xC0-0xC3 */ + {0x88, 0xD7}, {0x88, 0xB9}, {0x88, 0xB8}, {0x88, 0xC0}, /* 0xC4-0xC7 */ + {0x88, 0xBE}, {0x88, 0xB6}, {0x88, 0xBC}, {0x88, 0xB7}, /* 0xC8-0xCB */ + {0x88, 0xBD}, {0x88, 0xB2}, {0x89, 0x01}, {0x88, 0xC9}, /* 0xCC-0xCF */ + {0x89, 0x95}, {0x89, 0x98}, {0x89, 0x97}, {0x89, 0xDD}, /* 0xD0-0xD3 */ + {0x89, 0xDA}, {0x89, 0xDB}, {0x8A, 0x4E}, {0x8A, 0x4D}, /* 0xD4-0xD7 */ + {0x8A, 0x39}, {0x8A, 0x59}, {0x8A, 0x40}, {0x8A, 0x57}, /* 0xD8-0xDB */ + {0x8A, 0x58}, {0x8A, 0x44}, {0x8A, 0x45}, {0x8A, 0x52}, /* 0xDC-0xDF */ + {0x8A, 0x48}, {0x8A, 0x51}, {0x8A, 0x4A}, {0x8A, 0x4C}, /* 0xE0-0xE3 */ + {0x8A, 0x4F}, {0x8C, 0x5F}, {0x8C, 0x81}, {0x8C, 0x80}, /* 0xE4-0xE7 */ + {0x8C, 0xBA}, {0x8C, 0xBE}, {0x8C, 0xB0}, {0x8C, 0xB9}, /* 0xE8-0xEB */ + {0x8C, 0xB5}, {0x8D, 0x84}, {0x8D, 0x80}, {0x8D, 0x89}, /* 0xEC-0xEF */ + {0x8D, 0xD8}, {0x8D, 0xD3}, {0x8D, 0xCD}, {0x8D, 0xC7}, /* 0xF0-0xF3 */ + {0x8D, 0xD6}, {0x8D, 0xDC}, {0x8D, 0xCF}, {0x8D, 0xD5}, /* 0xF4-0xF7 */ + {0x8D, 0xD9}, {0x8D, 0xC8}, {0x8D, 0xD7}, {0x8D, 0xC5}, /* 0xF8-0xFB */ + {0x8E, 0xEF}, {0x8E, 0xF7}, {0x8E, 0xFA}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8E, 0xF9}, {0x8E, 0xE6}, {0x8E, 0xEE}, {0x8E, 0xE5}, /* 0x40-0x43 */ + {0x8E, 0xF5}, {0x8E, 0xE7}, {0x8E, 0xE8}, {0x8E, 0xF6}, /* 0x44-0x47 */ + {0x8E, 0xEB}, {0x8E, 0xF1}, {0x8E, 0xEC}, {0x8E, 0xF4}, /* 0x48-0x4B */ + {0x8E, 0xE9}, {0x90, 0x2D}, {0x90, 0x34}, {0x90, 0x2F}, /* 0x4C-0x4F */ + {0x91, 0x06}, {0x91, 0x2C}, {0x91, 0x04}, {0x90, 0xFF}, /* 0x50-0x53 */ + {0x90, 0xFC}, {0x91, 0x08}, {0x90, 0xF9}, {0x90, 0xFB}, /* 0x54-0x57 */ + {0x91, 0x01}, {0x91, 0x00}, {0x91, 0x07}, {0x91, 0x05}, /* 0x58-0x5B */ + {0x91, 0x03}, {0x91, 0x61}, {0x91, 0x64}, {0x91, 0x5F}, /* 0x5C-0x5F */ + {0x91, 0x62}, {0x91, 0x60}, {0x92, 0x01}, {0x92, 0x0A}, /* 0x60-0x63 */ + {0x92, 0x25}, {0x92, 0x03}, {0x92, 0x1A}, {0x92, 0x26}, /* 0x64-0x67 */ + {0x92, 0x0F}, {0x92, 0x0C}, {0x92, 0x00}, {0x92, 0x12}, /* 0x68-0x6B */ + {0x91, 0xFF}, {0x91, 0xFD}, {0x92, 0x06}, {0x92, 0x04}, /* 0x6C-0x6F */ + {0x92, 0x27}, {0x92, 0x02}, {0x92, 0x1C}, {0x92, 0x24}, /* 0x70-0x73 */ + {0x92, 0x19}, {0x92, 0x17}, {0x92, 0x05}, {0x92, 0x16}, /* 0x74-0x77 */ + {0x95, 0x7B}, {0x95, 0x8D}, {0x95, 0x8C}, {0x95, 0x90}, /* 0x78-0x7B */ + {0x96, 0x87}, {0x96, 0x7E}, {0x96, 0x88}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x96, 0x89}, {0x96, 0x83}, {0x96, 0x80}, /* 0xA0-0xA3 */ + {0x96, 0xC2}, {0x96, 0xC8}, {0x96, 0xC3}, {0x96, 0xF1}, /* 0xA4-0xA7 */ + {0x96, 0xF0}, {0x97, 0x6C}, {0x97, 0x70}, {0x97, 0x6E}, /* 0xA8-0xAB */ + {0x98, 0x07}, {0x98, 0xA9}, {0x98, 0xEB}, {0x9C, 0xE6}, /* 0xAC-0xAF */ + {0x9E, 0xF9}, {0x4E, 0x83}, {0x4E, 0x84}, {0x4E, 0xB6}, /* 0xB0-0xB3 */ + {0x50, 0xBD}, {0x50, 0xBF}, {0x50, 0xC6}, {0x50, 0xAE}, /* 0xB4-0xB7 */ + {0x50, 0xC4}, {0x50, 0xCA}, {0x50, 0xB4}, {0x50, 0xC8}, /* 0xB8-0xBB */ + {0x50, 0xC2}, {0x50, 0xB0}, {0x50, 0xC1}, {0x50, 0xBA}, /* 0xBC-0xBF */ + {0x50, 0xB1}, {0x50, 0xCB}, {0x50, 0xC9}, {0x50, 0xB6}, /* 0xC0-0xC3 */ + {0x50, 0xB8}, {0x51, 0xD7}, {0x52, 0x7A}, {0x52, 0x78}, /* 0xC4-0xC7 */ + {0x52, 0x7B}, {0x52, 0x7C}, {0x55, 0xC3}, {0x55, 0xDB}, /* 0xC8-0xCB */ + {0x55, 0xCC}, {0x55, 0xD0}, {0x55, 0xCB}, {0x55, 0xCA}, /* 0xCC-0xCF */ + {0x55, 0xDD}, {0x55, 0xC0}, {0x55, 0xD4}, {0x55, 0xC4}, /* 0xD0-0xD3 */ + {0x55, 0xE9}, {0x55, 0xBF}, {0x55, 0xD2}, {0x55, 0x8D}, /* 0xD4-0xD7 */ + {0x55, 0xCF}, {0x55, 0xD5}, {0x55, 0xE2}, {0x55, 0xD6}, /* 0xD8-0xDB */ + {0x55, 0xC8}, {0x55, 0xF2}, {0x55, 0xCD}, {0x55, 0xD9}, /* 0xDC-0xDF */ + {0x55, 0xC2}, {0x57, 0x14}, {0x58, 0x53}, {0x58, 0x68}, /* 0xE0-0xE3 */ + {0x58, 0x64}, {0x58, 0x4F}, {0x58, 0x4D}, {0x58, 0x49}, /* 0xE4-0xE7 */ + {0x58, 0x6F}, {0x58, 0x55}, {0x58, 0x4E}, {0x58, 0x5D}, /* 0xE8-0xEB */ + {0x58, 0x59}, {0x58, 0x65}, {0x58, 0x5B}, {0x58, 0x3D}, /* 0xEC-0xEF */ + {0x58, 0x63}, {0x58, 0x71}, {0x58, 0xFC}, {0x5A, 0xC7}, /* 0xF0-0xF3 */ + {0x5A, 0xC4}, {0x5A, 0xCB}, {0x5A, 0xBA}, {0x5A, 0xB8}, /* 0xF4-0xF7 */ + {0x5A, 0xB1}, {0x5A, 0xB5}, {0x5A, 0xB0}, {0x5A, 0xBF}, /* 0xF8-0xFB */ + {0x5A, 0xC8}, {0x5A, 0xBB}, {0x5A, 0xC6}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DD[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5A, 0xB7}, {0x5A, 0xC0}, {0x5A, 0xCA}, {0x5A, 0xB4}, /* 0x40-0x43 */ + {0x5A, 0xB6}, {0x5A, 0xCD}, {0x5A, 0xB9}, {0x5A, 0x90}, /* 0x44-0x47 */ + {0x5B, 0xD6}, {0x5B, 0xD8}, {0x5B, 0xD9}, {0x5C, 0x1F}, /* 0x48-0x4B */ + {0x5C, 0x33}, {0x5D, 0x71}, {0x5D, 0x63}, {0x5D, 0x4A}, /* 0x4C-0x4F */ + {0x5D, 0x65}, {0x5D, 0x72}, {0x5D, 0x6C}, {0x5D, 0x5E}, /* 0x50-0x53 */ + {0x5D, 0x68}, {0x5D, 0x67}, {0x5D, 0x62}, {0x5D, 0xF0}, /* 0x54-0x57 */ + {0x5E, 0x4F}, {0x5E, 0x4E}, {0x5E, 0x4A}, {0x5E, 0x4D}, /* 0x58-0x5B */ + {0x5E, 0x4B}, {0x5E, 0xC5}, {0x5E, 0xCC}, {0x5E, 0xC6}, /* 0x5C-0x5F */ + {0x5E, 0xCB}, {0x5E, 0xC7}, {0x5F, 0x40}, {0x5F, 0xAF}, /* 0x60-0x63 */ + {0x5F, 0xAD}, {0x60, 0xF7}, {0x61, 0x49}, {0x61, 0x4A}, /* 0x64-0x67 */ + {0x61, 0x2B}, {0x61, 0x45}, {0x61, 0x36}, {0x61, 0x32}, /* 0x68-0x6B */ + {0x61, 0x2E}, {0x61, 0x46}, {0x61, 0x2F}, {0x61, 0x4F}, /* 0x6C-0x6F */ + {0x61, 0x29}, {0x61, 0x40}, {0x62, 0x20}, {0x91, 0x68}, /* 0x70-0x73 */ + {0x62, 0x23}, {0x62, 0x25}, {0x62, 0x24}, {0x63, 0xC5}, /* 0x74-0x77 */ + {0x63, 0xF1}, {0x63, 0xEB}, {0x64, 0x10}, {0x64, 0x12}, /* 0x78-0x7B */ + {0x64, 0x09}, {0x64, 0x20}, {0x64, 0x24}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x64, 0x33}, {0x64, 0x43}, {0x64, 0x1F}, /* 0xA0-0xA3 */ + {0x64, 0x15}, {0x64, 0x18}, {0x64, 0x39}, {0x64, 0x37}, /* 0xA4-0xA7 */ + {0x64, 0x22}, {0x64, 0x23}, {0x64, 0x0C}, {0x64, 0x26}, /* 0xA8-0xAB */ + {0x64, 0x30}, {0x64, 0x28}, {0x64, 0x41}, {0x64, 0x35}, /* 0xAC-0xAF */ + {0x64, 0x2F}, {0x64, 0x0A}, {0x64, 0x1A}, {0x64, 0x40}, /* 0xB0-0xB3 */ + {0x64, 0x25}, {0x64, 0x27}, {0x64, 0x0B}, {0x63, 0xE7}, /* 0xB4-0xB7 */ + {0x64, 0x1B}, {0x64, 0x2E}, {0x64, 0x21}, {0x64, 0x0E}, /* 0xB8-0xBB */ + {0x65, 0x6F}, {0x65, 0x92}, {0x65, 0xD3}, {0x66, 0x86}, /* 0xBC-0xBF */ + {0x66, 0x8C}, {0x66, 0x95}, {0x66, 0x90}, {0x66, 0x8B}, /* 0xC0-0xC3 */ + {0x66, 0x8A}, {0x66, 0x99}, {0x66, 0x94}, {0x66, 0x78}, /* 0xC4-0xC7 */ + {0x67, 0x20}, {0x69, 0x66}, {0x69, 0x5F}, {0x69, 0x38}, /* 0xC8-0xCB */ + {0x69, 0x4E}, {0x69, 0x62}, {0x69, 0x71}, {0x69, 0x3F}, /* 0xCC-0xCF */ + {0x69, 0x45}, {0x69, 0x6A}, {0x69, 0x39}, {0x69, 0x42}, /* 0xD0-0xD3 */ + {0x69, 0x57}, {0x69, 0x59}, {0x69, 0x7A}, {0x69, 0x48}, /* 0xD4-0xD7 */ + {0x69, 0x49}, {0x69, 0x35}, {0x69, 0x6C}, {0x69, 0x33}, /* 0xD8-0xDB */ + {0x69, 0x3D}, {0x69, 0x65}, {0x68, 0xF0}, {0x69, 0x78}, /* 0xDC-0xDF */ + {0x69, 0x34}, {0x69, 0x69}, {0x69, 0x40}, {0x69, 0x6F}, /* 0xE0-0xE3 */ + {0x69, 0x44}, {0x69, 0x76}, {0x69, 0x58}, {0x69, 0x41}, /* 0xE4-0xE7 */ + {0x69, 0x74}, {0x69, 0x4C}, {0x69, 0x3B}, {0x69, 0x4B}, /* 0xE8-0xEB */ + {0x69, 0x37}, {0x69, 0x5C}, {0x69, 0x4F}, {0x69, 0x51}, /* 0xEC-0xEF */ + {0x69, 0x32}, {0x69, 0x52}, {0x69, 0x2F}, {0x69, 0x7B}, /* 0xF0-0xF3 */ + {0x69, 0x3C}, {0x6B, 0x46}, {0x6B, 0x45}, {0x6B, 0x43}, /* 0xF4-0xF7 */ + {0x6B, 0x42}, {0x6B, 0x48}, {0x6B, 0x41}, {0x6B, 0x9B}, /* 0xF8-0xFB */ + {0xFA, 0x0D}, {0x6B, 0xFB}, {0x6B, 0xFC}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6B, 0xF9}, {0x6B, 0xF7}, {0x6B, 0xF8}, {0x6E, 0x9B}, /* 0x40-0x43 */ + {0x6E, 0xD6}, {0x6E, 0xC8}, {0x6E, 0x8F}, {0x6E, 0xC0}, /* 0x44-0x47 */ + {0x6E, 0x9F}, {0x6E, 0x93}, {0x6E, 0x94}, {0x6E, 0xA0}, /* 0x48-0x4B */ + {0x6E, 0xB1}, {0x6E, 0xB9}, {0x6E, 0xC6}, {0x6E, 0xD2}, /* 0x4C-0x4F */ + {0x6E, 0xBD}, {0x6E, 0xC1}, {0x6E, 0x9E}, {0x6E, 0xC9}, /* 0x50-0x53 */ + {0x6E, 0xB7}, {0x6E, 0xB0}, {0x6E, 0xCD}, {0x6E, 0xA6}, /* 0x54-0x57 */ + {0x6E, 0xCF}, {0x6E, 0xB2}, {0x6E, 0xBE}, {0x6E, 0xC3}, /* 0x58-0x5B */ + {0x6E, 0xDC}, {0x6E, 0xD8}, {0x6E, 0x99}, {0x6E, 0x92}, /* 0x5C-0x5F */ + {0x6E, 0x8E}, {0x6E, 0x8D}, {0x6E, 0xA4}, {0x6E, 0xA1}, /* 0x60-0x63 */ + {0x6E, 0xBF}, {0x6E, 0xB3}, {0x6E, 0xD0}, {0x6E, 0xCA}, /* 0x64-0x67 */ + {0x6E, 0x97}, {0x6E, 0xAE}, {0x6E, 0xA3}, {0x71, 0x47}, /* 0x68-0x6B */ + {0x71, 0x54}, {0x71, 0x52}, {0x71, 0x63}, {0x71, 0x60}, /* 0x6C-0x6F */ + {0x71, 0x41}, {0x71, 0x5D}, {0x71, 0x62}, {0x71, 0x72}, /* 0x70-0x73 */ + {0x71, 0x78}, {0x71, 0x6A}, {0x71, 0x61}, {0x71, 0x42}, /* 0x74-0x77 */ + {0x71, 0x58}, {0x71, 0x43}, {0x71, 0x4B}, {0x71, 0x70}, /* 0x78-0x7B */ + {0x71, 0x5F}, {0x71, 0x50}, {0x71, 0x53}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x71, 0x44}, {0x71, 0x4D}, {0x71, 0x5A}, /* 0xA0-0xA3 */ + {0x72, 0x4F}, {0x72, 0x8D}, {0x72, 0x8C}, {0x72, 0x91}, /* 0xA4-0xA7 */ + {0x72, 0x90}, {0x72, 0x8E}, {0x73, 0x3C}, {0x73, 0x42}, /* 0xA8-0xAB */ + {0x73, 0x3B}, {0x73, 0x3A}, {0x73, 0x40}, {0x73, 0x4A}, /* 0xAC-0xAF */ + {0x73, 0x49}, {0x74, 0x44}, {0x74, 0x4A}, {0x74, 0x4B}, /* 0xB0-0xB3 */ + {0x74, 0x52}, {0x74, 0x51}, {0x74, 0x57}, {0x74, 0x40}, /* 0xB4-0xB7 */ + {0x74, 0x4F}, {0x74, 0x50}, {0x74, 0x4E}, {0x74, 0x42}, /* 0xB8-0xBB */ + {0x74, 0x46}, {0x74, 0x4D}, {0x74, 0x54}, {0x74, 0xE1}, /* 0xBC-0xBF */ + {0x74, 0xFF}, {0x74, 0xFE}, {0x74, 0xFD}, {0x75, 0x1D}, /* 0xC0-0xC3 */ + {0x75, 0x79}, {0x75, 0x77}, {0x69, 0x83}, {0x75, 0xEF}, /* 0xC4-0xC7 */ + {0x76, 0x0F}, {0x76, 0x03}, {0x75, 0xF7}, {0x75, 0xFE}, /* 0xC8-0xCB */ + {0x75, 0xFC}, {0x75, 0xF9}, {0x75, 0xF8}, {0x76, 0x10}, /* 0xCC-0xCF */ + {0x75, 0xFB}, {0x75, 0xF6}, {0x75, 0xED}, {0x75, 0xF5}, /* 0xD0-0xD3 */ + {0x75, 0xFD}, {0x76, 0x99}, {0x76, 0xB5}, {0x76, 0xDD}, /* 0xD4-0xD7 */ + {0x77, 0x55}, {0x77, 0x5F}, {0x77, 0x60}, {0x77, 0x52}, /* 0xD8-0xDB */ + {0x77, 0x56}, {0x77, 0x5A}, {0x77, 0x69}, {0x77, 0x67}, /* 0xDC-0xDF */ + {0x77, 0x54}, {0x77, 0x59}, {0x77, 0x6D}, {0x77, 0xE0}, /* 0xE0-0xE3 */ + {0x78, 0x87}, {0x78, 0x9A}, {0x78, 0x94}, {0x78, 0x8F}, /* 0xE4-0xE7 */ + {0x78, 0x84}, {0x78, 0x95}, {0x78, 0x85}, {0x78, 0x86}, /* 0xE8-0xEB */ + {0x78, 0xA1}, {0x78, 0x83}, {0x78, 0x79}, {0x78, 0x99}, /* 0xEC-0xEF */ + {0x78, 0x80}, {0x78, 0x96}, {0x78, 0x7B}, {0x79, 0x7C}, /* 0xF0-0xF3 */ + {0x79, 0x82}, {0x79, 0x7D}, {0x79, 0x79}, {0x7A, 0x11}, /* 0xF4-0xF7 */ + {0x7A, 0x18}, {0x7A, 0x19}, {0x7A, 0x12}, {0x7A, 0x17}, /* 0xF8-0xFB */ + {0x7A, 0x15}, {0x7A, 0x22}, {0x7A, 0x13}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_DF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7A, 0x1B}, {0x7A, 0x10}, {0x7A, 0xA3}, {0x7A, 0xA2}, /* 0x40-0x43 */ + {0x7A, 0x9E}, {0x7A, 0xEB}, {0x7B, 0x66}, {0x7B, 0x64}, /* 0x44-0x47 */ + {0x7B, 0x6D}, {0x7B, 0x74}, {0x7B, 0x69}, {0x7B, 0x72}, /* 0x48-0x4B */ + {0x7B, 0x65}, {0x7B, 0x73}, {0x7B, 0x71}, {0x7B, 0x70}, /* 0x4C-0x4F */ + {0x7B, 0x61}, {0x7B, 0x78}, {0x7B, 0x76}, {0x7B, 0x63}, /* 0x50-0x53 */ + {0x7C, 0xB2}, {0x7C, 0xB4}, {0x7C, 0xAF}, {0x7D, 0x88}, /* 0x54-0x57 */ + {0x7D, 0x86}, {0x7D, 0x80}, {0x7D, 0x8D}, {0x7D, 0x7F}, /* 0x58-0x5B */ + {0x7D, 0x85}, {0x7D, 0x7A}, {0x7D, 0x8E}, {0x7D, 0x7B}, /* 0x5C-0x5F */ + {0x7D, 0x83}, {0x7D, 0x7C}, {0x7D, 0x8C}, {0x7D, 0x94}, /* 0x60-0x63 */ + {0x7D, 0x84}, {0x7D, 0x7D}, {0x7D, 0x92}, {0x7F, 0x6D}, /* 0x64-0x67 */ + {0x7F, 0x6B}, {0x7F, 0x67}, {0x7F, 0x68}, {0x7F, 0x6C}, /* 0x68-0x6B */ + {0x7F, 0xA6}, {0x7F, 0xA5}, {0x7F, 0xA7}, {0x7F, 0xDB}, /* 0x6C-0x6F */ + {0x7F, 0xDC}, {0x80, 0x21}, {0x81, 0x64}, {0x81, 0x60}, /* 0x70-0x73 */ + {0x81, 0x77}, {0x81, 0x5C}, {0x81, 0x69}, {0x81, 0x5B}, /* 0x74-0x77 */ + {0x81, 0x62}, {0x81, 0x72}, {0x67, 0x21}, {0x81, 0x5E}, /* 0x78-0x7B */ + {0x81, 0x76}, {0x81, 0x67}, {0x81, 0x6F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x81, 0x44}, {0x81, 0x61}, {0x82, 0x1D}, /* 0xA0-0xA3 */ + {0x82, 0x49}, {0x82, 0x44}, {0x82, 0x40}, {0x82, 0x42}, /* 0xA4-0xA7 */ + {0x82, 0x45}, {0x84, 0xF1}, {0x84, 0x3F}, {0x84, 0x56}, /* 0xA8-0xAB */ + {0x84, 0x76}, {0x84, 0x79}, {0x84, 0x8F}, {0x84, 0x8D}, /* 0xAC-0xAF */ + {0x84, 0x65}, {0x84, 0x51}, {0x84, 0x40}, {0x84, 0x86}, /* 0xB0-0xB3 */ + {0x84, 0x67}, {0x84, 0x30}, {0x84, 0x4D}, {0x84, 0x7D}, /* 0xB4-0xB7 */ + {0x84, 0x5A}, {0x84, 0x59}, {0x84, 0x74}, {0x84, 0x73}, /* 0xB8-0xBB */ + {0x84, 0x5D}, {0x85, 0x07}, {0x84, 0x5E}, {0x84, 0x37}, /* 0xBC-0xBF */ + {0x84, 0x3A}, {0x84, 0x34}, {0x84, 0x7A}, {0x84, 0x43}, /* 0xC0-0xC3 */ + {0x84, 0x78}, {0x84, 0x32}, {0x84, 0x45}, {0x84, 0x29}, /* 0xC4-0xC7 */ + {0x83, 0xD9}, {0x84, 0x4B}, {0x84, 0x2F}, {0x84, 0x42}, /* 0xC8-0xCB */ + {0x84, 0x2D}, {0x84, 0x5F}, {0x84, 0x70}, {0x84, 0x39}, /* 0xCC-0xCF */ + {0x84, 0x4E}, {0x84, 0x4C}, {0x84, 0x52}, {0x84, 0x6F}, /* 0xD0-0xD3 */ + {0x84, 0xC5}, {0x84, 0x8E}, {0x84, 0x3B}, {0x84, 0x47}, /* 0xD4-0xD7 */ + {0x84, 0x36}, {0x84, 0x33}, {0x84, 0x68}, {0x84, 0x7E}, /* 0xD8-0xDB */ + {0x84, 0x44}, {0x84, 0x2B}, {0x84, 0x60}, {0x84, 0x54}, /* 0xDC-0xDF */ + {0x84, 0x6E}, {0x84, 0x50}, {0x87, 0x0B}, {0x87, 0x04}, /* 0xE0-0xE3 */ + {0x86, 0xF7}, {0x87, 0x0C}, {0x86, 0xFA}, {0x86, 0xD6}, /* 0xE4-0xE7 */ + {0x86, 0xF5}, {0x87, 0x4D}, {0x86, 0xF8}, {0x87, 0x0E}, /* 0xE8-0xEB */ + {0x87, 0x09}, {0x87, 0x01}, {0x86, 0xF6}, {0x87, 0x0D}, /* 0xEC-0xEF */ + {0x87, 0x05}, {0x88, 0xD6}, {0x88, 0xCB}, {0x88, 0xCD}, /* 0xF0-0xF3 */ + {0x88, 0xCE}, {0x88, 0xDE}, {0x88, 0xDB}, {0x88, 0xDA}, /* 0xF4-0xF7 */ + {0x88, 0xCC}, {0x88, 0xD0}, {0x89, 0x85}, {0x89, 0x9B}, /* 0xF8-0xFB */ + {0x89, 0xDF}, {0x89, 0xE5}, {0x89, 0xE4}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x89, 0xE1}, {0x89, 0xE0}, {0x89, 0xE2}, {0x89, 0xDC}, /* 0x40-0x43 */ + {0x89, 0xE6}, {0x8A, 0x76}, {0x8A, 0x86}, {0x8A, 0x7F}, /* 0x44-0x47 */ + {0x8A, 0x61}, {0x8A, 0x3F}, {0x8A, 0x77}, {0x8A, 0x82}, /* 0x48-0x4B */ + {0x8A, 0x84}, {0x8A, 0x75}, {0x8A, 0x83}, {0x8A, 0x81}, /* 0x4C-0x4F */ + {0x8A, 0x74}, {0x8A, 0x7A}, {0x8C, 0x3C}, {0x8C, 0x4B}, /* 0x50-0x53 */ + {0x8C, 0x4A}, {0x8C, 0x65}, {0x8C, 0x64}, {0x8C, 0x66}, /* 0x54-0x57 */ + {0x8C, 0x86}, {0x8C, 0x84}, {0x8C, 0x85}, {0x8C, 0xCC}, /* 0x58-0x5B */ + {0x8D, 0x68}, {0x8D, 0x69}, {0x8D, 0x91}, {0x8D, 0x8C}, /* 0x5C-0x5F */ + {0x8D, 0x8E}, {0x8D, 0x8F}, {0x8D, 0x8D}, {0x8D, 0x93}, /* 0x60-0x63 */ + {0x8D, 0x94}, {0x8D, 0x90}, {0x8D, 0x92}, {0x8D, 0xF0}, /* 0x64-0x67 */ + {0x8D, 0xE0}, {0x8D, 0xEC}, {0x8D, 0xF1}, {0x8D, 0xEE}, /* 0x68-0x6B */ + {0x8D, 0xD0}, {0x8D, 0xE9}, {0x8D, 0xE3}, {0x8D, 0xE2}, /* 0x6C-0x6F */ + {0x8D, 0xE7}, {0x8D, 0xF2}, {0x8D, 0xEB}, {0x8D, 0xF4}, /* 0x70-0x73 */ + {0x8F, 0x06}, {0x8E, 0xFF}, {0x8F, 0x01}, {0x8F, 0x00}, /* 0x74-0x77 */ + {0x8F, 0x05}, {0x8F, 0x07}, {0x8F, 0x08}, {0x8F, 0x02}, /* 0x78-0x7B */ + {0x8F, 0x0B}, {0x90, 0x52}, {0x90, 0x3F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x90, 0x44}, {0x90, 0x49}, {0x90, 0x3D}, /* 0xA0-0xA3 */ + {0x91, 0x10}, {0x91, 0x0D}, {0x91, 0x0F}, {0x91, 0x11}, /* 0xA4-0xA7 */ + {0x91, 0x16}, {0x91, 0x14}, {0x91, 0x0B}, {0x91, 0x0E}, /* 0xA8-0xAB */ + {0x91, 0x6E}, {0x91, 0x6F}, {0x92, 0x48}, {0x92, 0x52}, /* 0xAC-0xAF */ + {0x92, 0x30}, {0x92, 0x3A}, {0x92, 0x66}, {0x92, 0x33}, /* 0xB0-0xB3 */ + {0x92, 0x65}, {0x92, 0x5E}, {0x92, 0x83}, {0x92, 0x2E}, /* 0xB4-0xB7 */ + {0x92, 0x4A}, {0x92, 0x46}, {0x92, 0x6D}, {0x92, 0x6C}, /* 0xB8-0xBB */ + {0x92, 0x4F}, {0x92, 0x60}, {0x92, 0x67}, {0x92, 0x6F}, /* 0xBC-0xBF */ + {0x92, 0x36}, {0x92, 0x61}, {0x92, 0x70}, {0x92, 0x31}, /* 0xC0-0xC3 */ + {0x92, 0x54}, {0x92, 0x63}, {0x92, 0x50}, {0x92, 0x72}, /* 0xC4-0xC7 */ + {0x92, 0x4E}, {0x92, 0x53}, {0x92, 0x4C}, {0x92, 0x56}, /* 0xC8-0xCB */ + {0x92, 0x32}, {0x95, 0x9F}, {0x95, 0x9C}, {0x95, 0x9E}, /* 0xCC-0xCF */ + {0x95, 0x9B}, {0x96, 0x92}, {0x96, 0x93}, {0x96, 0x91}, /* 0xD0-0xD3 */ + {0x96, 0x97}, {0x96, 0xCE}, {0x96, 0xFA}, {0x96, 0xFD}, /* 0xD4-0xD7 */ + {0x96, 0xF8}, {0x96, 0xF5}, {0x97, 0x73}, {0x97, 0x77}, /* 0xD8-0xDB */ + {0x97, 0x78}, {0x97, 0x72}, {0x98, 0x0F}, {0x98, 0x0D}, /* 0xDC-0xDF */ + {0x98, 0x0E}, {0x98, 0xAC}, {0x98, 0xF6}, {0x98, 0xF9}, /* 0xE0-0xE3 */ + {0x99, 0xAF}, {0x99, 0xB2}, {0x99, 0xB0}, {0x99, 0xB5}, /* 0xE4-0xE7 */ + {0x9A, 0xAD}, {0x9A, 0xAB}, {0x9B, 0x5B}, {0x9C, 0xEA}, /* 0xE8-0xEB */ + {0x9C, 0xED}, {0x9C, 0xE7}, {0x9E, 0x80}, {0x9E, 0xFD}, /* 0xEC-0xEF */ + {0x50, 0xE6}, {0x50, 0xD4}, {0x50, 0xD7}, {0x50, 0xE8}, /* 0xF0-0xF3 */ + {0x50, 0xF3}, {0x50, 0xDB}, {0x50, 0xEA}, {0x50, 0xDD}, /* 0xF4-0xF7 */ + {0x50, 0xE4}, {0x50, 0xD3}, {0x50, 0xEC}, {0x50, 0xF0}, /* 0xF8-0xFB */ + {0x50, 0xEF}, {0x50, 0xE3}, {0x50, 0xE0}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x51, 0xD8}, {0x52, 0x80}, {0x52, 0x81}, {0x52, 0xE9}, /* 0x40-0x43 */ + {0x52, 0xEB}, {0x53, 0x30}, {0x53, 0xAC}, {0x56, 0x27}, /* 0x44-0x47 */ + {0x56, 0x15}, {0x56, 0x0C}, {0x56, 0x12}, {0x55, 0xFC}, /* 0x48-0x4B */ + {0x56, 0x0F}, {0x56, 0x1C}, {0x56, 0x01}, {0x56, 0x13}, /* 0x4C-0x4F */ + {0x56, 0x02}, {0x55, 0xFA}, {0x56, 0x1D}, {0x56, 0x04}, /* 0x50-0x53 */ + {0x55, 0xFF}, {0x55, 0xF9}, {0x58, 0x89}, {0x58, 0x7C}, /* 0x54-0x57 */ + {0x58, 0x90}, {0x58, 0x98}, {0x58, 0x86}, {0x58, 0x81}, /* 0x58-0x5B */ + {0x58, 0x7F}, {0x58, 0x74}, {0x58, 0x8B}, {0x58, 0x7A}, /* 0x5C-0x5F */ + {0x58, 0x87}, {0x58, 0x91}, {0x58, 0x8E}, {0x58, 0x76}, /* 0x60-0x63 */ + {0x58, 0x82}, {0x58, 0x88}, {0x58, 0x7B}, {0x58, 0x94}, /* 0x64-0x67 */ + {0x58, 0x8F}, {0x58, 0xFE}, {0x59, 0x6B}, {0x5A, 0xDC}, /* 0x68-0x6B */ + {0x5A, 0xEE}, {0x5A, 0xE5}, {0x5A, 0xD5}, {0x5A, 0xEA}, /* 0x6C-0x6F */ + {0x5A, 0xDA}, {0x5A, 0xED}, {0x5A, 0xEB}, {0x5A, 0xF3}, /* 0x70-0x73 */ + {0x5A, 0xE2}, {0x5A, 0xE0}, {0x5A, 0xDB}, {0x5A, 0xEC}, /* 0x74-0x77 */ + {0x5A, 0xDE}, {0x5A, 0xDD}, {0x5A, 0xD9}, {0x5A, 0xE8}, /* 0x78-0x7B */ + {0x5A, 0xDF}, {0x5B, 0x77}, {0x5B, 0xE0}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x5B, 0xE3}, {0x5C, 0x63}, {0x5D, 0x82}, /* 0xA0-0xA3 */ + {0x5D, 0x80}, {0x5D, 0x7D}, {0x5D, 0x86}, {0x5D, 0x7A}, /* 0xA4-0xA7 */ + {0x5D, 0x81}, {0x5D, 0x77}, {0x5D, 0x8A}, {0x5D, 0x89}, /* 0xA8-0xAB */ + {0x5D, 0x88}, {0x5D, 0x7E}, {0x5D, 0x7C}, {0x5D, 0x8D}, /* 0xAC-0xAF */ + {0x5D, 0x79}, {0x5D, 0x7F}, {0x5E, 0x58}, {0x5E, 0x59}, /* 0xB0-0xB3 */ + {0x5E, 0x53}, {0x5E, 0xD8}, {0x5E, 0xD1}, {0x5E, 0xD7}, /* 0xB4-0xB7 */ + {0x5E, 0xCE}, {0x5E, 0xDC}, {0x5E, 0xD5}, {0x5E, 0xD9}, /* 0xB8-0xBB */ + {0x5E, 0xD2}, {0x5E, 0xD4}, {0x5F, 0x44}, {0x5F, 0x43}, /* 0xBC-0xBF */ + {0x5F, 0x6F}, {0x5F, 0xB6}, {0x61, 0x2C}, {0x61, 0x28}, /* 0xC0-0xC3 */ + {0x61, 0x41}, {0x61, 0x5E}, {0x61, 0x71}, {0x61, 0x73}, /* 0xC4-0xC7 */ + {0x61, 0x52}, {0x61, 0x53}, {0x61, 0x72}, {0x61, 0x6C}, /* 0xC8-0xCB */ + {0x61, 0x80}, {0x61, 0x74}, {0x61, 0x54}, {0x61, 0x7A}, /* 0xCC-0xCF */ + {0x61, 0x5B}, {0x61, 0x65}, {0x61, 0x3B}, {0x61, 0x6A}, /* 0xD0-0xD3 */ + {0x61, 0x61}, {0x61, 0x56}, {0x62, 0x29}, {0x62, 0x27}, /* 0xD4-0xD7 */ + {0x62, 0x2B}, {0x64, 0x2B}, {0x64, 0x4D}, {0x64, 0x5B}, /* 0xD8-0xDB */ + {0x64, 0x5D}, {0x64, 0x74}, {0x64, 0x76}, {0x64, 0x72}, /* 0xDC-0xDF */ + {0x64, 0x73}, {0x64, 0x7D}, {0x64, 0x75}, {0x64, 0x66}, /* 0xE0-0xE3 */ + {0x64, 0xA6}, {0x64, 0x4E}, {0x64, 0x82}, {0x64, 0x5E}, /* 0xE4-0xE7 */ + {0x64, 0x5C}, {0x64, 0x4B}, {0x64, 0x53}, {0x64, 0x60}, /* 0xE8-0xEB */ + {0x64, 0x50}, {0x64, 0x7F}, {0x64, 0x3F}, {0x64, 0x6C}, /* 0xEC-0xEF */ + {0x64, 0x6B}, {0x64, 0x59}, {0x64, 0x65}, {0x64, 0x77}, /* 0xF0-0xF3 */ + {0x65, 0x73}, {0x65, 0xA0}, {0x66, 0xA1}, {0x66, 0xA0}, /* 0xF4-0xF7 */ + {0x66, 0x9F}, {0x67, 0x05}, {0x67, 0x04}, {0x67, 0x22}, /* 0xF8-0xFB */ + {0x69, 0xB1}, {0x69, 0xB6}, {0x69, 0xC9}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x69, 0xA0}, {0x69, 0xCE}, {0x69, 0x96}, {0x69, 0xB0}, /* 0x40-0x43 */ + {0x69, 0xAC}, {0x69, 0xBC}, {0x69, 0x91}, {0x69, 0x99}, /* 0x44-0x47 */ + {0x69, 0x8E}, {0x69, 0xA7}, {0x69, 0x8D}, {0x69, 0xA9}, /* 0x48-0x4B */ + {0x69, 0xBE}, {0x69, 0xAF}, {0x69, 0xBF}, {0x69, 0xC4}, /* 0x4C-0x4F */ + {0x69, 0xBD}, {0x69, 0xA4}, {0x69, 0xD4}, {0x69, 0xB9}, /* 0x50-0x53 */ + {0x69, 0xCA}, {0x69, 0x9A}, {0x69, 0xCF}, {0x69, 0xB3}, /* 0x54-0x57 */ + {0x69, 0x93}, {0x69, 0xAA}, {0x69, 0xA1}, {0x69, 0x9E}, /* 0x58-0x5B */ + {0x69, 0xD9}, {0x69, 0x97}, {0x69, 0x90}, {0x69, 0xC2}, /* 0x5C-0x5F */ + {0x69, 0xB5}, {0x69, 0xA5}, {0x69, 0xC6}, {0x6B, 0x4A}, /* 0x60-0x63 */ + {0x6B, 0x4D}, {0x6B, 0x4B}, {0x6B, 0x9E}, {0x6B, 0x9F}, /* 0x64-0x67 */ + {0x6B, 0xA0}, {0x6B, 0xC3}, {0x6B, 0xC4}, {0x6B, 0xFE}, /* 0x68-0x6B */ + {0x6E, 0xCE}, {0x6E, 0xF5}, {0x6E, 0xF1}, {0x6F, 0x03}, /* 0x6C-0x6F */ + {0x6F, 0x25}, {0x6E, 0xF8}, {0x6F, 0x37}, {0x6E, 0xFB}, /* 0x70-0x73 */ + {0x6F, 0x2E}, {0x6F, 0x09}, {0x6F, 0x4E}, {0x6F, 0x19}, /* 0x74-0x77 */ + {0x6F, 0x1A}, {0x6F, 0x27}, {0x6F, 0x18}, {0x6F, 0x3B}, /* 0x78-0x7B */ + {0x6F, 0x12}, {0x6E, 0xED}, {0x6F, 0x0A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x6F, 0x36}, {0x6F, 0x73}, {0x6E, 0xF9}, /* 0xA0-0xA3 */ + {0x6E, 0xEE}, {0x6F, 0x2D}, {0x6F, 0x40}, {0x6F, 0x30}, /* 0xA4-0xA7 */ + {0x6F, 0x3C}, {0x6F, 0x35}, {0x6E, 0xEB}, {0x6F, 0x07}, /* 0xA8-0xAB */ + {0x6F, 0x0E}, {0x6F, 0x43}, {0x6F, 0x05}, {0x6E, 0xFD}, /* 0xAC-0xAF */ + {0x6E, 0xF6}, {0x6F, 0x39}, {0x6F, 0x1C}, {0x6E, 0xFC}, /* 0xB0-0xB3 */ + {0x6F, 0x3A}, {0x6F, 0x1F}, {0x6F, 0x0D}, {0x6F, 0x1E}, /* 0xB4-0xB7 */ + {0x6F, 0x08}, {0x6F, 0x21}, {0x71, 0x87}, {0x71, 0x90}, /* 0xB8-0xBB */ + {0x71, 0x89}, {0x71, 0x80}, {0x71, 0x85}, {0x71, 0x82}, /* 0xBC-0xBF */ + {0x71, 0x8F}, {0x71, 0x7B}, {0x71, 0x86}, {0x71, 0x81}, /* 0xC0-0xC3 */ + {0x71, 0x97}, {0x72, 0x44}, {0x72, 0x53}, {0x72, 0x97}, /* 0xC4-0xC7 */ + {0x72, 0x95}, {0x72, 0x93}, {0x73, 0x43}, {0x73, 0x4D}, /* 0xC8-0xCB */ + {0x73, 0x51}, {0x73, 0x4C}, {0x74, 0x62}, {0x74, 0x73}, /* 0xCC-0xCF */ + {0x74, 0x71}, {0x74, 0x75}, {0x74, 0x72}, {0x74, 0x67}, /* 0xD0-0xD3 */ + {0x74, 0x6E}, {0x75, 0x00}, {0x75, 0x02}, {0x75, 0x03}, /* 0xD4-0xD7 */ + {0x75, 0x7D}, {0x75, 0x90}, {0x76, 0x16}, {0x76, 0x08}, /* 0xD8-0xDB */ + {0x76, 0x0C}, {0x76, 0x15}, {0x76, 0x11}, {0x76, 0x0A}, /* 0xDC-0xDF */ + {0x76, 0x14}, {0x76, 0xB8}, {0x77, 0x81}, {0x77, 0x7C}, /* 0xE0-0xE3 */ + {0x77, 0x85}, {0x77, 0x82}, {0x77, 0x6E}, {0x77, 0x80}, /* 0xE4-0xE7 */ + {0x77, 0x6F}, {0x77, 0x7E}, {0x77, 0x83}, {0x78, 0xB2}, /* 0xE8-0xEB */ + {0x78, 0xAA}, {0x78, 0xB4}, {0x78, 0xAD}, {0x78, 0xA8}, /* 0xEC-0xEF */ + {0x78, 0x7E}, {0x78, 0xAB}, {0x78, 0x9E}, {0x78, 0xA5}, /* 0xF0-0xF3 */ + {0x78, 0xA0}, {0x78, 0xAC}, {0x78, 0xA2}, {0x78, 0xA4}, /* 0xF4-0xF7 */ + {0x79, 0x98}, {0x79, 0x8A}, {0x79, 0x8B}, {0x79, 0x96}, /* 0xF8-0xFB */ + {0x79, 0x95}, {0x79, 0x94}, {0x79, 0x93}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x79, 0x97}, {0x79, 0x88}, {0x79, 0x92}, {0x79, 0x90}, /* 0x40-0x43 */ + {0x7A, 0x2B}, {0x7A, 0x4A}, {0x7A, 0x30}, {0x7A, 0x2F}, /* 0x44-0x47 */ + {0x7A, 0x28}, {0x7A, 0x26}, {0x7A, 0xA8}, {0x7A, 0xAB}, /* 0x48-0x4B */ + {0x7A, 0xAC}, {0x7A, 0xEE}, {0x7B, 0x88}, {0x7B, 0x9C}, /* 0x4C-0x4F */ + {0x7B, 0x8A}, {0x7B, 0x91}, {0x7B, 0x90}, {0x7B, 0x96}, /* 0x50-0x53 */ + {0x7B, 0x8D}, {0x7B, 0x8C}, {0x7B, 0x9B}, {0x7B, 0x8E}, /* 0x54-0x57 */ + {0x7B, 0x85}, {0x7B, 0x98}, {0x52, 0x84}, {0x7B, 0x99}, /* 0x58-0x5B */ + {0x7B, 0xA4}, {0x7B, 0x82}, {0x7C, 0xBB}, {0x7C, 0xBF}, /* 0x5C-0x5F */ + {0x7C, 0xBC}, {0x7C, 0xBA}, {0x7D, 0xA7}, {0x7D, 0xB7}, /* 0x60-0x63 */ + {0x7D, 0xC2}, {0x7D, 0xA3}, {0x7D, 0xAA}, {0x7D, 0xC1}, /* 0x64-0x67 */ + {0x7D, 0xC0}, {0x7D, 0xC5}, {0x7D, 0x9D}, {0x7D, 0xCE}, /* 0x68-0x6B */ + {0x7D, 0xC4}, {0x7D, 0xC6}, {0x7D, 0xCB}, {0x7D, 0xCC}, /* 0x6C-0x6F */ + {0x7D, 0xAF}, {0x7D, 0xB9}, {0x7D, 0x96}, {0x7D, 0xBC}, /* 0x70-0x73 */ + {0x7D, 0x9F}, {0x7D, 0xA6}, {0x7D, 0xAE}, {0x7D, 0xA9}, /* 0x74-0x77 */ + {0x7D, 0xA1}, {0x7D, 0xC9}, {0x7F, 0x73}, {0x7F, 0xE2}, /* 0x78-0x7B */ + {0x7F, 0xE3}, {0x7F, 0xE5}, {0x7F, 0xDE}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x80, 0x24}, {0x80, 0x5D}, {0x80, 0x5C}, /* 0xA0-0xA3 */ + {0x81, 0x89}, {0x81, 0x86}, {0x81, 0x83}, {0x81, 0x87}, /* 0xA4-0xA7 */ + {0x81, 0x8D}, {0x81, 0x8C}, {0x81, 0x8B}, {0x82, 0x15}, /* 0xA8-0xAB */ + {0x84, 0x97}, {0x84, 0xA4}, {0x84, 0xA1}, {0x84, 0x9F}, /* 0xAC-0xAF */ + {0x84, 0xBA}, {0x84, 0xCE}, {0x84, 0xC2}, {0x84, 0xAC}, /* 0xB0-0xB3 */ + {0x84, 0xAE}, {0x84, 0xAB}, {0x84, 0xB9}, {0x84, 0xB4}, /* 0xB4-0xB7 */ + {0x84, 0xC1}, {0x84, 0xCD}, {0x84, 0xAA}, {0x84, 0x9A}, /* 0xB8-0xBB */ + {0x84, 0xB1}, {0x84, 0xD0}, {0x84, 0x9D}, {0x84, 0xA7}, /* 0xBC-0xBF */ + {0x84, 0xBB}, {0x84, 0xA2}, {0x84, 0x94}, {0x84, 0xC7}, /* 0xC0-0xC3 */ + {0x84, 0xCC}, {0x84, 0x9B}, {0x84, 0xA9}, {0x84, 0xAF}, /* 0xC4-0xC7 */ + {0x84, 0xA8}, {0x84, 0xD6}, {0x84, 0x98}, {0x84, 0xB6}, /* 0xC8-0xCB */ + {0x84, 0xCF}, {0x84, 0xA0}, {0x84, 0xD7}, {0x84, 0xD4}, /* 0xCC-0xCF */ + {0x84, 0xD2}, {0x84, 0xDB}, {0x84, 0xB0}, {0x84, 0x91}, /* 0xD0-0xD3 */ + {0x86, 0x61}, {0x87, 0x33}, {0x87, 0x23}, {0x87, 0x28}, /* 0xD4-0xD7 */ + {0x87, 0x6B}, {0x87, 0x40}, {0x87, 0x2E}, {0x87, 0x1E}, /* 0xD8-0xDB */ + {0x87, 0x21}, {0x87, 0x19}, {0x87, 0x1B}, {0x87, 0x43}, /* 0xDC-0xDF */ + {0x87, 0x2C}, {0x87, 0x41}, {0x87, 0x3E}, {0x87, 0x46}, /* 0xE0-0xE3 */ + {0x87, 0x20}, {0x87, 0x32}, {0x87, 0x2A}, {0x87, 0x2D}, /* 0xE4-0xE7 */ + {0x87, 0x3C}, {0x87, 0x12}, {0x87, 0x3A}, {0x87, 0x31}, /* 0xE8-0xEB */ + {0x87, 0x35}, {0x87, 0x42}, {0x87, 0x26}, {0x87, 0x27}, /* 0xEC-0xEF */ + {0x87, 0x38}, {0x87, 0x24}, {0x87, 0x1A}, {0x87, 0x30}, /* 0xF0-0xF3 */ + {0x87, 0x11}, {0x88, 0xF7}, {0x88, 0xE7}, {0x88, 0xF1}, /* 0xF4-0xF7 */ + {0x88, 0xF2}, {0x88, 0xFA}, {0x88, 0xFE}, {0x88, 0xEE}, /* 0xF8-0xFB */ + {0x88, 0xFC}, {0x88, 0xF6}, {0x88, 0xFB}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x88, 0xF0}, {0x88, 0xEC}, {0x88, 0xEB}, {0x89, 0x9D}, /* 0x40-0x43 */ + {0x89, 0xA1}, {0x89, 0x9F}, {0x89, 0x9E}, {0x89, 0xE9}, /* 0x44-0x47 */ + {0x89, 0xEB}, {0x89, 0xE8}, {0x8A, 0xAB}, {0x8A, 0x99}, /* 0x48-0x4B */ + {0x8A, 0x8B}, {0x8A, 0x92}, {0x8A, 0x8F}, {0x8A, 0x96}, /* 0x4C-0x4F */ + {0x8C, 0x3D}, {0x8C, 0x68}, {0x8C, 0x69}, {0x8C, 0xD5}, /* 0x50-0x53 */ + {0x8C, 0xCF}, {0x8C, 0xD7}, {0x8D, 0x96}, {0x8E, 0x09}, /* 0x54-0x57 */ + {0x8E, 0x02}, {0x8D, 0xFF}, {0x8E, 0x0D}, {0x8D, 0xFD}, /* 0x58-0x5B */ + {0x8E, 0x0A}, {0x8E, 0x03}, {0x8E, 0x07}, {0x8E, 0x06}, /* 0x5C-0x5F */ + {0x8E, 0x05}, {0x8D, 0xFE}, {0x8E, 0x00}, {0x8E, 0x04}, /* 0x60-0x63 */ + {0x8F, 0x10}, {0x8F, 0x11}, {0x8F, 0x0E}, {0x8F, 0x0D}, /* 0x64-0x67 */ + {0x91, 0x23}, {0x91, 0x1C}, {0x91, 0x20}, {0x91, 0x22}, /* 0x68-0x6B */ + {0x91, 0x1F}, {0x91, 0x1D}, {0x91, 0x1A}, {0x91, 0x24}, /* 0x6C-0x6F */ + {0x91, 0x21}, {0x91, 0x1B}, {0x91, 0x7A}, {0x91, 0x72}, /* 0x70-0x73 */ + {0x91, 0x79}, {0x91, 0x73}, {0x92, 0xA5}, {0x92, 0xA4}, /* 0x74-0x77 */ + {0x92, 0x76}, {0x92, 0x9B}, {0x92, 0x7A}, {0x92, 0xA0}, /* 0x78-0x7B */ + {0x92, 0x94}, {0x92, 0xAA}, {0x92, 0x8D}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x92, 0xA6}, {0x92, 0x9A}, {0x92, 0xAB}, /* 0xA0-0xA3 */ + {0x92, 0x79}, {0x92, 0x97}, {0x92, 0x7F}, {0x92, 0xA3}, /* 0xA4-0xA7 */ + {0x92, 0xEE}, {0x92, 0x8E}, {0x92, 0x82}, {0x92, 0x95}, /* 0xA8-0xAB */ + {0x92, 0xA2}, {0x92, 0x7D}, {0x92, 0x88}, {0x92, 0xA1}, /* 0xAC-0xAF */ + {0x92, 0x8A}, {0x92, 0x86}, {0x92, 0x8C}, {0x92, 0x99}, /* 0xB0-0xB3 */ + {0x92, 0xA7}, {0x92, 0x7E}, {0x92, 0x87}, {0x92, 0xA9}, /* 0xB4-0xB7 */ + {0x92, 0x9D}, {0x92, 0x8B}, {0x92, 0x2D}, {0x96, 0x9E}, /* 0xB8-0xBB */ + {0x96, 0xA1}, {0x96, 0xFF}, {0x97, 0x58}, {0x97, 0x7D}, /* 0xBC-0xBF */ + {0x97, 0x7A}, {0x97, 0x7E}, {0x97, 0x83}, {0x97, 0x80}, /* 0xC0-0xC3 */ + {0x97, 0x82}, {0x97, 0x7B}, {0x97, 0x84}, {0x97, 0x81}, /* 0xC4-0xC7 */ + {0x97, 0x7F}, {0x97, 0xCE}, {0x97, 0xCD}, {0x98, 0x16}, /* 0xC8-0xCB */ + {0x98, 0xAD}, {0x98, 0xAE}, {0x99, 0x02}, {0x99, 0x00}, /* 0xCC-0xCF */ + {0x99, 0x07}, {0x99, 0x9D}, {0x99, 0x9C}, {0x99, 0xC3}, /* 0xD0-0xD3 */ + {0x99, 0xB9}, {0x99, 0xBB}, {0x99, 0xBA}, {0x99, 0xC2}, /* 0xD4-0xD7 */ + {0x99, 0xBD}, {0x99, 0xC7}, {0x9A, 0xB1}, {0x9A, 0xE3}, /* 0xD8-0xDB */ + {0x9A, 0xE7}, {0x9B, 0x3E}, {0x9B, 0x3F}, {0x9B, 0x60}, /* 0xDC-0xDF */ + {0x9B, 0x61}, {0x9B, 0x5F}, {0x9C, 0xF1}, {0x9C, 0xF2}, /* 0xE0-0xE3 */ + {0x9C, 0xF5}, {0x9E, 0xA7}, {0x50, 0xFF}, {0x51, 0x03}, /* 0xE4-0xE7 */ + {0x51, 0x30}, {0x50, 0xF8}, {0x51, 0x06}, {0x51, 0x07}, /* 0xE8-0xEB */ + {0x50, 0xF6}, {0x50, 0xFE}, {0x51, 0x0B}, {0x51, 0x0C}, /* 0xEC-0xEF */ + {0x50, 0xFD}, {0x51, 0x0A}, {0x52, 0x8B}, {0x52, 0x8C}, /* 0xF0-0xF3 */ + {0x52, 0xF1}, {0x52, 0xEF}, {0x56, 0x48}, {0x56, 0x42}, /* 0xF4-0xF7 */ + {0x56, 0x4C}, {0x56, 0x35}, {0x56, 0x41}, {0x56, 0x4A}, /* 0xF8-0xFB */ + {0x56, 0x49}, {0x56, 0x46}, {0x56, 0x58}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x56, 0x5A}, {0x56, 0x40}, {0x56, 0x33}, {0x56, 0x3D}, /* 0x40-0x43 */ + {0x56, 0x2C}, {0x56, 0x3E}, {0x56, 0x38}, {0x56, 0x2A}, /* 0x44-0x47 */ + {0x56, 0x3A}, {0x57, 0x1A}, {0x58, 0xAB}, {0x58, 0x9D}, /* 0x48-0x4B */ + {0x58, 0xB1}, {0x58, 0xA0}, {0x58, 0xA3}, {0x58, 0xAF}, /* 0x4C-0x4F */ + {0x58, 0xAC}, {0x58, 0xA5}, {0x58, 0xA1}, {0x58, 0xFF}, /* 0x50-0x53 */ + {0x5A, 0xFF}, {0x5A, 0xF4}, {0x5A, 0xFD}, {0x5A, 0xF7}, /* 0x54-0x57 */ + {0x5A, 0xF6}, {0x5B, 0x03}, {0x5A, 0xF8}, {0x5B, 0x02}, /* 0x58-0x5B */ + {0x5A, 0xF9}, {0x5B, 0x01}, {0x5B, 0x07}, {0x5B, 0x05}, /* 0x5C-0x5F */ + {0x5B, 0x0F}, {0x5C, 0x67}, {0x5D, 0x99}, {0x5D, 0x97}, /* 0x60-0x63 */ + {0x5D, 0x9F}, {0x5D, 0x92}, {0x5D, 0xA2}, {0x5D, 0x93}, /* 0x64-0x67 */ + {0x5D, 0x95}, {0x5D, 0xA0}, {0x5D, 0x9C}, {0x5D, 0xA1}, /* 0x68-0x6B */ + {0x5D, 0x9A}, {0x5D, 0x9E}, {0x5E, 0x69}, {0x5E, 0x5D}, /* 0x6C-0x6F */ + {0x5E, 0x60}, {0x5E, 0x5C}, {0x7D, 0xF3}, {0x5E, 0xDB}, /* 0x70-0x73 */ + {0x5E, 0xDE}, {0x5E, 0xE1}, {0x5F, 0x49}, {0x5F, 0xB2}, /* 0x74-0x77 */ + {0x61, 0x8B}, {0x61, 0x83}, {0x61, 0x79}, {0x61, 0xB1}, /* 0x78-0x7B */ + {0x61, 0xB0}, {0x61, 0xA2}, {0x61, 0x89}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x61, 0x9B}, {0x61, 0x93}, {0x61, 0xAF}, /* 0xA0-0xA3 */ + {0x61, 0xAD}, {0x61, 0x9F}, {0x61, 0x92}, {0x61, 0xAA}, /* 0xA4-0xA7 */ + {0x61, 0xA1}, {0x61, 0x8D}, {0x61, 0x66}, {0x61, 0xB3}, /* 0xA8-0xAB */ + {0x62, 0x2D}, {0x64, 0x6E}, {0x64, 0x70}, {0x64, 0x96}, /* 0xAC-0xAF */ + {0x64, 0xA0}, {0x64, 0x85}, {0x64, 0x97}, {0x64, 0x9C}, /* 0xB0-0xB3 */ + {0x64, 0x8F}, {0x64, 0x8B}, {0x64, 0x8A}, {0x64, 0x8C}, /* 0xB4-0xB7 */ + {0x64, 0xA3}, {0x64, 0x9F}, {0x64, 0x68}, {0x64, 0xB1}, /* 0xB8-0xBB */ + {0x64, 0x98}, {0x65, 0x76}, {0x65, 0x7A}, {0x65, 0x79}, /* 0xBC-0xBF */ + {0x65, 0x7B}, {0x65, 0xB2}, {0x65, 0xB3}, {0x66, 0xB5}, /* 0xC0-0xC3 */ + {0x66, 0xB0}, {0x66, 0xA9}, {0x66, 0xB2}, {0x66, 0xB7}, /* 0xC4-0xC7 */ + {0x66, 0xAA}, {0x66, 0xAF}, {0x6A, 0x00}, {0x6A, 0x06}, /* 0xC8-0xCB */ + {0x6A, 0x17}, {0x69, 0xE5}, {0x69, 0xF8}, {0x6A, 0x15}, /* 0xCC-0xCF */ + {0x69, 0xF1}, {0x69, 0xE4}, {0x6A, 0x20}, {0x69, 0xFF}, /* 0xD0-0xD3 */ + {0x69, 0xEC}, {0x69, 0xE2}, {0x6A, 0x1B}, {0x6A, 0x1D}, /* 0xD4-0xD7 */ + {0x69, 0xFE}, {0x6A, 0x27}, {0x69, 0xF2}, {0x69, 0xEE}, /* 0xD8-0xDB */ + {0x6A, 0x14}, {0x69, 0xF7}, {0x69, 0xE7}, {0x6A, 0x40}, /* 0xDC-0xDF */ + {0x6A, 0x08}, {0x69, 0xE6}, {0x69, 0xFB}, {0x6A, 0x0D}, /* 0xE0-0xE3 */ + {0x69, 0xFC}, {0x69, 0xEB}, {0x6A, 0x09}, {0x6A, 0x04}, /* 0xE4-0xE7 */ + {0x6A, 0x18}, {0x6A, 0x25}, {0x6A, 0x0F}, {0x69, 0xF6}, /* 0xE8-0xEB */ + {0x6A, 0x26}, {0x6A, 0x07}, {0x69, 0xF4}, {0x6A, 0x16}, /* 0xEC-0xEF */ + {0x6B, 0x51}, {0x6B, 0xA5}, {0x6B, 0xA3}, {0x6B, 0xA2}, /* 0xF0-0xF3 */ + {0x6B, 0xA6}, {0x6C, 0x01}, {0x6C, 0x00}, {0x6B, 0xFF}, /* 0xF4-0xF7 */ + {0x6C, 0x02}, {0x6F, 0x41}, {0x6F, 0x26}, {0x6F, 0x7E}, /* 0xF8-0xFB */ + {0x6F, 0x87}, {0x6F, 0xC6}, {0x6F, 0x92}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6F, 0x8D}, {0x6F, 0x89}, {0x6F, 0x8C}, {0x6F, 0x62}, /* 0x40-0x43 */ + {0x6F, 0x4F}, {0x6F, 0x85}, {0x6F, 0x5A}, {0x6F, 0x96}, /* 0x44-0x47 */ + {0x6F, 0x76}, {0x6F, 0x6C}, {0x6F, 0x82}, {0x6F, 0x55}, /* 0x48-0x4B */ + {0x6F, 0x72}, {0x6F, 0x52}, {0x6F, 0x50}, {0x6F, 0x57}, /* 0x4C-0x4F */ + {0x6F, 0x94}, {0x6F, 0x93}, {0x6F, 0x5D}, {0x6F, 0x00}, /* 0x50-0x53 */ + {0x6F, 0x61}, {0x6F, 0x6B}, {0x6F, 0x7D}, {0x6F, 0x67}, /* 0x54-0x57 */ + {0x6F, 0x90}, {0x6F, 0x53}, {0x6F, 0x8B}, {0x6F, 0x69}, /* 0x58-0x5B */ + {0x6F, 0x7F}, {0x6F, 0x95}, {0x6F, 0x63}, {0x6F, 0x77}, /* 0x5C-0x5F */ + {0x6F, 0x6A}, {0x6F, 0x7B}, {0x71, 0xB2}, {0x71, 0xAF}, /* 0x60-0x63 */ + {0x71, 0x9B}, {0x71, 0xB0}, {0x71, 0xA0}, {0x71, 0x9A}, /* 0x64-0x67 */ + {0x71, 0xA9}, {0x71, 0xB5}, {0x71, 0x9D}, {0x71, 0xA5}, /* 0x68-0x6B */ + {0x71, 0x9E}, {0x71, 0xA4}, {0x71, 0xA1}, {0x71, 0xAA}, /* 0x6C-0x6F */ + {0x71, 0x9C}, {0x71, 0xA7}, {0x71, 0xB3}, {0x72, 0x98}, /* 0x70-0x73 */ + {0x72, 0x9A}, {0x73, 0x58}, {0x73, 0x52}, {0x73, 0x5E}, /* 0x74-0x77 */ + {0x73, 0x5F}, {0x73, 0x60}, {0x73, 0x5D}, {0x73, 0x5B}, /* 0x78-0x7B */ + {0x73, 0x61}, {0x73, 0x5A}, {0x73, 0x59}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x73, 0x62}, {0x74, 0x87}, {0x74, 0x89}, /* 0xA0-0xA3 */ + {0x74, 0x8A}, {0x74, 0x86}, {0x74, 0x81}, {0x74, 0x7D}, /* 0xA4-0xA7 */ + {0x74, 0x85}, {0x74, 0x88}, {0x74, 0x7C}, {0x74, 0x79}, /* 0xA8-0xAB */ + {0x75, 0x08}, {0x75, 0x07}, {0x75, 0x7E}, {0x76, 0x25}, /* 0xAC-0xAF */ + {0x76, 0x1E}, {0x76, 0x19}, {0x76, 0x1D}, {0x76, 0x1C}, /* 0xB0-0xB3 */ + {0x76, 0x23}, {0x76, 0x1A}, {0x76, 0x28}, {0x76, 0x1B}, /* 0xB4-0xB7 */ + {0x76, 0x9C}, {0x76, 0x9D}, {0x76, 0x9E}, {0x76, 0x9B}, /* 0xB8-0xBB */ + {0x77, 0x8D}, {0x77, 0x8F}, {0x77, 0x89}, {0x77, 0x88}, /* 0xBC-0xBF */ + {0x78, 0xCD}, {0x78, 0xBB}, {0x78, 0xCF}, {0x78, 0xCC}, /* 0xC0-0xC3 */ + {0x78, 0xD1}, {0x78, 0xCE}, {0x78, 0xD4}, {0x78, 0xC8}, /* 0xC4-0xC7 */ + {0x78, 0xC3}, {0x78, 0xC4}, {0x78, 0xC9}, {0x79, 0x9A}, /* 0xC8-0xCB */ + {0x79, 0xA1}, {0x79, 0xA0}, {0x79, 0x9C}, {0x79, 0xA2}, /* 0xCC-0xCF */ + {0x79, 0x9B}, {0x6B, 0x76}, {0x7A, 0x39}, {0x7A, 0xB2}, /* 0xD0-0xD3 */ + {0x7A, 0xB4}, {0x7A, 0xB3}, {0x7B, 0xB7}, {0x7B, 0xCB}, /* 0xD4-0xD7 */ + {0x7B, 0xBE}, {0x7B, 0xAC}, {0x7B, 0xCE}, {0x7B, 0xAF}, /* 0xD8-0xDB */ + {0x7B, 0xB9}, {0x7B, 0xCA}, {0x7B, 0xB5}, {0x7C, 0xC5}, /* 0xDC-0xDF */ + {0x7C, 0xC8}, {0x7C, 0xCC}, {0x7C, 0xCB}, {0x7D, 0xF7}, /* 0xE0-0xE3 */ + {0x7D, 0xDB}, {0x7D, 0xEA}, {0x7D, 0xE7}, {0x7D, 0xD7}, /* 0xE4-0xE7 */ + {0x7D, 0xE1}, {0x7E, 0x03}, {0x7D, 0xFA}, {0x7D, 0xE6}, /* 0xE8-0xEB */ + {0x7D, 0xF6}, {0x7D, 0xF1}, {0x7D, 0xF0}, {0x7D, 0xEE}, /* 0xEC-0xEF */ + {0x7D, 0xDF}, {0x7F, 0x76}, {0x7F, 0xAC}, {0x7F, 0xB0}, /* 0xF0-0xF3 */ + {0x7F, 0xAD}, {0x7F, 0xED}, {0x7F, 0xEB}, {0x7F, 0xEA}, /* 0xF4-0xF7 */ + {0x7F, 0xEC}, {0x7F, 0xE6}, {0x7F, 0xE8}, {0x80, 0x64}, /* 0xF8-0xFB */ + {0x80, 0x67}, {0x81, 0xA3}, {0x81, 0x9F}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x81, 0x9E}, {0x81, 0x95}, {0x81, 0xA2}, {0x81, 0x99}, /* 0x40-0x43 */ + {0x81, 0x97}, {0x82, 0x16}, {0x82, 0x4F}, {0x82, 0x53}, /* 0x44-0x47 */ + {0x82, 0x52}, {0x82, 0x50}, {0x82, 0x4E}, {0x82, 0x51}, /* 0x48-0x4B */ + {0x85, 0x24}, {0x85, 0x3B}, {0x85, 0x0F}, {0x85, 0x00}, /* 0x4C-0x4F */ + {0x85, 0x29}, {0x85, 0x0E}, {0x85, 0x09}, {0x85, 0x0D}, /* 0x50-0x53 */ + {0x85, 0x1F}, {0x85, 0x0A}, {0x85, 0x27}, {0x85, 0x1C}, /* 0x54-0x57 */ + {0x84, 0xFB}, {0x85, 0x2B}, {0x84, 0xFA}, {0x85, 0x08}, /* 0x58-0x5B */ + {0x85, 0x0C}, {0x84, 0xF4}, {0x85, 0x2A}, {0x84, 0xF2}, /* 0x5C-0x5F */ + {0x85, 0x15}, {0x84, 0xF7}, {0x84, 0xEB}, {0x84, 0xF3}, /* 0x60-0x63 */ + {0x84, 0xFC}, {0x85, 0x12}, {0x84, 0xEA}, {0x84, 0xE9}, /* 0x64-0x67 */ + {0x85, 0x16}, {0x84, 0xFE}, {0x85, 0x28}, {0x85, 0x1D}, /* 0x68-0x6B */ + {0x85, 0x2E}, {0x85, 0x02}, {0x84, 0xFD}, {0x85, 0x1E}, /* 0x6C-0x6F */ + {0x84, 0xF6}, {0x85, 0x31}, {0x85, 0x26}, {0x84, 0xE7}, /* 0x70-0x73 */ + {0x84, 0xE8}, {0x84, 0xF0}, {0x84, 0xEF}, {0x84, 0xF9}, /* 0x74-0x77 */ + {0x85, 0x18}, {0x85, 0x20}, {0x85, 0x30}, {0x85, 0x0B}, /* 0x78-0x7B */ + {0x85, 0x19}, {0x85, 0x2F}, {0x86, 0x62}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x87, 0x56}, {0x87, 0x63}, {0x87, 0x64}, /* 0xA0-0xA3 */ + {0x87, 0x77}, {0x87, 0xE1}, {0x87, 0x73}, {0x87, 0x58}, /* 0xA4-0xA7 */ + {0x87, 0x54}, {0x87, 0x5B}, {0x87, 0x52}, {0x87, 0x61}, /* 0xA8-0xAB */ + {0x87, 0x5A}, {0x87, 0x51}, {0x87, 0x5E}, {0x87, 0x6D}, /* 0xAC-0xAF */ + {0x87, 0x6A}, {0x87, 0x50}, {0x87, 0x4E}, {0x87, 0x5F}, /* 0xB0-0xB3 */ + {0x87, 0x5D}, {0x87, 0x6F}, {0x87, 0x6C}, {0x87, 0x7A}, /* 0xB4-0xB7 */ + {0x87, 0x6E}, {0x87, 0x5C}, {0x87, 0x65}, {0x87, 0x4F}, /* 0xB8-0xBB */ + {0x87, 0x7B}, {0x87, 0x75}, {0x87, 0x62}, {0x87, 0x67}, /* 0xBC-0xBF */ + {0x87, 0x69}, {0x88, 0x5A}, {0x89, 0x05}, {0x89, 0x0C}, /* 0xC0-0xC3 */ + {0x89, 0x14}, {0x89, 0x0B}, {0x89, 0x17}, {0x89, 0x18}, /* 0xC4-0xC7 */ + {0x89, 0x19}, {0x89, 0x06}, {0x89, 0x16}, {0x89, 0x11}, /* 0xC8-0xCB */ + {0x89, 0x0E}, {0x89, 0x09}, {0x89, 0xA2}, {0x89, 0xA4}, /* 0xCC-0xCF */ + {0x89, 0xA3}, {0x89, 0xED}, {0x89, 0xF0}, {0x89, 0xEC}, /* 0xD0-0xD3 */ + {0x8A, 0xCF}, {0x8A, 0xC6}, {0x8A, 0xB8}, {0x8A, 0xD3}, /* 0xD4-0xD7 */ + {0x8A, 0xD1}, {0x8A, 0xD4}, {0x8A, 0xD5}, {0x8A, 0xBB}, /* 0xD8-0xDB */ + {0x8A, 0xD7}, {0x8A, 0xBE}, {0x8A, 0xC0}, {0x8A, 0xC5}, /* 0xDC-0xDF */ + {0x8A, 0xD8}, {0x8A, 0xC3}, {0x8A, 0xBA}, {0x8A, 0xBD}, /* 0xE0-0xE3 */ + {0x8A, 0xD9}, {0x8C, 0x3E}, {0x8C, 0x4D}, {0x8C, 0x8F}, /* 0xE4-0xE7 */ + {0x8C, 0xE5}, {0x8C, 0xDF}, {0x8C, 0xD9}, {0x8C, 0xE8}, /* 0xE8-0xEB */ + {0x8C, 0xDA}, {0x8C, 0xDD}, {0x8C, 0xE7}, {0x8D, 0xA0}, /* 0xEC-0xEF */ + {0x8D, 0x9C}, {0x8D, 0xA1}, {0x8D, 0x9B}, {0x8E, 0x20}, /* 0xF0-0xF3 */ + {0x8E, 0x23}, {0x8E, 0x25}, {0x8E, 0x24}, {0x8E, 0x2E}, /* 0xF4-0xF7 */ + {0x8E, 0x15}, {0x8E, 0x1B}, {0x8E, 0x16}, {0x8E, 0x11}, /* 0xF8-0xFB */ + {0x8E, 0x19}, {0x8E, 0x26}, {0x8E, 0x27}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8E, 0x14}, {0x8E, 0x12}, {0x8E, 0x18}, {0x8E, 0x13}, /* 0x40-0x43 */ + {0x8E, 0x1C}, {0x8E, 0x17}, {0x8E, 0x1A}, {0x8F, 0x2C}, /* 0x44-0x47 */ + {0x8F, 0x24}, {0x8F, 0x18}, {0x8F, 0x1A}, {0x8F, 0x20}, /* 0x48-0x4B */ + {0x8F, 0x23}, {0x8F, 0x16}, {0x8F, 0x17}, {0x90, 0x73}, /* 0x4C-0x4F */ + {0x90, 0x70}, {0x90, 0x6F}, {0x90, 0x67}, {0x90, 0x6B}, /* 0x50-0x53 */ + {0x91, 0x2F}, {0x91, 0x2B}, {0x91, 0x29}, {0x91, 0x2A}, /* 0x54-0x57 */ + {0x91, 0x32}, {0x91, 0x26}, {0x91, 0x2E}, {0x91, 0x85}, /* 0x58-0x5B */ + {0x91, 0x86}, {0x91, 0x8A}, {0x91, 0x81}, {0x91, 0x82}, /* 0x5C-0x5F */ + {0x91, 0x84}, {0x91, 0x80}, {0x92, 0xD0}, {0x92, 0xC3}, /* 0x60-0x63 */ + {0x92, 0xC4}, {0x92, 0xC0}, {0x92, 0xD9}, {0x92, 0xB6}, /* 0x64-0x67 */ + {0x92, 0xCF}, {0x92, 0xF1}, {0x92, 0xDF}, {0x92, 0xD8}, /* 0x68-0x6B */ + {0x92, 0xE9}, {0x92, 0xD7}, {0x92, 0xDD}, {0x92, 0xCC}, /* 0x6C-0x6F */ + {0x92, 0xEF}, {0x92, 0xC2}, {0x92, 0xE8}, {0x92, 0xCA}, /* 0x70-0x73 */ + {0x92, 0xC8}, {0x92, 0xCE}, {0x92, 0xE6}, {0x92, 0xCD}, /* 0x74-0x77 */ + {0x92, 0xD5}, {0x92, 0xC9}, {0x92, 0xE0}, {0x92, 0xDE}, /* 0x78-0x7B */ + {0x92, 0xE7}, {0x92, 0xD1}, {0x92, 0xD3}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x92, 0xB5}, {0x92, 0xE1}, {0x92, 0xC6}, /* 0xA0-0xA3 */ + {0x92, 0xB4}, {0x95, 0x7C}, {0x95, 0xAC}, {0x95, 0xAB}, /* 0xA4-0xA7 */ + {0x95, 0xAE}, {0x95, 0xB0}, {0x96, 0xA4}, {0x96, 0xA2}, /* 0xA8-0xAB */ + {0x96, 0xD3}, {0x97, 0x05}, {0x97, 0x08}, {0x97, 0x02}, /* 0xAC-0xAF */ + {0x97, 0x5A}, {0x97, 0x8A}, {0x97, 0x8E}, {0x97, 0x88}, /* 0xB0-0xB3 */ + {0x97, 0xD0}, {0x97, 0xCF}, {0x98, 0x1E}, {0x98, 0x1D}, /* 0xB4-0xB7 */ + {0x98, 0x26}, {0x98, 0x29}, {0x98, 0x28}, {0x98, 0x20}, /* 0xB8-0xBB */ + {0x98, 0x1B}, {0x98, 0x27}, {0x98, 0xB2}, {0x99, 0x08}, /* 0xBC-0xBF */ + {0x98, 0xFA}, {0x99, 0x11}, {0x99, 0x14}, {0x99, 0x16}, /* 0xC0-0xC3 */ + {0x99, 0x17}, {0x99, 0x15}, {0x99, 0xDC}, {0x99, 0xCD}, /* 0xC4-0xC7 */ + {0x99, 0xCF}, {0x99, 0xD3}, {0x99, 0xD4}, {0x99, 0xCE}, /* 0xC8-0xCB */ + {0x99, 0xC9}, {0x99, 0xD6}, {0x99, 0xD8}, {0x99, 0xCB}, /* 0xCC-0xCF */ + {0x99, 0xD7}, {0x99, 0xCC}, {0x9A, 0xB3}, {0x9A, 0xEC}, /* 0xD0-0xD3 */ + {0x9A, 0xEB}, {0x9A, 0xF3}, {0x9A, 0xF2}, {0x9A, 0xF1}, /* 0xD4-0xD7 */ + {0x9B, 0x46}, {0x9B, 0x43}, {0x9B, 0x67}, {0x9B, 0x74}, /* 0xD8-0xDB */ + {0x9B, 0x71}, {0x9B, 0x66}, {0x9B, 0x76}, {0x9B, 0x75}, /* 0xDC-0xDF */ + {0x9B, 0x70}, {0x9B, 0x68}, {0x9B, 0x64}, {0x9B, 0x6C}, /* 0xE0-0xE3 */ + {0x9C, 0xFC}, {0x9C, 0xFA}, {0x9C, 0xFD}, {0x9C, 0xFF}, /* 0xE4-0xE7 */ + {0x9C, 0xF7}, {0x9D, 0x07}, {0x9D, 0x00}, {0x9C, 0xF9}, /* 0xE8-0xEB */ + {0x9C, 0xFB}, {0x9D, 0x08}, {0x9D, 0x05}, {0x9D, 0x04}, /* 0xEC-0xEF */ + {0x9E, 0x83}, {0x9E, 0xD3}, {0x9F, 0x0F}, {0x9F, 0x10}, /* 0xF0-0xF3 */ + {0x51, 0x1C}, {0x51, 0x13}, {0x51, 0x17}, {0x51, 0x1A}, /* 0xF4-0xF7 */ + {0x51, 0x11}, {0x51, 0xDE}, {0x53, 0x34}, {0x53, 0xE1}, /* 0xF8-0xFB */ + {0x56, 0x70}, {0x56, 0x60}, {0x56, 0x6E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_E9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x56, 0x73}, {0x56, 0x66}, {0x56, 0x63}, {0x56, 0x6D}, /* 0x40-0x43 */ + {0x56, 0x72}, {0x56, 0x5E}, {0x56, 0x77}, {0x57, 0x1C}, /* 0x44-0x47 */ + {0x57, 0x1B}, {0x58, 0xC8}, {0x58, 0xBD}, {0x58, 0xC9}, /* 0x48-0x4B */ + {0x58, 0xBF}, {0x58, 0xBA}, {0x58, 0xC2}, {0x58, 0xBC}, /* 0x4C-0x4F */ + {0x58, 0xC6}, {0x5B, 0x17}, {0x5B, 0x19}, {0x5B, 0x1B}, /* 0x50-0x53 */ + {0x5B, 0x21}, {0x5B, 0x14}, {0x5B, 0x13}, {0x5B, 0x10}, /* 0x54-0x57 */ + {0x5B, 0x16}, {0x5B, 0x28}, {0x5B, 0x1A}, {0x5B, 0x20}, /* 0x58-0x5B */ + {0x5B, 0x1E}, {0x5B, 0xEF}, {0x5D, 0xAC}, {0x5D, 0xB1}, /* 0x5C-0x5F */ + {0x5D, 0xA9}, {0x5D, 0xA7}, {0x5D, 0xB5}, {0x5D, 0xB0}, /* 0x60-0x63 */ + {0x5D, 0xAE}, {0x5D, 0xAA}, {0x5D, 0xA8}, {0x5D, 0xB2}, /* 0x64-0x67 */ + {0x5D, 0xAD}, {0x5D, 0xAF}, {0x5D, 0xB4}, {0x5E, 0x67}, /* 0x68-0x6B */ + {0x5E, 0x68}, {0x5E, 0x66}, {0x5E, 0x6F}, {0x5E, 0xE9}, /* 0x6C-0x6F */ + {0x5E, 0xE7}, {0x5E, 0xE6}, {0x5E, 0xE8}, {0x5E, 0xE5}, /* 0x70-0x73 */ + {0x5F, 0x4B}, {0x5F, 0xBC}, {0x61, 0x9D}, {0x61, 0xA8}, /* 0x74-0x77 */ + {0x61, 0x96}, {0x61, 0xC5}, {0x61, 0xB4}, {0x61, 0xC6}, /* 0x78-0x7B */ + {0x61, 0xC1}, {0x61, 0xCC}, {0x61, 0xBA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x61, 0xBF}, {0x61, 0xB8}, {0x61, 0x8C}, /* 0xA0-0xA3 */ + {0x64, 0xD7}, {0x64, 0xD6}, {0x64, 0xD0}, {0x64, 0xCF}, /* 0xA4-0xA7 */ + {0x64, 0xC9}, {0x64, 0xBD}, {0x64, 0x89}, {0x64, 0xC3}, /* 0xA8-0xAB */ + {0x64, 0xDB}, {0x64, 0xF3}, {0x64, 0xD9}, {0x65, 0x33}, /* 0xAC-0xAF */ + {0x65, 0x7F}, {0x65, 0x7C}, {0x65, 0xA2}, {0x66, 0xC8}, /* 0xB0-0xB3 */ + {0x66, 0xBE}, {0x66, 0xC0}, {0x66, 0xCA}, {0x66, 0xCB}, /* 0xB4-0xB7 */ + {0x66, 0xCF}, {0x66, 0xBD}, {0x66, 0xBB}, {0x66, 0xBA}, /* 0xB8-0xBB */ + {0x66, 0xCC}, {0x67, 0x23}, {0x6A, 0x34}, {0x6A, 0x66}, /* 0xBC-0xBF */ + {0x6A, 0x49}, {0x6A, 0x67}, {0x6A, 0x32}, {0x6A, 0x68}, /* 0xC0-0xC3 */ + {0x6A, 0x3E}, {0x6A, 0x5D}, {0x6A, 0x6D}, {0x6A, 0x76}, /* 0xC4-0xC7 */ + {0x6A, 0x5B}, {0x6A, 0x51}, {0x6A, 0x28}, {0x6A, 0x5A}, /* 0xC8-0xCB */ + {0x6A, 0x3B}, {0x6A, 0x3F}, {0x6A, 0x41}, {0x6A, 0x6A}, /* 0xCC-0xCF */ + {0x6A, 0x64}, {0x6A, 0x50}, {0x6A, 0x4F}, {0x6A, 0x54}, /* 0xD0-0xD3 */ + {0x6A, 0x6F}, {0x6A, 0x69}, {0x6A, 0x60}, {0x6A, 0x3C}, /* 0xD4-0xD7 */ + {0x6A, 0x5E}, {0x6A, 0x56}, {0x6A, 0x55}, {0x6A, 0x4D}, /* 0xD8-0xDB */ + {0x6A, 0x4E}, {0x6A, 0x46}, {0x6B, 0x55}, {0x6B, 0x54}, /* 0xDC-0xDF */ + {0x6B, 0x56}, {0x6B, 0xA7}, {0x6B, 0xAA}, {0x6B, 0xAB}, /* 0xE0-0xE3 */ + {0x6B, 0xC8}, {0x6B, 0xC7}, {0x6C, 0x04}, {0x6C, 0x03}, /* 0xE4-0xE7 */ + {0x6C, 0x06}, {0x6F, 0xAD}, {0x6F, 0xCB}, {0x6F, 0xA3}, /* 0xE8-0xEB */ + {0x6F, 0xC7}, {0x6F, 0xBC}, {0x6F, 0xCE}, {0x6F, 0xC8}, /* 0xEC-0xEF */ + {0x6F, 0x5E}, {0x6F, 0xC4}, {0x6F, 0xBD}, {0x6F, 0x9E}, /* 0xF0-0xF3 */ + {0x6F, 0xCA}, {0x6F, 0xA8}, {0x70, 0x04}, {0x6F, 0xA5}, /* 0xF4-0xF7 */ + {0x6F, 0xAE}, {0x6F, 0xBA}, {0x6F, 0xAC}, {0x6F, 0xAA}, /* 0xF8-0xFB */ + {0x6F, 0xCF}, {0x6F, 0xBF}, {0x6F, 0xB8}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EA[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6F, 0xA2}, {0x6F, 0xC9}, {0x6F, 0xAB}, {0x6F, 0xCD}, /* 0x40-0x43 */ + {0x6F, 0xAF}, {0x6F, 0xB2}, {0x6F, 0xB0}, {0x71, 0xC5}, /* 0x44-0x47 */ + {0x71, 0xC2}, {0x71, 0xBF}, {0x71, 0xB8}, {0x71, 0xD6}, /* 0x48-0x4B */ + {0x71, 0xC0}, {0x71, 0xC1}, {0x71, 0xCB}, {0x71, 0xD4}, /* 0x4C-0x4F */ + {0x71, 0xCA}, {0x71, 0xC7}, {0x71, 0xCF}, {0x71, 0xBD}, /* 0x50-0x53 */ + {0x71, 0xD8}, {0x71, 0xBC}, {0x71, 0xC6}, {0x71, 0xDA}, /* 0x54-0x57 */ + {0x71, 0xDB}, {0x72, 0x9D}, {0x72, 0x9E}, {0x73, 0x69}, /* 0x58-0x5B */ + {0x73, 0x66}, {0x73, 0x67}, {0x73, 0x6C}, {0x73, 0x65}, /* 0x5C-0x5F */ + {0x73, 0x6B}, {0x73, 0x6A}, {0x74, 0x7F}, {0x74, 0x9A}, /* 0x60-0x63 */ + {0x74, 0xA0}, {0x74, 0x94}, {0x74, 0x92}, {0x74, 0x95}, /* 0x64-0x67 */ + {0x74, 0xA1}, {0x75, 0x0B}, {0x75, 0x80}, {0x76, 0x2F}, /* 0x68-0x6B */ + {0x76, 0x2D}, {0x76, 0x31}, {0x76, 0x3D}, {0x76, 0x33}, /* 0x6C-0x6F */ + {0x76, 0x3C}, {0x76, 0x35}, {0x76, 0x32}, {0x76, 0x30}, /* 0x70-0x73 */ + {0x76, 0xBB}, {0x76, 0xE6}, {0x77, 0x9A}, {0x77, 0x9D}, /* 0x74-0x77 */ + {0x77, 0xA1}, {0x77, 0x9C}, {0x77, 0x9B}, {0x77, 0xA2}, /* 0x78-0x7B */ + {0x77, 0xA3}, {0x77, 0x95}, {0x77, 0x99}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x77, 0x97}, {0x78, 0xDD}, {0x78, 0xE9}, /* 0xA0-0xA3 */ + {0x78, 0xE5}, {0x78, 0xEA}, {0x78, 0xDE}, {0x78, 0xE3}, /* 0xA4-0xA7 */ + {0x78, 0xDB}, {0x78, 0xE1}, {0x78, 0xE2}, {0x78, 0xED}, /* 0xA8-0xAB */ + {0x78, 0xDF}, {0x78, 0xE0}, {0x79, 0xA4}, {0x7A, 0x44}, /* 0xAC-0xAF */ + {0x7A, 0x48}, {0x7A, 0x47}, {0x7A, 0xB6}, {0x7A, 0xB8}, /* 0xB0-0xB3 */ + {0x7A, 0xB5}, {0x7A, 0xB1}, {0x7A, 0xB7}, {0x7B, 0xDE}, /* 0xB4-0xB7 */ + {0x7B, 0xE3}, {0x7B, 0xE7}, {0x7B, 0xDD}, {0x7B, 0xD5}, /* 0xB8-0xBB */ + {0x7B, 0xE5}, {0x7B, 0xDA}, {0x7B, 0xE8}, {0x7B, 0xF9}, /* 0xBC-0xBF */ + {0x7B, 0xD4}, {0x7B, 0xEA}, {0x7B, 0xE2}, {0x7B, 0xDC}, /* 0xC0-0xC3 */ + {0x7B, 0xEB}, {0x7B, 0xD8}, {0x7B, 0xDF}, {0x7C, 0xD2}, /* 0xC4-0xC7 */ + {0x7C, 0xD4}, {0x7C, 0xD7}, {0x7C, 0xD0}, {0x7C, 0xD1}, /* 0xC8-0xCB */ + {0x7E, 0x12}, {0x7E, 0x21}, {0x7E, 0x17}, {0x7E, 0x0C}, /* 0xCC-0xCF */ + {0x7E, 0x1F}, {0x7E, 0x20}, {0x7E, 0x13}, {0x7E, 0x0E}, /* 0xD0-0xD3 */ + {0x7E, 0x1C}, {0x7E, 0x15}, {0x7E, 0x1A}, {0x7E, 0x22}, /* 0xD4-0xD7 */ + {0x7E, 0x0B}, {0x7E, 0x0F}, {0x7E, 0x16}, {0x7E, 0x0D}, /* 0xD8-0xDB */ + {0x7E, 0x14}, {0x7E, 0x25}, {0x7E, 0x24}, {0x7F, 0x43}, /* 0xDC-0xDF */ + {0x7F, 0x7B}, {0x7F, 0x7C}, {0x7F, 0x7A}, {0x7F, 0xB1}, /* 0xE0-0xE3 */ + {0x7F, 0xEF}, {0x80, 0x2A}, {0x80, 0x29}, {0x80, 0x6C}, /* 0xE4-0xE7 */ + {0x81, 0xB1}, {0x81, 0xA6}, {0x81, 0xAE}, {0x81, 0xB9}, /* 0xE8-0xEB */ + {0x81, 0xB5}, {0x81, 0xAB}, {0x81, 0xB0}, {0x81, 0xAC}, /* 0xEC-0xEF */ + {0x81, 0xB4}, {0x81, 0xB2}, {0x81, 0xB7}, {0x81, 0xA7}, /* 0xF0-0xF3 */ + {0x81, 0xF2}, {0x82, 0x55}, {0x82, 0x56}, {0x82, 0x57}, /* 0xF4-0xF7 */ + {0x85, 0x56}, {0x85, 0x45}, {0x85, 0x6B}, {0x85, 0x4D}, /* 0xF8-0xFB */ + {0x85, 0x53}, {0x85, 0x61}, {0x85, 0x58}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EB[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x85, 0x40}, {0x85, 0x46}, {0x85, 0x64}, {0x85, 0x41}, /* 0x40-0x43 */ + {0x85, 0x62}, {0x85, 0x44}, {0x85, 0x51}, {0x85, 0x47}, /* 0x44-0x47 */ + {0x85, 0x63}, {0x85, 0x3E}, {0x85, 0x5B}, {0x85, 0x71}, /* 0x48-0x4B */ + {0x85, 0x4E}, {0x85, 0x6E}, {0x85, 0x75}, {0x85, 0x55}, /* 0x4C-0x4F */ + {0x85, 0x67}, {0x85, 0x60}, {0x85, 0x8C}, {0x85, 0x66}, /* 0x50-0x53 */ + {0x85, 0x5D}, {0x85, 0x54}, {0x85, 0x65}, {0x85, 0x6C}, /* 0x54-0x57 */ + {0x86, 0x63}, {0x86, 0x65}, {0x86, 0x64}, {0x87, 0x9B}, /* 0x58-0x5B */ + {0x87, 0x8F}, {0x87, 0x97}, {0x87, 0x93}, {0x87, 0x92}, /* 0x5C-0x5F */ + {0x87, 0x88}, {0x87, 0x81}, {0x87, 0x96}, {0x87, 0x98}, /* 0x60-0x63 */ + {0x87, 0x79}, {0x87, 0x87}, {0x87, 0xA3}, {0x87, 0x85}, /* 0x64-0x67 */ + {0x87, 0x90}, {0x87, 0x91}, {0x87, 0x9D}, {0x87, 0x84}, /* 0x68-0x6B */ + {0x87, 0x94}, {0x87, 0x9C}, {0x87, 0x9A}, {0x87, 0x89}, /* 0x6C-0x6F */ + {0x89, 0x1E}, {0x89, 0x26}, {0x89, 0x30}, {0x89, 0x2D}, /* 0x70-0x73 */ + {0x89, 0x2E}, {0x89, 0x27}, {0x89, 0x31}, {0x89, 0x22}, /* 0x74-0x77 */ + {0x89, 0x29}, {0x89, 0x23}, {0x89, 0x2F}, {0x89, 0x2C}, /* 0x78-0x7B */ + {0x89, 0x1F}, {0x89, 0xF1}, {0x8A, 0xE0}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x8A, 0xE2}, {0x8A, 0xF2}, {0x8A, 0xF4}, /* 0xA0-0xA3 */ + {0x8A, 0xF5}, {0x8A, 0xDD}, {0x8B, 0x14}, {0x8A, 0xE4}, /* 0xA4-0xA7 */ + {0x8A, 0xDF}, {0x8A, 0xF0}, {0x8A, 0xC8}, {0x8A, 0xDE}, /* 0xA8-0xAB */ + {0x8A, 0xE1}, {0x8A, 0xE8}, {0x8A, 0xFF}, {0x8A, 0xEF}, /* 0xAC-0xAF */ + {0x8A, 0xFB}, {0x8C, 0x91}, {0x8C, 0x92}, {0x8C, 0x90}, /* 0xB0-0xB3 */ + {0x8C, 0xF5}, {0x8C, 0xEE}, {0x8C, 0xF1}, {0x8C, 0xF0}, /* 0xB4-0xB7 */ + {0x8C, 0xF3}, {0x8D, 0x6C}, {0x8D, 0x6E}, {0x8D, 0xA5}, /* 0xB8-0xBB */ + {0x8D, 0xA7}, {0x8E, 0x33}, {0x8E, 0x3E}, {0x8E, 0x38}, /* 0xBC-0xBF */ + {0x8E, 0x40}, {0x8E, 0x45}, {0x8E, 0x36}, {0x8E, 0x3C}, /* 0xC0-0xC3 */ + {0x8E, 0x3D}, {0x8E, 0x41}, {0x8E, 0x30}, {0x8E, 0x3F}, /* 0xC4-0xC7 */ + {0x8E, 0xBD}, {0x8F, 0x36}, {0x8F, 0x2E}, {0x8F, 0x35}, /* 0xC8-0xCB */ + {0x8F, 0x32}, {0x8F, 0x39}, {0x8F, 0x37}, {0x8F, 0x34}, /* 0xCC-0xCF */ + {0x90, 0x76}, {0x90, 0x79}, {0x90, 0x7B}, {0x90, 0x86}, /* 0xD0-0xD3 */ + {0x90, 0xFA}, {0x91, 0x33}, {0x91, 0x35}, {0x91, 0x36}, /* 0xD4-0xD7 */ + {0x91, 0x93}, {0x91, 0x90}, {0x91, 0x91}, {0x91, 0x8D}, /* 0xD8-0xDB */ + {0x91, 0x8F}, {0x93, 0x27}, {0x93, 0x1E}, {0x93, 0x08}, /* 0xDC-0xDF */ + {0x93, 0x1F}, {0x93, 0x06}, {0x93, 0x0F}, {0x93, 0x7A}, /* 0xE0-0xE3 */ + {0x93, 0x38}, {0x93, 0x3C}, {0x93, 0x1B}, {0x93, 0x23}, /* 0xE4-0xE7 */ + {0x93, 0x12}, {0x93, 0x01}, {0x93, 0x46}, {0x93, 0x2D}, /* 0xE8-0xEB */ + {0x93, 0x0E}, {0x93, 0x0D}, {0x92, 0xCB}, {0x93, 0x1D}, /* 0xEC-0xEF */ + {0x92, 0xFA}, {0x93, 0x25}, {0x93, 0x13}, {0x92, 0xF9}, /* 0xF0-0xF3 */ + {0x92, 0xF7}, {0x93, 0x34}, {0x93, 0x02}, {0x93, 0x24}, /* 0xF4-0xF7 */ + {0x92, 0xFF}, {0x93, 0x29}, {0x93, 0x39}, {0x93, 0x35}, /* 0xF8-0xFB */ + {0x93, 0x2A}, {0x93, 0x14}, {0x93, 0x0C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EC[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x93, 0x0B}, {0x92, 0xFE}, {0x93, 0x09}, {0x93, 0x00}, /* 0x40-0x43 */ + {0x92, 0xFB}, {0x93, 0x16}, {0x95, 0xBC}, {0x95, 0xCD}, /* 0x44-0x47 */ + {0x95, 0xBE}, {0x95, 0xB9}, {0x95, 0xBA}, {0x95, 0xB6}, /* 0x48-0x4B */ + {0x95, 0xBF}, {0x95, 0xB5}, {0x95, 0xBD}, {0x96, 0xA9}, /* 0x4C-0x4F */ + {0x96, 0xD4}, {0x97, 0x0B}, {0x97, 0x12}, {0x97, 0x10}, /* 0x50-0x53 */ + {0x97, 0x99}, {0x97, 0x97}, {0x97, 0x94}, {0x97, 0xF0}, /* 0x54-0x57 */ + {0x97, 0xF8}, {0x98, 0x35}, {0x98, 0x2F}, {0x98, 0x32}, /* 0x58-0x5B */ + {0x99, 0x24}, {0x99, 0x1F}, {0x99, 0x27}, {0x99, 0x29}, /* 0x5C-0x5F */ + {0x99, 0x9E}, {0x99, 0xEE}, {0x99, 0xEC}, {0x99, 0xE5}, /* 0x60-0x63 */ + {0x99, 0xE4}, {0x99, 0xF0}, {0x99, 0xE3}, {0x99, 0xEA}, /* 0x64-0x67 */ + {0x99, 0xE9}, {0x99, 0xE7}, {0x9A, 0xB9}, {0x9A, 0xBF}, /* 0x68-0x6B */ + {0x9A, 0xB4}, {0x9A, 0xBB}, {0x9A, 0xF6}, {0x9A, 0xFA}, /* 0x6C-0x6F */ + {0x9A, 0xF9}, {0x9A, 0xF7}, {0x9B, 0x33}, {0x9B, 0x80}, /* 0x70-0x73 */ + {0x9B, 0x85}, {0x9B, 0x87}, {0x9B, 0x7C}, {0x9B, 0x7E}, /* 0x74-0x77 */ + {0x9B, 0x7B}, {0x9B, 0x82}, {0x9B, 0x93}, {0x9B, 0x92}, /* 0x78-0x7B */ + {0x9B, 0x90}, {0x9B, 0x7A}, {0x9B, 0x95}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x9B, 0x7D}, {0x9B, 0x88}, {0x9D, 0x25}, /* 0xA0-0xA3 */ + {0x9D, 0x17}, {0x9D, 0x20}, {0x9D, 0x1E}, {0x9D, 0x14}, /* 0xA4-0xA7 */ + {0x9D, 0x29}, {0x9D, 0x1D}, {0x9D, 0x18}, {0x9D, 0x22}, /* 0xA8-0xAB */ + {0x9D, 0x10}, {0x9D, 0x19}, {0x9D, 0x1F}, {0x9E, 0x88}, /* 0xAC-0xAF */ + {0x9E, 0x86}, {0x9E, 0x87}, {0x9E, 0xAE}, {0x9E, 0xAD}, /* 0xB0-0xB3 */ + {0x9E, 0xD5}, {0x9E, 0xD6}, {0x9E, 0xFA}, {0x9F, 0x12}, /* 0xB4-0xB7 */ + {0x9F, 0x3D}, {0x51, 0x26}, {0x51, 0x25}, {0x51, 0x22}, /* 0xB8-0xBB */ + {0x51, 0x24}, {0x51, 0x20}, {0x51, 0x29}, {0x52, 0xF4}, /* 0xBC-0xBF */ + {0x56, 0x93}, {0x56, 0x8C}, {0x56, 0x8D}, {0x56, 0x86}, /* 0xC0-0xC3 */ + {0x56, 0x84}, {0x56, 0x83}, {0x56, 0x7E}, {0x56, 0x82}, /* 0xC4-0xC7 */ + {0x56, 0x7F}, {0x56, 0x81}, {0x58, 0xD6}, {0x58, 0xD4}, /* 0xC8-0xCB */ + {0x58, 0xCF}, {0x58, 0xD2}, {0x5B, 0x2D}, {0x5B, 0x25}, /* 0xCC-0xCF */ + {0x5B, 0x32}, {0x5B, 0x23}, {0x5B, 0x2C}, {0x5B, 0x27}, /* 0xD0-0xD3 */ + {0x5B, 0x26}, {0x5B, 0x2F}, {0x5B, 0x2E}, {0x5B, 0x7B}, /* 0xD4-0xD7 */ + {0x5B, 0xF1}, {0x5B, 0xF2}, {0x5D, 0xB7}, {0x5E, 0x6C}, /* 0xD8-0xDB */ + {0x5E, 0x6A}, {0x5F, 0xBE}, {0x5F, 0xBB}, {0x61, 0xC3}, /* 0xDC-0xDF */ + {0x61, 0xB5}, {0x61, 0xBC}, {0x61, 0xE7}, {0x61, 0xE0}, /* 0xE0-0xE3 */ + {0x61, 0xE5}, {0x61, 0xE4}, {0x61, 0xE8}, {0x61, 0xDE}, /* 0xE4-0xE7 */ + {0x64, 0xEF}, {0x64, 0xE9}, {0x64, 0xE3}, {0x64, 0xEB}, /* 0xE8-0xEB */ + {0x64, 0xE4}, {0x64, 0xE8}, {0x65, 0x81}, {0x65, 0x80}, /* 0xEC-0xEF */ + {0x65, 0xB6}, {0x65, 0xDA}, {0x66, 0xD2}, {0x6A, 0x8D}, /* 0xF0-0xF3 */ + {0x6A, 0x96}, {0x6A, 0x81}, {0x6A, 0xA5}, {0x6A, 0x89}, /* 0xF4-0xF7 */ + {0x6A, 0x9F}, {0x6A, 0x9B}, {0x6A, 0xA1}, {0x6A, 0x9E}, /* 0xF8-0xFB */ + {0x6A, 0x87}, {0x6A, 0x93}, {0x6A, 0x8E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_ED[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x6A, 0x95}, {0x6A, 0x83}, {0x6A, 0xA8}, {0x6A, 0xA4}, /* 0x40-0x43 */ + {0x6A, 0x91}, {0x6A, 0x7F}, {0x6A, 0xA6}, {0x6A, 0x9A}, /* 0x44-0x47 */ + {0x6A, 0x85}, {0x6A, 0x8C}, {0x6A, 0x92}, {0x6B, 0x5B}, /* 0x48-0x4B */ + {0x6B, 0xAD}, {0x6C, 0x09}, {0x6F, 0xCC}, {0x6F, 0xA9}, /* 0x4C-0x4F */ + {0x6F, 0xF4}, {0x6F, 0xD4}, {0x6F, 0xE3}, {0x6F, 0xDC}, /* 0x50-0x53 */ + {0x6F, 0xED}, {0x6F, 0xE7}, {0x6F, 0xE6}, {0x6F, 0xDE}, /* 0x54-0x57 */ + {0x6F, 0xF2}, {0x6F, 0xDD}, {0x6F, 0xE2}, {0x6F, 0xE8}, /* 0x58-0x5B */ + {0x71, 0xE1}, {0x71, 0xF1}, {0x71, 0xE8}, {0x71, 0xF2}, /* 0x5C-0x5F */ + {0x71, 0xE4}, {0x71, 0xF0}, {0x71, 0xE2}, {0x73, 0x73}, /* 0x60-0x63 */ + {0x73, 0x6E}, {0x73, 0x6F}, {0x74, 0x97}, {0x74, 0xB2}, /* 0x64-0x67 */ + {0x74, 0xAB}, {0x74, 0x90}, {0x74, 0xAA}, {0x74, 0xAD}, /* 0x68-0x6B */ + {0x74, 0xB1}, {0x74, 0xA5}, {0x74, 0xAF}, {0x75, 0x10}, /* 0x6C-0x6F */ + {0x75, 0x11}, {0x75, 0x12}, {0x75, 0x0F}, {0x75, 0x84}, /* 0x70-0x73 */ + {0x76, 0x43}, {0x76, 0x48}, {0x76, 0x49}, {0x76, 0x47}, /* 0x74-0x77 */ + {0x76, 0xA4}, {0x76, 0xE9}, {0x77, 0xB5}, {0x77, 0xAB}, /* 0x78-0x7B */ + {0x77, 0xB2}, {0x77, 0xB7}, {0x77, 0xB6}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x77, 0xB4}, {0x77, 0xB1}, {0x77, 0xA8}, /* 0xA0-0xA3 */ + {0x77, 0xF0}, {0x78, 0xF3}, {0x78, 0xFD}, {0x79, 0x02}, /* 0xA4-0xA7 */ + {0x78, 0xFB}, {0x78, 0xFC}, {0x78, 0xF2}, {0x79, 0x05}, /* 0xA8-0xAB */ + {0x78, 0xF9}, {0x78, 0xFE}, {0x79, 0x04}, {0x79, 0xAB}, /* 0xAC-0xAF */ + {0x79, 0xA8}, {0x7A, 0x5C}, {0x7A, 0x5B}, {0x7A, 0x56}, /* 0xB0-0xB3 */ + {0x7A, 0x58}, {0x7A, 0x54}, {0x7A, 0x5A}, {0x7A, 0xBE}, /* 0xB4-0xB7 */ + {0x7A, 0xC0}, {0x7A, 0xC1}, {0x7C, 0x05}, {0x7C, 0x0F}, /* 0xB8-0xBB */ + {0x7B, 0xF2}, {0x7C, 0x00}, {0x7B, 0xFF}, {0x7B, 0xFB}, /* 0xBC-0xBF */ + {0x7C, 0x0E}, {0x7B, 0xF4}, {0x7C, 0x0B}, {0x7B, 0xF3}, /* 0xC0-0xC3 */ + {0x7C, 0x02}, {0x7C, 0x09}, {0x7C, 0x03}, {0x7C, 0x01}, /* 0xC4-0xC7 */ + {0x7B, 0xF8}, {0x7B, 0xFD}, {0x7C, 0x06}, {0x7B, 0xF0}, /* 0xC8-0xCB */ + {0x7B, 0xF1}, {0x7C, 0x10}, {0x7C, 0x0A}, {0x7C, 0xE8}, /* 0xCC-0xCF */ + {0x7E, 0x2D}, {0x7E, 0x3C}, {0x7E, 0x42}, {0x7E, 0x33}, /* 0xD0-0xD3 */ + {0x98, 0x48}, {0x7E, 0x38}, {0x7E, 0x2A}, {0x7E, 0x49}, /* 0xD4-0xD7 */ + {0x7E, 0x40}, {0x7E, 0x47}, {0x7E, 0x29}, {0x7E, 0x4C}, /* 0xD8-0xDB */ + {0x7E, 0x30}, {0x7E, 0x3B}, {0x7E, 0x36}, {0x7E, 0x44}, /* 0xDC-0xDF */ + {0x7E, 0x3A}, {0x7F, 0x45}, {0x7F, 0x7F}, {0x7F, 0x7E}, /* 0xE0-0xE3 */ + {0x7F, 0x7D}, {0x7F, 0xF4}, {0x7F, 0xF2}, {0x80, 0x2C}, /* 0xE4-0xE7 */ + {0x81, 0xBB}, {0x81, 0xC4}, {0x81, 0xCC}, {0x81, 0xCA}, /* 0xE8-0xEB */ + {0x81, 0xC5}, {0x81, 0xC7}, {0x81, 0xBC}, {0x81, 0xE9}, /* 0xEC-0xEF */ + {0x82, 0x5B}, {0x82, 0x5A}, {0x82, 0x5C}, {0x85, 0x83}, /* 0xF0-0xF3 */ + {0x85, 0x80}, {0x85, 0x8F}, {0x85, 0xA7}, {0x85, 0x95}, /* 0xF4-0xF7 */ + {0x85, 0xA0}, {0x85, 0x8B}, {0x85, 0xA3}, {0x85, 0x7B}, /* 0xF8-0xFB */ + {0x85, 0xA4}, {0x85, 0x9A}, {0x85, 0x9E}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EE[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x85, 0x77}, {0x85, 0x7C}, {0x85, 0x89}, {0x85, 0xA1}, /* 0x40-0x43 */ + {0x85, 0x7A}, {0x85, 0x78}, {0x85, 0x57}, {0x85, 0x8E}, /* 0x44-0x47 */ + {0x85, 0x96}, {0x85, 0x86}, {0x85, 0x8D}, {0x85, 0x99}, /* 0x48-0x4B */ + {0x85, 0x9D}, {0x85, 0x81}, {0x85, 0xA2}, {0x85, 0x82}, /* 0x4C-0x4F */ + {0x85, 0x88}, {0x85, 0x85}, {0x85, 0x79}, {0x85, 0x76}, /* 0x50-0x53 */ + {0x85, 0x98}, {0x85, 0x90}, {0x85, 0x9F}, {0x86, 0x68}, /* 0x54-0x57 */ + {0x87, 0xBE}, {0x87, 0xAA}, {0x87, 0xAD}, {0x87, 0xC5}, /* 0x58-0x5B */ + {0x87, 0xB0}, {0x87, 0xAC}, {0x87, 0xB9}, {0x87, 0xB5}, /* 0x5C-0x5F */ + {0x87, 0xBC}, {0x87, 0xAE}, {0x87, 0xC9}, {0x87, 0xC3}, /* 0x60-0x63 */ + {0x87, 0xC2}, {0x87, 0xCC}, {0x87, 0xB7}, {0x87, 0xAF}, /* 0x64-0x67 */ + {0x87, 0xC4}, {0x87, 0xCA}, {0x87, 0xB4}, {0x87, 0xB6}, /* 0x68-0x6B */ + {0x87, 0xBF}, {0x87, 0xB8}, {0x87, 0xBD}, {0x87, 0xDE}, /* 0x6C-0x6F */ + {0x87, 0xB2}, {0x89, 0x35}, {0x89, 0x33}, {0x89, 0x3C}, /* 0x70-0x73 */ + {0x89, 0x3E}, {0x89, 0x41}, {0x89, 0x52}, {0x89, 0x37}, /* 0x74-0x77 */ + {0x89, 0x42}, {0x89, 0xAD}, {0x89, 0xAF}, {0x89, 0xAE}, /* 0x78-0x7B */ + {0x89, 0xF2}, {0x89, 0xF3}, {0x8B, 0x1E}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x8B, 0x18}, {0x8B, 0x16}, {0x8B, 0x11}, /* 0xA0-0xA3 */ + {0x8B, 0x05}, {0x8B, 0x0B}, {0x8B, 0x22}, {0x8B, 0x0F}, /* 0xA4-0xA7 */ + {0x8B, 0x12}, {0x8B, 0x15}, {0x8B, 0x07}, {0x8B, 0x0D}, /* 0xA8-0xAB */ + {0x8B, 0x08}, {0x8B, 0x06}, {0x8B, 0x1C}, {0x8B, 0x13}, /* 0xAC-0xAF */ + {0x8B, 0x1A}, {0x8C, 0x4F}, {0x8C, 0x70}, {0x8C, 0x72}, /* 0xB0-0xB3 */ + {0x8C, 0x71}, {0x8C, 0x6F}, {0x8C, 0x95}, {0x8C, 0x94}, /* 0xB4-0xB7 */ + {0x8C, 0xF9}, {0x8D, 0x6F}, {0x8E, 0x4E}, {0x8E, 0x4D}, /* 0xB8-0xBB */ + {0x8E, 0x53}, {0x8E, 0x50}, {0x8E, 0x4C}, {0x8E, 0x47}, /* 0xBC-0xBF */ + {0x8F, 0x43}, {0x8F, 0x40}, {0x90, 0x85}, {0x90, 0x7E}, /* 0xC0-0xC3 */ + {0x91, 0x38}, {0x91, 0x9A}, {0x91, 0xA2}, {0x91, 0x9B}, /* 0xC4-0xC7 */ + {0x91, 0x99}, {0x91, 0x9F}, {0x91, 0xA1}, {0x91, 0x9D}, /* 0xC8-0xCB */ + {0x91, 0xA0}, {0x93, 0xA1}, {0x93, 0x83}, {0x93, 0xAF}, /* 0xCC-0xCF */ + {0x93, 0x64}, {0x93, 0x56}, {0x93, 0x47}, {0x93, 0x7C}, /* 0xD0-0xD3 */ + {0x93, 0x58}, {0x93, 0x5C}, {0x93, 0x76}, {0x93, 0x49}, /* 0xD4-0xD7 */ + {0x93, 0x50}, {0x93, 0x51}, {0x93, 0x60}, {0x93, 0x6D}, /* 0xD8-0xDB */ + {0x93, 0x8F}, {0x93, 0x4C}, {0x93, 0x6A}, {0x93, 0x79}, /* 0xDC-0xDF */ + {0x93, 0x57}, {0x93, 0x55}, {0x93, 0x52}, {0x93, 0x4F}, /* 0xE0-0xE3 */ + {0x93, 0x71}, {0x93, 0x77}, {0x93, 0x7B}, {0x93, 0x61}, /* 0xE4-0xE7 */ + {0x93, 0x5E}, {0x93, 0x63}, {0x93, 0x67}, {0x93, 0x80}, /* 0xE8-0xEB */ + {0x93, 0x4E}, {0x93, 0x59}, {0x95, 0xC7}, {0x95, 0xC0}, /* 0xEC-0xEF */ + {0x95, 0xC9}, {0x95, 0xC3}, {0x95, 0xC5}, {0x95, 0xB7}, /* 0xF0-0xF3 */ + {0x96, 0xAE}, {0x96, 0xB0}, {0x96, 0xAC}, {0x97, 0x20}, /* 0xF4-0xF7 */ + {0x97, 0x1F}, {0x97, 0x18}, {0x97, 0x1D}, {0x97, 0x19}, /* 0xF8-0xFB */ + {0x97, 0x9A}, {0x97, 0xA1}, {0x97, 0x9C}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_EF[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x97, 0x9E}, {0x97, 0x9D}, {0x97, 0xD5}, {0x97, 0xD4}, /* 0x40-0x43 */ + {0x97, 0xF1}, {0x98, 0x41}, {0x98, 0x44}, {0x98, 0x4A}, /* 0x44-0x47 */ + {0x98, 0x49}, {0x98, 0x45}, {0x98, 0x43}, {0x99, 0x25}, /* 0x48-0x4B */ + {0x99, 0x2B}, {0x99, 0x2C}, {0x99, 0x2A}, {0x99, 0x33}, /* 0x4C-0x4F */ + {0x99, 0x32}, {0x99, 0x2F}, {0x99, 0x2D}, {0x99, 0x31}, /* 0x50-0x53 */ + {0x99, 0x30}, {0x99, 0x98}, {0x99, 0xA3}, {0x99, 0xA1}, /* 0x54-0x57 */ + {0x9A, 0x02}, {0x99, 0xFA}, {0x99, 0xF4}, {0x99, 0xF7}, /* 0x58-0x5B */ + {0x99, 0xF9}, {0x99, 0xF8}, {0x99, 0xF6}, {0x99, 0xFB}, /* 0x5C-0x5F */ + {0x99, 0xFD}, {0x99, 0xFE}, {0x99, 0xFC}, {0x9A, 0x03}, /* 0x60-0x63 */ + {0x9A, 0xBE}, {0x9A, 0xFE}, {0x9A, 0xFD}, {0x9B, 0x01}, /* 0x64-0x67 */ + {0x9A, 0xFC}, {0x9B, 0x48}, {0x9B, 0x9A}, {0x9B, 0xA8}, /* 0x68-0x6B */ + {0x9B, 0x9E}, {0x9B, 0x9B}, {0x9B, 0xA6}, {0x9B, 0xA1}, /* 0x6C-0x6F */ + {0x9B, 0xA5}, {0x9B, 0xA4}, {0x9B, 0x86}, {0x9B, 0xA2}, /* 0x70-0x73 */ + {0x9B, 0xA0}, {0x9B, 0xAF}, {0x9D, 0x33}, {0x9D, 0x41}, /* 0x74-0x77 */ + {0x9D, 0x67}, {0x9D, 0x36}, {0x9D, 0x2E}, {0x9D, 0x2F}, /* 0x78-0x7B */ + {0x9D, 0x31}, {0x9D, 0x38}, {0x9D, 0x30}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x9D, 0x45}, {0x9D, 0x42}, {0x9D, 0x43}, /* 0xA0-0xA3 */ + {0x9D, 0x3E}, {0x9D, 0x37}, {0x9D, 0x40}, {0x9D, 0x3D}, /* 0xA4-0xA7 */ + {0x7F, 0xF5}, {0x9D, 0x2D}, {0x9E, 0x8A}, {0x9E, 0x89}, /* 0xA8-0xAB */ + {0x9E, 0x8D}, {0x9E, 0xB0}, {0x9E, 0xC8}, {0x9E, 0xDA}, /* 0xAC-0xAF */ + {0x9E, 0xFB}, {0x9E, 0xFF}, {0x9F, 0x24}, {0x9F, 0x23}, /* 0xB0-0xB3 */ + {0x9F, 0x22}, {0x9F, 0x54}, {0x9F, 0xA0}, {0x51, 0x31}, /* 0xB4-0xB7 */ + {0x51, 0x2D}, {0x51, 0x2E}, {0x56, 0x98}, {0x56, 0x9C}, /* 0xB8-0xBB */ + {0x56, 0x97}, {0x56, 0x9A}, {0x56, 0x9D}, {0x56, 0x99}, /* 0xBC-0xBF */ + {0x59, 0x70}, {0x5B, 0x3C}, {0x5C, 0x69}, {0x5C, 0x6A}, /* 0xC0-0xC3 */ + {0x5D, 0xC0}, {0x5E, 0x6D}, {0x5E, 0x6E}, {0x61, 0xD8}, /* 0xC4-0xC7 */ + {0x61, 0xDF}, {0x61, 0xED}, {0x61, 0xEE}, {0x61, 0xF1}, /* 0xC8-0xCB */ + {0x61, 0xEA}, {0x61, 0xF0}, {0x61, 0xEB}, {0x61, 0xD6}, /* 0xCC-0xCF */ + {0x61, 0xE9}, {0x64, 0xFF}, {0x65, 0x04}, {0x64, 0xFD}, /* 0xD0-0xD3 */ + {0x64, 0xF8}, {0x65, 0x01}, {0x65, 0x03}, {0x64, 0xFC}, /* 0xD4-0xD7 */ + {0x65, 0x94}, {0x65, 0xDB}, {0x66, 0xDA}, {0x66, 0xDB}, /* 0xD8-0xDB */ + {0x66, 0xD8}, {0x6A, 0xC5}, {0x6A, 0xB9}, {0x6A, 0xBD}, /* 0xDC-0xDF */ + {0x6A, 0xE1}, {0x6A, 0xC6}, {0x6A, 0xBA}, {0x6A, 0xB6}, /* 0xE0-0xE3 */ + {0x6A, 0xB7}, {0x6A, 0xC7}, {0x6A, 0xB4}, {0x6A, 0xAD}, /* 0xE4-0xE7 */ + {0x6B, 0x5E}, {0x6B, 0xC9}, {0x6C, 0x0B}, {0x70, 0x07}, /* 0xE8-0xEB */ + {0x70, 0x0C}, {0x70, 0x0D}, {0x70, 0x01}, {0x70, 0x05}, /* 0xEC-0xEF */ + {0x70, 0x14}, {0x70, 0x0E}, {0x6F, 0xFF}, {0x70, 0x00}, /* 0xF0-0xF3 */ + {0x6F, 0xFB}, {0x70, 0x26}, {0x6F, 0xFC}, {0x6F, 0xF7}, /* 0xF4-0xF7 */ + {0x70, 0x0A}, {0x72, 0x01}, {0x71, 0xFF}, {0x71, 0xF9}, /* 0xF8-0xFB */ + {0x72, 0x03}, {0x71, 0xFD}, {0x73, 0x76}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F0[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x74, 0xB8}, {0x74, 0xC0}, {0x74, 0xB5}, {0x74, 0xC1}, /* 0x40-0x43 */ + {0x74, 0xBE}, {0x74, 0xB6}, {0x74, 0xBB}, {0x74, 0xC2}, /* 0x44-0x47 */ + {0x75, 0x14}, {0x75, 0x13}, {0x76, 0x5C}, {0x76, 0x64}, /* 0x48-0x4B */ + {0x76, 0x59}, {0x76, 0x50}, {0x76, 0x53}, {0x76, 0x57}, /* 0x4C-0x4F */ + {0x76, 0x5A}, {0x76, 0xA6}, {0x76, 0xBD}, {0x76, 0xEC}, /* 0x50-0x53 */ + {0x77, 0xC2}, {0x77, 0xBA}, {0x78, 0xFF}, {0x79, 0x0C}, /* 0x54-0x57 */ + {0x79, 0x13}, {0x79, 0x14}, {0x79, 0x09}, {0x79, 0x10}, /* 0x58-0x5B */ + {0x79, 0x12}, {0x79, 0x11}, {0x79, 0xAD}, {0x79, 0xAC}, /* 0x5C-0x5F */ + {0x7A, 0x5F}, {0x7C, 0x1C}, {0x7C, 0x29}, {0x7C, 0x19}, /* 0x60-0x63 */ + {0x7C, 0x20}, {0x7C, 0x1F}, {0x7C, 0x2D}, {0x7C, 0x1D}, /* 0x64-0x67 */ + {0x7C, 0x26}, {0x7C, 0x28}, {0x7C, 0x22}, {0x7C, 0x25}, /* 0x68-0x6B */ + {0x7C, 0x30}, {0x7E, 0x5C}, {0x7E, 0x50}, {0x7E, 0x56}, /* 0x6C-0x6F */ + {0x7E, 0x63}, {0x7E, 0x58}, {0x7E, 0x62}, {0x7E, 0x5F}, /* 0x70-0x73 */ + {0x7E, 0x51}, {0x7E, 0x60}, {0x7E, 0x57}, {0x7E, 0x53}, /* 0x74-0x77 */ + {0x7F, 0xB5}, {0x7F, 0xB3}, {0x7F, 0xF7}, {0x7F, 0xF8}, /* 0x78-0x7B */ + {0x80, 0x75}, {0x81, 0xD1}, {0x81, 0xD2}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x81, 0xD0}, {0x82, 0x5F}, {0x82, 0x5E}, /* 0xA0-0xA3 */ + {0x85, 0xB4}, {0x85, 0xC6}, {0x85, 0xC0}, {0x85, 0xC3}, /* 0xA4-0xA7 */ + {0x85, 0xC2}, {0x85, 0xB3}, {0x85, 0xB5}, {0x85, 0xBD}, /* 0xA8-0xAB */ + {0x85, 0xC7}, {0x85, 0xC4}, {0x85, 0xBF}, {0x85, 0xCB}, /* 0xAC-0xAF */ + {0x85, 0xCE}, {0x85, 0xC8}, {0x85, 0xC5}, {0x85, 0xB1}, /* 0xB0-0xB3 */ + {0x85, 0xB6}, {0x85, 0xD2}, {0x86, 0x24}, {0x85, 0xB8}, /* 0xB4-0xB7 */ + {0x85, 0xB7}, {0x85, 0xBE}, {0x86, 0x69}, {0x87, 0xE7}, /* 0xB8-0xBB */ + {0x87, 0xE6}, {0x87, 0xE2}, {0x87, 0xDB}, {0x87, 0xEB}, /* 0xBC-0xBF */ + {0x87, 0xEA}, {0x87, 0xE5}, {0x87, 0xDF}, {0x87, 0xF3}, /* 0xC0-0xC3 */ + {0x87, 0xE4}, {0x87, 0xD4}, {0x87, 0xDC}, {0x87, 0xD3}, /* 0xC4-0xC7 */ + {0x87, 0xED}, {0x87, 0xD8}, {0x87, 0xE3}, {0x87, 0xA4}, /* 0xC8-0xCB */ + {0x87, 0xD7}, {0x87, 0xD9}, {0x88, 0x01}, {0x87, 0xF4}, /* 0xCC-0xCF */ + {0x87, 0xE8}, {0x87, 0xDD}, {0x89, 0x53}, {0x89, 0x4B}, /* 0xD0-0xD3 */ + {0x89, 0x4F}, {0x89, 0x4C}, {0x89, 0x46}, {0x89, 0x50}, /* 0xD4-0xD7 */ + {0x89, 0x51}, {0x89, 0x49}, {0x8B, 0x2A}, {0x8B, 0x27}, /* 0xD8-0xDB */ + {0x8B, 0x23}, {0x8B, 0x33}, {0x8B, 0x30}, {0x8B, 0x35}, /* 0xDC-0xDF */ + {0x8B, 0x47}, {0x8B, 0x2F}, {0x8B, 0x3C}, {0x8B, 0x3E}, /* 0xE0-0xE3 */ + {0x8B, 0x31}, {0x8B, 0x25}, {0x8B, 0x37}, {0x8B, 0x26}, /* 0xE4-0xE7 */ + {0x8B, 0x36}, {0x8B, 0x2E}, {0x8B, 0x24}, {0x8B, 0x3B}, /* 0xE8-0xEB */ + {0x8B, 0x3D}, {0x8B, 0x3A}, {0x8C, 0x42}, {0x8C, 0x75}, /* 0xEC-0xEF */ + {0x8C, 0x99}, {0x8C, 0x98}, {0x8C, 0x97}, {0x8C, 0xFE}, /* 0xF0-0xF3 */ + {0x8D, 0x04}, {0x8D, 0x02}, {0x8D, 0x00}, {0x8E, 0x5C}, /* 0xF4-0xF7 */ + {0x8E, 0x62}, {0x8E, 0x60}, {0x8E, 0x57}, {0x8E, 0x56}, /* 0xF8-0xFB */ + {0x8E, 0x5E}, {0x8E, 0x65}, {0x8E, 0x67}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F1[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8E, 0x5B}, {0x8E, 0x5A}, {0x8E, 0x61}, {0x8E, 0x5D}, /* 0x40-0x43 */ + {0x8E, 0x69}, {0x8E, 0x54}, {0x8F, 0x46}, {0x8F, 0x47}, /* 0x44-0x47 */ + {0x8F, 0x48}, {0x8F, 0x4B}, {0x91, 0x28}, {0x91, 0x3A}, /* 0x48-0x4B */ + {0x91, 0x3B}, {0x91, 0x3E}, {0x91, 0xA8}, {0x91, 0xA5}, /* 0x4C-0x4F */ + {0x91, 0xA7}, {0x91, 0xAF}, {0x91, 0xAA}, {0x93, 0xB5}, /* 0x50-0x53 */ + {0x93, 0x8C}, {0x93, 0x92}, {0x93, 0xB7}, {0x93, 0x9B}, /* 0x54-0x57 */ + {0x93, 0x9D}, {0x93, 0x89}, {0x93, 0xA7}, {0x93, 0x8E}, /* 0x58-0x5B */ + {0x93, 0xAA}, {0x93, 0x9E}, {0x93, 0xA6}, {0x93, 0x95}, /* 0x5C-0x5F */ + {0x93, 0x88}, {0x93, 0x99}, {0x93, 0x9F}, {0x93, 0x8D}, /* 0x60-0x63 */ + {0x93, 0xB1}, {0x93, 0x91}, {0x93, 0xB2}, {0x93, 0xA4}, /* 0x64-0x67 */ + {0x93, 0xA8}, {0x93, 0xB4}, {0x93, 0xA3}, {0x93, 0xA5}, /* 0x68-0x6B */ + {0x95, 0xD2}, {0x95, 0xD3}, {0x95, 0xD1}, {0x96, 0xB3}, /* 0x6C-0x6F */ + {0x96, 0xD7}, {0x96, 0xDA}, {0x5D, 0xC2}, {0x96, 0xDF}, /* 0x70-0x73 */ + {0x96, 0xD8}, {0x96, 0xDD}, {0x97, 0x23}, {0x97, 0x22}, /* 0x74-0x77 */ + {0x97, 0x25}, {0x97, 0xAC}, {0x97, 0xAE}, {0x97, 0xA8}, /* 0x78-0x7B */ + {0x97, 0xAB}, {0x97, 0xA4}, {0x97, 0xAA}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x97, 0xA2}, {0x97, 0xA5}, {0x97, 0xD7}, /* 0xA0-0xA3 */ + {0x97, 0xD9}, {0x97, 0xD6}, {0x97, 0xD8}, {0x97, 0xFA}, /* 0xA4-0xA7 */ + {0x98, 0x50}, {0x98, 0x51}, {0x98, 0x52}, {0x98, 0xB8}, /* 0xA8-0xAB */ + {0x99, 0x41}, {0x99, 0x3C}, {0x99, 0x3A}, {0x9A, 0x0F}, /* 0xAC-0xAF */ + {0x9A, 0x0B}, {0x9A, 0x09}, {0x9A, 0x0D}, {0x9A, 0x04}, /* 0xB0-0xB3 */ + {0x9A, 0x11}, {0x9A, 0x0A}, {0x9A, 0x05}, {0x9A, 0x07}, /* 0xB4-0xB7 */ + {0x9A, 0x06}, {0x9A, 0xC0}, {0x9A, 0xDC}, {0x9B, 0x08}, /* 0xB8-0xBB */ + {0x9B, 0x04}, {0x9B, 0x05}, {0x9B, 0x29}, {0x9B, 0x35}, /* 0xBC-0xBF */ + {0x9B, 0x4A}, {0x9B, 0x4C}, {0x9B, 0x4B}, {0x9B, 0xC7}, /* 0xC0-0xC3 */ + {0x9B, 0xC6}, {0x9B, 0xC3}, {0x9B, 0xBF}, {0x9B, 0xC1}, /* 0xC4-0xC7 */ + {0x9B, 0xB5}, {0x9B, 0xB8}, {0x9B, 0xD3}, {0x9B, 0xB6}, /* 0xC8-0xCB */ + {0x9B, 0xC4}, {0x9B, 0xB9}, {0x9B, 0xBD}, {0x9D, 0x5C}, /* 0xCC-0xCF */ + {0x9D, 0x53}, {0x9D, 0x4F}, {0x9D, 0x4A}, {0x9D, 0x5B}, /* 0xD0-0xD3 */ + {0x9D, 0x4B}, {0x9D, 0x59}, {0x9D, 0x56}, {0x9D, 0x4C}, /* 0xD4-0xD7 */ + {0x9D, 0x57}, {0x9D, 0x52}, {0x9D, 0x54}, {0x9D, 0x5F}, /* 0xD8-0xDB */ + {0x9D, 0x58}, {0x9D, 0x5A}, {0x9E, 0x8E}, {0x9E, 0x8C}, /* 0xDC-0xDF */ + {0x9E, 0xDF}, {0x9F, 0x01}, {0x9F, 0x00}, {0x9F, 0x16}, /* 0xE0-0xE3 */ + {0x9F, 0x25}, {0x9F, 0x2B}, {0x9F, 0x2A}, {0x9F, 0x29}, /* 0xE4-0xE7 */ + {0x9F, 0x28}, {0x9F, 0x4C}, {0x9F, 0x55}, {0x51, 0x34}, /* 0xE8-0xEB */ + {0x51, 0x35}, {0x52, 0x96}, {0x52, 0xF7}, {0x53, 0xB4}, /* 0xEC-0xEF */ + {0x56, 0xAB}, {0x56, 0xAD}, {0x56, 0xA6}, {0x56, 0xA7}, /* 0xF0-0xF3 */ + {0x56, 0xAA}, {0x56, 0xAC}, {0x58, 0xDA}, {0x58, 0xDD}, /* 0xF4-0xF7 */ + {0x58, 0xDB}, {0x59, 0x12}, {0x5B, 0x3D}, {0x5B, 0x3E}, /* 0xF8-0xFB */ + {0x5B, 0x3F}, {0x5D, 0xC3}, {0x5E, 0x70}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F2[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x5F, 0xBF}, {0x61, 0xFB}, {0x65, 0x07}, {0x65, 0x10}, /* 0x40-0x43 */ + {0x65, 0x0D}, {0x65, 0x09}, {0x65, 0x0C}, {0x65, 0x0E}, /* 0x44-0x47 */ + {0x65, 0x84}, {0x65, 0xDE}, {0x65, 0xDD}, {0x66, 0xDE}, /* 0x48-0x4B */ + {0x6A, 0xE7}, {0x6A, 0xE0}, {0x6A, 0xCC}, {0x6A, 0xD1}, /* 0x4C-0x4F */ + {0x6A, 0xD9}, {0x6A, 0xCB}, {0x6A, 0xDF}, {0x6A, 0xDC}, /* 0x50-0x53 */ + {0x6A, 0xD0}, {0x6A, 0xEB}, {0x6A, 0xCF}, {0x6A, 0xCD}, /* 0x54-0x57 */ + {0x6A, 0xDE}, {0x6B, 0x60}, {0x6B, 0xB0}, {0x6C, 0x0C}, /* 0x58-0x5B */ + {0x70, 0x19}, {0x70, 0x27}, {0x70, 0x20}, {0x70, 0x16}, /* 0x5C-0x5F */ + {0x70, 0x2B}, {0x70, 0x21}, {0x70, 0x22}, {0x70, 0x23}, /* 0x60-0x63 */ + {0x70, 0x29}, {0x70, 0x17}, {0x70, 0x24}, {0x70, 0x1C}, /* 0x64-0x67 */ + {0x70, 0x2A}, {0x72, 0x0C}, {0x72, 0x0A}, {0x72, 0x07}, /* 0x68-0x6B */ + {0x72, 0x02}, {0x72, 0x05}, {0x72, 0xA5}, {0x72, 0xA6}, /* 0x6C-0x6F */ + {0x72, 0xA4}, {0x72, 0xA3}, {0x72, 0xA1}, {0x74, 0xCB}, /* 0x70-0x73 */ + {0x74, 0xC5}, {0x74, 0xB7}, {0x74, 0xC3}, {0x75, 0x16}, /* 0x74-0x77 */ + {0x76, 0x60}, {0x77, 0xC9}, {0x77, 0xCA}, {0x77, 0xC4}, /* 0x78-0x7B */ + {0x77, 0xF1}, {0x79, 0x1D}, {0x79, 0x1B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x79, 0x21}, {0x79, 0x1C}, {0x79, 0x17}, /* 0xA0-0xA3 */ + {0x79, 0x1E}, {0x79, 0xB0}, {0x7A, 0x67}, {0x7A, 0x68}, /* 0xA4-0xA7 */ + {0x7C, 0x33}, {0x7C, 0x3C}, {0x7C, 0x39}, {0x7C, 0x2C}, /* 0xA8-0xAB */ + {0x7C, 0x3B}, {0x7C, 0xEC}, {0x7C, 0xEA}, {0x7E, 0x76}, /* 0xAC-0xAF */ + {0x7E, 0x75}, {0x7E, 0x78}, {0x7E, 0x70}, {0x7E, 0x77}, /* 0xB0-0xB3 */ + {0x7E, 0x6F}, {0x7E, 0x7A}, {0x7E, 0x72}, {0x7E, 0x74}, /* 0xB4-0xB7 */ + {0x7E, 0x68}, {0x7F, 0x4B}, {0x7F, 0x4A}, {0x7F, 0x83}, /* 0xB8-0xBB */ + {0x7F, 0x86}, {0x7F, 0xB7}, {0x7F, 0xFD}, {0x7F, 0xFE}, /* 0xBC-0xBF */ + {0x80, 0x78}, {0x81, 0xD7}, {0x81, 0xD5}, {0x82, 0x64}, /* 0xC0-0xC3 */ + {0x82, 0x61}, {0x82, 0x63}, {0x85, 0xEB}, {0x85, 0xF1}, /* 0xC4-0xC7 */ + {0x85, 0xED}, {0x85, 0xD9}, {0x85, 0xE1}, {0x85, 0xE8}, /* 0xC8-0xCB */ + {0x85, 0xDA}, {0x85, 0xD7}, {0x85, 0xEC}, {0x85, 0xF2}, /* 0xCC-0xCF */ + {0x85, 0xF8}, {0x85, 0xD8}, {0x85, 0xDF}, {0x85, 0xE3}, /* 0xD0-0xD3 */ + {0x85, 0xDC}, {0x85, 0xD1}, {0x85, 0xF0}, {0x85, 0xE6}, /* 0xD4-0xD7 */ + {0x85, 0xEF}, {0x85, 0xDE}, {0x85, 0xE2}, {0x88, 0x00}, /* 0xD8-0xDB */ + {0x87, 0xFA}, {0x88, 0x03}, {0x87, 0xF6}, {0x87, 0xF7}, /* 0xDC-0xDF */ + {0x88, 0x09}, {0x88, 0x0C}, {0x88, 0x0B}, {0x88, 0x06}, /* 0xE0-0xE3 */ + {0x87, 0xFC}, {0x88, 0x08}, {0x87, 0xFF}, {0x88, 0x0A}, /* 0xE4-0xE7 */ + {0x88, 0x02}, {0x89, 0x62}, {0x89, 0x5A}, {0x89, 0x5B}, /* 0xE8-0xEB */ + {0x89, 0x57}, {0x89, 0x61}, {0x89, 0x5C}, {0x89, 0x58}, /* 0xEC-0xEF */ + {0x89, 0x5D}, {0x89, 0x59}, {0x89, 0x88}, {0x89, 0xB7}, /* 0xF0-0xF3 */ + {0x89, 0xB6}, {0x89, 0xF6}, {0x8B, 0x50}, {0x8B, 0x48}, /* 0xF4-0xF7 */ + {0x8B, 0x4A}, {0x8B, 0x40}, {0x8B, 0x53}, {0x8B, 0x56}, /* 0xF8-0xFB */ + {0x8B, 0x54}, {0x8B, 0x4B}, {0x8B, 0x55}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F3[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8B, 0x51}, {0x8B, 0x42}, {0x8B, 0x52}, {0x8B, 0x57}, /* 0x40-0x43 */ + {0x8C, 0x43}, {0x8C, 0x77}, {0x8C, 0x76}, {0x8C, 0x9A}, /* 0x44-0x47 */ + {0x8D, 0x06}, {0x8D, 0x07}, {0x8D, 0x09}, {0x8D, 0xAC}, /* 0x48-0x4B */ + {0x8D, 0xAA}, {0x8D, 0xAD}, {0x8D, 0xAB}, {0x8E, 0x6D}, /* 0x4C-0x4F */ + {0x8E, 0x78}, {0x8E, 0x73}, {0x8E, 0x6A}, {0x8E, 0x6F}, /* 0x50-0x53 */ + {0x8E, 0x7B}, {0x8E, 0xC2}, {0x8F, 0x52}, {0x8F, 0x51}, /* 0x54-0x57 */ + {0x8F, 0x4F}, {0x8F, 0x50}, {0x8F, 0x53}, {0x8F, 0xB4}, /* 0x58-0x5B */ + {0x91, 0x40}, {0x91, 0x3F}, {0x91, 0xB0}, {0x91, 0xAD}, /* 0x5C-0x5F */ + {0x93, 0xDE}, {0x93, 0xC7}, {0x93, 0xCF}, {0x93, 0xC2}, /* 0x60-0x63 */ + {0x93, 0xDA}, {0x93, 0xD0}, {0x93, 0xF9}, {0x93, 0xEC}, /* 0x64-0x67 */ + {0x93, 0xCC}, {0x93, 0xD9}, {0x93, 0xA9}, {0x93, 0xE6}, /* 0x68-0x6B */ + {0x93, 0xCA}, {0x93, 0xD4}, {0x93, 0xEE}, {0x93, 0xE3}, /* 0x6C-0x6F */ + {0x93, 0xD5}, {0x93, 0xC4}, {0x93, 0xCE}, {0x93, 0xC0}, /* 0x70-0x73 */ + {0x93, 0xD2}, {0x93, 0xE7}, {0x95, 0x7D}, {0x95, 0xDA}, /* 0x74-0x77 */ + {0x95, 0xDB}, {0x96, 0xE1}, {0x97, 0x29}, {0x97, 0x2B}, /* 0x78-0x7B */ + {0x97, 0x2C}, {0x97, 0x28}, {0x97, 0x26}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x97, 0xB3}, {0x97, 0xB7}, {0x97, 0xB6}, /* 0xA0-0xA3 */ + {0x97, 0xDD}, {0x97, 0xDE}, {0x97, 0xDF}, {0x98, 0x5C}, /* 0xA4-0xA7 */ + {0x98, 0x59}, {0x98, 0x5D}, {0x98, 0x57}, {0x98, 0xBF}, /* 0xA8-0xAB */ + {0x98, 0xBD}, {0x98, 0xBB}, {0x98, 0xBE}, {0x99, 0x48}, /* 0xAC-0xAF */ + {0x99, 0x47}, {0x99, 0x43}, {0x99, 0xA6}, {0x99, 0xA7}, /* 0xB0-0xB3 */ + {0x9A, 0x1A}, {0x9A, 0x15}, {0x9A, 0x25}, {0x9A, 0x1D}, /* 0xB4-0xB7 */ + {0x9A, 0x24}, {0x9A, 0x1B}, {0x9A, 0x22}, {0x9A, 0x20}, /* 0xB8-0xBB */ + {0x9A, 0x27}, {0x9A, 0x23}, {0x9A, 0x1E}, {0x9A, 0x1C}, /* 0xBC-0xBF */ + {0x9A, 0x14}, {0x9A, 0xC2}, {0x9B, 0x0B}, {0x9B, 0x0A}, /* 0xC0-0xC3 */ + {0x9B, 0x0E}, {0x9B, 0x0C}, {0x9B, 0x37}, {0x9B, 0xEA}, /* 0xC4-0xC7 */ + {0x9B, 0xEB}, {0x9B, 0xE0}, {0x9B, 0xDE}, {0x9B, 0xE4}, /* 0xC8-0xCB */ + {0x9B, 0xE6}, {0x9B, 0xE2}, {0x9B, 0xF0}, {0x9B, 0xD4}, /* 0xCC-0xCF */ + {0x9B, 0xD7}, {0x9B, 0xEC}, {0x9B, 0xDC}, {0x9B, 0xD9}, /* 0xD0-0xD3 */ + {0x9B, 0xE5}, {0x9B, 0xD5}, {0x9B, 0xE1}, {0x9B, 0xDA}, /* 0xD4-0xD7 */ + {0x9D, 0x77}, {0x9D, 0x81}, {0x9D, 0x8A}, {0x9D, 0x84}, /* 0xD8-0xDB */ + {0x9D, 0x88}, {0x9D, 0x71}, {0x9D, 0x80}, {0x9D, 0x78}, /* 0xDC-0xDF */ + {0x9D, 0x86}, {0x9D, 0x8B}, {0x9D, 0x8C}, {0x9D, 0x7D}, /* 0xE0-0xE3 */ + {0x9D, 0x6B}, {0x9D, 0x74}, {0x9D, 0x75}, {0x9D, 0x70}, /* 0xE4-0xE7 */ + {0x9D, 0x69}, {0x9D, 0x85}, {0x9D, 0x73}, {0x9D, 0x7B}, /* 0xE8-0xEB */ + {0x9D, 0x82}, {0x9D, 0x6F}, {0x9D, 0x79}, {0x9D, 0x7F}, /* 0xEC-0xEF */ + {0x9D, 0x87}, {0x9D, 0x68}, {0x9E, 0x94}, {0x9E, 0x91}, /* 0xF0-0xF3 */ + {0x9E, 0xC0}, {0x9E, 0xFC}, {0x9F, 0x2D}, {0x9F, 0x40}, /* 0xF4-0xF7 */ + {0x9F, 0x41}, {0x9F, 0x4D}, {0x9F, 0x56}, {0x9F, 0x57}, /* 0xF8-0xFB */ + {0x9F, 0x58}, {0x53, 0x37}, {0x56, 0xB2}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F4[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x56, 0xB5}, {0x56, 0xB3}, {0x58, 0xE3}, {0x5B, 0x45}, /* 0x40-0x43 */ + {0x5D, 0xC6}, {0x5D, 0xC7}, {0x5E, 0xEE}, {0x5E, 0xEF}, /* 0x44-0x47 */ + {0x5F, 0xC0}, {0x5F, 0xC1}, {0x61, 0xF9}, {0x65, 0x17}, /* 0x48-0x4B */ + {0x65, 0x16}, {0x65, 0x15}, {0x65, 0x13}, {0x65, 0xDF}, /* 0x4C-0x4F */ + {0x66, 0xE8}, {0x66, 0xE3}, {0x66, 0xE4}, {0x6A, 0xF3}, /* 0x50-0x53 */ + {0x6A, 0xF0}, {0x6A, 0xEA}, {0x6A, 0xE8}, {0x6A, 0xF9}, /* 0x54-0x57 */ + {0x6A, 0xF1}, {0x6A, 0xEE}, {0x6A, 0xEF}, {0x70, 0x3C}, /* 0x58-0x5B */ + {0x70, 0x35}, {0x70, 0x2F}, {0x70, 0x37}, {0x70, 0x34}, /* 0x5C-0x5F */ + {0x70, 0x31}, {0x70, 0x42}, {0x70, 0x38}, {0x70, 0x3F}, /* 0x60-0x63 */ + {0x70, 0x3A}, {0x70, 0x39}, {0x70, 0x40}, {0x70, 0x3B}, /* 0x64-0x67 */ + {0x70, 0x33}, {0x70, 0x41}, {0x72, 0x13}, {0x72, 0x14}, /* 0x68-0x6B */ + {0x72, 0xA8}, {0x73, 0x7D}, {0x73, 0x7C}, {0x74, 0xBA}, /* 0x6C-0x6F */ + {0x76, 0xAB}, {0x76, 0xAA}, {0x76, 0xBE}, {0x76, 0xED}, /* 0x70-0x73 */ + {0x77, 0xCC}, {0x77, 0xCE}, {0x77, 0xCF}, {0x77, 0xCD}, /* 0x74-0x77 */ + {0x77, 0xF2}, {0x79, 0x25}, {0x79, 0x23}, {0x79, 0x27}, /* 0x78-0x7B */ + {0x79, 0x28}, {0x79, 0x24}, {0x79, 0x29}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x79, 0xB2}, {0x7A, 0x6E}, {0x7A, 0x6C}, /* 0xA0-0xA3 */ + {0x7A, 0x6D}, {0x7A, 0xF7}, {0x7C, 0x49}, {0x7C, 0x48}, /* 0xA4-0xA7 */ + {0x7C, 0x4A}, {0x7C, 0x47}, {0x7C, 0x45}, {0x7C, 0xEE}, /* 0xA8-0xAB */ + {0x7E, 0x7B}, {0x7E, 0x7E}, {0x7E, 0x81}, {0x7E, 0x80}, /* 0xAC-0xAF */ + {0x7F, 0xBA}, {0x7F, 0xFF}, {0x80, 0x79}, {0x81, 0xDB}, /* 0xB0-0xB3 */ + {0x81, 0xD9}, {0x82, 0x0B}, {0x82, 0x68}, {0x82, 0x69}, /* 0xB4-0xB7 */ + {0x86, 0x22}, {0x85, 0xFF}, {0x86, 0x01}, {0x85, 0xFE}, /* 0xB8-0xBB */ + {0x86, 0x1B}, {0x86, 0x00}, {0x85, 0xF6}, {0x86, 0x04}, /* 0xBC-0xBF */ + {0x86, 0x09}, {0x86, 0x05}, {0x86, 0x0C}, {0x85, 0xFD}, /* 0xC0-0xC3 */ + {0x88, 0x19}, {0x88, 0x10}, {0x88, 0x11}, {0x88, 0x17}, /* 0xC4-0xC7 */ + {0x88, 0x13}, {0x88, 0x16}, {0x89, 0x63}, {0x89, 0x66}, /* 0xC8-0xCB */ + {0x89, 0xB9}, {0x89, 0xF7}, {0x8B, 0x60}, {0x8B, 0x6A}, /* 0xCC-0xCF */ + {0x8B, 0x5D}, {0x8B, 0x68}, {0x8B, 0x63}, {0x8B, 0x65}, /* 0xD0-0xD3 */ + {0x8B, 0x67}, {0x8B, 0x6D}, {0x8D, 0xAE}, {0x8E, 0x86}, /* 0xD4-0xD7 */ + {0x8E, 0x88}, {0x8E, 0x84}, {0x8F, 0x59}, {0x8F, 0x56}, /* 0xD8-0xDB */ + {0x8F, 0x57}, {0x8F, 0x55}, {0x8F, 0x58}, {0x8F, 0x5A}, /* 0xDC-0xDF */ + {0x90, 0x8D}, {0x91, 0x43}, {0x91, 0x41}, {0x91, 0xB7}, /* 0xE0-0xE3 */ + {0x91, 0xB5}, {0x91, 0xB2}, {0x91, 0xB3}, {0x94, 0x0B}, /* 0xE4-0xE7 */ + {0x94, 0x13}, {0x93, 0xFB}, {0x94, 0x20}, {0x94, 0x0F}, /* 0xE8-0xEB */ + {0x94, 0x14}, {0x93, 0xFE}, {0x94, 0x15}, {0x94, 0x10}, /* 0xEC-0xEF */ + {0x94, 0x28}, {0x94, 0x19}, {0x94, 0x0D}, {0x93, 0xF5}, /* 0xF0-0xF3 */ + {0x94, 0x00}, {0x93, 0xF7}, {0x94, 0x07}, {0x94, 0x0E}, /* 0xF4-0xF7 */ + {0x94, 0x16}, {0x94, 0x12}, {0x93, 0xFA}, {0x94, 0x09}, /* 0xF8-0xFB */ + {0x93, 0xF8}, {0x94, 0x0A}, {0x93, 0xFF}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F5[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x93, 0xFC}, {0x94, 0x0C}, {0x93, 0xF6}, {0x94, 0x11}, /* 0x40-0x43 */ + {0x94, 0x06}, {0x95, 0xDE}, {0x95, 0xE0}, {0x95, 0xDF}, /* 0x44-0x47 */ + {0x97, 0x2E}, {0x97, 0x2F}, {0x97, 0xB9}, {0x97, 0xBB}, /* 0x48-0x4B */ + {0x97, 0xFD}, {0x97, 0xFE}, {0x98, 0x60}, {0x98, 0x62}, /* 0x4C-0x4F */ + {0x98, 0x63}, {0x98, 0x5F}, {0x98, 0xC1}, {0x98, 0xC2}, /* 0x50-0x53 */ + {0x99, 0x50}, {0x99, 0x4E}, {0x99, 0x59}, {0x99, 0x4C}, /* 0x54-0x57 */ + {0x99, 0x4B}, {0x99, 0x53}, {0x9A, 0x32}, {0x9A, 0x34}, /* 0x58-0x5B */ + {0x9A, 0x31}, {0x9A, 0x2C}, {0x9A, 0x2A}, {0x9A, 0x36}, /* 0x5C-0x5F */ + {0x9A, 0x29}, {0x9A, 0x2E}, {0x9A, 0x38}, {0x9A, 0x2D}, /* 0x60-0x63 */ + {0x9A, 0xC7}, {0x9A, 0xCA}, {0x9A, 0xC6}, {0x9B, 0x10}, /* 0x64-0x67 */ + {0x9B, 0x12}, {0x9B, 0x11}, {0x9C, 0x0B}, {0x9C, 0x08}, /* 0x68-0x6B */ + {0x9B, 0xF7}, {0x9C, 0x05}, {0x9C, 0x12}, {0x9B, 0xF8}, /* 0x6C-0x6F */ + {0x9C, 0x40}, {0x9C, 0x07}, {0x9C, 0x0E}, {0x9C, 0x06}, /* 0x70-0x73 */ + {0x9C, 0x17}, {0x9C, 0x14}, {0x9C, 0x09}, {0x9D, 0x9F}, /* 0x74-0x77 */ + {0x9D, 0x99}, {0x9D, 0xA4}, {0x9D, 0x9D}, {0x9D, 0x92}, /* 0x78-0x7B */ + {0x9D, 0x98}, {0x9D, 0x90}, {0x9D, 0x9B}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x9D, 0xA0}, {0x9D, 0x94}, {0x9D, 0x9C}, /* 0xA0-0xA3 */ + {0x9D, 0xAA}, {0x9D, 0x97}, {0x9D, 0xA1}, {0x9D, 0x9A}, /* 0xA4-0xA7 */ + {0x9D, 0xA2}, {0x9D, 0xA8}, {0x9D, 0x9E}, {0x9D, 0xA3}, /* 0xA8-0xAB */ + {0x9D, 0xBF}, {0x9D, 0xA9}, {0x9D, 0x96}, {0x9D, 0xA6}, /* 0xAC-0xAF */ + {0x9D, 0xA7}, {0x9E, 0x99}, {0x9E, 0x9B}, {0x9E, 0x9A}, /* 0xB0-0xB3 */ + {0x9E, 0xE5}, {0x9E, 0xE4}, {0x9E, 0xE7}, {0x9E, 0xE6}, /* 0xB4-0xB7 */ + {0x9F, 0x30}, {0x9F, 0x2E}, {0x9F, 0x5B}, {0x9F, 0x60}, /* 0xB8-0xBB */ + {0x9F, 0x5E}, {0x9F, 0x5D}, {0x9F, 0x59}, {0x9F, 0x91}, /* 0xBC-0xBF */ + {0x51, 0x3A}, {0x51, 0x39}, {0x52, 0x98}, {0x52, 0x97}, /* 0xC0-0xC3 */ + {0x56, 0xC3}, {0x56, 0xBD}, {0x56, 0xBE}, {0x5B, 0x48}, /* 0xC4-0xC7 */ + {0x5B, 0x47}, {0x5D, 0xCB}, {0x5D, 0xCF}, {0x5E, 0xF1}, /* 0xC8-0xCB */ + {0x61, 0xFD}, {0x65, 0x1B}, {0x6B, 0x02}, {0x6A, 0xFC}, /* 0xCC-0xCF */ + {0x6B, 0x03}, {0x6A, 0xF8}, {0x6B, 0x00}, {0x70, 0x43}, /* 0xD0-0xD3 */ + {0x70, 0x44}, {0x70, 0x4A}, {0x70, 0x48}, {0x70, 0x49}, /* 0xD4-0xD7 */ + {0x70, 0x45}, {0x70, 0x46}, {0x72, 0x1D}, {0x72, 0x1A}, /* 0xD8-0xDB */ + {0x72, 0x19}, {0x73, 0x7E}, {0x75, 0x17}, {0x76, 0x6A}, /* 0xDC-0xDF */ + {0x77, 0xD0}, {0x79, 0x2D}, {0x79, 0x31}, {0x79, 0x2F}, /* 0xE0-0xE3 */ + {0x7C, 0x54}, {0x7C, 0x53}, {0x7C, 0xF2}, {0x7E, 0x8A}, /* 0xE4-0xE7 */ + {0x7E, 0x87}, {0x7E, 0x88}, {0x7E, 0x8B}, {0x7E, 0x86}, /* 0xE8-0xEB */ + {0x7E, 0x8D}, {0x7F, 0x4D}, {0x7F, 0xBB}, {0x80, 0x30}, /* 0xEC-0xEF */ + {0x81, 0xDD}, {0x86, 0x18}, {0x86, 0x2A}, {0x86, 0x26}, /* 0xF0-0xF3 */ + {0x86, 0x1F}, {0x86, 0x23}, {0x86, 0x1C}, {0x86, 0x19}, /* 0xF4-0xF7 */ + {0x86, 0x27}, {0x86, 0x2E}, {0x86, 0x21}, {0x86, 0x20}, /* 0xF8-0xFB */ + {0x86, 0x29}, {0x86, 0x1E}, {0x86, 0x25}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F6[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x88, 0x29}, {0x88, 0x1D}, {0x88, 0x1B}, {0x88, 0x20}, /* 0x40-0x43 */ + {0x88, 0x24}, {0x88, 0x1C}, {0x88, 0x2B}, {0x88, 0x4A}, /* 0x44-0x47 */ + {0x89, 0x6D}, {0x89, 0x69}, {0x89, 0x6E}, {0x89, 0x6B}, /* 0x48-0x4B */ + {0x89, 0xFA}, {0x8B, 0x79}, {0x8B, 0x78}, {0x8B, 0x45}, /* 0x4C-0x4F */ + {0x8B, 0x7A}, {0x8B, 0x7B}, {0x8D, 0x10}, {0x8D, 0x14}, /* 0x50-0x53 */ + {0x8D, 0xAF}, {0x8E, 0x8E}, {0x8E, 0x8C}, {0x8F, 0x5E}, /* 0x54-0x57 */ + {0x8F, 0x5B}, {0x8F, 0x5D}, {0x91, 0x46}, {0x91, 0x44}, /* 0x58-0x5B */ + {0x91, 0x45}, {0x91, 0xB9}, {0x94, 0x3F}, {0x94, 0x3B}, /* 0x5C-0x5F */ + {0x94, 0x36}, {0x94, 0x29}, {0x94, 0x3D}, {0x94, 0x3C}, /* 0x60-0x63 */ + {0x94, 0x30}, {0x94, 0x39}, {0x94, 0x2A}, {0x94, 0x37}, /* 0x64-0x67 */ + {0x94, 0x2C}, {0x94, 0x40}, {0x94, 0x31}, {0x95, 0xE5}, /* 0x68-0x6B */ + {0x95, 0xE4}, {0x95, 0xE3}, {0x97, 0x35}, {0x97, 0x3A}, /* 0x6C-0x6F */ + {0x97, 0xBF}, {0x97, 0xE1}, {0x98, 0x64}, {0x98, 0xC9}, /* 0x70-0x73 */ + {0x98, 0xC6}, {0x98, 0xC0}, {0x99, 0x58}, {0x99, 0x56}, /* 0x74-0x77 */ + {0x9A, 0x39}, {0x9A, 0x3D}, {0x9A, 0x46}, {0x9A, 0x44}, /* 0x78-0x7B */ + {0x9A, 0x42}, {0x9A, 0x41}, {0x9A, 0x3A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x9A, 0x3F}, {0x9A, 0xCD}, {0x9B, 0x15}, /* 0xA0-0xA3 */ + {0x9B, 0x17}, {0x9B, 0x18}, {0x9B, 0x16}, {0x9B, 0x3A}, /* 0xA4-0xA7 */ + {0x9B, 0x52}, {0x9C, 0x2B}, {0x9C, 0x1D}, {0x9C, 0x1C}, /* 0xA8-0xAB */ + {0x9C, 0x2C}, {0x9C, 0x23}, {0x9C, 0x28}, {0x9C, 0x29}, /* 0xAC-0xAF */ + {0x9C, 0x24}, {0x9C, 0x21}, {0x9D, 0xB7}, {0x9D, 0xB6}, /* 0xB0-0xB3 */ + {0x9D, 0xBC}, {0x9D, 0xC1}, {0x9D, 0xC7}, {0x9D, 0xCA}, /* 0xB4-0xB7 */ + {0x9D, 0xCF}, {0x9D, 0xBE}, {0x9D, 0xC5}, {0x9D, 0xC3}, /* 0xB8-0xBB */ + {0x9D, 0xBB}, {0x9D, 0xB5}, {0x9D, 0xCE}, {0x9D, 0xB9}, /* 0xBC-0xBF */ + {0x9D, 0xBA}, {0x9D, 0xAC}, {0x9D, 0xC8}, {0x9D, 0xB1}, /* 0xC0-0xC3 */ + {0x9D, 0xAD}, {0x9D, 0xCC}, {0x9D, 0xB3}, {0x9D, 0xCD}, /* 0xC4-0xC7 */ + {0x9D, 0xB2}, {0x9E, 0x7A}, {0x9E, 0x9C}, {0x9E, 0xEB}, /* 0xC8-0xCB */ + {0x9E, 0xEE}, {0x9E, 0xED}, {0x9F, 0x1B}, {0x9F, 0x18}, /* 0xCC-0xCF */ + {0x9F, 0x1A}, {0x9F, 0x31}, {0x9F, 0x4E}, {0x9F, 0x65}, /* 0xD0-0xD3 */ + {0x9F, 0x64}, {0x9F, 0x92}, {0x4E, 0xB9}, {0x56, 0xC6}, /* 0xD4-0xD7 */ + {0x56, 0xC5}, {0x56, 0xCB}, {0x59, 0x71}, {0x5B, 0x4B}, /* 0xD8-0xDB */ + {0x5B, 0x4C}, {0x5D, 0xD5}, {0x5D, 0xD1}, {0x5E, 0xF2}, /* 0xDC-0xDF */ + {0x65, 0x21}, {0x65, 0x20}, {0x65, 0x26}, {0x65, 0x22}, /* 0xE0-0xE3 */ + {0x6B, 0x0B}, {0x6B, 0x08}, {0x6B, 0x09}, {0x6C, 0x0D}, /* 0xE4-0xE7 */ + {0x70, 0x55}, {0x70, 0x56}, {0x70, 0x57}, {0x70, 0x52}, /* 0xE8-0xEB */ + {0x72, 0x1E}, {0x72, 0x1F}, {0x72, 0xA9}, {0x73, 0x7F}, /* 0xEC-0xEF */ + {0x74, 0xD8}, {0x74, 0xD5}, {0x74, 0xD9}, {0x74, 0xD7}, /* 0xF0-0xF3 */ + {0x76, 0x6D}, {0x76, 0xAD}, {0x79, 0x35}, {0x79, 0xB4}, /* 0xF4-0xF7 */ + {0x7A, 0x70}, {0x7A, 0x71}, {0x7C, 0x57}, {0x7C, 0x5C}, /* 0xF8-0xFB */ + {0x7C, 0x59}, {0x7C, 0x5B}, {0x7C, 0x5A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F7[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7C, 0xF4}, {0x7C, 0xF1}, {0x7E, 0x91}, {0x7F, 0x4F}, /* 0x40-0x43 */ + {0x7F, 0x87}, {0x81, 0xDE}, {0x82, 0x6B}, {0x86, 0x34}, /* 0x44-0x47 */ + {0x86, 0x35}, {0x86, 0x33}, {0x86, 0x2C}, {0x86, 0x32}, /* 0x48-0x4B */ + {0x86, 0x36}, {0x88, 0x2C}, {0x88, 0x28}, {0x88, 0x26}, /* 0x4C-0x4F */ + {0x88, 0x2A}, {0x88, 0x25}, {0x89, 0x71}, {0x89, 0xBF}, /* 0x50-0x53 */ + {0x89, 0xBE}, {0x89, 0xFB}, {0x8B, 0x7E}, {0x8B, 0x84}, /* 0x54-0x57 */ + {0x8B, 0x82}, {0x8B, 0x86}, {0x8B, 0x85}, {0x8B, 0x7F}, /* 0x58-0x5B */ + {0x8D, 0x15}, {0x8E, 0x95}, {0x8E, 0x94}, {0x8E, 0x9A}, /* 0x5C-0x5F */ + {0x8E, 0x92}, {0x8E, 0x90}, {0x8E, 0x96}, {0x8E, 0x97}, /* 0x60-0x63 */ + {0x8F, 0x60}, {0x8F, 0x62}, {0x91, 0x47}, {0x94, 0x4C}, /* 0x64-0x67 */ + {0x94, 0x50}, {0x94, 0x4A}, {0x94, 0x4B}, {0x94, 0x4F}, /* 0x68-0x6B */ + {0x94, 0x47}, {0x94, 0x45}, {0x94, 0x48}, {0x94, 0x49}, /* 0x6C-0x6F */ + {0x94, 0x46}, {0x97, 0x3F}, {0x97, 0xE3}, {0x98, 0x6A}, /* 0x70-0x73 */ + {0x98, 0x69}, {0x98, 0xCB}, {0x99, 0x54}, {0x99, 0x5B}, /* 0x74-0x77 */ + {0x9A, 0x4E}, {0x9A, 0x53}, {0x9A, 0x54}, {0x9A, 0x4C}, /* 0x78-0x7B */ + {0x9A, 0x4F}, {0x9A, 0x48}, {0x9A, 0x4A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x9A, 0x49}, {0x9A, 0x52}, {0x9A, 0x50}, /* 0xA0-0xA3 */ + {0x9A, 0xD0}, {0x9B, 0x19}, {0x9B, 0x2B}, {0x9B, 0x3B}, /* 0xA4-0xA7 */ + {0x9B, 0x56}, {0x9B, 0x55}, {0x9C, 0x46}, {0x9C, 0x48}, /* 0xA8-0xAB */ + {0x9C, 0x3F}, {0x9C, 0x44}, {0x9C, 0x39}, {0x9C, 0x33}, /* 0xAC-0xAF */ + {0x9C, 0x41}, {0x9C, 0x3C}, {0x9C, 0x37}, {0x9C, 0x34}, /* 0xB0-0xB3 */ + {0x9C, 0x32}, {0x9C, 0x3D}, {0x9C, 0x36}, {0x9D, 0xDB}, /* 0xB4-0xB7 */ + {0x9D, 0xD2}, {0x9D, 0xDE}, {0x9D, 0xDA}, {0x9D, 0xCB}, /* 0xB8-0xBB */ + {0x9D, 0xD0}, {0x9D, 0xDC}, {0x9D, 0xD1}, {0x9D, 0xDF}, /* 0xBC-0xBF */ + {0x9D, 0xE9}, {0x9D, 0xD9}, {0x9D, 0xD8}, {0x9D, 0xD6}, /* 0xC0-0xC3 */ + {0x9D, 0xF5}, {0x9D, 0xD5}, {0x9D, 0xDD}, {0x9E, 0xB6}, /* 0xC4-0xC7 */ + {0x9E, 0xF0}, {0x9F, 0x35}, {0x9F, 0x33}, {0x9F, 0x32}, /* 0xC8-0xCB */ + {0x9F, 0x42}, {0x9F, 0x6B}, {0x9F, 0x95}, {0x9F, 0xA2}, /* 0xCC-0xCF */ + {0x51, 0x3D}, {0x52, 0x99}, {0x58, 0xE8}, {0x58, 0xE7}, /* 0xD0-0xD3 */ + {0x59, 0x72}, {0x5B, 0x4D}, {0x5D, 0xD8}, {0x88, 0x2F}, /* 0xD4-0xD7 */ + {0x5F, 0x4F}, {0x62, 0x01}, {0x62, 0x03}, {0x62, 0x04}, /* 0xD8-0xDB */ + {0x65, 0x29}, {0x65, 0x25}, {0x65, 0x96}, {0x66, 0xEB}, /* 0xDC-0xDF */ + {0x6B, 0x11}, {0x6B, 0x12}, {0x6B, 0x0F}, {0x6B, 0xCA}, /* 0xE0-0xE3 */ + {0x70, 0x5B}, {0x70, 0x5A}, {0x72, 0x22}, {0x73, 0x82}, /* 0xE4-0xE7 */ + {0x73, 0x81}, {0x73, 0x83}, {0x76, 0x70}, {0x77, 0xD4}, /* 0xE8-0xEB */ + {0x7C, 0x67}, {0x7C, 0x66}, {0x7E, 0x95}, {0x82, 0x6C}, /* 0xEC-0xEF */ + {0x86, 0x3A}, {0x86, 0x40}, {0x86, 0x39}, {0x86, 0x3C}, /* 0xF0-0xF3 */ + {0x86, 0x31}, {0x86, 0x3B}, {0x86, 0x3E}, {0x88, 0x30}, /* 0xF4-0xF7 */ + {0x88, 0x32}, {0x88, 0x2E}, {0x88, 0x33}, {0x89, 0x76}, /* 0xF8-0xFB */ + {0x89, 0x74}, {0x89, 0x73}, {0x89, 0xFE}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F8[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x8B, 0x8C}, {0x8B, 0x8E}, {0x8B, 0x8B}, {0x8B, 0x88}, /* 0x40-0x43 */ + {0x8C, 0x45}, {0x8D, 0x19}, {0x8E, 0x98}, {0x8F, 0x64}, /* 0x44-0x47 */ + {0x8F, 0x63}, {0x91, 0xBC}, {0x94, 0x62}, {0x94, 0x55}, /* 0x48-0x4B */ + {0x94, 0x5D}, {0x94, 0x57}, {0x94, 0x5E}, {0x97, 0xC4}, /* 0x4C-0x4F */ + {0x97, 0xC5}, {0x98, 0x00}, {0x9A, 0x56}, {0x9A, 0x59}, /* 0x50-0x53 */ + {0x9B, 0x1E}, {0x9B, 0x1F}, {0x9B, 0x20}, {0x9C, 0x52}, /* 0x54-0x57 */ + {0x9C, 0x58}, {0x9C, 0x50}, {0x9C, 0x4A}, {0x9C, 0x4D}, /* 0x58-0x5B */ + {0x9C, 0x4B}, {0x9C, 0x55}, {0x9C, 0x59}, {0x9C, 0x4C}, /* 0x5C-0x5F */ + {0x9C, 0x4E}, {0x9D, 0xFB}, {0x9D, 0xF7}, {0x9D, 0xEF}, /* 0x60-0x63 */ + {0x9D, 0xE3}, {0x9D, 0xEB}, {0x9D, 0xF8}, {0x9D, 0xE4}, /* 0x64-0x67 */ + {0x9D, 0xF6}, {0x9D, 0xE1}, {0x9D, 0xEE}, {0x9D, 0xE6}, /* 0x68-0x6B */ + {0x9D, 0xF2}, {0x9D, 0xF0}, {0x9D, 0xE2}, {0x9D, 0xEC}, /* 0x6C-0x6F */ + {0x9D, 0xF4}, {0x9D, 0xF3}, {0x9D, 0xE8}, {0x9D, 0xED}, /* 0x70-0x73 */ + {0x9E, 0xC2}, {0x9E, 0xD0}, {0x9E, 0xF2}, {0x9E, 0xF3}, /* 0x74-0x77 */ + {0x9F, 0x06}, {0x9F, 0x1C}, {0x9F, 0x38}, {0x9F, 0x37}, /* 0x78-0x7B */ + {0x9F, 0x36}, {0x9F, 0x43}, {0x9F, 0x4F}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x9F, 0x71}, {0x9F, 0x70}, {0x9F, 0x6E}, /* 0xA0-0xA3 */ + {0x9F, 0x6F}, {0x56, 0xD3}, {0x56, 0xCD}, {0x5B, 0x4E}, /* 0xA4-0xA7 */ + {0x5C, 0x6D}, {0x65, 0x2D}, {0x66, 0xED}, {0x66, 0xEE}, /* 0xA8-0xAB */ + {0x6B, 0x13}, {0x70, 0x5F}, {0x70, 0x61}, {0x70, 0x5D}, /* 0xAC-0xAF */ + {0x70, 0x60}, {0x72, 0x23}, {0x74, 0xDB}, {0x74, 0xE5}, /* 0xB0-0xB3 */ + {0x77, 0xD5}, {0x79, 0x38}, {0x79, 0xB7}, {0x79, 0xB6}, /* 0xB4-0xB7 */ + {0x7C, 0x6A}, {0x7E, 0x97}, {0x7F, 0x89}, {0x82, 0x6D}, /* 0xB8-0xBB */ + {0x86, 0x43}, {0x88, 0x38}, {0x88, 0x37}, {0x88, 0x35}, /* 0xBC-0xBF */ + {0x88, 0x4B}, {0x8B, 0x94}, {0x8B, 0x95}, {0x8E, 0x9E}, /* 0xC0-0xC3 */ + {0x8E, 0x9F}, {0x8E, 0xA0}, {0x8E, 0x9D}, {0x91, 0xBE}, /* 0xC4-0xC7 */ + {0x91, 0xBD}, {0x91, 0xC2}, {0x94, 0x6B}, {0x94, 0x68}, /* 0xC8-0xCB */ + {0x94, 0x69}, {0x96, 0xE5}, {0x97, 0x46}, {0x97, 0x43}, /* 0xCC-0xCF */ + {0x97, 0x47}, {0x97, 0xC7}, {0x97, 0xE5}, {0x9A, 0x5E}, /* 0xD0-0xD3 */ + {0x9A, 0xD5}, {0x9B, 0x59}, {0x9C, 0x63}, {0x9C, 0x67}, /* 0xD4-0xD7 */ + {0x9C, 0x66}, {0x9C, 0x62}, {0x9C, 0x5E}, {0x9C, 0x60}, /* 0xD8-0xDB */ + {0x9E, 0x02}, {0x9D, 0xFE}, {0x9E, 0x07}, {0x9E, 0x03}, /* 0xDC-0xDF */ + {0x9E, 0x06}, {0x9E, 0x05}, {0x9E, 0x00}, {0x9E, 0x01}, /* 0xE0-0xE3 */ + {0x9E, 0x09}, {0x9D, 0xFF}, {0x9D, 0xFD}, {0x9E, 0x04}, /* 0xE4-0xE7 */ + {0x9E, 0xA0}, {0x9F, 0x1E}, {0x9F, 0x46}, {0x9F, 0x74}, /* 0xE8-0xEB */ + {0x9F, 0x75}, {0x9F, 0x76}, {0x56, 0xD4}, {0x65, 0x2E}, /* 0xEC-0xEF */ + {0x65, 0xB8}, {0x6B, 0x18}, {0x6B, 0x19}, {0x6B, 0x17}, /* 0xF0-0xF3 */ + {0x6B, 0x1A}, {0x70, 0x62}, {0x72, 0x26}, {0x72, 0xAA}, /* 0xF4-0xF7 */ + {0x77, 0xD8}, {0x77, 0xD9}, {0x79, 0x39}, {0x7C, 0x69}, /* 0xF8-0xFB */ + {0x7C, 0x6B}, {0x7C, 0xF6}, {0x7E, 0x9A}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode c2u_F9[256] = { + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x00-0x03 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x04-0x07 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x08-0x0B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x0C-0x0F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x10-0x13 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x14-0x17 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x18-0x1B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x1C-0x1F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x20-0x23 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x24-0x27 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x28-0x2B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x2C-0x2F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x30-0x33 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x34-0x37 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x38-0x3B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x3C-0x3F */ + {0x7E, 0x98}, {0x7E, 0x9B}, {0x7E, 0x99}, {0x81, 0xE0}, /* 0x40-0x43 */ + {0x81, 0xE1}, {0x86, 0x46}, {0x86, 0x47}, {0x86, 0x48}, /* 0x44-0x47 */ + {0x89, 0x79}, {0x89, 0x7A}, {0x89, 0x7C}, {0x89, 0x7B}, /* 0x48-0x4B */ + {0x89, 0xFF}, {0x8B, 0x98}, {0x8B, 0x99}, {0x8E, 0xA5}, /* 0x4C-0x4F */ + {0x8E, 0xA4}, {0x8E, 0xA3}, {0x94, 0x6E}, {0x94, 0x6D}, /* 0x50-0x53 */ + {0x94, 0x6F}, {0x94, 0x71}, {0x94, 0x73}, {0x97, 0x49}, /* 0x54-0x57 */ + {0x98, 0x72}, {0x99, 0x5F}, {0x9C, 0x68}, {0x9C, 0x6E}, /* 0x58-0x5B */ + {0x9C, 0x6D}, {0x9E, 0x0B}, {0x9E, 0x0D}, {0x9E, 0x10}, /* 0x5C-0x5F */ + {0x9E, 0x0F}, {0x9E, 0x12}, {0x9E, 0x11}, {0x9E, 0xA1}, /* 0x60-0x63 */ + {0x9E, 0xF5}, {0x9F, 0x09}, {0x9F, 0x47}, {0x9F, 0x78}, /* 0x64-0x67 */ + {0x9F, 0x7B}, {0x9F, 0x7A}, {0x9F, 0x79}, {0x57, 0x1E}, /* 0x68-0x6B */ + {0x70, 0x66}, {0x7C, 0x6F}, {0x88, 0x3C}, {0x8D, 0xB2}, /* 0x6C-0x6F */ + {0x8E, 0xA6}, {0x91, 0xC3}, {0x94, 0x74}, {0x94, 0x78}, /* 0x70-0x73 */ + {0x94, 0x76}, {0x94, 0x75}, {0x9A, 0x60}, {0x9C, 0x74}, /* 0x74-0x77 */ + {0x9C, 0x73}, {0x9C, 0x71}, {0x9C, 0x75}, {0x9E, 0x14}, /* 0x78-0x7B */ + {0x9E, 0x13}, {0x9E, 0xF6}, {0x9F, 0x0A}, {0x00, 0x3F}, /* 0x7C-0x7F */ + + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x80-0x83 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x84-0x87 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x88-0x8B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x8C-0x8F */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x90-0x93 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x94-0x97 */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x98-0x9B */ + {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, {0x00, 0x3F}, /* 0x9C-0x9F */ + {0x00, 0x3F}, {0x9F, 0xA4}, {0x70, 0x68}, {0x70, 0x65}, /* 0xA0-0xA3 */ + {0x7C, 0xF7}, {0x86, 0x6A}, {0x88, 0x3E}, {0x88, 0x3D}, /* 0xA4-0xA7 */ + {0x88, 0x3F}, {0x8B, 0x9E}, {0x8C, 0x9C}, {0x8E, 0xA9}, /* 0xA8-0xAB */ + {0x8E, 0xC9}, {0x97, 0x4B}, {0x98, 0x73}, {0x98, 0x74}, /* 0xAC-0xAF */ + {0x98, 0xCC}, {0x99, 0x61}, {0x99, 0xAB}, {0x9A, 0x64}, /* 0xB0-0xB3 */ + {0x9A, 0x66}, {0x9A, 0x67}, {0x9B, 0x24}, {0x9E, 0x15}, /* 0xB4-0xB7 */ + {0x9E, 0x17}, {0x9F, 0x48}, {0x62, 0x07}, {0x6B, 0x1E}, /* 0xB8-0xBB */ + {0x72, 0x27}, {0x86, 0x4C}, {0x8E, 0xA8}, {0x94, 0x82}, /* 0xBC-0xBF */ + {0x94, 0x80}, {0x94, 0x81}, {0x9A, 0x69}, {0x9A, 0x68}, /* 0xC0-0xC3 */ + {0x9B, 0x2E}, {0x9E, 0x19}, {0x72, 0x29}, {0x86, 0x4B}, /* 0xC4-0xC7 */ + {0x8B, 0x9F}, {0x94, 0x83}, {0x9C, 0x79}, {0x9E, 0xB7}, /* 0xC8-0xCB */ + {0x76, 0x75}, {0x9A, 0x6B}, {0x9C, 0x7A}, {0x9E, 0x1D}, /* 0xCC-0xCF */ + {0x70, 0x69}, {0x70, 0x6A}, {0x9E, 0xA4}, {0x9F, 0x7E}, /* 0xD0-0xD3 */ + {0x9F, 0x49}, {0x9F, 0x98}, {0x78, 0x81}, {0x92, 0xB9}, /* 0xD4-0xD7 */ + {0x88, 0xCF}, {0x58, 0xBB}, {0x60, 0x52}, {0x7C, 0xA7}, /* 0xD8-0xDB */ + {0x5A, 0xFA}, {0x25, 0x54}, {0x25, 0x66}, {0x25, 0x57}, /* 0xDC-0xDF */ + {0x25, 0x60}, {0x25, 0x6C}, {0x25, 0x63}, {0x25, 0x5A}, /* 0xE0-0xE3 */ + {0x25, 0x69}, {0x25, 0x5D}, {0x25, 0x52}, {0x25, 0x64}, /* 0xE4-0xE7 */ + {0x25, 0x55}, {0x25, 0x5E}, {0x25, 0x6A}, {0x25, 0x61}, /* 0xE8-0xEB */ + {0x25, 0x58}, {0x25, 0x67}, {0x25, 0x5B}, {0x25, 0x53}, /* 0xEC-0xEF */ + {0x25, 0x65}, {0x25, 0x56}, {0x25, 0x5F}, {0x25, 0x6B}, /* 0xF0-0xF3 */ + {0x25, 0x62}, {0x25, 0x59}, {0x25, 0x68}, {0x25, 0x5C}, /* 0xF4-0xF7 */ + {0x25, 0x51}, {0x25, 0x50}, {0x25, 0x6D}, {0x25, 0x6E}, /* 0xF8-0xFB */ + {0x25, 0x70}, {0x25, 0x6F}, {0x25, 0x93}, {0x00, 0x3F}, /* 0xFC-0xFF */ +}; + +static struct nls_unicode *page_charset2uni[256] = { + 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, c2u_A1, c2u_A2, c2u_A3, c2u_A4, c2u_A5, c2u_A6, c2u_A7, + c2u_A8, c2u_A9, c2u_AA, c2u_AB, c2u_AC, c2u_AD, c2u_AE, c2u_AF, + c2u_B0, c2u_B1, c2u_B2, c2u_B3, c2u_B4, c2u_B5, c2u_B6, c2u_B7, + c2u_B8, c2u_B9, c2u_BA, c2u_BB, c2u_BC, c2u_BD, c2u_BE, c2u_BF, + c2u_C0, c2u_C1, c2u_C2, c2u_C3, c2u_C4, c2u_C5, c2u_C6, NULL, + NULL, c2u_C9, c2u_CA, c2u_CB, c2u_CC, c2u_CD, c2u_CE, c2u_CF, + c2u_D0, c2u_D1, c2u_D2, c2u_D3, c2u_D4, c2u_D5, c2u_D6, c2u_D7, + c2u_D8, c2u_D9, c2u_DA, c2u_DB, c2u_DC, c2u_DD, c2u_DE, c2u_DF, + c2u_E0, c2u_E1, c2u_E2, c2u_E3, c2u_E4, c2u_E5, c2u_E6, c2u_E7, + c2u_E8, c2u_E9, c2u_EA, c2u_EB, c2u_EC, c2u_ED, c2u_EE, c2u_EF, + c2u_F0, c2u_F1, c2u_F2, c2u_F3, c2u_F4, c2u_F5, c2u_F6, c2u_F7, + c2u_F8, c2u_F9, NULL, NULL, NULL, NULL, NULL, NULL, +}; + +static unsigned char u2c_02[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA3, 0xBE, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xA3, 0xBC, 0xA3, 0xBD, 0xA3, 0xBF, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xA1, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xA3, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_03[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xA3, 0x44, 0xA3, 0x45, 0xA3, 0x46, /* 0x90-0x93 */ + 0xA3, 0x47, 0xA3, 0x48, 0xA3, 0x49, 0xA3, 0x4A, /* 0x94-0x97 */ + 0xA3, 0x4B, 0xA3, 0x4C, 0xA3, 0x4D, 0xA3, 0x4E, /* 0x98-0x9B */ + 0xA3, 0x4F, 0xA3, 0x50, 0xA3, 0x51, 0xA3, 0x52, /* 0x9C-0x9F */ + 0xA3, 0x53, 0xA3, 0x54, 0x3F, 0x3F, 0xA3, 0x55, /* 0xA0-0xA3 */ + 0xA3, 0x56, 0xA3, 0x57, 0xA3, 0x58, 0xA3, 0x59, /* 0xA4-0xA7 */ + 0xA3, 0x5A, 0xA3, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xA3, 0x5C, 0xA3, 0x5D, 0xA3, 0x5E, /* 0xB0-0xB3 */ + 0xA3, 0x5F, 0xA3, 0x60, 0xA3, 0x61, 0xA3, 0x62, /* 0xB4-0xB7 */ + 0xA3, 0x63, 0xA3, 0x64, 0xA3, 0x65, 0xA3, 0x66, /* 0xB8-0xBB */ + 0xA3, 0x67, 0xA3, 0x68, 0xA3, 0x69, 0xA3, 0x6A, /* 0xBC-0xBF */ + 0xA3, 0x6B, 0xA3, 0x6C, 0x3F, 0x3F, 0xA3, 0x6D, /* 0xC0-0xC3 */ + 0xA3, 0x6E, 0xA3, 0x6F, 0xA3, 0x70, 0xA3, 0x71, /* 0xC4-0xC7 */ + 0xA3, 0x72, 0xA3, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_20[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0x56, /* 0x10-0x13 */ + 0xA1, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xA1, 0xA5, 0xA1, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xA1, 0xA7, 0xA1, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xA1, 0x4C, 0xA1, 0x4B, 0xA1, 0x45, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xAC, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xA1, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xB0, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_21[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0x4A, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xA1, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xA2, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA2, 0xB9, 0xA2, 0xBA, 0xA2, 0xBB, 0xA2, 0xBC, /* 0x60-0x63 */ + 0xA2, 0xBD, 0xA2, 0xBE, 0xA2, 0xBF, 0xA2, 0xC0, /* 0x64-0x67 */ + 0xA2, 0xC1, 0xA2, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xA1, 0xF6, 0xA1, 0xF4, 0xA1, 0xF7, 0xA1, 0xF5, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xF8, 0xA1, 0xF9, /* 0x94-0x97 */ + 0xA1, 0xFB, 0xA1, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_22[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xA2, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xD4, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xDB, 0xA1, 0xE8, /* 0x1C-0x1F */ + 0xA1, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xFD, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xA1, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xA1, 0xE4, 0xA1, 0xE5, 0xA1, 0xEC, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xED, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xA1, 0xEF, 0xA1, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xDC, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA1, 0xDA, 0xA1, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xD8, 0xA1, 0xD9, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xA1, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xA1, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xA1, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xE9, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_25[512] = { + 0xA2, 0x77, 0x3F, 0x3F, 0xA2, 0x78, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xA2, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xA2, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xA2, 0x7C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xA2, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xA2, 0x75, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xA2, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xA2, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xA2, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xA2, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xF9, 0xF9, 0xF9, 0xF8, 0xF9, 0xE6, 0xF9, 0xEF, /* 0x50-0x53 */ + 0xF9, 0xDD, 0xF9, 0xE8, 0xF9, 0xF1, 0xF9, 0xDF, /* 0x54-0x57 */ + 0xF9, 0xEC, 0xF9, 0xF5, 0xF9, 0xE3, 0xF9, 0xEE, /* 0x58-0x5B */ + 0xF9, 0xF7, 0xF9, 0xE5, 0xF9, 0xE9, 0xF9, 0xF2, /* 0x5C-0x5F */ + 0xF9, 0xE0, 0xF9, 0xEB, 0xF9, 0xF4, 0xF9, 0xE2, /* 0x60-0x63 */ + 0xF9, 0xE7, 0xF9, 0xF0, 0xF9, 0xDE, 0xF9, 0xED, /* 0x64-0x67 */ + 0xF9, 0xF6, 0xF9, 0xE4, 0xF9, 0xEA, 0xF9, 0xF3, /* 0x68-0x6B */ + 0xF9, 0xE1, 0xF9, 0xFA, 0xF9, 0xFB, 0xF9, 0xFD, /* 0x6C-0x6F */ + 0xF9, 0xFC, 0xA2, 0xAC, 0xA2, 0xAD, 0xA2, 0xAE, /* 0x70-0x73 */ + 0xA1, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xA2, 0x62, 0xA2, 0x63, 0xA2, 0x64, /* 0x80-0x83 */ + 0xA2, 0x65, 0xA2, 0x66, 0xA2, 0x67, 0xA2, 0x68, /* 0x84-0x87 */ + 0xA2, 0x69, 0xA2, 0x70, 0xA2, 0x6F, 0xA2, 0x6E, /* 0x88-0x8B */ + 0xA2, 0x6D, 0xA2, 0x6C, 0xA2, 0x6B, 0xA2, 0x6A, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xFE, /* 0x90-0x93 */ + 0xA2, 0x76, 0xA2, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xA1, 0xBD, 0xA1, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xB6, 0xA1, 0xB5, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xA1, 0xBF, 0xA1, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xBB, 0xA1, 0xBA, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xB3, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xB7, 0xA1, 0xB4, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0xA8, 0xA2, 0xA9, /* 0xE0-0xE3 */ + 0xA2, 0xAB, 0xA2, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_26[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xA1, 0xB9, 0xA1, 0xB8, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xA1, 0xF0, 0x3F, 0x3F, 0xA1, 0xF1, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_30[512] = { + 0xA1, 0x40, 0xA1, 0x42, 0xA1, 0x43, 0xA1, 0xB2, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xA1, 0x71, 0xA1, 0x72, 0xA1, 0x6D, 0xA1, 0x6E, /* 0x08-0x0B */ + 0xA1, 0x75, 0xA1, 0x76, 0xA1, 0x79, 0xA1, 0x7A, /* 0x0C-0x0F */ + 0xA1, 0x69, 0xA1, 0x6A, 0xA2, 0x45, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xA1, 0x65, 0xA1, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xA1, 0xA9, 0xA1, 0xAA, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xA2, 0xC3, 0xA2, 0xC4, 0xA2, 0xC5, /* 0x20-0x23 */ + 0xA2, 0xC6, 0xA2, 0xC7, 0xA2, 0xC8, 0xA2, 0xC9, /* 0x24-0x27 */ + 0xA2, 0xCA, 0xA2, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_31[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xA3, 0x74, 0xA3, 0x75, 0xA3, 0x76, /* 0x04-0x07 */ + 0xA3, 0x77, 0xA3, 0x78, 0xA3, 0x79, 0xA3, 0x7A, /* 0x08-0x0B */ + 0xA3, 0x7B, 0xA3, 0x7C, 0xA3, 0x7D, 0xA3, 0x7E, /* 0x0C-0x0F */ + 0xA3, 0xA1, 0xA3, 0xA2, 0xA3, 0xA3, 0xA3, 0xA4, /* 0x10-0x13 */ + 0xA3, 0xA5, 0xA3, 0xA6, 0xA3, 0xA7, 0xA3, 0xA8, /* 0x14-0x17 */ + 0xA3, 0xA9, 0xA3, 0xAA, 0xA3, 0xAB, 0xA3, 0xAC, /* 0x18-0x1B */ + 0xA3, 0xAD, 0xA3, 0xAE, 0xA3, 0xAF, 0xA3, 0xB0, /* 0x1C-0x1F */ + 0xA3, 0xB1, 0xA3, 0xB2, 0xA3, 0xB3, 0xA3, 0xB4, /* 0x20-0x23 */ + 0xA3, 0xB5, 0xA3, 0xB6, 0xA3, 0xB7, 0xA3, 0xB8, /* 0x24-0x27 */ + 0xA3, 0xB9, 0xA3, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_32[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xC0, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_33[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0x55, 0xA2, 0x56, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xA2, 0x50, 0xA2, 0x51, 0xA2, 0x52, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xA2, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xA2, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA2, 0x53, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xA1, 0xEB, 0xA1, 0xEA, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xA2, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_4E[512] = { + 0xA4, 0x40, 0xA4, 0x42, 0x3F, 0x3F, 0xA4, 0x43, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0x45, /* 0x04-0x07 */ + 0xA4, 0x56, 0xA4, 0x54, 0xA4, 0x57, 0xA4, 0x55, /* 0x08-0x0B */ + 0xC9, 0x46, 0xA4, 0xA3, 0xC9, 0x4F, 0xC9, 0x4D, /* 0x0C-0x0F */ + 0xA4, 0xA2, 0xA4, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xA5, 0x42, 0xA5, 0x41, 0xA5, 0x40, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xA5, 0x43, 0xA4, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA5, 0xE0, 0xA5, 0xE1, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xC3, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA4, 0x58, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xA4, 0xA4, 0xC9, 0x50, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xA4, 0xA5, 0xC9, 0x63, 0xA6, 0xEA, 0xCB, 0xB1, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xA4, 0x59, 0xA4, 0xA6, 0x3F, 0x3F, 0xA5, 0x44, /* 0x38-0x3B */ + 0xC9, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0x40, 0xA4, 0x44, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xA4, 0x5B, 0x3F, 0x3F, 0xC9, 0x47, /* 0x44-0x47 */ + 0xA4, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0xA4, 0xA7, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xA5, 0x45, 0xA5, 0x47, 0xA5, 0x46, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA5, 0xE2, 0xA5, 0xE3, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xC4, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xAD, 0xBC, 0xA4, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xC9, 0x41, 0xA4, 0x45, 0xA4, 0x5E, 0xA4, 0x5D, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xA5, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xC5, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0xAE, 0xD4, 0x4B, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0xC3, 0xDC, 0xB1, /* 0x80-0x83 */ + 0xDC, 0xB2, 0x3F, 0x3F, 0xA4, 0x46, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xA4, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xC6, /* 0x88-0x8B */ + 0xA4, 0x47, 0xC9, 0x48, 0xA4, 0x5F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xA4, 0xAA, 0xA4, 0xAC, 0xC9, 0x51, /* 0x90-0x93 */ + 0xA4, 0xAD, 0xA4, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xA5, 0xE5, 0x3F, 0x3F, 0xA8, 0xC7, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xC8, 0xAB, 0x45, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xA4, 0x60, 0xA4, 0xAE, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xA5, 0xE6, 0xA5, 0xE8, 0xA5, 0xE7, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xA6, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xC9, /* 0xA8-0xAB */ + 0xA8, 0xCA, 0xAB, 0x46, 0xAB, 0x47, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAD, 0xBD, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xB3, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xF6, 0xD6, 0xA4, 0x48, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xA4, 0xB0, 0xA4, 0xAF, 0xC9, 0x52, 0xA4, 0xB1, /* 0xC0-0xC3 */ + 0xA4, 0xB7, 0x3F, 0x3F, 0xA4, 0xB2, 0xA4, 0xB3, /* 0xC4-0xC7 */ + 0xC9, 0x54, 0xC9, 0x53, 0xA4, 0xB5, 0xA4, 0xB6, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xA4, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xA5, 0x4A, 0xA5, 0x4B, 0xA5, 0x4C, 0xA5, 0x4D, /* 0xD4-0xD7 */ + 0xA5, 0x49, 0xA5, 0x50, 0xC9, 0x6A, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xC9, 0x66, 0xC9, 0x69, 0xA5, 0x51, 0xA5, 0x61, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xC9, 0x68, 0x3F, 0x3F, 0xA5, 0x4E, /* 0xE0-0xE3 */ + 0xA5, 0x4F, 0xA5, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xC9, 0x65, 0xC9, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xA5, 0xF5, 0xC9, 0xB0, 0xA5, 0xF2, 0xA5, 0xF6, /* 0xF0-0xF3 */ + 0xC9, 0xBA, 0xC9, 0xAE, 0xA5, 0xF3, 0xC9, 0xB2, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA5, 0xF4, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xA5, 0xF7, 0x3F, 0x3F, 0xA5, 0xE9, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_4F[512] = { + 0xC9, 0xB1, 0xA5, 0xF8, 0xC9, 0xB5, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xC9, 0xB9, 0xC9, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xC9, 0xB3, 0xA5, 0xEA, 0xA5, 0xEC, 0xA5, 0xF9, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xA5, 0xEE, 0xC9, 0xAB, 0xA5, 0xF1, /* 0x0C-0x0F */ + 0xA5, 0xEF, 0xA5, 0xF0, 0xC9, 0xBB, 0xC9, 0xB8, /* 0x10-0x13 */ + 0xC9, 0xAF, 0xA5, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xC9, 0xAC, 0xA5, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xC9, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0xB7, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xC9, 0xAD, 0xCA, 0x66, 0x3F, 0x3F, 0xA7, 0x42, /* 0x2C-0x2F */ + 0xA6, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0x67, /* 0x30-0x33 */ + 0xA6, 0xF1, 0x3F, 0x3F, 0xA7, 0x44, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xA6, 0xF9, 0x3F, 0x3F, 0xA6, 0xF8, 0xCA, 0x5B, /* 0x38-0x3B */ + 0xA6, 0xFC, 0xA6, 0xF7, 0xCA, 0x60, 0xCA, 0x68, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xCA, 0x64, 0x3F, 0x3F, 0xA6, 0xFA, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0xFD, 0xA6, 0xEE, /* 0x44-0x47 */ + 0xA7, 0x47, 0xCA, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xCB, 0xBD, 0xA6, 0xEC, 0xA7, 0x43, 0xA6, 0xED, /* 0x4C-0x4F */ + 0xA6, 0xF5, 0xA6, 0xF6, 0xCA, 0x62, 0xCA, 0x5E, /* 0x50-0x53 */ + 0xA6, 0xFB, 0xA6, 0xF3, 0xCA, 0x5A, 0xA6, 0xEF, /* 0x54-0x57 */ + 0xCA, 0x65, 0xA7, 0x45, 0xA7, 0x48, 0xA6, 0xF2, /* 0x58-0x5B */ + 0xA7, 0x40, 0xA7, 0x46, 0xA6, 0xF0, 0xCA, 0x63, /* 0x5C-0x5F */ + 0xA7, 0x41, 0xCA, 0x69, 0xCA, 0x5C, 0xA6, 0xFE, /* 0x60-0x63 */ + 0xCA, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0x61, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xA8, 0xD8, 0xCB, 0xBF, 0xCB, 0xCB, /* 0x68-0x6B */ + 0xA8, 0xD0, 0x3F, 0x3F, 0xCB, 0xCC, 0xA8, 0xCB, /* 0x6C-0x6F */ + 0xA8, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xCE, /* 0x70-0x73 */ + 0xCB, 0xB9, 0xA8, 0xD6, 0xCB, 0xB8, 0xCB, 0xBC, /* 0x74-0x77 */ + 0xCB, 0xC3, 0xCB, 0xC1, 0xA8, 0xDE, 0xA8, 0xD9, /* 0x78-0x7B */ + 0xCB, 0xB3, 0xCB, 0xB5, 0xA8, 0xDB, 0xA8, 0xCF, /* 0x7C-0x7F */ + + 0xCB, 0xB6, 0xCB, 0xC2, 0xCB, 0xC9, 0xA8, 0xD4, /* 0x80-0x83 */ + 0xCB, 0xBB, 0xCB, 0xB4, 0xA8, 0xD3, 0xCB, 0xB7, /* 0x84-0x87 */ + 0xA8, 0xD7, 0xCB, 0xBA, 0x3F, 0x3F, 0xA8, 0xD2, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xA8, 0xCD, 0x3F, 0x3F, 0xA8, 0xDC, /* 0x8C-0x8F */ + 0xCB, 0xC4, 0xA8, 0xDD, 0xCB, 0xC8, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xCB, 0xC6, 0xCB, 0xCA, 0xA8, 0xDA, 0xCB, 0xBE, /* 0x94-0x97 */ + 0xCB, 0xB2, 0x3F, 0x3F, 0xCB, 0xC0, 0xA8, 0xD1, /* 0x98-0x9B */ + 0xCB, 0xC5, 0xA8, 0xCC, 0xCB, 0xC7, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0x56, 0xAB, 0x4A, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xE0, 0xCD, 0xE8, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xAB, 0x49, 0xAB, 0x51, 0xAB, 0x5D, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xCD, 0xEE, 0xCD, 0xEC, 0xCD, 0xE7, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0x4B, /* 0xBC-0xBF */ + 0xCD, 0xED, 0xCD, 0xE3, 0xAB, 0x59, 0xAB, 0x50, /* 0xC0-0xC3 */ + 0xAB, 0x58, 0xCD, 0xDE, 0x3F, 0x3F, 0xCD, 0xEA, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xCD, 0xE1, 0xAB, 0x54, 0xCD, 0xE2, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xCD, 0xDD, 0xAB, 0x5B, 0xAB, 0x4E, /* 0xCC-0xCF */ + 0xAB, 0x57, 0xAB, 0x4D, 0x3F, 0x3F, 0xCD, 0xDF, /* 0xD0-0xD3 */ + 0xCD, 0xE4, 0x3F, 0x3F, 0xCD, 0xEB, 0xAB, 0x55, /* 0xD4-0xD7 */ + 0xAB, 0x52, 0xCD, 0xE6, 0xAB, 0x5A, 0xCD, 0xE9, /* 0xD8-0xDB */ + 0xCD, 0xE5, 0xAB, 0x4F, 0xAB, 0x5C, 0xAB, 0x53, /* 0xDC-0xDF */ + 0xAB, 0x4C, 0xAB, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xCD, 0xEF, 0x3F, 0x3F, 0xAD, 0xD7, 0xAD, 0xC1, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xAD, 0xD1, 0x3F, 0x3F, 0xAD, 0xD6, /* 0xF0-0xF3 */ + 0xD0, 0xD0, 0xD0, 0xCF, 0xD0, 0xD4, 0xD0, 0xD5, /* 0xF4-0xF7 */ + 0xAD, 0xC4, 0x3F, 0x3F, 0xAD, 0xCD, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAD, 0xDA, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_50[512] = { + 0xAD, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xD0, 0xC9, 0xAD, 0xC7, 0xD0, 0xCA, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xAD, 0xDC, 0x3F, 0x3F, 0xAD, 0xD3, /* 0x08-0x0B */ + 0xAD, 0xBE, 0xAD, 0xBF, 0xD0, 0xDD, 0xB0, 0xBF, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xAD, 0xCC, 0xAD, 0xCB, 0xD0, 0xCB, /* 0x10-0x13 */ + 0xAD, 0xCF, 0xD4, 0x5B, 0xAD, 0xC6, 0xD0, 0xD6, /* 0x14-0x17 */ + 0xAD, 0xD5, 0xAD, 0xD4, 0xAD, 0xCA, 0xD0, 0xCE, /* 0x18-0x1B */ + 0xD0, 0xD7, 0x3F, 0x3F, 0xD0, 0xC8, 0xAD, 0xC9, /* 0x1C-0x1F */ + 0xD0, 0xD8, 0xAD, 0xD2, 0xD0, 0xCC, 0xAD, 0xC0, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xAD, 0xC3, 0xAD, 0xC2, 0xD0, 0xD9, /* 0x24-0x27 */ + 0xAD, 0xD0, 0xAD, 0xC5, 0xAD, 0xD9, 0xAD, 0xDB, /* 0x28-0x2B */ + 0xD0, 0xD3, 0xAD, 0xD8, 0x3F, 0x3F, 0xD0, 0xDB, /* 0x2C-0x2F */ + 0xD0, 0xCD, 0xD0, 0xDC, 0x3F, 0x3F, 0xD0, 0xD1, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xD0, 0xDA, 0x3F, 0x3F, 0xD0, 0xD2, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xAD, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xD4, 0x63, 0xD4, 0x57, 0x3F, 0x3F, 0xB0, 0xB3, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xD4, 0x5C, 0xD4, 0x62, 0xB0, 0xB2, /* 0x44-0x47 */ + 0xD4, 0x55, 0xB0, 0xB6, 0xD4, 0x59, 0xD4, 0x52, /* 0x48-0x4B */ + 0xB0, 0xB4, 0xD4, 0x56, 0xB0, 0xB9, 0xB0, 0xBE, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xD4, 0x67, 0x3F, 0x3F, 0xD4, 0x51, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xB0, 0xBA, 0x3F, 0x3F, 0xD4, 0x66, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0xB5, 0xD4, 0x58, /* 0x58-0x5B */ + 0xB0, 0xB1, 0xD4, 0x53, 0xD4, 0x4F, 0xD4, 0x5D, /* 0x5C-0x5F */ + 0xD4, 0x50, 0xD4, 0x4E, 0xD4, 0x5A, 0xD4, 0x60, /* 0x60-0x63 */ + 0xD4, 0x61, 0xB0, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xD8, 0x5B, 0xD4, 0x5E, 0xD4, 0x4D, 0xD4, 0x5F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xB0, 0xC1, 0xD4, 0x64, 0xB0, 0xC0, /* 0x6C-0x6F */ + 0xD4, 0x4C, 0x3F, 0x3F, 0xD4, 0x54, 0xD4, 0x65, /* 0x70-0x73 */ + 0xB0, 0xBC, 0xB0, 0xBB, 0xB0, 0xB8, 0xB0, 0xBD, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0xAF, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xB0, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xB3, 0xC8, 0x3F, 0x3F, 0xD8, 0x5E, 0xD8, 0x57, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xB3, 0xC5, 0x3F, 0x3F, 0xD8, 0x5F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0x55, /* 0x88-0x8B */ + 0xD8, 0x58, 0xB3, 0xC4, 0xD8, 0x59, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xB3, 0xC7, 0xD8, 0x5D, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xD8, 0x53, 0xD8, 0x52, 0xB3, 0xC9, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xB3, 0xCA, 0xB3, 0xC6, 0xB3, 0xCB, 0xD8, 0x51, /* 0x98-0x9B */ + 0xD8, 0x5C, 0xD8, 0x5A, 0xD8, 0x54, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0xC3, 0xD8, 0x56, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xB6, 0xCA, 0xB6, 0xC4, 0xDC, 0xB7, 0xB6, 0xCD, /* 0xAC-0xAF */ + 0xDC, 0xBD, 0xDC, 0xC0, 0xB6, 0xC6, 0xB6, 0xC7, /* 0xB0-0xB3 */ + 0xDC, 0xBA, 0xB6, 0xC5, 0xDC, 0xC3, 0xB6, 0xCB, /* 0xB4-0xB7 */ + 0xDC, 0xC4, 0x3F, 0x3F, 0xDC, 0xBF, 0xB6, 0xCC, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xDC, 0xB4, 0xB6, 0xC9, 0xDC, 0xB5, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xDC, 0xBE, 0xDC, 0xBC, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xDC, 0xB8, 0xB6, 0xC8, 0xDC, 0xB6, 0xB6, 0xCE, /* 0xC4-0xC7 */ + 0xDC, 0xBB, 0xDC, 0xC2, 0xDC, 0xB9, 0xDC, 0xC1, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0xB6, 0xB9, 0xB3, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xB9, 0xB4, 0x3F, 0x3F, 0xE0, 0xF9, /* 0xD0-0xD3 */ + 0xE0, 0xF1, 0xB9, 0xB2, 0xB9, 0xAF, 0xE0, 0xF2, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0xB1, 0xE0, 0xF5, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xE0, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xE0, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xFD, /* 0xE0-0xE3 */ + 0xE0, 0xF8, 0xB9, 0xAE, 0xE0, 0xF0, 0xB9, 0xAC, /* 0xE4-0xE7 */ + 0xE0, 0xF3, 0xB9, 0xB7, 0xE0, 0xF6, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xE0, 0xFA, 0xB9, 0xB0, 0xB9, 0xAD, 0xE0, 0xFC, /* 0xEC-0xEF */ + 0xE0, 0xFB, 0xB9, 0xB5, 0x3F, 0x3F, 0xE0, 0xF4, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xBB, 0xF8, 0xE4, 0xEC, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xE4, 0xE9, 0xBB, 0xF9, 0x3F, 0x3F, 0xBB, 0xF7, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xE4, 0xF0, 0xE4, 0xED, 0xE4, 0xE6, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_51[512] = { + 0xBB, 0xF6, 0x3F, 0x3F, 0xBB, 0xFA, 0xE4, 0xE7, /* 0x00-0x03 */ + 0xBB, 0xF5, 0xBB, 0xFD, 0xE4, 0xEA, 0xE4, 0xEB, /* 0x04-0x07 */ + 0xBB, 0xFB, 0xBB, 0xFC, 0xE4, 0xF1, 0xE4, 0xEE, /* 0x08-0x0B */ + 0xE4, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xBE, 0xAA, 0xE8, 0xF8, 0xBE, 0xA7, 0xE8, 0xF5, /* 0x10-0x13 */ + 0xBE, 0xA9, 0xBE, 0xAB, 0x3F, 0x3F, 0xE8, 0xF6, /* 0x14-0x17 */ + 0xBE, 0xA8, 0x3F, 0x3F, 0xE8, 0xF7, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xE8, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0x76, /* 0x1C-0x1F */ + 0xEC, 0xBD, 0xC0, 0x77, 0xEC, 0xBB, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xEC, 0xBC, 0xEC, 0xBA, 0xEC, 0xB9, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xEC, 0xBE, 0xC0, 0x75, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xEF, 0xB8, 0xEF, 0xB9, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xE4, 0xE8, 0xEF, 0xB7, 0xC0, 0x78, 0xC3, 0x5F, /* 0x30-0x33 */ + 0xF1, 0xEB, 0xF1, 0xEC, 0x3F, 0x3F, 0xC4, 0xD7, /* 0x34-0x37 */ + 0xC4, 0xD8, 0xF5, 0xC1, 0xF5, 0xC0, 0xC5, 0x6C, /* 0x38-0x3B */ + 0xC5, 0x6B, 0xF7, 0xD0, 0x3F, 0x3F, 0xA4, 0x49, /* 0x3C-0x3F */ + 0xA4, 0x61, 0xA4, 0xB9, 0x3F, 0x3F, 0xA4, 0xB8, /* 0x40-0x43 */ + 0xA5, 0x53, 0xA5, 0x52, 0xA5, 0xFC, 0xA5, 0xFB, /* 0x44-0x47 */ + 0xA5, 0xFD, 0xA5, 0xFA, 0x3F, 0x3F, 0xA7, 0x4A, /* 0x48-0x4B */ + 0xA7, 0x49, 0xA7, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xE0, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xA8, 0xDF, 0xA8, 0xE1, 0x3F, 0x3F, 0xAB, 0x5E, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xA2, 0x59, 0xD0, 0xDE, 0xA2, 0x5A, /* 0x58-0x5B */ + 0xB0, 0xC2, 0xA2, 0x5C, 0xA2, 0x5B, 0xD8, 0x60, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xA2, 0x5D, 0xB9, 0xB8, 0xA2, 0x5E, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xA4, 0x4A, 0x3F, 0x3F, 0xA4, 0xBA, /* 0x64-0x67 */ + 0xA5, 0xFE, 0xA8, 0xE2, 0x3F, 0x3F, 0xA4, 0x4B, /* 0x68-0x6B */ + 0xA4, 0xBD, 0xA4, 0xBB, 0xA4, 0xBC, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xA6, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xA7, 0x4C, 0xA8, 0xE4, 0xA8, 0xE3, /* 0x74-0x77 */ + 0xA8, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xAD, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xBE, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0x4E, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xA5, 0x54, 0xA5, 0x55, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xA6, 0x41, 0x3F, 0x3F, 0xCA, 0x6A, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xAB, 0x60, 0xAB, 0x5F, 0xD0, 0xE0, /* 0x90-0x93 */ + 0xD0, 0xDF, 0xB0, 0xC3, 0x3F, 0x3F, 0xA4, 0xBE, /* 0x94-0x97 */ + 0xC9, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xCD, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xAB, 0x61, 0x3F, 0x3F, 0xAD, 0xE0, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xAD, 0xDE, 0xAD, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBE, 0xAD, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xA5, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xA6, 0x42, 0xC9, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0x4D, 0xA7, 0x4E, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xCA, 0x6B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xCB, 0xCE, 0xA8, 0xE6, 0xCB, 0xCF, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xD0, 0xE2, 0xD0, 0xE3, 0xAD, 0xE3, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xD0, 0xE4, 0x3F, 0x3F, 0xD0, 0xE1, 0xAD, 0xE4, /* 0xC8-0xCB */ + 0xAD, 0xE2, 0xAD, 0xE1, 0xD0, 0xE5, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xD4, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xD8, 0x61, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xC5, /* 0xD4-0xD7 */ + 0xE1, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xBB, 0xFE, 0xBE, 0xAE, 0xE8, 0xF9, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xA4, 0x4C, 0xA4, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xB0, 0xC4, 0xB3, 0xCD, 0x3F, 0x3F, 0xB9, 0xB9, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xC9, 0x42, 0xA4, 0xBF, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xA5, 0x59, 0xA5, 0x57, 0xA5, 0x58, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xA8, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_52[512] = { + 0xA4, 0x4D, 0xA4, 0x4E, 0x3F, 0x3F, 0xA4, 0x62, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA4, 0xC0, 0xA4, 0xC1, /* 0x04-0x07 */ + 0xA4, 0xC2, 0xC9, 0xBE, 0xA5, 0x5A, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xC9, 0x6B, 0x3F, 0x3F, 0xA6, 0x46, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xC9, 0xBF, 0xA6, 0x44, 0xA6, 0x45, 0xC9, 0xBD, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0x47, 0xA6, 0x43, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xCA, 0x6C, 0xAA, 0xEC, 0xCA, 0x6D, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xCA, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xA7, 0x50, 0xA7, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xA7, 0x53, 0xA7, 0x51, 0xA7, 0x52, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xED, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xA8, 0xEC, 0xCB, 0xD4, 0xCB, 0xD1, 0xCB, 0xD2, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xCB, 0xD0, 0xA8, 0xEE, 0xA8, 0xEA, /* 0x34-0x37 */ + 0xA8, 0xE9, 0x3F, 0x3F, 0xA8, 0xEB, 0xA8, 0xE8, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xA8, 0xEF, 0x3F, 0x3F, 0xAB, 0x63, /* 0x40-0x43 */ + 0xCD, 0xF0, 0x3F, 0x3F, 0xCB, 0xD3, 0xAB, 0x68, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xCD, 0xF1, 0xAB, 0x64, 0xAB, 0x67, /* 0x48-0x4B */ + 0xAB, 0x66, 0xAB, 0x65, 0xAB, 0x62, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xE8, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xAD, 0xE7, 0xD0, 0xEB, 0xAD, 0xE5, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xE7, 0xAD, 0xE8, /* 0x58-0x5B */ + 0xAD, 0xE6, 0xAD, 0xE9, 0xD0, 0xE9, 0xD0, 0xEA, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xD0, 0xE6, 0xD0, 0xEC, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xB3, 0xD1, 0xB0, 0xC5, 0xD4, 0x69, /* 0x68-0x6B */ + 0xD4, 0x6B, 0xD4, 0x6A, 0xD4, 0x6C, 0xB0, 0xC6, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0xCE, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xB3, 0xCF, 0xB3, 0xD0, 0x3F, 0x3F, 0xB6, 0xD0, /* 0x74-0x77 */ + 0xDC, 0xC7, 0x3F, 0x3F, 0xDC, 0xC6, 0xDC, 0xC8, /* 0x78-0x7B */ + 0xDC, 0xC9, 0xB6, 0xD1, 0x3F, 0x3F, 0xB6, 0xCF, /* 0x7C-0x7F */ + + 0xE1, 0x41, 0xE1, 0x42, 0xB9, 0xBB, 0xB9, 0xBA, /* 0x80-0x83 */ + 0xE3, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, 0xBC, 0x40, /* 0x84-0x87 */ + 0xBC, 0x41, 0xBC, 0x42, 0xBC, 0x44, 0xE4, 0xF2, /* 0x88-0x8B */ + 0xE4, 0xF3, 0xBC, 0x43, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xBE, 0xAF, 0x3F, 0x3F, 0xBE, 0xB0, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xED, 0xF5, 0xC3, /* 0x94-0x97 */ + 0xF5, 0xC2, 0xF7, 0xD1, 0x3F, 0x3F, 0xA4, 0x4F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA5, 0x5C, /* 0x9C-0x9F */ + 0xA5, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0x48, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0xC0, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xA7, 0x55, 0xA7, 0x56, 0xA7, 0x54, /* 0xA8-0xAB */ + 0xA7, 0x57, 0xCA, 0x6F, 0xCA, 0x70, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xF1, /* 0xB8-0xBB */ + 0xCB, 0xD5, 0x3F, 0x3F, 0xA8, 0xF0, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xCD, 0xF2, 0xAB, 0x6C, 0xCD, 0xF3, 0xAB, 0x6B, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0x69, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xAB, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xD0, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0xC7, 0xD4, 0x6E, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xB0, 0xCA, 0xD4, 0x6D, 0xB1, 0xE5, /* 0xD4-0xD7 */ + 0xB0, 0xC9, 0xB0, 0xC8, 0x3F, 0x3F, 0xB3, 0xD4, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xB3, 0xD3, 0xB3, 0xD2, 0xB6, 0xD2, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0xD5, 0xB6, 0xD6, /* 0xE0-0xE3 */ + 0xB6, 0xD4, 0x3F, 0x3F, 0xB6, 0xD3, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xE1, 0x43, 0x3F, 0x3F, 0xE1, 0x44, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xF5, /* 0xEC-0xEF */ + 0xBC, 0x45, 0xE4, 0xF4, 0x3F, 0x3F, 0xBE, 0xB1, /* 0xF0-0xF3 */ + 0xEC, 0xBF, 0xC0, 0x79, 0x3F, 0x3F, 0xF1, 0xEE, /* 0xF4-0xF7 */ + 0xC4, 0x55, 0x3F, 0x3F, 0xA4, 0x63, 0xA4, 0xC3, /* 0xF8-0xFB */ + 0xC9, 0x56, 0x3F, 0x3F, 0xA4, 0xC4, 0xA4, 0xC5, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_53[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xA5, 0x5D, 0xA5, 0x5E, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xA6, 0x49, 0xCA, 0x71, 0xCB, 0xD6, 0xCB, 0xD7, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xAB, 0x6D, 0xD0, 0xEE, 0xB0, 0xCC, /* 0x0C-0x0F */ + 0xB0, 0xCB, 0xD8, 0x63, 0xD8, 0x62, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xA4, 0x50, 0xA4, 0xC6, 0xA5, 0x5F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xB0, 0xCD, 0xC9, 0x43, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xC9, 0x6C, 0xA5, 0x60, 0x3F, 0x3F, 0xC9, 0xC2, /* 0x1C-0x1F */ + 0xA6, 0x4B, 0xA6, 0x4A, 0xC9, 0xC1, 0xA7, 0x58, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAD, 0xEA, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xD4, 0x6F, 0x3F, 0x3F, 0xB6, 0xD7, /* 0x2C-0x2F */ + 0xE1, 0x45, 0xB9, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xE8, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xFD, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xA4, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xCB, 0xD8, 0xCD, 0xF4, 0xB0, 0xD0, 0xB0, 0xCE, /* 0x3C-0x3F */ + 0xB0, 0xCF, 0xA4, 0x51, 0x3F, 0x3F, 0xA4, 0x64, /* 0x40-0x43 */ + 0xA2, 0xCD, 0xA4, 0xCA, 0x3F, 0x3F, 0xA4, 0xC9, /* 0x44-0x47 */ + 0xA4, 0xC8, 0xA5, 0x63, 0xA5, 0x62, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xC9, 0x6D, 0xC9, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xA8, 0xF5, 0xA8, 0xF2, 0xA8, 0xF4, /* 0x50-0x53 */ + 0xA8, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0x6E, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0xD5, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xA4, 0x52, 0x3F, 0x3F, 0xA4, 0xCB, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xA5, 0x65, 0xA5, 0x64, 0x3F, 0x3F, 0xCA, 0x72, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xF6, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xC9, 0x57, 0x3F, 0x3F, 0xA5, 0x67, 0xA5, 0x66, /* 0x6C-0x6F */ + 0xA6, 0x4C, 0xA6, 0x4D, 0xCA, 0x73, 0xA7, 0x59, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xA7, 0x5A, 0x3F, 0x3F, 0xA8, 0xF7, /* 0x74-0x77 */ + 0xA8, 0xF8, 0xA8, 0xF9, 0x3F, 0x3F, 0xAB, 0x6F, /* 0x78-0x7B */ + 0xCD, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, 0xAD, 0xEB, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0x44, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xA4, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0xC4, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0x74, 0xCA, 0x75, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xD9, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xCB, 0xDA, 0x3F, 0x3F, 0xCD, 0xF7, 0xCD, 0xF6, /* 0x94-0x97 */ + 0xCD, 0xF9, 0xCD, 0xF8, 0xAB, 0x70, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xD4, 0x70, 0xAD, 0xED, 0xD0, 0xEF, 0xAD, 0xEC, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xD8, 0x64, 0xB3, 0xD6, 0x3F, 0x3F, 0xD8, 0x65, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xE1, 0x46, 0xB9, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBC, 0x46, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xF1, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xC9, 0x58, 0x3F, 0x3F, 0xA5, 0x68, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0xD1, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xA4, 0x53, 0xA4, 0x65, 0xA4, 0xCE, 0xA4, 0xCD, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xA4, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xA8, 0xFB, 0x3F, 0x3F, 0xA8, 0xFA, 0xA8, 0xFC, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0x71, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAD, 0xEE, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xE8, 0xFB, 0xC2, 0x4F, 0xA4, 0x66, /* 0xE0-0xE3 */ + 0xA5, 0x6A, 0xA5, 0x79, 0xA5, 0x74, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xA5, 0x6F, 0xA5, 0x6E, 0xA5, 0x75, 0xA5, 0x73, /* 0xE8-0xEB */ + 0xA5, 0x6C, 0xA5, 0x7A, 0xA5, 0x6D, 0xA5, 0x69, /* 0xEC-0xEF */ + 0xA5, 0x78, 0xA5, 0x77, 0xA5, 0x76, 0xA5, 0x6B, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xA5, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xA5, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, 0xA5, 0x7B, /* 0xF8-0xFB */ + 0xA5, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_54[512] = { + 0x3F, 0x3F, 0xA6, 0x53, 0x3F, 0x3F, 0xA6, 0x59, /* 0x00-0x03 */ + 0xA6, 0x55, 0x3F, 0x3F, 0xA6, 0x5B, 0xC9, 0xC5, /* 0x04-0x07 */ + 0xA6, 0x58, 0xA6, 0x4E, 0xA6, 0x51, 0xA6, 0x54, /* 0x08-0x0B */ + 0xA6, 0x50, 0xA6, 0x57, 0xA6, 0x5A, 0xA6, 0x4F, /* 0x0C-0x0F */ + 0xA6, 0x52, 0xA6, 0x56, 0xA6, 0x5C, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xCA, 0x7E, 0xCA, 0x7B, 0x3F, 0x3F, 0xA7, 0x67, /* 0x18-0x1B */ + 0xCA, 0x7C, 0xA7, 0x5B, 0xA7, 0x5D, 0xA7, 0x75, /* 0x1C-0x1F */ + 0xA7, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xCA, 0xA5, 0xCA, 0x7D, 0xA7, 0x5F, 0xA7, 0x61, /* 0x24-0x27 */ + 0xCA, 0xA4, 0xA7, 0x68, 0xCA, 0x78, 0xA7, 0x74, /* 0x28-0x2B */ + 0xA7, 0x76, 0xA7, 0x5C, 0xA7, 0x6D, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xCA, 0x76, 0xA7, 0x73, 0x3F, 0x3F, 0xA7, 0x64, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xA7, 0x6E, 0xA7, 0x6F, 0xCA, 0x77, /* 0x34-0x37 */ + 0xA7, 0x6C, 0xA7, 0x6A, 0x3F, 0x3F, 0xA7, 0x6B, /* 0x38-0x3B */ + 0xA7, 0x71, 0xCA, 0xA1, 0xA7, 0x5E, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xA7, 0x72, 0xCA, 0xA3, 0xA7, 0x66, 0xA7, 0x63, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xCA, 0x7A, 0xA7, 0x62, 0xCA, 0xA6, /* 0x44-0x47 */ + 0xA7, 0x65, 0x3F, 0x3F, 0xA7, 0x69, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0x60, 0xCA, 0xA2, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xCA, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xCB, 0xEB, 0xCB, 0xEA, 0xA9, 0x4F, 0xCB, 0xED, /* 0x60-0x63 */ + 0xCB, 0xEF, 0xCB, 0xE4, 0xCB, 0xE7, 0xCB, 0xEE, /* 0x64-0x67 */ + 0xA9, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xE1, /* 0x68-0x6B */ + 0xCB, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xE9, /* 0x6C-0x6F */ + 0xCE, 0x49, 0xA9, 0x4B, 0xCE, 0x4D, 0xA8, 0xFD, /* 0x70-0x73 */ + 0xCB, 0xE6, 0xA8, 0xFE, 0xA9, 0x4C, 0xA9, 0x45, /* 0x74-0x77 */ + 0xA9, 0x41, 0x3F, 0x3F, 0xCB, 0xE2, 0xA9, 0x44, /* 0x78-0x7B */ + 0xA9, 0x49, 0xA9, 0x52, 0xCB, 0xE3, 0xCB, 0xDC, /* 0x7C-0x7F */ + + 0xA9, 0x43, 0xCB, 0xDD, 0xCB, 0xDF, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xA9, 0x46, 0x3F, 0x3F, 0xA9, 0x48, 0xCB, 0xDB, /* 0x84-0x87 */ + 0xCB, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0x51, /* 0x88-0x8B */ + 0xA9, 0x4D, 0xCB, 0xE8, 0xA9, 0x53, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xA9, 0x4A, 0xCB, 0xDE, 0xA9, 0x47, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xA9, 0x42, 0xA9, 0x40, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xCB, 0xEC, 0x3F, 0x3F, 0xA9, 0x4E, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xCE, 0x48, 0xCD, 0xFB, 0xCE, 0x4B, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xCD, 0xFD, 0xAB, 0x78, 0xAB, 0xA8, /* 0xA4-0xA7 */ + 0xAB, 0x74, 0xAB, 0xA7, 0xAB, 0x7D, 0xAB, 0xA4, /* 0xA8-0xAB */ + 0xAB, 0x72, 0xCD, 0xFC, 0xCE, 0x43, 0xAB, 0xA3, /* 0xAC-0xAF */ + 0xCE, 0x4F, 0xAB, 0xA5, 0x3F, 0x3F, 0xAB, 0x79, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0x45, 0xCE, 0x42, /* 0xB4-0xB7 */ + 0xAB, 0x77, 0x3F, 0x3F, 0xCD, 0xFA, 0xAB, 0xA6, /* 0xB8-0xBB */ + 0xCE, 0x4A, 0xAB, 0x7C, 0xCE, 0x4C, 0xAB, 0xA9, /* 0xBC-0xBF */ + 0xAB, 0x73, 0xAB, 0x7E, 0xAB, 0x7B, 0xCE, 0x40, /* 0xC0-0xC3 */ + 0xAB, 0xA1, 0xCE, 0x46, 0xCE, 0x47, 0xAB, 0x7A, /* 0xC4-0xC7 */ + 0xAB, 0xA2, 0xAB, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0x75, 0xCD, 0xFE, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0x44, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0x4E, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xD1, 0x44, 0xAD, 0xFB, 0xD0, 0xF1, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xD0, 0xF6, 0xAD, 0xF4, 0xAE, 0x40, 0xD0, 0xF4, /* 0xE4-0xE7 */ + 0xAD, 0xEF, 0xAD, 0xF9, 0xAD, 0xFE, 0xD0, 0xFB, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xAD, 0xFA, 0xAD, 0xFD, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xD0, 0xFE, 0xAD, 0xF5, 0xD0, 0xF5, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0x42, /* 0xF4-0xF7 */ + 0xD1, 0x43, 0x3F, 0x3F, 0xAD, 0xF7, 0xD1, 0x41, /* 0xF8-0xFB */ + 0xAD, 0xF3, 0xAE, 0x43, 0x3F, 0x3F, 0xD0, 0xF8, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_55[512] = { + 0x3F, 0x3F, 0xAD, 0xF1, 0x3F, 0x3F, 0xD1, 0x46, /* 0x00-0x03 */ + 0xD0, 0xF9, 0xD0, 0xFD, 0xAD, 0xF6, 0xAE, 0x42, /* 0x04-0x07 */ + 0xD0, 0xFA, 0xAD, 0xFC, 0xD1, 0x40, 0xD1, 0x47, /* 0x08-0x0B */ + 0xD4, 0xA1, 0x3F, 0x3F, 0xD1, 0x45, 0xAE, 0x44, /* 0x0C-0x0F */ + 0xAD, 0xF0, 0xD0, 0xFC, 0xD0, 0xF3, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xAD, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xF2, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xF7, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xF0, 0xAE, 0x41, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0x77, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xB0, 0xE4, 0xD4, 0xA7, 0xB0, 0xE2, 0xB0, 0xDF, /* 0x2C-0x2F */ + 0xD4, 0x7C, 0xB0, 0xDB, 0xD4, 0xA2, 0xB0, 0xE6, /* 0x30-0x33 */ + 0xD4, 0x76, 0xD4, 0x7B, 0xD4, 0x7A, 0xAD, 0xF2, /* 0x34-0x37 */ + 0xB0, 0xE1, 0xD4, 0xA5, 0x3F, 0x3F, 0xD4, 0xA8, /* 0x38-0x3B */ + 0xD4, 0x73, 0x3F, 0x3F, 0xB3, 0xE8, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xD4, 0xA9, 0xB0, 0xE7, 0x3F, 0x3F, 0xB0, 0xD9, /* 0x40-0x43 */ + 0xB0, 0xD6, 0xD4, 0x7E, 0xB0, 0xD3, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xD4, 0xA6, 0x3F, 0x3F, 0xB0, 0xDA, 0xD4, 0xAA, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xD4, 0x74, 0xD4, 0xA4, 0xB0, 0xDD, /* 0x4C-0x4F */ + 0xD4, 0x75, 0xD4, 0x78, 0xD4, 0x7D, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xB0, 0xDE, 0xB0, 0xDC, 0xB0, 0xE8, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xB0, 0xE3, 0x3F, 0x3F, 0xB0, 0xD7, 0xB1, 0xD2, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xB0, 0xD8, 0xD4, 0x79, 0xB0, 0xE5, /* 0x60-0x63 */ + 0xB0, 0xE0, 0xD4, 0xA3, 0xB0, 0xD5, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0xD4, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xD4, 0x71, 0xD4, 0x72, 0xD8, 0x6A, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0xD7, /* 0x78-0x7B */ + 0xB3, 0xDA, 0xD8, 0x75, 0xB3, 0xEE, 0xD8, 0x78, /* 0x7C-0x7F */ + + 0xB3, 0xD8, 0xD8, 0x71, 0xB3, 0xDE, 0xB3, 0xE4, /* 0x80-0x83 */ + 0xB5, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0xE2, /* 0x84-0x87 */ + 0xD8, 0x6E, 0xB3, 0xEF, 0xB3, 0xDB, 0xB3, 0xE3, /* 0x88-0x8B */ + 0xD8, 0x76, 0xDC, 0xD7, 0xD8, 0x7B, 0xD8, 0x6F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xD8, 0x66, 0xD8, 0x73, 0xD8, 0x6D, /* 0x90-0x93 */ + 0xB3, 0xE1, 0xD8, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xB3, 0xDD, 0xB3, 0xF1, 0xB3, 0xEA, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xB3, 0xDF, 0xB3, 0xDC, 0x3F, 0x3F, 0xB3, 0xE7, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xD8, 0x7A, 0xD8, 0x6C, 0xD8, 0x72, /* 0xA0-0xA3 */ + 0xD8, 0x74, 0xD8, 0x68, 0xD8, 0x77, 0xB3, 0xD9, /* 0xA4-0xA7 */ + 0xD8, 0x67, 0x3F, 0x3F, 0xB3, 0xE0, 0xB3, 0xF0, /* 0xA8-0xAB */ + 0xB3, 0xEC, 0xD8, 0x69, 0xB3, 0xE6, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xB3, 0xED, 0xB3, 0xE9, 0xB3, 0xE5, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xD8, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0xEB, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xD5, /* 0xBC-0xBF */ + 0xDC, 0xD1, 0x3F, 0x3F, 0xDC, 0xE0, 0xDC, 0xCA, /* 0xC0-0xC3 */ + 0xDC, 0xD3, 0xB6, 0xE5, 0xB6, 0xE6, 0xB6, 0xDE, /* 0xC4-0xC7 */ + 0xDC, 0xDC, 0xB6, 0xE8, 0xDC, 0xCF, 0xDC, 0xCE, /* 0xC8-0xCB */ + 0xDC, 0xCC, 0xDC, 0xDE, 0xB6, 0xDC, 0xDC, 0xD8, /* 0xCC-0xCF */ + 0xDC, 0xCD, 0xB6, 0xDF, 0xDC, 0xD6, 0xB6, 0xDA, /* 0xD0-0xD3 */ + 0xDC, 0xD2, 0xDC, 0xD9, 0xDC, 0xDB, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xDC, 0xDF, 0xB6, 0xE3, 0xDC, 0xCB, /* 0xD8-0xDB */ + 0xB6, 0xDD, 0xDC, 0xD0, 0x3F, 0x3F, 0xB6, 0xD8, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xB6, 0xE4, 0xDC, 0xDA, 0xB6, 0xE0, /* 0xE0-0xE3 */ + 0xB6, 0xE1, 0xB6, 0xE7, 0xB6, 0xDB, 0xA2, 0x5F, /* 0xE4-0xE7 */ + 0xB6, 0xD9, 0xDC, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0xE2, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xDD, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0xCD, 0xB9, 0xC8, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xE1, 0x55, 0xE1, 0x51, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xE1, 0x4B, 0xB9, 0xC2, 0xB9, 0xBE, 0xE1, 0x54, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_56[512] = { + 0xB9, 0xBF, 0xE1, 0x4E, 0xE1, 0x50, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xE1, 0x53, 0x3F, 0x3F, 0xB9, 0xC4, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xB9, 0xCB, 0xB9, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xE1, 0x49, 0xB9, 0xC6, 0xB9, 0xC7, 0xE1, 0x4C, /* 0x0C-0x0F */ + 0xB9, 0xCC, 0x3F, 0x3F, 0xE1, 0x4A, 0xE1, 0x4F, /* 0x10-0x13 */ + 0xB9, 0xC3, 0xE1, 0x48, 0xB9, 0xC9, 0xB9, 0xC1, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0xC0, /* 0x18-0x1B */ + 0xE1, 0x4D, 0xE1, 0x52, 0x3F, 0x3F, 0xB9, 0xCA, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0x47, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xBC, 0x4D, 0xE5, 0x47, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xE5, 0x44, 0x3F, 0x3F, 0xBC, 0x47, 0xBC, 0x53, /* 0x2C-0x2F */ + 0xBC, 0x54, 0x3F, 0x3F, 0xBC, 0x4A, 0xE5, 0x42, /* 0x30-0x33 */ + 0xBC, 0x4C, 0xE4, 0xF9, 0xBC, 0x52, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xE5, 0x46, 0xBC, 0x49, 0xE5, 0x48, 0xBC, 0x48, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xE5, 0x43, 0xE5, 0x45, 0xBC, 0x4B, /* 0x3C-0x3F */ + 0xE5, 0x41, 0xE4, 0xFA, 0xE4, 0xF7, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xD8, 0x6B, 0xE4, 0xFD, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xE4, 0xF6, 0xE4, 0xFC, 0xE4, 0xFB, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xE4, 0xF8, 0x3F, 0x3F, 0xBC, 0x4F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xBC, 0x4E, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xBC, 0x50, /* 0x54-0x57 */ + 0xE4, 0xFE, 0xBE, 0xB2, 0xE5, 0x40, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0x45, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xE8, 0xFD, 0x3F, 0x3F, 0xBE, 0xBE, 0xE9, 0x42, /* 0x60-0x63 */ + 0xBE, 0xB6, 0xBE, 0xBA, 0xE9, 0x41, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xBE, 0xB9, 0xBE, 0xB5, 0xBE, 0xB8, 0xBE, 0xB3, /* 0x68-0x6B */ + 0xBE, 0xBD, 0xE9, 0x43, 0xE8, 0xFE, 0xBE, 0xBC, /* 0x6C-0x6F */ + 0xE8, 0xFC, 0xBE, 0xBB, 0xE9, 0x44, 0xE9, 0x40, /* 0x70-0x73 */ + 0xBC, 0x51, 0x3F, 0x3F, 0xBE, 0xBF, 0xE9, 0x46, /* 0x74-0x77 */ + 0xBE, 0xB7, 0xBE, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xC6, 0xEC, 0xC8, /* 0x7C-0x7F */ + + 0xC0, 0x7B, 0xEC, 0xC9, 0xEC, 0xC7, 0xEC, 0xC5, /* 0x80-0x83 */ + 0xEC, 0xC4, 0xC0, 0x7D, 0xEC, 0xC3, 0xC0, 0x7E, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xEC, 0xC1, 0xEC, 0xC2, 0xC0, 0x7A, 0xC0, 0xA1, /* 0x8C-0x8F */ + 0xC0, 0x7C, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xC0, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xC2, 0x50, 0x3F, 0x3F, 0xEF, 0xBC, /* 0x94-0x97 */ + 0xEF, 0xBA, 0xEF, 0xBF, 0xEF, 0xBD, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xEF, 0xBB, 0xEF, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xC3, 0x60, 0xF1, 0xF2, 0xF1, 0xF3, /* 0xA4-0xA7 */ + 0xC4, 0x56, 0x3F, 0x3F, 0xF1, 0xF4, 0xF1, 0xF0, /* 0xA8-0xAB */ + 0xF1, 0xF5, 0xF1, 0xF1, 0xC2, 0x51, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xFE, 0xF4, 0x41, /* 0xB0-0xB3 */ + 0xC4, 0x59, 0xF4, 0x40, 0xC4, 0x58, 0xC4, 0x57, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xC4, 0x5A, 0xF5, 0xC5, 0xF5, 0xC6, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xC4, 0xDA, 0xC4, 0xD9, 0xC4, 0xDB, 0xF5, 0xC4, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xF6, 0xD8, 0xF6, 0xD7, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xC5, 0x6D, 0xC5, 0x6F, 0xC5, 0x6E, 0xF6, 0xD9, /* 0xC8-0xCB */ + 0xC5, 0xC8, 0xF8, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xC5, 0xF1, 0x3F, 0x3F, 0xF8, 0xA5, /* 0xD0-0xD3 */ + 0xF8, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0x49, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA5, 0x7D, 0xA5, 0x7C, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xA6, 0x5F, 0xA6, 0x5E, 0xC9, 0xC7, /* 0xDC-0xDF */ + 0xA6, 0x5D, 0xC9, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xA7, 0x79, 0xCA, 0xA9, 0x3F, 0x3F, 0xCA, 0xA8, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0x77, 0xA7, 0x7A, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xA7, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xA7, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xF0, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xCB, 0xF1, 0xA9, 0x54, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xAA, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_57[512] = { + 0x3F, 0x3F, 0xD1, 0x48, 0xD1, 0x49, 0xAE, 0x45, /* 0x00-0x03 */ + 0xAE, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xAC, /* 0x04-0x07 */ + 0xB0, 0xE9, 0xB0, 0xEB, 0xD4, 0xAB, 0xB0, 0xEA, /* 0x08-0x0B */ + 0xD8, 0x7C, 0xB3, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0xE9, 0xB6, 0xEA, /* 0x10-0x13 */ + 0xDC, 0xE1, 0x3F, 0x3F, 0xB9, 0xCF, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xB9, 0xCE, 0x3F, 0x3F, 0xE5, 0x49, 0xE9, 0x48, /* 0x18-0x1B */ + 0xE9, 0x47, 0x3F, 0x3F, 0xF9, 0x6B, 0xA4, 0x67, /* 0x1C-0x1F */ + 0xC9, 0x59, 0x3F, 0x3F, 0xC9, 0x6E, 0xC9, 0x6F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xA6, 0x62, 0xA6, 0x66, 0xC9, 0xC9, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xA6, 0x64, 0xA6, 0x63, 0xC9, 0xC8, 0xA6, 0x65, /* 0x2C-0x2F */ + 0xA6, 0x61, 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0x60, /* 0x30-0x33 */ + 0xC9, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xA6, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xA3, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xA7, 0x7D, 0xCA, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xCA, 0xAB, 0x3F, 0x3F, 0xA7, 0xA1, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xCA, 0xAD, 0xA7, 0x7B, 0xCA, 0xAE, /* 0x48-0x4B */ + 0xCA, 0xAC, 0xA7, 0x7E, 0xA7, 0xA2, 0xA7, 0xA5, /* 0x4C-0x4F */ + 0xA7, 0xA4, 0xA7, 0x7C, 0xCA, 0xAF, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xA9, 0x59, 0xCB, 0xFE, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xA9, 0x5B, 0x3F, 0x3F, 0xA9, 0x5A, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xCC, 0x40, 0xA9, 0x58, 0xA9, 0x57, 0xCB, 0xF5, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xCB, 0xF4, 0x3F, 0x3F, 0xCB, 0xF2, /* 0x6C-0x6F */ + 0xCB, 0xF7, 0xCB, 0xF6, 0xCB, 0xF3, 0xCB, 0xFC, /* 0x70-0x73 */ + 0xCB, 0xFD, 0xCB, 0xFA, 0xCB, 0xF8, 0xA9, 0x56, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xFB, /* 0x78-0x7B */ + 0xA9, 0x5C, 0xCC, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xCB, 0xF9, 0x3F, 0x3F, 0xAB, 0xAB, 0xA9, 0x55, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xAC, /* 0x88-0x8B */ + 0xCE, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0x5A, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xB2, /* 0x90-0x93 */ + 0xCE, 0x58, 0xCE, 0x5E, 0x3F, 0x3F, 0xCE, 0x55, /* 0x94-0x97 */ + 0xCE, 0x59, 0xCE, 0x5B, 0xCE, 0x5D, 0xCE, 0x57, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xCE, 0x56, 0xCE, 0x51, 0xCE, 0x52, /* 0x9C-0x9F */ + 0xAB, 0xAD, 0x3F, 0x3F, 0xAB, 0xAF, 0xAB, 0xAE, /* 0xA0-0xA3 */ + 0xCE, 0x53, 0xCE, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xB1, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xCE, 0x50, 0xD1, 0x53, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xD1, 0x52, 0xD1, 0x57, 0xD1, 0x4E, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xD1, 0x51, 0xD1, 0x50, 0x3F, 0x3F, 0xD1, 0x54, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xD1, 0x58, 0xAE, 0x47, 0xAE, 0x4A, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0x4F, 0xD1, 0x55, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAE, 0x49, /* 0xC8-0xCB */ + 0xD1, 0x4A, 0x3F, 0x3F, 0xAB, 0xB0, 0xD4, 0xBA, /* 0xCC-0xCF */ + 0xD1, 0x56, 0x3F, 0x3F, 0xD1, 0x4D, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xAE, 0x48, 0xD1, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xD4, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0xEC, /* 0xDC-0xDF */ + 0xB0, 0xF0, 0xD4, 0xC1, 0xD4, 0xAF, 0xD4, 0xBD, /* 0xE0-0xE3 */ + 0xB0, 0xF1, 0xD4, 0xBF, 0x3F, 0x3F, 0xD4, 0xC5, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xD4, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xD4, 0xC0, 0xD4, 0xB4, 0xD4, 0xBC, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xD4, 0xCA, 0xD4, 0xC8, 0xD4, 0xBE, 0xD4, 0xB9, /* 0xF0-0xF3 */ + 0xD4, 0xB2, 0xD8, 0xA6, 0xD4, 0xB0, 0xB0, 0xF5, /* 0xF4-0xF7 */ + 0xD4, 0xB7, 0xB0, 0xF6, 0xB0, 0xF2, 0xD4, 0xAD, /* 0xF8-0xFB */ + 0xD4, 0xC3, 0xD4, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_58[512] = { + 0xD4, 0xB3, 0xD4, 0xC6, 0xB0, 0xF3, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xD4, 0xCC, 0xB0, 0xED, 0xB0, 0xEF, 0xD4, 0xBB, /* 0x04-0x07 */ + 0xD4, 0xB6, 0xAE, 0x4B, 0xB0, 0xEE, 0xD4, 0xB8, /* 0x08-0x0B */ + 0xD4, 0xC7, 0xD4, 0xCB, 0xD4, 0xC2, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xD4, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xD4, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xD8, 0xA1, 0x3F, 0x3F, 0xD8, 0xAA, /* 0x18-0x1B */ + 0xD8, 0xA9, 0xB3, 0xFA, 0xD8, 0xA2, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xB3, 0xFB, 0xB3, 0xF9, 0x3F, 0x3F, 0xD8, 0xA4, /* 0x20-0x23 */ + 0xB3, 0xF6, 0xD8, 0xA8, 0x3F, 0x3F, 0xD8, 0xA3, /* 0x24-0x27 */ + 0xD8, 0xA5, 0xD8, 0x7D, 0xB3, 0xF4, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xD8, 0xB2, 0xD8, 0xB1, 0xD8, 0xAE, 0xB3, 0xF3, /* 0x2C-0x2F */ + 0xB3, 0xF7, 0xB3, 0xF8, 0xD1, 0x4B, 0xD8, 0xAB, /* 0x30-0x33 */ + 0xB3, 0xF5, 0xB0, 0xF4, 0xD8, 0xAD, 0xD8, 0x7E, /* 0x34-0x37 */ + 0xD8, 0xB0, 0xD8, 0xAF, 0x3F, 0x3F, 0xD8, 0xB3, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xDC, 0xEF, 0x3F, 0x3F, 0xD8, 0xAC, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xD8, 0xA7, 0xDC, 0xE7, 0xB6, 0xF4, 0xB6, 0xF7, /* 0x48-0x4B */ + 0xB6, 0xF2, 0xDC, 0xE6, 0xDC, 0xEA, 0xDC, 0xE5, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xB6, 0xEC, 0xB6, 0xF6, 0xDC, 0xE2, /* 0x50-0x53 */ + 0xB6, 0xF0, 0xDC, 0xE9, 0x3F, 0x3F, 0xB6, 0xEE, /* 0x54-0x57 */ + 0xB6, 0xED, 0xDC, 0xEC, 0xB6, 0xEF, 0xDC, 0xEE, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xDC, 0xEB, 0xB6, 0xEB, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0xF5, 0xDC, 0xF0, /* 0x60-0x63 */ + 0xDC, 0xE4, 0xDC, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xDC, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0xF1, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xB6, 0xF3, 0x3F, 0x3F, 0xDC, 0xE8, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xDC, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xE1, 0x5D, 0xB9, 0xD0, 0xE1, 0x63, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xB9, 0xD5, 0xE1, 0x5F, 0xE1, 0x66, /* 0x78-0x7B */ + 0xE1, 0x57, 0xB9, 0xD7, 0xB9, 0xD1, 0xE1, 0x5C, /* 0x7C-0x7F */ + + 0xBC, 0x55, 0xE1, 0x5B, 0xE1, 0x64, 0xB9, 0xD2, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xB9, 0xD6, 0xE1, 0x5A, 0xE1, 0x60, /* 0x84-0x87 */ + 0xE1, 0x65, 0xE1, 0x56, 0xB9, 0xD4, 0xE1, 0x5E, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0x62, 0xE1, 0x68, /* 0x8C-0x8F */ + 0xE1, 0x58, 0xE1, 0x61, 0x3F, 0x3F, 0xB9, 0xD3, /* 0x90-0x93 */ + 0xE1, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xE1, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xBC, 0x59, 0xE5, 0x4B, 0xBC, 0x57, 0xBC, 0x56, /* 0x9C-0x9F */ + 0xE5, 0x4D, 0xE5, 0x52, 0x3F, 0x3F, 0xE5, 0x4E, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xE5, 0x51, 0xBC, 0x5C, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xBE, 0xA5, 0xBC, 0x5B, 0x3F, 0x3F, 0xE5, 0x4A, /* 0xA8-0xAB */ + 0xE5, 0x50, 0x3F, 0x3F, 0xBC, 0x5A, 0xE5, 0x4F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xE5, 0x4C, 0x3F, 0x3F, 0xBC, 0x58, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0x4D, 0xF9, 0xD9, /* 0xB8-0xBB */ + 0xE9, 0x4F, 0xE9, 0x4A, 0xBE, 0xC1, 0xE9, 0x4C, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xBE, 0xC0, 0xE9, 0x4E, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xBE, 0xC3, 0xE9, 0x50, 0xBE, 0xC2, /* 0xC4-0xC7 */ + 0xE9, 0x49, 0xE9, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0xA5, 0xEC, 0xCC, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xC0, 0xA4, 0xEC, 0xCD, 0xC0, 0xA3, /* 0xD0-0xD3 */ + 0xEC, 0xCB, 0xC0, 0xA2, 0xEC, 0xCA, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xC2, 0x53, 0xC2, 0x52, 0xF1, 0xF6, 0xF1, 0xF8, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xF1, 0xF7, 0xC3, 0x61, 0xC3, 0x62, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC3, 0x63, 0xF4, 0x42, /* 0xE0-0xE3 */ + 0xC4, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xD3, /* 0xE4-0xE7 */ + 0xF7, 0xD2, 0xC5, 0xF2, 0x3F, 0x3F, 0xA4, 0x68, /* 0xE8-0xEB */ + 0xA4, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xA7, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xCE, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xB3, 0xFC, 0xB3, 0xFD, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xDC, 0xF2, 0xB9, 0xD8, 0xE1, 0x69, 0xE5, 0x53, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_59[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0x5A, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xB0, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xCC, 0x42, 0xCE, 0x60, 0xD1, 0x59, 0xAE, 0x4C, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xF9, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xC4, 0xDC, 0xA4, 0x69, 0xA5, 0x7E, 0xC9, 0x70, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xA6, 0x67, 0xA6, 0x68, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xA9, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xB0, 0xF7, 0x3F, 0x3F, 0xB9, 0xDA, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xB9, 0xDB, 0xB9, 0xD9, 0x3F, 0x3F, 0xA4, 0x6A, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xA4, 0xD1, 0xA4, 0xD3, 0xA4, 0xD2, /* 0x28-0x2B */ + 0xC9, 0x5B, 0xA4, 0xD4, 0xA5, 0xA1, 0xC9, 0x71, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xA5, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0x69, /* 0x34-0x37 */ + 0xA6, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xC9, 0xCB, 0x3F, 0x3F, 0xA7, 0xA8, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xCA, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xA9, 0x61, 0xCC, 0x43, 0x3F, 0x3F, 0xA9, 0x5F, /* 0x44-0x47 */ + 0xA9, 0x60, 0xA9, 0x5E, 0xD1, 0x5A, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xB6, 0xAB, 0xB5, /* 0x4C-0x4F */ + 0xAB, 0xB7, 0xAB, 0xB4, 0x3F, 0x3F, 0xCE, 0x61, /* 0x50-0x53 */ + 0xA9, 0x62, 0xAB, 0xB3, 0x3F, 0x3F, 0xAE, 0x4D, /* 0x54-0x57 */ + 0xAE, 0x4E, 0x3F, 0x3F, 0xAE, 0x4F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xD4, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xB3, 0xFE, 0xD8, 0xB4, 0xB0, 0xF8, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0xF8, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xB9, 0xDD, 0xB9, 0xDC, 0xE1, 0x6A, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xBC, 0x5D, 0xBE, 0xC4, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xEF, 0xC0, 0xF6, 0xDA, 0xF7, 0xD4, 0xA4, 0x6B, /* 0x70-0x73 */ + 0xA5, 0xA3, 0x3F, 0x3F, 0xA5, 0xA4, 0xC9, 0xD1, /* 0x74-0x77 */ + 0xA6, 0x6C, 0xA6, 0x6F, 0x3F, 0x3F, 0xC9, 0xCF, /* 0x78-0x7B */ + 0xC9, 0xCD, 0xA6, 0x6E, 0xC9, 0xD0, 0xC9, 0xD2, /* 0x7C-0x7F */ + + 0xC9, 0xCC, 0xA6, 0x71, 0xA6, 0x70, 0xA6, 0x6D, /* 0x80-0x83 */ + 0xA6, 0x6B, 0xC9, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xB3, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xA7, 0xB0, 0xCA, 0xB6, 0xCA, 0xB9, /* 0x8C-0x8F */ + 0xCA, 0xB8, 0x3F, 0x3F, 0xA7, 0xAA, 0xA7, 0xB2, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xAF, 0xCA, 0xB5, /* 0x94-0x97 */ + 0xCA, 0xB3, 0xA7, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xA7, 0xA9, 0xA7, 0xAC, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xCA, 0xB4, 0xCA, 0xBB, 0xCA, 0xB7, 0xA7, 0xAD, /* 0xA0-0xA3 */ + 0xA7, 0xB1, 0xA7, 0xB4, 0xCA, 0xB2, 0xCA, 0xBA, /* 0xA4-0xA7 */ + 0xA7, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0x67, 0xA9, 0x6F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xCC, 0x4F, 0xCC, 0x48, 0xA9, 0x70, /* 0xB0-0xB3 */ + 0xCC, 0x53, 0xCC, 0x44, 0xCC, 0x4B, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xA9, 0x66, 0xCC, 0x45, 0xA9, 0x64, /* 0xB8-0xBB */ + 0xCC, 0x4C, 0xCC, 0x50, 0xA9, 0x63, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xCC, 0x51, 0xCC, 0x4A, 0x3F, 0x3F, 0xCC, 0x4D, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xA9, 0x72, 0xA9, 0x69, 0xCC, 0x54, /* 0xC4-0xC7 */ + 0xCC, 0x52, 0x3F, 0x3F, 0xA9, 0x6E, 0xA9, 0x6C, /* 0xC8-0xCB */ + 0xCC, 0x49, 0xA9, 0x6B, 0xCC, 0x47, 0xCC, 0x46, /* 0xCC-0xCF */ + 0xA9, 0x6A, 0xA9, 0x68, 0xA9, 0x71, 0xA9, 0x6D, /* 0xD0-0xD3 */ + 0xA9, 0x65, 0x3F, 0x3F, 0xCC, 0x4E, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xAB, 0xB9, 0x3F, 0x3F, 0xAB, 0xC0, 0xCE, 0x6F, /* 0xD8-0xDB */ + 0xAB, 0xB8, 0xCE, 0x67, 0xCE, 0x63, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xCE, 0x73, 0xCE, 0x62, 0x3F, 0x3F, 0xAB, 0xBB, /* 0xE0-0xE3 */ + 0xCE, 0x6C, 0xAB, 0xBE, 0xAB, 0xC1, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xAB, 0xBC, 0xCE, 0x70, 0xAB, 0xBF, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xAE, 0x56, 0xCE, 0x76, 0xCE, 0x64, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xCE, 0x66, 0xCE, 0x6D, 0xCE, 0x71, /* 0xF0-0xF3 */ + 0xCE, 0x75, 0xCE, 0x72, 0xCE, 0x6B, 0xCE, 0x6E, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0x68, 0xAB, 0xC3, /* 0xF8-0xFB */ + 0xCE, 0x6A, 0xCE, 0x69, 0xCE, 0x74, 0xAB, 0xBA, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5A[512] = { + 0xCE, 0x65, 0xAB, 0xC2, 0x3F, 0x3F, 0xAB, 0xBD, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xAE, 0x5C, 0xD1, 0x62, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xAE, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0x60, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xAE, 0x50, 0x3F, 0x3F, 0xAE, 0x55, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xD1, 0x5F, 0xD1, 0x5C, 0xD1, 0x61, /* 0x14-0x17 */ + 0xAE, 0x51, 0xD1, 0x5B, 0x3F, 0x3F, 0xAE, 0x54, /* 0x18-0x1B */ + 0xAE, 0x52, 0x3F, 0x3F, 0xD1, 0x63, 0xAE, 0x53, /* 0x1C-0x1F */ + 0xAE, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0xAE, 0x58, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xAE, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xAE, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xD1, 0x5D, 0xD1, 0x5E, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0x64, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xD4, 0xD4, 0xB0, 0xF9, 0xD8, 0xC2, /* 0x34-0x37 */ + 0xD4, 0xD3, 0xD4, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xB1, 0x40, 0x3F, 0x3F, 0xD4, 0xE4, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xB0, 0xFE, 0xB0, 0xFA, 0xD4, 0xED, 0xD4, 0xDD, /* 0x40-0x43 */ + 0xD4, 0xE0, 0x3F, 0x3F, 0xB1, 0x43, 0xD4, 0xEA, /* 0x44-0x47 */ + 0xD4, 0xE2, 0xB0, 0xFB, 0xB1, 0x44, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xD4, 0xE7, 0xD4, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xD4, 0xD6, 0xD4, 0xEB, 0xD4, 0xDF, 0xD4, 0xDA, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xD4, 0xD0, 0xD4, 0xEC, 0xD4, 0xDC, /* 0x54-0x57 */ + 0xD4, 0xCF, 0x3F, 0x3F, 0xB1, 0x42, 0xD4, 0xE1, /* 0x58-0x5B */ + 0xD4, 0xEE, 0xD4, 0xDE, 0xD4, 0xD2, 0xD4, 0xD7, /* 0x5C-0x5F */ + 0xD4, 0xCE, 0x3F, 0x3F, 0xB1, 0x41, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xD4, 0xDB, 0xD4, 0xD8, 0xB0, 0xFC, 0xD4, 0xD1, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xD4, 0xE9, 0xB0, 0xFD, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xD4, 0xD9, 0xD4, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xD4, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB4, 0x40, /* 0x74-0x77 */ + 0xD8, 0xBB, 0x3F, 0x3F, 0xD8, 0xB8, 0xD8, 0xC9, /* 0x78-0x7B */ + 0xD8, 0xBD, 0xD8, 0xCA, 0x3F, 0x3F, 0xB4, 0x42, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xC6, /* 0x80-0x83 */ + 0xD8, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xC4, 0xD8, 0xC7, /* 0x88-0x8B */ + 0xD8, 0xCB, 0x3F, 0x3F, 0xD4, 0xE3, 0xD8, 0xCD, /* 0x8C-0x8F */ + 0xDD, 0x47, 0x3F, 0x3F, 0xB4, 0x43, 0xD8, 0xCE, /* 0x90-0x93 */ + 0xD8, 0xB6, 0xD8, 0xC0, 0x3F, 0x3F, 0xD8, 0xC5, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB4, 0x41, 0xB4, 0x44, /* 0x98-0x9B */ + 0xD8, 0xCC, 0xD8, 0xCF, 0xD8, 0xBA, 0xD8, 0xB7, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xB9, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xD8, 0xBE, 0xD8, 0xBC, 0xB4, 0x45, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xD8, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xD8, 0xBF, 0x3F, 0x3F, 0xD8, 0xC1, 0xD8, 0xB5, /* 0xAC-0xAF */ + 0xDC, 0xFA, 0xDC, 0xF8, 0xB7, 0x42, 0xB7, 0x40, /* 0xB0-0xB3 */ + 0xDD, 0x43, 0xDC, 0xF9, 0xDD, 0x44, 0xDD, 0x40, /* 0xB4-0xB7 */ + 0xDC, 0xF7, 0xDD, 0x46, 0xDC, 0xF6, 0xDC, 0xFD, /* 0xB8-0xBB */ + 0xB6, 0xFE, 0xB6, 0xFD, 0xB6, 0xFC, 0xDC, 0xFB, /* 0xBC-0xBF */ + 0xDD, 0x41, 0xB6, 0xF9, 0xB7, 0x41, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xDC, 0xF4, 0x3F, 0x3F, 0xDC, 0xFE, 0xDC, 0xF3, /* 0xC4-0xC7 */ + 0xDC, 0xFC, 0xB6, 0xFA, 0xDD, 0x42, 0xDC, 0xF5, /* 0xC8-0xCB */ + 0xB6, 0xFB, 0xDD, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xE1, 0x6E, 0xB9, 0xE2, 0xB9, 0xE1, /* 0xD4-0xD7 */ + 0xB9, 0xE3, 0xE1, 0x7A, 0xE1, 0x70, 0xE1, 0x76, /* 0xD8-0xDB */ + 0xE1, 0x6B, 0xE1, 0x79, 0xE1, 0x78, 0xE1, 0x7C, /* 0xDC-0xDF */ + 0xE1, 0x75, 0xB9, 0xDE, 0xE1, 0x74, 0xB9, 0xE4, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xE1, 0x6D, 0xB9, 0xDF, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xE1, 0x7B, 0xB9, 0xE0, 0xE1, 0x6F, 0xE1, 0x72, /* 0xE8-0xEB */ + 0xE1, 0x77, 0xE1, 0x71, 0xE1, 0x6C, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0x73, /* 0xF0-0xF3 */ + 0xE5, 0x55, 0xBC, 0x61, 0xE5, 0x58, 0xE5, 0x57, /* 0xF4-0xF7 */ + 0xE5, 0x5A, 0xE5, 0x5C, 0xF9, 0xDC, 0xBC, 0x5F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xE5, 0x56, 0x3F, 0x3F, 0xE5, 0x54, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5B[512] = { + 0x3F, 0x3F, 0xE5, 0x5D, 0xE5, 0x5B, 0xE5, 0x59, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xE5, 0x5F, 0x3F, 0x3F, 0xE5, 0x5E, /* 0x04-0x07 */ + 0xBC, 0x63, 0xBC, 0x5E, 0x3F, 0x3F, 0xBC, 0x60, /* 0x08-0x0B */ + 0xBC, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0x60, /* 0x0C-0x0F */ + 0xE9, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0x56, /* 0x10-0x13 */ + 0xE9, 0x55, 0x3F, 0x3F, 0xE9, 0x58, 0xE9, 0x51, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xE9, 0x52, 0xE9, 0x5A, 0xE9, 0x53, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xBE, 0xC5, 0xE9, 0x5C, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xE9, 0x5B, 0xE9, 0x54, 0x3F, 0x3F, 0xEC, 0xD1, /* 0x20-0x23 */ + 0xC0, 0xA8, 0xEC, 0xCF, 0xEC, 0xD4, 0xEC, 0xD3, /* 0x24-0x27 */ + 0xE9, 0x59, 0x3F, 0x3F, 0xC0, 0xA7, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xEC, 0xD2, 0xEC, 0xCE, 0xEC, 0xD6, 0xEC, 0xD5, /* 0x2C-0x2F */ + 0xC0, 0xA6, 0x3F, 0x3F, 0xEC, 0xD0, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xBE, 0xC6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xC2, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xEF, 0xC1, 0xF1, 0xFA, 0xF1, 0xFB, 0xF1, 0xFC, /* 0x3C-0x3F */ + 0xC4, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0xC4, 0x5D, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xF4, 0x43, 0x3F, 0x3F, 0xF5, 0xC8, /* 0x44-0x47 */ + 0xF5, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xDB, /* 0x48-0x4B */ + 0xF6, 0xDC, 0xF7, 0xD5, 0xF8, 0xA7, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xA4, 0x6C, 0xA4, 0x6D, 0x3F, 0x3F, 0xA4, 0x6E, /* 0x50-0x53 */ + 0xA4, 0xD5, 0xA5, 0xA5, 0xC9, 0xD3, 0xA6, 0x72, /* 0x54-0x57 */ + 0xA6, 0x73, 0x3F, 0x3F, 0xA7, 0xB7, 0xA7, 0xB8, /* 0x58-0x5B */ + 0xA7, 0xB6, 0xA7, 0xB5, 0x3F, 0x3F, 0xA9, 0x73, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0x55, 0xA9, 0x75, /* 0x60-0x63 */ + 0xA9, 0x74, 0xCC, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xAB, 0xC4, 0x3F, 0x3F, 0xAE, 0x5D, /* 0x68-0x6B */ + 0xD1, 0x65, 0x3F, 0x3F, 0xD4, 0xF0, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xB1, 0x45, 0xB4, 0x47, 0xD4, 0xEF, 0xB4, 0x46, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xB9, 0xE5, 0x3F, 0x3F, 0xE1, 0x7D, /* 0x74-0x77 */ + 0xBE, 0xC7, 0x3F, 0x3F, 0xC0, 0xA9, 0xEC, 0xD7, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xC4, 0x5E, 0x3F, 0x3F, 0xC5, 0x70, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xC9, 0x72, 0x3F, 0x3F, 0xA5, 0xA6, /* 0x80-0x83 */ + 0xC9, 0x73, 0xA6, 0x76, 0x3F, 0x3F, 0xA6, 0x74, /* 0x84-0x87 */ + 0xA6, 0x75, 0xA6, 0x77, 0x3F, 0x3F, 0xA7, 0xBA, /* 0x88-0x8B */ + 0xA7, 0xB9, 0x3F, 0x3F, 0xCA, 0xBC, 0xA7, 0xBB, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xBD, 0xCC, 0x57, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xCC, 0x58, 0x3F, 0x3F, 0xA9, 0x76, /* 0x94-0x97 */ + 0xA9, 0x78, 0xA9, 0x7A, 0xA9, 0x77, 0xA9, 0x7B, /* 0x98-0x9B */ + 0xA9, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xC8, 0xAB, 0xC5, /* 0xA0-0xA3 */ + 0xAB, 0xC7, 0xAB, 0xC9, 0xAB, 0xC6, 0xD1, 0x66, /* 0xA4-0xA7 */ + 0xCE, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xD1, 0x68, 0xD1, 0x67, 0xAE, 0x63, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xAE, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAE, 0x60, /* 0xB0-0xB3 */ + 0xAE, 0x62, 0xAE, 0x64, 0xAE, 0x61, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xAE, 0x66, 0xAE, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0x4A, /* 0xBC-0xBF */ + 0xD4, 0xF2, 0xD4, 0xF1, 0xB1, 0x49, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xB1, 0x48, 0xB1, 0x47, 0xB1, 0x4B, 0xB1, 0x46, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0xD5, 0xD8, 0xD2, /* 0xC8-0xCB */ + 0xB4, 0x49, 0xD8, 0xD1, 0xD8, 0xD6, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xB4, 0x4B, 0xD8, 0xD4, 0xB4, 0x48, 0xB4, 0x4A, /* 0xD0-0xD3 */ + 0xD8, 0xD3, 0x3F, 0x3F, 0xDD, 0x48, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xDD, 0x49, 0xDD, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0xE6, 0xB9, 0xEE, /* 0xDC-0xDF */ + 0xE1, 0x7E, 0xB9, 0xE8, 0xB9, 0xEC, 0xE1, 0xA1, /* 0xE0-0xE3 */ + 0xB9, 0xED, 0xB9, 0xE9, 0xB9, 0xEA, 0xB9, 0xE7, /* 0xE4-0xE7 */ + 0xB9, 0xEB, 0xBC, 0x66, 0xD8, 0xD0, 0xBC, 0x67, /* 0xE8-0xEB */ + 0xBC, 0x65, 0x3F, 0x3F, 0xBC, 0x64, 0xE9, 0x5D, /* 0xEC-0xEF */ + 0xBE, 0xC8, 0xEC, 0xD8, 0xEC, 0xD9, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xC3, 0x64, 0xC4, 0x5F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xA4, 0x6F, 0x3F, 0x3F, 0xA6, 0x78, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5C[512] = { + 0x3F, 0x3F, 0xAB, 0xCA, 0x3F, 0x3F, 0xD1, 0x69, /* 0x00-0x03 */ + 0xAE, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0x4E, /* 0x04-0x07 */ + 0xB1, 0x4D, 0xB1, 0x4C, 0xB4, 0x4C, 0xB4, 0x4D, /* 0x08-0x0B */ + 0xD8, 0xD7, 0xB9, 0xEF, 0xBE, 0xC9, 0xA4, 0x70, /* 0x0C-0x0F */ + 0xC9, 0x5C, 0xA4, 0xD6, 0xC9, 0x74, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xC9, 0xD4, 0xA6, 0x79, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0x7C, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0x4B, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA4, 0x71, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xA4, 0xD7, 0xC9, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xCA, 0xBE, 0x3F, 0x3F, 0xCA, 0xBF, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xA7, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xD8, 0xD8, 0xB4, 0x4E, 0x3F, 0x3F, 0xDD, 0x4C, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0xAA, /* 0x34-0x37 */ + 0xA4, 0x72, 0xA4, 0xA8, 0xA4, 0xD8, 0xC9, 0x75, /* 0x38-0x3B */ + 0xA5, 0xA7, 0x3F, 0x3F, 0xA7, 0xC0, 0xA7, 0xBF, /* 0x3C-0x3F */ + 0xA7, 0xBD, 0xA7, 0xBE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xCC, 0x59, 0xA9, 0x7E, 0xA9, 0xA1, 0xCC, 0x5A, /* 0x44-0x47 */ + 0xA9, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xCE, /* 0x48-0x4B */ + 0xCE, 0x78, 0xAB, 0xCD, 0xAB, 0xCB, 0xAB, 0xCC, /* 0x4C-0x4F */ + 0xAE, 0x6A, 0xAE, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xD1, 0x6B, 0xAE, 0x69, 0xD1, 0x6A, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xAE, 0x5E, 0xD4, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xB1, 0x50, 0xB1, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xB1, 0x4F, 0x3F, 0x3F, 0xB9, 0xF0, 0xE1, 0xA2, /* 0x60-0x63 */ + 0xBC, 0x68, 0xBC, 0x69, 0x3F, 0x3F, 0xE5, 0x61, /* 0x64-0x67 */ + 0xC0, 0xAB, 0xEF, 0xC2, 0xEF, 0xC3, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xC4, 0xDD, 0xF8, 0xA8, 0xC9, 0x4B, 0xA4, 0xD9, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xA4, 0x73, 0x3F, 0x3F, 0xC9, 0x77, /* 0x70-0x73 */ + 0xC9, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xA6, 0x7A, 0xC9, 0xD7, 0xC9, 0xD8, /* 0x78-0x7B */ + 0xC9, 0xD6, 0x3F, 0x3F, 0xC9, 0xD9, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xC7, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xCA, 0xC2, 0xCA, 0xC4, 0xCA, 0xC6, 0xCA, 0xC3, /* 0x88-0x8B */ + 0xA7, 0xC4, 0xCA, 0xC0, 0x3F, 0x3F, 0xCA, 0xC1, /* 0x8C-0x8F */ + 0xA7, 0xC1, 0xA7, 0xC2, 0xCA, 0xC5, 0xCA, 0xC8, /* 0x90-0x93 */ + 0xA7, 0xC3, 0xCA, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xCC, 0x68, 0x3F, 0x3F, 0xCC, 0x62, /* 0x9C-0x9F */ + 0xCC, 0x5D, 0xA9, 0xA3, 0xCC, 0x65, 0xCC, 0x63, /* 0xA0-0xA3 */ + 0xCC, 0x5C, 0xCC, 0x69, 0xCC, 0x6C, 0xCC, 0x67, /* 0xA4-0xA7 */ + 0xCC, 0x60, 0xA9, 0xA5, 0xCC, 0x66, 0xA9, 0xA6, /* 0xA8-0xAB */ + 0xCC, 0x61, 0xCC, 0x64, 0xCC, 0x5B, 0xCC, 0x5F, /* 0xAC-0xAF */ + 0xCC, 0x6B, 0xA9, 0xA7, 0x3F, 0x3F, 0xA9, 0xA8, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xCC, 0x5E, 0xCC, 0x6A, 0xA9, 0xA2, /* 0xB4-0xB7 */ + 0xA9, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xAB, 0xCE, 0xA4, /* 0xC4-0xC7 */ + 0xCE, 0xAA, 0xCE, 0xA3, 0xCE, 0xA5, 0xCE, 0x7D, /* 0xC8-0xCB */ + 0xCE, 0x7B, 0x3F, 0x3F, 0xCE, 0xAC, 0xCE, 0xA9, /* 0xCC-0xCF */ + 0xCE, 0x79, 0x3F, 0x3F, 0xAB, 0xD0, 0xCE, 0xA7, /* 0xD0-0xD3 */ + 0xCE, 0xA8, 0x3F, 0x3F, 0xCE, 0xA6, 0xCE, 0x7C, /* 0xD4-0xD7 */ + 0xCE, 0x7A, 0xAB, 0xCF, 0xCE, 0xA2, 0xCE, 0x7E, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xA1, 0xCE, 0xAD, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xAE, 0x6F, 0x3F, 0x3F, 0xAE, 0x6E, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xD1, 0x6C, 0xAE, 0x6B, 0xD1, 0x6E, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xAE, 0x70, 0xD1, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xAE, 0x73, 0x3F, 0x3F, 0xAE, 0x71, 0xD1, 0x70, /* 0xF4-0xF7 */ + 0xCE, 0xAE, 0xD1, 0x72, 0x3F, 0x3F, 0xAE, 0x6D, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xAE, 0x6C, 0x3F, 0x3F, 0xD1, 0x6D, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5D[512] = { + 0xD1, 0x71, 0xAE, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0x53, 0xB1, 0x52, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0xF5, /* 0x08-0x0B */ + 0xD4, 0xF9, 0xD4, 0xFB, 0xB1, 0x54, 0xD4, 0xFE, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xB1, 0x58, 0xD5, 0x41, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xB1, 0x5A, 0x3F, 0x3F, 0xB1, 0x56, 0xB1, 0x5E, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xB1, 0x5B, 0xD4, 0xF7, 0xB1, 0x55, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xD4, 0xF6, 0xD4, 0xF4, 0xD5, 0x43, /* 0x1C-0x1F */ + 0xD4, 0xF8, 0x3F, 0x3F, 0xB1, 0x57, 0xD5, 0x42, /* 0x20-0x23 */ + 0xB1, 0x5C, 0xD4, 0xFD, 0xD4, 0xFC, 0xB1, 0x5D, /* 0x24-0x27 */ + 0xD4, 0xFA, 0xB1, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0x44, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xD5, 0x40, 0xD8, 0xE7, 0xD8, 0xEE, 0xD8, 0xE3, /* 0x30-0x33 */ + 0xB4, 0x51, 0xD8, 0xDF, 0xD8, 0xEF, 0xD8, 0xD9, /* 0x34-0x37 */ + 0xD8, 0xEC, 0xD8, 0xEA, 0xD8, 0xE4, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xD8, 0xED, 0xD8, 0xE6, 0x3F, 0x3F, 0xD8, 0xDE, /* 0x3C-0x3F */ + 0xD8, 0xF0, 0xD8, 0xDC, 0xD8, 0xE9, 0xD8, 0xDA, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xD8, 0xF1, 0x3F, 0x3F, 0xB4, 0x52, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xD8, 0xEB, 0xDD, 0x4F, 0xD8, 0xDD, /* 0x48-0x4B */ + 0xB4, 0x4F, 0x3F, 0x3F, 0xD8, 0xE1, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xB4, 0x50, 0xD8, 0xE0, 0xD8, 0xE5, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xD8, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xD8, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0x53, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0x56, 0xDD, 0x4E, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xDD, 0x50, 0x3F, 0x3F, 0xDD, 0x55, /* 0x64-0x67 */ + 0xDD, 0x54, 0xB7, 0x43, 0x3F, 0x3F, 0xD8, 0xDB, /* 0x68-0x6B */ + 0xDD, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0x44, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xDD, 0x4D, 0xDD, 0x51, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xA9, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xE1, 0xB0, 0xE1, 0xA7, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xE1, 0xAE, 0xE1, 0xA5, 0xE1, 0xAD, 0xE1, 0xB1, /* 0x7C-0x7F */ + + 0xE1, 0xA4, 0xE1, 0xA8, 0xE1, 0xA3, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xB9, 0xF1, 0x3F, 0x3F, 0xE1, 0xA6, 0xB9, 0xF2, /* 0x84-0x87 */ + 0xE1, 0xAC, 0xE1, 0xAB, 0xE1, 0xAA, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xE1, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0x65, 0xE5, 0x67, /* 0x90-0x93 */ + 0xBC, 0x6B, 0xE5, 0x68, 0x3F, 0x3F, 0xE5, 0x63, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xE5, 0x62, 0xE5, 0x6C, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xE5, 0x6A, 0xBC, 0x6A, 0xE5, 0x6D, 0xE5, 0x64, /* 0x9C-0x9F */ + 0xE5, 0x69, 0xE5, 0x6B, 0xE5, 0x66, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0x61, /* 0xA4-0xA7 */ + 0xE9, 0x66, 0xE9, 0x60, 0xE9, 0x65, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xE9, 0x5E, 0xE9, 0x68, 0xE9, 0x64, 0xE9, 0x69, /* 0xAC-0xAF */ + 0xE9, 0x63, 0xE9, 0x5F, 0xE9, 0x67, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xE9, 0x6A, 0xE9, 0x62, 0x3F, 0x3F, 0xEC, 0xDA, /* 0xB4-0xB7 */ + 0xC0, 0xAF, 0x3F, 0x3F, 0xC0, 0xAD, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xC0, 0xAC, 0xC0, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xEF, 0xC4, 0x3F, 0x3F, 0xF1, 0x72, 0xF1, 0xFD, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0x44, 0xF4, 0x45, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xC4, 0x60, 0x3F, 0x3F, 0xF5, 0xC9, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xC4, 0xDE, 0x3F, 0x3F, 0xF5, 0xCA, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xF6, 0xDE, 0xC5, 0x72, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xC5, 0x71, 0xF6, 0xDD, 0xC5, 0xC9, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xF7, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xA4, 0x74, 0xA6, 0x7B, 0xC9, 0xDA, /* 0xDC-0xDF */ + 0xCA, 0xCA, 0xA8, 0xB5, 0xB1, 0x5F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xA4, 0x75, 0xA5, 0xAA, 0xA5, 0xA9, /* 0xE4-0xE7 */ + 0xA5, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xC5, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAE, 0x74, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xDD, 0x57, 0xA4, 0x76, 0xA4, 0x77, 0xA4, 0x78, /* 0xF0-0xF3 */ + 0xA4, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xD1, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xCE, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xB4, 0x53, 0xA4, 0x79, 0xC9, 0x5D, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0xA5, 0xAB, 0xA5, 0xAC, /* 0x00-0x03 */ + 0xC9, 0x78, 0x3F, 0x3F, 0xA6, 0x7C, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xCB, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xA7, 0xC6, 0x3F, 0x3F, 0xCA, 0xCC, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xA9, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xCC, 0x6E, 0xA9, 0xAC, 0xA9, 0xAB, 0xCC, 0x6D, /* 0x14-0x17 */ + 0xA9, 0xA9, 0xCC, 0x6F, 0xA9, 0xAA, 0xA9, 0xAD, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xAB, 0xD2, 0x3F, 0x3F, 0xAB, 0xD4, /* 0x1C-0x1F */ + 0xCE, 0xB3, 0xCE, 0xB0, 0xCE, 0xB1, 0xCE, 0xB2, /* 0x20-0x23 */ + 0xCE, 0xB4, 0xAB, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xD1, 0x74, 0xD1, 0x73, 0x3F, 0x3F, 0xAE, 0x76, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xAE, 0x75, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0x62, /* 0x30-0x33 */ + 0xD5, 0x46, 0x3F, 0x3F, 0xB1, 0x61, 0xB1, 0x63, /* 0x34-0x37 */ + 0xB1, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xB4, 0x55, 0xD5, 0x45, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xB4, 0x56, 0xD8, 0xF3, 0x3F, 0x3F, 0xB4, 0x57, /* 0x40-0x43 */ + 0xD8, 0xF2, 0xB4, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0x5A, 0xDD, 0x5C, /* 0x48-0x4B */ + 0xB7, 0x45, 0xDD, 0x5B, 0xDD, 0x59, 0xDD, 0x58, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xB4, /* 0x50-0x53 */ + 0xB9, 0xF7, 0xB9, 0xF5, 0x3F, 0x3F, 0xB9, 0xF6, /* 0x54-0x57 */ + 0xE1, 0xB2, 0xE1, 0xB3, 0x3F, 0x3F, 0xB9, 0xF3, /* 0x58-0x5B */ + 0xE5, 0x71, 0xE5, 0x6F, 0x3F, 0x3F, 0xBC, 0x6D, /* 0x5C-0x5F */ + 0xE5, 0x70, 0xBC, 0x6E, 0xBC, 0x6C, 0xB9, 0xF4, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0x6D, 0xE9, 0x6B, /* 0x64-0x67 */ + 0xE9, 0x6C, 0xE5, 0x6E, 0xEC, 0xDC, 0xC0, 0xB0, /* 0x68-0x6B */ + 0xEC, 0xDB, 0xEF, 0xC5, 0xEF, 0xC6, 0xE9, 0x6E, /* 0x6C-0x6F */ + 0xF1, 0xFE, 0x3F, 0x3F, 0xA4, 0x7A, 0xA5, 0xAD, /* 0x70-0x73 */ + 0xA6, 0x7E, 0xC9, 0xDB, 0xA6, 0x7D, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xA9, 0xAF, 0xB7, 0x46, 0x3F, 0x3F, 0xA4, 0xDB, /* 0x78-0x7B */ + 0xA5, 0xAE, 0xAB, 0xD5, 0xB4, 0x58, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xC9, 0x79, 0x3F, 0x3F, 0xC9, 0x7A, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xC9, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xC8, /* 0x84-0x87 */ + 0xCA, 0xD0, 0xCA, 0xCE, 0xA7, 0xC9, 0xCA, 0xCD, /* 0x88-0x8B */ + 0xCA, 0xCF, 0xCA, 0xD1, 0x3F, 0x3F, 0xA7, 0xC7, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xA9, 0xB3, 0xA9, 0xB4, 0xA9, 0xB1, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0xB0, 0xCE, 0xB8, /* 0x98-0x9B */ + 0xA9, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xAB, 0xD6, 0x3F, 0x3F, 0xCE, 0xB7, 0xCE, 0xB9, /* 0xA0-0xA3 */ + 0xCE, 0xB6, 0xCE, 0xBA, 0xAB, 0xD7, 0xAE, 0x79, /* 0xA4-0xA7 */ + 0xD1, 0x75, 0x3F, 0x3F, 0xD1, 0x77, 0xAE, 0x77, /* 0xA8-0xAB */ + 0xD1, 0x78, 0xAE, 0x78, 0xD1, 0x76, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xCE, 0xB5, 0xD5, 0x47, 0xD5, 0x4A, 0xD5, 0x4B, /* 0xB0-0xB3 */ + 0xD5, 0x48, 0xB1, 0x67, 0xB1, 0x66, 0xB1, 0x64, /* 0xB4-0xB7 */ + 0xB1, 0x65, 0xD5, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0x68, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xB4, 0x5A, 0xB4, 0x5B, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xB4, 0x5C, 0xDD, 0x5D, 0xDD, 0x5F, 0xDD, 0x61, /* 0xC4-0xC7 */ + 0xB7, 0x48, 0xB7, 0x47, 0xB4, 0x59, 0xDD, 0x60, /* 0xC8-0xCB */ + 0xDD, 0x5E, 0x3F, 0x3F, 0xE1, 0xB8, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xE1, 0xB6, 0xE1, 0xBC, 0xB9, 0xF8, /* 0xD0-0xD3 */ + 0xE1, 0xBD, 0xE1, 0xBA, 0xB9, 0xF9, 0xE1, 0xB7, /* 0xD4-0xD7 */ + 0xE1, 0xB5, 0xE1, 0xBB, 0xBC, 0x70, 0xE5, 0x73, /* 0xD8-0xDB */ + 0xE1, 0xB9, 0xBC, 0x72, 0xE5, 0x74, 0xBC, 0x71, /* 0xDC-0xDF */ + 0xBC, 0x74, 0xE5, 0x75, 0xBC, 0x6F, 0xBC, 0x73, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xE9, 0x73, 0xE9, 0x71, 0xE9, 0x70, /* 0xE4-0xE7 */ + 0xE9, 0x72, 0xE9, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xC3, 0x66, 0x3F, 0x3F, 0xF4, 0x46, 0xF4, 0x47, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xF5, 0xCB, 0xF6, 0xDF, 0xC6, 0x55, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0xB5, 0xA7, 0xCA, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xD8, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA4, 0x7B, 0xA4, 0xDC, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_5F[512] = { + 0x3F, 0x3F, 0xA5, 0xAF, 0xC9, 0xDD, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xA7, 0xCB, 0xCA, 0xD2, 0x3F, 0x3F, 0xCE, 0xBB, /* 0x04-0x07 */ + 0xAB, 0xD9, 0x3F, 0x3F, 0xB9, 0xFA, 0xA4, 0x7C, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0xA1, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0x49, 0xA4, 0x7D, /* 0x10-0x13 */ + 0xA4, 0xDD, 0xA4, 0xDE, 0x3F, 0x3F, 0xA5, 0xB1, /* 0x14-0x17 */ + 0xA5, 0xB0, 0x3F, 0x3F, 0xC9, 0xDE, 0xA6, 0xA2, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xCA, 0xD3, 0x3F, 0x3F, 0xA7, 0xCC, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0x71, 0xCC, 0x72, /* 0x20-0x23 */ + 0xCC, 0x73, 0x3F, 0x3F, 0xA9, 0xB6, 0xA9, 0xB7, /* 0x24-0x27 */ + 0xCC, 0x70, 0xA9, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xAB, 0xDA, 0xCE, 0xBC, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xD1, 0x7A, 0xAE, 0x7A, 0x3F, 0x3F, 0xD1, 0x79, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xB1, 0x69, 0xD5, 0x4C, 0xB1, 0x6A, /* 0x34-0x37 */ + 0xD5, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xB4, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xDD, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xBF, /* 0x40-0x43 */ + 0xE1, 0xBE, 0x3F, 0x3F, 0xB9, 0xFB, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xBC, 0x75, 0xE5, 0x76, 0xBE, 0xCA, 0xE9, 0x74, /* 0x48-0x4B */ + 0xC0, 0xB1, 0x3F, 0x3F, 0xC5, 0x73, 0xF7, 0xD8, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xCC, 0x74, 0x3F, 0x3F, 0xCE, 0xBD, 0xB1, 0x6B, /* 0x54-0x57 */ + 0xD8, 0xF4, 0xB7, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xC2, 0x55, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA7, 0xCE, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xA7, 0xCD, 0xAB, 0xDB, 0x3F, 0x3F, 0xD1, 0x7B, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xB1, 0x6D, 0xB3, 0x43, 0xB1, 0x6E, /* 0x68-0x6B */ + 0xB1, 0x6C, 0xB4, 0x5E, 0x3F, 0x3F, 0xE1, 0xC0, /* 0x6C-0x6F */ + 0xB9, 0xFC, 0xBC, 0x76, 0x3F, 0x3F, 0xC9, 0x4C, /* 0x70-0x73 */ + 0xC9, 0xDF, 0x3F, 0x3F, 0xCA, 0xD5, 0xA7, 0xCF, /* 0x74-0x77 */ + 0xCA, 0xD4, 0xA7, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xA9, 0xBC, 0xCC, 0x77, 0xCC, 0x76, 0xA9, 0xBB, /* 0x7C-0x7F */ + + 0xA9, 0xB9, 0xA9, 0xBA, 0xCC, 0x75, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xAB, 0xDD, 0xCE, 0xBE, 0xAB, 0xE0, /* 0x84-0x87 */ + 0xAB, 0xDC, 0xAB, 0xE2, 0xAB, 0xDE, 0xAB, 0xDF, /* 0x88-0x8B */ + 0xAB, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xAE, 0x7D, 0xAE, 0x7C, 0xAE, 0x7B, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0x4F, 0xB1, 0x6F, /* 0x94-0x97 */ + 0xB1, 0x72, 0xB1, 0x70, 0x3F, 0x3F, 0xD5, 0x4E, /* 0x98-0x9B */ + 0xB1, 0x75, 0x3F, 0x3F, 0xB1, 0x71, 0xD5, 0x50, /* 0x9C-0x9F */ + 0xB1, 0x74, 0xB1, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xD8, 0xF6, 0xD8, 0xF5, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xB4, 0x61, 0xB4, 0x5F, 0xB4, 0x60, 0xD8, 0xF7, /* 0xA8-0xAB */ + 0xB7, 0x4B, 0xDD, 0x64, 0xB7, 0x4C, 0xDD, 0x63, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0x77, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xBC, 0x78, 0xE1, 0xC1, 0xBC, 0x77, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xB9, 0xFD, 0x3F, 0x3F, 0xEC, 0xDE, /* 0xB8-0xBB */ + 0xE9, 0x75, 0xC0, 0xB2, 0xEC, 0xDD, 0xF2, 0x40, /* 0xBC-0xBF */ + 0xF4, 0x48, 0xF4, 0x49, 0x3F, 0x3F, 0xA4, 0xDF, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xA5, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xC9, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xA7, 0xD2, 0xA7, 0xD4, 0x3F, 0x3F, 0xC9, 0xE2, /* 0xCC-0xCF */ + 0xCA, 0xD8, 0xCA, 0xD7, 0xCA, 0xD6, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xC9, 0xE1, 0xC9, 0xE0, 0xA6, 0xA4, 0xA7, 0xD3, /* 0xD4-0xD7 */ + 0xA7, 0xD1, 0xA6, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xA9, 0xBD, 0xCC, 0x78, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xA9, 0xBE, 0xCA, 0xDD, 0x3F, 0x3F, 0xCA, 0xDF, /* 0xE0-0xE3 */ + 0xCA, 0xDE, 0xCC, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xCA, 0xDA, 0x3F, 0x3F, 0xA7, 0xD8, 0xA7, 0xD6, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xCA, 0xD9, 0xCA, 0xDB, 0xCA, 0xE1, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xA7, 0xD5, 0x3F, 0x3F, 0xCA, 0xDC, /* 0xF0-0xF3 */ + 0xCA, 0xE5, 0xA9, 0xC0, 0x3F, 0x3F, 0xCA, 0xE2, /* 0xF4-0xF7 */ + 0xA7, 0xD7, 0x3F, 0x3F, 0xCA, 0xE0, 0xCA, 0xE3, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xA9, 0xBF, 0x3F, 0x3F, 0xA9, 0xC1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_60[512] = { + 0xCA, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xCC, 0xAF, 0xCC, 0xA2, 0xCC, 0x7E, /* 0x08-0x0B */ + 0xCC, 0xAE, 0xCC, 0xA9, 0xAB, 0xE7, 0xA9, 0xC2, /* 0x0C-0x0F */ + 0xCC, 0xAA, 0xCC, 0xAD, 0xAB, 0xE3, 0xCC, 0xAC, /* 0x10-0x13 */ + 0xA9, 0xC3, 0xA9, 0xC8, 0xA9, 0xC6, 0xCC, 0xA3, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xCC, 0x7C, 0xCC, 0xA5, 0xA9, 0xCD, /* 0x18-0x1B */ + 0xCC, 0xB0, 0xAB, 0xE4, 0xCC, 0xA6, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xAB, 0xE5, 0xA9, 0xC9, 0xCC, 0xA8, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xCE, 0xCD, 0xAB, 0xE6, 0xCC, 0x7B, 0xA9, 0xCA, /* 0x24-0x27 */ + 0xAB, 0xE8, 0xA9, 0xCB, 0xA9, 0xC7, 0xA9, 0xCC, /* 0x28-0x2B */ + 0xCC, 0xA7, 0xCC, 0x7A, 0xCC, 0xAB, 0xA9, 0xC4, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0x7D, 0xCC, 0xA4, /* 0x30-0x33 */ + 0xCC, 0xA1, 0xA9, 0xC5, 0x3F, 0x3F, 0xCE, 0xBF, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xCE, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xCE, 0xCA, 0xD1, 0xA1, 0xCE, 0xCB, 0xAB, 0xEE, /* 0x40-0x43 */ + 0xCE, 0xCE, 0xCE, 0xC4, 0xAB, 0xED, 0xCE, 0xC6, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xCE, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xCE, 0xC9, 0xAB, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xAE, 0xA3, 0x3F, 0x3F, 0xF9, 0xDA, 0xCE, 0xC5, /* 0x50-0x53 */ + 0xCE, 0xC1, 0xAE, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xCE, 0xCF, 0xAE, 0x7E, 0xD1, 0x7D, 0xCE, 0xC8, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xD1, 0x7C, 0xCE, 0xC3, 0xCE, 0xCC, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xEC, 0xAE, 0xA1, /* 0x60-0x63 */ + 0xAB, 0xF2, 0xAE, 0xA2, 0xCE, 0xD0, 0xD1, 0x7E, /* 0x64-0x67 */ + 0xAB, 0xEB, 0xAE, 0xA6, 0xAB, 0xF1, 0xAB, 0xF0, /* 0x68-0x6B */ + 0xAB, 0xEF, 0xAE, 0xA5, 0xCE, 0xD1, 0xAE, 0xA7, /* 0x6C-0x6F */ + 0xAB, 0xEA, 0x3F, 0x3F, 0xCE, 0xC2, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0x76, /* 0x7C-0x7F */ + + 0xD1, 0xA4, 0xD1, 0xA6, 0x3F, 0x3F, 0xD1, 0xA8, /* 0x80-0x83 */ + 0xAE, 0xA8, 0xAE, 0xAE, 0xD5, 0x53, 0xD1, 0xAC, /* 0x84-0x87 */ + 0xD1, 0xA3, 0xB1, 0x78, 0xD5, 0x51, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xAE, 0xAD, 0xAE, 0xAB, 0xD1, 0xAE, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xD5, 0x52, 0x3F, 0x3F, 0xD1, 0xA5, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xAE, 0xAC, 0xD1, 0xA9, 0xAE, 0xAF, 0xD1, 0xAB, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAE, 0xAA, 0xD1, 0xAA, /* 0x98-0x9B */ + 0xD1, 0xAD, 0xD1, 0xA7, 0x3F, 0x3F, 0xAE, 0xA9, /* 0x9C-0x9F */ + 0xB1, 0x79, 0x3F, 0x3F, 0xD1, 0xA2, 0xB1, 0x77, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xB1, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xD5, 0x55, 0xD5, 0x5E, 0xB4, 0x64, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xB1, 0x7C, 0xB1, 0xA3, 0xB4, 0x65, 0xD5, 0x60, /* 0xB4-0xB7 */ + 0xB1, 0xAA, 0xD8, 0xF9, 0xD5, 0x56, 0xB1, 0xA2, /* 0xB8-0xBB */ + 0xB1, 0xA5, 0xB1, 0x7E, 0xD5, 0x54, 0xD5, 0x62, /* 0xBC-0xBF */ + 0xD5, 0x65, 0xD9, 0x49, 0x3F, 0x3F, 0xD5, 0x63, /* 0xC0-0xC3 */ + 0xD8, 0xFD, 0xB1, 0xA1, 0xB1, 0xA8, 0xB1, 0xAC, /* 0xC4-0xC7 */ + 0xD5, 0x5D, 0xD8, 0xF8, 0xD5, 0x61, 0xB1, 0x7B, /* 0xC8-0xCB */ + 0xD8, 0xFA, 0xD5, 0x64, 0xD8, 0xFC, 0xD5, 0x59, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xB4, 0x62, 0x3F, 0x3F, 0xD5, 0x57, /* 0xD0-0xD3 */ + 0xD5, 0x58, 0xB1, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xB1, 0xA6, 0xD5, 0x5B, 0xB1, 0xAB, 0xD5, 0x5F, /* 0xD8-0xDB */ + 0xB1, 0xA4, 0xD5, 0x5C, 0x3F, 0x3F, 0xB1, 0xA9, /* 0xDC-0xDF */ + 0xB4, 0x66, 0xB4, 0x63, 0xD8, 0xFB, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xD5, 0x5A, 0x3F, 0x3F, 0xB1, 0x7D, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xB4, 0x6B, 0xB4, 0x6F, 0xD9, 0x40, 0xB7, 0x51, /* 0xF0-0xF3 */ + 0xB4, 0x6D, 0xD9, 0x44, 0xB4, 0x71, 0xDD, 0x65, /* 0xF4-0xF7 */ + 0xD9, 0x46, 0xB7, 0x53, 0xB4, 0x69, 0xB4, 0x6C, /* 0xF8-0xFB */ + 0xD9, 0x47, 0x3F, 0x3F, 0xD9, 0x48, 0xD9, 0x4E, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_61[512] = { + 0xB4, 0x73, 0xB7, 0x54, 0x3F, 0x3F, 0xD9, 0x4A, /* 0x00-0x03 */ + 0xD9, 0x4F, 0xD9, 0x43, 0xB7, 0x5E, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xB7, 0x55, 0xB4, 0x72, 0xD9, 0x41, 0xD9, 0x50, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xB7, 0x5D, 0xB4, 0x70, 0xB7, 0x4E, /* 0x0C-0x0F */ + 0xD9, 0x4D, 0x3F, 0x3F, 0xB4, 0x74, 0xD9, 0x45, /* 0x10-0x13 */ + 0xD8, 0xFE, 0xB4, 0x6A, 0xD9, 0x42, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xD9, 0x4B, 0x3F, 0x3F, 0xB7, 0x4D, 0xB7, 0x52, /* 0x18-0x1B */ + 0xB4, 0x67, 0xD9, 0x4C, 0x3F, 0x3F, 0xB7, 0x50, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB4, 0x68, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0x5C, /* 0x24-0x27 */ + 0xE1, 0xC3, 0xDD, 0x70, 0x3F, 0x3F, 0xDD, 0x68, /* 0x28-0x2B */ + 0xE1, 0xC2, 0x3F, 0x3F, 0xDD, 0x6C, 0xDD, 0x6E, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0x6B, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xB7, 0x5B, 0x3F, 0x3F, 0xDD, 0x6A, 0xB7, 0x5F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xD2, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0x5A, 0xBA, 0x40, /* 0x3C-0x3F */ + 0xDD, 0x71, 0xE1, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xB7, 0x58, 0xDD, 0x69, 0xDD, 0x6D, 0xB9, 0xFE, /* 0x44-0x47 */ + 0xB7, 0x4F, 0xDD, 0x66, 0xDD, 0x67, 0xBA, 0x41, /* 0x48-0x4B */ + 0xB7, 0x57, 0xB7, 0x59, 0xB7, 0x56, 0xDD, 0x6F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xC8, 0xE1, 0xC9, /* 0x50-0x53 */ + 0xE1, 0xCE, 0xBC, 0x7D, 0xE1, 0xD5, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xBA, 0x47, 0x3F, 0x3F, 0xBA, 0x46, 0xE1, 0xD0, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xBC, 0x7C, 0xE1, 0xC5, 0xBA, 0x45, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xE1, 0xD4, 0xBA, 0x43, 0xBA, 0x44, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xE1, 0xD1, 0xE5, 0xAA, 0xBC, 0x7A, /* 0x64-0x67 */ + 0xB4, 0x6E, 0x3F, 0x3F, 0xE1, 0xD3, 0xBC, 0xA3, /* 0x68-0x6B */ + 0xE1, 0xCB, 0x3F, 0x3F, 0xBC, 0x7B, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xBC, 0xA2, 0xE1, 0xC6, 0xE1, 0xCA, 0xE1, 0xC7, /* 0x70-0x73 */ + 0xE1, 0xCD, 0xBA, 0x48, 0xBC, 0x79, 0xBA, 0x42, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xE5, 0x7A, 0xE1, 0xCF, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xBC, 0xA1, 0x3F, 0x3F, 0xBC, 0xA4, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xE1, 0xCC, 0x3F, 0x3F, 0xBC, 0x7E, 0xE5, 0x79, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xE5, 0x7E, 0xBE, 0xCE, 0xE5, 0x78, /* 0x88-0x8B */ + 0xE9, 0xA3, 0xE5, 0xA9, 0xBC, 0xA8, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xBC, 0xA6, 0xBE, 0xCC, 0xE5, 0xA6, 0xE5, 0xA2, /* 0x90-0x93 */ + 0xBC, 0xAC, 0x3F, 0x3F, 0xE9, 0x78, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBC, 0xAA, 0xE5, 0xA1, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xE9, 0x76, 0x3F, 0x3F, 0xE5, 0xA5, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xE5, 0xA8, 0xE5, 0x7D, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xBC, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, 0xBC, 0xA5, /* 0xA4-0xA7 */ + 0xE9, 0x77, 0xBE, 0xCD, 0xE5, 0xA7, 0xBC, 0xA7, /* 0xA8-0xAB */ + 0xBC, 0xA9, 0xE5, 0xA4, 0xBC, 0xAD, 0xE5, 0xA3, /* 0xAC-0xAF */ + 0xE5, 0x7C, 0xE5, 0x7B, 0xBE, 0xCB, 0xE5, 0xAB, /* 0xB0-0xB3 */ + 0xE9, 0x7A, 0xEC, 0xE0, 0xBE, 0xD0, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xE9, 0xA2, 0x3F, 0x3F, 0xE9, 0x7E, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xEC, 0xE1, 0x3F, 0x3F, 0xBE, 0xD1, 0xE9, 0xA1, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xE9, 0x7C, 0xC0, 0xB4, 0xEC, 0xDF, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xE9, 0x79, 0xE9, 0x7B, 0xC0, 0xB5, /* 0xC4-0xC7 */ + 0xBE, 0xD3, 0xC0, 0xB3, 0xBE, 0xD2, 0xC0, 0xB7, /* 0xC8-0xCB */ + 0xE9, 0x7D, 0xBE, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xCF, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xEF, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xE7, 0xEF, 0xC8, /* 0xDC-0xDF */ + 0xEC, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0x56, /* 0xE0-0xE3 */ + 0xEC, 0xE5, 0xEC, 0xE4, 0xC0, 0xB6, 0xEC, 0xE2, /* 0xE4-0xE7 */ + 0xEC, 0xE6, 0xEF, 0xD0, 0xEF, 0xCC, 0xEF, 0xCE, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xEF, 0xC9, 0xEF, 0xCA, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xEF, 0xCD, 0xEF, 0xCB, 0xC3, 0x67, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xC3, 0x6A, 0xC3, 0x69, 0xC3, 0x68, /* 0xF4-0xF7 */ + 0xC4, 0x61, 0xF4, 0x4A, 0xC4, 0x62, 0xF2, 0x41, /* 0xF8-0xFB */ + 0xC4, 0xDF, 0xF5, 0xCC, 0xC4, 0xE0, 0xC5, 0x74, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_62[512] = { + 0xC5, 0xCA, 0xF7, 0xD9, 0x3F, 0x3F, 0xF7, 0xDA, /* 0x00-0x03 */ + 0xF7, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xBA, /* 0x04-0x07 */ + 0xA4, 0xE0, 0xC9, 0x7C, 0xA5, 0xB3, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xA6, 0xA6, 0xA6, 0xA7, 0xA6, 0xA5, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xA6, 0xA8, 0xA7, 0xDA, 0xA7, 0xD9, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xCC, 0xB1, 0xA9, 0xCF, 0xA9, 0xCE, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xD1, 0xAF, 0xB1, 0xAD, 0xB1, 0xAE, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB4, 0x75, /* 0x1C-0x1F */ + 0xDD, 0x72, 0xB7, 0x60, 0xB7, 0x61, 0xDD, 0x74, /* 0x20-0x23 */ + 0xDD, 0x76, 0xDD, 0x75, 0x3F, 0x3F, 0xE1, 0xD7, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xE1, 0xD6, 0xBA, 0x49, 0xE1, 0xD8, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xE5, 0xAC, 0xBC, 0xAE, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xBE, 0xD4, 0x3F, 0x3F, 0xC0, 0xB8, 0xC2, 0x57, /* 0x30-0x33 */ + 0xC0, 0xB9, 0x3F, 0x3F, 0xA4, 0xE1, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0xE6, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xCC, 0xB2, 0xA9, 0xD1, 0xA9, 0xD0, /* 0x3C-0x3F */ + 0xA9, 0xD2, 0xAB, 0xF3, 0xCE, 0xD2, 0xCE, 0xD3, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xB0, 0xAE, 0xB0, /* 0x44-0x47 */ + 0xB1, 0xAF, 0xB4, 0x76, 0xD9, 0x51, 0xA4, 0xE2, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xA4, 0x7E, 0xA4, 0xE3, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xC9, 0x7D, 0xA5, 0xB7, 0xA5, 0xB6, 0xA5, 0xB4, /* 0x50-0x53 */ + 0xA5, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xA6, 0xAB, 0xC9, 0xE9, 0xC9, 0xEB, 0xA6, 0xAA, /* 0x58-0x5B */ + 0xC9, 0xE3, 0x3F, 0x3F, 0xC9, 0xE4, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xC9, 0xEA, 0xC9, 0xE6, 0xC9, 0xE8, 0xA6, 0xA9, /* 0x60-0x63 */ + 0xC9, 0xE5, 0xC9, 0xEC, 0xC9, 0xE7, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xA7, 0xE1, 0xA7, 0xEA, 0xA7, 0xE8, /* 0x6C-0x6F */ + 0xCA, 0xF0, 0xCA, 0xED, 0xCA, 0xF5, 0xA7, 0xE6, /* 0x70-0x73 */ + 0xCA, 0xF6, 0x3F, 0x3F, 0xA7, 0xDF, 0xCA, 0xF3, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xA7, 0xE5, 0xCA, 0xEF, 0xCA, 0xEE, /* 0x78-0x7B */ + 0xA7, 0xE3, 0xCA, 0xF4, 0xA7, 0xE4, 0xA9, 0xD3, /* 0x7C-0x7F */ + + 0xA7, 0xDE, 0xCA, 0xF1, 0x3F, 0x3F, 0xCA, 0xE7, /* 0x80-0x83 */ + 0xA7, 0xDB, 0x3F, 0x3F, 0xA7, 0xEE, 0xCA, 0xEC, /* 0x84-0x87 */ + 0xCA, 0xF2, 0xA7, 0xE0, 0xA7, 0xE2, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xCA, 0xE8, 0x3F, 0x3F, 0xCA, 0xE9, 0xCA, 0xEA, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xA7, 0xED, 0xA7, 0xE7, 0xA7, 0xEC, /* 0x90-0x93 */ + 0xCA, 0xEB, 0xA7, 0xEB, 0xA7, 0xDD, 0xA7, 0xDC, /* 0x94-0x97 */ + 0xA7, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xA9, 0xE1, 0xCC, 0xBE, 0xCC, 0xB7, 0xA9, 0xDC, /* 0xA8-0xAB */ + 0xA9, 0xEF, 0xCC, 0xB3, 0xCC, 0xBA, 0xCC, 0xBC, /* 0xAC-0xAF */ + 0xCC, 0xBF, 0xA9, 0xEA, 0x3F, 0x3F, 0xCC, 0xBB, /* 0xB0-0xB3 */ + 0xCC, 0xB4, 0xA9, 0xE8, 0xCC, 0xB8, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xCC, 0xC0, 0xA9, 0xD9, 0x3F, 0x3F, 0xCC, 0xBD, /* 0xB8-0xBB */ + 0xA9, 0xE3, 0xA9, 0xE2, 0xCC, 0xB6, 0xA9, 0xD7, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0xD8, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xA9, 0xD6, 0x3F, 0x3F, 0xA9, 0xEE, 0xA9, 0xE6, /* 0xC4-0xC7 */ + 0xA9, 0xE0, 0xA9, 0xD4, 0xCC, 0xB9, 0xA9, 0xDF, /* 0xC8-0xCB */ + 0xA9, 0xD5, 0xA9, 0xE7, 0xA9, 0xF0, 0xCE, 0xD4, /* 0xCC-0xCF */ + 0xA9, 0xE4, 0xCC, 0xB5, 0xA9, 0xDA, 0xA9, 0xDD, /* 0xD0-0xD3 */ + 0xA9, 0xDE, 0x3F, 0x3F, 0xA9, 0xEC, 0xA9, 0xED, /* 0xD4-0xD7 */ + 0xA9, 0xEB, 0xA9, 0xE5, 0xA9, 0xE9, 0xA9, 0xDB, /* 0xD8-0xDB */ + 0xAB, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xDA, /* 0xE8-0xEB */ + 0xAC, 0x41, 0xAB, 0xF8, 0xAB, 0xFA, 0xAC, 0x40, /* 0xEC-0xEF */ + 0xCE, 0xE6, 0xAB, 0xFD, 0xD1, 0xB1, 0xAE, 0xB1, /* 0xF0-0xF3 */ + 0xAC, 0x43, 0xCE, 0xD7, 0xCE, 0xDF, 0xAB, 0xFE, /* 0xF4-0xF7 */ + 0xCE, 0xDE, 0xCE, 0xDB, 0xCE, 0xE3, 0xCE, 0xE5, /* 0xF8-0xFB */ + 0xAB, 0xF7, 0xAB, 0xFB, 0xAC, 0x42, 0xAE, 0xB3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_63[512] = { + 0xCE, 0xE0, 0xAB, 0xF9, 0xAC, 0x45, 0xCE, 0xD9, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0xFC, /* 0x04-0x07 */ + 0xAE, 0xB2, 0xAB, 0xF6, 0x3F, 0x3F, 0xCE, 0xD6, /* 0x08-0x0B */ + 0xCE, 0xDD, 0xCE, 0xD5, 0xCE, 0xD8, 0xCE, 0xDC, /* 0x0C-0x0F */ + 0xD1, 0xB2, 0xAC, 0x44, 0x3F, 0x3F, 0xCE, 0xE1, /* 0x10-0x13 */ + 0xCE, 0xE2, 0xCE, 0xE4, 0xAB, 0xF5, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xAE, 0xC1, 0xD1, 0xBE, 0xAE, 0xBF, 0xAE, 0xC0, /* 0x28-0x2B */ + 0xD1, 0xB4, 0xD1, 0xC4, 0x3F, 0x3F, 0xAE, 0xB6, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0x66, 0xD1, 0xC6, /* 0x30-0x33 */ + 0xD1, 0xC0, 0x3F, 0x3F, 0xD1, 0xB7, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xD1, 0xC9, 0xD1, 0xBA, 0xAE, 0xBC, 0xD5, 0x7D, /* 0x38-0x3B */ + 0xD1, 0xBD, 0xAE, 0xBE, 0xAE, 0xB5, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xD1, 0xCB, 0xD1, 0xBF, 0xAE, 0xB8, 0xD1, 0xB8, /* 0x40-0x43 */ + 0xD1, 0xB5, 0xD1, 0xB6, 0xAE, 0xB9, 0xD1, 0xC5, /* 0x44-0x47 */ + 0xD1, 0xCC, 0xAE, 0xBB, 0xD1, 0xBC, 0xD1, 0xBB, /* 0x48-0x4B */ + 0xAE, 0xC3, 0xAE, 0xC2, 0xAE, 0xB4, 0xAE, 0xBA, /* 0x4C-0x4F */ + 0xAE, 0xBD, 0xD1, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xD1, 0xC2, 0xAE, 0xB7, 0xD1, 0xB3, 0xD1, 0xCA, /* 0x54-0x57 */ + 0xD1, 0xC1, 0xD1, 0xC3, 0xD1, 0xC7, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xD5, 0x67, 0x3F, 0x3F, 0xB1, 0xB7, /* 0x64-0x67 */ + 0xB1, 0xCB, 0xB1, 0xCA, 0x3F, 0x3F, 0xB1, 0xBF, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xD5, 0x79, 0xD5, 0x75, 0xD5, 0x72, /* 0x6C-0x6F */ + 0xD5, 0xA6, 0xB1, 0xBA, 0xB1, 0xB2, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xD5, 0x77, 0xB4, 0xA8, 0xB1, 0xB6, /* 0x74-0x77 */ + 0xD5, 0xA1, 0x3F, 0x3F, 0xB1, 0xCC, 0xB1, 0xC9, /* 0x78-0x7B */ + 0xD5, 0x7B, 0xD5, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xB1, 0xC8, 0xD5, 0xA3, 0xD5, 0x69, 0xB1, 0xBD, /* 0x80-0x83 */ + 0xB1, 0xC1, 0xD5, 0xA2, 0x3F, 0x3F, 0xD5, 0x73, /* 0x84-0x87 */ + 0xB1, 0xC2, 0xB1, 0xBC, 0xD5, 0x68, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xB4, 0x78, 0xD5, 0xA5, 0xD5, 0x71, 0xB1, 0xC7, /* 0x8C-0x8F */ + 0xD5, 0x74, 0xD5, 0xA4, 0xB1, 0xC6, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xD9, 0x52, 0x3F, 0x3F, 0xB1, 0xB3, 0xD5, 0x6F, /* 0x94-0x97 */ + 0xB1, 0xB8, 0xB1, 0xC3, 0x3F, 0x3F, 0xB1, 0xBE, /* 0x98-0x9B */ + 0xD5, 0x78, 0xD5, 0x6E, 0xD5, 0x6C, 0xD5, 0x7E, /* 0x9C-0x9F */ + 0xB1, 0xB0, 0xB1, 0xC4, 0xB1, 0xB4, 0xB4, 0x77, /* 0xA0-0xA3 */ + 0xD5, 0x7C, 0xB1, 0xB5, 0x3F, 0x3F, 0xB1, 0xB1, /* 0xA4-0xA7 */ + 0xB1, 0xC0, 0xB1, 0xBB, 0xB1, 0xB9, 0xD5, 0x70, /* 0xA8-0xAB */ + 0xB1, 0xC5, 0xD5, 0x6D, 0xD5, 0x7A, 0xD5, 0x76, /* 0xAC-0xAF */ + 0xD9, 0x54, 0xD9, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xD5, 0x6B, 0xD9, 0x64, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xB4, 0x7A, 0x3F, 0x3F, 0xD9, 0x6A, 0xD9, 0x59, /* 0xC0-0xC3 */ + 0xD9, 0x67, 0xDD, 0x77, 0xB4, 0x7D, 0xD9, 0x6B, /* 0xC4-0xC7 */ + 0xD9, 0x6E, 0xB4, 0x7C, 0xD9, 0x5C, 0xD9, 0x6D, /* 0xC8-0xCB */ + 0xD9, 0x6C, 0xB4, 0x7E, 0xD9, 0x55, 0xB4, 0x79, /* 0xCC-0xCF */ + 0xB4, 0xA3, 0x3F, 0x3F, 0xB4, 0xA1, 0xD9, 0x69, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xD9, 0x5F, 0xB4, 0xA5, 0xD9, 0x70, /* 0xD4-0xD7 */ + 0xD9, 0x68, 0xD9, 0x71, 0xB4, 0xAD, 0xB4, 0xAB, /* 0xD8-0xDB */ + 0xD9, 0x66, 0xD9, 0x65, 0x3F, 0x3F, 0xD9, 0x63, /* 0xDC-0xDF */ + 0xD9, 0x5D, 0xB4, 0xA4, 0x3F, 0x3F, 0xB4, 0xA2, /* 0xE0-0xE3 */ + 0xD1, 0xB9, 0xD9, 0x56, 0x3F, 0x3F, 0xDD, 0xB7, /* 0xE4-0xE7 */ + 0xD9, 0x57, 0xB4, 0x7B, 0xB4, 0xAA, 0xDD, 0x79, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xB4, 0xA6, 0xB4, 0xA7, 0xD9, 0x58, /* 0xEC-0xEF */ + 0xD9, 0x6F, 0xDD, 0x78, 0xD9, 0x60, 0xD9, 0x5B, /* 0xF0-0xF3 */ + 0xB4, 0xA9, 0xD9, 0x61, 0xD9, 0x5E, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xB4, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_64[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0x70, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xDD, 0x7C, 0xDD, 0xB1, 0xDD, 0xB6, /* 0x08-0x0B */ + 0xDD, 0xAA, 0xB7, 0x6C, 0xDD, 0xBB, 0xB7, 0x69, /* 0x0C-0x0F */ + 0xDD, 0x7A, 0x3F, 0x3F, 0xDD, 0x7B, 0xB7, 0x62, /* 0x10-0x13 */ + 0xB7, 0x6B, 0xDD, 0xA4, 0xB7, 0x6E, 0xB7, 0x6F, /* 0x14-0x17 */ + 0xDD, 0xA5, 0x3F, 0x3F, 0xDD, 0xB2, 0xDD, 0xB8, /* 0x18-0x1B */ + 0xB7, 0x6A, 0x3F, 0x3F, 0xB7, 0x64, 0xDD, 0xA3, /* 0x1C-0x1F */ + 0xDD, 0x7D, 0xDD, 0xBA, 0xDD, 0xA8, 0xDD, 0xA9, /* 0x20-0x23 */ + 0xDD, 0x7E, 0xDD, 0xB4, 0xDD, 0xAB, 0xDD, 0xB5, /* 0x24-0x27 */ + 0xDD, 0xAD, 0x3F, 0x3F, 0xB7, 0x65, 0xE1, 0xD9, /* 0x28-0x2B */ + 0xB7, 0x68, 0xB7, 0x66, 0xDD, 0xB9, 0xDD, 0xB0, /* 0x2C-0x2F */ + 0xDD, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xA1, /* 0x30-0x33 */ + 0xBA, 0x53, 0xDD, 0xAF, 0xB7, 0x6D, 0xDD, 0xA7, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xDD, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xB7, 0x67, 0xB7, 0x63, 0xE1, 0xEE, /* 0x3C-0x3F */ + 0xDD, 0xB3, 0xDD, 0xAE, 0x3F, 0x3F, 0xDD, 0xA2, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xE9, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xE1, 0xDA, 0xE1, 0xE5, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xE1, 0xEC, 0xBA, 0x51, 0xB4, 0xAC, 0xE1, 0xEA, /* 0x50-0x53 */ + 0xBA, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xBA, 0x4B, 0xE1, 0xF1, 0x3F, 0x3F, 0xE1, 0xDB, /* 0x58-0x5B */ + 0xE1, 0xE8, 0xE1, 0xDC, 0xE1, 0xE7, 0xBA, 0x4F, /* 0x5C-0x5F */ + 0xE1, 0xEB, 0xD9, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xE1, 0xF2, 0xE1, 0xE3, 0xBA, 0x52, /* 0x64-0x67 */ + 0xE5, 0xBA, 0xBC, 0xAF, 0x3F, 0x3F, 0xE1, 0xF0, /* 0x68-0x6B */ + 0xE1, 0xEF, 0xBA, 0x54, 0xE5, 0xAD, 0xBC, 0xB0, /* 0x6C-0x6F */ + 0xE5, 0xAE, 0x3F, 0x3F, 0xE1, 0xDF, 0xE1, 0xE0, /* 0x70-0x73 */ + 0xE1, 0xDD, 0xE1, 0xE2, 0xE1, 0xDE, 0xE1, 0xF3, /* 0x74-0x77 */ + 0xBA, 0x4E, 0xBC, 0xB1, 0xBA, 0x50, 0xBA, 0x55, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xE1, 0xE1, 0x3F, 0x3F, 0xE1, 0xED, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xE1, 0xE6, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xE5, 0xB1, 0x3F, 0x3F, 0xBA, 0x4A, /* 0x84-0x87 */ + 0xBC, 0xB4, 0xE9, 0xAA, 0xE5, 0xB6, 0xE5, 0xB5, /* 0x88-0x8B */ + 0xE5, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xB4, /* 0x8C-0x8F */ + 0xBC, 0xB5, 0x3F, 0x3F, 0xBC, 0xBB, 0xBC, 0xB8, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xBC, 0xB9, 0xE5, 0xAF, 0xE5, 0xB2, /* 0x94-0x97 */ + 0xE5, 0xBC, 0xBC, 0xC1, 0xBC, 0xBF, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xE5, 0xB3, 0xD9, 0x5A, 0xBC, 0xB2, 0xE5, 0xB9, /* 0x9C-0x9F */ + 0xE5, 0xB0, 0x3F, 0x3F, 0xBC, 0xC2, 0xE5, 0xB8, /* 0xA0-0xA3 */ + 0xBA, 0x4D, 0xBC, 0xB7, 0xE1, 0xE4, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xBC, 0xBA, 0x3F, 0x3F, 0xBC, 0xBE, /* 0xA8-0xAB */ + 0xBC, 0xC0, 0xBC, 0xBD, 0xBC, 0xBC, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xBC, 0xB6, 0xE5, 0xBB, 0xBC, 0xB3, 0xBC, 0xC3, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xBE, 0xD8, /* 0xB8-0xBB */ + 0xBE, 0xD9, 0xE9, 0xA9, 0xBE, 0xE2, 0xBE, 0xDF, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xBE, 0xD6, 0xBE, 0xDD, 0xE9, 0xAB, /* 0xC0-0xC3 */ + 0xBE, 0xDB, 0xBE, 0xD5, 0x3F, 0x3F, 0xBE, 0xDC, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xE9, 0xA8, 0xC0, 0xBB, 0xBE, 0xD7, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xBE, 0xDE, 0xC0, 0xBA, 0xE9, 0xA7, /* 0xCC-0xCF */ + 0xE9, 0xA6, 0x3F, 0x3F, 0xBE, 0xE0, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xBE, 0xE1, 0x3F, 0x3F, 0xE9, 0xA5, 0xE9, 0xA4, /* 0xD4-0xD7 */ + 0xC0, 0xBC, 0xE9, 0xAE, 0xBE, 0xDA, 0xE9, 0xAC, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xC0, 0xBD, 0x3F, 0x3F, 0xC0, 0xC2, 0xEC, 0xEA, /* 0xE0-0xE3 */ + 0xEC, 0xEC, 0x3F, 0x3F, 0xC0, 0xBF, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xEC, 0xED, 0xEC, 0xE9, 0x3F, 0x3F, 0xEC, 0xEB, /* 0xE8-0xEB */ + 0xC0, 0xC0, 0xC0, 0xC3, 0x3F, 0x3F, 0xEC, 0xE8, /* 0xEC-0xEF */ + 0xC0, 0xBE, 0xC0, 0xC1, 0xC2, 0x59, 0xE9, 0xAD, /* 0xF0-0xF3 */ + 0xC2, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0x5E, /* 0xF4-0xF7 */ + 0xEF, 0xD4, 0x3F, 0x3F, 0xC2, 0x5C, 0xC2, 0x5D, /* 0xF8-0xFB */ + 0xEF, 0xD7, 0xEF, 0xD3, 0xC2, 0x5A, 0xEF, 0xD1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_65[512] = { + 0xC3, 0x6B, 0xEF, 0xD5, 0x3F, 0x3F, 0xEF, 0xD6, /* 0x00-0x03 */ + 0xEF, 0xD2, 0x3F, 0x3F, 0xC2, 0x5B, 0xF2, 0x42, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF2, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xF2, 0x46, 0xF2, 0x44, 0xF2, 0x47, 0xC3, 0x6C, /* 0x0C-0x0F */ + 0xF2, 0x43, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0x4E, /* 0x10-0x13 */ + 0xC4, 0x64, 0xF4, 0x4D, 0xF4, 0x4C, 0xF4, 0x4B, /* 0x14-0x17 */ + 0xC4, 0x63, 0xC4, 0x65, 0x3F, 0x3F, 0xF5, 0xCD, /* 0x18-0x1B */ + 0xC4, 0xE2, 0xC4, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xF6, 0xE1, 0xF6, 0xE0, 0xF6, 0xE3, 0xC5, 0xCB, /* 0x20-0x23 */ + 0xC5, 0x75, 0xF7, 0xDD, 0xF6, 0xE2, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xF7, 0xDC, 0xC5, 0xCD, 0xC5, 0xCC, /* 0x28-0x2B */ + 0xC5, 0xF3, 0xF8, 0xA9, 0xF8, 0xEF, 0xA4, 0xE4, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0x72, 0xE9, 0xAF, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0xAC, 0xCA, 0xF7, /* 0x34-0x37 */ + 0xA7, 0xF1, 0xA7, 0xEF, 0x3F, 0x3F, 0xA7, 0xF0, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xCC, 0xC1, 0xA9, 0xF1, 0xAC, 0x46, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xCE, 0xE7, 0x3F, 0x3F, 0xCE, 0xE8, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xAC, 0x47, 0xD1, 0xCE, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xAE, 0xC4, 0xAE, 0xC5, 0xD1, 0xCD, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0xD3, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xB1, 0xCF, 0x3F, 0x3F, 0xD5, 0xA7, /* 0x50-0x53 */ + 0xB1, 0xD6, 0xB1, 0xD5, 0xB1, 0xCE, 0xB1, 0xD1, /* 0x54-0x57 */ + 0xB1, 0xD4, 0xB1, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xD9, 0x76, 0xB1, 0xCD, 0xB4, 0xAF, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB4, 0xB1, 0xB4, 0xB2, /* 0x60-0x63 */ + 0xD9, 0x75, 0xD9, 0x78, 0xB4, 0xB0, 0xD9, 0x73, /* 0x64-0x67 */ + 0xD9, 0x77, 0x3F, 0x3F, 0xD9, 0x74, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xB7, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xBC, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBA, 0x56, 0xE1, 0xF4, /* 0x70-0x73 */ + 0xBE, 0xE3, 0xBC, 0xC4, 0xE5, 0xBD, 0xBC, 0xC5, /* 0x74-0x77 */ + 0xBC, 0xC6, 0xE5, 0xBF, 0xE5, 0xBE, 0xE5, 0xC0, /* 0x78-0x7B */ + 0xE9, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xB0, /* 0x7C-0x7F */ + + 0xEC, 0xEF, 0xEC, 0xEE, 0xC0, 0xC4, 0xC0, 0xC5, /* 0x80-0x83 */ + 0xF2, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0xA4, 0xE5, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xD9, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xB4, 0xB4, 0xB4, 0xB3, 0xDD, 0xBD, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xEF, 0xD8, 0xC4, 0xE3, 0xF7, 0xDE, 0xA4, 0xE6, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xAE, 0xC6, 0x3F, 0x3F, 0xB1, 0xD8, /* 0x98-0x9B */ + 0xB1, 0xD7, 0xD9, 0x7A, 0xD9, 0x7B, 0xB7, 0x72, /* 0x9C-0x9F */ + 0xE1, 0xF5, 0xBA, 0x57, 0xE9, 0xB2, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xA4, 0xE7, 0xA5, 0xB8, 0x3F, 0x3F, 0xA9, 0xF2, /* 0xA4-0xA7 */ + 0xCC, 0xC2, 0x3F, 0x3F, 0xCE, 0xE9, 0xAC, 0x48, /* 0xA8-0xAB */ + 0xB1, 0xD9, 0x3F, 0x3F, 0xD9, 0x7C, 0xB4, 0xB5, /* 0xAC-0xAF */ + 0xB7, 0x73, 0x3F, 0x3F, 0xE5, 0xC1, 0xE5, 0xC2, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xF0, 0xC2, 0x5F, /* 0xB4-0xB7 */ + 0xF8, 0xF0, 0xA4, 0xE8, 0x3F, 0x3F, 0xCC, 0xC3, /* 0xB8-0xBB */ + 0xA9, 0xF3, 0xAC, 0x49, 0x3F, 0x3F, 0xCE, 0xEA, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xAE, 0xC7, 0xD1, 0xD2, 0xD1, 0xD0, /* 0xC0-0xC3 */ + 0xD1, 0xD1, 0xAE, 0xC8, 0xD1, 0xCF, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0xDB, /* 0xC8-0xCB */ + 0xB1, 0xDC, 0xD5, 0xA8, 0xB1, 0xDD, 0xB1, 0xDA, /* 0xCC-0xCF */ + 0xD9, 0x7D, 0x3F, 0x3F, 0xD9, 0x7E, 0xDD, 0xBE, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBA, 0x59, 0xBA, 0x58, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xF1, 0xEF, 0xD9, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xF2, 0x4A, 0xF2, 0x49, 0xF4, 0x4F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xC9, 0x5E, 0xAC, 0x4A, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xA4, 0xE9, 0xA5, 0xB9, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xA6, 0xAE, 0xA6, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xA6, 0xAF, 0xA6, 0xB0, 0xC9, 0xEE, 0xC9, 0xED, /* 0xEC-0xEF */ + 0xCA, 0xF8, 0xA7, 0xF2, 0xCA, 0xFB, 0xCA, 0xFA, /* 0xF0-0xF3 */ + 0xCA, 0xF9, 0xCA, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA9, 0xF4, 0xCC, 0xC9, /* 0xF8-0xFB */ + 0xCC, 0xC5, 0xCC, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_66[512] = { + 0xA9, 0xFB, 0x3F, 0x3F, 0xA9, 0xF9, 0xCC, 0xCA, /* 0x00-0x03 */ + 0xCC, 0xC6, 0xCC, 0xCD, 0xA9, 0xF8, 0xAA, 0x40, /* 0x04-0x07 */ + 0xCC, 0xC8, 0xCC, 0xC4, 0xA9, 0xFE, 0xCC, 0xCB, /* 0x08-0x0B */ + 0xA9, 0xF7, 0xCC, 0xCC, 0xA9, 0xFA, 0xA9, 0xFC, /* 0x0C-0x0F */ + 0xCC, 0xD0, 0xCC, 0xCF, 0xCC, 0xC7, 0xA9, 0xF6, /* 0x10-0x13 */ + 0xA9, 0xF5, 0xA9, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xCE, 0xEF, 0xCE, 0xF5, 0x3F, 0x3F, 0xAC, 0x50, /* 0x1C-0x1F */ + 0xAC, 0x4D, 0xCE, 0xEC, 0xCE, 0xF1, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xAC, 0x53, 0xAC, 0x4B, 0xCE, 0xF0, 0xAC, 0x4E, /* 0x24-0x27 */ + 0xAC, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, 0xCE, 0xF3, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xAC, 0x4C, 0xCE, 0xF8, 0xAC, 0x4F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xAC, 0x52, 0xCE, 0xED, 0xCE, 0xF2, /* 0x30-0x33 */ + 0xCE, 0xF6, 0xCE, 0xEE, 0xCE, 0xEB, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xCE, 0xF7, 0xCE, 0xF4, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xAE, 0xD0, 0xAE, 0xC9, 0xAE, 0xCC, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xAE, 0xCF, 0x3F, 0x3F, 0xD1, 0xD5, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xAE, 0xCA, 0xD1, 0xD3, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xAE, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, 0xAE, 0xCB, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xD1, 0xD6, 0xAE, 0xCD, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xD5, 0xAC, 0xB1, 0xDF, 0xD5, 0xAB, /* 0x58-0x5B */ + 0xD5, 0xAD, 0xB1, 0xDE, 0xB1, 0xE3, 0xD1, 0xD4, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xD5, 0xAA, 0xD5, 0xAE, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xB1, 0xE0, 0xD5, 0xA9, 0xB1, 0xE2, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xB1, 0xE1, 0x3F, 0x3F, 0xD9, 0xA7, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xD9, 0xA2, 0x3F, 0x3F, 0xB4, 0xB6, 0xB4, 0xBA, /* 0x6C-0x6F */ + 0xB4, 0xB7, 0xD9, 0xA5, 0xD9, 0xA8, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xB4, 0xB8, 0x3F, 0x3F, 0xB4, 0xB9, 0xB4, 0xBE, /* 0x74-0x77 */ + 0xDD, 0xC7, 0xD9, 0xA6, 0xB4, 0xBC, 0xD9, 0xA3, /* 0x78-0x7B */ + 0xD9, 0xA1, 0x3F, 0x3F, 0xB4, 0xBD, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xD9, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xB7, 0x79, 0x3F, 0x3F, 0xDD, 0xBF, 0xB7, 0x76, /* 0x84-0x87 */ + 0xB7, 0x77, 0xB7, 0x75, 0xDD, 0xC4, 0xDD, 0xC3, /* 0x88-0x8B */ + 0xDD, 0xC0, 0xB7, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xDD, 0xC2, 0xB4, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xDD, 0xC6, 0xDD, 0xC1, 0xB7, 0x78, 0xB7, 0x74, /* 0x94-0x97 */ + 0xB7, 0x7A, 0xDD, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xBA, 0x5C, 0x3F, 0x3F, 0xE1, 0xF8, /* 0x9C-0x9F */ + 0xE1, 0xF7, 0xE1, 0xF6, 0xBA, 0x5A, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xBA, 0x5B, 0xE5, 0xC5, 0xE5, 0xC8, 0xBC, 0xC8, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBC, 0xC7, 0xE5, 0xC9, /* 0xAC-0xAF */ + 0xE5, 0xC4, 0xBC, 0xCA, 0xE5, 0xC6, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xBC, 0xC9, 0xE5, 0xC3, 0x3F, 0x3F, 0xE5, 0xC7, /* 0xB4-0xB7 */ + 0xBE, 0xE9, 0xBE, 0xE6, 0xE9, 0xBB, 0xE9, 0xBA, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xE9, 0xB9, 0xE9, 0xB4, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xE9, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xBE, 0xE7, 0x3F, 0x3F, 0xBE, 0xE4, 0xBE, 0xE8, /* 0xC4-0xC7 */ + 0xE9, 0xB3, 0xBE, 0xE5, 0xE9, 0xB6, 0xE9, 0xB7, /* 0xC8-0xCB */ + 0xE9, 0xBC, 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xB8, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xF2, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0xC7, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xEF, 0xDC, 0xC0, 0xC6, 0xEF, 0xDA, 0xEF, 0xDB, /* 0xD8-0xDB */ + 0xC2, 0x60, 0xC3, 0x6E, 0xF2, 0x4B, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xC3, 0x6D, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0x51, /* 0xE0-0xE3 */ + 0xF4, 0x52, 0x3F, 0x3F, 0xC4, 0x66, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xF4, 0x50, 0xC4, 0xE4, 0x3F, 0x3F, 0xF7, 0xDF, /* 0xE8-0xEB */ + 0xC5, 0xCE, 0xF8, 0xAA, 0xF8, 0xAB, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xA4, 0xEA, 0x3F, 0x3F, 0xA6, 0xB1, 0xA6, 0xB2, /* 0xF0-0xF3 */ + 0xA7, 0xF3, 0x3F, 0x3F, 0xCC, 0xD1, 0xAC, 0x54, /* 0xF4-0xF7 */ + 0xAE, 0xD1, 0xB1, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xB0, 0xD2, 0x3F, 0x3F, 0xB4, 0xBF, 0xB4, 0xC0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_67[512] = { + 0xB3, 0xCC, 0xD9, 0xA9, 0x3F, 0x3F, 0xB7, 0x7C, /* 0x00-0x03 */ + 0xE1, 0xFA, 0xE1, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xA4, 0xEB, 0xA6, 0xB3, 0xCC, 0xD2, 0xAA, 0x42, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xAA, 0x41, 0x3F, 0x3F, 0xCE, 0xF9, /* 0x0C-0x0F */ + 0xCE, 0xFA, 0x3F, 0x3F, 0xD1, 0xD7, 0xD1, 0xD8, /* 0x10-0x13 */ + 0xAE, 0xD2, 0xAE, 0xD3, 0x3F, 0x3F, 0xAE, 0xD4, /* 0x14-0x17 */ + 0xD5, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0xE6, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xB4, 0xC2, 0x3F, 0x3F, 0xB4, 0xC1, /* 0x1C-0x1F */ + 0xDD, 0xC8, 0xDF, 0x7A, 0xE1, 0xFB, 0xE9, 0xBD, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0x61, 0xC4, 0x67, /* 0x24-0x27 */ + 0xA4, 0xEC, 0x3F, 0x3F, 0xA5, 0xBC, 0xA5, 0xBD, /* 0x28-0x2B */ + 0xA5, 0xBB, 0xA5, 0xBE, 0xA5, 0xBA, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xA6, 0xB6, 0x3F, 0x3F, 0xC9, 0xF6, /* 0x30-0x33 */ + 0xA6, 0xB5, 0xA6, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xC9, 0xF1, 0xC9, 0xF0, 0xC9, 0xF3, 0xC9, 0xF2, /* 0x38-0x3B */ + 0xC9, 0xF5, 0xA6, 0xB4, 0xC9, 0xEF, 0xC9, 0xF4, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xCA, 0xFD, 0xA7, 0xFD, 0xCA, 0xFE, /* 0x44-0x47 */ + 0xCB, 0x43, 0xA7, 0xFC, 0x3F, 0x3F, 0xCB, 0x47, /* 0x48-0x4B */ + 0xCB, 0x42, 0xCB, 0x45, 0xA7, 0xF5, 0xA7, 0xF6, /* 0x4C-0x4F */ + 0xA7, 0xF7, 0xA7, 0xF8, 0x3F, 0x3F, 0xA8, 0x40, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xCB, 0x41, 0xA7, 0xFA, 0xA8, 0x41, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xCB, 0x40, 0xCB, 0x46, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xA7, 0xF9, 0xCB, 0x44, 0xA7, 0xFB, 0xA7, 0xF4, /* 0x5C-0x5F */ + 0xA7, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAA, 0x57, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xCC, 0xD4, 0xAA, 0x43, 0x3F, 0x3F, 0xAA, 0x4D, /* 0x6C-0x6F */ + 0xAA, 0x4E, 0xAA, 0x46, 0xAA, 0x58, 0xAA, 0x48, /* 0x70-0x73 */ + 0xCC, 0xDC, 0xAA, 0x53, 0xCC, 0xD7, 0xAA, 0x49, /* 0x74-0x77 */ + 0xCC, 0xE6, 0xCC, 0xE7, 0xCC, 0xDF, 0xCC, 0xD8, /* 0x78-0x7B */ + 0xAA, 0x56, 0xCC, 0xE4, 0xAA, 0x51, 0xAA, 0x4F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xCC, 0xE5, 0x3F, 0x3F, 0xCC, 0xE3, /* 0x80-0x83 */ + 0xCC, 0xDB, 0xCC, 0xD3, 0xCC, 0xDA, 0xAA, 0x4A, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xAA, 0x50, 0x3F, 0x3F, 0xAA, 0x44, /* 0x88-0x8B */ + 0xCC, 0xDE, 0xCC, 0xDD, 0xCC, 0xD5, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xAA, 0x52, 0xCC, 0xE1, 0xCC, 0xD6, 0xAA, 0x55, /* 0x90-0x93 */ + 0xCC, 0xE8, 0xAA, 0x45, 0x3F, 0x3F, 0xAA, 0x4C, /* 0x94-0x97 */ + 0xCC, 0xD9, 0xCC, 0xE2, 0xAA, 0x54, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xAA, 0x47, 0xAA, 0x4B, 0x3F, 0x3F, 0xCC, 0xE0, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0x5B, 0xAC, 0x5C, /* 0xAC-0xAF */ + 0xAC, 0x69, 0x3F, 0x3F, 0xCF, 0x56, 0xCF, 0x4C, /* 0xB0-0xB3 */ + 0xAC, 0x62, 0xCF, 0x4A, 0xAC, 0x5B, 0xCF, 0x45, /* 0xB4-0xB7 */ + 0xAC, 0x65, 0xCF, 0x52, 0xCE, 0xFE, 0xCF, 0x41, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xCF, 0x44, 0xCE, 0xFB, 0xCF, 0x51, 0xCF, 0x61, /* 0xC0-0xC3 */ + 0xAC, 0x60, 0xCF, 0x46, 0xCF, 0x58, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xCE, 0xFD, 0xCF, 0x5F, 0xCF, 0x60, 0xCF, 0x63, /* 0xC8-0xCB */ + 0xCF, 0x5A, 0xCF, 0x4B, 0xCF, 0x53, 0xAC, 0x66, /* 0xCC-0xCF */ + 0xAC, 0x59, 0xAC, 0x61, 0xAC, 0x6D, 0xAC, 0x56, /* 0xD0-0xD3 */ + 0xAC, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xCF, 0x43, 0xAC, 0x6A, 0xAC, 0x63, 0xCF, 0x5D, /* 0xD8-0xDB */ + 0xCF, 0x40, 0xAC, 0x6C, 0xAC, 0x67, 0xCF, 0x49, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAC, 0x6B, 0xCF, 0x50, /* 0xE0-0xE3 */ + 0xCF, 0x48, 0xAC, 0x64, 0xCF, 0x5C, 0xCF, 0x54, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xAC, 0x5E, 0xCF, 0x62, 0xCF, 0x47, /* 0xE8-0xEB */ + 0xAC, 0x5A, 0xCF, 0x59, 0xCF, 0x4F, 0xAC, 0x5F, /* 0xEC-0xEF */ + 0xCF, 0x55, 0xAC, 0x57, 0xCE, 0xFC, 0xAC, 0x68, /* 0xF0-0xF3 */ + 0xAE, 0xE3, 0xAC, 0x5D, 0xCF, 0x4E, 0xCF, 0x4D, /* 0xF4-0xF7 */ + 0xCF, 0x42, 0x3F, 0x3F, 0xCF, 0x5E, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xCF, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0xAC, 0x55, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_68[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xEC, 0xAE, 0xEA, /* 0x10-0x13 */ + 0xD1, 0xED, 0x3F, 0x3F, 0xD1, 0xE1, 0xAE, 0xDF, /* 0x14-0x17 */ + 0xAE, 0xEB, 0x3F, 0x3F, 0xD1, 0xDA, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xD1, 0xE3, 0xD1, 0xEB, 0x3F, 0x3F, 0xD1, 0xD9, /* 0x1C-0x1F */ + 0xD1, 0xF4, 0xAE, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xD1, 0xF3, 0xD1, 0xEE, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xD1, 0xEF, 0xAE, 0xDD, 0xAE, 0xE8, 0xD1, 0xE5, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xD1, 0xE6, 0xD1, 0xF0, 0xD1, 0xE7, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xD1, 0xE2, 0xD1, 0xDC, 0xD1, 0xDD, /* 0x30-0x33 */ + 0xD1, 0xEA, 0xD1, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xAE, 0xD6, 0xAE, 0xDA, 0xD1, 0xF2, 0xD1, 0xDE, /* 0x38-0x3B */ + 0xAE, 0xE6, 0xAE, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xAE, 0xE5, 0xAE, 0xEC, 0xAE, 0xDB, 0xAE, 0xE7, /* 0x40-0x43 */ + 0xD1, 0xE9, 0xAE, 0xE9, 0xAE, 0xD8, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xAE, 0xD7, 0xD1, 0xDB, 0x3F, 0x3F, 0xD1, 0xDF, /* 0x48-0x4B */ + 0xAE, 0xE0, 0xD1, 0xF1, 0xD1, 0xE8, 0xD1, 0xE0, /* 0x4C-0x4F */ + 0xAE, 0xE4, 0xAE, 0xE1, 0x3F, 0x3F, 0xAE, 0xD9, /* 0x50-0x53 */ + 0xAE, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xC4, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xD5, 0xB4, 0xD5, 0xB5, 0xD5, 0xB9, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xD5, 0xC8, 0xD5, 0xC5, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xD5, 0xBE, 0xD5, 0xBD, 0xB1, 0xED, 0xD5, 0xC1, /* 0x74-0x77 */ + 0xD5, 0xD0, 0xD5, 0xB0, 0x3F, 0x3F, 0xD5, 0xD1, /* 0x78-0x7B */ + 0xD5, 0xC3, 0xD5, 0xD5, 0xD5, 0xC9, 0xB1, 0xEC, /* 0x7C-0x7F */ + + 0xD5, 0xC7, 0xB1, 0xE7, 0xB1, 0xFC, 0xB1, 0xF2, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xB1, 0xF6, 0xB1, 0xF5, 0xD5, 0xB1, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xD5, 0xCE, 0xD5, 0xD4, 0xD5, 0xCC, /* 0x88-0x8B */ + 0xD5, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xC0, /* 0x8C-0x8F */ + 0xD5, 0xB2, 0xD5, 0xD2, 0xD5, 0xC2, 0xB1, 0xEA, /* 0x90-0x93 */ + 0xB1, 0xF7, 0x3F, 0x3F, 0xD5, 0xCB, 0xB1, 0xF0, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD5, 0xCA, /* 0x98-0x9B */ + 0xD5, 0xB3, 0xB1, 0xF8, 0x3F, 0x3F, 0xB1, 0xFA, /* 0x9C-0x9F */ + 0xD5, 0xCD, 0xB1, 0xFB, 0xB1, 0xE9, 0xD5, 0xBA, /* 0xA0-0xA3 */ + 0xD5, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0xEF, /* 0xA4-0xA7 */ + 0xB1, 0xF9, 0xD5, 0xBC, 0xD5, 0xC6, 0xD5, 0xB7, /* 0xA8-0xAB */ + 0xD5, 0xBB, 0xB1, 0xF4, 0xD5, 0xB6, 0xB1, 0xE8, /* 0xAC-0xAF */ + 0xB1, 0xF1, 0xB1, 0xEE, 0xD5, 0xBF, 0xAE, 0xDE, /* 0xB0-0xB3 */ + 0xD9, 0xC0, 0xB1, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xB1, 0xF3, 0x3F, 0x3F, 0xD9, 0xC3, 0xD9, 0xD9, /* 0xC4-0xC7 */ + 0xD9, 0xCE, 0xB4, 0xD6, 0x3F, 0x3F, 0xB4, 0xD1, /* 0xC8-0xCB */ + 0xD9, 0xBD, 0xB4, 0xD2, 0xD9, 0xCD, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xD9, 0xC6, 0xD9, 0xD3, 0xB4, 0xCE, 0xD9, 0xAB, /* 0xD0-0xD3 */ + 0xD9, 0xD5, 0xB4, 0xC4, 0xD9, 0xB3, 0xB4, 0xC7, /* 0xD4-0xD7 */ + 0xB4, 0xC6, 0x3F, 0x3F, 0xB4, 0xD7, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xD9, 0xAD, 0xD9, 0xCF, 0xD9, 0xD0, 0xB4, 0xC9, /* 0xDC-0xDF */ + 0xB4, 0xC5, 0xD9, 0xBB, 0x3F, 0x3F, 0xB4, 0xD0, /* 0xE0-0xE3 */ + 0xD9, 0xB6, 0x3F, 0x3F, 0xD9, 0xD1, 0xB4, 0xCC, /* 0xE4-0xE7 */ + 0xD9, 0xC9, 0xD9, 0xD6, 0xD9, 0xB0, 0xD9, 0xB5, /* 0xE8-0xEB */ + 0xD9, 0xAF, 0x3F, 0x3F, 0xB4, 0xCB, 0xD9, 0xC2, /* 0xEC-0xEF */ + 0xDD, 0xDE, 0xD9, 0xB1, 0xB4, 0xCF, 0xD9, 0xBA, /* 0xF0-0xF3 */ + 0xD9, 0xD2, 0xB4, 0xCA, 0xD9, 0xB7, 0xD9, 0xB4, /* 0xF4-0xF7 */ + 0xD9, 0xC5, 0xB4, 0xCD, 0xB4, 0xC3, 0xB4, 0xD9, /* 0xF8-0xFB */ + 0xD9, 0xC8, 0xD9, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_69[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xD9, 0xAC, 0xB4, 0xC8, 0xD9, 0xD4, 0xD9, 0xBC, /* 0x04-0x07 */ + 0xD9, 0xBE, 0x3F, 0x3F, 0xD9, 0xCB, 0xD9, 0xCA, /* 0x08-0x0B */ + 0xD9, 0xAA, 0xB4, 0xD3, 0xB4, 0xD5, 0xD9, 0xB2, /* 0x0C-0x0F */ + 0xD9, 0xB9, 0xD9, 0xC1, 0xB4, 0xD4, 0xD9, 0xB8, /* 0x10-0x13 */ + 0xD9, 0xC4, 0xD9, 0xD7, 0x3F, 0x3F, 0xD9, 0xCC, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xD9, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xAE, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDD, 0xF2, /* 0x2C-0x2F */ + 0xB7, 0xA6, 0x3F, 0x3F, 0xDD, 0xF0, 0xDD, 0xDB, /* 0x30-0x33 */ + 0xDD, 0xE0, 0xDD, 0xD9, 0x3F, 0x3F, 0xDD, 0xEC, /* 0x34-0x37 */ + 0xDD, 0xCB, 0xDD, 0xD2, 0x3F, 0x3F, 0xDD, 0xEA, /* 0x38-0x3B */ + 0xDD, 0xF4, 0xDD, 0xDC, 0x3F, 0x3F, 0xDD, 0xCF, /* 0x3C-0x3F */ + 0xDD, 0xE2, 0xDD, 0xE7, 0xDD, 0xD3, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xDD, 0xE4, 0xDD, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xDD, 0xD7, 0xDD, 0xD8, 0xB7, 0xA8, 0xDD, 0xEB, /* 0x48-0x4B */ + 0xDD, 0xE9, 0x3F, 0x3F, 0xDD, 0xCC, 0xDD, 0xEE, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xDD, 0xEF, 0xDD, 0xF1, 0xB7, 0xAC, /* 0x50-0x53 */ + 0xB7, 0xA4, 0x3F, 0x3F, 0xD5, 0xB8, 0xDD, 0xD4, /* 0x54-0x57 */ + 0xDD, 0xE6, 0xDD, 0xD5, 0xB7, 0xA1, 0xB7, 0xB1, /* 0x58-0x5B */ + 0xDD, 0xED, 0xB7, 0xAF, 0xB7, 0xAB, 0xDD, 0xCA, /* 0x5C-0x5F */ + 0xB7, 0xA3, 0x3F, 0x3F, 0xDD, 0xCD, 0xB7, 0xB0, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xDD, 0xDD, 0xDD, 0xC9, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xB7, 0xA9, 0xDD, 0xE1, 0xDD, 0xD1, 0xB7, 0xAA, /* 0x68-0x6B */ + 0xDD, 0xDA, 0xB7, 0x7E, 0xB4, 0xD8, 0xDD, 0xE3, /* 0x6C-0x6F */ + 0xD9, 0xBF, 0xDD, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xDD, 0xE8, 0xB7, 0xA5, 0xDD, 0xE5, 0xB7, 0xA2, /* 0x74-0x77 */ + 0xDD, 0xDF, 0xB7, 0xAD, 0xDD, 0xD6, 0xDD, 0xF3, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0xA7, 0xDE, 0xC6, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0xAE, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xE2, 0x4A, 0xE2, 0x48, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xE2, 0x5E, 0xE2, 0x46, 0x3F, 0x3F, 0xE2, 0x58, /* 0x90-0x93 */ + 0xB7, 0x7D, 0xBA, 0x5F, 0xE2, 0x42, 0xE2, 0x5D, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xE2, 0x47, 0xE2, 0x55, 0xBA, 0x64, /* 0x98-0x9B */ + 0xBA, 0x5D, 0x3F, 0x3F, 0xE2, 0x5B, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xE2, 0x40, 0xE2, 0x5A, 0x3F, 0x3F, 0xBA, 0x6F, /* 0xA0-0xA3 */ + 0xE2, 0x51, 0xE2, 0x61, 0xBA, 0x6D, 0xE2, 0x49, /* 0xA4-0xA7 */ + 0xBA, 0x5E, 0xE2, 0x4B, 0xE2, 0x59, 0xBA, 0x67, /* 0xA8-0xAB */ + 0xE2, 0x44, 0xBA, 0x6B, 0xBA, 0x61, 0xE2, 0x4D, /* 0xAC-0xAF */ + 0xE2, 0x43, 0xE1, 0xFC, 0x3F, 0x3F, 0xE2, 0x57, /* 0xB0-0xB3 */ + 0xBA, 0x68, 0xE2, 0x60, 0xE1, 0xFD, 0xBA, 0x65, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xE2, 0x53, 0x3F, 0x3F, 0xBA, 0x66, /* 0xB8-0xBB */ + 0xE2, 0x45, 0xE2, 0x50, 0xE2, 0x4C, 0xE2, 0x4E, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xBA, 0x60, 0xE2, 0x5F, 0xBA, 0x6E, /* 0xC0-0xC3 */ + 0xE2, 0x4F, 0x3F, 0x3F, 0xE2, 0x62, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xE1, 0xFE, 0xE2, 0x54, 0xBA, 0x63, /* 0xC8-0xCB */ + 0xBA, 0x6C, 0xBA, 0x6A, 0xE2, 0x41, 0xE2, 0x56, /* 0xCC-0xCF */ + 0xBA, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, 0xBA, 0x62, /* 0xD0-0xD3 */ + 0xE2, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xE2, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xD5, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xE5, 0xD1, 0xE5, 0xCD, 0xE5, 0xE1, 0xE5, 0xDE, /* 0xE4-0xE7 */ + 0xBC, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xE5, /* 0xE8-0xEB */ + 0xE5, 0xD4, 0xBC, 0xD8, 0xE5, 0xDB, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xE5, 0xD0, 0xE5, 0xDA, 0xBC, 0xD5, /* 0xF0-0xF3 */ + 0xE5, 0xEE, 0x3F, 0x3F, 0xE5, 0xEB, 0xE5, 0xDD, /* 0xF4-0xF7 */ + 0xE5, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, 0xE5, 0xE2, /* 0xF8-0xFB */ + 0xE5, 0xE4, 0xBC, 0xD1, 0xE5, 0xD8, 0xE5, 0xD3, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6A[512] = { + 0xE5, 0xCA, 0xBC, 0xCE, 0xBC, 0xD6, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xE5, 0xE7, 0xBC, 0xD7, 0xE5, 0xCB, 0xE5, 0xED, /* 0x04-0x07 */ + 0xE5, 0xE0, 0xE5, 0xE6, 0xBC, 0xD4, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE5, 0xE3, 0x3F, 0x3F, 0xE5, 0xEA, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xBC, 0xD9, 0x3F, 0x3F, 0xBC, 0xD3, /* 0x10-0x13 */ + 0xE5, 0xDC, 0xE5, 0xCF, 0xE5, 0xEF, 0xE5, 0xCC, /* 0x14-0x17 */ + 0xE5, 0xE8, 0xBC, 0xD0, 0x3F, 0x3F, 0xE5, 0xD6, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xE5, 0xD7, 0xBC, 0xCF, 0xBC, 0xCC, /* 0x1C-0x1F */ + 0xE5, 0xD2, 0xBC, 0xD2, 0x3F, 0x3F, 0xBC, 0xCB, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xE5, 0xE9, 0xE5, 0xEC, 0xE5, 0xD9, /* 0x24-0x27 */ + 0xE9, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xC2, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xE9, 0xBE, 0xBE, 0xF6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xBE, 0xEB, 0xBE, 0xF0, 0xBE, 0xEC, 0xE9, 0xCC, /* 0x38-0x3B */ + 0xE9, 0xD7, 0xBE, 0xEA, 0xE9, 0xC4, 0xE9, 0xCD, /* 0x3C-0x3F */ + 0xE5, 0xDF, 0xE9, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xBE, 0xF1, 0x3F, 0x3F, 0xE9, 0xDD, 0xBE, 0xF5, /* 0x44-0x47 */ + 0xBE, 0xF8, 0xE9, 0xC0, 0x3F, 0x3F, 0xBE, 0xF4, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xE9, 0xDB, 0xE9, 0xDC, 0xE9, 0xD2, /* 0x4C-0x4F */ + 0xE9, 0xD1, 0xE9, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xE9, 0xD3, 0xE9, 0xDA, 0xE9, 0xD9, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xBE, 0xEF, 0xBE, 0xED, 0xE9, 0xCB, 0xE9, 0xC8, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xE9, 0xC5, 0xE9, 0xD8, 0xBE, 0xF7, /* 0x5C-0x5F */ + 0xE9, 0xD6, 0xBE, 0xF3, 0xBE, 0xF2, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xE9, 0xD0, 0x3F, 0x3F, 0xE9, 0xBF, 0xE9, 0xC1, /* 0x64-0x67 */ + 0xE9, 0xC3, 0xE9, 0xD5, 0xE9, 0xCF, 0xBE, 0xEE, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xE9, 0xC6, 0x3F, 0x3F, 0xE9, 0xD4, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xC7, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0xCF, 0xED, 0x45, /* 0x7C-0x7F */ + + 0xC0, 0xC8, 0xEC, 0xF5, 0x3F, 0x3F, 0xED, 0x41, /* 0x80-0x83 */ + 0xC0, 0xCA, 0xED, 0x48, 0x3F, 0x3F, 0xEC, 0xFC, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xEC, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xED, 0x49, 0xEC, 0xF3, 0xEC, 0xFE, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xC0, 0xD1, 0xED, 0x44, 0xED, 0x4A, 0xEC, 0xFD, /* 0x90-0x93 */ + 0xC0, 0xC9, 0xED, 0x40, 0xEC, 0xF4, 0xC0, 0xD0, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0x47, 0xEC, 0xF9, /* 0x98-0x9B */ + 0xC0, 0xCC, 0x3F, 0x3F, 0xEC, 0xFB, 0xEC, 0xF8, /* 0x9C-0x9F */ + 0xC0, 0xD2, 0xEC, 0xFA, 0xC0, 0xCB, 0xC0, 0xCE, /* 0xA0-0xA3 */ + 0xED, 0x43, 0xEC, 0xF6, 0xED, 0x46, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xED, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xC2, 0x63, 0xEF, 0xE7, 0xC2, 0x68, 0xC2, 0x69, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0x62, /* 0xB0-0xB3 */ + 0xEF, 0xE6, 0x3F, 0x3F, 0xEF, 0xE3, 0xEF, 0xE4, /* 0xB4-0xB7 */ + 0xC2, 0x66, 0xEF, 0xDE, 0xEF, 0xE2, 0xC2, 0x65, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xEF, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0x67, 0xC2, 0x64, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xEF, 0xDD, 0xEF, 0xE1, 0xEF, 0xE5, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0x51, /* 0xC8-0xCB */ + 0xF2, 0x4E, 0xF2, 0x57, 0x3F, 0x3F, 0xF2, 0x56, /* 0xCC-0xCF */ + 0xF2, 0x54, 0xF2, 0x4F, 0x3F, 0x3F, 0xC3, 0x72, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xF2, 0x50, 0xC3, 0x71, 0xC0, 0xCD, /* 0xD8-0xDB */ + 0xF2, 0x53, 0xC3, 0x70, 0xF2, 0x58, 0xF2, 0x52, /* 0xDC-0xDF */ + 0xF2, 0x4D, 0xEF, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xC3, 0x6F, 0x3F, 0x3F, 0xF2, 0x4C, /* 0xE4-0xE7 */ + 0xF4, 0x56, 0x3F, 0x3F, 0xF4, 0x55, 0xF2, 0x55, /* 0xE8-0xEB */ + 0xC4, 0x68, 0x3F, 0x3F, 0xF4, 0x59, 0xF4, 0x5A, /* 0xEC-0xEF */ + 0xF4, 0x54, 0xF4, 0x58, 0x3F, 0x3F, 0xF4, 0x53, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xF5, 0xD1, 0xF4, 0x57, 0xC4, 0xE7, 0xC4, 0xE5, /* 0xF8-0xFB */ + 0xF5, 0xCF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6B[512] = { + 0xF5, 0xD2, 0x3F, 0x3F, 0xF5, 0xCE, 0xF5, 0xD0, /* 0x00-0x03 */ + 0xC4, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xF6, 0xE5, 0xF6, 0xE6, 0xC5, 0x76, 0xF6, 0xE4, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xE2, /* 0x0C-0x0F */ + 0xC5, 0xCF, 0xF7, 0xE0, 0xF7, 0xE1, 0xF8, 0xAC, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC6, 0x56, 0xF8, 0xF3, /* 0x14-0x17 */ + 0xF8, 0xF1, 0xF8, 0xF2, 0xF8, 0xF4, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xBB, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xA4, 0xED, 0xA6, 0xB8, 0x3F, 0x3F, 0xAA, 0x59, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xCC, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xCF, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xD1, 0xF5, 0xD1, 0xF7, 0x3F, 0x3F, 0xD1, 0xF6, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xD1, 0xF8, 0xB1, 0xFD, 0xD5, 0xD7, /* 0x30-0x33 */ + 0xD1, 0xF9, 0x3F, 0x3F, 0xD5, 0xD6, 0xD5, 0xD8, /* 0x34-0x37 */ + 0xD5, 0xD9, 0xD9, 0xDA, 0xB4, 0xDB, 0xD9, 0xDB, /* 0x38-0x3B */ + 0xD9, 0xDD, 0xB4, 0xDC, 0xB4, 0xDA, 0xD9, 0xDC, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xDD, 0xFA, 0xDD, 0xF8, 0xDD, 0xF7, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xDD, 0xF6, 0xDD, 0xF5, 0xB7, 0xB2, /* 0x44-0x47 */ + 0xDD, 0xF9, 0xBA, 0x70, 0xE2, 0x63, 0xE2, 0x65, /* 0x48-0x4B */ + 0xBA, 0x71, 0xE2, 0x64, 0xBC, 0xDB, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xBC, 0xDA, 0xE5, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xE9, 0xDF, 0xE9, 0xDE, 0xE9, 0xE0, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xBE, 0xF9, 0x3F, 0x3F, 0xED, 0x4B, /* 0x58-0x5B */ + 0xC0, 0xD3, 0x3F, 0x3F, 0xEF, 0xE8, 0xC2, 0x6A, /* 0x5C-0x5F */ + 0xF2, 0x59, 0xC5, 0x77, 0xA4, 0xEE, 0xA5, 0xBF, /* 0x60-0x63 */ + 0xA6, 0xB9, 0xA8, 0x42, 0xAA, 0x5A, 0xAA, 0x5B, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAC, 0x6E, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xD1, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0xB3, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xD1, 0xBE, 0xFA, /* 0x74-0x77 */ + 0xC2, 0x6B, 0xA4, 0xEF, 0x3F, 0x3F, 0xA6, 0xBA, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xEB, 0xAA, 0x5C, /* 0x7C-0x7F */ + + 0xCC, 0xEA, 0x3F, 0x3F, 0xCF, 0x65, 0xAC, 0x6F, /* 0x80-0x83 */ + 0xCF, 0x66, 0x3F, 0x3F, 0xAC, 0x70, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xD1, 0xFC, 0xAE, 0xEE, 0xAE, 0xED, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xD5, 0xDE, 0xD5, 0xDC, 0xD5, 0xDD, 0xD5, 0xDB, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xD5, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xD9, 0xDE, 0xD9, 0xE1, 0xB4, 0xDE, 0xD9, 0xDF, /* 0x94-0x97 */ + 0xB4, 0xDD, 0xD9, 0xE0, 0x3F, 0x3F, 0xDD, 0xFB, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0x66, 0xE2, 0x67, /* 0x9C-0x9F */ + 0xE2, 0x68, 0x3F, 0x3F, 0xE5, 0xF3, 0xE5, 0xF2, /* 0xA0-0xA3 */ + 0xBC, 0xDC, 0xE5, 0xF1, 0xE5, 0xF4, 0xE9, 0xE1, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xE2, 0xE9, 0xE3, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xED, 0x4C, 0xC0, 0xD4, 0xC2, 0x6C, /* 0xAC-0xAF */ + 0xF2, 0x5A, 0x3F, 0x3F, 0xC4, 0xE8, 0xC9, 0x5F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xAC, 0x71, 0xCF, 0x67, 0xAE, 0xEF, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB1, 0xFE, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xB4, 0xDF, 0xD9, 0xE2, 0x3F, 0x3F, 0xB7, 0xB5, /* 0xBC-0xBF */ + 0xB7, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0x69, /* 0xC0-0xC3 */ + 0xE2, 0x6A, 0xBC, 0xDD, 0xBC, 0xDE, 0xE9, 0xE5, /* 0xC4-0xC7 */ + 0xE9, 0xE4, 0xEF, 0xE9, 0xF7, 0xE3, 0xA4, 0xF0, /* 0xC8-0xCB */ + 0xC9, 0x60, 0xA5, 0xC0, 0x3F, 0x3F, 0xA8, 0x43, /* 0xCC-0xCF */ + 0xCB, 0x48, 0x3F, 0x3F, 0xAC, 0x72, 0xB7, 0xB6, /* 0xD0-0xD3 */ + 0xA4, 0xF1, 0x3F, 0x3F, 0xCF, 0x68, 0xAC, 0x73, /* 0xD4-0xD7 */ + 0xCF, 0x69, 0x3F, 0x3F, 0xC0, 0xD5, 0xA4, 0xF2, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xEC, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xCF, 0x6A, 0x3F, 0x3F, 0xD2, 0x42, 0xD2, 0x41, /* 0xE0-0xE3 */ + 0xD1, 0xFE, 0x3F, 0x3F, 0xD1, 0xFD, 0xD2, 0x43, /* 0xE4-0xE7 */ + 0xD2, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0x40, /* 0xE8-0xEB */ + 0xB2, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, 0xB4, 0xE0, /* 0xEC-0xEF */ + 0xD9, 0xE3, 0x3F, 0x3F, 0xD9, 0xE4, 0xD9, 0xE5, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0x41, /* 0xF4-0xF7 */ + 0xDE, 0x42, 0xDE, 0x40, 0x3F, 0x3F, 0xDD, 0xFD, /* 0xF8-0xFB */ + 0xDD, 0xFE, 0xB7, 0xB7, 0xE2, 0x6B, 0xE5, 0xF7, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6C[512] = { + 0xE5, 0xF6, 0xE5, 0xF5, 0xE5, 0xF8, 0xE9, 0xE7, /* 0x00-0x03 */ + 0xE9, 0xE6, 0xBE, 0xFB, 0xE9, 0xE8, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xC0, 0xD6, 0xED, 0x4D, 0x3F, 0x3F, 0xEF, 0xEA, /* 0x08-0x0B */ + 0xF2, 0x5B, 0xF6, 0xE7, 0x3F, 0x3F, 0xA4, 0xF3, /* 0x0C-0x0F */ + 0xA5, 0xC2, 0xA5, 0xC1, 0x3F, 0x3F, 0xAA, 0x5D, /* 0x10-0x13 */ + 0xC9, 0x61, 0xC9, 0x7E, 0xA6, 0xBB, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xC9, 0xF7, 0xCB, 0x49, 0xCB, 0x4A, 0xAA, 0x5E, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xCC, 0xED, 0x3F, 0x3F, 0xAC, 0x74, /* 0x1C-0x1F */ + 0xCF, 0x6B, 0xCF, 0x6C, 0x3F, 0x3F, 0xAE, 0xF0, /* 0x20-0x23 */ + 0xAE, 0xF4, 0xD2, 0x44, 0xAE, 0xF3, 0xAE, 0xF1, /* 0x24-0x27 */ + 0xAE, 0xF2, 0x3F, 0x3F, 0xD5, 0xDF, 0xB2, 0x42, /* 0x28-0x2B */ + 0xB4, 0xE3, 0x3F, 0x3F, 0xB4, 0xE1, 0xB4, 0xE2, /* 0x2C-0x2F */ + 0xD9, 0xE6, 0x3F, 0x3F, 0x3F, 0x3F, 0xBA, 0x72, /* 0x30-0x33 */ + 0xA4, 0xF4, 0x3F, 0x3F, 0xC9, 0xA1, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xA5, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0xA4, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA5, 0xC6, 0xC9, 0xA3, /* 0x3C-0x3F */ + 0xA5, 0xC5, 0xA5, 0xC4, 0xA8, 0x44, 0xC9, 0xA2, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0xF8, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC9, 0xFC, 0xC9, 0xFE, /* 0x48-0x4B */ + 0xCA, 0x40, 0xA6, 0xC5, 0xA6, 0xC6, 0xC9, 0xFB, /* 0x4C-0x4F */ + 0xA6, 0xC1, 0x3F, 0x3F, 0xC9, 0xF9, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xC9, 0xFD, 0xA6, 0xC2, 0x3F, 0x3F, 0xA6, 0xBD, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xA6, 0xBE, 0x3F, 0x3F, 0xA6, 0xC4, /* 0x58-0x5B */ + 0xC9, 0xFA, 0xA6, 0xBC, 0xA8, 0x45, 0xA6, 0xBF, /* 0x5C-0x5F */ + 0xA6, 0xC0, 0xA6, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xCB, 0x5B, 0xCB, 0x59, 0xCB, 0x4C, /* 0x64-0x67 */ + 0xA8, 0x51, 0xCB, 0x53, 0xA8, 0x4C, 0xCB, 0x4D, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xCB, 0x55, 0x3F, 0x3F, 0xCB, 0x52, /* 0x6C-0x6F */ + 0xA8, 0x4F, 0xCB, 0x51, 0xA8, 0x56, 0xCB, 0x5A, /* 0x70-0x73 */ + 0xA8, 0x58, 0x3F, 0x3F, 0xA8, 0x5A, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xCB, 0x4B, 0x3F, 0x3F, 0xA8, 0x4D, 0xCB, 0x5C, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xA8, 0x54, 0xA8, 0x57, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xCD, 0x45, 0xA8, 0x47, 0xA8, 0x5E, 0xA8, 0x55, /* 0x80-0x83 */ + 0xCB, 0x4E, 0xA8, 0x4A, 0xA8, 0x59, 0xCB, 0x56, /* 0x84-0x87 */ + 0xA8, 0x48, 0xA8, 0x49, 0xCD, 0x43, 0xCB, 0x4F, /* 0x88-0x8B */ + 0xA8, 0x50, 0xA8, 0x5B, 0xCB, 0x5D, 0xCB, 0x50, /* 0x8C-0x8F */ + 0xA8, 0x4E, 0x3F, 0x3F, 0xA8, 0x53, 0xCC, 0xEE, /* 0x90-0x93 */ + 0xA8, 0x5C, 0xCB, 0x57, 0xA8, 0x52, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xA8, 0x5D, 0xA8, 0x46, 0xCB, 0x54, 0xA8, 0x4B, /* 0x98-0x9B */ + 0xCB, 0x58, 0xCD, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAA, 0x6A, /* 0xA8-0xAB */ + 0xAA, 0x7A, 0xCC, 0xF5, 0xAA, 0x71, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xCD, 0x4B, 0xAA, 0x62, 0x3F, 0x3F, 0xAA, 0x65, /* 0xB0-0xB3 */ + 0xCD, 0x42, 0x3F, 0x3F, 0xCC, 0xF3, 0xCC, 0xF7, /* 0xB4-0xB7 */ + 0xAA, 0x6D, 0xAA, 0x6F, 0xCC, 0xFA, 0xAA, 0x76, /* 0xB8-0xBB */ + 0xAA, 0x68, 0xAA, 0x66, 0xAA, 0x67, 0xAA, 0x75, /* 0xBC-0xBF */ + 0xCD, 0x47, 0xAA, 0x70, 0xCC, 0xF9, 0xCC, 0xFB, /* 0xC0-0xC3 */ + 0xAA, 0x6E, 0xAA, 0x73, 0xCC, 0xFC, 0xCD, 0x4A, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xAC, 0x75, 0xAA, 0x79, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xAA, 0x63, 0xCD, 0x49, 0x3F, 0x3F, 0xCD, 0x4D, /* 0xCC-0xCF */ + 0xCC, 0xF8, 0xCD, 0x4F, 0xCD, 0x40, 0xAA, 0x6C, /* 0xD0-0xD3 */ + 0xCC, 0xF4, 0xAA, 0x6B, 0xAA, 0x7D, 0xAA, 0x72, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xCC, 0xF2, 0xCF, 0x75, 0xAA, 0x78, /* 0xD8-0xDB */ + 0xAA, 0x7C, 0xCD, 0x41, 0xCD, 0x46, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xAA, 0x7E, 0xAA, 0x77, 0xAA, 0x69, 0xAA, 0x5F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xAA, 0x64, 0x3F, 0x3F, 0xCC, 0xF6, /* 0xE4-0xE7 */ + 0xAA, 0x60, 0xCD, 0x4E, 0x3F, 0x3F, 0xCC, 0xF0, /* 0xE8-0xEB */ + 0xCC, 0xEF, 0xCC, 0xFD, 0xCC, 0xF1, 0xAA, 0x7B, /* 0xEC-0xEF */ + 0xAE, 0xF5, 0xAA, 0x74, 0xCC, 0xFE, 0xAA, 0x61, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xAC, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xCD, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6D[512] = { + 0xCF, 0x7C, 0xCF, 0xA1, 0x3F, 0x3F, 0xCF, 0xA4, /* 0x00-0x03 */ + 0xCF, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xA7, /* 0x04-0x07 */ + 0xCF, 0xAA, 0xCF, 0xAC, 0xCF, 0x74, 0xAC, 0x76, /* 0x08-0x0B */ + 0xAC, 0x7B, 0xD2, 0x49, 0xAC, 0xAD, 0xCF, 0xA5, /* 0x0C-0x0F */ + 0xCF, 0xAD, 0xCF, 0x7B, 0xCF, 0x73, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0x64, 0xAC, 0x7E, /* 0x14-0x17 */ + 0xCF, 0xA2, 0xCF, 0x78, 0xCF, 0x7A, 0xAC, 0xA5, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xCF, 0x7D, 0xAC, 0x7D, 0xCF, 0x70, /* 0x1C-0x1F */ + 0xCF, 0xA8, 0x3F, 0x3F, 0xCF, 0xAB, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xAC, 0x7A, 0x3F, 0x3F, 0xAC, 0xA8, /* 0x24-0x27 */ + 0xCF, 0x6D, 0xAC, 0xAA, 0xAC, 0x78, 0xAC, 0xAE, /* 0x28-0x2B */ + 0xCF, 0xA9, 0xCF, 0x6F, 0xAC, 0xAB, 0xD2, 0x5E, /* 0x2C-0x2F */ + 0xCD, 0x48, 0xAC, 0x7C, 0xAC, 0x77, 0xCF, 0x76, /* 0x30-0x33 */ + 0xCF, 0x6E, 0xAC, 0xAC, 0xAC, 0xA4, 0xCF, 0xA3, /* 0x34-0x37 */ + 0xAC, 0xA9, 0xAC, 0xA7, 0xCF, 0x79, 0xAC, 0xA1, /* 0x38-0x3B */ + 0xCF, 0x71, 0xAC, 0xA2, 0xAC, 0xA3, 0xCF, 0x72, /* 0x3C-0x3F */ + 0xCF, 0xA6, 0xAC, 0x79, 0xCF, 0x7E, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xD2, 0x4C, 0xAE, 0xFD, 0xAF, 0x43, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0x55, 0xD2, 0x5B, /* 0x5C-0x5F */ + 0xD2, 0x57, 0xD2, 0x4A, 0xD2, 0x4D, 0xD2, 0x46, /* 0x60-0x63 */ + 0xD2, 0x47, 0xAF, 0x4A, 0xAE, 0xFA, 0xD2, 0x56, /* 0x64-0x67 */ + 0xD2, 0x5F, 0xAF, 0x45, 0xAE, 0xF6, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xAF, 0x40, 0xD2, 0x4E, 0xAF, 0x42, 0xD2, 0x4F, /* 0x6C-0x6F */ + 0xD2, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xAF, 0x44, 0xD2, 0x68, 0xD2, 0x48, 0xAE, 0xFC, /* 0x74-0x77 */ + 0xAE, 0xFB, 0xAF, 0x48, 0xD2, 0x45, 0xD2, 0x66, /* 0x78-0x7B */ + 0xD2, 0x5A, 0xD2, 0x67, 0xD2, 0x61, 0xD2, 0x53, /* 0x7C-0x7F */ + + 0xD2, 0x62, 0x3F, 0x3F, 0xD2, 0x5C, 0xD2, 0x65, /* 0x80-0x83 */ + 0xD2, 0x63, 0xAF, 0x49, 0xD2, 0x54, 0xAE, 0xF9, /* 0x84-0x87 */ + 0xAE, 0xF8, 0xAF, 0x41, 0xAF, 0x47, 0xD2, 0x60, /* 0x88-0x8B */ + 0xAF, 0x46, 0xD2, 0x51, 0xB2, 0x43, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xD2, 0x69, 0xD2, 0x50, 0xD2, 0x4B, 0xAE, 0xFE, /* 0x90-0x93 */ + 0xAF, 0x4B, 0xAE, 0xF7, 0x3F, 0x3F, 0xD2, 0x58, /* 0x94-0x97 */ + 0xD2, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0x65, 0xD5, 0xE1, /* 0xA8-0xAB */ + 0xD5, 0xE5, 0x3F, 0x3F, 0xB2, 0x52, 0xB2, 0x50, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0x47, 0xD5, 0xE3, /* 0xB0-0xB3 */ + 0xD5, 0xE2, 0xB2, 0x5B, 0x3F, 0x3F, 0xD5, 0xE8, /* 0xB4-0xB7 */ + 0xB2, 0x55, 0x3F, 0x3F, 0xD5, 0xFA, 0xD6, 0x47, /* 0xB8-0xBB */ + 0xB2, 0x44, 0xD5, 0xF7, 0xD5, 0xF0, 0xB2, 0x67, /* 0xBC-0xBF */ + 0xD5, 0xE0, 0x3F, 0x3F, 0xD5, 0xFC, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xB2, 0x64, 0xB2, 0x58, 0xB2, 0x63, 0xB2, 0x4E, /* 0xC4-0xC7 */ + 0xD5, 0xEC, 0xD5, 0xFE, 0xD5, 0xF6, 0xB2, 0x4F, /* 0xC8-0xCB */ + 0xB2, 0x49, 0xD6, 0x45, 0x3F, 0x3F, 0xD5, 0xFD, /* 0xCC-0xCF */ + 0xD6, 0x40, 0xB2, 0x51, 0xB2, 0x59, 0xD6, 0x42, /* 0xD0-0xD3 */ + 0xD5, 0xEA, 0xD5, 0xFB, 0xD5, 0xEF, 0xD6, 0x44, /* 0xD4-0xD7 */ + 0xB2, 0x5E, 0xB2, 0x46, 0xB2, 0x5C, 0xD5, 0xF4, /* 0xD8-0xDB */ + 0xD5, 0xF2, 0xD5, 0xF3, 0xB2, 0x53, 0xD5, 0xEE, /* 0xDC-0xDF */ + 0xD5, 0xED, 0xB2, 0x48, 0xD5, 0xE7, 0xD6, 0x46, /* 0xE0-0xE3 */ + 0xB2, 0x4A, 0xD5, 0xF1, 0xB2, 0x68, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xB2, 0x62, 0xD5, 0xE6, 0xB2, 0x5F, 0xB2, 0x5D, /* 0xE8-0xEB */ + 0xB2, 0x66, 0xD5, 0xF8, 0xB2, 0x61, 0xD2, 0x52, /* 0xEC-0xEF */ + 0xD5, 0xF9, 0xB2, 0x60, 0xD6, 0x41, 0xB2, 0x45, /* 0xF0-0xF3 */ + 0xD5, 0xF5, 0xB2, 0x57, 0xD5, 0xE9, 0xB2, 0x56, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xB2, 0x54, 0xB2, 0x4C, 0xB2, 0x4B, /* 0xF8-0xFB */ + 0xD9, 0xE7, 0xD6, 0x43, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6E[512] = { + 0xD5, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xFC, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xB2, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xB5, 0x41, 0xB2, 0x5A, 0xB4, 0xEE, /* 0x18-0x1B */ + 0xD9, 0xF6, 0xB4, 0xFC, 0x3F, 0x3F, 0xD9, 0xEA, /* 0x1C-0x1F */ + 0xB4, 0xEB, 0xB4, 0xE7, 0xDA, 0x49, 0xB4, 0xED, /* 0x20-0x23 */ + 0xB4, 0xF1, 0xB4, 0xEC, 0xB4, 0xF5, 0xDA, 0x4D, /* 0x24-0x27 */ + 0xDA, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, 0xD9, 0xF1, /* 0x28-0x2B */ + 0xB4, 0xFA, 0xB4, 0xF4, 0xD9, 0xFD, 0xB4, 0xE4, /* 0x2C-0x2F */ + 0xDA, 0x4A, 0xDA, 0x43, 0xB4, 0xE8, 0xD9, 0xF7, /* 0x30-0x33 */ + 0xB4, 0xF7, 0xDA, 0x55, 0xDA, 0x56, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xB4, 0xE5, 0xDA, 0x48, 0xB4, 0xF9, 0xD9, 0xFB, /* 0x38-0x3B */ + 0xD9, 0xED, 0xD9, 0xEE, 0xB4, 0xFD, 0xD9, 0xF2, /* 0x3C-0x3F */ + 0xD9, 0xF9, 0xD9, 0xF3, 0x3F, 0x3F, 0xB4, 0xFB, /* 0x40-0x43 */ + 0xB5, 0x44, 0xD9, 0xEF, 0xD9, 0xE8, 0xD9, 0xE9, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xD9, 0xEB, 0xB4, 0xEA, 0xD9, 0xF8, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xB4, 0xF8, 0xB5, 0x42, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xD9, 0xFA, 0xDA, 0x53, 0xDA, 0x4B, /* 0x50-0x53 */ + 0xB4, 0xE6, 0xDA, 0x51, 0xB4, 0xF2, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xB4, 0xF0, 0x3F, 0x3F, 0xDA, 0x57, 0xB4, 0xEF, /* 0x58-0x5B */ + 0xDA, 0x41, 0xD9, 0xF4, 0xD9, 0xFE, 0xB5, 0x47, /* 0x5C-0x5F */ + 0xDA, 0x45, 0xDA, 0x42, 0xD9, 0xF0, 0xB5, 0x43, /* 0x60-0x63 */ + 0xDA, 0x4F, 0xDA, 0x4C, 0xDA, 0x54, 0xB4, 0xE9, /* 0x64-0x67 */ + 0xDA, 0x40, 0xB5, 0x46, 0x3F, 0x3F, 0xDA, 0x47, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB4, 0xF3, 0xB4, 0xF6, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xDA, 0x46, 0xB5, 0x45, 0xD9, 0xF5, /* 0x70-0x73 */ + 0xD5, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0x50, /* 0x74-0x77 */ + 0xDA, 0x4E, 0xDA, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xD9, 0xEC, 0xB5, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xDE, 0x61, 0xDE, 0x60, 0xDE, 0x46, /* 0x8C-0x8F */ + 0xB7, 0xBD, 0x3F, 0x3F, 0xDE, 0x5F, 0xDE, 0x49, /* 0x90-0x93 */ + 0xDE, 0x4A, 0x3F, 0x3F, 0xB7, 0xC7, 0xDE, 0x68, /* 0x94-0x97 */ + 0xB7, 0xC2, 0xDE, 0x5E, 0x3F, 0x3F, 0xDE, 0x43, /* 0x98-0x9B */ + 0xB7, 0xC8, 0xB7, 0xBE, 0xDE, 0x52, 0xDE, 0x48, /* 0x9C-0x9F */ + 0xDE, 0x4B, 0xDE, 0x63, 0xB7, 0xB8, 0xDE, 0x6A, /* 0xA0-0xA3 */ + 0xDE, 0x62, 0xB7, 0xC1, 0xDE, 0x57, 0xB7, 0xCC, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0xCB, 0xB7, 0xC5, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0x69, 0xB7, 0xB9, /* 0xAC-0xAF */ + 0xDE, 0x55, 0xDE, 0x4C, 0xDE, 0x59, 0xDE, 0x65, /* 0xB0-0xB3 */ + 0xB7, 0xCD, 0x3F, 0x3F, 0xB7, 0xBB, 0xDE, 0x54, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xDE, 0x4D, 0xB7, 0xC4, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xB7, 0xC3, 0xDE, 0x50, 0xDE, 0x5A, 0xDE, 0x64, /* 0xBC-0xBF */ + 0xDE, 0x47, 0xDE, 0x51, 0xB7, 0xBC, 0xDE, 0x5B, /* 0xC0-0xC3 */ + 0xB7, 0xC9, 0xB7, 0xC0, 0xDE, 0x4E, 0xB7, 0xBF, /* 0xC4-0xC7 */ + 0xDE, 0x45, 0xDE, 0x53, 0xDE, 0x67, 0xB4, 0xFE, /* 0xC8-0xCB */ + 0xBA, 0xB0, 0xDE, 0x56, 0xE2, 0x6C, 0xDE, 0x58, /* 0xCC-0xCF */ + 0xDE, 0x66, 0xB7, 0xC6, 0xDE, 0x4F, 0xB7, 0xBA, /* 0xD0-0xD3 */ + 0xB7, 0xCA, 0xBC, 0xF0, 0xDE, 0x44, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xDE, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xDE, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xAA, /* 0xE8-0xEB */ + 0xBA, 0xAD, 0xE2, 0x7D, 0xE2, 0xA4, 0xBA, 0xA2, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xE2, 0x6E, 0xBA, 0xAF, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xBA, 0x77, 0xE2, 0x6D, 0xE2, 0xB0, 0xBA, 0xB1, /* 0xF4-0xF7 */ + 0xE2, 0x71, 0xE2, 0xA3, 0x3F, 0x3F, 0xE2, 0x73, /* 0xF8-0xFB */ + 0xE2, 0xB3, 0xE2, 0xAF, 0xBA, 0x75, 0xBA, 0xA1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_6F[512] = { + 0xE6, 0x53, 0xBA, 0xAE, 0xBA, 0x7D, 0xE2, 0x6F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xE2, 0xAE, 0xBA, 0xA3, 0xE2, 0xAB, /* 0x04-0x07 */ + 0xE2, 0xB8, 0xE2, 0x75, 0xE2, 0x7E, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE2, 0xB6, 0xE2, 0xAC, 0xBA, 0x7C, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0x7C, 0xBA, 0x76, /* 0x10-0x13 */ + 0xBA, 0x74, 0xBA, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xE2, 0x7A, 0xE2, 0x77, 0xE2, 0x78, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xE2, 0xB2, 0x3F, 0x3F, 0xE2, 0xB7, 0xE2, 0xB5, /* 0x1C-0x1F */ + 0xBA, 0x7A, 0xE2, 0xB9, 0xBA, 0x7E, 0xBA, 0xA7, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xE2, 0x70, 0xE5, 0xFA, 0xE2, 0x79, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xBA, 0x78, 0xBA, 0xAC, 0xBA, 0xA9, /* 0x28-0x2B */ + 0xBA, 0x7B, 0xE2, 0xA5, 0xE2, 0x74, 0xBA, 0xAA, /* 0x2C-0x2F */ + 0xE2, 0xA7, 0xBA, 0xA4, 0xBA, 0xA6, 0xBA, 0x73, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xE2, 0xA9, 0xE2, 0xA1, 0xE2, 0x72, /* 0x34-0x37 */ + 0xBA, 0xA5, 0xE2, 0xB1, 0xE2, 0xB4, 0xE2, 0x7B, /* 0x38-0x3B */ + 0xE2, 0xA8, 0x3F, 0x3F, 0xBA, 0x79, 0xBC, 0xDF, /* 0x3C-0x3F */ + 0xE2, 0xA6, 0xE5, 0xF9, 0x3F, 0x3F, 0xE2, 0xAD, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0x76, 0xE6, 0x44, /* 0x4C-0x4F */ + 0xE6, 0x4E, 0xBC, 0xE2, 0xE6, 0x4D, 0xE6, 0x59, /* 0x50-0x53 */ + 0xBC, 0xE4, 0xE6, 0x4B, 0x3F, 0x3F, 0xE6, 0x4F, /* 0x54-0x57 */ + 0xBC, 0xEF, 0x3F, 0x3F, 0xE6, 0x46, 0xBC, 0xE7, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xE6, 0x52, 0xE9, 0xF0, 0xBC, 0xF3, /* 0x5C-0x5F */ + 0xBC, 0xF2, 0xE6, 0x54, 0xE6, 0x43, 0xE6, 0x5E, /* 0x60-0x63 */ + 0xBC, 0xED, 0x3F, 0x3F, 0xBC, 0xE3, 0xE6, 0x57, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xE6, 0x5B, 0xE6, 0x60, 0xE6, 0x55, /* 0x68-0x6B */ + 0xE6, 0x49, 0xBC, 0xE6, 0xBC, 0xE9, 0xBC, 0xF1, /* 0x6C-0x6F */ + 0xBC, 0xEC, 0x3F, 0x3F, 0xE6, 0x4C, 0xE2, 0xA2, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0x48, 0xE6, 0x5F, /* 0x74-0x77 */ + 0xBC, 0xE8, 0x3F, 0x3F, 0xBC, 0xEB, 0xE6, 0x61, /* 0x78-0x7B */ + 0xBC, 0xE0, 0xE6, 0x56, 0xE5, 0xFB, 0xE6, 0x5C, /* 0x7C-0x7F */ + + 0xC0, 0xDF, 0x3F, 0x3F, 0xE6, 0x4A, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xBC, 0xE1, 0xE6, 0x45, 0xBC, 0xE5, 0xE5, 0xFC, /* 0x84-0x87 */ + 0xBA, 0xAB, 0xE6, 0x41, 0x3F, 0x3F, 0xE6, 0x5A, /* 0x88-0x8B */ + 0xE6, 0x42, 0xE6, 0x40, 0xBC, 0xEA, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xE6, 0x58, 0x3F, 0x3F, 0xE5, 0xFE, 0xE6, 0x51, /* 0x90-0x93 */ + 0xE6, 0x50, 0xE6, 0x5D, 0xE6, 0x47, 0xBC, 0xEE, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE9, 0xF3, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xBF, 0x49, 0xBE, 0xFE, 0xEA, 0x40, 0xE9, 0xEB, /* 0xA0-0xA3 */ + 0xBF, 0x41, 0xE9, 0xF7, 0xBF, 0x48, 0xBF, 0x43, /* 0xA4-0xA7 */ + 0xE9, 0xF5, 0xED, 0x4F, 0xE9, 0xFB, 0xEA, 0x42, /* 0xA8-0xAB */ + 0xE9, 0xFA, 0xE9, 0xE9, 0xE9, 0xF8, 0xEA, 0x44, /* 0xAC-0xAF */ + 0xEA, 0x46, 0xBE, 0xFD, 0xEA, 0x45, 0xBF, 0x44, /* 0xB0-0xB3 */ + 0xBF, 0x4A, 0x3F, 0x3F, 0xBF, 0x47, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xE9, 0xFE, 0xBF, 0x46, 0xE9, 0xF9, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xE9, 0xED, 0xE9, 0xF2, 0x3F, 0x3F, 0xE9, 0xFD, /* 0xBC-0xBF */ + 0xBF, 0x45, 0xBF, 0x42, 0xBE, 0xFC, 0xBF, 0x40, /* 0xC0-0xC3 */ + 0xE9, 0xF1, 0x3F, 0x3F, 0xE5, 0xFD, 0xE9, 0xEC, /* 0xC4-0xC7 */ + 0xE9, 0xEF, 0xEA, 0x41, 0xE9, 0xF4, 0xE9, 0xEA, /* 0xC8-0xCB */ + 0xED, 0x4E, 0xEA, 0x43, 0xE9, 0xEE, 0xE9, 0xFC, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xED, 0x51, 0xC0, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xC0, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0xDB, /* 0xD8-0xDB */ + 0xED, 0x53, 0xED, 0x59, 0xED, 0x57, 0xC0, 0xD9, /* 0xDC-0xDF */ + 0xC0, 0xDA, 0xC0, 0xE1, 0xED, 0x5A, 0xED, 0x52, /* 0xE0-0xE3 */ + 0xC0, 0xDC, 0x3F, 0x3F, 0xED, 0x56, 0xED, 0x55, /* 0xE4-0xE7 */ + 0xED, 0x5B, 0xC0, 0xE2, 0x3F, 0x3F, 0xC0, 0xDD, /* 0xE8-0xEB */ + 0xC0, 0xE0, 0xED, 0x54, 0xC0, 0xE4, 0xC0, 0xDE, /* 0xEC-0xEF */ + 0xC0, 0xE5, 0xC0, 0xD8, 0xED, 0x58, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xED, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0xF7, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0x71, 0xEF, 0xF4, /* 0xF8-0xFB */ + 0xEF, 0xF6, 0x3F, 0x3F, 0xC2, 0x6F, 0xEF, 0xF2, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_70[512] = { + 0xEF, 0xF3, 0xEF, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xE9, 0xF6, 0xEF, 0xEF, 0xC2, 0x70, 0xEF, 0xEB, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xC2, 0x6D, 0xEF, 0xF8, 0xC2, 0x6E, /* 0x08-0x0B */ + 0xEF, 0xEC, 0xEF, 0xED, 0xEF, 0xF1, 0xC2, 0x73, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xC2, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xEF, 0xF0, 0xC3, 0x78, 0xF2, 0x5F, 0xF2, 0x65, /* 0x14-0x17 */ + 0xC3, 0x79, 0xF2, 0x5C, 0xC3, 0x76, 0xC3, 0x73, /* 0x18-0x1B */ + 0xF2, 0x67, 0xC3, 0x77, 0x3F, 0x3F, 0xC3, 0x74, /* 0x1C-0x1F */ + 0xF2, 0x5E, 0xF2, 0x61, 0xF2, 0x62, 0xF2, 0x63, /* 0x20-0x23 */ + 0xF2, 0x66, 0x3F, 0x3F, 0xEF, 0xF5, 0xF2, 0x5D, /* 0x24-0x27 */ + 0xC3, 0x75, 0xF2, 0x64, 0xF2, 0x68, 0xF2, 0x60, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0x5D, /* 0x2C-0x2F */ + 0xC4, 0x6A, 0xF4, 0x60, 0xC4, 0x6B, 0xF4, 0x68, /* 0x30-0x33 */ + 0xF4, 0x5F, 0xF4, 0x5C, 0x3F, 0x3F, 0xF4, 0x5E, /* 0x34-0x37 */ + 0xF4, 0x62, 0xF4, 0x65, 0xF4, 0x64, 0xF4, 0x67, /* 0x38-0x3B */ + 0xF4, 0x5B, 0x3F, 0x3F, 0xC4, 0x69, 0xF4, 0x63, /* 0x3C-0x3F */ + 0xF4, 0x66, 0xF4, 0x69, 0xF4, 0x61, 0xF5, 0xD3, /* 0x40-0x43 */ + 0xF5, 0xD4, 0xF5, 0xD8, 0xF5, 0xD9, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xF5, 0xD6, 0xF5, 0xD7, 0xF5, 0xD5, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xC4, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xC5, 0x78, 0xF6, 0xEB, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xF6, 0xE8, 0xF6, 0xE9, 0xF6, 0xEA, /* 0x54-0x57 */ + 0xC5, 0x79, 0x3F, 0x3F, 0xF7, 0xE5, 0xF7, 0xE4, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xF8, 0xAF, 0xC5, 0xF4, 0xF8, 0xAD, /* 0x5C-0x5F */ + 0xF8, 0xB0, 0xF8, 0xAE, 0xF8, 0xF5, 0xC6, 0x57, /* 0x60-0x63 */ + 0xC6, 0x65, 0xF9, 0xA3, 0xF9, 0x6C, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xF9, 0xA2, 0xF9, 0xD0, 0xF9, 0xD1, 0xA4, 0xF5, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xA6, 0xC7, 0xCA, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xCB, 0x5E, 0x3F, 0x3F, 0xA8, 0x5F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xA8, 0x62, 0x3F, 0x3F, 0xCB, 0x5F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xA8, 0x60, 0xA8, 0x61, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0x58, 0xCD, 0x5A, /* 0x80-0x83 */ + 0xCD, 0x55, 0xCD, 0x52, 0xCD, 0x54, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAA, 0xA4, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAA, 0xA2, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xCD, 0x56, 0xAA, 0xA3, 0xCD, 0x53, /* 0x90-0x93 */ + 0xCD, 0x50, 0xAA, 0xA1, 0xCD, 0x57, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xCD, 0x51, 0xAA, 0xA5, 0xCD, 0x59, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xAF, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xCF, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xAC, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xCF, 0xB6, 0x3F, 0x3F, 0xAC, 0xAF, /* 0xA8-0xAB */ + 0xAC, 0xB2, 0xAC, 0xB4, 0xAC, 0xB6, 0xAC, 0xB3, /* 0xAC-0xAF */ + 0xCF, 0xB2, 0xCF, 0xB1, 0x3F, 0x3F, 0xAC, 0xB1, /* 0xB0-0xB3 */ + 0xCF, 0xB4, 0xCF, 0xB5, 0x3F, 0x3F, 0xCF, 0xAE, /* 0xB4-0xB7 */ + 0xAC, 0xB5, 0x3F, 0x3F, 0xAC, 0xB0, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xB0, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xD2, 0x77, 0xD2, 0x78, 0xD2, 0x79, /* 0xC4-0xC7 */ + 0xAF, 0x50, 0x3F, 0x3F, 0xAF, 0x4C, 0xD2, 0x6E, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xD2, 0x76, 0xD2, 0x7B, 0xAF, 0x51, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xD2, 0x6C, 0xD2, 0x72, 0xD2, 0x6B, /* 0xD0-0xD3 */ + 0xD2, 0x75, 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0x71, /* 0xD4-0xD7 */ + 0xAF, 0x4D, 0xAF, 0x4F, 0xD2, 0x7A, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xD2, 0x6A, 0xD2, 0x6D, 0xD2, 0x73, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xD2, 0x74, 0xD2, 0x7C, 0xD2, 0x70, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xAF, 0x4E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0x6D, /* 0xEC-0xEF */ + 0xD6, 0x4E, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0x50, /* 0xF0-0xF3 */ + 0xD6, 0x4C, 0x3F, 0x3F, 0xD6, 0x58, 0xD6, 0x4A, /* 0xF4-0xF7 */ + 0xD6, 0x57, 0xB2, 0x69, 0xD6, 0x48, 0xDA, 0x5B, /* 0xF8-0xFB */ + 0xD6, 0x52, 0xB2, 0x6C, 0x3F, 0x3F, 0xD6, 0x53, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_71[512] = { + 0xD6, 0x56, 0x3F, 0x3F, 0xD6, 0x5A, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xD6, 0x4F, 0x3F, 0x3F, 0xD6, 0x54, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xB2, 0x6A, 0xB2, 0x6B, 0xD6, 0x59, /* 0x08-0x0B */ + 0xD6, 0x4D, 0xD6, 0x49, 0xD6, 0x5B, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xD6, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0x55, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0x4B, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xB5, 0x48, 0xB5, 0x49, 0xDA, 0x65, /* 0x18-0x1B */ + 0xB5, 0x4F, 0x3F, 0x3F, 0xDA, 0x59, 0xDA, 0x62, /* 0x1C-0x1F */ + 0xDA, 0x58, 0xB5, 0x4C, 0xDA, 0x60, 0xDA, 0x5E, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xDA, 0x5F, 0xB5, 0x4A, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xDA, 0x63, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0x5C, 0xDA, 0x5A, /* 0x2C-0x2F */ + 0xB5, 0x4B, 0xDA, 0x5D, 0xDA, 0x61, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB5, 0x4D, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0x64, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xDE, 0x70, 0xDE, 0x77, 0xDE, 0x79, /* 0x40-0x43 */ + 0xDE, 0xA1, 0x3F, 0x3F, 0xB7, 0xDA, 0xDE, 0x6B, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xB7, 0xD2, 0x3F, 0x3F, 0xDE, 0x7A, /* 0x48-0x4B */ + 0xB7, 0xD7, 0xDE, 0xA2, 0xB7, 0xCE, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xDE, 0x7D, 0x3F, 0x3F, 0xDE, 0x6D, 0xDE, 0x7E, /* 0x50-0x53 */ + 0xDE, 0x6C, 0x3F, 0x3F, 0xB7, 0xDC, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xDE, 0x78, 0xB7, 0xCF, 0xDE, 0xA3, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xB7, 0xD4, 0xDE, 0x71, 0xB7, 0xD9, 0xDE, 0x7C, /* 0x5C-0x5F */ + 0xDE, 0x6F, 0xDE, 0x76, 0xDE, 0x72, 0xDE, 0x6E, /* 0x60-0x63 */ + 0xB7, 0xD1, 0xB7, 0xD8, 0xB7, 0xD6, 0xB7, 0xD3, /* 0x64-0x67 */ + 0xB7, 0xDB, 0xB7, 0xD0, 0xDE, 0x75, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xB7, 0xD5, 0x3F, 0x3F, 0xB5, 0x4E, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xDE, 0x7B, 0x3F, 0x3F, 0xDE, 0x73, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xDE, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xC1, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xBA, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xE2, 0xBD, 0xE2, 0xC3, 0xE2, 0xBF, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xBA, 0xB6, 0xE2, 0xBE, 0xE2, 0xC2, 0xE2, 0xBA, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xE2, 0xBC, 0xBA, 0xB5, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xC0, /* 0x8C-0x8F */ + 0xE2, 0xBB, 0x3F, 0x3F, 0xBA, 0xB7, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xBA, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xC4, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xBA, 0xB3, 0xE6, 0x67, 0xE6, 0x64, /* 0x98-0x9B */ + 0xE6, 0x70, 0xE6, 0x6A, 0xE6, 0x6C, 0xBC, 0xF4, /* 0x9C-0x9F */ + 0xE6, 0x66, 0xE6, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xE6, 0x6D, 0xE6, 0x6B, 0x3F, 0x3F, 0xE6, 0x71, /* 0xA4-0xA7 */ + 0xBC, 0xF7, 0xE6, 0x68, 0xE6, 0x6F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xBC, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0x63, /* 0xAC-0xAF */ + 0xE6, 0x65, 0xBC, 0xF6, 0xE6, 0x62, 0xE6, 0x72, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xE6, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xEA, 0x4A, 0xBF, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xEA, 0x55, 0xEA, 0x53, 0xBF, 0x4B, 0xEA, 0x49, /* 0xBC-0xBF */ + 0xEA, 0x4C, 0xEA, 0x4D, 0xEA, 0x48, 0xBF, 0x55, /* 0xC0-0xC3 */ + 0xBF, 0x56, 0xEA, 0x47, 0xEA, 0x56, 0xEA, 0x51, /* 0xC4-0xC7 */ + 0xBF, 0x4F, 0xBF, 0x4C, 0xEA, 0x50, 0xEA, 0x4E, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBF, 0x52, 0xEA, 0x52, /* 0xCC-0xCF */ + 0xBF, 0x4D, 0x3F, 0x3F, 0xBF, 0x4E, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xEA, 0x4F, 0xBF, 0x50, 0xEA, 0x4B, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xEA, 0x54, 0xBF, 0x53, 0xEA, 0x57, 0xEA, 0x58, /* 0xD8-0xDB */ + 0xBF, 0x54, 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0xE7, /* 0xDC-0xDF */ + 0xC0, 0xEE, 0xED, 0x5C, 0xED, 0x62, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xED, 0x60, 0xC0, 0xEA, 0xC0, 0xE9, 0xC0, 0xE6, /* 0xE4-0xE7 */ + 0xED, 0x5E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xC0, 0xEC, 0xC0, 0xEB, 0xC0, 0xE8, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xED, 0x61, 0xED, 0x5D, 0xED, 0x5F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xC0, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xC2, 0x77, 0xEF, 0xFB, 0x3F, 0x3F, 0xC2, 0x74, /* 0xF8-0xFB */ + 0xC2, 0x75, 0xEF, 0xFD, 0xC2, 0x76, 0xEF, 0xFA, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_72[512] = { + 0x3F, 0x3F, 0xEF, 0xF9, 0xF2, 0x6C, 0xEF, 0xFC, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xF2, 0x6D, 0xC3, 0x7A, 0xF2, 0x6B, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0x6A, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xF2, 0x69, 0xC3, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xC4, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0x6A, /* 0x10-0x13 */ + 0xF4, 0x6B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xF5, 0xDC, 0xF5, 0xDB, 0xC4, 0xEA, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xF5, 0xDA, 0xF6, 0xEC, 0xF6, 0xED, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0xE6, 0xF8, 0xB1, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xF6, 0xF9, 0xBC, /* 0x24-0x27 */ + 0xC6, 0x79, 0xF9, 0xC6, 0xA4, 0xF6, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xAA, 0xA6, 0xAA, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xAC, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xC0, 0xEF, 0xA4, 0xF7, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xAA, 0xA8, 0xAF, 0x52, 0xB7, 0xDD, 0xA4, 0xF8, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xB2, 0x6E, 0xBA, 0xB8, 0xC9, 0x62, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xCF, 0xB7, 0xD2, 0x7D, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xE2, 0xC5, 0x3F, 0x3F, 0xC0, 0xF0, 0xA4, 0xF9, /* 0x44-0x47 */ + 0xAA, 0xA9, 0xCF, 0xB8, 0xCF, 0xB9, 0xDA, 0x66, /* 0x48-0x4B */ + 0xB5, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xA4, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0xDE, 0xE2, 0xC6, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBC, 0xF8, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xC3, 0x7C, 0xA4, 0xFA, 0xDA, 0x67, 0xA4, 0xFB, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xA6, 0xC9, 0xCA, 0x42, 0xA6, 0xC8, /* 0x5C-0x5F */ + 0xA8, 0x65, 0xA8, 0x64, 0xA8, 0x63, 0xCB, 0x60, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAA, 0xAA, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xAA, 0xAB, 0xCD, 0x5B, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xCF, 0xBA, 0x3F, 0x3F, 0xCF, 0xBD, 0xAC, 0xBA, /* 0x6C-0x6F */ + 0xCF, 0xBB, 0x3F, 0x3F, 0xAC, 0xB9, 0xCF, 0xBC, /* 0x70-0x73 */ + 0xAC, 0xBB, 0x3F, 0x3F, 0xD2, 0xA2, 0xD2, 0xA1, /* 0x74-0x77 */ + 0xD2, 0x7E, 0xAF, 0x53, 0x3F, 0x3F, 0xD6, 0x5D, /* 0x78-0x7B */ + 0xD6, 0x5E, 0xB2, 0x6F, 0xD6, 0x5C, 0xD6, 0x5F, /* 0x7C-0x7F */ + + 0xB5, 0x52, 0xB2, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xB5, 0x51, 0xDA, 0x6B, 0xDA, 0x6A, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xDA, 0x68, 0xDA, 0x69, 0x3F, 0x3F, 0xDA, 0x6C, /* 0x88-0x8B */ + 0xDE, 0xA6, 0xDE, 0xA5, 0xDE, 0xA9, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xDE, 0xA8, 0xDE, 0xA7, 0xBA, 0xB9, 0xE2, 0xC9, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xE2, 0xC8, 0xBA, 0xBA, 0xE2, 0xC7, /* 0x94-0x97 */ + 0xE6, 0x73, 0x3F, 0x3F, 0xE6, 0x74, 0xBC, 0xF9, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xEA, 0x59, 0xEA, 0x5A, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xF2, 0x72, 0xC3, 0x7D, 0xF2, 0x71, /* 0xA0-0xA3 */ + 0xF2, 0x70, 0xF2, 0x6E, 0xF2, 0x6F, 0xC4, 0xEB, /* 0xA4-0xA7 */ + 0xF4, 0x6C, 0xF6, 0xEE, 0xF8, 0xF7, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xA4, 0xFC, 0x3F, 0x3F, 0xC9, 0xA5, 0xA5, 0xC7, /* 0xAC-0xAF */ + 0xC9, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xCA, 0x43, 0xCA, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0x66, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xCB, 0x62, 0x3F, 0x3F, 0xCB, 0x61, /* 0xBC-0xBF */ + 0xAA, 0xAC, 0xCB, 0x65, 0xA8, 0x67, 0xCB, 0x63, /* 0xC0-0xC3 */ + 0xA8, 0x66, 0xCB, 0x67, 0xCB, 0x64, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xCD, 0x5F, 0xCF, 0xBE, 0xCD, 0x5D, /* 0xC8-0xCB */ + 0xCD, 0x64, 0x3F, 0x3F, 0xAA, 0xAD, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xAA, 0xB0, 0xCD, 0x65, 0xCD, 0x61, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xCD, 0x62, 0x3F, 0x3F, 0xCD, 0x5C, 0xAA, 0xAF, /* 0xD4-0xD7 */ + 0xCD, 0x5E, 0xAA, 0xAE, 0xCD, 0x63, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xCD, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xC2, /* 0xDC-0xDF */ + 0xAC, 0xBD, 0xAC, 0xBE, 0x3F, 0x3F, 0xCF, 0xC5, /* 0xE0-0xE3 */ + 0xCF, 0xBF, 0x3F, 0x3F, 0xCF, 0xC4, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xCF, 0xC0, 0xAC, 0xBC, 0xCF, 0xC3, 0xCF, 0xC1, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xA8, /* 0xF0-0xF3 */ + 0xD2, 0xA5, 0x3F, 0x3F, 0xD2, 0xA7, 0xAF, 0x58, /* 0xF4-0xF7 */ + 0xAF, 0x57, 0xAF, 0x55, 0xD2, 0xA4, 0xD2, 0xA9, /* 0xF8-0xFB */ + 0xAF, 0x54, 0xAF, 0x56, 0xD2, 0xA6, 0xD6, 0x67, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_73[512] = { + 0xD2, 0xA3, 0xD2, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0x62, /* 0x04-0x07 */ + 0xD6, 0x66, 0x3F, 0x3F, 0xD6, 0x65, 0xDA, 0x6E, /* 0x08-0x0B */ + 0xDA, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0x68, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xD6, 0x63, 0xDA, 0x6D, 0xB2, 0x74, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0x73, 0xD6, 0x61, /* 0x14-0x17 */ + 0xD6, 0x64, 0xB2, 0x75, 0x3F, 0x3F, 0xB2, 0x72, /* 0x18-0x1B */ + 0xB2, 0x71, 0xD6, 0x60, 0xD6, 0x69, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0x70, 0xDA, 0x77, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xB5, 0x54, 0xDA, 0x76, 0xDA, 0x73, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xB5, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xDA, 0x75, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xDA, 0x6F, 0xDA, 0x71, 0xDA, 0x74, 0xDA, 0x72, /* 0x30-0x33 */ + 0xB5, 0x55, 0xDA, 0x78, 0xB5, 0x53, 0xB7, 0xDF, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xAD, 0xDE, 0xAC, /* 0x38-0x3B */ + 0xDE, 0xAA, 0x3F, 0x3F, 0xB7, 0xE2, 0xB7, 0xE1, /* 0x3C-0x3F */ + 0xDE, 0xAE, 0x3F, 0x3F, 0xDE, 0xAB, 0xE2, 0xCA, /* 0x40-0x43 */ + 0xBA, 0xBB, 0xB7, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xDE, 0xB0, 0xDE, 0xAF, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xE2, 0xCD, 0xE2, 0xCB, 0xBC, 0xFA, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xBA, 0xBC, 0xE2, 0xCC, 0xE6, 0x76, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xBC, 0xFB, /* 0x54-0x57 */ + 0xE6, 0x75, 0xE6, 0x7E, 0xE6, 0x7D, 0xE6, 0x7B, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xE6, 0x7A, 0xE6, 0x77, 0xE6, 0x78, /* 0x5C-0x5F */ + 0xE6, 0x79, 0xE6, 0x7C, 0xE6, 0xA1, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xEA, 0x5F, 0xEA, 0x5C, 0xEA, 0x5D, /* 0x64-0x67 */ + 0xBF, 0x57, 0xEA, 0x5B, 0xEA, 0x61, 0xEA, 0x60, /* 0x68-0x6B */ + 0xEA, 0x5E, 0x3F, 0x3F, 0xED, 0x64, 0xED, 0x65, /* 0x6C-0x6F */ + 0xC0, 0xF1, 0x3F, 0x3F, 0xC0, 0xF2, 0xED, 0x63, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xC2, 0x79, 0xEF, 0xFE, 0xC2, 0x78, /* 0x74-0x77 */ + 0xC3, 0x7E, 0x3F, 0x3F, 0xC3, 0xA1, 0xC4, 0x6D, /* 0x78-0x7B */ + 0xF4, 0x6E, 0xF4, 0x6D, 0xF5, 0xDD, 0xF6, 0xEF, /* 0x7C-0x7F */ + + 0xC5, 0x7A, 0xF7, 0xE8, 0xF7, 0xE7, 0xF7, 0xE9, /* 0x80-0x83 */ + 0xA5, 0xC8, 0xCF, 0xC6, 0xAF, 0x59, 0xB2, 0x76, /* 0x84-0x87 */ + 0xD6, 0x6A, 0xA5, 0xC9, 0xC9, 0xA7, 0xA4, 0xFD, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCA, 0x45, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0x6C, 0xCB, 0x6A, /* 0x90-0x93 */ + 0xCB, 0x6B, 0xCB, 0x68, 0xA8, 0x68, 0xCB, 0x69, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xCD, 0x6D, 0x3F, 0x3F, 0xAA, 0xB3, /* 0x9C-0x9F */ + 0xCD, 0x6B, 0xCD, 0x67, 0xCD, 0x6A, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xCD, 0x66, 0xAA, 0xB5, 0xCD, 0x69, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xAA, 0xB2, 0xAA, 0xB1, 0x3F, 0x3F, 0xAA, 0xB4, /* 0xA8-0xAB */ + 0xCD, 0x6C, 0xCD, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAC, 0xC2, 0xAC, 0xC5, /* 0xB0-0xB3 */ + 0xCF, 0xCE, 0xCF, 0xCD, 0xCF, 0xCC, 0xAC, 0xBF, /* 0xB4-0xB7 */ + 0xCF, 0xD5, 0xCF, 0xCB, 0x3F, 0x3F, 0xAC, 0xC1, /* 0xB8-0xBB */ + 0xD2, 0xAF, 0x3F, 0x3F, 0xCF, 0xD2, 0xCF, 0xD0, /* 0xBC-0xBF */ + 0xAC, 0xC4, 0x3F, 0x3F, 0xCF, 0xC8, 0xCF, 0xD3, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xCF, 0xCA, 0xCF, 0xD4, 0xCF, 0xD1, /* 0xC4-0xC7 */ + 0xCF, 0xC9, 0x3F, 0x3F, 0xAC, 0xC0, 0xCF, 0xD6, /* 0xC8-0xCB */ + 0xCF, 0xC7, 0xAC, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xB4, 0xD2, 0xAB, /* 0xD0-0xD3 */ + 0xD2, 0xB6, 0x3F, 0x3F, 0xD2, 0xAE, 0xD2, 0xB9, /* 0xD4-0xD7 */ + 0xD2, 0xBA, 0xD2, 0xAC, 0xD2, 0xB8, 0xD2, 0xB5, /* 0xD8-0xDB */ + 0xD2, 0xB3, 0xD2, 0xB7, 0xAF, 0x5F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xAF, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xB1, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xD2, 0xAD, 0x3F, 0x3F, 0xD2, 0xB0, /* 0xE4-0xE7 */ + 0xD2, 0xBB, 0xD2, 0xB2, 0xAF, 0x5E, 0xCF, 0xCF, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xAF, 0x5A, 0xAF, 0x5C, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xD6, 0x78, 0xD6, 0x6D, 0xD6, 0x6B, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xD6, 0x6C, 0x3F, 0x3F, 0xD6, 0x73, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xD6, 0x74, 0xD6, 0x70, 0xB2, 0x7B, 0xD6, 0x75, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_74[512] = { + 0xD6, 0x72, 0xD6, 0x6F, 0x3F, 0x3F, 0xB2, 0x79, /* 0x00-0x03 */ + 0xD6, 0x6E, 0xB2, 0x77, 0xB2, 0x7A, 0xD6, 0x71, /* 0x04-0x07 */ + 0xD6, 0x79, 0xAF, 0x5B, 0xB2, 0x78, 0xD6, 0x77, /* 0x08-0x0B */ + 0xD6, 0x76, 0xB2, 0x7C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0x7E, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xA1, 0xB5, 0x60, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xDA, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xDA, 0xA9, 0xDA, 0xA2, 0xB5, 0x5A, 0xDA, 0xA6, /* 0x20-0x23 */ + 0xDA, 0xA5, 0xB5, 0x5B, 0xB5, 0x61, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xB5, 0x62, 0xDA, 0xA8, 0xB5, 0x58, 0xDA, 0x7D, /* 0x28-0x2B */ + 0xDA, 0x7B, 0xDA, 0xA3, 0xDA, 0x7A, 0xB5, 0x5F, /* 0x2C-0x2F */ + 0xDA, 0x7C, 0xDA, 0xA4, 0xDA, 0xAA, 0xB5, 0x59, /* 0x30-0x33 */ + 0xB5, 0x5E, 0xB5, 0x5C, 0xB5, 0x5D, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB5, 0x57, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0xE9, /* 0x3C-0x3F */ + 0xDE, 0xB7, 0xB7, 0xE8, 0xDE, 0xBB, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xDE, 0xB1, 0x3F, 0x3F, 0xDE, 0xBC, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xB2, 0xDE, 0xB3, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xDE, 0xBD, 0xDE, 0xBA, 0xDE, 0xB8, /* 0x4C-0x4F */ + 0xDE, 0xB9, 0xDE, 0xB5, 0xDE, 0xB4, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xDE, 0xBE, 0xB7, 0xE5, 0x3F, 0x3F, 0xDE, 0xB6, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xB7, 0xEA, 0xB7, 0xE4, 0xB7, 0xEB, /* 0x58-0x5B */ + 0xB7, 0xEC, 0x3F, 0x3F, 0xB7, 0xE7, 0xB7, 0xE6, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xCE, 0xBA, 0xBE, /* 0x60-0x63 */ + 0xBA, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xD3, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xBC, 0xFC, 0xBA, 0xBF, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xBA, 0xC1, 0xE2, 0xD4, 0xB7, 0xE3, /* 0x6C-0x6F */ + 0xBA, 0xC0, 0xE2, 0xD0, 0xE2, 0xD2, 0xE2, 0xCF, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xE2, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xE6, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xE6, 0xAA, 0xE6, 0xA7, 0xBD, 0x40, 0xEA, 0x62, /* 0x7C-0x7F */ + + 0xBD, 0x41, 0xE6, 0xA6, 0x3F, 0x3F, 0xBC, 0xFE, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xE6, 0xA8, 0xE6, 0xA5, 0xE6, 0xA2, /* 0x84-0x87 */ + 0xE6, 0xA9, 0xE6, 0xA3, 0xE6, 0xA4, 0xBC, 0xFD, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xED, 0x69, 0x3F, 0x3F, 0xEA, 0x66, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xEA, 0x65, 0xEA, 0x67, 0x3F, 0x3F, 0xED, 0x66, /* 0x94-0x97 */ + 0xBF, 0x5A, 0x3F, 0x3F, 0xEA, 0x63, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xBF, 0x58, 0x3F, 0x3F, 0xBF, 0x5C, 0xBF, 0x5B, /* 0x9C-0x9F */ + 0xEA, 0x64, 0xEA, 0x68, 0x3F, 0x3F, 0xBF, 0x59, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xED, 0x6D, 0xC0, 0xF5, 0xC2, 0x7A, /* 0xA4-0xA7 */ + 0xC0, 0xF6, 0xC0, 0xF3, 0xED, 0x6A, 0xED, 0x68, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xED, 0x6B, 0x3F, 0x3F, 0xED, 0x6E, /* 0xAC-0xAF */ + 0xC0, 0xF4, 0xED, 0x6C, 0xED, 0x67, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xF0, 0x42, 0xF0, 0x45, 0xF2, 0x75, /* 0xB4-0xB7 */ + 0xF0, 0x40, 0x3F, 0x3F, 0xF4, 0x6F, 0xF0, 0x46, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xC3, 0xA2, 0xF0, 0x44, 0xC2, 0x7B, /* 0xBC-0xBF */ + 0xF0, 0x41, 0xF0, 0x43, 0xF0, 0x47, 0xF2, 0x76, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xF2, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC3, 0xA3, 0xF2, 0x73, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC4, 0x6E, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xC4, 0xED, 0xF6, 0xF1, 0xC4, 0xEC, 0xF6, 0xF3, /* 0xD4-0xD7 */ + 0xF6, 0xF0, 0xF6, 0xF2, 0xC5, 0xD0, 0xF8, 0xB2, /* 0xD8-0xDB */ + 0xA5, 0xCA, 0xCD, 0x6E, 0xD2, 0xBC, 0xD2, 0xBD, /* 0xDC-0xDF */ + 0xB2, 0x7D, 0xDE, 0xBF, 0xBF, 0x5D, 0xC3, 0xA4, /* 0xE0-0xE3 */ + 0xC5, 0x7B, 0xF8, 0xB3, 0xA5, 0xCB, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xCD, 0x6F, 0xA2, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xCF, 0xD7, 0x3F, 0x3F, 0xCF, 0xD8, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xD2, 0xBE, 0xD2, 0xBF, 0xB2, 0x7E, 0xB2, 0xA1, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xAB, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xDE, 0xC2, 0xDE, 0xC1, 0xDE, 0xC0, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_75[512] = { + 0xE2, 0xD5, 0x3F, 0x3F, 0xE2, 0xD6, 0xE2, 0xD7, /* 0x00-0x03 */ + 0xBA, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xAD, /* 0x04-0x07 */ + 0xE6, 0xAC, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x69, /* 0x08-0x0B */ + 0xBF, 0x5E, 0xBF, 0x5F, 0x3F, 0x3F, 0xED, 0x72, /* 0x0C-0x0F */ + 0xED, 0x6F, 0xED, 0x70, 0xED, 0x71, 0xF0, 0x49, /* 0x10-0x13 */ + 0xF0, 0x48, 0xC2, 0x7C, 0xF2, 0x77, 0xF5, 0xDE, /* 0x14-0x17 */ + 0xA5, 0xCC, 0x3F, 0x3F, 0xAC, 0xC6, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xB2, 0xA2, 0xDE, 0xC3, 0x3F, 0x3F, 0xA5, 0xCD, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xD2, 0xC0, 0xB2, 0xA3, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xB5, 0x63, 0xB5, 0x64, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xA5, 0xCE, 0xA5, 0xCF, 0xCA, 0x46, 0xA8, 0x6A, /* 0x28-0x2B */ + 0xA8, 0x69, 0xAC, 0xC7, 0xCF, 0xD9, 0xDA, 0xAC, /* 0x2C-0x2F */ + 0xA5, 0xD0, 0xA5, 0xD1, 0xA5, 0xD2, 0xA5, 0xD3, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0x6B, /* 0x34-0x37 */ + 0xA8, 0x6C, 0xCB, 0x6E, 0xCB, 0x6D, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xAA, 0xB6, 0xCD, 0x72, 0xCD, 0x70, /* 0x3C-0x3F */ + 0xCD, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xDA, /* 0x44-0x47 */ + 0xCF, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, 0xAC, 0xCB, /* 0x48-0x4B */ + 0xAC, 0xC9, 0x3F, 0x3F, 0xAC, 0xCA, 0xAC, 0xC8, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xAF, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xAF, 0x64, 0xAF, 0x63, 0xD2, 0xC1, /* 0x58-0x5B */ + 0xAF, 0x62, 0xAF, 0x61, 0x3F, 0x3F, 0xD2, 0xC2, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0xA6, 0xD6, 0x7B, /* 0x60-0x63 */ + 0xD6, 0x7A, 0xB2, 0xA4, 0xB2, 0xA5, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB5, 0x66, 0xB5, 0x65, /* 0x68-0x6B */ + 0xDA, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xAD, /* 0x6C-0x6F */ + 0xB2, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB7, 0xED, 0xDE, 0xC5, /* 0x74-0x77 */ + 0xB7, 0xEE, 0xDE, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xE2, 0xD8, 0xE6, 0xAE, 0xBD, 0x42, /* 0x7C-0x7F */ + + 0xEA, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xED, 0x73, 0x3F, 0x3F, 0xC3, 0xA6, 0xC3, 0xA5, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC5, 0x7C, 0xA5, 0xD4, /* 0x88-0x8B */ + 0xCD, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0xA8, /* 0x8C-0x8F */ + 0xE2, 0xD9, 0xBA, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xCB, 0x6F, 0xCB, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xCD, 0x74, 0xAA, 0xB8, 0xAA, 0xB9, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xAA, 0xB7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAC, 0xCF, 0xAC, 0xD0, /* 0xA0-0xA3 */ + 0xAC, 0xCD, 0xAC, 0xCE, 0x3F, 0x3F, 0xCF, 0xDC, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xDD, 0xAC, 0xCC, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xD2, 0xC3, 0x3F, 0x3F, 0xAF, 0x68, 0xAF, 0x69, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xB2, 0xAB, 0xD2, 0xC9, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xAF, 0x6E, 0xAF, 0x6C, 0xD2, 0xCA, 0xD2, 0xC5, /* 0xB8-0xBB */ + 0xAF, 0x6B, 0xAF, 0x6A, 0xAF, 0x65, 0xD2, 0xC8, /* 0xBC-0xBF */ + 0xD2, 0xC7, 0xD2, 0xC4, 0xAF, 0x6D, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xD2, 0xC6, 0xAF, 0x66, 0x3F, 0x3F, 0xAF, 0x67, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0xAC, 0xD6, 0xA1, /* 0xC8-0xCB */ + 0xD6, 0xA2, 0xB2, 0xAD, 0xD6, 0x7C, 0xD6, 0x7E, /* 0xCC-0xCF */ + 0xD6, 0xA4, 0xD6, 0xA3, 0xD6, 0x7D, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xB2, 0xA9, 0xB2, 0xAA, 0x3F, 0x3F, 0xDA, 0xB6, /* 0xD4-0xD7 */ + 0xB5, 0x6B, 0xB5, 0x6A, 0xDA, 0xB0, 0xB5, 0x68, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xDA, 0xB3, 0xB5, 0x6C, 0xDA, 0xB4, /* 0xDC-0xDF */ + 0xB5, 0x6D, 0xDA, 0xB1, 0xB5, 0x67, 0xB5, 0x69, /* 0xE0-0xE3 */ + 0xDA, 0xB5, 0x3F, 0x3F, 0xDA, 0xB2, 0xDA, 0xAF, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xDE, 0xD2, 0x3F, 0x3F, 0xDE, 0xC7, /* 0xEC-0xEF */ + 0xB7, 0xF0, 0xB7, 0xF3, 0xB7, 0xF2, 0xB7, 0xF7, /* 0xF0-0xF3 */ + 0xB7, 0xF6, 0xDE, 0xD3, 0xDE, 0xD1, 0xDE, 0xCA, /* 0xF4-0xF7 */ + 0xDE, 0xCE, 0xDE, 0xCD, 0xB7, 0xF4, 0xDE, 0xD0, /* 0xF8-0xFB */ + 0xDE, 0xCC, 0xDE, 0xD4, 0xDE, 0xCB, 0xB7, 0xF5, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_76[512] = { + 0xB7, 0xEF, 0xB7, 0xF1, 0x3F, 0x3F, 0xDE, 0xC9, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xE2, 0xDB, 0xBA, 0xC7, 0xE2, 0xDF, 0xBA, 0xC6, /* 0x08-0x0B */ + 0xE2, 0xDC, 0xBA, 0xC5, 0x3F, 0x3F, 0xDE, 0xC8, /* 0x0C-0x0F */ + 0xDE, 0xCF, 0xE2, 0xDE, 0x3F, 0x3F, 0xBA, 0xC8, /* 0x10-0x13 */ + 0xE2, 0xE0, 0xE2, 0xDD, 0xE2, 0xDA, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xE6, 0xB1, 0xE6, 0xB5, 0xE6, 0xB7, /* 0x18-0x1B */ + 0xE6, 0xB3, 0xE6, 0xB2, 0xE6, 0xB0, 0xBD, 0x45, /* 0x1C-0x1F */ + 0xBD, 0x43, 0xBD, 0x48, 0xBD, 0x49, 0xE6, 0xB4, /* 0x20-0x23 */ + 0xBD, 0x46, 0xE6, 0xAF, 0xBD, 0x47, 0xBA, 0xC4, /* 0x24-0x27 */ + 0xE6, 0xB6, 0xBD, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xEA, 0x6C, 0x3F, 0x3F, 0xEA, 0x6B, /* 0x2C-0x2F */ + 0xEA, 0x73, 0xEA, 0x6D, 0xEA, 0x72, 0xEA, 0x6F, /* 0x30-0x33 */ + 0xBF, 0x60, 0xEA, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xBF, 0x61, 0x3F, 0x3F, 0xBF, 0x62, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xEA, 0x70, 0xEA, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0xF8, 0xED, 0x74, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0xF7, 0xED, 0x77, /* 0x44-0x47 */ + 0xED, 0x75, 0xED, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xC0, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xF0, 0x4D, 0x3F, 0x3F, 0xC2, 0xA1, 0xF0, 0x4E, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0x7D, 0xF0, 0x4F, /* 0x54-0x57 */ + 0xC2, 0x7E, 0xF0, 0x4C, 0xF0, 0x50, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xF0, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, 0xC3, 0xA7, /* 0x5C-0x5F */ + 0xF2, 0x78, 0xC3, 0xA8, 0xC4, 0x6F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xF0, 0x4B, 0xC4, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xC4, 0xEE, 0xF5, 0xDF, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xC5, 0x7E, 0xF6, 0xF4, 0xC5, 0x7D, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xF7, 0xEA, 0xC5, 0xF5, 0xC5, 0xF6, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xF9, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xAC, 0xD1, 0xCF, 0xDE, 0x3F, 0x3F, 0xB5, 0x6E, /* 0x78-0x7B */ + 0xB5, 0x6F, 0xA5, 0xD5, 0xA6, 0xCA, 0xCA, 0x47, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xCB, 0x71, 0xA8, 0x6D, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xAA, 0xBA, 0x3F, 0x3F, 0xAC, 0xD2, 0xAC, 0xD3, /* 0x84-0x87 */ + 0xAC, 0xD4, 0xD6, 0xA6, 0xD2, 0xCB, 0xAF, 0x6F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0xAE, 0xD6, 0xA5, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xB8, 0xB5, 0x71, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xDA, 0xB7, 0xB5, 0x70, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xDE, 0xD5, 0xBD, 0x4A, 0xE6, 0xBB, /* 0x98-0x9B */ + 0xE6, 0xB8, 0xE6, 0xB9, 0xE6, 0xBA, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xED, 0x78, 0x3F, 0x3F, 0xF0, 0x51, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0x71, 0xF4, 0x70, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xF6, 0xF5, 0xA5, 0xD6, 0xCD, 0x75, /* 0xAC-0xAF */ + 0xAF, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xB5, 0x72, 0xDE, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xE2, 0xE1, 0x3F, 0x3F, 0xBD, 0x4B, 0xEA, 0x74, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xF0, 0x52, 0xF4, 0x72, 0xA5, 0xD7, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAA, 0xBB, 0xAC, 0xD7, /* 0xC0-0xC3 */ + 0xCF, 0xDF, 0xAC, 0xD8, 0xAC, 0xD6, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xAC, 0xD5, 0xD2, 0xCC, 0xAF, 0x71, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xAF, 0x72, 0xAF, 0x73, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0xB0, 0xD6, 0xA7, /* 0xD0-0xD3 */ + 0xB2, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xB9, 0xB2, 0xB1, /* 0xD8-0xDB */ + 0xB5, 0x73, 0xDE, 0xD7, 0xB7, 0xF8, 0xB7, 0xF9, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xBA, 0xC9, 0x3F, 0x3F, 0xBA, 0xCA, /* 0xE0-0xE3 */ + 0xBD, 0x4C, 0xBF, 0x64, 0xEA, 0x75, 0xBF, 0x63, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xED, 0x79, 0xC0, 0xFA, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xF0, 0x53, 0xF4, 0x73, 0xA5, 0xD8, 0xA8, 0x6E, /* 0xEC-0xEF */ + 0xCD, 0x78, 0xCD, 0x77, 0xAA, 0xBC, 0xCD, 0x76, /* 0xF0-0xF3 */ + 0xAA, 0xBD, 0xCD, 0x79, 0x3F, 0x3F, 0xCF, 0xE5, /* 0xF4-0xF7 */ + 0xAC, 0xDB, 0xAC, 0xDA, 0xCF, 0xE7, 0xCF, 0xE6, /* 0xF8-0xFB */ + 0xAC, 0xDF, 0x3F, 0x3F, 0xAC, 0xDE, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_77[512] = { + 0x3F, 0x3F, 0xAC, 0xD9, 0x3F, 0x3F, 0xCF, 0xE1, /* 0x00-0x03 */ + 0xCF, 0xE2, 0xCF, 0xE3, 0x3F, 0x3F, 0xAC, 0xE0, /* 0x04-0x07 */ + 0xCF, 0xE0, 0xAC, 0xDC, 0xCF, 0xE4, 0xAC, 0xDD, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xD2, 0xCF, 0xD2, 0xD3, 0xD2, 0xD1, 0xD2, 0xD0, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xD2, 0xD4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xD2, 0xD5, 0xD2, 0xD6, 0xD2, 0xCE, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xD2, 0xCD, 0x3F, 0x3F, 0xAF, 0x75, /* 0x1C-0x1F */ + 0xAF, 0x76, 0x3F, 0x3F, 0xD2, 0xD7, 0xD2, 0xD2, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xD6, 0xB0, 0x3F, 0x3F, 0xD2, 0xD8, /* 0x24-0x27 */ + 0xAF, 0x77, 0xAF, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xD6, 0xAA, 0x3F, 0x3F, 0xD6, 0xA9, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xD6, 0xAB, 0xD6, 0xAC, 0xD6, 0xAE, /* 0x30-0x33 */ + 0xD6, 0xAD, 0xD6, 0xB2, 0xB2, 0xB5, 0xB2, 0xB2, /* 0x34-0x37 */ + 0xB2, 0xB6, 0xD6, 0xA8, 0xB2, 0xB7, 0xD6, 0xB1, /* 0x38-0x3B */ + 0xB2, 0xB4, 0xD6, 0xAF, 0xB2, 0xB3, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xDA, 0xBC, 0xDA, 0xBE, 0xDA, 0xBA, 0xDA, 0xBB, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xBF, 0xDA, 0xC1, /* 0x48-0x4B */ + 0xDA, 0xC2, 0xDA, 0xBD, 0xDA, 0xC0, 0xB5, 0x74, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDE, 0xDB, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xDE, 0xE0, 0xDE, 0xD8, 0xDE, 0xDC, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xDE, 0xE1, 0xDE, 0xDD, 0xB7, 0xFA, /* 0x58-0x5B */ + 0xB8, 0x43, 0x3F, 0x3F, 0xB7, 0xFD, 0xDE, 0xD9, /* 0x5C-0x5F */ + 0xDE, 0xDA, 0xBA, 0xCE, 0xB8, 0x46, 0xB7, 0xFE, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xB8, 0x44, 0xB7, 0xFC, 0xDE, 0xDF, /* 0x64-0x67 */ + 0xB8, 0x45, 0xDE, 0xDE, 0xB8, 0x41, 0xB7, 0xFB, /* 0x68-0x6B */ + 0xB8, 0x42, 0xDE, 0xE2, 0xE2, 0xE6, 0xE2, 0xE8, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xB8, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xE2, 0xE3, 0xBA, 0xCC, 0xE2, 0xE9, 0xBA, 0xCD, /* 0x7C-0x7F */ + + 0xE2, 0xE7, 0xE2, 0xE2, 0xE2, 0xE5, 0xE2, 0xEA, /* 0x80-0x83 */ + 0xBA, 0xCB, 0xE2, 0xE4, 0x3F, 0x3F, 0xBD, 0x4E, /* 0x84-0x87 */ + 0xE6, 0xBF, 0xE6, 0xBE, 0x3F, 0x3F, 0xBD, 0x51, /* 0x88-0x8B */ + 0xBD, 0x4F, 0xE6, 0xBC, 0xBD, 0x4D, 0xE6, 0xBD, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xBD, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xEA, 0x7D, 0x3F, 0x3F, 0xEA, 0xA1, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xEA, 0x7E, 0xEA, 0x76, 0xEA, 0x7A, /* 0x98-0x9B */ + 0xEA, 0x79, 0xEA, 0x77, 0xBF, 0x66, 0xBF, 0x67, /* 0x9C-0x9F */ + 0xBF, 0x65, 0xEA, 0x78, 0xEA, 0x7B, 0xEA, 0x7C, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xBF, 0x68, 0x3F, 0x3F, 0xC1, 0x40, /* 0xA4-0xA7 */ + 0xED, 0xA3, 0x3F, 0x3F, 0xC0, 0xFC, 0xED, 0x7B, /* 0xA8-0xAB */ + 0xC0, 0xFE, 0xC1, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xC0, 0xFD, 0xED, 0xA2, 0xED, 0x7C, 0xC0, 0xFB, /* 0xB0-0xB3 */ + 0xED, 0xA1, 0xED, 0x7A, 0xED, 0x7E, 0xED, 0x7D, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0x55, 0xC2, 0xA4, /* 0xB8-0xBB */ + 0xC2, 0xA5, 0xC2, 0xA2, 0x3F, 0x3F, 0xC2, 0xA3, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0x54, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xF2, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0xC3, 0xA9, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xF2, 0x79, 0xF2, 0x7A, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xF4, 0x74, 0xF4, 0x77, 0xF4, 0x75, 0xF4, 0x76, /* 0xCC-0xCF */ + 0xF5, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, 0xC4, 0xEF, /* 0xD0-0xD3 */ + 0xF7, 0xEB, 0xF8, 0xB4, 0x3F, 0x3F, 0xC5, 0xF7, /* 0xD4-0xD7 */ + 0xF8, 0xF8, 0xF8, 0xF9, 0xC6, 0x66, 0xA5, 0xD9, /* 0xD8-0xDB */ + 0xAC, 0xE1, 0x3F, 0x3F, 0xDA, 0xC3, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xDE, 0xE3, 0x3F, 0x3F, 0xA5, 0xDA, 0xA8, 0x6F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xAA, 0xBE, 0x3F, 0x3F, 0xCF, 0xE8, /* 0xE4-0xE7 */ + 0xCF, 0xE9, 0xAF, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xDA, 0xC4, 0xB5, 0x75, 0xB8, 0x47, 0xC1, 0x42, /* 0xEC-0xEF */ + 0xED, 0xA4, 0xF2, 0x7C, 0xF4, 0x78, 0xA5, 0xDB, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xA1, /* 0xF4-0xF7 */ + 0xCD, 0x7A, 0xCD, 0x7C, 0xCD, 0x7E, 0xCD, 0x7D, /* 0xF8-0xFB */ + 0xCD, 0x7B, 0xAA, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_78[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0xAC, 0xE2, 0xCF, 0xF2, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xCF, 0xED, 0xCF, 0xEA, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xCF, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xAC, 0xE4, 0xAC, 0xE5, 0xCF, 0xF0, 0xCF, 0xEF, /* 0x0C-0x0F */ + 0xCF, 0xEE, 0xCF, 0xEB, 0xCF, 0xEC, 0xCF, 0xF3, /* 0x10-0x13 */ + 0xAC, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xAF, 0x7C, 0x3F, 0x3F, 0xAF, 0xA4, /* 0x1C-0x1F */ + 0xAF, 0xA3, 0xD2, 0xE1, 0xD2, 0xDB, 0xD2, 0xD9, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xAF, 0xA1, 0xD6, 0xB9, 0xAF, 0x7A, /* 0x24-0x27 */ + 0xD2, 0xDE, 0xD2, 0xE2, 0xD2, 0xE4, 0xD2, 0xE0, /* 0x28-0x2B */ + 0xD2, 0xDA, 0xAF, 0xA2, 0xD2, 0xDF, 0xD2, 0xDD, /* 0x2C-0x2F */ + 0xAF, 0x79, 0xD2, 0xE5, 0xAF, 0xA5, 0xD2, 0xE3, /* 0x30-0x33 */ + 0xAF, 0x7D, 0xD2, 0xDC, 0x3F, 0x3F, 0xAF, 0x7E, /* 0x34-0x37 */ + 0xAF, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0xB9, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xD6, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xD6, 0xB3, 0xD6, 0xB5, 0xD6, 0xB7, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xD6, 0xB8, 0xD6, 0xB6, 0xB2, 0xBA, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xD6, 0xBB, 0x3F, 0x3F, 0xD6, 0xB4, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xDA, 0xC8, 0xB5, 0x76, 0xDA, 0xD0, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xDA, 0xC5, 0x3F, 0x3F, 0xDA, 0xD1, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xDA, 0xC6, 0xDA, 0xC7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xDA, 0xCF, 0xDA, 0xCE, 0xDA, 0xCB, 0xB2, 0xB8, /* 0x68-0x6B */ + 0xB5, 0x77, 0xDA, 0xC9, 0xDA, 0xCC, 0xB5, 0x78, /* 0x6C-0x6F */ + 0xDA, 0xCD, 0xDA, 0xCA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xDE, 0xEE, 0x3F, 0x3F, 0xDE, 0xF2, /* 0x78-0x7B */ + 0xB8, 0x4E, 0x3F, 0x3F, 0xE2, 0xF0, 0xB8, 0x51, /* 0x7C-0x7F */ + + 0xDE, 0xF0, 0xF9, 0xD6, 0x3F, 0x3F, 0xDE, 0xED, /* 0x80-0x83 */ + 0xDE, 0xE8, 0xDE, 0xEA, 0xDE, 0xEB, 0xDE, 0xE4, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xB8, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xB8, 0x4C, 0x3F, 0x3F, 0xB8, 0x48, 0xDE, 0xE7, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xB8, 0x4F, 0x3F, 0x3F, 0xB8, 0x50, /* 0x90-0x93 */ + 0xDE, 0xE6, 0xDE, 0xE9, 0xDE, 0xF1, 0xB8, 0x4A, /* 0x94-0x97 */ + 0xB8, 0x4B, 0xDE, 0xEF, 0xDE, 0xE5, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE2, 0xF2, 0xBA, 0xD0, /* 0x9C-0x9F */ + 0xE2, 0xF4, 0xDE, 0xEC, 0xE2, 0xF6, 0xBA, 0xD4, /* 0xA0-0xA3 */ + 0xE2, 0xF7, 0xE2, 0xF3, 0x3F, 0x3F, 0xBA, 0xD1, /* 0xA4-0xA7 */ + 0xE2, 0xEF, 0xBA, 0xD3, 0xE2, 0xEC, 0xE2, 0xF1, /* 0xA8-0xAB */ + 0xE2, 0xF5, 0xE2, 0xEE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xB8, 0x49, 0x3F, 0x3F, 0xE2, 0xEB, 0xBA, 0xD2, /* 0xB0-0xB3 */ + 0xE2, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBD, 0x54, 0xE6, 0xC1, /* 0xB8-0xBB */ + 0xBD, 0x58, 0x3F, 0x3F, 0xBD, 0x56, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xBA, 0xCF, 0x3F, 0x3F, 0xE6, 0xC8, /* 0xC0-0xC3 */ + 0xE6, 0xC9, 0xBD, 0x53, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xE6, 0xC7, 0xE6, 0xCA, 0xBD, 0x55, 0xBD, 0x52, /* 0xC8-0xCB */ + 0xE6, 0xC3, 0xE6, 0xC0, 0xE6, 0xC5, 0xE6, 0xC2, /* 0xCC-0xCF */ + 0xBD, 0x59, 0xE6, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xE6, 0xC6, 0xBD, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBF, 0x6A, 0xEA, 0xA8, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xEA, 0xA2, 0xEA, 0xA6, 0xEA, 0xAC, /* 0xDC-0xDF */ + 0xEA, 0xAD, 0xEA, 0xA9, 0xEA, 0xAA, 0xEA, 0xA7, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xEA, 0xA4, 0x3F, 0x3F, 0xBF, 0x6C, /* 0xE4-0xE7 */ + 0xBF, 0x69, 0xEA, 0xA3, 0xEA, 0xA5, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xBF, 0x6B, 0xEA, 0xAB, 0x3F, 0x3F, 0xC1, 0x46, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xAA, 0xED, 0xA5, /* 0xF0-0xF3 */ + 0xC1, 0x45, 0x3F, 0x3F, 0x3F, 0x3F, 0xC1, 0x43, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xED, 0xAC, 0xC1, 0x44, 0xED, 0xA8, /* 0xF8-0xFB */ + 0xED, 0xA9, 0xED, 0xA6, 0xED, 0xAD, 0xF0, 0x56, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_79[512] = { + 0x3F, 0x3F, 0xC1, 0x47, 0xED, 0xA7, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xED, 0xAE, 0xED, 0xAB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF0, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xF0, 0x57, 0x3F, 0x3F, 0xC2, 0xA6, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xF0, 0x5B, 0xF0, 0x5D, 0xF0, 0x5C, 0xF0, 0x58, /* 0x10-0x13 */ + 0xF0, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xA3, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xC3, 0xAA, 0x3F, 0x3F, 0xF2, 0x7E, /* 0x18-0x1B */ + 0xF2, 0xA2, 0xF2, 0x7D, 0xF2, 0xA4, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xF2, 0xA1, 0x3F, 0x3F, 0xF4, 0x7A, /* 0x20-0x23 */ + 0xF4, 0x7D, 0xF4, 0x79, 0xC4, 0x71, 0xF4, 0x7B, /* 0x24-0x27 */ + 0xF4, 0x7C, 0xF4, 0x7E, 0xC4, 0x72, 0xC4, 0x74, /* 0x28-0x2B */ + 0xC4, 0x73, 0xF5, 0xE1, 0x3F, 0x3F, 0xF5, 0xE3, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xF5, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xF6, 0xF6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xF8, 0xB5, 0xF8, 0xFA, 0xA5, 0xDC, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xCB, 0x72, 0xAA, 0xC0, 0xCD, 0xA3, /* 0x3C-0x3F */ + 0xAA, 0xC1, 0xAA, 0xC2, 0xCD, 0xA2, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xCF, 0xF8, 0xCF, 0xF7, 0xAC, 0xE6, 0xAC, 0xE9, /* 0x44-0x47 */ + 0xAC, 0xE8, 0xAC, 0xE7, 0xCF, 0xF4, 0xCF, 0xF6, /* 0x48-0x4B */ + 0xCF, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, 0xD2, 0xE8, /* 0x4C-0x4F */ + 0xAF, 0xA7, 0xD2, 0xEC, 0xD2, 0xEB, 0xD2, 0xEA, /* 0x50-0x53 */ + 0xD2, 0xE6, 0xAF, 0xA6, 0xAF, 0xAA, 0xAF, 0xAD, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAF, 0xAE, 0xD2, 0xE7, /* 0x58-0x5B */ + 0xD2, 0xE9, 0xAF, 0xAC, 0xAF, 0xAB, 0xAF, 0xA9, /* 0x5C-0x5F */ + 0xAF, 0xA8, 0xD6, 0xC2, 0x3F, 0x3F, 0xD6, 0xC0, /* 0x60-0x63 */ + 0xD6, 0xBC, 0xB2, 0xBB, 0x3F, 0x3F, 0xD6, 0xBD, /* 0x64-0x67 */ + 0xB2, 0xBC, 0xD6, 0xBE, 0xD6, 0xBF, 0xD6, 0xC1, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xB2, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xDA, 0xD5, 0x3F, 0x3F, 0xDA, 0xD4, 0xDA, 0xD3, /* 0x70-0x73 */ + 0xDA, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xDE, 0xF6, 0xB8, 0x52, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xDE, 0xF3, 0xDE, 0xF5, 0x3F, 0x3F, 0xB8, 0x53, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xB8, 0x54, 0xDE, 0xF4, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xE3, 0x41, 0x3F, 0x3F, 0xE2, 0xF9, 0xE2, 0xFA, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xBA, 0xD7, 0xBA, 0xD5, 0xBA, 0xD6, /* 0x8C-0x8F */ + 0xE3, 0x43, 0x3F, 0x3F, 0xE3, 0x42, 0xE2, 0xFE, /* 0x90-0x93 */ + 0xE2, 0xFD, 0xE2, 0xFC, 0xE2, 0xFB, 0xE3, 0x40, /* 0x94-0x97 */ + 0xE2, 0xF8, 0x3F, 0x3F, 0xE6, 0xCB, 0xE6, 0xD0, /* 0x98-0x9B */ + 0xE6, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xE6, 0xCD, 0xE6, 0xCC, 0xE6, 0xCF, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xEA, 0xAE, 0x3F, 0x3F, 0xBF, 0x6D, 0xC1, 0x48, /* 0xA4-0xA7 */ + 0xED, 0xB0, 0x3F, 0x3F, 0xC1, 0x49, 0xED, 0xAF, /* 0xA8-0xAB */ + 0xF0, 0x5F, 0xF0, 0x5E, 0xC2, 0xA7, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xF2, 0xA5, 0xC3, 0xAB, 0xF4, 0xA1, 0xC5, 0xA1, /* 0xB0-0xB3 */ + 0xF6, 0xF7, 0x3F, 0x3F, 0xF8, 0xB7, 0xF8, 0xB6, /* 0xB4-0xB7 */ + 0xC9, 0xA8, 0xAC, 0xEA, 0xAC, 0xEB, 0xD6, 0xC3, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xB8, 0x56, 0xA5, 0xDD, 0xA8, 0x72, /* 0xBC-0xBF */ + 0xA8, 0x71, 0xA8, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xCD, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xAA, 0xC4, 0xAA, 0xC3, 0x3F, 0x3F, 0xAC, 0xEE, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xCF, 0xFA, 0xCF, 0xFD, 0xCF, 0xFB, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xAC, 0xEC, 0xAC, 0xED, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xCF, 0xF9, 0xCF, 0xFC, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xAF, 0xB5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xD2, 0xF3, 0xD2, 0xF5, 0xD2, 0xF4, 0xAF, 0xB2, /* 0xDC-0xDF */ + 0xD2, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0xAF, 0xB0, /* 0xE0-0xE3 */ + 0xAF, 0xAF, 0x3F, 0x3F, 0xAF, 0xB3, 0xAF, 0xB1, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xAF, 0xB4, 0xD2, 0xF2, 0xD2, 0xED, /* 0xE8-0xEB */ + 0xD2, 0xEE, 0xD2, 0xF1, 0xD2, 0xF0, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xC6, 0xD6, 0xC7, /* 0xF4-0xF7 */ + 0xD6, 0xC5, 0x3F, 0x3F, 0xD6, 0xC4, 0xB2, 0xBE, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7A[512] = { + 0xB5, 0x7D, 0x3F, 0x3F, 0xDA, 0xD6, 0xDA, 0xD8, /* 0x00-0x03 */ + 0xDA, 0xDA, 0xB5, 0x7C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xB5, 0x7A, 0x3F, 0x3F, 0xDA, 0xD7, 0xB5, 0x7B, /* 0x08-0x0B */ + 0xDA, 0xD9, 0xB5, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xDF, 0x41, 0xDE, 0xF7, 0xDE, 0xFA, 0xDE, 0xFE, /* 0x10-0x13 */ + 0xB8, 0x5A, 0xDE, 0xFC, 0x3F, 0x3F, 0xDE, 0xFB, /* 0x14-0x17 */ + 0xDE, 0xF8, 0xDE, 0xF9, 0xB8, 0x58, 0xDF, 0x40, /* 0x18-0x1B */ + 0xB8, 0x57, 0x3F, 0x3F, 0xB8, 0x5C, 0xB8, 0x5B, /* 0x1C-0x1F */ + 0xB8, 0x59, 0x3F, 0x3F, 0xDE, 0xFD, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0x49, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xE3, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0x44, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBA, 0xD8, 0xE3, 0x47, /* 0x2C-0x2F */ + 0xE3, 0x46, 0xBA, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xBD, 0x5E, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xE6, 0xD2, 0x3F, 0x3F, 0xBD, 0x5F, /* 0x38-0x3B */ + 0xBD, 0x5B, 0xBD, 0x5D, 0x3F, 0x3F, 0xBD, 0x5A, /* 0x3C-0x3F */ + 0xBD, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xEA, 0xAF, 0x3F, 0x3F, 0xBF, 0x70, 0xEA, 0xB1, /* 0x44-0x47 */ + 0xEA, 0xB0, 0x3F, 0x3F, 0xE3, 0x45, 0xBF, 0x72, /* 0x48-0x4B */ + 0xBF, 0x71, 0xBF, 0x6E, 0xBF, 0x6F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xED, 0xB5, 0x3F, 0x3F, 0xED, 0xB3, 0xC1, 0x4A, /* 0x54-0x57 */ + 0xED, 0xB4, 0x3F, 0x3F, 0xED, 0xB6, 0xED, 0xB2, /* 0x58-0x5B */ + 0xED, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0x60, /* 0x5C-0x5F */ + 0xC2, 0xAA, 0xC2, 0xA8, 0xC2, 0xA9, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xA6, /* 0x64-0x67 */ + 0xF2, 0xA7, 0xC3, 0xAD, 0x3F, 0x3F, 0xC3, 0xAC, /* 0x68-0x6B */ + 0xF4, 0xA3, 0xF4, 0xA4, 0xF4, 0xA2, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xF6, 0xF8, 0xF6, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xA5, 0xDE, 0xCA, 0x48, 0xA8, 0x73, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xCD, 0xA5, 0xAA, 0xC6, 0xAA, 0xC5, 0xCD, 0xA6, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0x40, 0xAC, 0xEF, /* 0x7C-0x7F */ + + 0xCF, 0xFE, 0xAC, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xAF, 0xB6, 0xD2, 0xF8, 0xD2, 0xF6, 0xD2, 0xFC, /* 0x84-0x87 */ + 0xAF, 0xB7, 0xD2, 0xF7, 0xD2, 0xFB, 0xD2, 0xF9, /* 0x88-0x8B */ + 0xD2, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xC8, /* 0x8C-0x8F */ + 0xD6, 0xCA, 0x3F, 0x3F, 0xB2, 0xBF, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xD6, 0xC9, 0xB2, 0xC0, 0xB5, 0xA2, 0xB5, 0xA1, /* 0x94-0x97 */ + 0xB5, 0x7E, 0xDA, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0x44, 0xB8, 0x5D, /* 0x9C-0x9F */ + 0xB8, 0x5E, 0x3F, 0x3F, 0xDF, 0x43, 0xDF, 0x42, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xE3, 0x4A, 0xBA, 0xDB, 0xBA, 0xDA, 0xE3, 0x4B, /* 0xA8-0xAB */ + 0xE3, 0x4C, 0x3F, 0x3F, 0xBD, 0x61, 0xBD, 0x60, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xEA, 0xB5, 0xE6, 0xD3, 0xE6, 0xD5, /* 0xB0-0xB3 */ + 0xE6, 0xD4, 0xEA, 0xB4, 0xEA, 0xB2, 0xEA, 0xB6, /* 0xB4-0xB7 */ + 0xEA, 0xB3, 0x3F, 0x3F, 0xBF, 0x73, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xED, 0xB7, 0xC1, 0x4B, /* 0xBC-0xBF */ + 0xED, 0xB8, 0xED, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xC2, 0xAB, 0xC2, 0xAC, 0x3F, 0x3F, 0xC4, 0x75, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC5, 0xD1, 0xA5, 0xDF, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xD0, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xD2, 0xFD, 0xAF, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0xBA, /* 0xDC-0xDF */ + 0xB3, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, 0xB5, 0xA4, /* 0xE0-0xE3 */ + 0xDA, 0xDD, 0xB5, 0xA3, 0xDA, 0xDC, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0x45, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xBA, 0xDC, 0xE3, 0x4D, 0xBA, 0xDD, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC4, 0x76, 0xF4, 0xA5, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xA6, 0xCB, 0xAA, 0xC7, 0xCD, 0xA7, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xAC, 0xF2, 0x3F, 0x3F, 0xAC, 0xF1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7B[512] = { + 0xD0, 0x42, 0xD0, 0x43, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xD3, 0x40, 0xD3, 0x42, 0xAF, 0xB9, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xD3, 0x44, 0xD3, 0x47, 0xD3, 0x45, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0x46, 0xD3, 0x43, /* 0x0C-0x0F */ + 0xD2, 0xFE, 0xAF, 0xBA, 0xD3, 0x48, 0xD3, 0x41, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xD6, 0xD3, 0xB2, 0xC6, 0xD6, 0xDC, 0xB2, 0xC3, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xD6, 0xD5, 0xB2, 0xC7, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xB2, 0xC1, 0x3F, 0x3F, 0xD6, 0xD0, 0xD6, 0xDD, /* 0x20-0x23 */ + 0xD6, 0xD1, 0xD6, 0xCE, 0xB2, 0xC5, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xB2, 0xC2, 0x3F, 0x3F, 0xD6, 0xD4, 0xD6, 0xD7, /* 0x28-0x2B */ + 0xB2, 0xC4, 0xD6, 0xD8, 0xB2, 0xC8, 0xD6, 0xD9, /* 0x2C-0x2F */ + 0xD6, 0xCF, 0xD6, 0xD6, 0xD6, 0xDA, 0xD6, 0xD2, /* 0x30-0x33 */ + 0xD6, 0xCD, 0xD6, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xD6, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xDF, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xDA, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xDA, 0xE0, 0xDA, 0xE6, 0xB5, 0xA7, 0xD6, 0xCC, /* 0x44-0x47 */ + 0xDA, 0xE1, 0xB5, 0xA5, 0xDA, 0xDE, 0xB5, 0xAC, /* 0x48-0x4B */ + 0xDA, 0xE2, 0xB5, 0xAB, 0xDA, 0xE3, 0xB5, 0xAD, /* 0x4C-0x4F */ + 0xB5, 0xA8, 0xB5, 0xAE, 0xB5, 0xA9, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xB5, 0xAA, 0x3F, 0x3F, 0xB5, 0xA6, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xDA, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xB8, 0x61, 0xDF, 0x50, 0x3F, 0x3F, 0xDF, 0x53, /* 0x60-0x63 */ + 0xDF, 0x47, 0xDF, 0x4C, 0xDF, 0x46, 0xB8, 0x63, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xDF, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xDF, 0x48, 0xB8, 0x62, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xDF, 0x4F, 0xDF, 0x4E, 0xDF, 0x4B, 0xDF, 0x4D, /* 0x70-0x73 */ + 0xDF, 0x49, 0xBA, 0xE1, 0xDF, 0x52, 0xB8, 0x5F, /* 0x74-0x77 */ + 0xDF, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0x5D, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xBA, 0xE8, 0xE3, 0x58, 0x3F, 0x3F, 0xBA, 0xE7, /* 0x84-0x87 */ + 0xE3, 0x4E, 0x3F, 0x3F, 0xE3, 0x50, 0xBA, 0xE0, /* 0x88-0x8B */ + 0xE3, 0x55, 0xE3, 0x54, 0xE3, 0x57, 0xBA, 0xE5, /* 0x8C-0x8F */ + 0xE3, 0x52, 0xE3, 0x51, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xBA, 0xE4, 0xBA, 0xDF, 0xE3, 0x53, 0xBA, 0xE2, /* 0x94-0x97 */ + 0xE3, 0x59, 0xE3, 0x5B, 0x3F, 0x3F, 0xE3, 0x56, /* 0x98-0x9B */ + 0xE3, 0x4F, 0xBA, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xBD, 0x69, 0xBA, 0xDE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xE3, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xE6, 0xD9, 0xBD, 0x62, 0x3F, 0x3F, 0xE6, 0xDB, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xBD, 0x63, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xBD, 0x65, 0xE6, 0xDE, 0x3F, 0x3F, 0xE6, 0xD6, /* 0xB4-0xB7 */ + 0xBA, 0xE6, 0xE6, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xD8, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xB8, 0x60, 0xBD, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xBD, 0x64, 0x3F, 0x3F, 0xBD, 0x66, 0xBD, 0x67, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xBF, 0x76, 0xE6, 0xDD, 0xE6, 0xD7, /* 0xC8-0xCB */ + 0xBD, 0x6A, 0x3F, 0x3F, 0xE6, 0xDA, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xEA, 0xC0, 0xEA, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xEA, 0xC5, 0xBF, 0x74, 0xEA, 0xBD, 0xBF, 0x78, /* 0xD8-0xDB */ + 0xEA, 0xC3, 0xEA, 0xBA, 0xEA, 0xB7, 0xEA, 0xC6, /* 0xDC-0xDF */ + 0xC1, 0x51, 0xBF, 0x79, 0xEA, 0xC2, 0xEA, 0xB8, /* 0xE0-0xE3 */ + 0xBF, 0x77, 0xEA, 0xBC, 0xBF, 0x7B, 0xEA, 0xB9, /* 0xE4-0xE7 */ + 0xEA, 0xBE, 0xBF, 0x7A, 0xEA, 0xC1, 0xEA, 0xC4, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xED, 0xCB, 0xED, 0xCC, 0xED, 0xBC, 0xED, 0xC3, /* 0xF0-0xF3 */ + 0xED, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0xC1, 0x4F, /* 0xF4-0xF7 */ + 0xED, 0xC8, 0xEA, 0xBF, 0x3F, 0x3F, 0xED, 0xBF, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xED, 0xC9, 0xC1, 0x4E, 0xED, 0xBE, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7C[512] = { + 0xED, 0xBD, 0xED, 0xC7, 0xED, 0xC4, 0xED, 0xC6, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xED, 0xBA, 0xED, 0xCA, 0xC1, 0x4C, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xED, 0xC5, 0xED, 0xCE, 0xED, 0xC2, /* 0x08-0x0B */ + 0xC1, 0x50, 0xC1, 0x4D, 0xED, 0xC0, 0xED, 0xBB, /* 0x0C-0x0F */ + 0xED, 0xCD, 0xBF, 0x75, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xF0, 0x63, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xF0, 0x61, 0xF0, 0x67, 0xC2, 0xB0, 0xF0, 0x65, /* 0x1C-0x1F */ + 0xF0, 0x64, 0xC2, 0xB2, 0xF0, 0x6A, 0xC2, 0xB1, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xF0, 0x6B, 0xF0, 0x68, 0xC2, 0xAE, /* 0x24-0x27 */ + 0xF0, 0x69, 0xF0, 0x62, 0xC2, 0xAF, 0xC2, 0xAD, /* 0x28-0x2B */ + 0xF2, 0xAB, 0xF0, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xF0, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xA8, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC3, 0xB2, /* 0x34-0x37 */ + 0xC3, 0xB0, 0xF2, 0xAA, 0x3F, 0x3F, 0xF2, 0xAC, /* 0x38-0x3B */ + 0xF2, 0xA9, 0xC3, 0xB1, 0xC3, 0xAE, 0xC3, 0xAF, /* 0x3C-0x3F */ + 0xC3, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, 0xC4, 0x78, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xF4, 0xAA, 0x3F, 0x3F, 0xF4, 0xA9, /* 0x44-0x47 */ + 0xF4, 0xA7, 0xF4, 0xA6, 0xF4, 0xA8, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xC4, 0x77, 0xC4, 0x79, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xC4, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xE5, /* 0x50-0x53 */ + 0xF5, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xFA, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xF6, 0xFC, 0xF6, 0xFE, 0xF6, 0xFD, /* 0x58-0x5B */ + 0xF6, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, 0xC5, 0xA3, /* 0x5C-0x5F */ + 0xC5, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, 0xC5, 0xD3, /* 0x60-0x63 */ + 0xC5, 0xD2, 0xC5, 0xD4, 0xF7, 0xED, 0xF7, 0xEC, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xF8, 0xFB, 0xF8, 0xB8, 0xF8, 0xFC, /* 0x68-0x6B */ + 0xC6, 0x58, 0x3F, 0x3F, 0xC6, 0x59, 0xF9, 0x6D, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC6, 0x7E, 0xA6, 0xCC, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xCD, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xD0, 0x45, 0xD0, 0x46, 0xD0, 0x44, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xAC, 0xF3, 0x3F, 0x3F, 0xD0, 0x47, /* 0x7C-0x7F */ + + 0xD0, 0x48, 0xD0, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xD3, 0x49, 0xD3, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xD3, 0x4D, 0xAF, 0xBB, 0xD3, 0x4B, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xD3, 0x4C, 0xD3, 0x4E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xD3, 0x4A, 0xB2, 0xC9, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xD6, 0xDE, 0xB2, 0xCB, 0xD6, 0xE0, 0xB2, 0xCA, /* 0x94-0x97 */ + 0xD6, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xE8, 0xB5, 0xAF, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xDA, 0xEA, 0xDA, 0xE7, 0xD6, 0xE1, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xB5, 0xB0, 0x3F, 0x3F, 0xF9, 0xDB, /* 0xA4-0xA7 */ + 0xDA, 0xE9, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0x56, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xB8, 0x64, 0xDF, 0x54, 0xB8, 0x65, /* 0xB0-0xB3 */ + 0xDF, 0x55, 0xB8, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xBA, 0xE9, 0xE3, 0x61, 0xE3, 0x5E, /* 0xB8-0xBB */ + 0xE3, 0x60, 0xBA, 0xEA, 0xBA, 0xEB, 0xE3, 0x5F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xE6, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xE6, 0xE0, 0x3F, 0x3F, 0xBD, 0x6B, 0xE6, 0xE2, /* 0xC8-0xCB */ + 0xE6, 0xE1, 0x3F, 0x3F, 0xA2, 0x61, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xEA, 0xCA, 0xEA, 0xCB, 0xEA, 0xC7, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xEA, 0xC8, 0xBF, 0x7C, 0xBF, 0x7D, 0xEA, 0xC9, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xC1, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xC1, 0x53, 0xC1, 0x58, 0xC1, 0x54, 0xC1, 0x56, /* 0xDC-0xDF */ + 0xC1, 0x52, 0x3F, 0x3F, 0xC1, 0x55, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0xB3, /* 0xE4-0xE7 */ + 0xED, 0xCF, 0x3F, 0x3F, 0xF2, 0xAE, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xF2, 0xAD, 0x3F, 0x3F, 0xF4, 0xAB, 0xC4, 0x7A, /* 0xEC-0xEF */ + 0xC4, 0x7B, 0xF7, 0x41, 0xF5, 0xE6, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xF7, 0x40, 0x3F, 0x3F, 0xF8, 0xFD, 0xF9, 0xA4, /* 0xF4-0xF7 */ + 0xA6, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0x74, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xCD, 0xA9, 0xAA, 0xC8, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7D[512] = { + 0xAC, 0xF6, 0xD0, 0x4C, 0xAC, 0xF4, 0xD0, 0x4A, /* 0x00-0x03 */ + 0xAC, 0xF9, 0xAC, 0xF5, 0xAC, 0xFA, 0xAC, 0xF8, /* 0x04-0x07 */ + 0xD0, 0x4B, 0xAC, 0xF7, 0xAF, 0xBF, 0xAF, 0xBE, /* 0x08-0x0B */ + 0xD3, 0x5A, 0xAF, 0xC7, 0xD3, 0x53, 0xD3, 0x59, /* 0x0C-0x0F */ + 0xAF, 0xC3, 0xD3, 0x52, 0xD3, 0x58, 0xD3, 0x56, /* 0x10-0x13 */ + 0xAF, 0xC2, 0xAF, 0xC4, 0xD3, 0x55, 0xAF, 0xBD, /* 0x14-0x17 */ + 0xD3, 0x54, 0xAF, 0xC8, 0xAF, 0xC5, 0xAF, 0xC9, /* 0x18-0x1B */ + 0xAF, 0xC6, 0xD3, 0x51, 0xD3, 0x50, 0xD3, 0x57, /* 0x1C-0x1F */ + 0xAF, 0xC0, 0xAF, 0xBC, 0xAF, 0xC1, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xD6, 0xF0, 0xD6, 0xE9, 0x3F, 0x3F, 0xB5, 0xB5, /* 0x28-0x2B */ + 0xD6, 0xE8, 0x3F, 0x3F, 0xB2, 0xCF, 0xB2, 0xD6, /* 0x2C-0x2F */ + 0xB2, 0xD3, 0xB2, 0xD9, 0xB2, 0xD8, 0xB2, 0xD4, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xD6, 0xE2, 0xD6, 0xE5, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xD6, 0xE4, 0xB2, 0xD0, 0xD6, 0xE6, 0xD6, 0xEF, /* 0x38-0x3B */ + 0xB2, 0xD1, 0xD6, 0xE3, 0xD6, 0xEC, 0xD6, 0xED, /* 0x3C-0x3F */ + 0xB2, 0xD2, 0xD6, 0xEA, 0xB2, 0xD7, 0xB2, 0xCD, /* 0x40-0x43 */ + 0xB2, 0xD5, 0xD6, 0xE7, 0xB2, 0xCC, 0xD6, 0xEB, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD6, 0xEE, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDA, 0xFB, 0xDA, 0xF2, /* 0x4C-0x4F */ + 0xB5, 0xB2, 0xDA, 0xF9, 0xDA, 0xF6, 0xDA, 0xEE, /* 0x50-0x53 */ + 0xDA, 0xF7, 0xB5, 0xB4, 0xDA, 0xEF, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xDA, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, 0xB8, 0x6C, /* 0x58-0x5B */ + 0xDA, 0xF4, 0x3F, 0x3F, 0xB5, 0xB1, 0xDA, 0xFA, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xB5, 0xB8, 0xB5, 0xBA, 0xDA, 0xED, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB5, 0xB9, 0xDA, 0xF0, /* 0x64-0x67 */ + 0xB5, 0xB3, 0xDA, 0xF8, 0xDA, 0xF1, 0xDA, 0xF5, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xDA, 0xF3, 0xB5, 0xB6, 0xDA, 0xEC, /* 0x6C-0x6F */ + 0xB5, 0xBB, 0xB2, 0xCE, 0xB5, 0xB7, 0xB5, 0xBC, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xB8, 0x68, 0xDF, 0x5D, 0xDF, 0x5F, /* 0x78-0x7B */ + 0xDF, 0x61, 0xDF, 0x65, 0x3F, 0x3F, 0xDF, 0x5B, /* 0x7C-0x7F */ + + 0xDF, 0x59, 0xB8, 0x6A, 0x3F, 0x3F, 0xDF, 0x60, /* 0x80-0x83 */ + 0xDF, 0x64, 0xDF, 0x5C, 0xDF, 0x58, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xDF, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xDF, 0x62, 0xDF, 0x5A, 0xDF, 0x5E, 0xB8, 0x6B, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xB8, 0x69, 0xDF, 0x66, 0xB8, 0x67, /* 0x90-0x93 */ + 0xDF, 0x63, 0x3F, 0x3F, 0xE3, 0x72, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xBA, 0xEE, 0xE3, 0x6A, 0xBD, 0x78, 0xE3, 0x74, /* 0x9C-0x9F */ + 0xBA, 0xF1, 0xE3, 0x78, 0xBA, 0xF7, 0xE3, 0x65, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0x75, 0xE3, 0x62, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xE3, 0x77, 0xE3, 0x66, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xBA, 0xFE, 0xBA, 0xFB, 0xE3, 0x76, 0xE3, 0x70, /* 0xAC-0xAF */ + 0xBA, 0xED, 0xBA, 0xF5, 0xBA, 0xF4, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xBA, 0xF3, 0xBA, 0xF9, 0x3F, 0x3F, 0xE3, 0x63, /* 0xB4-0xB7 */ + 0xBA, 0xFA, 0xE3, 0x71, 0xBA, 0xF6, 0xBA, 0xEC, /* 0xB8-0xBB */ + 0xE3, 0x73, 0xBA, 0xEF, 0xBA, 0xF0, 0xBA, 0xF8, /* 0xBC-0xBF */ + 0xE3, 0x68, 0xE3, 0x67, 0xE3, 0x64, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xE3, 0x6C, 0xE3, 0x69, 0xE3, 0x6D, 0xBA, 0xFD, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xE3, 0x79, 0xBA, 0xF2, 0xE3, 0x6E, /* 0xC8-0xCB */ + 0xE3, 0x6F, 0x3F, 0x3F, 0xE3, 0x6B, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBA, 0xFC, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xE7, /* 0xD4-0xD7 */ + 0xBD, 0x70, 0xBD, 0x79, 0xBD, 0x75, 0xE6, 0xE4, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xBD, 0x72, 0xBD, 0x76, 0xE6, 0xF0, /* 0xDC-0xDF */ + 0xBD, 0x6C, 0xE6, 0xE8, 0x3F, 0x3F, 0xBD, 0x74, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xEB, 0xE6, 0xE6, /* 0xE4-0xE7 */ + 0xBD, 0x73, 0xBD, 0x77, 0xE6, 0xE5, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xBD, 0x71, 0x3F, 0x3F, 0xE6, 0xEF, 0xBD, 0x6E, /* 0xEC-0xEF */ + 0xE6, 0xEE, 0xE6, 0xED, 0xBD, 0x7A, 0xE5, 0x72, /* 0xF0-0xF3 */ + 0xBD, 0x6D, 0x3F, 0x3F, 0xE6, 0xEC, 0xE6, 0xE3, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xBD, 0x7B, 0xE6, 0xEA, 0xBD, 0x6F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7E[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xE9, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xBF, 0xA2, 0xBF, 0xA7, 0xBF, 0x7E, 0xEA, 0xD8, /* 0x08-0x0B */ + 0xEA, 0xCF, 0xEA, 0xDB, 0xEA, 0xD3, 0xEA, 0xD9, /* 0x0C-0x0F */ + 0xBF, 0xA8, 0xBF, 0xA1, 0xEA, 0xCC, 0xEA, 0xD2, /* 0x10-0x13 */ + 0xEA, 0xDC, 0xEA, 0xD5, 0xEA, 0xDA, 0xEA, 0xCE, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xD6, 0xBF, 0xA3, /* 0x18-0x1B */ + 0xEA, 0xD4, 0xBF, 0xA6, 0xBF, 0xA5, 0xEA, 0xD0, /* 0x1C-0x1F */ + 0xEA, 0xD1, 0xEA, 0xCD, 0xEA, 0xD7, 0xBF, 0xA4, /* 0x20-0x23 */ + 0xEA, 0xDE, 0xEA, 0xDD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xED, 0xDA, 0xED, 0xD6, 0xC1, 0x5F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xED, 0xD0, 0xC1, 0x59, 0xC1, 0x69, /* 0x2C-0x2F */ + 0xED, 0xDC, 0xC1, 0x61, 0xC1, 0x5D, 0xED, 0xD3, /* 0x30-0x33 */ + 0xC1, 0x64, 0xC1, 0x67, 0xED, 0xDE, 0xC1, 0x5C, /* 0x34-0x37 */ + 0xED, 0xD5, 0xC1, 0x65, 0xED, 0xE0, 0xED, 0xDD, /* 0x38-0x3B */ + 0xED, 0xD1, 0xC1, 0x60, 0xC1, 0x5A, 0xC1, 0x68, /* 0x3C-0x3F */ + 0xED, 0xD8, 0xC1, 0x63, 0xED, 0xD2, 0xC1, 0x5E, /* 0x40-0x43 */ + 0xED, 0xDF, 0xC1, 0x62, 0xC1, 0x5B, 0xED, 0xD9, /* 0x44-0x47 */ + 0xC1, 0x66, 0xED, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xED, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xF0, 0x6E, 0xF0, 0x74, 0xC2, 0xB9, 0xF0, 0x77, /* 0x50-0x53 */ + 0xC2, 0xB4, 0xC2, 0xB5, 0xF0, 0x6F, 0xF0, 0x76, /* 0x54-0x57 */ + 0xF0, 0x71, 0xC2, 0xBA, 0xC2, 0xB7, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xF0, 0x6D, 0x3F, 0x3F, 0xC2, 0xB6, 0xF0, 0x73, /* 0x5C-0x5F */ + 0xF0, 0x75, 0xC2, 0xB8, 0xF0, 0x72, 0xF0, 0x70, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xF2, 0xB8, 0xC3, 0xB7, 0xC3, 0xB8, 0xC3, 0xB4, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xC3, 0xB5, 0x3F, 0x3F, 0xF2, 0xB4, /* 0x6C-0x6F */ + 0xF2, 0xB2, 0x3F, 0x3F, 0xF2, 0xB6, 0xC3, 0xBA, /* 0x70-0x73 */ + 0xF2, 0xB7, 0xF2, 0xB0, 0xF2, 0xAF, 0xF2, 0xB3, /* 0x74-0x77 */ + 0xF2, 0xB1, 0xC3, 0xB6, 0xF2, 0xB5, 0xF4, 0xAC, /* 0x78-0x7B */ + 0xC4, 0x7E, 0xC4, 0x7D, 0xF4, 0xAD, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xF4, 0xAF, 0xF4, 0xAE, 0xC4, 0xA1, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0xEB, 0xF5, 0xE8, /* 0x84-0x87 */ + 0xF5, 0xE9, 0x3F, 0x3F, 0xF5, 0xE7, 0xF5, 0xEA, /* 0x88-0x8B */ + 0xC4, 0xF2, 0xF5, 0xEC, 0x3F, 0x3F, 0xC4, 0xF1, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xF7, 0x42, 0x3F, 0x3F, 0xC5, 0xD5, /* 0x90-0x93 */ + 0xC5, 0xD7, 0xF7, 0xEE, 0xC5, 0xD6, 0xF8, 0xB9, /* 0x94-0x97 */ + 0xF9, 0x40, 0xF9, 0x42, 0xF8, 0xFE, 0xF9, 0x41, /* 0x98-0x9B */ + 0xC6, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_7F[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0xCE, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xAC, 0xFB, 0xD2, 0x6F, 0xAF, 0xCA, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xB2, 0xDA, 0xDA, 0xFC, 0xDA, 0xFD, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xDF, /* 0x40-0x43 */ + 0xC1, 0x6A, 0xED, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xC2, 0xBB, 0x3F, 0x3F, 0xF2, 0xBA, 0xF2, 0xB9, /* 0x48-0x4B */ + 0xC4, 0xA2, 0xF5, 0xED, 0x3F, 0x3F, 0xF7, 0x43, /* 0x4C-0x4F */ + 0xC5, 0xF8, 0xCA, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xAA, 0xC9, 0xA8, 0x75, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xD0, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0x60, /* 0x58-0x5B */ + 0xD3, 0x5B, 0xD3, 0x5F, 0xD3, 0x5D, 0xAF, 0xCB, /* 0x5C-0x5F */ + 0xD3, 0x5E, 0xD3, 0x5C, 0x3F, 0x3F, 0xD6, 0xF1, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xDA, 0xFE, 0xDB, 0x40, 0xDF, 0x69, /* 0x64-0x67 */ + 0xDF, 0x6A, 0xB8, 0x6E, 0xB8, 0x6F, 0xDF, 0x68, /* 0x68-0x6B */ + 0xDF, 0x6B, 0xDF, 0x67, 0xB8, 0x6D, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xBB, 0x40, 0x3F, 0x3F, 0xB8, 0x70, 0xE3, 0x7A, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xBD, 0x7C, 0xE6, 0xF1, 0xBD, 0x7D, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xBF, 0xA9, 0xEA, 0xE2, 0xEA, 0xE0, /* 0x78-0x7B */ + 0xEA, 0xE1, 0xED, 0xE4, 0xED, 0xE3, 0xED, 0xE2, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xBB, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xC3, 0xB9, 0xF2, 0xBC, 0xF7, 0x44, /* 0x84-0x87 */ + 0xC5, 0xF9, 0xF8, 0xBA, 0xA6, 0xCF, 0xAA, 0xCB, /* 0x88-0x8B */ + 0xAA, 0xCA, 0xD0, 0x4F, 0xAC, 0xFC, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xD0, 0x4E, 0xD3, 0x62, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xAF, 0xCC, 0xD6, 0xF2, 0xD3, 0x61, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0xDC, 0xD6, 0xF5, /* 0x98-0x9B */ + 0xD6, 0xF3, 0xD6, 0xF4, 0xB2, 0xDB, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xDB, 0x42, 0xDB, 0x43, 0xDB, 0x41, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xB8, 0x73, 0xDF, 0x6D, 0xDF, 0x6C, 0xDF, 0x6E, /* 0xA4-0xA7 */ + 0xB8, 0x72, 0xB8, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xE6, 0xF2, 0xE6, 0xF4, 0x3F, 0x3F, 0xBD, 0x7E, /* 0xAC-0xAF */ + 0xE6, 0xF3, 0xEA, 0xE3, 0xBF, 0xAA, 0xF0, 0x79, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xF0, 0x78, 0xC3, 0xBB, 0xF2, 0xBD, /* 0xB4-0xB7 */ + 0xC3, 0xBD, 0xC3, 0xBC, 0xF4, 0xB0, 0xF5, 0xEE, /* 0xB8-0xBB */ + 0xC4, 0xF3, 0xA6, 0xD0, 0xD0, 0x50, 0xAC, 0xFD, /* 0xBC-0xBF */ + 0xD3, 0x65, 0xAF, 0xCE, 0xD3, 0x64, 0xD3, 0x63, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xAF, 0xCD, 0x3F, 0x3F, 0xD6, 0xFB, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xD6, 0xFD, 0xD6, 0xF6, 0xD6, 0xF7, /* 0xC8-0xCB */ + 0xB2, 0xDD, 0xD6, 0xF8, 0xB2, 0xDE, 0xD6, 0xFC, /* 0xCC-0xCF */ + 0xD6, 0xF9, 0xD6, 0xFA, 0xB2, 0xDF, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xB5, 0xBE, 0xB5, 0xBF, 0x3F, 0x3F, 0xDB, 0x44, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0x6F, /* 0xD8-0xDB */ + 0xDF, 0x70, 0x3F, 0x3F, 0xE3, 0x7E, 0xBB, 0x43, /* 0xDC-0xDF */ + 0xBB, 0x41, 0xBB, 0x42, 0xE3, 0x7B, 0xE3, 0x7C, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xE3, 0x7D, 0xE6, 0xF9, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xE6, 0xFA, 0xBD, 0xA1, 0xE6, 0xF7, 0xE6, 0xF6, /* 0xE8-0xEB */ + 0xE6, 0xF8, 0xE6, 0xF5, 0xBF, 0xAD, 0xEA, 0xE4, /* 0xEC-0xEF */ + 0xBF, 0xAB, 0xBF, 0xAC, 0xED, 0xE6, 0xC1, 0x6B, /* 0xF0-0xF3 */ + 0xED, 0xE5, 0xEF, 0xA8, 0x3F, 0x3F, 0xF0, 0x7A, /* 0xF4-0xF7 */ + 0xF0, 0x7B, 0xC2, 0xBC, 0x3F, 0x3F, 0xC2, 0xBD, /* 0xF8-0xFB */ + 0xC1, 0x6C, 0xF2, 0xBE, 0xF2, 0xBF, 0xF4, 0xB1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_80[512] = { + 0xC4, 0xA3, 0xA6, 0xD1, 0x3F, 0x3F, 0xA6, 0xD2, /* 0x00-0x03 */ + 0xAC, 0xFE, 0xAA, 0xCC, 0xAF, 0xCF, 0xD0, 0x51, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB5, 0xC0, /* 0x08-0x0B */ + 0xA6, 0xD3, 0xAD, 0x41, 0xD0, 0x52, 0xD0, 0x53, /* 0x0C-0x0F */ + 0xAD, 0x40, 0xAD, 0x42, 0xA6, 0xD4, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xD0, 0x54, 0xAF, 0xD1, 0xD3, 0x66, 0xAF, 0xD3, /* 0x14-0x17 */ + 0xAF, 0xD0, 0xAF, 0xD2, 0x3F, 0x3F, 0xD7, 0x41, /* 0x18-0x1B */ + 0xB2, 0xE0, 0x3F, 0x3F, 0xD7, 0x40, 0xD6, 0xFE, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xDF, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xE3, 0xA1, 0x3F, 0x3F, 0xBD, 0xA2, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xBF, 0xAE, 0xEA, 0xE6, 0xEA, 0xE5, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xED, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xF5, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0xD5, /* 0x30-0x33 */ + 0xCB, 0x73, 0xCD, 0xAA, 0xAD, 0x43, 0xD0, 0x55, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xD3, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xAF, 0xD4, 0xD3, 0x67, 0xAF, 0xD5, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0x43, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB2, 0xE2, 0xD7, 0x42, /* 0x44-0x47 */ + 0xD7, 0x44, 0x3F, 0x3F, 0xB2, 0xE1, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0x46, /* 0x4C-0x4F */ + 0xDB, 0x47, 0xDB, 0x45, 0xB5, 0xC1, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB8, 0x74, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xB8, 0x75, 0x3F, 0x3F, 0xBB, 0x45, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xE3, 0xA3, 0xE3, 0xA2, 0xBB, 0x44, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xE6, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, 0xE6, 0xFC, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xEA, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, 0xC1, 0x70, /* 0x6C-0x6F */ + 0xC1, 0x6F, 0xC1, 0x6D, 0xC1, 0x6E, 0xC1, 0x71, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xF0, 0x7C, 0xC2, 0xBF, 0xC2, 0xBE, /* 0x74-0x77 */ + 0xF2, 0xC0, 0xF4, 0xB2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xC5, 0xA5, 0xC5, 0xA4, 0xA6, 0xD6, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xD1, 0xFB, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xB8, 0x77, 0xB5, 0xC2, 0xB8, 0x76, 0xBB, 0x46, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xA6, 0xD7, 0xC9, 0xA9, 0xA6, 0xD8, /* 0x88-0x8B */ + 0xA6, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xAB, /* 0x8C-0x8F */ + 0xCB, 0x76, 0x3F, 0x3F, 0xCB, 0x77, 0xA8, 0x77, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xCB, 0x74, 0xA8, 0x76, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xA8, 0x79, 0xCB, 0x75, 0xA8, 0x7B, 0xA8, 0x7A, /* 0x98-0x9B */ + 0xCB, 0x78, 0xA8, 0x78, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xAA, 0xD1, 0xAA, 0xCF, 0xCD, 0xAD, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xAA, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xAA, 0xD3, 0xAA, 0xD5, 0xAA, 0xD2, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xCD, 0xB0, 0xCD, 0xAC, 0xAA, 0xD6, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xAA, 0xD0, 0xA8, 0x7C, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xAA, 0xD4, 0xCD, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xCD, 0xAE, 0x3F, 0x3F, 0xAA, 0xCD, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0x5B, 0xAD, 0x47, /* 0xC0-0xC3 */ + 0xAD, 0x48, 0xD0, 0x5D, 0x3F, 0x3F, 0xD0, 0x57, /* 0xC4-0xC7 */ + 0xD0, 0x5A, 0xD0, 0x63, 0xD0, 0x61, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xAD, 0x49, 0xD0, 0x67, 0xAD, 0x4C, 0xD0, 0x64, /* 0xCC-0xCF */ + 0xD0, 0x5C, 0xD0, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xDB, 0x49, 0xD0, 0x62, 0xAD, 0x44, 0xD0, 0x65, /* 0xD4-0xD7 */ + 0xD0, 0x56, 0xD0, 0x5F, 0xAD, 0x46, 0xAD, 0x4B, /* 0xD8-0xDB */ + 0xD0, 0x60, 0xAD, 0x4F, 0xAD, 0x4D, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xD0, 0x58, 0xAD, 0x4A, 0x3F, 0x3F, 0xD0, 0x5E, /* 0xE0-0xE3 */ + 0xAD, 0x4E, 0xAD, 0x45, 0xD0, 0x66, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xAF, 0xDA, 0x3F, 0x3F, 0xAF, 0xE3, /* 0xEC-0xEF */ + 0xAF, 0xD8, 0xAF, 0xD6, 0xD3, 0x6A, 0xAF, 0xDE, /* 0xF0-0xF3 */ + 0xAF, 0xDB, 0xD3, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xAF, 0xDD, 0xD3, 0x6B, 0xD3, 0x69, 0xD3, 0x6E, /* 0xF8-0xFB */ + 0xAF, 0xE2, 0xAF, 0xE0, 0xDB, 0x48, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_81[512] = { + 0xD3, 0x6F, 0xD3, 0x6D, 0xAF, 0xD7, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xAF, 0xD9, 0xAF, 0xDC, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xAF, 0xDF, 0x3F, 0x3F, 0xAF, 0xE1, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xD7, 0x4E, 0xB2, 0xE4, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xD7, 0x45, 0xD7, 0x47, 0x3F, 0x3F, 0xD7, 0x48, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xD7, 0x50, 0xD7, 0x4C, 0xD7, 0x4A, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xD7, 0x4D, 0xD7, 0x51, 0xB2, 0xE5, /* 0x20-0x23 */ + 0xB2, 0xE9, 0xD7, 0x46, 0x3F, 0x3F, 0xD7, 0x4F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xB2, 0xE7, 0x3F, 0x3F, 0xB2, 0xE6, /* 0x28-0x2B */ + 0xD7, 0x4B, 0xD7, 0x49, 0x3F, 0x3F, 0xB2, 0xE3, /* 0x2C-0x2F */ + 0xB2, 0xE8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xB5, 0xC8, 0xDB, 0x51, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xDB, 0x4F, 0xB5, 0xCA, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0x4A, /* 0x40-0x43 */ + 0xDF, 0xA1, 0x3F, 0x3F, 0xB5, 0xC9, 0xDB, 0x4E, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0x4B, 0xB5, 0xC5, /* 0x48-0x4B */ + 0xB5, 0xCB, 0xDB, 0x50, 0xB5, 0xC7, 0xDB, 0x4D, /* 0x4C-0x4F */ + 0xBB, 0x47, 0xB5, 0xC6, 0xDB, 0x4C, 0xB5, 0xCC, /* 0x50-0x53 */ + 0xB5, 0xC4, 0xB5, 0xC3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0x77, /* 0x58-0x5B */ + 0xDF, 0x75, 0x3F, 0x3F, 0xDF, 0x7B, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xDF, 0x73, 0xDF, 0xA2, 0xDF, 0x78, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xDF, 0x72, 0xB8, 0x7B, 0xB8, 0xA3, 0xDF, 0x7D, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xDF, 0x76, 0x3F, 0x3F, 0xB8, 0x7E, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB8, 0x7C, 0xDF, 0x7E, /* 0x6C-0x6F */ + 0xB8, 0x79, 0xB8, 0x78, 0xDF, 0x79, 0xB8, 0x7D, /* 0x70-0x73 */ + 0xB5, 0xCD, 0x3F, 0x3F, 0xDF, 0x7C, 0xDF, 0x74, /* 0x74-0x77 */ + 0xB8, 0x7A, 0xB8, 0xA1, 0xB8, 0xA2, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xBB, 0x4C, /* 0x7C-0x7F */ + + 0xBB, 0x48, 0x3F, 0x3F, 0xBB, 0x4D, 0xE3, 0xA6, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xA5, 0xE3, 0xA7, /* 0x84-0x87 */ + 0xBB, 0x4A, 0xE3, 0xA4, 0xBB, 0x4B, 0xE3, 0xAA, /* 0x88-0x8B */ + 0xE3, 0xA9, 0xE3, 0xA8, 0x3F, 0x3F, 0xBB, 0x49, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xE7, 0x41, 0x3F, 0x3F, 0xE7, 0x44, /* 0x94-0x97 */ + 0xBD, 0xA8, 0xE7, 0x43, 0xBD, 0xA7, 0xBD, 0xA3, /* 0x98-0x9B */ + 0xBD, 0xA4, 0xBD, 0xA5, 0xE7, 0x40, 0xE6, 0xFE, /* 0x9C-0x9F */ + 0xBD, 0xA6, 0x3F, 0x3F, 0xE7, 0x42, 0xE6, 0xFD, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xE9, 0xEA, 0xF3, /* 0xA4-0xA7 */ + 0xBF, 0xB1, 0xBF, 0xB0, 0x3F, 0x3F, 0xEA, 0xED, /* 0xA8-0xAB */ + 0xEA, 0xEF, 0x3F, 0x3F, 0xEA, 0xEA, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xEA, 0xEE, 0xEA, 0xE8, 0xEA, 0xF1, 0xBF, 0xAF, /* 0xB0-0xB3 */ + 0xEA, 0xF0, 0xEA, 0xEC, 0x3F, 0x3F, 0xEA, 0xF2, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xEA, 0xEB, 0xC1, 0x74, 0xED, 0xE8, /* 0xB8-0xBB */ + 0xED, 0xEE, 0xC1, 0x78, 0xC1, 0x7A, 0xC1, 0x77, /* 0xBC-0xBF */ + 0xC1, 0x76, 0x3F, 0x3F, 0xC1, 0x75, 0xC1, 0x73, /* 0xC0-0xC3 */ + 0xED, 0xE9, 0xED, 0xEC, 0xC1, 0x72, 0xED, 0xED, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xC1, 0x79, 0xED, 0xEB, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xED, 0xEA, 0xC2, 0xC0, 0x3F, 0x3F, 0xC2, 0xC1, /* 0xCC-0xCF */ + 0xF0, 0xA1, 0xF0, 0x7D, 0xF0, 0x7E, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xF2, 0xC2, 0x3F, 0x3F, 0xF2, 0xC1, /* 0xD4-0xD7 */ + 0xC3, 0xBE, 0xF4, 0xB4, 0xC4, 0xA4, 0xF4, 0xB3, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xF5, 0xF0, 0xF7, 0x45, 0xC5, 0xA6, /* 0xDC-0xDF */ + 0xF9, 0x43, 0xF9, 0x44, 0xC5, 0xD8, 0xA6, 0xDA, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xAA, 0xD7, 0xDB, 0x52, 0xBB, 0x4E, /* 0xE4-0xE7 */ + 0xC1, 0x7B, 0xED, 0xEF, 0xA6, 0xDB, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xAF, 0xE5, 0xAF, 0xE4, 0xDB, 0x53, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0xF4, 0xA6, 0xDC, /* 0xF0-0xF3 */ + 0xAD, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0x54, /* 0xF4-0xF7 */ + 0xDB, 0x55, 0xDB, 0x56, 0xBB, 0x4F, 0xBF, 0xB2, /* 0xF8-0xFB */ + 0xA6, 0xDD, 0x3F, 0x3F, 0xAA, 0xD8, 0xD0, 0x68, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_82[512] = { + 0xAF, 0xE6, 0xD3, 0x70, 0xB2, 0xEA, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xDB, 0x57, 0xB8, 0xA4, 0x3F, 0x3F, 0xBB, 0x50, /* 0x04-0x07 */ + 0xBF, 0xB3, 0xC1, 0x7C, 0xC2, 0xC2, 0xF4, 0xB5, /* 0x08-0x0B */ + 0xA6, 0xDE, 0xAA, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xAF, 0xE7, 0xD7, 0x52, 0xB5, 0xCE, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xBB, 0x51, 0xE3, 0xAB, 0xE7, 0x45, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA6, 0xDF, /* 0x18-0x1B */ + 0xB5, 0xCF, 0xDF, 0xA3, 0xBB, 0x52, 0xA6, 0xE0, /* 0x1C-0x1F */ + 0xCD, 0xB1, 0xD0, 0x69, 0xAD, 0x51, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xD3, 0x72, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xAF, 0xEA, 0x3F, 0x3F, 0xAF, 0xE8, 0xAF, 0xE9, /* 0x28-0x2B */ + 0xAF, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0x71, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0x57, 0xD7, 0x54, /* 0x30-0x33 */ + 0xD7, 0x56, 0xB2, 0xEB, 0xB2, 0xED, 0xB2, 0xEC, /* 0x34-0x37 */ + 0xD7, 0x53, 0xB2, 0xEE, 0xD7, 0x55, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xDB, 0x58, 0xDB, 0x59, 0x3F, 0x3F, 0xDB, 0x5A, /* 0x3C-0x3F */ + 0xDF, 0xA6, 0x3F, 0x3F, 0xDF, 0xA7, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xDF, 0xA5, 0xDF, 0xA8, 0x3F, 0x3F, 0xB8, 0xA5, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xDF, 0xA4, 0x3F, 0x3F, 0xBB, 0x53, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0x4A, 0xE7, 0x46, /* 0x4C-0x4F */ + 0xE7, 0x49, 0xE7, 0x4B, 0xE7, 0x48, 0xE7, 0x47, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xEA, 0xF5, 0xEA, 0xF6, 0xEA, 0xF7, /* 0x54-0x57 */ + 0xBF, 0xB4, 0xBF, 0xB5, 0xED, 0xF1, 0xED, 0xF0, /* 0x58-0x5B */ + 0xED, 0xF2, 0x3F, 0x3F, 0xF0, 0xA3, 0xF0, 0xA2, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xF2, 0xC4, 0x3F, 0x3F, 0xF2, 0xC5, /* 0x60-0x63 */ + 0xF2, 0xC3, 0x3F, 0x3F, 0xC4, 0xA5, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xF4, 0xB6, 0xF4, 0xB7, 0x3F, 0x3F, 0xF7, 0x46, /* 0x68-0x6B */ + 0xF7, 0xEF, 0xF8, 0xBB, 0xA6, 0xE1, 0xA8, 0x7D, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xC1, 0x7D, 0xA6, 0xE2, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xD7, 0x58, 0xDB, 0x5B, 0x3F, 0x3F, 0xC6, 0x41, /* 0x74-0x77 */ + 0xCA, 0x4A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xCA, 0x4B, 0xCA, 0x4D, 0xA6, 0xE3, 0xCA, 0x4E, /* 0x7C-0x7F */ + + 0xCA, 0x4C, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xA2, /* 0x80-0x83 */ + 0xCB, 0xA3, 0xCB, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xA1, 0xA8, 0xA1, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xA8, 0xA2, 0xCB, 0x7C, 0xCB, 0x7A, /* 0x8C-0x8F */ + 0xCB, 0x79, 0xCB, 0x7D, 0xA8, 0x7E, 0xCB, 0x7E, /* 0x90-0x93 */ + 0xD0, 0x6A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xCD, 0xB6, 0xAA, 0xDC, 0xCD, 0xB5, 0xCD, 0xB7, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xAA, 0xDB, 0xCD, 0xBC, 0xAA, 0xDF, /* 0x9C-0x9F */ + 0xCD, 0xB2, 0xCD, 0xC0, 0xCD, 0xC6, 0xAA, 0xE6, /* 0xA0-0xA3 */ + 0xCD, 0xC3, 0xAA, 0xE3, 0x3F, 0x3F, 0xCD, 0xB9, /* 0xA4-0xA7 */ + 0xCD, 0xBF, 0xCD, 0xC1, 0x3F, 0x3F, 0xCD, 0xB4, /* 0xA8-0xAB */ + 0xAA, 0xE2, 0xAA, 0xDD, 0xCD, 0xBA, 0xAA, 0xE4, /* 0xAC-0xAF */ + 0xAA, 0xE7, 0xAA, 0xE1, 0x3F, 0x3F, 0xAA, 0xDA, /* 0xB0-0xB3 */ + 0xCD, 0xBE, 0xCD, 0xB8, 0xCD, 0xC5, 0xAA, 0xE9, /* 0xB4-0xB7 */ + 0xAA, 0xE5, 0xAA, 0xE0, 0xCD, 0xBD, 0xAF, 0xEC, /* 0xB8-0xBB */ + 0xCD, 0xBB, 0xAA, 0xDE, 0xAA, 0xE8, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xCD, 0xB3, 0x3F, 0x3F, 0xCD, 0xC2, 0xCD, 0xC4, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xAD, 0x62, 0xAD, 0x5C, 0xAD, 0x64, /* 0xD0-0xD3 */ + 0xAD, 0x61, 0xD0, 0x71, 0xD0, 0x74, 0xAD, 0x5D, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xD0, 0x6B, 0x3F, 0x3F, 0xAD, 0x56, /* 0xD8-0xDB */ + 0xAD, 0x60, 0x3F, 0x3F, 0xAD, 0x63, 0xAD, 0x65, /* 0xDC-0xDF */ + 0xD0, 0xA2, 0xD0, 0x77, 0x3F, 0x3F, 0xAD, 0x55, /* 0xE0-0xE3 */ + 0xD0, 0xA1, 0xAD, 0x59, 0xAD, 0x57, 0xAD, 0x52, /* 0xE4-0xE7 */ + 0xD0, 0x6F, 0x3F, 0x3F, 0xD0, 0x7E, 0xD0, 0x73, /* 0xE8-0xEB */ + 0xD0, 0x76, 0xD0, 0xA5, 0x3F, 0x3F, 0xAD, 0x66, /* 0xEC-0xEF */ + 0xD0, 0x7D, 0xAD, 0x5E, 0xD0, 0x78, 0xD0, 0xA4, /* 0xF0-0xF3 */ + 0xD0, 0x75, 0xD0, 0x79, 0xD0, 0x7C, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xD0, 0x6D, 0xD0, 0xA3, 0xD0, 0x7B, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0x6C, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_83[512] = { + 0xD0, 0x70, 0xAD, 0x5F, 0xAD, 0x5A, 0xAD, 0x53, /* 0x00-0x03 */ + 0xAD, 0x58, 0xAD, 0x54, 0xAD, 0x67, 0xD0, 0x6E, /* 0x04-0x07 */ + 0xD3, 0xA5, 0xAD, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xD0, 0x7A, 0xCE, 0x41, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0xA8, 0xAF, 0xFA, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xD3, 0x76, 0x3F, 0x3F, 0xD3, 0xA3, /* 0x18-0x1B */ + 0xD3, 0x7D, 0x3F, 0x3F, 0xD3, 0xB2, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xD3, 0xAA, 0x3F, 0x3F, 0xD3, 0x7E, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xD3, 0xA9, 0xD3, 0x78, 0xD3, 0x7C, 0xD3, 0xB5, /* 0x24-0x27 */ + 0xAF, 0xFD, 0xD3, 0xAD, 0xD3, 0xA4, 0xAF, 0xED, /* 0x28-0x2B */ + 0xD3, 0xB3, 0xD3, 0x74, 0x3F, 0x3F, 0xD3, 0xAC, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xAF, 0xFC, 0xAF, 0xF7, 0xD3, 0x73, /* 0x30-0x33 */ + 0xAF, 0xF5, 0xAF, 0xF4, 0xAF, 0xF9, 0xD3, 0xAB, /* 0x34-0x37 */ + 0xAF, 0xF1, 0xAF, 0xF8, 0xD0, 0x72, 0xDB, 0x5C, /* 0x38-0x3B */ + 0xD3, 0xA6, 0x3F, 0x3F, 0x3F, 0x3F, 0xD3, 0x7A, /* 0x3C-0x3F */ + 0xAF, 0xFB, 0xD3, 0x7B, 0xD3, 0xA1, 0xAF, 0xFE, /* 0x40-0x43 */ + 0xD3, 0x75, 0xD3, 0xAF, 0x3F, 0x3F, 0xD3, 0xAE, /* 0x44-0x47 */ + 0xD3, 0xB6, 0xAF, 0xF3, 0xAF, 0xF0, 0xD3, 0xB4, /* 0x48-0x4B */ + 0xD3, 0xB0, 0xD3, 0xA7, 0xD3, 0xA2, 0xAF, 0xF6, /* 0x4C-0x4F */ + 0xAF, 0xF2, 0xD3, 0x77, 0xAF, 0xEE, 0xD3, 0xB1, /* 0x50-0x53 */ + 0xAF, 0xEF, 0x3F, 0x3F, 0xD3, 0x79, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0x5E, /* 0x70-0x73 */ + 0xD7, 0x60, 0xD7, 0x65, 0xD7, 0x79, 0xB2, 0xFC, /* 0x74-0x77 */ + 0xB2, 0xF2, 0x3F, 0x3F, 0xD7, 0x5D, 0xB2, 0xFD, /* 0x78-0x7B */ + 0xB2, 0xFE, 0xD7, 0x68, 0xD7, 0x6F, 0xD7, 0x75, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xD7, 0x62, 0x3F, 0x3F, 0xD7, 0x69, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x40, 0xD7, 0x77, /* 0x84-0x87 */ + 0xD7, 0x72, 0xB2, 0xFA, 0xB2, 0xF8, 0xD7, 0x6E, /* 0x88-0x8B */ + 0xD7, 0x6A, 0xD7, 0x5C, 0xB2, 0xEF, 0xD7, 0x61, /* 0x8C-0x8F */ + 0xD7, 0x59, 0x3F, 0x3F, 0xB2, 0xF7, 0xB2, 0xF9, /* 0x90-0x93 */ + 0xD7, 0x66, 0xD7, 0x63, 0xB2, 0xF4, 0xD7, 0x73, /* 0x94-0x97 */ + 0xB2, 0xF1, 0xD7, 0x64, 0xD7, 0x7A, 0xD7, 0x6C, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xD7, 0x6B, 0xB2, 0xF0, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xB2, 0xFB, 0x3F, 0x3F, 0xB2, 0xF3, 0xD7, 0x5A, /* 0xA0-0xA3 */ + 0xD7, 0x5F, 0xD7, 0x70, 0xD7, 0x76, 0xB3, 0x41, /* 0xA4-0xA7 */ + 0xD7, 0x5B, 0xD7, 0x67, 0xD7, 0x6D, 0xB2, 0xF6, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0x78, 0xD7, 0x71, /* 0xAC-0xAF */ + 0xD7, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xB2, 0xF5, 0x3F, 0x3F, 0xDB, 0x6C, /* 0xBC-0xBF */ + 0xDB, 0x60, 0xB5, 0xD7, 0xDB, 0x7D, 0xDB, 0xA7, /* 0xC0-0xC3 */ + 0xDB, 0xAA, 0xB5, 0xD5, 0xDB, 0x68, 0xDB, 0xA3, /* 0xC4-0xC7 */ + 0xDB, 0x69, 0xDB, 0x77, 0xB5, 0xE2, 0xDB, 0x73, /* 0xC8-0xCB */ + 0xB5, 0xDF, 0x3F, 0x3F, 0xDB, 0x74, 0xDB, 0x5D, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xDB, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xB5, 0xE8, 0xDB, 0xA1, 0xDB, 0x75, 0xDB, 0xAC, /* 0xD4-0xD7 */ + 0xDB, 0x70, 0xDF, 0xC8, 0x3F, 0x3F, 0xDB, 0xAF, /* 0xD8-0xDB */ + 0xB5, 0xE6, 0xDB, 0x6E, 0xDB, 0x7A, 0xB5, 0xE9, /* 0xDC-0xDF */ + 0xB5, 0xD4, 0xDB, 0x72, 0xDB, 0xAD, 0xDB, 0x6B, /* 0xE0-0xE3 */ + 0xDB, 0x64, 0xDB, 0x6F, 0x3F, 0x3F, 0xDB, 0x63, /* 0xE4-0xE7 */ + 0xDB, 0x61, 0xB5, 0xD0, 0xDB, 0xA5, 0xDB, 0x6A, /* 0xE8-0xEB */ + 0xDB, 0xA8, 0x3F, 0x3F, 0xDB, 0xA9, 0xB5, 0xD8, /* 0xEC-0xEF */ + 0xB5, 0xDD, 0xB5, 0xD9, 0xB5, 0xE1, 0xDB, 0x7E, /* 0xF0-0xF3 */ + 0xB5, 0xDA, 0xDB, 0x76, 0xDB, 0x66, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xB5, 0xD2, 0xDB, 0x5E, 0xDB, 0xA2, 0xDB, 0xAB, /* 0xF8-0xFB */ + 0xDB, 0x65, 0xB5, 0xE0, 0xDB, 0xB0, 0xDB, 0x71, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_84[512] = { + 0x3F, 0x3F, 0xDB, 0x6D, 0x3F, 0x3F, 0xB5, 0xD1, /* 0x00-0x03 */ + 0xB5, 0xE5, 0x3F, 0x3F, 0xDB, 0x7C, 0xB5, 0xE7, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xDB, 0x78, 0xB5, 0xDC, 0xB5, 0xD6, /* 0x08-0x0B */ + 0xB5, 0xDE, 0xB5, 0xD3, 0xB5, 0xE4, 0xDB, 0x79, /* 0x0C-0x0F */ + 0xDB, 0x67, 0xDB, 0x7B, 0xDB, 0x62, 0xDB, 0xA6, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xAE, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0x5F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xDF, 0xC7, 0x3F, 0x3F, 0xDF, 0xDD, /* 0x28-0x2B */ + 0xB8, 0x55, 0xDF, 0xCC, 0x3F, 0x3F, 0xDF, 0xCA, /* 0x2C-0x2F */ + 0xDF, 0xB5, 0xB8, 0xA9, 0xDF, 0xC5, 0xDF, 0xD9, /* 0x30-0x33 */ + 0xDF, 0xC1, 0xB8, 0xB1, 0xDF, 0xD8, 0xDF, 0xBF, /* 0x34-0x37 */ + 0xB5, 0xE3, 0xDF, 0xCF, 0xDF, 0xC0, 0xDF, 0xD6, /* 0x38-0x3B */ + 0xB8, 0xB0, 0xB8, 0xA8, 0x3F, 0x3F, 0xDF, 0xAA, /* 0x3C-0x3F */ + 0xDF, 0xB2, 0x3F, 0x3F, 0xDF, 0xCB, 0xDF, 0xC3, /* 0x40-0x43 */ + 0xDF, 0xDC, 0xDF, 0xC6, 0xB8, 0xB6, 0xDF, 0xD7, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xB8, 0xAD, 0x3F, 0x3F, 0xDF, 0xC9, /* 0x48-0x4B */ + 0xDF, 0xD1, 0xDF, 0xB6, 0xDF, 0xD0, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xDF, 0xE1, 0xDF, 0xB1, 0xDF, 0xD2, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xDF, 0xDF, 0x3F, 0x3F, 0xDF, 0xAB, 0xB5, 0xDB, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xDF, 0xB9, 0xDF, 0xB8, 0xB8, 0xAF, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xDF, 0xBC, 0xDF, 0xBE, 0xDF, 0xCD, /* 0x5C-0x5F */ + 0xDF, 0xDE, 0xB8, 0xB2, 0x3F, 0x3F, 0xB8, 0xB3, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xDF, 0xB0, 0xB8, 0xAB, 0xDF, 0xB4, /* 0x64-0x67 */ + 0xDF, 0xDA, 0xB8, 0xB4, 0x3F, 0x3F, 0xB8, 0xAC, /* 0x68-0x6B */ + 0xB8, 0xAE, 0xB8, 0xB5, 0xDF, 0xE0, 0xDF, 0xD3, /* 0x6C-0x6F */ + 0xDF, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xBB, /* 0x70-0x73 */ + 0xDF, 0xBA, 0xB8, 0xAA, 0xDF, 0xAC, 0xB8, 0xA7, /* 0x74-0x77 */ + 0xDF, 0xC4, 0xDF, 0xAD, 0xDF, 0xC2, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xDF, 0xB7, 0xDF, 0xDB, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0xB8, 0xA6, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xB3, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xDF, 0xAF, 0xDF, 0xD5, 0xDF, 0xAE, /* 0x8C-0x8F */ + 0xBB, 0x60, 0xE3, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xE3, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xAC, /* 0x94-0x97 */ + 0xE3, 0xCA, 0xBB, 0x58, 0xE3, 0xBB, 0xE3, 0xC5, /* 0x98-0x9B */ + 0xBB, 0x5B, 0xE3, 0xBE, 0xBB, 0x59, 0xE3, 0xAF, /* 0x9C-0x9F */ + 0xE3, 0xCD, 0xE3, 0xAE, 0xE3, 0xC1, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xE3, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xBF, /* 0xA4-0xA7 */ + 0xE3, 0xC8, 0xE3, 0xC6, 0xE3, 0xBA, 0xE3, 0xB5, /* 0xA8-0xAB */ + 0xE3, 0xB3, 0x3F, 0x3F, 0xE3, 0xB4, 0xE3, 0xC7, /* 0xAC-0xAF */ + 0xE3, 0xD2, 0xE3, 0xBC, 0xBB, 0x5A, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xE3, 0xB7, 0x3F, 0x3F, 0xE3, 0xCB, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xBB, 0x5D, 0xE3, 0xB6, 0xE3, 0xB0, 0xE3, 0xC0, /* 0xB8-0xBB */ + 0xBB, 0x61, 0x3F, 0x3F, 0x3F, 0x3F, 0xBB, 0x55, /* 0xBC-0xBF */ + 0xBB, 0x5E, 0xE3, 0xB8, 0xE3, 0xB2, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xBB, 0x57, 0xDF, 0xD4, 0xBB, 0x56, 0xE3, 0xC3, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xBB, 0x54, 0xBB, 0x63, 0xBB, 0x5C, /* 0xC8-0xCB */ + 0xE3, 0xC4, 0xE3, 0xB9, 0xE3, 0xB1, 0xE3, 0xCC, /* 0xCC-0xCF */ + 0xE3, 0xBD, 0xBB, 0x62, 0xE3, 0xD0, 0xBB, 0x5F, /* 0xD0-0xD3 */ + 0xE3, 0xCF, 0x3F, 0x3F, 0xE3, 0xC9, 0xE3, 0xCE, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xD1, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0x73, /* 0xE4-0xE7 */ + 0xE7, 0x74, 0xE7, 0x67, 0xE7, 0x66, 0xE7, 0x62, /* 0xE8-0xEB */ + 0xBD, 0xB4, 0x3F, 0x3F, 0xBD, 0xAC, 0xE7, 0x76, /* 0xEC-0xEF */ + 0xE7, 0x75, 0xDF, 0xA9, 0xE7, 0x5F, 0xE7, 0x63, /* 0xF0-0xF3 */ + 0xE7, 0x5D, 0x3F, 0x3F, 0xE7, 0x70, 0xE7, 0x61, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xE7, 0x77, 0xE7, 0x5A, 0xE7, 0x58, /* 0xF8-0xFB */ + 0xE7, 0x64, 0xE7, 0x6E, 0xE7, 0x69, 0xBD, 0xB6, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_85[512] = { + 0xE7, 0x4F, 0x3F, 0x3F, 0xE7, 0x6D, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBD, 0xB7, 0xDF, 0xBD, /* 0x04-0x07 */ + 0xE7, 0x5B, 0xE7, 0x52, 0xE7, 0x55, 0xE7, 0x7B, /* 0x08-0x0B */ + 0xE7, 0x5C, 0xE7, 0x53, 0xE7, 0x51, 0xE7, 0x4E, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xBD, 0xB0, 0xE7, 0x65, 0xBD, 0xAF, /* 0x10-0x13 */ + 0xBD, 0xB3, 0xE7, 0x60, 0xE7, 0x68, 0xBD, 0xA9, /* 0x14-0x17 */ + 0xE7, 0x78, 0xE7, 0x7C, 0xBD, 0xAB, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xE7, 0x57, 0xE7, 0x6B, 0xE7, 0x6F, 0xE7, 0x54, /* 0x1C-0x1F */ + 0xE7, 0x79, 0xBD, 0xB2, 0x3F, 0x3F, 0xBD, 0xB1, /* 0x20-0x23 */ + 0xE7, 0x4C, 0xBD, 0xB5, 0xE7, 0x72, 0xE7, 0x56, /* 0x24-0x27 */ + 0xE7, 0x6A, 0xE7, 0x50, 0xE7, 0x5E, 0xE7, 0x59, /* 0x28-0x2B */ + 0xBD, 0xAD, 0xBD, 0xAE, 0xE7, 0x6C, 0xE7, 0x7D, /* 0x2C-0x2F */ + 0xE7, 0x7A, 0xE7, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0x4D, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xBD, 0xAA, 0xEB, 0x49, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xEB, 0x40, 0xEB, 0x43, 0x3F, 0x3F, 0xBF, 0xBB, /* 0x40-0x43 */ + 0xEB, 0x45, 0xEA, 0xF9, 0xEB, 0x41, 0xEB, 0x47, /* 0x44-0x47 */ + 0xBF, 0xB8, 0xBF, 0xBC, 0xBF, 0xB6, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xEA, 0xFB, 0xEB, 0x4C, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xEB, 0x46, 0x3F, 0x3F, 0xEA, 0xFC, /* 0x50-0x53 */ + 0xEB, 0x55, 0xEB, 0x4F, 0xEA, 0xF8, 0xEE, 0x46, /* 0x54-0x57 */ + 0xEA, 0xFE, 0xBF, 0xB7, 0x3F, 0x3F, 0xEB, 0x4A, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xEB, 0x54, 0xBF, 0xBF, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xEB, 0x51, 0xEA, 0xFD, 0xEB, 0x44, 0xEB, 0x48, /* 0x60-0x63 */ + 0xEB, 0x42, 0xEB, 0x56, 0xEB, 0x53, 0xEB, 0x50, /* 0x64-0x67 */ + 0xBF, 0xB9, 0xBF, 0xBA, 0xBF, 0xBE, 0xEA, 0xFA, /* 0x68-0x6B */ + 0xEB, 0x57, 0xBF, 0xBD, 0xEB, 0x4D, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xEB, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xEB, 0x4E, 0xEE, 0x53, 0xEE, 0x40, /* 0x74-0x77 */ + 0xEE, 0x45, 0xEE, 0x52, 0xEE, 0x44, 0xED, 0xFB, /* 0x78-0x7B */ + 0xEE, 0x41, 0x3F, 0x3F, 0xC1, 0xA2, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xED, 0xF4, 0xEE, 0x4D, 0xEE, 0x4F, 0xED, 0xF3, /* 0x80-0x83 */ + 0xC1, 0xA1, 0xEE, 0x51, 0xEE, 0x49, 0xC1, 0xA8, /* 0x84-0x87 */ + 0xEE, 0x50, 0xEE, 0x42, 0xC1, 0xAA, 0xED, 0xF9, /* 0x88-0x8B */ + 0xEB, 0x52, 0xEE, 0x4A, 0xEE, 0x47, 0xED, 0xF5, /* 0x8C-0x8F */ + 0xEE, 0x55, 0xC1, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xC1, 0xA5, 0xED, 0xF7, 0xEE, 0x48, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xEE, 0x54, 0xEE, 0x4B, 0xED, 0xFD, 0xC1, 0xA7, /* 0x98-0x9B */ + 0xC1, 0xA3, 0xEE, 0x4C, 0xED, 0xFE, 0xEE, 0x56, /* 0x9C-0x9F */ + 0xED, 0xF8, 0xEE, 0x43, 0xEE, 0x4E, 0xED, 0xFA, /* 0xA0-0xA3 */ + 0xED, 0xFC, 0x3F, 0x3F, 0xC2, 0xCB, 0xED, 0xF6, /* 0xA4-0xA7 */ + 0xC1, 0xA9, 0xC2, 0xC4, 0xC1, 0x7E, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC1, 0xA6, /* 0xAC-0xAF */ + 0xC2, 0xC8, 0xF0, 0xB3, 0x3F, 0x3F, 0xF0, 0xA9, /* 0xB0-0xB3 */ + 0xF0, 0xA4, 0xF0, 0xAA, 0xF0, 0xB4, 0xF0, 0xB8, /* 0xB4-0xB7 */ + 0xF0, 0xB7, 0xC2, 0xCA, 0xC2, 0xC9, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xF0, 0xAB, 0xF0, 0xB9, 0xF0, 0xAE, /* 0xBC-0xBF */ + 0xF0, 0xA6, 0x3F, 0x3F, 0xF0, 0xA8, 0xF0, 0xA7, /* 0xC0-0xC3 */ + 0xF0, 0xAD, 0xF0, 0xB2, 0xF0, 0xA5, 0xF0, 0xAC, /* 0xC4-0xC7 */ + 0xF0, 0xB1, 0xC2, 0xC7, 0x3F, 0x3F, 0xF0, 0xAF, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xC2, 0xC5, 0xF0, 0xB0, 0xC2, 0xC3, /* 0xCC-0xCF */ + 0xC2, 0xC6, 0xF2, 0xD5, 0xF0, 0xB5, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xC3, 0xC2, 0x3F, 0x3F, 0xF2, 0xCD, /* 0xD4-0xD7 */ + 0xF2, 0xD1, 0xF2, 0xC9, 0xF2, 0xCC, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xF2, 0xD4, 0xC3, 0xC0, 0xF2, 0xD9, 0xF2, 0xD2, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xF2, 0xCA, 0xF2, 0xDA, 0xF2, 0xD3, /* 0xE0-0xE3 */ + 0xC3, 0xC3, 0xC3, 0xC4, 0xF2, 0xD7, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xF2, 0xCB, 0xC3, 0xBF, 0xC3, 0xC1, 0xF2, 0xC6, /* 0xE8-0xEB */ + 0xF2, 0xCE, 0xF2, 0xC8, 0x3F, 0x3F, 0xF2, 0xD8, /* 0xEC-0xEF */ + 0xF2, 0xD6, 0xF2, 0xC7, 0xF2, 0xCF, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xBE, 0xC3, 0xC5, /* 0xF4-0xF7 */ + 0xF2, 0xD0, 0xC4, 0xA7, 0xC4, 0xA9, 0xC4, 0xA6, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xF4, 0xC3, 0xF4, 0xBB, 0xF4, 0xB9, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_86[512] = { + 0xF4, 0xBD, 0xF4, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xF4, 0xBF, 0xF4, 0xC1, 0xC4, 0xAA, 0xC4, 0xAC, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF4, 0xC0, 0xC4, 0xAD, 0xC4, 0xAB, /* 0x08-0x0B */ + 0xF4, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xC4, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC4, 0xF4, /* 0x14-0x17 */ + 0xF5, 0xF1, 0xF5, 0xF7, 0xC4, 0xF6, 0xF4, 0xBC, /* 0x18-0x1B */ + 0xF5, 0xF6, 0x3F, 0x3F, 0xF5, 0xFD, 0xF5, 0xF4, /* 0x1C-0x1F */ + 0xF5, 0xFB, 0xF5, 0xFA, 0xF4, 0xB8, 0xF5, 0xF5, /* 0x20-0x23 */ + 0xF0, 0xB6, 0xF5, 0xFE, 0xF5, 0xF3, 0xF5, 0xF8, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xF5, 0xFC, 0xF5, 0xF2, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xF7, 0x4A, 0xC4, 0xF5, 0xF5, 0xF9, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xF7, 0xF4, 0xF7, 0x4B, 0xF7, 0x49, /* 0x30-0x33 */ + 0xF7, 0x47, 0xF7, 0x48, 0xF7, 0x4C, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xC5, 0xD9, 0xF7, 0xF2, 0xF7, 0xF0, 0xF7, 0xF5, /* 0x38-0x3B */ + 0xF7, 0xF3, 0x3F, 0x3F, 0xF7, 0xF6, 0xC5, 0xDA, /* 0x3C-0x3F */ + 0xF7, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xBC, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0x45, 0xF9, 0x46, /* 0x44-0x47 */ + 0xF9, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xC7, /* 0x48-0x4B */ + 0xF9, 0xBD, 0xCA, 0x4F, 0xAA, 0xEA, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xAD, 0x68, 0x3F, 0x3F, 0xD3, 0xB8, 0xD3, 0xB7, /* 0x50-0x53 */ + 0xB0, 0x40, 0xB3, 0x42, 0xD7, 0x7C, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xD7, 0x7B, 0x3F, 0x3F, 0xB5, 0xEA, /* 0x58-0x5B */ + 0xB8, 0xB8, 0x3F, 0x3F, 0xB8, 0xB7, 0xB8, 0xB9, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xE3, 0xD4, 0xE7, 0x7E, 0xEB, 0x58, /* 0x60-0x63 */ + 0xEB, 0x5A, 0xEB, 0x59, 0x3F, 0x3F, 0xC1, 0xAB, /* 0x64-0x67 */ + 0xEE, 0x57, 0xF0, 0xBA, 0xF9, 0xA5, 0xA6, 0xE4, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xCD, 0xC9, 0xCD, 0xCA, 0xCD, 0xC8, /* 0x6C-0x6F */ + 0xCD, 0xC7, 0xAA, 0xEB, 0x3F, 0x3F, 0xD0, 0xA9, /* 0x70-0x73 */ + 0xD0, 0xA7, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xA6, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xAD, 0x69, 0xAD, 0x6B, 0xAD, 0x6A, /* 0x78-0x7B */ + 0xD0, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xD3, 0xC4, 0xD3, 0xC1, 0xD3, 0xBF, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0x41, 0xD3, 0xC2, /* 0x88-0x8B */ + 0xB0, 0x46, 0xD3, 0xBC, 0xD3, 0xCB, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xD3, 0xCD, 0xD3, 0xBD, 0x3F, 0x3F, 0xB0, 0x43, /* 0x90-0x93 */ + 0xD3, 0xCE, 0xD3, 0xC9, 0xD3, 0xBB, 0xD3, 0xC0, /* 0x94-0x97 */ + 0xD3, 0xCA, 0xD3, 0xC6, 0xD3, 0xC3, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xB0, 0x48, 0xD3, 0xCC, 0xD3, 0xBE, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xD3, 0xC7, 0xD3, 0xB9, 0xB0, 0x47, /* 0xA0-0xA3 */ + 0xB0, 0x44, 0xD3, 0xC5, 0x3F, 0x3F, 0xD3, 0xC8, /* 0xA4-0xA7 */ + 0xD3, 0xBA, 0xB0, 0x45, 0xB0, 0x42, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x4C, /* 0xAC-0xAF */ + 0xD7, 0xA5, 0xB3, 0x4B, 0x3F, 0x3F, 0xD7, 0xA8, /* 0xB0-0xB3 */ + 0xD7, 0xAB, 0xB3, 0x48, 0xB3, 0x46, 0xD7, 0x7E, /* 0xB4-0xB7 */ + 0xD7, 0xA9, 0xD7, 0xA7, 0xD7, 0xA4, 0xD7, 0xAC, /* 0xB8-0xBB */ + 0xD7, 0xAD, 0xD7, 0xAF, 0xD7, 0xB0, 0xD7, 0x7D, /* 0xBC-0xBF */ + 0xB3, 0x45, 0xD7, 0xA2, 0xD7, 0xA1, 0xD7, 0xAE, /* 0xC0-0xC3 */ + 0xB3, 0x47, 0xD7, 0xA3, 0xB3, 0x49, 0xB3, 0x44, /* 0xC4-0xC7 */ + 0xD7, 0xA6, 0xB3, 0x4D, 0x3F, 0x3F, 0xB3, 0x4A, /* 0xC8-0xCB */ + 0xD7, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xB5, 0xF1, 0xDB, 0xBF, 0x3F, 0x3F, 0xDB, 0xB4, /* 0xD0-0xD3 */ + 0xB5, 0xEE, 0x3F, 0x3F, 0xDF, 0xE7, 0xDB, 0xBD, /* 0xD4-0xD7 */ + 0xDB, 0xB1, 0xB5, 0xEC, 0xDB, 0xB6, 0xB5, 0xEF, /* 0xD8-0xDB */ + 0xDB, 0xBA, 0xDB, 0xB8, 0xB5, 0xF2, 0xB5, 0xEB, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xB2, 0xDB, 0xB5, /* 0xE0-0xE3 */ + 0xB5, 0xF0, 0x3F, 0x3F, 0xDB, 0xB3, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xDB, 0xBE, 0xDB, 0xBC, 0xDB, 0xB7, 0xDB, 0xB9, /* 0xE8-0xEB */ + 0xDB, 0xBB, 0xB5, 0xED, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xDF, 0xE8, 0xDF, 0xEE, 0xDF, 0xE4, /* 0xF4-0xF7 */ + 0xDF, 0xEA, 0xB8, 0xBA, 0xDF, 0xE6, 0xB8, 0xC0, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB8, 0xBF, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_87[512] = { + 0xB8, 0xBE, 0xDF, 0xED, 0xB8, 0xC1, 0xB8, 0xC2, /* 0x00-0x03 */ + 0xDF, 0xE3, 0xDF, 0xF0, 0xB8, 0xC3, 0xB8, 0xBD, /* 0x04-0x07 */ + 0xB8, 0xBC, 0xDF, 0xEC, 0xB8, 0xC4, 0xDF, 0xE2, /* 0x08-0x0B */ + 0xDF, 0xE5, 0xDF, 0xEF, 0xDF, 0xEB, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xE3, 0xF4, 0xE3, 0xE9, 0xB8, 0xBB, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xBB, 0x6A, 0xE3, 0xDD, 0xE3, 0xF2, 0xE3, 0xDE, /* 0x18-0x1B */ + 0xBB, 0x65, 0x3F, 0x3F, 0xE3, 0xDB, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xE3, 0xE4, 0xE3, 0xDC, 0xBB, 0x67, 0xE3, 0xD6, /* 0x20-0x23 */ + 0xE3, 0xF1, 0xBB, 0x68, 0xE3, 0xEE, 0xE3, 0xEF, /* 0x24-0x27 */ + 0xE3, 0xD7, 0xBB, 0x6D, 0xE3, 0xE6, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xE3, 0xE0, 0xE3, 0xE7, 0xE3, 0xDA, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xE3, 0xF3, 0xE3, 0xEB, 0xE3, 0xE5, 0xE3, 0xD5, /* 0x30-0x33 */ + 0xBB, 0x69, 0xE3, 0xEC, 0x3F, 0x3F, 0xBB, 0x6C, /* 0x34-0x37 */ + 0xE3, 0xF0, 0x3F, 0x3F, 0xE3, 0xEA, 0xBB, 0x66, /* 0x38-0x3B */ + 0xE3, 0xE8, 0x3F, 0x3F, 0xE3, 0xE2, 0xBB, 0x64, /* 0x3C-0x3F */ + 0xE3, 0xD9, 0xE3, 0xE1, 0xE3, 0xED, 0xE3, 0xDF, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xE3, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xBD, 0xC1, 0xDF, 0xE9, 0xE7, 0xB2, 0xE7, 0xBB, /* 0x4C-0x4F */ + 0xE7, 0xB1, 0xE7, 0xAD, 0xE7, 0xAA, 0xBD, 0xC2, /* 0x50-0x53 */ + 0xE7, 0xA8, 0xBB, 0x6B, 0xE7, 0xA1, 0xBD, 0xC0, /* 0x54-0x57 */ + 0xE7, 0xA7, 0xBD, 0xBF, 0xE7, 0xAC, 0xE7, 0xA9, /* 0x58-0x5B */ + 0xE7, 0xB9, 0xE7, 0xB4, 0xE7, 0xAE, 0xE7, 0xB3, /* 0x5C-0x5F */ + 0xBD, 0xBB, 0xE7, 0xAB, 0xE7, 0xBE, 0xE7, 0xA2, /* 0x60-0x63 */ + 0xE7, 0xA3, 0xE7, 0xBA, 0xBD, 0xBC, 0xE7, 0xBF, /* 0x64-0x67 */ + 0xBD, 0xBE, 0xE7, 0xC0, 0xE7, 0xB0, 0xE3, 0xD8, /* 0x68-0x6B */ + 0xE7, 0xB6, 0xE7, 0xAF, 0xE7, 0xB8, 0xE7, 0xB5, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xA6, /* 0x70-0x73 */ + 0xBD, 0xB9, 0xE7, 0xBD, 0xBD, 0xBA, 0xE7, 0xA4, /* 0x74-0x77 */ + 0xBD, 0xBD, 0xEB, 0x64, 0xE7, 0xB7, 0xE7, 0xBC, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xEB, 0x61, 0xBD, 0xB8, 0xBF, 0xC0, /* 0x80-0x83 */ + 0xEB, 0x6B, 0xEB, 0x67, 0x3F, 0x3F, 0xEB, 0x65, /* 0x84-0x87 */ + 0xEB, 0x60, 0xEB, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xBF, 0xC4, 0x3F, 0x3F, 0xEB, 0x5C, /* 0x8C-0x8F */ + 0xEB, 0x68, 0xEB, 0x69, 0xEB, 0x5F, 0xEB, 0x5E, /* 0x90-0x93 */ + 0xEB, 0x6C, 0x3F, 0x3F, 0xEB, 0x62, 0xEB, 0x5D, /* 0x94-0x97 */ + 0xEB, 0x63, 0x3F, 0x3F, 0xEB, 0x6E, 0xEB, 0x5B, /* 0x98-0x9B */ + 0xEB, 0x6D, 0xEB, 0x6A, 0xBF, 0xC2, 0xBF, 0xC1, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBF, 0xC3, 0xEB, 0x66, /* 0xA0-0xA3 */ + 0xF0, 0xCB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0x59, 0xC1, 0xB1, /* 0xA8-0xAB */ + 0xEE, 0x5D, 0xEE, 0x5A, 0xEE, 0x61, 0xEE, 0x67, /* 0xAC-0xAF */ + 0xEE, 0x5C, 0x3F, 0x3F, 0xEE, 0x70, 0xC1, 0xAE, /* 0xB0-0xB3 */ + 0xEE, 0x6A, 0xEE, 0x5F, 0xEE, 0x6B, 0xEE, 0x66, /* 0xB4-0xB7 */ + 0xEE, 0x6D, 0xEE, 0x5E, 0xC1, 0xB3, 0xC1, 0xB2, /* 0xB8-0xBB */ + 0xEE, 0x60, 0xEE, 0x6E, 0xEE, 0x58, 0xEE, 0x6C, /* 0xBC-0xBF */ + 0xC1, 0xAC, 0x3F, 0x3F, 0xEE, 0x64, 0xEE, 0x63, /* 0xC0-0xC3 */ + 0xEE, 0x68, 0xEE, 0x5B, 0xC1, 0xB0, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xC1, 0xB4, 0xEE, 0x62, 0xEE, 0x69, 0xC1, 0xB5, /* 0xC8-0xCB */ + 0xEE, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xC1, 0xAD, 0xC1, 0xAF, 0xF0, 0xC7, /* 0xD0-0xD3 */ + 0xF0, 0xC5, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xCC, /* 0xD4-0xD7 */ + 0xF0, 0xC9, 0xF0, 0xCD, 0x3F, 0x3F, 0xF0, 0xBE, /* 0xD8-0xDB */ + 0xF0, 0xC6, 0xF0, 0xD1, 0xEE, 0x6F, 0xF0, 0xC2, /* 0xDC-0xDF */ + 0xC2, 0xCF, 0xE7, 0xA5, 0xF0, 0xBD, 0xF0, 0xCA, /* 0xE0-0xE3 */ + 0xF0, 0xC4, 0xF0, 0xC1, 0xF0, 0xBC, 0xF0, 0xBB, /* 0xE4-0xE7 */ + 0xF0, 0xD0, 0x3F, 0x3F, 0xF0, 0xC0, 0xF0, 0xBF, /* 0xE8-0xEB */ + 0xC2, 0xCD, 0xF0, 0xC8, 0x3F, 0x3F, 0xC2, 0xCC, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0xCE, 0xF0, 0xC3, /* 0xF0-0xF3 */ + 0xF0, 0xCF, 0x3F, 0x3F, 0xF2, 0xDE, 0xF2, 0xDF, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xC3, 0xC9, 0xF2, 0xDC, 0xC3, 0xC6, /* 0xF8-0xFB */ + 0xF2, 0xE4, 0x3F, 0x3F, 0xC3, 0xCA, 0xF2, 0xE6, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_88[512] = { + 0xF2, 0xDB, 0xF0, 0xCE, 0xF2, 0xE8, 0xF2, 0xDD, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xC3, 0xC7, 0xF2, 0xE3, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xF2, 0xE5, 0xF2, 0xE0, 0xF2, 0xE7, 0xF2, 0xE2, /* 0x08-0x0B */ + 0xF2, 0xE1, 0xC3, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xF4, 0xC5, 0xF4, 0xC6, 0x3F, 0x3F, 0xF4, 0xC8, /* 0x10-0x13 */ + 0xC4, 0xAE, 0xC4, 0xAF, 0xF4, 0xC9, 0xF4, 0xC7, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xF4, 0xC4, 0x3F, 0x3F, 0xF6, 0x42, /* 0x18-0x1B */ + 0xF6, 0x45, 0xF6, 0x41, 0x3F, 0x3F, 0xC4, 0xFA, /* 0x1C-0x1F */ + 0xF6, 0x43, 0xC4, 0xF9, 0xC4, 0xF8, 0xC4, 0xF7, /* 0x20-0x23 */ + 0xF6, 0x44, 0xF7, 0x51, 0xF7, 0x4F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xF7, 0x4E, 0xF6, 0x40, 0xF7, 0x50, 0xF6, 0x46, /* 0x28-0x2B */ + 0xF7, 0x4D, 0x3F, 0x3F, 0xF7, 0xF9, 0xF7, 0xD7, /* 0x2C-0x2F */ + 0xF7, 0xF7, 0xC5, 0xDB, 0xF7, 0xF8, 0xF7, 0xFA, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xF8, 0xBF, 0xC5, 0xFA, 0xF8, 0xBE, /* 0x34-0x37 */ + 0xF8, 0xBD, 0xC5, 0xFB, 0x3F, 0x3F, 0xC6, 0x5A, /* 0x38-0x3B */ + 0xF9, 0x6E, 0xF9, 0xA7, 0xF9, 0xA6, 0xF9, 0xA8, /* 0x3C-0x3F */ + 0xA6, 0xE5, 0xD0, 0xAA, 0x3F, 0x3F, 0xD3, 0xCF, /* 0x40-0x43 */ + 0xD3, 0xD0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xDB, 0xC0, 0x3F, 0x3F, 0xF6, 0x47, 0xF8, 0xC0, /* 0x48-0x4B */ + 0xA6, 0xE6, 0xAD, 0x6C, 0xD0, 0xAB, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xB1, 0xB3, 0x4E, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xDB, 0xC2, 0xDB, 0xC1, 0xB5, 0xF3, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xB8, 0xC5, 0xE7, 0xC1, 0xBD, 0xC3, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xBD, 0xC4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xBF, 0xC5, 0xC5, 0xFC, 0xA6, 0xE7, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xAC, /* 0x64-0x67 */ + 0xAA, 0xED, 0xD0, 0xAE, 0xD0, 0xAD, 0xAD, 0x6D, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xD3, 0xD1, 0x3F, 0x3F, 0xD3, 0xD8, /* 0x6C-0x6F */ + 0xB0, 0x49, 0xD3, 0xD6, 0xD3, 0xD4, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xD3, 0xDB, 0xD3, 0xD2, 0xD3, 0xD3, 0xB0, 0x4A, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xB0, 0x4E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xD3, 0xDC, 0xB0, 0x4D, 0xD3, 0xDA, 0xD3, 0xD7, /* 0x7C-0x7F */ + + 0xD3, 0xD5, 0xB0, 0x4B, 0xB0, 0x4C, 0xD3, 0xD9, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xB3, 0x50, 0xD7, 0xB2, 0x3F, 0x3F, 0xB3, 0x55, /* 0x88-0x8B */ + 0xD7, 0xC2, 0xB3, 0x54, 0xD7, 0xC4, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xD7, 0xB8, 0xB3, 0x52, 0xD7, 0xC3, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xD7, 0xB3, 0xB3, 0x53, 0xD7, 0xBF, /* 0x94-0x97 */ + 0xD7, 0xBB, 0xD7, 0xBD, 0xD7, 0xB7, 0xD7, 0xBE, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x4F, 0xD7, 0xBA, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xD7, 0xB9, 0xD7, 0xB5, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xD7, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xBC, /* 0xA4-0xA7 */ + 0xD7, 0xB4, 0x3F, 0x3F, 0xD7, 0xB6, 0xB3, 0x51, /* 0xA8-0xAB */ + 0xD7, 0xC1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xB5, 0xF6, 0xDB, 0xCD, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xDB, 0xC9, 0xDB, 0xCB, /* 0xB4-0xB7 */ + 0xDB, 0xC6, 0xDB, 0xC5, 0xDB, 0xC3, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xDB, 0xCA, 0xDB, 0xCC, 0xDB, 0xC8, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xDB, 0xC7, 0xB5, 0xF4, 0xB5, 0xF5, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xDB, 0xCF, 0xB8, 0xCD, 0xDF, 0xF2, /* 0xC8-0xCB */ + 0xDF, 0xF8, 0xDF, 0xF3, 0xDF, 0xF4, 0xF9, 0xD8, /* 0xCC-0xCF */ + 0xDF, 0xF9, 0x3F, 0x3F, 0xB8, 0xCF, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xB8, 0xC7, 0xB8, 0xCE, 0xDF, 0xF1, 0xDB, 0xC4, /* 0xD4-0xD7 */ + 0xB8, 0xCA, 0xB8, 0xC8, 0xDF, 0xF7, 0xDF, 0xF6, /* 0xD8-0xDB */ + 0xB8, 0xC9, 0xB8, 0xCB, 0xDF, 0xF5, 0xB8, 0xC6, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xB8, 0xCC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE3, 0xF6, /* 0xE4-0xE7 */ + 0xBB, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0x42, /* 0xE8-0xEB */ + 0xE4, 0x41, 0x3F, 0x3F, 0xE3, 0xFB, 0xBB, 0x76, /* 0xEC-0xEF */ + 0xE4, 0x40, 0xE3, 0xF7, 0xE3, 0xF8, 0xBB, 0x6E, /* 0xF0-0xF3 */ + 0xBB, 0x70, 0x3F, 0x3F, 0xE3, 0xFD, 0xE3, 0xF5, /* 0xF4-0xF7 */ + 0xBB, 0x72, 0xBB, 0x71, 0xE3, 0xF9, 0xE3, 0xFE, /* 0xF8-0xFB */ + 0xE3, 0xFC, 0xBB, 0x73, 0xE3, 0xFA, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_89[512] = { + 0x3F, 0x3F, 0xDB, 0xCE, 0xBB, 0x6F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xE7, 0xC2, 0xE7, 0xC9, 0xBD, 0xC6, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xE7, 0xCD, 0xBD, 0xCA, 0xE7, 0xC5, /* 0x08-0x0B */ + 0xE7, 0xC3, 0x3F, 0x3F, 0xE7, 0xCC, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xBD, 0xC5, 0xE7, 0xCB, 0xBD, 0xC7, 0xBD, 0xC8, /* 0x10-0x13 */ + 0xE7, 0xC4, 0xBD, 0xC9, 0xE7, 0xCA, 0xE7, 0xC6, /* 0x14-0x17 */ + 0xE7, 0xC7, 0xE7, 0xC8, 0xBB, 0x75, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0x70, 0xEB, 0x7C, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xBF, 0xCA, 0xEB, 0x77, 0xEB, 0x79, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xBF, 0xC8, 0xEB, 0x71, 0xEB, 0x75, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xEB, 0x78, 0xBF, 0xC6, 0xBF, 0xC9, /* 0x28-0x2B */ + 0xEB, 0x7B, 0xEB, 0x73, 0xEB, 0x74, 0xEB, 0x7A, /* 0x2C-0x2F */ + 0xEB, 0x72, 0xEB, 0x76, 0xBF, 0xC7, 0xEE, 0x72, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xEE, 0x71, 0xC1, 0xB7, 0xEE, 0x77, /* 0x34-0x37 */ + 0xC1, 0xB9, 0x3F, 0x3F, 0x3F, 0x3F, 0xC1, 0xB6, /* 0x38-0x3B */ + 0xEE, 0x73, 0xC1, 0xBA, 0xEE, 0x74, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xEE, 0x75, 0xEE, 0x78, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xC1, 0xB8, 0x3F, 0x3F, 0xF0, 0xD6, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xF0, 0xD9, 0x3F, 0x3F, 0xF0, 0xD3, /* 0x48-0x4B */ + 0xF0, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0xD4, /* 0x4C-0x4F */ + 0xF0, 0xD7, 0xF0, 0xD8, 0xEE, 0x76, 0xF0, 0xD2, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC3, 0xCD, 0xF2, 0xEC, /* 0x54-0x57 */ + 0xF2, 0xEF, 0xF2, 0xF1, 0xF2, 0xEA, 0xF2, 0xEB, /* 0x58-0x5B */ + 0xF2, 0xEE, 0xF2, 0xF0, 0xC3, 0xCE, 0xC3, 0xCC, /* 0x5C-0x5F */ + 0xC3, 0xCB, 0xF2, 0xED, 0xF2, 0xE9, 0xF4, 0xCA, /* 0x60-0x63 */ + 0xC4, 0xB0, 0x3F, 0x3F, 0xF4, 0xCB, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xF6, 0x49, 0xC4, 0xFB, 0xF6, 0x4B, /* 0x68-0x6B */ + 0xC4, 0xFC, 0xF6, 0x48, 0xF6, 0x4A, 0xC5, 0xA8, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xF7, 0x52, 0xC5, 0xA7, 0xF7, 0xFD, /* 0x70-0x73 */ + 0xF7, 0xFC, 0x3F, 0x3F, 0xF7, 0xFB, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xF9, 0x48, 0xF9, 0x49, 0xF9, 0x4B, /* 0x78-0x7B */ + 0xF9, 0x4A, 0x3F, 0x3F, 0xCA, 0x50, 0xA6, 0xE8, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xAD, 0x6E, 0xD7, 0xC5, 0xB5, 0xF7, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xDF, 0xFA, 0xC2, 0xD0, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xF2, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xA3, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x57, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x56, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xDB, 0xD0, 0xB5, 0xF8, 0xDB, 0xD2, /* 0x94-0x97 */ + 0xDB, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0xDF, 0xFB, /* 0x98-0x9B */ + 0xB8, 0xD0, 0xE4, 0x43, 0xE4, 0x46, 0xE4, 0x45, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xE4, 0x44, 0xE7, 0xCE, 0xE7, 0xD0, /* 0xA0-0xA3 */ + 0xE7, 0xCF, 0x3F, 0x3F, 0xBF, 0xCC, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBF, 0xCB, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xC1, 0xBB, 0xEE, 0x79, 0xEE, 0x7B, 0xEE, 0x7A, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0xD1, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF2, 0xF4, 0xF2, 0xF3, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xF4, 0xCC, 0xC4, 0xB1, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xC4, 0xFD, 0xF7, 0x54, 0xF7, 0x53, /* 0xBC-0xBF */ + 0xC6, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xA4, 0xD0, 0xAF, /* 0xD0-0xD3 */ + 0xAD, 0x6F, 0xD7, 0xC8, 0xD7, 0xC6, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xD7, 0xC7, 0xDB, 0xD4, 0xDB, 0xD5, /* 0xD8-0xDB */ + 0xE0, 0x43, 0xDB, 0xD3, 0x3F, 0x3F, 0xDF, 0xFC, /* 0xDC-0xDF */ + 0xE0, 0x41, 0xE0, 0x40, 0xE0, 0x42, 0xB8, 0xD1, /* 0xE0-0xE3 */ + 0xDF, 0xFE, 0xDF, 0xFD, 0xE0, 0x44, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xE4, 0x49, 0xE4, 0x47, 0x3F, 0x3F, 0xE4, 0x48, /* 0xE8-0xEB */ + 0xE7, 0xD3, 0xE7, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xE7, 0xD2, 0xEB, 0x7D, 0xEE, 0x7C, 0xEE, 0x7D, /* 0xF0-0xF3 */ + 0xC2, 0xD2, 0x3F, 0x3F, 0xF2, 0xF5, 0xF4, 0xCD, /* 0xF4-0xF7 */ + 0xC4, 0xB2, 0x3F, 0x3F, 0xF6, 0x4C, 0xF7, 0x55, /* 0xF8-0xFB */ + 0xC5, 0xA9, 0x3F, 0x3F, 0xF7, 0xFE, 0xF9, 0x4C, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8A[512] = { + 0xA8, 0xA5, 0x3F, 0x3F, 0xAD, 0x71, 0xAD, 0x72, /* 0x00-0x03 */ + 0xD0, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xB1, /* 0x04-0x07 */ + 0xAD, 0x70, 0x3F, 0x3F, 0xB0, 0x54, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xB0, 0x52, 0x3F, 0x3F, 0xB0, 0x51, 0xB0, 0x58, /* 0x0C-0x0F */ + 0xB0, 0x50, 0xB0, 0x59, 0xD3, 0xDD, 0xB0, 0x56, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xB0, 0x53, 0xB0, 0x57, 0xB0, 0x55, /* 0x14-0x17 */ + 0xB0, 0x4F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x5F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xB3, 0x59, 0xD7, 0xCC, 0xB3, 0x5E, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x60, 0xB3, 0x5A, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xB3, 0x5B, 0x3F, 0x3F, 0xD7, 0xCA, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x58, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xD7, 0xCB, 0xB3, 0x5D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xD7, 0xC9, 0xB3, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xB6, 0x44, 0x3F, 0x3F, 0xB6, 0x46, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xDB, 0xD8, 0xB6, 0x45, 0xB5, 0xF9, /* 0x38-0x3B */ + 0xB5, 0xFD, 0x3F, 0x3F, 0xB8, 0xE4, 0xE0, 0x49, /* 0x3C-0x3F */ + 0xDB, 0xDA, 0xB5, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xDB, 0xDD, 0xDB, 0xDE, 0xB6, 0x43, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xDB, 0xE0, 0x3F, 0x3F, 0xDB, 0xE2, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xDB, 0xE3, 0xDB, 0xD7, 0xDB, 0xD6, 0xDB, 0xE4, /* 0x4C-0x4F */ + 0xB6, 0x42, 0xDB, 0xE1, 0xDB, 0xDF, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xB6, 0x40, 0xB5, 0xFB, 0xB6, 0x47, 0xDB, 0xDB, /* 0x54-0x57 */ + 0xDB, 0xDC, 0xDB, 0xD9, 0x3F, 0x3F, 0xB6, 0x41, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB5, 0xFC, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xB5, 0xFA, 0xE0, 0x48, 0xB8, 0xDF, 0xB8, 0xDA, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB8, 0xD5, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xB8, 0xE5, 0xB8, 0xD6, 0x3F, 0x3F, 0xB8, 0xD2, /* 0x68-0x6B */ + 0xB8, 0xE1, 0xB8, 0xDE, 0xB8, 0xE0, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xB8, 0xD7, 0xB8, 0xDC, 0xB8, 0xD3, 0xB8, 0xD4, /* 0x70-0x73 */ + 0xE0, 0x50, 0xE0, 0x4D, 0xE0, 0x45, 0xE0, 0x4A, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xB8, 0xE2, 0xE0, 0x51, 0xB8, 0xE3, /* 0x78-0x7B */ + 0xB8, 0xD9, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0x47, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xE0, 0x4F, 0xE0, 0x4B, 0xE0, 0x4E, /* 0x80-0x83 */ + 0xE0, 0x4C, 0xB8, 0xDD, 0xE0, 0x46, 0xB8, 0xD8, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0x4C, /* 0x88-0x8B */ + 0xBB, 0x78, 0xBB, 0x7B, 0x3F, 0x3F, 0xE4, 0x4E, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xBB, 0xA5, 0xE4, 0x4D, 0xBB, 0x7D, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xBD, 0xCF, 0xE4, 0x4F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xBB, 0xA4, 0xE4, 0x4B, 0xBB, 0xA6, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBB, 0x79, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xB8, 0xDB, 0xBB, 0x7C, 0x3F, 0x3F, 0xBB, 0x7A, /* 0xA0-0xA3 */ + 0xBB, 0x7E, 0xBB, 0xA2, 0xBB, 0x77, 0xBB, 0xA7, /* 0xA4-0xA7 */ + 0xBB, 0xA3, 0x3F, 0x3F, 0xBB, 0xA1, 0xE4, 0x4A, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xBD, 0xD6, 0x3F, 0x3F, 0xBD, 0xD2, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBD, 0xD9, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xE7, 0xD6, 0xBD, 0xDA, 0xE7, 0xE2, 0xE7, 0xDB, /* 0xB8-0xBB */ + 0xBD, 0xCB, 0xE7, 0xE3, 0xE7, 0xDD, 0xBD, 0xD5, /* 0xBC-0xBF */ + 0xE7, 0xDE, 0x3F, 0x3F, 0xBD, 0xD4, 0xE7, 0xE1, /* 0xC0-0xC3 */ + 0xBD, 0xCE, 0xE7, 0xDF, 0xE7, 0xD5, 0xBD, 0xCD, /* 0xC4-0xC7 */ + 0xEB, 0xAA, 0xBD, 0xD3, 0x3F, 0x3F, 0xBD, 0xD0, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xBD, 0xD8, 0x3F, 0x3F, 0xE7, 0xD4, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xE7, 0xD8, 0xBD, 0xCC, 0xE7, 0xD7, /* 0xD0-0xD3 */ + 0xE7, 0xD9, 0xE7, 0xDA, 0xBD, 0xD7, 0xE7, 0xDC, /* 0xD4-0xD7 */ + 0xE7, 0xE0, 0xE7, 0xE4, 0x3F, 0x3F, 0xBD, 0xDB, /* 0xD8-0xDB */ + 0xBF, 0xD2, 0xEB, 0xA5, 0xEB, 0xAB, 0xEB, 0xA8, /* 0xDC-0xDF */ + 0xEB, 0x7E, 0xEB, 0xAC, 0xEB, 0xA1, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xEB, 0xA7, 0x3F, 0x3F, 0xBF, 0xCD, 0xBF, 0xD3, /* 0xE4-0xE7 */ + 0xEB, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, 0xBF, 0xCF, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xBF, 0xD9, 0xBF, 0xD4, 0xEB, 0xAF, /* 0xEC-0xEF */ + 0xEB, 0xA9, 0xBF, 0xD0, 0xEB, 0xA2, 0xBF, 0xDA, /* 0xF0-0xF3 */ + 0xEB, 0xA3, 0xEB, 0xA4, 0xBF, 0xDB, 0xBF, 0xD8, /* 0xF4-0xF7 */ + 0xBD, 0xD1, 0x3F, 0x3F, 0xBF, 0xCE, 0xEB, 0xB0, /* 0xF8-0xFB */ + 0xBF, 0xDC, 0x3F, 0x3F, 0xBF, 0xD5, 0xEB, 0xAE, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8B[512] = { + 0xBF, 0xD1, 0xBF, 0xD6, 0xBF, 0xD7, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xC1, 0xC3, 0xEE, 0xA4, 0xEE, 0xAD, 0xEE, 0xAA, /* 0x04-0x07 */ + 0xEE, 0xAC, 0x3F, 0x3F, 0xC1, 0xC0, 0xEE, 0xA5, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xEE, 0xAB, 0xC1, 0xBC, 0xEE, 0xA7, /* 0x0C-0x0F */ + 0xC1, 0xC4, 0xEE, 0xA3, 0xEE, 0xA8, 0xEE, 0xAF, /* 0x10-0x13 */ + 0xEB, 0xA6, 0xEE, 0xA9, 0xEE, 0xA2, 0xC1, 0xBD, /* 0x14-0x17 */ + 0xEE, 0xA1, 0xC1, 0xBE, 0xEE, 0xB0, 0xC1, 0xBF, /* 0x18-0x1B */ + 0xEE, 0xAE, 0xC1, 0xC2, 0xEE, 0x7E, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xC1, 0xC1, 0x3F, 0x3F, 0xEE, 0xA6, 0xF0, 0xDC, /* 0x20-0x23 */ + 0xF0, 0xEA, 0xF0, 0xE5, 0xF0, 0xE7, 0xF0, 0xDB, /* 0x24-0x27 */ + 0xC2, 0xD3, 0x3F, 0x3F, 0xF0, 0xDA, 0xC2, 0xD6, /* 0x28-0x2B */ + 0xC2, 0xD5, 0x3F, 0x3F, 0xF0, 0xE9, 0xF0, 0xE1, /* 0x2C-0x2F */ + 0xF0, 0xDE, 0xF0, 0xE4, 0x3F, 0x3F, 0xF0, 0xDD, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xF0, 0xDF, 0xF0, 0xE8, 0xF0, 0xE6, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xC2, 0xD4, 0xF0, 0xED, 0xF0, 0xEB, /* 0x38-0x3B */ + 0xF0, 0xE2, 0xF0, 0xEC, 0xF0, 0xE3, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xF2, 0xF9, 0xC3, 0xCF, 0xF3, 0x41, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xF6, 0x4F, 0xC3, 0xD6, 0xF0, 0xE0, /* 0x44-0x47 */ + 0xF2, 0xF7, 0xC3, 0xD2, 0xF2, 0xF8, 0xF2, 0xFD, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC3, 0xD4, 0xC3, 0xD5, /* 0x4C-0x4F */ + 0xF2, 0xF6, 0xF3, 0x40, 0xF3, 0x42, 0xF2, 0xFA, /* 0x50-0x53 */ + 0xF2, 0xFC, 0xF2, 0xFE, 0xF2, 0xFB, 0xF3, 0x43, /* 0x54-0x57 */ + 0xC3, 0xD1, 0xC3, 0xD7, 0xC3, 0xD3, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xC3, 0xD0, 0xF4, 0xD0, 0x3F, 0x3F, 0xC4, 0xB7, /* 0x5C-0x5F */ + 0xF4, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, 0xF4, 0xD2, /* 0x60-0x63 */ + 0x3F, 0x3F, 0xF4, 0xD3, 0xC4, 0xB5, 0xF4, 0xD4, /* 0x64-0x67 */ + 0xF4, 0xD1, 0x3F, 0x3F, 0xF4, 0xCF, 0xC4, 0xB8, /* 0x68-0x6B */ + 0xC4, 0xB4, 0xF4, 0xD5, 0x3F, 0x3F, 0xC4, 0xB6, /* 0x6C-0x6F */ + 0xC4, 0xB3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xC4, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, 0xC5, 0x40, /* 0x74-0x77 */ + 0xF6, 0x4E, 0xF6, 0x4D, 0xF6, 0x50, 0xF6, 0x51, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xC5, 0x41, 0xF7, 0x56, 0xF7, 0x5B, /* 0x7C-0x7F */ + + 0xC5, 0xAA, 0x3F, 0x3F, 0xF7, 0x58, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xF7, 0x57, 0xF7, 0x5A, 0xF7, 0x59, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xF8, 0x43, 0x3F, 0x3F, 0xC5, 0xDC, 0xF8, 0x42, /* 0x88-0x8B */ + 0xF8, 0x40, 0x3F, 0x3F, 0xF8, 0x41, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC5, 0xFE, 0xC5, 0xFD, /* 0x90-0x93 */ + 0xF8, 0xC1, 0xF8, 0xC2, 0xC6, 0x40, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xF9, 0x4D, 0xF9, 0x4E, 0xC6, 0x67, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xC6, 0x6D, 0x3F, 0x3F, 0xF9, 0xA9, 0xF9, 0xC8, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8C[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xA6, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xD7, 0xCD, 0x3F, 0x3F, 0xD7, 0xCE, /* 0x38-0x3B */ + 0xE0, 0x52, 0xE4, 0x50, 0xE7, 0xE5, 0xC1, 0xC6, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xC1, 0xC5, 0xF0, 0xEE, 0xF3, 0x44, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xF8, 0x44, 0xA8, 0xA7, 0xD3, 0xDE, /* 0x44-0x47 */ + 0xB0, 0x5A, 0xB3, 0x61, 0xE0, 0x54, 0xE0, 0x53, /* 0x48-0x4B */ + 0xBD, 0xDC, 0xE7, 0xE6, 0xBD, 0xDD, 0xEE, 0xB1, /* 0x4C-0x4F */ + 0xC2, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xC6, 0x76, 0xA8, 0xA8, 0xCD, 0xCB, 0xD3, 0xDF, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x62, 0x3F, 0x3F, /* 0x58-0x5B */ + 0xD7, 0xCF, 0xD7, 0xD0, 0x3F, 0x3F, 0xDB, 0xE5, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xB6, 0x48, 0xB8, 0xE6, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xE0, 0x56, 0xE0, 0x55, 0xE0, 0x57, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xE4, 0x51, 0xE4, 0x52, 0xBB, 0xA8, 0xBF, 0xDD, /* 0x68-0x6B */ + 0xBD, 0xDE, 0xBF, 0xDE, 0x3F, 0x3F, 0xEE, 0xB5, /* 0x6C-0x6F */ + 0xEE, 0xB2, 0xEE, 0xB4, 0xEE, 0xB3, 0xC1, 0xC7, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xF0, 0xEF, 0xF3, 0x46, 0xF3, 0x45, /* 0x74-0x77 */ + 0xCB, 0xA4, 0xB0, 0x5C, 0xB0, 0x5B, 0xD3, 0xE0, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xD7, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xDB, 0xE7, 0xDB, 0xE6, 0xB6, 0x49, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xE0, 0x59, 0xE0, 0x5A, 0xE0, 0x58, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xB8, 0xE8, 0xB8, 0xE7, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xBB, 0xAA, 0xBB, 0xA9, 0x3F, 0x3F, 0xE7, 0xE7, /* 0x8C-0x8F */ + 0xEB, 0xB3, 0xEB, 0xB1, 0xEB, 0xB2, 0xBF, 0xDF, /* 0x90-0x93 */ + 0xEE, 0xB7, 0xEE, 0xB6, 0x3F, 0x3F, 0xF0, 0xF2, /* 0x94-0x97 */ + 0xF0, 0xF1, 0xF0, 0xF0, 0xF3, 0x47, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xF9, 0xAA, 0xA8, 0xA9, 0xAD, 0x73, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xAD, 0x74, 0xB0, 0x5D, 0xB0, 0x5E, 0xD3, 0xE2, /* 0xA0-0xA3 */ + 0xD3, 0xE1, 0xD7, 0xD2, 0x3F, 0x3F, 0xB3, 0x68, /* 0xA4-0xA7 */ + 0xB3, 0x66, 0xB3, 0x63, 0xB3, 0x67, 0xB3, 0x65, /* 0xA8-0xAB */ + 0xB3, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0x4A, /* 0xAC-0xAF */ + 0xDB, 0xEA, 0x3F, 0x3F, 0xB8, 0xED, 0xB6, 0x4C, /* 0xB0-0xB3 */ + 0xB6, 0x51, 0xDB, 0xEC, 0xB6, 0x53, 0xB6, 0x52, /* 0xB4-0xB7 */ + 0xB6, 0x55, 0xDB, 0xEB, 0xDB, 0xE8, 0xB6, 0x4F, /* 0xB8-0xBB */ + 0xB6, 0x4B, 0xB6, 0x4D, 0xDB, 0xE9, 0xB6, 0x54, /* 0xBC-0xBF */ + 0xB6, 0x50, 0xB6, 0x4E, 0xB8, 0xEF, 0xB8, 0xEE, /* 0xC0-0xC3 */ + 0xB8, 0xEC, 0xB8, 0xF0, 0x3F, 0x3F, 0xB8, 0xEA, /* 0xC4-0xC7 */ + 0xB8, 0xEB, 0x3F, 0x3F, 0xB8, 0xE9, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xE0, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0x54, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xBB, 0xAC, 0xBB, 0xAD, 0xBB, 0xAB, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xE4, 0x53, 0x3F, 0x3F, 0xE4, 0x55, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xE7, 0xEA, 0xE7, 0xEC, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xBD, 0xE7, 0xE7, 0xED, 0xBD, 0xE0, 0xE7, 0xE9, /* 0xDC-0xDF */ + 0xBD, 0xDF, 0xBD, 0xE9, 0xBD, 0xE5, 0xBD, 0xE6, /* 0xE0-0xE3 */ + 0xBD, 0xE2, 0xE7, 0xE8, 0xBD, 0xE1, 0xE7, 0xEE, /* 0xE4-0xE7 */ + 0xE7, 0xEB, 0x3F, 0x3F, 0xBD, 0xE8, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xBD, 0xE3, 0xBD, 0xE4, 0xEB, 0xB5, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xEB, 0xB7, 0xEB, 0xB6, 0x3F, 0x3F, 0xEB, 0xB8, /* 0xF0-0xF3 */ + 0xBF, 0xE0, 0xEB, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xC1, 0xCB, 0xEE, 0xB8, 0xC1, 0xC8, 0xC1, 0xCC, /* 0xF8-0xFB */ + 0xC1, 0xCA, 0xC1, 0xC9, 0xF0, 0xF3, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8D[512] = { + 0xF0, 0xF6, 0x3F, 0x3F, 0xF0, 0xF5, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xF0, 0xF4, 0xC2, 0xD8, 0xF3, 0x48, 0xF3, 0x49, /* 0x04-0x07 */ + 0xC3, 0xD8, 0xF3, 0x4A, 0xC3, 0xD9, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xC4, 0xBA, 0x3F, 0x3F, 0xC4, 0xB9, /* 0x0C-0x0F */ + 0xF6, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, 0xC5, 0x42, /* 0x10-0x13 */ + 0xF6, 0x53, 0xF7, 0x5C, 0xC5, 0xAB, 0xC5, 0xAC, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xF8, 0x45, 0x3F, 0x3F, 0xC6, 0x42, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xA8, 0xAA, 0x3F, 0x3F, 0xB3, 0x6A, 0xB3, 0x69, /* 0x64-0x67 */ + 0xE0, 0x5C, 0xE0, 0x5D, 0x3F, 0x3F, 0xBB, 0xAE, /* 0x68-0x6B */ + 0xEB, 0xB9, 0xBD, 0xEA, 0xEB, 0xBA, 0xEE, 0xB9, /* 0x6C-0x6F */ + 0xA8, 0xAB, 0x3F, 0x3F, 0xD0, 0xB2, 0xAD, 0x76, /* 0x70-0x73 */ + 0xAD, 0x75, 0x3F, 0x3F, 0xD3, 0xE3, 0xB0, 0x5F, /* 0x74-0x77 */ + 0xD3, 0xE4, 0xD7, 0xD5, 0x3F, 0x3F, 0xD7, 0xD4, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xD7, 0xD3, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xDB, 0xEE, 0xB6, 0x58, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xDB, 0xED, 0xB6, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xDB, 0xEF, 0xB6, 0x56, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xE0, 0x5F, 0xE0, 0x62, 0xE0, 0x60, 0xE0, 0x61, /* 0x8C-0x8F */ + 0xE0, 0x65, 0xE0, 0x5E, 0xE0, 0x66, 0xE0, 0x63, /* 0x90-0x93 */ + 0xE0, 0x64, 0xBB, 0xB0, 0xE4, 0x56, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xBB, 0xAF, 0x3F, 0x3F, 0xE7, 0xF2, /* 0x98-0x9B */ + 0xE7, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0xBD, 0xEB, /* 0x9C-0x9F */ + 0xE7, 0xEF, 0xE7, 0xF1, 0x3F, 0x3F, 0xBD, 0xEC, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xEB, 0xBB, 0x3F, 0x3F, 0xEB, 0xBC, /* 0xA4-0xA7 */ + 0xC1, 0xCD, 0x3F, 0x3F, 0xF3, 0x4C, 0xF3, 0x4E, /* 0xA8-0xAB */ + 0xF3, 0x4B, 0xF3, 0x4D, 0xF4, 0xD6, 0xF6, 0x54, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0x6F, 0xA8, 0xAC, /* 0xB0-0xB3 */ + 0xAD, 0x77, 0xD3, 0xE5, 0xD3, 0xE7, 0xD3, 0xE6, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xD7, 0xD8, 0xB3, 0x6C, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xD7, 0xD6, 0x3F, 0x3F, 0xB3, 0x6B, 0xD7, 0xD9, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xD7, 0xDA, 0xD7, 0xD7, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xDB, 0xFB, 0xB6, 0x60, 0xDB, 0xF3, /* 0xC4-0xC7 */ + 0xDB, 0xF9, 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0x5B, /* 0xC8-0xCB */ + 0xB6, 0x5E, 0xDB, 0xF2, 0xB6, 0x59, 0xDB, 0xF6, /* 0xCC-0xCF */ + 0xE0, 0x6C, 0xB6, 0x5D, 0x3F, 0x3F, 0xDB, 0xF1, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xDB, 0xF7, 0xDB, 0xF4, 0xDB, 0xFA, /* 0xD4-0xD7 */ + 0xDB, 0xF0, 0xDB, 0xF8, 0xB6, 0x5C, 0xB6, 0x5F, /* 0xD8-0xDB */ + 0xDB, 0xF5, 0xB6, 0x5A, 0x3F, 0x3F, 0xB8, 0xF2, /* 0xDC-0xDF */ + 0xE0, 0x68, 0xB8, 0xF1, 0xE0, 0x6F, 0xE0, 0x6E, /* 0xE0-0xE3 */ + 0xB8, 0xF8, 0x3F, 0x3F, 0xB8, 0xF9, 0xE0, 0x70, /* 0xE4-0xE7 */ + 0xB8, 0xF3, 0xE0, 0x6D, 0xB8, 0xF7, 0xE0, 0x72, /* 0xE8-0xEB */ + 0xE0, 0x69, 0x3F, 0x3F, 0xE0, 0x6B, 0xB8, 0xF4, /* 0xEC-0xEF */ + 0xE0, 0x67, 0xE0, 0x6A, 0xE0, 0x71, 0xB8, 0xF5, /* 0xF0-0xF3 */ + 0xE0, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB8, 0xF6, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xBB, 0xB1, 0xE4, 0x5B, 0xE4, 0x61, 0xE4, 0x59, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8E[512] = { + 0xE4, 0x62, 0x3F, 0x3F, 0xE4, 0x58, 0xE4, 0x5D, /* 0x00-0x03 */ + 0xE4, 0x63, 0xE4, 0x60, 0xE4, 0x5F, 0xE4, 0x5E, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xE4, 0x57, 0xE4, 0x5C, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE4, 0x5A, 0x3F, 0x3F, 0xBD, 0xF1, /* 0x0C-0x0F */ + 0xBD, 0xEE, 0xE7, 0xFB, 0xE8, 0x41, 0xE8, 0x43, /* 0x10-0x13 */ + 0xE8, 0x40, 0xE7, 0xF8, 0xE7, 0xFA, 0xE8, 0x45, /* 0x14-0x17 */ + 0xE8, 0x42, 0xE7, 0xFC, 0xE8, 0x46, 0xE7, 0xF9, /* 0x18-0x1B */ + 0xE8, 0x44, 0xBD, 0xEF, 0xBD, 0xF5, 0xBD, 0xF3, /* 0x1C-0x1F */ + 0xE7, 0xF3, 0xBD, 0xF4, 0xBD, 0xF0, 0xE7, 0xF4, /* 0x20-0x23 */ + 0xE7, 0xF6, 0xE7, 0xF5, 0xE7, 0xFD, 0xE7, 0xFE, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xBD, 0xF2, 0x3F, 0x3F, 0xBD, 0xED, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE7, 0xF7, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xEB, 0xC6, 0xBF, 0xE2, 0x3F, 0x3F, 0xEB, 0xBD, /* 0x30-0x33 */ + 0xBF, 0xE3, 0xBF, 0xE6, 0xEB, 0xC2, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xEB, 0xBF, 0xBF, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xEB, 0xC3, 0xEB, 0xC4, 0xEB, 0xBE, 0xEB, 0xC7, /* 0x3C-0x3F */ + 0xEB, 0xC0, 0xEB, 0xC5, 0xBF, 0xE4, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xBF, 0xE1, 0xEB, 0xC1, 0x3F, 0x3F, 0xEE, 0xBF, /* 0x44-0x47 */ + 0xC1, 0xD0, 0xC1, 0xCE, 0xC1, 0xD1, 0xC1, 0xCF, /* 0x48-0x4B */ + 0xEE, 0xBE, 0xEE, 0xBB, 0xEE, 0xBA, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xEE, 0xBD, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xBC, /* 0x50-0x53 */ + 0xF1, 0x45, 0xC2, 0xDE, 0xF0, 0xFB, 0xF0, 0xFA, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xC2, 0xD9, 0xF1, 0x41, 0xF1, 0x40, /* 0x58-0x5B */ + 0xF0, 0xF7, 0xF1, 0x43, 0xF0, 0xFC, 0xC2, 0xDD, /* 0x5C-0x5F */ + 0xF0, 0xF9, 0xF1, 0x42, 0xF0, 0xF8, 0xC2, 0xDA, /* 0x60-0x63 */ + 0xC2, 0xDC, 0xF0, 0xFD, 0xC2, 0xDB, 0xF0, 0xFE, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xF1, 0x44, 0xF3, 0x52, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xC3, 0xDE, 0xF3, 0x4F, 0x3F, 0x3F, 0xF3, 0x53, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC3, 0xDB, 0xF3, 0x51, /* 0x70-0x73 */ + 0xC3, 0xE0, 0x3F, 0x3F, 0xC3, 0xDD, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xF3, 0x50, 0x3F, 0x3F, 0xC3, 0xDF, 0xF3, 0x54, /* 0x78-0x7B */ + 0xC3, 0xDA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0xC4, 0xBC, 0xC4, 0xBE, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xF4, 0xD9, 0xC4, 0xBD, 0xF4, 0xD7, 0xC3, 0xDC, /* 0x84-0x87 */ + 0xF4, 0xD8, 0xC4, 0xBB, 0xC5, 0x43, 0xC5, 0x45, /* 0x88-0x8B */ + 0xF6, 0x56, 0xC5, 0x44, 0xF6, 0x55, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xF7, 0x61, 0xC5, 0xAD, 0xF7, 0x60, 0xC5, 0xAE, /* 0x90-0x93 */ + 0xF7, 0x5E, 0xF7, 0x5D, 0xF7, 0x62, 0xF7, 0x63, /* 0x94-0x97 */ + 0xF8, 0x46, 0x3F, 0x3F, 0xF7, 0x5F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xF8, 0xC6, 0xF8, 0xC3, 0xF8, 0xC4, /* 0x9C-0x9F */ + 0xF8, 0xC5, 0xC6, 0x5C, 0x3F, 0x3F, 0xF9, 0x51, /* 0xA0-0xA3 */ + 0xF9, 0x50, 0xF9, 0x4F, 0xF9, 0x70, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xF9, 0xBE, 0xF9, 0xAB, 0xC6, 0x6E, 0xA8, 0xAD, /* 0xA8-0xAB */ + 0xB0, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB8, 0xFA, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBD, 0xF6, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xEB, 0xC8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xC2, 0xDF, 0x3F, 0x3F, 0xF3, 0x55, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xF9, 0xAC, 0xA8, 0xAE, 0xAA, 0xEE, /* 0xC8-0xCB */ + 0xAD, 0x79, 0xAD, 0x78, 0x3F, 0x3F, 0xB0, 0x63, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xD3, 0xE8, 0xB0, 0x61, 0xD3, 0xE9, /* 0xD0-0xD3 */ + 0xB0, 0x62, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xDF, /* 0xD4-0xD7 */ + 0xD7, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0x6D, /* 0xD8-0xDB */ + 0xD7, 0xDE, 0xD7, 0xDD, 0xD7, 0xDC, 0xB3, 0x6E, /* 0xDC-0xDF */ + 0xD7, 0xE0, 0xD7, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xDC, 0x43, 0xDC, 0x41, 0xDC, 0x45, /* 0xE4-0xE7 */ + 0xDC, 0x46, 0xDC, 0x4C, 0x3F, 0x3F, 0xDC, 0x48, /* 0xE8-0xEB */ + 0xDC, 0x4A, 0x3F, 0x3F, 0xDC, 0x42, 0xDB, 0xFC, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xDC, 0x49, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xDC, 0x4B, 0xDC, 0x44, 0xDC, 0x47, 0xDB, 0xFD, /* 0xF4-0xF7 */ + 0xB6, 0x62, 0xDC, 0x40, 0xDB, 0xFE, 0xB6, 0x61, /* 0xF8-0xFB */ + 0xB6, 0x63, 0x3F, 0x3F, 0xB8, 0xFD, 0xE0, 0x75, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_8F[512] = { + 0xE0, 0x77, 0xE0, 0x76, 0xE0, 0x7B, 0xB8, 0xFB, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xE0, 0x78, 0xE0, 0x74, 0xE0, 0x79, /* 0x04-0x07 */ + 0xE0, 0x7A, 0xB8, 0xFC, 0xB8, 0xFE, 0xE0, 0x7C, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE4, 0x67, 0xE4, 0x66, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xE4, 0x64, 0xE4, 0x65, 0xBB, 0xB3, 0xBB, 0xB5, /* 0x10-0x13 */ + 0xBB, 0xB2, 0xBB, 0xB4, 0xE8, 0x4D, 0xE8, 0x4E, /* 0x14-0x17 */ + 0xE8, 0x49, 0x3F, 0x3F, 0xE8, 0x4A, 0xBD, 0xF8, /* 0x18-0x1B */ + 0xBD, 0xFD, 0xBD, 0xF7, 0xBD, 0xFE, 0xBD, 0xF9, /* 0x1C-0x1F */ + 0xE8, 0x4B, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0x4C, /* 0x20-0x23 */ + 0xE8, 0x48, 0xBE, 0x40, 0xBD, 0xFB, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xBD, 0xFA, 0xBD, 0xFC, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xE8, 0x47, 0x3F, 0x3F, 0xEB, 0xCA, 0xBF, 0xE8, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xCC, 0xBF, 0xEA, /* 0x30-0x33 */ + 0xEB, 0xCF, 0xEB, 0xCB, 0xEB, 0xC9, 0xEB, 0xCE, /* 0x34-0x37 */ + 0xBF, 0xE9, 0xEB, 0xCD, 0x3F, 0x3F, 0xBF, 0xE7, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC1, 0xD3, 0xC1, 0xD6, /* 0x3C-0x3F */ + 0xEE, 0xC1, 0x3F, 0x3F, 0xC1, 0xD4, 0xEE, 0xC0, /* 0x40-0x43 */ + 0xC1, 0xD2, 0xC1, 0xD5, 0xF1, 0x46, 0xF1, 0x47, /* 0x44-0x47 */ + 0xF1, 0x48, 0xC2, 0xE0, 0x3F, 0x3F, 0xF1, 0x49, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xC2, 0xE1, 0xC3, 0xE2, 0xF3, 0x58, /* 0x4C-0x4F */ + 0xF3, 0x59, 0xF3, 0x57, 0xF3, 0x56, 0xF3, 0x5A, /* 0x50-0x53 */ + 0xC3, 0xE1, 0xF4, 0xDD, 0xF4, 0xDB, 0xF4, 0xDC, /* 0x54-0x57 */ + 0xF4, 0xDE, 0xF4, 0xDA, 0xF4, 0xDF, 0xF6, 0x58, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xF6, 0x59, 0xF6, 0x57, 0xC5, 0x46, /* 0x5C-0x5F */ + 0xF7, 0x64, 0xC5, 0xAF, 0xF7, 0x65, 0xF8, 0x48, /* 0x60-0x63 */ + 0xF8, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xAF, /* 0x98-0x9B */ + 0xB6, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0x40, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xBB, 0xB6, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBF, 0xEC, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xBF, 0xEB, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xC3, 0xE3, 0xC4, 0x7C, 0xC5, 0x47, /* 0xAC-0xAF */ + 0xA8, 0xB0, 0xB0, 0x64, 0xB9, 0x41, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xF3, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xA6, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xB1, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xA8, 0xB4, 0xA8, 0xB3, 0xA8, 0xB2, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xCB, 0xA5, 0x3F, 0x3F, 0xCD, 0xCD, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xCD, 0xCF, 0xAA, 0xEF, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0xAA, 0xF1, 0xCD, 0xCC, 0xCD, 0xCE, /* 0xD0-0xD3 */ + 0xAA, 0xF0, 0xCD, 0xD1, 0xCD, 0xD0, 0xCD, 0xD2, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xD0, 0xB6, 0xD0, 0xB4, 0xAD, 0x7C, 0xD0, 0xB3, /* 0xE0-0xE3 */ + 0xAD, 0xA3, 0xAD, 0x7E, 0xAD, 0x7B, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xAD, 0xA4, 0x3F, 0x3F, 0xAD, 0x7D, 0xAD, 0xA2, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xAD, 0xA1, 0xD0, 0xB5, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xAD, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xB0, 0x6A, 0xD3, 0xEB, 0xD3, 0xF1, 0xB0, 0x67, /* 0xF4-0xF7 */ + 0xB0, 0x6E, 0x3F, 0x3F, 0xB0, 0x69, 0xD3, 0xEE, /* 0xF8-0xFB */ + 0xD3, 0xF0, 0xB0, 0x6C, 0xD3, 0xEA, 0xD3, 0xED, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_90[512] = { + 0xB0, 0x68, 0xB0, 0x65, 0xD3, 0xEC, 0xB0, 0x6B, /* 0x00-0x03 */ + 0xD3, 0xEF, 0xB0, 0x6D, 0xB0, 0x66, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xD7, 0xE3, /* 0x08-0x0B */ + 0xD7, 0xE6, 0xB3, 0x70, 0x3F, 0x3F, 0xB3, 0x7A, /* 0x0C-0x0F */ + 0xB3, 0x76, 0xD7, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xB3, 0x7E, 0xB3, 0x77, 0xB3, 0x7C, 0xB3, 0x72, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xB3, 0x6F, 0xB3, 0x71, 0xB3, 0x7D, /* 0x18-0x1B */ + 0xD7, 0xE5, 0xB3, 0x75, 0xB3, 0x78, 0xB3, 0x74, /* 0x1C-0x1F */ + 0xB3, 0x79, 0xD7, 0xE7, 0xB3, 0x7B, 0xB3, 0x73, /* 0x20-0x23 */ + 0xD7, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xDC, 0x4D, 0xB6, 0x65, 0xDC, 0x4F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xB6, 0x67, 0xB6, 0x69, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xDC, 0x4E, 0xB6, 0x66, 0xB6, 0x6A, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xB6, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xB9, 0x47, 0xE0, 0xA3, 0xB9, 0x4F, 0xE0, 0x7E, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xB9, 0x50, 0xB9, 0x45, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xE0, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0x4A, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xE0, 0xA2, 0xB9, 0x43, 0xB9, 0x42, /* 0x48-0x4B */ + 0x3F, 0x3F, 0xB9, 0x4D, 0xB9, 0x4C, 0xB9, 0x4B, /* 0x4C-0x4F */ + 0xB9, 0x49, 0xB9, 0x4E, 0xE0, 0x7D, 0xB9, 0x44, /* 0x50-0x53 */ + 0xB9, 0x46, 0xB9, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xBB, 0xB8, 0xBB, 0xBB, 0x3F, 0x3F, 0xBB, 0xBF, /* 0x58-0x5B */ + 0xBB, 0xB9, 0xBB, 0xBE, 0xBB, 0xBC, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xBB, 0xB7, 0x3F, 0x3F, 0xBB, 0xBD, 0xBB, 0xBA, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0x52, /* 0x64-0x67 */ + 0xBE, 0x43, 0xBE, 0x41, 0x3F, 0x3F, 0xE8, 0x53, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xBE, 0x44, 0xBE, 0x42, 0xE8, 0x51, /* 0x6C-0x6F */ + 0xE8, 0x50, 0x3F, 0x3F, 0xBF, 0xF0, 0xE8, 0x4F, /* 0x70-0x73 */ + 0xBF, 0xEE, 0xBF, 0xED, 0xEB, 0xD0, 0xBE, 0x45, /* 0x74-0x77 */ + 0xBF, 0xEF, 0xEB, 0xD1, 0xBF, 0xF2, 0xEB, 0xD2, /* 0x78-0x7B */ + 0xBF, 0xF1, 0xC1, 0xD8, 0xEE, 0xC3, 0xC1, 0xD7, /* 0x7C-0x7F */ + + 0xC1, 0xDC, 0xC1, 0xDA, 0xC1, 0xDB, 0xC2, 0xE3, /* 0x80-0x83 */ + 0xC1, 0xD9, 0xEE, 0xC2, 0xEB, 0xD3, 0xC2, 0xE2, /* 0x84-0x87 */ + 0xC2, 0xE4, 0x3F, 0x3F, 0xC3, 0xE4, 0xC3, 0xE5, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xF4, 0xE0, 0x3F, 0x3F, 0xC5, 0xDE, /* 0x8C-0x8F */ + 0xC5, 0xDD, 0xA8, 0xB6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xCA, 0x55, 0xB0, 0x6F, 0x3F, 0x3F, 0xCA, 0x52, /* 0x94-0x97 */ + 0xCA, 0x53, 0xCA, 0x51, 0x3F, 0x3F, 0xCA, 0x54, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xCB, 0xAA, 0xCB, 0xA7, /* 0x9C-0x9F */ + 0xCB, 0xAC, 0xCB, 0xA8, 0xA8, 0xB7, 0xA8, 0xBA, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xCB, 0xA9, 0xA8, 0xB9, 0xCB, 0xAB, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xA8, 0xB8, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCD, 0xD5, /* 0xAC-0xAF */ + 0xCD, 0xD7, 0xAA, 0xF4, 0xCD, 0xD3, 0xCD, 0xD6, /* 0xB0-0xB3 */ + 0xCD, 0xD4, 0xAA, 0xF2, 0xAA, 0xF5, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xAA, 0xF3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xD0, 0xB8, 0xD0, 0xBC, 0xD0, 0xB9, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xAD, 0xA7, 0x3F, 0x3F, 0xAD, 0xA8, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xD0, 0xBB, 0x3F, 0x3F, 0xD0, 0xBD, /* 0xC4-0xC7 */ + 0xD0, 0xBF, 0x3F, 0x3F, 0xAD, 0xA5, 0xD0, 0xBE, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAD, 0xA6, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xD7, 0xEE, 0xD0, 0xBA, 0xD3, 0xF2, 0xD3, 0xFB, /* 0xD4-0xD7 */ + 0xD3, 0xF9, 0xD3, 0xF4, 0xD3, 0xF5, 0xD3, 0xFA, /* 0xD8-0xDB */ + 0xD3, 0xFC, 0xB0, 0x71, 0x3F, 0x3F, 0xD3, 0xF7, /* 0xDC-0xDF */ + 0xD3, 0xF3, 0xB0, 0x70, 0xB0, 0x72, 0xD3, 0xF6, /* 0xE0-0xE3 */ + 0xD3, 0xFD, 0xD3, 0xF8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xB3, 0xA1, 0xD7, 0xF1, 0xD7, 0xE9, 0xD7, 0xEF, /* 0xE8-0xEB */ + 0xD7, 0xF0, 0xB3, 0xA2, 0x3F, 0x3F, 0xD7, 0xE8, /* 0xEC-0xEF */ + 0xD7, 0xEA, 0xD0, 0xB7, 0xD7, 0xEC, 0xD7, 0xED, /* 0xF0-0xF3 */ + 0xD7, 0xEB, 0xB6, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xDC, 0x56, 0xEB, 0xD4, 0xDC, 0x57, /* 0xF8-0xFB */ + 0xDC, 0x54, 0xB3, 0xA3, 0xB6, 0x6E, 0xDC, 0x53, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_91[512] = { + 0xDC, 0x59, 0xDC, 0x58, 0xB6, 0x6B, 0xDC, 0x5C, /* 0x00-0x03 */ + 0xDC, 0x52, 0xDC, 0x5B, 0xDC, 0x50, 0xDC, 0x5A, /* 0x04-0x07 */ + 0xDC, 0x55, 0xB6, 0x6D, 0x3F, 0x3F, 0xE0, 0xAA, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xE0, 0xA5, 0xE0, 0xAB, 0xE0, 0xA6, /* 0x0C-0x0F */ + 0xE0, 0xA4, 0xE0, 0xA7, 0xB9, 0x51, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xE0, 0xA9, 0x3F, 0x3F, 0xE0, 0xA8, 0xB9, 0x52, /* 0x14-0x17 */ + 0xBB, 0xC1, 0xBB, 0xC0, 0xE4, 0x6E, 0xE4, 0x71, /* 0x18-0x1B */ + 0xE4, 0x69, 0xE4, 0x6D, 0xBB, 0xC2, 0xE4, 0x6C, /* 0x1C-0x1F */ + 0xE4, 0x6A, 0xE4, 0x70, 0xE4, 0x6B, 0xE4, 0x68, /* 0x20-0x23 */ + 0xE4, 0x6F, 0x3F, 0x3F, 0xE8, 0x59, 0xBE, 0x48, /* 0x24-0x27 */ + 0xF1, 0x4A, 0xE8, 0x56, 0xE8, 0x57, 0xE8, 0x55, /* 0x28-0x2B */ + 0xDC, 0x51, 0xBE, 0x47, 0xE8, 0x5A, 0xE8, 0x54, /* 0x2C-0x2F */ + 0xBE, 0x46, 0xBE, 0x49, 0xE8, 0x58, 0xEB, 0xD5, /* 0x30-0x33 */ + 0xBF, 0xF3, 0xEB, 0xD6, 0xEB, 0xD7, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xEE, 0xC4, 0xC1, 0xDD, 0xF1, 0x4B, 0xF1, 0x4C, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0x4D, 0xF3, 0x5D, /* 0x3C-0x3F */ + 0xF3, 0x5C, 0xF4, 0xE2, 0x3F, 0x3F, 0xF4, 0xE1, /* 0x40-0x43 */ + 0xF6, 0x5B, 0xF6, 0x5C, 0xF6, 0x5A, 0xF7, 0x66, /* 0x44-0x47 */ + 0xC5, 0xB0, 0xA8, 0xBB, 0xAD, 0xAA, 0xAD, 0xA9, /* 0x48-0x4B */ + 0xB0, 0x75, 0xB0, 0x74, 0xD4, 0x40, 0xD4, 0x41, /* 0x4C-0x4F */ + 0xD3, 0xFE, 0x3F, 0x3F, 0xB0, 0x73, 0xD7, 0xF5, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xD7, 0xF6, 0xD7, 0xF2, 0xB3, 0xA4, /* 0x54-0x57 */ + 0xD7, 0xF3, 0x3F, 0x3F, 0xD7, 0xF4, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0x5F, /* 0x5C-0x5F */ + 0xDC, 0x61, 0xDC, 0x5D, 0xDC, 0x60, 0xB6, 0x6F, /* 0x60-0x63 */ + 0xDC, 0x5E, 0xB6, 0x70, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xDD, 0x73, 0xB9, 0x55, 0xB9, 0x54, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xB9, 0x53, 0x3F, 0x3F, 0xE0, 0xAC, 0xE0, 0xAD, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0x73, 0xE4, 0x75, /* 0x70-0x73 */ + 0xBB, 0xC6, 0xBB, 0xC3, 0x3F, 0x3F, 0xBB, 0xC5, /* 0x74-0x77 */ + 0xBB, 0xC4, 0xE4, 0x74, 0xE4, 0x72, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xE8, 0x61, 0xE8, 0x5E, 0xE8, 0x5F, 0xBE, 0x4D, /* 0x80-0x83 */ + 0xE8, 0x60, 0xE8, 0x5B, 0xE8, 0x5C, 0xBE, 0x4A, /* 0x84-0x87 */ + 0x3F, 0x3F, 0xBE, 0x4B, 0xE8, 0x5D, 0xBE, 0x4C, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xEB, 0xDB, 0x3F, 0x3F, 0xEB, 0xDC, /* 0x8C-0x8F */ + 0xEB, 0xD9, 0xEB, 0xDA, 0xBF, 0xF4, 0xEB, 0xD8, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xEE, 0xC8, 0xEE, 0xC5, 0xEE, 0xC7, /* 0x98-0x9B */ + 0xC1, 0xE0, 0xEE, 0xCB, 0xC1, 0xDF, 0xEE, 0xC9, /* 0x9C-0x9F */ + 0xEE, 0xCC, 0xEE, 0xCA, 0xEE, 0xC6, 0xC1, 0xDE, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xF1, 0x4F, 0x3F, 0x3F, 0xF1, 0x50, /* 0xA4-0xA7 */ + 0xF1, 0x4E, 0x3F, 0x3F, 0xF1, 0x52, 0xC2, 0xE5, /* 0xA8-0xAB */ + 0xC2, 0xE6, 0xF3, 0x5F, 0xC3, 0xE7, 0xF1, 0x51, /* 0xAC-0xAF */ + 0xF3, 0x5E, 0xC3, 0xE6, 0xF4, 0xE5, 0xF4, 0xE6, /* 0xB0-0xB3 */ + 0xC4, 0xBF, 0xF4, 0xE4, 0x3F, 0x3F, 0xF4, 0xE3, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xF6, 0x5D, 0xC5, 0x48, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0xF8, 0x49, 0xF8, 0xC8, 0xF8, 0xC7, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xC6, 0x43, 0xC6, 0x5D, 0xF8, 0xC9, 0xF9, 0x71, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xC6, 0x6F, 0xA8, 0xBC, 0xAA, 0xF6, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xB9, 0x56, 0x3F, 0x3F, 0xC4, 0xC0, /* 0xC8-0xCB */ + 0xA8, 0xBD, 0xAD, 0xAB, 0xB3, 0xA5, 0xB6, 0x71, /* 0xCC-0xCF */ + 0xC2, 0xE7, 0xAA, 0xF7, 0x3F, 0x3F, 0xD0, 0xC1, /* 0xD0-0xD3 */ + 0xD0, 0xC0, 0xD4, 0x42, 0x3F, 0x3F, 0xB0, 0x78, /* 0xD4-0xD7 */ + 0xB0, 0x76, 0xB0, 0x7A, 0xD4, 0x44, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xB0, 0x79, 0xB0, 0x77, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0x43, 0xB3, 0xA8, /* 0xE0-0xE3 */ + 0xD7, 0xFC, 0x3F, 0x3F, 0xB3, 0xA7, 0xB3, 0xA9, /* 0xE4-0xE7 */ + 0xD8, 0x42, 0xB3, 0xAB, 0xD7, 0xFE, 0xD8, 0x40, /* 0xE8-0xEB */ + 0xD7, 0xF7, 0xB3, 0xAA, 0xD8, 0x43, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xD7, 0xF9, 0x3F, 0x3F, 0xD7, 0xFA, /* 0xF0-0xF3 */ + 0xD7, 0xF8, 0xB3, 0xA6, 0x3F, 0x3F, 0xD8, 0x41, /* 0xF4-0xF7 */ + 0xD7, 0xFB, 0xD7, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xDC, 0x6D, 0x3F, 0x3F, 0xDC, 0x6C, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_92[512] = { + 0xDC, 0x6A, 0xDC, 0x62, 0xDC, 0x71, 0xDC, 0x65, /* 0x00-0x03 */ + 0xDC, 0x6F, 0xDC, 0x76, 0xDC, 0x6E, 0xB6, 0x79, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xB6, 0x75, 0xDC, 0x63, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xDC, 0x69, 0xB6, 0x77, 0x3F, 0x3F, 0xDC, 0x68, /* 0x0C-0x0F */ + 0xB6, 0x78, 0xB6, 0x7A, 0xDC, 0x6B, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xB6, 0x72, 0xB6, 0x73, 0xDC, 0x77, 0xDC, 0x75, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xDC, 0x74, 0xDC, 0x66, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xDC, 0x72, 0x3F, 0x3F, 0xB6, 0x76, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0x74, /* 0x20-0x23 */ + 0xDC, 0x73, 0xDC, 0x64, 0xDC, 0x67, 0xDC, 0x70, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xE4, 0xBA, 0xE0, 0xB7, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xE0, 0xB0, 0xE0, 0xC3, 0xE0, 0xCC, 0xE0, 0xB3, /* 0x30-0x33 */ + 0xB9, 0x61, 0x3F, 0x3F, 0xE0, 0xC0, 0xB9, 0x57, /* 0x34-0x37 */ + 0xB9, 0x59, 0xB9, 0x65, 0xE0, 0xB1, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xB9, 0x5A, 0xB9, 0x5C, 0xB9, 0x66, /* 0x3C-0x3F */ + 0xB9, 0x5B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xB9, 0x64, 0xE0, 0xB9, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xE0, 0xAE, 0xB9, 0x62, 0xE0, 0xB8, 0xB9, 0x5E, /* 0x48-0x4B */ + 0xE0, 0xCA, 0xB9, 0x63, 0xE0, 0xC8, 0xE0, 0xBC, /* 0x4C-0x4F */ + 0xE0, 0xC6, 0xB9, 0x60, 0xE0, 0xAF, 0xE0, 0xC9, /* 0x50-0x53 */ + 0xE0, 0xC4, 0x3F, 0x3F, 0xE0, 0xCB, 0xB9, 0x58, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0x67, 0xB9, 0x5D, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xB5, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xE0, 0xBD, 0xE0, 0xC1, 0x3F, 0x3F, 0xE0, 0xC5, /* 0x60-0x63 */ + 0xB9, 0x5F, 0xE0, 0xB4, 0xE0, 0xB2, 0xE0, 0xBE, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xE0, 0xBB, 0xE0, 0xBA, 0x3F, 0x3F, 0xE0, 0xBF, /* 0x6C-0x6F */ + 0xE0, 0xC2, 0x3F, 0x3F, 0xE0, 0xC7, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0x78, 0x3F, 0x3F, /* 0x74-0x77 */ + 0xBB, 0xC7, 0xE4, 0xA4, 0xE4, 0x7A, 0xBB, 0xCC, /* 0x78-0x7B */ + 0xBB, 0xD0, 0xE4, 0xAD, 0xE4, 0xB5, 0xE4, 0xA6, /* 0x7C-0x7F */ + + 0xBB, 0xC8, 0x3F, 0x3F, 0xE4, 0xAA, 0xE0, 0xB6, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xBB, 0xC9, 0xE4, 0xB1, 0xE4, 0xB6, /* 0x84-0x87 */ + 0xE4, 0xAE, 0x3F, 0x3F, 0xE4, 0xB0, 0xE4, 0xB9, /* 0x88-0x8B */ + 0xE4, 0xB2, 0xE4, 0x7E, 0xE4, 0xA9, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xBB, 0xD1, 0x3F, 0x3F, 0xBB, 0xCD, /* 0x90-0x93 */ + 0xE4, 0x7C, 0xE4, 0xAB, 0xBB, 0xCB, 0xE4, 0xA5, /* 0x94-0x97 */ + 0xBB, 0xCA, 0xE4, 0xB3, 0xE4, 0xA2, 0xE4, 0x79, /* 0x98-0x9B */ + 0xBB, 0xCE, 0xE4, 0xB8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xE4, 0x7B, 0xE4, 0xAF, 0xE4, 0xAC, 0xE4, 0xA7, /* 0xA0-0xA3 */ + 0xE4, 0x77, 0xE4, 0x76, 0xE4, 0xA1, 0xE4, 0xB4, /* 0xA4-0xA7 */ + 0xBB, 0xCF, 0xE4, 0xB7, 0xE4, 0x7D, 0xE4, 0xA3, /* 0xA8-0xAB */ + 0xBE, 0x52, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBE, 0x5A, 0xBE, 0x55, /* 0xB0-0xB3 */ + 0xE8, 0xA4, 0xE8, 0xA1, 0xE8, 0x67, 0xBE, 0x50, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xF9, 0xD7, 0x3F, 0x3F, 0xBE, 0x4F, /* 0xB8-0xBB */ + 0xBE, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xE8, 0x65, 0xBE, 0x54, 0xE8, 0x71, 0xE8, 0x63, /* 0xC0-0xC3 */ + 0xE8, 0x64, 0xBE, 0x4E, 0xE8, 0xA3, 0xBE, 0x58, /* 0xC4-0xC7 */ + 0xE8, 0x74, 0xE8, 0x79, 0xE8, 0x73, 0xEB, 0xEE, /* 0xC8-0xCB */ + 0xE8, 0x6F, 0xE8, 0x77, 0xE8, 0x75, 0xE8, 0x68, /* 0xCC-0xCF */ + 0xE8, 0x62, 0xE8, 0x7D, 0xBE, 0x57, 0xE8, 0x7E, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xE8, 0x78, 0x3F, 0x3F, 0xE8, 0x6D, /* 0xD4-0xD7 */ + 0xE8, 0x6B, 0xE8, 0x66, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0xE8, 0x6E, 0xE8, 0x7B, 0xE8, 0x6A, /* 0xDC-0xDF */ + 0xE8, 0x7A, 0xE8, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xBE, 0x53, 0x3F, 0x3F, 0xE8, 0x76, 0xE8, 0x7C, /* 0xE4-0xE7 */ + 0xE8, 0x72, 0xE8, 0x6C, 0xBE, 0x51, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xA8, 0xE8, 0x70, /* 0xEC-0xEF */ + 0xBE, 0x59, 0xE8, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xF4, /* 0xF4-0xF7 */ + 0xBF, 0xF7, 0xEB, 0xF3, 0xEB, 0xF0, 0xEC, 0x44, /* 0xF8-0xFB */ + 0xBF, 0xFB, 0x3F, 0x3F, 0xEC, 0x41, 0xEB, 0xF8, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_93[512] = { + 0xEC, 0x43, 0xEB, 0xE9, 0xEB, 0xF6, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xBF, 0xFD, 0x3F, 0x3F, 0xEB, 0xE1, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xEB, 0xDF, 0xEC, 0x42, 0x3F, 0x3F, 0xEC, 0x40, /* 0x08-0x0B */ + 0xEB, 0xFE, 0xEB, 0xED, 0xEB, 0xEC, 0xEB, 0xE2, /* 0x0C-0x0F */ + 0xC0, 0x40, 0x3F, 0x3F, 0xEB, 0xE8, 0xEB, 0xF2, /* 0x10-0x13 */ + 0xEB, 0xFD, 0xC0, 0x43, 0xEC, 0x45, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xC1, 0xE8, 0xC0, 0x45, 0xBF, 0xFE, 0xEB, 0xE6, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xEB, 0xEF, 0xEB, 0xDE, 0xEB, 0xE0, /* 0x1C-0x1F */ + 0xBF, 0xF5, 0xC0, 0x42, 0xBF, 0xFA, 0xEB, 0xE7, /* 0x20-0x23 */ + 0xEB, 0xF7, 0xEB, 0xF1, 0xC0, 0x41, 0xEB, 0xDD, /* 0x24-0x27 */ + 0xC1, 0xE3, 0xEB, 0xF9, 0xEB, 0xFC, 0xBF, 0xFC, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xEB, 0xEB, 0xC0, 0x44, 0xBF, 0xF9, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xBF, 0xF8, /* 0x30-0x33 */ + 0xEB, 0xF5, 0xEB, 0xFB, 0xBF, 0xF6, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xEB, 0xE4, 0xEB, 0xFA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xEB, 0xE5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEB, 0xEA, 0xEE, 0xD2, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xEE, 0xD7, 0xC1, 0xE5, 0xC1, 0xE7, /* 0x48-0x4B */ + 0xEE, 0xDD, 0xC1, 0xE1, 0xEE, 0xEC, 0xEE, 0xE3, /* 0x4C-0x4F */ + 0xEE, 0xD8, 0xEE, 0xD9, 0xEE, 0xE2, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xC1, 0xEE, 0xEE, 0xE1, 0xEE, 0xD1, 0xEE, 0xE0, /* 0x54-0x57 */ + 0xEE, 0xD4, 0xEE, 0xED, 0xC1, 0xED, 0xC1, 0xEB, /* 0x58-0x5B */ + 0xEE, 0xD5, 0x3F, 0x3F, 0xEE, 0xE8, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xEE, 0xDA, 0xEE, 0xE7, 0x3F, 0x3F, 0xEE, 0xE9, /* 0x60-0x63 */ + 0xEE, 0xD0, 0xC1, 0xE6, 0x3F, 0x3F, 0xEE, 0xEA, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xDE, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xC1, 0xEA, 0xEE, 0xDB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xC1, 0xEC, 0xEE, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xC1, 0xE4, 0xEE, 0xD6, 0xEE, 0xE5, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xEE, 0xDF, 0xEB, 0xE3, 0xEE, 0xE6, /* 0x78-0x7B */ + 0xEE, 0xD3, 0x3F, 0x3F, 0xC1, 0xE9, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xEE, 0xEB, 0x3F, 0x3F, 0xC1, 0xE2, 0xEE, 0xCE, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xF1, 0x60, 0xF1, 0x59, 0xC2, 0xE9, 0x3F, 0x3F, /* 0x88-0x8B */ + 0xF1, 0x54, 0xF1, 0x63, 0xF1, 0x5B, 0xEE, 0xDC, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xF1, 0x65, 0xF1, 0x55, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xC2, 0xE8, 0xF1, 0x5F, 0xC2, 0xEA, 0xC2, 0xF2, /* 0x94-0x97 */ + 0xC2, 0xF0, 0xF1, 0x61, 0xC2, 0xF1, 0xF1, 0x57, /* 0x98-0x9B */ + 0x3F, 0x3F, 0xF1, 0x58, 0xF1, 0x5D, 0xF1, 0x62, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xEE, 0xCD, 0xC2, 0xEB, 0xF1, 0x6A, /* 0xA0-0xA3 */ + 0xF1, 0x67, 0xF1, 0x6B, 0xF1, 0x5E, 0xF1, 0x5A, /* 0xA4-0xA7 */ + 0xF1, 0x68, 0xF3, 0x6A, 0xF1, 0x5C, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xC2, 0xEE, 0x3F, 0x3F, 0xC2, 0xED, 0xEE, 0xCF, /* 0xAC-0xAF */ + 0xC2, 0xEF, 0xF1, 0x64, 0xF1, 0x66, 0xC2, 0xEC, /* 0xB0-0xB3 */ + 0xF1, 0x69, 0xF1, 0x53, 0x3F, 0x3F, 0xF1, 0x56, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xF3, 0x73, 0x3F, 0x3F, 0xF3, 0x63, 0xC3, 0xEB, /* 0xC0-0xC3 */ + 0xF3, 0x71, 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0x61, /* 0xC4-0xC7 */ + 0xC3, 0xEC, 0x3F, 0x3F, 0xF3, 0x6C, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xF3, 0x68, 0xC3, 0xF1, 0xF3, 0x72, 0xF3, 0x62, /* 0xCC-0xCF */ + 0xF3, 0x65, 0xC3, 0xE9, 0xF3, 0x74, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0xF3, 0x6D, 0xF3, 0x70, 0xC3, 0xEF, 0xC3, 0xF4, /* 0xD4-0xD7 */ + 0xC3, 0xF2, 0xF3, 0x69, 0xF3, 0x64, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xC3, 0xED, 0xC3, 0xEE, 0xF3, 0x60, 0xC3, 0xEA, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xC3, 0xE8, 0xC3, 0xF0, 0xF3, 0x6F, /* 0xE0-0xE3 */ + 0xC3, 0xF3, 0x3F, 0x3F, 0xF3, 0x6B, 0xF3, 0x75, /* 0xE4-0xE7 */ + 0xC3, 0xF5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xF3, 0x67, 0x3F, 0x3F, 0xF3, 0x6E, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xF4, 0xF3, 0xF5, 0x42, 0xF4, 0xF5, /* 0xF4-0xF7 */ + 0xF4, 0xFC, 0xF3, 0x66, 0xF4, 0xFA, 0xF4, 0xE9, /* 0xF8-0xFB */ + 0xF5, 0x40, 0xC4, 0xC3, 0xF4, 0xED, 0xF4, 0xFE, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_94[512] = { + 0xF4, 0xF4, 0x3F, 0x3F, 0x3F, 0x3F, 0xC4, 0xC2, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0x44, 0xF4, 0xF6, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF4, 0xFB, 0xF4, 0xFD, 0xF4, 0xE7, /* 0x08-0x0B */ + 0xF5, 0x41, 0xF4, 0xF2, 0xF4, 0xF7, 0xF4, 0xEB, /* 0x0C-0x0F */ + 0xF4, 0xEF, 0xF5, 0x43, 0xF4, 0xF9, 0xF4, 0xE8, /* 0x10-0x13 */ + 0xF4, 0xEC, 0xF4, 0xEE, 0xF4, 0xF8, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xC4, 0xC1, 0xF4, 0xF1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xF4, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xF4, 0xF0, 0xF6, 0x61, 0xF6, 0x66, 0xC5, 0x4F, /* 0x28-0x2B */ + 0xF6, 0x68, 0x3F, 0x3F, 0xC5, 0x49, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xF6, 0x64, 0xF6, 0x6A, 0xC5, 0x4E, 0xC5, 0x4A, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xC5, 0x4B, 0xF6, 0x60, 0xF6, 0x67, /* 0x34-0x37 */ + 0xC5, 0x4D, 0xF6, 0x65, 0xC5, 0x4C, 0xF6, 0x5F, /* 0x38-0x3B */ + 0xF6, 0x63, 0xF6, 0x62, 0x3F, 0x3F, 0xF6, 0x5E, /* 0x3C-0x3F */ + 0xF6, 0x69, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xC5, 0xB1, 0xF7, 0x6D, 0xF7, 0x70, 0xF7, 0x6C, /* 0x44-0x47 */ + 0xF7, 0x6E, 0xF7, 0x6F, 0xF7, 0x69, 0xF7, 0x6A, /* 0x48-0x4B */ + 0xF7, 0x67, 0x3F, 0x3F, 0x3F, 0x3F, 0xF7, 0x6B, /* 0x4C-0x4F */ + 0xF7, 0x68, 0xC5, 0xB2, 0xC5, 0xB3, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0xF8, 0x4B, 0x3F, 0x3F, 0xF8, 0x4D, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0xF8, 0x4C, 0xF8, 0x4E, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xC5, 0xE0, 0x3F, 0x3F, 0xF8, 0x4A, 0xC5, 0xDF, /* 0x60-0x63 */ + 0xC5, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xF8, 0xCB, 0xF8, 0xCC, 0xC6, 0x44, 0xF8, 0xCA, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xF9, 0x53, 0xF9, 0x52, 0xF9, 0x54, /* 0x6C-0x6F */ + 0xC6, 0x5F, 0xF9, 0x55, 0xC6, 0x5E, 0xF9, 0x56, /* 0x70-0x73 */ + 0xF9, 0x72, 0xF9, 0x75, 0xF9, 0x74, 0xC6, 0x68, /* 0x74-0x77 */ + 0xF9, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xC6, 0x72, 0xC6, 0x70, 0xC6, 0x71, 0xC6, 0x77, /* 0x7C-0x7F */ + + 0xF9, 0xC0, 0xF9, 0xC1, 0xF9, 0xBF, 0xF9, 0xC9, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_95[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAA, 0xF8, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0x44, 0xDC, 0x78, /* 0x78-0x7B */ + 0xE8, 0xA5, 0xF3, 0x76, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xAA, 0xF9, 0x3F, 0x3F, 0xAD, 0xAC, 0xB0, 0x7B, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0x45, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xD8, 0x46, 0xB3, 0xAC, 0x3F, 0x3F, 0xB6, 0x7D, /* 0x88-0x8B */ + 0xDC, 0x7A, 0xDC, 0x79, 0xB6, 0xA3, 0xB6, 0x7C, /* 0x8C-0x8F */ + 0xDC, 0x7B, 0xB6, 0x7E, 0xB6, 0xA2, 0xB6, 0xA1, /* 0x90-0x93 */ + 0xB6, 0x7B, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xB9, 0x68, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xD0, /* 0x98-0x9B */ + 0xE0, 0xCE, 0x3F, 0x3F, 0xE0, 0xCF, 0xE0, 0xCD, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xBB, 0xD2, 0x3F, 0x3F, 0xBB, 0xD5, /* 0xA0-0xA3 */ + 0xBB, 0xD7, 0xBB, 0xD6, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xBB, 0xD3, 0xBB, 0xD4, 0x3F, 0x3F, 0xE8, 0xA7, /* 0xA8-0xAB */ + 0xE8, 0xA6, 0xBE, 0x5B, 0xE8, 0xA8, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xE8, 0xA9, 0xBE, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xEC, 0x4D, 0xEC, 0x4B, 0xEE, 0xF3, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xEC, 0x49, 0xEC, 0x4A, 0xC0, 0x46, /* 0xB8-0xBB */ + 0xEC, 0x46, 0xEC, 0x4E, 0xEC, 0x48, 0xEC, 0x4C, /* 0xBC-0xBF */ + 0xEE, 0xEF, 0x3F, 0x3F, 0x3F, 0x3F, 0xEE, 0xF1, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xEE, 0xF2, 0xC1, 0xF3, 0xEE, 0xEE, /* 0xC4-0xC7 */ + 0xC1, 0xF2, 0xEE, 0xF0, 0xC1, 0xEF, 0xC1, 0xF0, /* 0xC8-0xCB */ + 0xC1, 0xF1, 0xEC, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0xC2, 0xF5, 0xF1, 0x6E, 0xF1, 0x6C, 0xF1, 0x6D, /* 0xD0-0xD3 */ + 0xC2, 0xF3, 0xC2, 0xF6, 0xC2, 0xF4, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0x77, 0xF3, 0x78, /* 0xD8-0xDB */ + 0xC3, 0xF6, 0x3F, 0x3F, 0xF5, 0x45, 0xF5, 0x47, /* 0xDC-0xDF */ + 0xF5, 0x46, 0xC4, 0xC4, 0xC5, 0x50, 0xF6, 0x6D, /* 0xE0-0xE3 */ + 0xF6, 0x6C, 0xF6, 0x6B, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_96[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xAA, 0xFA, 0x3F, 0x3F, 0xC9, 0xAA, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xCA, 0x58, 0xA6, 0xE9, 0xCA, 0x56, 0xCA, 0x59, /* 0x20-0x23 */ + 0xCA, 0x57, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xCB, 0xAE, 0x3F, 0x3F, 0xA8, 0xC1, 0x3F, 0x3F, /* 0x28-0x2B */ + 0xA8, 0xC2, 0xCB, 0xB0, 0xA8, 0xBF, 0xCB, 0xAF, /* 0x2C-0x2F */ + 0xCB, 0xAD, 0xA8, 0xC0, 0xA8, 0xBE, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xCD, 0xD8, 0xCD, 0xDB, 0xAA, 0xFD, /* 0x38-0x3B */ + 0xCD, 0xDA, 0xCD, 0xD9, 0x3F, 0x3F, 0xAA, 0xFC, /* 0x3C-0x3F */ + 0xAA, 0xFB, 0x3F, 0x3F, 0xAB, 0x40, 0xCD, 0xDC, /* 0x40-0x43 */ + 0xAA, 0xFE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xD0, 0xC6, 0xAD, 0xAE, /* 0x48-0x4B */ + 0xAD, 0xAF, 0xAD, 0xB0, 0xD0, 0xC7, 0xD0, 0xC3, /* 0x4C-0x4F */ + 0xAD, 0xAD, 0xD0, 0xC4, 0x3F, 0x3F, 0xD0, 0xC5, /* 0x50-0x53 */ + 0xD0, 0xC2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xB0, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0xA1, /* 0x58-0x5B */ + 0xD4, 0x45, 0xB0, 0xA2, 0xB0, 0xA5, 0xD4, 0x46, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xB0, 0x7E, 0xB0, 0x7C, 0xB0, 0x7D, /* 0x60-0x63 */ + 0xB0, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0xAD, 0xD8, 0x49, /* 0x68-0x6B */ + 0xB3, 0xB5, 0xD8, 0x48, 0x3F, 0x3F, 0xD8, 0x4B, /* 0x6C-0x6F */ + 0xB3, 0xB1, 0xD8, 0x4A, 0xB6, 0xAB, 0xB3, 0xAF, /* 0x70-0x73 */ + 0xB3, 0xB2, 0xB3, 0xAE, 0xB3, 0xB3, 0xB3, 0xB4, /* 0x74-0x77 */ + 0xB3, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xD8, 0x47, 0xB6, 0xA7, 0xDC, 0x7D, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xDC, 0xA3, 0x3F, 0x3F, 0x3F, 0x3F, 0xDC, 0xA2, /* 0x80-0x83 */ + 0xB6, 0xAC, 0xB6, 0xA8, 0xB6, 0xA9, 0xDC, 0x7C, /* 0x84-0x87 */ + 0xDC, 0x7E, 0xDC, 0xA1, 0xB6, 0xA4, 0xB6, 0xA6, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xB6, 0xAA, 0xB6, 0xA5, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xE0, 0xD3, 0xE0, 0xD1, 0xE0, 0xD2, /* 0x90-0x93 */ + 0xB9, 0x6A, 0xB9, 0x6B, 0x3F, 0x3F, 0xE0, 0xD4, /* 0x94-0x97 */ + 0xB9, 0x69, 0xBB, 0xD8, 0x3F, 0x3F, 0xBB, 0xDA, /* 0x98-0x9B */ + 0xBB, 0xD9, 0x3F, 0x3F, 0xE4, 0xBB, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xE4, 0xBC, 0xE8, 0xAB, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xE8, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0x47, /* 0xA4-0xA7 */ + 0xC0, 0x48, 0xEC, 0x4F, 0xC0, 0x49, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xEE, 0xF6, 0x3F, 0x3F, 0xEE, 0xF4, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xEE, 0xF5, 0xC1, 0xF4, 0x3F, 0x3F, 0xF1, 0x6F, /* 0xB0-0xB3 */ + 0xC3, 0xF7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xC1, 0xF5, 0xAB, 0x41, 0x3F, 0x3F, 0xB0, 0xA6, /* 0xB8-0xBB */ + 0xD4, 0x47, 0x3F, 0x3F, 0x3F, 0x3F, 0xD8, 0x4C, /* 0xBC-0xBF */ + 0xB3, 0xB6, 0xB6, 0xAD, 0xDC, 0xA4, 0xDC, 0xA6, /* 0xC0-0xC3 */ + 0xB6, 0xAF, 0xB6, 0xAE, 0xB6, 0xB0, 0xB6, 0xB1, /* 0xC4-0xC7 */ + 0xDC, 0xA5, 0xB9, 0x6E, 0xB9, 0x6F, 0xB9, 0x6D, /* 0xC8-0xCB */ + 0xBB, 0xDB, 0xB9, 0x6C, 0xE0, 0xD5, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBB, 0xDC, 0xE8, 0xAC, /* 0xD0-0xD3 */ + 0xEC, 0x50, 0xC0, 0x4A, 0xC1, 0xF6, 0xF1, 0x70, /* 0xD4-0xD7 */ + 0xF1, 0x74, 0xC2, 0xF9, 0xF1, 0x71, 0xC2, 0xFA, /* 0xD8-0xDB */ + 0xC2, 0xF8, 0xF1, 0x75, 0xC2, 0xFB, 0xF1, 0x73, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xF3, 0x79, 0xC2, 0xF7, 0xC3, 0xF8, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xF8, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xAB, 0x42, 0xB3, 0xB8, 0xB3, 0xB7, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0xB2, /* 0xEC-0xEF */ + 0xDC, 0xA8, 0xDC, 0xA7, 0xB6, 0xB3, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0xE0, 0xD9, 0xB9, 0x73, 0xB9, 0x70, /* 0xF4-0xF7 */ + 0xE0, 0xD8, 0xB9, 0x72, 0xE0, 0xD6, 0xB9, 0x71, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xE0, 0xD7, 0x3F, 0x3F, 0xE4, 0xBD, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_97[512] = { + 0xBB, 0xDD, 0x3F, 0x3F, 0xE8, 0xAF, 0x3F, 0x3F, /* 0x00-0x03 */ + 0xBE, 0x5D, 0xE8, 0xAD, 0xBE, 0x5E, 0xBE, 0x5F, /* 0x04-0x07 */ + 0xE8, 0xAE, 0xBE, 0x60, 0x3F, 0x3F, 0xEC, 0x51, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xC0, 0x4E, 0xC0, 0x4B, 0xC0, 0x50, /* 0x0C-0x0F */ + 0xEC, 0x53, 0xC0, 0x4C, 0xEC, 0x52, 0xC0, 0x4F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0x4D, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xEE, 0xF9, 0xEE, 0xFB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xC1, 0xF7, 0xEE, 0xFA, 0xC1, 0xF8, 0xEE, 0xF8, /* 0x1C-0x1F */ + 0xEE, 0xF7, 0x3F, 0x3F, 0xF1, 0x77, 0xF1, 0x76, /* 0x20-0x23 */ + 0xC2, 0xFC, 0xF1, 0x78, 0xF3, 0x7E, 0xC3, 0xFA, /* 0x24-0x27 */ + 0xF3, 0x7D, 0xF3, 0x7A, 0xC3, 0xF9, 0xF3, 0x7B, /* 0x28-0x2B */ + 0xF3, 0x7C, 0x3F, 0x3F, 0xF5, 0x48, 0xF5, 0x49, /* 0x2C-0x2F */ + 0xC4, 0xC5, 0x3F, 0x3F, 0xC5, 0x53, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xF6, 0x6E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0xC5, 0x51, 0xC5, 0x52, 0xF6, 0x6F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xC5, 0xB4, 0xC5, 0xB5, 0xF7, 0x71, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC6, 0x45, 0xF8, 0xCF, /* 0x40-0x43 */ + 0xC6, 0x47, 0x3F, 0x3F, 0xF8, 0xCE, 0xF8, 0xD0, /* 0x44-0x47 */ + 0xC6, 0x46, 0xF9, 0x57, 0x3F, 0x3F, 0xF9, 0xAD, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAB, 0x43, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0x74, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xE4, 0xBE, 0x3F, 0x3F, 0xE8, 0xB0, 0xC0, 0x51, /* 0x58-0x5B */ + 0xC0, 0x52, 0x3F, 0x3F, 0xAB, 0x44, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0xBE, 0x61, 0xC3, 0xFB, 0xAD, 0xB1, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0x53, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xC5, 0xE2, 0xAD, 0xB2, 0xD8, 0x4D, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xDC, 0xA9, 0x3F, 0x3F, 0xDC, 0xAB, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0xDC, 0xAA, 0x3F, 0x3F, 0xE0, 0xDD, 0xE0, 0xDA, /* 0x70-0x73 */ + 0xB9, 0x75, 0x3F, 0x3F, 0xB9, 0x76, 0xE0, 0xDB, /* 0x74-0x77 */ + 0xE0, 0xDC, 0x3F, 0x3F, 0xE4, 0xC0, 0xE4, 0xC5, /* 0x78-0x7B */ + 0xBB, 0xDE, 0xE4, 0xBF, 0xE4, 0xC1, 0xE4, 0xC8, /* 0x7C-0x7F */ + + 0xE4, 0xC3, 0xE4, 0xC7, 0xE4, 0xC4, 0xE4, 0xC2, /* 0x80-0x83 */ + 0xE4, 0xC6, 0xBB, 0xDF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0xE8, 0xB3, 0x3F, 0x3F, 0xE8, 0xB1, 0xBE, 0x63, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xBE, 0x62, 0xE8, 0xB2, 0xBE, 0x64, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xEC, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0x55, /* 0x94-0x97 */ + 0xC0, 0x54, 0xEC, 0x54, 0xEE, 0xFC, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xEE, 0xFE, 0xEF, 0x41, 0xEF, 0x40, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xC1, 0xF9, 0xEE, 0xFD, 0xF1, 0xA1, 0xC2, 0xFD, /* 0xA0-0xA3 */ + 0xF1, 0x7D, 0xF1, 0xA2, 0xC2, 0xFE, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xF1, 0x7B, 0x3F, 0x3F, 0xF1, 0x7E, 0xF1, 0x7C, /* 0xA8-0xAB */ + 0xF1, 0x79, 0xC3, 0x40, 0xF1, 0x7A, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xA1, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xA3, 0xF3, 0xA2, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xF5, 0x4A, 0x3F, 0x3F, 0xF5, 0x4B, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0x70, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xC5, 0xB7, 0x3F, 0x3F, 0xC5, 0xB6, /* 0xC0-0xC3 */ + 0xF8, 0x4F, 0xF8, 0x50, 0xC6, 0x48, 0xF8, 0xD1, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xC6, 0x69, 0x3F, 0x3F, 0xAD, 0xB3, /* 0xC8-0xCB */ + 0xB6, 0xB4, 0xE4, 0xCA, 0xE4, 0xC9, 0xE8, 0xB5, /* 0xCC-0xCF */ + 0xE8, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, 0xC1, 0xFA, /* 0xD0-0xD3 */ + 0xEF, 0x43, 0xEF, 0x42, 0xF1, 0xA5, 0xF1, 0xA3, /* 0xD4-0xD7 */ + 0xF1, 0xA6, 0xF1, 0xA4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xC3, 0xFC, 0xF3, 0xA4, 0xF3, 0xA5, 0xF3, 0xA6, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xF6, 0x71, 0x3F, 0x3F, 0xF7, 0x72, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xF8, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xAD, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xEC, 0x57, 0xEF, 0x44, 0x3F, 0x3F, 0xAD, 0xB5, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBB, 0xE0, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0xEC, 0x58, 0xC3, 0x41, 0xF1, 0xA7, 0xC3, 0xFD, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xF5, 0x4C, 0xF5, 0x4D, 0xC5, 0x54, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_98[512] = { + 0xF8, 0x51, 0xAD, 0xB6, 0xB3, 0xBB, 0xB3, 0xBC, /* 0x00-0x03 */ + 0xD8, 0x4E, 0xB6, 0xB5, 0xB6, 0xB6, 0xDC, 0xAC, /* 0x04-0x07 */ + 0xB6, 0xB7, 0x3F, 0x3F, 0xB9, 0x7A, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xB9, 0x7C, 0xE0, 0xDF, 0xE0, 0xE0, 0xE0, 0xDE, /* 0x0C-0x0F */ + 0xB9, 0x77, 0xB9, 0x78, 0xB9, 0x7B, 0xB9, 0x79, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xCB, 0xBB, 0xE1, /* 0x14-0x17 */ + 0xBB, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xBC, /* 0x18-0x1B */ + 0xBE, 0x67, 0xE8, 0xB7, 0xE8, 0xB6, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xE8, 0xBB, 0xBE, 0x65, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xC0, 0x5B, 0x3F, 0x3F, 0xE8, 0xB8, 0xE8, 0xBD, /* 0x24-0x27 */ + 0xE8, 0xBA, 0xE8, 0xB9, 0x3F, 0x3F, 0xBE, 0x66, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xC0, 0x59, 0x3F, 0x3F, 0xEC, 0x5A, /* 0x2C-0x2F */ + 0xC0, 0x55, 0x3F, 0x3F, 0xEC, 0x5B, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xEC, 0x59, 0x3F, 0x3F, 0xC0, 0x58, /* 0x34-0x37 */ + 0xC0, 0x56, 0xC0, 0x5A, 0x3F, 0x3F, 0xC0, 0x57, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xEF, 0x45, 0x3F, 0x3F, 0xEF, 0x4A, /* 0x40-0x43 */ + 0xEF, 0x46, 0xEF, 0x49, 0xC1, 0xFB, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xED, 0xD4, 0xEF, 0x48, 0xEF, 0x47, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xC3, 0x44, 0xC3, 0x42, 0xC3, 0x45, 0xC3, 0x43, /* 0x4C-0x4F */ + 0xF1, 0xA8, 0xF1, 0xA9, 0xF1, 0xAA, 0xC3, 0x46, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xAA, /* 0x54-0x57 */ + 0xC4, 0x40, 0xF3, 0xA8, 0x3F, 0x3F, 0xC4, 0x41, /* 0x58-0x5B */ + 0xF3, 0xA7, 0xF3, 0xA9, 0xC3, 0xFE, 0xF5, 0x51, /* 0x5C-0x5F */ + 0xF5, 0x4E, 0x3F, 0x3F, 0xF5, 0x4F, 0xF5, 0x50, /* 0x60-0x63 */ + 0xF6, 0x72, 0xC5, 0x56, 0x3F, 0x3F, 0xC5, 0x55, /* 0x64-0x67 */ + 0x3F, 0x3F, 0xF7, 0x74, 0xF7, 0x73, 0xC5, 0xB8, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC5, 0xE3, /* 0x6C-0x6F */ + 0xC6, 0x49, 0xC6, 0x60, 0xF9, 0x58, 0xF9, 0xAE, /* 0x70-0x73 */ + 0xF9, 0xAF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xAD, 0xB7, 0xDC, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xE0, 0xE1, 0xE4, 0xCC, 0xE4, 0xCD, 0xBB, 0xE3, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xBB, 0xE4, 0xE8, 0xBE, 0xBE, 0x68, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC1, 0xFC, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xF1, 0xAB, 0x3F, 0x3F, 0xC3, 0x47, 0xF3, 0xAD, /* 0xB8-0xBB */ + 0xC4, 0x42, 0xF3, 0xAC, 0xF3, 0xAE, 0xF3, 0xAB, /* 0xBC-0xBF */ + 0xF6, 0x75, 0xF5, 0x52, 0xF5, 0x53, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0xC4, 0xC6, 0x3F, 0x3F, 0xF6, 0x74, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xF6, 0x73, 0x3F, 0x3F, 0xF7, 0x75, /* 0xC8-0xCB */ + 0xF9, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAD, 0xB8, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xAD, 0xB9, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB0, 0xA7, 0xD4, 0x48, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xD8, 0x4F, 0x3F, 0x3F, 0xB6, 0xB8, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xB6, 0xBB, 0xB6, 0xB9, 0xDC, 0xAE, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xB6, 0xBD, 0x3F, 0x3F, 0xB6, 0xBA, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB6, 0xBC, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xB9, 0x7E, 0x3F, 0x3F, 0xE0, 0xE2, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xE0, 0xE3, 0xE8, 0xC0, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0xB9, 0x7D, 0xB9, 0xA1, 0xB9, 0xA2, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_99[512] = { + 0xE4, 0xCF, 0x3F, 0x3F, 0xE4, 0xCE, 0xBB, 0xE5, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xBB, 0xE6, 0x3F, 0x3F, 0xE4, 0xD0, /* 0x04-0x07 */ + 0xE8, 0xBF, 0xBB, 0xE8, 0xBE, 0x69, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xBB, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xC0, 0x5C, 0xE8, 0xC1, 0xBE, 0x6B, 0xBE, 0x6A, /* 0x10-0x13 */ + 0xE8, 0xC2, 0xE8, 0xC5, 0xE8, 0xC3, 0xE8, 0xC4, /* 0x14-0x17 */ + 0xBE, 0x6C, 0x3F, 0x3F, 0xC0, 0x61, 0xC0, 0x5F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0x5E, 0xEC, 0x5D, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xC0, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0xEC, 0x5C, 0xEF, 0x4B, 0x3F, 0x3F, 0xEC, 0x5E, /* 0x24-0x27 */ + 0xC0, 0x5D, 0xEC, 0x5F, 0xEF, 0x4E, 0xEF, 0x4C, /* 0x28-0x2B */ + 0xEF, 0x4D, 0xEF, 0x52, 0xC3, 0x4B, 0xEF, 0x51, /* 0x2C-0x2F */ + 0xEF, 0x54, 0xEF, 0x53, 0xEF, 0x50, 0xEF, 0x4F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xC1, 0xFD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xAE, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xF1, 0xAD, 0xC3, 0x4A, 0xC3, 0x48, 0xC3, 0x49, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xF1, 0xAC, 0x3F, 0x3F, 0xF3, 0xB1, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xC4, 0x43, 0x3F, 0x3F, 0xF3, 0xB0, /* 0x44-0x47 */ + 0xF3, 0xAF, 0xC4, 0x44, 0x3F, 0x3F, 0xF5, 0x58, /* 0x48-0x4B */ + 0xF5, 0x57, 0x3F, 0x3F, 0xF5, 0x55, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xF5, 0x54, 0xC4, 0xC8, 0xC4, 0xC7, 0xF5, 0x59, /* 0x50-0x53 */ + 0xF7, 0x76, 0xC5, 0xB9, 0xF6, 0x77, 0xC5, 0x57, /* 0x54-0x57 */ + 0xF6, 0x76, 0xF5, 0x56, 0x3F, 0x3F, 0xF7, 0x77, /* 0x58-0x5B */ + 0xC5, 0xE4, 0x3F, 0x3F, 0xC6, 0x61, 0xF9, 0x59, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0xF9, 0xB1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xAD, 0xBA, 0xD8, 0x50, /* 0x94-0x97 */ + 0xEF, 0x55, 0xAD, 0xBB, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xE4, 0xD2, 0xE4, 0xD1, 0xEC, 0x60, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0xEF, 0x57, 0x3F, 0x3F, 0xEF, 0x56, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0xC3, 0x4C, 0xF3, 0xB2, 0xF3, 0xB3, /* 0xA4-0xA7 */ + 0xC4, 0xC9, 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xB2, /* 0xA8-0xAB */ + 0xB0, 0xA8, 0xB6, 0xBF, 0xB6, 0xBE, 0xE0, 0xE4, /* 0xAC-0xAF */ + 0xE0, 0xE6, 0xB9, 0xA4, 0xE0, 0xE5, 0xB9, 0xA3, /* 0xB0-0xB3 */ + 0xB9, 0xA5, 0xE0, 0xE7, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0xE4, 0xD4, 0xE4, 0xD6, 0xE4, 0xD5, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xE4, 0xD8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xBB, 0xE9, 0xE4, 0xD7, 0xE4, 0xD3, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xD9, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0xE8, 0xCC, 0x3F, 0x3F, 0xE8, 0xCF, /* 0xC8-0xCB */ + 0xE8, 0xD1, 0xE8, 0xC7, 0xE8, 0xCB, 0xE8, 0xC8, /* 0xCC-0xCF */ + 0xBE, 0x6E, 0xBE, 0x71, 0xBE, 0x73, 0xE8, 0xC9, /* 0xD0-0xD3 */ + 0xE8, 0xCA, 0xBE, 0x72, 0xE8, 0xCD, 0xE8, 0xD0, /* 0xD4-0xD7 */ + 0xE8, 0xCE, 0xBE, 0x74, 0x3F, 0x3F, 0xBE, 0x70, /* 0xD8-0xDB */ + 0xE8, 0xC6, 0xBE, 0x6D, 0x3F, 0x3F, 0xBE, 0x6F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0x63, 0xEC, 0x66, /* 0xE0-0xE3 */ + 0xEC, 0x64, 0xEC, 0x63, 0x3F, 0x3F, 0xEC, 0x69, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xEC, 0x68, 0xEC, 0x67, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0xEC, 0x62, 0xC0, 0x62, 0xEC, 0x61, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xEC, 0x65, 0xC0, 0x64, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0xEF, 0x5A, 0x3F, 0x3F, 0xEF, 0x5E, 0xEF, 0x5B, /* 0xF4-0xF7 */ + 0xEF, 0x5D, 0xEF, 0x5C, 0xEF, 0x59, 0xEF, 0x5F, /* 0xF8-0xFB */ + 0xEF, 0x62, 0xEF, 0x60, 0xEF, 0x61, 0xC2, 0x40, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9A[512] = { + 0x3F, 0x3F, 0xC1, 0xFE, 0xEF, 0x58, 0xEF, 0x63, /* 0x00-0x03 */ + 0xF1, 0xB3, 0xF1, 0xB6, 0xF1, 0xB8, 0xF1, 0xB7, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF1, 0xB1, 0xF1, 0xB5, 0xF1, 0xB0, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xF1, 0xB2, 0xC3, 0x4D, 0xF1, 0xAF, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0xF1, 0xB4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xF3, 0xC0, 0xF3, 0xB5, 0xC4, 0x45, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xC4, 0x46, 0xF3, 0xB4, 0xF3, 0xB9, /* 0x18-0x1B */ + 0xF3, 0xBF, 0xF3, 0xB7, 0xF3, 0xBE, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xF3, 0xBB, 0x3F, 0x3F, 0xF3, 0xBA, 0xF3, 0xBD, /* 0x20-0x23 */ + 0xF3, 0xB8, 0xF3, 0xB6, 0x3F, 0x3F, 0xF3, 0xBC, /* 0x24-0x27 */ + 0x3F, 0x3F, 0xF5, 0x60, 0xF5, 0x5E, 0xC4, 0xCA, /* 0x28-0x2B */ + 0xF5, 0x5D, 0xF5, 0x63, 0xF5, 0x61, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xC4, 0xCB, 0xF5, 0x5C, 0xF5, 0x5A, 0x3F, 0x3F, /* 0x30-0x33 */ + 0xF5, 0x5B, 0xC4, 0xCD, 0xF5, 0x5F, 0xC4, 0xCC, /* 0x34-0x37 */ + 0xF5, 0x62, 0xF6, 0x78, 0xF6, 0x7E, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xF6, 0x79, 0xC5, 0x5B, 0xF6, 0xA1, /* 0x3C-0x3F */ + 0xC5, 0x5A, 0xF6, 0x7D, 0xF6, 0x7C, 0xC5, 0x59, /* 0x40-0x43 */ + 0xF6, 0x7B, 0xC5, 0x58, 0xF6, 0x7A, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xF7, 0x7D, 0xF7, 0xA1, 0xF7, 0x7E, 0x3F, 0x3F, /* 0x48-0x4B */ + 0xF7, 0x7B, 0xC5, 0xBB, 0xF7, 0x78, 0xF7, 0x7C, /* 0x4C-0x4F */ + 0xF7, 0xA3, 0x3F, 0x3F, 0xF7, 0xA2, 0xF7, 0x79, /* 0x50-0x53 */ + 0xF7, 0x7A, 0xC5, 0xBA, 0xF8, 0x52, 0xC5, 0xE7, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xF8, 0x53, 0xC5, 0xE5, 0xC5, 0xE6, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xD3, 0xC6, 0x4A, /* 0x5C-0x5F */ + 0xF9, 0x76, 0x3F, 0x3F, 0xC6, 0x6A, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xF9, 0xB3, 0xC6, 0x6B, 0xF9, 0xB4, 0xF9, 0xB5, /* 0x64-0x67 */ + 0xF9, 0xC3, 0xF9, 0xC2, 0xC6, 0x7A, 0xF9, 0xCD, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xB0, 0xA9, 0x3F, 0x3F, 0x3F, 0x3F, 0xE0, 0xE9, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xE0, 0xE8, 0x3F, 0x3F, 0xBB, 0xEA, /* 0xAC-0xAF */ + 0xBB, 0xEB, 0xE4, 0xDA, 0x3F, 0x3F, 0xE8, 0xD2, /* 0xB0-0xB3 */ + 0xEC, 0x6C, 0x3F, 0x3F, 0x3F, 0x3F, 0xBE, 0x75, /* 0xB4-0xB7 */ + 0xC0, 0x65, 0xEC, 0x6A, 0x3F, 0x3F, 0xEC, 0x6D, /* 0xB8-0xBB */ + 0xC0, 0x66, 0x3F, 0x3F, 0xEF, 0x64, 0xEC, 0x6B, /* 0xBC-0xBF */ + 0xF1, 0xB9, 0xC3, 0x4E, 0xF3, 0xC1, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0x66, 0xF5, 0x64, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0x65, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0xF6, 0xA2, 0x3F, 0x3F, 0xC5, 0x5C, /* 0xCC-0xCF */ + 0xF7, 0xA4, 0xC5, 0xEA, 0xC5, 0xBC, 0xC5, 0xE8, /* 0xD0-0xD3 */ + 0xC5, 0xE9, 0xF8, 0xD4, 0xC6, 0x62, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xB0, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0xF1, 0xBA, 0x3F, 0x3F, 0x3F, 0x3F, 0xD4, 0x49, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xB9, 0xA6, 0x3F, 0x3F, 0xE4, 0xDB, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBB, 0xEC, 0xE4, 0xDC, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE8, 0xD4, /* 0xE8-0xEB */ + 0xE8, 0xD3, 0xC0, 0x68, 0xBE, 0x76, 0xBE, 0x77, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xE8, 0xD7, 0xE8, 0xD6, 0xE8, 0xD5, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0x6E, 0xEC, 0x71, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xEC, 0x70, 0xEC, 0x6F, 0xC0, 0x67, /* 0xF8-0xFB */ + 0xEF, 0x68, 0xEF, 0x66, 0xEF, 0x65, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9B[512] = { + 0x3F, 0x3F, 0xEF, 0x67, 0x3F, 0x3F, 0xC3, 0x4F, /* 0x00-0x03 */ + 0xF1, 0xBC, 0xF1, 0xBD, 0xC3, 0x50, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xF1, 0xBB, 0x3F, 0x3F, 0xF3, 0xC3, 0xF3, 0xC2, /* 0x08-0x0B */ + 0xF3, 0xC5, 0xC4, 0x47, 0xF3, 0xC4, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xF5, 0x67, 0xF5, 0x69, 0xF5, 0x68, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xF6, 0xA3, 0xF6, 0xA6, 0xF6, 0xA4, /* 0x14-0x17 */ + 0xF6, 0xA5, 0xF7, 0xA5, 0xC5, 0xBD, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0x54, 0xF8, 0x55, /* 0x1C-0x1F */ + 0xF8, 0x56, 0x3F, 0x3F, 0xC6, 0x4B, 0xC6, 0x63, /* 0x20-0x23 */ + 0xF9, 0xB6, 0xB0, 0xAB, 0x3F, 0x3F, 0xBE, 0x78, /* 0x24-0x27 */ + 0xC0, 0x69, 0xF1, 0xBE, 0x3F, 0x3F, 0xF7, 0xA6, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xC4, 0xD4, 0x4A, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xC6, 0x7B, 0xB0, 0xAC, 0xEC, 0x72, /* 0x30-0x33 */ + 0x3F, 0x3F, 0xF1, 0xBF, 0x3F, 0x3F, 0xF3, 0xC6, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xA7, 0xF7, 0xA7, /* 0x38-0x3B */ + 0xB0, 0xAD, 0x3F, 0x3F, 0xE4, 0xDD, 0xE4, 0xDE, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xBB, 0xED, 0xBB, 0xEE, 0xE8, 0xD9, /* 0x40-0x43 */ + 0xBE, 0x7A, 0xBE, 0x79, 0xE8, 0xD8, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xEF, 0x69, 0x3F, 0x3F, 0xF1, 0xC0, 0xF1, 0xC2, /* 0x48-0x4B */ + 0xF1, 0xC1, 0xC3, 0x53, 0xC3, 0x52, 0xC3, 0x51, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xC5, 0x5E, 0xF6, 0xA8, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xC5, 0x5D, 0xF7, 0xA9, 0xF7, 0xA8, 0x3F, 0x3F, /* 0x54-0x57 */ + 0xC6, 0x4C, 0xF8, 0xD5, 0xB3, 0xBD, 0xE0, 0xEA, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xE4, 0xE1, /* 0x5C-0x5F */ + 0xE4, 0xDF, 0xE4, 0xE0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0xE8, 0xE2, 0x3F, 0x3F, 0xE8, 0xDD, 0xE8, 0xDA, /* 0x64-0x67 */ + 0xE8, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0xE8, 0xE3, 0x3F, 0x3F, 0x3F, 0x3F, 0xBE, 0x7C, /* 0x6C-0x6F */ + 0xE8, 0xE0, 0xE8, 0xDC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xE8, 0xDB, 0xE8, 0xDF, 0xE8, 0xDE, 0xBE, 0x7B, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0x7D, 0xEC, 0x78, /* 0x78-0x7B */ + 0xEC, 0x76, 0xEC, 0xA1, 0xEC, 0x77, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0xEC, 0x73, 0x3F, 0x3F, 0xEC, 0x79, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0xEC, 0x74, 0xEF, 0x72, 0xEC, 0x75, /* 0x84-0x87 */ + 0xEC, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xEC, 0x7C, 0xC0, 0x6A, 0xEC, 0x7B, 0xEC, 0x7A, /* 0x90-0x93 */ + 0x3F, 0x3F, 0xEC, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0x6A, 0xEF, 0x6D, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0x6C, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xEF, 0x74, 0xEF, 0x6F, 0xEF, 0x73, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xEF, 0x71, 0xEF, 0x70, 0xEF, 0x6E, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0xEF, 0x6B, 0x3F, 0x3F, 0xC2, 0x43, 0xC2, 0x42, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xC2, 0x44, 0xC2, 0x41, 0xEF, 0x75, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0xF1, 0xC8, 0xF1, 0xCB, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0xF1, 0xC9, 0xF1, 0xCD, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0xF1, 0xCE, 0x3F, 0x3F, 0xF1, 0xC6, /* 0xBC-0xBF */ + 0xC3, 0x58, 0xF1, 0xC7, 0x3F, 0x3F, 0xF1, 0xC5, /* 0xC0-0xC3 */ + 0xF1, 0xCC, 0x3F, 0x3F, 0xF1, 0xC4, 0xF1, 0xC3, /* 0xC4-0xC7 */ + 0xC3, 0x57, 0xC3, 0x55, 0xC3, 0x54, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xCA, /* 0xD0-0xD3 */ + 0xF3, 0xCF, 0xF3, 0xD5, 0xC4, 0x4A, 0xF3, 0xD0, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0xF3, 0xD3, 0xF3, 0xD7, 0xC4, 0x4B, /* 0xD8-0xDB */ + 0xF3, 0xD2, 0x3F, 0x3F, 0xF3, 0xCA, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xF3, 0xC9, 0xF3, 0xD6, 0xF3, 0xCD, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xF3, 0xCB, 0xF3, 0xD4, 0xF3, 0xCC, 0xC4, 0x49, /* 0xE4-0xE7 */ + 0xC4, 0x48, 0x3F, 0x3F, 0xF3, 0xC7, 0xF3, 0xC8, /* 0xE8-0xEB */ + 0xF3, 0xD1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0xF3, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0x6C, /* 0xF4-0xF7 */ + 0xF5, 0x6F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xC3, 0x56, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9C[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0xF5, 0x6D, 0xF5, 0x73, 0xF5, 0x71, /* 0x04-0x07 */ + 0xF5, 0x6B, 0xF5, 0x76, 0x3F, 0x3F, 0xF5, 0x6A, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xC4, 0xCF, 0xF5, 0x72, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0x6E, 0xC4, 0xCE, /* 0x10-0x13 */ + 0xF5, 0x75, 0x3F, 0x3F, 0x3F, 0x3F, 0xF5, 0x74, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0xF6, 0xAB, 0xF6, 0xAA, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0xF6, 0xB1, 0x3F, 0x3F, 0xF6, 0xAD, /* 0x20-0x23 */ + 0xF6, 0xB0, 0xC5, 0x60, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xF6, 0xAE, 0xF6, 0xAF, 0x3F, 0x3F, 0xF6, 0xA9, /* 0x28-0x2B */ + 0xF6, 0xAC, 0xC5, 0x5F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0xC5, 0xBF, 0xF7, 0xB4, 0xF7, 0xAF, /* 0x30-0x33 */ + 0xF7, 0xB3, 0x3F, 0x3F, 0xF7, 0xB6, 0xF7, 0xB2, /* 0x34-0x37 */ + 0x3F, 0x3F, 0xF7, 0xAE, 0x3F, 0x3F, 0xC5, 0xC1, /* 0x38-0x3B */ + 0xF7, 0xB1, 0xF7, 0xB5, 0xC5, 0xC0, 0xF7, 0xAC, /* 0x3C-0x3F */ + 0xF5, 0x70, 0xF7, 0xB0, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0xF7, 0xAD, 0x3F, 0x3F, 0xF7, 0xAA, 0x3F, 0x3F, /* 0x44-0x47 */ + 0xF7, 0xAB, 0xC5, 0xBE, 0xF8, 0x5A, 0xF8, 0x5C, /* 0x48-0x4B */ + 0xF8, 0x5F, 0xF8, 0x5B, 0xF8, 0x60, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0xF8, 0x59, 0x3F, 0x3F, 0xF8, 0x57, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xC5, 0xEB, 0xF8, 0x5D, 0xC5, 0xED, 0xC5, 0xEC, /* 0x54-0x57 */ + 0xF8, 0x58, 0xF8, 0x5E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xDA, 0xC6, 0x4D, /* 0x5C-0x5F */ + 0xF8, 0xDB, 0x3F, 0x3F, 0xF8, 0xD9, 0xF8, 0xD6, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xD8, 0xF8, 0xD7, /* 0x64-0x67 */ + 0xF9, 0x5A, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0xF9, 0x5C, 0xF9, 0x5B, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0xF9, 0x79, 0x3F, 0x3F, 0xF9, 0x78, /* 0x70-0x73 */ + 0xF9, 0x77, 0xF9, 0x7A, 0x3F, 0x3F, 0xC6, 0x73, /* 0x74-0x77 */ + 0xC6, 0x74, 0xF9, 0xCA, 0xF9, 0xCE, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xB3, 0xBE, 0xDC, 0xAF, 0xE0, 0xED, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0xB9, 0xA7, 0xE0, 0xEB, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xE0, 0xEC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0xE4, 0xE2, 0xE4, 0xE3, 0xBB, 0xF1, /* 0xF0-0xF3 */ + 0xBB, 0xEF, 0xE4, 0xE4, 0xBB, 0xF0, 0xE8, 0xE8, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xE8, 0xEB, 0xE8, 0xE5, 0xE8, 0xEC, /* 0xF8-0xFB */ + 0xE8, 0xE4, 0xE8, 0xE6, 0x3F, 0x3F, 0xE8, 0xE7, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9D[512] = { + 0xE8, 0xEA, 0x3F, 0x3F, 0x3F, 0x3F, 0xBE, 0xA1, /* 0x00-0x03 */ + 0xE8, 0xEF, 0xE8, 0xEE, 0xBE, 0x7D, 0xE8, 0xE9, /* 0x04-0x07 */ + 0xE8, 0xED, 0xBE, 0x7E, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0xEC, 0xAC, 0x3F, 0x3F, 0xC0, 0x6F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0xEC, 0xA7, 0xC0, 0x6B, 0x3F, 0x3F, 0xEC, 0xA4, /* 0x14-0x17 */ + 0xEC, 0xAA, 0xEC, 0xAD, 0x3F, 0x3F, 0xC0, 0x70, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xEC, 0xA9, 0xEC, 0xA6, 0xEC, 0xAE, /* 0x1C-0x1F */ + 0xEC, 0xA5, 0x3F, 0x3F, 0xEC, 0xAB, 0xC0, 0x6C, /* 0x20-0x23 */ + 0x3F, 0x3F, 0xEC, 0xA3, 0xC0, 0x6D, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xC0, 0x6E, 0xEC, 0xA8, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0xEF, 0xA9, 0xEF, 0x7A, 0xEF, 0x7B, /* 0x2C-0x2F */ + 0xEF, 0x7E, 0xEF, 0x7C, 0x3F, 0x3F, 0xEF, 0x76, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0x79, 0xEF, 0xA5, /* 0x34-0x37 */ + 0xEF, 0x7D, 0x3F, 0x3F, 0x3F, 0x3F, 0xC2, 0x45, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xEF, 0xA7, 0xEF, 0xA4, 0xC2, 0x46, /* 0x3C-0x3F */ + 0xEF, 0xA6, 0xEF, 0x77, 0xEF, 0xA2, 0xEF, 0xA3, /* 0x40-0x43 */ + 0x3F, 0x3F, 0xEF, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xD2, 0xF1, 0xD4, /* 0x48-0x4B */ + 0xF1, 0xD7, 0x3F, 0x3F, 0x3F, 0x3F, 0xF1, 0xD1, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0xC3, 0x59, 0xF1, 0xD9, 0xF1, 0xD0, /* 0x50-0x53 */ + 0xF1, 0xDA, 0x3F, 0x3F, 0xF1, 0xD6, 0xF1, 0xD8, /* 0x54-0x57 */ + 0xF1, 0xDC, 0xF1, 0xD5, 0xF1, 0xDD, 0xF1, 0xD3, /* 0x58-0x5B */ + 0xF1, 0xCF, 0xC3, 0x5A, 0x3F, 0x3F, 0xF1, 0xDB, /* 0x5C-0x5F */ + 0xC3, 0x5B, 0xC4, 0x4D, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xEF, 0x78, /* 0x64-0x67 */ + 0xF3, 0xF1, 0xF3, 0xE8, 0xC4, 0x4F, 0xF3, 0xE4, /* 0x68-0x6B */ + 0xC4, 0x50, 0x3F, 0x3F, 0x3F, 0x3F, 0xF3, 0xED, /* 0x6C-0x6F */ + 0xF3, 0xE7, 0xF3, 0xDD, 0xC4, 0x4E, 0xF3, 0xEA, /* 0x70-0x73 */ + 0xF3, 0xE5, 0xF3, 0xE6, 0x3F, 0x3F, 0xF3, 0xD8, /* 0x74-0x77 */ + 0xF3, 0xDF, 0xF3, 0xEE, 0x3F, 0x3F, 0xF3, 0xEB, /* 0x78-0x7B */ + 0x3F, 0x3F, 0xF3, 0xE3, 0x3F, 0x3F, 0xF3, 0xEF, /* 0x7C-0x7F */ + + 0xF3, 0xDE, 0xF3, 0xD9, 0xF3, 0xEC, 0x3F, 0x3F, /* 0x80-0x83 */ + 0xF3, 0xDB, 0xF3, 0xE9, 0xF3, 0xE0, 0xF3, 0xF0, /* 0x84-0x87 */ + 0xF3, 0xDC, 0xC4, 0x4C, 0xF3, 0xDA, 0xF3, 0xE1, /* 0x88-0x8B */ + 0xF3, 0xE2, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xF5, 0x7D, 0x3F, 0x3F, 0xF5, 0x7B, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xF5, 0xA2, 0x3F, 0x3F, 0xF5, 0xAE, 0xF5, 0xA5, /* 0x94-0x97 */ + 0xF5, 0x7C, 0xF5, 0x78, 0xF5, 0xA7, 0xF5, 0x7E, /* 0x98-0x9B */ + 0xF5, 0xA3, 0xF5, 0x7A, 0xF5, 0xAA, 0xF5, 0x77, /* 0x9C-0x9F */ + 0xF5, 0xA1, 0xF5, 0xA6, 0xF5, 0xA8, 0xF5, 0xAB, /* 0xA0-0xA3 */ + 0xF5, 0x79, 0x3F, 0x3F, 0xF5, 0xAF, 0xF5, 0xB0, /* 0xA4-0xA7 */ + 0xF5, 0xA9, 0xF5, 0xAD, 0xF5, 0xA4, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0xF6, 0xC1, 0xF6, 0xC4, 0x3F, 0x3F, 0xC5, 0x61, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0xF6, 0xC3, 0xF6, 0xC8, 0xF6, 0xC6, /* 0xB0-0xB3 */ + 0xC5, 0x62, 0xF6, 0xBD, 0xF6, 0xB3, 0xF6, 0xB2, /* 0xB4-0xB7 */ + 0xC5, 0x64, 0xF6, 0xBF, 0xF6, 0xC0, 0xF6, 0xBC, /* 0xB8-0xBB */ + 0xF6, 0xB4, 0x3F, 0x3F, 0xF6, 0xB9, 0xF5, 0xAC, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0xF6, 0xB5, 0xC5, 0x63, 0xF6, 0xBB, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0xF6, 0xBA, 0x3F, 0x3F, 0xF6, 0xB6, /* 0xC4-0xC7 */ + 0xF6, 0xC2, 0x3F, 0x3F, 0xF6, 0xB7, 0xF7, 0xBB, /* 0xC8-0xCB */ + 0xF6, 0xC5, 0xF6, 0xC7, 0xF6, 0xBE, 0xF6, 0xB8, /* 0xCC-0xCF */ + 0xF7, 0xBC, 0xF7, 0xBE, 0xF7, 0xB8, 0xC5, 0xC2, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0xF7, 0xC5, 0xF7, 0xC3, 0xC5, 0xC3, /* 0xD4-0xD7 */ + 0xF7, 0xC2, 0xF7, 0xC1, 0xF7, 0xBA, 0xF7, 0xB7, /* 0xD8-0xDB */ + 0xF7, 0xBD, 0xF7, 0xC6, 0xF7, 0xB9, 0xF7, 0xBF, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0xF8, 0x69, 0xF8, 0x6E, 0xF8, 0x64, /* 0xE0-0xE3 */ + 0xF8, 0x67, 0xC5, 0xEE, 0xF8, 0x6B, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0xF8, 0x72, 0xF7, 0xC0, 0x3F, 0x3F, 0xF8, 0x65, /* 0xE8-0xEB */ + 0xF8, 0x6F, 0xF8, 0x73, 0xF8, 0x6A, 0xF8, 0x63, /* 0xEC-0xEF */ + 0xF8, 0x6D, 0x3F, 0x3F, 0xF8, 0x6C, 0xF8, 0x71, /* 0xF0-0xF3 */ + 0xF8, 0x70, 0xF7, 0xC4, 0xF8, 0x68, 0xF8, 0x62, /* 0xF4-0xF7 */ + 0xF8, 0x66, 0xC6, 0x4E, 0xC6, 0x4F, 0xF8, 0x61, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0xF8, 0xE6, 0xF8, 0xDD, 0xF8, 0xE5, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9E[512] = { + 0xF8, 0xE2, 0xF8, 0xE3, 0xF8, 0xDC, 0xF8, 0xDF, /* 0x00-0x03 */ + 0xF8, 0xE7, 0xF8, 0xE1, 0xF8, 0xE0, 0xF8, 0xDE, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF8, 0xE4, 0x3F, 0x3F, 0xF9, 0x5D, /* 0x08-0x0B */ + 0x3F, 0x3F, 0xF9, 0x5E, 0x3F, 0x3F, 0xF9, 0x60, /* 0x0C-0x0F */ + 0xF9, 0x5F, 0xF9, 0x62, 0xF9, 0x61, 0xF9, 0x7C, /* 0x10-0x13 */ + 0xF9, 0x7B, 0xF9, 0xB7, 0x3F, 0x3F, 0xF9, 0xB8, /* 0x14-0x17 */ + 0x3F, 0x3F, 0xF9, 0xC5, 0xC6, 0x78, 0xC6, 0x7C, /* 0x18-0x1B */ + 0x3F, 0x3F, 0xF9, 0xCF, 0xC6, 0x7D, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0xB3, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0xC4, 0xD0, 0xF6, 0xC9, 0x3F, 0x3F, /* 0x78-0x7B */ + 0xC6, 0x50, 0xC6, 0x51, 0x3F, 0x3F, 0xB3, 0xC0, /* 0x7C-0x7F */ + + 0xE0, 0xEE, 0x3F, 0x3F, 0xB9, 0xA8, 0xE8, 0xF0, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xEC, 0xB0, 0xEC, 0xB1, /* 0x84-0x87 */ + 0xEC, 0xAF, 0xEF, 0xAB, 0xEF, 0xAA, 0xC2, 0x47, /* 0x88-0x8B */ + 0xF1, 0xDF, 0xEF, 0xAC, 0xF1, 0xDE, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0xF3, 0xF3, 0xC4, 0x51, 0xC4, 0x53, /* 0x90-0x93 */ + 0xF3, 0xF2, 0x3F, 0x3F, 0x3F, 0x3F, 0xC4, 0x52, /* 0x94-0x97 */ + 0x3F, 0x3F, 0xF5, 0xB1, 0xF5, 0xB3, 0xF5, 0xB2, /* 0x98-0x9B */ + 0xF6, 0xCA, 0xC5, 0x65, 0x3F, 0x3F, 0xC5, 0xEF, /* 0x9C-0x9F */ + 0xF8, 0xE8, 0xF9, 0x63, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xF9, 0xD2, 0xB3, 0xC1, 0x3F, 0x3F, 0xE4, 0xE5, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0xBE, 0xA2, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0xEC, 0xB3, 0xEC, 0xB2, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0xEF, 0xAD, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0xC4, 0x54, 0xC4, 0xD1, 0xF7, 0xC7, 0xF9, 0xCB, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xB3, 0xC2, /* 0xB8-0xBB */ + 0xBB, 0xF2, 0x3F, 0x3F, 0xBE, 0xA3, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0xF3, 0xF4, 0x3F, 0x3F, 0xF8, 0x74, 0xB6, 0xC0, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0xEF, 0xAE, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0xC6, 0x64, 0xB6, 0xC1, 0xBE, 0xA4, 0xC2, 0x48, /* 0xCC-0xCF */ + 0xF8, 0x75, 0xB6, 0xC2, 0x3F, 0x3F, 0xE8, 0xF1, /* 0xD0-0xD3 */ + 0xC0, 0x72, 0xEC, 0xB4, 0xEC, 0xB5, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0xC0, 0x71, 0x3F, 0x3F, 0xEF, 0xAF, 0xC2, 0x4C, /* 0xD8-0xDB */ + 0xC2, 0x4A, 0xC2, 0x4B, 0xC2, 0x49, 0xF1, 0xE0, /* 0xDC-0xDF */ + 0xC3, 0x5C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0xF5, 0xB5, 0xF5, 0xB4, 0xF5, 0xB7, 0xF5, 0xB6, /* 0xE4-0xE7 */ + 0xC4, 0xD2, 0x3F, 0x3F, 0x3F, 0x3F, 0xF6, 0xCB, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0xF6, 0xCD, 0xF6, 0xCC, 0xC5, 0x66, /* 0xEC-0xEF */ + 0xF7, 0xC8, 0x3F, 0x3F, 0xF8, 0x76, 0xF8, 0x77, /* 0xF0-0xF3 */ + 0xC5, 0xF0, 0xF9, 0x64, 0xF9, 0x7D, 0xC6, 0x75, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0xDC, 0xB0, 0xEC, 0xB6, 0xEF, 0xB0, /* 0xF8-0xFB */ + 0xF3, 0xF5, 0xE0, 0xEF, 0x3F, 0x3F, 0xEF, 0xB1, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_9F[512] = { + 0xF1, 0xE2, 0xF1, 0xE1, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0x78, 0xC6, 0x52, /* 0x04-0x07 */ + 0x3F, 0x3F, 0xF9, 0x65, 0xF9, 0x7E, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xB9, 0xA9, 0xE8, 0xF2, /* 0x0C-0x0F */ + 0xE8, 0xF3, 0x3F, 0x3F, 0xEC, 0xB7, 0xB9, 0xAA, /* 0x10-0x13 */ + 0x3F, 0x3F, 0xC3, 0x5D, 0xF1, 0xE3, 0x3F, 0x3F, /* 0x14-0x17 */ + 0xF6, 0xCF, 0xC5, 0x67, 0xF6, 0xD0, 0xF6, 0xCE, /* 0x18-0x1B */ + 0xF8, 0x79, 0x3F, 0x3F, 0xF8, 0xE9, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0xB9, 0xAB, 0x3F, 0x3F, 0xEF, 0xB4, 0xEF, 0xB3, /* 0x20-0x23 */ + 0xEF, 0xB2, 0xF1, 0xE4, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0xF1, 0xE8, 0xF1, 0xE7, 0xF1, 0xE6, 0xF1, 0xE5, /* 0x28-0x2B */ + 0xC3, 0x5E, 0xF3, 0xF6, 0xF5, 0xB9, 0xC4, 0xD3, /* 0x2C-0x2F */ + 0xF5, 0xB8, 0xF6, 0xD1, 0xF7, 0xCB, 0xF7, 0xCA, /* 0x30-0x33 */ + 0xC5, 0xC4, 0xF7, 0xC9, 0xF8, 0x7C, 0xF8, 0x7B, /* 0x34-0x37 */ + 0xF8, 0x7A, 0x3F, 0x3F, 0x3F, 0x3F, 0xBB, 0xF3, /* 0x38-0x3B */ + 0x3F, 0x3F, 0xEC, 0xB8, 0xC2, 0x4D, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0xF3, 0xF7, 0xF3, 0xF8, 0xF7, 0xCC, 0xF8, 0x7D, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF8, 0xEA, 0xF9, 0x66, /* 0x44-0x47 */ + 0xF9, 0xB9, 0xF9, 0xD4, 0xBB, 0xF4, 0xC2, 0x4E, /* 0x48-0x4B */ + 0xF1, 0xE9, 0xF3, 0xF9, 0xF6, 0xD2, 0xF8, 0x7E, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xBE, 0xA6, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xEF, 0xB5, 0xF1, 0xEA, 0xF3, 0xFA, 0xF3, 0xFB, /* 0x54-0x57 */ + 0xF3, 0xFC, 0xF5, 0xBE, 0x3F, 0x3F, 0xF5, 0xBA, /* 0x58-0x5B */ + 0xC5, 0x68, 0xF5, 0xBD, 0xF5, 0xBC, 0xC4, 0xD4, /* 0x5C-0x5F */ + 0xF5, 0xBB, 0xC4, 0xD6, 0x3F, 0x3F, 0xC4, 0xD5, /* 0x60-0x63 */ + 0xF6, 0xD4, 0xF6, 0xD3, 0xC5, 0x69, 0xC5, 0x6A, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xC5, 0xC6, 0xF7, 0xCD, /* 0x68-0x6B */ + 0xC5, 0xC5, 0x3F, 0x3F, 0xF8, 0xA3, 0xF8, 0xA4, /* 0x6C-0x6F */ + 0xF8, 0xA2, 0xF8, 0xA1, 0xC6, 0x54, 0x3F, 0x3F, /* 0x70-0x73 */ + 0xF8, 0xEB, 0xF8, 0xEC, 0xF8, 0xED, 0xC6, 0x53, /* 0x74-0x77 */ + 0xF9, 0x67, 0xF9, 0x6A, 0xF9, 0x69, 0xF9, 0x68, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0xF9, 0xD3, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0xC0, 0x73, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0xC3, 0x65, 0xF5, 0xBF, 0xF6, 0xD5, 0x3F, 0x3F, /* 0x90-0x93 */ + 0xC5, 0xC7, 0xF7, 0xCE, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0xF9, 0xD5, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0xC0, 0x74, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0xEF, 0xB6, 0x3F, 0x3F, 0xF7, 0xCF, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0xF9, 0xA1, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FA[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0xC9, 0x4A, 0xDD, 0xFC, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x30-0x33 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x34-0x37 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x38-0x3B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x40-0x43 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x48-0x4B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x4C-0x4F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x54-0x57 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x58-0x5B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FE[512] = { + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x00-0x03 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x04-0x07 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x08-0x0B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x0C-0x0F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x10-0x13 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x14-0x17 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x18-0x1B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x1C-0x1F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x20-0x23 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x24-0x27 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x28-0x2B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x2C-0x2F */ + 0xA1, 0x4A, 0xA1, 0x57, 0x3F, 0x3F, 0xA1, 0x59, /* 0x30-0x33 */ + 0xA1, 0x5B, 0xA1, 0x5F, 0xA1, 0x60, 0xA1, 0x63, /* 0x34-0x37 */ + 0xA1, 0x64, 0xA1, 0x67, 0xA1, 0x68, 0xA1, 0x6B, /* 0x38-0x3B */ + 0xA1, 0x6C, 0xA1, 0x6F, 0xA1, 0x70, 0xA1, 0x73, /* 0x3C-0x3F */ + 0xA1, 0x74, 0xA1, 0x77, 0xA1, 0x78, 0xA1, 0x7B, /* 0x40-0x43 */ + 0xA1, 0x7C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x44-0x47 */ + 0x3F, 0x3F, 0xA1, 0xC6, 0xA1, 0xC7, 0xA1, 0xCA, /* 0x48-0x4B */ + 0xA1, 0xCB, 0xA1, 0xC8, 0xA1, 0xC9, 0xA1, 0x5C, /* 0x4C-0x4F */ + 0xA1, 0x4D, 0xA1, 0x4E, 0xA1, 0x4F, 0x3F, 0x3F, /* 0x50-0x53 */ + 0xA1, 0x51, 0xA1, 0x52, 0xA1, 0x53, 0xA1, 0x54, /* 0x54-0x57 */ + 0x3F, 0x3F, 0xA1, 0x7D, 0xA1, 0x7E, 0xA1, 0xA1, /* 0x58-0x5B */ + 0xA1, 0xA2, 0xA1, 0xA3, 0xA1, 0xA4, 0xA1, 0xCC, /* 0x5C-0x5F */ + 0xA1, 0xCD, 0xA1, 0xCE, 0xA1, 0xDE, 0xA1, 0xDF, /* 0x60-0x63 */ + 0xA1, 0xE0, 0xA1, 0xE1, 0xA1, 0xE2, 0x3F, 0x3F, /* 0x64-0x67 */ + 0xA2, 0x42, 0xA2, 0x4C, 0xA2, 0x4D, 0xA2, 0x4E, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char u2c_FF[512] = { + 0x3F, 0x3F, 0xA1, 0x49, 0x3F, 0x3F, 0xA1, 0xAD, /* 0x00-0x03 */ + 0xA2, 0x43, 0xA2, 0x48, 0xA1, 0xAE, 0x3F, 0x3F, /* 0x04-0x07 */ + 0xA1, 0x5D, 0xA1, 0x5E, 0xA1, 0xAF, 0xA1, 0xCF, /* 0x08-0x0B */ + 0xA1, 0x41, 0xA1, 0xD0, 0xA1, 0x44, 0xA1, 0xFE, /* 0x0C-0x0F */ + 0xA2, 0xAF, 0xA2, 0xB0, 0xA2, 0xB1, 0xA2, 0xB2, /* 0x10-0x13 */ + 0xA2, 0xB3, 0xA2, 0xB4, 0xA2, 0xB5, 0xA2, 0xB6, /* 0x14-0x17 */ + 0xA2, 0xB7, 0xA2, 0xB8, 0xA1, 0x47, 0xA1, 0x46, /* 0x18-0x1B */ + 0xA1, 0xD5, 0xA1, 0xD7, 0xA1, 0xD6, 0xA1, 0x48, /* 0x1C-0x1F */ + 0xA2, 0x49, 0xA2, 0xCF, 0xA2, 0xD0, 0xA2, 0xD1, /* 0x20-0x23 */ + 0xA2, 0xD2, 0xA2, 0xD3, 0xA2, 0xD4, 0xA2, 0xD5, /* 0x24-0x27 */ + 0xA2, 0xD6, 0xA2, 0xD7, 0xA2, 0xD8, 0xA2, 0xD9, /* 0x28-0x2B */ + 0xA2, 0xDA, 0xA2, 0xDB, 0xA2, 0xDC, 0xA2, 0xDD, /* 0x2C-0x2F */ + 0xA2, 0xDE, 0xA2, 0xDF, 0xA2, 0xE0, 0xA2, 0xE1, /* 0x30-0x33 */ + 0xA2, 0xE2, 0xA2, 0xE3, 0xA2, 0xE4, 0xA2, 0xE5, /* 0x34-0x37 */ + 0xA2, 0xE6, 0xA2, 0xE7, 0xA2, 0xE8, 0x3F, 0x3F, /* 0x38-0x3B */ + 0xA2, 0x40, 0x3F, 0x3F, 0x3F, 0x3F, 0xA1, 0xC4, /* 0x3C-0x3F */ + 0x3F, 0x3F, 0xA2, 0xE9, 0xA2, 0xEA, 0xA2, 0xEB, /* 0x40-0x43 */ + 0xA2, 0xEC, 0xA2, 0xED, 0xA2, 0xEE, 0xA2, 0xEF, /* 0x44-0x47 */ + 0xA2, 0xF0, 0xA2, 0xF1, 0xA2, 0xF2, 0xA2, 0xF3, /* 0x48-0x4B */ + 0xA2, 0xF4, 0xA2, 0xF5, 0xA2, 0xF6, 0xA2, 0xF7, /* 0x4C-0x4F */ + 0xA2, 0xF8, 0xA2, 0xF9, 0xA2, 0xFA, 0xA2, 0xFB, /* 0x50-0x53 */ + 0xA2, 0xFC, 0xA2, 0xFD, 0xA2, 0xFE, 0xA3, 0x40, /* 0x54-0x57 */ + 0xA3, 0x41, 0xA3, 0x42, 0xA3, 0x43, 0xA1, 0x61, /* 0x58-0x5B */ + 0xA1, 0x55, 0xA1, 0x62, 0xA1, 0xE3, 0x3F, 0x3F, /* 0x5C-0x5F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x60-0x63 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x64-0x67 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x68-0x6B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x6C-0x6F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x70-0x73 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x74-0x77 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x78-0x7B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x7C-0x7F */ + + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x80-0x83 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x84-0x87 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x88-0x8B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x8C-0x8F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x90-0x93 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x94-0x97 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x98-0x9B */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0x9C-0x9F */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA0-0xA3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA4-0xA7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xA8-0xAB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xAC-0xAF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB0-0xB3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB4-0xB7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xB8-0xBB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xBC-0xBF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC0-0xC3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC4-0xC7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xC8-0xCB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xCC-0xCF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD0-0xD3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD4-0xD7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xD8-0xDB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xDC-0xDF */ + 0xA2, 0x46, 0xA2, 0x47, 0x3F, 0x3F, 0xA1, 0xC3, /* 0xE0-0xE3 */ + 0x3F, 0x3F, 0xA2, 0x44, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE4-0xE7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xE8-0xEB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xEC-0xEF */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF0-0xF3 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF4-0xF7 */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xF8-0xFB */ + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, /* 0xFC-0xFF */ +}; + +static unsigned char *page_uni2charset[256] = { + NULL, NULL, u2c_02, u2c_03, 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, + u2c_20, u2c_21, u2c_22, NULL, NULL, u2c_25, u2c_26, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + u2c_30, u2c_31, u2c_32, u2c_33, 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, u2c_4E, u2c_4F, + u2c_50, u2c_51, u2c_52, u2c_53, u2c_54, u2c_55, u2c_56, u2c_57, + u2c_58, u2c_59, u2c_5A, u2c_5B, u2c_5C, u2c_5D, u2c_5E, u2c_5F, + u2c_60, u2c_61, u2c_62, u2c_63, u2c_64, u2c_65, u2c_66, u2c_67, + u2c_68, u2c_69, u2c_6A, u2c_6B, u2c_6C, u2c_6D, u2c_6E, u2c_6F, + u2c_70, u2c_71, u2c_72, u2c_73, u2c_74, u2c_75, u2c_76, u2c_77, + u2c_78, u2c_79, u2c_7A, u2c_7B, u2c_7C, u2c_7D, u2c_7E, u2c_7F, + u2c_80, u2c_81, u2c_82, u2c_83, u2c_84, u2c_85, u2c_86, u2c_87, + u2c_88, u2c_89, u2c_8A, u2c_8B, u2c_8C, u2c_8D, u2c_8E, u2c_8F, + u2c_90, u2c_91, u2c_92, u2c_93, u2c_94, u2c_95, u2c_96, u2c_97, + u2c_98, u2c_99, u2c_9A, u2c_9B, u2c_9C, u2c_9D, u2c_9E, u2c_9F, + 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, u2c_FA, NULL, NULL, NULL, u2c_FE, u2c_FF, }; + +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + uni2charset = page_uni2charset[ch]; + *outlen = 0; + if (uni2charset){ + if (boundlen <= 1) + return; + out[0] = uni2charset[cl*2]; + out[1] = uni2charset[cl*2+1]; + *outlen = 1; + } else if (ch==0 && cl) + out[0] = cl; + else + out[0] = '?'; + (*outlen)++; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + unsigned char ch, cl; + struct nls_unicode *charset2uni; + + ch = rawstring[0]; + cl = rawstring[1]; + charset2uni = page_charset2uni[ch]; + if (charset2uni && cl){ + *uni1 = charset2uni[cl].uni2; + *uni2 = charset2uni[cl].uni1; + *offset = 2; + } else{ + *uni1 = ch; + *uni2 = 0x00; + *offset = 1; + } + return; +} + +static void inc_use_count(void) +{ + MOD_INC_USE_COUNT; +} + +static void dec_use_count(void) +{ + MOD_DEC_USE_COUNT; +} + +static struct nls_table table = { + "cp950", + uni2char, + char2uni, + inc_use_count, + dec_use_count, + NULL +}; + +int init_nls_cp950(void) +{ + return register_nls(&table); +} + +#ifdef MODULE +int init_module(void) +{ + return init_nls_cp950(); +} + + +void cleanup_module(void) +{ + unregister_nls(&table); + return; +} +#endif + +/* + * Overrides for Emacs so that we follow Linus's tabbing style. + * Emacs will notice this stuff at the end of the file and automatically + * adjust the settings for this buffer only. This must remain at the end + * of the file. + * +--------------------------------------------------------------------------- + * Local variables: + * c-indent-level: 8 + * c-brace-imaginary-offset: 0 + * c-brace-offset: -8 + * c-argdecl-indent: 8 + * c-label-offset: -8 + * c-continued-statement-offset: 8 + * c-continued-brace-offset: 0 + * End: + */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-1.c linux.16p1/fs/nls/nls_iso8859-1.c --- linux.15p19/fs/nls/nls_iso8859-1.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_iso8859-1.c Wed Apr 19 13:58:56 2000 @@ -172,6 +172,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -184,8 +208,8 @@ static struct nls_table table = { "iso8859-1", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-15.c linux.16p1/fs/nls/nls_iso8859-15.c --- linux.15p19/fs/nls/nls_iso8859-15.c Fri Dec 18 16:09:51 1998 +++ linux.16p1/fs/nls/nls_iso8859-15.c Wed Apr 19 13:58:56 2000 @@ -212,6 +212,30 @@ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }; +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -224,8 +248,8 @@ static struct nls_table table = { "iso8859-15", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-2.c linux.16p1/fs/nls/nls_iso8859-2.c --- linux.15p19/fs/nls/nls_iso8859-2.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_iso8859-2.c Wed Apr 19 13:58:56 2000 @@ -244,6 +244,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -256,8 +280,8 @@ static struct nls_table table = { "iso8859-2", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-3.c linux.16p1/fs/nls/nls_iso8859-3.c --- linux.15p19/fs/nls/nls_iso8859-3.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_iso8859-3.c Wed Apr 19 13:58:56 2000 @@ -244,6 +244,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -256,8 +280,8 @@ static struct nls_table table = { "iso8859-3", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-4.c linux.16p1/fs/nls/nls_iso8859-4.c --- linux.15p19/fs/nls/nls_iso8859-4.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_iso8859-4.c Wed Apr 19 13:58:56 2000 @@ -244,6 +244,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -256,8 +280,8 @@ static struct nls_table table = { "iso8859-4", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-5.c linux.16p1/fs/nls/nls_iso8859-5.c --- linux.15p19/fs/nls/nls_iso8859-5.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_iso8859-5.c Wed Apr 19 13:58:56 2000 @@ -248,6 +248,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -260,8 +284,8 @@ static struct nls_table table = { "iso8859-5", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-6.c linux.16p1/fs/nls/nls_iso8859-6.c --- linux.15p19/fs/nls/nls_iso8859-6.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_iso8859-6.c Wed Apr 19 13:58:56 2000 @@ -208,6 +208,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -220,8 +244,8 @@ static struct nls_table table = { "iso8859-6", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-7.c linux.16p1/fs/nls/nls_iso8859-7.c --- linux.15p19/fs/nls/nls_iso8859-7.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_iso8859-7.c Wed Apr 19 13:58:56 2000 @@ -284,6 +284,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -296,8 +320,8 @@ static struct nls_table table = { "iso8859-7", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-8.c linux.16p1/fs/nls/nls_iso8859-8.c --- linux.15p19/fs/nls/nls_iso8859-8.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_iso8859-8.c Wed Apr 19 13:58:56 2000 @@ -248,6 +248,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -260,8 +284,8 @@ static struct nls_table table = { "iso8859-8", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_iso8859-9.c linux.16p1/fs/nls/nls_iso8859-9.c --- linux.15p19/fs/nls/nls_iso8859-9.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_iso8859-9.c Wed Apr 19 13:58:56 2000 @@ -208,6 +208,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -220,8 +244,8 @@ static struct nls_table table = { "iso8859-9", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/nls/nls_koi8-r.c linux.16p1/fs/nls/nls_koi8-r.c --- linux.15p19/fs/nls/nls_koi8-r.c Sun Jan 25 18:05:47 1998 +++ linux.16p1/fs/nls/nls_koi8-r.c Wed Apr 19 13:58:56 2000 @@ -320,6 +320,30 @@ }; #endif +static void uni2char(unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen) +{ + unsigned char *uni2charset; + + if (boundlen <= 0) + return; + + uni2charset = page_uni2charset[ch]; + if (uni2charset && uni2charset[cl]) + out[0] = uni2charset[cl]; + else + out[0] = '?'; + *outlen = 1; + return; +} + +static void char2uni(unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2) +{ + *uni1 = charset2uni[*rawstring].uni1; + *uni2 = charset2uni[*rawstring].uni2; + *offset = 1; + return; +} + static void inc_use_count(void) { MOD_INC_USE_COUNT; @@ -332,8 +356,8 @@ static struct nls_table table = { "koi8-r", - page_uni2charset, - charset2uni, + uni2char, + char2uni, inc_use_count, dec_use_count, NULL diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/ntfs/fs.c linux.16p1/fs/ntfs/fs.c --- linux.15p19/fs/ntfs/fs.c Sat Aug 14 02:25:59 1999 +++ linux.16p1/fs/ntfs/fs.c Wed Apr 19 13:58:56 2000 @@ -360,8 +360,11 @@ if((vol->nct & (nct_uni_xlate | nct_map | nct_utf8))==0) /* default to UTF-8 */ vol->nct=nct_utf8; - if(!vol->nls_map) + if(!vol->nls_map){ vol->nls_map=load_nls_default(); + if (vol->nls_map) + vol->nct=nct_map | (vol->nct&nct_uni_xlate); + } return 1; needs_arg: diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/ntfs/support.c linux.16p1/fs/ntfs/support.c --- linux.15p19/fs/ntfs/support.c Sat Aug 14 02:25:44 1999 +++ linux.16p1/fs/ntfs/support.c Wed Apr 19 13:58:56 2000 @@ -218,7 +218,7 @@ int *out_len) { int i,o,val; - char *result,*buf; + char *result,*buf,tmp[20]; struct nls_table* nls=vol->nls_map; result=ntfs_malloc(in_len+1); @@ -237,11 +237,18 @@ continue; } }else{ - uni_page=nls->page_uni2charset[ch]; - if(uni_page && uni_page[cl]){ - result[o++]=uni_page[cl]; - continue; + int len, i1; + nls->uni2char(ch, cl, tmp, 20, &len); + if (len > 1){ + buf=ntfs_malloc(*out_len + len - 1); + memcpy(buf, result, o); + ntfs_free(result); + result=buf; + *out_len+=(len-1); } + for (i1=0;i1nct & nct_uni_xlate))goto inval; /* realloc */ @@ -290,11 +297,16 @@ *out=result=ntfs_malloc(2*in_len); if(!result)return ENOMEM; *out_len=in_len; - for(i=o=0;inct & nct_uni_xlate)==0){ - cl=nls->charset2uni[(unsigned char)in[i]].uni1; - ch=nls->charset2uni[(unsigned char)in[i]].uni2; + int len; + unsigned char clc=cl, chc=ch; + nls->char2uni(&in[i], &len, &chc, &clc); + cl = chc; + ch = clc; + *out_len -= (len-1); + i += (len-1); }else{ unsigned char c1,c2,c3; *out_len-=3; diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/proc/proc_tty.c linux.16p1/fs/proc/proc_tty.c --- linux.15p19/fs/proc/proc_tty.c Tue Aug 4 18:57:13 1998 +++ linux.16p1/fs/proc/proc_tty.c Wed Apr 19 13:54:11 2000 @@ -93,7 +93,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } @@ -123,7 +123,7 @@ *eof = 1; if (off >= len+begin) return 0; - *start = page + (begin-off); + *start = page + (off-begin); return ((count < begin+len-off) ? count : begin+len-off); } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/smbfs/cache.c linux.16p1/fs/smbfs/cache.c --- linux.15p19/fs/smbfs/cache.c Sun Mar 7 23:25:23 1999 +++ linux.16p1/fs/smbfs/cache.c Wed Apr 19 14:19:17 2000 @@ -58,9 +58,9 @@ */ for (i = 0; i < cachep->pages; i++, index++) { #ifdef SMBFS_PARANOIA -if (index->block) -printk("smb_get_dircache: cache %s/%s has existing block!\n", -dentry->d_parent->d_name.name, dentry->d_name.name); + if (index->block) + printk(KERN_DEBUG "smb_get_dircache: cache %s/%s has existing block!\n", + dentry->d_parent->d_name.name, dentry->d_name.name); #endif offset = PAGE_SIZE + (i << PAGE_SHIFT); block = (struct cache_block *) get_cached_page(inode, @@ -182,8 +182,8 @@ goto out_full; index++; #ifdef SMBFS_PARANOIA -if (index->block) -printk("smb_add_to_cache: new index already has block!\n"); + if (index->block) + printk(KERN_DEBUG "smb_add_to_cache: new index already has block!\n"); #endif /* @@ -257,8 +257,8 @@ int result; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_refill_dircache: cache %s/%s, blocks=%d\n", -dentry->d_parent->d_name.name, dentry->d_name.name, cachep->pages); + printk(KERN_DEBUG "smb_refill_dircache: cache %s/%s, blocks=%d\n", + dentry->d_parent->d_name.name, dentry->d_name.name, cachep->pages); #endif /* * Fill the cache, starting at position 2. @@ -269,7 +269,7 @@ if (result < 0) { #ifdef SMBFS_PARANOIA -printk("smb_refill_dircache: readdir failed, result=%d\n", result); + printk(KERN_DEBUG "smb_refill_dircache: readdir failed, result=%d\n", result); #endif goto out; } @@ -281,7 +281,7 @@ if (!(inode->u.smbfs_i.cache_valid & SMB_F_CACHEVALID)) { #ifdef SMBFS_PARANOIA -printk("smb_refill_dircache: cache invalidated, retrying\n"); + printk(KERN_DEBUG "smb_refill_dircache: cache invalidated, retrying\n"); #endif goto retry; } @@ -290,6 +290,7 @@ if (!result) { cachep->valid = 1; + cachep->mtime = dentry->d_inode->i_mtime; } #ifdef SMBFS_DEBUG_VERBOSE printk("smb_refill_cache: cache %s/%s status=%d, entries=%d\n", diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/smbfs/dir.c linux.16p1/fs/smbfs/dir.c --- linux.15p19/fs/smbfs/dir.c Sat Aug 14 02:26:18 1999 +++ linux.16p1/fs/smbfs/dir.c Wed Apr 19 14:19:17 2000 @@ -80,13 +80,28 @@ { struct dentry *dentry = filp->f_dentry; struct inode *dir = dentry->d_inode; - struct cache_head *cachep; + struct cache_head *cachep = NULL; int result; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_readdir: reading %s/%s, f_pos=%d\n", -dentry->d_parent->d_name.name, dentry->d_name.name, (int) filp->f_pos); + printk("smb_readdir: reading %s/%s, f_pos=%d\n", + dentry->d_parent->d_name.name, dentry->d_name.name, (int) filp->f_pos); #endif + + result = 0; + switch ((unsigned int) filp->f_pos) + { + case 0: + if (filldir(dirent, ".", 1, 0, dir->i_ino) < 0) + goto out; + filp->f_pos = 1; + case 1: + if (filldir(dirent, "..", 2, 1, + dentry->d_parent->d_inode->i_ino) < 0) + goto out; + filp->f_pos = 2; + } + /* * Make sure our inode is up-to-date. */ @@ -103,26 +118,16 @@ /* * Make sure the cache is up-to-date. */ - if (!cachep->valid) + if (!cachep->valid || + (cachep->mtime != dentry->d_inode->i_mtime && + filp->f_pos == 2)) { result = smb_refill_dircache(cachep, dentry); if (result) - goto out_free; + goto out; } result = 0; - switch ((unsigned int) filp->f_pos) - { - case 0: - if (filldir(dirent, ".", 1, 0, dir->i_ino) < 0) - goto out_free; - filp->f_pos = 1; - case 1: - if (filldir(dirent, "..", 2, 1, - dentry->d_parent->d_inode->i_ino) < 0) - goto out_free; - filp->f_pos = 2; - } while (1) { @@ -152,9 +157,10 @@ /* * Release the dircache. */ -out_free: - smb_free_dircache(cachep); out: + if (cachep) { + smb_free_dircache(cachep); + } return result; } @@ -172,16 +178,6 @@ printk("smb_dir_open: (%s/%s)\n", dentry->d_parent->d_name.name, file->f_dentry->d_name.name); #endif - /* - * Directory timestamps in the core protocol aren't updated - * when a file is added, so we give them a very short TTL. - */ - if (server->opt.protocol < SMB_PROTOCOL_LANMAN2) - { - unsigned long age = jiffies - dir->u.smbfs_i.oldmtime; - if (age > 2*HZ) - smb_invalid_dir_cache(dir); - } if (server->conn_pid) error = smb_revalidate_inode(dentry); @@ -231,8 +227,8 @@ if (is_bad_inode(inode)) { #ifdef SMBFS_PARANOIA -printk("smb_lookup_validate: %s/%s has dud inode\n", -dentry->d_parent->d_name.name, dentry->d_name.name); + printk(KERN_DEBUG "smb_lookup_validate: %s/%s has dud inode\n", + dentry->d_parent->d_name.name, dentry->d_name.name); #endif valid = 0; } else if (!valid) @@ -295,8 +291,8 @@ if (is_bad_inode(dentry->d_inode)) { #ifdef SMBFS_PARANOIA -printk("smb_delete_dentry: bad inode, unhashing %s/%s\n", -dentry->d_parent->d_name.name, dentry->d_name.name); + printk(KERN_DEBUG "smb_delete_dentry: bad inode, unhashing %s/%s\n", + dentry->d_parent->d_name.name, dentry->d_name.name); #endif d_drop(dentry); } @@ -337,9 +333,9 @@ error = smb_proc_getattr(dentry, &finfo); #ifdef SMBFS_PARANOIA -if (error && error != -ENOENT) -printk("smb_lookup: find %s/%s failed, error=%d\n", -dentry->d_parent->d_name.name, dentry->d_name.name, error); + if (error && error != -ENOENT) + printk(KERN_DEBUG "smb_lookup: find %s/%s failed, error=%d\n", + dentry->d_parent->d_name.name, dentry->d_name.name, error); #endif inode = NULL; @@ -404,8 +400,8 @@ if (have_id) { #ifdef SMBFS_PARANOIA -printk("smb_instantiate: %s/%s failed, error=%d, closing %u\n", -dentry->d_parent->d_name.name, dentry->d_name.name, error, fileid); + printk(KERN_DEBUG "smb_instantiate: %s/%s failed, error=%d, closing %u\n", + dentry->d_parent->d_name.name, dentry->d_name.name, error, fileid); #endif smb_close_fileid(dentry, fileid); } @@ -424,7 +420,6 @@ dentry->d_parent->d_name.name, dentry->d_name.name, mode); #endif - smb_invalid_dir_cache(dir); error = smb_proc_create(dentry, 0, CURRENT_TIME, &fileid); if (!error) { @@ -432,8 +427,8 @@ } else { #ifdef SMBFS_PARANOIA -printk("smb_create: %s/%s failed, error=%d\n", -dentry->d_parent->d_name.name, dentry->d_name.name, error); + printk(KERN_DEBUG "smb_create: %s/%s failed, error=%d\n", + dentry->d_parent->d_name.name, dentry->d_name.name, error); #endif } return error; @@ -445,7 +440,6 @@ { int error; - smb_invalid_dir_cache(dir); error = smb_proc_mkdir(dentry); if (!error) { @@ -472,7 +466,6 @@ if (!list_empty(&dentry->d_hash)) goto out; - smb_invalid_dir_cache(dir); error = smb_proc_rmdir(dentry); out: @@ -489,7 +482,6 @@ */ smb_close(dentry->d_inode); - smb_invalid_dir_cache(dir); error = smb_proc_unlink(dentry); if (!error) { @@ -518,8 +510,8 @@ if (error) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_rename: unlink %s/%s, error=%d\n", -new_dentry->d_parent->d_name.name, new_dentry->d_name.name, error); + printk(KERN_DEBUG "smb_rename: unlink %s/%s, error=%d\n", + new_dentry->d_parent->d_name.name, new_dentry->d_name.name, error); #endif goto out; } @@ -527,8 +519,6 @@ d_delete(new_dentry); } - smb_invalid_dir_cache(old_dir); - smb_invalid_dir_cache(new_dir); error = smb_proc_mv(old_dentry, new_dentry); if (!error) { diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/smbfs/file.c linux.16p1/fs/smbfs/file.c --- linux.15p19/fs/smbfs/file.c Thu Mar 9 19:32:38 2000 +++ linux.16p1/fs/smbfs/file.c Wed Apr 19 14:19:17 2000 @@ -71,7 +71,7 @@ if (result < 0) { #ifdef SMBFS_PARANOIA -printk("smb_readpage_sync: %s/%s open failed, error=%d\n", +printk(KERN_DEBUG "smb_readpage_sync: %s/%s open failed, error=%d\n", dentry->d_parent->d_name.name, dentry->d_name.name, result); #endif goto io_error; @@ -112,7 +112,7 @@ pr_debug("SMB: smb_readpage %08lx\n", page_address(page)); #ifdef SMBFS_PARANOIA if (test_bit(PG_locked, &page->flags)) - printk("smb_readpage: page already locked!\n"); + printk(KERN_DEBUG "smb_readpage: page already locked!\n"); #endif set_bit(PG_locked, &page->flags); atomic_inc(&page->count); @@ -136,7 +136,7 @@ offset += page->offset; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_writepage_sync: file %s/%s, count=%d@%ld, wsize=%d\n", +printk(KERN_DEBUG "smb_writepage_sync: file %s/%s, count=%d@%ld, wsize=%d\n", dentry->d_parent->d_name.name, dentry->d_name.name, count, offset, wsize); #endif @@ -150,7 +150,7 @@ /* N.B. what if result < wsize?? */ #ifdef SMBFS_PARANOIA if (result < wsize) -printk("smb_writepage_sync: short write, wsize=%d, result=%d\n", wsize, result); +printk(KERN_DEBUG "smb_writepage_sync: short write, wsize=%d, result=%d\n", wsize, result); #endif buffer += wsize; offset += wsize; @@ -179,7 +179,7 @@ #ifdef SMBFS_PARANOIA if (test_bit(PG_locked, &page->flags)) - printk("smb_writepage: page already locked!\n"); + printk(KERN_DEBUG "smb_writepage: page already locked!\n"); #endif set_bit(PG_locked, &page->flags); atomic_inc(&page->count); @@ -208,7 +208,7 @@ ssize_t status; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_file_read: file %s/%s, count=%lu@%lu\n", +printk(KERN_DEBUG "smb_file_read: file %s/%s, count=%lu@%lu\n", dentry->d_parent->d_name.name, dentry->d_name.name, (unsigned long) count, (unsigned long) *ppos); #endif @@ -217,14 +217,14 @@ if (status) { #ifdef SMBFS_PARANOIA -printk("smb_file_read: %s/%s validation failed, error=%d\n", +printk(KERN_DEBUG "smb_file_read: %s/%s validation failed, error=%d\n", dentry->d_parent->d_name.name, dentry->d_name.name, status); #endif goto out; } #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_file_read: before read, size=%ld, pages=%ld, flags=%x, atime=%ld\n", +printk(KERN_DEBUG "smb_file_read: before read, size=%ld, pages=%ld, flags=%x, atime=%ld\n", dentry->d_inode->i_size, dentry->d_inode->i_nrpages, dentry->d_inode->i_flags, dentry->d_inode->i_atime); #endif @@ -240,7 +240,7 @@ int status; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_file_mmap: file %s/%s, address %lu - %lu\n", +printk(KERN_DEBUG "smb_file_mmap: file %s/%s, address %lu - %lu\n", dentry->d_parent->d_name.name, dentry->d_name.name, vma->vm_start, vma->vm_end); #endif @@ -248,7 +248,7 @@ if (status) { #ifdef SMBFS_PARANOIA -printk("smb_file_mmap: %s/%s validation failed, error=%d\n", +printk(KERN_DEBUG "smb_file_mmap: %s/%s validation failed, error=%d\n", dentry->d_parent->d_name.name, dentry->d_name.name, status); #endif goto out; @@ -268,7 +268,7 @@ ssize_t result; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_file_write: file %s/%s, count=%lu@%lu, pages=%ld\n", +printk(KERN_DEBUG "smb_file_write: file %s/%s, count=%lu@%lu, pages=%ld\n", dentry->d_parent->d_name.name, dentry->d_name.name, (unsigned long) count, (unsigned long) *ppos, dentry->d_inode->i_nrpages); #endif @@ -277,7 +277,7 @@ if (result) { #ifdef SMBFS_PARANOIA -printk("smb_file_write: %s/%s validation failed, error=%d\n", +printk(KERN_DEBUG "smb_file_write: %s/%s validation failed, error=%d\n", dentry->d_parent->d_name.name, dentry->d_name.name, result); #endif goto out; @@ -291,7 +291,7 @@ { result = generic_file_write(file, buf, count, ppos); #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_file_write: pos=%ld, size=%ld, mtime=%ld, atime=%ld\n", +printk(KERN_DEBUG "smb_file_write: pos=%ld, size=%ld, mtime=%ld, atime=%ld\n", (long) file->f_pos, dentry->d_inode->i_size, dentry->d_inode->i_mtime, dentry->d_inode->i_atime); #endif @@ -304,7 +304,7 @@ smb_file_open(struct inode *inode, struct file * file) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_file_open: opening %s/%s, d_count=%d\n", +printk(KERN_DEBUG "smb_file_open: opening %s/%s, d_count=%d\n", file->f_dentry->d_parent->d_name.name, file->f_dentry->d_name.name, file->f_dentry->d_count); #endif @@ -317,7 +317,7 @@ struct dentry * dentry = file->f_dentry; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_file_release: closing %s/%s, d_count=%d\n", +printk(KERN_DEBUG "smb_file_release: closing %s/%s, d_count=%d\n", dentry->d_parent->d_name.name, dentry->d_name.name, dentry->d_count); #endif @@ -340,7 +340,7 @@ int error = 0; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_file_permission: mode=%x, mask=%x\n", mode, mask); +printk(KERN_DEBUG "smb_file_permission: mode=%x, mask=%x\n", mode, mask); #endif /* Look at user permissions */ mode >>= 6; diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/smbfs/inode.c linux.16p1/fs/smbfs/inode.c --- linux.15p19/fs/smbfs/inode.c Sat Aug 14 02:26:51 1999 +++ linux.16p1/fs/smbfs/inode.c Wed Apr 19 14:19:17 2000 @@ -204,7 +204,7 @@ * subsequent lookup validations will fail. */ #ifdef SMBFS_PARANOIA -printk("smb_refresh_inode: %s/%s changed mode, %07o to %07o\n", +printk(KERN_DEBUG "smb_refresh_inode: %s/%s changed mode, %07o to %07o\n", dentry->d_parent->d_name.name, dentry->d_name.name, inode->i_mode, fattr.f_mode); #endif @@ -255,7 +255,7 @@ if (time_before(jiffies, inode->u.smbfs_i.oldmtime + HZ/10)) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_revalidate_inode: up-to-date, jiffies=%lu, oldtime=%lu\n", +printk(KERN_DEBUG "smb_revalidate_inode: up-to-date, jiffies=%lu, oldtime=%lu\n", jiffies, inode->u.smbfs_i.oldmtime); #endif goto out; @@ -270,14 +270,12 @@ if (error || inode->i_mtime != last_time) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_revalidate: %s/%s changed, old=%ld, new=%ld\n", +printk(KERN_DEBUG "smb_revalidate: %s/%s changed, old=%ld, new=%ld\n", dentry->d_parent->d_name.name, dentry->d_name.name, (long) last_time, (long) inode->i_mtime); #endif if (!S_ISDIR(inode->i_mode)) invalidate_inode_pages(inode); - else - smb_invalid_dir_cache(inode); } out: return error; @@ -304,7 +302,7 @@ { pr_debug("smb_delete_inode\n"); if (smb_close(ino)) - printk("smb_delete_inode: could not close inode %ld\n", + printk(KERN_DEBUG "smb_delete_inode: could not close inode %ld\n", ino->i_ino); clear_inode(ino); } @@ -381,13 +379,6 @@ mnt->dir_mode &= (S_IRWXU | S_IRWXG | S_IRWXO); mnt->dir_mode |= S_IFDIR; sb->u.smbfs_sb.mnt = mnt; - /* - * Display the enabled options - */ - if (mnt->version & SMB_FIX_OLDATTR) - printk("SMBFS: Using core getattr (Win 95 speedup)\n"); - else if (mnt->version & SMB_FIX_DIRATTR) - printk("SMBFS: Using dir ff getattr\n"); /* * Keep the super block locked while we get the root inode. @@ -419,7 +410,7 @@ printk(KERN_ERR "SMBFS: need mount version %d\n", SMB_MOUNT_VERSION); goto out_fail; out_no_data: - printk("smb_read_super: missing data argument\n"); + printk(KERN_DEBUG "smb_read_super: missing data argument\n"); out_fail: sb->s_dev = 0; MOD_DEC_USE_COUNT; @@ -471,7 +462,7 @@ if ((attr->ia_valid & ATTR_SIZE) != 0) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_notify_change: changing %s/%s, old size=%ld, new size=%ld\n", +printk(KERN_DEBUG "smb_notify_change: changing %s/%s, old size=%ld, new size=%ld\n", dentry->d_parent->d_name.name, dentry->d_name.name, (long) inode->i_size, (long) attr->ia_size); #endif @@ -510,9 +501,7 @@ if ((attr->ia_valid & ATTR_ATIME) != 0) { fattr.f_atime = attr->ia_atime; - /* Earlier protocols don't have an access time */ - if (server->opt.protocol >= SMB_PROTOCOL_LANMAN2) - changed = 1; + changed = 1; } if (changed) { @@ -529,8 +518,8 @@ if ((attr->ia_valid & ATTR_MODE) != 0) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_notify_change: %s/%s mode change, old=%x, new=%lx\n", -dentry->d_parent->d_name.name, dentry->d_name.name, fattr.f_mode,attr->ia_mode); + printk(KERN_DEBUG "smb_notify_change: %s/%s mode change, old=%x, new=%lx\n", + dentry->d_parent->d_name.name, dentry->d_name.name, fattr.f_mode,attr->ia_mode); #endif changed = 0; if (attr->ia_mode & S_IWUSR) diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/smbfs/proc.c linux.16p1/fs/smbfs/proc.c --- linux.15p19/fs/smbfs/proc.c Tue Jan 4 21:19:00 2000 +++ linux.16p1/fs/smbfs/proc.c Wed Apr 19 14:19:17 2000 @@ -12,6 +12,11 @@ * - don't sleep every time with win95 on a FINDNEXT * - fixed loop_count bug * - got rid of resume_key + * Jan 2000, cpg@aladdin.de + * - added posix semantics for unlink + * March 2000, tridge + * - removed support for old protocol levels. It didn't work anyway and + * was cluttering things up a lot. */ #include @@ -34,6 +39,7 @@ /* #define SMBFS_DEBUG_TIMESTAMP 1 */ /* #define SMBFS_DEBUG_VERBOSE 1 */ /* #define pr_debug printk */ +#define SMBFS_POSIX_UNLINK 1 #define SMB_VWV(packet) ((packet) + SMB_HEADER_LEN) #define SMB_CMD(packet) (*(packet+8)) @@ -49,39 +55,19 @@ static int smb_proc_setattr_ext(struct smb_sb_info *, struct inode *, struct smb_fattr *); -static inline int -min(int a, int b) -{ - return a < b ? a : b; -} - -static void -str_upper(char *name, int len) -{ - while (len--) - { - if (*name >= 'a' && *name <= 'z') - *name -= ('a' - 'A'); - name++; - } -} +static int +smb_proc_setattr_core(struct smb_sb_info *server, struct dentry *dentry, + __u16 attr); -static void -str_lower(char *name, int len) -{ - while (len--) - { - if (*name >= 'A' && *name <= 'Z') - *name += ('a' - 'A'); - name++; - } -} +static int +smb_proc_do_getattr(struct dentry *dir, struct smb_fattr *fattr,struct smb_sb_info *server); +/* reverse a string inline. This is used by the dircache walking routines */ static void reverse_string(char *buf, int len) { char c; char *end = buf+len-1; - while(buf < end) { + while (buf < end) { c = *buf; *(buf++) = *end; *(end--) = c; @@ -163,13 +149,8 @@ static char *smb_encode_path(struct smb_sb_info *server, char *buf, struct dentry *dir, struct qstr *name) { - char *start = buf; - buf += smb_build_path(dir, name, buf); - if (server->opt.protocol <= SMB_PROTOCOL_COREPLUS) - str_upper(start, buf - start); - return buf; } @@ -542,7 +523,7 @@ if (server->state == CONN_VALID) { #ifdef SMBFS_PARANOIA -printk("smb_retry: new pid=%d, generation=%d\n", +printk(KERN_DEBUG "smb_retry: new pid=%d, generation=%d\n", server->conn_pid, server->generation); #endif result = 1; @@ -587,7 +568,7 @@ if (smb_valid_packet(s->packet) != 0) { #ifdef SMBFS_PARANOIA -printk("smb_request_ok: invalid packet!\n"); +printk(KERN_DEBUG "smb_request_ok: invalid packet!\n"); #endif goto out; } @@ -601,7 +582,7 @@ { result = -smb_errno(s); if (!result) - printk("smb_request_ok: rcls=%d, err=%d mapped to 0\n", + printk(KERN_DEBUG "smb_request_ok: rcls=%d, err=%d mapped to 0\n", s->rcls, s->err); /* * Exit now even if the error was squashed ... @@ -630,7 +611,7 @@ int error; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_newconn: fd=%d, pid=%d\n", opt->fd, current->pid); +printk(KERN_DEBUG "smb_newconn: fd=%d, pid=%d\n", opt->fd, current->pid); #endif /* * Make sure we don't already have a pid ... @@ -644,6 +625,11 @@ !capable(CAP_SYS_ADMIN)) goto out; + if (opt->protocol < SMB_PROTOCOL_NT1) { + printk(KERN_NOTICE " smbfs: protocols older than NT1 are not suppported\n"); + goto out; + } + error = -EBADF; filp = fget(opt->fd); if (!filp) @@ -666,17 +652,16 @@ /* now that we have an established connection we can detect the server type and enable bug workarounds */ - if (server->opt.protocol == SMB_PROTOCOL_NT1 && - (server->opt.max_xmit < 0x1000) && + if ((server->opt.max_xmit < 0x1000) && !(server->opt.capabilities & SMB_CAP_NT_SMBS)) { server->mnt->version |= SMB_FIX_WIN95; #ifdef SMBFS_DEBUG_VERBOSE - printk("smb_newconn: detected WIN95 server\n"); + printk(KERN_NOTICE "smb_newconn: detected WIN95 server\n"); #endif } #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_newconn: protocol=%d, max_xmit=%d, pid=%d capabilities=0x%x\n", +printk(KERN_DEBUG "smb_newconn: protocol=%d, max_xmit=%d, pid=%d capabilities=0x%x\n", server->opt.protocol, server->opt.max_xmit, server->conn_pid, server->opt.capabilities); #endif @@ -701,7 +686,7 @@ __u8 *buf = server->packet; if (xmit_len > server->packet_size) -printk("smb_setup_header: Aieee, xmit len > packet! len=%d, size=%d\n", +printk(KERN_DEBUG "smb_setup_header: Aieee, xmit len > packet! len=%d, size=%d\n", xmit_len, server->packet_size); p = smb_encode_smb_length(p, xmit_len - 4); @@ -721,11 +706,8 @@ WSET(buf, smb_uid, server->opt.server_uid); WSET(buf, smb_mid, 1); - if (server->opt.protocol > SMB_PROTOCOL_CORE) - { - *(buf+smb_flg) = 0x8; - WSET(buf, smb_flg2, 0x3); - } + *(buf+smb_flg) = 0x8; + WSET(buf, smb_flg2, 0x3); *p++ = wct; /* wct */ p += 2 * wct; WSET(p, 0, bcc); @@ -784,7 +766,7 @@ (error == -EACCES || error == -ETXTBSY || error == -EROFS)) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_open: %s/%s R/W failed, error=%d, retrying R/O\n", +printk(KERN_DEBUG "smb_proc_open: %s/%s R/W failed, error=%d, retrying R/O\n", DENTRY_PATH(dentry), error); #endif mode = read_only; @@ -818,7 +800,7 @@ result = -ENOENT; if (!inode) { - printk("smb_open: no inode for dentry %s/%s\n", + printk(KERN_DEBUG "smb_open: no inode for dentry %s/%s\n", DENTRY_PATH(dentry)); goto out; } @@ -839,7 +821,7 @@ if (result) { #ifdef SMBFS_PARANOIA -printk("smb_open: %s/%s open failed, result=%d\n", +printk(KERN_DEBUG "smb_open: %s/%s open failed, result=%d\n", DENTRY_PATH(dentry), result); #endif goto out; @@ -858,7 +840,7 @@ inode->u.smbfs_i.access != SMB_O_RDWR) { #ifdef SMBFS_PARANOIA -printk("smb_open: %s/%s access denied, access=%x, wish=%x\n", +printk(KERN_DEBUG "smb_open: %s/%s access denied, access=%x, wish=%x\n", DENTRY_PATH(dentry), inode->u.smbfs_i.access, wish); #endif result = -EACCES; @@ -911,9 +893,7 @@ * If the file is open with write permissions, * update the time stamps to sync mtime and atime. */ - if ((server->opt.protocol >= SMB_PROTOCOL_LANMAN2) && - !(ino->u.smbfs_i.access == SMB_O_RDONLY)) - { + if (ino->u.smbfs_i.access != SMB_O_RDONLY) { struct smb_fattr fattr; smb_get_inode_attr(ino, &fattr); smb_proc_setattr_ext(server, ino, &fattr); @@ -923,11 +903,8 @@ ino->i_mtime); ino->u.smbfs_i.cache_valid &= ~SMB_F_LOCALWRITE; /* - * Force a revalidation after closing ... some servers - * don't post the size until the file has been closed. + * Force a revalidation after closing */ - if (server->opt.protocol < SMB_PROTOCOL_NT1) - ino->u.smbfs_i.oldmtime = 0; ino->u.smbfs_i.closed = jiffies; } return result; @@ -974,7 +951,7 @@ if (dentry->d_count <= 1) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_close_dentry: closing %s/%s, count=%d\n", +printk(KERN_DEBUG "smb_close_dentry: closing %s/%s, count=%d\n", DENTRY_PATH(dentry), dentry->d_count); #endif smb_proc_close_inode(server, ino); @@ -982,7 +959,7 @@ smb_unlock_server(server); } #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_close_dentry: closed %s/%s, count=%d\n", +printk(KERN_DEBUG "smb_close_dentry: closed %s/%s, count=%d\n", DENTRY_PATH(dentry), dentry->d_count); #endif } @@ -1042,7 +1019,7 @@ out: #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_read: file %s/%s, count=%d, result=%d\n", +printk(KERN_DEBUG "smb_proc_read: file %s/%s, count=%d, result=%d\n", DENTRY_PATH(dentry), count, result); #endif smb_unlock_server(server); @@ -1057,7 +1034,7 @@ __u8 *p; #if SMBFS_DEBUG_VERBOSE -printk("smb_proc_write: file %s/%s, count=%d@%ld, packet_size=%d\n", +printk(KERN_DEBUG "smb_proc_write: file %s/%s, count=%d@%ld, packet_size=%d\n", DENTRY_PATH(dentry), count, offset, server->packet_size); #endif smb_lock_server(server); @@ -1184,11 +1161,36 @@ return smb_proc_generic_command(dentry, SMBrmdir); } + +/* + * Note: called with the server locked. + * removes readonly attribute from a file. Used by unlink to give posix semantics + */ +static int +smb_set_rw(struct dentry *dentry,struct smb_sb_info *server) +{ + int result; + struct smb_fattr fattr; + + /* first get current attribute */ + + result = smb_proc_do_getattr(dentry, &fattr, server); + if (result < 0) return result; + + /* if RONLY attribute is set, remove it */ + if (fattr.attr & aRONLY) { /* read only attribute is set */ + fattr.attr &= ~aRONLY; + result = smb_proc_setattr_core(server, dentry, fattr.attr); + } + return result; +} + int smb_proc_unlink(struct dentry *dentry) { struct smb_sb_info *server = server_from_dentry(dentry); char *p; + int flag = 0; int result; smb_lock_server(server); @@ -1202,6 +1204,27 @@ if ((result = smb_request_ok(server, SMBunlink, 0, 0)) < 0) { +#if SMBFS_POSIX_UNLINK + if (result == -EACCES && !flag) { + /* Posix semantics is for the read-only state + of a file to be ignored in unlink(). In the + SMB world a unlink() is refused on a + read-only file. To make things easier for + unix users we try to override the files + permission if the unlink fails with the + right error. + + This introduces a race condition that could + lead to a file being written by someone who + shouldn't have access, but as far as I can + tell that is unavoidable */ + result = smb_set_rw(dentry,server); /* remove RONLY attribute */ + if (result == 0) { + flag = 1; + goto retry; /* and try again */ + } + } +#endif if (smb_retry(server)) goto retry; goto out; @@ -1285,178 +1308,10 @@ smb_finish_dirent(server, fattr); } -/* - * Note that we are now returning the name as a reference to avoid - * an extra copy, and that the upper/lower casing is done in place. - * - * Bugs Noted: - * (1) Pathworks servers may pad the name with extra spaces. - */ -static __u8 * -smb_decode_dirent(struct smb_sb_info *server, __u8 *p, - struct cache_dirent *entry) -{ - int len; - - /* - * SMB doesn't have a concept of inode numbers ... - */ - entry->ino = 0; - - p += SMB_STATUS_SIZE; /* reserved (search_status) */ - entry->name = p + 9; - len = strlen(entry->name); - if (len > 12) - { - len = 12; - } - /* - * Trim trailing blanks for Pathworks servers - */ - while (len > 2 && entry->name[len-1] == ' ') - len--; - entry->len = len; - - switch (server->opt.case_handling) - { - case SMB_CASE_UPPER: - str_upper(entry->name, len); - break; - case SMB_CASE_LOWER: - str_lower(entry->name, len); - break; - default: - break; - } - pr_debug("smb_decode_dirent: len=%d, name=%s\n", len, entry->name); - return p + 22; -} - -/* This routine is used to read in directory entries from the network. - Note that it is for short directory name seeks, i.e.: protocol < - SMB_PROTOCOL_LANMAN2 */ - -static int -smb_proc_readdir_short(struct smb_sb_info *server, struct dentry *dir, int fpos, - void *cachep) -{ - char *p; - int result; - int i, first, entries_seen, entries; - int entries_asked = (server->opt.max_xmit - 100) / SMB_DIRINFO_SIZE; - __u16 bcc; - __u16 count; - char status[SMB_STATUS_SIZE]; - static struct qstr mask = { "*.*", 3, 0 }; - -#ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_readdir_short: %s/%s, pos=%d\n", - DENTRY_PATH(dir), fpos); -#endif - - smb_lock_server(server); - - /* N.B. We need to reinitialize the cache to restart */ - retry: - smb_init_dircache(cachep); - first = 1; - entries = 0; - entries_seen = 2; /* implicit . and .. */ - - while (1) - { - p = smb_setup_header(server, SMBsearch, 2, 0); - WSET(server->packet, smb_vwv0, entries_asked); - WSET(server->packet, smb_vwv1, aDIR); - *p++ = 4; - if (first == 1) - { - p = smb_encode_path(server, p, dir, &mask); - *p++ = 5; - WSET(p, 0, 0); - p += 2; - first = 0; - } else - { - *p++ = 0; - *p++ = 5; - WSET(p, 0, SMB_STATUS_SIZE); - p += 2; - memcpy(p, status, SMB_STATUS_SIZE); - p += SMB_STATUS_SIZE; - } - - smb_setup_bcc(server, p); - - result = smb_request_ok(server, SMBsearch, 1, -1); - if (result < 0) - { - if ((server->rcls == ERRDOS) && - (server->err == ERRnofiles)) - break; - if (smb_retry(server)) - goto retry; - goto unlock_return; - } - p = SMB_VWV(server->packet); - count = WVAL(p, 0); - if (count <= 0) - break; - - result = -EIO; - bcc = WVAL(p, 2); - if (bcc != count * SMB_DIRINFO_SIZE + 3) - goto unlock_return; - p += 7; - - /* Read the last entry into the status field. */ - memcpy(status, - SMB_BUF(server->packet) + 3 + - (count - 1) * SMB_DIRINFO_SIZE, - SMB_STATUS_SIZE); - - /* Now we are ready to parse smb directory entries. */ - - for (i = 0; i < count; i++) - { - struct cache_dirent this_ent, *entry = &this_ent; - - p = smb_decode_dirent(server, p, entry); - if (entries_seen == 2 && entry->name[0] == '.') - { - if (entry->len == 1) - continue; - if (entry->name[1] == '.' && entry->len == 2) - continue; - } - if (entries_seen >= fpos) - { - pr_debug("smb_proc_readdir: fpos=%u\n", - entries_seen); - smb_add_to_cache(cachep, entry, entries_seen); - entries++; - } else - { -#ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_readdir: skipped, seen=%d, i=%d, fpos=%d\n", -entries_seen, i, fpos); -#endif - } - entries_seen++; - } - } - result = entries; - - unlock_return: - smb_unlock_server(server); - return result; -} /* - * Interpret a long filename structure using the specified info level: - * level 1 for anything below NT1 protocol - * level 260 for NT1 protocol - * + * Interpret a long filename structure using info level 260 + * We return a reference to the name string to avoid copying, and perform * any needed upper/lower casing in place. @@ -1465,7 +1320,7 @@ */ static char * smb_decode_long_dirent(struct smb_sb_info *server, char *p, - struct cache_dirent *entry, int level) + struct cache_dirent *entry) { char *result; unsigned int len = 0; @@ -1475,46 +1330,18 @@ */ entry->ino = 0; - switch (level) - { - case 1: - len = *((unsigned char *) p + 22); - entry->len = len; - entry->name = p + 23; - result = p + 24 + len; - break; - - case 260: /* SMB_FIND_FILE_BOTH_DIRECTORY_INFO = 0x104 */ - result = p + WVAL(p, 0); - len = DVAL(p, 60); - if (len > 255) len = 255; - /* NT4 null terminates */ - entry->name = p + 94; - if (len && entry->name[len-1] == '\0') - len--; - entry->len = len; + result = p + WVAL(p, 0); + len = DVAL(p, 60); + if (len > 255) len = 255; + /* NT4 null terminates */ + entry->name = p + 94; + if (len && entry->name[len-1] == '\0') + len--; + entry->len = len; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_decode_long_dirent: info 260 at %p, len=%d, name=%s\n", - p, entry->len, entry->name); + printk(KERN_DEBUG "smb_decode_long_dirent: info 260 at %p, len=%d, name=%s\n", + p, entry->len, entry->name); #endif - break; - - default: - printk("smb_decode_long_dirent: Unknown level %d\n", level); - result = p + WVAL(p, 0); - } - - switch (server->opt.case_handling) - { - case SMB_CASE_UPPER: - str_upper(entry->name, len); - break; - case SMB_CASE_LOWER: - str_lower(entry->name, len); - break; - default: - break; - } return result; } @@ -1539,8 +1366,6 @@ char *p, *mask, *param = server->temp_buf; __u16 command; int first, entries, entries_seen; - - /* Both NT and OS/2 accept info level 1 (but see note below). */ int info_level = 260; const int max_matches = 512; @@ -1555,12 +1380,6 @@ int mask_len, i, result; static struct qstr star = { "*", 1, 0 }; - /* - * use info level 1 for older servers that don't do 260 - */ - if (server->opt.protocol < SMB_PROTOCOL_NT1) - info_level = 1; - smb_lock_server(server); retry: @@ -1571,7 +1390,7 @@ mask_len = smb_encode_path(server, mask, dir, &star) - mask; first = 1; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_readdir_long: starting fpos=%d, mask=%s\n", fpos, mask); +printk(KERN_DEBUG "smb_proc_readdir_long: starting fpos=%d, mask=%s\n", fpos, mask); #endif /* * We must reinitialize the dircache when retrying. @@ -1609,7 +1428,7 @@ command = TRANSACT2_FINDNEXT; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_readdir_long: handle=0x%X, mask=%s\n", +printk(KERN_DEBUG "smb_proc_readdir_long: handle=0x%X, mask=%s\n", ff_dir_handle, mask); #endif WSET(param, 0, ff_dir_handle); /* search handle */ @@ -1630,12 +1449,12 @@ if (smb_retry(server)) { #ifdef SMBFS_PARANOIA -printk("smb_proc_readdir_long: error=%d, retrying\n", result); +printk(KERN_DEBUG "smb_proc_readdir_long: error=%d, retrying\n", result); #endif goto retry; } #ifdef SMBFS_PARANOIA -printk("smb_proc_readdir_long: error=%d, breaking\n", result); +printk(KERN_DEBUG "smb_proc_readdir_long: error=%d, breaking\n", result); #endif entries = result; break; @@ -1653,7 +1472,7 @@ if (server->rcls != 0) { #ifdef SMBFS_PARANOIA -printk("smb_proc_readdir_long: name=%s, entries=%d, rcls=%d, err=%d\n", +printk(KERN_DEBUG "smb_proc_readdir_long: name=%s, entries=%d, rcls=%d, err=%d\n", mask, entries, server->rcls, server->err); #endif entries = -smb_errno(server); @@ -1685,8 +1504,7 @@ { struct cache_dirent this_ent, *entry = &this_ent; - p = smb_decode_long_dirent(server, p, entry, - info_level); + p = smb_decode_long_dirent(server, p, entry); /* ignore . and .. from the server */ if (entries_seen == 2 && entry->name[0] == '.') @@ -1705,7 +1523,7 @@ } #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_readdir_long: received %d entries, eos=%d\n", +printk(KERN_DEBUG "smb_proc_readdir_long: received %d entries, eos=%d\n", ff_searchcount, ff_eos); #endif first = 0; @@ -1722,98 +1540,7 @@ struct smb_sb_info *server; server = server_from_dentry(dir); - if (server->opt.protocol >= SMB_PROTOCOL_LANMAN2) - return smb_proc_readdir_long(server, dir, fpos, cachep); - else - return smb_proc_readdir_short(server, dir, fpos, cachep); -} - -/* - * This version uses the trans2 TRANSACT2_FINDFIRST message - * to get the attribute data. - * Note: called with the server locked. - * - * Bugs Noted: - */ -static int -smb_proc_getattr_ff(struct smb_sb_info *server, struct dentry *dentry, - struct smb_fattr *fattr) -{ - char *param = server->temp_buf, *mask = param + 12; - __u16 date, time; - unsigned char *resp_data = NULL; - unsigned char *resp_param = NULL; - int resp_data_len = 0; - int resp_param_len = 0; - int mask_len, result; - -retry: - mask_len = smb_encode_path(server, mask, dentry, NULL) - mask; -#ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_getattr_ff: name=%s, len=%d\n", mask, mask_len); -#endif - WSET(param, 0, aSYSTEM | aHIDDEN | aDIR); - WSET(param, 2, 1); /* max count */ - WSET(param, 4, 1); /* close after this call */ - WSET(param, 6, 1); /* info_level */ - DSET(param, 8, 0); - - result = smb_trans2_request(server, TRANSACT2_FINDFIRST, - 0, NULL, 12 + mask_len + 1, param, - &resp_data_len, &resp_data, - &resp_param_len, &resp_param); - if (result < 0) - { - if (smb_retry(server)) - goto retry; - goto out; - } - if (server->rcls != 0) - { - result = -smb_errno(server); -#ifdef SMBFS_PARANOIA -if (result != -ENOENT) -printk("smb_proc_getattr_ff: error for %s, rcls=%d, err=%d\n", -mask, server->rcls, server->err); -#endif - goto out; - } - /* Make sure we got enough data ... */ - result = -EINVAL; - if (resp_data_len < 22 || WVAL(resp_param, 2) != 1) - { -#ifdef SMBFS_PARANOIA -printk("smb_proc_getattr_ff: bad result for %s, len=%d, count=%d\n", -mask, resp_data_len, WVAL(resp_param, 2)); -#endif - goto out; - } - - /* - * Decode the response into the fattr ... - */ - date = WVAL(resp_data, 0); - time = WVAL(resp_data, 2); - fattr->f_ctime = date_dos2unix(server, date, time); - - date = WVAL(resp_data, 4); - time = WVAL(resp_data, 6); - fattr->f_atime = date_dos2unix(server, date, time); - - date = WVAL(resp_data, 8); - time = WVAL(resp_data, 10); - fattr->f_mtime = date_dos2unix(server, date, time); -#ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_getattr_ff: name=%s, date=%x, time=%x, mtime=%ld\n", -mask, date, time, fattr->f_mtime); -#endif - fattr->f_size = DVAL(resp_data, 12); - /* ULONG allocation size */ - fattr->attr = WVAL(resp_data, 20); - result = 0; - -out: - return result; + return smb_proc_readdir_long(server, dir, fpos, cachep); } /* @@ -1839,12 +1566,21 @@ goto out; } fattr->attr = WVAL(server->packet, smb_vwv0); - fattr->f_mtime = local2utc(server, DVAL(server->packet, smb_vwv1)); - fattr->f_size = DVAL(server->packet, smb_vwv3); - fattr->f_ctime = fattr->f_mtime; + fattr->f_ctime = local2utc(server, DVAL(server->packet, smb_vwv1)); + + /* uggh. If its a directory then its a ctime, otherwise its a + mtime. In order for the dircache to work with Win9X we + have to set the mtime to the current time for directories */ + if (fattr->attr & aDIR) { + fattr->f_mtime = CURRENT_TIME; + } else { + fattr->f_mtime = fattr->f_ctime; + } + fattr->f_atime = fattr->f_mtime; + fattr->f_size = DVAL(server->packet, smb_vwv3); #ifdef SMBFS_DEBUG_TIMESTAMP -printk("getattr_core: %s/%s, mtime=%ld\n", +printk(KERN_DEBUG "getattr_core: %s/%s, mtime=%ld\n", DENTRY_PATH(dir), fattr->f_mtime); #endif result = 0; @@ -1890,7 +1626,7 @@ if (server->rcls != 0) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_getattr_trans2: for %s: result=%d, rcls=%d, err=%d\n", +printk(KERN_DEBUG "smb_proc_getattr_trans2: for %s: result=%d, rcls=%d, err=%d\n", ¶m[6], result, server->rcls, server->err); #endif result = -smb_errno(server); @@ -1900,7 +1636,7 @@ if (resp_data_len < 22) { #ifdef SMBFS_PARANOIA -printk("smb_proc_getattr_trans2: not enough data for %s, len=%d\n", +printk(KERN_DEBUG "smb_proc_getattr_trans2: not enough data for %s, len=%d\n", ¶m[6], resp_data_len); #endif goto out; @@ -1926,7 +1662,7 @@ time = WVAL(resp_data, 8 + off_time); attr->f_mtime = date_dos2unix(server, date, time); #ifdef SMBFS_DEBUG_TIMESTAMP -printk("getattr_trans2: %s/%s, date=%x, time=%x, mtime=%ld\n", +printk(KERN_DEBUG "getattr_trans2: %s/%s, date=%x, time=%x, mtime=%ld\n", DENTRY_PATH(dir), date, time, attr->f_mtime); #endif attr->f_size = DVAL(resp_data, 12); @@ -1937,35 +1673,41 @@ return result; } -int -smb_proc_getattr(struct dentry *dir, struct smb_fattr *fattr) +/* + * Note: called with the server locked. + * + * get the file attribute + */ +static int +smb_proc_do_getattr(struct dentry *dir, struct smb_fattr *fattr,struct smb_sb_info *server) { - struct smb_sb_info *server = server_from_dentry(dir); int result; - smb_lock_server(server); smb_init_dirent(server, fattr); /* * Select whether to use core or trans2 getattr. - */ - if (server->opt.protocol >= SMB_PROTOCOL_LANMAN2) { - /* - * Win 95 appears to break with the trans2 getattr. - */ - if (server->mnt->version & (SMB_FIX_OLDATTR|SMB_FIX_WIN95)) - goto core_attr; - if (server->mnt->version & SMB_FIX_DIRATTR) - result = smb_proc_getattr_ff(server, dir, fattr); - else - result = smb_proc_getattr_trans2(server, dir, fattr); - } else { - core_attr: + * Win 95 appears to break with the trans2 getattr. + */ + if (server->mnt->version & SMB_FIX_WIN95) { result = smb_proc_getattr_core(server, dir, fattr); + } else { + result = smb_proc_getattr_trans2(server, dir, fattr); } smb_finish_dirent(server, fattr); + return result; +} + + +int +smb_proc_getattr(struct dentry *dir, struct smb_fattr *fattr) +{ + struct smb_sb_info *server = server_from_dentry(dir); + int result; + smb_lock_server(server); + result = smb_proc_do_getattr(dir, fattr, server); smb_unlock_server(server); return result; } @@ -2029,7 +1771,7 @@ int result; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_setattr: setting %s/%s, open=%d\n", +printk(KERN_DEBUG "smb_proc_setattr: setting %s/%s, open=%d\n", DENTRY_PATH(dir), smb_is_open(dir->d_inode)); #endif smb_lock_server(server); @@ -2062,7 +1804,7 @@ WSET(server->packet, smb_vwv5, date); WSET(server->packet, smb_vwv6, time); #ifdef SMBFS_DEBUG_TIMESTAMP -printk("smb_proc_setattr_ext: date=%d, time=%d, mtime=%ld\n", +printk(KERN_DEBUG "smb_proc_setattr_ext: date=%d, time=%d, mtime=%ld\n", date, time, fattr->f_mtime); #endif @@ -2112,7 +1854,7 @@ WSET(data, 8, date); WSET(data, 10, time); #ifdef SMBFS_DEBUG_TIMESTAMP -printk("setattr_trans2: %s/%s, date=%x, time=%x, mtime=%ld\n", +printk(KERN_DEBUG "setattr_trans2: %s/%s, date=%x, time=%x, mtime=%ld\n", DENTRY_PATH(dir), date, time, fattr->f_mtime); #endif DSET(data, 12, 0); /* size */ @@ -2159,13 +1901,12 @@ int result; #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_proc_settime: setting %s/%s, open=%d\n", +printk(KERN_DEBUG "smb_proc_settime: setting %s/%s, open=%d\n", DENTRY_PATH(dentry), smb_is_open(inode)); #endif smb_lock_server(server); /* setting the time on a Win95 server fails (tridge) */ - if (server->opt.protocol >= SMB_PROTOCOL_LANMAN2 && - !(server->mnt->version & SMB_FIX_WIN95)) + if (!(server->mnt->version & SMB_FIX_WIN95)) { if (smb_is_open(inode) && inode->u.smbfs_i.access != SMB_O_RDONLY) diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/smbfs/sock.c linux.16p1/fs/smbfs/sock.c --- linux.15p19/fs/smbfs/sock.c Thu Mar 9 19:32:38 2000 +++ linux.16p1/fs/smbfs/sock.c Wed Apr 19 14:22:00 2000 @@ -119,7 +119,7 @@ if (job->sk->dead) { #ifdef SMBFS_PARANOIA - printk("smb_data_callback: sock dead!\n"); + printk(KERN_DEBUG "smb_data_callback: sock dead!\n"); #endif break; } @@ -182,7 +182,7 @@ { #ifdef SMBFS_PARANOIA if (!smb_valid_socket(file->f_dentry->d_inode)) - printk("smb_server_sock: bad socket!\n"); + printk(KERN_DEBUG "smb_server_sock: bad socket!\n"); #endif return &file->f_dentry->d_inode->u.socket_i; } @@ -201,7 +201,7 @@ socket = server_sock(server); if (!socket) { - printk("smb_catch_keepalive: did not get valid server!\n"); + printk(KERN_DEBUG "smb_catch_keepalive: did not get valid server!\n"); server->data_ready = NULL; goto out; } @@ -243,21 +243,21 @@ socket = server_sock(server); if (!socket) { - printk("smb_dont_catch_keepalive: did not get valid server!\n"); + printk(KERN_DEBUG "smb_dont_catch_keepalive: did not get valid server!\n"); goto out; } sk = socket->sk; if (sk == NULL) { - printk("smb_dont_catch_keepalive: sk == NULL"); + printk(KERN_DEBUG "smb_dont_catch_keepalive: sk == NULL"); goto out; } /* Is this really an error?? */ if (server->data_ready == NULL) { - printk("smb_dont_catch_keepalive: " + printk(KERN_DEBUG "smb_dont_catch_keepalive: " "server->data_ready == NULL\n"); goto out; } @@ -291,11 +291,11 @@ if (file) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_close_socket: closing socket %p\n", server_sock(server)); +printk(KERN_DEBUG "smb_close_socket: closing socket %p\n", server_sock(server)); #endif #ifdef SMBFS_PARANOIA if (server_sock(server)->sk->data_ready == smb_data_ready) -printk("smb_close_socket: still catching keepalives!\n"); +printk(KERN_DEBUG "smb_close_socket: still catching keepalives!\n"); #endif server->sock_file = NULL; fput(file); @@ -372,7 +372,7 @@ if (result < 0) { #ifdef SMBFS_PARANOIA -printk("smb_get_length: recv error = %d\n", -result); +printk(KERN_DEBUG "smb_get_length: recv error = %d\n", -result); #endif return result; } @@ -388,7 +388,7 @@ default: #ifdef SMBFS_PARANOIA -printk("smb_get_length: Invalid NBT packet, code=%x\n", peek_buf[0]); +printk(KERN_DEBUG "smb_get_length: Invalid NBT packet, code=%x\n", peek_buf[0]); #endif return -EIO; } @@ -449,7 +449,7 @@ if (result < 0) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_receive: receive error: %d\n", result); +printk(KERN_DEBUG "smb_receive: receive error: %d\n", result); #endif goto out; } @@ -458,7 +458,7 @@ #ifdef SMBFS_DEBUG_VERBOSE if (server->rcls != 0) -printk("smb_receive: rcls=%d, err=%d\n", server->rcls, server->err); +printk(KERN_DEBUG "smb_receive: rcls=%d, err=%d\n", server->rcls, server->err); #endif out: return result; @@ -522,7 +522,7 @@ if (parm_count == parm_tot && data_count == data_tot) { #ifdef SMBFS_DEBUG_VERBOSE -printk("smb_receive_trans2: fast track, parm=%u %u %u, data=%u %u %u\n", +printk(KERN_DEBUG "smb_receive_trans2: fast track, parm=%u %u %u, data=%u %u %u\n", parm_disp, parm_offset, parm_count, data_disp, data_offset, data_count); #endif *parm = base + parm_offset; @@ -562,7 +562,7 @@ memcpy(*data + data_disp, base + data_offset, data_count); #ifdef SMBFS_PARANOIA -printk("smb_receive_trans2: copied, parm=%u of %u, data=%u of %u\n", +printk(KERN_DEBUG "smb_receive_trans2: copied, parm=%u of %u, data=%u of %u\n", parm_len, parm_tot, data_len, data_tot); #endif /* @@ -587,7 +587,7 @@ } else { #ifdef SMBFS_PARANOIA -printk("smb_receive_trans2: copying data, old size=%d, new size=%u\n", +printk(KERN_DEBUG "smb_receive_trans2: copying data, old size=%d, new size=%u\n", server->packet_size, buf_len); #endif memcpy(inbuf, rcv_buf, parm_len + data_len); @@ -603,23 +603,23 @@ out_no_mem: #ifdef SMBFS_PARANOIA - printk("smb_receive_trans2: couldn't allocate data area\n"); + printk(KERN_DEBUG "smb_receive_trans2: couldn't allocate data area\n"); #endif result = -ENOMEM; goto out; out_too_long: - printk("smb_receive_trans2: data/param too long, data=%d, parm=%d\n", + printk(KERN_DEBUG "smb_receive_trans2: data/param too long, data=%d, parm=%d\n", data_tot, parm_tot); goto out_error; out_data_grew: - printk("smb_receive_trans2: data/params grew!\n"); + printk(KERN_DEBUG "smb_receive_trans2: data/params grew!\n"); goto out_error; out_bad_parm: - printk("smb_receive_trans2: invalid parms, disp=%d, cnt=%d, tot=%d\n", + printk(KERN_DEBUG "smb_receive_trans2: invalid parms, disp=%d, cnt=%d, tot=%d\n", parm_disp, parm_count, parm_tot); goto out_error; out_bad_data: - printk("smb_receive_trans2: invalid data, disp=%d, cnt=%d, tot=%d\n", + printk(KERN_DEBUG "smb_receive_trans2: invalid data, disp=%d, cnt=%d, tot=%d\n", data_disp, data_count, data_tot); out_error: result = -EIO; @@ -684,7 +684,7 @@ int result2 = smb_catch_keepalive(server); if (result2 < 0) { - printk("smb_request: catch keepalive failed\n"); + printk(KERN_DEBUG "smb_request: catch keepalive failed\n"); result = result2; } } @@ -696,7 +696,7 @@ if (server->rcls) { int error = smb_errno(server); if (error == EBADSLT) { - printk("smb_request: tree ID invalid\n"); + printk(KERN_DEBUG "smb_request: tree ID invalid\n"); result = error; goto bad_conn; } @@ -708,16 +708,16 @@ bad_conn: #ifdef SMBFS_PARANOIA -printk("smb_request: result %d, setting invalid\n", result); +printk(KERN_DEBUG "smb_request: result %d, setting invalid\n", result); #endif server->state = CONN_INVALID; smb_invalidate_inodes(server); goto out; bad_no_packet: - printk("smb_request: no packet!\n"); + printk(KERN_DEBUG "smb_request: no packet!\n"); goto out; bad_no_conn: - printk("smb_request: connection %d not valid!\n", server->state); + printk(KERN_DEBUG "smb_request: connection %d not valid!\n", server->state); goto out; } @@ -879,7 +879,7 @@ if (server->rcls) { int error = smb_errno(server); if (error == EBADSLT) { - printk("smb_request: tree ID invalid\n"); + printk(KERN_DEBUG "smb_request: tree ID invalid\n"); result = error; goto bad_conn; } @@ -890,7 +890,7 @@ bad_conn: #ifdef SMBFS_PARANOIA -printk("smb_trans2_request: result=%d, setting invalid\n", result); +printk(KERN_DEBUG "smb_trans2_request: result=%d, setting invalid\n", result); #endif server->state = CONN_INVALID; smb_invalidate_inodes(server); diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/fs/vfat/namei.c linux.16p1/fs/vfat/namei.c --- linux.15p19/fs/vfat/namei.c Tue Jan 4 21:19:00 2000 +++ linux.16p1/fs/vfat/namei.c Wed Apr 19 13:58:56 2000 @@ -675,10 +675,11 @@ ip += 4; i += 4; } else { - *op++ = nls->charset2uni[*ip].uni1; - *op++ = nls->charset2uni[*ip].uni2; - ip++; - i++; + int llen; + nls->char2uni(ip, &llen, op, op+1); + op += 2; + ip += llen; + i += llen; } } } else { diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/include/linux/ac97_codec.h linux.16p1/include/linux/ac97_codec.h --- linux.15p19/include/linux/ac97_codec.h Thu Jan 1 01:00:00 1970 +++ linux.16p1/include/linux/ac97_codec.h Tue Apr 18 20:32:14 2000 @@ -0,0 +1,177 @@ +#ifndef _AC97_CODEC_H_ +#define _AC97_CODEC_H_ + +#include +#include + +/* AC97 1.0 */ +#define AC97_RESET 0x0000 // +#define AC97_MASTER_VOL_STEREO 0x0002 // Line Out +#define AC97_HEADPHONE_VOL 0x0004 // +#define AC97_MASTER_VOL_MONO 0x0006 // TAD Output +#define AC97_MASTER_TONE 0x0008 // +#define AC97_PCBEEP_VOL 0x000a // none +#define AC97_PHONE_VOL 0x000c // TAD Input (mono) +#define AC97_MIC_VOL 0x000e // MIC Input (mono) +#define AC97_LINEIN_VOL 0x0010 // Line Input (stereo) +#define AC97_CD_VOL 0x0012 // CD Input (stereo) +#define AC97_VIDEO_VOL 0x0014 // none +#define AC97_AUX_VOL 0x0016 // Aux Input (stereo) +#define AC97_PCMOUT_VOL 0x0018 // Wave Output (stereo) +#define AC97_RECORD_SELECT 0x001a // +#define AC97_RECORD_GAIN 0x001c +#define AC97_RECORD_GAIN_MIC 0x001e +#define AC97_GENERAL_PURPOSE 0x0020 +#define AC97_3D_CONTROL 0x0022 +#define AC97_MODEM_RATE 0x0024 +#define AC97_POWER_CONTROL 0x0026 + +/* AC'97 2.0 */ +#define AC97_EXTENDED_ID 0x0028 /* Extended Audio ID */ +#define AC97_EXTENDED_STATUS 0x002A /* Extended Audio Status */ +#define AC97_PCM_FRONT_DAC_RATE 0x002C /* PCM Front DAC Rate */ +#define AC97_PCM_SURR_DAC_RATE 0x002E /* PCM Surround DAC Rate */ +#define AC97_PCM_LFE_DAC_RATE 0x0030 /* PCM LFE DAC Rate */ +#define AC97_PCM_LR_ADC_RATE 0x0032 /* PCM LR ADC Rate */ +#define AC97_PCM_MIC_ADC_RATE 0x0034 /* PCM MIC ADC Rate */ +#define AC97_CENTER_LFE_MASTER 0x0036 /* Center + LFE Master Volume */ +#define AC97_SURROUND_MASTER 0x0038 /* Surround (Rear) Master Volume */ +#define AC97_RESERVED_3A 0x003A /* Reserved */ + +/* range 0x3c-0x58 - MODEM */ +#define AC97_EXTENDED_MODEM_ID 0x003C +#define AC97_EXTEND_MODEM_STAT 0x003E +#define AC97_LINE1_RATE 0x0040 +#define AC97_LINE2_RATE 0x0042 +#define AC97_HANDSET_RATE 0x0044 +#define AC97_LINE1_LEVEL 0x0046 +#define AC97_LINE2_LEVEL 0x0048 +#define AC97_HANDSET_LEVEL 0x004A +#define AC97_GPIO_CONFIG 0x004C +#define AC97_GPIO_POLARITY 0x004E +#define AC97_GPIO_STICKY 0x0050 +#define AC97_GPIO_WAKE_UP 0x0052 +#define AC97_GPIO_STATUS 0x0054 +#define AC97_MISC_MODEM_STAT 0x0056 +#define AC97_RESERVED_58 0x0058 + +/* registers 0x005a - 0x007a are vendor reserved */ + +#define AC97_VENDOR_ID1 0x007c +#define AC97_VENDOR_ID2 0x007e + +/* volume control bit defines */ +#define AC97_MUTE 0x8000 +#define AC97_MICBOOST 0x0040 +#define AC97_LEFTVOL 0x3f00 +#define AC97_RIGHTVOL 0x003f + +/* record mux defines */ +#define AC97_RECMUX_MIC 0x0000 +#define AC97_RECMUX_CD 0x0101 +#define AC97_RECMUX_VIDEO 0x0202 +#define AC97_RECMUX_AUX 0x0303 +#define AC97_RECMUX_LINE 0x0404 +#define AC97_RECMUX_STEREO_MIX 0x0505 +#define AC97_RECMUX_MONO_MIX 0x0606 +#define AC97_RECMUX_PHONE 0x0707 + +/* general purpose register bit defines */ +#define AC97_GP_LPBK 0x0080 /* Loopback mode */ +#define AC97_GP_MS 0x0100 /* Mic Select 0=Mic1, 1=Mic2 */ +#define AC97_GP_MIX 0x0200 /* Mono output select 0=Mix, 1=Mic */ +#define AC97_GP_RLBK 0x0400 /* Remote Loopback - Modem line codec */ +#define AC97_GP_LLBK 0x0800 /* Local Loopback - Modem Line codec */ +#define AC97_GP_LD 0x1000 /* Loudness 1=on */ +#define AC97_GP_3D 0x2000 /* 3D Enhancement 1=on */ +#define AC97_GP_ST 0x4000 /* Stereo Enhancement 1=on */ +#define AC97_GP_POP 0x8000 /* Pcm Out Path, 0=pre 3D, 1=post 3D */ + +/* powerdown control and status bit defines */ + +/* status */ +#define AC97_PWR_MDM 0x0010 /* Modem section ready */ +#define AC97_PWR_REF 0x0008 /* Vref nominal */ +#define AC97_PWR_ANL 0x0004 /* Analog section ready */ +#define AC97_PWR_DAC 0x0002 /* DAC section ready */ +#define AC97_PWR_ADC 0x0001 /* ADC section ready */ + +/* control */ +#define AC97_PWR_PR0 0x0100 /* ADC and Mux powerdown */ +#define AC97_PWR_PR1 0x0200 /* DAC powerdown */ +#define AC97_PWR_PR2 0x0400 /* Output mixer powerdown (Vref on) */ +#define AC97_PWR_PR3 0x0800 /* Output mixer powerdown (Vref off) */ +#define AC97_PWR_PR4 0x1000 /* AC-link powerdown */ +#define AC97_PWR_PR5 0x2000 /* Internal Clk disable */ +#define AC97_PWR_PR6 0x4000 /* HP amp powerdown */ +#define AC97_PWR_PR7 0x8000 /* Modem off - if supported */ + +/* useful power states */ +#define AC97_PWR_D0 0x0000 /* everything on */ +#define AC97_PWR_D1 AC97_PWR_PR0|AC97_PWR_PR1|AC97_PWR_PR4 +#define AC97_PWR_D2 AC97_PWR_PR0|AC97_PWR_PR1|AC97_PWR_PR2|AC97_PWR_PR3|AC97_PWR_PR4 +#define AC97_PWR_D3 AC97_PWR_PR0|AC97_PWR_PR1|AC97_PWR_PR2|AC97_PWR_PR3|AC97_PWR_PR4 +#define AC97_PWR_ANLOFF AC97_PWR_PR2|AC97_PWR_PR3 /* analog section off */ + +/* Total number of defined registers. */ +#define AC97_REG_CNT 64 + + +/* OSS interface to the ac97s.. */ +#define AC97_STEREO_MASK (SOUND_MASK_VOLUME|SOUND_MASK_PCM|\ + SOUND_MASK_LINE|SOUND_MASK_CD|\ + SOUND_MASK_ALTPCM|SOUND_MASK_IGAIN|\ + SOUND_MASK_LINE1|SOUND_MASK_VIDEO) + +#define AC97_SUPPORTED_MASK (AC97_STEREO_MASK | \ + SOUND_MASK_BASS|SOUND_MASK_TREBLE|\ + SOUND_MASK_SPEAKER|SOUND_MASK_MIC|\ + SOUND_MASK_PHONEIN|SOUND_MASK_PHONEOUT) + +#define AC97_RECORD_MASK (SOUND_MASK_MIC|\ + SOUND_MASK_CD|SOUND_MASK_IGAIN|SOUND_MASK_VIDEO|\ + SOUND_MASK_LINE1| SOUND_MASK_LINE|\ + SOUND_MASK_PHONEIN) + +#define supported_mixer(CODEC,FOO) ( CODEC->supported_mixers & (1< + +/* + * I2O Control IOCTLs and structures + */ +#define I2O_MAGIC_NUMBER 'i' +#define I2OGETIOPS _IOR(I2O_MAGIC_NUMBER,0,u8[MAX_I2O_CONTROLLERS]) +#define I2OHRTGET _IOWR(I2O_MAGIC_NUMBER,1,struct i2o_cmd_hrtlct) +#define I2OLCTGET _IOWR(I2O_MAGIC_NUMBER,2,struct i2o_cmd_hrtlct) +#define I2OPARMSET _IOWR(I2O_MAGIC_NUMBER,3,struct i2o_cmd_psetget) +#define I2OPARMGET _IOWR(I2O_MAGIC_NUMBER,4,struct i2o_cmd_psetget) +#define I2OSWDL _IOWR(I2O_MAGIC_NUMBER,5,struct i2o_sw_xfer) +#define I2OSWUL _IOWR(I2O_MAGIC_NUMBER,6,struct i2o_sw_xfer) +#define I2OSWDEL _IOWR(I2O_MAGIC_NUMBER,7,struct i2o_sw_xfer) +#define I2OVALIDATE _IOR(I2O_MAGIC_NUMBER,8,u32) +#define I2OHTML _IOWR(I2O_MAGIC_NUMBER,9,struct i2o_html) +#define I2OEVTREG _IOW(I2O_MAGIC_NUMBER,10,struct i2o_evt_id) +#define I2OEVTGET _IOR(I2O_MAGIC_NUMBER,11,struct i2o_evt_info) + +struct i2o_cmd_hrtlct +{ + unsigned int iop; /* IOP unit number */ + void *resbuf; /* Buffer for result */ + unsigned int *reslen; /* Buffer length in bytes */ +}; + +struct i2o_cmd_psetget +{ + unsigned int iop; /* IOP unit number */ + unsigned int tid; /* Target device TID */ + void *opbuf; /* Operation List buffer */ + unsigned int oplen; /* Operation List buffer length in bytes */ + void *resbuf; /* Result List buffer */ + unsigned int *reslen; /* Result List buffer length in bytes */ +}; + +struct i2o_sw_xfer +{ + unsigned int iop; /* IOP unit number */ + unsigned char flags; /* Flags field */ + unsigned char sw_type; /* Software type */ + unsigned int sw_id; /* Software ID */ + void *buf; /* Pointer to software buffer */ + unsigned int *swlen; /* Length of software data */ + unsigned int *maxfrag; /* Maximum fragment count */ + unsigned int *curfrag; /* Current fragment count */ +}; + +struct i2o_html +{ + unsigned int iop; /* IOP unit number */ + unsigned int tid; /* Target device ID */ + unsigned int page; /* HTML page */ + void *resbuf; /* Buffer for reply HTML page */ + unsigned int *reslen; /* Length in bytes of reply buffer */ + void *qbuf; /* Pointer to HTTP query string */ + unsigned int qlen; /* Length in bytes of query string buffer */ +}; + +#define I2O_EVT_Q_LEN 32 + +struct i2o_evt_id +{ + unsigned int iop; + unsigned int tid; + unsigned int evt_mask; +}; + +/* Event data size = frame size - message header + evt indicator */ +#define I2O_EVT_DATA_SIZE 88 + +struct i2o_evt_info +{ + struct i2o_evt_id id; + unsigned char evt_data[I2O_EVT_DATA_SIZE]; + unsigned int data_size; +}; + +struct i2o_evt_get +{ + struct i2o_evt_info info; + int pending; + int lost; +}; + + +/************************************************************************** + * HRT related constants and structures + **************************************************************************/ +#define I2O_BUS_LOCAL 0 +#define I2O_BUS_ISA 1 +#define I2O_BUS_EISA 2 +#define I2O_BUS_MCA 3 +#define I2O_BUS_PCI 4 +#define I2O_BUS_PCMCIA 5 +#define I2O_BUS_NUBUS 6 +#define I2O_BUS_CARDBUS 7 +#define I2O_BUS_UNKNOWN 0x80 + +#ifndef __KERNEL__ + +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; + +#endif /* __KERNEL__ */ + +typedef struct _i2o_pci_bus { + u8 PciFunctionNumber; + u8 PciDeviceNumber; + u8 PciBusNumber; + u8 reserved; + u16 PciVendorID; + u16 PciDeviceID; +} i2o_pci_bus; + +typedef struct _i2o_local_bus { + u16 LbBaseIOPort; + u16 reserved; + u32 LbBaseMemoryAddress; +} i2o_local_bus; + +typedef struct _i2o_isa_bus { + u16 IsaBaseIOPort; + u8 CSN; + u8 reserved; + u32 IsaBaseMemoryAddress; +} i2o_isa_bus; + +typedef struct _i2o_eisa_bus_info { + u16 EisaBaseIOPort; + u8 reserved; + u8 EisaSlotNumber; + u32 EisaBaseMemoryAddress; +} i2o_eisa_bus; + +typedef struct _i2o_mca_bus { + u16 McaBaseIOPort; + u8 reserved; + u8 McaSlotNumber; + u32 McaBaseMemoryAddress; +} i2o_mca_bus; + +typedef struct _i2o_other_bus { + u16 BaseIOPort; + u16 reserved; + u32 BaseMemoryAddress; +} i2o_other_bus; + +typedef struct _i2o_hrt_entry { + u32 adapter_id; + u32 parent_tid:12; + u32 state:4; + u32 bus_num:8; + u32 bus_type:8; + union { + i2o_pci_bus pci_bus; + i2o_local_bus local_bus; + i2o_isa_bus isa_bus; + i2o_eisa_bus eisa_bus; + i2o_mca_bus mca_bus; + i2o_other_bus other_bus; + } bus; +} i2o_hrt_entry; + +typedef struct _i2o_hrt { + u16 num_entries; + u8 entry_len; + u8 hrt_version; + u32 change_ind; + i2o_hrt_entry hrt_entry[1]; +} i2o_hrt; + +typedef struct _i2o_lct_entry { + u32 entry_size:16; + u32 tid:12; + u32 reserved:4; + u32 change_ind; + u32 device_flags; + u32 class_id:12; + u32 version:4; + u32 vendor_id:16; + u32 sub_class; + u32 user_tid:12; + u32 parent_tid:12; + u32 bios_info:8; + u8 identity_tag[8]; + u32 event_capabilities; +} i2o_lct_entry; + +typedef struct _i2o_lct { + u32 table_size:16; + u32 boot_tid:12; + u32 lct_ver:4; + u32 iop_flags; + u32 change_ind; + i2o_lct_entry lct_entry[1]; +} i2o_lct; + +typedef struct _i2o_status_block { + u16 org_id; + u16 reserved; + u16 iop_id:12; + u16 reserved1:4; + u16 host_unit_id; + u16 segment_number:12; + u16 i2o_version:4; + u8 iop_state; + u8 msg_type; + u16 inbound_frame_size; + u8 init_code; + u8 reserved2; + u32 max_inbound_frames; + u32 cur_inbound_frames; + u32 max_outbound_frames; + char product_id[24]; + u32 expected_lct_size; + u32 iop_capabilities; + u32 desired_mem_size; + u32 current_mem_size; + u32 current_mem_base; + u32 desired_io_size; + u32 current_io_size; + u32 current_io_base; + u32 reserved3:24; + u32 cmd_status:8; +} i2o_status_block; + +/* Event indicator mask flags */ +#define I2O_EVT_IND_STATE_CHANGE 0x80000000 +#define I2O_EVT_IND_GENERAL_WARNING 0x40000000 +#define I2O_EVT_IND_CONFIGURATION_FLAG 0x20000000 +#define I2O_EVT_IND_LOCK_RELEASE 0x10000000 +#define I2O_EVT_IND_CAPABILITY_CHANGE 0x08000000 +#define I2O_EVT_IND_DEVICE_RESET 0x04000000 +#define I2O_EVT_IND_EVT_MASK_MODIFIED 0x02000000 +#define I2O_EVT_IND_FIELD_MODIFIED 0x01000000 +#define I2O_EVT_IND_VENDOR_EVT 0x00800000 +#define I2O_EVT_IND_DEVICE_STATE 0x00400000 + +/* Executive event indicitors */ +#define I2O_EVT_IND_EXEC_RESOURCE_LIMITS 0x00000001 +#define I2O_EVT_IND_EXEC_CONNECTION_FAIL 0x00000002 +#define I2O_EVT_IND_EXEC_ADAPTER_FAULT 0x00000004 +#define I2O_EVT_IND_EXEC_POWER_FAIL 0x00000008 +#define I2O_EVT_IND_EXEC_RESET_PENDING 0x00000010 +#define I2O_EVT_IND_EXEC_RESET_IMMINENT 0x00000020 +#define I2O_EVT_IND_EXEC_HW_FAIL 0x00000040 +#define I2O_EVT_IND_EXEC_XCT_CHANGE 0x00000080 +#define I2O_EVT_IND_EXEC_NEW_LCT_ENTRY 0x00000100 +#define I2O_EVT_IND_EXEC_MODIFIED_LCT 0x00000200 +#define I2O_EVT_IND_EXEC_DDM_AVAILABILITY 0x00000400 + +/* Random Block Storage Event Indicators */ +#define I2O_EVT_IND_BSA_VOLUME_LOAD 0x00000001 +#define I2O_EVT_IND_BSA_VOLUME_UNLOAD 0x00000002 +#define I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ 0x00000004 +#define I2O_EVT_IND_BSA_CAPACITY_CHANGE 0x00000008 +#define I2O_EVT_IND_BSA_SCSI_SMART 0x00000010 + +/* Event data for generic events */ +#define I2O_EVT_STATE_CHANGE_NORMAL 0x00 +#define I2O_EVT_STATE_CHANGE_SUSPENDED 0x01 +#define I2O_EVT_STATE_CHANGE_RESTART 0x02 +#define I2O_EVT_STATE_CHANGE_NA_RECOVER 0x03 +#define I2O_EVT_STATE_CHANGE_NA_NO_RECOVER 0x04 +#define I2O_EVT_STATE_CHANGE_QUIESCE_REQUEST 0x05 +#define I2O_EVT_STATE_CHANGE_FAILED 0x10 +#define I2O_EVT_STATE_CHANGE_FAULTED 0x11 + +#define I2O_EVT_GEN_WARNING_NORMAL 0x00 +#define I2O_EVT_GEN_WARNING_ERROR_THRESHOLD 0x01 +#define I2O_EVT_GEN_WARNING_MEDIA_FAULT 0x02 + +#define I2O_EVT_CAPABILITY_OTHER 0x01 +#define I2O_EVT_CAPABILITY_CHANGED 0x02 + +#define I2O_EVT_SENSOR_STATE_CHANGED 0x01 + +/* + * I2O classes / subclasses + */ + +/* Class ID and Code Assignments + * (LCT.ClassID.Version field) + */ +#define I2O_CLASS_VERSION_10 0x00 +#define I2O_CLASS_VERSION_11 0x01 + +/* Class code names + * (from v1.5 Table 6-1 Class Code Assignments.) + */ + +#define I2O_CLASS_EXECUTIVE 0x000 +#define I2O_CLASS_DDM 0x001 +#define I2O_CLASS_RANDOM_BLOCK_STORAGE 0x010 +#define I2O_CLASS_SEQUENTIAL_STORAGE 0x011 +#define I2O_CLASS_LAN 0x020 +#define I2O_CLASS_WAN 0x030 +#define I2O_CLASS_FIBRE_CHANNEL_PORT 0x040 +#define I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL 0x041 +#define I2O_CLASS_SCSI_PERIPHERAL 0x051 +#define I2O_CLASS_ATE_PORT 0x060 +#define I2O_CLASS_ATE_PERIPHERAL 0x061 +#define I2O_CLASS_FLOPPY_CONTROLLER 0x070 +#define I2O_CLASS_FLOPPY_DEVICE 0x071 +#define I2O_CLASS_BUS_ADAPTER_PORT 0x080 +#define I2O_CLASS_PEER_TRANSPORT_AGENT 0x090 +#define I2O_CLASS_PEER_TRANSPORT 0x091 + +/* + * Rest of 0x092 - 0x09f reserved for peer-to-peer classes + */ + +#define I2O_CLASS_MATCH_ANYCLASS 0xffffffff + +/* + * Subclasses + */ + +#define I2O_SUBCLASS_i960 0x001 +#define I2O_SUBCLASS_HDM 0x020 +#define I2O_SUBCLASS_ISM 0x021 + +/* Operation functions */ + +#define I2O_PARAMS_FIELD_GET 0x0001 +#define I2O_PARAMS_LIST_GET 0x0002 +#define I2O_PARAMS_MORE_GET 0x0003 +#define I2O_PARAMS_SIZE_GET 0x0004 +#define I2O_PARAMS_TABLE_GET 0x0005 +#define I2O_PARAMS_FIELD_SET 0x0006 +#define I2O_PARAMS_LIST_SET 0x0007 +#define I2O_PARAMS_ROW_ADD 0x0008 +#define I2O_PARAMS_ROW_DELETE 0x0009 +#define I2O_PARAMS_TABLE_CLEAR 0x000A + +/* + * I2O serial number conventions / formats + * (circa v1.5) + */ + +#define I2O_SNFORMAT_UNKNOWN 0 +#define I2O_SNFORMAT_BINARY 1 +#define I2O_SNFORMAT_ASCII 2 +#define I2O_SNFORMAT_UNICODE 3 +#define I2O_SNFORMAT_LAN48_MAC 4 +#define I2O_SNFORMAT_WAN 5 + +/* + * Plus new in v2.0 (Yellowstone pdf doc) + */ + +#define I2O_SNFORMAT_LAN64_MAC 6 +#define I2O_SNFORMAT_DDM 7 +#define I2O_SNFORMAT_IEEE_REG64 8 +#define I2O_SNFORMAT_IEEE_REG128 9 +#define I2O_SNFORMAT_UNKNOWN2 0xff + +/* + * I2O Get Status State values + */ + +#define ADAPTER_STATE_INITIALIZING 0x01 +#define ADAPTER_STATE_RESET 0x02 +#define ADAPTER_STATE_HOLD 0x04 +#define ADAPTER_STATE_READY 0x05 +#define ADAPTER_STATE_OPERATIONAL 0x08 +#define ADAPTER_STATE_FAILED 0x10 +#define ADAPTER_STATE_FAULTED 0x11 + +#endif /* _I2O_DEV_H */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/include/linux/i2o.h linux.16p1/include/linux/i2o.h --- linux.15p19/include/linux/i2o.h Sat Mar 25 23:41:50 2000 +++ linux.16p1/include/linux/i2o.h Wed Apr 19 14:25:10 2000 @@ -1,277 +1,49 @@ #ifndef _I2O_H #define _I2O_H - -/* - * Tunable parameters first - */ - -/* How many different OSM's are we allowing */ -#define MAX_I2O_MODULES 64 -/* How many controllers are we allowing */ -#define MAX_I2O_CONTROLLERS 32 - -#include - -/* - * I2O Control IOCTLs and structures +/* I2O kernel space accessible structures/APIs + * + * (c) Copyright 1999, 2000 Red Hat Software + * + * 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 header file defined the I2O APIs/structures for use by + * the I2O kernel modules. + * */ -#define I2O_MAGIC_NUMBER 'i' -#define I2OGETIOPS _IOR(I2O_MAGIC_NUMBER,0,u8[MAX_I2O_CONTROLLERS]) -#define I2OHRTGET _IOWR(I2O_MAGIC_NUMBER,1,struct i2o_cmd_hrtlct) -#define I2OLCTGET _IOWR(I2O_MAGIC_NUMBER,2,struct i2o_cmd_hrtlct) -#define I2OPARMSET _IOWR(I2O_MAGIC_NUMBER,3,struct i2o_cmd_psetget) -#define I2OPARMGET _IOWR(I2O_MAGIC_NUMBER,4,struct i2o_cmd_psetget) -#define I2OSWDL _IOWR(I2O_MAGIC_NUMBER,5,struct i2o_sw_xfer) -#define I2OSWUL _IOWR(I2O_MAGIC_NUMBER,6,struct i2o_sw_xfer) -#define I2OSWDEL _IOWR(I2O_MAGIC_NUMBER,7,struct i2o_sw_xfer) -#define I2OVALIDATE _IOR(I2O_MAGIC_NUMBER,8,u32) -#define I2OHTML _IOWR(I2O_MAGIC_NUMBER,9,struct i2o_html) -#define I2OEVTREG _IOW(I2O_MAGIC_NUMBER,10,struct i2o_evt_id) -#define I2OEVTGET _IOR(I2O_MAGIC_NUMBER,11,struct i2o_evt_info) - -struct i2o_cmd_hrtlct -{ - unsigned int iop; /* IOP unit number */ - void *resbuf; /* Buffer for result */ - unsigned int *reslen; /* Buffer length in bytes */ -}; - -struct i2o_cmd_psetget -{ - unsigned int iop; /* IOP unit number */ - unsigned int tid; /* Target device TID */ - void *opbuf; /* Operation List buffer */ - unsigned int oplen; /* Operation List buffer length in bytes */ - void *resbuf; /* Result List buffer */ - unsigned int *reslen; /* Result List buffer length in bytes */ -}; - -struct i2o_sw_xfer -{ - unsigned int iop; /* IOP unit number */ - unsigned char flags; /* Flags field */ - unsigned char sw_type; /* Software type */ - unsigned int sw_id; /* Software ID */ - void *buf; /* Pointer to software buffer */ - unsigned int *swlen; /* Length of software data */ - unsigned int *maxfrag; /* Maximum fragment count */ - unsigned int *curfrag; /* Current fragment count */ -}; - -struct i2o_html -{ - unsigned int iop; /* IOP unit number */ - unsigned int tid; /* Target device ID */ - unsigned int page; /* HTML page */ - void *resbuf; /* Buffer for reply HTML page */ - unsigned int *reslen; /* Length in bytes of reply buffer */ - void *qbuf; /* Pointer to HTTP query string */ - unsigned int qlen; /* Length in bytes of query string buffer */ -}; -#define I2O_EVT_Q_LEN 32 +#ifdef __KERNEL__ /* This file to be included by kernel only */ -struct i2o_evt_id -{ - unsigned int iop; - unsigned int tid; - unsigned int evt_mask; -}; - -// -// Event data size = frame size - message header + evt indicator -#define I2O_EVT_DATA_SIZE 88 - -struct i2o_evt_info -{ - struct i2o_evt_id id; - unsigned char evt_data[I2O_EVT_DATA_SIZE]; - unsigned int data_size; -}; +#include -struct i2o_evt_get -{ - struct i2o_evt_info info; - int pending; - int lost; -}; +#include /* Needed for MUTEX init macros */ +#include +#include +#include -/************************************************************************** - * HRT related constants and structures - **************************************************************************/ -#define I2O_BUS_LOCAL 0 -#define I2O_BUS_ISA 1 -#define I2O_BUS_EISA 2 -#define I2O_BUS_MCA 3 -#define I2O_BUS_PCI 4 -#define I2O_BUS_PCMCIA 5 -#define I2O_BUS_NUBUS 6 -#define I2O_BUS_CARDBUS 7 -#define I2O_BUS_UNKNOWN 0x80 - -#ifndef __KERNEL__ -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned int u32; -#endif /* __KERNEL__ */ - -typedef struct _i2o_pci_bus { - u8 PciFunctionNumber; - u8 PciDeviceNumber; - u8 PciBusNumber; - u8 reserved; - u16 PciVendorID; - u16 PciDeviceID; -} i2o_pci_bus; - -typedef struct _i2o_local_bus { - u16 LbBaseIOPort; - u16 reserved; - u32 LbBaseMemoryAddress; -} i2o_local_bus; - -typedef struct _i2o_isa_bus { - u16 IsaBaseIOPort; - u8 CSN; - u8 reserved; - u32 IsaBaseMemoryAddress; -} i2o_isa_bus; - -typedef struct _i2o_eisa_bus_info { - u16 EisaBaseIOPort; - u8 reserved; - u8 EisaSlotNumber; - u32 EisaBaseMemoryAddress; -} i2o_eisa_bus; - -typedef struct _i2o_mca_bus { - u16 McaBaseIOPort; - u8 reserved; - u8 McaSlotNumber; - u32 McaBaseMemoryAddress; -} i2o_mca_bus; - -typedef struct _i2o_other_bus { - u16 BaseIOPort; - u16 reserved; - u32 BaseMemoryAddress; -} i2o_other_bus; - -typedef struct _i2o_hrt_entry { - u32 adapter_id; - u32 parent_tid:12; - u32 state:4; - u32 bus_num:8; - u32 bus_type:8; - union { - i2o_pci_bus pci_bus; - i2o_local_bus local_bus; - i2o_isa_bus isa_bus; - i2o_eisa_bus eisa_bus; - i2o_mca_bus mca_bus; - i2o_other_bus other_bus; - } bus; -} i2o_hrt_entry; +/* + * Tunable parameters first + */ -typedef struct _i2o_hrt { - u16 num_entries; - u8 entry_len; - u8 hrt_version; - u32 change_ind; - i2o_hrt_entry hrt_entry[1]; -} i2o_hrt; - -typedef struct _i2o_lct_entry { - u32 entry_size:16; - u32 tid:12; - u32 reserved:4; - u32 change_ind; - u32 device_flags; - u32 class_id:12; - u32 version:4; - u32 vendor_id:16; - u32 sub_class; - u32 user_tid:12; - u32 parent_tid:12; - u32 bios_info:8; - u8 identity_tag[8]; - u32 event_capabilities; -} i2o_lct_entry; - -typedef struct _i2o_lct { - u32 table_size:16; - u32 boot_tid:12; - u32 lct_ver:4; - u32 iop_flags; - u32 current_change_ind; - i2o_lct_entry lct_entry[1]; -} i2o_lct; - -typedef struct _i2o_status_block { - u16 org_id; - u16 reserved; - u16 iop_id:12; - u16 reserved1:4; - u16 host_unit_id; - u16 segment_number:12; - u16 i2o_version:4; - u8 iop_state; - u8 msg_type; - u16 inbound_frame_size; - u8 init_code; - u8 reserved2; - u32 max_inbound_frames; - u32 cur_inbound_frames; - u32 max_outbound_frames; - char product_id[24]; - u32 expected_lct_size; - u32 iop_capabilities; - u32 desired_mem_size; - u32 current_mem_size; - u32 current_mem_base; - u32 desired_io_size; - u32 current_io_size; - u32 current_io_base; - u32 reserved3:24; - u32 cmd_status:8; -} i2o_status_block; - -/* Event indicator mask flags */ -#define I2O_EVT_IND_STATE_CHANGE 0x80000000 -#define I2O_EVT_IND_GENERAL_WARNING 0x40000000 -#define I2O_EVT_IND_CONFIGURATION_FLAG 0x20000000 -#define I2O_EVT_IND_LOCK_RELEASE 0x10000000 -#define I2O_EVT_IND_CAPABILITY_CHANGE 0x08000000 -#define I2O_EVT_IND_DEVICE_RESET 0x04000000 -#define I2O_EVT_IND_EVT_MASK_MODIFIED 0x02000000 -#define I2O_EVT_IND_FIELD_MODIFIED 0x01000000 -#define I2O_EVT_IND_VENDOR_EVT 0x00800000 -#define I2O_EVT_IND_DEVICE_STATE 0x00400000 - -/* Event data for generic events */ -#define I2O_EVT_STATE_CHANGE_NORMAL 0x00 -#define I2O_EVT_STATE_CHANGE_SUSPENDED 0x01 -#define I2O_EVT_STATE_CHANGE_RESTART 0x02 -#define I2O_EVT_STATE_CHANGE_NA_RECOVER 0x03 -#define I2O_EVT_STATE_CHANGE_NA_NO_RECOVER 0x04 -#define I2O_EVT_STATE_CHANGE_QUIESCE_REQUEST 0x05 -#define I2O_EVT_STATE_CHANGE_FAILED 0x10 -#define I2O_EVT_STATE_CHANGE_FAULTED 0x11 - -#define I2O_EVT_GEN_WARNING_NORMAL 0x00 -#define I2O_EVT_GEN_WARNING_ERROR_THRESHOLD 0x01 -#define I2O_EVT_GEN_WARNING_MEDIA_FAULT 0x02 +/* How many different OSM's are we allowing */ +#define MAX_I2O_MODULES 64 #define I2O_EVT_CAPABILITY_OTHER 0x01 #define I2O_EVT_CAPABILITY_CHANGED 0x02 #define I2O_EVT_SENSOR_STATE_CHANGED 0x01 -#ifdef __KERNEL__ /* ioctl stuff only thing exported to users */ +//#ifdef __KERNEL__ /* ioctl stuff only thing exported to users */ #define I2O_MAX_MANAGERS 4 +#include /* Needed for MUTEX init macros */ + /* * I2O Interface Objects */ @@ -303,7 +75,7 @@ struct i2o_device { - i2o_lct_entry *lct_data;/* Device LCT information */ + i2o_lct_entry lct_data;/* Device LCT information */ u32 flags; int i2oversion; /* I2O version supported. Actually there * should be high and low version */ @@ -356,8 +128,14 @@ volatile u32 *reply_port; volatile u32 *irq_mask; /* Interrupt port */ + /* Dynamic LCT related data */ + struct semaphore lct_sem; + int lct_pid; + int lct_running; + i2o_status_block *status_block; /* IOP status block */ - i2o_lct *lct; + i2o_lct *lct; /* Logical Config Table */ + i2o_lct *dlct; /* Temp LCT */ i2o_hrt *hrt; u32 mem_offset; /* MFA offset */ @@ -390,7 +168,19 @@ struct i2o_handler { + /* Message reply handler */ + void (*reply)(struct i2o_handler *, struct i2o_controller *, struct i2o_message *); + + /* New device notification handler */ + void (*new_dev_notify)(struct i2o_controller *, struct i2o_device *); + + /* Device deltion handler */ + void (*dev_del_notify)(struct i2o_controller *, struct i2o_device *); + + /* Reboot notification handler */ + void (*reboot_notify)(void); + char *name; int context; /* Low 8 bits of the transaction info */ u32 class; /* I2O classes that this driver handles */ @@ -509,8 +299,10 @@ extern int i2o_install_handler(struct i2o_handler *); extern int i2o_remove_handler(struct i2o_handler *); -extern int i2o_claim_device(struct i2o_device *, struct i2o_handler *, u32); -extern int i2o_release_device(struct i2o_device *, struct i2o_handler *, u32); +extern int i2o_claim_device(struct i2o_device *, struct i2o_handler *); +extern int i2o_release_device(struct i2o_device *, struct i2o_handler *); +extern int i2o_device_notify_on(struct i2o_device *, struct i2o_handler *); +extern int i2o_device_notify_off(struct i2o_device *, struct i2o_handler *); extern int i2o_post_this(struct i2o_controller *, u32 *, int); extern int i2o_post_wait(struct i2o_controller *, u32 *, int, int); @@ -525,9 +317,10 @@ extern int i2o_clear_table(struct i2o_controller *, int, int); extern int i2o_row_add_table(struct i2o_controller *, int, int, int, void *, int); +extern int i2o_row_delete_table(struct i2o_controller *, int, int, int, void *, int); -extern int i2o_event_register(struct i2o_controller *, int, int, u32); -extern int i2o_event_ack(struct i2o_controller *, int, int, u32, void *, int); +extern int i2o_event_register(struct i2o_controller *, u32, u32,u32, u32); +extern int i2o_event_ack(struct i2o_controller *, u32 *); extern void i2o_run_queue(struct i2o_controller *); extern void i2o_report_status(const char *, const char *, u32 *); @@ -843,6 +636,12 @@ #define I2O_POST_WAIT_OK 0 #define I2O_POST_WAIT_TIMEOUT -ETIMEDOUT + +#define DECLARE_MUTEX(name) struct semaphore name=MUTEX + +typedef struct wait_queue *wait_queue_head_t; +#define DECLARE_WAIT_QUEUE_HEAD(wait)\ + wait_queue_head_t wait #endif /* __KERNEL__ */ diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/include/linux/msdos_fs.h linux.16p1/include/linux/msdos_fs.h --- linux.15p19/include/linux/msdos_fs.h Thu Mar 9 21:20:04 2000 +++ linux.16p1/include/linux/msdos_fs.h Wed Apr 19 14:09:13 2000 @@ -69,7 +69,7 @@ #define MSDOS_DOT ". " /* ".", padded to MSDOS_NAME chars */ #define MSDOS_DOTDOT ".. " /* "..", padded to MSDOS_NAME chars */ -#define MSDOS_FAT12 4078 /* maximum number of clusters in a 12 bit FAT */ +#define MSDOS_FAT12 4084 /* maximum number of clusters in a 12 bit FAT */ #define EOF_FAT12 0xFF8 /* standard EOF */ #define EOF_FAT16 0xFFF8 diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/include/linux/nls.h linux.16p1/include/linux/nls.h --- linux.15p19/include/linux/nls.h Thu Jan 7 17:25:02 1999 +++ linux.16p1/include/linux/nls.h Wed Apr 19 13:58:56 2000 @@ -5,8 +5,8 @@ struct nls_table { char *charset; - unsigned char **page_uni2charset; - struct nls_unicode *charset2uni; + void (*uni2char) (unsigned char ch, unsigned char cl, unsigned char *out, int boundlen, int *outlen); + void (*char2uni) (unsigned char *rawstring, int *offset, unsigned char *uni1, unsigned char *uni2); void (*inc_use_count) (void); void (*dec_use_count) (void); @@ -53,4 +53,8 @@ extern int init_nls_cp866(void); extern int init_nls_cp869(void); extern int init_nls_cp874(void); +extern int init_nls_cp932(void); +extern int init_nls_cp936(void); +extern int init_nls_cp949(void); +extern int init_nls_cp950(void); extern int init_nls_koi8_r(void); diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/include/linux/smb_fs.h linux.16p1/include/linux/smb_fs.h --- linux.15p19/include/linux/smb_fs.h Sun Apr 16 17:34:00 2000 +++ linux.16p1/include/linux/smb_fs.h Wed Apr 19 14:19:17 2000 @@ -192,6 +192,7 @@ int entries; /* total entries */ int pages; /* number of data pages */ int idx; /* index of current data page */ + time_t mtime; /* the last mtime of our dir inode */ struct cache_index index[NINDEX]; }; diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/scripts/Configure linux.16p1/scripts/Configure --- linux.15p19/scripts/Configure Mon Feb 1 20:03:20 1999 +++ linux.16p1/scripts/Configure Wed Apr 19 14:05:06 2000 @@ -143,6 +143,10 @@ # define_bool define value # function define_bool () { + define_tristate $1 $2 +} + +function define_tristate () { case "$2" in "y") echo "$1=y" >>$CONFIG @@ -213,11 +217,11 @@ while :; do readln "$1 ($2) [$defprompt] " "$def" "$old" case "$ans" in - [yY] | [yY]es ) define_bool "$2" "y" + [yY] | [yY]es ) define_tristate "$2" "y" break ;; - [nN] | [nN]o ) define_bool "$2" "n" + [nN] | [nN]o ) define_tristate "$2" "n" break ;; - [mM] ) define_bool "$2" "m" + [mM] ) define_tristate "$2" "m" break ;; * ) help "$2" ;; @@ -246,7 +250,7 @@ while [ $# -gt 0 ]; do case "$1" in n) - define_bool "$var" "n" + define_tristate "$var" "n" return ;; m) @@ -268,9 +272,9 @@ while :; do readln "$ques ($var) [$defprompt] " "$def" "$old" case "$ans" in - [nN] | [nN]o ) define_bool "$var" "n" + [nN] | [nN]o ) define_tristate "$var" "n" break ;; - [mM] ) define_bool "$var" "m" + [mM] ) define_tristate "$var" "m" break ;; [yY] | [yY]es ) echo echo " This answer is not allowed, because it is not consistent with" @@ -290,6 +294,43 @@ fi } +function dep_bool () { + ques=$1 + var=$2 + shift 2 + while [ $# -gt 0 ]; do + case "$1" in + m | n) + define_bool "$var" "n" + return + ;; + esac + shift + done + + bool "$ques" "$var" +} + +function dep_mbool () { + ques=$1 + var=$2 + shift 2 + while [ $# -gt 0 ]; do + case "$1" in + n) + define_bool "$var" "n" + return + ;; + m) + eval "$var=y" + ;; + esac + shift + done + + bool "$ques" "$var" +} + # # define_int sets the value of a integer argument # @@ -368,9 +409,9 @@ # define_string define value # function define_string () { - echo "$1="'"'$2'"' >>$CONFIG - echo "#define $1 "'"'$2'"' >>$CONFIG_H - eval "$1=$2" + echo "$1=\"$2\"" >>$CONFIG + echo "#define $1 \"$2\"" >>$CONFIG_H + eval "$1=\"$2\"" } # diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/scripts/Menuconfig linux.16p1/scripts/Menuconfig --- linux.15p19/scripts/Menuconfig Thu Mar 9 19:32:48 2000 +++ linux.16p1/scripts/Menuconfig Wed Apr 19 14:05:06 2000 @@ -68,6 +68,12 @@ # # 24 January 1999, Michael Elizabeth Chastain, # - Improve the exit message (Jeff Ronne). +# +# 06 July 1999, Andrzej M. Krzysztofowicz, +# - Support for multiple conditions in dep_tristate(). +# - Implemented new functions: define_tristate(), define_int(), define_hex(), +# define_string(), dep_bool(). +# # @@ -132,6 +138,22 @@ eval $1=$2 } +function define_tristate () { + eval $1=$2 +} + +function define_hex () { + eval $1=$2 +} + +function define_int () { + eval $1=$2 +} + +function define_string () { + eval $1="$2" +} + # # Create a boolean (Yes/No) function for our current menu # which calls our local bool function. @@ -188,13 +210,72 @@ # else in the kernel. # function dep_tristate () { - if [ "$3" = "y" ]; then - tristate "$1" "$2" - else if [ "$3" = "m" ]; then - mod_bool "$1" "$2" + ques="$1" + var="$2" + dep=y + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y ]; then + shift + elif [ "$1" = m ]; then + dep=m + shift + else + dep=n + shift $# + fi + done + if [ "$dep" = y ]; then + tristate "$ques" "$var" + elif [ "$dep" = m ]; then + mod_bool "$ques" "$var" else - define_bool "$2" n - fi; fi + define_tristate "$var" n + fi +} + +# +# Same as above, but now only Y and N are allowed as dependency +# (i.e. third and next arguments). +# +function dep_bool () { + ques="$1" + var="$2" + dep=y + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y ]; then + shift + else + dep=n + shift $# + fi + done + if [ "$dep" = y ]; then + bool "$ques" "$var" + else + define_bool "$var" n + fi +} + +function dep_mbool () { + ques="$1" + var="$2" + dep=y + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y -o "$1" = m ]; then + shift + else + dep=n + shift $# + fi + done + if [ "$dep" = y ]; then + bool "$ques" "$var" + else + define_bool "$var" n + fi } # @@ -988,13 +1069,51 @@ function tristate () { set_x_info "$2" "n" - eval define_bool "$2" "$x" + eval define_tristate "$2" "$x" } function dep_tristate () { set_x_info "$2" "n" - if [ "$3" = "m" -a "$x" = "y" ]; then x="m"; fi - define_bool "$2" "$x" + var="$2" + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y ]; then + shift + elif [ "$1" = m -a "$x" != n ]; then + x=m; shift + else + x=n; shift $# + fi + done + define_tristate "$var" "$x" + } + + function dep_bool () { + set_x_info "$2" "n" + var="$2" + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y ]; then + shift + else + x=n; shift $# + fi + done + define_bool "$var" "$x" + } + + function dep_mbool () { + set_x_info "$2" "n" + var="$2" + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y -o "$1" = m ]; then + shift + else + x=n; shift $# + fi + done + define_bool "$var" "$x" } function int () { @@ -1015,7 +1134,29 @@ echo "#define $2 \"$x\"" >>$CONFIG_H } + function define_hex () { + eval $1="$2" + echo "$1=$2" >>$CONFIG + echo "#define $1 0x${2##*[x,X]}" >>$CONFIG_H + } + + function define_int () { + eval $1="$2" + echo "$1=$2" >>$CONFIG + echo "#define $1 ($2)" >>$CONFIG_H + } + + function define_string () { + eval $1="$2" + echo "$1=\"$2\"" >>$CONFIG + echo "#define $1 \"$2\"" >>$CONFIG_H + } + function define_bool () { + define_tristate "$1" "$2" + } + + function define_tristate () { eval $1="$2" case "$2" in diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/scripts/header.tk linux.16p1/scripts/header.tk --- linux.15p19/scripts/header.tk Mon Feb 1 20:03:20 1999 +++ linux.16p1/scripts/header.tk Wed Apr 19 14:05:06 2000 @@ -32,7 +32,7 @@ proc vfix { var } { global $var if [ catch {eval concat $$var} ] { - set $var 0 + set $var 4 } } @@ -42,6 +42,7 @@ set CONSTANT_Y 1 set CONSTANT_M 2 set CONSTANT_N 0 +set CONSTANT_E 4 # # Create a "reference" object to steal colors from. @@ -67,9 +68,11 @@ proc menu_option { w menu_num text } { global menus_per_column - if { $menu_num <= $menus_per_column } then { + global processed_top_level + set processed_top_level [expr $processed_top_level + 1] + if { $processed_top_level <= $menus_per_column } then { set myframe left - } elseif { $menu_num <= [expr 2 * $menus_per_column] } then { + } elseif { $processed_top_level <= [expr 2 * $menus_per_column] } then { set myframe middle } else { set myframe right @@ -211,7 +214,7 @@ } close $file1 update_choices - update_mainmenu .rdupd + update_mainmenu } proc write_comment { file1 file2 text } { puts $file1 "" @@ -223,17 +226,51 @@ puts $file2 " */" } -proc write_tristate { file1 file2 varname variable dep } { - if { $variable == 0 } \ - then { puts $file1 "# $varname is not set"; \ - puts $file2 "#undef $varname"} \ - elseif { $variable == 2 || ($dep == 2 && $variable == 1) } \ +proc effective_dep { deplist } { + global CONFIG_MODULES + set depend 1 + foreach i $deplist { + if {$i == 0} then {set depend 0} + if {$i == 2 && $depend == 1} then {set depend 2} + } + if {$depend == 2 && $CONFIG_MODULES == 0} then {set depend 0} + return $depend +} + +proc sync_tristate { var dep } { + global CONFIG_MODULES + if {$dep == 0 && ($var == 1 || $var == 2)} then { + set var 0 + } elseif {$dep == 2 && $var == 1} then { + set var 2 + } elseif {$var == 2 && $CONFIG_MODULES == 0} then { + if {$dep == 1} then {set var 1} else {set var 0} + } + return $var +} + +proc sync_bool { var dep modset } { + set var [sync_tristate $var $dep] + if {$dep == 2 && $var == 2} then { + set var $modset + } + return $var +} + +proc write_tristate { file1 file2 varname variable deplist modset } { + set variable [sync_tristate $variable [effective_dep $deplist]] + if { $variable == 2 } \ + then { set variable $modset } + if { $variable == 1 } \ + then { puts $file1 "$varname=y"; \ + puts $file2 "#define $varname 1" } \ + elseif { $variable == 2 } \ then { puts $file1 "$varname=m"; \ puts $file2 "#undef $varname"; \ puts $file2 "#define ${varname}_MODULE 1" } \ - elseif { $variable == 1 && $dep != 2 } \ - then { puts $file1 "$varname=y"; \ - puts $file2 "#define $varname 1" } \ + elseif { $variable == 0 } \ + then { puts $file1 "# $varname is not set"; \ + puts $file2 "#undef $varname"} \ else { \ puts stdout "ERROR - Attempting to write value for unconfigured variable ($varname)." \ } @@ -245,7 +282,7 @@ puts $file2 "#undef $varname"} \ else { puts $file1 "$varname=$variable"; \ - puts $file2 "#define $varname $variable"; \ + puts $file2 "#define $varname ($variable)"; \ } } @@ -255,7 +292,8 @@ puts $file2 "#undef $varname"} \ else { puts $file1 "$varname=$variable"; \ - puts $file2 "#define $varname 0x$variable"; \ + puts -nonewline $file2 "#define $varname 0x"; \ + puts $file2 [exec echo $variable | sed s/^0\[xX\]//]; \ } } @@ -282,11 +320,11 @@ proc toggle_switch2 {w mnum line text variable} { frame $w.x$line -relief sunken radiobutton $w.x$line.y -text "y" -variable $variable -value 1 \ - -relief groove -width 2 -command "update_menu$mnum .menu$mnum" + -relief groove -width 2 -command "update_active" radiobutton $w.x$line.m -text "-" -variable $variable -value 2 \ - -relief groove -width 2 -command "update_menu$mnum .menu$mnum" + -relief groove -width 2 -command "update_active" radiobutton $w.x$line.n -text "n" -variable $variable -value 0 \ - -relief groove -width 2 -command "update_menu$mnum .menu$mnum" + -relief groove -width 2 -command "update_active" option_name $w $mnum $line $text $variable @@ -296,11 +334,11 @@ proc toggle_switch3 {w mnum line text variable} { frame $w.x$line -relief sunken radiobutton $w.x$line.y -text "y" -variable $variable -value 1 \ - -relief groove -width 2 -command "update_menu$mnum .menu$mnum" + -relief groove -width 2 -command "update_active" radiobutton $w.x$line.m -text "m" -variable $variable -value 2 \ - -relief groove -width 2 -command "update_menu$mnum .menu$mnum" + -relief groove -width 2 -command "update_active" radiobutton $w.x$line.n -text "n" -variable $variable -value 0 \ - -relief groove -width 2 -command "update_menu$mnum .menu$mnum" + -relief groove -width 2 -command "update_active" option_name $w $mnum $line $text $variable @@ -322,10 +360,14 @@ pack $w.x$line -anchor w -fill both -expand on } -proc dep_tristate {w mnum line text variable depend } { +proc dep_tristate {w mnum line text variable } { tristate $w $mnum $line $text $variable } +proc dep_bool {w mnum line text variable } { + bool $w $mnum $line $text $variable +} + proc int { w mnum line text variable } { frame $w.x$line entry $w.x$line.x -width 18 -relief sunken -borderwidth 2 \ @@ -358,6 +400,18 @@ pack $w.x$line -anchor w -fill both -expand on } +proc submenu { w mnum line text subnum } { + frame $w.x$line + button $w.x$line.l -text "" -width 15 -relief groove + $w.x$line.l configure -activefore [cget $w.x$line.l -fg] \ + -activeback [cget $w.x$line.l -bg] -state disabled + button $w.x$line.m -text "$text" -relief raised -anchor w \ + -command "catch {destroy .menu$subnum}; menu$subnum .menu$subnum \"$text\"" + pack $w.x$line.l -side left -fill both + pack $w.x$line.m -anchor w -side right -fill both -expand on + pack $w.x$line -anchor w -fill both -expand on +} + proc comment {w line text } { #nothing done for comments now. } @@ -417,7 +471,7 @@ # frame $w.f2 button $w.f2.ok -text "OK" \ - -width 10 -command "destroy $w; focus $oldFocus" + -width 10 -command "destroy $w; catch {focus $oldFocus}" pack $w.f2.ok -side bottom -pady 6 -anchor n pack $w.f2 -side bottom -padx 10 -anchor s @@ -458,6 +512,55 @@ } +proc unregister_active {num} { + global active_menus + set index [lsearch -exact $active_menus $num] + if {$index != -1} then {set active_menus [lreplace $active_menus $index $index]} +} + +proc update_active {} { + global active_menus total_menus + set max 0 + if {[llength $active_menus] > 0} then { + set max [lindex $active_menus end] + update_define [toplevel_menu [lindex $active_menus 0]] $max 0 + } + foreach i $active_menus { + if {[winfo exists .menu$i] == 0} then { + unregister_active $i + } else { + update_menu$i + } + } + update_define [expr $max + 1] $total_menus 1 + update_mainmenu +} + +proc configure_entry {w option items} { + foreach i $items { + $w.$i configure -state $option + } +} + +proc validate_int {name val default} { + if {([exec echo $val | sed s/^-//g | tr -d \[:digit:\] ] != "")} then { + global $name; set $name $default + } +} + +proc validate_hex {name val default} { + if {([exec echo $val | tr -d \[:xdigit:\] ] != "")} then { + global $name; set $name $default + } +} + +proc update_define {first last allow_update} { + for {set i $first} {$i <= $last} {incr i} { + update_define_menu$i + if {$allow_update == 1} then update + } +} + # # Next set up the particulars for the top level menu, and define a few # buttons which we will stick down at the bottom. @@ -468,3 +571,5 @@ frame .f0.middle frame .f0.right +set active_menus [list] +set processed_top_level 0 diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/scripts/mkdep.c linux.16p1/scripts/mkdep.c --- linux.15p19/scripts/mkdep.c Sat Aug 14 02:27:46 1999 +++ linux.16p1/scripts/mkdep.c Wed Apr 19 14:05:06 2000 @@ -8,9 +8,20 @@ * I make simple dependency lines for #include <*.h> and #include "*.h". * I also find instances of CONFIG_FOO and generate dependencies * like include/config/foo.h. + * + * 1 August 1999, Michael Elizabeth Chastain, + * - Keith Owens reported a bug in smart config processing. There used + * to be an optimization for "#define CONFIG_FOO ... #ifdef CONFIG_FOO", + * so that the file would not depend on CONFIG_FOO because the file defines + * this symbol itself. But this optimization is bogus! Consider this code: + * "#if 0 \n #define CONFIG_FOO \n #endif ... #ifdef CONFIG_FOO". Here + * the definition is inactivated, but I still used it. It turns out this + * actually happens a few times in the kernel source. The simple way to + * fix this problem is to remove this particular optimization. */ #include +#include #include #include #include @@ -66,7 +77,7 @@ while (len_config + len > size_config) { str_config = realloc(str_config, size_config *= 2); if (str_config == NULL) - { perror("malloc"); exit(1); } + { perror("malloc config"); exit(1); } } } @@ -93,22 +104,11 @@ /* * Add a new value to the configuration string. */ -void define_config(int convert, const char * name, int len) +void define_config(const char * name, int len) { grow_config(len + 1); memcpy(str_config+len_config, name, len); - - if (convert) { - int i; - for (i = 0; i < len; i++) { - char c = str_config[len_config+i]; - if (isupper(c)) c = tolower(c); - if (c == '_') c = '/'; - str_config[len_config+i] = c; - } - } - len_config += len; str_config[len_config++] = '\n'; } @@ -121,7 +121,56 @@ void clear_config(void) { len_config = 0; - define_config(0, "", 0); + define_config("", 0); +} + + + +/* + * This records all the precious .h filenames. No need for a hash, + * it's a long string of values enclosed in tab and newline. + */ +char * str_precious = NULL; +int size_precious = 0; +int len_precious = 0; + + + +/* + * Grow the precious string to a desired length. + * Usually the first growth is plenty. + */ +void grow_precious(int len) +{ + if (str_precious == NULL) { + len_precious = 0; + size_precious = 4096; + str_precious = malloc(4096); + if (str_precious == NULL) + { perror("malloc precious"); exit(1); } + } + + while (len_precious + len > size_precious) { + str_precious = realloc(str_precious, size_precious *= 2); + if (str_precious == NULL) + { perror("malloc"); exit(1); } + } +} + + + +/* + * Add a new value to the precious string. + */ +void define_precious(const char * filename) +{ + int len = strlen(filename); + grow_precious(len + 4); + *(str_precious+len_precious++) = '\t'; + memcpy(str_precious+len_precious, filename, len); + len_precious += len; + memcpy(str_precious+len_precious, " \\\n", 3); + len_precious += 3; } @@ -137,7 +186,7 @@ return; if (len >= 7 && !memcmp(name, "config/", 7)) - define_config(0, name+7, len-7-2); + define_config(name+7, len-7-2); memcpy(path->buffer+path->len, name, len); path->buffer[path->len+len] = '\0'; @@ -176,7 +225,7 @@ if (is_defined_config(pc, len)) return; - define_config(0, pc, len); + define_config(pc, len); if (!hasdep) { hasdep = 1; @@ -193,7 +242,8 @@ * Thus, there is one memory access per sizeof(unsigned long) characters. */ -#if defined(__alpha__) || defined(__i386__) || defined(__MIPSEL__) || defined(__arm__) +#if defined(__alpha__) || defined(__i386__) || defined(__ia64__) || defined(__MIPSEL__) \ + || defined(__arm__) #define LE_MACHINE #endif @@ -360,7 +410,13 @@ GETNEXT NOTCASE('f', __start); goto pound_define_undef; -/* #\s*(define|undef)\s*CONFIG_(\w*) */ +/* + * #\s*(define|undef)\s*CONFIG_(\w*) + * + * this does not define the word, because it could be inside another + * conditional (#if 0). But I do parse the word so that this instance + * does not count as a use. -- mec + */ pound_define_undef: GETNEXT CASE(' ', pound_define_undef); @@ -379,7 +435,6 @@ GETNEXT if (isalnum(current) || current == '_') goto pound_define_undef_CONFIG_word; - define_config(1, map_dot, next - map_dot - 1); goto __start; /* \ + * - kvariables removed; all variables are stored in a single table now + * - some elimination of options non-valid for current architecture + * implemented. + * - negation (!) eliminated from conditions + * * TO DO: * - xconfig is at the end of its life cycle. Contact if * you are interested in working on the replacement. @@ -28,73 +34,89 @@ /* - * Transform op_variable to op_kvariable. - * - * This works, but it's gross, speed-wise. It would benefit greatly - * from a simple hash table that maps names to cfg. - * - * Note well: this is actually better than the loop structure xconfig - * has been staggering along with for three years, which performs - * this whole procedure inside *another* loop on active conditionals. + * Mark variables which are defined anywhere. */ -void transform_to_kvariable( struct kconfig * scfg ) +static void mark_variables( struct kconfig * scfg ) { struct kconfig * cfg; + int i; + for ( i = 1; i <= max_varnum; i++ ) + vartable[i].defined = 0; for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) { - struct condition * cond; - - for ( cond = cfg->cond; cond != NULL; cond = cond->next ) + if ( cfg->token == token_bool + || cfg->token == token_choice_item + || cfg->token == token_define_bool + || cfg->token == token_define_hex + || cfg->token == token_define_int + || cfg->token == token_define_string + || cfg->token == token_define_tristate + || cfg->token == token_dep_bool + || cfg->token == token_dep_mbool + || cfg->token == token_dep_tristate + || cfg->token == token_hex + || cfg->token == token_int + || cfg->token == token_string + || cfg->token == token_tristate + || cfg->token == token_unset ) { - if ( cond->op == op_variable ) + if ( cfg->nameindex > 0 ) /* paranoid */ { - /* Here's where it gets DISGUSTING. */ - struct kconfig * cfg1; + vartable[cfg->nameindex].defined = 1; + } + } + } +} + + + +static void free_cond( struct condition *cond ) +{ + struct condition *tmp, *tmp1; + for ( tmp = cond; tmp; tmp = tmp1 ) + { + tmp1 = tmp->next; + free( (void*)tmp ); + } +} + - for ( cfg1 = scfg; cfg1 != NULL; cfg1 = cfg1->next ) + +/* + * Remove the bang operator from a condition to avoid priority problems. + * "!" has different priorities as "test" command argument and in + * a tk script. + */ +static struct condition * remove_bang( struct condition * condition ) +{ + struct condition * conda, * condb, * prev = NULL; + + for ( conda = condition; conda; conda = conda->next ) + { + if ( conda->op == op_bang && conda->next && + ( condb = conda->next->next ) ) + { + if ( condb->op == op_eq || condb->op == op_neq ) + { + condb->op = (condb->op == op_eq) ? op_neq : op_eq; + conda->op = op_nuked; + if ( prev ) { - if ( cfg1->token == token_bool - || cfg1->token == token_choice_item - || cfg1->token == token_dep_tristate - || cfg1->token == token_hex - || cfg1->token == token_int - || cfg1->token == token_string - || cfg1->token == token_tristate ) - { - if ( strcmp( cond->str, cfg1->optionname ) == 0 ) - { - cond->op = op_kvariable; - cond->str = NULL; - cond->cfg = cfg1; - break; - } - } + prev->next = conda->next; } - } - -#if 0 - /* - * Maybe someday this will be useful, but right now it - * gives a lot of false positives on files like - * drivers/video/Config.in that are meant for more - * than one architecture. Turn it on if you want to play - * with it though; it does work. -- mec - */ - if ( cond->op == op_variable ) - { - if ( strcmp( cond->str, "ARCH" ) != 0 - && strcmp( cond->str, "CONSTANT_Y" ) != 0 - && strcmp( cond->str, "CONSTANT_M" ) != 0 - && strcmp( cond->str, "CONSTANT_N" ) != 0 ) + else { - fprintf( stderr, "warning: $%s used but not defined\n", - cond->str ); + condition = conda->next; } + conda->next = NULL; + free_cond( conda ); + conda = condb; } -#endif } + prev = conda; } + return condition; } @@ -103,27 +125,65 @@ * Make a new condition chain by joining the current condition stack with * the "&&" operator for glue. */ -struct condition * join_condition_stack( struct condition * conditions [], +static struct condition * join_condition_stack( struct condition * conditions [], int depth ) { struct condition * cond_list; struct condition * cond_last; - int i; + int i, is_first = 1; cond_list = cond_last = NULL; + + for ( i = 0; i < depth; i++ ) + { + if ( conditions[i]->op == op_false ) + { + struct condition * cnew; + + /* It is always false condition */ + cnew = malloc( sizeof(*cnew) ); + memset( cnew, 0, sizeof(*cnew) ); + cnew->op = op_false; + cond_list = cond_last = cnew; + goto join_done; + } + } for ( i = 0; i < depth; i++ ) { struct condition * cond; struct condition * cnew; + int add_paren; + + /* omit always true conditions */ + if ( conditions[i]->op == op_true ) + continue; + + /* if i have another condition, add an '&&' operator */ + if ( !is_first ) + { + cnew = malloc( sizeof(*cnew) ); + memset( cnew, 0, sizeof(*cnew) ); + cnew->op = op_and; + cond_last->next = cnew; + cond_last = cnew; + } - /* add a '(' */ - cnew = malloc( sizeof(*cnew) ); - memset( cnew, 0, sizeof(*cnew) ); - cnew->op = op_lparen; - if ( cond_last == NULL ) - { cond_list = cond_last = cnew; } + if ( conditions[i]->op != op_lparen ) + { + /* add a '(' */ + add_paren = 1; + cnew = malloc( sizeof(*cnew) ); + memset( cnew, 0, sizeof(*cnew) ); + cnew->op = op_lparen; + if ( cond_last == NULL ) + { cond_list = cond_last = cnew; } + else + { cond_last->next = cnew; cond_last = cnew; } + } else - { cond_last->next = cnew; cond_last = cnew; } + { + add_paren = 0; + } /* duplicate the chain */ for ( cond = conditions [i]; cond != NULL; cond = cond->next ) @@ -132,27 +192,23 @@ cnew->next = NULL; cnew->op = cond->op; cnew->str = cond->str ? strdup( cond->str ) : NULL; - cnew->cfg = cond->cfg; - cond_last->next = cnew; - cond_last = cnew; + cnew->nameindex = cond->nameindex; + if ( cond_last == NULL ) + { cond_list = cond_last = cnew; } + else + { cond_last->next = cnew; cond_last = cnew; } } - /* add a ')' */ - cnew = malloc( sizeof(*cnew) ); - memset( cnew, 0, sizeof(*cnew) ); - cnew->op = op_rparen; - cond_last->next = cnew; - cond_last = cnew; - - /* if i have another condition, add an '&&' operator */ - if ( i < depth - 1 ) + if ( add_paren ) { + /* add a ')' */ cnew = malloc( sizeof(*cnew) ); memset( cnew, 0, sizeof(*cnew) ); - cnew->op = op_and; + cnew->op = op_rparen; cond_last->next = cnew; cond_last = cnew; } + is_first = 0; } /* @@ -171,7 +227,7 @@ cond1e = cond1d->next; if ( cond1e == NULL ) break; cond1f = cond1e->next; if ( cond1f == NULL ) break; - if ( cond1b->op == op_kvariable + if ( cond1b->op == op_variable && ( cond1c->op == op_eq || cond1c->op == op_neq ) && cond1d->op == op_constant && cond1e->op == op_rparen ) @@ -189,8 +245,8 @@ cond2f = cond2e->next; /* look for match */ - if ( cond2b->op == op_kvariable - && cond2b->cfg == cond1b->cfg + if ( cond2b->op == op_variable + && cond2b->nameindex == cond1b->nameindex && cond2c->op == cond1c->op && cond2d->op == op_constant && strcmp( cond2d->str, cond1d->str ) == 0 @@ -219,64 +275,159 @@ } } +join_done: return cond_list; } +static char * current_arch = NULL; + /* - * This is the main transformation function. + * Eliminating conditions with ARCH = . */ -void fix_conditionals( struct kconfig * scfg ) +static struct condition *eliminate_other_arch( struct condition *list ) { - struct kconfig * cfg; - - /* - * Transform op_variable to op_kvariable. - */ - transform_to_kvariable( scfg ); - - /* - * Transform conditions that use variables from "choice" statements. - * Choice values appear to the user as a collection of booleans, and the - * script can test the individual booleans. But internally, all I have is - * the N-way value of an unnamed temporary for the whole statement. So I - * have to tranform '"$CONFIG_M386" != "y"' - * into '"$tmpvar_N" != "CONFIG_M386"'. - */ - for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) + struct condition *cond1a = list, *cond1b = NULL, *cond1c = NULL, *cond1d = NULL; + if ( current_arch == NULL ) + current_arch = getenv( "ARCH" ); + if ( current_arch == NULL ) { - struct condition * cond; - - for ( cond = cfg->cond; cond != NULL; cond = cond->next ) + fprintf( stderr, "error: ARCH undefined\n" ); + exit( 1 ); + } + if ( cond1a->op == op_variable + && ! strcmp( vartable[cond1a->nameindex].name, "ARCH" ) ) + { + cond1b = cond1a->next; if ( cond1b == NULL ) goto done; + cond1c = cond1b->next; if ( cond1c == NULL ) goto done; + cond1d = cond1c->next; + if ( cond1c->op == op_constant && cond1d == NULL ) { - if ( cond->op == op_kvariable && cond->cfg->token == token_choice_item ) + if ( (cond1b->op == op_eq && strcmp( cond1c->str, current_arch )) + || (cond1b->op == op_neq && ! strcmp( cond1c->str, current_arch )) ) { - /* - * Look two more tokens down for the comparison token. - * It has to be "y" for this trick to work. - * - * If you get this error, don't even think about relaxing the - * strcmp test. You will produce incorrect TK code. Instead, - * look for the place in your Config.in script where you are - * comparing a 'choice' variable to a value other than 'y', - * and rewrite the comparison to be '= "y"' or '!= "y"'. - */ - struct condition * cond2 = cond->next->next; - const char * label; - - if ( strcmp( cond2->str, "y" ) != 0 ) + /* This is for another architecture */ + cond1a->op = op_false; + cond1a->next = NULL; + free_cond( cond1b ); + return cond1a; + } + else if ( (cond1b->op == op_neq && strcmp( cond1c->str, current_arch )) + || (cond1b->op == op_eq && ! strcmp( cond1c->str, current_arch )) ) + { + /* This is for current architecture */ + cond1a->op = op_true; + cond1a->next = NULL; + free_cond( cond1b ); + return cond1a; + } + } + else if ( cond1c->op == op_constant && cond1d->op == op_or ) + { + if ( (cond1b->op == op_eq && strcmp( cond1c->str, current_arch )) + || (cond1b->op == op_neq && ! strcmp( cond1c->str, current_arch )) ) + { + /* This is for another architecture */ + cond1b = cond1d->next; + cond1d->next = NULL; + free_cond( cond1a ); + return eliminate_other_arch( cond1b ); + } + else if ( (cond1b->op == op_neq && strcmp( cond1c->str, current_arch )) + || (cond1b->op == op_eq && ! strcmp( cond1c->str, current_arch )) ) + { + /* This is for current architecture */ + cond1a->op = op_true; + cond1a->next = NULL; + free_cond( cond1b ); + return cond1a; + } + } + else if ( cond1c->op == op_constant && cond1d->op == op_and ) + { + if ( (cond1b->op == op_eq && strcmp( cond1c->str, current_arch )) + || (cond1b->op == op_neq && ! strcmp( cond1c->str, current_arch )) ) + { + /* This is for another architecture */ + int l_par = 0; + + for ( cond1c = cond1d->next; cond1c; cond1c = cond1c->next ) { - fprintf( stderr, "tkparse choked in fix_choice_cond\n" ); - exit( 1 ); + if ( cond1c->op == op_lparen ) + l_par++; + else if ( cond1c->op == op_rparen ) + l_par--; + else if ( cond1c->op == op_or && l_par == 0 ) + /* Expression too complex - don't touch */ + return cond1a; + else if ( l_par < 0 ) + { + fprintf( stderr, "incorrect condition: programming error ?\n" ); + exit( 1 ); + } } + cond1a->op = op_false; + cond1a->next = NULL; + free_cond( cond1b ); + return cond1a; + } + else if ( (cond1b->op == op_neq && strcmp( cond1c->str, current_arch )) + || (cond1b->op == op_eq && ! strcmp( cond1c->str, current_arch )) ) + { + /* This is for current architecture */ + cond1b = cond1d->next; + cond1d->next = NULL; + free_cond( cond1a ); + return eliminate_other_arch( cond1b ); + } + } + } + if ( cond1a->op == op_variable && ! vartable[cond1a->nameindex].defined ) + { + cond1b = cond1a->next; if ( cond1b == NULL ) goto done; + cond1c = cond1b->next; if ( cond1c == NULL ) goto done; + cond1d = cond1c->next; - label = cond->cfg->label; - cond->cfg = cond->cfg->cfg_parent; - cond2->str = strdup( label ); + if ( cond1c->op == op_constant + && ( cond1d == NULL || cond1d->op == op_and ) ) /*???*/ + { + if ( cond1b->op == op_eq && strcmp( cond1c->str, "" ) ) + { + cond1a->op = op_false; + cond1a->next = NULL; + free_cond( cond1b ); + return cond1a; + } + } + else if ( cond1c->op == op_constant && cond1d->op == op_or ) + { + if ( cond1b->op == op_eq && strcmp( cond1c->str, "" ) ) + { + cond1b = cond1d->next; + cond1d->next = NULL; + free_cond( cond1a ); + return eliminate_other_arch( cond1b ); } } } +done: + return list; +} + + + +/* + * This is the main transformation function. + */ +void fix_conditionals( struct kconfig * scfg ) +{ + struct kconfig * cfg; + + /* + * Transform op_variable to op_kvariable. + */ + mark_variables( scfg ); /* * Walk the statement list, maintaining a stack of current conditions. @@ -290,16 +441,19 @@ { struct condition * cond_stack [32]; int depth = 0; + struct kconfig * prev = NULL; for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) { + int good = 1; switch ( cfg->token ) { default: break; case token_if: - cond_stack [depth++] = cfg->cond; + cond_stack [depth++] = + remove_bang( eliminate_other_arch( cfg->cond ) ); cfg->cond = NULL; break; @@ -325,6 +479,8 @@ case op_or: cond->op = op_and1; break; case op_neq: cond->op = op_eq; break; case op_eq: cond->op = op_neq; break; + case op_true: cond->op = op_false;break; + case op_false:cond->op = op_true; break; } } } @@ -336,25 +492,111 @@ case token_bool: case token_choice_item: + case token_choice_header: case token_comment: case token_define_bool: + case token_define_hex: + case token_define_int: + case token_define_string: + case token_define_tristate: + case token_endmenu: case token_hex: case token_int: case token_mainmenu_option: case token_string: case token_tristate: + case token_unset: cfg->cond = join_condition_stack( cond_stack, depth ); + if ( cfg->cond && cfg->cond->op == op_false ) + { + good = 0; + if ( prev ) + prev->next = cfg->next; + else + scfg = cfg->next; + } break; + case token_dep_bool: + case token_dep_mbool: case token_dep_tristate: /* * Same as the other simple statements, plus an additional * condition for the dependency. */ - cond_stack [depth] = cfg->cond; - cfg->cond = join_condition_stack( cond_stack, depth+1 ); + if ( cfg->cond ) + { + cond_stack [depth] = eliminate_other_arch( cfg->cond ); + cfg->cond = join_condition_stack( cond_stack, depth+1 ); + } + else + { + cfg->cond = join_condition_stack( cond_stack, depth ); + } + if ( cfg->cond && cfg->cond->op == op_false ) + { + good = 0; + if ( prev ) + prev->next = cfg->next; + else + scfg = cfg->next; + } break; } + if ( good ) + prev = cfg; } } } + + + +#if 0 +void dump_condition( struct condition *list ) +{ + struct condition *tmp; + for ( tmp = list; tmp; tmp = tmp->next ) + { + switch (tmp->op) + { + default: + break; + case op_variable: + printf( " %s", vartable[tmp->nameindex].name ); + break; + case op_constant: + printf( " %s", tmp->str ); + break; + case op_eq: + printf( " =" ); + break; + case op_bang: + printf( " !" ); + break; + case op_neq: + printf( " !=" ); + break; + case op_and: + case op_and1: + printf( " -a" ); + break; + case op_or: + printf( " -o" ); + break; + case op_true: + printf( " TRUE" ); + break; + case op_false: + printf( " FALSE" ); + break; + case op_lparen: + printf( " (" ); + break; + case op_rparen: + printf( " )" ); + break; + } + } + printf( "\n" ); +} +#endif diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/scripts/tkgen.c linux.16p1/scripts/tkgen.c --- linux.15p19/scripts/tkgen.c Sat Aug 14 02:26:22 1999 +++ linux.16p1/scripts/tkgen.c Wed Apr 19 14:05:06 2000 @@ -92,33 +92,58 @@ * * 23 January 1999, Michael Elizabeth Chastain * - Remove bug-compatible code. + * + * 07 July 1999, Andrzej M. Krzysztofowicz + * Some bugfixes, including + * - disabling "m" options when CONFIG_MODULES is set to "n" as well as "y" + * option in dep_tristate when dependency is set to "m", + * - deactivating choices which should not be available, + * - basic validation for int and hex introduced if the entered one is not + * valid, + * - updates of all opened menus instead of the active only. I was afraid + * that it would slow down updates, but I don't even see any speed difference + * on my machine. If it slows you can still work with only a single menu + * opened, + * - fixed error when focussing non-existent window (especially Help windows), + * Higher level submenus implemented. */ #include +#include #include +#include #include "tkparse.h" - /* * Total number of menus. */ static int tot_menu_num = 0; - +/* + * Pointers to mainmenu_option and endmenu of each menu. + */ +struct kconfig * menu_first [100]; +struct kconfig * menu_last [100]; /* * Generate portion of wish script for the beginning of a submenu. * The guts get filled in with the various options. */ -static void start_proc( char * label, int menu_num, int flag ) +static void start_proc( char * label, int menu_num, int toplevel ) { - if ( flag ) + if ( toplevel ) printf( "menu_option menu%d %d \"%s\"\n", menu_num, menu_num, label ); printf( "proc menu%d {w title} {\n", menu_num ); - printf( "\tcatch {destroy $w}\n" ); + printf( "\tset oldFocus [focus]\n" ); + if ( menu_first[menu_num]->menu_number != 0 ) + printf( "\tcatch {focus .menu%d}\n", + menu_first[menu_num]->menu_number ); + printf( "\tcatch {destroy $w; unregister_active %d}\n", menu_num ); printf( "\ttoplevel $w -class Dialog\n" ); printf( "\twm withdraw $w\n" ); + printf( "\tglobal active_menus\n" ); + printf( "\tset active_menus [lsort -integer [linsert $active_menus end %d]]\n", menu_num ); printf( "\tmessage $w.m -width 400 -aspect 300 -text \\\n" ); printf( "\t\t\"%s\" -relief raised\n", label ); printf( "\tpack $w.m -pady 10 -side top -padx 10\n" ); @@ -127,16 +152,41 @@ /* * Attach the "Prev", "Next" and "OK" buttons at the end of the window. */ - printf( "\tset oldFocus [focus]\n" ); printf( "\tframe $w.f\n" ); - printf( "\tbutton $w.f.back -text \"Main Menu\" \\\n" ); - printf( "\t\t-width 15 -command \"destroy $w; focus $oldFocus; update_mainmenu $w\"\n" ); + if ( toplevel ) + printf( "\tbutton $w.f.back -text \"Main Menu\" \\\n" ); + else + printf( "\tbutton $w.f.back -text \"OK\" \\\n" ); + printf( "\t\t-width 15 -command \"catch {focus $oldFocus}; destroy $w; unregister_active %d\"\n", + menu_num ); printf( "\tbutton $w.f.next -text \"Next\" \\\n" ); - printf( "\t\t-width 15 -command \" destroy $w; focus $oldFocus; menu%d .menu%d \\\"$title\\\"\"\n", menu_num+1, menu_num+1 ); + printf( "\t\t-width 15 -command \"catch {focus $oldFocus}; " ); + /* + * We are checking which windows should be destroyed and which are + * common parrents with the next one. Remember that menu_num field + * in mainmenu_option record reports number of its *parent* menu. + */ + if ( menu_num < tot_menu_num + && menu_first[menu_num + 1]->menu_number != menu_num ) + { + int to_destr; + + printf( "destroy $w; unregister_active %d; ", menu_num ); + to_destr = menu_first[menu_num]->menu_number; + while ( to_destr > 0 && menu_first[menu_num + 1]->menu_number != to_destr ) + { + printf( "catch {destroy .menu%d}; unregister_active %d; ", + to_destr, to_destr ); + to_destr = menu_first[to_destr]->menu_number; + } + } + printf( "menu%d .menu%d \\\"$title\\\"\"\n", + menu_num+1, menu_num+1 ); if ( menu_num == tot_menu_num ) printf( "\t$w.f.next configure -state disabled\n" ); printf( "\tbutton $w.f.prev -text \"Prev\" \\\n" ); - printf( "\t\t-width 15 -command \" destroy $w; focus $oldFocus; menu%d .menu%d \\\"$title\\\"\"\n", menu_num-1, menu_num-1 ); + printf( "\t\t-width 15 -command \"catch {focus $oldFocus}; destroy $w; unregister_active %d; menu%d .menu%d \\\"$title\\\"\"\n", + menu_num, menu_num-1, menu_num-1 ); if ( menu_num == 1 ) printf( "\t$w.f.prev configure -state disabled\n" ); printf( "\tpack $w.f.back $w.f.next $w.f.prev -side left -expand on\n" ); @@ -177,12 +227,11 @@ * a global declaration so we know whether we need to insert one for a * given function or not. */ -void clear_globalflags( struct kconfig * scfg ) +static void clear_globalflags(void) { - struct kconfig * cfg; - - for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) - cfg->global_written = 0; + int i; + for ( i = 1; i <= max_varnum; i++ ) + vartable[i].global_written = 0; } @@ -194,7 +243,7 @@ */ void global( const char *var ) { - printf( "\tglobal %s; vfix %s\n", var, var ); + printf( "\tglobal %s\n", var ); } @@ -207,6 +256,21 @@ int menu_num, int line_num ) { struct condition * cond; + struct dependency * tmp; + struct kconfig * cfg1; + + if ( line_num >= -1 ) + { + if ( cfg->token == token_define_bool || cfg->token == token_define_hex + || cfg->token == token_define_int || cfg->token == token_define_string + || cfg->token == token_define_tristate || cfg->token == token_unset ) + return; + } + else + { + if ( cfg->token == token_string || cfg->token == token_mainmenu_option ) + return; + } /* * First write any global declarations we need for this conditional. @@ -219,14 +283,10 @@ break; case op_variable: - global( cond->str ); - break; - - case op_kvariable: - if ( ! cond->cfg->global_written ) + if ( ! vartable[cond->nameindex].global_written ) { - cond->cfg->global_written = 1; - global( cond->cfg->optionname ); + vartable[cond->nameindex].global_written = 1; + global( vartable[cond->nameindex].name ); } break; } @@ -235,10 +295,10 @@ /* * Now write this option. */ - if ( ! cfg->global_written && cfg->optionname != NULL ) + if ( cfg->nameindex > 0 && ! vartable[cfg->nameindex].global_written ) { - cfg->global_written = 1; - global( cfg->optionname ); + vartable[cfg->nameindex].global_written = 1; + global( vartable[cfg->nameindex].name ); } /* @@ -262,156 +322,323 @@ case op_rparen: printf( ")" ); break; case op_variable: - printf( "$%s", cond->str ); - break; - - case op_kvariable: - printf( "$%s", cond->cfg->optionname ); + printf( "$%s", vartable[cond->nameindex].name ); break; case op_constant: if ( strcmp( cond->str, "y" ) == 0 ) printf( "1" ); else if ( strcmp( cond->str, "n" ) == 0 ) printf( "0" ); else if ( strcmp( cond->str, "m" ) == 0 ) printf( "2" ); + else if ( strcmp( cond->str, "" ) == 0 ) printf( "4" ); else printf( "\"%s\"", cond->str ); break; } } - printf( "} then { " ); + printf( "} then {" ); /* * Generate a procedure call to write the value. * This code depends on procedures in header.tk. */ - switch ( cfg->token ) + if ( line_num >= -1 ) { - default: - printf( " }\n" ); - break; + int modtoyes = 0; - case token_bool: - printf( ".menu%d.config.f.x%d.y configure -state normal;", - menu_num, line_num ); - printf( ".menu%d.config.f.x%d.n configure -state normal;", - menu_num, line_num ); - printf( ".menu%d.config.f.x%d.l configure -state normal;", - menu_num, line_num ); - printf( "set %s [expr $%s&15];", - cfg->optionname, cfg->optionname ); - printf( "} else { "); - printf( ".menu%d.config.f.x%d.y configure -state disabled;", - menu_num, line_num ); - printf( ".menu%d.config.f.x%d.n configure -state disabled;", - menu_num, line_num ); - printf( ".menu%d.config.f.x%d.l configure -state disabled;", - menu_num, line_num ); - printf( "set %s [expr $%s|16];}\n", - cfg->optionname, cfg->optionname ); - break; + switch ( cfg->token ) + { + default: + printf( " }\n" ); + break; - case token_choice_header: - fprintf( stderr, "Internal error on token_choice_header\n" ); - exit( 1 ); + case token_dep_mbool: + modtoyes = 1; + case token_dep_bool: + printf( "\n" ); + for ( tmp = cfg->depend; tmp; tmp = tmp->next ) + if ( ! vartable[get_varnum( tmp->name )].global_written ) + { + global( tmp->name ); + } + printf( "\tset tmpvar_dep [effective_dep [list" ); + for ( tmp = cfg->depend; tmp; tmp = tmp->next ) + printf( " $%s", tmp->name ); + printf( "]];set %s [sync_bool $%s $tmpvar_dep %d];", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name, + modtoyes ); + printf( "if {$tmpvar_dep != 1" ); + if (modtoyes) + printf( " && $tmpvar_dep != 2" ); + printf( "} then {configure_entry .menu%d.config.f.x%d disabled {y};", + menu_num, line_num ); + printf( "} else {" ); + printf( "configure_entry .menu%d.config.f.x%d normal {y};", + menu_num, line_num ); + printf( "}; " ); + case token_bool: + if ( cfg->token == token_bool ) + printf( "\n\t" ); + printf( "configure_entry .menu%d.config.f.x%d normal {n l", + menu_num, line_num ); + if ( cfg->token == token_bool ) + printf( " y" ); + printf( "}" ); + printf( "} else {"); + printf( "configure_entry .menu%d.config.f.x%d disabled {y n l}}\n", + menu_num, line_num ); + break; - case token_choice_item: - fprintf( stderr, "Internal error on token_choice_item\n" ); - exit( 1 ); + case token_choice_header: + printf( "configure_entry .menu%d.config.f.x%d normal {x l}", + menu_num, line_num ); + printf( "} else {" ); + printf( "configure_entry .menu%d.config.f.x%d disabled {x l}", + menu_num, line_num ); + printf( "}\n" ); + break; - case token_define_bool: - printf( "set %s %s } \n", - cfg->optionname, cfg->value ); - break; + case token_choice_item: + fprintf( stderr, "Internal error on token_choice_item\n" ); + exit( 1 ); - case token_dep_tristate: - case token_tristate: - if ( cfg->token == token_dep_tristate ) - { - global( cfg->depend ); - printf( "if { $%s != 1 && $%s != 0 } then {", - cfg->depend, cfg->depend ); - printf( ".menu%d.config.f.x%d.y configure -state disabled;", + case token_dep_tristate: + printf( "\n" ); + for ( tmp = cfg->depend; tmp; tmp = tmp->next ) + if ( ! vartable[get_varnum( tmp->name )].global_written ) + { + global( tmp->name ); + } + printf( "\tset tmpvar_dep [effective_dep [list" ); + for ( tmp = cfg->depend; tmp; tmp = tmp->next ) + printf( " $%s", tmp->name ); + printf( "]];set %s [sync_tristate $%s $tmpvar_dep];", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); + printf( "\tif {$tmpvar_dep != 1} then {" ); + printf( "configure_entry .menu%d.config.f.x%d disabled {y}", menu_num, line_num ); printf( "} else {" ); - printf( ".menu%d.config.f.x%d.y configure -state normal;", - menu_num, line_num); + printf( "configure_entry .menu%d.config.f.x%d normal {y}", + menu_num, line_num ); printf( "}; " ); - } - else - { - printf( ".menu%d.config.f.x%d.y configure -state normal;", + printf( "if {$tmpvar_dep == 0} then {" ); + printf( "configure_entry .menu%d.config.f.x%d disabled {m}", + menu_num, line_num ); + printf( "} else {" ); + printf( "configure_entry .menu%d.config.f.x%d normal {m}", + menu_num, line_num ); + printf( "}; " ); + case token_tristate: + if ( cfg->token == token_tristate ) + { + printf( "\n\tconfigure_entry .menu%d.config.f.x%d normal {y}; ", + menu_num, line_num ); + } + printf( "if {($CONFIG_MODULES == 1)} then {" ); + printf( "configure_entry .menu%d.config.f.x%d normal {m}} else {", menu_num, line_num ); + printf( "configure_entry .menu%d.config.f.x%d disabled {m}}; ", + menu_num, line_num ); + printf( "configure_entry .menu%d.config.f.x%d normal {n l}", + menu_num, line_num ); + + /* + * Or in a bit to the variable - this causes all of the radiobuttons + * to be deselected (i.e. not be red). + */ + printf( "} else {" ); + printf( "configure_entry .menu%d.config.f.x%d disabled {y n m l}}\n", + menu_num, line_num ); + break; + + case token_hex: + case token_int: + case token_string: + printf( ".menu%d.config.f.x%d.x configure -state normal -foreground [ cget .ref -foreground ]; ", + menu_num, line_num ); + printf( ".menu%d.config.f.x%d.l configure -state normal; ", + menu_num, line_num ); + printf( "} else {" ); + printf( ".menu%d.config.f.x%d.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; ", + menu_num, line_num ); + printf( ".menu%d.config.f.x%d.l configure -state disabled}\n", + menu_num, line_num ); + break; + + case token_mainmenu_option: + if ( line_num >= 0 ) + { + printf( "configure_entry .menu%d.config.f.x%d normal {m}", + menu_num, line_num ); + printf( "} else {" ); + printf( "configure_entry .menu%d.config.f.x%d disabled {m}}\n", + menu_num, line_num ); + } + else + printf( ".f0.x%d configure -state normal } else { .f0.x%d configure -state disabled }\n", + menu_num, menu_num ); + break; } + } + else + { + int modtoyes = 0; - printf( ".menu%d.config.f.x%d.n configure -state normal;", - menu_num, line_num ); - printf( "global CONFIG_MODULES; if {($CONFIG_MODULES == 1)} then { .menu%d.config.f.x%d.m configure -state normal };", - menu_num, line_num ); - printf( ".menu%d.config.f.x%d.l configure -state normal;", - menu_num, line_num ); + switch ( cfg->token ) + { + default: + printf( " }\n" ); + break; + + case token_dep_mbool: + modtoyes = 1; + case token_dep_bool: + printf( "\n" ); + for ( tmp = cfg->depend; tmp; tmp = tmp->next ) + if ( ! vartable[get_varnum( tmp->name )].global_written ) + { + global( tmp->name ); + } + printf( "\tset tmpvar_dep [effective_dep [list" ); + for ( tmp = cfg->depend; tmp; tmp = tmp->next ) + printf( " $%s", tmp->name ); + printf( "]];set %s [sync_bool $%s $tmpvar_dep %d];", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name, + modtoyes ); + case token_bool: + if ( cfg->token == token_bool ) + printf( "\n\t" ); + printf( "set %s [expr $%s&15]", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); + printf( "} else {"); + printf( "set %s [expr $%s|16]}\n", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); + break; + case token_choice_header: + printf( "} else {" ); + for ( cfg1 = cfg->next; + cfg1 != NULL && cfg1->token == token_choice_item; + cfg1 = cfg1->next ) + printf( "set %s 4;", vartable[cfg1->nameindex].name ); + printf( "}\n" ); + break; + + case token_choice_item: + fprintf( stderr, "Internal error on token_choice_item\n" ); + exit( 1 ); + + case token_define_bool: + case token_define_tristate: + if ( ! vartable[get_varnum( cfg->value )].global_written ) + { + global( cfg->value ); + } + printf( "set %s $%s }\n", + vartable[cfg->nameindex].name, cfg->value ); + break; + + case token_define_hex: + case token_define_int: + printf( "set %s %s }\n", + vartable[cfg->nameindex].name, cfg->value ); + break; + + case token_define_string: + printf( "set %s \"%s\" }\n", + vartable[cfg->nameindex].name, cfg->value ); + break; + + case token_dep_tristate: + printf( "\n" ); + for ( tmp = cfg->depend; tmp; tmp = tmp->next ) + if ( ! vartable[get_varnum( tmp->name )].global_written ) + { + global( tmp->name ); + } + printf( "\tset tmpvar_dep [effective_dep [list" ); + for ( tmp = cfg->depend; tmp; tmp = tmp->next ) + printf( " $%s", tmp->name ); + printf( "]]; set %s [sync_tristate $%s $tmpvar_dep]; ", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); + case token_tristate: + if ( cfg->token == token_tristate ) + printf( "if {($CONFIG_MODULES == 0) && ($%s == 2)} then {set %s 1}; ", + vartable[cfg->nameindex].name, + vartable[cfg->nameindex].name ); /* * Or in a bit to the variable - this causes all of the radiobuttons * to be deselected (i.e. not be red). */ - printf( "set %s [expr $%s&15];", - cfg->optionname, cfg->optionname ); - printf( "} else { " ); - printf( ".menu%d.config.f.x%d.y configure -state disabled;", - menu_num, line_num ); - printf( ".menu%d.config.f.x%d.n configure -state disabled;", - menu_num, line_num ); - printf( ".menu%d.config.f.x%d.m configure -state disabled;", - menu_num, line_num ); - printf( ".menu%d.config.f.x%d.l configure -state disabled;", - menu_num, line_num ); + printf( "set %s [expr $%s&15]", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); + printf( "} else {" ); /* * Clear the disable bit to enable the correct radiobutton. */ - printf( "set %s [expr $%s|16];}\n", - cfg->optionname, cfg->optionname ); - break; + printf( "set %s [expr $%s|16]}\n", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); + break; - case token_hex: - case token_int: - case token_string: - printf( ".menu%d.config.f.x%d.x configure -state normal -foreground [ cget .ref -foreground ]; ", - menu_num, line_num); - printf( ".menu%d.config.f.x%d.l configure -state normal; ", - menu_num, line_num); - printf( "} else { " ); - printf( ".menu%d.config.f.x%d.x configure -state disabled -foreground [ cget .ref -disabledforeground ];", - menu_num, line_num ); - printf( ".menu%d.config.f.x%d.l configure -state disabled;}\n", - menu_num, line_num ); - break; + case token_hex: + case token_int: + if ( cfg->value && *cfg->value == '$' ) + { + int index = get_varnum( cfg->value+1 ); + printf( "\n" ); + if ( ! vartable[index].global_written ) + { + global( vartable[index].name ); + } + printf( "\t" ); + } + if ( cfg->token == token_hex ) + printf( "validate_hex " ); + else if ( cfg->token == token_int ) + printf( "validate_int " ); + printf( "%s \"$%s\" %s}\n", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name, + cfg->value ); + break; - case token_mainmenu_option: - printf( ".f0.x%d configure -state normal } else { .f0.x%d configure -state disabled }\n", - menu_num, menu_num ); - break; + case token_unset: + printf( "set %s 4}\n", vartable[cfg->nameindex].name ); + break; + } } } - /* * Generate a line that writes a variable to the output file. */ void generate_writeconfig( struct kconfig * cfg ) { struct condition * cond; - + struct dependency * tmp; + int depmod = 2; + /* * Generate global declaration for this symbol. */ if ( cfg->token != token_comment ) { - if ( ! cfg->global_written ) + if ( cfg->nameindex > 0 && ! vartable[cfg->nameindex].global_written ) { - cfg->global_written = 1; - printf( "\tglobal %s\n", cfg->optionname ); + vartable[cfg->nameindex].global_written = 1; + global( vartable[cfg->nameindex].name ); + } + if ( cfg->token == token_define_tristate || cfg->token == token_define_bool ) + { + if ( ! vartable[get_varnum( cfg->value )].global_written ) + { + vartable[get_varnum( cfg->value )].global_written = 1; + global( cfg->value ); + } + } + else if ( cfg->nameindex <= 0 && cfg->token == token_choice_header ) + { + printf( "\tglobal tmpvar_%d\n", -(cfg->nameindex) ); } } @@ -426,14 +653,10 @@ break; case op_variable: - global( cond->str ); - break; - - case op_kvariable: - if ( ! cond->cfg->global_written ) + if ( ! vartable[cond->nameindex].global_written ) { - cond->cfg->global_written = 1; - global( cond->cfg->optionname ); + vartable[cond->nameindex].global_written = 1; + global( vartable[cond->nameindex].name ); } break; } @@ -442,7 +665,6 @@ /* * Generate indentation. */ - if ( cfg->token != token_choice_header ) printf( "\t" ); /* @@ -466,17 +688,14 @@ case op_rparen: printf( ")" ); break; case op_variable: - printf( "$%s", cond->str ); - break; - - case op_kvariable: - printf( "$%s", cond->cfg->optionname ); + printf( "$%s", vartable[cond->nameindex].name ); break; case op_constant: if ( strcmp( cond->str, "n" ) == 0 ) printf( "0" ); else if ( strcmp( cond->str, "y" ) == 0 ) printf( "1" ); else if ( strcmp( cond->str, "m" ) == 0 ) printf( "2" ); + else if ( strcmp( cond->str, "" ) == 0 ) printf( "4" ); else printf( "\"%s\"", cond->str ); break; @@ -499,10 +718,8 @@ case token_bool: case token_tristate: - if ( cfg->cond ) - printf( " " ); - printf( "write_tristate $cfg $autocfg %s $%s $notmod", - cfg->optionname, cfg->optionname ); + printf( "write_tristate $cfg $autocfg %s $%s [list $notmod] 2", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); if ( cfg->cond != NULL ) printf( " }" ); printf( "\n" ); @@ -520,12 +737,15 @@ cfg1 != NULL && cfg1->token == token_choice_item; cfg1 = cfg1->next ) { - printf("\tif { $%s == \"%s\" } then { write_tristate $cfg $autocfg %s 1 $notmod } else { write_tristate $cfg $autocfg %s 0 $notmod }\n", - cfg->optionname, cfg1->label, - cfg1->optionname, - cfg1->optionname ); + printf("\n\tif { $tmpvar_%d == \"%s\" } then { write_tristate $cfg $autocfg %s 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg %s 0 [list $notmod] 2 }", + -(cfg->nameindex), cfg1->label, + vartable[cfg1->nameindex].name, + vartable[cfg1->nameindex].name ); } } + if ( cfg->cond != NULL ) + printf( "}" ); + printf( "\n" ); break; case token_choice_item: @@ -541,53 +761,76 @@ break; case token_define_bool: + case token_define_tristate: if ( cfg->cond == NULL ) { - printf( "write_tristate $cfg $autocfg %s $%s $notmod\n", - cfg->optionname, cfg->optionname ); + printf( "write_tristate $cfg $autocfg %s $%s [list $notmod] 2\n", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); } else { - printf( "write_tristate $cfg $autocfg %s %s $notmod }\n", - cfg->optionname, cfg->value ); + printf( "write_tristate $cfg $autocfg %s $%s [list $notmod] 2 }\n", + vartable[cfg->nameindex].name, cfg->value ); } break; + case token_dep_mbool: + depmod = 1; + case token_dep_bool: case token_dep_tristate: - if ( cfg->cond ) - printf( " " ); - printf( "write_tristate $cfg $autocfg %s $%s $%s", - cfg->optionname, cfg->optionname, cfg->depend ); + printf( "write_tristate $cfg $autocfg %s $%s [list", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); + for ( tmp = cfg->depend; tmp; tmp = tmp->next ) + printf( " $%s", tmp->name ); + printf( "] %d", depmod ); if ( cfg->cond != NULL ) printf( " }" ); - printf( " \n" ); + printf( "\n" ); break; - case token_hex: + case token_define_hex: + printf( "write_hex $cfg $autocfg %s %s $notmod", + vartable[cfg->nameindex].name, cfg->value ); + if ( cfg->cond != NULL ) + printf( " }" ); + printf( "\n" ); + break; + + case token_define_int: + printf( "write_int $cfg $autocfg %s %s $notmod", + vartable[cfg->nameindex].name, cfg->value ); + if ( cfg->cond != NULL ) + printf( " }" ); + printf( "\n" ); + break; + + case token_define_string: + printf( "write_string $cfg $autocfg %s \"%s\" $notmod", + vartable[cfg->nameindex].name, cfg->value ); if ( cfg->cond != NULL ) - printf( " " ); + printf( " }" ); + printf( "\n" ); + break; + + case token_hex: printf( "write_hex $cfg $autocfg %s $%s $notmod", - cfg->optionname, cfg->optionname ); + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); if ( cfg->cond != NULL ) printf( " }" ); printf( "\n" ); break; case token_int: - if ( cfg->cond != NULL ) - printf( " " ); printf( "write_int $cfg $autocfg %s $%s $notmod", - cfg->optionname, cfg->optionname ); + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); if ( cfg->cond != NULL ) printf( " }" ); printf( "\n" ); break; case token_string: - if ( cfg->cond != NULL ) - printf( " " ); - printf( "write_string $cfg $autocfg %s $%s $notmod", - cfg->optionname, cfg->optionname ); + printf( "write_string $cfg $autocfg %s \"$%s\" $notmod", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); if ( cfg->cond != NULL ) printf( " }" ); printf( "\n" ); @@ -595,6 +838,113 @@ } } +static void generate_update_var( struct kconfig * scfg, int menu_num ) +{ + struct kconfig * cfg; + + if ( menu_num>0 ) + { + printf( "proc update_define_menu%d {} {\n", menu_num ); + printf( "\tupdate_define_mainmenu\n" ); + } + else + printf( "proc update_define_mainmenu {} {\n" ); + clear_globalflags(); + global( "CONFIG_MODULES" ); + vartable[ get_varnum( "CONFIG_MODULES" ) ].global_written = 1; + for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) + { + if ( cfg->menu_number == menu_num && (cfg->token == token_define_bool || cfg->token == token_define_tristate + || cfg->token == token_define_hex || cfg->token == token_define_int + || cfg->token == token_define_string || cfg->token == token_unset + || cfg->token == token_tristate) ) + { + if ( ! vartable[cfg->nameindex].global_written ) + { + vartable[cfg->nameindex].global_written = 1; + global( vartable[cfg->nameindex].name ); + } + } + } + + for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) + { + char tmp[20]; + struct kconfig * cfg1; + + if ( cfg->menu_number == menu_num ) + { + switch ( cfg->token ) + { + default: + case token_choice_item: + break; + case token_choice_header: + sprintf( tmp, "tmpvar_%d", -(cfg->nameindex) ); + global( tmp ); + for ( cfg1 = cfg->next; + cfg1 != NULL && cfg1->token == token_choice_item; + cfg1 = cfg1->next ) + { + vartable[cfg1->nameindex].global_written = 1; + global( vartable[cfg1->nameindex].name ); + printf( "\tif {$tmpvar_%d == \"%s\"} then {set %s 1} else {set %s 0}\n", + -(cfg->nameindex), cfg1->label, + vartable[cfg1->nameindex].name, + vartable[cfg1->nameindex].name ); + } + break; + case token_bool: + case token_define_bool: + case token_define_tristate: + case token_define_hex: + case token_define_int: + case token_define_string: + case token_dep_bool: + case token_dep_tristate: + case token_dep_mbool: + case token_int: + case token_hex: + case token_mainmenu_option: + case token_tristate: + case token_unset: + if ( cfg->cond != NULL ) + generate_if( cfg, cfg->cond, menu_num, -2 ); + else switch ( cfg->token ) + { + case token_tristate: + printf( "\n\tif {($CONFIG_MODULES == 0)} then {if {($%s == 2)} then {set %s 1}}\n", + vartable[cfg->nameindex].name, vartable[cfg->nameindex].name ); + break; + case token_define_bool: + case token_define_tristate: + if ( ! vartable[get_varnum( cfg->value )].global_written ) + { + vartable[get_varnum( cfg->value )].global_written = 1; + global( cfg->value ); + } + printf( "\tset %s $%s\n", vartable[cfg->nameindex].name, + cfg->value ); + break; + case token_define_hex: + case token_define_int: + printf( "\tset %s %s\n", vartable[cfg->nameindex].name, + cfg->value ); + break; + case token_define_string: + printf( "\tset %s \"%s\"\n", vartable[cfg->nameindex].name, + cfg->value ); + break; + case token_unset: + printf( "\tset %s 4\n", vartable[cfg->nameindex].name ); + default: + break; + } + } + } + } + printf( "}\n\n\n" ); +} /* @@ -603,13 +953,24 @@ static void end_proc( struct kconfig * scfg, int menu_num ) { struct kconfig * cfg; + int i; printf( "\n\n\n" ); printf( "\tfocus $w\n" ); - printf( "\tupdate_menu%d $w.config.f\n", - menu_num ); + printf( "\tupdate_active\n" ); printf( "\tglobal winx; global winy\n" ); - printf( "\tset winx [expr [winfo x .]+30]; set winy [expr [winfo y .]+30]\n" ); + if ( menu_first[menu_num]->menu_number != 0 ) + { + printf( "\tif {[winfo exists .menu%d] == 0} then ", + menu_first[menu_num]->menu_number ); + printf( "{menu%d .menu%d \"%s\"}\n", + menu_first[menu_num]->menu_number, menu_first[menu_num]->menu_number, + menu_first[menu_first[menu_num]->menu_number]->label ); + printf( "\tset winx [expr [winfo x .menu%d]+30]; set winy [expr [winfo y .menu%d]+30]\n", + menu_first[menu_num]->menu_number, menu_first[menu_num]->menu_number ); + } + else + printf( "\tset winx [expr [winfo x .]+30]; set winy [expr [winfo y .]+30]\n" ); printf( "\twm geometry $w +$winx+$winy\n" ); /* @@ -660,27 +1021,12 @@ * widgets, and will be called first when the window is mapped, * and each time one of the buttons in the window are clicked. */ - printf( "proc update_menu%d {w} {\n", menu_num ); - printf( "\tupdate_define\n" ); + printf( "proc update_menu%d {} {\n", menu_num ); /* * Clear all of the booleans that are defined in this menu. */ - clear_globalflags( scfg ); - for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) - { - if ( cfg->menu_number == menu_num && cfg->token == token_define_bool - && cfg->optionname != NULL ) - { - if ( ! cfg->global_written ) - { - cfg->global_written = 1; - printf( "\tglobal %s\n", cfg->optionname ); - printf( "\tset %s 0\n", cfg->optionname ); - } - } - } - + clear_globalflags(); for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) { if ( cfg->menu_number == menu_num @@ -688,28 +1034,47 @@ && cfg->token != token_choice_item ) { if ( cfg->cond != NULL ) + { + int i; + if ( (cfg->token == token_tristate || cfg->token == token_dep_tristate) + && ! vartable[i = get_varnum( "CONFIG_MODULES" )].global_written ) + { + global( "CONFIG_MODULES" ); + vartable[i].global_written = 1; + } generate_if( cfg, cfg->cond, cfg->menu_number, cfg->menu_line ); + } else { - /* - * Treat tristate like conditional here. - */ - if ( cfg->token == token_dep_tristate ) + if ( cfg->token == token_tristate ) { - global( cfg->depend ); - printf( "\tif {$%s != 1 && $%s != 0 } then { .menu%d.config.f.x%d.y configure -state disabled } else { .menu%d.config.f.x%d.y configure -state normal}\n", - cfg->depend, cfg->depend, + if ( ! vartable[cfg->nameindex].global_written ) + { + vartable[cfg->nameindex].global_written = 1; + printf( "\tglobal %s\n", vartable[cfg->nameindex].name ); + } + if ( ! vartable[i = get_varnum( "CONFIG_MODULES" )].global_written ) + { + global( "CONFIG_MODULES" ); + vartable[i].global_written = 1; + } + printf( "\n\tif {($CONFIG_MODULES == 1)} then {configure_entry .menu%d.config.f.x%d normal {m}} else {configure_entry .menu%d.config.f.x%d disabled {m}}\n", menu_num, cfg->menu_line, menu_num, cfg->menu_line ); } } } + else if ( cfg->token == token_mainmenu_option + && cfg->menu_number == menu_num + && cfg->cond != NULL ) + { + generate_if( cfg, cfg->cond, menu_num, cfg->menu_line ); + } } - printf("}\n\n\n"); -} - + generate_update_var( scfg, menu_num ); +} /* * This is the top level function for generating the tk script. @@ -718,18 +1083,20 @@ { int menu_depth; int menu_num [64]; - struct kconfig * menu_first [256]; - struct kconfig * menu_last [256]; - int imenu; + int imenu, i; + int top_level_num = 0; struct kconfig * cfg; struct kconfig * cfg1 = NULL; const char * name = "No Name"; /* - * Thread the menu pointers so I can walk each menu separately. - */ + * Mark begin and end of each menu so I can omit submenus when walking + * over a parent menu. + */ tot_menu_num = 0; menu_depth = 0; + menu_num [0] = 0; + for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) { switch ( cfg->token ) @@ -744,14 +1111,22 @@ case token_mainmenu_option: if ( ++menu_depth >= 64 ) { fprintf( stderr, "menus too deep\n" ); exit( 1 ); } - if ( ++tot_menu_num >= 256 ) + if ( ++tot_menu_num >= 100 ) { fprintf( stderr, "too many menus\n" ); exit( 1 ); } menu_num [menu_depth] = tot_menu_num; menu_first [tot_menu_num] = cfg; menu_last [tot_menu_num] = cfg; + /* + * Note, that menu_number is set to the number of parent + * (upper level) menu. + */ + cfg->menu_number = menu_num[menu_depth - 1]; + if ( menu_depth == 1 ) + ++top_level_num; break; case token_endmenu: + menu_last [menu_num [menu_depth]] = cfg; /* flatten menus with proper scoping */ if ( --menu_depth < 0 ) { fprintf( stderr, "unmatched endmenu\n" ); exit( 1 ); } @@ -760,19 +1135,25 @@ case token_bool: case token_choice_header: case token_choice_item: + case token_dep_bool: case token_dep_tristate: + case token_dep_mbool: case token_hex: case token_int: case token_string: case token_tristate: + cfg->menu_number = menu_num[menu_depth]; if ( menu_depth == 0 ) { fprintf( stderr, "statement not in menu\n" ); exit( 1 ); } - menu_last [menu_num [menu_depth]]->menu_next = cfg; - menu_last [menu_num [menu_depth]] = cfg; - cfg->menu_next = NULL; break; case token_define_bool: + case token_define_hex: + case token_define_int: + case token_define_string: + case token_define_tristate: + case token_unset: + cfg->menu_number = menu_num[menu_depth]; break; } } @@ -784,7 +1165,21 @@ * one blank button * add two to round up for division */ - printf( "set menus_per_column %d\n\n", (tot_menu_num + 4 + 1 + 2) / 3 ); + printf( "set menus_per_column %d\n", (top_level_num + 4 + 1 + 2) / 3 ); + printf( "set total_menus %d\n\n", tot_menu_num ); + + printf( "proc toplevel_menu {num} {\n" ); + for ( imenu = 1; imenu <= tot_menu_num; ++imenu ) + { + int parent = 1; + + if ( menu_first[imenu]->menu_number == 0 ) + parent = menu_first[imenu]->menu_number; + else + printf( "\tif {$num == %d} then {return %d}\n", + imenu, menu_first[imenu]->menu_number ); + } + printf( "\treturn $num\n}\n\n" ); /* * Generate the menus. @@ -793,24 +1188,33 @@ for ( imenu = 1; imenu <= tot_menu_num; ++imenu ) { int menu_line = 0; + int nr_submenu = imenu; - clear_globalflags( scfg ); - start_proc( menu_first[imenu]->label, imenu, 1 ); + clear_globalflags(); + start_proc( menu_first[imenu]->label, imenu, + !menu_first[imenu]->menu_number ); - for ( cfg = menu_first[imenu]; cfg != NULL; cfg = cfg->menu_next ) + for ( cfg = menu_first[imenu]->next; cfg != NULL && cfg != menu_last[imenu]; cfg = cfg->next ) { - cfg->menu_number = imenu; - switch ( cfg->token ) { default: break; + case token_mainmenu_option: + while ( menu_first[++nr_submenu]->menu_number > imenu ) + ; + cfg->menu_line = menu_line++; + printf( "\tsubmenu $w.config.f %d %d \"%s\" %d\n", + cfg->menu_number, cfg->menu_line, cfg->label, nr_submenu ); + cfg = menu_last[nr_submenu]; + break; + case token_bool: cfg->menu_line = menu_line++; printf( "\tbool $w.config.f %d %d \"%s\" %s\n", cfg->menu_number, cfg->menu_line, cfg->label, - cfg->optionname ); + vartable[cfg->nameindex].name ); break; case token_choice_header: @@ -819,54 +1223,62 @@ * help text from Documentation/Configure.help. */ cfg->menu_line = menu_line++; - printf( "\tglobal %s\n", cfg->optionname ); - printf( "\tminimenu $w.config.f %d %d \"%s\" %s %s\n", + printf( "\tglobal tmpvar_%d\n", -(cfg->nameindex) ); + printf( "\tminimenu $w.config.f %d %d \"%s\" tmpvar_%d %s\n", cfg->menu_number, cfg->menu_line, cfg->label, - cfg->optionname, cfg->next->optionname ); + -(cfg->nameindex), vartable[cfg->next->nameindex].name ); printf( "\tmenu $w.config.f.x%d.x.menu\n", cfg->menu_line ); cfg1 = cfg; break; case token_choice_item: /* note: no menu line; uses choice header menu line */ - printf( "\t$w.config.f.x%d.x.menu add radiobutton -label \"%s\" -variable %s -value \"%s\" -command \"update_menu%d .menu%d.config.f\"\n", - cfg1->menu_line, cfg->label, cfg1->optionname, - cfg->label, cfg1->menu_number, cfg1->menu_number ); + printf( "\t$w.config.f.x%d.x.menu add radiobutton -label \"%s\" -variable tmpvar_%d -value \"%s\" -command \"update_active\"\n", + cfg1->menu_line, cfg->label, -(cfg1->nameindex), + cfg->label ); + break; + + case token_dep_bool: + case token_dep_mbool: + cfg->menu_line = menu_line++; + printf( "\tdep_bool $w.config.f %d %d \"%s\" %s\n", + cfg->menu_number, cfg->menu_line, cfg->label, + vartable[cfg->nameindex].name ); break; case token_dep_tristate: cfg->menu_line = menu_line++; - printf( "\tdep_tristate $w.config.f %d %d \"%s\" %s %s\n", + printf( "\tdep_tristate $w.config.f %d %d \"%s\" %s\n", cfg->menu_number, cfg->menu_line, cfg->label, - cfg->optionname, cfg->depend ); + vartable[cfg->nameindex].name ); break; case token_hex: cfg->menu_line = menu_line++; printf( "\thex $w.config.f %d %d \"%s\" %s\n", cfg->menu_number, cfg->menu_line, cfg->label, - cfg->optionname ); + vartable[cfg->nameindex].name ); break; case token_int: cfg->menu_line = menu_line++; printf( "\tint $w.config.f %d %d \"%s\" %s\n", cfg->menu_number, cfg->menu_line, cfg->label, - cfg->optionname ); + vartable[cfg->nameindex].name ); break; case token_string: cfg->menu_line = menu_line++; printf( "\tistring $w.config.f %d %d \"%s\" %s\n", cfg->menu_number, cfg->menu_line, cfg->label, - cfg->optionname ); + vartable[cfg->nameindex].name ); break; case token_tristate: cfg->menu_line = menu_line++; printf( "\ttristate $w.config.f %d %d \"%s\" %s\n", cfg->menu_number, cfg->menu_line, cfg->label, - cfg->optionname ); + vartable[cfg->nameindex].name ); break; } } @@ -875,36 +1287,21 @@ } /* - * The top level menu also needs an update function. When we exit a + * The top level menu also needs an update function. When we update a * submenu, we may need to disable one or more of the submenus on * the top level menu, and this procedure will ensure that things are * correct. */ - clear_globalflags( scfg ); - printf( "proc update_mainmenu {w} {\n" ); - for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) + clear_globalflags(); + printf( "proc update_mainmenu {} {\n" ); + for ( imenu = 1; imenu <= tot_menu_num; imenu++ ) { - if ( cfg->token == token_mainmenu_option && cfg->cond != NULL ) - generate_if( cfg, cfg->cond, cfg->menu_number, cfg->menu_line ); + if ( menu_first[imenu]->cond != NULL && menu_first[imenu]->menu_number == 0 ) + generate_if( menu_first[imenu], menu_first[imenu]->cond, imenu, -1 ); } printf( "}\n\n\n" ); -#if 0 - /* - * Generate code to set the variables that are "defined". - */ - for ( cfg = config; cfg != NULL; cfg = cfg->next ) - { - if ( cfg->token == token_define_bool ) - { - if ( cfg->cond != NULL ) - generate_if( cfg, cfg->cond, menu_num, cfg->menu_line ); - else - printf( "\twrite_define %s %s\n", cfg->optionname, cfg->value ); - } - } - #endif - + clear_globalflags(); /* * Generate code to load the default settings into the variables. * The script in tail.tk will attempt to load .config, @@ -919,27 +1316,51 @@ case token_bool: case token_choice_item: + case token_dep_bool: case token_dep_tristate: + case token_dep_mbool: case token_tristate: - printf( "set %s 0\n", cfg->optionname ); + if ( ! vartable[cfg->nameindex].global_written ) + { + printf( "set %s 0\n", vartable[cfg->nameindex].name ); + vartable[cfg->nameindex].global_written = 1; + } break; case token_choice_header: - printf( "set %s \"(not set)\"\n", cfg->optionname ); + printf( "set tmpvar_%d \"(not set)\"\n", -(cfg->nameindex) ); break; case token_hex: case token_int: - printf( "set %s %s\n", cfg->optionname, cfg->value ? cfg->value : "0"); + if ( ! vartable[cfg->nameindex].global_written ) + { + printf( "set %s %s\n", vartable[cfg->nameindex].name, cfg->value ? cfg->value : "0" ); + vartable[cfg->nameindex].global_written = 1; + } break; case token_string: - printf( "set %s \"%s\"\n", cfg->optionname, cfg->value ? cfg->value : ""); + if ( ! vartable[cfg->nameindex].global_written ) + { + printf( "set %s \"%s\"\n", vartable[cfg->nameindex].name, cfg->value ); + vartable[cfg->nameindex].global_written = 1; + } break; } } /* + * Define to an empty value all other variables (which are never defined) + */ + for ( i = 1; i <= max_varnum; i++ ) + { + if ( ! vartable[i].global_written + && strncmp( vartable[i].name, "CONSTANT_", 9 ) ) + printf( "set %s 4\n", vartable[i].name ); + } + + /* * Generate a function to write all of the variables to a file. */ printf( "proc writeconfig {file1 file2} {\n" ); @@ -956,7 +1377,7 @@ printf( "\tputs $autocfg \" */\"\n" ); printf( "\tputs $autocfg \"#define AUTOCONF_INCLUDED\"\n" ); - clear_globalflags( scfg ); + clear_globalflags(); for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) { switch ( cfg->token ) @@ -968,7 +1389,13 @@ case token_choice_header: case token_comment: case token_define_bool: + case token_define_hex: + case token_define_int: + case token_define_string: + case token_define_tristate: + case token_dep_bool: case token_dep_tristate: + case token_dep_mbool: case token_hex: case token_int: case token_string: @@ -996,7 +1423,8 @@ cfg1 = cfg1->next ) { printf( "\tglobal %s; set %s 0\n", - cfg1->optionname, cfg1->optionname ); + vartable[cfg1->nameindex].name, + vartable[cfg1->nameindex].name ); } } } @@ -1007,41 +1435,22 @@ { if ( cfg->token == token_choice_header ) { - printf( "\tglobal %s\n", cfg->optionname ); + printf( "\tglobal tmpvar_%d\n", -(cfg->nameindex) ); + printf("\tset tmpvar_%d \"%s\"\n", -(cfg->nameindex), cfg->value); for ( cfg1 = cfg->next; cfg1 != NULL && cfg1->token == token_choice_item; cfg1 = cfg1->next ) { - printf( "\tglobal %s\n", cfg1->optionname ); - printf( "\tif { $%s == 1 } then { set %s \"%s\" }\n", - cfg1->optionname, cfg->optionname, cfg1->label ); + printf( "\tglobal %s\n", vartable[cfg1->nameindex].name ); + printf( "\tif { $%s == 1 } then { set tmpvar_%d \"%s\" }\n", + vartable[cfg1->nameindex].name, + -(cfg->nameindex), cfg1->label ); } } } printf( "}\n\n\n" ); - printf( "proc update_define { } {\n" ); - clear_globalflags( scfg ); - for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) - { - if ( cfg->token == token_define_bool ) - { - cfg->global_written = 1; - printf( "\tglobal %s\n", cfg->optionname ); - } - } - - for ( cfg = scfg; cfg != NULL; cfg = cfg->next ) - { - if( cfg->token == token_define_bool ) - { - if ( cfg->cond == NULL ) - printf( "\tset %s %s\n", cfg->optionname, cfg->value ); - else - generate_if( cfg, cfg->cond, -1, 0 ); - } - } - printf( "}\n\n\n" ); + generate_update_var( scfg, 0 ); /* * That's it. We are done. The output of this file will have header.tk diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/scripts/tkparse.c linux.16p1/scripts/tkparse.c --- linux.15p19/scripts/tkparse.c Sat Aug 14 02:26:22 1999 +++ linux.16p1/scripts/tkparse.c Wed Apr 19 14:05:06 2000 @@ -29,6 +29,17 @@ * 23 January 1999, Michael Elizabeth Chastain, * - Remove bug-compatible code. * + * 07 July 1999, Andrzej M. Krzysztofowicz, + * - Submenus implemented, + * - plenty of option updating/displaying fixes, + * - dep_bool, define_hex, define_int, define_string, define_tristate and + * undef implemented, + * - dep_tristate fixed to support multiple dependencies, + * - handling of variables with an empty value implemented, + * - value checking for int and hex fields, + * - more checking during condition parsing; choice variables are treated as + * all others now, + * * TO DO: * - xconfig is at the end of its life cycle. Contact if * you are interested in working on the replacement. @@ -51,8 +62,6 @@ int my_strcmp( const char * s1, const char * s2 ) { return strcmp( s1, s2 ); } #define strcmp my_strcmp - - /* * Report a syntax error. */ @@ -65,6 +74,30 @@ /* + * Find index of a specyfic variable in the symbol table. + * Create a new entry if it does not exist yet. + */ +#define VARTABLE_SIZE 2048 +struct variable vartable[VARTABLE_SIZE]; +int max_varnum = 0; + +int get_varnum( char * name ) +{ + int i; + + for ( i = 1; i <= max_varnum; i++ ) + if ( strcmp( vartable[i].name, name ) == 0 ) + return i; + if (max_varnum > VARTABLE_SIZE-1) + syntax_error( "Too many variables defined." ); + vartable[++max_varnum].name = malloc( strlen( name )+1 ); + strcpy( vartable[max_varnum].name, name ); + return max_varnum; +} + + + +/* * Get a string. */ static const char * get_string( const char * pnt, char ** label ) @@ -138,6 +171,7 @@ } + /* * Tokenize an 'if' statement condition. */ @@ -145,6 +179,7 @@ { struct condition * list; struct condition * last; + struct condition * prev; /* eat the open bracket */ while ( *pnt == ' ' || *pnt == '\t' ) @@ -170,30 +205,53 @@ cond = malloc( sizeof(*cond) ); memset( cond, 0, sizeof(*cond) ); if ( last == NULL ) - { list = last = cond; } + { list = last = cond; prev = NULL; } else - { last->next = cond; last = cond; } + { prev = last; last->next = cond; last = cond; } /* determine the token value */ if ( *pnt == '-' && pnt[1] == 'a' ) - { cond->op = op_and; pnt += 2; continue; } + { + if ( ! prev || ( prev->op != op_variable && prev->op != op_constant ) ) + syntax_error( "incorrect argument" ); + cond->op = op_and; pnt += 2; continue; + } if ( *pnt == '-' && pnt[1] == 'o' ) - { cond->op = op_or; pnt += 2; continue; } + { + if ( ! prev || ( prev->op != op_variable && prev->op != op_constant ) ) + syntax_error( "incorrect argument" ); + cond->op = op_or; pnt += 2; continue; + } if ( *pnt == '!' && pnt[1] == '=' ) - { cond->op = op_neq; pnt += 2; continue; } + { + if ( ! prev || ( prev->op != op_variable && prev->op != op_constant ) ) + syntax_error( "incorrect argument" ); + cond->op = op_neq; pnt += 2; continue; + } if ( *pnt == '=' ) - { cond->op = op_eq; pnt += 1; continue; } + { + if ( ! prev || ( prev->op != op_variable && prev->op != op_constant ) ) + syntax_error( "incorrect argument" ); + cond->op = op_eq; pnt += 1; continue; + } if ( *pnt == '!' ) - { cond->op = op_bang; pnt += 1; continue; } + { + if ( prev && ( prev->op != op_and && prev->op != op_or + && prev->op != op_bang ) ) + syntax_error( "incorrect argument" ); + cond->op = op_bang; pnt += 1; continue; + } if ( *pnt == '"' ) { const char * word; + if ( prev && ( prev->op == op_variable || prev->op == op_constant ) ) + syntax_error( "incorrect argument" ); /* advance to the word */ pnt++; if ( *pnt == '$' ) @@ -217,7 +275,15 @@ char * str = malloc( pnt - word + 1 ); memcpy( str, word, pnt - word ); str [pnt - word] = '\0'; - cond->str = str; + if ( cond->op == op_variable ) + { + cond->nameindex = get_varnum( str ); + free( str ); + } + else /* op_constant */ + { + cond->str = str; + } } pnt++; @@ -241,6 +307,7 @@ for ( ; ; ) { struct kconfig * cfg; + char * buffer = malloc( 64 ); /* skip whitespace */ while ( *pnt == ' ' || *pnt == '\t' ) @@ -262,7 +329,8 @@ pnt = get_string( pnt, &cfg->label ); while ( *pnt == ' ' || *pnt == '\t' ) pnt++; - pnt = get_string( pnt, &cfg->optionname ); + pnt = get_string( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); } return pnt; @@ -270,8 +338,6 @@ - - /* * Tokenize one line. */ @@ -280,6 +346,8 @@ static struct kconfig * last_menuoption = NULL; enum e_token token; struct kconfig * cfg; + struct dependency ** dep_ptr; + char * buffer = malloc( 64 ); /* skip white space */ while ( *pnt == ' ' || *pnt == '\t' ) @@ -313,6 +381,12 @@ case 'd': match_token( token_define_bool, "define_bool" ); + match_token( token_define_hex, "define_hex" ); + match_token( token_define_int, "define_int" ); + match_token( token_define_string, "define_string" ); + match_token( token_define_tristate, "define_tristate" ); + match_token( token_dep_bool, "dep_bool" ); + match_token( token_dep_mbool, "dep_mbool" ); match_token( token_dep_tristate, "dep_tristate" ); break; @@ -371,11 +445,13 @@ syntax_error( "bogus 'then'" ); } +#if 0 if ( token == token_unset ) { fprintf( stderr, "Ignoring 'unset' command\n" ); return; } +#endif if ( token == token_UNKNOWN ) syntax_error( "unknown command" ); @@ -404,8 +480,9 @@ case token_bool: case token_tristate: - pnt = get_qstring ( pnt, &cfg->label ); - pnt = get_string ( pnt, &cfg->optionname ); + pnt = get_qstring ( pnt, &cfg->label ); + pnt = get_string ( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); break; case token_choice_header: @@ -417,9 +494,7 @@ pnt = get_qstring ( pnt, &choice_list ); pnt = get_string ( pnt, &cfg->value ); - cfg->optionname = malloc( 32 ); - sprintf( cfg->optionname, "tmpvar_%d", choose_number++ ); - + cfg->nameindex = -(choose_number++); tokenize_choices( cfg, choice_list ); free( choice_list ); } @@ -436,56 +511,134 @@ break; case token_define_bool: - pnt = get_string( pnt, &cfg->optionname ); + case token_define_tristate: + pnt = get_string( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); while ( *pnt == ' ' || *pnt == '\t' ) pnt++; - if ( *pnt == 'n' || *pnt == 'N' ) cfg->value = "0"; - else if ( *pnt == 'y' || *pnt == 'Y' ) cfg->value = "1"; - else if ( *pnt == 'm' || *pnt == 'M' ) cfg->value = "2"; + if ( ( pnt[0] == 'Y' || pnt[0] == 'M' || pnt[0] == 'N' + || pnt[0] == 'y' || pnt[0] == 'm' || pnt[0] == 'n' ) + && ( pnt[1] == '\0' || pnt[1] == ' ' || pnt[1] == '\t' ) ) + { + if ( *pnt == 'n' || *pnt == 'N' ) cfg->value = strdup( "CONSTANT_N" ); + else if ( *pnt == 'y' || *pnt == 'Y' ) cfg->value = strdup( "CONSTANT_Y" ); + else if ( *pnt == 'm' || *pnt == 'M' ) cfg->value = strdup( "CONSTANT_M" ); + } + else if ( *pnt == '$' ) + { + pnt++; + pnt = get_string( pnt, &cfg->value ); + } else { syntax_error( "unknown define_bool value" ); } + get_varnum( cfg->value ); + break; + + case token_define_hex: + case token_define_int: + pnt = get_string( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); + pnt = get_string( pnt, &cfg->value ); break; + case token_define_string: + pnt = get_string( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); + pnt = get_qstring( pnt, &cfg->value ); + break; + + case token_dep_bool: + case token_dep_mbool: case token_dep_tristate: - pnt = get_qstring ( pnt, &cfg->label ); - pnt = get_string ( pnt, &cfg->optionname ); + pnt = get_qstring ( pnt, &cfg->label ); + pnt = get_string ( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); while ( *pnt == ' ' || *pnt == '\t' ) pnt++; - if ( ( pnt[0] == 'Y' || pnt[0] == 'M' || pnt[0] == 'N' - || pnt[0] == 'y' || pnt[0] == 'm' || pnt[0] == 'n' ) - && ( pnt[1] == '\0' || pnt[1] == ' ' || pnt[1] == '\t' ) ) - { - /* dep_tristate 'foo' CONFIG_FOO m */ - if ( pnt[0] == 'Y' || pnt[0] == 'y' ) - cfg->depend = strdup( "CONSTANT_Y" ); - else if ( pnt[0] == 'M' || pnt[0] == 'm' ) - cfg->depend = strdup( "CONSTANT_M" ); + dep_ptr = &(cfg->depend); + + do { + *dep_ptr = (struct dependency *) malloc( sizeof( struct dependency ) ); + (*dep_ptr)->next = NULL; + + if ( ( pnt[0] == 'Y' || pnt[0] == 'M' || pnt[0] == 'N' + || pnt[0] == 'y' || pnt[0] == 'm' || pnt[0] == 'n' ) + && ( pnt[1] == '\0' || pnt[1] == ' ' || pnt[1] == '\t' ) ) + { + /* dep_tristate 'foo' CONFIG_FOO m */ + if ( pnt[0] == 'Y' || pnt[0] == 'y' ) + (*dep_ptr)->name = strdup( "CONSTANT_Y" ); + else if ( pnt[0] == 'N' || pnt[0] == 'n' ) + (*dep_ptr)->name = strdup( "CONSTANT_N" ); + else + (*dep_ptr)->name = strdup( "CONSTANT_M" ); + pnt++; + get_varnum( (*dep_ptr)->name ); + } + else if ( *pnt == '$' ) + { + pnt++; + pnt = get_string( pnt, &(*dep_ptr)->name ); + get_varnum( (*dep_ptr)->name ); + } else - cfg->depend = strdup( "CONSTANT_N" ); - pnt++; - } - else if ( *pnt == '$' ) - { - pnt++; - pnt = get_string( pnt, &cfg->depend ); - } - else - { - syntax_error( "can't handle dep_tristate condition" ); - } + { + syntax_error( "can't handle dep_bool/dep_mbool/dep_tristate condition" ); + } + dep_ptr = &(*dep_ptr)->next; + while ( *pnt == ' ' || *pnt == '\t' ) + pnt++; + } while ( *pnt ); /* - * Create a conditional for this object's dependency. + * Create a conditional for this object's dependencies. */ { char fake_if [1024]; - sprintf( fake_if, "[ \"$%s\" = \"y\" -o \"$%s\" = \"m\" ]; then", - cfg->depend, cfg->depend ); - cfg->cond = tokenize_if( fake_if ); + struct dependency * dep; + struct condition ** cond_ptr; + int first = 1; + + cond_ptr = &(cfg->cond); + for ( dep = cfg->depend; dep; dep = dep->next ) + { + if ( token == token_dep_tristate + && ! strcmp( dep->name, "CONSTANT_M" ) ) + { + continue; + } + if ( first ) + { + first = 0; + } + else + { + *cond_ptr = malloc( sizeof(struct condition) ); + memset( *cond_ptr, 0, sizeof(struct condition) ); + (*cond_ptr)->op = op_and; + cond_ptr = &(*cond_ptr)->next; + } + *cond_ptr = malloc( sizeof(struct condition) ); + memset( *cond_ptr, 0, sizeof(struct condition) ); + (*cond_ptr)->op = op_lparen; + if ( token == token_dep_bool ) + sprintf( fake_if, "[ \"$%s\" = \"y\" -o \"$%s\" = \"\" ]; then", + dep->name, dep->name ); + else + sprintf( fake_if, "[ \"$%s\" = \"y\" -o \"$%s\" = \"m\" -o \"$%s\" = \"\" ]; then", + dep->name, dep->name, dep->name ); + (*cond_ptr)->next = tokenize_if( fake_if ); + while ( *cond_ptr ) + cond_ptr = &(*cond_ptr)->next; + *cond_ptr = malloc( sizeof(struct condition) ); + memset( *cond_ptr, 0, sizeof(struct condition) ); + (*cond_ptr)->op = op_rparen; + cond_ptr = &(*cond_ptr)->next; + } } break; @@ -496,15 +649,17 @@ case token_hex: case token_int: - pnt = get_qstring ( pnt, &cfg->label ); - pnt = get_string ( pnt, &cfg->optionname ); - pnt = get_string ( pnt, &cfg->value ); + pnt = get_qstring ( pnt, &cfg->label ); + pnt = get_string ( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); + pnt = get_string ( pnt, &cfg->value ); break; case token_string: - pnt = get_qstring ( pnt, &cfg->label ); - pnt = get_string ( pnt, &cfg->optionname ); - pnt = get_qstring ( pnt, &cfg->value ); + pnt = get_qstring ( pnt, &cfg->label ); + pnt = get_string ( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); + pnt = get_qstring ( pnt, &cfg->value ); break; case token_if: @@ -521,8 +676,25 @@ else pnt = get_qstring( pnt, &cfg->label ); break; - } + case token_unset: + pnt = get_string( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); + while ( *pnt == ' ' || *pnt == '\t' ) + pnt++; + while (*pnt) + { + cfg->next = (struct kconfig *) malloc( sizeof(struct kconfig) ); + memset( cfg->next, 0, sizeof(struct kconfig) ); + cfg = cfg->next; + cfg->token = token_unset; + pnt = get_string( pnt, &buffer ); + cfg->nameindex = get_varnum( buffer ); + while ( *pnt == ' ' || *pnt == '\t' ) + pnt++; + } + break; + } return; } diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.15p19/scripts/tkparse.h linux.16p1/scripts/tkparse.h --- linux.15p19/scripts/tkparse.h Mon Feb 1 20:03:19 1999 +++ linux.16p1/scripts/tkparse.h Wed Apr 19 14:05:06 2000 @@ -14,6 +14,12 @@ token_choice_item, token_comment, token_define_bool, + token_define_hex, + token_define_int, + token_define_string, + token_define_tristate, + token_dep_bool, + token_dep_mbool, token_dep_tristate, token_else, token_endmenu, @@ -46,7 +52,8 @@ op_rparen, op_constant, op_variable, - op_kvariable, + op_true, + op_false, op_nuked }; @@ -55,21 +62,29 @@ * Some operators take strings: * * op_constant "foo" - * op_variable "$ARCH", "$CONFIG_PMAC" - * op_kvariable "$CONFIG_EXPERIMENTAL" + * op_variable "$ARCH", "$CONFIG_PMAC", "$CONFIG_EXPERIMENTAL" * * Most "$..." constructs refer to a variable which is defined somewhere - * in the script, so they become op_kvariable's instead. Note that it - * is legal to test variables which are never defined, such as variables - * that are meaningful only on other architectures. + * in the script. Note that it is legal to test variables which are never + * defined, such as variables that are meaningful only on other architectures. */ struct condition { - struct condition * next; - enum operator op; - const char * str; /* op_constant, op_variable */ - struct kconfig * cfg; /* op_kvariable */ + struct condition * next; + enum operator op; + const char * str; /* op_constant */ + int nameindex; /* op_variable */ +}; + +/* + * Dependency list for dep_bool, dep_mbool, dep_tristate + */ + +struct dependency +{ + char * name; + struct dependency * next; }; /* @@ -80,21 +95,28 @@ { struct kconfig * next; enum e_token token; - char * optionname; + int nameindex; char * label; char * value; struct condition * cond; - char * depend; /* token_dep_tristate */ + struct dependency * depend; /* token_dep_tristate */ struct kconfig * cfg_parent; /* token_choice_item */ /* used only in tkgen.c */ - char global_written; int menu_number; int menu_line; struct kconfig * menu_next; }; +struct variable +{ + char * name; + char defined; + char global_written; +}; +extern struct variable vartable[]; +extern int max_varnum; /* * Prototypes @@ -102,3 +124,4 @@ extern void fix_conditionals ( struct kconfig * scfg ); /* tkcond.c */ extern void dump_tk_script ( struct kconfig * scfg ); /* tkgen.c */ +extern int get_varnum ( char * name ); /* tkparse.c */